From dc5fdafdf85bf41a29a297542cfd1ca5a7f72e05 Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Tue, 4 Feb 2014 21:38:15 +0100
Subject: [PATCH 01/29] Update to some files for the windows dev setup

---
 .../coco-dev-setup/batch/config/header        |  2 +-
 .../batch/config/{README.txt => info}         |  0
 .../coco-dev-setup/batch/dev-setup.bat        | 43 +++++++++++++------
 .../windows/coco-dev-setup/batch/license.txt  | 11 +++++
 4 files changed, 42 insertions(+), 14 deletions(-)
 rename scripts/windows/coco-dev-setup/batch/config/{README.txt => info} (100%)
 create mode 100755 scripts/windows/coco-dev-setup/batch/license.txt

diff --git a/scripts/windows/coco-dev-setup/batch/config/header b/scripts/windows/coco-dev-setup/batch/config/header
index 0e1176c32..e25defc09 100755
--- a/scripts/windows/coco-dev-setup/batch/config/header
+++ b/scripts/windows/coco-dev-setup/batch/config/header
@@ -1,4 +1,4 @@
-
+ 
        _____           _        _____                 _           _   
       /  __ \         | |      /  __ \               | |         | |  
       | /  \/ ___   __| | ___  | /  \/ ___  _ __ ___ | |__   __ _| |_ 
diff --git a/scripts/windows/coco-dev-setup/batch/config/README.txt b/scripts/windows/coco-dev-setup/batch/config/info
similarity index 100%
rename from scripts/windows/coco-dev-setup/batch/config/README.txt
rename to scripts/windows/coco-dev-setup/batch/config/info
diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index 6e76e993e..79fa6c636 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -1,6 +1,8 @@
 @echo off
 setlocal EnableDelayedExpansion
 
+mode con: cols=78 lines=60
+
 :: Global Variables
 set "temp-dir=C:\Coco-Temp"
 set install-log=%temp-dir%\coco-dev-install-log.txt
@@ -15,8 +17,12 @@ IF EXIST "%PROGRAMFILES(X86)%" (
 set "ZU-app=utilities\7za.exe"
 
 :: TODO:
-::  + Full Automatic Package bat file.
+::  + Agreement Contract
+::  + End sentence (you can close now)
+::  + Split sections better
+::  + Colored text
 ::  + Write code to set environment variables...
+
 ::  + Write code to install vs if it's not yet installed on users pc
 ::  + Write Git Checkout repository code:
 ::      1) Let user specify destination
@@ -43,6 +49,17 @@ call:parse_file_new "config\config" cnfg n
 call:log "Welcome to the automated Installation of the CodeCombat Dev. Environment!"
 call:log_sse "v%%cnfg[1]%% authored by %%cnfg[2]%% and published by %%cnfg[3]%%."
 
+:: Language Agreement Stuff
+
+call:log "In order to continue the installation of the developers environment"
+call:log "you will have to read and agree with the following license:
+call:draw_dss
+echo.
+call:parse_aa_and_draw "license.txt"
+echo.
+call:draw_dss
+call:user_yn_question "Have you read the license and do you agree with it?" res  
+
 :: Read Language Index
 call:parse_file_new "localisation\languages" lang lang_c
 
@@ -199,7 +216,7 @@ goto report_ok
 goto clean_up
 
 :open_readme
-  call:open_txt_file "config/README.txt"
+  call:open_txt_file "config/info"
 goto:eof
 
 :warn_and_exit
@@ -234,11 +251,7 @@ goto:eof
 
 :install_software_o
   call:get_lw word %~4
-  set /p result="%word% [Y/N]: "
-  call:draw_dss
-  set res=false
-  if "%result%"=="N" set res=true
-  if "%result%"=="n" set res=true
+  call:user_yn_question "%word%" res
   if "%res%"=="true" (
     call:install_software %~1 %~2 %~3
   ) else (
@@ -271,13 +284,17 @@ goto:eof
   rmdir %packed_software_path%\%temp_dir%\ /s /q
 goto:eof
 
+:user_yn_question
+  set /p result="%~1 [Y/N]: "
+  call:draw_dss
+  set %~2=false
+  if "%result%"=="N" set %~2==true
+  if "%result%"=="n" set %~2==true
+goto:eof
+
 :install_packed_software_o
   call:get_lw word %~4
-  set /p result="%word% [Y/N]: "
-  call:draw_dss
-  set res=false
-  if "%result%"=="N" set res=true
-  if "%result%"=="n" set res=true
+  call:user_yn_question "%word%" res
   if "%res%"=="true" (
     call:install_packed_software %~1 %~2 %~3
   ) else (
@@ -323,7 +340,7 @@ goto:eof
 
 :parse_aa_and_draw
   set "file=%~1"
-  for /F "usebackq delims=" %%a in ("%file%") do (
+  for /f "usebackq tokens=* delims=;" %%a in ("%file%") do (
     echo.%%a
   )
 goto:eof
diff --git a/scripts/windows/coco-dev-setup/batch/license.txt b/scripts/windows/coco-dev-setup/batch/license.txt
new file mode 100755
index 000000000..9cdbbf3f0
--- /dev/null
+++ b/scripts/windows/coco-dev-setup/batch/license.txt
@@ -0,0 +1,11 @@
+
+The MIT License (MIT)
+ 
+Copyright (c) 2014 CodeCombat Inc. and other contributors
+ 
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation  the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell     copies of the Software, and to permit persons to whom the Software is         furnished to do so, subject to the following conditions:
+ 
+The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
+ 
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,      FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN sCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.

From 6c7fded3139a812a799176b4e01d101c8b0aab19 Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Tue, 4 Feb 2014 23:19:11 +0100
Subject: [PATCH 02/29] bug fix and now able to set env variables.

---
 .../coco-dev-setup/batch/dev-setup.bat        | 46 ++++++++++++++-----
 1 file changed, 34 insertions(+), 12 deletions(-)

diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index 79fa6c636..39502202f 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -1,6 +1,8 @@
 @echo off
 setlocal EnableDelayedExpansion
 
+Color 0A 
+
 mode con: cols=78 lines=60
 
 :: Global Variables
@@ -17,11 +19,7 @@ IF EXIST "%PROGRAMFILES(X86)%" (
 set "ZU-app=utilities\7za.exe"
 
 :: TODO:
-::  + Agreement Contract
-::  + End sentence (you can close now)
-::  + Split sections better
-::  + Colored text
-::  + Write code to set environment variables...
+::  + Write code to add paths to the PATH variable...
 
 ::  + Write code to install vs if it's not yet installed on users pc
 ::  + Write Git Checkout repository code:
@@ -58,7 +56,13 @@ echo.
 call:parse_aa_and_draw "license.txt"
 echo.
 call:draw_dss
-call:user_yn_question "Have you read the license and do you agree with it?" res  
+call:user_yn_question "Have you read the license and do you agree with it?"  
+
+if "%res%"=="true" (
+  call:log "Sorry to hear that, have a good day..."
+  call:log_sse "Installation and Setup of the CodeCombat environment is cancelled."
+  GOTO:END
+)
 
 :: Read Language Index
 call:parse_file_new "localisation\languages" lang lang_c
@@ -114,6 +118,7 @@ call:log_ds "You choose '%word%', from now on all feedback will be logged in it.
 call:log_lw 1
 call:log_lw_sse 2
 
+
 :: downloads for all version...
 
 :: [TODO] The choice between Cygwin && Git ?! Is 
@@ -251,7 +256,7 @@ goto:eof
 
 :install_software_o
   call:get_lw word %~4
-  call:user_yn_question "%word%" res
+  call:user_yn_question "%word%"
   if "%res%"=="true" (
     call:install_software %~1 %~2 %~3
   ) else (
@@ -287,14 +292,14 @@ goto:eof
 :user_yn_question
   set /p result="%~1 [Y/N]: "
   call:draw_dss
-  set %~2=false
-  if "%result%"=="N" set %~2==true
-  if "%result%"=="n" set %~2==true
+  set "res=false"
+  if "%result%"=="N" (set "res=true")
+  if "%result%"=="n" (set "res=true")
 goto:eof
 
 :install_packed_software_o
   call:get_lw word %~4
-  call:user_yn_question "%word%" res
+  call:user_yn_question "%word%"
   if "%res%"=="true" (
     call:install_packed_software %~1 %~2 %~3
   ) else (
@@ -310,11 +315,21 @@ goto:eof
 goto:eof
 
 :draw_ss
+  echo.
   call:log "-----------------------------------------------------------------------------"
+  echo.
 goto:eof
 
 :draw_dss
+  echo.
   call:log "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
+  echo.
+goto:eof
+
+:draw_seperator
+  echo.
+  echo                            + + + + + + + +                           
+  echo.
 goto:eof
 
 :log_ss
@@ -358,7 +373,7 @@ goto:eof
   call:parse_file %~1 %~2 %~3
 goto:eof
 
-:: ============================== LOCALISATION FUNCTIONS ===========================
+:: ============================== LOCALISATION FUNCTIONS ================
 
 :get_lw
   call:get_lw_id %~1 %lang_id% %~2
@@ -389,7 +404,14 @@ goto:eof
   call:log_sse "%str%"
 goto:eof
 
+:: ============================== WINDOWS FUNCTIONS ======================
+
+:set_env_var
+  setx -m %~1 %~2
+goto:eof
+
 :: ============================== EOF ====================================
 
 :END
+  set /p input="You can close this window now..."
 endlocal
\ No newline at end of file

From 30758cf7774ae0b94a2c672703425dbd5e36239d Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Tue, 4 Feb 2014 23:30:11 +0100
Subject: [PATCH 03/29] Added python to the installation list

---
 scripts/windows/coco-dev-setup/batch/config/downloads_32 | 3 ++-
 scripts/windows/coco-dev-setup/batch/config/downloads_64 | 3 ++-
 scripts/windows/coco-dev-setup/batch/dev-setup.bat       | 4 ++++
 scripts/windows/coco-dev-setup/batch/localisation/en     | 3 ++-
 scripts/windows/coco-dev-setup/batch/localisation/fr     | 3 ++-
 scripts/windows/coco-dev-setup/batch/localisation/nl     | 3 ++-
 6 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/scripts/windows/coco-dev-setup/batch/config/downloads_32 b/scripts/windows/coco-dev-setup/batch/config/downloads_32
index 9f31f7124..28a9db70d 100755
--- a/scripts/windows/coco-dev-setup/batch/config/downloads_32
+++ b/scripts/windows/coco-dev-setup/batch/config/downloads_32
@@ -1,2 +1,3 @@
 http://nodejs.org/dist/v0.10.25/node-v0.10.25-x86.msi
-http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353.exe?direct 
\ No newline at end of file
+http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353.exe?direct
+http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/config/downloads_64 b/scripts/windows/coco-dev-setup/batch/config/downloads_64
index e97840b7b..b22b5f2da 100755
--- a/scripts/windows/coco-dev-setup/batch/config/downloads_64
+++ b/scripts/windows/coco-dev-setup/batch/config/downloads_64
@@ -1,2 +1,3 @@
 http://nodejs.org/dist/v0.10.25/x64/node-v0.10.25-x64.msi
-http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct 
\ No newline at end of file
+http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct
+http://www.python.org/ftp/python/2.7.6/python-2.7.6.amd64.msi
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index 39502202f..5b2786758 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -150,6 +150,8 @@ goto:eof
   call:install_software_o "node-js" "%%downloads_64[1]%%" msi 12
   call:draw_dss
   call:install_software_o "ruby" "%%downloads_64[2]%%" exe 13
+  call:draw_dss
+  call:install_software_o "python" "%%downloads_64[3]%%" msi 26
   
   :: Some installations require specific windows versions
   for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
@@ -167,6 +169,8 @@ GOTO END
   call:install_software_o "node-js" "%%downloads_32[1]%%" msi 12
   call:draw_dss
   call:install_software_o "ruby" "%%downloads_32[2]%%" exe 13
+  call:draw_dss
+  call:install_software_o "python" "%%downloads_32[3]%%" msi 26
   
   :: Some installations require specific windows versions
   for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en b/scripts/windows/coco-dev-setup/batch/localisation/en
index a87a05c1e..069c14d50 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/en
+++ b/scripts/windows/coco-dev-setup/batch/localisation/en
@@ -23,4 +23,5 @@ Report your OS to the developers @ CodeCombat.com...
 Installation has been stopped...
 ... Cleaning up has been disabled... Terminating Script!
 unpacking and moving:
-Enter the path where you would like to install MongoDB:
\ No newline at end of file
+Enter the path where you would like to install MongoDB:
+Do you already have the latest version of python installed?
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr b/scripts/windows/coco-dev-setup/batch/localisation/fr
index e17cb66fa..f0b6ee233 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/fr
+++ b/scripts/windows/coco-dev-setup/batch/localisation/fr
@@ -23,4 +23,5 @@ Report your OS to the developers @ CodeCombat.com...
 Installation has been stopped...
 ... Cleaning up has been disabled... Terminating Script!
 unpacking and moving:
-Enter the path where you would like to install MongoDB:
\ No newline at end of file
+Enter the path where you would like to install MongoDB:
+Do you already have the latest version of python installed?
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl b/scripts/windows/coco-dev-setup/batch/localisation/nl
index 7cdd2956b..c474bfedc 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/nl
+++ b/scripts/windows/coco-dev-setup/batch/localisation/nl
@@ -23,4 +23,5 @@ Report your OS to the developers @ CodeCombat.com...
 Installation has been stopped...
 ... Cleaning up has been disabled... Terminating Script!
 unpacking and moving:
-Enter the path where you would like to install MongoDB:
\ No newline at end of file
+Enter the path where you would like to install MongoDB:
+Do you already have the latest version of python installed?
\ No newline at end of file

From 047d89e80293c6184e1dab2b5ffbcf3c720691d8 Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Wed, 5 Feb 2014 00:46:03 +0100
Subject: [PATCH 04/29] Fixed some bugs, implemented strict y/n checking and
 started on git repository check out steps...

---
 .../coco-dev-setup/batch/dev-setup.bat        | 83 +++++++++++++++++--
 .../coco-dev-setup/batch/localisation/en      | 13 ++-
 .../coco-dev-setup/batch/localisation/fr      | 13 ++-
 .../coco-dev-setup/batch/localisation/nl      | 13 ++-
 4 files changed, 108 insertions(+), 14 deletions(-)

diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index 5b2786758..4c1412b00 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -19,9 +19,9 @@ IF EXIST "%PROGRAMFILES(X86)%" (
 set "ZU-app=utilities\7za.exe"
 
 :: TODO:
-::  + Write code to add paths to the PATH variable...
 
 ::  + Write code to install vs if it's not yet installed on users pc
+
 ::  + Write Git Checkout repository code:
 ::      1) Let user specify destination
 ::      2) do a git clone with the git application
@@ -56,9 +56,9 @@ echo.
 call:parse_aa_and_draw "license.txt"
 echo.
 call:draw_dss
-call:user_yn_question "Have you read the license and do you agree with it?"  
+call:strict_user_yn_question "Have you read the license and do you agree with it?"  
 
-if "%res%"=="true" (
+if "%res%"=="false" (
   call:log "Sorry to hear that, have a good day..."
   call:log_sse "Installation and Setup of the CodeCombat environment is cancelled."
   GOTO:END
@@ -118,10 +118,9 @@ call:log_ds "You choose '%word%', from now on all feedback will be logged in it.
 call:log_lw 1
 call:log_lw_sse 2
 
-
 :: downloads for all version...
 
-:: [TODO] The choice between Cygwin && Git ?! Is 
+:: [TODO] The choice between Cygwin && Git ?! Is  => HAVE EXTERNAL GIT APPLICATION LIST!!!
 
 call:log_lw_sse 3
 
@@ -132,12 +131,27 @@ call:install_software_o "git" "%%downloads[1]%%" exe 9
 call:draw_dss
 call:get_lw word 11
 :: [TODO] Check if that application exists, if not ask again with warning that the path is invalid!!! (SAFETYYYY)
-set /p git_exe_path="%word%: "
+
+set git_exe="bin\sh.exe"
 
 :: [TODO] Add downloads for windows visual studio ?!
 
-:: architecture specific downloads...
-IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
+call:user_set_git_path
+
+:user_set_git_path_fail
+  if not exist "%git_exe_path%" (
+    call:log_lw 27
+    call:draw_dss
+    call:user_set_git_path
+  )
+  :: architecture specific downloads...
+  IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
+goto:eof
+
+:user_set_git_path
+  set /p git_exe_path="%word%: "
+  call:user_set_git_path_fail
+goto:eof
 
 :go_to_platform
   call:log_ds "Windows %~1 detected..."
@@ -213,6 +227,38 @@ goto END
 :git_rep_checkout
   call:log_lw_ss 16
   call:log_lw_sse 17
+  
+  ::Show user the correct steps to execute
+  call:log_lw 28
+  call:log_lw_prfx 29 "  1) "
+  call:log_lw_prfx 30 "      "
+  call:log_lw_prfx 31 "  2) "
+  
+  call:draw_dss
+  start /WAIT "%git_exe_path%\%git_exe% --login -i" 
+  call:draw_dss
+  
+  call:user_set_git_repository
+goto git_repo_configuration
+
+:user_set_git_repository
+  call:get_lw word 32
+  set /p git_repository_path="%word% "
+  call:user_set_git_repository_sc
+goto:eof
+
+:user_set_git_repository_sc
+  if not exist "%git_repository_path%" (
+    call:log_lw 33
+    call:draw_dss
+    call:user_set_git_repository
+  )
+  goto git_repo_configuration
+goto:eof
+
+:git_repo_configuration
+  call:log_lw_ss 35
+  call:log_lw_sse 36
 goto report_ok
 
 :report_ok
@@ -301,6 +347,22 @@ goto:eof
   if "%result%"=="n" (set "res=true")
 goto:eof
 
+:strict_user_yn_question
+  set /p result="%~1 [Y/N]: "
+  call:draw_dss
+  set "res=unset"
+  if "%result%"=="N" (set "res=false")
+  if "%result%"=="n" (set "res=false")
+  if "%result%"=="Y" (set "res=true")
+  if "%result%"=="y" (set "res=true")
+  
+  if "%res%"=="unset" (
+    call:log "Please answer the question with either Y or N..."
+    call:draw_dss
+    call:strict_user_yn_question "%~1"
+  )
+goto:eof
+
 :install_packed_software_o
   call:get_lw word %~4
   call:user_yn_question "%word%"
@@ -393,6 +455,11 @@ goto:eof
   call:log "%str%"
 goto:eof
 
+:log_lw_prfx
+  call:get_lw str %~1
+  call:log "%~2%str%"
+goto:eof
+
 :log_lw_ss
   call:get_lw str %~1
   call:log_ss "%str%"
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en b/scripts/windows/coco-dev-setup/batch/localisation/en
index 069c14d50..2e9c9117d 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/en
+++ b/scripts/windows/coco-dev-setup/batch/localisation/en
@@ -9,7 +9,7 @@ Therefore you need a git command-line application.
 Examples: git-bash, CygWin, ...
 Do you already have a git command-line application?
 Download and Installation cancelled...
-Enter the path to your Git CL Exectutable
+Enter the path to where you installed your Git application
 Do you already have the latest version of node-js installed?
 Do you already have the latest version of ruby installed?
 Do you already have the latest version of mongo-db installed?
@@ -24,4 +24,13 @@ Installation has been stopped...
 ... Cleaning up has been disabled... Terminating Script!
 unpacking and moving:
 Enter the path where you would like to install MongoDB:
-Do you already have the latest version of python installed?
\ No newline at end of file
+Do you already have the latest version of python installed?
+The path to your git application is incorrect, please try again...
+You'll need to execute the following steps to continue the installation:
+Type: git clone https://github.com/codecombat/codecombat.git aPath
+Note: replace aPath with the destination of your git repository
+Close the git application and go back to this CMD window
+Enter the full path where you cloned the repository to:
+The path you entered is invalid, please try again...
+Good Job, we're almost there...
+Started the configuration of your git repository...
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr b/scripts/windows/coco-dev-setup/batch/localisation/fr
index f0b6ee233..4890ab591 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/fr
+++ b/scripts/windows/coco-dev-setup/batch/localisation/fr
@@ -9,7 +9,7 @@ Therefore you need a git command-line application.
 Examples: git-bash, CygWin, ...
 Do you already have a git command-line application?
 Download and Installation cancelled...
-Enter the path to your Git CL Exectutable
+Enter the path to where you installed your Git application
 Do you already have the latest version of node-js installed?
 Do you already have the latest version of ruby installed?
 Do you already have the latest version of mongo-db installed?
@@ -24,4 +24,13 @@ Installation has been stopped...
 ... Cleaning up has been disabled... Terminating Script!
 unpacking and moving:
 Enter the path where you would like to install MongoDB:
-Do you already have the latest version of python installed?
\ No newline at end of file
+Do you already have the latest version of python installed?
+The path to your git application is incorrect, please try again...
+You'll need to execute the following steps to continue the installation:
+Type: git clone https://github.com/codecombat/codecombat.git aPath
+Note: replace aPath with the destination of your git repository
+Close the git application and go back to this CMD window
+Enter the full path where you cloned the repository to:
+The path you entered is invalid, please try again...
+Good Job, we're almost there...
+Started the configuration of your git repository...
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl b/scripts/windows/coco-dev-setup/batch/localisation/nl
index c474bfedc..656baef31 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/nl
+++ b/scripts/windows/coco-dev-setup/batch/localisation/nl
@@ -9,7 +9,7 @@ Therefore you need a git command-line application.
 Examples: git-bash, CygWin, ...
 Do you already have a git command-line application?
 Download and Installation cancelled...
-Enter the path to your Git CL Exectutable
+Enter the path to where you installed your Git application
 Do you already have the latest version of node-js installed?
 Do you already have the latest version of ruby installed?
 Do you already have the latest version of mongo-db installed?
@@ -24,4 +24,13 @@ Installation has been stopped...
 ... Cleaning up has been disabled... Terminating Script!
 unpacking and moving:
 Enter the path where you would like to install MongoDB:
-Do you already have the latest version of python installed?
\ No newline at end of file
+Do you already have the latest version of python installed?
+The path to your git application is incorrect, please try again...
+You'll need to execute the following steps to continue the installation:
+Type: git clone https://github.com/codecombat/codecombat.git aPath
+Note: replace aPath with the destination of your git repository
+Close the git application and go back to this CMD window
+Enter the full path where you cloned the repository to:
+The path you entered is invalid, please try again...
+Good Job, we're almost there...
+Started the configuration of your git repository...
\ No newline at end of file

From becd04647224cfc66d603ffe4e42e021d43a309d Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Wed, 5 Feb 2014 01:48:11 +0100
Subject: [PATCH 05/29] Making git automatic && making it more userfriendly

---
 .../windows/coco-dev-setup/batch/config/tips  |  5 +++
 .../coco-dev-setup/batch/dev-setup.bat        | 41 +++++++++++--------
 .../windows/coco-dev-setup/batch/git-test.bat |  3 ++
 .../coco-dev-setup/batch/localisation/en      |  6 +--
 .../coco-dev-setup/batch/localisation/fr      |  6 +--
 .../coco-dev-setup/batch/localisation/nl      |  6 +--
 6 files changed, 42 insertions(+), 25 deletions(-)
 create mode 100755 scripts/windows/coco-dev-setup/batch/config/tips
 create mode 100755 scripts/windows/coco-dev-setup/batch/git-test.bat

diff --git a/scripts/windows/coco-dev-setup/batch/config/tips b/scripts/windows/coco-dev-setup/batch/config/tips
new file mode 100755
index 000000000..b15f7d6e2
--- /dev/null
+++ b/scripts/windows/coco-dev-setup/batch/config/tips
@@ -0,0 +1,5 @@
+  1) This program is all about automating the setup of the CoCo environment
+  2) When there is a question, please answer carefull and correct
+  3) This setup is still in beta and may contain bugs
+  4) You can report bugs @ 'https://github.com/codecombat/codecombat/issues'
+  5) Having questions/suggestions? Talk with us on HipChat via CodeCombat.com
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index 4c1412b00..aa838b4ac 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -18,10 +18,13 @@ IF EXIST "%PROGRAMFILES(X86)%" (
 
 set "ZU-app=utilities\7za.exe"
 
+:: DEBUG:
+    + DEBUG FLOW OF PROGRAM
+    + DEBUG & GET GIT AUTOMATIC WORKING
+
 :: TODO:
-
 ::  + Write code to install vs if it's not yet installed on users pc
-
+::  + Write Tips...
 ::  + Write Git Checkout repository code:
 ::      1) Let user specify destination
 ::      2) do a git clone with the git application
@@ -64,6 +67,14 @@ if "%res%"=="false" (
   GOTO:END
 )
 
+:: Tips
+call:log "Before we start the installation, here are some tips:"
+echo.
+
+call:parse_aa_and_draw "config\tips"
+
+call:draw_ss
+
 :: Read Language Index
 call:parse_file_new "localisation\languages" lang lang_c
 
@@ -130,9 +141,6 @@ call:log_lw 8
 call:install_software_o "git" "%%downloads[1]%%" exe 9
 call:draw_dss
 call:get_lw word 11
-:: [TODO] Check if that application exists, if not ask again with warning that the path is invalid!!! (SAFETYYYY)
-
-set git_exe="bin\sh.exe"
 
 :: [TODO] Add downloads for windows visual studio ?!
 
@@ -228,18 +236,11 @@ goto END
   call:log_lw_ss 16
   call:log_lw_sse 17
   
-  ::Show user the correct steps to execute
-  call:log_lw 28
-  call:log_lw_prfx 29 "  1) "
-  call:log_lw_prfx 30 "      "
-  call:log_lw_prfx 31 "  2) "
-  
-  call:draw_dss
-  start /WAIT "%git_exe_path%\%git_exe% --login -i" 
-  call:draw_dss
+  call:set_system_path "%git_exe_path%\bin"
+  call:set_system_path "%git_exe_path%\cmd"
   
   call:user_set_git_repository
-goto git_repo_configuration
+goto git_rep_checkout_auto
 
 :user_set_git_repository
   call:get_lw word 32
@@ -253,9 +254,13 @@ goto:eof
     call:draw_dss
     call:user_set_git_repository
   )
