diff --git a/app/assets/images/pages/employer/anon_user.png b/app/assets/images/pages/employer/anon_user.png
index 34c2f197b..7191d604f 100644
Binary files a/app/assets/images/pages/employer/anon_user.png and b/app/assets/images/pages/employer/anon_user.png differ
diff --git a/app/assets/images/pages/employer/artisanal_claim.png b/app/assets/images/pages/employer/artisanal_claim.png
new file mode 100644
index 000000000..4a4918ff7
Binary files /dev/null and b/app/assets/images/pages/employer/artisanal_claim.png differ
diff --git a/app/assets/javascripts/workers/worker_world.js b/app/assets/javascripts/workers/worker_world.js
index 605ddeacd..78331cbb8 100644
--- a/app/assets/javascripts/workers/worker_world.js
+++ b/app/assets/javascripts/workers/worker_world.js
@@ -63,7 +63,7 @@ var console = {
console.error = console.warn = console.info = console.debug = console.log;
self.console = console;
-self.importScripts('/javascripts/world.js', '/javascripts/lodash.js', '/javascripts/aether.js');
+self.importScripts('/javascripts/lodash.js', '/javascripts/world.js', '/javascripts/aether.js');
var restricted = ["XMLHttpRequest", "importScripts", "Worker"];
for(var i = 0; i < restricted.length; ++i) {
diff --git a/app/collections/CocoCollection.coffee b/app/collections/CocoCollection.coffee
index 817b0700f..bb051811c 100644
--- a/app/collections/CocoCollection.coffee
+++ b/app/collections/CocoCollection.coffee
@@ -1,7 +1,12 @@
+CocoModel = require 'models/CocoModel'
+
module.exports = class CocoCollection extends Backbone.Collection
loaded: false
+ model: null
initialize: ->
+ if not @model
+ console.error @constructor.name, 'does not have a model defined. This will not do!'
super()
@once 'sync', =>
@loaded = true
diff --git a/app/initialize.coffee b/app/initialize.coffee
index 5462242f4..b2d69ee13 100644
--- a/app/initialize.coffee
+++ b/app/initialize.coffee
@@ -18,6 +18,7 @@ definitionSchemas =
'misc': require './schemas/definitions/misc'
init = ->
+ watchForErrors()
path = document.location.pathname
testing = path.startsWith '/test'
demoing = path.startsWith '/demo'
@@ -79,3 +80,16 @@ initializeServices = ->
for service in services
service = require service
service()
+
+watchForErrors = ->
+ currentErrors = 0
+ window.onerror = (msg, url, line, col, error) ->
+ return if currentErrors >= 3
+ return unless me.isAdmin() or document.location.href.search(/codecombat.com/) is -1 or document.location.href.search(/\/editor\//) isnt -1
+ ++currentErrors
+ msg = "Error: #{msg}
Check the JS console for more."
+ #msg += "\nLine: #{line}" if line?
+ #msg += "\nColumn: #{col}" if col?
+ #msg += "\nError: #{error}" if error?
+ #msg += "\nStack: #{stack}" if stack = error?.stack
+ noty text: msg, layout: 'topCenter', type: 'error', killer: false, timeout: 5000, dismissQueue: true, maxVisible: 3, callback: {onClose: -> --currentErrors}
diff --git a/app/lib/Angel.coffee b/app/lib/Angel.coffee
index 5c079d3b3..4beeffa97 100644
--- a/app/lib/Angel.coffee
+++ b/app/lib/Angel.coffee
@@ -34,7 +34,7 @@ module.exports = class Angel extends CocoClass
# say: debugging stuff, usually off; log: important performance indicators, keep on
say: (args...) -> #@log args...
- log: (args...) -> console.log "|#{@shared.godNick}'s #{@nick}|", args...
+ log: (args...) -> console.info "|#{@shared.godNick}'s #{@nick}|", args...
testWorker: =>
return if @destroyed
diff --git a/app/lib/auth.coffee b/app/lib/auth.coffee
index b19fbc668..6d218608d 100644
--- a/app/lib/auth.coffee
+++ b/app/lib/auth.coffee
@@ -12,7 +12,7 @@ init = ->
me.set 'testGroupNumber', Math.floor(Math.random() * 256)
me.patch()
- Backbone.listenTo(me, 'sync', Backbone.Mediator.publish('me:synced', {me: me}))
+ Backbone.listenTo(me, 'sync', -> Backbone.Mediator.publish('me:synced', {me: me}))
module.exports.createUser = (userObject, failure=backboneFailure, nextURL=null) ->
user = new User(userObject)
diff --git a/app/lib/surface/CocoSprite.coffee b/app/lib/surface/CocoSprite.coffee
index 1f18a4f6b..ea0a89fea 100644
--- a/app/lib/surface/CocoSprite.coffee
+++ b/app/lib/surface/CocoSprite.coffee
@@ -45,8 +45,10 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
# Scale numbers
baseScaleX: 1 # scale + flip (for current action) / resolutionFactor.
baseScaleY: 1 # These numbers rarely change, so keep them around.
- scaleFactor: 1 # Current scale adjustment. This can change rapidly.
- targetScaleFactor: 1 # What the scaleFactor is going toward during a tween.
+ scaleFactorX: 1 # Current scale adjustment. This can change rapidly.
+ scaleFactorY: 1
+ targetScaleFactorX: 1 # What the scaleFactor is going toward during a tween.
+ targetScaleFactorY: 1
# ACTION STATE
# Actions have relations. If you say 'move', 'move_side' may play because of a direction
@@ -104,7 +106,10 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
finishSetup: ->
@updateBaseScale()
- @scaleFactor = @thang.scaleFactor if @thang?.scaleFactor
+ @scaleFactorX = @thang.scaleFactorX if @thang?.scaleFactorX?
+ @scaleFactorX = @thang.scaleFactor if @thang?.scaleFactor?
+ @scaleFactorY = @thang.scaleFactorY if @thang?.scaleFactorY?
+ @scaleFactorY = @thang.scaleFactor if @thang?.scaleFactor?
@update true # Reflect initial scale and other state
setUpRasterImage: ->
@@ -212,7 +217,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
# Gets the sprite to reflect what the current state of the thangs and surface are
return if @stillLoading
@updatePosition()
- frameChanged = frameChanged or @targetScaleFactor isnt @scaleFactor
+ frameChanged = frameChanged or @targetScaleFactorX isnt @scaleFactorX or @targetScaleFactorY isnt @scaleFactorY
if frameChanged
@handledDisplayEvents = {}
@updateScale() # must happen before rotation
@@ -351,14 +356,16 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
scaleX = 0.5 + 0.5 * (90 - angle) / 90
# console.error 'No thang for', @ unless @thang
- # TODO: support using scaleFactorX/Y from the thang object
- @imageObject.scaleX = @baseScaleX * @scaleFactor * scaleX
- @imageObject.scaleY = @baseScaleY * @scaleFactor * scaleY
+ @imageObject.scaleX = @baseScaleX * @scaleFactorX * scaleX
+ @imageObject.scaleY = @baseScaleY * @scaleFactorY * scaleY
- if @thang and (@thang.scaleFactor or 1) isnt @targetScaleFactor
+ newScaleFactorX = @thang?.scaleFactorX ? @thang?.scaleFactor ? 1
+ newScaleFactorY = @thang?.scaleFactorY ? @thang?.scaleFactor ? 1
+ if @thang and (newScaleFactorX isnt @targetScaleFactorX or newScaleFactorY isnt @targetScaleFactorY)
+ @targetScaleFactorX = newScaleFactorX
+ @targetScaleFactorY = newScaleFactorY
createjs.Tween.removeTweens(@)
- createjs.Tween.get(@).to({scaleFactor: @thang.scaleFactor or 1}, 2000, createjs.Ease.elasticOut)
- @targetScaleFactor = @thang.scaleFactor or 1
+ createjs.Tween.get(@).to({scaleFactorX: @targetScaleFactorX, scaleFactorY: @targetScaleFactorY}, 2000, createjs.Ease.elasticOut)
updateAlpha: ->
@imageObject.alpha = if @hiding then 0 else 1
@@ -536,9 +543,8 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
pos.x *= scale
pos.y *= scale
if @thang and prop isnt 'registration'
- scaleFactor = @thang.scaleFactor ? 1
- pos.x *= @thang.scaleFactorX ? scaleFactor
- pos.y *= @thang.scaleFactorY ? scaleFactor
+ pos.x *= @thang.scaleFactorX ? @thang.scaleFactor ? 1
+ pos.y *= @thang.scaleFactorY ? @thang.scaleFactor ? 1
# We might need to do this, but I don't have a good test case yet. TODO: figure out.
#if prop isnt @registration
# pos.x *= if @getActionProp 'flipX' then -1 else 1
@@ -698,7 +704,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
AudioPlayer.playInterfaceSound 'coin_1', 0.25
if @thang.actionActivated and (action = @thang.getActionName()) isnt 'say'
@playSound action, withDelay, volume
- if @thang.sayMessage and withDelay # don't play sayMessages while scrubbing, annoying
+ if @thang.sayMessage and withDelay and not @thang.silent # don't play sayMessages while scrubbing, annoying
offsetFrames = Math.abs(@thang.sayStartTime - @thang.world.age) / @thang.world.dt
if offsetFrames <= 2 # or (not withDelay and offsetFrames < 30)
sound = AudioPlayer.soundForDialogue @thang.sayMessage, @thangType.get 'soundTriggers'
diff --git a/app/lib/surface/CoordinateDisplay.coffee b/app/lib/surface/CoordinateDisplay.coffee
index 448671ce3..87302f37a 100644
--- a/app/lib/surface/CoordinateDisplay.coffee
+++ b/app/lib/surface/CoordinateDisplay.coffee
@@ -67,8 +67,10 @@ module.exports = class CoordinateDisplay extends createjs.Container
radius = 2.5
width = @label.getMeasuredWidth() + 2 * margin
height = @label.getMeasuredHeight() + 2 * margin
- @label.regX = @background.regX = width / 2 - margin
- @label.regY = @background.regY = height / 2 - margin
+ @label.regX = @background.regX = width / 2
+ @label.regY = @background.regY = height / 2
+ @label.regX -= margin
+ @label.regY -= margin
@background.graphics
.clear()
.beginFill('rgba(0,0,0,0.4)')
diff --git a/app/lib/surface/Mark.coffee b/app/lib/surface/Mark.coffee
index 54853f506..9752ca837 100644
--- a/app/lib/surface/Mark.coffee
+++ b/app/lib/surface/Mark.coffee
@@ -65,6 +65,8 @@ module.exports = class Mark extends CocoClass
buildBounds: ->
@mark = new createjs.Container()
@mark.mouseChildren = false
+ style = @sprite.thang.drawsBoundsStyle
+ return if style is 'corner-text' and @sprite.thang.world.age is 0
# Confusingly make some semi-random colors that'll be consistent based on the drawsBoundsIndex
@drawsBoundsIndex = @sprite.thang.drawsBoundsIndex
@@ -72,11 +74,14 @@ module.exports = class Mark extends CocoClass
color = "rgba(#{colors[0]}, #{colors[1]}, #{colors[2]}, 0.5)"
[w, h] = [@sprite.thang.width * Camera.PPM, @sprite.thang.height * Camera.PPM * @camera.y2x]
- if @sprite.thang.drawsBoundsStyle is 'border-text'
- shape = new createjs.Shape()
+ if style in ['border-text', 'corner-text']
+ @drawsBoundsBorderShape = shape = new createjs.Shape()
shape.graphics.setStrokeStyle 5
shape.graphics.beginStroke color
- shape.graphics.beginFill color.replace('0.5', '0.25')
+ if style is 'border-text'
+ shape.graphics.beginFill color.replace('0.5', '0.25')
+ else
+ shape.graphics.beginFill color
if @sprite.thang.shape in ['ellipsoid', 'disc']
shape.drawEllipse 0, 0, w, h
else
@@ -85,13 +90,13 @@ module.exports = class Mark extends CocoClass
shape.graphics.endFill()
@mark.addChild shape
- if @sprite.thang.drawsBoundsStyle is 'border-text'
+ if style is 'border-text'
text = new createjs.Text '' + @drawsBoundsIndex, '20px Arial', color.replace('0.5', '1')
text.regX = text.getMeasuredWidth() / 2
text.regY = text.getMeasuredHeight() / 2
text.shadow = new createjs.Shadow('#000000', 1, 1, 0)
@mark.addChild text
- else if @sprite.thang.drawsBoundsStyle is 'corner-text'
+ else if style is 'corner-text'
return if @sprite.thang.world.age is 0
letter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[@drawsBoundsIndex % 26]
text = new createjs.Text letter, '14px Arial', '#333333' # color.replace('0.5', '1')
@@ -99,9 +104,9 @@ module.exports = class Mark extends CocoClass
text.y = -h / 2 + 2
@mark.addChild text
else
- console.warn @sprite.thang.id, 'didn\'t know how to draw bounds style:', @sprite.thang.drawsBoundsStyle
+ console.warn @sprite.thang.id, 'didn\'t know how to draw bounds style:', style
- if w > 0 and h > 0
+ if w > 0 and h > 0 and style is 'border-text'
@mark.cache -w / 2, -h / 2, w, h, 2
@lastWidth = @sprite.thang.width
@lastHeight = @sprite.thang.height
@@ -127,7 +132,7 @@ module.exports = class Mark extends CocoClass
@mark.regX = width / 2
@mark.regY = height / 2
@mark.layerIndex = 10
- @mark.cache -1, 0, width+2, height # not actually faster than simple ellipse draw
+ @mark.cache -1, -1, width + 2, height + 2 # not actually faster than simple ellipse draw
buildRadius: (range) ->
alpha = 0.15
@@ -226,13 +231,12 @@ module.exports = class Mark extends CocoClass
@highlightTween = createjs.Tween.get(@mark).to({}, @highlightDelay).call =>
@mark.visible = true
@highlightDelay = @highlightTween = null
+ @updateAlpha @alpha if @name in ['shadow', 'bounds']
true
updatePosition: (pos) ->
if @sprite?.thang and @name in ['shadow', 'debug', 'target', 'selection', 'repair']
pos = @camera.worldToSurface x: @sprite.thang.pos.x, y: @sprite.thang.pos.y
- if @name is 'shadow'
- @updateAlpha @alpha
else
pos ?= @sprite?.imageObject
@mark.x = pos.x
@@ -248,7 +252,9 @@ module.exports = class Mark extends CocoClass
if @name is 'shadow'
worldZ = @sprite.thang.pos.z - @sprite.thang.depth / 2 + @sprite.getBobOffset()
@mark.alpha = @alpha * 0.451 / Math.sqrt(worldZ / 2 + 1)
- else if @name isnt 'bounds'
+ else if @name is 'bounds'
+ @drawsBoundsBorderShape?.alpha = Math.floor @sprite.thang.alpha # Stop drawing bounds as soon as alpha is reduced at all
+ else
@mark.alpha = @alpha
updateRotation: ->
diff --git a/app/lib/surface/SpriteBoss.coffee b/app/lib/surface/SpriteBoss.coffee
index 1483481a7..2c2664a6b 100644
--- a/app/lib/surface/SpriteBoss.coffee
+++ b/app/lib/surface/SpriteBoss.coffee
@@ -11,7 +11,7 @@ module.exports = class SpriteBoss extends CocoClass
subscriptions:
'bus:player-joined': 'onPlayerJoined'
'bus:player-left': 'onPlayerLeft'
-# 'level-set-debug': 'onSetDebug'
+ 'level-set-debug': 'onSetDebug'
'level-highlight-sprites': 'onHighlightSprites'
'surface:stage-mouse-down': 'onStageMouseDown'
'level-select-sprite': 'onSelectSprite'
@@ -111,6 +111,8 @@ module.exports = class SpriteBoss extends CocoClass
sprite.targetPos = if opponent.team is 'ogres' then {x: 52, y: 52} else {x: 28, y: 28}
else if opponent.levelSlug is 'dungeon-arena'
sprite.targetPos = if opponent.team is 'ogres' then {x: 72, y: 39} else {x: 9, y: 39}
+ else if opponent.levelSlug is 'criss-cross'
+ sprite.targetPos = if opponent.team is 'ogres' then {x: 50, y: 12} else {x: 0, y: 40}
else
sprite.targetPos = if opponent.team is 'ogres' then {x: 52, y: 28} else {x: 20, y: 28}
diff --git a/app/lib/utils.coffee b/app/lib/utils.coffee
index 8e3a095dc..08368a881 100644
--- a/app/lib/utils.coffee
+++ b/app/lib/utils.coffee
@@ -77,6 +77,8 @@ module.exports.getByPath = (target, path) ->
obj = obj[piece]
obj
+module.exports.isID = (id) -> _.isString(id) and id.length is 24 and id.match(/[a-f0-9]/gi)?.length is 24
+
module.exports.round = _.curry (digits, n) ->
n = +n.toFixed(digits)
diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee
index d20da4015..329ce4a32 100644
--- a/app/locale/ar.coffee
+++ b/app/locale/ar.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee
index 583c3dbb9..2c71d71a8 100644
--- a/app/locale/bg.coffee
+++ b/app/locale/bg.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "български език", englishDescri
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "български език", englishDescri
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "български език", englishDescri
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "български език", englishDescri
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "български език", englishDescri
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "български език", englishDescri
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "български език", englishDescri
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/ca.coffee b/app/locale/ca.coffee
index 458b6922b..963ab4e9d 100644
--- a/app/locale/ca.coffee
+++ b/app/locale/ca.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee
index 038d1116e..33a31ceac 100644
--- a/app/locale/cs.coffee
+++ b/app/locale/cs.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/da.coffee b/app/locale/da.coffee
index ac2f76026..d6fb0dfd3 100644
--- a/app/locale/da.coffee
+++ b/app/locale/da.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
editor_config_keybindings_label: "Tastaturgenveje"
# editor_config_keybindings_default: "Default (Ace)"
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/de-AT.coffee b/app/locale/de-AT.coffee
index f8234ceb5..482c2eeab 100644
--- a/app/locale/de-AT.coffee
+++ b/app/locale/de-AT.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/de-CH.coffee b/app/locale/de-CH.coffee
index 87347663e..0e045f99c 100644
--- a/app/locale/de-CH.coffee
+++ b/app/locale/de-CH.coffee
@@ -197,7 +197,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
edit_profile: "Profil bearbeite"
done_editing: "Fertig mit bearbeite"
profile_for_prefix: "Profil für "
-# profile_for_suffix: ""
+# profile_for_suffix: ""
# featured: "Featured"
# not_featured: "Not Featured"
# looking_for: "Looking for:"
@@ -212,6 +212,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
next_name: "Name?"
next_short_description: "schriibe e churzi Beschriibig."
next_long_description: "beschriib dini Wunschstell."
+# next_skills: "list at least five skills."
# next_work: "chronicle your work history."
# next_education: "recount your educational ordeals."
next_projects: "Zeig üs bis zu drü Projekt a dene du scho gschaffet hesch."
@@ -235,7 +236,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -280,7 +281,8 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -296,22 +298,37 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -319,6 +336,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -381,6 +399,8 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -417,6 +437,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -881,6 +902,8 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee
index 76884e25e..59dbeab1f 100644
--- a/app/locale/de-DE.coffee
+++ b/app/locale/de-DE.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
basics_country: "Land"
basics_country_help: "Land in dem du arbeiten möchtest (oder jetzt lebst)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
basics_looking_for_full_time: "Vollzeit"
basics_looking_for_part_time: "Teilzeit"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
education_duration_help: "Wann?"
education_description: "Beschreibung"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
projects: "Projekte"
projects_header: "Füge 3 Projekte hinzu"
projects_header_2: "Projekte (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
player_code: "Spieler Code"
employers:
- want_to_hire_our_players: "Stelle CodeCombat Spieler ein"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
what: "Was ist CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
editor_config_keybindings_label: "Tastenbelegung"
editor_config_keybindings_default: "Standard (Ace)"
editor_config_keybindings_description: "Fügt zusätzliche Tastenkombinationen, bekannt aus anderen Editoren, hinzu"
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Zeige unsichtbare Zeichen"
editor_config_invisibles_description: "Zeigt unsichtbare Zeichen wie Leertasten an."
editor_config_indentguides_label: "Zeige Einrückungshilfe"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
tip_impossible: "Es wirkt immer unmöglich bis es vollbracht ist. - Nelson Mandela"
tip_talk_is_cheap: "Reden ist billig. Zeig mir den Code. - Linus Torvalds"
tip_first_language: "Das schwierigste, das du jemals lernen wirst, ist die erste Programmiersprache. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Aktuell"
time_total: "Total"
time_goto: "Gehe zu"
@@ -643,7 +663,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
# 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: "Die englische Version dieses Dokuments ist die definitive, kanonische Version. Sollte es Unterschiede zwischen den Übersetzungen geben, dann hat das englische Dokument Vorrang."
-# contribute:
+ contribute:
# page_title: "Contributing"
character_classes_title: "Charakter Klassen"
# introduction_desc_intro: "We have high hopes for CodeCombat."
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
document: "Dokument"
sprite_sheet: "Sprite Sheet"
candidate_sessions: "Kandidat-Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
delta:
added: "hinzugefügt"
diff --git a/app/locale/de.coffee b/app/locale/de.coffee
index 41396ba00..a2f22679c 100644
--- a/app/locale/de.coffee
+++ b/app/locale/de.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
basics_country: "Land"
basics_country_help: "Land in dem du arbeiten möchtest (oder jetzt lebst)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
basics_looking_for_full_time: "Vollzeit"
basics_looking_for_part_time: "Teilzeit"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
education_duration_help: "Wann?"
education_description: "Beschreibung"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
projects: "Projekte"
projects_header: "Füge 3 Projekte hinzu"
projects_header_2: "Projekte (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
player_code: "Spieler Code"
employers:
- want_to_hire_our_players: "Stelle CodeCombat Spieler ein"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
what: "Was ist CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
editor_config_keybindings_label: "Tastenbelegung"
editor_config_keybindings_default: "Standard (Ace)"
editor_config_keybindings_description: "Fügt zusätzliche Tastenkombinationen, bekannt aus anderen Editoren, hinzu"
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Zeige unsichtbare Zeichen"
editor_config_invisibles_description: "Zeigt unsichtbare Zeichen wie Leertasten an."
editor_config_indentguides_label: "Zeige Einrückungshilfe"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
tip_impossible: "Es wirkt immer unmöglich bis es vollbracht ist. - Nelson Mandela"
tip_talk_is_cheap: "Reden ist billig. Zeig mir den Code. - Linus Torvalds"
tip_first_language: "Das schwierigste, das du jemals lernen wirst, ist die erste Programmiersprache. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Aktuell"
time_total: "Total"
time_goto: "Gehe zu"
@@ -643,7 +663,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
# 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: "Die englische Version dieses Dokuments ist die definitive, kanonische Version. Sollte es Unterschiede zwischen den Übersetzungen geben, dann hat das englische Dokument Vorrang."
-# contribute:
+ contribute:
# page_title: "Contributing"
character_classes_title: "Charakter Klassen"
# introduction_desc_intro: "We have high hopes for CodeCombat."
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
document: "Dokument"
sprite_sheet: "Sprite Sheet"
candidate_sessions: "Kandidat-Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
delta:
added: "hinzugefügt"
diff --git a/app/locale/el.coffee b/app/locale/el.coffee
index 37bd3bd04..4583ce9dc 100644
--- a/app/locale/el.coffee
+++ b/app/locale/el.coffee
@@ -43,7 +43,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
page_not_found: "Η σελίδα δεν βρέθηκε"
nav:
-# play: "Επίπεδα"
+ play: "Επίπεδα"
# community: "Community"
# editor: "Editor"
blog: "Μπλόγκ"
@@ -59,12 +59,12 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# employers: "Employers"
# versions:
- save_version_title: "Αποθήκευση νέας έκδοσης"
+# save_version_title: "Save New Version"
# new_major_version: "New Major Version"
- cla_prefix: "Για να αποθηκεύσετε, πρώτα πρέπει να συμφωνήσετε στα"
+# cla_prefix: "To save changes, first you must agree to our"
# cla_url: "CLA"
# cla_suffix: "."
- cla_agree: "ΣΥΜΦΩΝΩ"
+# cla_agree: "I AGREE"
login:
sign_up: "Δημιούργησε Λογαριασμό"
@@ -148,7 +148,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
clothes: "Ρούχα"
# trim: "Trim"
cloud: "Σύννεφο"
-# team: "Ομάδα"
+ team: "Ομάδα"
spell: "Ξόρκι"
boots: "Μπότες"
hue: "Απόχρωση"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee
index 6ff6b88fa..8f073d7d7 100644
--- a/app/locale/en-AU.coffee
+++ b/app/locale/en-AU.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee
index e6b48b373..cea2078f9 100644
--- a/app/locale/en-GB.coffee
+++ b/app/locale/en-GB.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee
index 362e522ed..ce19759c6 100644
--- a/app/locale/en-US.coffee
+++ b/app/locale/en-US.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index 7094f735e..69373ccfb 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -236,7 +236,7 @@
basics_country: "Country"
basics_country_help: "Country you want to work in (or live in now)."
basics_visa: "US Work Status"
- basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+ basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
basics_looking_for: "Looking For"
basics_looking_for_full_time: "Full-time"
basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,7 @@
education_duration_help: "When?"
education_description: "Description"
education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
- our_notes: "Our Notes"
+ our_notes: "CodeCombat's Notes"
remarks: "Remarks"
projects: "Projects"
projects_header: "Add 3 projects"
@@ -298,26 +298,37 @@
player_code: "Player Code"
employers:
- want_to_hire_our_players: "Hire CodeCombat Players"
+ hire_developers_not_credentials: "Hire developers, not credentials."
+ get_started: "Get Started"
+ already_screened: "We've already technically screened all our candidates"
+ filter_further: ", but you can also filter further:"
+ filter_visa: "Visa"
+ filter_visa_yes: "US Authorized"
+ filter_visa_no: "Not Authorized"
+ filter_education_top: "Top School"
+ filter_education_other: "Other"
+ filter_role_web_developer: "Web Developer"
+ filter_role_software_developer: "Software Developer"
+ filter_role_mobile_developer: "Mobile Developer"
+ filter_experience: "Experience"
+ filter_experience_senior: "Senior"
+ filter_experience_junior: "Junior"
+ filter_experience_recent_grad: "Recent Grad"
+ filter_experience_student: "College Student"
+ filter_results: "results"
+ start_hiring: "Start hiring."
+ reasons: "Three reasons you should hire through us:"
+ everyone_looking: "Everyone here is looking for their next opportunity."
+ everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+ weeding: "Sit back; we've done the weeding for you."
+ weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+ pass_screen: "They will pass your technical screen."
+ pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+ make_hiring_easier: "Make my hiring easier, please."
what: "What is CodeCombat?"
what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
- who: "Who Are the Players?"
- who_blurb: "CodeCombateers are CTOs, VPs of Engineering, and graduates of top 20 engineering schools. Our advanced players enjoy playing with difficult code and solving problems."
- how: "How Do We Find Developers?"
- how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
- why: "Why Hire Through Us?"
- why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
cost: "How much do we charge?"
cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
- response: "What's the response rate?"
- response_blurb: "Almost every developer you contact on CodeCombat will respond to inquires whether or not they want to interivew. If you would like help finding a candidate for your role, we can make recommendations."
- why_blurb_2: "looking for work"
- why_blurb_3: ", has "
- why_blurb_4: "demonstrated top notch technical skills"
- why_blurb_5: ", and has been "
- why_blurb_6: "personally screened by us"
- why_blurb_7: ". Stop screening and start hiring."
- see_candidates: "Click here to see our candidates"
candidate_name: "Name"
candidate_location: "Location"
candidate_looking_for: "Looking For"
diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee
index a4fa878ec..6c8fb4120 100644
--- a/app/locale/es-419.coffee
+++ b/app/locale/es-419.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -282,6 +282,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Nuestras Notas"
+# remarks: "Remarks"
projects: "Proyectos"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "¿Quiere contratar a nuestros jugadores expertos de CodeCombat?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Nombre"
candidate_location: "Ubicación"
candidate_looking_for: "Buscando"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
candidate_top_skills: "Mejores Habilidades"
candidate_years_experience: "Años de Exp"
candidate_last_updated: "Última Actualización"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
editor_config_keybindings_label: "Atajos de Teclado"
editor_config_keybindings_default: "Default (As)"
editor_config_keybindings_description: "Añade atajos adicionales conocidos de los editores comunes."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Mostrar Invisibles"
editor_config_invisibles_description: "Visualiza invisibles tales como espacios o tabulaciones."
editor_config_indentguides_label: "Mostrar guías de indentación"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
tip_impossible: "Siempre parece imposible hasta que se hace. - Nelson Mandela"
tip_talk_is_cheap: "Hablar es barato. Muestrame el código. - Linus Torvalds"
tip_first_language: "La cosa más desastroza que puedes aprender es tu primer lenguaje de programación. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Ahora:"
time_total: "Max:"
time_goto: "Ir a:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee
index 2065b88a4..a011e016e 100644
--- a/app/locale/es-ES.coffee
+++ b/app/locale/es-ES.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
basics_country: "País"
basics_country_help: "País en la que quieres trabajar (o en la que vives actualmente)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
basics_looking_for_full_time: "Full-time (tiempo completo)"
# basics_looking_for_part_time: "Part-time"
@@ -282,6 +282,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
education_description: "Descripción"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Nuestras notas"
+# remarks: "Remarks"
projects: "Proyectos"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "¿Quieres contratar jugadores expertos de CodeCombat?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
what: "¿Qué es CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
- who: "¿Quiénes son los jugadores?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
- see_candidates: "Click aquí para ver a nuestros candidatos"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Nombre"
candidate_location: "Ubicación"
candidate_looking_for: "Buscando"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
candidate_top_skills: "Mejores Habilidades"
candidate_years_experience: "Años Exp"
candidate_last_updated: "Última actualización"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
editor_config_keybindings_label: "Atajos de teclado"
editor_config_keybindings_default: "Actual (Ace)"
editor_config_keybindings_description: "Permite el uso de atajos de teclado de algunos editores conocidos."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Mostrar elementos invisibles"
editor_config_invisibles_description: "Se pueden ver elementos invisibles como espacios o tabulaciones."
editor_config_indentguides_label: "Mostrar guías de sangría"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
tip_impossible: "Siempre parece imposible, hasta que se hace. - Nelson Mandela"
tip_talk_is_cheap: "Hablar es fácil. Enséñame el código. - Linus Torvalds"
tip_first_language: "La cosa más desastrosa que puedes aprender es tu primer lenguaje de programación. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Ahora:"
time_total: "Máx:"
time_goto: "Ir a:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
delta:
added: "Añadido"
diff --git a/app/locale/es.coffee b/app/locale/es.coffee
index ef5f74793..80a6e5284 100644
--- a/app/locale/es.coffee
+++ b/app/locale/es.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee
index 7d24100ff..5b1ca0e81 100644
--- a/app/locale/fa.coffee
+++ b/app/locale/fa.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee
index 96a330fa0..83148a058 100644
--- a/app/locale/fi.coffee
+++ b/app/locale/fi.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee
index 5a55252d0..af1a2116d 100644
--- a/app/locale/fr.coffee
+++ b/app/locale/fr.coffee
@@ -235,7 +235,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
basics_city_help: "Ville dans laquelle vous souhaitez travailler (ou dans laquelle vous vivez actuellement)."
basics_country: "Pays"
basics_country_help: "Pays dans lequel vous souhaitez travailler (ou dans lequel vous vivez actuellement)."
- basics_visa: "Status de travail aux Etats-Unis"
+ basics_visa: "Statut de travail aux Etats-Unis"
basics_visa_help: "Etes vous autorisé à travailler aux Etats-Unis ou avez vous besoin d'un parrainage pour le visa ?"
basics_looking_for: "Recherche"
basics_looking_for_full_time: "Temps plein"
@@ -248,71 +248,87 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
name_anonymous: "Developpeur Anonyme"
name_help: "Le nom que vous souhaitez que l'employeur voie, par exemple 'Chuck Norris'."
short_description_header: "Décrivez vous en quelques mots"
-# short_description_blurb: "Add a tagline to help an employer quickly learn more about you."
+ short_description_blurb: "Ajoutez une phrase d'accroche pour permettre à un employeur d'en savoir plus sur vous."
short_description: "Description courte"
short_description_help: "Qui êtes vous et que recherchez vous ? 140 caractères max."
skills_header: "Compétences"
skills_help: "Notez vos compétence de développement par ordre de maitrise."
long_description_header: "Détaillez votre poste souhaité"
-# long_description_blurb: "Tell employers how awesome you are and what role you want."
-# long_description: "Self Description"
-# long_description_help: "Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max."
+ long_description_blurb: "Faites savoir aux employeurs combien vous êtes génial et quel poste vous voulez."
+ long_description: "Biographie"
+ long_description_help: "Décrivez-vous aux potentiels employeurs. Soyez bref et direct. Nous vous recommandons de bien indiquer quel poste vous intéresse le plus. 600 caractères max."
work_experience: "Experience de travail"
-# work_header: "Chronicle your work history"
-# work_years: "Years of Experience"
-# work_years_help: "How many years of professional experience (getting paid) developing software do you have?"
-# work_blurb: "List your relevant work experience, most recent first."
-# work_employer: "Employer"
-# work_employer_help: "Name of your employer."
-# work_role: "Job Title"
-# work_role_help: "What was your job title or role?"
-# work_duration: "Duration"
+ work_header: "Présentez votre parcours professionnel"
+ work_years: "Années d'expérience"
+ work_years_help: "Combien d'années d'expérience professionnelle (salarié) avez-vous dans le développement logiciel ?"
+ work_blurb: "Lister vos missions les plus pertinentes, les plus récentes en premier."
+ work_employer: "Employeur"
+ work_employer_help: "Nom de votre employeur."
+ work_role: "Titre du poste"
+ work_role_help: "Quel était l'intitulé de votre mission ou votre poste ?"
+ work_duration: "Durée"
# work_duration_help: "When did you hold this gig?"
-# work_description: "Description"
-# work_description_help: "What did you do there? (140 chars; optional)"
+ work_description: "Description"
+ work_description_help: "Qu'est-ce que vous y avez fait ? (140 carac.; optionel)"
education: "Education"
-# education_header: "Recount your academic ordeals"
-# education_blurb: "List your academic ordeals."
-# education_school: "School"
-# education_school_help: "Name of your school."
-# education_degree: "Degree"
-# education_degree_help: "What was your degree and field of study?"
-# education_duration: "Dates"
-# education_duration_help: "When?"
-# education_description: "Description"
-# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
+ education_header: "Racontez vos exploits scolaires"
+ education_blurb: "Lister vos exploits scolaires."
+ education_school: "Etablissement"
+ education_school_help: "Nom de l'établissement."
+ education_degree: "Diplôme"
+ education_degree_help: "Quel était votre diplôme et votre domaine d'étude ?"
+ education_duration: "Dates"
+ education_duration_help: "Quand ?"
+ education_description: "Description"
+ education_description_help: "Mettez en avant ce que vous voulez à propos de votre parcours scolaire. (140 carac.; optionel)"
our_notes: "Notes"
+# remarks: "Remarks"
projects: "Projets"
-# projects_header: "Add 3 projects"
-# projects_header_2: "Projects (Top 3)"
-# projects_blurb: "Highlight your projects to amaze employers."
-# project_name: "Project Name"
-# project_name_help: "What was the project called?"
-# project_description: "Description"
-# project_description_help: "Briefly describe the project."
-# project_picture: "Picture"
-# project_picture_help: "Upload a 230x115px or larger image showing off the project."
-# project_link: "Link"
-# project_link_help: "Link to the project."
+ projects_header: "Ajoutez 3 projets"
+ projects_header_2: "Projets (Top 3)"
+ projects_blurb: "Mettez en avant vos projets pour épater les employeurs."
+ project_name: "Nom du projet"
+ project_name_help: "Comment avez-vous appelé votre projet ?"
+ project_description: "Description"
+ project_description_help: "Décrivez brièvement le projet."
+ project_picture: "Image"
+ project_picture_help: "Chargez une image de 230x115px oou plus grande pour présenter votre projet."
+ project_link: "Lien"
+ project_link_help: "Lien vers le projet."
# player_code: "Player Code"
employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
-# what: "What is CodeCombat?"
-# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
+ what: "Qu'est-ce que CodeCombat?"
+ what_blurb: "CodeCombat est un jeu de programmation multijoueur par navigateur. Les Joueurs écrivent le code pour contrôler leurs troupes dans des batailles contre d'autres développeurs. Nous prenons en charge JavaScript, Python, Lua, Clojure, CoffeeScript, et Io."
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Nom"
candidate_location: "Localisation"
candidate_looking_for: "Poste pour"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
candidate_top_skills: "Talents/Aptitudes"
candidate_years_experience: "Années d'expérience"
candidate_last_updated: "Dernière mise à jour"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
editor_config_keybindings_label: "Raccourcis clavier"
editor_config_keybindings_default: "Par défault (Ace)"
editor_config_keybindings_description: "Ajouter de nouveaux raccourcis connus depuis l'éditeur commun."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Afficher les caractères non-imprimables"
editor_config_invisibles_description: "Permet d'afficher les caractères comme les espaces et les tabulations."
editor_config_indentguides_label: "Montrer les indentations"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Maintenant:"
time_total: "Max:"
time_goto: "Allez a:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
delta:
added: "Ajouté"
diff --git a/app/locale/he.coffee b/app/locale/he.coffee
index e1a583ecd..e512e32fc 100644
--- a/app/locale/he.coffee
+++ b/app/locale/he.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee
index 18e9e5684..57fc1b082 100644
--- a/app/locale/hi.coffee
+++ b/app/locale/hi.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee
index 24c6fe62a..84c761e11 100644
--- a/app/locale/hu.coffee
+++ b/app/locale/hu.coffee
@@ -187,13 +187,13 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
saved: "Változtatások elmentve"
password_mismatch: "A jelszavak nem egyeznek."
job_profile: "Munkaköri leírás"
- job_profile_approved: "Munkaköri leírásodat a Codecombat jóváhagyta. Munkaadók mindaddig láthatják, amíg meg nem jelölöd inaktíként, vagy négy hétig,ha addig nem kerül megváltoztatásra."
+ job_profile_approved: "Munkaköri leírásodat a Codecombat jóváhagyta. Munkaadók mindaddig láthatják, amíg meg nem jelölöd inaktívként, vagy négy hétig, ha addig nem kerül megváltoztatásra."
job_profile_explanation: "Szió! Töltsd ki ezt és majd kapcsolatba lépünk veled és keresünk neked egy szoftware fejlesztői állást."
sample_profile: "Nézz meg egy mintaprofilt!"
view_profile: "Nézd meg a profilodat!"
account_profile:
-# settings: "Settings"
+ settings: "Beállítások"
edit_profile: "Szerkeszd meg a profilodat"
done_editing: "Szerkesztés kész"
profile_for_prefix: "Profil "
@@ -205,10 +205,10 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
contact: "Kapcsolat"
active: "Azonnali interjú ajánlatokat keresek"
inactive: "Most éppen nem keresek interjú ajánlatokat"
-# complete: "complete"
+ complete: "befejezve"
next: "Következő"
next_city: "Város?"
-# next_country: "pick your country."
+ next_country: "válaszd ki az országot."
next_name: "Név?"
next_short_description: "adj egy rövid leírást."
# next_long_description: "describe your desired position."
@@ -231,16 +231,16 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# basics_active_help: "Want interview offers right now?"
# basics_job_title: "Desired Job Title"
# basics_job_title_help: "What role are you looking for?"
-# basics_city: "City"
-# basics_city_help: "City you want to work in (or live in now)."
-# basics_country: "Country"
+ basics_city: "Város"
+ basics_city_help: "A város, ahol dolgozni akarsz (vagy ahol élsz)"
+ basics_country: "Ország"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
-# basics_looking_for_full_time: "Full-time"
-# basics_looking_for_part_time: "Part-time"
-# basics_looking_for_remote: "Remote"
+ basics_looking_for_full_time: "Teljes munkaidőben"
+ basics_looking_for_part_time: "Részmunkaidőben"
+ basics_looking_for_remote: "Távmunkában"
# basics_looking_for_contracting: "Contracting"
# basics_looking_for_internship: "Internship"
# basics_looking_for_help: "What kind of developer position do you want?"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
projects: "Projektek"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "Akarsz szakértő CodeCombat játékosokat alkalmazni?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Név"
# candidate_location: "Location"
candidate_looking_for: "Keres"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
candidate_last_updated: "Legutóbb napra-készre hozva"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
tip_impossible: "Mindig lehetetlennek tűnik, amíg meg nem tetted. - Nelson Mandela"
tip_talk_is_cheap: "Dumálni könnyű. Mutasd a kódot!. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Most:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/id.coffee b/app/locale/id.coffee
index 222406a1b..6951b4b67 100644
--- a/app/locale/id.coffee
+++ b/app/locale/id.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/it.coffee b/app/locale/it.coffee
index 35e60ccfb..783e6c297 100644
--- a/app/locale/it.coffee
+++ b/app/locale/it.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee
index 8f19ae524..b4a088cb0 100644
--- a/app/locale/ja.coffee
+++ b/app/locale/ja.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "CodeCombatのエキスパートプレイヤーをお探しですか?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "名前"
candidate_location: "勤務地"
candidate_looking_for: "希望"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
candidate_top_skills: "得意分野"
candidate_years_experience: "経験年数"
candidate_last_updated: "最終更新日時"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee
index e54338064..bb32495d4 100644
--- a/app/locale/ko.coffee
+++ b/app/locale/ko.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
editor_config_keybindings_label: "단축키 설정"
editor_config_keybindings_default: "기본(Ace)"
editor_config_keybindings_description: "일반적인 에디터와 마찬가지인 단축키 설정"
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "투명 설정"
editor_config_invisibles_description: "스페이스, 탭 설정"
editor_config_indentguides_label: "들여쓰기 가이드 보기"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee
index 1c868c296..6c3df3e2c 100644
--- a/app/locale/lt.coffee
+++ b/app/locale/lt.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/ms.coffee b/app/locale/ms.coffee
index 008d2863f..5c97c5b2f 100644
--- a/app/locale/ms.coffee
+++ b/app/locale/ms.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee
index 7fbf4a07c..a56bcf571 100644
--- a/app/locale/nb.coffee
+++ b/app/locale/nb.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee
index ab53bcce0..d0fa2550e 100644
--- a/app/locale/nl-BE.coffee
+++ b/app/locale/nl-BE.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -282,6 +282,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Onze notities"
+# remarks: "Remarks"
projects: "Projecten"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "Wil je expert CodeCombat spelers aanwerven? "
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Naam"
candidate_location: "Locatie"
candidate_looking_for: "Zoekt naar"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
candidate_top_skills: "Beste vaardigheden"
candidate_years_experience: "Jaren ervaring"
candidate_last_updated: "Laatst aangepast"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
editor_config_keybindings_label: "Toets instellingen"
editor_config_keybindings_default: "Standaard (Ace)"
editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Toon onzichtbare"
editor_config_invisibles_description: "Toon onzichtbare whitespace karakters."
editor_config_indentguides_label: "Toon inspringing regels"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela"
tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds"
tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Nu:"
time_total: "Maximum:"
time_goto: "Ga naar:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee
index acbd7856a..cffcdbb90 100644
--- a/app/locale/nl-NL.coffee
+++ b/app/locale/nl-NL.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -282,6 +282,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Onze notities"
+# remarks: "Remarks"
projects: "Projecten"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "Wil je expert CodeCombat spelers aanwerven? "
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Naam"
candidate_location: "Locatie"
candidate_looking_for: "Zoekt naar"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
candidate_top_skills: "Beste vaardigheden"
candidate_years_experience: "Jaren ervaring"
candidate_last_updated: "Laatst aangepast"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
editor_config_keybindings_label: "Toets instellingen"
editor_config_keybindings_default: "Standaard (Ace)"
editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Toon onzichtbare"
editor_config_invisibles_description: "Toon onzichtbare whitespace karakters."
editor_config_indentguides_label: "Toon inspringing regels"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela"
tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds"
tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Nu:"
time_total: "Maximum:"
time_goto: "Ga naar:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee
index ecc068641..a3dffd22a 100644
--- a/app/locale/nl.coffee
+++ b/app/locale/nl.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -282,6 +282,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Onze notities"
+# remarks: "Remarks"
projects: "Projecten"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "Wil je expert CodeCombat spelers aanwerven? "
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
- see_candidates: "Klik om je kandidaten te zien"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Naam"
candidate_location: "Locatie"
candidate_looking_for: "Zoekt naar"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
candidate_top_skills: "Beste vaardigheden"
candidate_years_experience: "Jaren ervaring"
candidate_last_updated: "Laatst aangepast"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
editor_config_keybindings_label: "Toets instellingen"
editor_config_keybindings_default: "Standaard (Ace)"
editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Toon onzichtbare"
editor_config_invisibles_description: "Toon onzichtbare (spatie) karakters."
editor_config_indentguides_label: "Toon inspringing regels"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela"
tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds"
tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Nu:"
time_total: "Maximum:"
time_goto: "Ga naar:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee
index 6da4706fa..8b208c04c 100644
--- a/app/locale/nn.coffee
+++ b/app/locale/nn.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/no.coffee b/app/locale/no.coffee
index 9764e3f23..12fea1777 100644
--- a/app/locale/no.coffee
+++ b/app/locale/no.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee
index 14ed9cec5..b5b4c1fc1 100644
--- a/app/locale/pl.coffee
+++ b/app/locale/pl.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
editor_config_keybindings_label: "Przypisania klawiszy"
editor_config_keybindings_default: "Domyślny (Ace)"
editor_config_keybindings_description: "Dodaje skróty znane z popularnych edytorów."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Pokaż białe znaki"
editor_config_invisibles_description: "Wyświetla białe znaki takie jak spacja czy tabulator."
editor_config_indentguides_label: "Pokaż linijki wcięć"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee
index c994afc46..5d2401c91 100644
--- a/app/locale/pt-BR.coffee
+++ b/app/locale/pt-BR.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
basics_country: "País"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -282,6 +282,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Nossas notas"
+# remarks: "Remarks"
projects: "Projetos"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
editor_config_keybindings_label: "Teclas de Atalho"
editor_config_keybindings_default: "Padrão (Ace)"
editor_config_keybindings_description: "Adicionar atalhos conhecidos de editores comuns."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Mostrar Invisíveis"
editor_config_invisibles_description: "Mostrar invisíveis como espaços e tabs."
editor_config_indentguides_label: "Mostrar Linhas de Identação"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee
index 82293b01e..47bdd3772 100644
--- a/app/locale/pt-PT.coffee
+++ b/app/locale/pt-PT.coffee
@@ -1,202 +1,202 @@
-module.exports = nativeDescription: "Português europeu", englishDescription: "Portuguese (Portugal)", translation:
+module.exports = nativeDescription: "Português (Portugal)", englishDescription: "Portuguese (Portugal)", translation:
common:
loading: "A carregar..."
saving: "A guardar..."
sending: "A enviar..."
-# send: "Send"
+ send: "Enviar"
cancel: "Cancelar"
save: "Guardar"
-# publish: "Publish"
- create: "Create"
+ publish: "Publicar"
+ create: "Criar"
delay_1_sec: "1 segundo"
delay_3_sec: "3 segundos"
delay_5_sec: "5 segundos"
manual: "Manual"
- fork: "Fork"
+ fork: "Bifurcar"
play: "Jogar"
-# retry: "Retry"
-# watch: "Watch"
-# unwatch: "Unwatch"
-# submit_patch: "Submit Patch"
+ retry: "Tentar novamente"
+ watch: "Vigiar"
+ unwatch: "Desvigiar"
+ submit_patch: "Submeter Versão"
-# units:
-# second: "second"
-# seconds: "seconds"
-# minute: "minute"
-# minutes: "minutes"
-# hour: "hour"
-# hours: "hours"
-# day: "day"
-# days: "days"
-# week: "week"
-# weeks: "weeks"
-# month: "month"
-# months: "months"
-# year: "year"
-# years: "years"
+ units:
+ second: "segundo"
+ seconds: "segundos"
+ minute: "minuto"
+ minutes: "minutos"
+ hour: "hora"
+ hours: "horas"
+ day: "dia"
+ days: "dias"
+ week: "semana"
+ weeks: "semanas"
+ month: "mês"
+ months: "meses"
+ year: "ano"
+ years: "anos"
modal:
close: "Fechar"
- okay: "Okay"
+ okay: "Ok"
not_found:
page_not_found: "Página não encontrada"
nav:
- play: "Jogar"
-# community: "Community"
+ play: "Níveis"
+ community: "Comunidade"
editor: "Editor"
blog: "Blog"
forum: "Fórum"
-# account: "Account"
+ account: "Conta"
admin: "Administrador"
home: "Início"
contribute: "Contribuir"
legal: "Legal"
about: "Sobre"
- contact: "Contacto"
+ contact: "Contacte"
twitter_follow: "Seguir"
- employers: "Patrões"
+ employers: "Empregadores"
versions:
save_version_title: "Guardar Nova Versão"
new_major_version: "Nova Versão Principal"
- cla_prefix: "Para guardar as alterações, precisas concordar com o nosso"
+ cla_prefix: "Para guardar as alterações, precisa de concordar com o nosso"
cla_url: "CLA"
cla_suffix: "."
cla_agree: "EU CONCORDO"
login:
- sign_up: "Criar conta"
- log_in: "Iniciar sessão"
-# logging_in: "Logging In"
+ sign_up: "Criar Conta"
+ log_in: "Iniciar Sessão"
+ logging_in: "A Iniciar Sessão"
log_out: "Sair"
recover: "recuperar conta"
recover:
- recover_account_title: "Recuperar conta"
- send_password: "Recuperar password"
+ recover_account_title: "Recuperar Conta"
+ send_password: "Enviar Password de Recuperação"
signup:
- create_account_title: "Cria uma conta para guardar o teu progresso."
- description: "É grátis. Só precisamos de umas coisas e fica tudo pronto:"
+ create_account_title: "Criar Conta para Guardar Progresso"
+ description: "É grátis. Só são necessárias umas coisas e fica tudo pronto:"
email_announcements: "Receber anúncios por e-mail"
- coppa: "13+ ou não-EUA "
+ coppa: "Mais de 13 anos ou não estado-unidense "
coppa_why: "(Porquê?)"
- creating: "A criar conta..."
+ creating: "A Criar Conta..."
sign_up: "Registar"
log_in: "iniciar sessão com palavra-passe"
-# social_signup: "Or, you can sign up through Facebook or G+:"
-# required: "You need to log in before you can go that way."
+ social_signup: "Ou pode registar-se através do Facebook ou do Google+:"
+ required: "Precisa de iniciar sessão antes de prosseguir dessa forma."
home:
- slogan: "Aprende a Programar ao Jogar um Jogo"
- 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!"
+ slogan: "Aprenda a Programar ao Jogar um Jogo"
+ no_ie: "O CodeCombat não funciona no Internet Explorer 9 ou anterior. Desculpe!"
+ no_mobile: "O CodeCombat não foi feito para dispositivos móveis e pode não funcionar!"
play: "Jogar"
- old_browser: "Ups, o teu browser é demasiado antigo para correr o CodeCombat. Desculpa!"
- old_browser_suffix: "Mesmo assim podes tentar, mas provavelmente não vai funcionar."
+ old_browser: "Ups, o seu navegador é demasiado antigo para que o CodeCombat funcione. Desculpe!"
+ old_browser_suffix: "Mesmo assim pode tentar, mas provavelmente não irá funcionar."
campaign: "Campanha"
for_beginners: "Para Iniciantes"
- multiplayer: "Multiplayer"
+ multiplayer: "Multijogador"
for_developers: "Para Programadores"
play:
- choose_your_level: "Escolhe o Teu Nível"
- adventurer_prefix: "Podes saltar para um dos níveis abaixo, ou discutir os níveis "
- adventurer_forum: "no fórum de Aventureiro"
+ choose_your_level: "Escolha o Seu Nível"
+ adventurer_prefix: "Pode saltar para um dos níveis abaixo ou discutir os níveis no "
+ adventurer_forum: "fórum do Aventureiro"
adventurer_suffix: "."
campaign_beginner: "Campanha para Iniciantes"
- campaign_beginner_description: "... onde aprendes a feitiçaria da programação."
- campaign_dev: "Níveis mais Difíceis"
- campaign_dev_description: "... onde aprendes a interface enquanto fazes coisas um bocadinho mais difíceis."
+ campaign_beginner_description: "... onde aprende a magia da programação."
+ campaign_dev: "Níveis mais Difíceis Aleatórios"
+ campaign_dev_description: "... onde aprende a interface enquanto faz coisas um bocadinho mais difíceis."
campaign_multiplayer: "Arenas Multijogador"
- campaign_multiplayer_description: "... onde programas frente-a-frente contra outros jogadores."
+ campaign_multiplayer_description: "... onde programa frente-a-frente contra outros jogadores."
campaign_player_created: "Criados por Jogadores"
- campaign_player_created_description: "... onde combates contra a criatividade dos teus colegas Feiticeiros Artesãos."
+ campaign_player_created_description: "... onde combate contra a criatividade dos seus colegas Feiticeiros Artesãos."
level_difficulty: "Dificuldade: "
- play_as: "Jogar como "
- spectate: "Observar"
+ play_as: "Jogar Como"
+ spectate: "Espectar"
contact:
- contact_us: "Contactar o CodeCombat"
- welcome: "É bom ter notícias tuas! Usa este formulário para nos enviares um e-mail."
- contribute_prefix: "Se estás interessado em contribuir, dá uma olhadela à nossa "
+ contact_us: "Contacte o CodeCombat"
+ welcome: "É bom ter notícias suas! Use este formulário para nos enviar um e-mail. "
+ contribute_prefix: "Se está interessado em contribuir, dê uma olhadela à nossa "
contribute_page: "página de contribuição"
contribute_suffix: "!"
- forum_prefix: "Para algo público, por favor, usa o "
+ forum_prefix: "Para algo público, por favor use o "
forum_page: "nosso fórum"
forum_suffix: " como alternativa."
send: "Enviar Feedback"
-# contact_candidate: "Contact Candidate"
-# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 15% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns."
+ contact_candidate: "Contactar Candidato"
+ recruitment_reminder: "Use este formulário para chegar a candidatos que esteja interessado em entrevistar. Lembre-se que o CodeCombat cobra 15% do salário do primeiro ano. A taxa é cobrada no momento da contratação do empregado e é reembolsável durante 90 dias, no caso de o trabalhador não se manter empregado. A empregados em part-time, no estrangeiro e a contrato não são aplicadas taxas, porque são internos."
diplomat_suggestion:
- title: "Ajuda a traduzir o CodeCombat!"
- sub_heading: "Precisamos das tuas habilidades linguísticas."
- pitch_body: "Desenvolvemos o CodeCombat em Inglês, mas já temos jogadores em todo o mundo. Muitos deles querem jogar em Português e não falam Inglês, por isso, se sabes falar ambas, por favor considera registares-te como Diplomata para ajudares a traduzir o website do CodeCombat e todos os níveis para Português."
- missing_translations: "Enquanto não conseguimos traduzir tudo para Português, irás ver em Inglês o que não estiver disponível em Português."
- learn_more: "Sabe mais sobre ser um Diplomata"
- subscribe_as_diplomat: "Subscrever como Diplomata"
+ title: "Ajude a traduzir o CodeCombat!"
+ sub_heading: "Precisamos das suas habilidades linguísticas."
+ pitch_body: "Desenvolvemos o CodeCombat em Inglês, mas já temos jogadores em todo o mundo. Muitos deles querem jogar em Português e não falam Inglês, por isso, se sabe falar ambas, por favor considere registar-se como Diplomata para ajudar a traduzir o website do CodeCombat e todos os níveis para Português."
+ missing_translations: "Enquanto não conseguirmos traduzir tudo para Português, irá ver em Inglês o que não estiver disponível em Português."
+ learn_more: "Saiba mais sobre ser um Diplomata"
+ subscribe_as_diplomat: "Subscreva-se como Diplomata"
wizard_settings:
- title: "Definições do Wizard"
- customize_avatar: "Altera o teu Avatar"
-# active: "Active"
-# color: "Color"
-# group: "Group"
+ title: "Definições do Feiticeiro"
+ customize_avatar: "Personalize o Seu Avatar"
+ active: "Ativo"
+ color: "Cor"
+ group: "Grupo"
clothes: "Roupas"
trim: "Pormenores"
cloud: "Nuvem"
-# team: "Team"
+ team: "Equipa"
spell: "Feitiço"
boots: "Botas"
- hue: "Matiz"
+ hue: "Tom"
saturation: "Saturação"
lightness: "Brilho"
account_settings:
title: "Definições da Conta"
- not_logged_in: "Inicia sessão ou cria uma conta para alterares as tuas definições."
- autosave: "As alterações guardam-se automaticamente"
+ not_logged_in: "Inicie sessão ou crie uma conta para alterar as suas definições."
+ autosave: "Alterações Guardam Automaticamente"
me_tab: "Eu"
picture_tab: "Fotografia"
-# upload_picture: "Upload a picture"
+ upload_picture: "Anexar uma fotografia"
wizard_tab: "Feiticeiro"
password_tab: "Palavra-passe"
emails_tab: "E-mails"
- admin: "Admin"
- wizard_color: "Cor das roupas do feiticeiro"
- new_password: "Nova palavra-passe"
+ admin: "Administrador"
+ wizard_color: "Cor das Roupas do Feiticeiro"
+ new_password: "Nova Palavra-passe"
new_password_verify: "Verificar"
email_subscriptions: "Subscrições de E-mail"
email_announcements: "Anúncios"
- email_announcements_description: "Recebe e-mails sobre as últimas novidades e desenvolvimentos no CodeCombat."
+ email_announcements_description: "Receba e-mails sobre as últimas novidades e desenvolvimentos no CodeCombat."
email_notifications: "Notificações"
-# email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity."
-# email_any_notes: "Any Notifications"
-# email_any_notes_description: "Disable to stop all activity notification emails."
-# email_recruit_notes: "Job Opportunities"
-# email_recruit_notes_description: "If you play really well, we may contact you about getting you a (better) job."
- contributor_emails: "E-mails para Contribuintes"
+ email_notifications_summary: "Controle, de uma forma personalizada e automática, os e-mails de notificações relacionados com a sua atividade no CodeCombat."
+ email_any_notes: "Quaisquer Notificações"
+ email_any_notes_description: "Desative para parar de receber todos os e-mails de notificação de atividade."
+ email_recruit_notes: "Oportunidades de Emprego"
+ email_recruit_notes_description: "Se joga muito bem, podemos contactá-lo para lhe arranjar um (melhor) emprego."
+ contributor_emails: "Subscrições de E-mail (Contribuintes)"
contribute_prefix: "Estamos à procura de pessoas para se juntarem a nós! Visita a "
contribute_page: "página de contribuição"
- contribute_suffix: " para mais informação."
- email_toggle: "Alternar todos"
- error_saving: "Erro ao guardar"
- saved: "Alterações guardadas"
+ contribute_suffix: " para mais informações."
+ email_toggle: "Alternar Todos"
+ error_saving: "Erro ao Guardar"
+ saved: "Alterações Guardadas"
password_mismatch: "As palavras-passe não coincidem."
-# job_profile: "Job Profile"
-# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks."
-# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job."
-# sample_profile: "See a sample profile"
-# view_profile: "View Your Profile"
+ job_profile: "Perfil de Emprego"
+ job_profile_approved: "O seu perfil de emprego foi aprovado pelo CodeCombat. Os empregadores poderão vê-lo até que o defina como inativo ou não o tenha alterado à 4 semanas."
+ job_profile_explanation: "Olá! Preencha isto e entraremos em contacto consigo sobre encontrar um emprego de desenvolvedor de software para si."
+ sample_profile: "Veja um exemplo de perfil"
+ view_profile: "Veja o Seu Perfil"
account_profile:
-# settings: "Settings"
-# edit_profile: "Edit Profile"
-# done_editing: "Done Editing"
- profile_for_prefix: "Perfil de "
+ settings: "Definições"
+ edit_profile: "Editar Perfil"
+ done_editing: "Concluir a Edição"
+ profile_for_prefix: "Perfil para "
profile_for_suffix: ""
# featured: "Featured"
# not_featured: "Not Featured"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -296,33 +297,49 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# project_link_help: "Link to the project."
# player_code: "Player Code"
-# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
-# what: "What is CodeCombat?"
-# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
-# candidate_name: "Name"
-# candidate_location: "Location"
-# candidate_looking_for: "Looking For"
-# candidate_role: "Role"
-# candidate_top_skills: "Top Skills"
-# candidate_years_experience: "Yrs Exp"
-# candidate_last_updated: "Last Updated"
-# featured_developers: "Featured Developers"
-# other_developers: "Other Developers"
-# inactive_developers: "Inactive Developers"
+ employers:
+ hire_developers_not_credentials: "Contrate desenvolvedores, não cartas de recomendação."
+ get_started: "Começar"
+ already_screened: "Nós já selecionamos tecnicamente todos os nossos candidatos"
+ filter_further: ", mas ainda pode filtrar mais:"
+ filter_visa: "Visa"
+ filter_visa_yes: "Autorizado Para Trabalhar Nos EUA"
+ filter_visa_no: "Não Autorizado"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
+ what: "O que é o CodeCombat?"
+ what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros desenvolvedores. Nós suportamos JavaScript, Python, Lua, Clojure, CoffeeScript e Io."
+ cost: "Quanto é que cobramos?"
+ cost_blurb: "Cobramos 15% do salário do primeiro ano e ofereçemos uma garantia de devolução de 100% do dinheiro durante 90 dias. Não cobramos por candidatos que já estejam a ser ativamente entrevistados na sua companhia."
+ candidate_name: "Nome"
+ candidate_location: "Localização"
+ candidate_looking_for: "À Procura de"
+ candidate_role: "Cargo"
+ candidate_top_skills: "Principais Habilidades"
+ candidate_years_experience: "Anos de Experiência"
+ candidate_last_updated: "Última Vez Atualizado"
+ candidate_who: "Quem"
+ featured_developers: "Desenvolvedores em Destaque"
+ other_developers: "Outros Desenvolvedores"
+ inactive_developers: "Desenvolvedores Inativos"
play_level:
done: "Concluir"
@@ -330,29 +347,29 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
customize_wizard: "Personalizar Feiticeiro"
home: "Início"
guide: "Guia"
- multiplayer: "Multiplayer"
+ multiplayer: "Multijogador"
restart: "Reiniciar"
goals: "Objetivos"
-# success: "Success!"
-# incomplete: "Incomplete"
-# timed_out: "Ran out of time"
-# failing: "Failing"
- action_timeline: "Linha do Tempo"
- click_to_select: "Clica numa unidade para a selecionares."
- reload_title: "Recarregar todo o código?"
- reload_really: "Tens a certeza que queres recarregar este nível de volta ao início?"
- reload_confirm: "Recarregar tudo"
+ success: "Successo!"
+ incomplete: "Incompletos"
+ timed_out: "Ficou sem tempo"
+ failing: "A falhar"
+ action_timeline: "Linha do Tempo de Ações"
+ click_to_select: "Clique numa unidade para selecioná-la."
+ reload_title: "Recarregar o Código Todo?"
+ reload_really: "Tem a certeza que quer recarregar este nível de volta ao início?"
+ reload_confirm: "Recarregar Tudo"
victory_title_prefix: ""
victory_title_suffix: " Concluído"
- victory_sign_up: "Cria uma conta para guardar o teu progresso"
- victory_sign_up_poke: "Queres guardar o teu código? Cria uma conta grátis!"
- victory_rate_the_level: "Classifica este nível: "
+ victory_sign_up: "Criar Conta para Guardar Progresso"
+ victory_sign_up_poke: "Quer guardar o seu código? Crie uma conta grátis!"
+ victory_rate_the_level: "Classifique este nível: "
victory_return_to_ladder: "Voltar à Classificação"
- victory_play_next_level: "Jogar próximo nível"
- victory_go_home: "Ir para o Inicio"
- victory_review: "Conta-nos mais!"
- victory_hour_of_code_done: "É tudo?"
- victory_hour_of_code_done_yes: "Sim, a minha Hora de Código chegou ao fim!"
+ victory_play_next_level: "Jogar Próximo Nível"
+ victory_go_home: "Ir para o Início"
+ victory_review: "Conte-nos mais!"
+ victory_hour_of_code_done: "É Tudo?"
+ victory_hour_of_code_done_yes: "Sim, a minha Hora de Código™ chegou ao fim!"
multiplayer_title: "Definições de Multiplayer"
multiplayer_link_description: "Dá este link a alguém para se juntar a ti."
multiplayer_hint_label: "Dica:"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
editor_config_keybindings_label: "Atalhos de Teclado"
editor_config_keybindings_default: "Predefinição (Ace)"
editor_config_keybindings_description: "Adiciona atalhos de teclado de acordo com o editor escolhido"
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Mostrar Invisíveis"
editor_config_invisibles_description: "Mostra caracteres invisíveis como espaços e tabulações"
editor_config_indentguides_label: "Mostrar Guias"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -736,20 +756,20 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# helpful_ambassadors: "Our Helpful Ambassadors:"
classes:
- archmage_title: "Archmage"
- archmage_title_description: "(Coder)"
- artisan_title: "Artisan"
+# archmage_title: "Archmage"
+# archmage_title_description: "(Coder)"
+ artisan_title: "Artesão"
artisan_title_description: "(Construtor de Níveis)"
- adventurer_title: "Adventurer"
- adventurer_title_description: "(Play-tester de Níveis)"
- scribe_title: "Scribe"
+ adventurer_title: "Aventureiro"
+ adventurer_title_description: "(Testador de Níveis)"
+ scribe_title: "Escrivão"
scribe_title_description: "(Editor de Artigos)"
- diplomat_title: "Diplomat"
+ diplomat_title: "Diplomata"
diplomat_title_description: "(Tradutor)"
- ambassador_title: "Ambassador"
+ ambassador_title: "Embaixador"
ambassador_title_description: "(Suporte)"
- counselor_title: "Counselor"
- counselor_title_description: "(Expert/ Professor)"
+ counselor_title: "Conselheiro"
+ counselor_title_description: "(Especialista/Professor)"
ladder:
please_login: "Por favor, faz log in antes de jogar um jogo para o campeonato."
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee
index f2c55aa9f..dd75d506b 100644
--- a/app/locale/pt.coffee
+++ b/app/locale/pt.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee
index 23f636da2..2f2ad4c65 100644
--- a/app/locale/ro.coffee
+++ b/app/locale/ro.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
editor_config_keybindings_label: "Mapare taste"
editor_config_keybindings_default: "Default (Ace)"
editor_config_keybindings_description: "Adaugă comenzi rapide suplimentare cunoscute din editoarele obisnuite."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Arată etichetele invizibile"
editor_config_invisibles_description: "Arată spațiile și taburile invizibile."
editor_config_indentguides_label: "Arată ghidul de indentare"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee
index 73dec279c..77fa0be45 100644
--- a/app/locale/ru.coffee
+++ b/app/locale/ru.coffee
@@ -219,8 +219,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
# next_links: "add any personal or social links."
# next_photo: "add an optional professional photo."
# next_active: "mark yourself open to offers to show up in searches."
-# example_blog: "Blog"
-# example_personal_site: "Personal Site"
+ example_blog: "Блог"
+ example_personal_site: "Персональный сайт"
# links_header: "Personal Links"
# links_blurb: "Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog."
# links_name: "Link Name"
@@ -231,16 +231,16 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
# basics_active_help: "Want interview offers right now?"
# basics_job_title: "Desired Job Title"
# basics_job_title_help: "What role are you looking for?"
-# basics_city: "City"
+ basics_city: "Город"
# basics_city_help: "City you want to work in (or live in now)."
-# basics_country: "Country"
+ basics_country: "Страна"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
-# basics_looking_for_full_time: "Full-time"
-# basics_looking_for_part_time: "Part-time"
-# basics_looking_for_remote: "Remote"
+ basics_looking_for_full_time: "Полная занятость"
+ basics_looking_for_part_time: "Частичная занятость"
+ basics_looking_for_remote: "Удаленная работа"
# basics_looking_for_contracting: "Contracting"
# basics_looking_for_internship: "Internship"
# basics_looking_for_help: "What kind of developer position do you want?"
@@ -264,55 +264,71 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
# work_blurb: "List your relevant work experience, most recent first."
# work_employer: "Employer"
# work_employer_help: "Name of your employer."
-# work_role: "Job Title"
+ work_role: "Должность"
# work_role_help: "What was your job title or role?"
-# work_duration: "Duration"
+ work_duration: "Продолжительность"
# work_duration_help: "When did you hold this gig?"
-# work_description: "Description"
+ work_description: "Описание"
# work_description_help: "What did you do there? (140 chars; optional)"
education: "Образование"
# education_header: "Recount your academic ordeals"
# education_blurb: "List your academic ordeals."
# education_school: "School"
# education_school_help: "Name of your school."
-# education_degree: "Degree"
+ education_degree: "Степень"
# education_degree_help: "What was your degree and field of study?"
# education_duration: "Dates"
# education_duration_help: "When?"
-# education_description: "Description"
+ education_description: "Описание"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Наши заметки"
+# remarks: "Remarks"
projects: "Проекты"
-# projects_header: "Add 3 projects"
-# projects_header_2: "Projects (Top 3)"
+ projects_header: "Добавьте 3 проекта"
+ projects_header_2: "Проекты (3 самых лучших)"
# projects_blurb: "Highlight your projects to amaze employers."
-# project_name: "Project Name"
+ project_name: "Название проекта"
# project_name_help: "What was the project called?"
-# project_description: "Description"
+ project_description: "Описание"
# project_description_help: "Briefly describe the project."
# project_picture: "Picture"
# project_picture_help: "Upload a 230x115px or larger image showing off the project."
-# project_link: "Link"
-# project_link_help: "Link to the project."
+ project_link: "Ссылка"
+ project_link_help: "Ссылка на проект."
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "Хотите нанимать игроков-экспертов CodeCombat?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
- see_candidates: "Щёлкните, чтобы посмотреть наших кандидатов"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Имя"
candidate_location: "Местонахождение"
candidate_looking_for: "Ищет"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
candidate_top_skills: "Лучшие навыки"
candidate_years_experience: "Лет опыта"
candidate_last_updated: "Последнее обновление"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
editor_config_keybindings_label: "Сочетания клавиш"
editor_config_keybindings_default: "По умолчанию (Ace)"
editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Показывать непечатные символы"
editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции."
editor_config_indentguides_label: "Показывать направляющие отступов"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela"
tip_talk_is_cheap: "Слова ничего не стоят. Покажи мне код. - Linus Torvalds"
tip_first_language: "Наиболее катастрофическая вещь, которую вы можете выучить - ваш первый язык программирования. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Текущее:"
time_total: "Максимальное:"
time_goto: "Перейти на:"
@@ -433,12 +453,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
cast_spell: "Произнести текущее заклинание."
# continue_script: "Continue past current script."
# skip_scripts: "Skip past all skippable scripts."
-# toggle_playback: "Toggle play/pause."
-# scrub_playback: "Scrub back and forward through time."
+ toggle_playback: "Переключить проигрывание/паузу."
+ scrub_playback: "Перемотка назад и вперед во времени."
# single_scrub_playback: "Scrub back and forward through time by a single frame."
# scrub_execution: "Scrub through current spell execution."
-# toggle_debug: "Toggle debug display."
-# toggle_grid: "Toggle grid overlay."
+ toggle_debug: "Включить отображение отладки."
+ toggle_grid: "Включить наложение сетки."
# toggle_pathfinding: "Toggle pathfinding overlay."
# beautify: "Beautify your code by standardizing its formatting."
# move_wizard: "Move your Wizard around the level."
@@ -448,7 +468,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
av_entities_sub_title: "Сущности"
av_entities_users_url: "Пользователи"
av_entities_active_instances_url: "Активные экземпляры"
-# av_entities_employer_list_url: "Employer List"
+ av_entities_employer_list_url: "Список работодателей"
av_other_sub_title: "Другое"
av_other_debug_base_url: "База (для отладки base.jade)"
u_title: "Список пользователей"
@@ -514,9 +534,9 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
new_article_title: "Создать новую статью"
new_thang_title: "Создать новый тип объектов"
new_level_title: "Создать новый уровень"
-# new_article_title_login: "Log In to Create a New Article"
+ new_article_title_login: "Войти, чтобы создать новую статью"
# new_thang_title_login: "Log In to Create a New Thang Type"
-# new_level_title_login: "Log In to Create a New Level"
+ new_level_title_login: "Войти чтобы создать новый уровень"
# new_achievement_title: "Create a New Achievement"
# new_achievement_title_login: "Log In to Create a New Achievement"
article_search_title: "Искать статьи"
@@ -821,7 +841,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
# credits: "credits"
# one_month_coupon: "coupon: choose either Rails or HTML"
# one_month_discount: "discount, 30% off: choose either Rails or HTML"
- license: "лицензия"
+# license: "license"
# oreilly: "ebook of your choice"
multiplayer_launch:
@@ -871,9 +891,9 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
components: "Компоненты"
# thang: "Thang"
# thangs: "Thangs"
-# level_session: "Your Session"
+ level_session: "Ваша сессия"
# opponent_session: "Opponent Session"
-# article: "Article"
+ article: "Статья"
# user_names: "User Names"
# thang_names: "Thang Names"
files: "Файлы"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
document: "Документ"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
delta:
added: "Добавлено"
diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee
index 06fc9ed5f..d2db15a1a 100644
--- a/app/locale/sk.coffee
+++ b/app/locale/sk.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee
index 953de4e2b..4323e23c1 100644
--- a/app/locale/sl.coffee
+++ b/app/locale/sl.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee
index 3bea2b668..801791e04 100644
--- a/app/locale/sr.coffee
+++ b/app/locale/sr.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee
index bc9240252..30fcc2758 100644
--- a/app/locale/sv.coffee
+++ b/app/locale/sv.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
editor_config_keybindings_label: "Kortkommandon"
editor_config_keybindings_default: "Standard (Ace)"
editor_config_keybindings_description: "Lägger till ytterligare kortkommandon kända från vanliga redigerare."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Visa osynliga"
editor_config_invisibles_description: "Visar osynliga tecken såsom mellanrum och nyradstecken."
editor_config_indentguides_label: "Visa indenteringsguider"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/th.coffee b/app/locale/th.coffee
index c8dc83823..f78ae1e8b 100644
--- a/app/locale/th.coffee
+++ b/app/locale/th.coffee
@@ -1,11 +1,11 @@
module.exports = nativeDescription: "ไทย", englishDescription: "Thai", translation:
common:
loading: "รอสักครู่..."
-# saving: "Saving..."
+ saving: "กำลังบันทึก..."
# sending: "Sending..."
# send: "Send"
cancel: "ยกเลิก"
-# save: "Save"
+ save: "บันทึก"
# publish: "Publish"
# create: "Create"
delay_1_sec: "1 วินาที"
@@ -19,21 +19,21 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# unwatch: "Unwatch"
# submit_patch: "Submit Patch"
-# units:
-# second: "second"
-# seconds: "seconds"
-# minute: "minute"
-# minutes: "minutes"
-# hour: "hour"
-# hours: "hours"
-# day: "day"
-# days: "days"
-# week: "week"
-# weeks: "weeks"
-# month: "month"
-# months: "months"
-# year: "year"
-# years: "years"
+ units:
+ second: "วินาที"
+ seconds: "วินาที"
+ minute: "นาที"
+ minutes: "นาที"
+ hour: "ชั่วโมง"
+ hours: "ชั่วโมง"
+ day: "วัน"
+ days: "วัน"
+ week: "สัปดาห์"
+ weeks: "สัปดาห์"
+ month: "เดือน"
+ months: "เดือน"
+ year: "ปี"
+ years: "ปี"
modal:
close: "ปิด"
@@ -69,8 +69,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
login:
sign_up: "ลงทะเบียนใหม่"
log_in: "ลงชื่อเข้าใช้"
-# logging_in: "Logging In"
- log_out: "ลงชื่ื่อออก"
+ logging_in: "กำลังเข้าสู่ระบบ"
+ log_out: "ลงชื่อออก"
recover: "กู้บัญชีการใช้งาน"
# recover:
@@ -78,19 +78,19 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# send_password: "Send Recovery Password"
signup:
-# create_account_title: "Create Account to Save Progress"
+ create_account_title: "สร้างบัญชีใหม่เพื่อบันทึกความก้าวหน้า"
# description: "It's free. Just need a couple things and you'll be good to go:"
email_announcements: "รับข่าวสารผ่านทางอีเมลล์"
# coppa: "13+ or non-USA "
coppa_why: "(ทำไม?)"
-# creating: "Creating Account..."
+ creating: "กำลังสร้างบัญชีใหม่..."
sign_up: "สมัคร"
log_in: "เข้าสู่ระบบด้วยรหัสผ่าน"
# social_signup: "Or, you can sign up through Facebook or G+:"
# required: "You need to log in before you can go that way."
home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
play: "เล่น"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee
index 5cd97dc2d..fe40f5120 100644
--- a/app/locale/tr.coffee
+++ b/app/locale/tr.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# editor_config_keybindings_label: "Key Bindings"
editor_config_keybindings_default: "Varsayılan (Ace)"
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Şimdi:"
time_total: "Max:"
time_goto: "Git:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee
index 11af81570..8b222c5e5 100644
--- a/app/locale/uk.coffee
+++ b/app/locale/uk.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -282,6 +282,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
our_notes: "Наші примітки"
+# remarks: "Remarks"
projects: "Роботи"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "українська мова", englishDesc
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "Бажаєш найняти досвідчених гравців CodeCombat?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "Ім‘я"
candidate_location: "Розташування"
candidate_looking_for: "Шукає"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
candidate_top_skills: "Найкращі навички"
candidate_years_experience: "років досвіду"
candidate_last_updated: "Останнє оновлення"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "українська мова", englishDesc
editor_config_keybindings_label: "Комбінаційї клавіш"
editor_config_keybindings_default: "За замовчуванням (Ace)"
editor_config_keybindings_description: "Додайте додаткові скорочення відомі Вам із загальних редакторів."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "Показати приховане"
editor_config_invisibles_description: "Відображення прихованого, такого як відступи та знаки табуляції."
editor_config_indentguides_label: "Показати відступи провідників"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
tip_impossible: "Багато речей здаються нездійсненними до тих пір, поки їх не зробиш. - Нельсон Мандела"
tip_talk_is_cheap: "Розмови нічого не варті. Покажи мені код. - Лінус Торвальдс"
tip_first_language: "Найбільш катастрофічною річчю яку ви коли-небудь вчили є Ваша перша мова програмування. - Алан Кей"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "Зараз:"
time_total: "Найбільше:"
time_goto: "Перейти до:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "українська мова", englishDesc
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee
index b426b75cf..814c472da 100644
--- a/app/locale/ur.coffee
+++ b/app/locale/ur.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee
index 032d39202..c2489165f 100644
--- a/app/locale/vi.coffee
+++ b/app/locale/vi.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee
index dfb9549bb..611fdba2e 100644
--- a/app/locale/zh-HANS.coffee
+++ b/app/locale/zh-HANS.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
projects: "项目"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "想要雇用CodeCombat上的专业玩家?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
- see_candidates: "点击这里查看我们的忧患人"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "姓名"
candidate_location: "地点"
candidate_looking_for: "寻找"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
candidate_top_skills: "高级技能"
candidate_years_experience: "多年工作经验"
candidate_last_updated: "最后一次更新"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
editor_config_keybindings_label: "按键设置s"
editor_config_keybindings_default: "默认 (Ace)"
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "显示隐藏的"
editor_config_invisibles_description: "显示诸如空格或TAB键。"
editor_config_indentguides_label: "显示缩进提示"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
tip_impossible: "在事情未完成之前,一切都看似不可能. - 纳尔逊·曼德拉"
tip_talk_is_cheap: "多说无用, 亮出你的代码. - Linus Torvalds"
tip_first_language: "你所经历过最可怕的事情是你的第一门编程语言。 - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "现在:"
time_total: "最大:"
time_goto: "跳到:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee
index 05ab6d070..3c0785dfe 100644
--- a/app/locale/zh-HANT.coffee
+++ b/app/locale/zh-HANT.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/zh-WUU-HANS.coffee b/app/locale/zh-WUU-HANS.coffee
index 8c7cc9ded..91a2eb0d1 100644
--- a/app/locale/zh-WUU-HANS.coffee
+++ b/app/locale/zh-WUU-HANS.coffee
@@ -90,7 +90,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# required: "You need to log in before you can go that way."
# home:
-# slogan: "Learn to Code JavaScript by Playing a Game"
+# slogan: "Learn to Code by Playing a Game"
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
# play: "Play"
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/zh-WUU-HANT.coffee b/app/locale/zh-WUU-HANT.coffee
index 4180369c3..368667c74 100644
--- a/app/locale/zh-WUU-HANT.coffee
+++ b/app/locale/zh-WUU-HANT.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
projects: "項目"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# player_code: "Player Code"
employers:
- want_to_hire_our_players: "想討用CodeCombat上個專業打手?"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
candidate_name: "名字"
candidate_location: "地址"
candidate_looking_for: "尋"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
candidate_top_skills: "高級技能"
candidate_years_experience: "多年工作經驗"
candidate_last_updated: "塌爛遍改動"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
editor_config_keybindings_label: "捺鍵設定s"
editor_config_keybindings_default: "默認 (Ace)"
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
+# editor_config_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
editor_config_invisibles_label: "顯示囥起個"
editor_config_invisibles_description: "顯示像空格搭TAB許鍵。"
editor_config_indentguides_label: "顯示縮進提醒"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
tip_impossible: "事幹還朆下落之前,一切都扣搭嘸道理相。- 納爾遜·曼德拉"
tip_talk_is_cheap: "甮七講八講,代碼摜出望爻。- 林納斯·托華兹"
tip_first_language: "爾經歷着最䁨嗰事幹是爾個頭一門編程語言。 - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
time_current: "瑲朞:"
time_total: "頂大:"
time_goto: "轉到:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee
index 0a5bf7396..b9c9d40fb 100644
--- a/app/locale/zh.coffee
+++ b/app/locale/zh.coffee
@@ -236,7 +236,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
-# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship?"
+# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
@@ -281,7 +281,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
-# our_notes: "Our Notes"
+# our_notes: "CodeCombat's Notes"
+# remarks: "Remarks"
# projects: "Projects"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
@@ -297,22 +298,37 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# player_code: "Player Code"
# employers:
-# want_to_hire_our_players: "Hire CodeCombat Players"
+# hire_developers_not_credentials: "Hire developers, not credentials."
+# get_started: "Get Started"
+# already_screened: "We've already technically screened all our candidates"
+# filter_further: ", but you can also filter further:"
+# filter_visa: "Visa"
+# filter_visa_yes: "US Authorized"
+# filter_visa_no: "Not Authorized"
+# filter_education_top: "Top School"
+# filter_education_other: "Other"
+# filter_role_web_developer: "Web Developer"
+# filter_role_software_developer: "Software Developer"
+# filter_role_mobile_developer: "Mobile Developer"
+# filter_experience: "Experience"
+# filter_experience_senior: "Senior"
+# filter_experience_junior: "Junior"
+# filter_experience_recent_grad: "Recent Grad"
+# filter_experience_student: "College Student"
+# filter_results: "results"
+# start_hiring: "Start hiring."
+# reasons: "Three reasons you should hire through us:"
+# everyone_looking: "Everyone here is looking for their next opportunity."
+# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
+# weeding: "Sit back; we've done the weeding for you."
+# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
+# pass_screen: "They will pass your technical screen."
+# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
+# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io."
-# who: "Who Are the Players?"
-# who_blurb: "CodeCombateers are software developers who enjoy using their programming skills to play games. They range from college seniors at top 20 engineering programs to 20-year industry veterans."
-# how: "How Do We Find Developers?"
-# how_blurb: "We host competitive tournaments to attract competitive software engieneers. We then use in-house algorithms to identify the best players among the top 5% of tournament winners."
-# why: "Why Hire Through Us?"
-# why_blurb_1: "We will save you time. Every CodeCombateer we feaure is "
-# why_blurb_2: "looking for work"
-# why_blurb_3: ", has "
-# why_blurb_4: "demonstrated top notch technical skills"
-# why_blurb_5: ", and has been "
-# why_blurb_6: "personally screened by us"
-# why_blurb_7: ". Stop screening and start hiring."
-# see_candidates: "Click here to see our candidates"
+# cost: "How much do we charge?"
+# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
@@ -320,6 +336,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# candidate_top_skills: "Top Skills"
# candidate_years_experience: "Yrs Exp"
# candidate_last_updated: "Last Updated"
+# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
@@ -382,6 +399,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# 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_livecompletion_label: "Live Autocompletion"
+# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing."
# editor_config_invisibles_label: "Show Invisibles"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
# editor_config_indentguides_label: "Show Indent Guides"
@@ -418,6 +437,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay"
+# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
@@ -882,6 +902,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# document: "Document"
# sprite_sheet: "Sprite Sheet"
# candidate_sessions: "Candidate Sessions"
+# user_remark: "User Remark"
+# versions: "Versions"
# delta:
# added: "Added"
diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee
index 051eef28b..2094b3425 100644
--- a/app/models/CocoModel.coffee
+++ b/app/models/CocoModel.coffee
@@ -237,7 +237,7 @@ class CocoModel extends Backbone.Model
data ?= $.extend true, {}, @attributes
schema ?= @schema() or {}
if schema.properties?.i18n and _.isPlainObject(data) and not data.i18n?
- data.i18n = {}
+ data.i18n = {'-':'-'} # mongoose doesn't work with empty objects
sum += 1
if _.isPlainObject data
diff --git a/app/models/User.coffee b/app/models/User.coffee
index eadc64b12..cd6fa013b 100644
--- a/app/models/User.coffee
+++ b/app/models/User.coffee
@@ -1,6 +1,7 @@
GRAVATAR_URL = 'https://www.gravatar.com/'
cache = {}
CocoModel = require './CocoModel'
+util = require 'lib/utils'
module.exports = class User extends CocoModel
@className: 'User'
@@ -27,14 +28,14 @@ module.exports = class User extends CocoModel
lang: ->
@get('preferredLanguage') or 'en-US'
- getPhotoURL: (size=80, useJobProfilePhoto=false) ->
+ getPhotoURL: (size=80, useJobProfilePhoto=false, useEmployerPageAvatar=false) ->
photoURL = if useJobProfilePhoto then @get('jobProfile')?.photoURL else null
photoURL ||= @get('photoURL')
if photoURL
prefix = if photoURL.search(/\?/) is -1 then '?' else '&'
return "#{photoURL}#{prefix}s=#{size}" if photoURL.search('http') isnt -1 # legacy
return "/file/#{photoURL}#{prefix}s=#{size}"
- return "/db/user/#{@id}/avatar?s=#{size}"
+ return "/db/user/#{@id}/avatar?s=#{size}&employerPageAvatar=#{useEmployerPageAvatar}"
# Callbacks can be either 'success' or 'error'
@getByID = (id, properties, force, callbacks={}) ->
@@ -55,6 +56,28 @@ module.exports = class User extends CocoModel
cache[id] = user
user
+ # callbacks can be either success or error
+ @getByIDOrSlug: (idOrSlug, force, callbacks={}) ->
+ {me} = require 'lib/auth'
+ isID = util.isID idOrSlug
+ if me.id is idOrSlug or me.slug is idOrSlug
+ callbacks.success me if callbacks.success?
+ return me
+ cached = cache[idOrSlug]
+ user = cached or new @ _id: idOrSlug
+ if force or not cached
+ user.loading = true
+ user.fetch
+ success: ->
+ user.loading = false
+ Backbone.Mediator.publish 'user:fetched'
+ callbacks.success user if callbacks.success?
+ error: ->
+ user.loading = false
+ callbacks.error user if callbacks.error?
+ cache[idOrSlug] = user
+ user
+
getEnabledEmails: ->
@migrateEmails()
emails = _.clone(@get('emails')) or {}
diff --git a/app/schemas/models/level_component.coffee b/app/schemas/models/level_component.coffee
index b97cb7d1e..162abc617 100644
--- a/app/schemas/models/level_component.coffee
+++ b/app/schemas/models/level_component.coffee
@@ -23,40 +23,36 @@ PropertyDocumentationSchema = c.object {
required: ['name', 'type', 'description']
},
name: {type: 'string', title: 'Name', description: 'Name of the property.'}
+ codeLanguages: c.array {title: 'Specific Code Languages', description: 'If present, then only the languages specified will show this documentation. Leave unset for language-independent documentation.', format: 'code-languages-array'}, c.shortString(title: 'Code Language', description: 'A specific code language to show this documentation for.', format: 'code-language')
# not actual JS types, just whatever they describe...
type: c.shortString(title: 'Type', description: 'Intended type of the property.')
description:
oneOf: [
- {title: 'Description', type: 'string', description: 'Description of the property.', maxLength: 1000, format: 'markdown'}
{
type: 'object',
title: 'Language Descriptions',
description: 'Property descriptions by code language.',
additionalProperties: {type: 'string', description: 'Description of the property.', maxLength: 1000, format: 'markdown'}
+ format: 'code-languages-object'
+ default: {javascript: ''}
}
+ {title: 'Description', type: 'string', description: 'Description of the property.', maxLength: 1000, format: 'markdown'}
]
args: c.array {title: 'Arguments', description: 'If this property has type "function", then provide documentation for any function arguments.'}, c.FunctionArgumentSchema
owner: {title: 'Owner', type: 'string', description: 'Owner of the property, like "this" or "Math".'}
example:
oneOf: [
- {title: 'Example', type: 'string', description: 'An optional example code block.', format: 'javascript'}
{
type: 'object',
title: 'Language Examples',
description: 'Examples by code language.',
- additionalProperties: {type: 'string', description: 'An example code block.', format: 'javascript'} # TODO: not JS
+ additionalProperties: {type: 'string', description: 'An example code block.', format: 'code'}
+ format: 'code-languages-object'
+ default: {javascript: ''}
}
+ {title: 'Example', type: 'string', description: 'An optional example code block.', format: 'javascript'}
]
- snippets: c.object {
- title: 'Snippets',
- description: 'List of snippets for the respective programming languages'
- },
- javascript: c.object {title: 'JavaScript'}, c.codeSnippet 'javascript'
- coffeescript: c.object {title: 'CoffeeScript'}, c.codeSnippet 'coffee'
- python: c.object {title: 'Python'}, c.codeSnippet 'python'
- clojure: c.object {title: 'Clojure'}, c.codeSnippet 'clojure'
- lua: c.object {title: 'Lua'}, c.codeSnippet 'lua'
- io: c.object {title: 'IO'}, c.codeSnippet 'io'
+ snippets: {type: 'object', title: 'Snippets', description: 'List of snippets for the respective programming languages', additionalProperties: c.codeSnippet, format: 'code-languages-object'}
returns: c.object {
title: 'Return Value'
description: 'Optional documentation of any return value.'
@@ -66,23 +62,27 @@ PropertyDocumentationSchema = c.object {
type: c.shortString(title: 'Type', description: 'Type of the return value')
example:
oneOf: [
- c.shortString(title: 'Example', description: 'Example return value')
{
type: 'object',
title: 'Language Examples',
description: 'Example return values by code language.',
- additionalProperties: c.shortString(description: 'Example return value.', format: 'javascript') # TODO: not JS
+ additionalProperties: c.shortString(description: 'Example return value.', format: 'code')
+ format: 'code-languages-object'
+ default: {javascript: ''}
}
+ c.shortString(title: 'Example', description: 'Example return value')
]
description:
oneOf: [
- {title: 'Description', type: 'string', description: 'Description of the return value.', maxLength: 1000}
{
type: 'object',
title: 'Language Descriptions',
description: 'Example return values by code language.',
additionalProperties: {type: 'string', description: 'Description of the return value.', maxLength: 1000}
+ format: 'code-languages-object'
+ default: {javascript: ''}
}
+ {title: 'Description', type: 'string', description: 'Description of the return value.', maxLength: 1000}
]
DependencySchema = c.object {
diff --git a/app/schemas/models/user.coffee b/app/schemas/models/user.coffee
index c8dae3f14..17153f94c 100644
--- a/app/schemas/models/user.coffee
+++ b/app/schemas/models/user.coffee
@@ -1,8 +1,12 @@
c = require './../schemas'
emailSubscriptions = ['announcement', 'tester', 'level_creator', 'developer', 'article_editor', 'translator', 'support', 'notification']
-UserSchema = c.object {},
- name: c.shortString({title: 'Display Name', default: ''})
+UserSchema = c.object
+ title: 'User'
+
+c.extendNamedProperties UserSchema # let's have the name be the first property
+
+_.extend UserSchema.properties,
email: c.shortString({title: 'Email', format: 'email'})
firstName: c.shortString({title: 'First Name'})
lastName: c.shortString({title: 'Last Name'})
@@ -83,7 +87,7 @@ UserSchema = c.object {},
experience: {type: 'integer', title: 'Years of Experience', minimum: 0, description: 'How many years of professional experience (getting paid) developing software do you have?'}
shortDescription: {type: 'string', maxLength: 140, title: 'Short Description', description: 'Who are you, and what are you looking for? 140 characters max.', default: 'Programmer seeking to build great software.'}
longDescription: {type: 'string', maxLength: 600, title: 'Description', description: 'Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max.', format: 'markdown', default: '* I write great code.\n* You need great code?\n* Great!'}
- visa: c.shortString {title: 'US Work Status', description: 'Are you authorized to work in the US, or do you need visa sponsorship?', enum: ['Authorized to work in the US', 'Need visa sponsorship'], default: 'Authorized to work in the US'}
+ visa: c.shortString {title: 'US Work Status', description: 'Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)', enum: ['Authorized to work in the US', 'Need visa sponsorship'], default: 'Authorized to work in the US'}
work: c.array {title: 'Work Experience', description: 'List your relevant work experience, most recent first.'},
c.object {title: 'Job', description: 'Some work experience you had.', required: ['employer', 'role', 'duration']},
employer: c.shortString {title: 'Employer', description: 'Name of your employer.'}
@@ -134,7 +138,7 @@ UserSchema = c.object {},
schoolFilter:
title: 'School'
type: 'string'
- enum: ['Top 20 Eng.', 'Other US', 'Other Intl.']
+ enum: ['Top School', 'Other']
locationFilter:
title: 'Location'
type: 'string'
@@ -142,11 +146,15 @@ UserSchema = c.object {},
roleFilter:
title: 'Role'
type: 'string'
- enum: ['Web Developer', 'Software Developer', 'iOS Developer', 'Android Developer', 'Project Manager']
+ enum: ['Web Developer', 'Software Developer', 'Mobile Developer']
seniorityFilter:
title: 'Seniority'
type: 'string'
- enum: ['College Student', 'Recent Grad', 'Junior', 'Senior', 'Management']
+ enum: ['College Student', 'Recent Grad', 'Junior', 'Senior']
+ featured:
+ title: 'Featured'
+ type: 'boolean'
+ description: 'Should this candidate be prominently featured on the site?'
jobProfileApproved: {title: 'Job Profile Approved', type: 'boolean', description: 'Whether your profile has been approved by CodeCombat.'}
jobProfileNotes: {type: 'string', maxLength: 1000, title: 'Our Notes', description: 'CodeCombat\'s notes on the candidate.', format: 'markdown', default: ''}
employerAt: c.shortString {description: 'If given employer permissions to view job candidates, for which employer?'}
diff --git a/app/schemas/schemas.coffee b/app/schemas/schemas.coffee
index 8474a9be0..65045a2e7 100644
--- a/app/schemas/schemas.coffee
+++ b/app/schemas/schemas.coffee
@@ -163,34 +163,36 @@ me.FunctionArgumentSchema = me.object {
type: me.shortString(title: 'Type', description: 'Intended type of the argument.')
example:
oneOf: [
- me.shortString(title: 'Example', description: 'Example value for the argument.')
{
type: 'object',
title: 'Language Examples',
description: 'Examples by code language.',
additionalProperties: me.shortString(description: 'Example value for the argument.')
+ format: 'code-languages-object'
+ default: {javascript: ''}
}
+ me.shortString(title: 'Example', description: 'Example value for the argument.')
]
description:
oneOf: [
- {title: 'Description', type: 'string', description: 'Description of the argument.', maxLength: 1000}
{
type: 'object',
title: 'Language Descriptions',
description: 'Example argument descriptions by code language.',
additionalProperties: {type: 'string', description: 'Description of the argument.', maxLength: 1000}
+ format: 'code-languages-object'
+ default: {javascript: ''}
}
+ {title: 'Description', type: 'string', description: 'Description of the argument.', maxLength: 1000}
]
'default':
title: 'Default'
description: 'Default value of the argument. (Your code should set this.)'
'default': null
-me.codeSnippet = (mode) ->
- return snippet =
- code: {type: 'string', title: 'Snippet', default: '', description: 'Code snippet. Use ${1:defaultValue} syntax to add flexible arguments'}
- # code: {type: 'string', format: 'ace', aceMode: 'ace/mode/'+mode, title: 'Snippet', default: '', description: 'Code snippet. Use ${1:defaultValue} syntax to add flexible arguments'}
- tab: {type: 'string', title: 'Tab Trigger', description: 'Tab completion text. Will be expanded to the snippet if typed and hit tab.'}
+me.codeSnippet = me.object {description: 'A language-specific code snippet'},
+ code: {type: 'string', title: 'Snippet', default: '', description: 'Code snippet. Use ${1:defaultValue} syntax to add flexible arguments'}
+ tab: {type: 'string', title: 'Tab Trigger', description: 'Tab completion text. Will be expanded to the snippet if typed and hit tab.'}
me.activity = me.object {description: 'Stats on an activity'},
first: me.date()
diff --git a/app/styles/account/wizard-settings.sass b/app/styles/account/wizard-settings.sass
index 83ca4f2ce..9a93d6613 100644
--- a/app/styles/account/wizard-settings.sass
+++ b/app/styles/account/wizard-settings.sass
@@ -8,9 +8,13 @@
width: 450px
margin: 0 auto
+ label
+ cursor: pointer
+
#color-settings table
float: left
width: 250px
+ cursor: pointer
.minicolors-input
display: none
diff --git a/app/styles/docs/components.sass b/app/styles/docs/components.sass
new file mode 100644
index 000000000..fc1dec4f5
--- /dev/null
+++ b/app/styles/docs/components.sass
@@ -0,0 +1,18 @@
+#docs-components-view
+ color: saddlebrown
+
+ .row
+
+ .index-column, .documentation-column
+ overflow-y: scroll
+ overflow-x: hidden
+ min-height: 600px
+
+ > ul
+ padding: 0px 20px 20px 20px
+
+
+ .documentation-column
+
+ .specialList
+ list-style-type: none
diff --git a/app/styles/employers.sass b/app/styles/employers.sass
index c9f519ce8..32c1d1de3 100644
--- a/app/styles/employers.sass
+++ b/app/styles/employers.sass
@@ -1,6 +1,10 @@
#employers-view
+ .artisanal-claim
+ background: transparent url(/images/pages/employer/artisanal_claim.png) no-repeat center
+ margin-bottom: 5px
+ height: 24px
- button
+ .employer-button
background: #fce232 /* Old browsers */
background: -moz-linear-gradient(top, #fce232 0%, #ea8e2b 100%)
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fce232), color-stop(100%,#ea8e2b))
@@ -11,21 +15,55 @@
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fce232', endColorstr='#ea8e2b',GradientType=0 )
vertical-align: text-bottom
margin-left: 30px
-
+
+ #filter-column
+ margin-left: 0px
+ padding-right: 0
+
+ #candidates-column
+ padding-left: 5px
+ padding-right: 5px
+
//filter panels
#filter
+ border: 2px solid #CBCBCB
margin-bottom: 10px
.panel-heading
- background-color: darkgrey
+ background-color: #D9D9D9
+ cursor: pointer
+ border-top-left-radius: 0px
+ border-top-right-radius: 0px
+ #folder-icon
+ margin-right: 5px
+ color: #919191
.panel-body
- background-color: darkgrey
+ background-color: #D9D9D9
+ border-top-left-radius: 0px
+ border-top-right-radius: 0px
+ padding: 5px 10px 10px 10px
+ .panel
+ border: 1px red
+ border-radius: 0px
#filters
+ margin-bottom: 10px
.filter_section
- width: 16%
+ min-width: 25%
+ margin-right: 10px
display: inline-block
vertical-align: top
- margin-bottom: 10px
+
+ h4
+ margin-bottom: 5px
+
+ label
+ display: block
+ font-weight: normal
+ margin-bottom: 0
+ cursor: pointer
+ input
+ margin-right: 5px
+
.get-started-button
vertical-align: text-bottom
margin-left: 10px
@@ -33,13 +71,15 @@
#filter-button, #create-alert-button
float: right
- #login-link, #logout-button
- float: right
- color: #333333
+ #login-link, #logout-link
+ position: absolute
+ right: 10px
+ top: -25px
+ color: black
display: inline-block
:visited
- color: #333333
- #logout-button:hover
+ color: black
+ #logout-link:hover
cursor: pointer
#tagline, .hiring-call-to-action
@@ -73,7 +113,6 @@
height: 150px
padding-right: 15px
-
.reason
width: 33%
padding-left: 3%
@@ -81,6 +120,7 @@
display: inline-block
vertical-align: top
.employer_icon
+ display: block
width: 125px
margin: 0px auto
@@ -99,9 +139,6 @@
#bottom_row
height: auto
#candidate-table
- width: 96%
- margin-left: 2%
- margin-right: 2%
background-color: #E7E7E7
table
cursor: pointer
@@ -109,38 +146,57 @@
margin-left: 2%
margin-right: 2%
margin-bottom: 30px
- .tag_column
- width: 25%
+ .tag_column, .location_column, .education_column, .work_column
+ width: 33%
display: inline-block
- .location_column
- display: inline-block
- width: 25%
- .education_column
- display: inline-block
- width: 25%
- .work_column
- display: inline-block
- width: 25%
+ img
+ margin-right: 5px
+ vertical-align: top
tr
.candidate-picture
- width: 50px
- height: 50px
+ background-color: transparent
+ background-size: cover
+ background-repeat: no-repeat
+ background-position: center
+ width: 75px
+ height: 75px
border-radius: 5px
overflow: hidden
margin-right: 10px
+ &.anonymous
+ background-size: contain
.candidate-description
width: 100%
vertical-align: bottom
- td
- margin-bottom: 10px
- margin-top: 10px
+ div
+ text-overflow: ellipsis
+ overflow: hidden
+ height: 17px
+
+ td.candidate-description
padding-bottom: 5px
- padding-top: 10px
+ td.candidate-name-cell
+ padding-top: 15px
+ padding-bottom: 5px
+ font-size: 18px
+
.border_row
border-bottom: 1px solid #d3d3d3
vertical-align: bottom
- padding-top: 0px
+ td
+ padding-top: 5px
+ padding-bottom: 15px
+
+ .teaser-profiles #candidate-table table
+ .tag_column, .location_column, .education_column, .work_column
+ width: 25%
+ tr
+ .candidate-description
+ padding-top: 15px
+ .candidate-picture
+ width: 50px
+ height: 50px
#results
display: inline-block
diff --git a/app/styles/play/level.sass b/app/styles/play/level.sass
index 64ea6e43a..3abc58d24 100644
--- a/app/styles/play/level.sass
+++ b/app/styles/play/level.sass
@@ -37,6 +37,12 @@ body.is-playing
right: 0
top: 0px
bottom: 0
+ transition: width 0.5s ease-in-out
+ &.fullscreen-editor
+ position: fixed
+ width: 100%
+ height: 100%
+ z-index: 20
#pointer
position: absolute
diff --git a/app/styles/play/level/modal/docs.sass b/app/styles/play/level/modal/docs.sass
index 51be8378d..f126a182d 100644
--- a/app/styles/play/level/modal/docs.sass
+++ b/app/styles/play/level/modal/docs.sass
@@ -1,4 +1,4 @@
-#docs-modal .modal-dialog
+#docs-modal .modal-dialog, #settings-treema .treema-markdown
width: 800px
.tab-content
@@ -11,11 +11,15 @@
display: block
margin: 0 auto
- em
+ img + em
display: block
margin: 0 auto
text-align: center
hr
border-color: #5c5c5c
- width: 80%
\ No newline at end of file
+ width: 80%
+
+ table
+ width: 80%
+ margin: 20px 10%
\ No newline at end of file
diff --git a/app/styles/play/level/tome/problem_alert.sass b/app/styles/play/level/tome/problem_alert.sass
index df410f680..d26a3ad5b 100644
--- a/app/styles/play/level/tome/problem_alert.sass
+++ b/app/styles/play/level/tome/problem_alert.sass
@@ -6,13 +6,14 @@
bottom: -120px
left: 10px
right: 10px
- background: transparent url(/images/level/code_editor_error_background.png) no-repeat
- background-size: 100% 100%
+ background: transparent
border: 0
padding: 18px 35px 18px 14px
text-shadow: none
color: white
word-wrap: break-word
+ border-image: url(/images/level/code_editor_error_background.png) 16 20 fill round
+ border-width: 16px 20px
.close
@include opacity(0.80)
@@ -30,11 +31,28 @@
//&.alert-error
&.alert-warning
- background-image: url(/images/level/code_editor_warning_background.png)
+ border-image-source: url(/images/level/code_editor_warning_background.png)
&.alert-info
- background-image: url(/images/level/code_editor_info_background.png)
+ border-image-source: url(/images/level/code_editor_info_background.png)
&.alert-style
// Do we ever want to do this for style?
- background-image: url(/images/level/code_editor_info_background.png)
+ border-image-source: url(/images/level/code_editor_info_background.png)
+
+html.no-borderimage
+ .problem-alert
+ border-width: 0
+ border-image: none
+ background: transparent url(/images/level/code_editor_error_background.png) no-repeat
+ background-size: 100% 100%
+
+ &.alert-warning
+ background-image: url(/images/level/code_editor_warning_background.png)
+
+ &.alert-info
+ background-image: url(/images/level/code_editor_info_background.png)
+
+ &.alert-style
+ // Do we ever want to do this for style?
+ background-image: url(/images/level/code_editor_info_background.png)
\ No newline at end of file
diff --git a/app/styles/play/level/tome/spell.sass b/app/styles/play/level/tome/spell.sass
index 73d727457..291403dc0 100644
--- a/app/styles/play/level/tome/spell.sass
+++ b/app/styles/play/level/tome/spell.sass
@@ -26,6 +26,13 @@
top: 0
height: 100%
width: 100%
+
+ span.code-background
+ border-width: 22px
+ border-image: url(/images/level/code_editor_background.png) 22 fill round
+
+ img.code-background
+ display: none
.save-status
display: none
@@ -64,7 +71,7 @@
.ace_gutter
background-color: rgba(255, 255, 255, 0.25)
- width: 40px
+ width: 47px
margin-left: 4px
border-bottom: 1px dotted #2f261d
@@ -133,3 +140,11 @@
.ace_searchbtn, .ace_replacebtn
padding: 0px 4px
+
+html.no-borderimage
+ #spell-view
+ span.code-background
+ display: none
+ img.code-background
+ display: block
+
diff --git a/app/styles/play/level/tome/spell_debug.sass b/app/styles/play/level/tome/spell_debug.sass
index 976675c2e..d06143caa 100644
--- a/app/styles/play/level/tome/spell_debug.sass
+++ b/app/styles/play/level/tome/spell_debug.sass
@@ -6,8 +6,8 @@
min-width: 250px
max-width: 400px
padding: 10px
- background: transparent url(/images/level/popover_background.png)
- background-size: 100% 100%
+ border-image: url(/images/level/popover_background.png) 18 fill round
+ border-width: 8px
.progress
position: relative
span
@@ -15,4 +15,10 @@
display: block
color: black
width: 100%
+
+html.no-borderimage
+ .spell-debug-view
+ background: transparent url(/images/level/popover_background.png)
+ background-size: 100% 100%
+ border: 0
diff --git a/app/styles/play/level/tome/spell_list.sass b/app/styles/play/level/tome/spell_list.sass
index 0af5f314f..0692a47a0 100644
--- a/app/styles/play/level/tome/spell_list.sass
+++ b/app/styles/play/level/tome/spell_list.sass
@@ -8,6 +8,11 @@
left: 0%
right: 10%
padding: 4%
- background: transparent url(/images/level/popover_background.png)
- background-size: 100% 100%
+ border-image: url(/images/level/popover_background.png) 18 fill round
+ border-width: 15px
+html.no-borderimage
+ #spell-list-view
+ background: transparent url(/images/level/popover_background.png)
+ background-size: 100% 100%
+ border: 0
\ No newline at end of file
diff --git a/app/styles/play/level/tome/spell_list_entry.sass b/app/styles/play/level/tome/spell_list_entry.sass
index 8d036dd57..8f8683c41 100644
--- a/app/styles/play/level/tome/spell_list_entry.sass
+++ b/app/styles/play/level/tome/spell_list_entry.sass
@@ -17,15 +17,15 @@
width: -webkit-calc(100% - 100px)
width: calc(100% - 100px)
padding: 0px 8px
- background: transparent url(/images/level/code_editor_tab_background.png) no-repeat
- background-size: 100% 100%
+ border-width: 3px
+ border-image: url(/images/level/code_editor_tab_background.png) 4 fill repeat
text-align: center
&.read-only
background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0.2) 100%), url(/images/level/code_editor_tab_background.png)
background-size: 100% 100%
- .spell-list-button, .thang-avatar-wrapper, .reload-code, .beautify-code
+ .spell-list-button, .thang-avatar-wrapper, .reload-code, .beautify-code, .fullscreen-code
width: $childSize
height: $childSize
margin: $childMargin
@@ -41,6 +41,15 @@
.beautify-code
float: right
+ .fullscreen-code
+ float: right
+ &:not(.maximized)
+ .icon-resize-small
+ display: none
+ &.maximized
+ .icon-fullscreen
+ display: none
+
.btn.btn-small
background: transparent
padding: 0
@@ -49,7 +58,7 @@
border-color: transparent
@include box-shadow(none)
- .icon-chevron-down, .icon-repeat, .icon-magnet
+ .icon-chevron-down, .icon-repeat, .icon-magnet, .icon-fullscreen, .icon-resize-small
margin-top: 7px
.thang-avatar-wrapper
@@ -94,3 +103,11 @@
.thang-avatar-wrapper
margin: 0 5px 0 0
//margin: 2px 10px 2px 5px
+
+
+html.no-borderimage
+ .spell-list-entry-view.spell-tab
+ border-width: 0
+ border-image: none
+ background: transparent url(/images/level/code_editor_tab_background.png) no-repeat
+ background-size: 100% 100%
\ No newline at end of file
diff --git a/app/styles/play/level/tome/spell_list_entry_thangs.sass b/app/styles/play/level/tome/spell_list_entry_thangs.sass
index 0f005675a..5398423f9 100644
--- a/app/styles/play/level/tome/spell_list_entry_thangs.sass
+++ b/app/styles/play/level/tome/spell_list_entry_thangs.sass
@@ -10,8 +10,8 @@
max-height: 500px
overflow: scroll
padding: 4%
- background: transparent url(/images/level/popover_background.png)
- background-size: 100% 100%
+ border-image: url(/images/level/popover_background.png) 18 fill round
+ border-width: 15px
.thang-avatar-view
cursor: pointer
@@ -20,4 +20,9 @@
display: inline-block
-
+html.no-borderimage
+ .spell-list-entry-view
+ .spell-list-entry-thangs-view
+ background: transparent url(/images/level/popover_background.png)
+ background-size: 100% 100%
+ border: 0
\ No newline at end of file
diff --git a/app/styles/play/level/tome/spell_palette.sass b/app/styles/play/level/tome/spell_palette.sass
index 5e19cc0ce..3e2f78794 100644
--- a/app/styles/play/level/tome/spell_palette.sass
+++ b/app/styles/play/level/tome/spell_palette.sass
@@ -17,13 +17,20 @@
z-index: 0
//overflow-y: auto
- img
+ .code-palette-background
position: absolute
left: 0
top: 0
width: 100%
height: 100%
z-index: -1
+
+ span.code-palette-background
+ border-width: 25px
+ border-image: url(/images/level/code_palette_background.png) 25 fill round
+
+ img.code-palette-background
+ display: none
&.disabled
@include opacity(0.80)
@@ -86,3 +93,9 @@
&.io
background-image: url(/images/pages/home/language_logo_io.png)
+html.no-borderimage
+ #spell-palette-view
+ span.code-palette-background
+ display: none
+ img.code-palette-background
+ display: block
\ No newline at end of file
diff --git a/app/styles/play/level/tome/tome.sass b/app/styles/play/level/tome/tome.sass
index 773005d64..370cc293d 100644
--- a/app/styles/play/level/tome/tome.sass
+++ b/app/styles/play/level/tome/tome.sass
@@ -37,9 +37,8 @@
.popover
padding: 10px 10px 30px 10px
- background: transparent url(/images/level/popover_background.png)
- background-size: 100% 100%
- border: 0
+ border-image: url(/images/level/popover_background.png) 18 fill round
+ border-width: 15px
@include box-shadow(0 0 0 #000)
h1:not(.not-code), h2:not(.not-code), h3:not(.not-code), h4:not(.not-code), h5:not(.not-code), h6:not(.not-code)
@@ -70,3 +69,10 @@
pre
display: inline-block
padding: 5px
+
+html.no-borderimage
+ #tome-view
+ .popover
+ background: transparent url(/images/level/popover_background.png)
+ background-size: 100% 100%
+ border: 0
diff --git a/app/styles/recruitment_base.sass b/app/styles/recruitment_base.sass
index 06bfe815c..f6c6e1062 100644
--- a/app/styles/recruitment_base.sass
+++ b/app/styles/recruitment_base.sass
@@ -18,4 +18,38 @@
#employer-content-area
- margin: auto
\ No newline at end of file
+ margin: auto
+
+.employer-modal-background-wrapper
+ background-color: white
+ border: 2px #333333 solid
+ border-radius: 4px
+ h1, h2, h3, h4, h5
+ color: black
+ font-family: Arial, Helvetica, sans-serif
+ .input-large
+ font-size: 28px
+ height: 60px
+ border: 2px rgb(231,231,231) solid
+ box-shadow: none
+ width: 70%
+ margin-left: 15%
+ #create-account-button, #contract-agreement-button, #login-button
+ background: #fce232 /* Old browsers */
+ background: -moz-linear-gradient(top, #fce232 0%, #ea8e2b 100%)
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fce232), color-stop(100%,#ea8e2b))
+ background: -webkit-linear-gradient(top, #fce232 0%,#ea8e2b 100%)
+ background: -o-linear-gradient(top, #fce232 0%,#ea8e2b 100%)
+ background: -ms-linear-gradient(top, #fce232 0%,#ea8e2b 100%)
+ background: linear-gradient(to bottom, #fce232 0%,#ea8e2b 100%)
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fce232', endColorstr='#ea8e2b',GradientType=0 )
+ height: 60px
+ font-size: 24px
+ color: black
+ .login-link
+ text-decoration: underline
+ #login-button
+ margin-left: 40%
+ width: 20%
+
+
\ No newline at end of file
diff --git a/app/styles/terrain_randomise.sass b/app/styles/terrain_randomise.sass
new file mode 100644
index 000000000..e6cf29bec
--- /dev/null
+++ b/app/styles/terrain_randomise.sass
@@ -0,0 +1,128 @@
+#terrain-randomise-modal
+
+ .choose-option
+ margin-bottom: 15px
+ width: 100%
+ height: 100px
+ overflow: hidden
+ background: white
+ border: 1px solid #333
+ position: relative
+
+ -webkit-transition: opacity 0.3s ease-in-out
+ -moz-transition: opacity 0.3s ease-in-out
+ -ms-transition: opacity 0.3s ease-in-out
+ -o-transition: opacity 0.3s ease-in-out
+ transition: opacity 0.3s ease-in-out
+
+ opacity: 0.4
+
+ border-radius: 5px
+ .only-one
+ -webkit-transition: opacity 0.3s ease-in-out
+ -moz-transition: opacity 0.3s ease-in-out
+ -ms-transition: opacity 0.3s ease-in-out
+ -o-transition: opacity 0.3s ease-in-out
+ transition: opacity 0.3s ease-in-out
+ opacity: 0
+
+ .choose-option:hover
+ opacity: 1
+ .only-one
+ opacity: 1
+
+ .my-icon
+ position: relative
+ left: 0
+ top: -10px
+ z-index: 1
+
+ .my-team-icon
+ height: 60px
+ position: relative
+ top: -10px
+ left: 10px
+ z-index: 0
+
+ .opponent-team-icon
+ height: 60px
+ position: relative
+ top: 10px
+ right: 10px
+ z-index: 0
+ float: right
+ -moz-transform: scaleX(-1)
+ -o-transform: scaleX(-1)
+ -webkit-transform: scaleX(-1)
+ transform: scaleX(-1)
+ filter: FlipH
+ -ms-filter: "FlipH"
+
+ .opponent-icon
+ position: relative
+ float: right
+ right: 0
+ top: -10px
+ -moz-transform: scaleX(-1)
+ -o-transform: scaleX(-1)
+ -webkit-transform: scaleX(-1)
+ transform: scaleX(-1)
+ filter: FlipH
+ -ms-filter: "FlipH"
+ z-index: 1
+
+ .name-label
+ border-bottom: 20px solid lightslategray
+ height: 0
+ width: 40%
+ position: absolute
+ bottom: 0
+ color: black
+ font-weight: bold
+ text-align: center
+ z-index: 2
+
+ span
+ position: relative
+ top: 1px
+
+ .my-name
+ border-right: 15px solid transparent
+ left: 0
+ span
+ left: 3px
+
+ .preset-size
+ border-left: 15px solid transparent
+ right: 0
+ //text-align: right
+ span
+ right: 3px
+
+ .preset-name
+ border-top: 25px solid darkgray
+ border-left: 20px solid transparent
+ border-right: 20px solid transparent
+ height: 0
+ width: 30%
+ position: absolute
+ left: 35%
+ top: 0
+ color: black
+ text-align: center
+ font-size: 18px
+ font-weight: bold
+
+ span
+ position: relative
+ top: -25px
+
+ .easy-option .preset-name
+ border-top: 25px solid limegreen
+
+ .medium-option .preset-name
+ border-top: 25px solid darkorange
+
+ .hard-option .preset-name
+ border-top: 25px solid black
+ color: white
\ No newline at end of file
diff --git a/app/templates/account/profile.jade b/app/templates/account/profile.jade
index de9dcca11..11c0d6956 100644
--- a/app/templates/account/profile.jade
+++ b/app/templates/account/profile.jade
@@ -155,7 +155,7 @@ block content
select.form-control(name='root[visa]')
option(value='Authorized to work in the US', selected=profile.visa == 'Authorized to work in the US') Authorized to work in the US
option(value='Need visa sponsorship', selected=profile.visa == 'Need visa sponsorship') Need visa sponsorship
- p.help-block(data-i18n="account_profile.basics_visa_help") Are you authorized to work in the US, or do you need visa sponsorship?
+ p.help-block(data-i18n="account_profile.basics_visa_help") Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)
.form-group
label.control-label(data-i18n="account_profile.basics_looking_for") Looking For
select.form-control(name='root[lookingFor]')
@@ -397,7 +397,7 @@ block content
if user.get('jobProfileNotes') || me.isAdmin()
div(class="our-notes-section" + (editing ? " deemphasized" : ""))
- h3.experience-header(data-i18n="account_profile.our_notes") Our Notes
+ h3.experience-header(data-i18n="account_profile.our_notes") CodeCombat's Notes
- var notes = user.get('jobProfileNotes') || '';
if me.isAdmin()
textarea#job-profile-notes!= notes
diff --git a/app/templates/account/wizard_settings.jade b/app/templates/account/wizard_settings.jade
index f0c95410e..192f758c4 100644
--- a/app/templates/account/wizard_settings.jade
+++ b/app/templates/account/wizard_settings.jade
@@ -1,5 +1,5 @@
#color-settings
- table.table.table-bordered
+ table.table.table-bordered.table-hover
tr
th(data-i18n="wizard_settings.active") Active
th(data-i18n="wizard_settings.color") Color
diff --git a/app/templates/contribute/diplomat.jade b/app/templates/contribute/diplomat.jade
index 845da167d..e2e6a756c 100644
--- a/app/templates/contribute/diplomat.jade
+++ b/app/templates/contribute/diplomat.jade
@@ -72,7 +72,7 @@ block content
li Slovak - Anon
li Persian - Reza Habibi (Rehb)
li Czech - vanous
- li Russian - fess89, ser-storchak, Mr A
+ li Russian - fess89, ser-storchak, Mr A, a1ip
li Ukrainian - fess89
li Italian - flauta
li Norwegian - bardeh
diff --git a/app/templates/docs/components.jade b/app/templates/docs/components.jade
new file mode 100644
index 000000000..0e546da7e
--- /dev/null
+++ b/app/templates/docs/components.jade
@@ -0,0 +1,23 @@
+extends /templates/base
+
+
+block content
+ .row
+ .col-xs-3.index-column.nano
+ ul.nav.nav-list.list-group.nano-content
+ for component in components
+ li= component.get('name')
+ ul
+ each doc in component.attributes.propertyDocumentation
+ a(href="##{component.get('name')}#{doc.name}")
+ li
+ | #{doc.name}
+ .col-xs-9.documentation-column.nano
+ ul.nano-content
+ for component in components
+ each doc in component.attributes.propertyDocumentation
+ li(id="#{component.get('name')}#{doc.name}")
+ | #{doc.name}
+ ul.specialList
+ li=doc.description
+
\ No newline at end of file
diff --git a/app/templates/editor/article/edit.jade b/app/templates/editor/article/edit.jade
index d61460e60..f882cea08 100644
--- a/app/templates/editor/article/edit.jade
+++ b/app/templates/editor/article/edit.jade
@@ -23,6 +23,9 @@ block content
#article-view
+ h3 Patches
+ .patches-view
+
hr
div#error-view
diff --git a/app/templates/editor/level/component/new.jade b/app/templates/editor/level/component/new.jade
index 6af6f987c..139ecb616 100644
--- a/app/templates/editor/level/component/new.jade
+++ b/app/templates/editor/level/component/new.jade
@@ -7,7 +7,10 @@ block modal-body-content
form.form
.form-group
label(for="level-component-system", data-i18n="editor.new_component_field_system").control-label System
- input.form-control#level-component-system(name="system", type="text")
+ select.form-control#level-component-system(name='system')
+ for system in systems
+ option(value=system)= system
+ //input.form-control#level-component-system(name="system", type="text")
.form-group
label(for="level-component-name", data-i18n="general.name").control-label Name
input.form-control#level-component-name(name="name", type="text")
diff --git a/app/templates/editor/level/components_tab.jade b/app/templates/editor/level/components_tab.jade
index d457ade2a..235cb9f71 100644
--- a/app/templates/editor/level/components_tab.jade
+++ b/app/templates/editor/level/components_tab.jade
@@ -6,7 +6,7 @@
#components-treema.nano-content
.edit-component-container
- if me.isAdmin()
+ if !me.get('anonymous')
button.btn.btn-primary#create-new-component-button-no-select
span.icon-plus
span.text(data-i18n="editor.level_component_btn_new") Create New Component
diff --git a/app/templates/editor/level/edit.jade b/app/templates/editor/level/edit.jade
index c2dfbac6f..e446f7613 100644
--- a/app/templates/editor/level/edit.jade
+++ b/app/templates/editor/level/edit.jade
@@ -47,9 +47,20 @@ block header
a
span.glyphicon-floppy-disk.glyphicon
- li(title="⌃↩ or ⌘↩: Play preview of current level")#play-button
- a
- span.glyphicon-play.glyphicon
+ if level.get('type') === 'ladder'
+ li.dropdown
+ a(data-toggle='dropdown')
+ span.glyphicon-play.glyphicon
+ ul.dropdown-menu
+ li.dropdown-header Play As Which Team?
+ li
+ for team in ['humans', 'ogres']
+ a.play-with-team-button(data-team=team)= team
+
+ else
+ li(title="⌃↩ or ⌘↩: Play preview of current level")#play-button
+ a
+ span.glyphicon-play.glyphicon
li.dropdown
a(data-toggle='dropdown')
span.glyphicon-chevron-down.glyphicon
@@ -68,6 +79,8 @@ block header
a(data-i18n="common.fork")#fork-level-start-button Fork
li(class=anonymous ? "disabled": "")
a(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert")#revert-button Revert
+ li(class=anonymous ? "disabled": "")
+ a(data-toggle="coco-modal", data-target="modal/terrain_randomise", data-i18n="editor.randomise")#randomise-button Randomise
li(class=anonymous ? "disabled": "")
a(data-i18n="editor.pop_i18n")#pop-level-i18n-button Populate i18n
li.divider
diff --git a/app/templates/employers.jade b/app/templates/employers.jade
index 01f6debd7..cc07bc618 100644
--- a/app/templates/employers.jade
+++ b/app/templates/employers.jade
@@ -1,167 +1,167 @@
extends /templates/recruitment_base
block content
+ .artisanal-claim
if me.get('anonymous')
- a#login-link Login
+ a#login-link(data-i18n="login.log_in") Log In
br
if !isEmployer && !me.isAdmin()
#tagline
h1(data-i18n="employers.hire_developers_not_credentials") Hire developers, not credentials.
- button.btn.get-started-button Get started
+ button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
else
if !me.get('anonymous')
- a#logout-button(data-i18n="login.log_out") Logout
+ a#logout-link(data-i18n="login.log_out") Log Out
br
- #filter
- .panel-group#filter_panel
- a#filter-link(data-toggle="collapse" data-target="#collapseOne")
- .panel.panel-default
- .panel-heading
- h4.panel-title
-
- span.glyphicon.glyphicon-folder-open#folder-icon
- | Filter
- .panel-collapse.collapse.in#collapseOne
- .panel-body
- form#filters
- .filter_section#screened_filter
- h4 Screened
- input(type="checkbox" name="phoneScreenFilter" value="true")
- | Phone Screened
- br
- input(type="checkbox" name="phoneScreenFilter" value="false")
- | Not Phone Screened
- .filter_section#visa_filter
- h4 Visa
- input(type="checkbox" name="visa" value="Authorized to work in the US")
- | US Authorized
- br
- input(type="checkbox" name="visa" value="Need visa sponsorship")
- | Not Authorized
- .filter_section#school_filter
- h4 School
- input(type="checkbox" name="schoolFilter" value="Top 20 Eng.")
- | Top 20 Eng.
- br
- input(type="checkbox" name="schoolFilter" value="Other US")
- | Other US
- br
- input(type="checkbox" name="schoolFilter" value="Other Intl.")
- | Other Intl.
- .filter_section#location_filter
- h4 Location
- input(type="checkbox" name="locationFilter" value="Bay Area")
- | Bay Area
- br
- input(type="checkbox" name="locationFilter" value="New York")
- | New York
- br
- input(type="checkbox" name="locationFilter" value="Other US")
- | Other US
- br
- input(type="checkbox" name="locationFilter" value="International")
- | International
- .filter_section#role_filter
- h4 Role
- input(type="checkbox" name="roleFilter" value="Web Developer")
- | Web Developer
- br
- input(type="checkbox" name="roleFilter" value="Software Developer")
- | Software Developer
- br
- input(type="checkbox" name="roleFilter" value="iOS Developer")
- | iOS Developer
- br
- input(type="checkbox" name="roleFilter" value="Android Developer")
- | Android Developer
- br
- input(type="checkbox" name="roleFilter" value="Project Manager")
- | Project Developer
- .filter_section#seniority_filter
- h4 Seniority
- input(type="checkbox" name="seniorityFilter" value="College Student")
- | College Student
- br
- input(type="checkbox" name="seniorityFilter" value="Recent Grad")
- | Recent Grad
- br
- input(type="checkbox" name="seniorityFilter" value="Junior")
- | Junior
- br
- input(type="checkbox" name="seniorityFilter" value="Senior")
- | Senior
- br
- input(type="checkbox" name="seniorityFilter" value="Management")
- | Management
- //input#select_all_checkbox(type="checkbox" name="select_all" checked)
- //| Select all
- button.btn#filter-button Filter
- p#results #{numberOfCandidates} results
- //button.btn#create-alert-button Create Alert
- if candidates.length
- #candidate-table
- table
- tbody
- for candidate, index in featuredCandidates
- - var profile = candidate.get('jobProfile');
- - var authorized = candidate.id; // If we have the id, then we are authorized.
- - var profileAge = (new Date() - new Date(profile.updated)) / 86400 / 1000;
- - var expired = profileAge > 2 * 30.4;
- - var curated = profile.curated;
-
- tr.candidate-row(data-candidate-id=candidate.id, id=candidate.id, class=expired ? "expired" : "")
- td(rowspan=2)
- .candidate-picture
- img(src=candidate.getPhotoURL(50), alt=profile.name, title=profile.name, width=50)
- if curated && curated.shortDescription
- td.candidate-description #{curated.shortDescription}
- else
- td.candidate-description #{profile.shortDescription}
- tr.border_row(data-candidate-id=candidate.id)
- if curated
- - var workHistory = curated.workHistory.join(",");
- td.tag_column
- img(src="/images/pages/employer/tag.png")
- | #{curated.mainTag}
- td.location_column
- img(src="/images/pages/employer/location.png")
- | #{curated.location}
- td.education_column
- img(src="/images/pages/employer/education.png")
- | #{curated.education}
- td.work_column
- img(src="/images/pages/employer/briefcase.png")
- | #{workHistory}
- else
- td Hi
+ .row
+ - var fullProfiles = isEmployer || me.isAdmin();
- if !isEmployer && !me.isAdmin()
+ if fullProfiles
+ #filter-column.col-md-3
+ #filter
+ .panel-group#filter_panel
+ a#filter-link(data-toggle="collapse" data-target="#collapseOne")
+ .panel.panel-default
+ .panel-heading
+ h4.panel-title
+ span.glyphicon.glyphicon-folder-open#folder-icon
+ | Filter
+ .panel-collapse.collapse.in#collapseOne
+ .panel-body
+ p
+ strong(data-i18n="employers.already_screened") We've already technically screened all our candidates
+ span(data-i18n="employers.filter_further") , but you can also filter further:
+ form#filters
+ .filter_section#visa_filter
+ h4(data-i18n="employers.filter_visa") Visa
+ label
+ input(type="checkbox" name="visa" value="Authorized to work in the US")
+ span(data-i18n="employers.filter_visa_yes") US Authorized
+ | (#{candidatesInFilter("visa","Authorized to work in the US")})
+ label
+ input(type="checkbox" name="visa" value="Need visa sponsorship")
+ span(data-i18n="employers.filter_visa_no") Not Authorized
+ | (#{candidatesInFilter("visa","Need visa sponsorship")})
+ .filter_section#school_filter
+ h4(data-i18n="account_profile.education") Education
+ label
+ input(type="checkbox" name="schoolFilter" value="Top School")
+ span(data-i18n="employers.filter_education_top") Top School
+ | (#{candidatesInFilter("schoolFilter","Top School")})
+ label
+ input(type="checkbox" name="schoolFilter" value="Other")
+ span(data-i18n="employers.filter_education_other") Other
+ | (#{candidatesInFilter("schoolFilter","Other")})
+ .filter_section#role_filter
+ h4(data-i18n="employers.candidate_role") Role
+ label
+ input(type="checkbox" name="roleFilter" value="Web Developer")
+ span(data-i18n="employers.filter_role_web_developer") Web Developer
+ | (#{candidatesInFilter("roleFilter","Web Developer")})
+ label
+ input(type="checkbox" name="roleFilter" value="Software Developer")
+ span(data-i18n="employers.filter_role_software_developer") Software Developer
+ | (#{candidatesInFilter("roleFilter","Software Developer")})
+ label
+ input(type="checkbox" name="roleFilter" value="Mobile Developer")
+ span(data-i18n="employers.filter_role_mobile_developer") Mobile Developer
+ | (#{candidatesInFilter("roleFilter","Mobile Developer")})
+ .filter_section#seniority_filter
+ h4(data-i18n="employers.filter_experience") Experience
+ label
+ input(type="checkbox" name="seniorityFilter" value="Senior")
+ span(data-i18n="employers.filter_experience_senior") Senior
+ | (#{candidatesInFilter("seniorityFilter","Senior")})
+ label
+ input(type="checkbox" name="seniorityFilter" value="Junior")
+ span(data-i18n="employers.filter_experience_junior") Junior
+ | (#{candidatesInFilter("seniorityFilter","Junior")})
+ label
+ input(type="checkbox" name="seniorityFilter" value="Recent Grad")
+ span(data-i18n="employers.filter_experience_recent_grad") Recent Grad
+ | (#{candidatesInFilter("seniorityFilter","Recent Grad")})
+ label
+ input(type="checkbox" name="seniorityFilter" value="College Student")
+ span(data-i18n="employers.filter_experience_student") College Student
+ | (#{candidatesInFilter("seniorityFilter","College Student")})
+
+ //input#select_all_checkbox(type="checkbox" name="select_all" checked)
+ //| Select all
+ p#results
+ | #{numberOfCandidates}
+ span(data-i18n="employers.results") results
+ //button.btn#create-alert-button Create Alert
+
+ #candidates-column(class=fullProfiles ? "full-profiles col-md-9" : "teaser-profiles col-md-12")
+ if candidates.length
+ #candidate-table
+ table
+ tbody
+ for candidate, index in featuredCandidates
+ - var profile = candidate.get('jobProfile');
+ - var authorized = candidate.id; // If we have the id, then we are authorized.
+ - var profileAge = (new Date() - new Date(profile.updated)) / 86400 / 1000;
+ - var expired = profileAge > 2 * 30.4;
+ - var curated = profile.curated;
+ - var photoSize = fullProfiles ? 75 : 50;
+
+ tr.candidate-row(data-candidate-id=candidate.id, id=candidate.id, class=expired ? "expired" : "")
+ td(rowspan=3)
+ - var photoURL = candidate.getPhotoURL(photoSize, false, true);
+ div(class="candidate-picture " + (/^\/file/.test(photoURL) ? "" : "anonymous"), style='background-image: url(' + encodeURI(photoURL) + ')')
+ if fullProfiles
+ td.candidate-name-cell
+ strong= profile.name
+ | -
+ span= profile.jobTitle
+ tr.description_row(data-candidate-id=candidate.id)
+ if curated && curated.shortDescription
+ td.candidate-description
+ div #{curated.shortDescription}
+ else
+ td.candidate-description
+ div #{profile.shortDescription}
+ tr.border_row(data-candidate-id=candidate.id)
+ if curated
+ - var workHistory = curated.workHistory.join(",");
+ if !fullProfiles
+ td.tag_column
+ img(src="/images/pages/employer/tag.png")
+ | #{profile.jobTitle}
+ td.location_column
+ img(src="/images/pages/employer/location.png")
+ | #{curated.location}
+ td.education_column
+ img(src="/images/pages/employer/education.png")
+ | #{curated.education}
+ td.work_column
+ if workHistory
+ img(src="/images/pages/employer/briefcase.png")
+ | #{workHistory}
+
+ if !fullProfiles
div#info_wrapper
span.hiring-call-to-action
h2#start-hiring(data-i18n="employers.start_hiring") Start hiring.
- button.btn.get-started-button Get started
+ button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
- h2#hiring-reasons.hiring-call-to-action(data-i18n="employers.reasons") 3 reasons you should hire through us:
+ h2#hiring-reasons.hiring-call-to-action(data-i18n="employers.reasons") Three reasons you should hire through us:
.reasons#top_row
.reason
img.employer_icon(src="/images/pages/employer/employer_icon2.png")
- h3(data-i18n="employers.everyone_looking") Everyone here is looking for work.
+ h3(data-i18n="employers.everyone_looking") Everyone here is looking for their next opportunity.
p(data-i18n="employers.everyone_looking_blurb") Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction.
.reason
img.employer_icon(src="/images/pages/employer/employer_icon6.png")
- h3(data-i18n="employers.weeding") We've done the weeding for you.
- //this will break in i18n. Fix the inlining
- p(data-i18n="employers.weeding_blurb")
- | Every candidate that has a
- span.glyphicon.glyphicon-earphone
- | icon has already gone through a phone screen with us. We only feature developers that we would work with.
+ h3(data-i18n="employers.weeding") Sit back; we've done the weeding for you.
+ p(data-i18n="employers.weeding_blurb") Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time.
.reason
img(class="employer_icon" src="/images/pages/employer/employer_icon3.png")
h3(data-i18n="employers.pass_screen") They will pass your technical screen.
- p(data-i18n="employers.pass_screen_blurb") All of these developers have ranked in our programming competitions. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News.
+ p(data-i18n="employers.pass_screen_blurb") Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News.
span.hiring-call-to-action
h2(data-i18n="employers.make_hiring_easier") Make my hiring easier, please.
- button.btn.get-started-button Get started
+ button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
.reasons#bottom_row
.reason_long
img.employer_icon(src="/images/pages/employer/employer_icon1.png")
@@ -171,5 +171,5 @@ block content
.reason_long
img.employer_icon(src="/images/pages/employer/employer_icon5.png")
.reason_text
- h3(data-i18n="employers.cost") Who Are the Players?
- p(data-i18n="employers.cost_blurb") CodeCombateers are CTOs, VPs of Engineering, and graduates of top 20 engineering schools. No junior developers here. Our players enjoy playing with code and solving problems.
+ h3(data-i18n="employers.cost") How much do we charge?
+ p(data-i18n="employers.cost_blurb") We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company.
diff --git a/app/templates/modal/auth.jade b/app/templates/modal/auth.jade
index 626ca4827..7edff3fff 100644
--- a/app/templates/modal/auth.jade
+++ b/app/templates/modal/auth.jade
@@ -19,12 +19,19 @@ block modal-body-content
p(data-i18n="signup.description") It's free. Just need a couple things and you'll be good to go:
form.form
- .form-group
- label.control-label(for="email", data-i18n="general.email") Email
- input#email.input-large.form-control(name="email", type="email", value=formValues.email)
- .form-group
- label.control-label(for="password", data-i18n="general.password") Password
- input#password.input-large.form-control(name="password", type="password", value=formValues.password)
+ if onEmployersPage
+ .form-group
+ input#email.input-large.form-control(name="email", type="email", value=formValues.email, placeholder="Email")
+ .form-group
+ input#password.input-large.form-control(name="password", type="password", value=formValues.password, placeholder="Password")
+
+ else
+ .form-group
+ label.control-label(for="email", data-i18n="general.email") Email
+ input#email.input-large.form-control(name="email", type="email", value=formValues.email)
+ .form-group
+ label.control-label(for="password", data-i18n="general.password") Password
+ input#password.input-large.form-control(name="password", type="password", value=formValues.password)
if mode === 'signup'
.form-group.checkbox
@@ -38,8 +45,11 @@ block modal-body-content
a(href="https://en.wikipedia.org/wiki/Children's_Online_Privacy_Protection_Act", data-i18n="signup.coppa_why", target="_blank") (Why?)
if mode === 'login'
- input.btn.btn-info.btn-large#login-button(value=translate("login.log_in"), type="submit")
- .btn.btn-default.btn-large#switch-to-signup-button(data-i18n="login.sign_up") Create Account
+ if onEmployersPage
+ input.btn.btn-info.btn-large#login-button(value=translate("login.log_in"), type="submit")
+ else
+ input.btn.btn-info.btn-large#login-button(value=translate("login.log_in"), type="submit")
+ .btn.btn-default.btn-large#switch-to-signup-button(data-i18n="login.sign_up") Create Account
if mode === 'signup'
input.btn.btn-info.btn-large#signup-button(value=translate("signup.sign_up"), type="submit")
diff --git a/app/templates/modal/employer_signup_modal.jade b/app/templates/modal/employer_signup_modal.jade
index d6a627ddf..8d0429137 100644
--- a/app/templates/modal/employer_signup_modal.jade
+++ b/app/templates/modal/employer_signup_modal.jade
@@ -2,7 +2,7 @@ extends /templates/modal/modal_base
block modal-header-content
if userIsAnonymous || !userIsAuthorized
- h3(data-i18n="employer_signup.title") Sign up to hire CodeCombat players!
+ h3(data-i18n="employer_signup.title") Sign Up to Hire CodeCombat Players
else
h3 CodeCombat Placement Agreement
@@ -13,28 +13,17 @@ block modal-body-content
else if sentMoreInfoEmail
| Thanks! You should receive an email from George shortly.
else
- h4(data-i18n="employer_signup.sub_heading") Let us find your next brilliant developers.
- p Create an account to get started!
.form#signup-form
.form-group
- label.control-label(for="signup-email", data-i18n="general.email") Email
- input#signup-email.form-control.input-large(name="email",type="email")
- .form-group
- label.control-label(for="signup-password", data-i18n="general.password") Password
- input#signup-password.input-large.form-control(name="password", type="password")
+ input#signup-email.form-control.input-large(name="email",type="email" placeholder="Email")
+ .form-group
+ input#signup-password.input-large.form-control(name="password", type="password" placeholder="Password")
.modal-footer.linkedin
button.btn.btn-primary(id="create-account-button") Create Account
br
br
| Already have a CodeCombat account?
a.login-link(data-toggle="coco-modal", data-target="modal/auth") Log in to continue!
- h4 Want more information first?
- p Enter your email and George, our CEO, will contact you shortly.
- .form
- .form-group
- label.control-label(for="more-info-email", data-i18n="general.email") Email
- input#more-info-email.form-control.input-large(name="more-info-email",type="email")
- button.btn.btn-primary(id="more-info-button") Send me more information!
else if !userIsAuthorized
.modal-footer.linkedin
p Please sign into your LinkedIn account to verify your identity.
diff --git a/app/templates/modal/terrain_randomise.jade b/app/templates/modal/terrain_randomise.jade
new file mode 100644
index 000000000..9ac509c68
--- /dev/null
+++ b/app/templates/modal/terrain_randomise.jade
@@ -0,0 +1,15 @@
+extends /templates/modal/modal_base
+
+block modal-header-content
+ h3(data-i18n="editor.pick_a_terrain") Pick a Terrain
+
+block modal-body-content
+ div#normal-view
+ a(href="#")
+ div.choose-option(data-preset-type="grassy", data-preset-size="small")
+ div.preset-size.name-label
+ span(data-i18n="ladder.small") Small
+ div.preset-name
+ span(data-i18n="ladder.grassy") Grassy
+ //- for model in models
+block modal-footer
diff --git a/app/templates/modal/wizard_settings.jade b/app/templates/modal/wizard_settings.jade
index a301884ec..ea22506ec 100644
--- a/app/templates/modal/wizard_settings.jade
+++ b/app/templates/modal/wizard_settings.jade
@@ -17,4 +17,4 @@ block modal-body-wait-content
.progress-bar
block modal-footer-content
- button.btn.btn-primary.btn-large#wizard-settings-done(type="button") Done
+ button.btn.btn-primary.btn-large#wizard-settings-done(data-dismiss="modal", type="button") Done
diff --git a/app/templates/play/level/tome/spell.jade b/app/templates/play/level/tome/spell.jade
index 85fcdbda0..32a97806d 100644
--- a/app/templates/play/level/tome/spell.jade
+++ b/app/templates/play/level/tome/spell.jade
@@ -1,4 +1,5 @@
img(src="/images/level/code_editor_background.png").code-background
+span.code-background
div.ace
diff --git a/app/templates/play/level/tome/spell_list_tab_entry.jade b/app/templates/play/level/tome/spell_list_tab_entry.jade
index 8ebad097f..9199b8a48 100644
--- a/app/templates/play/level/tome/spell_list_tab_entry.jade
+++ b/app/templates/play/level/tome/spell_list_tab_entry.jade
@@ -4,10 +4,15 @@
code #{methodSignature}
+.btn.btn-small.fullscreen-code(title="Expand code editor")
+ i.icon-fullscreen
+ i.icon-resize-small
+
.btn.btn-small.reload-code(title="Reload original code for " + spell.name)
i.icon-repeat
.btn.btn-small.beautify-code(title="Ctrl+Shift+B: Beautify code for " + spell.name)
i.icon-magnet
+
.clearfix
\ No newline at end of file
diff --git a/app/templates/play/level/tome/spell_palette.jade b/app/templates/play/level/tome/spell_palette.jade
index 2164a970b..2344bfdaf 100644
--- a/app/templates/play/level/tome/spell_palette.jade
+++ b/app/templates/play/level/tome/spell_palette.jade
@@ -1,4 +1,5 @@
img(src="/images/level/code_palette_background.png").code-palette-background
+span.code-palette-background
.code-language-logo
ul(class="nav nav-pills" + (tabbed ? ' multiple-tabs' : ''))
each slug, group in entryGroupSlugs
diff --git a/app/treema-ext.coffee b/app/treema-ext.coffee
index 0bb6772e6..c7b6fac65 100644
--- a/app/treema-ext.coffee
+++ b/app/treema-ext.coffee
@@ -197,14 +197,34 @@ class ImageFileTreema extends TreemaNode.nodeMap.string
@flushChanges()
@refreshDisplay()
-class CoffeeTreema extends TreemaNode.nodeMap.ace
+
+codeLanguages =
+ javascript: 'ace/mode/javascript'
+ coffeescript: 'ace/mode/coffee'
+ python: 'ace/mode/python'
+ clojure: 'ace/mode/clojure'
+ lua: 'ace/mode/lua'
+ io: 'ace/mode/text'
+
+class CodeLanguagesObjectTreema extends TreemaNode.nodeMap.object
+ childPropertiesAvailable: ->
+ (key for key in _.keys(codeLanguages) when not @data[key]?)
+
+class CodeLanguageTreema extends TreemaNode.nodeMap.string
+ buildValueForEditing: (valEl) ->
+ super(valEl)
+ valEl.find('input').autocomplete(source: _.keys(codeLanguages), minLength: 0, delay: 0, autoFocus: true)
+ valEl
+
+class CodeTreema extends TreemaNode.nodeMap.ace
constructor: ->
super(arguments...)
- @schema.aceMode = 'ace/mode/coffee'
- @schema.aceTabSize = 2
+ @schema.aceTabSize = 4
buildValueForEditing: (valEl) ->
super(valEl)
+ if not @schema.aceMode and mode = codeLanguages[@keyForParent]
+ @editor.getSession().setMode mode
@editor.on('change', @onEditorChange)
valEl
@@ -213,19 +233,29 @@ class CoffeeTreema extends TreemaNode.nodeMap.ace
@flushChanges()
@getRoot().broadcastChanges()
-class JavaScriptTreema extends CoffeeTreema
+class CoffeeTreema extends CodeTreema
+ constructor: ->
+ super(arguments...)
+ @schema.aceMode = 'ace/mode/coffee'
+ @schema.aceTabSize = 2
+
+class JavaScriptTreema extends CodeTreema
constructor: ->
super(arguments...)
@schema.aceMode = 'ace/mode/javascript'
@schema.aceTabSize = 4
-KB = 1024
-MB = 1024*1024
-
class InternationalizationNode extends TreemaNode.nodeMap.object
findLanguageName: (languageCode) ->
+ # to get around mongoose emtpy object bug, there's a prop in the object which needs to be ignored
+ return '' if languageCode is '-'
locale[languageCode]?.nativeDescription or "#{languageCode} Not Found"
+
+ getChildren: ->
+ res = super(arguments...)
+ res = (r for r in res when r[0] isnt '-')
+ res
getChildSchema: (key) ->
#construct the child schema here
@@ -246,8 +276,7 @@ class InternationalizationNode extends TreemaNode.nodeMap.object
#this must be filled out in order for the i18n node to work
childPropertiesAvailable: ->
- return _.keys locale
-
+ (key for key in _.keys(locale) when not @data[key]?)
class LatestVersionCollection extends CocoCollection
@@ -395,6 +424,9 @@ module.exports.setup = ->
TreemaNode.setNodeSubclass('date-time', DateTimeTreema)
TreemaNode.setNodeSubclass('version', VersionTreema)
TreemaNode.setNodeSubclass('markdown', LiveEditingMarkup)
+ TreemaNode.setNodeSubclass('code-languages-object', CodeLanguagesObjectTreema)
+ TreemaNode.setNodeSubclass('code-language', CodeLanguageTreema)
+ TreemaNode.setNodeSubclass('code', CodeTreema)
TreemaNode.setNodeSubclass('coffee', CoffeeTreema)
TreemaNode.setNodeSubclass('javascript', JavaScriptTreema)
TreemaNode.setNodeSubclass('image-file', ImageFileTreema)
diff --git a/app/views/account/wizard_settings_view.coffee b/app/views/account/wizard_settings_view.coffee
index 6e441654f..7035cdc45 100644
--- a/app/views/account/wizard_settings_view.coffee
+++ b/app/views/account/wizard_settings_view.coffee
@@ -11,6 +11,11 @@ module.exports = class WizardSettingsView extends CocoView
startsLoading: true
events:
+ 'click .color-group': (e) ->
+ return if $(e.target).closest('.minicolors')[0]
+ return if $(e.target).closest('.color-group-checkbox')[0]
+ return if $(e.target).closest('label')[0]
+ $(e.target).closest('.color-group').find('.color-group-checkbox').click()
'change .color-group-checkbox': (e) ->
colorGroup = $(e.target).closest('.color-group')
@updateColorSettings(colorGroup)
@@ -47,7 +52,7 @@ module.exports = class WizardSettingsView extends CocoView
exists: wizardSettings[name]
rgb: hslToHex(hsl)
}
- c.colorGroups = (f(colorName) for colorName in _.keys colorGroups)
+ c.colorGroups = (f(colorName) for colorName in _.keys colorGroups when colorName isnt 'team')
c
afterRender: ->
diff --git a/app/views/docs/components_view.coffee b/app/views/docs/components_view.coffee
new file mode 100644
index 000000000..14f942e44
--- /dev/null
+++ b/app/views/docs/components_view.coffee
@@ -0,0 +1,27 @@
+RootView = require 'views/kinds/RootView'
+template = require 'templates/docs/components'
+CocoCollection = require 'collections/CocoCollection'
+LevelComponent = require 'models/LevelComponent'
+
+class ComponentDocsCollection extends CocoCollection
+ url: '/db/level.component?project=name,description,dependencies,propertyDocumentation'
+ model: LevelComponent
+
+module.exports = class UnnamedView extends RootView
+ id: 'docs-components-view'
+ template: template
+
+ constructor: (options) ->
+ super(options)
+ @componentDocs = new ComponentDocsCollection()
+ @supermodel.loadCollection @componentDocs, 'components'
+
+ onLoaded: ->
+ console.log 'we have the components...', (c.get('name') for c in @componentDocs.models)
+ console.log 'we have the attributes...', (c.attributes for c in @componentDocs.models)
+ super()
+
+ getRenderData: ->
+ c = super()
+ c.components = @componentDocs.models
+ c
diff --git a/app/views/editor/article/edit.coffee b/app/views/editor/article/edit.coffee
index 1511ba155..ae9083a2a 100644
--- a/app/views/editor/article/edit.coffee
+++ b/app/views/editor/article/edit.coffee
@@ -1,9 +1,9 @@
View = require 'views/kinds/RootView'
VersionHistoryView = require './versions_view'
-ErrorView = require '../../error_view'
template = require 'templates/editor/article/edit'
Article = require 'models/Article'
SaveVersionModal = require 'views/modal/save_version_modal'
+PatchesView = require 'views/editor/patches_view'
module.exports = class ArticleEditView extends View
id: 'editor-article-edit-view'
@@ -37,7 +37,7 @@ module.exports = class ArticleEditView extends View
@article.fetch()
@listenToOnce(@article, 'sync', @buildTreema)
@pushChangesToPreview = _.throttle(@pushChangesToPreview, 500)
-
+
buildTreema: ->
return if @treema? or (not @article.loaded)
unless @article.attributes.body
@@ -68,13 +68,15 @@ module.exports = class ArticleEditView extends View
getRenderData: (context={}) ->
context = super(context)
context.article = @article
- context.authorized = me.isAdmin() or @article.hasWriteAccess(me)
+ context.authorized = not me.get('anonymous')
context
afterRender: ->
super()
return if @startsLoading
@showReadOnly() if me.get('anonymous')
+ @patchesView = @insertSubView(new PatchesView(@article), @$el.find('.patches-view'))
+ @patchesView.load()
openPreview: ->
@preview = window.open('/editor/article/x/preview', 'preview', 'height=800,width=600')
diff --git a/app/views/editor/level/component/new.coffee b/app/views/editor/level/component/new.coffee
index 072a69df6..a1f2985ce 100644
--- a/app/views/editor/level/component/new.coffee
+++ b/app/views/editor/level/component/new.coffee
@@ -13,7 +13,12 @@ module.exports = class LevelComponentNewView extends View
events:
'click #new-level-component-submit': 'makeNewLevelComponent'
'submit form': 'makeNewLevelComponent'
-
+
+ getRenderData: ->
+ c = super()
+ c.systems = LevelComponent.schema.properties.system.enum
+ c
+
makeNewLevelComponent: (e) ->
e.preventDefault()
system = @$el.find('#level-component-system').val()
diff --git a/app/views/editor/level/edit.coffee b/app/views/editor/level/edit.coffee
index c81e7f708..eb9e879c0 100644
--- a/app/views/editor/level/edit.coffee
+++ b/app/views/editor/level/edit.coffee
@@ -25,6 +25,7 @@ module.exports = class EditorLevelView extends View
events:
'click #play-button': 'onPlayLevel'
+ 'click .play-with-team-button': 'onPlayLevel'
'click #commit-level-start-button': 'startCommittingLevel'
'click #fork-level-start-button': 'startForkingLevel'
'click #level-history-button': 'showVersionHistory'
@@ -77,6 +78,7 @@ module.exports = class EditorLevelView extends View
@$el.find('#level-watch-button').find('> span').toggleClass('secret') if @level.watching()
onPlayLevel: (e) ->
+ team = $(e.target).data('team')
sendLevel = =>
@childWindow.Backbone.Mediator.publish 'level-reload-from-data', level: @level, supermodel: @supermodel
if @childWindow and not @childWindow.closed
@@ -85,6 +87,7 @@ module.exports = class EditorLevelView extends View
else
# Create a new Window with a blank LevelView
scratchLevelID = @level.get('slug') + '?dev=true'
+ scratchLevelID += "&team=#{team}" if team
@childWindow = window.open("/play/level/#{scratchLevelID}", 'child_window', 'width=1024,height=560,left=10,top=10,location=0,menubar=0,scrollbars=0,status=0,titlebar=0,toolbar=0', true)
@childWindow.onPlayLevelViewLoaded = (e) => sendLevel() # still a hack
@childWindow.focus()
diff --git a/app/views/editor/level/thangs_tab_view.coffee b/app/views/editor/level/thangs_tab_view.coffee
index 8e905654a..e594b00be 100644
--- a/app/views/editor/level/thangs_tab_view.coffee
+++ b/app/views/editor/level/thangs_tab_view.coffee
@@ -43,6 +43,7 @@ module.exports = class ThangsTabView extends View
'sprite:mouse-up': 'onSpriteMouseUp'
'sprite:double-clicked': 'onSpriteDoubleClicked'
'surface:stage-mouse-up': 'onStageMouseUp'
+ 'randomise:terrain-generated': 'onRandomiseTerrain'
events:
'click #extant-thangs-filter button': 'onFilterExtantThangs'
@@ -57,6 +58,8 @@ module.exports = class ThangsTabView extends View
'delete, del, backspace': 'deleteSelectedExtantThang'
'left': -> @moveAddThangSelection -1
'right': -> @moveAddThangSelection 1
+ 'ctrl+z': 'undoAction'
+ 'ctrl+shift+z': 'redoAction'
constructor: (options) ->
super options
@@ -221,6 +224,12 @@ module.exports = class ThangsTabView extends View
return unless e.thang
@editThang thangID: e.thang.id
+ onRandomiseTerrain: (e) ->
+ for thang in e.thangs
+ @selectAddThangType thang.id
+ @addThang @addThangType, thang.pos
+ @selectAddThangType null
+
# TODO: figure out a good way to have all Surface clicks and Treema clicks just proxy in one direction, so we can maintain only one way of handling selection and deletion
onExtantThangSelected: (e) ->
@selectedExtantSprite?.setNameLabel? null unless @selectedExtantSprite is e.sprite
@@ -450,6 +459,12 @@ module.exports = class ThangsTabView extends View
$('#add-thangs-column').toggle()
@onWindowResize e
+ undoAction: (e) ->
+ @thangsTreema.undo()
+
+ redoAction: (e) ->
+ @thangsTreema.redo()
+
class ThangsNode extends TreemaNode.nodeMap.array
valueClass: 'treema-array-replacement'
getChildren: ->
diff --git a/app/views/editor/thang/edit.coffee b/app/views/editor/thang/edit.coffee
index 39fe787ba..3f6e624ce 100644
--- a/app/views/editor/thang/edit.coffee
+++ b/app/views/editor/thang/edit.coffee
@@ -58,7 +58,7 @@ module.exports = class ThangTypeEditView extends View
context = super(context)
context.thangType = @thangType
context.animations = @getAnimationNames()
- context.authorized = me.isAdmin() or @thangType.hasWriteAccess(me)
+ context.authorized = not me.get('anonymous')
context
getAnimationNames: ->
@@ -350,7 +350,7 @@ module.exports = class ThangTypeEditView extends View
schema: schema
files: @files
filePath: "db/thang.type/#{@thangType.get('original')}"
- readOnly: true unless me.isAdmin() or @thangType.hasWriteAccess(me)
+ readOnly: me.get('anonymous')
callbacks:
change: @pushChangesToPreview
select: @onSelectNode
diff --git a/app/views/employers_view.coffee b/app/views/employers_view.coffee
index 5b7bd2710..03ba35c85 100644
--- a/app/views/employers_view.coffee
+++ b/app/views/employers_view.coffee
@@ -21,6 +21,7 @@ module.exports = class EmployersView extends View
events:
'click tbody tr': 'onCandidateClicked'
+ 'click #logout-link': 'logoutAccount'
'change #filters input': 'onFilterChanged'
'click #filter-button': 'applyFilters'
'change #select_all_checkbox': 'handleSelectAllChange'
@@ -69,6 +70,7 @@ module.exports = class EmployersView extends View
for filterName, filterValues of @filters
if filterValues.length is 0
@filters[filterName] = @defaultFilters[filterName]
+ @applyFilters()
openSignupModal: ->
@openModalView new EmployerSignupView
@@ -111,23 +113,43 @@ module.exports = class EmployersView extends View
@filters =
phoneScreenFilter: [true, false]
visa: ['Authorized to work in the US', 'Need visa sponsorship']
- schoolFilter: ['Top 20 Eng.', 'Other US', 'Other Intl.']
+ schoolFilter: ['Top School', 'Other']
locationFilter: ['Bay Area', 'New York', 'Other US', 'International']
- roleFilter: ['Web Developer', 'Software Developer', 'iOS Developer', 'Android Developer', 'Project Manager']
- seniorityFilter: ['College Student', 'Recent Grad', 'Junior', 'Senior', 'Management']
+ roleFilter: ['Web Developer', 'Software Developer', 'Mobile Developer']
+ seniorityFilter: ['College Student', 'Recent Grad', 'Junior', 'Senior']
@defaultFilters = _.cloneDeep @filters
+ candidatesInFilter: (filterName, filterValue) =>
+ candidates = @getActiveAndApprovedCandidates()
+ if filterName and filterValue
+ if filterName is 'visa'
+ return (_.filter candidates, (c) -> c.get('jobProfile').visa is filterValue).length
+ else
+ return (_.filter candidates, (c) -> c.get('jobProfile').curated?[filterName] is filterValue).length
+ else
+ return Math.floor(Math.random() * 500)
+
+ getActiveAndApprovedCandidates: =>
+ candidates = _.filter @candidates.models, (c) -> c.get('jobProfile').active
+ return _.filter candidates, (c) -> c.get('jobProfileApproved')
getRenderData: ->
ctx = super()
ctx.isEmployer = @isEmployer()
+ #If you change the candidates displayed, change candidatesInFilter()
ctx.candidates = _.sortBy @candidates.models, (c) -> -1 * c.get('jobProfile').experience
+ ctx.candidates = _.sortBy ctx.candidates, (c) -> not c.get('jobProfile').curated?
+ ctx.candidates = _.sortBy ctx.candidates, (c) -> c.get('jobProfile').curated?.featured
ctx.activeCandidates = _.filter ctx.candidates, (c) -> c.get('jobProfile').active
ctx.inactiveCandidates = _.reject ctx.candidates, (c) -> c.get('jobProfile').active
ctx.featuredCandidates = _.filter ctx.activeCandidates, (c) -> c.get('jobProfileApproved')
+
unless @isEmployer() or me.isAdmin()
ctx.featuredCandidates = _.filter ctx.featuredCandidates, (c) -> c.get('jobProfile').curated
ctx.featuredCandidates = ctx.featuredCandidates.slice(0,7)
+ if me.isAdmin()
+ ctx.featuredCandidates = ctx.candidates
+ ctx.candidatesInFilter = @candidatesInFilter
ctx.otherCandidates = _.reject ctx.activeCandidates, (c) -> c.get('jobProfileApproved')
ctx.remarks = {}
ctx.remarks[remark.get('user')] = remark for remark in @remarks.models
@@ -158,7 +180,7 @@ module.exports = class EmployersView extends View
# $('.nano').nanoScroller({scrollTo: $(window.location.hash)})
checkForEmployerSignupHash: =>
- if window.location.hash is '#employerSignupLoggingIn' and not ('employer' in me.get('permissions'))
+ if window.location.hash is '#employerSignupLoggingIn' and not ('employer' in me.get('permissions')) and not me.isAdmin()
@openModalView application.router.getView('modal/employer_signup', '_modal')
window.location.hash = ''
@@ -278,7 +300,9 @@ module.exports = class EmployersView extends View
8:
'✓': filterSelectExactMatch
'✗': filterSelectExactMatch
-
+ logoutAccount: ->
+ window.location.hash = ''
+ super()
onCandidateClicked: (e) ->
id = $(e.target).closest('tr').data('candidate-id')
if id and (@isEmployer() or me.isAdmin())
diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee
index 541d02657..21b432dd7 100644
--- a/app/views/kinds/CocoView.coffee
+++ b/app/views/kinds/CocoView.coffee
@@ -137,12 +137,14 @@ module.exports = class CocoView extends Backbone.View
resourceIndex: r.rid,
responseText: r.jqxhr?.responseText
})).i18n()
+ @$el.find('.progress').hide()
onRetryResource: (e) ->
res = @supermodel.getResource($(e.target).data('resource-index'))
# different views may respond to this call, and not all have the resource to reload
return unless res and res.isFailed
res.load()
+ @$el.find('.progress').show()
$(e.target).closest('.loading-error-alert').remove()
# Modals
diff --git a/app/views/kinds/ModalView.coffee b/app/views/kinds/ModalView.coffee
index ad25b3c09..b2fecf1ce 100644
--- a/app/views/kinds/ModalView.coffee
+++ b/app/views/kinds/ModalView.coffee
@@ -32,6 +32,10 @@ module.exports = class ModalView extends CocoView
afterRender: ->
super()
+ if Backbone.history.fragment is "employers"
+ $(@$el).find(".background-wrapper").each ->
+ $(this).addClass("employer-modal-background-wrapper").removeClass("background-wrapper")
+
if @modalWidthPercent
@$el.find('.modal-dialog').css width: "#{@modalWidthPercent}%"
@$el.on 'hide.bs.modal', =>
diff --git a/app/views/modal/auth_modal.coffee b/app/views/modal/auth_modal.coffee
index 81edc7dd4..5f486281e 100644
--- a/app/views/modal/auth_modal.coffee
+++ b/app/views/modal/auth_modal.coffee
@@ -30,8 +30,9 @@ module.exports = class AuthModalView extends View
application.tracker.trackEvent 'Started Signup', authModalTitle: c.title, descriptionOn: c.descriptionOn
c.mode = @mode
c.formValues = @previousFormInputs or {}
+ c.onEmployersPage = Backbone.history.fragment is "employers"
c
-
+
afterInsert: ->
super()
_.delay application.router.renderLoginButtons, 500
diff --git a/app/views/modal/terrain_randomise_modal.coffee b/app/views/modal/terrain_randomise_modal.coffee
new file mode 100644
index 000000000..d737f929f
--- /dev/null
+++ b/app/views/modal/terrain_randomise_modal.coffee
@@ -0,0 +1,188 @@
+ModalView = require 'views/kinds/ModalView'
+template = require 'templates/modal/terrain_randomise'
+CocoModel = require 'models/CocoModel'
+
+clusters = {
+ 'rocks': ['Rock 1', 'Rock 2', 'Rock 3', 'Rock 4', 'Rock 5', 'Rock Cluster 1', 'Rock Cluster 2', 'Rock Cluster 3']
+ 'trees': ['Tree 1', 'Tree 2', 'Tree 3', 'Tree 4']
+ 'shrubs': ['Shrub 1', 'Shrub 2', 'Shrub 3']
+ 'houses': ['House 1', 'House 2', 'House 3', 'House 4']
+ 'animals': ['Cow', 'Horse']
+ 'wood': ['Firewood 1', 'Firewood 2', 'Firewood 3', 'Barrel']
+ 'farm': ['Farm']
+}
+
+presets = {
+ # 'dungeon': {
+ # 'type':'dungeon'
+ # 'borders':['Dungeon Wall']
+ # 'floors':['Dungeon Floor']
+ # 'decorations':[]
+ # }
+ 'grassy': {
+ 'type':'grassy'
+ 'borders':['Tree 1', 'Tree 2', 'Tree 3']
+ 'floors':['Grass01', 'Grass02', 'Grass03']
+ 'decorations': {
+ 'house': {
+ 'num':[1,2] #min-max
+ 'width': 20
+ 'height': 20
+ 'clusters': {
+ 'houses':[1,1]
+ 'trees':[1,2]
+ 'shrubs':[0,3]
+ 'rocks':[1,2]
+ }
+ }
+ 'farm': {
+ 'num':[1,2] #min-max
+ 'width': 20
+ 'height': 20
+ 'clusters': {
+ 'farm':[1,1]
+ 'shrubs':[2,3]
+ 'wood':[2,4]
+ 'animals':[2,3]
+ }
+ }
+ }
+ }
+}
+
+sizes = {
+ 'small': {
+ 'x':80
+ 'y':68
+ }
+ 'large': {
+ 'x':160
+ 'y':136
+ }
+ 'floorSize': {
+ 'x':20
+ 'y':20
+ }
+ 'borderSize': {
+ 'x':4
+ 'y':4
+ }
+}
+
+module.exports = class TerrainRandomiseModal extends ModalView
+ id: 'terrain-randomise-modal'
+ template: template
+ thangs = []
+
+ events:
+ 'click .choose-option': 'onRandomise'
+
+ onRevertModel: (e) ->
+ id = $(e.target).val()
+ CocoModel.backedUp[id].revert()
+ $(e.target).closest('tr').remove()
+ @reloadOnClose = true
+
+ onRandomise: (e) ->
+ target = $(e.target)
+ presetType = target.attr 'data-preset-type'
+ presetSize = target.attr 'data-preset-size'
+ @randomiseThangs presetType, presetSize
+ Backbone.Mediator.publish('randomise:terrain-generated',
+ 'thangs': @thangs
+ )
+ @hide()
+
+ randomiseThangs: (presetName, presetSize) ->
+ preset = presets[presetName]
+ presetSize = sizes[presetSize]
+ @thangs = []
+ @randomiseFloor preset, presetSize
+ @randomiseBorder preset, presetSize
+ @randomiseDecorations preset, presetSize
+
+ randomiseFloor: (preset, presetSize) ->
+ for i in _.range(0, presetSize.x, sizes.floorSize.x)
+ for j in _.range(0, presetSize.y, sizes.floorSize.y)
+ @thangs.push {
+ 'id': @getRandomThang(preset.floors)
+ 'pos': {
+ 'x': i
+ 'y': j
+ }
+ }
+
+ randomiseBorder: (preset, presetSize) ->
+ for i in _.range(0-sizes.floorSize.x/2+sizes.borderSize.x, presetSize.x-sizes.floorSize.x/2, sizes.borderSize.x)
+ @thangs.push {
+ 'id': @getRandomThang(preset.borders)
+ 'pos': {
+ 'x': i
+ 'y': 0-sizes.floorSize.x/2
+ }
+ }
+ @thangs.push {
+ 'id': @getRandomThang(preset.borders)
+ 'pos': {
+ 'x': i
+ 'y': presetSize.y - sizes.borderSize.y
+ }
+ }
+
+ for i in _.range(0-sizes.floorSize.y/2, presetSize.y-sizes.borderSize.y, sizes.borderSize.y)
+ @thangs.push {
+ 'id': @getRandomThang(preset.borders)
+ 'pos': {
+ 'x': 0-sizes.floorSize.x/2+sizes.borderSize.x
+ 'y': i
+ }
+ }
+ @thangs.push {
+ 'id': @getRandomThang(preset.borders)
+ 'pos': {
+ 'x': presetSize.x - sizes.borderSize.x - sizes.floorSize.x/2
+ 'y': i
+ }
+ }
+
+ randomiseDecorations: (preset, presetSize)->
+ for name, decoration of preset.decorations
+ for num in _.range(_.random(decoration.num[0], decoration.num[1]))
+ center =
+ {
+ 'x':_.random(decoration.width, presetSize.x - decoration.width),
+ 'y':_.random(decoration.height, presetSize.y - decoration.height)
+ }
+ min =
+ {
+ 'x':center.x - decoration.width/2
+ 'y':center.y - decoration.height/2
+ }
+ max =
+ {
+ 'x':center.x + decoration.width/2
+ 'y':center.y + decoration.height/2
+ }
+ for cluster, range of decoration.clusters
+ for i in _.range(_.random(range[0], range[1]))
+ @thangs.push {
+ 'id':@getRandomThang(clusters[cluster])
+ 'pos':{
+ 'x':_.random(min.x, max.x)
+ 'y':_.random(min.y, max.y)
+ }
+ }
+
+
+ getRandomThang: (thangList) ->
+ return thangList[_.random(0, thangList.length-1)]
+
+ getRenderData: ->
+ c = super()
+ models = _.values CocoModel.backedUp
+ models = (m for m in models when m.hasLocalChanges())
+ c.models = models
+ c
+
+ onHidden: ->
+ location.reload() if @reloadOnClose
diff --git a/app/views/play/level/gold_view.coffee b/app/views/play/level/gold_view.coffee
index f7168b386..42ef28572 100644
--- a/app/views/play/level/gold_view.coffee
+++ b/app/views/play/level/gold_view.coffee
@@ -15,7 +15,7 @@ module.exports = class GoldView extends View
@teamGold = {}
@teamGoldEarned = {}
@shownOnce = false
-
+
onGoldChanged: (e) ->
return if @teamGold[e.team] is e.gold and @teamGoldEarned[e.team] is e.goldEarned
@teamGold[e.team] = e.gold
@@ -24,7 +24,7 @@ module.exports = class GoldView extends View
unless goldEl.length
teamEl = teamTemplate team: e.team
@$el[if e.team is 'humans' then 'prepend' else 'append'](teamEl)
- goldEl = $('.gold-amount.team-' + e.team, teamEl)
+ goldEl = @$el.find('.gold-amount.team-' + e.team)
text = '' + e.gold
if e.goldEarned and e.goldEarned > e.gold
text += " (#{e.goldEarned})"
@@ -34,7 +34,13 @@ module.exports = class GoldView extends View
@shownOnce = true
updateTitle: ->
- @$el.attr 'title', ("Team '#{team}' has #{gold} now of #{@teamGoldEarned[team]} gold earned." for team, gold of @teamGold).join ' '
+ strings = []
+ for team, gold of @teamGold
+ if @teamGoldEarned[team]
+ strings.push "Team '#{team}' has #{gold} now of #{@teamGoldEarned[team]} gold earned."
+ else
+ strings.push "Team '#{team}' has #{gold} gold."
+ @$el.attr 'title', strings.join ' '
onSetLetterbox: (e) ->
@$el.toggle not e.on if @shownOnce
diff --git a/app/views/play/level/modal/docs_modal.coffee b/app/views/play/level/modal/docs_modal.coffee
index 72aa6b8d0..9970b8916 100644
--- a/app/views/play/level/modal/docs_modal.coffee
+++ b/app/views/play/level/modal/docs_modal.coffee
@@ -8,7 +8,6 @@ utils = require 'lib/utils'
module.exports = class DocsModal extends View
template: template
id: 'docs-modal'
- plain: true
shortcuts:
'enter': 'hide'
diff --git a/app/views/play/level/tome/doc_formatter.coffee b/app/views/play/level/tome/doc_formatter.coffee
index 2d256c3ad..dab9a0ee8 100644
--- a/app/views/play/level/tome/doc_formatter.coffee
+++ b/app/views/play/level/tome/doc_formatter.coffee
@@ -83,7 +83,7 @@ module.exports = class DocFormatter
@doc.title = if @options.shortenize then @doc.shorterName else @doc.shortName
# Grab the language-specific documentation for some sub-properties, if we have it.
- toTranslate = [{obj: @doc, prop: 'example'}, {obj: @doc, prop: 'returns'}]
+ toTranslate = [{obj: @doc, prop: 'description'}, {obj: @doc, prop: 'example'}, {obj: @doc, prop: 'returns'}]
for arg in (@doc.args ? [])
toTranslate.push {obj: arg, prop: 'example'}, {obj: arg, prop: 'description'}
for {obj, prop} in toTranslate
diff --git a/app/views/play/level/tome/spell_debug_view.coffee b/app/views/play/level/tome/spell_debug_view.coffee
index 8d08dca71..e69fadc98 100644
--- a/app/views/play/level/tome/spell_debug_view.coffee
+++ b/app/views/play/level/tome/spell_debug_view.coffee
@@ -38,6 +38,8 @@ module.exports = class DebugView extends View
@lastFrameRequested = -1
@workerIsSimulating = false
@spellHasChanged = false
+ @currentFrame = 0
+ @frameRate = 10 #only time it won't be set is at very beginning
@debouncedTooltipUpdate = _.debounce @updateTooltipProgress, 100
pad2: (num) ->
diff --git a/app/views/play/level/tome/spell_list_tab_entry_view.coffee b/app/views/play/level/tome/spell_list_tab_entry_view.coffee
index 1938cc1e4..32d4682b1 100644
--- a/app/views/play/level/tome/spell_list_tab_entry_view.coffee
+++ b/app/views/play/level/tome/spell_list_tab_entry_view.coffee
@@ -18,6 +18,7 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
'click .spell-list-button': 'onDropdownClick'
'click .reload-code': 'onCodeReload'
'click .beautify-code': 'onBeautifyClick'
+ 'click .fullscreen-code': 'onFullscreenClick'
constructor: (options) ->
super options
@@ -86,6 +87,14 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
return unless @controlsEnabled
Backbone.Mediator.publish 'spell-beautify', spell: @spell
+ onFullscreenClick: ->
+ unless $('.fullscreen-code').hasClass 'maximized'
+ $('#code-area').addClass 'fullscreen-editor'
+ $('.fullscreen-code').addClass 'maximized'
+ else
+ $('#code-area').removeClass 'fullscreen-editor'
+ $('.fullscreen-code').removeClass 'maximized'
+
updateReloadButton: ->
changed = @spell.hasChanged null, @spell.getSource()
@$el.find('.reload-code').css('display', if changed then 'inline-block' else 'none')
diff --git a/app/views/play/level/tome/spell_palette_view.coffee b/app/views/play/level/tome/spell_palette_view.coffee
index 1924258e8..b2ace318b 100644
--- a/app/views/play/level/tome/spell_palette_view.coffee
+++ b/app/views/play/level/tome/spell_palette_view.coffee
@@ -57,6 +57,7 @@ module.exports = class SpellPaletteView extends View
allDocs = {}
for lc in lcs
for doc in (lc.get('propertyDocumentation') ? [])
+ continue if doc.codeLanguages and not (@options.language in doc.codeLanguages)
allDocs['__' + doc.name] ?= []
allDocs['__' + doc.name].push doc
if doc.type is 'snippet' then doc.owner = 'snippets'
@@ -83,7 +84,6 @@ module.exports = class SpellPaletteView extends View
'this': 'apiProperties'
count = 0
propGroups = {}
- console.log 'thang', @thang
for owner, storage of propStorage
props = _.reject @thang[storage] ? [], (prop) -> prop[0] is '_' # no private properties
added = propGroups[owner] = _.sortBy(props).slice()
diff --git a/app/views/play/level/tome/spell_view.coffee b/app/views/play/level/tome/spell_view.coffee
index 7c3114f59..745e3c9fe 100644
--- a/app/views/play/level/tome/spell_view.coffee
+++ b/app/views/play/level/tome/spell_view.coffee
@@ -599,6 +599,7 @@ module.exports = class SpellView extends View
null
highlightComments: ->
+ return # Slightly buggy and not that great, so let's not do it.
lines = $(@ace.container).find('.ace_text-layer .ace_line_group')
session = @aceSession
top = Math.floor @ace.renderer.getScrollTopRow()
diff --git a/app/views/play/level_view.coffee b/app/views/play/level_view.coffee
index 88b6955e6..70a93f6b2 100644
--- a/app/views/play/level_view.coffee
+++ b/app/views/play/level_view.coffee
@@ -274,13 +274,14 @@ module.exports = class PlayLevelView extends View
# Once Surface is Loaded ####################################################
onLevelStarted: ->
+ return unless @surface?
@loadingView.showReady()
if window.currentModal and not window.currentModal.destroyed
return Backbone.Mediator.subscribeOnce 'modal-closed', @onLevelStarted, @
@surface.showLevel()
if @otherSession
# TODO: colorize name and cloud by team, colorize wizard by user's color config
- @surface.createOpponentWizard id: @otherSession.get('creator'), name: @otherSession.get('creatorName'), team: @otherSession.get('team')
+ @surface.createOpponentWizard id: @otherSession.get('creator'), name: @otherSession.get('creatorName'), team: @otherSession.get('team'), levelSlug: @level.get('slug')
@loadingView?.unveil()
onLoadingViewUnveiled: (e) ->
diff --git a/app/views/play_view.coffee b/app/views/play_view.coffee
index 4db520f00..bd7a412e7 100644
--- a/app/views/play_view.coffee
+++ b/app/views/play_view.coffee
@@ -143,6 +143,14 @@ module.exports = class PlayView extends View
]
arenas = [
+ #{
+ # name: 'Criss-Cross'
+ # difficulty: 4
+ # id: 'criss-cross'
+ # image: '/file/db/level/528aea2d7f37fc4e0700016b/its_a_trap_icon.png'
+ # description: 'Participate in a bidding war with opponents to reach the other side!'
+ # levelPath: 'ladder'
+ #}
{
name: 'Greed'
difficulty: 4
@@ -248,6 +256,20 @@ module.exports = class PlayView extends View
image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png'
description: 'Collect a hundred mushrooms in just five lines of code - by Nathan Gossett'
}
+ {
+ name: 'Guide Everyone Home'
+ difficulty: 2
+ id: 'guide-everyone-home'
+ image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png'
+ description: 'Fetch the wizards teleporting into the area - by Nathan Gossett'
+ }
+ {
+ name: "Let's go Fly a Kite"
+ difficulty: 3
+ id: 'lets-go-fly-a-kite'
+ image: '/file/db/level/526711d9add4f8965f000002/hunter_triplets_icon.png'
+ description: 'There is a horde of ogres marching on your village. Stay out of reach and use your bow to take them out! - by Danny Whittaker'
+ }
]
context.campaigns = [
diff --git a/bower.json b/bower.json
index beb943ad0..e979e2f49 100644
--- a/bower.json
+++ b/bower.json
@@ -32,7 +32,7 @@
"firepad": "~0.1.2",
"marked": "~0.3.0",
"moment": "~2.5.0",
- "aether": "~0.2.9",
+ "aether": "~0.2.22",
"underscore.string": "~2.3.3",
"firebase": "~1.0.2",
"catiline": "~2.9.3",
@@ -44,7 +44,8 @@
"bootstrap": "~3.1.1",
"validated-backbone-mediator": "~0.1.3",
"jquery.browser": "~0.0.6",
- "zatanna": "~0.0.2"
+ "zatanna": "~0.0.2",
+ "modernizr": "~2.8.3"
},
"overrides": {
"backbone": {
@@ -81,6 +82,9 @@
"./dist/fonts/glyphicons-halflings-regular.ttf",
"./dist/fonts/glyphicons-halflings-regular.woff"
]
+ },
+ "modernizr": {
+ "main": "modernizr.js"
}
}
}
diff --git a/config.coffee b/config.coffee
index 697a621de..940a8e688 100644
--- a/config.coffee
+++ b/config.coffee
@@ -18,6 +18,7 @@ exports.config =
|(app[\/\\]lib[\/\\]utils.coffee)
|(vendor[\/\\]scripts[\/\\]Box2dWeb-2.1.a.3)
|(vendor[\/\\]scripts[\/\\]string_score.js)
+ |(bower_components[\/\\]underscore.string)
)///
'javascripts/app.js': /^app/
'javascripts/vendor.js': ///^(
diff --git a/package.json b/package.json
index 32568f23e..cba6e383e 100644
--- a/package.json
+++ b/package.json
@@ -65,7 +65,7 @@
"redis": "",
"webworker-threads": "~0.4.11",
"node-gyp": "~0.13.0",
- "aether": "~0.2.9",
+ "aether": "~0.2.22",
"JASON": "~0.1.3",
"JQDeferred": "~2.1.0"
},
diff --git a/scripts/mongodb/migrations/2014-07-09-name-conflicts.js b/scripts/mongodb/migrations/2014-07-09-name-conflicts.js
new file mode 100644
index 000000000..82c872052
--- /dev/null
+++ b/scripts/mongodb/migrations/2014-07-09-name-conflicts.js
@@ -0,0 +1,56 @@
+load('bower_components/lodash/dist/lodash.js');
+load('bower_components/underscore.string/dist/underscore.string.min.js');
+
+var slugs = {};
+var num = 0;
+
+var unconflictName;
+
+unconflictName = function(name) {
+ var otherUser, suffix;
+ otherUser = db.users.findOne({
+ slug: _.string.slugify(name)
+ });
+ if (!otherUser) {
+ return name;
+ }
+ suffix = _.random(0, 9) + '';
+ return unconflictName(name + suffix);
+};
+
+var params = {
+ name:1,
+ emails:1,
+ email:1,
+ slug:1,
+ dateCreated:1
+};
+
+db.users.find({anonymous:false}, params).sort({_id:1}).forEach(function (user) {
+ num += 1;
+ var slug = _.string.slugify(user.name);
+ if(!slug) return;
+ var update = {};
+ if(slugs[slug]) {
+ originalName = slugs[slug];
+ conflictingName = user.name;
+ availableName = unconflictName(conflictingName);
+ conflictingSlug = slug;
+ slug = _.string.slugify(availableName);
+ update.name = availableName;
+ update.nameLower = availableName.toLowerCase();
+ if (!(user.emails && user.emails.anyNotes === false))
+ db.changedEmails.insert({email:user.email, user:user._id, name:user.name});
+ print(_.str.sprintf('\n\n\tConflict! Username "%s" conflicts with "%s" (both sluggify to "%s"). Changing to "%s"\n\n\n',
+ conflictingName, originalName, conflictingSlug, availableName));
+ }
+ update.slug = slug;
+ slugs[slug] = user.name;
+ if(user.slug === slug) return;
+ print(_.str.sprintf('Setting user %s (%s) to slug %s with update %s', user.name, user.dateCreated, slug, JSON.stringify({$set:update})));
+ var res = db.users.update({_id:user._id}, {$set:update});
+ if(res.hasWriteError()) {
+ print("\n\n\n\n\n\n\n\n\n\nOH NOOOOOOOOO\n\n\n\n\n\n\n");
+ db.changedEmails.insert({email:user.email, user:user._id, name:user.name, error:true});
+ }
+});
\ No newline at end of file
diff --git a/server.coffee b/server.coffee
index 9b3df86ac..2a802d848 100644
--- a/server.coffee
+++ b/server.coffee
@@ -12,7 +12,7 @@ module.exports.startServer = ->
app = createAndConfigureApp()
http.createServer(app).listen(app.get('port'))
log.info('Express SSL server listening on port ' + app.get('port'))
- return app
+ app
createAndConfigureApp = ->
serverSetup.setupLogging()
@@ -24,4 +24,3 @@ createAndConfigureApp = ->
serverSetup.setupMiddleware app
serverSetup.setupRoutes app
app
-
diff --git a/server/levels/components/level_component_handler.coffee b/server/levels/components/level_component_handler.coffee
index 810fa3e86..0dd44ec4a 100644
--- a/server/levels/components/level_component_handler.coffee
+++ b/server/levels/components/level_component_handler.coffee
@@ -21,8 +21,4 @@ LevelComponentHandler = class LevelComponentHandler extends Handler
props.push('official') if req.user?.isAdmin()
props
- hasAccess: (req) ->
- req.method is 'GET' or req.user?.isAdmin()
-
-
module.exports = new LevelComponentHandler()
diff --git a/server/patches/patch_handler.coffee b/server/patches/patch_handler.coffee
index db32415db..0226e18c4 100644
--- a/server/patches/patch_handler.coffee
+++ b/server/patches/patch_handler.coffee
@@ -79,7 +79,7 @@ PatchHandler = class PatchHandler extends Handler
return unless watchers?.length
User.find({_id: {$in: watchers}}).select({email: 1, name: 1}).exec (err, watchers) =>
for watcher in watchers
- @sendPatchCreatedEmail req.user, watcher, doc, doc.targetLoaded, req.body.editPath
+ @sendPatchCreatedEmail req.user, watcher, doc, doc.targetLoaded, req.headers['x-current-path']
sendPatchCreatedEmail: (patchCreator, watcher, patch, target, editPath) ->
# return if watcher._id is patchCreator._id
diff --git a/server/plugins/plugins.coffee b/server/plugins/plugins.coffee
index 7dcb5705d..e609de90a 100644
--- a/server/plugins/plugins.coffee
+++ b/server/plugins/plugins.coffee
@@ -42,9 +42,12 @@ module.exports.NamedPlugin = (schema) ->
err.response = {message: ' is a reserved name', property: 'name'}
err.code = 422
return next(err)
- if newSlug isnt @get('slug')
+ if newSlug not in [@get('slug'), ''] and not @get 'anonymous'
@set('slug', newSlug)
@checkSlugConflicts(next)
+ else if newSlug is '' and @get 'slug'
+ @set 'slug', undefined
+ next()
else
next()
)
diff --git a/server/queues/scoring.coffee b/server/queues/scoring.coffee
index 4a57234c1..b92fe5017 100644
--- a/server/queues/scoring.coffee
+++ b/server/queues/scoring.coffee
@@ -5,7 +5,6 @@ async = require 'async'
errors = require '../commons/errors'
aws = require 'aws-sdk'
db = require './../routes/db'
-mongoose = require 'mongoose'
queues = require '../commons/queue'
LevelSession = require '../levels/sessions/LevelSession'
Level = require '../levels/Level'
@@ -21,7 +20,7 @@ module.exports.setup = (app) -> connectToScoringQueue()
connectToScoringQueue = ->
queues.initializeQueueClient ->
queues.queueClient.registerQueue 'scoring', {}, (error, data) ->
- if error? then throw new Error "There was an error registering the scoring queue: #{error}"
+ if error? then throw new Error "There was an error registering the scoring queue: #{error}"
scoringTaskQueue = data
log.info 'Connected to scoring task queue!'
@@ -125,11 +124,12 @@ module.exports.getTwoGames = (req, res) ->
#if userIsAnonymous req then return errors.unauthorized(res, 'You need to be logged in to get games.')
humansGameID = req.body.humansGameID
ogresGameID = req.body.ogresGameID
-
+ ladderGameIDs = ['greed', 'criss-cross', 'brawlwood', 'dungeon-arena', 'gold-rush']
+ levelID = _.sample ladderGameIDs
unless ogresGameID and humansGameID
#fetch random games here
queryParams =
- 'levelID': 'greed'
+ 'levelID': levelID
'submitted': true
'team': 'humans'
selection = 'team totalScore transpiledCode submittedCodeLanguage teamSpells levelID creatorName creator submitDate'
@@ -140,7 +140,7 @@ module.exports.getTwoGames = (req, res) ->
return res.end()
humanSkipCount = Math.floor(Math.random() * numberOfHumans)
ogreCountParams =
- 'levelID': 'greed'
+ 'levelID': levelID
'submitted': true
'team': 'ogres'
LevelSession.count ogreCountParams, (err, numberOfOgres) =>
@@ -161,7 +161,7 @@ module.exports.getTwoGames = (req, res) ->
if err? then return errors.serverError(res, "Couldn't select a random session! #{err}")
randomSession = randomSession[0]
queryParams =
- 'levelID': 'greed'
+ 'levelID': levelID
'submitted': true
'team': 'ogres'
query = LevelSession
@@ -545,7 +545,6 @@ saveNewScoresToDatabase = (newScoreArray, callback) ->
#log.info 'Saved new scores to database'
callback err, newScoreArray
-
updateScoreInSession = (scoreObject, callback) ->
LevelSession.findOne {'_id': scoreObject.id}, (err, session) ->
if err? then return callback err, null
diff --git a/server/queues/sendwithus.coffee b/server/queues/sendwithus.coffee
deleted file mode 100644
index e69de29bb..000000000
diff --git a/server/routes/auth.coffee b/server/routes/auth.coffee
index 5c3298f44..25c67e778 100644
--- a/server/routes/auth.coffee
+++ b/server/routes/auth.coffee
@@ -159,15 +159,11 @@ module.exports.setup = (app) ->
module.exports.loginUser = loginUser = (req, res, user, send=true, next=null) ->
user.save((err) ->
- if err
- return @sendDatabaseError(res, err)
+ return errors.serverError res, err if err?
req.logIn(user, (err) ->
- if err
- return @sendDatabaseError(res, err)
-
- if send
- return @sendSuccess(res, user)
+ return errors.serverError res, err if err?
+ return res.send user if send
next() if next
)
)
diff --git a/server/routes/mail.coffee b/server/routes/mail.coffee
index f5885a38a..4fdcef128 100644
--- a/server/routes/mail.coffee
+++ b/server/routes/mail.coffee
@@ -1,34 +1,17 @@
mail = require '../commons/mail'
User = require '../users/User'
errors = require '../commons/errors'
-#request = require 'request'
config = require '../../server_config'
LevelSession = require '../levels/sessions/LevelSession'
Level = require '../levels/Level'
log = require 'winston'
sendwithus = require '../sendwithus'
-#badLog = (text) ->
-# console.log text
-# request.post 'http://requestb.in/1brdpaz1', { form: {log: text} }
module.exports.setup = (app) ->
app.all config.mail.mailchimpWebhook, handleMailchimpWebHook
app.get '/mail/cron/ladder-update', handleLadderUpdate
-
-getAllLadderScores = (next) ->
- query = Level.find({type: 'ladder'})
- .select('levelID')
- .lean()
- query.exec (err, levels) ->
- if err
- log.error 'Couldn\'t fetch ladder levels. Error: ', err
- return next []
- for level in levels
- for team in ['humans', 'ogres']
- 'I ... am not doing this.'
- # Query to get sessions to make histogram
- # db.level.sessions.find({'submitted': true, 'levelID': 'brawlwood', team: 'ogres'}, {'_id': 0, 'totalScore': 1})
+
DEBUGGING = false
LADDER_PREGAME_INTERVAL = 2 * 3600 * 1000 # Send emails two hours before players last submitted.
@@ -95,14 +78,10 @@ sendLadderUpdateEmail = (session, now, daysAgo) ->
matches = _.filter session.matches, (match) -> match.date >= getTimeFromDaysAgo now, daysAgo
defeats = _.filter matches, (match) -> match.metrics.rank is 1 and match.opponents[0].metrics.rank is 0
victories = _.filter matches, (match) -> match.metrics.rank is 0 and match.opponents[0].metrics.rank is 1
- #ties = _.filter matches, (match) -> match.metrics.rank is 0 and match.opponents[0].metrics.rank is 0
+
defeat = _.last defeats
victory = _.last victories
- #log.info "#{user.name} had #{matches.length} matches from last #{daysAgo} days out of #{session.matches.length} total matches. #{defeats.length} defeats, #{victories.length} victories, and #{ties.length} ties."
- #matchInfos = ("\t#{match.date}\t#{match.date >= getTimeFromDaysAgo(now, daysAgo)}\t#{match.metrics.rank}\t#{match.opponents[0].metrics.rank}" for match in session.matches)
- #log.info "Matches:\n#{matchInfos.join('\n')}"
-
sendEmail = (defeatContext, victoryContext) ->
# TODO: do something with the preferredLanguage?
context =
@@ -174,7 +153,6 @@ getScoreHistoryGraphURL = (session, daysAgo) ->
handleMailchimpWebHook = (req, res) ->
post = req.body
- #badLog("Got post data: #{JSON.stringify(post, null, '\t')}")
unless post.type in ['unsubscribe', 'profile']
res.send 'Bad post type'
@@ -213,11 +191,8 @@ module.exports.handleProfileUpdate = handleProfileUpdate = (user, post) ->
user.set 'mailChimp.email', post.data.email
user.set 'mailChimp.euid', post.data.id
-# badLog("Updating user object to: #{JSON.stringify(user.toObject(), null, '\t')}")
module.exports.handleUnsubscribe = handleUnsubscribe = (user) ->
user.set 'emailSubscriptions', []
for emailGroup in mail.NEWS_GROUPS
user.setEmailSubscription emailGroup, false
-
-# badLog("Unsubscribing user object to: #{JSON.stringify(user.toObject(), null, '\t')}")
diff --git a/server/users/User.coffee b/server/users/User.coffee
index cc9c3e8fe..501f6286c 100644
--- a/server/users/User.coffee
+++ b/server/users/User.coffee
@@ -4,6 +4,7 @@ crypto = require 'crypto'
{salt, isProduction} = require '../../server_config'
mail = require '../commons/mail'
log = require 'winston'
+plugins = require '../plugins/plugins'
sendwithus = require '../sendwithus'
@@ -29,6 +30,9 @@ UserSchema.methods.isAdmin = ->
p = @get('permissions')
return p and 'admin' in p
+UserSchema.methods.isAnonymous = ->
+ @get 'anonymous'
+
UserSchema.methods.trackActivity = (activityName, increment) ->
now = new Date()
increment ?= parseInt increment or 1
@@ -136,6 +140,29 @@ UserSchema.methods.incrementStat = (statName, done, inc=1) ->
@set statName, (@get(statName) or 0) + inc
@save (err) -> done err if done?
+UserSchema.statics.unconflictName = unconflictName = (name, done) ->
+ User.findOne {slug: _.str.slugify(name)}, (err, otherUser) ->
+ return done err if err?
+ return done null, name unless otherUser
+ suffix = _.random(0, 9) + ''
+ unconflictName name + suffix, done
+
+UserSchema.methods.register = (done) ->
+ @set('anonymous', false)
+ @set('permissions', ['admin']) if not isProduction
+ if (name = @get 'name')? and name isnt ''
+ unconflictName name, (err, uniqueName) =>
+ return done err if err
+ @set 'name', uniqueName
+ done()
+ else done()
+ data =
+ email_id: sendwithus.templates.welcome_email
+ recipient:
+ address: @get 'email'
+ sendwithus.api.send data, (err, result) ->
+ log.error "sendwithus post-save error: #{err}, result: #{result}" if err
+
UserSchema.pre('save', (next) ->
@set('emailLower', @get('email')?.toLowerCase())
@set('nameLower', @get('name')?.toLowerCase())
@@ -143,16 +170,10 @@ UserSchema.pre('save', (next) ->
if @get('password')
@set('passwordHash', User.hashPassword(pwd))
@set('password', undefined)
- if @get('email') and @get('anonymous')
- @set('anonymous', false)
- @set('permissions', ['admin']) if not isProduction
- data =
- email_id: sendwithus.templates.welcome_email
- recipient:
- address: @get 'email'
- sendwithus.api.send data, (err, result) ->
- log.error "sendwithus post-save error: #{err}, result: #{result}" if err
- next()
+ if @get('email') and @get('anonymous') # a user registers
+ @register next
+ else
+ next()
)
UserSchema.post 'save', (doc) ->
@@ -164,6 +185,8 @@ UserSchema.statics.hashPassword = (password) ->
shasum.update(salt + password)
shasum.digest('hex')
+UserSchema.plugin plugins.NamedPlugin
+
module.exports = User = mongoose.model('User', UserSchema)
AchievablePlugin = require '../plugins/achievements'
diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee
index 50b4d245e..703914b77 100644
--- a/server/users/user_handler.coffee
+++ b/server/users/user_handler.coffee
@@ -104,7 +104,8 @@ UserHandler = class UserHandler extends Handler
return callback(null, req, user) unless req.body.name
nameLower = req.body.name?.toLowerCase()
return callback(null, req, user) unless nameLower
- return callback(null, req, user) if nameLower is user.get('nameLower') and not user.get('anonymous')
+ return callback(null, req, user) if user.get 'anonymous' # anonymous users can have any name
+ return callback(null, req, user) if nameLower is user.get('nameLower')
User.findOne({nameLower: nameLower, anonymous: false}).exec (err, otherUser) ->
log.error "Database error setting user name: #{err}" if err
return callback(res: 'Database error.', code: 500) if err
@@ -116,7 +117,7 @@ UserHandler = class UserHandler extends Handler
]
getById: (req, res, id) ->
- if req.user?._id.equals(id)
+ if Handler.isID(id) and req.user?._id.equals(id)
return @sendSuccess(res, @formatEntity(req, req.user, 256))
super(req, res, id)
@@ -221,6 +222,8 @@ UserHandler = class UserHandler extends Handler
photoURL = document?.get('photoURL')
if photoURL
photoURL = "/file/#{photoURL}"
+ else if req.query.employerPageAvatar is "true"
+ photoURL = @buildGravatarURL document, req.query.s, "/images/pages/employer/anon_user.png"
else
photoURL = @buildGravatarURL document, req.query.s, req.query.fallback
res.redirect photoURL
diff --git a/test/server/functional/level_component.spec.coffee b/test/server/functional/level_component.spec.coffee
index d34ec82cb..697c14df7 100644
--- a/test/server/functional/level_component.spec.coffee
+++ b/test/server/functional/level_component.spec.coffee
@@ -21,14 +21,8 @@ describe 'LevelComponent', ->
expect(err).toBeNull()
done()
- it 'can\'t be created by ordinary users.', (done) ->
+ it 'can be created by ordinary users.', (done) ->
loginJoe ->
- request.post {uri: url, json: component}, (err, res, body) ->
- expect(res.statusCode).toBe(403)
- done()
-
- it 'can be created by an admin.', (done) ->
- loginAdmin ->
request.post {uri: url, json: component}, (err, res, body) ->
expect(res.statusCode).toBe(200)
expect(body._id).toBeDefined()
@@ -105,7 +99,8 @@ describe 'LevelComponent', ->
components[0].official = true
loginJoe ->
request.post {uri: url, json: components[0]}, (err, res, body) ->
- expect(res.statusCode).toBe(403)
+ expect(res.statusCode).toBe(200)
+ expect(body.official).toBe(false)
done()
it 'official property is editable by an admin.', (done) ->
diff --git a/test/server/functional/user.spec.coffee b/test/server/functional/user.spec.coffee
index f804776b9..ec6cc84a0 100644
--- a/test/server/functional/user.spec.coffee
+++ b/test/server/functional/user.spec.coffee
@@ -44,7 +44,7 @@ describe 'User.updateMailChimp', ->
describe 'POST /db/user', ->
- createAnonNameUser = (done)->
+ createAnonNameUser = (name, done)->
request.post getURL('/auth/logout'), ->
request.get getURL('/auth/whoami'), ->
req = request.post(getURL('/db/user'), (err, response) ->
@@ -52,11 +52,11 @@ describe 'POST /db/user', ->
request.get getURL('/auth/whoami'), (request, response, body) ->
res = JSON.parse(response.body)
expect(res.anonymous).toBeTruthy()
- expect(res.name).toEqual('Jim')
+ expect(res.name).toEqual(name)
done()
)
form = req.form()
- form.append('name', 'Jim')
+ form.append('name', name)
it 'preparing test : clears the db first', (done) ->
clearModels [User], (err) ->
@@ -105,30 +105,18 @@ describe 'POST /db/user', ->
done()
it 'should allow setting anonymous user name', (done) ->
- createAnonNameUser(done)
+ createAnonNameUser('Jim', done)
it 'should allow multiple anonymous users with same name', (done) ->
- createAnonNameUser(done)
-
-
- it 'should not allow setting existing user name to anonymous user', (done) ->
-
- createAnonUser = ->
- request.post getURL('/auth/logout'), ->
- request.get getURL('/auth/whoami'), ->
- req = request.post(getURL('/db/user'), (err, response) ->
- expect(response.statusCode).toBe(409)
- done()
- )
- form = req.form()
- form.append('name', 'Jim')
+ createAnonNameUser('Jim', done)
+ it 'should allow setting existing user name to anonymous user', (done) ->
req = request.post(getURL('/db/user'), (err, response, body) ->
expect(response.statusCode).toBe(200)
request.get getURL('/auth/whoami'), (request, response, body) ->
res = JSON.parse(response.body)
expect(res.anonymous).toBeFalsy()
- createAnonUser()
+ createAnonNameUser 'Jim', done
)
form = req.form()
form.append('email', 'new@user.com')
@@ -213,6 +201,55 @@ ghlfarghlarghlfarghlarghlfarghlarghlfarghlarghlfarghlarghlfarghlarghlfarghlarghl
form.append('email', 'New@email.com')
form.append('name', 'Wilhelm')
+ it 'should not allow two users with the same name slug', (done) ->
+ loginSam (sam) ->
+ samsName = sam.get 'name'
+ sam.set 'name', 'admin'
+ request.put {uri:getURL(urlUser + '/' + sam.id), json: sam.toObject()}, (err, response) ->
+ expect(err).toBeNull()
+ expect(response.statusCode).toBe 409
+
+ # Restore Sam
+ sam.set 'name', samsName
+ done()
+
+ it 'should silently rename an anonymous user if their name conflicts upon signup', (done) ->
+ request.post getURL('/auth/logout'), ->
+ request.get getURL('/auth/whoami'), ->
+ req = request.post getURL('/db/user'), (err, response) ->
+ expect(response.statusCode).toBe(200)
+ request.get getURL('/auth/whoami'), (err, response) ->
+ expect(err).toBeNull()
+ guy = JSON.parse(response.body)
+ expect(guy.anonymous).toBeTruthy()
+ expect(guy.name).toEqual 'admin'
+
+ guy.email = 'blub@blub' # Email means registration
+ req = request.post {url: getURL('/db/user'), json: guy}, (err, response) ->
+ expect(err).toBeNull()
+ finalGuy = response.body
+ expect(finalGuy.anonymous).toBeFalsy()
+ expect(finalGuy.name).not.toEqual guy.name
+ expect(finalGuy.name.length).toBe guy.name.length + 1
+ done()
+ form = req.form()
+ form.append('name', 'admin')
+
+ it 'should be able to unset a slug by setting an empty name', (done) ->
+ loginSam (sam) ->
+ samsName = sam.get 'name'
+ sam.set 'name', ''
+ request.put {uri:getURL(urlUser + '/' + sam.id), json: sam.toObject()}, (err, response) ->
+ expect(err).toBeNull()
+ expect(response.statusCode).toBe 200
+ newSam = response.body
+
+ # Restore Sam
+ sam.set 'name', samsName
+ request.put {uri:getURL(urlUser + '/' + sam.id), json: sam.toObject()}, (err, response) ->
+ expect(err).toBeNull()
+ done()
+
describe 'GET /db/user', ->
it 'logs in as admin', (done) ->
@@ -268,6 +305,28 @@ describe 'GET /db/user', ->
done()
)
+ it 'can fetch myself by id completely', (done) ->
+ loginSam (sam) ->
+ request.get {url: getURL(urlUser + '/' + sam.id)}, (err, response) ->
+ expect(err).toBeNull()
+ expect(response.statusCode).toBe(200)
+ done()
+
+ it 'can fetch myself by slug completely', (done) ->
+ loginSam (sam) ->
+ request.get {url: getURL(urlUser + '/sam')}, (err, response) ->
+ expect(err).toBeNull()
+ expect(response.statusCode).toBe(200)
+ guy = JSON.parse response.body
+ expect(guy._id).toBe sam.get('_id').toHexString()
+ expect(guy.name).toBe sam.get 'name'
+ done()
+
+ # TODO Ruben should be able to fetch other users but probably with restricted data access
+ # Add to the test case above an extra data check
+
+ xit 'can fetch another user with restricted fields'
+
describe 'Statistics', ->
LevelSession = require '../../../server/levels/sessions/LevelSession'
Article = require '../../../server/articles/Article'
@@ -391,6 +450,3 @@ describe 'Statistics', ->
expect(err).toBeNull()
done()
-
-
-