diff --git a/app/assets/images/pages/home/campaign.jpg b/app/assets/images/pages/home/campaign.jpg
new file mode 100755
index 000000000..df135c9a4
Binary files /dev/null and b/app/assets/images/pages/home/campaign.jpg differ
diff --git a/app/assets/images/pages/home/campaign_notext.jpg b/app/assets/images/pages/home/campaign_notext.jpg
new file mode 100644
index 000000000..fa7d3c37f
Binary files /dev/null and b/app/assets/images/pages/home/campaign_notext.jpg differ
diff --git a/app/assets/images/pages/home/multiplayer.jpg b/app/assets/images/pages/home/multiplayer.jpg
new file mode 100755
index 000000000..38590f3fa
Binary files /dev/null and b/app/assets/images/pages/home/multiplayer.jpg differ
diff --git a/app/assets/images/pages/home/multiplayer_notext.jpg b/app/assets/images/pages/home/multiplayer_notext.jpg
new file mode 100644
index 000000000..b4657d397
Binary files /dev/null and b/app/assets/images/pages/home/multiplayer_notext.jpg differ
diff --git a/app/lib/Router.coffee b/app/lib/Router.coffee
index db70b8c74..65915dd56 100644
--- a/app/lib/Router.coffee
+++ b/app/lib/Router.coffee
@@ -17,7 +17,7 @@ module.exports = class CocoRouter extends Backbone.Router
# editor views tend to have the same general structure
'editor/:model(/:slug_or_id)(/:subview)': 'editorModelView'
-
+
# Experimenting with direct links
# 'play/ladder/:levelID/team/:team': go('play/ladder/team_view')
@@ -31,7 +31,7 @@ module.exports = class CocoRouter extends Backbone.Router
home: -> @openRoute('home')
general: (name) ->
@openRoute(name)
-
+
editorModelView: (modelName, slugOrId, subview) ->
modulePrefix = "views/editor/#{modelName}/"
suffix = subview or (if slugOrId then 'edit' else 'home')
@@ -92,7 +92,7 @@ module.exports = class CocoRouter extends Backbone.Router
view = @getView(route)
@cache[route] = view if view?.cache
return view
-
+
routeDirectly: (path, args) ->
path = "views/#{path}"
ViewClass = @tryToLoadModule path
@@ -154,7 +154,7 @@ module.exports = class CocoRouter extends Backbone.Router
onNavigate: (e) ->
manualView = e.view or e.viewClass
- @navigate e.route, {trigger:not manualView}
+ @navigate e.route, {trigger: not manualView}
return unless manualView
if e.viewClass
args = e.viewArgs or []
diff --git a/app/lib/scripts/SurfaceScriptModule.coffee b/app/lib/scripts/SurfaceScriptModule.coffee
index d6c3b3016..7642cfd33 100644
--- a/app/lib/scripts/SurfaceScriptModule.coffee
+++ b/app/lib/scripts/SurfaceScriptModule.coffee
@@ -30,6 +30,7 @@ module.exports = class SurfaceScriptModule extends ScriptModule
e.pos = focus.target if _.isPlainObject focus.target
e.thangID = focus.target if _.isString focus.target
e.zoom = focus.zoom or 2.0 # TODO: test only doing this if e.pos, e.thangID, or focus.zoom?
+ e.zoom *= 2 if e.zoom # On 2014-03-16, we doubled the canvas width/height, so now we have a legacy zoom multipler.
e.duration = if focus.duration? then focus.duration else 1500
e.duration = 0 if instant
e.bounds = focus.bounds if focus.bounds?
diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee
index 38463114c..1b264eae2 100644
--- a/app/lib/simulator/Simulator.coffee
+++ b/app/lib/simulator/Simulator.coffee
@@ -1,9 +1,10 @@
SuperModel = require 'models/SuperModel'
+CocoClass = require 'lib/CocoClass'
LevelLoader = require 'lib/LevelLoader'
GoalManager = require 'lib/world/GoalManager'
God = require 'lib/God'
-module.exports = class Simulator
+module.exports = class Simulator extends CocoClass
constructor: ->
_.extend @, Backbone.Events
@@ -14,9 +15,11 @@ module.exports = class Simulator
destroy: ->
@off()
@cleanupSimulation()
+ super()
# TODO: More teardown?
fetchAndSimulateTask: =>
+ return if @destroyed
@trigger 'statusUpdate', 'Fetching simulation data!'
$.ajax
url: @taskURL
@@ -49,6 +52,7 @@ module.exports = class Simulator
@levelLoader.once 'loaded-all', @simulateGame
simulateGame: =>
+ return if @destroyed
@trigger 'statusUpdate', 'All resources loaded, simulating!', @task.getSessions()
@assignWorldAndLevelFromLevelLoaderAndDestroyIt()
@setupGod()
diff --git a/app/lib/surface/Camera.coffee b/app/lib/surface/Camera.coffee
index 6427caec1..7240c3c88 100644
--- a/app/lib/surface/Camera.coffee
+++ b/app/lib/surface/Camera.coffee
@@ -5,8 +5,8 @@ CocoClass = require 'lib/CocoClass'
r2d = (radians) -> radians * 180 / Math.PI
d2r = (degrees) -> degrees / 180 * Math.PI
-MAX_ZOOM = 4
-MIN_ZOOM = 0.05
+MAX_ZOOM = 8
+MIN_ZOOM = 0.1
DEFAULT_ZOOM = 2.0
DEFAULT_TARGET = {x:0, y:0}
DEFAULT_TIME = 1000
@@ -17,7 +17,7 @@ module.exports = class Camera extends CocoClass
@PPM: 10 # pixels per meter
@MPP: 0.1 # meters per pixel; should match @PPM
- bounds: null # list of two surface points defining the viewable rectangle in the world
+ bounds: null # list of two surface points defining the viewable rectangle in the world
# or null if there are no bounds
# what the camera is pointed at right now
@@ -44,7 +44,6 @@ module.exports = class Camera extends CocoClass
'sprite:dragged': 'onMouseDragged'
'camera-zoom-to': 'onZoomTo'
- # TODO: Fix tests to not use mainLayer
constructor: (@canvasWidth, @canvasHeight, angle=Math.asin(0.75), hFOV=d2r(30)) ->
super()
@offset = {x: 0, y:0}
diff --git a/app/lib/surface/CocoSprite.coffee b/app/lib/surface/CocoSprite.coffee
index 9b6b68804..787eeda32 100644
--- a/app/lib/surface/CocoSprite.coffee
+++ b/app/lib/surface/CocoSprite.coffee
@@ -64,6 +64,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
@labels = {}
@handledAoEs = {}
@age = 0
+ @scaleFactor = @targetScaleFactor = 1
@displayObject = new createjs.Container()
if @thangType.get('actions')
@setupSprite()
@@ -249,12 +250,16 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
return
scaleX = if @getActionProp 'flipX' then -1 else 1
scaleY = if @getActionProp 'flipY' then -1 else 1
- scaleFactor = @thang.scaleFactor ? 1
- scaleFactorX = @thang.scaleFactorX ? scaleFactor
- scaleFactorY = @thang.scaleFactorY ? scaleFactor
+ scaleFactorX = @thang.scaleFactorX ? @scaleFactor
+ scaleFactorY = @thang.scaleFactorY ? @scaleFactor
@imageObject.scaleX = @originalScaleX * scaleX * scaleFactorX
@imageObject.scaleY = @originalScaleY * scaleY * scaleFactorY
+ if (@thang.scaleFactor or 1) isnt @targetScaleFactor
+ createjs.Tween.removeTweens(@)
+ createjs.Tween.get(@).to({scaleFactor:@thang.scaleFactor or 1}, 2000, createjs.Ease.elasticOut)
+ @targetScaleFactor = @thang.scaleFactor
+
updateAlpha: ->
@imageObject.alpha = if @hiding then 0 else 1
return unless @thang?.alpha?
diff --git a/app/lib/surface/IndieSprite.coffee b/app/lib/surface/IndieSprite.coffee
index ab7f2efda..5a5e4f49c 100644
--- a/app/lib/surface/IndieSprite.coffee
+++ b/app/lib/surface/IndieSprite.coffee
@@ -67,6 +67,7 @@ module.exports = IndieSprite = class IndieSprite extends CocoSprite
@thang.action = 'move'
@thang.actionActivated = true
@pointToward(pos)
+ @update true
ease = createjs.Ease.getPowInOut(2.2)
if @lastTween
@@ -77,7 +78,7 @@ module.exports = IndieSprite = class IndieSprite extends CocoSprite
@lastTween = null
@imageObject.gotoAndPlay(endAnimation)
@thang.action = 'idle'
- window.myself = @
+ @update true
@lastTween = createjs.Tween
.get(@thang.pos)
diff --git a/app/lib/surface/RegionChooser.coffee b/app/lib/surface/RegionChooser.coffee
index 7d28131d4..0dce6d435 100644
--- a/app/lib/surface/RegionChooser.coffee
+++ b/app/lib/surface/RegionChooser.coffee
@@ -33,7 +33,7 @@ module.exports = class RegionChooser extends CocoClass
@options.camera.dragDisabled = false
restrictRegion: ->
- RATIO = 1.56876 # 924 / 589
+ RATIO = 1.56876 # 1848 / 1178
rect = @options.camera.normalizeBounds([@firstPoint, @secondPoint])
currentRatio = rect.width / rect.height
if currentRatio > RATIO
diff --git a/app/lib/surface/WizardSprite.coffee b/app/lib/surface/WizardSprite.coffee
index cf07adc68..702f79ce4 100644
--- a/app/lib/surface/WizardSprite.coffee
+++ b/app/lib/surface/WizardSprite.coffee
@@ -165,6 +165,7 @@ module.exports = class WizardSprite extends IndieSprite
.to({tweenPercentage:0.0}, duration, ease)
.call(@endMoveTween)
@reachedTarget = false
+ @update true
shoveOtherWizards: (removeMe) ->
return unless @targetSprite
@@ -194,6 +195,7 @@ module.exports = class WizardSprite extends IndieSprite
@thang.actionActivated = @thang.action is 'cast'
@reachedTarget = true
@faceTarget()
+ @update true
updatePosition: ->
return unless @options.camera
@@ -244,7 +246,6 @@ module.exports = class WizardSprite extends IndieSprite
updateMarks: ->
super() if @displayObject.visible # not if we hid the wiz
-
onMoveKey: (e) ->
return unless @isSelf
e?.preventDefault()
diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee
index 09fcff581..1d74b3004 100644
--- a/app/locale/ar.coffee
+++ b/app/locale/ar.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee
index 3ad52cddd..b437e563b 100644
--- a/app/locale/bg.coffee
+++ b/app/locale/bg.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "български език", englishDescri
no_ie: "CodeCombat не работи под Internet Explorer 9 или по-стар. Съжалявам!"
no_mobile: "CodeCombat не е направен за мобилни устройства и може да не работи!"
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"
play:
choose_your_level: "Избери своето ниво"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "български език", englishDescri
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "български език", englishDescri
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee
index 28a2c2e07..19e9675d7 100644
--- a/app/locale/cs.coffee
+++ b/app/locale/cs.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
no_ie: "Omlouváme se, ale CodeCombat boužel nefunguje v Internet Exploreru 9 nebo starším."
no_mobile: "CodeCombat není navržen pro mobilní zařízení a nemusí fungovat správně!"
play: "Hrát"
+# 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"
play:
choose_your_level: "Zvolte si úroveň"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
campaign_player_created_description: "...ve kterých bojujete proti kreativitě ostatních Zdatných Kouzelníků."
level_difficulty: "Obtížnost: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Konktujte CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/da.coffee b/app/locale/da.coffee
index 94b36bccc..e724d861d 100644
--- a/app/locale/da.coffee
+++ b/app/locale/da.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
no_ie: "CodeCombat kan desværre ikke køre i Internet Explorer 9 eller ældre. Beklager!"
no_mobile: "CodeCombat er ikke designet til mobile enheder og vil måske ikke virke!"
play: "Spil"
+# 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"
play:
choose_your_level: "Vælg Dit Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
campaign_player_created_description: "... hvor du kæmper mod dine med-Kunsthåndværker-troldmænds kreativitet."
level_difficulty: "Sværhedsgrad: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Kontakt CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/de.coffee b/app/locale/de.coffee
index 155669e56..0155b3cdc 100644
--- a/app/locale/de.coffee
+++ b/app/locale/de.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
no_ie: "CodeCombat läuft nicht im IE8 oder älteren Browsern. Tut uns Leid!"
no_mobile: "CodeCombat ist nicht für Mobilgeräte optimiert und funktioniert möglicherweise nicht."
play: "Spielen"
+# 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"
play:
choose_your_level: "Wähle dein Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
campaign_player_created_description: "... in welchem Du gegen die Kreativität eines Artisan Zauberers kämpfst."
level_difficulty: "Schwierigkeit: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Kontaktiere CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/el.coffee b/app/locale/el.coffee
index 01e907b39..bf8d73aab 100644
--- a/app/locale/el.coffee
+++ b/app/locale/el.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
no_ie: "Το CodeCombat δεν παίζει με το Internet Explorer 9 ή κάποια παλαιότερη έκδοση.Συγνώμη!"
no_mobile: "Το CodeCombat δεν σχεδιάστηκε για κινητά και μπορεί να μην δουλεύει!"
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"
play:
choose_your_level: "Διάλεξε την πίστα σου"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
level_difficulty: "Δυσκολία: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Επικοινωνήστε μαζί μας"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee
index 8486acbc4..b023461e2 100644
--- a/app/locale/en-AU.coffee
+++ b/app/locale/en-AU.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee
index 757a7012b..b22a3fb3f 100644
--- a/app/locale/en-GB.coffee
+++ b/app/locale/en-GB.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee
index 027e45419..f0d48a618 100644
--- a/app/locale/en-US.coffee
+++ b/app/locale/en-US.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index 204317e0b..a03ad5e7c 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
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"
play:
choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
level_difficulty: "Difficulty: "
play_as: "Play As "
+ spectate: "Spectate"
contact:
contact_us: "Contact CodeCombat"
@@ -533,3 +540,17 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
simple_ai: "Simple AI"
warmup: "Warmup"
vs: "VS"
+
+ 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"
diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee
index a494a2e63..21ee55bfb 100644
--- a/app/locale/es-419.coffee
+++ b/app/locale/es-419.coffee
@@ -49,10 +49,10 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
recover:
recover_account_title: "recuperar cuenta"
-# send_password: "Send Recovery Password"
+ send_password: "Enviar Contraseña de Recuperación"
signup:
-# create_account_title: "Create Account to Save Progress"
+ create_account_title: "Crear Cuenta para Guardar el Progreso"
description: "Es gratis. Solo necesitas un par de cosas y estarás listo para comenzar:"
email_announcements: "Recibe noticias por email"
coppa: "más de 13 años o fuera de los Estados Unidos"
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
no_ie: "¡Lo sentimos! CodeCombat no funciona en Internet Explorer 9 o versiones anteriores."
no_mobile: "¡CodeCombat no fue diseñado para dispositivos móviles y quizás no funcione!"
play: "Jugar"
+# 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"
play:
choose_your_level: "Elige tu nivel"
@@ -81,7 +87,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
campaign_player_created: "Creados-Por-Jugadores"
campaign_player_created_description: "... en los que luchas contra la creatividad de tus compañeros Hechiceros Artesanales."
level_difficulty: "Dificultad: "
-# play_as: "Play As "
+ play_as: "Jugar Como "
+# spectate: "Spectate"
contact:
contact_us: "Contacta a CodeCombat"
@@ -132,8 +139,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
new_password_verify: "Verificar"
email_subscriptions: "Suscripciones de Email"
email_announcements: "Noticias"
-# email_notifications: "Notifications"
-# email_notifications_description: "Get periodic notifications for your account."
+ email_notifications: "Notificaciones"
+ email_notifications_description: "Obtenga notificaciones periodicos para su cuenta."
email_announcements_description: "Recibe correos electrónicos con las últimas noticias y desarrollos de CodeCombat."
contributor_emails: "Emails Clase Contribuyente"
contribute_prefix: "¡Estamos buscando gente que se una a nuestro grupo! Echa un vistazo a la "
@@ -147,11 +154,11 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
account_profile:
edit_settings: "Editar Configuración"
profile_for_prefix: "Perfil para "
-# profile_for_suffix: ""
+ profile_for_suffix: ""
profile: "Perfil"
user_not_found: "Usuario no encontrado. ¿URL correcta?"
gravatar_not_found_mine: "No hemos podido encontrar tu perfil asociado con "
-# gravatar_not_found_email_suffix: "."
+ gravatar_not_found_email_suffix: "."
gravatar_signup_prefix: "Registratre en"
gravatar_signup_suffix: "¡Para ponerte en marcha!"
gravatar_not_found_other: "Por desgracia, no hay ningún perfil asociado con la dirección de correo electrónico de esta persona."
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee
index 4b5307600..f4088723e 100644
--- a/app/locale/es-ES.coffee
+++ b/app/locale/es-ES.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
no_ie: "CodeCombat no funciona en Internet Explorer 9 o anteriores. ¡Lo sentimos!"
no_mobile: "¡CodeCombat no fue diseñado para dispositivos móviles y puede que no funcione!"
play: "Jugar"
+# 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"
play:
choose_your_level: "Elige tu nivel"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
campaign_player_created_description: "... en las que luchas contra la creatividad de tus compañeros Magos Artesanos."
level_difficulty: "Dificultad: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Contacta con CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/es.coffee b/app/locale/es.coffee
index 6e71b9c7b..6c0666f3b 100644
--- a/app/locale/es.coffee
+++ b/app/locale/es.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
no_ie: "CodeCombat no funciona en Internet Explorer 9 o versiones anteriores. ¡Lo sentimos!"
no_mobile: "¡CodeCombat no fue diseñado para dispositivos móviles y quizás no funcione!"
play: "Jugar"
+# 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"
play:
choose_your_level: "Elige tu nivel"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
campaign_player_created_description: "... en los que luchas contra la creatividad de tus compañeros Hechiceros Artesanales."
level_difficulty: "Dificultad: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Contacta a CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee
index f6e870b6d..9c411e13f 100644
--- a/app/locale/fa.coffee
+++ b/app/locale/fa.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
no_ie: "متاسفیم اما بازی بر روی مرورگر های اینترنت اکسپلورر نسخه ۹ به قبل اجرا نمی شود"
no_mobile: "این بازی برای دستگاه های موبایل طراحی نشده است و بر روی آن ها اجرا نمی شود"
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"
play:
choose_your_level: "مرحله خود را انتخاب کنید"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
campaign_player_created_description: "... جایی که در مقابل خلاقیت نیرو هاتون قرار میگیرید جادوگران آرتیزان."
level_difficulty: "سختی: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "CodeCombatتماس با "
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee
index 95eebb045..9eb38128c 100644
--- a/app/locale/fi.coffee
+++ b/app/locale/fi.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee
index b3f01ca55..cf2191f0d 100644
--- a/app/locale/fr.coffee
+++ b/app/locale/fr.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
no_ie: "CodeCombat ne fonctionnera pas sous Internet Explorer 9 ou moins. Désolé !"
no_mobile: "CodeCombat n'a pas été créé pour les plateformes mobiles donc il est possible qu'il ne fonctionne pas correctement ! "
play: "Jouer"
+# 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"
play:
choose_your_level: "Choisissez votre niveau"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
campaign_player_created_description: "... Dans laquelle vous serez confrontés à la créativité des votres.Artisan Wizards."
level_difficulty: "Difficulté: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Contacter CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/he.coffee b/app/locale/he.coffee
index 97c562d2e..9d20257c5 100644
--- a/app/locale/he.coffee
+++ b/app/locale/he.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee
index 9a29a9e68..e3d4e91b6 100644
--- a/app/locale/hi.coffee
+++ b/app/locale/hi.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee
index 62d910253..9ed8046ef 100644
--- a/app/locale/hu.coffee
+++ b/app/locale/hu.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
no_ie: "A CodeCombat nem támogatja az Internet Explorer 9, vagy korábbi verzióit. Bocsi!"
no_mobile: "A CodeCombat nem mobil eszközökre lett tervezve. Valószínűleg nem működik helyesen."
play: "Játssz!"
+# 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"
play:
choose_your_level: "Válaszd ki a pályát!"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
campaign_player_created_description: "...melyekben Művészi Varázsló társaid ellen kűzdhetsz."
level_difficulty: "Nehézség: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Lépj kapcsolatba velünk"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/id.coffee b/app/locale/id.coffee
index 04061d098..97e73561b 100644
--- a/app/locale/id.coffee
+++ b/app/locale/id.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/it.coffee b/app/locale/it.coffee
index 98e3c10ad..4b537cdcc 100644
--- a/app/locale/it.coffee
+++ b/app/locale/it.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
no_ie: "CodeCombat non supporta Internet Explorer 9 o browser precedenti. Ci dispiace!"
no_mobile: "CodeCombat non è stato progettato per dispositivi mobile e potrebbe non funzionare!"
play: "Gioca"
+# 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"
play:
choose_your_level: "Scegli il tuo livello"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
campaign_player_created_description: "... nei quali affronterai la creatività dei tuoi compagni Stregoni Artigiani."
level_difficulty: "Difficoltà: "
play_as: "Gioca come "
+# spectate: "Spectate"
contact:
contact_us: "Contatta CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee
index aee267bdc..bba1de5b5 100644
--- a/app/locale/ja.coffee
+++ b/app/locale/ja.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
no_ie: "大変申し訳ありませんが、ご利用のブラウザ(IE8以下)はサポートされていません。(ChromeやFirefoxをご利用ください)"
no_mobile: "CodeCombat は携帯端末向けに制作されていないため、動作しない可能性があります。"
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"
play:
choose_your_level: "レベル選択"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
level_difficulty: "難易度: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "お問い合わせ"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee
index 6e97a6bd4..c3c6323a8 100644
--- a/app/locale/ko.coffee
+++ b/app/locale/ko.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
no_ie: "죄송하지만 코드컴뱃은 인터넷 익스플로러 9에서는 동작하지 않습니다."
no_mobile: "코드 컴뱃은 모바일 기기용으로 제작되지 않았습니다. 아마 동작하지 않을 가능성이 높습니다."
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"
play:
choose_your_level: "레벨을 선택하세요."
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
campaign_player_created_description: "... 당신 동료가 고안한 레벨에 도전하세요 Artisan Wizards."
level_difficulty: "난이도: "
play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "코드컴뱃에 전할말"
@@ -207,6 +214,17 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
hud_continue: "계속진행 (shift+space)"
spell_saved: "마법 저장 완료"
skip_tutorial: "넘기기 (esc)"
+# editor_config: "Editor Config"
+# editor_config_title: "Editor Configuration"
+# editor_config_keybindings_label: "Key Bindings"
+# editor_config_keybindings_default: "Default (Ace)"
+# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
+# editor_config_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."
admin:
av_title: "관리자 뷰"
@@ -300,7 +318,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# who_is_codecombat: "Who is CodeCombat?"
# why_codecombat: "Why CodeCombat?"
# who_description_prefix: "together started CodeCombat in 2013. We also created "
-# who_description_suffix: "in 2008, growing it to the 1 web and iOS application for learning to write Chinese and Japanese characters."
+# who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters."
# who_description_ending: "Now it's time to teach people to write code."
# why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that."
# why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it."
@@ -317,7 +335,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", 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."
-#
+
# legal:
# page_title: "Legal"
# opensource_intro: "CodeCombat is free to play and completely open source."
@@ -378,7 +396,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# nutshell_title: "In a Nutshell"
# nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening."
# canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence."
-#
+
# contribute:
# page_title: "Contributing"
# character_classes_title: "Character Classes"
@@ -472,7 +490,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# brave_adventurers: "Our Brave Adventurers:"
# translating_diplomats: "Our Translating Diplomats:"
# helpful_ambassadors: "Our Helpful Ambassadors:"
-#
+
# classes:
# archmage_title: "Archmage"
# archmage_title_description: "(Coder)"
@@ -488,7 +506,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# ambassador_title_description: "(Support)"
# counselor_title: "Counselor"
# counselor_title_description: "(Expert/Teacher)"
-#
+
# ladder:
# please_login: "Please log in first before playing a ladder game."
# my_matches: "My Matches"
@@ -520,3 +538,17 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee
index fef80fa08..94281b912 100644
--- a/app/locale/lt.coffee
+++ b/app/locale/lt.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/ms-BA.coffee b/app/locale/ms-BA.coffee
index 721cf870a..4f3d39669 100644
--- a/app/locale/ms-BA.coffee
+++ b/app/locale/ms-BA.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee
index c0997bb67..463c4e080 100644
--- a/app/locale/nb.coffee
+++ b/app/locale/nb.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
no_ie: "CodeCombat kjører ikke på IE8 eller eldre. Beklager!"
no_mobile: "CodeCombat ble ikke designet for mobile enheter, og vil muligens ikke virke!"
play: "Spill"
+# 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"
play:
choose_your_level: "Velg Ditt Nivå"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
campaign_player_created_description: "... hvor du kjemper mot kreativiteten til en av dine medspillende Artisan Trollmenn."
level_difficulty: "Vanskelighetsgrad: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Kontakt CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee
index 463e559fb..c33793099 100644
--- a/app/locale/nl.coffee
+++ b/app/locale/nl.coffee
@@ -66,6 +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"
+# multiplayer: "Multiplayer"
+# for_developers: "For Developers"
play:
choose_your_level: "Kies Je Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere Ambachtelijke Tovenaars."
level_difficulty: "Moeilijkheidsgraad: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Contact opnemen met CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
simple_ai: "Simpele AI"
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"
diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee
index 437e89e76..d4a8a1c6f 100644
--- a/app/locale/nn.coffee
+++ b/app/locale/nn.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/no.coffee b/app/locale/no.coffee
index 9312bf07b..b10046d73 100644
--- a/app/locale/no.coffee
+++ b/app/locale/no.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
no_ie: "CodeCombat kjører ikke på IE8 eller eldre. Beklager!"
no_mobile: "CodeCombat ble ikke designet for mobile enheter, og vil muligens ikke virke!"
play: "Spill"
+# 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"
play:
choose_your_level: "Velg Ditt Nivå"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
campaign_player_created_description: "... hvor du kjemper mot kreativiteten til en av dine medspillende Artisan Trollmenn."
level_difficulty: "Vanskelighetsgrad: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Kontakt CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee
index 86dd96046..40335dc6d 100644
--- a/app/locale/pl.coffee
+++ b/app/locale/pl.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
no_ie: "CodeCombat nie działa na Internet Explorer 9 lub starszym. Przepraszamy!"
no_mobile: "CodeCombat nie został zaprojektowany dla użądzeń przenośnych więc może nie działać!"
play: "Graj"
+# 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"
play:
choose_your_level: "Wybierz poziom"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
campaign_player_created_description: "... w których walczysz przeciwko dziełom Czarodziejów Rękodzielnictwa"
level_difficulty: "Poziom trudności: "
play_as: "Graj jako "
+# spectate: "Spectate"
contact:
contact_us: "Kontakt z CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
simple_ai: "Proste AI"
warmup: "Rozgrzewka"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee
index 114adef31..d362e0294 100644
--- a/app/locale/pt-BR.coffee
+++ b/app/locale/pt-BR.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
no_ie: "CodeCombat não roda em versões mais antigas que o Internet Explorer 10. Desculpe!"
no_mobile: "CodeCombat não foi projetado para dispositivos móveis e pode não funcionar!"
play: "Jogar"
+# 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"
play:
choose_your_level: "Escolha seu estágio"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
campaign_player_created_description: "... nos quais você batalhará contra a criatividade dos seus companheiros feiticeiros Artesãos."
level_difficulty: "Dificuldade: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Contate-nos"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee
index 670e8dc77..c59097544 100644
--- a/app/locale/pt-PT.coffee
+++ b/app/locale/pt-PT.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
no_ie: "O CodeCombat não corre em Internet Explorer 9 ou anterior. Desculpa!"
no_mobile: "O CodeCombat não foi desenhado para dispositivos móveis e pode não funcionar!"
play: "Jogar"
+# 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"
play:
choose_your_level: "Escolhe o Teu Nível"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
campaign_player_created_description: "... onde combates contra a criatividade dos teus colegas Feiticeiros Artesãos."
level_difficulty: "Dificuldade: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Contactar o CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee
index d52a82b6a..d0aa54b76 100644
--- a/app/locale/pt.coffee
+++ b/app/locale/pt.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
no_ie: "CodeCombat não roda em versões mais antigas que o Internet Explorer 10. Desculpe!"
no_mobile: "CodeCombat não foi projetado para dispositivos móveis e pode não funcionar!"
play: "Jogar"
+# 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"
play:
choose_your_level: "Escolha seu estágio"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
campaign_player_created_description: "... nos quais você batalhará contra a criatividade dos seus companheiros feiticeiros Artesãos."
level_difficulty: "Dificuldade: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Contate-nos"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee
index 2697f5bb3..dc105c4ca 100644
--- a/app/locale/ro.coffee
+++ b/app/locale/ro.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
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â"
+# 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"
play:
choose_your_level: "Alege nivelul"
@@ -81,7 +87,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
campaign_player_created: "Create de jucători"
campaign_player_created_description: "... în care ai ocazia să testezi creativitatea colegilor tai Artisan Wizards."
level_difficulty: "Dificultate: "
-# play_as: "Play As "
+ play_as: "Alege-ți echipa"
+# spectate: "Spectate"
contact:
contact_us: "Contact CodeCombat"
@@ -123,7 +130,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
wizard_tab: "Wizard"
password_tab: "Parolă"
emails_tab: "Email-uri"
-# admin: "Admin"
+ admin: "Admin"
gravatar_select: "Selectează ce poză Gravatar vrei să foloșesti"
gravatar_add_photos: "Adaugă thumbnails și poze la un cont Gravatar pentru email-ul tău pentru a alege o imagine."
gravatar_add_more_photos: "Adaugă mai multe poze la contul tău Gravatar pentru a le accesa aici."
@@ -132,7 +139,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
new_password_verify: "Verifică"
email_subscriptions: "Subscripție Email"
email_announcements: "Anunțuri"
-# email_notifications: "Notifications"
+ email_notifications: "Notificări"
email_notifications_description: "Primește notificări periodic pentru contul tău."
email_announcements_description: "Primește email-uri cu ultimele știri despre CodeCombat."
contributor_emails: "Contributor Class Emails"
@@ -179,10 +186,10 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
victory_title_suffix: " Terminat"
victory_sign_up: "Înscrie-te pentru a salva progresul"
victory_sign_up_poke: "Vrei să-ți salvezi codul? Crează un cont gratis!"
- victory_rate_the_level: "Rate the level: "
-# victory_rank_my_game: "Rank My Game"
-# victory_ranking_game: "Submitting..."
-# victory_return_to_ladder: "Return to Ladder"
+ victory_rate_the_level: "Apreciază nivelul: "
+ victory_rank_my_game: "Plasează-mi jocul in clasament"
+ victory_ranking_game: "Se trimite..."
+ victory_return_to_ladder: "Înapoi la jocurile de clasament"
victory_play_next_level: "Joacă nivelul următor"
victory_go_home: "Acasă"
victory_review: "Spune-ne mai multe!"
@@ -206,7 +213,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
tome_available_spells: "Vrăjile disponibile"
hud_continue: "Continuă (apasă shift-space)"
spell_saved: "Vrajă salvată"
-# skip_tutorial: "Skip (esc)"
+ skip_tutorial: "Sari peste (esc)"
# editor_config: "Editor Config"
# editor_config_title: "Editor Configuration"
# editor_config_keybindings_label: "Key Bindings"
@@ -242,8 +249,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
contact_us: "contactați-ne!"
hipchat_prefix: "Ne puteți de asemenea găsi la"
hipchat_url: "HipChat."
-# revert: "Revert"
-# revert_models: "Revert Models"
+ revert: "Revino la versiunea anterioară"
+ revert_models: "Resetează Modelele"
level_some_options: "Opțiuni?"
level_tab_thangs: "Thangs"
level_tab_scripts: "Script-uri"
@@ -262,18 +269,18 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
level_components_title: "Înapoi la toți Thangs"
level_components_type: "Tip"
level_component_edit_title: "Editează Componenta"
-# level_component_config_schema: "Config Schema"
-# level_component_settings: "Settings"
+ level_component_config_schema: "Schema Config"
+ level_component_settings: "Setări"
level_system_edit_title: "Editează Sistem"
create_system_title: "Crează sistem nou"
new_component_title: "Crează componentă nouă"
new_component_field_system: "Sistem"
-# 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: "Crează un articol nou"
+ new_thang_title: "Crează un nou tip de Thang"
+ new_level_title: "Crează un nivel nou"
+ article_search_title: "Caută articole aici"
+ thang_search_title: "Caută tipuri de Thang aici"
+ level_search_title: "Caută nivele aici"
article:
edit_btn_preview: "Preview"
@@ -285,27 +292,27 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
body: "Corp"
version: "Versiune"
commit_msg: "Înregistrează Mesajul"
-# history: "History"
+ history: "Istoric"
version_history_for: "Versiune istorie pentru: "
-# result: "Result"
+ result: "Rezultat"
results: "Resultate"
description: "Descriere"
or: "sau"
email: "Email"
-# password: "Password"
+ password: "Parolă"
message: "Mesaj"
-# 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: "Cod"
+ ladder: "Clasament"
+ when: "când"
+ opponent: "oponent"
+ rank: "Rank"
+ score: "Scor"
+ win: "Victorie"
+ loss: "Înfrângere"
+ tie: "Remiză"
+ easy: "Ușor"
+ medium: "Mediu"
+ hard: "Greu"
about:
who_is_codecombat: "Cine este CodeCombat?"
@@ -422,25 +429,25 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
artisan_summary_suf: "atunci asta e clasa pentru tine."
artisan_introduction_pref: "Trebuie să construim nivele adiționale! Oamenii sunt nerăbdători pentru mai mult conținut, și noi putem face doar atât singuri. Momentan editorul de nivele abia este utilizabil până și de creatorii lui, așa că aveți grijă. Dacă ai viziuni cu campanii care cuprind loop-uri for pentru"
artisan_introduction_suf: "atunci aceasta ar fi clasa pentru tine."
-# artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!"
-# artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix."
-# artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!"
-# artisan_join_desc: "Use the Level Editor in these steps, give or take:"
-# artisan_join_step1: "Read the documentation."
-# artisan_join_step2: "Create a new level and explore existing levels."
-# artisan_join_step3: "Find us in our public HipChat room for help."
-# artisan_join_step4: "Post your levels on the forum for feedback."
-# more_about_artisan: "Learn More About Becoming an Artisan"
-# artisan_subscribe_desc: "Get emails on level editor updates and announcements."
-# adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you."
-# adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you."
-# adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though."
-# adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve."
-# adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like"
-# adventurer_forum_url: "our forum"
-# adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!"
-# more_about_adventurer: "Learn More About Becoming an Adventurer"
-# adventurer_subscribe_desc: "Get emails when there are new levels to test."
+ 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_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."
+ artisan_join_step4: "Postează nivelele tale pe forum pentru feedback."
+ more_about_artisan: "Învață mai multe despre ce înseamnă să devi un Artizan"
+ artisan_subscribe_desc: "Primește email-uri despre update-uri legate de Editorul de Nivele și anunțuri."
+ adventurer_summary: "Să fie clar ce implică rolul tău: tu ești tancul. Vei avea multe de îndurat. Avem nevoie de oameni care să testeze nivelele noi și să ne ajute să găsim moduri noi de a le îmbunătăți. Va fi greu; să creezi jocuri bune este un proces dificil și nimeni nu o face perfect din prima. Dacă crezi că poți îndura , atunci aceasta este clasa pentru tine."
+ adventurer_introduction: "Să fie clar ce implică rolul tău: tu ești tancul. Vei avea multe de îndurat. Avem nevoie de oameni care să testeze nivelele noi și să ne ajute să găsim moduri noi de a le îmbunătăți. Va fi greu; să creezi jocuri bune este un proces dificil și nimeni nu o face perfect din prima. Dacă crezi că poți îndura , atunci aceasta este clasa pentru tine."
+ adventurer_attribute_1: "O sete de cunoaștere. Tu vrei să înveți cum să programezi și noi vrem să te învățăm. Cel mai probabil tu vei fi cel care va preda mai mult în acest caz."
+ adventurer_attribute_2: "Carismatic. Formulează într-un mod clar ceea ce trebuie îmbunătățit și oferă sugestii."
+ adventurer_join_pref: "Ori fă echipă (sau recrutează!) cu un Artizan și lucrează cu el, sau bifează căsuța de mai jos pentru a primi email când sunt noi nivele de testat. De asemenea vom posta despre nivele care trebuiesc revizuite pe rețelele noastre precum"
+ adventurer_forum_url: "forumul nostru"
+ adventurer_join_suf: "deci dacă preferi să fi înștiințat în acele moduri ,înscrie-te acolo!"
+ more_about_adventurer: "Învață mai multe despre ce înseamnă să devi un Aventurier"
+ adventurer_subscribe_desc: "Primește email-uri când sunt noi nivele de testat."
# scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the "
# scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you."
# scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the "
@@ -475,59 +482,73 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# 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)."
-# 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:"
-# powerful_archmages: "Our Powerful Archmages:"
-# creative_artisans: "Our Creative Artisans:"
-# brave_adventurers: "Our Brave Adventurers:"
-# translating_diplomats: "Our Translating Diplomats:"
-# helpful_ambassadors: "Our Helpful Ambassadors:"
+ more_about_counselor: "Află mai multe despre ce înseamna să devi Consilier"
+ changes_auto_save: "Modificările sunt salvate automat când apeși checkbox-uri."
+ diligent_scribes: "Scribii noștri:"
+ powerful_archmages: "Bravii noștri Archmage:"
+ creative_artisans: "Artizanii noștri creativi:"
+ brave_adventurers: "Aventurierii noștri neînfricați:"
+ translating_diplomats: "Diplomații noștri abili:"
+ helpful_ambassadors: "Ambasadorii noștri de ajutor:"
-# classes:
-# archmage_title: "Archmage"
-# archmage_title_description: "(Coder)"
-# artisan_title: "Artisan"
-# artisan_title_description: "(Level Builder)"
-# adventurer_title: "Adventurer"
-# adventurer_title_description: "(Level Playtester)"
-# scribe_title: "Scribe"
-# scribe_title_description: "(Article Editor)"
-# diplomat_title: "Diplomat"
-# diplomat_title_description: "(Translator)"
-# ambassador_title: "Ambassador"
-# ambassador_title_description: "(Support)"
-# counselor_title: "Counselor"
-# counselor_title_description: "(Expert/Teacher)"
+ classes:
+ archmage_title: "Archmage"
+ archmage_title_description: "(Programator)"
+ artisan_title: "Artizan"
+ artisan_title_description: "(Creator de nivele)"
+ adventurer_title: "Aventurier"
+ adventurer_title_description: "(Playtester de nivele)"
+ scribe_title: "Scrib"
+ scribe_title_description: "(Editor de articole)"
+ diplomat_title: "Diplomat"
+ diplomat_title_description: "(Translator)"
+ ambassador_title: "Ambasador"
+ ambassador_title_description: "(Suport)"
+ counselor_title: "Consilier"
+ counselor_title_description: "(Expert/Profesor)"
-# 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: "Vă rugăm să vă autentificați înainte de a juca un meci de clasament."
+ my_matches: "Jocurile mele"
+ simulate: "Simulează"
+ simulation_explanation: "Simulând jocuri poți afla poziția în clasament a jocului tău mai repede!"
+ simulate_games: "Simulează Jocuri!"
+ simulate_all: "RESETEAZĂ ȘI SIMULEAZĂ JOCURI"
+ leaderboard: "Clasament"
+ battle_as: "Luptă ca "
+ summary_your: "Al tău "
+ summary_matches: "Meciuri - "
+ summary_wins: " Victorii, "
+ summary_losses: " Înfrângeri"
+ rank_no_code: "Nici un Cod nou pentru Clasament"
+ rank_my_game: "Plasează-mi jocul in Clasament!"
+ rank_submitting: "Se trimite..."
+ rank_submitted: "Se trimite pentru Clasament"
+ rank_failed: "A eșuat plasarea in clasament"
+ rank_being_ranked: "Jocul se plasează in Clasament"
+ code_being_simulated: "Codul tău este simulat de alți jucători pentru clasament. Se va actualiza cum apar meciuri."
+ no_ranked_matches_pre: "Nici un meci de clasament pentru "
+ no_ranked_matches_post: " echipă! Joacă împotriva unor concurenți și revino apoi aici pentr a-ți plasa meciul in clasament."
+ choose_opponent: "Alege un adversar"
+ tutorial_play: "Joacă Tutorial-ul"
+ tutorial_recommended: "Recomandat dacă nu ai mai jucat niciodată înainte"
+ tutorial_skip: "Sari peste Tutorial"
+ tutorial_not_sure: "Nu ești sigur ce se întâmplă?"
+ tutorial_play_first: "Joacă Tutorial-ul mai întâi."
+ simple_ai: "AI simplu"
+ warmup: "Încălzire"
+ vs: "VS"
+
+# 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"
diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee
index 4a9315d28..44e33d634 100644
--- a/app/locale/ru.coffee
+++ b/app/locale/ru.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
no_ie: "CodeCombat не работает в IE8 или более старых версиях. Нам очень жаль!"
no_mobile: "CodeCombat не приспособлен для работы на мобильных устройствах и может не работать!"
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"
play:
choose_your_level: "Выберите ваш уровень"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
campaign_player_created_description: "... в которых вы сражаетесь с креативностью ваших друзей Ремесленников."
level_difficulty: "Сложность: "
play_as: "Играть за "
+# spectate: "Spectate"
contact:
contact_us: "Связаться с CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
simple_ai: "Простой ИИ"
warmup: "Разминка"
vs: "против"
+
+# 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"
diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee
index 74c9e5850..faee2435c 100644
--- a/app/locale/sk.coffee
+++ b/app/locale/sk.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
no_ie: "CodeCombat nefunguje v prehliadači Internet Explorer 9 a jeho starších verziách. Ospravedlňujeme sa."
no_mobile: "CodeCombat nebol navrhnutý pre mobilné zariadenia a nemusí na nich fungovať správne!"
play: "Hrať"
+# 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"
play:
choose_your_level: "Vyber si level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
campaign_player_created_description: "... v ktorých sa popasujete s kreativitou svojich súdruhov kúzelníkov."
level_difficulty: "Obtiažnosť."
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Kontaktujte nás"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee
index ca6f003fa..90998b1cb 100644
--- a/app/locale/sl.coffee
+++ b/app/locale/sl.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee
index 6630a4d02..b93dcb02e 100644
--- a/app/locale/sr.coffee
+++ b/app/locale/sr.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
no_ie: "CodeCombat не ради у IE8 и старијим верзијама. Жао нам је!"
no_mobile: "CodeCombat није дизајниран за мобилне уређаје и може да се деси да не ради!"
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"
play:
choose_your_level: "Изабери ниво"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
campaign_player_created_description: "... у којима се бориш против креативности својих колега."
level_difficulty: "Тежина: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Контактирај CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee
index eaa034fe3..25b06bafb 100644
--- a/app/locale/sv.coffee
+++ b/app/locale/sv.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
no_ie: "CodeCombat fungerar tyvärr inte i IE8 eller äldre."
no_mobile: "CodeCombat är inte designat för mobila enhter och kanske inte fungerar!"
play: "Spela"
+# 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"
play:
choose_your_level: "Välj din nivå"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
level_difficulty: "Svårighetsgrad: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Kontakta CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/th.coffee b/app/locale/th.coffee
index 7a8384608..c0d2b7df6 100644
--- a/app/locale/th.coffee
+++ b/app/locale/th.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# 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: "เล่น"
+# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee
index 2be1a8c1a..fa2746e4e 100644
--- a/app/locale/tr.coffee
+++ b/app/locale/tr.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
no_ie: "CodeCombat maalesef Internet Explorer 9 veya daha eski sürümlerde çalışmaz."
no_mobile: "CodeCombat mobil cihazlar için tasarlanmamıştır bu sebeple mobil cihazlarda çalışmayabilir."
play: "Oyna"
+# 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"
play:
choose_your_level: "Seviye Seçimi"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
campaign_player_created_description: "Zanaatkâr Büyücülerin yaratıcılıklarına karşı mücadele etmek için..."
level_difficulty: "Zorluk: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "CodeCombat ile İletişim"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee
index 57619748b..61ea839f8 100644
--- a/app/locale/uk.coffee
+++ b/app/locale/uk.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "українська мова", englishDesc
no_ie: "Нажаль, CodeCombat не працює в IE8 чи більш старих версіях!"
no_mobile: "CodeCombat не призначений для мобільних приладів і може не працювати!"
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"
play:
choose_your_level: "Оберіть свій рівень"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
campaign_player_created_description: "... у яких ви сражаєтеся проти креативності ваших друзів-Архитекторів."
level_difficulty: "Складність: "
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "Зв'язатися з CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "українська мова", englishDesc
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee
index c383d2986..9fac46d84 100644
--- a/app/locale/ur.coffee
+++ b/app/locale/ur.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee
index 5b956e9af..a4aef3d86 100644
--- a/app/locale/vi.coffee
+++ b/app/locale/vi.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# 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"
# play:
# choose_your_level: "Choose Your Level"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
# level_difficulty: "Difficulty: "
# play_as: "Play As "
+# spectate: "Spectate"
# contact:
# contact_us: "Contact CodeCombat"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee
index c1cafeeba..cbb781baf 100644
--- a/app/locale/zh-HANS.coffee
+++ b/app/locale/zh-HANS.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
no_ie: "抱歉!Internet Explorer 9 等旧式预览器无法使用本网站。"
no_mobile: "CodeCombat 不是针对手机设备设计的,所以可能无法达到最好的体验!"
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"
play:
choose_your_level: "选取难度"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
campaign_player_created_description: "……在这里你可以与你的小伙伴的创造力战斗 技术指导."
level_difficulty: "难度:"
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "联系我们"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee
index 2ed2ed41f..4e3324f7b 100644
--- a/app/locale/zh-HANT.coffee
+++ b/app/locale/zh-HANT.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
no_ie: "抱歉!Internet Explorer 9 等舊的瀏覽器打不開此網站"
no_mobile: "CodeCombat 不是針對手機設備設計的,所以可能會出問題!"
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"
play:
choose_your_level: "選取關卡"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
campaign_player_created_description: "...挑戰同伴的創意 技術指導."
level_difficulty: "難度"
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "聯繫我們"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee
index 6847da6ed..499d0f8c1 100644
--- a/app/locale/zh.coffee
+++ b/app/locale/zh.coffee
@@ -66,6 +66,12 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
no_ie: "抱歉!Internet Explorer 9等更旧的预览器打不开此网站"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
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"
play:
choose_your_level: "选取难度"
@@ -82,6 +88,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# campaign_player_created_description: "... in which you battle against the creativity of your fellow Artisan Wizards."
level_difficulty: "难度"
# play_as: "Play As "
+# spectate: "Spectate"
contact:
contact_us: "联系我们"
@@ -531,3 +538,17 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# simple_ai: "Simple AI"
# warmup: "Warmup"
# vs: "VS"
+
+# 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"
diff --git a/app/styles/bootstrap/_variables.scss b/app/styles/bootstrap/_variables.scss
index a617a197d..814f79351 100644
--- a/app/styles/bootstrap/_variables.scss
+++ b/app/styles/bootstrap/_variables.scss
@@ -472,7 +472,7 @@ $modal-content-bg: none !default;
$modal-content-border-color: transparent !default;
$modal-content-fallback-border-color: transparent !default;
-$modal-backdrop-bg: transparent !default;
+$modal-backdrop-bg: black !default;
$modal-header-border-color: transparent !default;
$modal-footer-border-color: $modal-header-border-color !default;
diff --git a/app/styles/home.sass b/app/styles/home.sass
index f8944cd3b..60e36802d 100644
--- a/app/styles/home.sass
+++ b/app/styles/home.sass
@@ -2,62 +2,65 @@
@import "bootstrap/variables"
#home-view
+
+ h1
+ text-align: center
+ margin-top: 0
+
+ #trailer-wrapper iframe
+ display: block
+ margin: 0 auto
- #front-screenshot
- margin-top: 15px
- margin-left: 150px
-
- #site-slogan
- margin-left: 15px
-
- .homepage_button
- width: 300px
- margin-top: 30px
- float: right
- font-family: 'Bangers', cursive
- font-weight: normal
- letter-spacing: 1px
+ .game-mode-wrapper
position: relative
+ margin-bottom: 60px
+
+ img
+ display: block
+ margin: 0 auto
- button
- font-size: 40px
- width: 300px
- height: 80px
-
- @include transition(color .10s linear)
-
- &:hover button, &:active button
- color: #8090AA
-
- canvas
- position: absolute
- //border: 1px solid
-
- #beginner-campaign canvas
- top: -30px
- left: -75px
-
- #homepage_button_container
- padding: 0px 100px 0px 0px
- height: 75px
-
-
- .homepage_button a
- float: right
-
- .row
- margin: 20px 0px 35px 0px
-
- .row.promo
- .span8
- margin-left: 0px
+ text-shadow: 2px 2px 5px black
h3
- margin-bottom: -5px
+ color: $yellow
+ position: absolute
+ top: 10px
+ left: 40px
+ font-size: 70px
+ margin-top: 0
+
+ h4
+ color: #e8d9c5
+ position: absolute
+ top: 75px
+ left: 140px
+ font-size: 30px
+ margin-top: 0
+
+ .play-text
+ position: absolute
+ right: 45px
+ bottom: -25px
+ color: $yellow
+ font-size: 90px
+ font-family: Bangers
+ @include transition(color .10s linear)
+
+ &:hover div
+ color: lighten($yellow, 20%)
+ &:hover img
+ filter: brightness(1.1)
+ -webkit-filter: brightness(1.1)
+
+#multiplayer-launch-modal
+ .modal-dialog
+ width: 700px
- .centered-button
- display: block
- margin: 15px auto
-
- #update_zone
+ .modal-header
text-align: center
+
+ .modal-body
+ padding-bottom: 0px
+
+ .modal-footer
+ padding-top: 0px
diff --git a/app/styles/play/ladder.sass b/app/styles/play/ladder.sass
index fc9bc6abc..037a4a8c4 100644
--- a/app/styles/play/ladder.sass
+++ b/app/styles/play/ladder.sass
@@ -12,6 +12,10 @@
margin-bottom: 10px
background-image: none
+ .spectate-button-container
+ margin-top: 10px
+ text-align: center
+
.name-col-cell
max-width: 300px
text-overflow: ellipsis
diff --git a/app/templates/editor/level/modal/world_select.jade b/app/templates/editor/level/modal/world_select.jade
index 28291f222..4d37e43f4 100644
--- a/app/templates/editor/level/modal/world_select.jade
+++ b/app/templates/editor/level/modal/world_select.jade
@@ -27,7 +27,7 @@
div.alert.alert-info
strong Enter
| to confirm
- canvas(width=1920, height=1224)
+ canvas(width=1848, height=1178)
.modal-footer
a.btn.btn-primary#done-button Done
diff --git a/app/templates/editor/level/thangs_tab.jade b/app/templates/editor/level/thangs_tab.jade
index 72ff26b02..3e0311b85 100644
--- a/app/templates/editor/level/thangs_tab.jade
+++ b/app/templates/editor/level/thangs_tab.jade
@@ -17,7 +17,7 @@
.world-container.thangs-column
h3(data-i18n="editor.level_tab_thangs_conditions") Starting Conditions
#canvas-wrapper
- canvas(width=1920, height=1224)#surface
+ canvas(width=1848, height=1178)#surface
#canvas-left-gradient.gradient
#canvas-top-gradient.gradient
diff --git a/app/templates/home.jade b/app/templates/home.jade
index e1c8b23fe..7181e7485 100644
--- a/app/templates/home.jade
+++ b/app/templates/home.jade
@@ -2,27 +2,43 @@ extends /templates/base
block content
- div
-
- h1#site-slogan(data-i18n="home.slogan") Learn to Code JavaScript by Playing a Game
+ h1#site-slogan(data-i18n="home.slogan") Learn to Code JavaScript by Playing a Game
- #front-screenshot
- img(src="/images/pages/home/front_screenshot_01.png", alt="")
+ #trailer-wrapper
+
+
+ hr
+
+ .alert.alert-danger.lt-ie10
+ strong(data-i18n="home.no_ie") CodeCombat does not run in Internet Explorer 9 or older. Sorry!
+
+ if isMobile
+ .alert.alert-danger.mobile
+ strong(data-i18n="home.no_mobile") CodeCombat wasn't designed for mobile devices and may not work!
+ if isOldBrowser
+ .alert.alert-danger.old-browser
+ strong(data-i18n="home.old_browser") Uh oh, your browser is too old to run CodeCombat. Sorry!
+ br
+ span(data-i18n="home.old_browser_suffix") You can try anyway, but it probably won't work.
+
+ a#beginner-campaign(href="/play/level/rescue-mission")
+ div.game-mode-wrapper
+ if isEnglish
+ img(src="/images/pages/home/campaign.jpg").img-rounded
+ else
+ img(src="/images/pages/home/campaign_notext.jpg").img-rounded
+ h3(data-i18n="home.campaign") Campaign
+ h4(data-i18n="home.for_beginners") For Beginners
+ .play-text(data-i18n="home.play") Play
+
+ a#multiplayer(href="/play/ladder/dungeon-arena")
+ div.game-mode-wrapper
+ if isEnglish
+ img(src="/images/pages/home/multiplayer.jpg").img-rounded
+ else
+ img(src="/images/pages/home/multiplayer_notext.jpg").img-rounded
+ h3(data-i18n="home.multiplayer") Multiplayer
+ h4(data-i18n="home.for_developers") For Developers
+ .play-text(data-i18n="home.play") Play
.clearfix
-
- .alert.lt-ie10
- h2(data-i18n="home.no_ie") CodeCombat does not run in Internet Explorer 9 or older. Sorry!
- if isMobile
- .alert.mobile
- h2(data-i18n="home.no_mobile") CodeCombat wasn't designed for mobile devices and may not work!
- if isOldBrowser
- .alert.old-browser
- h2(data-i18n="home.old_browser") Uh oh, your browser is too old to run CodeCombat. Sorry!
- h5 You can try anyway, but it probably won't work.
- div#homepage_button_container
-
- div.homepage_button
- a#beginner-campaign(href="/play/level/rescue-mission")
- canvas(width="125", height="150")
- button(data-i18n="home.play").btn.btn-warning.btn-lg.highlight Play
\ No newline at end of file
diff --git a/app/templates/modal/signup.jade b/app/templates/modal/signup.jade
index 2b27577d2..801b470aa 100644
--- a/app/templates/modal/signup.jade
+++ b/app/templates/modal/signup.jade
@@ -6,7 +6,11 @@ block modal-header-content
block modal-body-content
.modal-content
.modal-body
- p(data-i18n="signup.description") It's free. Just need a couple things and you'll be good to go:
+ if showRequiredError
+ .alert.alert-success
+ span(data-i18n="signup.required") You need to sign up first before you can go over there. Luckily, it's really easy.
+ else
+ p(data-i18n="signup.description") It's free. Just need a couple things and you'll be good to go:
.form
.form-group
label.control-label(for="signup-email", data-i18n="general.email") Email
diff --git a/app/templates/multiplayer_launch_modal.jade b/app/templates/multiplayer_launch_modal.jade
new file mode 100644
index 000000000..15890a585
--- /dev/null
+++ b/app/templates/multiplayer_launch_modal.jade
@@ -0,0 +1,31 @@
+extends /templates/modal/modal_base
+
+block modal-header-content
+ h1(data-i18n="multiplayer_launch.introducing_dungeon_arena") Introducing Dungeon Arena
+ em(data-i18n="multiplayer_launch.new_way") March 17, 2014: The new way to compete with code.
+
+block modal-body-content
+
+
+
+ h3(data-i18n="multiplayer_launch.to_battle") To Battle, Developers!
+
+ p(data-i18n="multiplayer_launch.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.
+
+ p
+ strong(data-i18n="multiplayer_launch.arenas_are_here") CodeCombat head-to-head multiplayer arenas are here.
+ |
+ span(data-i18n="multiplayer_launch.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
+ |
+ a(href="/editor/level/dungeon-arena", data-i18n="multiplayer_launch.fork_our_arenas") fork our arenas
+ |
+ span(data-i18n="multiplayer_launch.create_worlds") and create your own worlds.
+
+ p
+ span(data-i18n="multiplayer_launch.javascript_rusty") JavaScript a bit rusty? Don't worry; there's a
+ |
+ a(href="/play/level/dungeon-arena-tutorial", data-i18n="multiplayer_launch.tutorial") tutorial
+ span(data-i18n="multiplayer_launch.new_to_programming") . New to programming? Hit our beginner campaign to skill up.
+
+block modal-footer-content
+ button.btn.btn-large.btn-success(type="button", data-dismiss="modal", aria-hidden="true", data-i18n="multiplayer_launch.so_ready") I Am So Ready for This
diff --git a/app/templates/play/ladder.jade b/app/templates/play/ladder.jade
index 234804ed6..3d445da64 100644
--- a/app/templates/play/ladder.jade
+++ b/app/templates/play/ladder.jade
@@ -7,47 +7,43 @@ block content
else
h1= level.get('name')
- if me.get('anonymous')
- div#must-log-in
- p
- strong(data-i18n="ladder.please_login") Please log in first before playing a ladder game.
- button.btn.btn-primary(data-toggle="coco-modal", data-target="modal/login", data-i18n="login.log_in") Log In
- button.btn.btn-primary(data-toggle="coco-modal", data-target="modal/signup", data-i18n="login.sign_up") Create Account
+ div#columns.row
+ div.column.col-md-2
+ 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= team.name
+ div.column.col-md-2
+
+ .spectate-button-container
+ a(href="/play/spectate/#{level.get('slug')}").spectate-button.btn.btn-primary.center
+ span(data-i18n="play.spectate") Spectate
-
- else
- div#columns.row
- div.column.col-md-2
- 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= team.name
- div.column.col-md-2
+ hr
- hr
-
- ul.nav.nav-pills
- li.active
- a(href="#ladder", data-toggle="tab", data-i18n="general.ladder") Ladder
+ ul.nav.nav-pills
+ li.active
+ a(href="#ladder", data-toggle="tab", data-i18n="general.ladder") Ladder
+ if !me.get('anonymous')
li
a(href="#my-matches", data-toggle="tab", data-i18n="ladder.my_matches") My Matches
li
a(href="#simulate", data-toggle="tab", data-i18n="ladder.simulate") Simulate
- div.tab-content
- .tab-pane.active.well#ladder
- #ladder-tab-view
- .tab-pane.well#my-matches
- #my-matches-tab-view
- .tab-pane.well#simulate
- p(id="simulation-status-text")
- if simulationStatus
- | #{simulationStatus}
- else
- span(data-i18n="ladder.simulation_explanation") By simulating games you can get your game ranked faster!
+ div.tab-content
+ .tab-pane.active.well#ladder
+ #ladder-tab-view
+ .tab-pane.well#my-matches
+ #my-matches-tab-view
+ .tab-pane.well#simulate
+ p(id="simulation-status-text")
+ if simulationStatus
+ | #{simulationStatus}
+ else
+ span(data-i18n="ladder.simulation_explanation") By simulating games you can get your game ranked faster!
+ p
+ button(data-i18n="ladder.simulate_games").btn.btn-warning.btn-lg.highlight#simulate-button Simulate Games!
+ if false && me.isAdmin()
p
- button(data-i18n="ladder.simulate_games").btn.btn-warning.btn-lg.highlight#simulate-button Simulate Games!
- if me.isAdmin()
- p
- button(data-i18n="ladder.simulate_all").btn.btn-danger.btn-lg.highlight#simulate-all-button RESET AND SIMULATE GAMES
\ No newline at end of file
+ button(data-i18n="ladder.simulate_all").btn.btn-danger.btn-lg.highlight#simulate-all-button RESET AND SIMULATE GAMES
diff --git a/app/templates/play/ladder/my_matches_tab.jade b/app/templates/play/ladder/my_matches_tab.jade
index b6c300b6d..ba767fdec 100644
--- a/app/templates/play/ladder/my_matches_tab.jade
+++ b/app/templates/play/ladder/my_matches_tab.jade
@@ -20,8 +20,10 @@ div#columns.row
|#{team.losses}
span(data-i18n="ladder.summary_losses") Losses
- if team.session
- button.btn.btn-sm.btn-warning.pull-right.rank-button(data-session-id=team.session.id)
+ if team.session
+ tr
+ th(colspan=4)
+ button.btn.btn-warning.btn-block.rank-button(data-session-id=team.session.id)
span(data-i18n="ladder.rank_no_code").unavailable.hidden No New Code to Rank
span(data-i18n="ladder.rank_my_game").rank.hidden Rank My Game!
span(data-i18n="ladder.rank_submitting").submitting.hidden Submitting...
diff --git a/app/templates/play/level.jade b/app/templates/play/level.jade
index 3f91653b2..fe4170d1c 100644
--- a/app/templates/play/level.jade
+++ b/app/templates/play/level.jade
@@ -9,7 +9,7 @@
#tome-view
#canvas-wrapper
- canvas(width=1920, height=1224)#surface
+ canvas(width=1848, height=1178)#surface
#canvas-left-gradient.gradient
#canvas-top-gradient.gradient
diff --git a/app/templates/play/level/level_loading.jade b/app/templates/play/level/level_loading.jade
index 58cf16592..8a1936f3f 100644
--- a/app/templates/play/level/level_loading.jade
+++ b/app/templates/play/level/level_loading.jade
@@ -10,4 +10,4 @@
.progress.progress-striped.active
.progress-bar.progress-bar-success
- h4 Tip: you can shift+click a position on the map to insert it into the spell editor.
\ No newline at end of file
+ h4= tip
\ No newline at end of file
diff --git a/app/templates/play/level/modal/docs.jade b/app/templates/play/level/modal/docs.jade
index ed0ecbabf..5851cba94 100644
--- a/app/templates/play/level/modal/docs.jade
+++ b/app/templates/play/level/modal/docs.jade
@@ -1,17 +1,13 @@
-// TODO: refactor to be like other modals
-.modal-dialog
- .modal-header
- button(type='button', data-dismiss="modal", aria-hidden="true").close ×
- h3(data-i18n="play_level.guide_title") Guide
+extends /templates/modal/modal_base
+
+block modal-header-content
+ h3(data-i18n="play_level.guide_title") Guide
- .modal-body
- ul.nav.nav-tabs
- for doc in docs
- li
- a(data-target="#docs_tab_#{doc.slug}", data-toggle="tab") #{doc.name}
- div.tab-content
- for doc in docs
- div.tab-pane(id="docs_tab_#{doc.slug}")!= doc.html
-
- .modal-footer
- a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn.btn-primary Close
+block modal-body-content
+ ul.nav.nav-tabs
+ for doc in docs
+ li
+ a(data-target="#docs_tab_#{doc.slug}", data-toggle="tab") #{doc.name}
+ div.tab-content
+ for doc in docs
+ div.tab-pane(id="docs_tab_#{doc.slug}")!= doc.html
diff --git a/app/templates/play/level/modal/reload.jade b/app/templates/play/level/modal/reload.jade
index e391a6a15..50f429594 100644
--- a/app/templates/play/level/modal/reload.jade
+++ b/app/templates/play/level/modal/reload.jade
@@ -1,11 +1,11 @@
-.modal-dialog
- .modal-header
- button(type='button', data-dismiss="modal", aria-hidden="true").close ×
- h3(data-i18n="play_level.reload_title") Reload All Code?
+extends /templates/modal/modal_base
+
+block modal-header-content
+ h3(data-i18n="play_level.reload_title") Reload All Code?
- .modal-body
- p(data-i18n="play_level.reload_really") Are you sure you want to reload this level back to the beginning?
+block modal-body-content
+ p(data-i18n="play_level.reload_really") Are you sure you want to reload this level back to the beginning?
- .modal-footer
- a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn Close
- a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.reload_confirm").btn.btn-primary#restart-level-confirm-button Reload All
+block modal-footer-content
+ a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn Close
+ a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.reload_confirm").btn.btn-primary#restart-level-confirm-button Reload All
diff --git a/app/templates/play/level/modal/victory.jade b/app/templates/play/level/modal/victory.jade
index 6329f0bbe..92c253955 100644
--- a/app/templates/play/level/modal/victory.jade
+++ b/app/templates/play/level/modal/victory.jade
@@ -1,54 +1,50 @@
-// TODO: refactor to be like other modals
+extends /templates/modal/modal_base
-.modal-dialog
+block modal-header-content
+ h3
+ span(data-i18n="play_level.victory_title_prefix")
+ span= levelName
+ span(data-i18n="play_level.victory_title_suffix") Complete
- .modal-header
- button(type='button', data-dismiss="modal", aria-hidden="true").close ×
- h3
- span(data-i18n="play_level.victory_title_prefix")
- span= levelName
- span(data-i18n="play_level.victory_title_suffix") Complete
-
- .modal-body
- img.victory-banner(src="/images/level/victory.png", alt="")
- div!= body
+block modal-body-content
+ img.victory-banner(src="/images/level/victory.png", alt="")
+ div!= body
- .modal-footer
- if readyToRank
- button.btn.btn-success.rank-game-button(data-i18n="play_level.victory_rank_my_game") Rank My Game
- else if level.get('type') === 'ladder'
- a.btn.btn-primary(href="/play/ladder/#{level.get('slug')}#my-matches", data-dismiss="modal", data-i18n="play_level.victory_go_ladder") Return to Ladder
- else if hasNextLevel
- button.btn.btn-primary.next-level-button(data-dismiss="modal", data-i18n="play_level.victory_play_next_level") Play Next Level
- else
- a.btn.btn-primary(href="/", data-dismiss="modal", data-i18n="play_level.victory_go_home") Go Home
- if me.get('anonymous')
- p.sign-up-poke
- button.btn.btn-success.sign-up-button.btn-large(data-toggle="coco-modal", data-target="modal/signup", data-i18n="play_level.victory_sign_up") Sign Up to Save Progress
- span(data-i18n="play_level.victory_sign_up_poke") Want to save your code? Create a free account!
- p.clearfix
- else
- div.rating.secret
- span(data-i18n="play_level.victory_rate_the_level") Rate the level:
- i.icon-star-empty
- i.icon-star-empty
- i.icon-star-empty
- i.icon-star-empty
- i.icon-star-empty
- if !me.get('anonymous')
- div.review.secret
- span(data-i18n="play_level.victory_review") Tell us more!
- br
- textarea
- div.share-buttons
- .g-plusone(data-href="http://codecombat.com", data-size="medium")
- .fb-like(data-href="https://www.facebook.com/codecombat", data-send="false", data-layout="button_count", data-width="350", data-show-faces="true", data-ref="coco_victory_#{fbRef}")
- a.twitter-follow-button(href="https://twitter.com/CodeCombat", data-show-count="true", data-show-screen-name="false", data-dnt="true", data-align="right", data-i18n="nav.twitter_follow") Follow
- iframe.github-star-button(src="http://ghbtns.com/github-btn.html?user=codecombat&repo=codecombat&type=watch&count=true", allowtransparency="true", frameborder="0", scrolling="0", width="110", height="20")
+block modal-footer-content
+ if readyToRank
+ button.btn.btn-success.rank-game-button(data-i18n="play_level.victory_rank_my_game") Rank My Game
+ else if level.get('type') === 'ladder'
+ a.btn.btn-primary(href="/play/ladder/#{level.get('slug')}#my-matches", data-dismiss="modal", data-i18n="play_level.victory_go_ladder") Return to Ladder
+ else if hasNextLevel
+ button.btn.btn-primary.next-level-button(data-dismiss="modal", data-i18n="play_level.victory_play_next_level") Play Next Level
+ else
+ a.btn.btn-primary(href="/", data-dismiss="modal", data-i18n="play_level.victory_go_home") Go Home
+ if me.get('anonymous')
+ p.sign-up-poke
+ button.btn.btn-success.sign-up-button.btn-large(data-toggle="coco-modal", data-target="modal/signup", data-i18n="play_level.victory_sign_up") Sign Up to Save Progress
+ span(data-i18n="play_level.victory_sign_up_poke") Want to save your code? Create a free account!
+ p.clearfix
+ else
+ div.rating.secret
+ span(data-i18n="play_level.victory_rate_the_level") Rate the level:
+ i.icon-star-empty
+ i.icon-star-empty
+ i.icon-star-empty
+ i.icon-star-empty
+ i.icon-star-empty
+ if !me.get('anonymous')
+ div.review.secret
+ span(data-i18n="play_level.victory_review") Tell us more!
+ br
+ textarea
+ div.share-buttons
+ .g-plusone(data-href="http://codecombat.com", data-size="medium")
+ .fb-like(data-href="https://www.facebook.com/codecombat", data-send="false", data-layout="button_count", data-width="350", data-show-faces="true", data-ref="coco_victory_#{fbRef}")
+ a.twitter-follow-button(href="https://twitter.com/CodeCombat", data-show-count="true", data-show-screen-name="false", data-dnt="true", data-align="right", data-i18n="nav.twitter_follow") Follow
+ iframe.github-star-button(src="http://ghbtns.com/github-btn.html?user=codecombat&repo=codecombat&type=watch&count=true", allowtransparency="true", frameborder="0", scrolling="0", width="110", height="20")
if showHourOfCodeDoneButton
- .modal-footer
- h3.pull-left(data-i18n="play_level.victory_hour_of_code_done") Are You Done?
- a(href="http://code.org/api/hour/finish")
- strong(data-i18n="play_level.victory_hour_of_code_done_yes") Yes, I'm finished with my Hour of Code!
- img(src="/images/level/csedweek-logo-final-small.jpg", alt="CS Ed Week Hour of Code", title="I'm finished with my Hour of Code", width=80)
+ h3.pull-left(data-i18n="play_level.victory_hour_of_code_done") Are You Done?
+ a(href="http://code.org/api/hour/finish")
+ strong(data-i18n="play_level.victory_hour_of_code_done_yes") Yes, I'm finished with my Hour of Code!
+ img(src="/images/level/csedweek-logo-final-small.jpg", alt="CS Ed Week Hour of Code", title="I'm finished with my Hour of Code", width=80)
diff --git a/app/templates/play/spectate.jade b/app/templates/play/spectate.jade
index d21a27f2a..ee9408d4c 100644
--- a/app/templates/play/spectate.jade
+++ b/app/templates/play/spectate.jade
@@ -3,7 +3,7 @@
.level-content
#control-bar-view
#canvas-wrapper
- canvas(width=1920, height=1224)#surface
+ canvas(width=1848, height=1178)#surface
#canvas-left-gradient.gradient
#canvas-top-gradient.gradient
#gold-view.secret.expanded
diff --git a/app/views/editor/level/modal/world_select.coffee b/app/views/editor/level/modal/world_select.coffee
index 37a65caa3..da3c6696b 100644
--- a/app/views/editor/level/modal/world_select.coffee
+++ b/app/views/editor/level/modal/world_select.coffee
@@ -78,8 +78,8 @@ module.exports = class WorldSelectModal extends View
showZoomRegion: ->
d = @defaultFromZoom
- canvasWidth=924 # dimensions for canvas player. Need these somewhere
- canvasHeight=589
+ canvasWidth = 1848 # Dimensions for canvas player. Need these somewhere.
+ canvasHeight = 1178
dimensions = {x: canvasWidth/d.zoom, y: canvasHeight/d.zoom}
dimensions = @surface.camera.surfaceToWorld(dimensions)
width = dimensions.x
diff --git a/app/views/editor/level/treema_nodes.coffee b/app/views/editor/level/treema_nodes.coffee
index e4ecbf72e..fda09a79b 100644
--- a/app/views/editor/level/treema_nodes.coffee
+++ b/app/views/editor/level/treema_nodes.coffee
@@ -3,7 +3,7 @@ ThangType = require '/models/ThangType'
makeButton = -> $('')
shorten = (f) -> parseFloat(f.toFixed(1))
-WIDTH = 924
+WIDTH = 1848
module.exports.WorldPointNode = class WorldPointNode extends TreemaNode.nodeMap.point2d
constructor: (args...) ->
diff --git a/app/views/home_view.coffee b/app/views/home_view.coffee
index aabece44d..5b3086127 100644
--- a/app/views/home_view.coffee
+++ b/app/views/home_view.coffee
@@ -3,14 +3,11 @@ template = require 'templates/home'
WizardSprite = require 'lib/surface/WizardSprite'
ThangType = require 'models/ThangType'
Simulator = require 'lib/simulator/Simulator'
+{me} = require '/lib/auth'
module.exports = class HomeView extends View
id: 'home-view'
template: template
-
- events:
- 'mouseover #beginner-campaign': 'onMouseOverButton'
- 'mouseout #beginner-campaign': 'onMouseOutButton'
constructor: ->
super(arguments...)
@@ -25,6 +22,7 @@ module.exports = class HomeView extends View
c.isOldBrowser = true if $.browser.safari && majorVersion < 536
else
console.warn 'no more jquery browser version...'
+ c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en'
c
afterRender: ->
@@ -32,71 +30,15 @@ module.exports = class HomeView extends View
@$el.find('.modal').on 'shown.bs.modal', ->
$('input:visible:first', @).focus()
- @wizardType = ThangType.wizardType
- if @wizardType.loaded then @initCanvas else @wizardType.once 'sync', @initCanvas, @
-
# Try to find latest level and set "Play" link to go to that level
if localStorage?
lastLevel = localStorage["lastLevel"]
if lastLevel? and lastLevel isnt ""
playLink = @$el.find("#beginner-campaign")
- if playLink?
+ if playLink[0]?
href = playLink.attr("href").split("/")
href[href.length-1] = lastLevel if href.length isnt 0
href = href.join("/")
playLink.attr("href", href)
else
- console.log("TODO: Insert here code to get latest level played from the database. If this can't be found, we just let the user play the first level.")
-
- initCanvas: ->
- @stage = new createjs.Stage($('#beginner-campaign canvas', @$el)[0])
- @createWizard()
-
- turnOnStageUpdates: ->
- clearInterval @turnOff
- @interval = setInterval(@updateStage, 40) unless @interval
-
- turnOffStageUpdates: ->
- turnOffFunc = =>
- clearInterval @interval
- clearInterval @turnOff
- @interval = null
- @turnOff = null
- @turnOff = setInterval turnOffFunc, 2000
-
- createWizard: (scale=3.7) ->
- spriteOptions = thangID: "Beginner Wizard", resolutionFactor: scale
- @wizardSprite = new WizardSprite @wizardType, spriteOptions
- wizardDisplayObject = @wizardSprite.displayObject
- wizardDisplayObject.x = 70
- wizardDisplayObject.y = 120
- wizardDisplayObject.scaleX = wizardDisplayObject.scaleY = scale
- wizardDisplayObject.scaleX *= -1
- @wizardSprite.queueAction 'idle'
- @wizardSprite.update()
- @stage.addChild wizardDisplayObject
- @stage.update()
-
- onMouseOverButton: ->
- @turnOnStageUpdates()
- @wizardSprite?.queueAction 'cast'
-
- onMouseOutButton: ->
- @turnOffStageUpdates()
- @wizardSprite?.queueAction 'idle'
-
- updateStage: =>
- @stage?.update()
-
- willDisappear: ->
- super()
- clearInterval(@interval) if @interval
- @interval = null
-
- didReappear: ->
- super()
- @turnOnStageUpdates()
-
- destroy: ->
- @wizardSprite?.destroy()
- super()
+ console.log("TODO: Insert here code to get latest level played from the database. If this can't be found, we just let the user play the first level.")
\ No newline at end of file
diff --git a/app/views/modal/signup_modal.coffee b/app/views/modal/signup_modal.coffee
index d1c76e3a1..8a39d0dca 100644
--- a/app/views/modal/signup_modal.coffee
+++ b/app/views/modal/signup_modal.coffee
@@ -37,6 +37,11 @@ module.exports = class SignupModalView extends View
checkAge: (e) ->
$("#signup-button", @$el).prop 'disabled', not $(e.target).prop('checked')
+
+ getRenderData: ->
+ c = super()
+ c.showRequiredError = @options.showRequiredError
+ c
createAccount: (e) =>
forms.clearFormAlerts(@$el)
diff --git a/app/views/multiplayer_view.coffee b/app/views/multiplayer_view.coffee
new file mode 100644
index 000000000..7def1a548
--- /dev/null
+++ b/app/views/multiplayer_view.coffee
@@ -0,0 +1,12 @@
+HomeView = require './home_view'
+ModalView = require 'views/kinds/ModalView'
+modalTemplate = require 'templates/multiplayer_launch_modal'
+
+module.exports = class MultiplayerLaunchView extends HomeView
+ afterInsert: ->
+ super()
+ @openModalView(new MultiplayerLaunchModal())
+
+class MultiplayerLaunchModal extends ModalView
+ template: modalTemplate
+ id: "multiplayer-launch-modal"
diff --git a/app/views/play/ladder_view.coffee b/app/views/play/ladder_view.coffee
index e275d0613..e0d25ea7f 100644
--- a/app/views/play/ladder_view.coffee
+++ b/app/views/play/ladder_view.coffee
@@ -4,6 +4,7 @@ Simulator = require 'lib/simulator/Simulator'
LevelSession = require 'models/LevelSession'
CocoCollection = require 'models/CocoCollection'
{teamDataFromLevel} = require './ladder/utils'
+{me} = require 'lib/auth'
application = require 'application'
LadderTabView = require './ladder/ladder_tab'
@@ -32,6 +33,7 @@ module.exports = class LadderView extends RootView
'click #simulate-button': 'onSimulateButtonClick'
'click #simulate-all-button': 'onSimulateAllButtonClick'
'click .play-button': 'onClickPlayButton'
+ 'click a': 'onClickedLink'
constructor: (options, @levelID) ->
super(options)
@@ -121,10 +123,22 @@ module.exports = class LadderView extends RootView
@showPlayModal($(e.target).closest('.play-button').data('team'))
showPlayModal: (teamID) ->
+ return @showApologeticSignupModal() if me.get('anonymous')
session = (s for s in @sessions.models when s.get('team') is teamID)[0]
modal = new LadderPlayModal({}, @level, session, teamID)
@openModalView modal
+
+ showApologeticSignupModal: ->
+ SignupModal = require 'views/modal/signup_modal'
+ @openModalView(new SignupModal({showRequiredError:true}))
+ onClickedLink: (e) ->
+ link = $(e.target).closest('a').attr('href')
+ if link?.startsWith '/play/level'
+ e.stopPropagation()
+ e.preventDefault()
+ @showApologeticSignupModal()
+
destroy: ->
clearInterval @refreshInterval
@simulator.destroy()
diff --git a/app/views/play/level/level_loading_view.coffee b/app/views/play/level/level_loading_view.coffee
index 44c134df9..47ef06fbc 100644
--- a/app/views/play/level/level_loading_view.coffee
+++ b/app/views/play/level/level_loading_view.coffee
@@ -1,6 +1,19 @@
View = require 'views/kinds/CocoView'
template = require 'templates/play/level/level_loading'
+
+tips = [
+ "Tip: you can shift+click a position on the map to insert it into the spell editor."
+ "You can toggle play/paused with ctrl+p."
+ "Pressing ctrl+[ and ctrl+] rewinds and fast-forwards."
+ "CodeCombat is 100% open source!"
+ "In the future, even babies will be Archmages."
+ "Loading will continue until morale improves."
+ "CodeCombat launched its beta in October, 2013."
+ "JavaScript is just the beginning."
+ "We believe in equal opportunities to learn programming for all species."
+]
+
module.exports = class LevelLoadingView extends View
id: "level-loading-view"
template: template
@@ -17,7 +30,7 @@ module.exports = class LevelLoadingView extends View
@$el.find('.progress-bar').css('width', (100 * @progress) + '%')
showReady: ->
- return
+ @$el.find('h2').addClass('ready').text 'Ready!'
unveil: ->
_.delay @reallyUnveil, 1000
@@ -37,4 +50,5 @@ module.exports = class LevelLoadingView extends View
getRenderData: (c={}) ->
super c
+ c.tip = _.sample tips
c
diff --git a/app/views/play/level/playback_view.coffee b/app/views/play/level/playback_view.coffee
index 46a5f3a77..d85213de8 100644
--- a/app/views/play/level/playback_view.coffee
+++ b/app/views/play/level/playback_view.coffee
@@ -165,13 +165,20 @@ module.exports = class PlaybackView extends View
$('.scrubber .progress', @$el).slider(
max: @sliderIncrements
animate: "slow"
- slide: (event, ui) => @scrubTo ui.value / @sliderIncrements
- start: (event, ui) => @clickingSlider = true
+ slide: (event, ui) =>
+ @scrubTo ui.value / @sliderIncrements
+ @slideCount += 1
+
+ start: (event, ui) =>
+ @slideCount = 0
+ @wasPlaying = @playing
+ Backbone.Mediator.publish 'level-set-playing', {playing: false}
+
stop: (event, ui) =>
@actualProgress = ui.value / @sliderIncrements
Backbone.Mediator.publish 'playback:manually-scrubbed', ratio: @actualProgress
- if @clickingSlider
- @clickingSlider = false
+ Backbone.Mediator.publish 'level-set-playing', {playing: @wasPlaying}
+ if @slideCount < 3
@wasPlaying = false
Backbone.Mediator.publish 'level-set-playing', {playing: false}
@$el.find('.scrubber-handle').effect('bounce', {times: 2})
diff --git a/app/views/play/level/tome/tome_view.coffee b/app/views/play/level/tome/tome_view.coffee
index 9640a98d0..65af01739 100644
--- a/app/views/play/level/tome/tome_view.coffee
+++ b/app/views/play/level/tome/tome_view.coffee
@@ -129,7 +129,6 @@ module.exports = class TomeView extends View
@thangSpells[thang.id].push spellKey
unless method.cloneOf
skipProtectAPI = @getQueryVariable("skip_protect_api") is "true" or @options.levelID isnt 'brawlwood'
- skipProtectAPI = true # gah, it's so slow :( and somehow still affects simulation
skipProtectAPI = false if @options.levelID is 'dungeon-arena'
skipFlow = @getQueryVariable("skip_flow") is "true" or @options.levelID is 'brawlwood'
spell = @spells[spellKey] = new Spell programmableMethod: method, spellKey: spellKey, pathComponents: pathPrefixComponents.concat(pathComponents), session: @options.session, supermodel: @supermodel, skipFlow: skipFlow, skipProtectAPI: skipProtectAPI, worker: @worker
diff --git a/app/views/play/level_view.coffee b/app/views/play/level_view.coffee
index 64d48ae8b..6f05b204d 100644
--- a/app/views/play/level_view.coffee
+++ b/app/views/play/level_view.coffee
@@ -154,7 +154,7 @@ module.exports = class PlayLevelView extends View
return Backbone.Mediator.subscribeOnce 'modal-closed', @onLevelLoaderLoaded, @
# Save latest level played in local storage
- localStorage["lastLevel"] = @levelID if localStorage?
+ localStorage["lastLevel"] = @levelID if localStorage? and not (@levelLoader.level.get('type') in ['ladder', 'ladder-tutorial'])
@grabLevelLoaderData()
team = @getQueryVariable("team") ? @world.teamForPlayer(0)
@loadOpponentTeam(team)
diff --git a/app/views/play/spectate_view.coffee b/app/views/play/spectate_view.coffee
index 60780cf64..d3c79b7ae 100644
--- a/app/views/play/spectate_view.coffee
+++ b/app/views/play/spectate_view.coffee
@@ -66,7 +66,6 @@ module.exports = class SpectateLevelView extends View
'ctrl+s': 'onCtrlS'
constructor: (options, @levelID) ->
- @originalOptions = _.cloneDeep(options)
console.profile?() if PROFILE_ME
super options
$(window).on('resize', @onWindowResize)
@@ -77,7 +76,7 @@ module.exports = class SpectateLevelView extends View
if options.spectateSessions
@sessionOne = options.spectateSessions.sessionOne
@sessionTwo = options.spectateSessions.sessionTwo
-
+
if not @sessionOne or not @sessionTwo
@fetchRandomSessionPair (err, data) =>
if err? then return console.log "There was an error fetching the random session pair: #{data}"
@@ -377,7 +376,9 @@ module.exports = class SpectateLevelView extends View
worldBounds = @world.getBounds()
bounds = [{x:worldBounds.left, y:worldBounds.top}, {x:worldBounds.right, y:worldBounds.bottom}]
@surface.camera.setBounds(bounds)
- @surface.camera.zoomTo({x:0, y:0}, 0.1, 0)
+ zoom = =>
+ @surface.camera.zoomTo({x: (worldBounds.right - worldBounds.left) / 2, y: (worldBounds.top - worldBounds.bottom) / 2}, 0.1, 0)
+ _.delay zoom, 4000 # call it later for some reason (TODO: figure this out)
initGoalManager: ->
@goalManager = new GoalManager(@world, @level.get('goals'))
@@ -444,7 +445,14 @@ module.exports = class SpectateLevelView extends View
Backbone.Mediator.publish 'router:navigate', {
route: url,
viewClass: SpectateLevelView,
- viewArgs: [{spectateSessions:{sessionOne: @sessionOne, sessionTwo: @sessionTwo}}, @levelID ]}
+ viewArgs: [
+ {
+ spectateSessions: {sessionOne: @sessionOne, sessionTwo: @sessionTwo}
+ supermodel: @supermodel
+ }
+ @levelID ]
+ }
+ history?.pushState? {}, "", url # Backbone won't update the URL if just query parameters change
fetchRandomSessionPair: (cb) ->
console.log "Fetching random session pair!"
diff --git a/server/levels/level_schema.coffee b/server/levels/level_schema.coffee
index 7fe7fc00b..8d2d60cd3 100644
--- a/server/levels/level_schema.coffee
+++ b/server/levels/level_schema.coffee
@@ -236,7 +236,7 @@ _.extend LevelSchema.properties,
i18n: {type: "object", format: 'i18n', props: ['name', 'description'], description: "Help translate this level"}
icon: { type: 'string', format: 'image-file', title: 'Icon' }
goals: c.array {title: 'Goals', description: 'An array of goals which are visible to the player and can trigger scripts.'}, GoalSchema
- type: c.shortString(title: "Type", description: "What kind of level this is.", "enum": ['campaign', 'ladder'])
+ type: c.shortString(title: "Type", description: "What kind of level this is.", "enum": ['campaign', 'ladder', 'ladder-tutorial'])
showsGuide: c.shortString(title: "Shows Guide", description: "If the guide is shown at the beginning of the level.", "enum": ['first-time', 'always'])
c.extendBasicProperties LevelSchema, 'level'
diff --git a/server/users/User.coffee b/server/users/User.coffee
index 9ccbab5e2..28009e610 100644
--- a/server/users/User.coffee
+++ b/server/users/User.coffee
@@ -17,6 +17,7 @@ UserSchema.pre('init', (next) ->
return next() unless jsonschema.properties?
for prop, sch of jsonschema.properties
@set(prop, sch.default) if sch.default?
+ @set('permissions', ['admin']) if not isProduction
next()
)