-  goto git_repo_configuration
+  goto git_rep_checkout_auto
 goto:eof
 
+:git_rep_checkout_auto
+  git clone https://github.com/codecombat/codecombat.git "%git_repository_path%"
+goto:git_repo_configuration
+
 :git_repo_configuration
   call:log_lw_ss 35
   call:log_lw_sse 36
@@ -481,6 +486,10 @@ goto:eof
   setx -m %~1 %~2
 goto:eof
 
+:set_system_path
+  set PATH=%PATH%;%~1 /M
+goto:eof
+
 :: ============================== EOF ====================================
 
 :END
diff --git a/scripts/windows/coco-dev-setup/batch/git-test.bat b/scripts/windows/coco-dev-setup/batch/git-test.bat
new file mode 100755
index 000000000..8bc51f67f
--- /dev/null
+++ b/scripts/windows/coco-dev-setup/batch/git-test.bat
@@ -0,0 +1,3 @@
+set PATH=%PATH%;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\cmd /M
+git
+pause
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en b/scripts/windows/coco-dev-setup/batch/localisation/en
index 2e9c9117d..87a8373da 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/en
+++ b/scripts/windows/coco-dev-setup/batch/localisation/en
@@ -5,11 +5,11 @@ Don't close any windows please, unless specified explicitly.
 downloading:
 installing:
 CodeCombat is safely stored on a git repository.
-Therefore you need a git command-line application.
+Therefore you need a git command-line application (Git-bash).
 Examples: git-bash, CygWin, ...
-Do you already have a git command-line application?
+Do you already have git-bash?
 Download and Installation cancelled...
-Enter the path to where you installed your Git application
+Enter the path to where you installed Git-bash
 Do you already have the latest version of node-js installed?
 Do you already have the latest version of ruby installed?
 Do you already have the latest version of mongo-db installed?
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr b/scripts/windows/coco-dev-setup/batch/localisation/fr
index 4890ab591..ce00fa46f 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/fr
+++ b/scripts/windows/coco-dev-setup/batch/localisation/fr
@@ -5,11 +5,11 @@ Don't close any windows please, unless specified explicitly.
 downloading:
 installing:
 CodeCombat is safely stored on a git repository.
-Therefore you need a git command-line application.
+Therefore you need a git command-line application (Git-bash).
 Examples: git-bash, CygWin, ...
-Do you already have a git command-line application?
+Do you already have git-bash?
 Download and Installation cancelled...
-Enter the path to where you installed your Git application
+Enter the path to where you installed Git-bash
 Do you already have the latest version of node-js installed?
 Do you already have the latest version of ruby installed?
 Do you already have the latest version of mongo-db installed?
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl b/scripts/windows/coco-dev-setup/batch/localisation/nl
index 656baef31..8786cb1bb 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/nl
+++ b/scripts/windows/coco-dev-setup/batch/localisation/nl
@@ -5,11 +5,11 @@ Don't close any windows please, unless specified explicitly.
 downloading:
 installing:
 CodeCombat is safely stored on a git repository.
-Therefore you need a git command-line application.
+Therefore you need a git command-line application (Git-bash).
 Examples: git-bash, CygWin, ...
-Do you already have a git command-line application?
+Do you already have git-bash?
 Download and Installation cancelled...
-Enter the path to where you installed your Git application
+Enter the path to where you installed Git-bash
 Do you already have the latest version of node-js installed?
 Do you already have the latest version of ruby installed?
 Do you already have the latest version of mongo-db installed?

From 99e41b8bbb58a1f282f97cba796076673d1fc8f1 Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Wed, 5 Feb 2014 23:23:39 +0100
Subject: [PATCH 06/29] Git is now part of the project.

---
 .../windows/coco-dev-setup/batch/dev-setup.bat    | 13 ++++---------
 scripts/windows/coco-dev-setup/batch/git-test.bat | 15 ++++++++++++---
 .../windows/coco-dev-setup/batch/localisation/en  |  2 +-
 .../windows/coco-dev-setup/batch/localisation/fr  |  2 +-
 .../windows/coco-dev-setup/batch/localisation/nl  |  2 +-
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index aa838b4ac..887681584 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -19,8 +19,8 @@ IF EXIST "%PROGRAMFILES(X86)%" (
 set "ZU-app=utilities\7za.exe"
 
 :: DEBUG:
-    + DEBUG FLOW OF PROGRAM
-    + DEBUG & GET GIT AUTOMATIC WORKING
+    :: + DEBUG FLOW OF PROGRAM
+    :: + DEBUG & GET GIT AUTOMATIC WORKING
 
 :: TODO:
 ::  + Write code to install vs if it's not yet installed on users pc
@@ -236,8 +236,7 @@ goto END
   call:log_lw_ss 16
   call:log_lw_sse 17
   
-  call:set_system_path "%git_exe_path%\bin"
-  call:set_system_path "%git_exe_path%\cmd"
+  set "PATH=%PATH%;%git_exe_path%\bin;%git_exe_path%\cmd" /M
   
   call:user_set_git_repository
 goto git_rep_checkout_auto
@@ -249,7 +248,7 @@ goto git_rep_checkout_auto
 goto:eof
 
 :user_set_git_repository_sc
-  if not exist "%git_repository_path%" (
+  if exist "%git_repository_path%" (
     call:log_lw 33
     call:draw_dss
     call:user_set_git_repository
@@ -486,10 +485,6 @@ goto:eof
   setx -m %~1 %~2
 goto:eof
 
-:set_system_path
-  set PATH=%PATH%;%~1 /M
-goto:eof
-
 :: ============================== EOF ====================================
 
 :END
diff --git a/scripts/windows/coco-dev-setup/batch/git-test.bat b/scripts/windows/coco-dev-setup/batch/git-test.bat
index 8bc51f67f..5d9bb74f7 100755
--- a/scripts/windows/coco-dev-setup/batch/git-test.bat
+++ b/scripts/windows/coco-dev-setup/batch/git-test.bat
@@ -1,3 +1,12 @@
-set PATH=%PATH%;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\cmd /M
-git
-pause
\ No newline at end of file
+@echo off
+setlocal EnableDelayedExpansion
+
+set "git-path=C:\Program Files (x86)\Git"
+
+set "PATH=%PATH%;%git-path%\bin;%git-path%\cmd" /M
+
+git clone https://github.com/codecombat/codecombat.git C:\Coco\
+
+pause
+
+endlocal
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en b/scripts/windows/coco-dev-setup/batch/localisation/en
index 87a8373da..4be3977d1 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/en
+++ b/scripts/windows/coco-dev-setup/batch/localisation/en
@@ -31,6 +31,6 @@ Type: git clone https://github.com/codecombat/codecombat.git aPath
 Note: replace aPath with the destination of your git repository
 Close the git application and go back to this CMD window
 Enter the full path where you cloned the repository to:
-The path you entered is invalid, please try again...
+The path you entered already exists, please try again...
 Good Job, we're almost there...
 Started the configuration of your git repository...
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr b/scripts/windows/coco-dev-setup/batch/localisation/fr
index ce00fa46f..dbbe4ef6a 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/fr
+++ b/scripts/windows/coco-dev-setup/batch/localisation/fr
@@ -31,6 +31,6 @@ Type: git clone https://github.com/codecombat/codecombat.git aPath
 Note: replace aPath with the destination of your git repository
 Close the git application and go back to this CMD window
 Enter the full path where you cloned the repository to:
-The path you entered is invalid, please try again...
+The path you entered already exists, please try again...
 Good Job, we're almost there...
 Started the configuration of your git repository...
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl b/scripts/windows/coco-dev-setup/batch/localisation/nl
index 8786cb1bb..00ebe3370 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/nl
+++ b/scripts/windows/coco-dev-setup/batch/localisation/nl
@@ -31,6 +31,6 @@ Type: git clone https://github.com/codecombat/codecombat.git aPath
 Note: replace aPath with the destination of your git repository
 Close the git application and go back to this CMD window
 Enter the full path where you cloned the repository to:
-The path you entered is invalid, please try again...
+The path you entered already exists, please try again...
 Good Job, we're almost there...
 Started the configuration of your git repository...
\ No newline at end of file

From cc8469c20852a9fc0b9759eb54bd596252a7169e Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Wed, 5 Feb 2014 23:52:44 +0100
Subject: [PATCH 07/29] Git repository checkout sucessfull

---
 .../windows/coco-dev-setup/batch/config/info  |  5 +++-
 .../coco-dev-setup/batch/dev-setup.bat        | 25 +++++++++++++------
 .../coco-dev-setup/batch/localisation/en      |  8 ++++--
 .../coco-dev-setup/batch/localisation/fr      |  8 ++++--
 .../coco-dev-setup/batch/localisation/nl      |  8 ++++--
 5 files changed, 39 insertions(+), 15 deletions(-)

diff --git a/scripts/windows/coco-dev-setup/batch/config/info b/scripts/windows/coco-dev-setup/batch/config/info
index 1d5b84cd0..b42a74484 100755
--- a/scripts/windows/coco-dev-setup/batch/config/info
+++ b/scripts/windows/coco-dev-setup/batch/config/info
@@ -7,4 +7,7 @@
    \____/\___/ \__,_|\___|  \____/\___/|_| |_| |_|_.__/ \__,_|\__|
 
 ======================================================================
- Readme: Hello World!
\ No newline at end of file
+
+The installation of your CodeCombat Development Environment was succesfull!
+You are now ready to start contributing and join our wonderfull community!
+But where and how do you start your journey?
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index 887681584..adbd37c87 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -18,15 +18,12 @@ IF EXIST "%PROGRAMFILES(X86)%" (
 
 set "ZU-app=utilities\7za.exe"
 
-:: DEBUG:
-    :: + DEBUG FLOW OF PROGRAM
-    :: + DEBUG & GET GIT AUTOMATIC WORKING
-
 :: TODO:
 ::  + Write code to install vs if it's not yet installed on users pc
 ::  + Write Tips...
 ::  + Write Git Checkout repository code:
 ::      1) Let user specify destination
+::      3) Let user specify his username etc...
 ::      2) do a git clone with the git application
 ::  + Configuraton and installation checklist:
 ::      1) ... ?!
