diff --git a/app/assets/images/common/code_languages/c_icon.png b/app/assets/images/common/code_languages/c_icon.png new file mode 100755 index 000000000..99cd55241 Binary files /dev/null and b/app/assets/images/common/code_languages/c_icon.png differ diff --git a/app/assets/images/common/code_languages/clojure_icon.png b/app/assets/images/common/code_languages/clojure_icon.png new file mode 100755 index 000000000..7152f84c0 Binary files /dev/null and b/app/assets/images/common/code_languages/clojure_icon.png differ diff --git a/app/assets/images/pages/home/language_logo_clojure.png b/app/assets/images/common/code_languages/clojure_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_clojure.png rename to app/assets/images/common/code_languages/clojure_small.png diff --git a/app/assets/images/common/code_languages/coffeescript_icon.png b/app/assets/images/common/code_languages/coffeescript_icon.png new file mode 100755 index 000000000..502db9b06 Binary files /dev/null and b/app/assets/images/common/code_languages/coffeescript_icon.png differ diff --git a/app/assets/images/pages/home/language_logo_coffeescript.png b/app/assets/images/common/code_languages/coffeescript_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_coffeescript.png rename to app/assets/images/common/code_languages/coffeescript_small.png diff --git a/app/assets/images/common/code_languages/cpp_icon.png b/app/assets/images/common/code_languages/cpp_icon.png new file mode 100755 index 000000000..c3067378c Binary files /dev/null and b/app/assets/images/common/code_languages/cpp_icon.png differ diff --git a/app/assets/images/common/code_languages/csharp_icon.png b/app/assets/images/common/code_languages/csharp_icon.png new file mode 100755 index 000000000..d3eff9260 Binary files /dev/null and b/app/assets/images/common/code_languages/csharp_icon.png differ diff --git a/app/assets/images/common/code_languages/go_icon.png b/app/assets/images/common/code_languages/go_icon.png new file mode 100755 index 000000000..ecbfb0d6a Binary files /dev/null and b/app/assets/images/common/code_languages/go_icon.png differ diff --git a/app/assets/images/common/code_languages/io_icon.png b/app/assets/images/common/code_languages/io_icon.png new file mode 100644 index 000000000..0b6c58fe4 Binary files /dev/null and b/app/assets/images/common/code_languages/io_icon.png differ diff --git a/app/assets/images/pages/home/language_logo_io.png b/app/assets/images/common/code_languages/io_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_io.png rename to app/assets/images/common/code_languages/io_small.png diff --git a/app/assets/images/common/code_languages/java_icon.png b/app/assets/images/common/code_languages/java_icon.png new file mode 100755 index 000000000..e39879cae Binary files /dev/null and b/app/assets/images/common/code_languages/java_icon.png differ diff --git a/app/assets/images/common/code_languages/javascript_icon.png b/app/assets/images/common/code_languages/javascript_icon.png new file mode 100644 index 000000000..4580f350b Binary files /dev/null and b/app/assets/images/common/code_languages/javascript_icon.png differ diff --git a/app/assets/images/pages/home/language_logo_javascript.png b/app/assets/images/common/code_languages/javascript_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_javascript.png rename to app/assets/images/common/code_languages/javascript_small.png diff --git a/app/assets/images/common/code_languages/lua_icon.png b/app/assets/images/common/code_languages/lua_icon.png new file mode 100755 index 000000000..e97873a33 Binary files /dev/null and b/app/assets/images/common/code_languages/lua_icon.png differ diff --git a/app/assets/images/pages/home/language_logo_lua.png b/app/assets/images/common/code_languages/lua_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_lua.png rename to app/assets/images/common/code_languages/lua_small.png diff --git a/app/assets/images/common/code_languages/php_icon.png b/app/assets/images/common/code_languages/php_icon.png new file mode 100755 index 000000000..35757de0b Binary files /dev/null and b/app/assets/images/common/code_languages/php_icon.png differ diff --git a/app/assets/images/common/code_languages/python_icon.png b/app/assets/images/common/code_languages/python_icon.png new file mode 100755 index 000000000..b8575c4f8 Binary files /dev/null and b/app/assets/images/common/code_languages/python_icon.png differ diff --git a/app/assets/images/pages/home/language_logo_python.png b/app/assets/images/common/code_languages/python_small.png similarity index 100% rename from app/assets/images/pages/home/language_logo_python.png rename to app/assets/images/common/code_languages/python_small.png diff --git a/app/assets/images/common/code_languages/ruby_icon.png b/app/assets/images/common/code_languages/ruby_icon.png new file mode 100755 index 000000000..7e1192d7a Binary files /dev/null and b/app/assets/images/common/code_languages/ruby_icon.png differ diff --git a/app/assets/images/common/code_languages/swift_icon.png b/app/assets/images/common/code_languages/swift_icon.png new file mode 100755 index 000000000..e789c1516 Binary files /dev/null and b/app/assets/images/common/code_languages/swift_icon.png differ diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee index 0d95ef171..40f349b61 100644 --- a/app/locale/ar.coffee +++ b/app/locale/ar.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee index 5620a6b60..0609ffaf8 100644 --- a/app/locale/bg.coffee +++ b/app/locale/bg.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "български език", englishDescri # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Избери своето ниво" diff --git a/app/locale/ca.coffee b/app/locale/ca.coffee index 3a1a35800..0ab50115a 100644 --- a/app/locale/ca.coffee +++ b/app/locale/ca.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr for_beginners: "Per a principiants" multiplayer: "Multijugador" for_developers: "Per a Desenvolupadors" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Escull el teu nivell" diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee index 5836d1889..cd470a43b 100644 --- a/app/locale/cs.coffee +++ b/app/locale/cs.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Zvolte si úroveň" diff --git a/app/locale/da.coffee b/app/locale/da.coffee index 470764cd8..1ffef227c 100644 --- a/app/locale/da.coffee +++ b/app/locale/da.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans for_beginners: "For Begyndere" multiplayer: "Multiplayer" for_developers: "For Udviklere" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Vælg Dit Level" diff --git a/app/locale/de-AT.coffee b/app/locale/de-AT.coffee index 1242212fd..9c4c0c144 100644 --- a/app/locale/de-AT.coffee +++ b/app/locale/de-AT.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/de-CH.coffee b/app/locale/de-CH.coffee index b8b40dbac..d83d4959a 100644 --- a/app/locale/de-CH.coffee +++ b/app/locale/de-CH.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge for_beginners: "Für Afänger" multiplayer: "Multiplayer" for_developers: "Für Entwickler" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Wähl dis Level us" diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee index 69570107d..d94fbbbfd 100644 --- a/app/locale/de-DE.coffee +++ b/app/locale/de-DE.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: for_beginners: "Für Anfänger" multiplayer: "Mehrspieler" for_developers: "Für Entwickler" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Wähle dein Level" diff --git a/app/locale/de.coffee b/app/locale/de.coffee index 4f83a118e..aa72ab375 100644 --- a/app/locale/de.coffee +++ b/app/locale/de.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra for_beginners: "Für Anfänger" multiplayer: "Mehrspieler" for_developers: "Für Entwickler" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Wähle dein Level" diff --git a/app/locale/el.coffee b/app/locale/el.coffee index 41d735d5d..0405a50f3 100644 --- a/app/locale/el.coffee +++ b/app/locale/el.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre for_beginners: "Για αρχάριους" # multiplayer: "Multiplayer" for_developers: "Για προγραμματιστές" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Διάλεξε την πίστα σου" diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee index 29d87cbe7..772111136 100644 --- a/app/locale/en-AU.coffee +++ b/app/locale/en-AU.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee index 0ba3466cc..e6fadc26e 100644 --- a/app/locale/en-GB.coffee +++ b/app/locale/en-GB.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee index ebecb2bd2..61513d098 100644 --- a/app/locale/en-US.coffee +++ b/app/locale/en-US.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/en.coffee b/app/locale/en.coffee index a3cf8152b..2b8549b5e 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -100,6 +100,12 @@ for_beginners: "For Beginners" multiplayer: "Multiplayer" for_developers: "For Developers" + javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." + python_blurb: "Simple yet powerful, Python is a great general purpose programming language." + coffeescript_blurb: "Nicer JavaScript syntax." + clojure_blurb: "A modern Lisp." + lua_blurb: "Game scripting language." + io_blurb: "Simple but obscure." play: choose_your_level: "Choose Your Level" diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee index 84d5ddd86..6d4b7892c 100644 --- a/app/locale/es-419.coffee +++ b/app/locale/es-419.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip for_beginners: "Para Principiantes" multiplayer: "Multijugador" for_developers: "Para Desarrolladores" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Elige tu nivel" diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee index 565025b19..956682ba2 100644 --- a/app/locale/es-ES.coffee +++ b/app/locale/es-ES.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis for_beginners: "Para principiantes" multiplayer: "Multijugador" for_developers: "Para programadores" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Elige tu nivel" diff --git a/app/locale/es.coffee b/app/locale/es.coffee index dcc2e7ff1..3382d263f 100644 --- a/app/locale/es.coffee +++ b/app/locale/es.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t for_beginners: "Para principiantes" multiplayer: "Multijugador" for_developers: "Para desarrolladores" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Elige tu nivel" diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee index e043269ae..5643e4646 100644 --- a/app/locale/fa.coffee +++ b/app/locale/fa.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "مرحله خود را انتخاب کنید" diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee index cd1da3699..d045279e8 100644 --- a/app/locale/fi.coffee +++ b/app/locale/fi.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index 94a3dd46d..1d717c739 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t for_beginners: "Pour débutants" multiplayer: "Multijoueurs" for_developers: "Pour développeurs" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Choisissez votre niveau" diff --git a/app/locale/he.coffee b/app/locale/he.coffee index 7dda67ac8..4621f2dce 100644 --- a/app/locale/he.coffee +++ b/app/locale/he.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", for_beginners: "למתחילים" multiplayer: "רב-משתתפים" for_developers: "למומחים" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "בחר את השלב" diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee index 85ccf7dac..ca51ba569 100644 --- a/app/locale/hi.coffee +++ b/app/locale/hi.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index 2aef84d38..390e20a98 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t for_beginners: "Kezdőknek" # multiplayer: "Multiplayer" for_developers: "Fejlesztőknek" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Válaszd ki a pályát!" diff --git a/app/locale/id.coffee b/app/locale/id.coffee index ae972660d..fe9958166 100644 --- a/app/locale/id.coffee +++ b/app/locale/id.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/it.coffee b/app/locale/it.coffee index e1535c040..a1ed0fbaf 100644 --- a/app/locale/it.coffee +++ b/app/locale/it.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t for_beginners: "Per Principianti" # multiplayer: "Multiplayer" for_developers: "Per Sviluppatori" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Scegli il tuo livello" diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee index fce997c9a..acdc9ffb6 100644 --- a/app/locale/ja.coffee +++ b/app/locale/ja.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", for_beginners: "初心者向け" multiplayer: "マルチプレイヤー" for_developers: "開発者向け" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "レベル選択" diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee index 791630d0e..fdc645eb4 100644 --- a/app/locale/ko.coffee +++ b/app/locale/ko.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t for_beginners: "초보자용" multiplayer: "멀티플레이어" for_developers: "개발자용" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "레벨을 선택하세요." diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee index dd8420fff..c34b07ae6 100644 --- a/app/locale/lt.coffee +++ b/app/locale/lt.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/ms.coffee b/app/locale/ms.coffee index 7149e3b19..62d60bdb5 100644 --- a/app/locale/ms.coffee +++ b/app/locale/ms.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee index 855b05b2b..cfcf2cd07 100644 --- a/app/locale/nb.coffee +++ b/app/locale/nb.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Velg Ditt Nivå" diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index 42221b38d..20eef3d90 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: for_beginners: "Voor Beginners" multiplayer: "Multiplayer" for_developers: "Voor ontwikkelaars" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Kies Je Level" diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index f54d02efd..5db7557ee 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription for_beginners: "Voor Beginners" multiplayer: "Multiplayer" for_developers: "Voor ontwikkelaars" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Kies Je Level" diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee index 74b8c35b4..0fccad1af 100644 --- a/app/locale/nl.coffee +++ b/app/locale/nl.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t for_beginners: "Voor Beginners" multiplayer: "Multiplayer" for_developers: "Voor ontwikkelaars" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Kies Je Level" diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee index c7e58789f..180420e6a 100644 --- a/app/locale/nn.coffee +++ b/app/locale/nn.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/no.coffee b/app/locale/no.coffee index 4085d5128..d319665ee 100644 --- a/app/locale/no.coffee +++ b/app/locale/no.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Velg Ditt Nivå" diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee index 6cbdc2007..a047b1f31 100644 --- a/app/locale/pl.coffee +++ b/app/locale/pl.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish for_beginners: "Dla początkujących" # multiplayer: "Multiplayer" for_developers: "Dla developerów" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Wybierz poziom" diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee index f7758b9be..21ef4fcf3 100644 --- a/app/locale/pt-BR.coffee +++ b/app/locale/pt-BR.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: for_beginners: "Para Iniciantes" multiplayer: "Multijogador" for_developers: "Para Desenvolvedores" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Escolha seu estágio" diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index 278fc30f6..47879bfe7 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: for_beginners: "Para Iniciantes" multiplayer: "Multijogador" for_developers: "Para Programadores" +# javascript_blurb: "A linguagem da web. Ótima para escrever websites, aplicações da web, jogos HTML5 e servidores." +# python_blurb: "Simples mas poderoso, o Python é uma linguagem de programação ótima para propósitos gerais." +# coffeescript_blurb: "Sintaxe do Javascript mais agradável." +# clojure_blurb: "Um Lisp moderno" +# lua_blurb: "Linguagem para scripts de jogos" +# io_blurb: "Simples mas obscuro" play: choose_your_level: "Escolha o Seu Nível" @@ -186,7 +192,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: error_saving: "Erro ao Guardar" saved: "Alterações Guardadas" password_mismatch: "As palavras-passe não coincidem." -# password_repeat: "Please repeat your password." + password_repeat: "Por favor repita a sua palavra-passe." job_profile: "Perfil de Emprego" job_profile_approved: "O seu perfil de emprego foi aprovado pelo CodeCombat. Os empregadores poderão vê-lo até que o defina como inativo ou não o tenha alterado à 4 semanas." job_profile_explanation: "Olá! Preencha isto e entraremos em contacto consigo sobre encontrar um emprego de desenvolvedor de software para si." @@ -327,7 +333,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News." # make_hiring_easier: "Make my hiring easier, please." what: "O que é o CodeCombat?" - what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros desenvolvedores. Nós suportamos JavaScript, Python, Lua, Clojure, CoffeeScript e Io." + what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros desenvolvedores. Os nossos jogadores têm experiência com todos os conceitos tecnológicos principais." cost: "Quanto é que cobramos?" cost_blurb: "Cobramos 15% do salário do primeiro ano e ofereçemos uma garantia de devolução de 100% do dinheiro durante 90 dias. Não cobramos por candidatos que já estejam a ser ativamente entrevistados na sua companhia." candidate_name: "Nome" @@ -503,13 +509,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: pick_a_terrain: "Escolha Um Terreno" small: "Pequeno" grassy: "Com Relva" -# fork_title: "Fork New Version" -# fork_creating: "Creating Fork..." + fork_title: "Bifurcar Nova Versão" + fork_creating: "A Criar Bifurcação..." # randomize: "Randomize" -# more: "More" -# wiki: "Wiki" -# live_chat: "Live Chat" - level_some_options: "Algumas opções?" + more: "Mais" + wiki: "Wiki" + live_chat: "Chat Ao Vivo" + level_some_options: "Algumas Opções?" level_tab_thangs: "Thangs" level_tab_scripts: "Scripts" level_tab_settings: "Configurações" @@ -522,19 +528,19 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # delete: "Delete" # duplicate: "Duplicate" level_settings_title: "Configurações" - level_component_tab_title: "Componentes atuais" - level_component_btn_new: "Cria um novo Componente" - level_systems_tab_title: "Sistemas atuais" - level_systems_btn_new: "Cria um novo Sistema" - level_systems_btn_add: "Adiciona um Sistema" + level_component_tab_title: "Componentes Atuais" + level_component_btn_new: "Criar Novo Componente" + level_systems_tab_title: "Sistemas Atuais" + level_systems_btn_new: "Cria Novo Sistema" + level_systems_btn_add: "Adicionar Sistema" level_components_title: "Voltar para Todos os Thangs" level_components_type: "Tipo" level_component_edit_title: "Editar Componente" # level_component_config_schema: "Config Schema" level_component_settings: "Configurações" level_system_edit_title: "Editar Sistema" - create_system_title: "Criar novo Sistema" - new_component_title: "Criar novo Componente" + create_system_title: "Criar Novo Sistema" + new_component_title: "Criar Novo Componente" new_component_field_system: "Sistema" new_article_title: "Criar um Novo Artigo" new_thang_title: "Criar um Novo Tipo de Thang" @@ -559,20 +565,20 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: name: "Nome" body: "Corpo" version: "Versão" - commit_msg: "Mensagem de Commit" -# version_history: "Version History" - version_history_for: "Histórico de versões por: " + commit_msg: "Enviar Mensagem" + version_history: "Histórico de Versões" + version_history_for: "Histórico de Versões para: " result: "Resultado" results: "Resultados" description: "Descrição" or: "ou" -# subject: "Subject" + subject: "Assunto" email: "E-mail" password: "Palavra-passe" message: "Mensagem" code: "Código" ladder: "Classificação" - when: "quando" + when: "Quando" opponent: "Adversário" rank: "Classificação" score: "Resultado" @@ -768,17 +774,17 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: ambassador_title_description: "(Suporte)" ladder: - please_login: "Por favor, faz log in antes de jogar um jogo para o campeonato." - my_matches: "Os meus jogos" + please_login: "Por favor inicie sessão antes de jogar um jogo do campeonato." + my_matches: "Os Meus Jogos" simulate: "Simular" - simulation_explanation: "Simulando jogos podes fazer com que o teu jogo seja classificado mais rapidamente!" + simulation_explanation: "Ao simular jogos pode ter o seu jogo classificado mais rapidamente!" simulate_games: "Simular Jogos!" # simulate_all: "RESET AND SIMULATE GAMES" -# games_simulated_by: "Games simulated by you:" -# games_simulated_for: "Games simulated for you:" -# games_simulated: "Games simulated" -# games_played: "Games played" -# ratio: "Ratio" + games_simulated_by: "Jogos simulados por si:" + games_simulated_for: "Jogos simulados para si:" + games_simulated: "Jogos simulados" + games_played: "Jogos jogados" + ratio: "Rácio" leaderboard: "Tabela de Classificação" battle_as: "Lutar como " summary_your: "As tuas " @@ -868,29 +874,29 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # server_error: "Server error." # unknown: "Unknown error." -# resources: -# your_sessions: "Your Sessions" -# level: "Level" + resources: + your_sessions: "As Suas Sessões" + level: "Nível" # social_network_apis: "Social Network APIs" # facebook_status: "Facebook Status" -# facebook_friends: "Facebook Friends" + facebook_friends: "Amigos do Facebook" # facebook_friend_sessions: "Facebook Friend Sessions" -# gplus_friends: "G+ Friends" + gplus_friends: "Amigos do Google+" # gplus_friend_sessions: "G+ Friend Sessions" -# leaderboard: "Leaderboard" + leaderboard: "Tabela de Classificação" # user_schema: "User Schema" # user_profile: "User Profile" # patches: "Patches" # patched_model: "Source Document" # model: "Model" -# system: "System" -# component: "Component" -# components: "Components" -# thang: "Thang" -# thangs: "Thangs" -# level_session: "Your Session" -# opponent_session: "Opponent Session" -# article: "Article" + system: "Sistema" + component: "Componente" + components: "Componentes" + thang: "Thang" + thangs: "Thangs" + level_session: "A Sua Sessão" + opponent_session: "Sessão Do Oponente" + article: "Artigo" # user_names: "User Names" # thang_names: "Thang Names" # files: "Files" @@ -900,7 +906,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # sprite_sheet: "Sprite Sheet" # candidate_sessions: "Candidate Sessions" # user_remark: "User Remark" -# versions: "Versions" + versions: "Versões" # delta: # added: "Added" diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee index ea24890d3..e69e86463 100644 --- a/app/locale/pt.coffee +++ b/app/locale/pt.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Escolha seu estágio" diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee index baefa15fb..145382ca0 100644 --- a/app/locale/ro.coffee +++ b/app/locale/ro.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman for_beginners: "Pentru Începători" multiplayer: "Multiplayer" for_developers: "Pentru dezvoltatori" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Alege nivelul" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 9ac956a4d..cb96b0e6e 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi for_beginners: "Новичкам" multiplayer: "Мультиплеер" for_developers: "Разработчикам" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Выберите ваш уровень" diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee index 20be15ee8..135b8acf0 100644 --- a/app/locale/sk.coffee +++ b/app/locale/sk.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", for_beginners: "Pre začiatočníkov" # multiplayer: "Multiplayer" for_developers: "Pre vývojárov" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Vyber si úroveň" diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee index 73c8947f7..6517ac37d 100644 --- a/app/locale/sl.coffee +++ b/app/locale/sl.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee index 4b748189c..ae0508b0f 100644 --- a/app/locale/sr.coffee +++ b/app/locale/sr.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Изабери ниво" diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee index ac9d04d87..1e6356c4f 100644 --- a/app/locale/sv.coffee +++ b/app/locale/sv.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr for_beginners: "För nybörjare" multiplayer: "Flera spelare" for_developers: "För utvecklare" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Välj din nivå" diff --git a/app/locale/th.coffee b/app/locale/th.coffee index debe63e0f..0ffadebae 100644 --- a/app/locale/th.coffee +++ b/app/locale/th.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee index 83596230d..6c52344fa 100644 --- a/app/locale/tr.coffee +++ b/app/locale/tr.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t for_beginners: "Yeni Başlayanlar için" multiplayer: "Çoklu-oyuncu Modu" for_developers: "Geliştiriciler için" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Seviye Seçimi" diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee index beb7659ec..65c15f9c3 100644 --- a/app/locale/uk.coffee +++ b/app/locale/uk.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "українська мова", englishDesc for_beginners: "Для новачків" multiplayer: "Командна гра" for_developers: "Для розробників" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Оберіть свій рівень" diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee index a0ca20473..9672ccdbd 100644 --- a/app/locale/ur.coffee +++ b/app/locale/ur.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee index 55bf539c7..f58f20fb4 100644 --- a/app/locale/vi.coffee +++ b/app/locale/vi.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "Chọn Trình của bạn" diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee index 665af4c82..7523c69af 100644 --- a/app/locale/zh-HANS.coffee +++ b/app/locale/zh-HANS.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese for_beginners: "适合初学者" multiplayer: "多人游戏" for_developers: "适合开发者" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "选择关卡" diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee index 96a11fc42..b4a96e647 100644 --- a/app/locale/zh-HANT.coffee +++ b/app/locale/zh-HANT.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "選取關卡" diff --git a/app/locale/zh-WUU-HANS.coffee b/app/locale/zh-WUU-HANS.coffee index 5d5a8c757..ea129d982 100644 --- a/app/locale/zh-WUU-HANS.coffee +++ b/app/locale/zh-WUU-HANS.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." # play: # choose_your_level: "Choose Your Level" diff --git a/app/locale/zh-WUU-HANT.coffee b/app/locale/zh-WUU-HANT.coffee index 6fdb7dd26..361a86c11 100644 --- a/app/locale/zh-WUU-HANT.coffee +++ b/app/locale/zh-WUU-HANT.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio for_beginners: "適合學起頭個人" multiplayer: "聚隊打遊戲" for_developers: "適合開發個人" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "揀關數" diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee index 7a2b8c97e..811f7a5ca 100644 --- a/app/locale/zh.coffee +++ b/app/locale/zh.coffee @@ -100,6 +100,12 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # for_beginners: "For Beginners" # multiplayer: "Multiplayer" # for_developers: "For Developers" +# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." +# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." +# coffeescript_blurb: "Nicer JavaScript syntax." +# clojure_blurb: "A modern Lisp." +# lua_blurb: "Game scripting language." +# io_blurb: "Simple but obscure." play: choose_your_level: "选取难度" diff --git a/app/styles/docs/components.sass b/app/styles/docs/components.sass index 73979ded2..9283eda41 100644 --- a/app/styles/docs/components.sass +++ b/app/styles/docs/components.sass @@ -15,8 +15,11 @@ .doc-name color: rgb(139, 69, 19) + .index-column + width: 25% .documentation-column + width: 75% .specialList list-style-type: none diff --git a/app/styles/home.sass b/app/styles/home.sass index c58133fb8..f5abd9c0f 100644 --- a/app/styles/home.sass +++ b/app/styles/home.sass @@ -167,6 +167,10 @@ h2 margin: 15px 0 5px + p + overflow: hidden + height: 40px + .secondary-code-languages margin-left: -10px @@ -201,17 +205,22 @@ margin: 0 padding: 0 + p + white-space: nowrap + text-overflow: ellipsis + overflow: hidden + #coffeescript .code-language-logo - background: transparent url(/images/pages/home/language_logo_coffeescript.png) no-repeat center + background: transparent url(/images/common/code_languages/coffeescript_small.png) no-repeat center #clojure .code-language-logo - background: transparent url(/images/pages/home/language_logo_clojure.png) no-repeat center + background: transparent url(/images/common/code_languages/clojure_small.png) no-repeat center #lua .code-language-logo - background: transparent url(/images/pages/home/language_logo_lua.png) no-repeat center + background: transparent url(/images/common/code_languages/lua_small.png) no-repeat center #io .code-language-logo - background: transparent url(/images/pages/home/language_logo_io.png) no-repeat center + background: transparent url(/images/common/code_languages/io_small.png) no-repeat center #multiplayer-launch-modal diff --git a/app/styles/play/ladder/ladder_tab.sass b/app/styles/play/ladder/ladder_tab.sass index c92726c9c..2529f6280 100644 --- a/app/styles/play/ladder/ladder_tab.sass +++ b/app/styles/play/ladder/ladder_tab.sass @@ -53,6 +53,5 @@ .code-language-cell padding: 0 10px - background: transparent url(/images/pages/home/language_logo_javascript.png) no-repeat center center - background-size: contain - height: 19px + background: transparent url(/images/common/code_languages/javascript_icon.png) no-repeat center center + height: 16px diff --git a/app/styles/play/ladder/my_matches_tab.sass b/app/styles/play/ladder/my_matches_tab.sass index 741a3a534..13aca340d 100644 --- a/app/styles/play/ladder/my_matches_tab.sass +++ b/app/styles/play/ladder/my_matches_tab.sass @@ -40,6 +40,5 @@ .code-language-cell padding: 0 10px - background: transparent url(/images/pages/home/language_logo_javascript.png) no-repeat center center - background-size: contain - height: 19px + background: transparent url(/images/common/code_languages/javascript_icon.png) no-repeat center center + height: 16px diff --git a/app/styles/play/ladder/play_modal.sass b/app/styles/play/ladder/play_modal.sass index 3587c557f..6050df159 100644 --- a/app/styles/play/ladder/play_modal.sass +++ b/app/styles/play/ladder/play_modal.sass @@ -98,12 +98,12 @@ .code-language position: absolute - background: transparent url(/images/pages/home/language_logo_javascript.png) no-repeat center center + background: transparent url(/images/common/code_languages/javascript_small.png) no-repeat center center background-size: contain - width: 40px - height: 40px - right: -5px - top: -15px + width: 50px + height: 50px + right: -0px + top: -30px display: block .my-name diff --git a/app/styles/play/level/tome/spell_palette.sass b/app/styles/play/level/tome/spell_palette.sass index 3e2f78794..6c5a12f32 100644 --- a/app/styles/play/level/tome/spell_palette.sass +++ b/app/styles/play/level/tome/spell_palette.sass @@ -70,10 +70,10 @@ .code-language-logo position: absolute - width: 20px - height: 20px - left: 12px - top: 34px + width: 16px + height: 16px + left: 16px + top: 36px z-index: 10 background-color: transparent background-repeat: no-repeat @@ -81,21 +81,27 @@ cursor: pointer &.javascript - background-image: url(/images/pages/home/language_logo_javascript.png) + background-image: url(/images/common/code_languages/javascript_icon.png) &.python - background-image: url(/images/pages/home/language_logo_python.png) + background-image: url(/images/common/code_languages/python_icon.png) &.coffeescript - background-image: url(/images/pages/home/language_logo_coffeescript.png) + background-image: url(/images/common/code_languages/coffeescript_icon.png) &.clojure - background-image: url(/images/pages/home/language_logo_clojure.png) + background-image: url(/images/common/code_languages/clojure_icon.png) &.lua - background-image: url(/images/pages/home/language_logo_lua.png) + background-image: url(/images/common/code_languages/lua_icon.png) &.io - background-image: url(/images/pages/home/language_logo_io.png) + background-image: url(/images/common/code_languages/io_icon.png) + + &:hover + outline: 1px outset #ccc + + &:active + outline: 1px inset #ccc html.no-borderimage #spell-palette-view span.code-palette-background display: none img.code-palette-background - display: block \ No newline at end of file + display: block diff --git a/app/templates/docs/components.jade b/app/templates/docs/components.jade index 157bb7f39..43ccbcb92 100644 --- a/app/templates/docs/components.jade +++ b/app/templates/docs/components.jade @@ -26,8 +26,8 @@ block content li(id="#{component.get('name')}#{doc.name}") | #{doc.name} ul.specialList - if doc.description[language.substring(1,language.length-1)] - li!=marked(doc.description[language.substring(1,language.length-1)]) + if doc.description[language] + li!=marked(doc.description[language]) else li!=marked(doc.description) diff --git a/app/templates/home.jade b/app/templates/home.jade index 02775696a..6d9d939df 100644 --- a/app/templates/home.jade +++ b/app/templates/home.jade @@ -10,14 +10,14 @@ block content .code-language#javascript(data-code-language='javascript') .code-wizard h2 JavaScript - p The language of the web. Great for writing websites, web apps, HTML5 games, and servers. + p(data-i18n="home.javascript_blurb") The language of the web. Great for writing websites, web apps, HTML5 games, and servers. .col-md-6 .code-language.beta#python(data-code-language='python') .code-wizard .code-language-beta h2 Python - p Simple yet powerful, Python is a great general purpose programming language. + p(data-i18n="home.python_blurb") Simple yet powerful, Python is a great general purpose programming language. .secondary-code-languages.row .col-md-3 @@ -26,7 +26,7 @@ block content .code-wizard .code-language-beta h3 CoffeeScript - p Nicer JavaScript syntax + p(data-i18n="home.coffeescript_blurb") Nicer JavaScript syntax. .col-md-3 .code-language.beta#clojure(data-code-language='clojure') @@ -34,7 +34,7 @@ block content .code-wizard .code-language-beta h3 Clojure - p A modern Lisp + p(data-i18n="home.clojure_blurb") A modern Lisp. .col-md-3 .code-language.beta#lua(data-code-language='lua') @@ -42,7 +42,7 @@ block content .code-wizard .code-language-beta h3 Lua - p Game scripting language + p(data-i18n="home.lua_blurb") Game scripting language. .col-md-3 .code-language.beta#io(data-code-language='io', title="Careful: Io is still quite buggy") @@ -50,7 +50,7 @@ block content .code-wizard .code-language-beta h3 Io - p Simple but obscure + p(data-i18n="home.io_blurb") Simple but obscure. .alert.alert-danger.lt-ie10 strong(data-i18n="home.no_ie") CodeCombat does not run in Internet Explorer 9 or older. Sorry! diff --git a/app/templates/play/ladder/ladder_tab.jade b/app/templates/play/ladder/ladder_tab.jade index 4d682243a..515397e1f 100644 --- a/app/templates/play/ladder/ladder_tab.jade +++ b/app/templates/play/ladder/ladder_tab.jade @@ -21,7 +21,7 @@ div#columns.row for session, rank in topSessions - var myRow = session.get('creator') == me.id tr(class=myRow ? "success" : "", data-player-id=session.get('creator'), data-session-id=session.id) - td.code-language-cell(style="background-image: url(/images/pages/home/language_logo_" + session.get('submittedCodeLanguage') + ".png)") + td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)") td.rank-cell= rank + 1 td.score-cell= Math.round(session.get('totalScore') * 100) td.name-col-cell= session.get('creatorName') || "Anonymous" @@ -35,7 +35,7 @@ div#columns.row for session in team.leaderboard.nearbySessions() - var myRow = session.get('creator') == me.id tr(class=myRow ? "success" : "", data-player-id=session.get('creator'), data-session-id=session.id) - td.code-language-cell(style="background-image: url(/images/pages/home/language_logo_" + session.get('submittedCodeLanguage') + ".png)") + td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)") td.rank-cell= session.rank td.score-cell= Math.round(session.get('totalScore') * 100) td.name-col-cell= session.get('creatorName') || "Anonymous" diff --git a/app/templates/play/ladder/my_matches_tab.jade b/app/templates/play/ladder/my_matches_tab.jade index a08f6651b..bf4d9e856 100644 --- a/app/templates/play/ladder/my_matches_tab.jade +++ b/app/templates/play/ladder/my_matches_tab.jade @@ -39,7 +39,7 @@ div#columns.row span(data-i18n="general.loss").loss Loss if match.state === 'tie' span(data-i18n="general.tie").tie Tie - td.code-language-cell(style="background-image: url(/images/pages/home/language_logo_" + match.codeLanguage + ".png)") + td.code-language-cell(style="background-image: url(/images/common/code_languages/" + match.codeLanguage + "_icon.png)") td.name-cell= match.opponentName || "Anonymous" td.time-cell= match.when td.battle-cell diff --git a/app/templates/play/ladder/play_modal.jade b/app/templates/play/ladder/play_modal.jade index 841203b2f..c25c3a1f5 100644 --- a/app/templates/play/ladder/play_modal.jade +++ b/app/templates/play/ladder/play_modal.jade @@ -33,7 +33,7 @@ block modal-body-content span= myName div.opponent-name.name-label span(data-i18n="ladder.simple_ai") Simple AI - //span.code-language(style="background-image: url(/images/pages/home/language_logo_javascript.png)") + //span.code-language(style="background-image: url(/images/common/code_languages/javascript_small.png)") div.difficulty span(data-i18n="ladder.warmup") Warmup div(data-i18n="ladder.vs").vs VS @@ -50,7 +50,7 @@ block modal-body-content div.opponent-name.name-label span= challengers.easy.opponentName if challengers.easy.codeLanguage - span.code-language(style="background-image: url(/images/pages/home/language_logo_" + challengers.easy.codeLanguage + ".png)") + span.code-language(style="background-image: url(/images/common/code_languages/" + challengers.easy.codeLanguage + "_small.png)") div.difficulty span(data-i18n="general.easy") Easy div(data-i18n="ladder.vs").vs VS @@ -67,7 +67,7 @@ block modal-body-content div.opponent-name.name-label span= challengers.medium.opponentName if challengers.medium.codeLanguage - span.code-language(style="background-image: url(/images/pages/home/language_logo_" + challengers.medium.codeLanguage + ".png)") + span.code-language(style="background-image: url(/images/common/code_languages/" + challengers.medium.codeLanguage + "_small.png)") div.difficulty span(data-i18n="general.medium") Medium div(data-i18n="ladder.vs").vs VS @@ -84,7 +84,7 @@ block modal-body-content div.opponent-name.name-label span= challengers.hard.opponentName if challengers.hard.codeLanguage - span.code-language(style="background-image: url(/images/pages/home/language_logo_" + challengers.hard.codeLanguage + ".png)") + span.code-language(style="background-image: url(/images/common/code_languages/" + challengers.hard.codeLanguage + "_small.png)") div.difficulty span(data-i18n="general.hard") Hard div(data-i18n="ladder.vs").vs VS diff --git a/app/views/docs/components_view.coffee b/app/views/docs/components_view.coffee index 181eacbbd..0a789000e 100644 --- a/app/views/docs/components_view.coffee +++ b/app/views/docs/components_view.coffee @@ -34,5 +34,5 @@ module.exports = class UnnamedView extends RootView if (me.get('aceConfig')?.language?) is false c.language = 'javascript' else - c.language = JSON.stringify(me.get('aceConfig').language) + c.language = me.get('aceConfig').language c diff --git a/app/views/home_view.coffee b/app/views/home_view.coffee index 40eb72e88..ff3b287c2 100644 --- a/app/views/home_view.coffee +++ b/app/views/home_view.coffee @@ -52,7 +52,7 @@ module.exports = class HomeView extends View @updateLanguageLogos codeLanguage updateLanguageLogos: (codeLanguage) -> - @$el.find('.game-mode-wrapper .code-language-logo').css('background-image', "url(/images/pages/home/language_logo_#{codeLanguage}.png)").toggleClass 'inverted', (codeLanguage in ['io', 'coffeescript']) + @$el.find('.game-mode-wrapper .code-language-logo').css('background-image', "url(/images/common/code_languages/#{codeLanguage}_small.png)").toggleClass 'inverted', (codeLanguage in ['io', 'coffeescript']) onCodeLanguageSelected: (e) -> target = $(e.target).closest('.code-language') diff --git a/app/views/play_view.coffee b/app/views/play_view.coffee index bd7a412e7..c6679a3f4 100644 --- a/app/views/play_view.coffee +++ b/app/views/play_view.coffee @@ -117,7 +117,7 @@ module.exports = class PlayView extends View difficulty: 2 id: 'emphasis-on-aim' image: '/file/db/level/525f384d96cd77000000000f/munchkin_masher_icon.png' - description: 'Chose your targets carefully.' + description: 'Choose your targets carefully.' } { name: 'Zone of Danger' diff --git a/server/routes/mail.coffee b/server/routes/mail.coffee index 48f83d3fa..e0ef70220 100644 --- a/server/routes/mail.coffee +++ b/server/routes/mail.coffee @@ -1,5 +1,6 @@ mail = require '../commons/mail' MailSent = require '../mail/sent/MailSent' +UserRemark = require '../users/remarks/UserRemark' User = require '../users/User' async = require 'async' errors = require '../commons/errors' @@ -28,6 +29,9 @@ setupScheduledEmails = -> , taskFunction: employerNewCandidatesAvailableTask frequencyMs: 10 * 60 * 1000 #10 minutes + , + taskFunction: unapprovedCandidateFinishProfileTask + frequencyMs: 10 * 60 * 1000 ] for mailTask in mailTasks @@ -35,8 +39,7 @@ setupScheduledEmails = -> testForLockManager = -> unless lockManager then throw "The system isn't configured to do distributed locking!" -### Candidate Update Reminder Task ### - +### Approved Candidate Update Reminder Task ### candidateUpdateProfileTask = -> mailTaskName = "candidateUpdateProfileTask" lockDurationMs = 2 * 60 * 1000 @@ -132,7 +135,103 @@ sendReminderEmailToCandidate = (candidate, sendEmailCallback) -> sendwithus.api.send context, (err, result) -> log.error "Error sending candidate update reminder email: #{err} with result #{result}" if err sendEmailCallback null -### End Candidate Update Reminder Task ### +### End Approved Candidate Update Reminder Task ### + +### Unapproved Candidate Finish Reminder Task ### +unapprovedCandidateFinishProfileTask = -> + mailTaskName = "unapprovedCandidateFinishProfileTask" + lockDurationMs = 2 * 60 * 1000 + currentDate = new Date() + timeRanges = [] + for weekPair in [[4, 2,'two weeks'], [8, 4, 'four weeks'], [52, 8, 'eight weeks']] + timeRanges.push + start: generateWeekOffset currentDate, weekPair[0] + end: generateWeekOffset currentDate, weekPair[1] + name: weekPair[2] + lockManager.setLock mailTaskName, lockDurationMs, (err) -> + if err? then return log.error "Error getting a distributed lock for task #{mailTaskName}: #{err}" + async.each timeRanges, emailUnapprovedCandidateTimeRange.bind({mailTaskName: mailTaskName}), (err) -> + if err + log.error "There was an error sending the candidate profile update reminder emails: #{err}" + else + log.info "Completed mail task #{mailTaskName}" + lockManager.releaseLock mailTaskName, (err) -> + if err? then return log.error "There was an error releasing the distributed lock for task #{mailTaskName}: #{err}" + +emailUnapprovedCandidateTimeRange = (timeRange, emailTimeRangeCallback) -> + waterfallContext = + "timeRange": timeRange + "mailTaskName": @mailTaskName + async.waterfall [ + findAllUnapprovedCandidatesWithinTimeRange.bind(waterfallContext) + (unfilteredCandidates, cb) -> + async.reject unfilteredCandidates, ignoredCandidateFilter, cb.bind(null,null) + (unfilteredPotentialCandidates, cb) -> + async.reject unfilteredPotentialCandidates, unapprovedCandidateFilter.bind(waterfallContext), cb.bind(null, null) + (filteredCandidates, cb) -> + async.each filteredCandidates, sendReminderEmailToUnapprovedCandidate.bind(waterfallContext), cb + ], emailTimeRangeCallback + +findAllUnapprovedCandidatesWithinTimeRange = (cb) -> + findParameters = + "jobProfile": + $exists: true + "jobProfile.updated": + $gt: @timeRange.start + $lte: @timeRange.end + "jobProfileApproved": false + selection = "_id email jobProfile.name jobProfile.updated emails" + User.find(findParameters).select(selection).lean().exec cb + +ignoredCandidateFilter = (candidate, cb) -> + findParameters = + "user": candidate._id + "contactName": "Ignore" + UserRemark.count findParameters, (err, results) -> + if err? then return true + return cb Boolean(results.length) + +unapprovedCandidateFilter = (candidate, sentEmailFilterCallback) -> + if candidate.emails?.anyNotes?.enabled is false or candidate.emails?.recruitNotes?.enabled is false + return sentEmailFilterCallback true + findParameters = + "user": candidate._id + "mailTask": @mailTaskName + "metadata.timeRangeName": @timeRange.name + "metadata.updated": candidate.jobProfile.updated + MailSent.find(findParameters).lean().exec (err, sentMail) -> + if err? + log.error "Error finding mail sent for task #{@mailTaskName} and user #{candidate._id}!" + sentEmailFilterCallback true + else + sentEmailFilterCallback Boolean(sentMail.length) + +sendReminderEmailToUnapprovedCandidate = (candidate, sendEmailCallback) -> + if err? + log.error "There was an error finding employers who signed up after #{candidate.jobProfile.updated}: #{err}" + return sendEmailCallback err + context = + email_id: "tem_RXyjzmc7S2HJH287pfoSPN" + recipient: + address: candidate.email + name: candidate.jobProfile.name + email_data: + user_profile: "http://codecombat.com/account/profile/#{candidate._id}" + recipient_address: encodeURIComponent(candidate.email) + log.info "Sending #{@timeRange.name} finish profile reminder to #{context.recipient.name}(#{context.recipient.address})" + newSentMail = + mailTask: @mailTaskName + user: candidate._id + metadata: + timeRangeName: @timeRange.name + updated: candidate.jobProfile.updated + MailSent.create newSentMail, (err) -> + if err? then return sendEmailCallback err + sendwithus.api.send context, (err, result) -> + log.error "Error sending candidate finish profile reminder email: #{err} with result #{result}" if err + sendEmailCallback null +### End Unapproved Candidate Finish Reminder Task ### + ### Internal Candidate Update Reminder Email ### internalCandidateUpdateTask = -> mailTaskName = "internalCandidateUpdateTask"