@@ -238,8 +235,19 @@ goto END
   
   set "PATH=%PATH%;%git_exe_path%\bin;%git_exe_path%\cmd" /M
   
+  call:log_lw 36
+  call:log_lw 37
+  call:log_lw 38
+  
+  call:draw_dss
+  
+  call:get_lw word 39
+  set /p git_username="%word% "
+  
+  call:draw_dss
+    
   call:user_set_git_repository
-goto git_rep_checkout_auto
+goto:eof
 
 :user_set_git_repository
   call:get_lw word 32
@@ -257,7 +265,7 @@ goto:eof
 goto:eof
 
 :git_rep_checkout_auto
-  git clone https://github.com/codecombat/codecombat.git "%git_repository_path%"
+  git clone https://github.com/%git_username%/codecombat.git "%git_repository_path%"
 goto:git_repo_configuration
 
 :git_repo_configuration
@@ -290,7 +298,6 @@ goto END
 :clean_up
   call:log_lw_sse 23
   rmdir %temp-dir% /s /q
-  PAUSE
 goto END
 
 :: ============================ INSTALL SOFTWARE FUNCTIONS ======================
@@ -488,5 +495,7 @@ goto:eof
 :: ============================== EOF ====================================
 
 :END
-  set /p input="You can close this window now..."
+  exit
+goto:eof
+
 endlocal
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en b/scripts/windows/coco-dev-setup/batch/localisation/en
index 4be3977d1..66ef3a3de 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/en
+++ b/scripts/windows/coco-dev-setup/batch/localisation/en
@@ -30,7 +30,11 @@ You'll need to execute the following steps to continue the installation:
 Type: git clone https://github.com/codecombat/codecombat.git aPath
 Note: replace aPath with the destination of your git repository
 Close the git application and go back to this CMD window
-Enter the full path where you cloned the repository to:
+Enter the full path where you want to clone your repository to:
 The path you entered already exists, please try again...
 Good Job, we're almost there...
-Started the configuration of your git repository...
\ No newline at end of file
+Started the configuration of your git repository...
+You need a fork of the official CodeCombat...
+Haven't you done that yet, really...?
+Go over to https://github.com/codecombat/codecombat and do it now!
+Now then... Please enter your github username:
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr b/scripts/windows/coco-dev-setup/batch/localisation/fr
index dbbe4ef6a..93ddec958 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/fr
+++ b/scripts/windows/coco-dev-setup/batch/localisation/fr
@@ -30,7 +30,11 @@ You'll need to execute the following steps to continue the installation:
 Type: git clone https://github.com/codecombat/codecombat.git aPath
 Note: replace aPath with the destination of your git repository
 Close the git application and go back to this CMD window
-Enter the full path where you cloned the repository to:
+Enter the full path where you want to clone your repository to:
 The path you entered already exists, please try again...
 Good Job, we're almost there...
-Started the configuration of your git repository...
\ No newline at end of file
+Started the configuration of your git repository...
+You need a fork of the official CodeCombat...
+Haven't you done that yet, really...?
+Go over to https://github.com/codecombat/codecombat and do it now!
+Now then... Please enter your github username:
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl b/scripts/windows/coco-dev-setup/batch/localisation/nl
index 00ebe3370..62c3b532d 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/nl
+++ b/scripts/windows/coco-dev-setup/batch/localisation/nl
@@ -30,7 +30,11 @@ You'll need to execute the following steps to continue the installation:
 Type: git clone https://github.com/codecombat/codecombat.git aPath
 Note: replace aPath with the destination of your git repository
 Close the git application and go back to this CMD window
-Enter the full path where you cloned the repository to:
+Enter the full path where you want to clone your repository to:
 The path you entered already exists, please try again...
 Good Job, we're almost there...
-Started the configuration of your git repository...
\ No newline at end of file
+Started the configuration of your git repository...
+You need a fork of the official CodeCombat...
+Haven't you done that yet, really...?
+Go over to https://github.com/codecombat/codecombat and do it now!
+Now then... Please enter your github username:
\ No newline at end of file

From 6138ff8b8710fffb04524f8c77440c6558c5c7e2 Mon Sep 17 00:00:00 2001
From: GlenDC <decauwsemaecker.glen@gmail.com>
Date: Thu, 6 Feb 2014 01:13:50 +0100
Subject: [PATCH 08/29] Making progress, git checkout is complete, working on
 configuration...

---
 .../coco-dev-setup/batch/dev-setup.bat        | 80 +++++++++++++------
 .../windows/coco-dev-setup/batch/git-test.bat | 46 ++++++++++-
 .../coco-dev-setup/batch/localisation/en      |  5 +-
 .../coco-dev-setup/batch/localisation/fr      |  5 +-
 .../coco-dev-setup/batch/localisation/nl      |  5 +-
 5 files changed, 110 insertions(+), 31 deletions(-)

diff --git a/scripts/windows/coco-dev-setup/batch/dev-setup.bat b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
index adbd37c87..97e7d1ee2 100755
--- a/scripts/windows/coco-dev-setup/batch/dev-setup.bat
+++ b/scripts/windows/coco-dev-setup/batch/dev-setup.bat
@@ -18,19 +18,25 @@ IF EXIST "%PROGRAMFILES(X86)%" (
 
 set "ZU-app=utilities\7za.exe"
 
+:: BUGS: 
+  ::  + DEBUG ALL STEPS UNTILL NOW DONE
+
+
 :: TODO:
 ::  + Write code to install vs if it's not yet installed on users pc
-::  + Write Tips...
-::  + Write Git Checkout repository code:
-::      1) Let user specify destination
-::      3) Let user specify his username etc...
-::      2) do a git clone with the git application
+
 ::  + Configuraton and installation checklist:
-::      1) ... ?!
+::      1) cd codecombat
+::      2) npm install -g bower brunch nodemon sendwithus
+::      3) bower install
+::      4) gem install sass
+::      5) npm install
+::      6) brunch -w
+::      Extra... @ Fail run npm install
+
 ::  + Copy the automated dev batch file to root folder
 ::      => Let user define mongo-db directory
 ::  + Start the dev environment
-::  + Exit message and warn user that he can quit the window now
 	
 :: Create The Temporary Directory
 IF EXIST %temp-dir% rmdir %temp-dir% /s /q
@@ -168,6 +174,11 @@ goto:eof
   
   call:install_software_o "node-js" "%%downloads_64[1]%%" msi 12
   call:draw_dss
+  
+  call:get_path_from_user 41 42
+  set "node_js_path=%user_tmp_path%"
+  Call:draw_dss
+  
   call:install_software_o "ruby" "%%downloads_64[2]%%" exe 13
   call:draw_dss
   call:install_software_o "python" "%%downloads_64[3]%%" msi 26
@@ -187,6 +198,11 @@ GOTO END
   
   call:install_software_o "node-js" "%%downloads_32[1]%%" msi 12
   call:draw_dss
+  
+  call:get_path_from_user 41 42
+  set "node_js_path=%user_tmp_path%"
+  Call:draw_dss
+  
   call:install_software_o "ruby" "%%downloads_32[2]%%" exe 13
   call:draw_dss
   call:install_software_o "python" "%%downloads_32[3]%%" msi 26
@@ -246,23 +262,10 @@ goto END
   
   call:draw_dss
     
-  call:user_set_git_repository
-goto:eof
-
-:user_set_git_repository
-  call:get_lw word 32
-  set /p git_repository_path="%word% "
-  call:user_set_git_repository_sc
-goto:eof
-
-:user_set_git_repository_sc
-  if exist "%git_repository_path%" (
-    call:log_lw 33
-    call:draw_dss
-    call:user_set_git_repository
-  )
-  goto git_rep_checkout_auto
-goto:eof
+  call:get_empty_path_from_user 32
+  set "git_repository_path=%user_tmp_path%"
+  
+goto:git_rep_checkout_auto
 
 :git_rep_checkout_auto
   git clone https://github.com/%git_username%/codecombat.git "%git_repository_path%"
@@ -271,6 +274,13 @@ goto:git_repo_configuration
 :git_repo_configuration
   call:log_lw_ss 35
   call:log_lw_sse 36
+  
+  SET "PATH=%PATH%;%node_js_path%" /M
+  setx -m git "%git_exe_path%\bin"
+
+  call:log_lw 40
+  start cmd /k "npm install -g bower brunch nodemon sendwithus & exit"
+  
 goto report_ok
 
 :report_ok
@@ -384,6 +394,28 @@ goto:eof
   )
 goto:eof
 
+:: ===================== USER - INTERACTION - FUNCTIONS ========================
+
+:get_path_from_user
+  call:get_lw word %~1
+  set /p user_tmp_path="%word% "
+  if not exist "%user_tmp_path%" (
+    call:log_lw 43
+    call:draw_dss
+    call:get_path_from_user %~1 %~2
+  )
+goto:eof
+
+:get_empty_path_from_user
+  call:get_lw word %~1
+  set /p user_tmp_path="%word% "
+  if exist "%user_tmp_path%" (
+    call:log_lw 33
+    call:draw_dss
+    call:get_path_from_user %~1
+  )
+goto:eof
+
 :: ============================== FUNCTIONS ====================================
 
 :log
diff --git a/scripts/windows/coco-dev-setup/batch/git-test.bat b/scripts/windows/coco-dev-setup/batch/git-test.bat
index 5d9bb74f7..adee59c3e 100755
--- a/scripts/windows/coco-dev-setup/batch/git-test.bat
+++ b/scripts/windows/coco-dev-setup/batch/git-test.bat
@@ -1,12 +1,50 @@
 @echo off
 setlocal EnableDelayedExpansion
 
-set "git-path=C:\Program Files (x86)\Git"
+::  + Configuraton and installation checklist:
+::      1) cd codecombat
+::      2) npm install -g bower brunch nodemon sendwithus
+::      3) bower install
+::      4) gem install sass
+::      5) npm install
+::      6) brunch -w
+::      Extra... @ Fail run npm install
 
-set "PATH=%PATH%;%git-path%\bin;%git-path%\cmd" /M
+echo "Moving to your git repository..."
+C:
+cd C:\CodeCombat
 
-git clone https://github.com/codecombat/codecombat.git C:\Coco\
+PAUSE
 
-pause
+SET "PATH=%PATH%;C:\Program Files\Nodejs" /M
+setx -m git "C:\Program Files (x86)\Git\bin"
+SET "PATH=%PATH%;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\cmd" /M
+
+PAUSE
+
+echo "Installing bower, brunch, nodemon and sendwithus..."
+start cmd /k "npm install -g bower brunch nodemon sendwithus & exit"
+
+PAUSE
+
+echo "running npm install..."
+start cmd /k "npm install & exit"
+
+PAUSE
+
+echo "Activating bower install..."
+start cmd /k "bower install & PAUSE & exit"
+
+PAUSE
+
+echo "Installing sass via gem..."
+start cmd /k "install sass & PAUSE & exit"
+
+PAUSE
+
+echo "comping repository via brunch..."
+start cmd /k "brunch -w & exit"
+
+PAUSE
 
 endlocal
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/en b/scripts/windows/coco-dev-setup/batch/localisation/en
index 66ef3a3de..ad997ee15 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/en
+++ b/scripts/windows/coco-dev-setup/batch/localisation/en
@@ -37,4 +37,7 @@ Started the configuration of your git repository...
 You need a fork of the official CodeCombat...
 Haven't you done that yet, really...?
 Go over to https://github.com/codecombat/codecombat and do it now!
-Now then... Please enter your github username:
\ No newline at end of file
+Now then... Please enter your github username:
+Installing bower, brunch, nodemon and sendwithus...
+Please enter the full path of the location you installed nodejs to:
+The path you intered is invalid, please try again...
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/fr b/scripts/windows/coco-dev-setup/batch/localisation/fr
index 93ddec958..2b6cb7e7a 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/fr
+++ b/scripts/windows/coco-dev-setup/batch/localisation/fr
@@ -37,4 +37,7 @@ Started the configuration of your git repository...
 You need a fork of the official CodeCombat...
 Haven't you done that yet, really...?
 Go over to https://github.com/codecombat/codecombat and do it now!
-Now then... Please enter your github username:
\ No newline at end of file
+Now then... Please enter your github username:
+Installing bower, brunch, nodemon and sendwithus...
+Please enter the full path of the location you installed nodejs to:
+The path you intered is invalid, please try again...
\ No newline at end of file
diff --git a/scripts/windows/coco-dev-setup/batch/localisation/nl b/scripts/windows/coco-dev-setup/batch/localisation/nl
index 62c3b532d..752864fe7 100755
--- a/scripts/windows/coco-dev-setup/batch/localisation/nl
+++ b/scripts/windows/coco-dev-setup/batch/localisation/nl
@@ -37,4 +37,7 @@ Started the configuration of your git repository...
 You need a fork of the official CodeCombat...
 Haven't you done that yet, really...?
 Go over to https://github.com/codecombat/codecombat and do it now!
-Now then... Please enter your github username:
\ No newline at end of file
+Now then... Please enter your github username:
+Installing bower, brunch, nodemon and sendwithus...
+Please enter the full path of the location you installed nodejs to:
+The path you intered is invalid, please try again...
\ No newline at end of file

From 71d248afefe12084b2cd5a08d14a5e21f2a44996 Mon Sep 17 00:00:00 2001
From: Damien <damien.feugas@gmail.com>
Date: Mon, 17 Mar 2014 23:38:41 +0100
Subject: [PATCH 09/29] Add some french translations

---
 app/locale/fr.coffee | 66 ++++++++++++++++++++++----------------------
 1 file changed, 33 insertions(+), 33 deletions(-)

diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee
index 79061a806..85864b8e2 100644
--- a/app/locale/fr.coffee
+++ b/app/locale/fr.coffee
@@ -217,14 +217,14 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     editor_config: "Config de l'éditeur"
     editor_config_title: "Configuration de l'éditeur"
     editor_config_keybindings_label: "Raccourcis clavier"
-#    editor_config_keybindings_default: "Default (Ace)"
+    editor_config_keybindings_default: "Par défault (Ace)"
     editor_config_keybindings_description: "Ajouter de nouveaux raccourcis connus depuis l'éditeur commun."
-    editor_config_invisibles_label: "Afficher l'invisible"
-#    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_behaviors_label: "Smart Behaviors"
-#    editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
+    editor_config_invisibles_label: "Afficher les caractères non-imprimables"
+    editor_config_invisibles_description: "Permet d'afficher les caractères comme les espaces et les tabulations."
+    editor_config_indentguides_label: "Montrer les indentations"
+    editor_config_indentguides_description: "Affiche des guides verticaux qui permettent de visualiser l'indentation."
+    editor_config_behaviors_label: "Auto-complétion"
+    editor_config_behaviors_description: "Ferme automatiquement les accolades, parenthèses, et chaînes de caractères."
 
   admin:
     av_title: "Vues d'administrateurs"
@@ -249,8 +249,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     contact_us: "contactez nous!"
     hipchat_prefix: "Vous pouvez aussi nous trouver dans notre "
     hipchat_url: "conversation HipChat."
-#    revert: "Revert"
-#    revert_models: "Revert Models"
+    revert: "Annuler"
+    revert_models: "Annuler les modèles"
     level_some_options: "Quelques options?"
     level_tab_thangs: "Thangs"
     level_tab_scripts: "Scripts"
@@ -269,18 +269,18 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     level_components_title: "Retourner à tous les Thangs"
     level_components_type: "Type"
     level_component_edit_title: "Éditer le composant"
-#    level_component_config_schema: "Config Schema"
-#    level_component_settings: "Settings"
+    level_component_config_schema: "Configurer le schéma"
+    level_component_settings: "Options"
     level_system_edit_title: "Éditer le système"
     create_system_title: "Créer un nouveau système"
     new_component_title: "Créer un nouveau composant"
     new_component_field_system: "Système"
-#    new_article_title: "Create a New Article"
-#    new_thang_title: "Create a New Thang Type"
-#    new_level_title: "Create a New Level"
-#    article_search_title: "Search Articles Here"
-#    thang_search_title: "Search Thang Types Here"
-#    level_search_title: "Search Levels Here"
+    new_article_title: "Créer un nouvel article"
+    new_thang_title: "Créer un nouveau Type Thang"
+    new_level_title: "Créer un nouveau niveau"
+    article_search_title: "Rechercher dans les articles"
+    thang_search_title: "Rechercher dans les types Thang"
+    level_search_title: "Rechercher dans les niveaux"
 
   article:
     edit_btn_preview: "Prévisualiser"
@@ -292,27 +292,27 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     body: "Corps"
     version: "Version"
     commit_msg: "Message de mise à jour"
-#    history: "History"
-#    version_history_for: "Version History for: "
-#    result: "Result"
+    history: "Historique"
+    version_history_for: "Historique des versions pour : "
+    result: "Resultat"
     results: "Résultats"
     description: "Description"
     or: "ou"
     email: "Email"
-#    password: "Password"
+    password: "Mot de passe"
     message: "Message"
-#    code: "Code"
-#    ladder: "Ladder"
-#    when: "When"
-#    opponent: "Opponent"
-#    rank: "Rank"
-#    score: "Score"
-#    win: "Win"
-#    loss: "Loss"
-#    tie: "Tie"
-#    easy: "Easy"
-#    medium: "Medium"
-#    hard: "Hard"
+    code: "Code"
+    ladder: "Companion"
+    when: "Lorsuqe"
+    opponent: "Adversaire"
+    rank: "Rang"
+    score: "Score"
+    win: "Victoire"
+    loss: "Défaite"
+    tie: "Ex-aequo"
+    easy: "Facile"
+    medium: "Moyen"
+    hard: "Difficile"
 
   about:
     who_is_codecombat: "Qui est CodeCombat?"

From 65f148974c2b20dc814ddf0fcf97d817b85afd4e Mon Sep 17 00:00:00 2001
From: Damien <damien.feugas@gmail.com>
Date: Mon, 17 Mar 2014 23:39:36 +0100
Subject: [PATCH 10/29] Add to french diplomats list

---
 app/templates/contribute/diplomat.jade | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/templates/contribute/diplomat.jade b/app/templates/contribute/diplomat.jade
index a54cd73c7..02fb26d12 100644
--- a/app/templates/contribute/diplomat.jade
+++ b/app/templates/contribute/diplomat.jade
@@ -77,7 +77,7 @@ block content
           li Greek - Stergios
           li Latin American Spanish - Jesús Ruppel, Matthew Burt, Mariano Luzza
           li Spain Spanish - Matthew Burt, DanielRodriguezRivero, Anon
-          li French - Xeonarno, Elfisen, Armaldio, MartinDelille, pstweb, veritable, jaybi, xavismeh, Anon
+          li French - Xeonarno, Elfisen, Armaldio, MartinDelille, pstweb, veritable, jaybi, xavismeh, Anon, Feugy
           li Hungarian - ferpeter, csuvsaregal, atlantisguru, Anon
           li Japanese - g1itch, kengos
           li Chinese - Adam23, spacepope, yangxuan8282

From b476e6b33344362713e33bd83b997b30ae77dd0c Mon Sep 17 00:00:00 2001
From: Ruben Vereecken <rubenvereecken@gmail.com>
Date: Tue, 18 Mar 2014 10:18:38 +0100
Subject: [PATCH 11/29] Ladder i18n refactoring

---
 app/locale/en.coffee                          | 1 +
 app/locale/nl.coffee                          | 2 ++
 app/templates/play/ladder.jade                | 2 +-
 app/templates/play/ladder/my_matches_tab.jade | 8 ++++++--
 4 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index 37b209b8f..800efe0de 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -82,6 +82,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
     campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
     level_difficulty: "Difficulty: "
     play_as: "Play As "
+    spectate: "Spectate"
 
   contact:
     contact_us: "Contact CodeCombat"
diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee
index aef80d8f9..066a5826b 100644
--- a/app/locale/nl.coffee
+++ b/app/locale/nl.coffee
@@ -81,6 +81,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     campaign_player_created: "Door-spelers-gemaakt"
     campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>."
     level_difficulty: "Moeilijkheidsgraad: "
+    play_as: "Vecht als "
+    spectate: "Schouw toe"
 
   contact:
     contact_us: "Contact opnemen met CodeCombat"
diff --git a/app/templates/play/ladder.jade b/app/templates/play/ladder.jade
index 234804ed6..57952f888 100644
--- a/app/templates/play/ladder.jade
+++ b/app/templates/play/ladder.jade
@@ -21,7 +21,7 @@ block content
       for team in teams
         div.column.col-md-4
           a(style="background-color: #{team.primaryColor}", data-team=team.id).play-button.btn.btn-danger.btn-block.btn-lg
-            span(data-i18n="play.play_as") Play As
+            span(data-i18n="ladder.play_as") Play As
             span= team.name
       div.column.col-md-2
     
diff --git a/app/templates/play/ladder/my_matches_tab.jade b/app/templates/play/ladder/my_matches_tab.jade
index b9cf4d459..86d192e12 100644
--- a/app/templates/play/ladder/my_matches_tab.jade
+++ b/app/templates/play/ladder/my_matches_tab.jade
@@ -50,8 +50,12 @@ div#columns.row
             td.name-cell= match.opponentName || "Anonymous"
             td.time-cell= match.when
             td.battle-cell
-              - var text = match.state === 'win' ? 'Watch your victory' : 'Defeat the ' + team.otherTeam
-              a(href="/play/level/#{levelID}?team=#{team.id}&opponent=#{match.sessionID}")= text
+              a(href="/play/level/#{levelID}?team=#{team.id}&opponent=#{match.sessionID}")
+                if (match.state === 'win')
+                  span(data-i18n="ladder.watch_victory") Watch your victory
+                else
+                  span(data-i18n="ladder.defeat_the") Defeat the
+                  | #{team.otherTeam}
 
         if !team.matches.length
           tr

From 04465eb72cd543f33c17e926255542b600a2d847 Mon Sep 17 00:00:00 2001
From: Ruben Vereecken <rubenvereecken@gmail.com>
Date: Tue, 18 Mar 2014 10:24:58 +0100
Subject: [PATCH 12/29] Wrapped up locale files

---
 app/locale/en.coffee           | 2 ++
 app/locale/nl.coffee           | 2 ++
 app/templates/play/ladder.jade | 2 +-
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index aa1c5cd4a..dd4b18219 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -523,3 +523,5 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
     simple_ai: "Simple AI"
     warmup: "Warmup"
     vs: "VS"
+    watch_victory: "Watch your victory"
+    defeat_the: "Defeat the "
\ No newline at end of file
diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee
index 54f7f0a1f..52f30b064 100644
--- a/app/locale/nl.coffee
+++ b/app/locale/nl.coffee
@@ -521,3 +521,5 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     simple_ai: "Simpele AI"
     warmup: "Opwarming"
     vs: "tegen"
+    watch_victory: "Bekijk overwinning"
+    defeat_the: "Versla de "
diff --git a/app/templates/play/ladder.jade b/app/templates/play/ladder.jade
index 57952f888..234804ed6 100644
--- a/app/templates/play/ladder.jade
+++ b/app/templates/play/ladder.jade
@@ -21,7 +21,7 @@ block content
       for team in teams
         div.column.col-md-4
           a(style="background-color: #{team.primaryColor}", data-team=team.id).play-button.btn.btn-danger.btn-block.btn-lg
-            span(data-i18n="ladder.play_as") Play As
+            span(data-i18n="play.play_as") Play As
             span= team.name
       div.column.col-md-2
     

From f479e71cb9fd4aea23b371eca4855de7dba9e2d6 Mon Sep 17 00:00:00 2001
From: Michael Schmatz <michaelschmatz@gmail.com>
Date: Tue, 18 Mar 2014 14:25:22 -0700
Subject: [PATCH 13/29] Added score skipping for under 30

---
 server/queues/scoring.coffee | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/server/queues/scoring.coffee b/server/queues/scoring.coffee
index c8c8ecc35..b97ede18e 100644
--- a/server/queues/scoring.coffee
+++ b/server/queues/scoring.coffee
@@ -225,6 +225,9 @@ findNearestBetterSessionID = (levelOriginalID, levelMajorVersion, sessionID, ses
       submittedCode:
         $exists: true
       team: opposingTeam
+      
+    if opponentSessionTotalScore < 30
+      queryParameters["totalScore"]["$gt"] = opponentSessionTotalScore + 1
 
     limitNumber = 1
 

From 93ec4f94fc2b7fd14a1d117fe116a8bee3165dcd Mon Sep 17 00:00:00 2001
From: Martin Delille <martin@phonations.com>
Date: Tue, 18 Mar 2014 22:37:10 +0100
Subject: [PATCH 14/29] first translation shot

---
 app/locale/fr.coffee | 70 ++++++++++++++++++++++----------------------
 1 file changed, 35 insertions(+), 35 deletions(-)

diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee
index 79061a806..3323982f1 100644
--- a/app/locale/fr.coffee
+++ b/app/locale/fr.coffee
@@ -507,37 +507,37 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     counselor_title: "Conseiller"
     counselor_title_description: "(Expert/Professeur)"
 
-#  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"
-#    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"
-#    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"
-#    tutorial_play: "Play Tutorial"
-#    tutorial_recommended: "Recommended if you've never played before"
-#    tutorial_skip: "Skip Tutorial"
-#    tutorial_not_sure: "Not sure what's going on?"
-#    tutorial_play_first: "Play the Tutorial first."
-#    simple_ai: "Simple AI"
-#    warmup: "Warmup"
-#    vs: "VS"
+  ladder:
+#    please_login: "Identifie toi avant de jouer à un ladder game."
+    my_matches: "Mes Matchs"
+    simulate: "Simuler"
+    simulation_explanation: "En simulant une partie, tu peux classer ton rang plus rapidement!"
+    simulate_games: "Simuler une Partie!"
+    simulate_all: "REINITIALISER ET SIMULER DES PARTIES"
+    leaderboard: "Classement"
+    battle_as: "Combattre comme "
+    summary_your: "Vos "
+    summary_matches: "Matchs - "
+    summary_wins: " Victoires, "
+    summary_losses: " Défaites"
+    rank_no_code: "Nouveau Code à Classer"
+    rank_my_game: "Classer ma Partie!"
+    rank_submitting: "Soumission en cours..."
+    rank_submitted: "Soumis pour le Classement"
+    rank_failed: "Erreur lors du Classement"
+    rank_being_ranked: "Partie en cours de Classement"
+    code_being_simulated: "Votre nouveau code est en cours de simulation par les autres joueurs pour le classement. Cela va se rafraichir lors que d'autres matchs auront lieu."
+    no_ranked_matches_pre: "Pas de match classé pour l'équipe "
+    no_ranked_matches_post: "! Affronte d'autres compétiteurs et reviens ici pour classer ta partie."
+    choose_opponent: "Choisir un Adversaire"
+    tutorial_play: "Jouer au Tutoriel"
+    tutorial_recommended: "Recommendé si tu n'as jamais joué avant"
+    tutorial_skip: "Passer le Tutoriel"
+    tutorial_not_sure: "Pas sûr de ce qu'il se passe?"
+    tutorial_play_first: "Jouer au Tutoriel d'abord."
+    simple_ai: "IA simple"
+    warmup: "Préchauffe"
+    vs: "VS"
 
 #  multiplayer_launch:
 #    introducing_dungeon_arena: "Introducing Dungeon Arena"
@@ -548,7 +548,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
 #    ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even"
 #    fork_our_arenas: "fork our arenas"
 #    create_worlds: "and create your own worlds."
-#    javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
-#    tutorial: "tutorial"
-#    new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
-#    so_ready: "I Am So Ready for This"
+    javascript_rusty: "JavaScript un peu rouillé? Pas de souci; il y a un"
+    tutorial: "tutoriel"
+    new_to_programming: ". Débutant en programmation? Essaie la campagne débutant pour progresser."
+    so_ready: "Je Suis Prêt Pour Ca"

From bfac03a73cf01097de1fb2802419fee53b4c91f3 Mon Sep 17 00:00:00 2001
From: iulianR <iulian.radu67@gmail.com>
Date: Wed, 19 Mar 2014 00:49:06 +0200
Subject: [PATCH 15/29] Rearranged play_view.cofee for consistency

---
 app/views/play_view.coffee | 46 +++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 23 deletions(-)

diff --git a/app/views/play_view.coffee b/app/views/play_view.coffee
index 123fc6fac..6ca2df50f 100644
--- a/app/views/play_view.coffee
+++ b/app/views/play_view.coffee
@@ -12,72 +12,72 @@ module.exports = class PlayView extends View
     tutorials = [
       {
         name: 'Rescue Mission'
-        id: 'rescue-mission'
-        description: "Tharin has been captured!"
-        image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png'
         difficulty: 1
+        id: 'rescue-mission'
+        image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png'
+        description: "Tharin has been captured!"
       }
       {
         name: 'Grab the Mushroom'
         difficulty: 1
-        image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png'
         id: 'grab-the-mushroom'
+        image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png'
         description: "Grab a powerup and smash a big ogre."
       }
       {
         name: 'Drink Me'
         difficulty: 1
-        image: '/file/db/level/525dc5589a0765e496000006/drink_me_icon.png'
         id: 'drink-me'
+        image: '/file/db/level/525dc5589a0765e496000006/drink_me_icon.png'
         description: "Drink up and slay two munchkins."
       }
       {
         name: 'Taunt the Guards'
         difficulty: 1
-        image: '/file/db/level/5276c9bdcf83207a2801ff8f/taunt_icon.png'
         id: 'taunt-the-guards'
+        image: '/file/db/level/5276c9bdcf83207a2801ff8f/taunt_icon.png'
         description: "Tharin, if clever, can escape with Phoebe."
       }
       {
         name: "It's a Trap"
         difficulty: 1
-        image: '/file/db/level/528aea2d7f37fc4e0700016b/its_a_trap_icon.png'
         id: 'its-a-trap'
+        image: '/file/db/level/528aea2d7f37fc4e0700016b/its_a_trap_icon.png'
         description: "Organize a dungeon ambush with archers."
       }
       {
         name: 'Break the Prison'
         difficulty: 1
-        image: '/file/db/level/5275272c69abdcb12401216e/break_the_prison_icon.png'
         id: 'break-the-prison'
+        image: '/file/db/level/5275272c69abdcb12401216e/break_the_prison_icon.png'
         description: "More comrades are imprisoned!"
       }
       {
         name: 'Taunt'
         difficulty: 1
-        image: '/file/db/level/525f150306e1ab0962000018/taunt_icon.png'
         id: 'taunt'
+        image: '/file/db/level/525f150306e1ab0962000018/taunt_icon.png'
         description: "Taunt the ogre to claim victory."
       }
       {
         name: 'Cowardly Taunt'
         difficulty: 1
-        image: '/file/db/level/525abfd9b12777d78e000009/cowardly_taunt_icon.png'
         id: 'cowardly-taunt'
+        image: '/file/db/level/525abfd9b12777d78e000009/cowardly_taunt_icon.png'
         description: "Lure infuriated ogres to their doom."
       }
       {
         name: 'Commanding Followers'
         difficulty: 1
-        image: '/file/db/level/525ef8ef06e1ab0962000003/commanding_followers_icon.png'
         id: 'commanding-followers'
+        image: '/file/db/level/525ef8ef06e1ab0962000003/commanding_followers_icon.png'
         description: "Lead allied soldiers into battle."
       }
       {
         name: 'Mobile Artillery'
         difficulty: 1
-        image: '/file/db/level/525085419851b83f4b000001/mobile_artillery_icon.png'
         id: 'mobile-artillery'
+        image: '/file/db/level/525085419851b83f4b000001/mobile_artillery_icon.png'
         description: "Blow ogres up!"
       }
     ]
@@ -85,38 +85,38 @@ module.exports = class PlayView extends View
     experienced = [
       {
         name: 'Hunter Triplets'
-        id: 'hunter-triplets'
-        description: "Three soldiers go ogre hunting."
-        image: '/file/db/level/526711d9add4f8965f000002/hunter_triplets_icon.png'
         difficulty: 2
+        id: 'hunter-triplets'
+        image: '/file/db/level/526711d9add4f8965f000002/hunter_triplets_icon.png'
+        description: "Three soldiers go ogre hunting."
       }
       {
         name: 'Emphasis on Aim'
         difficulty: 2
-        image: '/file/db/level/525f384d96cd77000000000f/munchkin_masher_icon.png'
         id: 'emphasis-on-aim'
+        image: '/file/db/level/525f384d96cd77000000000f/munchkin_masher_icon.png'
         description: "Chose your targets carefully."
       }
       {
         name: 'Zone of Danger'
-        id: 'zone-of-danger'
-        description: "Target the ogres swarming into arrow range."
-        image: '/file/db/level/526ae95c1e5cd30000000008/zone_of_danger_icon.png'
         difficulty: 3
+        id: 'zone-of-danger'
+        image: '/file/db/level/526ae95c1e5cd30000000008/zone_of_danger_icon.png'
+        description: "Target the ogres swarming into arrow range."
       }
       {
         name: 'Molotov Medic'
         difficulty: 2
-        image: '/file/db/level/52602ecb026e8481e7000001/generic_1.png'
         id: 'molotov-medic'
+        image: '/file/db/level/52602ecb026e8481e7000001/generic_1.png'
         description: "Tharin must play support in this dungeon battle."
       }
       {
         name: 'Gridmancer'
-        id: 'gridmancer'
-        description: "Challenge! Beat this level, get a job!"
-        image: '/file/db/level/52ae2460ef42c52f13000008/gridmancer_icon.png'
         difficulty: 5
+        id: 'gridmancer'
+        image: '/file/db/level/52ae2460ef42c52f13000008/gridmancer_icon.png'
+        description: "Challenge! Beat this level, get a job!"
       }
     ]
 

From 8735ed20d4d74afcfbb0a66af28e2cd9a4e8e170 Mon Sep 17 00:00:00 2001
From: iulianR <iulian.radu67@gmail.com>
Date: Wed, 19 Mar 2014 02:06:02 +0200
Subject: [PATCH 16/29] Updated ro.coffee

---
 app/locale/ro.coffee | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee
index dc105c4ca..7d6af23f2 100644
--- a/app/locale/ro.coffee
+++ b/app/locale/ro.coffee
@@ -10,7 +10,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     delay_5_sec: "5 secunde"
     manual: "Manual"
     fork: "Fork"
-    play: "Joaca"
+    play: "Joacă"
 
   modal:
     close: "Inchide"
@@ -54,18 +54,18 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
   signup:
     create_account_title: "Crează cont pentru a salva progresul"
     description: "Este gratis. Doar un scurt formular inainte si poți continua:"
-    email_announcements: "Primește notificări prin emaill"
+    email_announcements: "Primește notificări prin email"
     coppa: "13+ sau non-USA "
     coppa_why: "(De ce?)"
-    creating: "Se crează contul..."
+    creating: "Se creează contul..."
     sign_up: "Înscrie-te"
     log_in: "loghează-te cu parola"
 
   home:
-    slogan: "Învață sa scri JavaScript jucându-te"
+    slogan: "Învață sa scrii JavaScript jucându-te"
     no_ie: "CodeCombat nu merge pe Internet Explorer 9 sau mai vechi. Scuze!"
-    no_mobile: "CodeCombat nu a fost proiectat pentru dispozitive mobile si s-ar putea sa nu meargâ!"
-    play: "Joacâ"
+    no_mobile: "CodeCombat nu a fost proiectat pentru dispozitive mobile si s-ar putea sa nu meargă!"
+    play: "Joacă"
 #    old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
 #    old_browser_suffix: "You can try anyway, but it probably won't work."
 #    campaign: "Campaign"
@@ -102,9 +102,9 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     send: "Trimite Feedback"
 
   diplomat_suggestion:
-    title: "Ajută-ne  să traducem CodeCombat!"
+    title: "Ajută-ne să traducem CodeCombat!"
     sub_heading: "Avem nevoie de abilitățile tale lingvistice."
-    pitch_body: "CodeCombat este dezvoltat in limba engleza , dar deja avem jucatări din toate colțurile lumii.Mulți dintre ei vor să joace in română și nu vorbesc engleză.Dacă poți vorbi ambele te rugăm să te gândești dacă ai dori să devi un Diplomat și să ne ajuți sa traducem atât jocul cât și site-ul."
+    pitch_body: "CodeCombat este dezvoltat in limba engleza , dar deja avem jucatări din toate colțurile lumii. Mulți dintre ei vor să joace in română și nu vorbesc engleză. Dacă poți vorbi ambele te rugăm să te gândești dacă ai dori să devi un Diplomat și să ne ajuți sa traducem atât jocul cât și site-ul."
     missing_translations: "Until we can translate everything into Romanian, you'll see English when Romanian isn't available."
     learn_more: "Află mai multe despre cum să fi un Diplomat"
     subscribe_as_diplomat: "Înscrie-te ca Diplomat"
@@ -179,7 +179,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     goals: "Obiective"
     action_timeline: "Timeline-ul acțiunii"
     click_to_select: "Apasă pe o unitate pentru a o selecta."
-    reload_title: "Reîncarcă tot Codul?"
+    reload_title: "Reîncarcă tot codul?"
     reload_really: "Ești sigur că vrei să reîncarci nivelul de la început?"
     reload_confirm: "Reload All"
     victory_title_prefix: ""
@@ -238,11 +238,11 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
 
   editor:
     main_title: "Editori CodeCombat"
-    main_description: "Construiește propriile nivele,campanii,unități și conținut educațional.Noi îți furnizăm toate uneltele necesare!"
+    main_description: "Construiește propriile nivele, campanii, unități și conținut educațional. Noi îți furnizăm toate uneltele necesare!"
     article_title: "Editor Articol"
     article_description: "Scrie articole care oferă jucătorilor cunoștințe despre conceptele de programare care pot fi folosite pe o varietate de nivele și campanii."
     thang_title: "Editor Thang"
-    thang_description: "Construiește unități ,definește logica lor,grafica și sunetul.Momentan suportă numai importare de grafică vectorială exportată din Flash."
+    thang_description: "Construiește unități, definește logica lor, grafica și sunetul. Momentan suportă numai importare de grafică vectorială exportată din Flash."
     level_title: "Editor Nivele"
     level_description: "Include uneltele pentru scriptare, upload audio, și construcție de logică costum pentru toate tipurile de nivele.Tot ce folosim noi înșine!"
     security_notice: "Multe setări majore de securitate în aceste editoare nu sunt momentan disponibile.Pe măsură ce îmbunătățim securitatea acestor sisteme, ele vor deveni disponibile. Dacă doriți să folosiți aceste setări mai devrme, "
@@ -357,7 +357,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     cost_title: "Cost"
     cost_description: "Momentan, CodeCombat este 100% gratis! Unul dintre obiectele noastre principale este să îl menținem așa, astfel încât să poată juca cât mai mulți oameni. Dacă va fi nevoie , s-ar putea să percepem o plată pentru o pentru anumite servici,dar am prefera să nu o facem. Cu puțin noroc, vom putea susține compania cu:"
     recruitment_title: "Recrutare"
-    recruitment_description_prefix: "Aici la CodeCombat, vei deveni un vrăjitor puternic nu doar în joc , ci și în viața reală."
+    recruitment_description_prefix: "Aici la CodeCombat, vei deveni un vrăjitor puternic nu doar în joc, ci și în viața reală."
     url_hire_programmers: "Nimeni nu poate angaja programatori destul de rapid"
     recruitment_description_suffix: "așa că odată ce ți-ai dezvoltat abilitățile și esti de acord, noi vom trimite un demo cu cele mai bune realizări ale tale către miile de angajatori care se omoară să pună mâna pe tine. Pe noi ne plătesc puțin, pe tine te vor plăti"
     recruitment_description_italic: "mult"
@@ -392,7 +392,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     rights_description: "Descriere"
     rights_writings: "Scrieri"
     rights_media: "Media (sunete, muzică) și orice alt conținut creativ dezvoltat special pentru acel nivel care nu este valabil în mod normal pentru creat nivele."
-    rights_clarification: "Pentru a clarifica, orice este valabil in Editorul de Nivele pentru scopul de a crea nivele se află sub CC,pe când conținutul creat cu Editorul de Nivele sau încărcat pentru a face nivelul nu se află."
+    rights_clarification: "Pentru a clarifica, orice este valabil in Editorul de Nivele pentru scopul de a crea nivele se află sub CC, pe când conținutul creat cu Editorul de Nivele sau încărcat pentru a face nivelul nu se află."
     nutshell_title: "Pe scurt"
     nutshell_description: "Orice resurse vă punem la dispoziție în Editorul de Nivele puteți folosi liber cum vreți pentru a crea nivele. Dar ne rezervăm dreptul de a rezerva distribuția de nivele în sine (care sunt create pe codecombat.com) astfel încât să se poată percepe o taxă pentru ele pe vitor, dacă se va ajunge la așa ceva."
     canonical: "Versiunea in engleză a acestui document este cea definitivă, versiunea canonică. Dacă există orice discrepanțe între traduceri, documentul in engleză are prioritate."
@@ -410,8 +410,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     alert_account_message_pref: "Pentru a te abona la email-uri de clasă, va trebui să "
     alert_account_message_suf: "mai întâi."
     alert_account_message_create_url: "creați un cont"
-    archmage_summary: "Interesat să lucrezi la grafica jocului, interfața grafică cu utilizatorul, baze de date și organizare server , multiplayer networking, fizică, sunet, sau performanțe game engine ? Vrei să ajuți la construirea unui joc pentru a învăța pe alții ceea ce te pricepi? Avem o grămadă de făcut dacă ești un programator experimentat și vrei sa dezvolți pentru CodeCombat, această clasă este pentru tine. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
-    archmage_introduction: "Una dintre cele mai bune părți despre construirea unui joc este că sintetizează atât de multe lucruri diferite. Grafică, sunet, networking în timp real, social networking, și desigur multe dintre aspectele comune ale programării, de la gestiune low-level a bazelor de date , și administrare server până la construirea de interfețe. Este mult de muncă, și dacă ești un programator cu experiență, cu un dor de a se arunca cu capul înainte îm CodeCombat, această clasă ți se potrivește. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
+    archmage_summary: "Interesat să lucrezi la grafica jocului, interfața grafică cu utilizatorul, baze de date și organizare server, multiplayer networking, fizică, sunet, sau performanțe game engine? Vrei să ajuți la construirea unui joc pentru a învăța pe alții ceea ce te pricepi? Avem o grămadă de făcut dacă ești un programator experimentat și vrei sa dezvolți pentru CodeCombat, această clasă este pentru tine. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
+    archmage_introduction: "Una dintre cele mai bune părți despre construirea unui joc este că sintetizează atât de multe lucruri diferite. Grafică, sunet, networking în timp real, social networking, și desigur multe dintre aspectele comune ale programării, de la gestiune low-level a bazelor de date, și administrare server până la construirea de interfețe. Este mult de muncă, și dacă ești un programator cu experiență, cu un dor de a se arunca cu capul înainte îm CodeCombat, această clasă ți se potrivește. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
     class_attributes: "Atribute pe clase"
     archmage_attribute_1_pref: "Cunoștințe în "
     archmage_attribute_1_suf: ", sau o dorință de a învăța. Majoritatea codului este în acest limbaj. Dacă ești fan Ruby sau Python, te vei simți ca acasă. Este JavaScript, dar cu o sintaxă mai frumoasă."
@@ -432,7 +432,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     artisan_attribute_1: "Orice experiență în crearea de conținut ca acesta ar fi de preferat, precum folosirea editoarelor de nivele de la Blizzard. Dar nu este obligatoriu!"
     artisan_attribute_2: "Un chef de a face o mulțime de teste și iterări. Pentru a face nivele bune, trebuie să testați pe mai mulți oameni și să obțineți feedback, și să fiți pregăți să reparați o mulțime de lucruri."
     artisan_attribute_3: "Pentru moment trebui să ai nervi de oțel. Editorul nostru de nivele este abia la început și încă are multe probleme. Ai fost avertizat!"
-    artisan_join_desc: "Folosiți editorul de nivele urmărind acești pași , mai mult sau mai puțin:"
+    artisan_join_desc: "Folosiți editorul de nivele urmărind acești pași, mai mult sau mai puțin:"
     artisan_join_step1: "Citește documentația."
     artisan_join_step2: "Crează un nivel nou și explorează nivelele deja existente."
     artisan_join_step3: "Găsește-ne pe chatul nostru de Hipchat pentru ajutor."
@@ -551,4 +551,4 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
 #    javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
 #    tutorial: "tutorial"
 #    new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
-#    so_ready: "I Am So Ready for This"
+#    so_ready: "I Am So Ready for This"
\ No newline at end of file

From 5dc89529ca0727450003281837e765fef7803da8 Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Wed, 19 Mar 2014 02:10:58 +0100
Subject: [PATCH 17/29] Described myself.

---
 app/templates/about.jade | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/app/templates/about.jade b/app/templates/about.jade
index 848275412..3fc999ba5 100644
--- a/app/templates/about.jade
+++ b/app/templates/about.jade
@@ -160,6 +160,9 @@ block content
             h3 Glen De Cauwsemaecker
     
             p(data-i18n="about.glen_description")
-              | Glen, describe thyself!
+              | Programmer and passionate game developer,
+              | with the motivation to make this world a btter place,
+              | by developing things that mather. The word impossible can't
+              | be found in his dictionary. Learnings new skills is his joy!
 
 

From eab52f45e5efbd2f19af47b1f6767c249874bd1a Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Wed, 19 Mar 2014 02:21:45 +0100
Subject: [PATCH 18/29] Applied proofread of Julian.

---
 app/templates/about.jade | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/templates/about.jade b/app/templates/about.jade
index 3fc999ba5..869d5331e 100644
--- a/app/templates/about.jade
+++ b/app/templates/about.jade
@@ -161,8 +161,8 @@ block content
     
             p(data-i18n="about.glen_description")
               | Programmer and passionate game developer,
-              | with the motivation to make this world a btter place,
+              | with the motivation to make this world a better place,
               | by developing things that mather. The word impossible can't
-              | be found in his dictionary. Learnings new skills is his joy!
+              | be found in his dictionary. Learning new skills is his joy!
 
 

From a9fc1cb35a324723b135b4256013e95b84d07b6b Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Wed, 19 Mar 2014 02:34:23 +0100
Subject: [PATCH 19/29] Added a newline

---
 app/locale/ro.coffee | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee
index 7d6af23f2..946f5f703 100644
--- a/app/locale/ro.coffee
+++ b/app/locale/ro.coffee
@@ -551,4 +551,4 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
 #    javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
 #    tutorial: "tutorial"
 #    new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
-#    so_ready: "I Am So Ready for This"
\ No newline at end of file
+#    so_ready: "I Am So Ready for This"

From a523d74b2d7bef853ff92bad87b39b4c2cdedad1 Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Wed, 19 Mar 2014 02:47:25 +0100
Subject: [PATCH 20/29] Added the glen_description i18n tag to all languages.

---
 app/locale/ar.coffee      | 1 +
 app/locale/bg.coffee      | 1 +
 app/locale/cs.coffee      | 1 +
 app/locale/da.coffee      | 1 +
 app/locale/de.coffee      | 1 +
 app/locale/el.coffee      | 1 +
 app/locale/en-AU.coffee   | 1 +
 app/locale/en-GB.coffee   | 1 +
 app/locale/en-US.coffee   | 1 +
 app/locale/en.coffee      | 2 +-
 app/locale/es-419.coffee  | 1 +
 app/locale/es-ES.coffee   | 1 +
 app/locale/es.coffee      | 1 +
 app/locale/fa.coffee      | 1 +
 app/locale/fi.coffee      | 1 +
 app/locale/fr.coffee      | 1 +
 app/locale/he.coffee      | 1 +
 app/locale/hi.coffee      | 1 +
 app/locale/hu.coffee      | 1 +
 app/locale/id.coffee      | 1 +
 app/locale/it.coffee      | 1 +
 app/locale/ja.coffee      | 1 +
 app/locale/ko.coffee      | 1 +
 app/locale/lt.coffee      | 1 +
 app/locale/ms-BA.coffee   | 1 +
 app/locale/nb.coffee      | 1 +
 app/locale/nl.coffee      | 1 +
 app/locale/nn.coffee      | 1 +
 app/locale/no.coffee      | 1 +
 app/locale/pl.coffee      | 1 +
 app/locale/pt-BR.coffee   | 1 +
 app/locale/pt-PT.coffee   | 1 +
 app/locale/pt.coffee      | 1 +
 app/locale/ro.coffee      | 1 +
 app/locale/ru.coffee      | 1 +
 app/locale/sk.coffee      | 1 +
 app/locale/sl.coffee      | 1 +
 app/locale/sr.coffee      | 1 +
 app/locale/sv.coffee      | 1 +
 app/locale/th.coffee      | 1 +
 app/locale/tr.coffee      | 1 +
 app/locale/uk.coffee      | 1 +
 app/locale/ur.coffee      | 1 +
 app/locale/vi.coffee      | 1 +
 app/locale/zh-HANS.coffee | 1 +
 app/locale/zh-HANT.coffee | 1 +
 app/locale/zh.coffee      | 1 +
 47 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee
index c475a3616..a60615c42 100644
--- a/app/locale/ar.coffee
+++ b/app/locale/ar.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee
index b437e563b..4c738a135 100644
--- a/app/locale/bg.coffee
+++ b/app/locale/bg.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "български език", englishDescri
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee
index 19e9675d7..8d553c2aa 100644
--- a/app/locale/cs.coffee
+++ b/app/locale/cs.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
     nick_description: "Programátorský kouzelník, excentrický motivační mág i experimentátor. Nick by mohl dělat de-facto cokoliv, ale zvolil si vytvořit CodeCombat."
     jeremy_description: "Mistr zákaznické podpory, tester použitelnosti a organizátor komunity. Je velmi pravděpodobné, že jste si spolu již psali."
     michael_description: "Programátor, systémový administrátor a král podsvětí technického zázemí. Michael udržuje naše servery online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Licence"
diff --git a/app/locale/da.coffee b/app/locale/da.coffee
index cf28388d2..18a0d4789 100644
--- a/app/locale/da.coffee
+++ b/app/locale/da.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/de.coffee b/app/locale/de.coffee
index d8a275be7..8b453fa9f 100644
--- a/app/locale/de.coffee
+++ b/app/locale/de.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
     nick_description: "Programmierzauberer, exzentrischer Motivationskünstler und  Auf-den-Kopf-stell-Experimentierer. Nick könnte alles mögliche tun und entschied CodeCombat zu bauen."
     jeremy_description: "Kundendienstmagier, Usability Tester und Community-Organisator. Wahrscheinlich hast du schon mit Jeremy gesprochen."
     michael_description: "Programmierer, Systemadministrator und studentisch technisches Wunderkind, Michael hält unsere Server am Laufen."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Rechtliches"
diff --git a/app/locale/el.coffee b/app/locale/el.coffee
index bf8d73aab..7c91855b4 100644
--- a/app/locale/el.coffee
+++ b/app/locale/el.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee
index b023461e2..f0ad0358c 100644
--- a/app/locale/en-AU.coffee
+++ b/app/locale/en-AU.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee
index b22a3fb3f..6663c67b2 100644
--- a/app/locale/en-GB.coffee
+++ b/app/locale/en-GB.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee
index f0d48a618..46e814c15 100644
--- a/app/locale/en-US.coffee
+++ b/app/locale/en-US.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index b0527c58c..7001db590 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -350,7 +350,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
     nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
     jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
     michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
-    glen_description: "Glen, describe thyself!"
+    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Legal"
diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee
index 21ee55bfb..42e6f5714 100644
--- a/app/locale/es-419.coffee
+++ b/app/locale/es-419.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee
index f4088723e..1b6c2f4bd 100644
--- a/app/locale/es-ES.coffee
+++ b/app/locale/es-ES.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
     nick_description: "Mago de la programación, hechicero excéntrico de la motivación y experimentador del revés. Nick pudo haber hecho cualquier cosa y eligió desarrollar CodeCombat."
     jeremy_description: "Mago de la atención al cliente, tester de usabilidad y organizador de la comunidad; es probable que ya hayas hablado con Jeremy."
     michael_description: "Programador, administrador de sistemas y prodigio técnico, Michael es el encargado de mantener nuestros servidores en línea."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Legal"
diff --git a/app/locale/es.coffee b/app/locale/es.coffee
index f9b4dd2d1..cf32e9db3 100644
--- a/app/locale/es.coffee
+++ b/app/locale/es.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee
index 9c411e13f..a5f9ad1fc 100644
--- a/app/locale/fa.coffee
+++ b/app/locale/fa.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee
index 9eb38128c..b839a8965 100644
--- a/app/locale/fi.coffee
+++ b/app/locale/fi.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee
index 85864b8e2..a4de5615f 100644
--- a/app/locale/fr.coffee
+++ b/app/locale/fr.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
     nick_description: "Assistant programmeur, mage à la motivation excentrique, et bidouilleur de l'extrême. Nick peut faire n'importe quoi mais il a choisi CodeCombat."
     jeremy_description: "Mage de l'assistance client, testeur de maniabilité, et community manager; vous avez probablement déjà parlé avec Jeremy."
     michael_description: "Programmeur, administrateur réseau, et l'enfant prodige du premier cycle, Michael est la personne qui maintient nos serveurs en ligne."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Légal"
diff --git a/app/locale/he.coffee b/app/locale/he.coffee
index 9d20257c5..2ae178ef2 100644
--- a/app/locale/he.coffee
+++ b/app/locale/he.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee
index e3d4e91b6..13df8c201 100644
--- a/app/locale/hi.coffee
+++ b/app/locale/hi.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee
index 46ba51598..35f3584a4 100644
--- a/app/locale/hu.coffee
+++ b/app/locale/hu.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/id.coffee b/app/locale/id.coffee
index 97e73561b..8799a1ec1 100644
--- a/app/locale/id.coffee
+++ b/app/locale/id.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/it.coffee b/app/locale/it.coffee
index 4b537cdcc..5d2c14f17 100644
--- a/app/locale/it.coffee
+++ b/app/locale/it.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Questioni legali"
diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee
index bba1de5b5..ba6a21dd5 100644
--- a/app/locale/ja.coffee
+++ b/app/locale/ja.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee
index 00330a1db..ce567d414 100644
--- a/app/locale/ko.coffee
+++ b/app/locale/ko.coffee
@@ -336,6 +336,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
     nick_description: "프로그래밍 마법사, 별난 자극의 마술사, 거꾸로 생각하는것을 좋아하는 실험가. Nick은 뭐든지 할수있는 남자입니다. 그 뭐든지 중에 코드 컴뱃을 선택했죠. "
     jeremy_description: "고객 지원 마법사, 사용성 테스터, 커뮤니티 오거나이저; 당신은 아마 이미 Jeremy랑 이야기 했을거에요."
     michael_description: "프로그래머, 시스템 관리자, 기술 신동(대학생이래요),Michael 은 우리 서버를 계속 무결점상태로 유지시켜주는 사람입니다."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee
index 94281b912..42d5d7dd0 100644
--- a/app/locale/lt.coffee
+++ b/app/locale/lt.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/ms-BA.coffee b/app/locale/ms-BA.coffee
index 4f3d39669..9855cb92a 100644
--- a/app/locale/ms-BA.coffee
+++ b/app/locale/ms-BA.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee
index 463c4e080..2e4fd394a 100644
--- a/app/locale/nb.coffee
+++ b/app/locale/nb.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee
index c33793099..20065952c 100644
--- a/app/locale/nl.coffee
+++ b/app/locale/nl.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen."
     jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy."
     michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Legaal"
diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee
index d4a8a1c6f..7a0fced5c 100644
--- a/app/locale/nn.coffee
+++ b/app/locale/nn.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/no.coffee b/app/locale/no.coffee
index b10046d73..b1df6cf90 100644
--- a/app/locale/no.coffee
+++ b/app/locale/no.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee
index 40335dc6d..9b6be828c 100644
--- a/app/locale/pl.coffee
+++ b/app/locale/pl.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
     nick_description: "Programistyczny czarownik, ekscentryczny magik i eksperymentator pełną gębą. Nich może robić cokolwiek, a decyduje się pracować przy CodeCombat."
     jeremy_description: "Magik od kontaktów z klientami, tester użyteczności i organizator społeczności; prawdopodobnie już rozmawiałeś z Jeremym."
     michael_description: "Programista, sys-admin, cudowne dziecko studiów technicznych, Michael to osoba utrzymująca nase serwery online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Nota prawna"
diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee
index b7067da3b..3f58c9a26 100644
--- a/app/locale/pt-BR.coffee
+++ b/app/locale/pt-BR.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
     nick_description: "Mago da programação, feiticeiro da motivação excêntrica e experimentador doido. Nick pode fazer qualquer coisa e escolheu desenvolver o CodeCombat."
     jeremy_description: "Mago em suporte ao consumidor, testador de usabilidade, e organizador da comunidade; você provavelmente já falou com o Jeremy."
     michael_description: "Programador, administrador de sistemas, e um técnico prodígio não graduado, Michael é a pessoa que mantém os servidores funcionando."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Jurídico"
diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee
index d414668f2..87aede2aa 100644
--- a/app/locale/pt-PT.coffee
+++ b/app/locale/pt-PT.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee
index d0aa54b76..feb67d479 100644
--- a/app/locale/pt.coffee
+++ b/app/locale/pt.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee
index 946f5f703..bfe319854 100644
--- a/app/locale/ro.coffee
+++ b/app/locale/ro.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
     nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick poate să facă orice si a ales să dezvolte CodeCombat."
     jeremy_description: "Customer support mage, usability tester, and community organizer; probabil ca ați vorbit deja cu Jeremy."
     michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael este cel care ține serverele in picioare."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Aspecte Legale"
diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee
index dc779bb1f..b503350f8 100644
--- a/app/locale/ru.coffee
+++ b/app/locale/ru.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
     nick_description: "Маг программирования, эксцентрично мотивированный волшебник, и экспериментатор вверх ногами. Ник может делать всё и хочет построить CodeCombat."
     jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми."
     michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы онлайн."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Юридическая информация"
diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee
index faee2435c..72229679f 100644
--- a/app/locale/sk.coffee
+++ b/app/locale/sk.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee
index 90998b1cb..89adb77ce 100644
--- a/app/locale/sl.coffee
+++ b/app/locale/sl.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee
index b93dcb02e..acb613416 100644
--- a/app/locale/sr.coffee
+++ b/app/locale/sr.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee
index 25b06bafb..63eb00b46 100644
--- a/app/locale/sv.coffee
+++ b/app/locale/sv.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/th.coffee b/app/locale/th.coffee
index c0d2b7df6..42f447444 100644
--- a/app/locale/th.coffee
+++ b/app/locale/th.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee
index fa2746e4e..36f8f3b50 100644
--- a/app/locale/tr.coffee
+++ b/app/locale/tr.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
     nick_description: "Programlama sihirbazı, tuhaf motivasyon büyücü ve tersine mühendis. Nick her şeyden anlar ve şu anda CodeCombat'i inşa etmekle meşgul."
     jeremy_description: "Müşteri hizmetleri büyücüsü, kullanılabilirlik test edicisi ve topluluk örgütleyici; muhtemelen Jeremy ile konuşmuşluğunuz vardır."
     michael_description: "Programcı, sistem yöneticisi, halihazırda üniversite okuyan teknik-harika-çocuk. Michael sunucularımızı ayakta tutan adamın ta kendisi."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Hukuki"
diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee
index 39e5da8b9..5fb4da5cd 100644
--- a/app/locale/uk.coffee
+++ b/app/locale/uk.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Юридичні нотатки"
diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee
index 9fac46d84..19c90913f 100644
--- a/app/locale/ur.coffee
+++ b/app/locale/ur.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee
index a4aef3d86..79c3e02da 100644
--- a/app/locale/vi.coffee
+++ b/app/locale/vi.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee
index 3ca66c33b..cdbe10a04 100644
--- a/app/locale/zh-HANS.coffee
+++ b/app/locale/zh-HANS.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "法律"
diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee
index 4e3324f7b..e9c619244 100644
--- a/app/locale/zh-HANT.coffee
+++ b/app/locale/zh-HANT.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee
index d84cf31ae..97df3ea31 100644
--- a/app/locale/zh.coffee
+++ b/app/locale/zh.coffee
@@ -335,6 +335,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"

From 91ff1bd4c619994ff9376dd2736b7fcdddee7a82 Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Wed, 19 Mar 2014 02:49:55 +0100
Subject: [PATCH 21/29] Translated glen_description in dutch (Nederlands).

---
 app/locale/nl.coffee | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee
index 20065952c..61f1cdede 100644
--- a/app/locale/nl.coffee
+++ b/app/locale/nl.coffee
@@ -335,7 +335,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen."
     jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy."
     michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt."
-#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
+    glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!"
 
   legal:
     page_title: "Legaal"

From c98ee7314aac03a082f1fd2517616fc73085021d Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Wed, 19 Mar 2014 03:24:16 +0100
Subject: [PATCH 22/29] Applied Vietnamese translations made by Nguyen Thi
 Thien An via email.

---
 app/locale/vi.coffee | 206 +++++++++++++++++++++----------------------
 1 file changed, 103 insertions(+), 103 deletions(-)

diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee
index 79c3e02da..f9dc8839b 100644
--- a/app/locale/vi.coffee
+++ b/app/locale/vi.coffee
@@ -3,14 +3,14 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
     loading: "Tải..."
     saving: "Lưu..."
     sending: "Gởi..."
-#    cancel: "Cancel"
-#    save: "Save"
+    cancel: "Hủy"
+    save: "Lưu"
 #    delay_1_sec: "1 second"
 #    delay_3_sec: "3 seconds"
 #    delay_5_sec: "5 seconds"
 #    manual: "Manual"
 #    fork: "Fork"
-#    play: "Play"
+    play: "Các cấp độ"
 
   modal:
     close: "Đóng"
@@ -19,53 +19,53 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
   not_found:
     page_not_found: "không tìm thấy trang"
 
-#  nav:
-#    play: "Levels"
-#    editor: "Editor"
+  nav:
+    play: "Các cấp độ"
+    editor: "Chỉnh sửa"
 #    blog: "Blog"
-#    forum: "Forum"
-#    admin: "Admin"
-#    home: "Home"
-#    contribute: "Contribute"
-#    legal: "Legal"
-#    about: "About"
-#    contact: "Contact"
-#    twitter_follow: "Follow"
-#    employers: "Employers"
+    forum: "Diễn đàn"
+    admin: "Quản trị viên"
+    home: "Nhà"
+    contribute: "Contribute"
+    legal: "Hợp pháp"
+    about: "Về"
+    contact: "Liên hệ"
+    twitter_follow: "Đi theo"
+    employers: "Người tuyển việc"
 
-#  versions:
-#    save_version_title: "Save New Version"
-#    new_major_version: "New Major Version"
-#    cla_prefix: "To save changes, first you must agree to our"
+  versions:
+    save_version_title: "Lưu Phiên bản Mới"
+    new_major_version: "Phiên bản chính mới"
+    cla_prefix: "Để lưu thay đổi, bạn phải chấp thuận với chúng tôi trước"
 #    cla_url: "CLA"
 #    cla_suffix: "."
-#    cla_agree: "I AGREE"
+    cla_agree: "TÔI ĐỒNG Ý"
 
   login:
     sign_up: "Tạo tài khoản"
     log_in: "Đăng nhập"
     log_out: "Đăng xuất"
-#    recover: "recover account"
+    recover: "Khôi phục tài khoản"
 
-#  recover:
-#    recover_account_title: "Recover Account"
-#    send_password: "Send Recovery Password"
+  recover:
+    recover_account_title: "Khôi phục tài khoản"
+    send_password: "Gởi mật mã khôi phục"
 
-#  signup:
-#    create_account_title: "Create Account to Save Progress"
-#    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?)"
-#    creating: "Creating Account..."
-#    sign_up: "Sign Up"
-#    log_in: "log in with password"
+  signup:
+    create_account_title: "Tạo tài khoản để lưu tiến trình"
+    description: "Nó miễn phí. Chỉ cần một vài thứ và bạn có thể tiếp tục:"
+    email_announcements: "Nhận thông báo bằng email"
+    coppa: "13+ hoặc non-USA "
+    coppa_why: "(Tại sao?)"
+    creating: "Tạo tài khoản..."
+    sign_up: "Đăng ký"
+    log_in: "đăng nhập với mật khẩu"
 
-#  home:
-#    slogan: "Learn to Code JavaScript by Playing a Game"
-#    no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
-#    no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
-#    play: "Play"
+  home:
+    slogan: "Học mã Javascript bằng chơi Games"
+    no_ie: "Codecombat không chạy trong Internet Explorer 9 hoặc cũ hơn. Xin lỗi!"
+    no_mobile: "Codecombat không được thiết kế cho các thiết bị di động và có thể không hoạt động được!"
+    play: "Chơi"
 #    old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
 #    old_browser_suffix: "You can try anyway, but it probably won't work."
 #    campaign: "Campaign"
@@ -73,45 +73,45 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
 #    multiplayer: "Multiplayer"
 #    for_developers: "For Developers"
 
-#  play:
-#    choose_your_level: "Choose Your Level"
-#    adventurer_prefix: "You can jump to any level below, or discuss the levels on "
-#    adventurer_forum: "the Adventurer forum"
+  play:
+    choose_your_level: "Chọn Trình của bạn"
+    adventurer_prefix: "Bạn có thể nhảy đến bất kỳ cấp độ dưới đây, hoặc nâng dần cấp độ "
+    adventurer_forum: "diễn đàn Adventurer"
 #    adventurer_suffix: "."
-#    campaign_beginner: "Beginner Campaign"
+    campaign_beginner: "Bắt đầu chiến dịch"
 #    campaign_beginner_description: "... in which you learn the wizardry of programming."
-#    campaign_dev: "Random Harder Levels"
+    campaign_dev: "Các cấp độ khó hơn ngẫu nhiên"
 #    campaign_dev_description: "... in which you learn the interface while doing something a little harder."
-#    campaign_multiplayer: "Multiplayer Arenas"
+    campaign_multiplayer: "Khu vực đa người chơi"
 #    campaign_multiplayer_description: "... in which you code head-to-head against other players."
-#    campaign_player_created: "Player-Created"
+    campaign_player_created: "Tạo người chơi"
 #    campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
-#    level_difficulty: "Difficulty: "
+    level_difficulty: "Khó: "
 #    play_as: "Play As "
 #    spectate: "Spectate"
 
-#  contact:
-#    contact_us: "Contact CodeCombat"
-#    welcome: "Good to hear from you! Use this form to send us email. "
-#    contribute_prefix: "If you're interested in contributing, check out our "
-#    contribute_page: "contribute page"
+  contact:
+    contact_us: "Liên hệ CodeCombat"
+    welcome: "Rất vui được nhận tin từ bạn! Hãy dùng đơn này để gởi mail cho chúng tôi. "
+    contribute_prefix: "Nếu bạn muốn đóng góp, hãy kiểm tra "
+    contribute_page: "trang đóng góp"
 #    contribute_suffix: "!"
 #    forum_prefix: "For anything public, please try "
-#    forum_page: "our forum"
+    forum_page: "Diễn đàn của chúng tôi"
 #    forum_suffix: " instead."
-#    send: "Send Feedback"
+    send: "Gởi phản hồi"
 
   diplomat_suggestion:
-#    title: "Help translate CodeCombat!"
-#    sub_heading: "We need your language skills."
+    title: "Hãy giúp dịch thuật cho  CodeCombat!"
+    sub_heading: "Chúng tôi cần kỹ năng ngoại ngữ của bạn."
     pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Vietnamese but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into Vietnamese."
     missing_translations: "Until we can translate everything into Vietnamese, you'll see English when Vietnamese isn't available."
 #    learn_more: "Learn more about being a Diplomat"
 #    subscribe_as_diplomat: "Subscribe as a Diplomat"
 
-#  wizard_settings:
-#    title: "Wizard Settings"
-#    customize_avatar: "Customize Your Avatar"
+  wizard_settings:
+    title: "Cài đặt Wizard"
+    customize_avatar: "Tùy chỉnh Avatar của bạn"
 #    clothes: "Clothes"
 #    trim: "Trim"
 #    cloud: "Cloud"
@@ -121,65 +121,65 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
 #    saturation: "Saturation"
 #    lightness: "Lightness"
 
-#  account_settings:
-#    title: "Account Settings"
-#    not_logged_in: "Log in or create an account to change your settings."
-#    autosave: "Changes Save Automatically"
+  account_settings:
+    title: "Cài đặt Tài khoản"
+    not_logged_in: "Đăng nhập hoặc tạo tài khoản để thay đổi cài đặt."
+    autosave: "Tự động lưu thay đổi"
 #    me_tab: "Me"
-#    picture_tab: "Picture"
-#    wizard_tab: "Wizard"
-#    password_tab: "Password"
-#    emails_tab: "Emails"
+    picture_tab: "Bức tranh"
+    wizard_tab: "Wizard"
+    password_tab: "Mật khẩu"
+    emails_tab: "Emails"
 #    admin: "Admin"
-#    gravatar_select: "Select which Gravatar photo to use"
+    gravatar_select: "Chọn hình Gravatar để sử dụng"
 #    gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image."
 #    gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here."
-#    wizard_color: "Wizard Clothes Color"
-#    new_password: "New Password"
-#    new_password_verify: "Verify"
-#    email_subscriptions: "Email Subscriptions"
-#    email_announcements: "Announcements"
+    wizard_color: "Màu trang phục Wizard"
+    new_password: "Mật khẩu mới"
+    new_password_verify: "Xác nhận"
+    email_subscriptions: "Thuê bao Email"
+    email_announcements: "Thông báo"
 #    email_notifications: "Notifications"
 #    email_notifications_description: "Get periodic notifications for your account."
-#    email_announcements_description: "Get emails on the latest news and developments at CodeCombat."
+    email_announcements_description: "Nhận email về tin tức mới nhất và sự phát triển của Codecombat."
 #    contributor_emails: "Contributor Class Emails"
-#    contribute_prefix: "We're looking for people to join our party! Check out the "
-#    contribute_page: "contribute page"
-#    contribute_suffix: " to find out more."
+    contribute_prefix: "Chúng tôi đang tìm thêm người vào nhóm của chúng tôi! Hãy kiểm "
+    contribute_page: "trang đóng góp"
+    contribute_suffix: " để tìm hiểu thêm."
 #    email_toggle: "Toggle All"
-#    error_saving: "Error Saving"
-#    saved: "Changes Saved"
-#    password_mismatch: "Password does not match."
+    error_saving: "Lỗi lưu"
+    saved: "Thay đổi được lưu"
+    password_mismatch: "Mật khẩu không khớp."
 
-#  account_profile:
-#    edit_settings: "Edit Settings"
+  account_profile:
+    edit_settings: "Chỉnh sửa cài đặt"
 #    profile_for_prefix: "Profile for "
 #    profile_for_suffix: ""
-#    profile: "Profile"
-#    user_not_found: "No user found. Check the URL?"
-#    gravatar_not_found_mine: "We couldn't find your profile associated with:"
-#    gravatar_not_found_email_suffix: "."
-#    gravatar_signup_prefix: "Sign up at "
-#    gravatar_signup_suffix: " to get set up!"
+    profile: "Hồ sơ"
+    user_not_found: "Không có người sử dụng được tìm thấy. Kiểm tra URL?"
+    gravatar_not_found_mine: "Chúng tôi không thể tìm thấy hồ sơ của bạn được đính kèm theo:"
+    gravatar_not_found_email_suffix: "."
+    gravatar_signup_prefix: "Đăng ký tại "
+    gravatar_signup_suffix: " để thiết lập!"
 #    gravatar_not_found_other: "Alas, there's no profile associated with this person's email address."
 #    gravatar_contact: "Contact"
-#    gravatar_websites: "Websites"
+    gravatar_websites: "Địa chỉ trang Web"
 #    gravatar_accounts: "As Seen On"
 #    gravatar_profile_link: "Full Gravatar Profile"
 
 #  play_level:
 #    level_load_error: "Level could not be loaded: "
-#    done: "Done"
+    done: "Hoàn thành"
 #    grid: "Grid"
-#    customize_wizard: "Customize Wizard"
+    customize_wizard: "Tùy chỉnh Wizard"
 #    home: "Home"
-#    guide: "Guide"
-#    multiplayer: "Multiplayer"
-#    restart: "Restart"
-#    goals: "Goals"
+    guide: "Hướng dẫn"
+    multiplayer: "Nhiều người chơi"
+    restart: "Khởi động lại"
+    goals: "Mục đích"
 #    action_timeline: "Action Timeline"
-#    click_to_select: "Click on a unit to select it."
-#    reload_title: "Reload All Code?"
+    click_to_select: "Kích vào đơn vị để chọn nó."
+    reload_title: "Tải lại tất cả mã?"
 #    reload_really: "Are you sure you want to reload this level back to the beginning?"
 #    reload_confirm: "Reload All"
 #    victory_title_prefix: ""
@@ -481,8 +481,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
 #    counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design."
 #    counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you."
 #    counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful."
-#    counselor_attribute_2: "A little bit of free time!"
-#    counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)."
+    counselor_attribute_2: "Rảnh rỗi một chút!"
+    counselor_join_desc: "Nói cho chúng tôi điều gì đó về bạn, bạn đã làm cái gì và bạn hứng thú về cái gì. Chúng tôi sẽ đưa bạn vào danh sách liên lạc và chúng tôi sẽ liên hệ khi chúng tôi có thể(không thường xuyên)."
 #    more_about_counselor: "Learn More About Becoming a Counselor"
 #    changes_auto_save: "Changes are saved automatically when you toggle checkboxes."
 #    diligent_scribes: "Our Diligent Scribes:"
@@ -502,11 +502,11 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
 #    scribe_title: "Scribe"
 #    scribe_title_description: "(Article Editor)"
 #    diplomat_title: "Diplomat"
-#    diplomat_title_description: "(Translator)"
+    diplomat_title_description: "(Người phiên dịch)"
 #    ambassador_title: "Ambassador"
-#    ambassador_title_description: "(Support)"
-#    counselor_title: "Counselor"
-#    counselor_title_description: "(Expert/Teacher)"
+    ambassador_title_description: "(Hỗ trợ)"
+    counselor_title: "Người tư vấn"
+    counselor_title_description: "(Chuyên gia/ Giáo viên)"
 
 #  ladder:
 #    please_login: "Please log in first before playing a ladder game."

From 4a119cd6b027aeb1a5236bedfeee618f150e407b Mon Sep 17 00:00:00 2001
From: Alexei Nikitin <mr-a1@yandex.ru>
Date: Wed, 19 Mar 2014 02:53:13 -0700
Subject: [PATCH 23/29] Update ru.coffee

---
 app/locale/ru.coffee | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee
index b503350f8..451847d67 100644
--- a/app/locale/ru.coffee
+++ b/app/locale/ru.coffee
@@ -335,7 +335,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
     nick_description: "Маг программирования, эксцентрично мотивированный волшебник, и экспериментатор вверх ногами. Ник может делать всё и хочет построить CodeCombat."
     jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми."
     michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы онлайн."
-#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
+    glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки вещей, вроде этой. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!"
 
   legal:
     page_title: "Юридическая информация"

From 5b2a219ca5f102da745ecaffb1028e08ce06ac4e Mon Sep 17 00:00:00 2001
From: Alexei Nikitin <mr-a1@yandex.ru>
Date: Wed, 19 Mar 2014 03:42:38 -0700
Subject: [PATCH 24/29] Update ru.coffee

---
 app/locale/ru.coffee | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee
index 451847d67..be023c52f 100644
--- a/app/locale/ru.coffee
+++ b/app/locale/ru.coffee
@@ -335,7 +335,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
     nick_description: "Маг программирования, эксцентрично мотивированный волшебник, и экспериментатор вверх ногами. Ник может делать всё и хочет построить CodeCombat."
     jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми."
     michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы онлайн."
-    glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки вещей, вроде этой. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!"
+    glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!"
 
   legal:
     page_title: "Юридическая информация"

From 00d17c6d2f0753c09cd14dbe0d979901232241c0 Mon Sep 17 00:00:00 2001
From: OverProgram <tomer.trc@gmail.com>
Date: Wed, 19 Mar 2014 16:13:41 +0200
Subject: [PATCH 25/29] Update he.coffee

---
 app/locale/he.coffee | 80 ++++++++++++++++++++++----------------------
 1 file changed, 40 insertions(+), 40 deletions(-)

diff --git a/app/locale/he.coffee b/app/locale/he.coffee
index 2ae178ef2..7af4c8e58 100644
--- a/app/locale/he.coffee
+++ b/app/locale/he.coffee
@@ -9,7 +9,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
     delay_3_sec: "שלוש שניות"
     delay_5_sec: "חמש שניות"
     manual: "מדריך"
-#    fork: "Fork"
+    fork: "קילשון"
     play: "שחק"
 
   modal:
@@ -26,52 +26,52 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
     forum: "פורום"
     admin: "אדמין"
     home: "בית"
-#    contribute: "Contribute"
-#    legal: "Legal"
-#    about: "About"
-#    contact: "Contact"
-#    twitter_follow: "Follow"
-#    employers: "Employers"
+    contribute: "תרום"
+    legal: "משפטי"
+    about: "עלינו"
+    contact: "צור קשר"
+    twitter_follow: "עקוב אחרינו בטוויטר"
+    employers: "עובדים"
 
-#  versions:
-#    save_version_title: "Save New Version"
-#    new_major_version: "New Major Version"
-#    cla_prefix: "To save changes, first you must agree to our"
+  versions:
+    save_version_title: "שמור גרסה חדשה"
+    new_major_version: "גרסה חשובה חדשה"
+    cla_prefix: "כדי לשמור יש להירשם לאתר"
 #    cla_url: "CLA"
 #    cla_suffix: "."
-#    cla_agree: "I AGREE"
+    cla_agree: "אני מסכים"
 
-#  login:
-#    sign_up: "Create Account"
-#    log_in: "Log In"
-#    log_out: "Log Out"
-#    recover: "recover account"
+  login:
+    sign_up: "הירשם"
+    log_in: "היכנס"
+    log_out: "צא"
+    recover: "שחזר סיסמה"
 
-#  recover:
-#    recover_account_title: "Recover Account"
-#    send_password: "Send Recovery Password"
+  recover:
+    recover_account_title: "שחזר סיסמה"
+    send_password: "שלח סיסמה חדשה"
 
-#  signup:
-#    create_account_title: "Create Account to Save Progress"
-#    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?)"
-#    creating: "Creating Account..."
-#    sign_up: "Sign Up"
-#    log_in: "log in with password"
+  signup:
+    create_account_title: "הירשם כדי לשמור את התקדמותך"
+    description: "זה בחינם. רק כמה דברים וסיימנו:"
+    email_announcements: "קבל הודעות באימייל"
+    coppa: "בן יותר משלוש עשרה או לא בארצות הברית"
+    coppa_why: "(למה?)"
+    creating: "יוצר חשבון..."
+    sign_up: "הירשם"
+    log_in: "כנס עם סיסמה"
 
-#  home:
-#    slogan: "Learn to Code JavaScript by Playing a Game"
-#    no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
-#    no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
-#    play: "Play"
-#    old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
-#    old_browser_suffix: "You can try anyway, but it probably won't work."
-#    campaign: "Campaign"
-#    for_beginners: "For Beginners"
-#    multiplayer: "Multiplayer"
-#    for_developers: "For Developers"
+  home:
+    slogan: "גם לשחק וגם ללמוד לתכנת"
+    no_ie: "המשחק לא עובד באקפלורר 9 וישן יותר. סליחה!"
+    no_mobile: "המשחק לא עוצב לטלפונים ואולי לא יעבוד"
+    play: "שחק"
+    old_browser: "או או, נראה כי הדפדפן שלך יותר מידי ישן כדי להריץ את המשחק. סליחה!"
+    old_browser_suffix: "אתה יכול לנסות בכול מקרה אבל זה כנראה לא יעבוד."
+    campaign: "מסע"
+    for_beginners: "למתחילים"
+    multiplayer: "רב-משתתפים"
+    for_developers: "למומחים"
 
 #  play:
 #    choose_your_level: "Choose Your Level"

From f6e5ceb1ef678a7162ea6f0b135347f9eadb7237 Mon Sep 17 00:00:00 2001
From: OverProgram <tomer.trc@gmail.com>
Date: Wed, 19 Mar 2014 20:18:30 +0200
Subject: [PATCH 26/29] More Updates fore he.coffee

Here is some more translate to hebrow.
---
 app/locale/he.coffee | 164 +++++++++++++++++++++----------------------
 1 file changed, 82 insertions(+), 82 deletions(-)

diff --git a/app/locale/he.coffee b/app/locale/he.coffee
index 7af4c8e58..20f0bca44 100644
--- a/app/locale/he.coffee
+++ b/app/locale/he.coffee
@@ -73,94 +73,94 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
     multiplayer: "רב-משתתפים"
     for_developers: "למומחים"
 
-#  play:
-#    choose_your_level: "Choose Your Level"
-#    adventurer_prefix: "You can jump to any level below, or discuss the levels on "
-#    adventurer_forum: "the Adventurer forum"
-#    adventurer_suffix: "."
-#    campaign_beginner: "Beginner Campaign"
-#    campaign_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_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>."
-#    level_difficulty: "Difficulty: "
-#    play_as: "Play As "
-#    spectate: "Spectate"
+  play:
+    choose_your_level: "בחר את השלב"
+    adventurer_prefix: "אתה יכול לבחור איזה שלב שאתה רוצה למטה, או לדון על שלבים ב"
+    adventurer_forum: "פורום ההרפתקנים"
+    adventurer_suffix: "."
+    campaign_beginner: "מסע המתחילים"
+    campaign_beginner_description: "...שבו תלמד את קסם התכנות."
+    campaign_dev: "שלבים אקראים קשים יותר"
+    campaign_dev_description: "...שבהם תלמד על הממשק בזמן שתעשה משהו קצת קשה יותר."
+    campaign_multiplayer: "זירות רב-המשתתפים"
+    campaign_multiplayer_description: "..."
+    campaign_player_created: "תוצרי השחקנים"
+    campaign_player_created_description: "... שבהם תילחם נגד היצירתיות של <a href=\"/contribute#artisan\">בעלי-המלאכה</a>."
+    level_difficulty: "רמת קושי: "
+    play_as: "שחק בתור "
+    spectate: "צופה"
 
-#  contact:
-#    contact_us: "Contact CodeCombat"
-#    welcome: "Good to hear from you! Use this form to send us email. "
-#    contribute_prefix: "If you're interested in contributing, check out our "
-#    contribute_page: "contribute page"
-#    contribute_suffix: "!"
-#    forum_prefix: "For anything public, please try "
-#    forum_page: "our forum"
-#    forum_suffix: " instead."
-#    send: "Send Feedback"
+  contact:
+    contact_us: "צור קשר"
+    welcome: "טוב לשמוע ממך! השתמש בטופס זה כדי לשלוח לנו אימייל. "
+    contribute_prefix: "אם אתה מעונין לתרום, אז תבדוק את "
+    contribute_page: "דף התרומות שלנו"
+    contribute_suffix: "!"
+    forum_prefix: "בשביל דברים ציבוריים, לך ל "
+    forum_page: "פורום שלנו"
+    forum_suffix: " במקום."
+    send: "שלח אימייל"
 
   diplomat_suggestion:
-#    title: "Help translate CodeCombat!"
-#    sub_heading: "We need your language skills."
-    pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Hebrew but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into Hebrew."
-    missing_translations: "Until we can translate everything into Hebrew, you'll see English when Hebrew isn't available."
-#    learn_more: "Learn more about being a Diplomat"
-#    subscribe_as_diplomat: "Subscribe as a Diplomat"
+    title: "עזור לתרגם את CodeCombat!"
+    sub_heading: "אנו צריכים את קישורי השפה שלך!"
+    pitch_body: "אנו פיתחנו את המשחק באנגלית, אבל יש הרבה שחקנים מכול העולם. חלק מהם רוצים לשחק בעברית והם לא מבינים אנגלית. אם אתה דובר את שני השפות, עברית ואנגלית, אז בבקשה עזור לנו לתרגם לעברית את האתר ואת השלבים."
+    missing_translations: "עד שנתרגם הכול לעברית, מה שלא תורגם יופיע באנגלית."
+    learn_more: "תלמד עות על תרומת דיפלומטיה"
+    subscribe_as_diplomat: "הירשם כדיפלומט"
 
-#  wizard_settings:
-#    title: "Wizard Settings"
-#    customize_avatar: "Customize Your Avatar"
-#    clothes: "Clothes"
-#    trim: "Trim"
-#    cloud: "Cloud"
-#    spell: "Spell"
-#    boots: "Boots"
-#    hue: "Hue"
-#    saturation: "Saturation"
-#    lightness: "Lightness"
+  wizard_settings:
+    title: "הגדרות קוסם"
+    customize_avatar: "עצב את הדמות שלך"
+    clothes: "בגדים"
+    trim: "קישוט"
+    cloud: "ענן"
+    spell: "כישוף"
+    boots: "מגפיים"
+    hue: "Hue"
+    saturation: "גוון"
+    lightness: "בהירות"
 
-#  account_settings:
-#    title: "Account Settings"
-#    not_logged_in: "Log in or create an account to change your settings."
-#    autosave: "Changes Save Automatically"
-#    me_tab: "Me"
-#    picture_tab: "Picture"
-#    wizard_tab: "Wizard"
-#    password_tab: "Password"
-#    emails_tab: "Emails"
-#    admin: "Admin"
-#    gravatar_select: "Select which Gravatar photo to use"
-#    gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image."
-#    gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here."
-#    wizard_color: "Wizard Clothes Color"
-#    new_password: "New Password"
-#    new_password_verify: "Verify"
-#    email_subscriptions: "Email Subscriptions"
-#    email_announcements: "Announcements"
-#    email_notifications: "Notifications"
-#    email_notifications_description: "Get periodic notifications for your account."
-#    email_announcements_description: "Get emails on the latest news and developments at CodeCombat."
-#    contributor_emails: "Contributor Class Emails"
-#    contribute_prefix: "We're looking for people to join our party! Check out the "
-#    contribute_page: "contribute page"
-#    contribute_suffix: " to find out more."
-#    email_toggle: "Toggle All"
-#    error_saving: "Error Saving"
-#    saved: "Changes Saved"
-#    password_mismatch: "Password does not match."
+  account_settings:
+    title: "הגדרות חשבון"
+    not_logged_in: "היכנס או הירשם כדי לערוך את ההדרות שלך"
+    autosave: "שינויים נשמרו אוטומטית"
+    me_tab: "אני"
+    picture_tab: "תמונה"
+    wizard_tab: "קוסם"
+    password_tab: "סיסמה"
+    emails_tab: "אימיילים"
+    admin: "אדמין"
+    gravatar_select: "תבחר באיזו תמונת גרבטר אתה רוצה להישתמש"
+    gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image."
+    gravatar_add_more_photos: "תוסיף עוד תמונות לחשבון הגרבטר שלך כדי להסיג אותם כאן."
+    wizard_color: "צבע הקוסם"
+    new_password: "סיסמה חדשה"
+    new_password_verify: "חזור על הסיסמה שנית"
+    email_subscriptions: "הרשמויות אימייל"
+    email_announcements: "הודעות"
+    email_notifications: "עדכונים"
+    email_notifications_description: "קבל עדכונים לחשבון שלך."
+    email_announcements_description: "קבל את החדשות ואת הפיתוחים הכי חדישים במשחק באימייל."
+    contributor_emails: "אימיילים של כיתות תורמים"
+    contribute_prefix: "אנו מחפשים אנשים שיצתרפו למסיבה! תראו את"
+    contribute_page: "דף התרימות"
+    contribute_suffix: " בשביל עוד מידע."
+    email_toggle: "עדכן"
+    error_saving: "בעיה בשמירה"
+    saved: "השינויים נשמרו"
+    password_mismatch: "סיסמאות לא זהות"
 
-#  account_profile:
-#    edit_settings: "Edit Settings"
-#    profile_for_prefix: "Profile for "
-#    profile_for_suffix: ""
-#    profile: "Profile"
-#    user_not_found: "No user found. Check the URL?"
-#    gravatar_not_found_mine: "We couldn't find your profile associated with:"
-#    gravatar_not_found_email_suffix: "."
-#    gravatar_signup_prefix: "Sign up at "
-#    gravatar_signup_suffix: " to get set up!"
+  account_profile:
+    edit_settings: "ערוך הגדרות"
+    profile_for_prefix: "פרופיל ל"
+    profile_for_suffix: ""
+    profile: "פרופיל"
+    user_not_found: "משתמש לא נמצא. בדקת את הURL?"
+    gravatar_not_found_mine: "לא הצלחנו למצא חשבון גרבטר המותאם עם: "
+    gravatar_not_found_email_suffix: "."
+    gravatar_signup_prefix: "הירשם ב"
+    gravatar_signup_suffix: "כדי לקבל תמונת חשבון"
 #    gravatar_not_found_other: "Alas, there's no profile associated with this person's email address."
 #    gravatar_contact: "Contact"
 #    gravatar_websites: "Websites"

From b10b9fcb4e064026df306737609e7ba3e2be2e9a Mon Sep 17 00:00:00 2001
From: Fusspawn <ariochofmelnibone@googlemail.com>
Date: Wed, 19 Mar 2014 23:12:35 +0000
Subject: [PATCH 27/29] Added Function.Prototype.bind shim to world worker to
 enable running on headless browsers

---
 .../javascripts/workers/worker_world.js       | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/app/assets/javascripts/workers/worker_world.js b/app/assets/javascripts/workers/worker_world.js
index 00a2a2d03..45c5e80d7 100644
--- a/app/assets/javascripts/workers/worker_world.js
+++ b/app/assets/javascripts/workers/worker_world.js
@@ -5,6 +5,32 @@
 if(typeof window !== 'undefined' || !self.importScripts)
   throw "Attempt to load worker_world into main window instead of web worker.";
 
+// Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
+// This is here for running simuations in enviroments lacking function.bind (PhantomJS mostly)
+if (!Function.prototype.bind) {
+  Function.prototype.bind = function (oThis) {
+    if (typeof this !== "function") {
+      // closest thing possible to the ECMAScript 5 internal IsCallable function
+      throw new TypeError("Function.prototype.bind (Shim) - target is not callable");
+    }
+
+    var aArgs = Array.prototype.slice.call(arguments, 1), 
+        fToBind = this, 
+        fNOP = function () {},
+        fBound = function () {
+          return fToBind.apply(this instanceof fNOP && oThis
+                                 ? this
+                                 : oThis,
+                               aArgs.concat(Array.prototype.slice.call(arguments)));
+        };
+
+    fNOP.prototype = this.prototype;
+    fBound.prototype = new fNOP();
+
+    return fBound;
+  };
+}
+
 // assign global window so that Brunch's require (in world.js) can go into it
 self.window = self;
 self.workerID = "Worker";

From 71a13a567041354a098da49eaa841389177369cf Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Thu, 20 Mar 2014 00:33:50 +0100
Subject: [PATCH 28/29] Adding missing translations for the Dutch local file

---
 app/locale/nl.coffee                          | 78 +++++++++----------
 app/templates/play/ladder/my_matches_tab.jade |  1 -
 2 files changed, 39 insertions(+), 40 deletions(-)

diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee
index cfde38e3b..c39bf8c41 100644
--- a/app/locale/nl.coffee
+++ b/app/locale/nl.coffee
@@ -66,12 +66,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!"
     no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!"
     play: "Speel"
-#    old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
-#    old_browser_suffix: "You can try anyway, but it probably won't work."
-#    campaign: "Campaign"
-#    for_beginners: "For Beginners"
+    old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!"
+    old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!"
+    campaign: "Campagne"
+    for_beginners: "Voor Beginners"
 #    multiplayer: "Multiplayer"
-#    for_developers: "For Developers"
+    for_developers: "Voor ontwikkelaars"
 
   play:
     choose_your_level: "Kies Je Level"
@@ -87,8 +87,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     campaign_player_created: "Door-spelers-gemaakt"
     campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>."
     level_difficulty: "Moeilijkheidsgraad: "
-#    play_as: "Play As "
-#    spectate: "Spectate"
+    play_as: "Speel als "
+    spectate: "Schouw toe"
 
   contact:
     contact_us: "Contact opnemen met CodeCombat"
@@ -187,9 +187,9 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     victory_sign_up: "Schrijf je in om je progressie op te slaan"
     victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!"
     victory_rate_the_level: "Beoordeel het level: "
-#    victory_rank_my_game: "Rank My Game"
-#    victory_ranking_game: "Submitting..."
-#    victory_return_to_ladder: "Return to Ladder"
+    victory_rank_my_game: "Rankschik mijn Wedstrijd"
+    victory_ranking_game: "Verzenden..."
+    victory_return_to_ladder: "Keer terug naar de ladder"
     victory_play_next_level: "Speel Volgend Level"
     victory_go_home: "Ga naar Home"
     victory_review: "Vertel ons meer!"
@@ -213,18 +213,18 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     tome_available_spells: "Beschikbare spreuken"
     hud_continue: "Ga verder (druk shift-space)"
     spell_saved: "Spreuk Opgeslagen"
-#    skip_tutorial: "Skip (esc)"
-#    editor_config: "Editor Config"
-#    editor_config_title: "Editor Configuration"
-#    editor_config_keybindings_label: "Key Bindings"
+    skip_tutorial: "Overslaan (esc)"
+    editor_config: "Editor Configuratie"
+    editor_config_title: "Editor Configuratie"
+    editor_config_keybindings_label: "Toets instellingen"
 #    editor_config_keybindings_default: "Default (Ace)"
-#    editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
-#    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_behaviors_label: "Smart Behaviors"
-#    editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
+    editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors."
+    editor_config_invisibles_label: "Toon onzichtbare"
+    editor_config_invisibles_description: "Toon onzichtbare whitespace karakters."
+    editor_config_indentguides_label: "Toon inspringing regels"
+    editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren."
+    editor_config_behaviors_label: "Slim gedrag"
+    editor_config_behaviors_description: "Auto-aanvulling (gekrulde) haakjes en aanhalingstekens."
 
   admin:
     av_title: "Administrator panels"
@@ -249,8 +249,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     contact_us: "contacteer ons!"
     hipchat_prefix: "Je kan ons ook vinden in ons"
     hipchat_url: "(Engelstalig) HipChat kanaal."
-#    revert: "Revert"
-#    revert_models: "Revert Models"
+    revert: "Keer wijziging terug"
+    revert_models: "keer wijziging model terug"
     level_some_options: "Enkele opties?"
     level_tab_thangs: "Elementen"
     level_tab_scripts: "Scripts"
@@ -299,12 +299,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     description: "Beschrijving"
     or: "of"
     email: "Email"
-#    password: "Password"
+    password: "Wachtwoord"
     message: "Bericht"
     code: "Code"
     ladder: "Ladder"
     when: "Wanneer"
-#    opponent: "Opponent"
+    opponent: "Tegenstander"
     rank: "Rang"
     score: "Score"
     win: "Win"
@@ -470,7 +470,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat"
     diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen."
     ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou."
-#    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_introduction: "We zijn een community aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en soeciale netwerken met veel andere mensen waarmee je kan praten en hulp kan vragen over het spel en om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!"
     ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!"
     ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!"
     ambassador_join_note_strong: "Opmerking"
@@ -540,16 +540,16 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
     warmup: "Opwarming"
     vs: "tegen"
 
-#  multiplayer_launch:
-#    introducing_dungeon_arena: "Introducing Dungeon Arena"
-#    new_way: "March 17, 2014: The new way to compete with code."
-#    to_battle: "To Battle, Developers!"
-#    modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here."
-#    arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
-#    ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even"
-#    fork_our_arenas: "fork our arenas"
-#    create_worlds: "and create your own worlds."
-#    javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
-#    tutorial: "tutorial"
-#    new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
-#    so_ready: "I Am So Ready for This"
+  multiplayer_launch:
+    introducing_dungeon_arena: "Introductie van Dungeon Arena"
+    new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code."
+    to_battle: "Naar het slagveld, ontwikkelaars!"
+    modern_day_sorcerer: "Kan jij programmeren? Hoe stoer is dat. Jij bent een modere voetballer! is het niet tijd dat je jouw magische krachten gebruikt voor het controlleren van jou minions in het slagveld? En nee, we praten heir niet over robots."
+    arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
+    ladder_explanation: "Kies jouw helden, betover jouw mens of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in multiplayer coding arenas en verkrijg faam en glorie. Indien je creatief bent, kan je zelfs"
+    fork_our_arenas: "onze arenas forken"
+    create_worlds: "en jouw eigen werelden creëren."
+    javascript_rusty: "Jouw JavaScript is een beetje roest? Wees niet bang, er is een"
+    tutorial: "tutorial"
+    new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne."
+    so_ready: "Ik ben hier zo klaar voor"
diff --git a/app/templates/play/ladder/my_matches_tab.jade b/app/templates/play/ladder/my_matches_tab.jade
index 4430af30f..4fcfa159c 100644
--- a/app/templates/play/ladder/my_matches_tab.jade
+++ b/app/templates/play/ladder/my_matches_tab.jade
@@ -72,4 +72,3 @@ div#columns.row
                 span(data-i18n="ladder.no_ranked_matches_pre") No ranked matches for the
                 | #{team.name}
                 span(data-i18n="ladder.no_ranked_matches_post") team! Play against some competitors and then come back here to get your game ranked.
-

From 225fd6d3557c7331984844ad9fbb71b5228ab6ce Mon Sep 17 00:00:00 2001
From: Glen De Cauwsemaecker <decauwsemaecker.glen@gmail.com>
Date: Thu, 20 Mar 2014 02:02:40 +0100
Subject: [PATCH 29/29] Fixed a spelling mistake I made yesterday.

---
 app/locale/en-AU.coffee | 2 +-
 app/locale/en-GB.coffee | 2 +-
 app/locale/en-US.coffee | 2 +-
 app/locale/en.coffee    | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee
index f0ad0358c..6b5fc38d6 100644
--- a/app/locale/en-AU.coffee
+++ b/app/locale/en-AU.coffee
@@ -335,7 +335,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
-#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee
index 6663c67b2..650e626e2 100644
--- a/app/locale/en-GB.coffee
+++ b/app/locale/en-GB.coffee
@@ -335,7 +335,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
-#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee
index 46e814c15..c3498ac88 100644
--- a/app/locale/en-US.coffee
+++ b/app/locale/en-US.coffee
@@ -335,7 +335,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
 #    nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
 #    jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
 #    michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
-#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
+#    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
 #  legal:
 #    page_title: "Legal"
diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index fc28c7bae..05de99b94 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -350,7 +350,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
     nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
     jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
     michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
-    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
+    glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
 
   legal:
     page_title: "Legal"