Merge branch 'master' into production

This commit is contained in:
Nick Winter 2014-03-26 12:13:14 -07:00
commit b890fc6cab
143 changed files with 1899 additions and 722 deletions

View file

@ -27,8 +27,8 @@ Whether you're novice or pro, the CodeCombat team is ready to help you implement
![Nick Winter](http://codecombat.com/images/pages/about/nick_small.png) ![Nick Winter](http://codecombat.com/images/pages/about/nick_small.png)
![Michael Schmatz](http://codecombat.com/images/pages/about/michael_small.png) ![Michael Schmatz](http://codecombat.com/images/pages/about/michael_small.png)
![Jeremy Arns](http://codecombat.com/images/pages/about/jeremy_small.png) ![Jeremy Arns](http://codecombat.com/images/pages/about/jeremy_small.png)
![Glen De Cauwsemaecker](http://codecombat.com/images/pages/about/glen_small.png)
![Tom Steinbrecher](http://codecombat.com/images/pages/contribute/archmage/tom_small.png) ![Tom Steinbrecher](http://codecombat.com/images/pages/contribute/archmage/tom_small.png)
![Glen De Cauwsemaecker](http://codecombat.com/images/pages/contribute/archmage/glen_small.png)
![Sébastien Moratinos](http://codecombat.com/images/pages/contribute/archmage/sebastien_small.png) ![Sébastien Moratinos](http://codecombat.com/images/pages/contribute/archmage/sebastien_small.png)
![deepak1556](http://codecombat.com/images/pages/contribute/archmage/deepak_small.png) ![deepak1556](http://codecombat.com/images/pages/contribute/archmage/deepak_small.png)
![Ronnie Cheng](http://codecombat.com/images/pages/contribute/archmage/ronald_small.png) ![Ronnie Cheng](http://codecombat.com/images/pages/contribute/archmage/ronald_small.png)

View file

@ -74,6 +74,7 @@
<script> <script>
// Additional JS functions here // Additional JS functions here
window.fbAsyncInit = function() { window.fbAsyncInit = function() {
Backbone.Mediator.publish('fbapi-loaded')
FB.init({ FB.init({
appId : document.location.origin === 'http://localhost:3000' ? '607435142676437' : '148832601965463', // App ID appId : document.location.origin === 'http://localhost:3000' ? '607435142676437' : '148832601965463', // App ID
channelUrl : document.location.origin +'/channel.html', // Channel File channelUrl : document.location.origin +'/channel.html', // Channel File

View file

@ -2,6 +2,7 @@
utils = require './utils' utils = require './utils'
classCount = 0 classCount = 0
makeScopeName = -> "class-scope-#{classCount++}" makeScopeName = -> "class-scope-#{classCount++}"
doNothing = ->
module.exports = class CocoClass module.exports = class CocoClass
subscriptions: {} subscriptions: {}
@ -25,7 +26,8 @@ module.exports = class CocoClass
@stopListeningToShortcuts() @stopListeningToShortcuts()
@[key] = undefined for key of @ @[key] = undefined for key of @
@destroyed = true @destroyed = true
@destroy = -> @off = doNothing
@destroy = doNothing
# subscriptions # subscriptions

View file

@ -7,7 +7,7 @@ World = require 'lib/world/world'
# Also uncomment vendor_with_box2d.js in index.html if you want Collision to run and things to move. # Also uncomment vendor_with_box2d.js in index.html if you want Collision to run and things to move.
module.exports = class God module.exports = class God
@ids: ['Athena', 'Baldr', 'Crom', 'Dagr', 'Eris', 'Freyja', 'Great Gish', 'Hades', 'Ishtar', 'Janus', 'Khronos', 'Loki', 'Marduk', 'Negafook', 'Odin', 'Poseidon', 'Quetzalcoatl', 'Ra', 'Shiva', 'Thor', 'Umvelinqangi', 'Týr', 'Vishnu', 'Wepwawet', 'Xipe Totec', 'Yahweh', 'Zeus', '上帝', 'Tiamat', '盘古', 'Phoebe', 'Artemis', 'Osiris', "嫦娥", 'Anhur', 'Teshub', 'Enlil', 'Perkele', 'Aether', 'Chaos', 'Hera', 'Iris', 'Theia', 'Uranus', 'Stribog', 'Sabazios', 'Izanagi', 'Ao', 'Tāwhirimātea', 'Tengri', 'Inmar', 'Torngarsuk', 'Centzonhuitznahua', 'Hunab Ku', 'Apollo', 'Helios', 'Thoth', 'Hyperion', 'Alectrona', 'Eos', 'Mitra', 'Saranyu', 'Freyr', 'Koyash', 'Atropos', 'Clotho', 'Lachesis', 'Tyche', 'Skuld', 'Urðr', 'Verðandi', 'Camaxtli', 'Huhetotl', 'Set', 'Anu', 'Allah', 'Anshar', 'Hermes', 'Lugh', 'Brigit', 'Manannan Mac Lir', 'Persephone', 'Mercury', 'Venus', 'Mars', 'Azrael', 'He-Man', 'Anansi', 'Issek', 'Mog', 'Kos', 'Amaterasu Omikami', 'Raijin', 'Susanowo', 'Blind Io', 'The Lady', 'Offler', 'Ptah', 'Anubis', 'Ereshkigal', 'Nergal', 'Thanatos', 'Macaria', 'Angelos', 'Erebus', 'Hecate', 'Hel', 'Orcus', 'Ishtar-Deela Nakh', 'Prometheus', 'Hephaestos', 'Sekhmet', 'Ares', 'Enyo', 'Otrera', 'Pele', 'Hadúr', 'Hachiman', 'Dayisun Tngri', 'Ullr', 'Lua', 'Minerva'] @ids: ['Athena', 'Baldr', 'Crom', 'Dagr', 'Eris', 'Freyja', 'Great Gish', 'Hades', 'Ishtar', 'Janus', 'Khronos', 'Loki', 'Marduk', 'Negafook', 'Odin', 'Poseidon', 'Quetzalcoatl', 'Ra', 'Shiva', 'Thor', 'Umvelinqangi', 'Týr', 'Vishnu', 'Wepwawet', 'Xipe Totec', 'Yahweh', 'Zeus', '上帝', 'Tiamat', '盘古', 'Phoebe', 'Artemis', 'Osiris', "嫦娥", 'Anhur', 'Teshub', 'Enlil', 'Perkele', 'Chaos', 'Hera', 'Iris', 'Theia', 'Uranus', 'Stribog', 'Sabazios', 'Izanagi', 'Ao', 'Tāwhirimātea', 'Tengri', 'Inmar', 'Torngarsuk', 'Centzonhuitznahua', 'Hunab Ku', 'Apollo', 'Helios', 'Thoth', 'Hyperion', 'Alectrona', 'Eos', 'Mitra', 'Saranyu', 'Freyr', 'Koyash', 'Atropos', 'Clotho', 'Lachesis', 'Tyche', 'Skuld', 'Urðr', 'Verðandi', 'Camaxtli', 'Huhetotl', 'Set', 'Anu', 'Allah', 'Anshar', 'Hermes', 'Lugh', 'Brigit', 'Manannan Mac Lir', 'Persephone', 'Mercury', 'Venus', 'Mars', 'Azrael', 'He-Man', 'Anansi', 'Issek', 'Mog', 'Kos', 'Amaterasu Omikami', 'Raijin', 'Susanowo', 'Blind Io', 'The Lady', 'Offler', 'Ptah', 'Anubis', 'Ereshkigal', 'Nergal', 'Thanatos', 'Macaria', 'Angelos', 'Erebus', 'Hecate', 'Hel', 'Orcus', 'Ishtar-Deela Nakh', 'Prometheus', 'Hephaestos', 'Sekhmet', 'Ares', 'Enyo', 'Otrera', 'Pele', 'Hadúr', 'Hachiman', 'Dayisun Tngri', 'Ullr', 'Lua', 'Minerva']
@nextID: -> @nextID: ->
@lastID = (if @lastID? then @lastID + 1 else Math.floor(@ids.length * Math.random())) % @ids.length @lastID = (if @lastID? then @lastID + 1 else Math.floor(@ids.length * Math.random())) % @ids.length
@ids[@lastID] @ids[@lastID]
@ -52,7 +52,7 @@ module.exports = class God
onWorkerMessage: (event) => onWorkerMessage: (event) =>
worker = event.target worker = event.target
if event.data.type is 'worker-initialized' if event.data.type is 'worker-initialized'
#console.log "Worker initialized after", ((new Date()) - worker.creationTime), "ms (before it was needed)" #console.log @id, "worker initialized after", ((new Date()) - worker.creationTime), "ms (before it was needed)"
worker.initialized = true worker.initialized = true
worker.removeEventListener 'message', @onWorkerMessage worker.removeEventListener 'message', @onWorkerMessage

View file

@ -32,7 +32,7 @@ module.exports = class LevelBus extends Bus
@fireScriptsRef = @fireRef?.child('scripts') @fireScriptsRef = @fireRef?.child('scripts')
setSession: (@session) -> setSession: (@session) ->
@session.on 'change:multiplayer', @onMultiplayerChanged, @ @listenTo(@session, 'change:multiplayer', @onMultiplayerChanged)
onPoint: -> onPoint: ->
return true unless @session?.get('multiplayer') return true unless @session?.get('multiplayer')
@ -226,5 +226,4 @@ module.exports = class LevelBus extends Bus
tempSession.save(patch, {patch: true}) tempSession.save(patch, {patch: true})
destroy: -> destroy: ->
@session.off 'change:multiplayer', @onMultiplayerChanged, @
super() super()

View file

@ -60,13 +60,13 @@ module.exports = class LevelLoader extends CocoClass
# Unless you specify cache:false, sometimes the browser will use a cached session # Unless you specify cache:false, sometimes the browser will use a cached session
# and players will 'lose' code # and players will 'lose' code
@session.fetch({cache:false}) @session.fetch({cache:false})
@session.once 'sync', @onSessionLoaded, @ @listenToOnce(@session, 'sync', @onSessionLoaded)
if @opponentSessionID if @opponentSessionID
@opponentSession = new LevelSession() @opponentSession = new LevelSession()
@opponentSession.url = "/db/level_session/#{@opponentSessionID}" @opponentSession.url = "/db/level_session/#{@opponentSessionID}"
@opponentSession.fetch() @opponentSession.fetch()
@opponentSession.once 'sync', @onSessionLoaded, @ @listenToOnce(@opponentSession, 'sync', @onSessionLoaded)
sessionsLoaded: -> sessionsLoaded: ->
return true if @headless return true if @headless
@ -82,8 +82,8 @@ module.exports = class LevelLoader extends CocoClass
# Supermodel (Level) Loading # Supermodel (Level) Loading
loadLevelModels: -> loadLevelModels: ->
@supermodel.on 'loaded-one', @onSupermodelLoadedOne, @ @listenTo(@supermodel, 'loaded-one', @onSupermodelLoadedOne)
@supermodel.once 'error', @onSupermodelError, @ @listenToOnce(@supermodel, 'error', @onSupermodelError)
@level = @supermodel.getModel(Level, @levelID) or new Level _id: @levelID @level = @supermodel.getModel(Level, @levelID) or new Level _id: @levelID
levelID = @levelID levelID = @levelID
headless = @headless headless = @headless
@ -233,9 +233,3 @@ module.exports = class LevelLoader extends CocoClass
@initWorld() if @allDone() @initWorld() if @allDone()
@trigger 'progress' @trigger 'progress'
@trigger 'loaded-all' if @progress() is 1 @trigger 'loaded-all' if @progress() is 1
destroy: ->
@supermodel.off 'loaded-one', @onSupermodelLoadedOne
@world = null # don't hold onto garbage
@update = null
super()

View file

@ -58,7 +58,7 @@ init = ->
storage.save(CURRENT_USER_KEY, me.attributes) storage.save(CURRENT_USER_KEY, me.attributes)
me.loadGravatarProfile() if me.get('email') me.loadGravatarProfile() if me.get('email')
me.on('sync', userSynced) Backbone.listenTo(me, 'sync', userSynced)
userSynced = (user) -> userSynced = (user) ->
Backbone.Mediator.publish('me:synced', {me:user}) Backbone.Mediator.publish('me:synced', {me:user})

View file

@ -44,13 +44,21 @@ module.exports = class Simulator extends CocoClass
return @handleNoGamesResponse() if jqXHR.status is 204 return @handleNoGamesResponse() if jqXHR.status is 204
@trigger 'statusUpdate', 'Setting up simulation!' @trigger 'statusUpdate', 'Setting up simulation!'
@task = new SimulationTask(taskData) @task = new SimulationTask(taskData)
try
levelID = @task.getLevelName()
catch err
console.error err
@trigger 'statusUpdate', "Error simulating game: #{err}. Trying another game in #{@retryDelayInSeconds} seconds."
@simulateAnotherTaskAfterDelay()
return
@supermodel ?= new SuperModel() @supermodel ?= new SuperModel()
@god = new God maxWorkerPoolSize: 1, maxAngels: 1 # Start loading worker. @god = new God maxWorkerPoolSize: 1, maxAngels: 1 # Start loading worker.
@levelLoader = new LevelLoader supermodel: @supermodel, levelID: @task.getLevelName(), sessionID: @task.getFirstSessionID(), headless: true @levelLoader = new LevelLoader supermodel: @supermodel, levelID: levelID, sessionID: @task.getFirstSessionID(), headless: true
@levelLoader.once 'loaded-all', @simulateGame @listenToOnce(@levelLoader, 'loaded-all', @simulateGame)
simulateGame: => simulateGame: ->
return if @destroyed return if @destroyed
@trigger 'statusUpdate', 'All resources loaded, simulating!', @task.getSessions() @trigger 'statusUpdate', 'All resources loaded, simulating!', @task.getSessions()
@assignWorldAndLevelFromLevelLoaderAndDestroyIt() @assignWorldAndLevelFromLevelLoaderAndDestroyIt()
@ -81,8 +89,14 @@ module.exports = class Simulator extends CocoClass
commenceSimulationAndSetupCallback: -> commenceSimulationAndSetupCallback: ->
@god.createWorld() @god.createWorld()
Backbone.Mediator.subscribeOnce 'god:infinite-loop', @onInfiniteLoop, @
Backbone.Mediator.subscribeOnce 'god:new-world-created', @processResults, @ Backbone.Mediator.subscribeOnce 'god:new-world-created', @processResults, @
onInfiniteLoop: ->
console.warn "Skipping infinitely looping game."
@trigger 'statusUpdate', "Infinite loop detected; grabbing a new game in #{@retryDelayInSeconds} seconds."
_.delay @cleanupAndSimulateAnotherTask, @retryDelayInMilliseconds
processResults: (simulationResults) -> processResults: (simulationResults) ->
taskResults = @formTaskResultsObject simulationResults taskResults = @formTaskResultsObject simulationResults
@sendResultsBackToServer taskResults @sendResultsBackToServer taskResults

View file

@ -307,7 +307,6 @@ module.exports = class Camera extends CocoClass
destroy: -> destroy: ->
createjs.Tween.removeTweens @ createjs.Tween.removeTweens @
@finishTween = null
super() super()
onZoomTo: (pos, time) -> onZoomTo: (pos, time) ->

View file

@ -35,6 +35,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
spriteSheetCache: null spriteSheetCache: null
showInvisible: false showInvisible: false
possessed: false
flipped: false flipped: false
flippedCount: 0 flippedCount: 0
originalScaleX: null originalScaleX: null
@ -54,6 +55,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
'level-sprite-clear-dialogue': 'onClearDialogue' 'level-sprite-clear-dialogue': 'onClearDialogue'
'level-set-letterbox': 'onSetLetterbox' 'level-set-letterbox': 'onSetLetterbox'
'surface:ticked': 'onSurfaceTicked' 'surface:ticked': 'onSurfaceTicked'
'level-sprite-move': 'onMove'
constructor: (@thangType, options) -> constructor: (@thangType, options) ->
super() super()
@ -73,7 +75,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
else else
@stillLoading = true @stillLoading = true
@thangType.fetch() @thangType.fetch()
@thangType.once 'sync', @setupSprite, @ @listenToOnce(@thangType, 'sync', @setupSprite)
setupSprite: -> setupSprite: ->
@stillLoading = false @stillLoading = false
@ -85,7 +87,6 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
mark.destroy() for name, mark of @marks mark.destroy() for name, mark of @marks
label.destroy() for name, label of @labels label.destroy() for name, label of @labels
@imageObject?.off 'animationend', @playNextAction @imageObject?.off 'animationend', @playNextAction
@playNextAction = null
@displayObject?.off() @displayObject?.off()
clearInterval @effectInterval if @effectInterval clearInterval @effectInterval if @effectInterval
super() super()
@ -223,7 +224,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
@thang.bobHeight * (1 + Math.sin(@age * Math.PI / @thang.bobTime)) @thang.bobHeight * (1 + Math.sin(@age * Math.PI / @thang.bobTime))
getWorldPosition: -> getWorldPosition: ->
p1 = @thang.pos p1 = if @possessed then @shadow.pos else @thang.pos
if bobOffset = @getBobOffset() if bobOffset = @getBobOffset()
p1 = p1.copy?() or _.clone(p1) p1 = p1.copy?() or _.clone(p1)
p1.z += bobOffset p1.z += bobOffset
@ -309,8 +310,9 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
@updateIsometricRotation(rotation, imageObject) @updateIsometricRotation(rotation, imageObject)
getRotation: -> getRotation: ->
return @rotation if not @thang?.rotation thang = if @possessed then @shadow else @thang
rotation = @thang?.rotation return @rotation if not thang?.rotation
rotation = thang?.rotation
rotation = (360 - (rotation * 180 / Math.PI) % 360) % 360 rotation = (360 - (rotation * 180 / Math.PI) % 360) % 360
rotation -= 360 if rotation > 180 rotation -= 360 if rotation > 180
rotation rotation
@ -333,13 +335,14 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
determineAction: -> determineAction: ->
action = null action = null
action = @thang.getActionName() if @thang?.acts thang = if @possessed then @shadow else @thang
action = thang.action if thang?.acts
action ?= @currentRootAction.name if @currentRootAction? action ?= @currentRootAction.name if @currentRootAction?
action ?= 'idle' action ?= 'idle'
action = null unless @actions[action]? action = null unless @actions[action]?
return null unless action return null unless action
action = 'break' if @actions.break? and @thang?.erroredOut action = 'break' if @actions.break? and @thang?.erroredOut
action = 'die' if @actions.die? and @thang?.health? and @thang.health <= 0 action = 'die' if @actions.die? and thang?.health? and thang.health <= 0
@actions[action] @actions[action]
updateActionDirection: (@wallGrid=null) -> updateActionDirection: (@wallGrid=null) ->
@ -483,6 +486,8 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
else else
@marks[range['name']].toggle false for range in @ranges @marks[range['name']].toggle false for range in @ranges
if @thangType.get('name') in ['Arrow', 'Spear'] and @thang.action is 'die'
@marks.shadow.hide()
mark.update() for name, mark of @marks mark.update() for name, mark of @marks
#@thang.effectNames = ['berserk', 'confuse', 'control', 'curse', 'fear', 'poison', 'paralyze', 'regen', 'sleep', 'slow', 'haste'] #@thang.effectNames = ['berserk', 'confuse', 'control', 'curse', 'fear', 'poison', 'paralyze', 'regen', 'sleep', 'slow', 'haste']
@updateEffectMarks() if @thang?.effectNames?.length or @previousEffectNames?.length @updateEffectMarks() if @thang?.effectNames?.length or @previousEffectNames?.length
@ -619,3 +624,67 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
instance = AudioPlayer.playSound name, volume, delay, @getWorldPosition() instance = AudioPlayer.playSound name, volume, delay, @getWorldPosition()
# console.log @thang?.id, "played sound", name, "with delay", delay, "volume", volume, "and got sound instance", instance # console.log @thang?.id, "played sound", name, "with delay", delay, "volume", volume, "and got sound instance", instance
instance instance
onMove: (e) ->
return unless e.spriteID is @thang?.id
pos = e.pos
if _.isArray pos
pos = new Vector pos...
else if _.isString pos
return console.warn "Couldn't find target sprite", pos, "from", @options.sprites unless pos of @options.sprites
target = @options.sprites[pos].thang
heading = Vector.subtract(target.pos, @thang.pos).normalize()
distance = @thang.pos.distance target.pos
offset = Math.max(target.width, target.height, 2) / 2 + 3
pos = Vector.add(@thang.pos, heading.multiply(distance - offset))
Backbone.Mediator.publish 'level-sprite-clear-dialogue', {}
@onClearDialogue()
args = [pos]
args.push(e.duration) if e.duration?
@move(args...)
move: (pos, duration=2000, endAnimation='idle') =>
@updateShadow()
if not duration
createjs.Tween.removeTweens(@shadow.pos) if @lastTween
@lastTween = null
z = @shadow.pos.z
@shadow.pos = pos
@shadow.pos.z = z
@imageObject.gotoAndPlay(endAnimation)
return
@shadow.action = 'move'
@shadow.actionActivated = true
@pointToward(pos)
@possessed = true
@update true
ease = createjs.Ease.getPowInOut(2.2)
if @lastTween
ease = createjs.Ease.getPowOut(1.2)
createjs.Tween.removeTweens(@shadow.pos)
endFunc = =>
@lastTween = null
@imageObject.gotoAndPlay(endAnimation)
@shadow.action = 'idle'
@update true
@possessed = false
@lastTween = createjs.Tween
.get(@shadow.pos)
.to({x:pos.x, y:pos.y}, duration, ease)
.call(endFunc)
pointToward: (pos) ->
@shadow.rotation = Math.atan2(pos.y - @shadow.pos.y, pos.x - @shadow.pos.x)
if (@shadow.rotation * 180 / Math.PI) % 90 is 0
@shadow.rotation += 0.01
updateShadow: ->
@shadow = {} if not @shadow
@shadow.pos = @thang.pos
@shadow.rotation = @thang.rotation
@shadow.action = @thang.action
@shadow.actionActivated = @thang.actionActivated

View file

@ -7,13 +7,13 @@ Camera = require './Camera'
module.exports = IndieSprite = class IndieSprite extends CocoSprite module.exports = IndieSprite = class IndieSprite extends CocoSprite
notOfThisWorld: true notOfThisWorld: true
subscriptions: subscriptions:
'level-sprite-move': 'onMove'
'note-group-started': 'onNoteGroupStarted' 'note-group-started': 'onNoteGroupStarted'
'note-group-ended': 'onNoteGroupEnded' 'note-group-ended': 'onNoteGroupEnded'
constructor: (thangType, options) -> constructor: (thangType, options) ->
options.thang = @makeIndieThang thangType, options.thangID, options.pos options.thang = @makeIndieThang thangType, options.thangID, options.pos
super thangType, options super thangType, options
@shadow = @thang
makeIndieThang: (thangType, thangID, pos) -> makeIndieThang: (thangType, thangID, pos) ->
@thang = thang = new Thang null, thangType.get('name'), thangID @thang = thang = new Thang null, thangType.get('name'), thangID
@ -35,57 +35,3 @@ module.exports = IndieSprite = class IndieSprite extends CocoSprite
onNoteGroupEnded: => @scriptRunning = false onNoteGroupEnded: => @scriptRunning = false
onMouseEvent: (e, ourEventName) -> super e, ourEventName unless @scriptRunning onMouseEvent: (e, ourEventName) -> super e, ourEventName unless @scriptRunning
defaultPos: -> x: -20, y: 20, z: @thang.depth / 2 defaultPos: -> x: -20, y: 20, z: @thang.depth / 2
onMove: (e) ->
return unless e.spriteID is @thang.id
pos = e.pos
if _.isArray pos
pos = new Vector pos...
else if _.isString pos
return console.warn "Couldn't find target sprite", pos, "from", @options.sprites unless pos of @options.sprites
target = @options.sprites[pos].thang
heading = Vector.subtract(target.pos, @thang.pos).normalize()
distance = @thang.pos.distance target.pos
offset = Math.max(target.width, target.height, 2) / 2 + 3
pos = Vector.add(@thang.pos, heading.multiply(distance - offset))
Backbone.Mediator.publish 'level-sprite-clear-dialogue', {}
@onClearDialogue()
args = [pos]
args.push(e.duration) if e.duration?
@move(args...)
move: (pos, duration=2000, endAnimation='idle') =>
if not duration
createjs.Tween.removeTweens(@thang.pos) if @lastTween
@lastTween = null
z = @thang.pos.z
@thang.pos = pos
@thang.pos.z = z
@imageObject.gotoAndPlay(endAnimation)
return
@thang.action = 'move'
@thang.actionActivated = true
@pointToward(pos)
@update true
ease = createjs.Ease.getPowInOut(2.2)
if @lastTween
ease = createjs.Ease.getPowOut(1.2)
createjs.Tween.removeTweens(@thang.pos)
endFunc = =>
@lastTween = null
@imageObject.gotoAndPlay(endAnimation)
@thang.action = 'idle'
@update true
@lastTween = createjs.Tween
.get(@thang.pos)
.to({x:pos.x, y:pos.y}, duration, ease)
.call(endFunc)
pointToward: (pos) ->
@thang.rotation = Math.atan2(pos.y - @thang.pos.y, pos.x - @thang.pos.x)
if (@thang.rotation * 180 / Math.PI) % 90 is 0
@thang.rotation += 0.01

View file

@ -67,9 +67,13 @@ module.exports = class Layer extends createjs.Container
# TODO: remove this z stuff # TODO: remove this z stuff
az = if a.z then a.z else 1000 az = if a.z then a.z else 1000
bz = if b.z then b.z else 1000 bz = if b.z then b.z else 1000
aThang = a.sprite?.thang
bThang = b.sprite?.thang
az -= 1 if aThang?.health < 0
bz -= 1 if bThang?.health < 0
if az == bz if az == bz
return 0 unless a.sprite?.thang?.pos and b.sprite?.thang?.pos return 0 unless aThang?.pos and bThang?.pos
return (b.sprite.thang.pos.y - a.sprite.thang.pos.y) or (b.sprite.thang.pos.x - a.sprite.thang.pos.x) return (bThang.pos.y - aThang.pos.y) or (bThang.pos.x - aThang.pos.x)
return az - bz return az - bz
onZoomUpdated: (e) -> onZoomUpdated: (e) ->

View file

@ -22,7 +22,6 @@ module.exports = class Mark extends CocoClass
destroy: -> destroy: ->
@mark?.parent?.removeChild @mark @mark?.parent?.removeChild @mark
@markSprite?.destroy() @markSprite?.destroy()
@thangType?.off 'sync', @onLoadedThangType, @
@sprite = null @sprite = null
super() super()
@ -177,7 +176,7 @@ module.exports = class Mark extends CocoClass
return @loadThangType() if not thangType return @loadThangType() if not thangType
@thangType = thangType @thangType = thangType
return @thangType.once 'sync', @onLoadedThangType, @ if not @thangType.loaded return @listenToOnce(@thangType, 'sync', @onLoadedThangType) if not @thangType.loaded
CocoSprite = require './CocoSprite' CocoSprite = require './CocoSprite'
markSprite = new CocoSprite @thangType, @thangType.spriteOptions markSprite = new CocoSprite @thangType, @thangType.spriteOptions
markSprite.queueAction 'idle' markSprite.queueAction 'idle'
@ -188,7 +187,7 @@ module.exports = class Mark extends CocoClass
name = @thangType name = @thangType
@thangType = new ThangType() @thangType = new ThangType()
@thangType.url = -> "/db/thang.type/#{name}" @thangType.url = -> "/db/thang.type/#{name}"
@thangType.once 'sync', @onLoadedThangType, @ @listenToOnce(@thangType, 'sync', @onLoadedThangType)
@thangType.fetch() @thangType.fetch()
markThangTypes[name] = @thangType markThangTypes[name] = @thangType
window.mtt = markThangTypes window.mtt = markThangTypes

View file

@ -100,12 +100,7 @@ module.exports = Surface = class Surface extends CocoClass
@stage.removeAllEventListeners() @stage.removeAllEventListeners()
@stage.enableDOMEvents false @stage.enableDOMEvents false
@stage.enableMouseOver 0 @stage.enableMouseOver 0
@onFramesScrubbed = null
@onMouseMove = null
@onMouseDown = null
@tick = null
@canvas.off 'mousewheel', @onMouseWheel @canvas.off 'mousewheel', @onMouseWheel
@onMouseWheel = null
super() super()
setWorld: (@world) -> setWorld: (@world) ->

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "български език", englishDescri
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
introduction_desc_github_url: "CodeCombat je kompletně open source" introduction_desc_github_url: "CodeCombat je kompletně open source"
introduction_desc_suf: "a snažíme se jak jen to jde, abychom vám umožnili se do tohoto projektu zapojit." introduction_desc_suf: "a snažíme se jak jen to jde, abychom vám umožnili se do tohoto projektu zapojit."
introduction_desc_ending: "Doufáme, že se k nám přidáte!" introduction_desc_ending: "Doufáme, že se k nám přidáte!"
introduction_desc_signature: "- Nick, George, Scott, Michael a Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy a Glen"
alert_account_message_intro: "Vítejte!" alert_account_message_intro: "Vítejte!"
alert_account_message_pref: "K přihlášení odebírání emailů si nejprve musíte " alert_account_message_pref: "K přihlášení odebírání emailů si nejprve musíte "
alert_account_message_suf: "vytvořit účet" alert_account_message_suf: "vytvořit účet"

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
introduction_desc_ending: "Vi håber du vil deltage i vores fest!" introduction_desc_ending: "Vi håber du vil deltage i vores fest!"
introduction_desc_signature: "- Nick, George, Scott, Michael, ogJeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy, ogGlen"
alert_account_message_intro: "Hej med dig!" alert_account_message_intro: "Hej med dig!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -422,7 +422,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
introduction_desc_github_url: "CodeCombat is totally open source" introduction_desc_github_url: "CodeCombat is totally open source"
introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
introduction_desc_ending: "We hope you'll join our party!" introduction_desc_ending: "We hope you'll join our party!"
introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
alert_account_message_intro: "Hey there!" alert_account_message_intro: "Hey there!"
alert_account_message_pref: "To subscribe for class emails, you'll need to " alert_account_message_pref: "To subscribe for class emails, you'll need to "
alert_account_message_suf: "first." alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
introduction_desc_github_url: "CodeCombat es totalmente de código abierto" introduction_desc_github_url: "CodeCombat es totalmente de código abierto"
introduction_desc_suf: ", y nuestro objetivo es ofrecer tantas maneras como sea posible para que tomes parte y hagas de este proyecto algo tan tuyo como nuestro." introduction_desc_suf: ", y nuestro objetivo es ofrecer tantas maneras como sea posible para que tomes parte y hagas de este proyecto algo tan tuyo como nuestro."
introduction_desc_ending: "¡Esperamos que te unas a nuestro equipo!" introduction_desc_ending: "¡Esperamos que te unas a nuestro equipo!"
introduction_desc_signature: "- Nick, George, Scott, Michael y Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy y Glen"
alert_account_message_intro: "¡Hola!" alert_account_message_intro: "¡Hola!"
alert_account_message_pref: "Para suscribirte a los correos electrónicos de las distintas Clases, necesitarás " alert_account_message_pref: "Para suscribirte a los correos electrónicos de las distintas Clases, necesitarás "
alert_account_message_suf: "primero." alert_account_message_suf: "primero."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
introduction_desc_github_url: "CodeCombat est totalement open source" introduction_desc_github_url: "CodeCombat est totalement open source"
introduction_desc_suf: ", et nous avons pour objectif de fournir autant de manières possibles pour que vous participiez et fassiez de ce projet autant le votre que le notre." introduction_desc_suf: ", et nous avons pour objectif de fournir autant de manières possibles pour que vous participiez et fassiez de ce projet autant le votre que le notre."
introduction_desc_ending: "Nous espérons que vous allez joindre notre aventure!" introduction_desc_ending: "Nous espérons que vous allez joindre notre aventure!"
introduction_desc_signature: "- Nick, George, Scott, Michael et Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy et Glen"
alert_account_message_intro: "Et tiens!" alert_account_message_intro: "Et tiens!"
alert_account_message_pref: "Pour s'inscrire à la newsletter, vous devez d'abord " alert_account_message_pref: "Pour s'inscrire à la newsletter, vous devez d'abord "
alert_account_message_suf: "." alert_account_message_suf: "."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -26,6 +26,8 @@ module.exports =
it: require './it' # italiano, Italian it: require './it' # italiano, Italian
tr: require './tr' # Türkçe, Turkish tr: require './tr' # Türkçe, Turkish
nl: require './nl' # Nederlands, Dutch nl: require './nl' # Nederlands, Dutch
'nl-BE': require './nl-BE' # Nederlands (België), Dutch (Belgium)
'nl-NL': require './nl-NL' # Nederlands (Nederland), Dutch (Netherlands)
fa: require './fa' # فارسی, Persian fa: require './fa' # فارسی, Persian
cs: require './cs' # čeština, Czech cs: require './cs' # čeština, Czech
sv: require './sv' # Svenska, Swedish sv: require './sv' # Svenska, Swedish

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

555
app/locale/nl-BE.coffee Normal file
View file

@ -0,0 +1,555 @@
module.exports = nativeDescription: "Nederlands (België)", englishDescription: "Dutch (Belgium)", translation:
common:
loading: "Aan het laden..."
saving: "Opslaan..."
sending: "Verzenden..."
cancel: "Annuleren"
save: "Opslagen"
delay_1_sec: "1 seconde"
delay_3_sec: "3 secondes"
delay_5_sec: "5 secondes"
manual: "Handleiding"
fork: "Fork"
play: "Spelen"
modal:
close: "Sluiten"
okay: "Oké"
not_found:
page_not_found: "Pagina niet gevonden"
nav:
play: "Spelen"
editor: "Editor"
blog: "Blog"
forum: "Forum"
admin: "Administrator"
home: "Home"
contribute: "Bijdragen"
legal: "Legaal"
about: "Over Ons"
contact: "Contact"
twitter_follow: "Volgen"
employers: "Werknemers"
versions:
save_version_title: "Nieuwe versie opslagen"
new_major_version: "Nieuwe hoofd versie"
cla_prefix: "Om bewerkingen op te slagen, moet je eerst akkoord gaan met onze"
cla_url: "CLA"
cla_suffix: "."
cla_agree: "IK GA AKKOORD"
login:
sign_up: "Account Maken"
log_in: "Inloggen"
log_out: "Uitloggen"
recover: "account herstellen"
recover:
recover_account_title: "Herstel Account"
send_password: "Verzend nieuw wachtwoord"
signup:
create_account_title: "Maak een account aan om je progressie op te slagen"
description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:"
email_announcements: "Ontvang aankondigingen via email"
coppa: "13+ of niet uit de VS"
coppa_why: "(Waarom?)"
creating: "Account aanmaken..."
sign_up: "Aanmelden"
log_in: "inloggen met wachtwoord"
home:
slogan: "Leer programmeren in JavaScript door het spelen van een spel"
no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!"
no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!"
play: "Speel"
old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!"
old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!"
campaign: "Campagne"
for_beginners: "Voor Beginners"
# multiplayer: "Multiplayer"
for_developers: "Voor ontwikkelaars"
play:
choose_your_level: "Kies Je Level"
adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op "
adventurer_forum: "het Avonturiersforum"
adventurer_suffix: "."
campaign_beginner: "Beginnercampagne"
campaign_beginner_description: "... waarin je de toverkunst van programmeren leert."
campaign_dev: "Willekeurige moeilijkere levels"
campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet."
campaign_multiplayer: "Multiplayer Arena's"
campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt."
campaign_player_created: "Door-spelers-gemaakt"
campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>."
level_difficulty: "Moeilijkheidsgraad: "
play_as: "Speel als "
spectate: "Schouw toe"
contact:
contact_us: "Contact opnemen met CodeCombat"
welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen."
contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze "
contribute_page: "pagina over bijdragen"
contribute_suffix: "!"
forum_prefix: "Voor iets publiekelijks, probeer dan "
forum_page: "ons forum"
forum_suffix: "."
send: "Feedback Verzonden"
diplomat_suggestion:
title: "Help CodeCombat vertalen!"
sub_heading: "We hebben je taalvaardigheden nodig."
pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands."
missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is."
learn_more: "Meer informatie over het zijn van een Diplomaat"
subscribe_as_diplomat: "Abonneren als Diplomaat"
wizard_settings:
title: "Tovenaar instellingen"
customize_avatar: "Bewerk je avatar"
clothes: "Kleren"
trim: "Trim"
cloud: "Wolk"
spell: "Spreuk"
boots: "Laarzen"
hue: "Hue"
saturation: "Saturation"
lightness: "Lightness"
account_settings:
title: "Account Instellingen"
not_logged_in: "Log in of maak een account om je instellingen aan te passen."
autosave: "Aanpassingen Automatisch Opgeslagen"
me_tab: "Ik"
picture_tab: "Afbeelding"
wizard_tab: "Tovenaar"
password_tab: "Wachtwoord"
emails_tab: "Emails"
# admin: "Admin"
gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken"
gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen."
gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken."
wizard_color: "Tovenaar Kleding Kleur"
new_password: "Nieuw Wachtwoord"
new_password_verify: "Verifieer"
email_subscriptions: "E-mail Abonnementen"
email_announcements: "Aankondigingen"
email_notifications: "Notificaties"
email_notifications_description: "Krijg periodieke meldingen voor jouw account."
email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat."
contributor_emails: "Medewerker Klasse emails"
contribute_prefix: "We zoeken mensen om bij ons feest aan te voegen! Bekijk de "
contribute_page: "contributiepagina"
contribute_suffix: " om meer te weten te komen."
email_toggle: "Vink alles aan/af"
error_saving: "Fout Tijdens Het Opslaan"
saved: "Aanpassingen Opgeslagen"
password_mismatch: "Het wachtwoord komt niet overeen."
account_profile:
edit_settings: "Instellingen Aanpassen"
profile_for_prefix: "Profiel voor "
# profile_for_suffix: ""
profile: "Profiel"
user_not_found: "Geen gebruiker gevonden. Controleer de URL?"
gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:"
gravatar_not_found_email_suffix: "."
gravatar_signup_prefix: "Registreer op "
gravatar_signup_suffix: " om alles in orde te maken!"
gravatar_not_found_other: "Helaas, er is geen profiel geassocieerd met dit e-mail adres."
gravatar_contact: "Contact"
gravatar_websites: "Websites"
gravatar_accounts: "Zoals Gezien Op"
gravatar_profile_link: "Volledig Gravatar Profiel"
play_level:
level_load_error: "Level kon niet geladen worden: "
done: "Klaar"
grid: "Raster"
customize_wizard: "Pas Tovenaar aan"
home: "Home"
guide: "Handleiding"
multiplayer: "Multiplayer"
restart: "Herstarten"
goals: "Doelen"
action_timeline: "Actie tijdlijn"
click_to_select: "Klik op een eenheid om deze te selecteren."
reload_title: "Alle Code Herladen?"
reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?"
reload_confirm: "Herlaad Alles"
# victory_title_prefix: ""
victory_title_suffix: " Compleet"
victory_sign_up: "Schrijf je in om je progressie op te slaan"
victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!"
victory_rate_the_level: "Beoordeel het level: "
victory_rank_my_game: "Rankschik mijn Wedstrijd"
victory_ranking_game: "Verzenden..."
victory_return_to_ladder: "Keer terug naar de ladder"
victory_play_next_level: "Speel Volgend Level"
victory_go_home: "Ga naar Home"
victory_review: "Vertel ons meer!"
victory_hour_of_code_done: "Ben Je Klaar?"
victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!"
multiplayer_title: "Multiplayer Instellingen"
multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou."
multiplayer_hint_label: "Hint:"
multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren."
multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!"
guide_title: "Handleiding"
tome_minion_spells: "Jouw Minions' Spreuken"
tome_read_only_spells: "Read-Only Spreuken"
tome_other_units: "Andere Eenheden"
tome_cast_button_castable: "Uitvoeren"
tome_cast_button_casting: "Aan het uitvoeren"
tome_cast_button_cast: "Spreuk uitvoeren"
tome_autocast_delay: "Spreuk Uitvoeren vertraging"
tome_select_spell: "Selecteer een Spreuk"
tome_select_a_thang: "Selecteer Iemand voor "
tome_available_spells: "Beschikbare spreuken"
hud_continue: "Ga verder (druk shift-space)"
spell_saved: "Spreuk Opgeslagen"
skip_tutorial: "Overslaan (esc)"
editor_config: "Editor Configuratie"
editor_config_title: "Editor Configuratie"
editor_config_keybindings_label: "Toets instellingen"
# editor_config_keybindings_default: "Default (Ace)"
editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors."
editor_config_invisibles_label: "Toon onzichtbare"
editor_config_invisibles_description: "Toon onzichtbare whitespace karakters."
editor_config_indentguides_label: "Toon inspringing regels"
editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren."
editor_config_behaviors_label: "Slim gedrag"
editor_config_behaviors_description: "Auto-aanvulling (gekrulde) haakjes en aanhalingstekens."
admin:
av_title: "Administrator panels"
av_entities_sub_title: "Entiteiten"
av_entities_users_url: "Gebruikers"
av_entities_active_instances_url: "Actieve instanties"
av_other_sub_title: "Andere"
av_other_debug_base_url: "Base (om base.jade te debuggen)"
u_title: "Gebruikerslijst"
lg_title: "Laatste Spelletjes"
editor:
main_title: "CodeCombat Editors"
main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!"
article_title: "Artikel Editor"
article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes."
thang_title: "Thang Editor"
thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd in Flash ondersteund."
level_title: "Level Editor"
level_description: "Bevat het programma om te programmeren, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wijzelf ook gebruiken!"
security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Met dat wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, "
contact_us: "contacteer ons!"
hipchat_prefix: "Je kan ons ook vinden in ons"
hipchat_url: "(Engelstalig) HipChat kanaal."
revert: "Keer wijziging terug"
revert_models: "keer wijziging model terug"
level_some_options: "Enkele opties?"
level_tab_thangs: "Elementen"
level_tab_scripts: "Scripts"
level_tab_settings: "Instellingen"
level_tab_components: "Componenten"
level_tab_systems: "Systemen"
level_tab_thangs_title: "Huidige Elementen"
level_tab_thangs_conditions: "Start Condities"
level_tab_thangs_add: "Voeg element toe"
level_settings_title: "Instellingen"
level_component_tab_title: "Huidige Componenten"
level_component_btn_new: "Maak een nieuw component aan"
level_systems_tab_title: "Huidige Systemen"
level_systems_btn_new: "Maak een nieuw systeem aan"
level_systems_btn_add: "Voeg Systeem toe"
level_components_title: "Terug naar Alle Elementen"
level_components_type: "Type"
level_component_edit_title: "Wijzig Component"
level_component_config_schema: "Schema"
level_component_settings: "Instellingen"
level_system_edit_title: "Wijzig Systeem"
create_system_title: "Maak een nieuw Systeem aan"
new_component_title: "Maak een nieuw Component aan"
new_component_field_system: "Systeem"
new_article_title: "Maak een Nieuw Artikel"
new_thang_title: "Maak een Nieuw Thang Type"
new_level_title: "Maak een Nieuw Level"
article_search_title: "Zoek Artikels Hier"
thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier"
article:
edit_btn_preview: "Voorbeeld"
edit_article_title: "Wijzig Artikel"
general:
and: "en"
name: "Naam"
body: "Inhoud"
version: "Versie"
commit_msg: "Commit Bericht"
history: "Geschiedenis"
version_history_for: "Versie geschiedenis voor: "
result: "Resultaat"
results: "Resultaten"
description: "Beschrijving"
or: "of"
email: "Email"
password: "Wachtwoord"
message: "Bericht"
code: "Code"
ladder: "Ladder"
when: "Wanneer"
opponent: "Tegenstander"
rank: "Rang"
score: "Score"
win: "Win"
loss: "Verlies"
tie: "Gelijk"
easy: "Gemakkelijk"
medium: "Medium"
hard: "Moeilijk"
about:
who_is_codecombat: "Wie is CodeCombat?"
why_codecombat: "Waarom CodeCombat?"
who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook "
who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven."
who_description_ending: "Nu is het tijd om mensen te leren programmeren."
why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze het eigenlijk zo snel mogelijk nodig hebben via uitgebreide oefeningen. Wij weten hoe dat op te lossen."
why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet."
why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals"
why_paragraph_3_italic: "joepie een medaille"
why_paragraph_3_center: "maar tof zoals"
why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!"
why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds."
why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden."
why_ending: "En hallo, het is gratis."
why_ending_url: "Start nu met toveren!"
george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs."
scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar."
nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen."
jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy."
michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt."
glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!"
legal:
page_title: "Legaal"
opensource_intro: "CodeCombat is gratis en volledig open source."
opensource_description_prefix: "Bekijk "
github_url: "onze GitHub"
opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van duizende open source projecten, en wij zijn er gek van. Bekijk ook "
archmage_wiki_url: "onze Tovenaar wiki"
opensource_description_suffix: "voor een lijst van de software dat dit spel mogelijk maakt."
practices_title: "Goede Respectvolle gewoonten"
practices_description: "Dit zijn onze beloften aan u, de speler, en iets minder juridische jargon."
privacy_title: "Privacy"
privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen geld verdienen dankzij aanwerving in verloop van tijd, maar je mag op je twee oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat."
security_title: "Beveiliging"
security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn."
email_title: "E-mail"
email_description_prefix: "We zullen je niet overspoelen met spam. Door"
email_settings_url: "jouw e-mail instellingen"
email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven."
cost_title: "Kosten"
cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:"
recruitment_title: "Aanwervingen"
recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt."
url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven"
recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste codeer prestaties voorstellen aan duizenden bedrijven die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou"
recruitment_description_italic: "enorm veel"
recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan."
copyrights_title: "Auteursrechten en licenties"
contributor_title: "Licentieovereenkomst voor vrijwilligers"
contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze"
cla_url: "CLA"
contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken."
code_title: "Code - MIT"
code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository of in de codecombat.com database, is erkend onder de"
mit_license_url: "MIT licentie"
code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiekelijk is gemaakt met als doelstellingen het maken van levels."
art_title: "Art/Music - Creative Commons "
art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de"
cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie"
art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat voor het doel levels te maken. Dit omvat:"
art_music: "Muziek"
art_sound: "Geluid"
art_artwork: "Artwork"
art_sprites: "Sprites"
art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels."
art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assitentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken."
art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:"
use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits."
use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Create Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat alreeds duidelijk is gespecificeerd met CodeCombat, zoals een blog artikel, dat CodeCombat vernoemt, heeft geen aparte vermelding nodig."
art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg verspreidingsaanwijzingen van die brons als die er zijn."
rights_title: "Rechten Voorbehouden"
rights_desc: "Alle rechten zijn voorbehouden voor de Levels. Dit omvat:"
rights_scripts: "Scripts"
rights_unit: "Eenheid Configuratie"
rights_description: "Beschrijvingen"
rights_writings: "Literaire werken"
rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels."
rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen."
nutshell_title: "In een notendop"
nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren."
canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang."
contribute:
page_title: "Bijdragen"
character_classes_title: "Karakterklassen"
introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat."
introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, "
introduction_desc_github_url: "CodeCombat is volledig open source"
introduction_desc_suf: ", en we mikken ernaar om zoveel mogelijk manieren mogelijk maken voor u om deel te nemen en dit project van zowel jou als ons te maken."
introduction_desc_ending: "We hopen dat je met ons meedoet!"
introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen"
alert_account_message_intro: "Hallo!"
alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst "
alert_account_message_suf: "."
alert_account_message_create_url: "een account aanmaken"
archmage_summary: "Geïnteresserd in werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit."
archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk veel van de voorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je handen veel te maken met CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw help hebben met het bouwen aan het allerbeste programmeerspel ooit."
class_attributes: "Klasse kenmerken"
archmage_attribute_1_pref: "Ervaring met "
archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax."
archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden."
how_to_join: "Hoe deel te nemen"
join_desc_1: "Iedereen kan helpen! Bekijk onze "
join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jouzelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer met ons kan samenwerken? "
join_desc_3: ", of vind ons in "
join_desc_4: "en we bekijken het verder vandaar!"
join_url_email: "E-mail ons"
join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal"
more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden"
archmage_subscribe_desc: "Ontvang e-mails met nieuwe codeer oppurtiniteiten en aankondigingen."
artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat kaal, dus wees daarvan bewust. Levels maken zal een beetje uitdagend en buggy zijn. Als jij een visie van campagnes hebt van for-loops tot"
artisan_summary_suf: "dan is dit de klasse voor jou."
artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor is amper gebruikt door zelfs ons, wees dus voorzichtig. Indien je visioenen hebt van campagnes, gaande van for-loops tot"
artisan_introduction_suf: "dan is deze klasse waarschijnlijk iets voor jou."
artisan_attribute_1: "Enige ervaring in het maken van gelijkbare inhoud. Bijvoorbeeld ervaring het gebruiken van Blizzard's level editor. Maar dit is niet vereist!"
artisan_attribute_2: "Tot in detail testen en itereren staat voor jou gelijk aan plezier. Om goede levels te maken, moet jet het door anderen laten spelen en bereid zijn om een hele boel aan te passen."
artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je frustraties kan werken. Samenwerken met een Adventurer kan jou ook veel helpen."
artisan_join_desc: "Gebruik de Level Editor in deze volgorde, min of meer:"
artisan_join_step1: "Lees de documentatie."
artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels."
artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)"
artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback."
more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden."
artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor."
adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou."
adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou."
adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen."
adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan."
adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook posten over levels die beoordeeld moeten worden op onze netwerken zoals"
adventurer_forum_url: "ons forum"
adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!"
more_about_adventurer: "Leer meer over hoe je een dappere avonturier kunt worden."
adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden."
scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal een Ambachtslied een link kunnen geven naar een artikel wat past bij een level. Net zoiets als het "
scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou."
scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal elk Ambachtslied niet in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel wat deze informatie bevat voor de speler. Net zoiets als het "
scribe_introduction_url_mozilla: "Mozilla Developer Network"
scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou."
scribe_attribute_1: "Taal-skills zijn praktisch alles wat je nodig hebt. Niet alleen grammatica of spelling, maar ook moeilijke ideeën overbrengen aan anderen."
contact_us_url: "Contacteer ons"
scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!"
more_about_scribe: "Leer meer over het worden van een ijverige Klerk."
scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen."
diplomat_summary: "Er is grote interesse in CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers wie tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor heel de wereld. Als jij wilt helpen met CodeCombat internationaal maken, dan is dit de klasse voor jou."
diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de "
diplomat_launch_url: "release in oktober"
diplomat_introduction_suf: "dan is het wel dat er een significante interesse is in CodeCombat in andere landen, vooral Brazilië! We zijn een corps aan vertalers aan het creëren dat ijverig de ene set woorden in een andere omzet om CodeCombat zo toegankelijk te maken als mogelijk in heel de wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou."
diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide goed te kunnen!"
diplomat_join_pref_github: "Vind van jouw taal het locale bestand "
diplomat_github_url: "op GitHub"
diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen."
more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat"
diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen."
ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou."
ambassador_introduction: "We zijn een community aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en soeciale netwerken met veel andere mensen waarmee je kan praten en hulp kan vragen over het spel en om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!"
ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!"
ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!"
ambassador_join_note_strong: "Opmerking"
ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een wizard met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!"
more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur"
ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen."
counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou."
counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design."
counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou."
counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn."
counselor_attribute_2: "Een beetje vrije tijd!"
counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)."
more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever"
changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt."
diligent_scribes: "Onze ijverige Klerks:"
powerful_archmages: "Onze machtige Tovenaars:"
creative_artisans: "Onze creatieve Ambachtslieden:"
brave_adventurers: "Onze dappere Avonturiers:"
translating_diplomats: "Onze vertalende Diplomaten:"
helpful_ambassadors: "Onze helpvolle Ambassadeurs:"
classes:
archmage_title: "Tovenaar"
archmage_title_description: "(Programmeur)"
artisan_title: "Ambachtsman"
artisan_title_description: "(Level Bouwer)"
adventurer_title: "Avonturier"
adventurer_title_description: "(Level Tester)"
scribe_title: "Klerk"
scribe_title_description: "(Redacteur)"
diplomat_title: "Diplomaat"
diplomat_title_description: "(Vertaler)"
ambassador_title: "Ambassadeur"
ambassador_title_description: "(Ondersteuning)"
counselor_title: "Raadgever"
counselor_title_description: "(Expert/Leraar)"
ladder:
please_login: "Log alstublieft eerst in voordat u een ladderspel speelt."
my_matches: "Mijn Wedstrijden"
simulate: "Simuleer"
simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!"
simulate_games: "Simuleer spellen!"
simulate_all: "RESET EN SIMULEER SPELLEN"
leaderboard: "Leaderboard"
battle_as: "Vecht als "
summary_your: "Jouw "
summary_matches: "Wedstrijden - "
summary_wins: " Overwinningen, "
summary_losses: " Nederlagen"
rank_no_code: "Geen nieuwe code om te Beoordelen!"
rank_my_game: "Beoordeel mijn spel!"
rank_submitting: "Verzenden..."
rank_submitted: "Verzonden voor Beoordeling"
rank_failed: "Beoordeling mislukt"
rank_being_ranked: "Spel wordt Beoordeeld"
code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen."
no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het"
no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen."
choose_opponent: "Kies een tegenstander"
tutorial_play: "Speel de Tutorial"
tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld"
tutorial_skip: "Sla Tutorial over"
tutorial_not_sure: "Niet zeker wat er aan de gang is?"
tutorial_play_first: "Speel eerst de Tutorial."
simple_ai: "Simpele AI"
warmup: "Opwarming"
vs: "tegen"
multiplayer_launch:
introducing_dungeon_arena: "Introductie van Dungeon Arena"
new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code."
to_battle: "Naar het slagveld, ontwikkelaars!"
modern_day_sorcerer: "Kan jij programmeren? Hoe stoer is dat. Jij bent een modere voetballer! is het niet tijd dat je jouw magische krachten gebruikt voor het controlleren van jou minions in het slagveld? En nee, we praten heir niet over robots."
arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
ladder_explanation: "Kies jouw helden, betover jouw mens of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in multiplayer coding arenas en verkrijg faam en glorie. Indien je creatief bent, kan je zelfs"
fork_our_arenas: "onze arenas forken"
create_worlds: "en jouw eigen werelden creëren."
javascript_rusty: "Jouw JavaScript is een beetje roest? Wees niet bang, er is een"
tutorial: "tutorial"
new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne."
so_ready: "Ik ben hier zo klaar voor"

555
app/locale/nl-NL.coffee Normal file
View file

@ -0,0 +1,555 @@
module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation:
common:
loading: "Aan het laden..."
saving: "Opslaan..."
sending: "Verzenden..."
cancel: "Annuleren"
save: "Opslagen"
delay_1_sec: "1 seconde"
delay_3_sec: "3 secondes"
delay_5_sec: "5 secondes"
manual: "Handleiding"
fork: "Fork"
play: "Spelen"
modal:
close: "Sluiten"
okay: "Oké"
not_found:
page_not_found: "Pagina niet gevonden"
nav:
play: "Spelen"
editor: "Editor"
blog: "Blog"
forum: "Forum"
admin: "Administrator"
home: "Home"
contribute: "Bijdragen"
legal: "Legaal"
about: "Over Ons"
contact: "Contact"
twitter_follow: "Volgen"
employers: "Werknemers"
versions:
save_version_title: "Nieuwe versie opslagen"
new_major_version: "Nieuwe hoofd versie"
cla_prefix: "Om bewerkingen op te slagen, moet je eerst akkoord gaan met onze"
cla_url: "CLA"
cla_suffix: "."
cla_agree: "IK GA AKKOORD"
login:
sign_up: "Account Maken"
log_in: "Inloggen"
log_out: "Uitloggen"
recover: "account herstellen"
recover:
recover_account_title: "Herstel Account"
send_password: "Verzend nieuw wachtwoord"
signup:
create_account_title: "Maak een account aan om je progressie op te slagen"
description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:"
email_announcements: "Ontvang aankondigingen via email"
coppa: "13+ of niet uit de VS"
coppa_why: "(Waarom?)"
creating: "Account aanmaken..."
sign_up: "Aanmelden"
log_in: "inloggen met wachtwoord"
home:
slogan: "Leer programmeren in JavaScript door het spelen van een spel"
no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!"
no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!"
play: "Speel"
old_browser: "Uh oh, jouw browser is te oud om CodeCombat te kunnen spelen, Sorry!"
old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!"
campaign: "Campagne"
for_beginners: "Voor Beginners"
# multiplayer: "Multiplayer"
for_developers: "Voor ontwikkelaars"
play:
choose_your_level: "Kies Je Level"
adventurer_prefix: "Je kunt meteen naar een van de levels hieronder springen, of de levels bespreken op "
adventurer_forum: "het Avonturiersforum"
adventurer_suffix: "."
campaign_beginner: "Beginnercampagne"
campaign_beginner_description: "... waarin je de toverkunst van programmeren leert."
campaign_dev: "Willekeurige moeilijkere levels"
campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet."
campaign_multiplayer: "Multiplayer Arena's"
campaign_multiplayer_description: "... waarin je direct tegen andere spelers speelt."
campaign_player_created: "Door-spelers-gemaakt"
campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>."
level_difficulty: "Moeilijkheidsgraad: "
play_as: "Speel als "
spectate: "Schouw toe"
contact:
contact_us: "Contact opnemen met CodeCombat"
welcome: "Goed om van je te horen! Gebruik dit formulier om ons een e-mail te sturen."
contribute_prefix: "Als je interesse hebt om bij te dragen, bekijk onze "
contribute_page: "pagina over bijdragen"
contribute_suffix: "!"
forum_prefix: "Voor iets publiekelijks, probeer dan "
forum_page: "ons forum"
forum_suffix: "."
send: "Feedback Verzonden"
diplomat_suggestion:
title: "Help CodeCombat vertalen!"
sub_heading: "We hebben je taalvaardigheden nodig."
pitch_body: "We ontwikkelen CodeCombat in het Engels, maar we hebben al spelers van over de hele wereld. Veel van hen willen in het Nederlands spelen, maar kunnen geen Engels. Dus als je beiden spreekt, overweeg a.u.b. om je aan te melden als Diplomaat en help zowel de CodeCombat website als alle levels te vertalen naar het Nederlands."
missing_translations: "Totdat we alles hebben vertaald naar het Nederlands zul je Engels zien waar Nederlands niet beschikbaar is."
learn_more: "Meer informatie over het zijn van een Diplomaat"
subscribe_as_diplomat: "Abonneren als Diplomaat"
wizard_settings:
title: "Tovenaar instellingen"
customize_avatar: "Bewerk je avatar"
clothes: "Kleren"
trim: "Trim"
cloud: "Wolk"
spell: "Spreuk"
boots: "Laarzen"
hue: "Hue"
saturation: "Saturation"
lightness: "Lightness"
account_settings:
title: "Account Instellingen"
not_logged_in: "Log in of maak een account om je instellingen aan te passen."
autosave: "Aanpassingen Automatisch Opgeslagen"
me_tab: "Ik"
picture_tab: "Afbeelding"
wizard_tab: "Tovenaar"
password_tab: "Wachtwoord"
emails_tab: "Emails"
# admin: "Admin"
gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken"
gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen."
gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken."
wizard_color: "Tovenaar Kleding Kleur"
new_password: "Nieuw Wachtwoord"
new_password_verify: "Verifieer"
email_subscriptions: "E-mail Abonnementen"
email_announcements: "Aankondigingen"
email_notifications: "Notificaties"
email_notifications_description: "Krijg periodieke meldingen voor jouw account."
email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat."
contributor_emails: "Medewerker Klasse emails"
contribute_prefix: "We zoeken mensen om bij ons feest aan te voegen! Bekijk de "
contribute_page: "contributiepagina"
contribute_suffix: " om meer te weten te komen."
email_toggle: "Vink alles aan/af"
error_saving: "Fout Tijdens Het Opslaan"
saved: "Aanpassingen Opgeslagen"
password_mismatch: "Het wachtwoord komt niet overeen."
account_profile:
edit_settings: "Instellingen Aanpassen"
profile_for_prefix: "Profiel voor "
# profile_for_suffix: ""
profile: "Profiel"
user_not_found: "Geen gebruiker gevonden. Controleer de URL?"
gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:"
gravatar_not_found_email_suffix: "."
gravatar_signup_prefix: "Registreer op "
gravatar_signup_suffix: " om alles in orde te maken!"
gravatar_not_found_other: "Helaas, er is geen profiel geassocieerd met dit e-mail adres."
gravatar_contact: "Contact"
gravatar_websites: "Websites"
gravatar_accounts: "Zoals Gezien Op"
gravatar_profile_link: "Volledig Gravatar Profiel"
play_level:
level_load_error: "Level kon niet geladen worden: "
done: "Klaar"
grid: "Raster"
customize_wizard: "Pas Tovenaar aan"
home: "Home"
guide: "Handleiding"
multiplayer: "Multiplayer"
restart: "Herstarten"
goals: "Doelen"
action_timeline: "Actie tijdlijn"
click_to_select: "Klik op een eenheid om deze te selecteren."
reload_title: "Alle Code Herladen?"
reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?"
reload_confirm: "Herlaad Alles"
# victory_title_prefix: ""
victory_title_suffix: " Compleet"
victory_sign_up: "Schrijf je in om je progressie op te slaan"
victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!"
victory_rate_the_level: "Beoordeel het level: "
victory_rank_my_game: "Rankschik mijn Wedstrijd"
victory_ranking_game: "Verzenden..."
victory_return_to_ladder: "Keer terug naar de ladder"
victory_play_next_level: "Speel Volgend Level"
victory_go_home: "Ga naar Home"
victory_review: "Vertel ons meer!"
victory_hour_of_code_done: "Ben Je Klaar?"
victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!"
multiplayer_title: "Multiplayer Instellingen"
multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou."
multiplayer_hint_label: "Hint:"
multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren."
multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!"
guide_title: "Handleiding"
tome_minion_spells: "Jouw Minions' Spreuken"
tome_read_only_spells: "Read-Only Spreuken"
tome_other_units: "Andere Eenheden"
tome_cast_button_castable: "Uitvoeren"
tome_cast_button_casting: "Aan het uitvoeren"
tome_cast_button_cast: "Spreuk uitvoeren"
tome_autocast_delay: "Spreuk Uitvoeren vertraging"
tome_select_spell: "Selecteer een Spreuk"
tome_select_a_thang: "Selecteer Iemand voor "
tome_available_spells: "Beschikbare spreuken"
hud_continue: "Ga verder (druk shift-space)"
spell_saved: "Spreuk Opgeslagen"
skip_tutorial: "Overslaan (esc)"
editor_config: "Editor Configuratie"
editor_config_title: "Editor Configuratie"
editor_config_keybindings_label: "Toets instellingen"
# editor_config_keybindings_default: "Default (Ace)"
editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors."
editor_config_invisibles_label: "Toon onzichtbare"
editor_config_invisibles_description: "Toon onzichtbare whitespace karakters."
editor_config_indentguides_label: "Toon inspringing regels"
editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren."
editor_config_behaviors_label: "Slim gedrag"
editor_config_behaviors_description: "Auto-aanvulling (gekrulde) haakjes en aanhalingstekens."
admin:
av_title: "Administrator panels"
av_entities_sub_title: "Entiteiten"
av_entities_users_url: "Gebruikers"
av_entities_active_instances_url: "Actieve instanties"
av_other_sub_title: "Andere"
av_other_debug_base_url: "Base (om base.jade te debuggen)"
u_title: "Gebruikerslijst"
lg_title: "Laatste Spelletjes"
editor:
main_title: "CodeCombat Editors"
main_description: "Maak je eigen levels, campagnes, eenheden en leermateriaal. Wij bieden alle programma's aan die u nodig heeft!"
article_title: "Artikel Editor"
article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes."
thang_title: "Thang Editor"
thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd in Flash ondersteund."
level_title: "Level Editor"
level_description: "Bevat het programma om te programmeren, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wijzelf ook gebruiken!"
security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Met dat wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, "
contact_us: "contacteer ons!"
hipchat_prefix: "Je kan ons ook vinden in ons"
hipchat_url: "(Engelstalig) HipChat kanaal."
revert: "Keer wijziging terug"
revert_models: "keer wijziging model terug"
level_some_options: "Enkele opties?"
level_tab_thangs: "Elementen"
level_tab_scripts: "Scripts"
level_tab_settings: "Instellingen"
level_tab_components: "Componenten"
level_tab_systems: "Systemen"
level_tab_thangs_title: "Huidige Elementen"
level_tab_thangs_conditions: "Start Condities"
level_tab_thangs_add: "Voeg element toe"
level_settings_title: "Instellingen"
level_component_tab_title: "Huidige Componenten"
level_component_btn_new: "Maak een nieuw component aan"
level_systems_tab_title: "Huidige Systemen"
level_systems_btn_new: "Maak een nieuw systeem aan"
level_systems_btn_add: "Voeg Systeem toe"
level_components_title: "Terug naar Alle Elementen"
level_components_type: "Type"
level_component_edit_title: "Wijzig Component"
level_component_config_schema: "Schema"
level_component_settings: "Instellingen"
level_system_edit_title: "Wijzig Systeem"
create_system_title: "Maak een nieuw Systeem aan"
new_component_title: "Maak een nieuw Component aan"
new_component_field_system: "Systeem"
new_article_title: "Maak een Nieuw Artikel"
new_thang_title: "Maak een Nieuw Thang Type"
new_level_title: "Maak een Nieuw Level"
article_search_title: "Zoek Artikels Hier"
thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier"
article:
edit_btn_preview: "Voorbeeld"
edit_article_title: "Wijzig Artikel"
general:
and: "en"
name: "Naam"
body: "Inhoud"
version: "Versie"
commit_msg: "Commit Bericht"
history: "Geschiedenis"
version_history_for: "Versie geschiedenis voor: "
result: "Resultaat"
results: "Resultaten"
description: "Beschrijving"
or: "of"
email: "Email"
password: "Wachtwoord"
message: "Bericht"
code: "Code"
ladder: "Ladder"
when: "Wanneer"
opponent: "Tegenstander"
rank: "Rang"
score: "Score"
win: "Win"
loss: "Verlies"
tie: "Gelijk"
easy: "Gemakkelijk"
medium: "Medium"
hard: "Moeilijk"
about:
who_is_codecombat: "Wie is CodeCombat?"
why_codecombat: "Waarom CodeCombat?"
who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook "
who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven."
who_description_ending: "Nu is het tijd om mensen te leren programmeren."
why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze het eigenlijk zo snel mogelijk nodig hebben via uitgebreide oefeningen. Wij weten hoe dat op te lossen."
why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet."
why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals"
why_paragraph_3_italic: "joepie een medaille"
why_paragraph_3_center: "maar tof zoals"
why_paragraph_3_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!"
why_paragraph_3_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds."
why_paragraph_4: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden."
why_ending: "En hallo, het is gratis."
why_ending_url: "Start nu met toveren!"
george_description: "CEO, zakenman, web designer, game designer, en kampioen van alle beginnende programmeurs."
scott_description: "Extraordinaire programmeur, software ontwikkelaar, keukenprins en heer en meester van financiën. Scott is het meeste voor reden vatbaar."
nick_description: "Getalenteerde programmeur, excentriek gemotiveerd, een rasechte experimenteerder. Nick kan alles en kiest ervoor om CodeCombat te ontwikkelen."
jeremy_description: "Klantenservice Manager, usability tester en gemeenschapsorganisator; Je hebt waarschijnlijk al gesproken met Jeremy."
michael_description: "Programmeur, sys-admin, en technisch wonderkind, Michael is de persoon die onze servers draaiende houdt."
glen_description: "Programmeur en gepassioneerde game developer, met de motivatie om de wereld te verbeteren, door het ontwikkelen van de dingen die belangrijk zijn. Het woord onmogelijk staat niet in zijn woordenboek. Nieuwe vaardigheden leren is een plezier voor him!"
legal:
page_title: "Legaal"
opensource_intro: "CodeCombat is gratis en volledig open source."
opensource_description_prefix: "Bekijk "
github_url: "onze GitHub"
opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van duizende open source projecten, en wij zijn er gek van. Bekijk ook "
archmage_wiki_url: "onze Tovenaar wiki"
opensource_description_suffix: "voor een lijst van de software dat dit spel mogelijk maakt."
practices_title: "Goede Respectvolle gewoonten"
practices_description: "Dit zijn onze beloften aan u, de speler, en iets minder juridische jargon."
privacy_title: "Privacy"
privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen geld verdienen dankzij aanwerving in verloop van tijd, maar je mag op je twee oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat."
security_title: "Beveiliging"
security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn."
email_title: "E-mail"
email_description_prefix: "We zullen je niet overspoelen met spam. Door"
email_settings_url: "jouw e-mail instellingen"
email_description_suffix: "of via urls in de emails die wij verzenden, kan je jouw instellingen wijzigen en ten allen tijden uitschrijven."
cost_title: "Kosten"
cost_description: "Momenteel is CodeCombat 100% gratis! Één van onze doestellingen is om dit zo te houden, opdat zoveel mogelijk mensen kunnen spelen, onafhankelijk van waar je leeft of wie je bent. Als het financieel moeilijker wordt, kan het mogelijk zijn dat we gaan beginnen met abonnementen of een prijs zetten op bepaalde zaken, maar we streven ernaar om dit te voorkomen. Met een beetje geluk zullen we dit voor altijd kunnen garanderen met:"
recruitment_title: "Aanwervingen"
recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt."
url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven"
recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste codeer prestaties voorstellen aan duizenden bedrijven die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou"
recruitment_description_italic: "enorm veel"
recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan."
copyrights_title: "Auteursrechten en licenties"
contributor_title: "Licentieovereenkomst voor vrijwilligers"
contributor_description_prefix: "Alle bijdragen, zowel op de website als op onze GitHub repository, vallen onder onze"
cla_url: "CLA"
contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken."
code_title: "Code - MIT"
code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository of in de codecombat.com database, is erkend onder de"
mit_license_url: "MIT licentie"
code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiekelijk is gemaakt met als doelstellingen het maken van levels."
art_title: "Art/Music - Creative Commons "
art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de"
cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie"
art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat voor het doel levels te maken. Dit omvat:"
art_music: "Muziek"
art_sound: "Geluid"
art_artwork: "Artwork"
art_sprites: "Sprites"
art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels."
art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assitentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken."
art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:"
use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits."
use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Create Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat alreeds duidelijk is gespecificeerd met CodeCombat, zoals een blog artikel, dat CodeCombat vernoemt, heeft geen aparte vermelding nodig."
art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg verspreidingsaanwijzingen van die brons als die er zijn."
rights_title: "Rechten Voorbehouden"
rights_desc: "Alle rechten zijn voorbehouden voor de Levels. Dit omvat:"
rights_scripts: "Scripts"
rights_unit: "Eenheid Configuratie"
rights_description: "Beschrijvingen"
rights_writings: "Literaire werken"
rights_media: "Media (geluid, muziek) en eender welke creatieve inhoud, specifiek gemaakt voor dat level en niet verkrijgbaar bij het maken van levels."
rights_clarification: "Om het duidelijk te maken, iets dat beschikbaar is in de Level editor voor het maken van levels, valt onder de CC licentie. Terwijl de inhoud gemaakt met de Level Editor of geüpload in de loop van de creatie van de levels, hier niet onder vallen."
nutshell_title: "In een notendop"
nutshell_description: "Alle middelen die wij aanbieden in de Level Editor zijn gratis te gebruiken om levels aan te maken. Wij behouden ons echter het recht voor om levels die gemaakt zijn op codecombat.com te beperken, en hier in de toekomst geld voor te vragen, moest dat ooit gebeuren."
canonical: "De Engelse versie van dit document is de definitieve en kanonieke versie. Bij verschillen tussen vertalingen heeft de Engelse versie voorrang."
contribute:
page_title: "Bijdragen"
character_classes_title: "Karakterklassen"
introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat."
introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, "
introduction_desc_github_url: "CodeCombat is volledig open source"
introduction_desc_suf: ", en we mikken ernaar om zoveel mogelijk manieren mogelijk maken voor u om deel te nemen en dit project van zowel jou als ons te maken."
introduction_desc_ending: "We hopen dat je met ons meedoet!"
introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen"
alert_account_message_intro: "Hallo!"
alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst "
alert_account_message_suf: "."
alert_account_message_create_url: "een account aanmaken"
archmage_summary: "Geïnteresserd in werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit."
archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk veel van de voorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je handen veel te maken met CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw help hebben met het bouwen aan het allerbeste programmeerspel ooit."
class_attributes: "Klasse kenmerken"
archmage_attribute_1_pref: "Ervaring met "
archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax."
archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden."
how_to_join: "Hoe deel te nemen"
join_desc_1: "Iedereen kan helpen! Bekijk onze "
join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jouzelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer met ons kan samenwerken? "
join_desc_3: ", of vind ons in "
join_desc_4: "en we bekijken het verder vandaar!"
join_url_email: "E-mail ons"
join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal"
more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden"
archmage_subscribe_desc: "Ontvang e-mails met nieuwe codeer oppurtiniteiten en aankondigingen."
artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat kaal, dus wees daarvan bewust. Levels maken zal een beetje uitdagend en buggy zijn. Als jij een visie van campagnes hebt van for-loops tot"
artisan_summary_suf: "dan is dit de klasse voor jou."
artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor is amper gebruikt door zelfs ons, wees dus voorzichtig. Indien je visioenen hebt van campagnes, gaande van for-loops tot"
artisan_introduction_suf: "dan is deze klasse waarschijnlijk iets voor jou."
artisan_attribute_1: "Enige ervaring in het maken van gelijkbare inhoud. Bijvoorbeeld ervaring het gebruiken van Blizzard's level editor. Maar dit is niet vereist!"
artisan_attribute_2: "Tot in detail testen en itereren staat voor jou gelijk aan plezier. Om goede levels te maken, moet jet het door anderen laten spelen en bereid zijn om een hele boel aan te passen."
artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je frustraties kan werken. Samenwerken met een Adventurer kan jou ook veel helpen."
artisan_join_desc: "Gebruik de Level Editor in deze volgorde, min of meer:"
artisan_join_step1: "Lees de documentatie."
artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels."
artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)"
artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback."
more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden."
artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor."
adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou."
adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou."
adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen."
adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan."
adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook posten over levels die beoordeeld moeten worden op onze netwerken zoals"
adventurer_forum_url: "ons forum"
adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!"
more_about_adventurer: "Leer meer over hoe je een dappere avonturier kunt worden."
adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden."
scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal een Ambachtslied een link kunnen geven naar een artikel wat past bij een level. Net zoiets als het "
scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou."
scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal elk Ambachtslied niet in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel wat deze informatie bevat voor de speler. Net zoiets als het "
scribe_introduction_url_mozilla: "Mozilla Developer Network"
scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou."
scribe_attribute_1: "Taal-skills zijn praktisch alles wat je nodig hebt. Niet alleen grammatica of spelling, maar ook moeilijke ideeën overbrengen aan anderen."
contact_us_url: "Contacteer ons"
scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!"
more_about_scribe: "Leer meer over het worden van een ijverige Klerk."
scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen."
diplomat_summary: "Er is grote interesse in CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers wie tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor heel de wereld. Als jij wilt helpen met CodeCombat internationaal maken, dan is dit de klasse voor jou."
diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de "
diplomat_launch_url: "release in oktober"
diplomat_introduction_suf: "dan is het wel dat er een significante interesse is in CodeCombat in andere landen, vooral Brazilië! We zijn een corps aan vertalers aan het creëren dat ijverig de ene set woorden in een andere omzet om CodeCombat zo toegankelijk te maken als mogelijk in heel de wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou."
diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide goed te kunnen!"
diplomat_join_pref_github: "Vind van jouw taal het locale bestand "
diplomat_github_url: "op GitHub"
diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen."
more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat"
diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen."
ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou."
ambassador_introduction: "We zijn een community aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en soeciale netwerken met veel andere mensen waarmee je kan praten en hulp kan vragen over het spel en om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!"
ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!"
ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!"
ambassador_join_note_strong: "Opmerking"
ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een wizard met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!"
more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur"
ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen."
counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou."
counselor_introduction_1: "Heb jij levenservaring? Een afwijkend perspectief op zaken die ons kunnen helpen CodeCombat te vormen? Van alle rollen neemt deze wellicht de minste tijd in, maar individueel maak je misschien het grootste verschil. We zijn op zoek naar wijze tovenaars, vooral in het gebied van lesgeven, gameontwikkeling, open source projectmanagement, technische recrutering, ondernemerschap of design."
counselor_introduction_2: "Of eigenlijk alles wat relevant is voor de ontwikkeling van CodeCombat. Als jij kennis hebt en deze wilt dezen om dit project te laten groeien, dan is dit misschien de klasse voor jou."
counselor_attribute_1: "Ervaring, in enig van de bovenstaande gebieden of iets anders waarvan je denkt dat het behulpzaam zal zijn."
counselor_attribute_2: "Een beetje vrije tijd!"
counselor_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag wilt doen. We zullen je in onze contactlijst zetten en je benaderen wanneer we je advies kunnen gebruiken (niet te vaak)."
more_about_counselor: "Leer meer over het worden van een waardevolle Raadgever"
changes_auto_save: "Veranderingen worden automatisch opgeslagen wanneer je het vierkantje aan- of afvinkt."
diligent_scribes: "Onze ijverige Klerks:"
powerful_archmages: "Onze machtige Tovenaars:"
creative_artisans: "Onze creatieve Ambachtslieden:"
brave_adventurers: "Onze dappere Avonturiers:"
translating_diplomats: "Onze vertalende Diplomaten:"
helpful_ambassadors: "Onze helpvolle Ambassadeurs:"
classes:
archmage_title: "Tovenaar"
archmage_title_description: "(Programmeur)"
artisan_title: "Ambachtsman"
artisan_title_description: "(Level Bouwer)"
adventurer_title: "Avonturier"
adventurer_title_description: "(Level Tester)"
scribe_title: "Klerk"
scribe_title_description: "(Redacteur)"
diplomat_title: "Diplomaat"
diplomat_title_description: "(Vertaler)"
ambassador_title: "Ambassadeur"
ambassador_title_description: "(Ondersteuning)"
counselor_title: "Raadgever"
counselor_title_description: "(Expert/Leraar)"
ladder:
please_login: "Log alstublieft eerst in voordat u een ladderspel speelt."
my_matches: "Mijn Wedstrijden"
simulate: "Simuleer"
simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!"
simulate_games: "Simuleer spellen!"
simulate_all: "RESET EN SIMULEER SPELLEN"
leaderboard: "Leaderboard"
battle_as: "Vecht als "
summary_your: "Jouw "
summary_matches: "Wedstrijden - "
summary_wins: " Overwinningen, "
summary_losses: " Nederlagen"
rank_no_code: "Geen nieuwe code om te Beoordelen!"
rank_my_game: "Beoordeel mijn spel!"
rank_submitting: "Verzenden..."
rank_submitted: "Verzonden voor Beoordeling"
rank_failed: "Beoordeling mislukt"
rank_being_ranked: "Spel wordt Beoordeeld"
code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen."
no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het"
no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen."
choose_opponent: "Kies een tegenstander"
tutorial_play: "Speel de Tutorial"
tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld"
tutorial_skip: "Sla Tutorial over"
tutorial_not_sure: "Niet zeker wat er aan de gang is?"
tutorial_play_first: "Speel eerst de Tutorial."
simple_ai: "Simpele AI"
warmup: "Opwarming"
vs: "tegen"
multiplayer_launch:
introducing_dungeon_arena: "Introductie van Dungeon Arena"
new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code."
to_battle: "Naar het slagveld, ontwikkelaars!"
modern_day_sorcerer: "Kan jij programmeren? Hoe stoer is dat. Jij bent een modere voetballer! is het niet tijd dat je jouw magische krachten gebruikt voor het controlleren van jou minions in het slagveld? En nee, we praten heir niet over robots."
arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
ladder_explanation: "Kies jouw helden, betover jouw mens of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in multiplayer coding arenas en verkrijg faam en glorie. Indien je creatief bent, kan je zelfs"
fork_our_arenas: "onze arenas forken"
create_worlds: "en jouw eigen werelden creëren."
javascript_rusty: "Jouw JavaScript is een beetje roest? Wees niet bang, er is een"
tutorial: "tutorial"
new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne."
so_ready: "Ik ben hier zo klaar voor"

View file

@ -31,18 +31,18 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
about: "Over Ons" about: "Over Ons"
contact: "Contact" contact: "Contact"
twitter_follow: "Volgen" twitter_follow: "Volgen"
employers: "Werknemers" employers: "Werkgevers"
versions: versions:
save_version_title: "Nieuwe versie opslagen" save_version_title: "Nieuwe versie opslagen"
new_major_version: "Nieuwe hoofd versie" new_major_version: "Nieuwe hoofd versie"
cla_prefix: "Om bewerkingen op te slagen, moet je eerst akkoord gaan met onze" cla_prefix: "Om bewerkingen op te slaan, moet je eerst akkoord gaan met onze"
cla_url: "CLA" cla_url: "CLA"
cla_suffix: "." cla_suffix: "."
cla_agree: "IK GA AKKOORD" cla_agree: "IK GA AKKOORD"
login: login:
sign_up: "Account Maken" sign_up: "Account maken"
log_in: "Inloggen" log_in: "Inloggen"
log_out: "Uitloggen" log_out: "Uitloggen"
recover: "account herstellen" recover: "account herstellen"
@ -52,7 +52,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
send_password: "Verzend nieuw wachtwoord" send_password: "Verzend nieuw wachtwoord"
signup: signup:
create_account_title: "Maak een account aan om je progressie op te slagen" create_account_title: "Maak een account aan om je vooruitgang op te slaan"
description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:" description: "Het is gratis. We hebben maar een paar dingen nodig en dan kan je aan de slag:"
email_announcements: "Ontvang aankondigingen via email" email_announcements: "Ontvang aankondigingen via email"
coppa: "13+ of niet uit de VS" coppa: "13+ of niet uit de VS"
@ -70,7 +70,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!" old_browser_suffix: "Je kan toch proberen, maar het zal waarschijnlijk niet werken!"
campaign: "Campagne" campaign: "Campagne"
for_beginners: "Voor Beginners" for_beginners: "Voor Beginners"
# multiplayer: "Multiplayer" multiplayer: "Multiplayer"
for_developers: "Voor ontwikkelaars" for_developers: "Voor ontwikkelaars"
play: play:
@ -79,7 +79,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
adventurer_forum: "het Avonturiersforum" adventurer_forum: "het Avonturiersforum"
adventurer_suffix: "." adventurer_suffix: "."
campaign_beginner: "Beginnercampagne" campaign_beginner: "Beginnercampagne"
campaign_beginner_description: "... waarin je de toverkunst van programmeren leert." campaign_beginner_description: "... waarin je de toverkunst van het programmeren leert."
campaign_dev: "Willekeurige moeilijkere levels" campaign_dev: "Willekeurige moeilijkere levels"
campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet." campaign_dev_description: "... waarin je de interface leert kennen terwijl je wat moeilijkers doet."
campaign_multiplayer: "Multiplayer Arena's" campaign_multiplayer: "Multiplayer Arena's"
@ -88,7 +88,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>." campaign_player_created_description: "... waarin je ten strijde trekt tegen de creativiteit van andere <a href=\"/contribute#artisan\">Ambachtelijke Tovenaars</a>."
level_difficulty: "Moeilijkheidsgraad: " level_difficulty: "Moeilijkheidsgraad: "
play_as: "Speel als " play_as: "Speel als "
spectate: "Schouw toe" spectate: "Toeschouwen"
contact: contact:
contact_us: "Contact opnemen met CodeCombat" contact_us: "Contact opnemen met CodeCombat"
@ -118,19 +118,19 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
spell: "Spreuk" spell: "Spreuk"
boots: "Laarzen" boots: "Laarzen"
hue: "Hue" hue: "Hue"
saturation: "Saturation" saturation: "Saturatie"
lightness: "Lightness" lightness: "Helderheid"
account_settings: account_settings:
title: "Account Instellingen" title: "Account Instellingen"
not_logged_in: "Log in of maak een account om je instellingen aan te passen." not_logged_in: "Log in of maak een account aan om je instellingen aan te passen."
autosave: "Aanpassingen Automatisch Opgeslagen" autosave: "Aanpassingen Automatisch Opgeslagen"
me_tab: "Ik" me_tab: "Ik"
picture_tab: "Afbeelding" picture_tab: "Afbeelding"
wizard_tab: "Tovenaar" wizard_tab: "Tovenaar"
password_tab: "Wachtwoord" password_tab: "Wachtwoord"
emails_tab: "Emails" emails_tab: "Emails"
# admin: "Admin" admin: "Administrator"
gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken" gravatar_select: "Selecteer welke Gravatar foto je wilt gebruiken"
gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen." gravatar_add_photos: "Voeg thumbnails en foto's toe aan je Gravatar account, gekoppeld aan jouw email-adres, om een afbeelding te kiezen."
gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken." gravatar_add_more_photos: "Voeg meer afbeeldingen toe aan je Gravatar account om ze hier te gebruiken."
@ -143,8 +143,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
email_notifications_description: "Krijg periodieke meldingen voor jouw account." email_notifications_description: "Krijg periodieke meldingen voor jouw account."
email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat."
contributor_emails: "Medewerker Klasse emails" contributor_emails: "Medewerker Klasse emails"
contribute_prefix: "We zoeken mensen om bij ons feest aan te voegen! Bekijk de " contribute_prefix: "We zoeken mensen om met ons te komen feesten! Bekijk de "
contribute_page: "contributiepagina" contribute_page: "bijdragepagina"
contribute_suffix: " om meer te weten te komen." contribute_suffix: " om meer te weten te komen."
email_toggle: "Vink alles aan/af" email_toggle: "Vink alles aan/af"
error_saving: "Fout Tijdens Het Opslaan" error_saving: "Fout Tijdens Het Opslaan"
@ -154,7 +154,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
account_profile: account_profile:
edit_settings: "Instellingen Aanpassen" edit_settings: "Instellingen Aanpassen"
profile_for_prefix: "Profiel voor " profile_for_prefix: "Profiel voor "
# profile_for_suffix: "" profile_for_suffix: ""
profile: "Profiel" profile: "Profiel"
user_not_found: "Geen gebruiker gevonden. Controleer de URL?" user_not_found: "Geen gebruiker gevonden. Controleer de URL?"
gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:" gravatar_not_found_mine: "We konden geen account vinden gekoppeld met:"
@ -182,9 +182,9 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
reload_title: "Alle Code Herladen?" reload_title: "Alle Code Herladen?"
reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?"
reload_confirm: "Herlaad Alles" reload_confirm: "Herlaad Alles"
# victory_title_prefix: "" victory_title_prefix: ""
victory_title_suffix: " Compleet" victory_title_suffix: " Compleet"
victory_sign_up: "Schrijf je in om je progressie op te slaan" victory_sign_up: "Schrijf je in om je vooruitgang op te slaan"
victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!"
victory_rate_the_level: "Beoordeel het level: " victory_rate_the_level: "Beoordeel het level: "
victory_rank_my_game: "Rankschik mijn Wedstrijd" victory_rank_my_game: "Rankschik mijn Wedstrijd"
@ -217,28 +217,28 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
editor_config: "Editor Configuratie" editor_config: "Editor Configuratie"
editor_config_title: "Editor Configuratie" editor_config_title: "Editor Configuratie"
editor_config_keybindings_label: "Toets instellingen" editor_config_keybindings_label: "Toets instellingen"
# editor_config_keybindings_default: "Default (Ace)" editor_config_keybindings_default: "Standaard (Ace)"
editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors."
editor_config_invisibles_label: "Toon onzichtbare" editor_config_invisibles_label: "Toon onzichtbare"
editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." editor_config_invisibles_description: "Toon onzichtbare whitespace karakters."
editor_config_indentguides_label: "Toon inspringing regels" editor_config_indentguides_label: "Toon inspringing regels"
editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren."
editor_config_behaviors_label: "Slim gedrag" editor_config_behaviors_label: "Slim gedrag"
editor_config_behaviors_description: "Auto-aanvulling (gekrulde) haakjes en aanhalingstekens." editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens."
# loading_ready: "Ready!" loading_ready: "Klaar!"
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor."
# tip_toggle_play: "Toggle play/paused with Ctrl+P." tip_toggle_play: "Verwissel speel/pauze met Ctrl+P."
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." tip_scrub_shortcut: "Ctrl+[ en Ctrl+] om terug te spoelen en vooruit te spoelen."
# tip_guide_exists: "Click the guide at the top of the page for useful info." tip_guide_exists: "Klik op de handleiding bovenaan het scherm voor nuttige informatie."
# tip_open_source: "CodeCombat is 100% open source!" tip_open_source: "CodeCombat is 100% open source!"
# tip_beta_launch: "CodeCombat launched its beta in October, 2013." tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013."
# tip_js_beginning: "JavaScript is just the beginning." tip_js_beginning: "JavaScript is nog maar het begin."
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop."
# tip_baby_coders: "In the future, even babies will be Archmages." tip_baby_coders: "Zelfs babies zullen in de toekomst een Tovenaar zijn."
# tip_morale_improves: "Loading will continue until morale improves." tip_morale_improves: "Het spel zal blijven laden tot de moreel verbeterd."
# tip_all_species: "We believe in equal opportunities to learn programming for all species." tip_all_species: "Wij geloven in gelijke kansen voor alle wezens om te leren programmeren."
# tip_reticulating: "Reticulating spines." # tip_reticulating: "Reticulating spines."
# tip_harry: "Yer a Wizard, " tip_harry: "Je bent een tovenaar, "
admin: admin:
av_title: "Administrator panels" av_title: "Administrator panels"
@ -249,7 +249,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
av_other_debug_base_url: "Base (om base.jade te debuggen)" av_other_debug_base_url: "Base (om base.jade te debuggen)"
u_title: "Gebruikerslijst" u_title: "Gebruikerslijst"
lg_title: "Laatste Spelletjes" lg_title: "Laatste Spelletjes"
# clas: "CLAs" clas: "CLAs"
editor: editor:
main_title: "CodeCombat Editors" main_title: "CodeCombat Editors"
@ -257,10 +257,10 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
article_title: "Artikel Editor" article_title: "Artikel Editor"
article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes." article_description: "Schrijf artikels die spelers een overzicht geven over programmeer concepten die kunnen gebruikt worden over een variëteit van levels en campagnes."
thang_title: "Thang Editor" thang_title: "Thang Editor"
thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd in Flash ondersteund." thang_description: "Maak eenheden, beschrijf hun standaard logica, graphics en audio. Momenteel is enkel het importeren van vector graphics geëxporteerd uit Flash ondersteund."
level_title: "Level Editor" level_title: "Level Editor"
level_description: "Bevat het programma om te programmeren, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wijzelf ook gebruiken!" level_description: "Bevat de benodigdheden om scripts te schrijven, audio te uploaden en aangepaste logica te creëren om alle soorten levels te maken. Het is alles wat wij zelf ook gebruiken!"
security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Met dat wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, " security_notice: "Veel belangrijke elementen in deze editors zijn momenteel niet actief. Als wij de veiligheid van deze systemen verbeteren, zullen ook deze elementen beschikbaar worden. Indien u deze elementen al eerder wil gebruiken, "
contact_us: "contacteer ons!" contact_us: "contacteer ons!"
hipchat_prefix: "Je kan ons ook vinden in ons" hipchat_prefix: "Je kan ons ook vinden in ons"
hipchat_url: "(Engelstalig) HipChat kanaal." hipchat_url: "(Engelstalig) HipChat kanaal."
@ -277,7 +277,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
level_tab_thangs_add: "Voeg element toe" level_tab_thangs_add: "Voeg element toe"
level_settings_title: "Instellingen" level_settings_title: "Instellingen"
level_component_tab_title: "Huidige Componenten" level_component_tab_title: "Huidige Componenten"
level_component_btn_new: "Maak een nieuw component aan" level_component_btn_new: "Maak een nieuwe component aan"
level_systems_tab_title: "Huidige Systemen" level_systems_tab_title: "Huidige Systemen"
level_systems_btn_new: "Maak een nieuw systeem aan" level_systems_btn_new: "Maak een nieuw systeem aan"
level_systems_btn_add: "Voeg Systeem toe" level_systems_btn_add: "Voeg Systeem toe"
@ -288,7 +288,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
level_component_settings: "Instellingen" level_component_settings: "Instellingen"
level_system_edit_title: "Wijzig Systeem" level_system_edit_title: "Wijzig Systeem"
create_system_title: "Maak een nieuw Systeem aan" create_system_title: "Maak een nieuw Systeem aan"
new_component_title: "Maak een nieuw Component aan" new_component_title: "Maak een nieuwe Component aan"
new_component_field_system: "Systeem" new_component_field_system: "Systeem"
new_article_title: "Maak een Nieuw Artikel" new_article_title: "Maak een Nieuw Artikel"
new_thang_title: "Maak een Nieuw Thang Type" new_thang_title: "Maak een Nieuw Thang Type"
@ -324,7 +324,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
score: "Score" score: "Score"
win: "Win" win: "Win"
loss: "Verlies" loss: "Verlies"
tie: "Gelijk" tie: "Gelijkstand"
easy: "Gemakkelijk" easy: "Gemakkelijk"
medium: "Medium" medium: "Medium"
hard: "Moeilijk" hard: "Moeilijk"
@ -335,7 +335,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook " who_description_prefix: "hebben samen CodeCombat opgericht in 2013. We creëerden ook "
who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven." who_description_suffix: "en in 2008, groeide het uit tot de #1 web en iOS applicatie om Chinese en Japanse karakters te leren schrijven."
who_description_ending: "Nu is het tijd om mensen te leren programmeren." who_description_ending: "Nu is het tijd om mensen te leren programmeren."
why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze het eigenlijk zo snel mogelijk nodig hebben via uitgebreide oefeningen. Wij weten hoe dat op te lossen." why_paragraph_1: "Tijdens het maken van Skritter wist George niet hoe hij moest programmeren en was hij constant gefrustreerd doordat hij zijn ideeën niet kon verwezelijken. Nadien probeerde hij te studeren maar de lessen gingen te traag. Ook zijn huisgenoot wou opnieuw studeren en stopte met lesgeven. Hij probeerde Codecademy maar was al snel \"verveeld\". Iedere week startte een andere vriend met Codecademy, met telkens als resultaat dat hij/zij vrij snel met de lessen stopte. We realiseerden ons dat het hetzelfde probleem was zoals we al eerder hadden opgelost met Skritter: mensen leren iets via langzame en intensieve lessen, terwijl ze eigenlijk beter een snelle en uitgebreide opleiding nodig hebben. Wij weten hoe dat op te lossen."
why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet." why_paragraph_2: "Wil je leren programmeren? Je hebt geen lessen nodig. Je moet vooral veel code schrijven en je amuseren terwijl je dit doet."
why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals" why_paragraph_3_prefix: "Dat is waar programmeren om draait. Het moet tof zijn. Niet tof zoals"
why_paragraph_3_italic: "joepie een medaille" why_paragraph_3_italic: "joepie een medaille"
@ -357,13 +357,13 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
opensource_intro: "CodeCombat is gratis en volledig open source." opensource_intro: "CodeCombat is gratis en volledig open source."
opensource_description_prefix: "Bekijk " opensource_description_prefix: "Bekijk "
github_url: "onze GitHub" github_url: "onze GitHub"
opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van duizende open source projecten, en wij zijn er gek van. Bekijk ook " opensource_description_center: "en help ons als je wil! CodeCombat is gebouwd met de hulp van tientallen open source projecten, en wij zijn er gek op. Bekijk ook "
archmage_wiki_url: "onze Tovenaar wiki" archmage_wiki_url: "onze Tovenaar wiki"
opensource_description_suffix: "voor een lijst van de software dat dit spel mogelijk maakt." opensource_description_suffix: "voor een lijst van de software die dit spel mogelijk maakt."
practices_title: "Goede Respectvolle gewoonten" practices_title: "Goede Respectvolle gewoonten"
practices_description: "Dit zijn onze beloften aan u, de speler, en iets minder juridische jargon." practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon."
privacy_title: "Privacy" privacy_title: "Privacy"
privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen geld verdienen dankzij aanwerving in verloop van tijd, maar je mag op je twee oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat." privacy_description: "We zullen nooit jouw persoonlijke informatie verkopen. We willen in verloop van tijd geld verdienen dankzij aanwervingen, maar je mag op je beide oren slapen dat wij nooit jouw persoonlijke informatie zullen verspreiden aan geïnteresseerde bedrijven zonder dat jij daar expliciet mee akkoord gaat."
security_title: "Beveiliging" security_title: "Beveiliging"
security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn."
email_title: "E-mail" email_title: "E-mail"
@ -375,7 +375,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
recruitment_title: "Aanwervingen" recruitment_title: "Aanwervingen"
recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt." recruitment_description_prefix: "Hier bij CodeCombat, ga je ontplooien tot een krachtige tovenoor-niet enkel virtueel, maar ook in het echt."
url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven" url_hire_programmers: "Niemand kan snel genoeg programmeurs aanwerven"
recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste codeer prestaties voorstellen aan duizenden bedrijven die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou" recruitment_description_suffix: "dus eenmaal je jouw vaardigheden hebt aangescherp en ermee akkoord gaat, zullen we jouw beste programmeer prestaties voorstellen aan duizenden werkgevers die niet kunnen wachten om jou aan te werven. Zij betalen ons een beetje, maar betalen jou"
recruitment_description_italic: "enorm veel" recruitment_description_italic: "enorm veel"
recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan." recruitment_description_ending: "de site blijft volledig gratis en iedereen is gelukkig. Dat is het plan."
copyrights_title: "Auteursrechten en licenties" copyrights_title: "Auteursrechten en licenties"
@ -384,25 +384,25 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
cla_url: "CLA" cla_url: "CLA"
contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken." contributor_description_suffix: "waarmee je moet akkoord gaan voordat wij jouw bijdragen kunnen gebruiken."
code_title: "Code - MIT" code_title: "Code - MIT"
code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository of in de codecombat.com database, is erkend onder de" code_description_prefix: "Alle code in het bezit van CodeCombat of aanwezig op codecombat.com, zowel in de GitHub respository als in de codecombat.com database, is erkend onder de"
mit_license_url: "MIT licentie" mit_license_url: "MIT licentie"
code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiekelijk is gemaakt met als doelstellingen het maken van levels." code_description_suffix: "Dit geldt ook voor code in Systemen en Componenten dat publiek is gemaakt met als doel het maken van levels."
art_title: "Art/Music - Creative Commons " art_title: "Art/Music - Creative Commons "
art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de" art_description_prefix: "Alle gemeenschappelijke inhoud valt onder de"
cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie" cc_license_url: "Creative Commons Attribution 4.0 Internationale Licentie"
art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat voor het doel levels te maken. Dit omvat:" art_description_suffix: "Gemeenschappelijke inhoud is alles dat algemeen verkrijgbaar is bij CodeCombat met als doel levels te maken. Dit omvat:"
art_music: "Muziek" art_music: "Muziek"
art_sound: "Geluid" art_sound: "Geluid"
art_artwork: "Artwork" art_artwork: "Illustraties"
art_sprites: "Sprites" art_sprites: "Sprites"
art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels." art_other: "Eender wat en al het creatief werk dat niet als code aanzien wordt en verkrijgbaar is bij het aanmaken van levels."
art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assitentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken." art_access: "Momenteel is er geen universeel en gebruiksvriendelijk systeem voor het ophalen van deze assets. In het algemeen, worden deze opgehaald via de links zoals gebruikt door de website. Contacteer ons voor assistentie, of help ons met de website uit te breiden en de assets bereikbaarder te maken."
art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:" art_paragraph_1: "Voor toekenning, gelieve de naam en link naar codecombat.com te plaatsen waar dit passend is voor de vorm waarin het voorkomt. Bijvoorbeeld:"
use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits." use_list_1: "Wanneer gebruikt in een film of een ander spel, voeg codecombat.com toe in de credits."
use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Create Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat alreeds duidelijk is gespecificeerd met CodeCombat, zoals een blog artikel, dat CodeCombat vernoemt, heeft geen aparte vermelding nodig." use_list_2: "Wanneer toegepast op een website, inclusief een link naar het gebruik, bijvoorbeeld onderaan een afbeelding. Of in een algemene webpagina waar je eventueel ook andere Creative Commons werken en open source software vernoemd die je gebruikt op de website. Iets dat al duidelijk gerelateerd is met CodeCombat, zoals een blog artikel dat CodeCombat vernoemd, heeft geen aparte vermelding nodig."
art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg verspreidingsaanwijzingen van die brons als die er zijn." art_paragraph_2: "Wanneer de gebruikte inhoud is gemaakt door een gebruiker van codecombat.com, vernoem hem/haar in plaats van ons en volg toekenningsaanwijzingen als deze in de beschrijving van de bron staan."
rights_title: "Rechten Voorbehouden" rights_title: "Rechten Voorbehouden"
rights_desc: "Alle rechten zijn voorbehouden voor de Levels. Dit omvat:" rights_desc: "Alle rechten zijn voorbehouden voor de Levels zelf. Dit omvat:"
rights_scripts: "Scripts" rights_scripts: "Scripts"
rights_unit: "Eenheid Configuratie" rights_unit: "Eenheid Configuratie"
rights_description: "Beschrijvingen" rights_description: "Beschrijvingen"
@ -419,77 +419,77 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat." introduction_desc_intro: "We hebben hoge verwachtingen over CodeCombat."
introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, " introduction_desc_pref: "We willen zijn waar programmeurs van alle niveaus komen om te leren en samen te spelen, anderen introduceren aan de wondere wereld van code, en de beste delen van de gemeenschap te reflecteren. We kunnen en willen dit niet alleen doen; wat projecten zoals GitHub, Stack Overflow en Linux groots en succesvol maken, zijn de mensen die deze software gebruiken en verbeteren. Daartoe, "
introduction_desc_github_url: "CodeCombat is volledig open source" introduction_desc_github_url: "CodeCombat is volledig open source"
introduction_desc_suf: ", en we mikken ernaar om zoveel mogelijk manieren mogelijk maken voor u om deel te nemen en dit project van zowel jou als ons te maken." introduction_desc_suf: ", en we streven ernaar om op zoveel mogelijk manieren het mogelijk te maken voor u om deel te nemen en dit project van zowel jou als ons te maken."
introduction_desc_ending: "We hopen dat je met ons meedoet!" introduction_desc_ending: "We hopen dat je met ons meedoet!"
introduction_desc_signature: "- Nick, George, Scott, Michael, en Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy en Glen"
alert_account_message_intro: "Hallo!" alert_account_message_intro: "Hallo!"
alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst " alert_account_message_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst "
alert_account_message_suf: "." alert_account_message_suf: "."
alert_account_message_create_url: "een account aanmaken" alert_account_message_create_url: "een account aanmaken"
archmage_summary: "Geïnteresserd in werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit." archmage_summary: "Geïnteresserd in het werken aan game graphics, user interface design, database- en serverorganisatie, multiplayer networking, physics, geluid of game engine prestaties? Wil jij helpen een game te bouwen wat anderen leert waar jij goed in bent? We moeten nog veel doen en als jij een ervaren programmeur bent en wil ontwikkelen voor CodeCombat, dan is dit de klasse voor jou. We zouden graag je hulp hebben bij het maken van de beste programmeergame ooit."
archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk veel van de voorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je handen veel te maken met CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw help hebben met het bouwen aan het allerbeste programmeerspel ooit." archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit."
class_attributes: "Klasse kenmerken" class_attributes: "Klasse kenmerken"
archmage_attribute_1_pref: "Ervaring met " archmage_attribute_1_pref: "Ervaring met "
archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax." archmage_attribute_1_suf: ", of de wil om het te leren. De meeste van onze code is in deze taal. Indien je een fan van Ruby of Python bent, zal je je meteen thuis voelen! Het is zoals JavaScript, maar met een mooiere syntax."
archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden." archmage_attribute_2: "Ervaring in programmeren en individueel initiatief. We kunnen jou helpen bij het opstarten, maar kunnen niet veel tijd spenderen om je op te leiden."
how_to_join: "Hoe deel te nemen" how_to_join: "Hoe deel te nemen"
join_desc_1: "Iedereen kan helpen! Bekijk onze " join_desc_1: "Iedereen kan helpen! Bekijk onze "
join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jouzelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer met ons kan samenwerken? " join_desc_2: "om te starten, en vink het vierkantje hieronder aan om jezelf te abonneren als dappere tovenaar en het laatste magische nieuws te ontvangen. Wil je met ons praten over wat er te doen is of hoe je nog meer kunt helpen? "
join_desc_3: ", of vind ons in " join_desc_3: ", of vind ons in "
join_desc_4: "en we bekijken het verder vandaar!" join_desc_4: "en we bekijken het verder vandaar!"
join_url_email: "E-mail ons" join_url_email: "E-mail ons"
join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal" join_url_hipchat: "ons publiek (Engelstalig) HipChat kanaal"
more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden" more_about_archmage: "Leer meer over hoe je een Machtige Tovenaar kan worden"
archmage_subscribe_desc: "Ontvang e-mails met nieuwe codeer oppurtiniteiten en aankondigingen." archmage_subscribe_desc: "Ontvang e-mails met nieuwe programmeer mogelijkheden en aankondigingen."
artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat kaal, dus wees daarvan bewust. Levels maken zal een beetje uitdagend en buggy zijn. Als jij een visie van campagnes hebt van for-loops tot" artisan_summary_pref: "Wil je levels ontwerpen en CodeCombat's arsenaal vergroten? Mensen spelen sneller door onze content dan wij bij kunnen houden! Op dit moment is onze level editor nog wat beperkt, dus wees daarvan bewust. Het maken van levels zal een uitdaging zijn met een grote kans op fouten. Als jij een visie van campagnes hebt van for-loops tot"
artisan_summary_suf: "dan is dit de klasse voor jou." artisan_summary_suf: "dan is dit de klasse voor jou."
artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor is amper gebruikt door zelfs ons, wees dus voorzichtig. Indien je visioenen hebt van campagnes, gaande van for-loops tot" artisan_introduction_pref: "We moeten meer levels bouwen! Mensen schreeuwen om meer inhoud, en er zijn ook maar zoveel levels dat wij kunnen maken. Momenteel is jouw werkplaats level een; onze level editor wordt zelfs door ons amper gebruikt, dus wees voorzichtig. Indien je een visie hebt van een campagne, gaande van for-loops tot"
artisan_introduction_suf: "dan is deze klasse waarschijnlijk iets voor jou." artisan_introduction_suf: "dan is deze klasse waarschijnlijk iets voor jou."
artisan_attribute_1: "Enige ervaring in het maken van gelijkbare inhoud. Bijvoorbeeld ervaring het gebruiken van Blizzard's level editor. Maar dit is niet vereist!" artisan_attribute_1: "Enige ervaring in het maken van vergelijkbare inhoud. Bijvoorbeeld ervaring in het gebruiken van Blizzard's level editor. Maar dit is niet vereist!"
artisan_attribute_2: "Tot in detail testen en itereren staat voor jou gelijk aan plezier. Om goede levels te maken, moet jet het door anderen laten spelen en bereid zijn om een hele boel aan te passen." artisan_attribute_2: "Tot in het detail testen en opnieuw proberen staat voor jou gelijk aan plezier. Om goede levels te maken, moet je het door anderen laten spelen en bereid zijn om een hele boel aan te passen."
artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je frustraties kan werken. Samenwerken met een Adventurer kan jou ook veel helpen." artisan_attribute_3: "Momenteel heb je nog veel geduld nodig, doordat onze editor nog vrij ruw is en op je zenuwen kan werken. Samenwerken met een Avonturier kan jou ook veel helpen."
artisan_join_desc: "Gebruik de Level Editor in deze volgorde, min of meer:" artisan_join_desc: "Gebruik de Level Editor min of meer in deze volgorde:"
artisan_join_step1: "Lees de documentatie." artisan_join_step1: "Lees de documentatie."
artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels." artisan_join_step2: "Maak een nieuw level en bestudeer reeds bestaande levels."
artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)" artisan_join_step3: "Praat met ons in ons publieke (Engelstalige) HipChat kanaal voor hulp. (optioneel)"
artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback." artisan_join_step4: "Maak een bericht over jouw level op ons forum voor feedback."
more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden." more_about_artisan: "Leer meer over hoe je een Creatieve Ambachtsman kan worden."
artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor." artisan_subscribe_desc: "Ontvang e-mails met nieuws over de Level Editor."
adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou." adventurer_summary: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien, want het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou."
adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels te proberen en te kijken hoe deze beter kunnen. De pijn zal groot zijn, het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoge constitution score hebt, dan is dit de klasse voor jou." adventurer_introduction: "Laten we duidelijk zijn over je rol: jij bent de tank. Jij krijgt de zware klappen te verduren. We hebben mensen nodig om spiksplinternieuwe levels uit te proberen en te kijken hoe deze beter kunnen. Je zult veel afzien.Het maken van een goede game is een lang proces en niemand doet het de eerste keer goed. Als jij dit kan verduren en een hoog uihoudingsvermogen hebt, dan is dit de klasse voor jou."
adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen." adventurer_attribute_1: "Een wil om te leren. Jij wilt leren hoe je programmeert en wij willen het jou leren. Je zal overigens zelf het meeste leren doen."
adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan." adventurer_attribute_2: "Charismatisch. Wees netjes maar duidelijk over wat er beter kan en geef suggesties over hoe het beter kan."
adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook posten over levels die beoordeeld moeten worden op onze netwerken zoals" adventurer_join_pref: "Werk samen met een Ambachtsman of recruteer er een, of tik het veld hieronder aan om e-mails te ontvangen wanneer er nieuwe levels zijn om te testen. We zullen ook berichten over levels die beoordeeld moeten worden op onze netwerken zoals"
adventurer_forum_url: "ons forum" adventurer_forum_url: "ons forum"
adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!" adventurer_join_suf: "dus als je liever op deze manier wordt geïnformeerd, schrijf je daar in!"
more_about_adventurer: "Leer meer over hoe je een dappere avonturier kunt worden." more_about_adventurer: "Leer meer over hoe je een Dappere Avonturier kunt worden."
adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden." adventurer_subscribe_desc: "Ontvang e-mails wanneer er nieuwe levels zijn die getest moeten worden."
scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal een Ambachtslied een link kunnen geven naar een artikel wat past bij een level. Net zoiets als het " scribe_summary_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn die spelers kunnen nakijken. Op die manier zal een Ambachtsman een link kunnen geven naar een artikel dat past bij een level. Net zoiets als het "
scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou." scribe_summary_suf: " heeft gebouwd. Als jij het leuk vindt programmeerconcepten uit te leggen, dan is deze klasse iets voor jou."
scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal elk Ambachtslied niet in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel wat deze informatie bevat voor de speler. Net zoiets als het " scribe_introduction_pref: "CodeCombat is meer dan slechts een aantal levels, het zal ook een bron van kennis zijn en een wiki met programmeerconcepten waar levels op in kunnen gaan. Op die manier zal niet elke Ambachtsman in detail hoeven uit te leggen wat een vergelijkingsoperator is, maar een link kunnen geven naar een artikel die deze informatie al verduidelijkt voor speler. Net zoiets als het "
scribe_introduction_url_mozilla: "Mozilla Developer Network" scribe_introduction_url_mozilla: "Mozilla Developer Network"
scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou." scribe_introduction_suf: " heeft gebouwd. Als jij het leuk vindt om programmeerconcepten uit te leggen in Markdown-vorm, dan is deze klasse wellicht iets voor jou."
scribe_attribute_1: "Taal-skills zijn praktisch alles wat je nodig hebt. Niet alleen grammatica of spelling, maar ook moeilijke ideeën overbrengen aan anderen." scribe_attribute_1: "Taalvaardigheid is praktisch alles wat je nodig hebt. Je moet niet enkel bedreven zijn in grammatica en spelling, maar ook moeilijke ideeën kunnen overbrengen aan anderen."
contact_us_url: "Contacteer ons" contact_us_url: "Contacteer ons"
scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!" scribe_join_description: "vertel ons wat over jezelf, je ervaring met programmeren en over wat voor soort dingen je graag zou schrijven. Verder zien we wel!"
more_about_scribe: "Leer meer over het worden van een ijverige Klerk." more_about_scribe: "Leer meer over het worden van een ijverige Klerk."
scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen." scribe_subscribe_desc: "Ontvang e-mails met aankondigingen over het schrijven van artikelen."
diplomat_summary: "Er is grote interesse in CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers wie tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor heel de wereld. Als jij wilt helpen met CodeCombat internationaal maken, dan is dit de klasse voor jou." diplomat_summary: "Er is grote interesse voor CodeCombat in landen waar geen Engels wordt gesproken! We zijn op zoek naar vertalers die tijd willen spenderen aan het vertalen van de site's corpus aan woorden zodat CodeCombat zo snel mogelijk toegankelijk wordt voor de hele wereld. Als jij wilt helpen om CodeCombat internationaal maken, dan is dit de klasse voor jou."
diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de " diplomat_introduction_pref: "Dus, als er iets is wat we geleerd hebben van de "
diplomat_launch_url: "release in oktober" diplomat_launch_url: "release in oktober"
diplomat_introduction_suf: "dan is het wel dat er een significante interesse is in CodeCombat in andere landen, vooral Brazilië! We zijn een corps aan vertalers aan het creëren dat ijverig de ene set woorden in een andere omzet om CodeCombat zo toegankelijk te maken als mogelijk in heel de wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou."
diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide goed te kunnen!" diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!"
diplomat_join_pref_github: "Vind van jouw taal het locale bestand " diplomat_join_pref_github: "Vind van jouw taal het locale bestand "
diplomat_github_url: "op GitHub" diplomat_github_url: "op GitHub"
diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen." diplomat_join_suf_github: ", edit het online, en submit een pull request. Daarnaast kun je hieronder aanvinken als je up-to-date wilt worden gehouden met nieuwe internationalisatie-ontwikkelingen."
more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat" more_about_diplomat: "Leer meer over het worden van een geweldige Diplomaat"
diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen." diplomat_subscribe_desc: "Ontvang e-mails over i18n ontwikkelingen en levels om te vertalen."
ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou." ambassador_summary: "We proberen een gemeenschap te bouwen en elke gemeenschap heeft een supportteam nodig wanneer er problemen zijn. We hebben chats, e-mails en sociale netwerken zodat onze gebruikers het spel kunnen leren kennen. Als jij mensen wilt helpen betrokken te raken, plezier te hebben en wat te leren programmeren, dan is dit wellicht de klasse voor jou."
ambassador_introduction: "We zijn een community aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en soeciale netwerken met veel andere mensen waarmee je kan praten en hulp kan vragen over het spel en om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!" ambassador_introduction: "We zijn een gemeenschap aan het uitbouwen, en jij maakt er deel van uit. We hebben Olark chatkamers, emails, en sociale netwerken met veel andere mensen waarmee je kan praten en hulp aan kan vragen over het spel of om bij te leren. Als jij mensen wil helpen en te werken nabij de hartslag van CodeCombat in het bijsturen van onze toekomstvisie, dan is dit de geknipte klasse voor jou!"
ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!" ambassador_attribute_1: "Communicatieskills. Problemen die spelers hebben kunnen identificeren en ze helpen deze op te lossen. Verder zul je ook de rest van ons geïnformeerd houden over wat de spelers zeggen, wat ze leuk vinden, wat ze minder vinden en waar er meer van moet zijn!"
ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!" ambassador_join_desc: "vertel ons wat over jezelf, wat je hebt gedaan en wat je graag zou doen. We zien verder wel!"
ambassador_join_note_strong: "Opmerking" ambassador_join_note_strong: "Opmerking"
ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een wizard met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!" ambassador_join_note_desc: "Een van onze topprioriteiten is om een multiplayer te bouwen waar spelers die moeite hebben een level op te lossen een tovenaar met een hoger level kunnen oproepen om te helpen. Dit zal een goede manier zijn voor ambassadeurs om hun ding te doen. We houden je op de hoogte!"
more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur" more_about_ambassador: "Leer meer over het worden van een behulpzame Ambassadeur"
ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen." ambassador_subscribe_desc: "Ontvang e-mails met updates over ondersteuning en multiplayer-ontwikkelingen."
counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou." counselor_summary: "Geen van de rollen hierboven in jouw interessegebied? Maak je geen zorgen, we zijn op zoek naar iedereen die wil helpen met het ontwikkelen van CodeCombat! Als je geïnteresseerd bent in lesgeven, gameontwikkeling, open source management of iets anders waarvan je denkt dat het relevant voor ons is, dan is dit de klasse voor jou."
@ -505,7 +505,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
creative_artisans: "Onze creatieve Ambachtslieden:" creative_artisans: "Onze creatieve Ambachtslieden:"
brave_adventurers: "Onze dappere Avonturiers:" brave_adventurers: "Onze dappere Avonturiers:"
translating_diplomats: "Onze vertalende Diplomaten:" translating_diplomats: "Onze vertalende Diplomaten:"
helpful_ambassadors: "Onze helpvolle Ambassadeurs:" helpful_ambassadors: "Onze behulpzame Ambassadeurs:"
classes: classes:
archmage_title: "Tovenaar" archmage_title: "Tovenaar"
@ -530,8 +530,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!" simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!"
simulate_games: "Simuleer spellen!" simulate_games: "Simuleer spellen!"
simulate_all: "RESET EN SIMULEER SPELLEN" simulate_all: "RESET EN SIMULEER SPELLEN"
# games_simulated_by: "Games simulated by you:" games_simulated_by: "Door jou gesimuleerde spellen:"
# games_simulated_for: "Games simulated for you:" games_simulated_for: "Voor jou gesimuleerde spellen:"
leaderboard: "Leaderboard" leaderboard: "Leaderboard"
battle_as: "Vecht als " battle_as: "Vecht als "
summary_your: "Jouw " summary_your: "Jouw "
@ -551,7 +551,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
tutorial_play: "Speel de Tutorial" tutorial_play: "Speel de Tutorial"
tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld"
tutorial_skip: "Sla Tutorial over" tutorial_skip: "Sla Tutorial over"
tutorial_not_sure: "Niet zeker wat er aan de gang is?" tutorial_not_sure: "Niet zeker wat er aan de hand is?"
tutorial_play_first: "Speel eerst de Tutorial." tutorial_play_first: "Speel eerst de Tutorial."
simple_ai: "Simpele AI" simple_ai: "Simpele AI"
warmup: "Opwarming" warmup: "Opwarming"
@ -561,12 +561,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
introducing_dungeon_arena: "Introductie van Dungeon Arena" introducing_dungeon_arena: "Introductie van Dungeon Arena"
new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code."
to_battle: "Naar het slagveld, ontwikkelaars!" to_battle: "Naar het slagveld, ontwikkelaars!"
modern_day_sorcerer: "Kan jij programmeren? Hoe stoer is dat. Jij bent een modere voetballer! is het niet tijd dat je jouw magische krachten gebruikt voor het controlleren van jou minions in het slagveld? En nee, we praten heir niet over robots." modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots."
arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er."
ladder_explanation: "Kies jouw helden, betover jouw mens of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in multiplayer coding arenas en verkrijg faam en glorie. Indien je creatief bent, kan je zelfs" ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs"
fork_our_arenas: "onze arenas forken" fork_our_arenas: "onze arenas forken"
create_worlds: "en jouw eigen werelden creëren." create_worlds: "en jouw eigen werelden creëren."
javascript_rusty: "Jouw JavaScript is een beetje roest? Wees niet bang, er is een" javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een"
tutorial: "tutorial" tutorial: "tutorial"
new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne."
so_ready: "Ik ben hier zo klaar voor" so_ready: "Ik ben hier zo klaar voor"

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
introduction_desc_github_url: "CodeCombat jest całkowicie open source" introduction_desc_github_url: "CodeCombat jest całkowicie open source"
introduction_desc_suf: " i zamierzamy zapewnić tak wiele sposobów na współpracę w projekcie jak to tylko możliwe, by był on tak samo nasz, jak i wasz." introduction_desc_suf: " i zamierzamy zapewnić tak wiele sposobów na współpracę w projekcie jak to tylko możliwe, by był on tak samo nasz, jak i wasz."
introduction_desc_ending: "Liczymy, że dołączysz się do nas!" introduction_desc_ending: "Liczymy, że dołączysz się do nas!"
introduction_desc_signature: "- Nick, George, Scott, Michael i Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy i Glen"
alert_account_message_intro: "Hej tam!" alert_account_message_intro: "Hej tam!"
alert_account_message_pref: "Aby zapisać się do naszego e-maila klasowego, musisz najpierw " alert_account_message_pref: "Aby zapisać się do naszego e-maila klasowego, musisz najpierw "
alert_account_message_suf: "." alert_account_message_suf: "."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
introduction_desc_github_url: "CodeCombat é totalmente código aberto" introduction_desc_github_url: "CodeCombat é totalmente código aberto"
introduction_desc_suf: ", e nosso objetivo é oferecer quantas maneiras forem possíveis para você participar e fazer deste projeto tanto seu como nosso." introduction_desc_suf: ", e nosso objetivo é oferecer quantas maneiras forem possíveis para você participar e fazer deste projeto tanto seu como nosso."
introduction_desc_ending: "Nós esperamos que você se junte a nossa festa!" introduction_desc_ending: "Nós esperamos que você se junte a nossa festa!"
introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
alert_account_message_intro: "Ei!" alert_account_message_intro: "Ei!"
alert_account_message_pref: "Para se inscrever para os emails de classe, você vai precisar, " alert_account_message_pref: "Para se inscrever para os emails de classe, você vai precisar, "
alert_account_message_suf: "primeiro." alert_account_message_suf: "primeiro."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -66,12 +66,12 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
no_ie: "CodeCombat nu merge pe Internet Explorer 9 sau mai vechi. Scuze!" no_ie: "CodeCombat nu merge pe Internet Explorer 9 sau mai vechi. Scuze!"
no_mobile: "CodeCombat nu a fost proiectat pentru dispozitive mobile si s-ar putea sa nu meargă!" no_mobile: "CodeCombat nu a fost proiectat pentru dispozitive mobile si s-ar putea sa nu meargă!"
play: "Joacă" play: "Joacă"
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" old_browser: "Mda , browser-ul tău este prea vechi pentru CodeCombat. Scuze!"
# old_browser_suffix: "You can try anyway, but it probably won't work." old_browser_suffix: "Poți să încerci oricum ,dar probabil nu o să meargă."
# campaign: "Campaign" campaign: "Campanie"
# for_beginners: "For Beginners" for_beginners: "Pentru Începători"
# multiplayer: "Multiplayer" multiplayer: "Multiplayer"
# for_developers: "For Developers" for_developers: "Pentru dezvoltatori"
play: play:
choose_your_level: "Alege nivelul" choose_your_level: "Alege nivelul"
@ -88,7 +88,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
campaign_player_created_description: "... în care ai ocazia să testezi creativitatea colegilor tai <a href=\"/contribute#artisan\">Artisan Wizards</a>." campaign_player_created_description: "... în care ai ocazia să testezi creativitatea colegilor tai <a href=\"/contribute#artisan\">Artisan Wizards</a>."
level_difficulty: "Dificultate: " level_difficulty: "Dificultate: "
play_as: "Alege-ți echipa" play_as: "Alege-ți echipa"
# spectate: "Spectate" spectate: "Spectator"
contact: contact:
contact_us: "Contact CodeCombat" contact_us: "Contact CodeCombat"
@ -214,31 +214,31 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
hud_continue: "Continuă (apasă shift-space)" hud_continue: "Continuă (apasă shift-space)"
spell_saved: "Vrajă salvată" spell_saved: "Vrajă salvată"
skip_tutorial: "Sari peste (esc)" skip_tutorial: "Sari peste (esc)"
# editor_config: "Editor Config" editor_config: "Editor Config"
# editor_config_title: "Editor Configuration" editor_config_title: "Configurare Editor"
# editor_config_keybindings_label: "Key Bindings" editor_config_keybindings_label: "Mapare taste"
# editor_config_keybindings_default: "Default (Ace)" editor_config_keybindings_default: "Default (Ace)"
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." editor_config_keybindings_description: "Adaugă comenzi rapide suplimentare cunoscute din editoarele obisnuite." # not sure, where is this on the site?
# editor_config_invisibles_label: "Show Invisibles" editor_config_invisibles_label: "Arată etichetele invizibile"
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." editor_config_invisibles_description: "Arată spațiile și taburile invizibile."
# editor_config_indentguides_label: "Show Indent Guides" editor_config_indentguides_label: "Arată ghidul de indentare"
# editor_config_indentguides_description: "Displays vertical lines to see indentation better." editor_config_indentguides_description: "Arată linii verticale pentru a vedea mai bine indentarea."
# editor_config_behaviors_label: "Smart Behaviors" editor_config_behaviors_label: "Comportamente inteligente" # context?
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." editor_config_behaviors_description: "Completează automat parantezele, ghilimele etc."
# loading_ready: "Ready!" loading_ready: "Gata!"
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." tip_insert_positions: "Shift+Click oriunde pe harta pentru a insera punctul în editorul de vrăji."
# tip_toggle_play: "Toggle play/paused with Ctrl+P." tip_toggle_play: "Pune sau scoate pauza cu Ctrl+P."
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward." tip_scrub_shortcut: "Înapoi și derulare rapidă cu Ctrl+[ and Ctrl+]."
# tip_guide_exists: "Click the guide at the top of the page for useful info." tip_guide_exists: "Apasă pe ghidul din partea de sus a pagini pentru informații utile."
# tip_open_source: "CodeCombat is 100% open source!" tip_open_source: "CodeCombat este 100% open source!"
# tip_beta_launch: "CodeCombat launched its beta in October, 2013." tip_beta_launch: "CodeCombat a fost lansat beta in Octombrie 2013."
# tip_js_beginning: "JavaScript is just the beginning." tip_js_beginning: "JavaScript este doar începutul."
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." tip_autocast_setting: "Ajutează setările de autocast apăsând pe rotița de pe buton."
# tip_baby_coders: "In the future, even babies will be Archmages." tip_baby_coders: "În vitor până și bebelușii vor fi Archmage."
# tip_morale_improves: "Loading will continue until morale improves." tip_morale_improves: "Se va încărca până până când va crește moralul."
# tip_all_species: "We believe in equal opportunities to learn programming for all species." tip_all_species: "Noi credem în șanse egale de a învăța programare pentru toate speciile."
# tip_reticulating: "Reticulating spines." # tip_reticulating: "Reticulating spines." ??????????context ???
# tip_harry: "Yer a Wizard, " tip_harry: "Ha un Wizard, "
admin: admin:
av_title: "Admin vede" av_title: "Admin vede"
@ -249,7 +249,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
av_other_debug_base_url: "Base (pentru debugging base.jade)" av_other_debug_base_url: "Base (pentru debugging base.jade)"
u_title: "Listă utilizatori" u_title: "Listă utilizatori"
lg_title: "Ultimele jocuri" lg_title: "Ultimele jocuri"
# clas: "CLAs" clas: "CLAs"
editor: editor:
main_title: "Editori CodeCombat" main_title: "Editori CodeCombat"
@ -421,7 +421,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
introduction_desc_github_url: "CodeCombat este complet open source" introduction_desc_github_url: "CodeCombat este complet open source"
introduction_desc_suf: ", și ne propunem să vă punem la dispoziție pe cât de mult posibil modalități de a lua parte la acest proiect pentru a-l face la fel de mult as vostru cât și al nostru." introduction_desc_suf: ", și ne propunem să vă punem la dispoziție pe cât de mult posibil modalități de a lua parte la acest proiect pentru a-l face la fel de mult as vostru cât și al nostru."
introduction_desc_ending: "Sperăm să vă placă petrecerea noastră!" introduction_desc_ending: "Sperăm să vă placă petrecerea noastră!"
introduction_desc_signature: "- Nick, George, Scott, Michael, și Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy și Glen"
alert_account_message_intro: "Salutare!" alert_account_message_intro: "Salutare!"
alert_account_message_pref: "Pentru a te abona la email-uri de clasă, va trebui să " alert_account_message_pref: "Pentru a te abona la email-uri de clasă, va trebui să "
alert_account_message_suf: "mai întâi." alert_account_message_suf: "mai întâi."
@ -530,8 +530,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
simulation_explanation: "Simulând jocuri poți afla poziția în clasament a jocului tău mai repede!" simulation_explanation: "Simulând jocuri poți afla poziția în clasament a jocului tău mai repede!"
simulate_games: "Simulează Jocuri!" simulate_games: "Simulează Jocuri!"
simulate_all: "RESETEAZĂ ȘI SIMULEAZĂ JOCURI" simulate_all: "RESETEAZĂ ȘI SIMULEAZĂ JOCURI"
# games_simulated_by: "Games simulated by you:" games_simulated_by: "Jocuri simulate de tine:"
# games_simulated_for: "Games simulated for you:" games_simulated_for: "Jocuri simulate pentru tine:"
leaderboard: "Clasament" leaderboard: "Clasament"
battle_as: "Luptă ca " battle_as: "Luptă ca "
summary_your: "Al tău " summary_your: "Al tău "

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
introduction_desc_github_url: "исходный код CodeCombat полностью открыт" introduction_desc_github_url: "исходный код CodeCombat полностью открыт"
introduction_desc_suf: ", и мы стремимся предоставить как можно больше способов, чтобы вы могли принять участие и сделать этот проект настолько же вашим, как и нашим." introduction_desc_suf: ", и мы стремимся предоставить как можно больше способов, чтобы вы могли принять участие и сделать этот проект настолько же вашим, как и нашим."
introduction_desc_ending: "Мы надеемся, что вы присоединитесь к нашей команде!" introduction_desc_ending: "Мы надеемся, что вы присоединитесь к нашей команде!"
introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль и Джереми" introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль, Джереми и лощина"
alert_account_message_intro: "Привет!" alert_account_message_intro: "Привет!"
alert_account_message_pref: "Чтобы подписаться на email-ы для классов, вам необходимо сначала " alert_account_message_pref: "Чтобы подписаться на email-ы для классов, вам необходимо сначала "
alert_account_message_suf: "." alert_account_message_suf: "."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
introduction_desc_github_url: "CodeCombat is totally open source" introduction_desc_github_url: "CodeCombat is totally open source"
introduction_desc_suf: ", och vi siktar på att tillhandahålla så många sätt som möjligt för dig att delta och göra det här projektet till lika mycket ditt som vårt." introduction_desc_suf: ", och vi siktar på att tillhandahålla så många sätt som möjligt för dig att delta och göra det här projektet till lika mycket ditt som vårt."
introduction_desc_ending: "Vi hoppas att du vill vara med!" introduction_desc_ending: "Vi hoppas att du vill vara med!"
introduction_desc_signature: "- Nick, George, Scott, Michael, och Jeremy" introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy och Glen"
alert_account_message_intro: "Hej där!" alert_account_message_intro: "Hej där!"
alert_account_message_pref: "För att prenumerera på klassmail måste du" alert_account_message_pref: "För att prenumerera på klassmail måste du"
alert_account_message_suf: "först." alert_account_message_suf: "först."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, ,Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -66,12 +66,12 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
no_ie: "抱歉Internet Explorer 9 等旧式预览器无法使用本网站。" no_ie: "抱歉Internet Explorer 9 等旧式预览器无法使用本网站。"
no_mobile: "CodeCombat 不是针对手机设备设计的,所以可能无法达到最好的体验!" no_mobile: "CodeCombat 不是针对手机设备设计的,所以可能无法达到最好的体验!"
play: "开始游戏" play: "开始游戏"
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" old_browser: "噢, 你的浏览器太老了, 不能运行CodeCombat. 抱歉!"
# old_browser_suffix: "You can try anyway, but it probably won't work." old_browser_suffix: "尽管你可以多试几次, 但也许不会管用."
# campaign: "Campaign" campaign: "战役模式"
# for_beginners: "For Beginners" for_beginners: "适合初学者"
# multiplayer: "Multiplayer" multiplayer: "多人游戏"
# for_developers: "For Developers" for_developers: "适合开发者"
play: play:
choose_your_level: "选取难度" choose_your_level: "选取难度"
@ -421,7 +421,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
introduction_desc_github_url: "我们把 CodeCombat 完全开源" introduction_desc_github_url: "我们把 CodeCombat 完全开源"
introduction_desc_suf: ",而且我们希望提供尽可能多的方法让你来参加这个项目,与我们一起创造。" introduction_desc_suf: ",而且我们希望提供尽可能多的方法让你来参加这个项目,与我们一起创造。"
introduction_desc_ending: "我们希望你也会加入进来!" introduction_desc_ending: "我们希望你也会加入进来!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
alert_account_message_intro: "你好!" alert_account_message_intro: "你好!"
alert_account_message_pref: "要订阅贡献者邮件,你得先" alert_account_message_pref: "要订阅贡献者邮件,你得先"
alert_account_message_suf: "" alert_account_message_suf: ""

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -421,7 +421,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
# introduction_desc_github_url: "CodeCombat is totally open source" # introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!" # introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy" # introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen"
# alert_account_message_intro: "Hey there!" # alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to " # alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first." # alert_account_message_suf: "first."

View file

@ -9,8 +9,8 @@ class SuperModel
@mustPopulate = model @mustPopulate = model
model.saveBackups = @shouldSaveBackups(model) model.saveBackups = @shouldSaveBackups(model)
model.fetch() unless model.loaded or model.loading model.fetch() unless model.loaded or model.loading
model.once('sync', @modelLoaded, @) unless model.loaded @listenToOnce(model, 'sync', @modelLoaded) unless model.loaded
model.once('error', @modelErrored, @) unless model.loaded @listenToOnce(model, 'error', @modelErrored) unless model.loaded
url = model.url() url = model.url()
@models[url] = model unless @models[url]? @models[url] = model unless @models[url]?
@modelLoaded(model) if model.loaded @modelLoaded(model) if model.loaded
@ -40,7 +40,7 @@ class SuperModel
continue if @models[refURL] continue if @models[refURL]
@models[refURL] = ref @models[refURL] = ref
ref.fetch() ref.fetch()
ref.once 'sync', @modelLoaded, @ @listenToOnce(ref, 'sync', @modelLoaded)
@trigger 'loaded-one', model: model @trigger 'loaded-one', model: model
@trigger 'loaded-all' if @finished() @trigger 'loaded-all' if @finished()

View file

@ -143,9 +143,9 @@ module.exports = class ThangType extends CocoModel
@builder.buildAsync() unless buildQueue.length > 1 @builder.buildAsync() unless buildQueue.length > 1
@builder.on 'complete', @onBuildSpriteSheetComplete, @, true, key @builder.on 'complete', @onBuildSpriteSheetComplete, @, true, key
return true return true
t0 = new Date().getTime() t0 = new Date()
spriteSheet = @builder.build() spriteSheet = @builder.build()
console.warn "Built #{@get('name')} in #{new Date().getTime() - t0}ms on main thread." console.warn "Built #{@get('name')} in #{new Date() - t0}ms on main thread."
@spriteSheets[key] = spriteSheet @spriteSheets[key] = spriteSheet
delete @building[key] delete @building[key]
spriteSheet spriteSheet

View file

@ -14,6 +14,9 @@
h3 h3
margin: 5px 0 margin: 5px 0
.treema-dependent > .treema-row
background-color: #FFC671
#extant-components-column #extant-components-column
left: 0 left: 0
width: 20% width: 20%

View file

@ -9,8 +9,6 @@
border: 1px solid transparent border: 1px solid transparent
cursor: pointer cursor: pointer
@include user-select(all) @include user-select(all)
::selection
background: transparent
&:hover &:hover
border: 1px solid #000000 border: 1px solid #000000

View file

@ -34,7 +34,7 @@ block content
p(data-i18n="contribute.introduction_desc_ending") p(data-i18n="contribute.introduction_desc_ending")
| We hope you'll join our party! | We hope you'll join our party!
p(data-i18n="contribute.introduction_desc_signature").signature p(data-i18n="contribute.introduction_desc_signature").signature
| - Nick, George, Scott, Michael, and Jeremy | - Nick, George, Scott, Michael, Jeremy and Glen
hr hr
if me.attributes.anonymous if me.attributes.anonymous

View file

@ -73,10 +73,10 @@ block content
li German - Dirk, faabsen, HiroP0, Anon, bkimminich li German - Dirk, faabsen, HiroP0, Anon, bkimminich
li Thai - Kamolchanok Jittrepit li Thai - Kamolchanok Jittrepit
li Vietnamese - An Nguyen Hoang Thien li Vietnamese - An Nguyen Hoang Thien
li Dutch - Glen De Cauwsemaecker, Guido Zuidhof, Ruben Vereecken li Dutch - Glen De Cauwsemaecker, Guido Zuidhof, Ruben Vereecken, Jasper D'haene
li Greek - Stergios li Greek - Stergios
li Latin American Spanish - Jesús Ruppel, Matthew Burt, Mariano Luzza li Latin American Spanish - Jesús Ruppel, Matthew Burt, Mariano Luzza
li Spain Spanish - Matthew Burt, DanielRodriguezRivero, Anon li Spain Spanish - Matthew Burt, DanielRodriguezRivero, Anon, Pouyio
li French - Xeonarno, Elfisen, Armaldio, MartinDelille, pstweb, veritable, jaybi, xavismeh, Anon, Feugy li French - Xeonarno, Elfisen, Armaldio, MartinDelille, pstweb, veritable, jaybi, xavismeh, Anon, Feugy
li Hungarian - ferpeter, csuvsaregal, atlantisguru, Anon li Hungarian - ferpeter, csuvsaregal, atlantisguru, Anon
li Japanese - g1itch, kengos li Japanese - g1itch, kengos

View file

@ -20,7 +20,7 @@ class LiveEditingMarkup extends TreemaNode.nodeMap.ace
buildValueForEditing: (valEl) -> buildValueForEditing: (valEl) ->
super(valEl) super(valEl)
@editor.on 'change', @onEditorChange @editor.on('change', @onEditorChange)
@addImageUpload(valEl) @addImageUpload(valEl)
addImageUpload: (valEl) -> addImageUpload: (valEl) ->
@ -203,7 +203,7 @@ class CoffeeTreema extends TreemaNode.nodeMap.ace
buildValueForEditing: (valEl) -> buildValueForEditing: (valEl) ->
super(valEl) super(valEl)
@editor.on 'change', @onEditorChange @editor.on('change', @onEditorChange)
valEl valEl
onEditorChange: => onEditorChange: =>
@ -297,9 +297,9 @@ class LatestVersionReferenceNode extends TreemaNode
@collection.url = "#{@url}?term=#{''}&project=true" @collection.url = "#{@url}?term=#{''}&project=true"
@collection.fetch() @collection.fetch()
@collection.on 'sync', @searchCallback @listenTo(@collection, 'sync', @searchCallback)
searchCallback: => searchCallback: ->
container = @getSearchResultsEl().detach().empty() container = @getSearchResultsEl().detach().empty()
first = true first = true
for model in @collection.models for model in @collection.models

View file

@ -11,14 +11,14 @@ module.exports = class ProfileView extends View
super options super options
@user = User.getByID(@userID) @user = User.getByID(@userID)
@loading = false if 'gravatarProfile' of @user @loading = false if 'gravatarProfile' of @user
@user.on('change', @userChanged) @listenTo(@user, 'change', @userChanged)
@user.on('error', @userError) @listenTo(@user, 'error', @userError)
userChanged: (user) => userChanged: (user) ->
@loading = false if 'gravatarProfile' of user @loading = false if 'gravatarProfile' of user
@render() @render()
userError: (user) => userError: (user) ->
@loading = false @loading = false
@render() @render()

View file

@ -19,11 +19,11 @@ module.exports = class SettingsView extends View
@save = _.debounce(@save, 200) @save = _.debounce(@save, 200)
super options super options
return unless me return unless me
me.on('change', @refreshPicturePane) # depends on gravatar load @listenTo(me, 'change', @refreshPicturePane) # depends on gravatar load
me.on('invalid', (errors) -> forms.applyErrorsToForm(@$el, me.validationError)) @listenTo(me, 'invalid', (errors) -> forms.applyErrorsToForm(@$el, me.validationError))
window.f = @getSubscriptions window.f = @getSubscriptions
refreshPicturePane: => refreshPicturePane: ->
h = $(@template(@getRenderData())) h = $(@template(@getRenderData()))
newPane = $('#picture-pane', h) newPane = $('#picture-pane', h)
oldPane = $('#picture-pane') oldPane = $('#picture-pane')
@ -46,7 +46,7 @@ module.exports = class SettingsView extends View
@chooseTab(location.hash.replace('#','')) @chooseTab(location.hash.replace('#',''))
WizardSettingsView = new WizardSettingsView() WizardSettingsView = new WizardSettingsView()
WizardSettingsView.on 'change', @save, @ @listenTo(WizardSettingsView, 'change', @save)
@insertSubView WizardSettingsView @insertSubView WizardSettingsView
chooseTab: (category) -> chooseTab: (category) ->
@ -81,7 +81,7 @@ module.exports = class SettingsView extends View
$('#email-pane input[type="checkbox"]', @$el).prop('checked', not Boolean(subs.length)) $('#email-pane input[type="checkbox"]', @$el).prop('checked', not Boolean(subs.length))
@save() @save()
save: => save: ->
forms.clearFormAlerts(@$el) forms.clearFormAlerts(@$el)
@grabData() @grabData()
res = me.validate() res = me.validate()

View file

@ -16,7 +16,7 @@ module.exports = class CLAsView extends View
}) })
@clas = new CLACollection() @clas = new CLACollection()
@clas.fetch() @clas.fetch()
@clas.on 'sync', @onCLAsLoaded, @ @listenTo(@clas, 'sync', @onCLAsLoaded)
onCLAsLoaded: -> onCLAsLoaded: ->
@startsLoading = false @startsLoading = false

View file

@ -18,7 +18,7 @@ module.exports = class LevelSessionsView extends View
getLevelSessions: -> getLevelSessions: ->
@sessions = new LevelSessionCollection @sessions = new LevelSessionCollection
@sessions.fetch() @sessions.fetch()
@sessions.on('all', @render) @listenTo(@sessions, 'all', @render)
getRenderData: => getRenderData: =>
c = super() c = super()

View file

@ -36,7 +36,7 @@ module.exports = class UsersView extends View
}) })
@users = new UserCollection() @users = new UserCollection()
@users.fetch() @users.fetch()
@users.on('all', @render) @listenTo(@users, 'all', @render)
getRenderData: => getRenderData: =>
c = super() c = super()

View file

@ -20,15 +20,15 @@ module.exports = class ArticleEditView extends View
@article = new Article(_id: @articleID) @article = new Article(_id: @articleID)
@article.saveBackups = true @article.saveBackups = true
@article.fetch() @article.fetch()
@article.once('sync', @onArticleSync) @listenToOnce(@article, 'sync', @onArticleSync)
@article.on('schema-loaded', @buildTreema) @listenTo(@article, 'schema-loaded', @buildTreema)
@pushChangesToPreview = _.throttle(@pushChangesToPreview, 500) @pushChangesToPreview = _.throttle(@pushChangesToPreview, 500)
onArticleSync: => onArticleSync: ->
@article.loaded = true @article.loaded = true
@buildTreema() @buildTreema()
buildTreema: => buildTreema: ->
return if @treema? or (not @article.loaded) or (not Article.hasSchema()) return if @treema? or (not @article.loaded) or (not Article.hasSchema())
unless @article.attributes.body unless @article.attributes.body
@article.set('body', '') @article.set('body', '')

View file

@ -24,7 +24,7 @@ module.exports = class ThangComponentEditView extends CocoView
if not @componentCollection if not @componentCollection
@componentCollection = @supermodel.getCollection new ComponentsCollection() @componentCollection = @supermodel.getCollection new ComponentsCollection()
unless @componentCollection.loaded unless @componentCollection.loaded
@componentCollection.once 'sync', @onComponentsSync @listenToOnce(@componentCollection, 'sync', @onComponentsSync)
@componentCollection.fetch() @componentCollection.fetch()
super() # do afterRender at the end super() # do afterRender at the end
@ -35,7 +35,7 @@ module.exports = class ThangComponentEditView extends CocoView
@buildExtantComponentTreema() @buildExtantComponentTreema()
@buildAddComponentTreema() @buildAddComponentTreema()
onComponentsSync: => onComponentsSync: ->
return if @destroyed return if @destroyed
@supermodel.addCollection @componentCollection @supermodel.addCollection @componentCollection
@render() @render()
@ -96,6 +96,34 @@ module.exports = class ThangComponentEditView extends CocoView
@closeExistingView() @closeExistingView()
@alreadySaving = false @alreadySaving = false
return unless selected.length
# select dependencies.
node = selected[0]
original = node.data.original
toRemoveTreema = []
dependent_class = 'treema-dependent'
try
for index, child of @extantComponentsTreema.childrenTreemas
$(child.$el).removeClass(dependent_class)
for index, child of @extantComponentsTreema.childrenTreemas
if child.data.original == original # Here we assume that the treemas are sorted by their dependency.
break
dep_originals = (d.original for d in child.component.attributes.dependencies)
for dep_original in dep_originals
if original == dep_original
toRemoveTreema.push child
for dep_treema in toRemoveTreema
dep_treema.toggleSelect()
$(dep_treema.$el).addClass(dependent_class)
catch error
console.error error
return unless selected.length return unless selected.length
row = selected[0] row = selected[0]
@selectedRow = row @selectedRow = row

View file

@ -23,10 +23,10 @@ module.exports = class AddThangsView extends View
super options super options
@world = options.world @world = options.world
@thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too @thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too
@thangTypes.once 'sync', @onThangTypesLoaded @listenToOnce(@thangTypes, 'sync', @onThangTypesLoaded)
@thangTypes.fetch() @thangTypes.fetch()
onThangTypesLoaded: => onThangTypesLoaded: ->
return if @destroyed return if @destroyed
@render() # do it again but without the loading screen @render() # do it again but without the loading screen

View file

@ -79,7 +79,7 @@ module.exports = class LevelComponentEditView extends View
session.setTabSize 2 session.setTabSize 2
session.setNewLineMode = 'unix' session.setNewLineMode = 'unix'
session.setUseSoftTabs true session.setUseSoftTabs true
@editor.on 'change', @onEditorChange @editor.on('change', @onEditorChange)
onEditorChange: => onEditorChange: =>
@levelComponent.set 'code', @editor.getValue() @levelComponent.set 'code', @editor.getValue()

View file

@ -28,7 +28,7 @@ module.exports = class EditorLevelView extends View
constructor: (options, @levelID) -> constructor: (options, @levelID) ->
super options super options
@supermodel.once 'loaded-all', @onAllLoaded @listenToOnce(@supermodel, 'loaded-all', @onAllLoaded)
# load only the level itself and the one it points to, but no others # load only the level itself and the one it points to, but no others
# TODO: this is duplicated in views/play/level_view.coffee; need cleaner method # TODO: this is duplicated in views/play/level_view.coffee; need cleaner method
@ -42,18 +42,18 @@ module.exports = class EditorLevelView extends View
model.constructor.className in ['Level', 'LevelComponent', 'LevelSystem'] model.constructor.className in ['Level', 'LevelComponent', 'LevelSystem']
@level = new Level _id: @levelID @level = new Level _id: @levelID
@level.once 'sync', @onLevelLoaded @listenToOnce(@level, 'sync', @onLevelLoaded)
@supermodel.populateModel @level @supermodel.populateModel @level
showLoading: ($el) -> showLoading: ($el) ->
$el ?= @$el.find('.tab-content') $el ?= @$el.find('.tab-content')
super($el) super($el)
onLevelLoaded: => onLevelLoaded: ->
@files = new DocumentFiles(@level) @files = new DocumentFiles(@level)
@files.fetch() @files.fetch()
onAllLoaded: => onAllLoaded: ->
@level.unset('nextLevel') if _.isString(@level.get('nextLevel')) @level.unset('nextLevel') if _.isString(@level.get('nextLevel'))
@initWorld() @initWorld()
@startsLoading = false @startsLoading = false

View file

@ -24,7 +24,7 @@ module.exports = class LevelSystemAddView extends View
if not @systems if not @systems
@systems = @supermodel.getCollection new LevelSystemSearchCollection() @systems = @supermodel.getCollection new LevelSystemSearchCollection()
unless @systems.loaded unless @systems.loaded
@systems.once 'sync', @onSystemsSync @listenToOnce(@systems, 'sync', @onSystemsSync)
@systems.fetch() @systems.fetch()
super() # do afterRender at the end super() # do afterRender at the end
@ -44,7 +44,7 @@ module.exports = class LevelSystemAddView extends View
for system in systems for system in systems
ul.append $(availableSystemTemplate(system: system)) ul.append $(availableSystemTemplate(system: system))
onSystemsSync: => onSystemsSync: ->
@supermodel.addCollection @systems @supermodel.addCollection @systems
@render() @render()

View file

@ -77,7 +77,7 @@ module.exports = class LevelSystemEditView extends View
session.setTabSize 2 session.setTabSize 2
session.setNewLineMode = 'unix' session.setNewLineMode = 'unix'
session.setUseSoftTabs true session.setUseSoftTabs true
@editor.on 'change', @onEditorChange @editor.on('change', @onEditorChange)
onEditorChange: => onEditorChange: =>
@levelSystem.set 'code', @editor.getValue() @levelSystem.set 'code', @editor.getValue()

View file

@ -34,11 +34,11 @@ module.exports = class SystemsTabView extends View
do (url) -> ls.url = -> url do (url) -> ls.url = -> url
continue if @supermodel.getModelByURL ls.url continue if @supermodel.getModelByURL ls.url
ls.fetch() ls.fetch()
ls.on 'sync', @onSystemLoaded @listenTo(ls, 'sync', @onSystemLoaded)
++@toLoad ++@toLoad
@onDefaultSystemsLoaded() unless @toLoad @onDefaultSystemsLoaded() unless @toLoad
onSystemLoaded: (ls) => onSystemLoaded: (ls) ->
@supermodel.addModel ls @supermodel.addModel ls
--@toLoad --@toLoad
@onDefaultSystemsLoaded() unless @toLoad @onDefaultSystemsLoaded() unless @toLoad

View file

@ -59,15 +59,15 @@ module.exports = class ThangsTabView extends View
super options super options
@world = options.world @world = options.world
@thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too @thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too
@thangTypes.once 'sync', @onThangTypesLoaded @listenToOnce(@thangTypes, 'sync', @onThangTypesLoaded)
@thangTypes.fetch() @thangTypes.fetch()
# just loading all Components for now: https://github.com/codecombat/codecombat/issues/405 # just loading all Components for now: https://github.com/codecombat/codecombat/issues/405
@componentCollection = @supermodel.getCollection new ComponentsCollection() @componentCollection = @supermodel.getCollection new ComponentsCollection()
@componentCollection.once 'sync', @onComponentsLoaded @listenToOnce(@componentCollection, 'sync', @onComponentsLoaded)
@componentCollection.fetch() @componentCollection.fetch()
onThangTypesLoaded: => onThangTypesLoaded: ->
return if @destroyed return if @destroyed
@supermodel.addCollection @thangTypes @supermodel.addCollection @thangTypes
@supermodel.populateModel model for model in @thangTypes.models @supermodel.populateModel model for model in @thangTypes.models
@ -75,7 +75,7 @@ module.exports = class ThangsTabView extends View
@render() # do it again but without the loading screen @render() # do it again but without the loading screen
@onLevelLoaded level: @level if @level and not @startsLoading @onLevelLoaded level: @level if @level and not @startsLoading
onComponentsLoaded: => onComponentsLoaded: ->
return if @destroyed return if @destroyed
@supermodel.addCollection @componentCollection @supermodel.addCollection @componentCollection
@startsLoading = not @thangTypes.loaded @startsLoading = not @thangTypes.loaded

View file

@ -7,6 +7,7 @@ visibleModal = null
waitingModal = null waitingModal = null
classCount = 0 classCount = 0
makeScopeName = -> "view-scope-#{classCount++}" makeScopeName = -> "view-scope-#{classCount++}"
doNothing = ->
module.exports = class CocoView extends Backbone.View module.exports = class CocoView extends Backbone.View
startsLoading: false startsLoading: false
@ -41,11 +42,11 @@ module.exports = class CocoView extends Backbone.View
@stopListeningToShortcuts() @stopListeningToShortcuts()
@undelegateEvents() # removes both events and subs @undelegateEvents() # removes both events and subs
view.destroy() for id, view of @subviews view.destroy() for id, view of @subviews
@modalClosed = null
$('#modal-wrapper .modal').off 'hidden.bs.modal', @modalClosed $('#modal-wrapper .modal').off 'hidden.bs.modal', @modalClosed
@[key] = undefined for key, value of @ @[key] = undefined for key, value of @
@destroyed = true @destroyed = true
@destroy = -> @off = doNothing
@destroy = doNothing
afterInsert: -> afterInsert: ->

View file

@ -64,7 +64,7 @@ module.exports = class ThangTypeHomeView extends View
@collection = new SearchCollection(@modelURL, @model, term) @collection = new SearchCollection(@modelURL, @model, term)
@collection.term = term # needed? @collection.term = term # needed?
@collection.on('sync', @onSearchChange) @listenTo(@collection, 'sync', @onSearchChange)
@showLoading(@$el.find('.results')) @showLoading(@$el.find('.results'))
@updateHash(term) @updateHash(term)
@ -79,7 +79,7 @@ module.exports = class ThangTypeHomeView extends View
return false unless @collection return false unless @collection
return term is @collection.term return term is @collection.term
onSearchChange: => onSearchChange: ->
@hideLoading() @hideLoading()
documents = @collection.models documents = @collection.models
table = $(@tableTemplate(documents:documents)) table = $(@tableTemplate(documents:documents))

View file

@ -23,14 +23,14 @@ module.exports = class VersionsModalView extends ModalView
super options super options
@view = new model(_id: @ID) @view = new model(_id: @ID)
@view.fetch() @view.fetch()
@view.once('sync', @onViewSync) @listenToOnce(@view, 'sync', @onViewSync)
onViewSync: => onViewSync: ->
@collection = new VersionsViewCollection(@url, @view.attributes.original, @model) @collection = new VersionsViewCollection(@url, @view.attributes.original, @model)
@collection.fetch() @collection.fetch()
@collection.on('sync', @onVersionFetched) @listenTo(@collection, 'sync', @onVersionFetched)
onVersionFetched: => onVersionFetched: ->
@startsLoading = false @startsLoading = false
@render() @render()

View file

@ -10,8 +10,12 @@ module.exports = class WizardSettingsModal extends View
template: template template: template
closesOnClickOutside: false closesOnClickOutside: false
constructor: (options) ->
@onNameChange = _.debounce(@checkNameExists, 500)
super options
events: events:
'change #wizard-settings-name': 'onNameChange' 'keyup #wizard-settings-name': 'onNameChange'
'click #wizard-settings-done': 'onWizardSettingsDone' 'click #wizard-settings-done': 'onWizardSettingsDone'
afterRender: -> afterRender: ->
@ -19,16 +23,16 @@ module.exports = class WizardSettingsModal extends View
view = new WizardSettingsView() view = new WizardSettingsView()
@insertSubView view @insertSubView view
onNameChange: -> checkNameExists: =>
me.set('name', $('#wizard-settings-name').val())
@checkNameExists()
checkNameExists: ->
forms.clearFormAlerts(@$el) forms.clearFormAlerts(@$el)
success = (id) => forms.applyErrorsToForm(@$el, {property:'name', message:'is already taken'}) if id and id isnt me.id name = $('#wizard-settings-name').val()
$.ajax("/db/user/#{me.get('name')}/nameToID", {success: success}) success = (id) =>
forms.clearFormAlerts(@$el)
forms.applyErrorsToForm(@$el, {property:'name', message:'is already taken'}) if id and id isnt me.id
$.ajax("/db/user/#{name}/nameToID", {success: success})
onWizardSettingsDone: -> onWizardSettingsDone: =>
me.set('name', $('#wizard-settings-name').val())
forms.clearFormAlerts(@$el) forms.clearFormAlerts(@$el)
res = me.validate() res = me.validate()
if res? if res?
@ -44,6 +48,7 @@ module.exports = class WizardSettingsModal extends View
errors = JSON.parse(res.responseText) errors = JSON.parse(res.responseText)
forms.applyErrorsToForm(@$el, errors) forms.applyErrorsToForm(@$el, errors)
@disableModalInProgress(@$el) @disableModalInProgress(@$el)
res.success (model, response, options) => res.success (model, response, options) =>
@hide() @hide()

View file

@ -24,6 +24,8 @@ module.exports = class LadderTabView extends CocoView
'click .connect-facebook': 'onConnectFacebook' 'click .connect-facebook': 'onConnectFacebook'
subscriptions: subscriptions:
'fbapi-loaded': 'onFacebookAPILoaded'
'gapi-loaded': 'onGPlusAPILoaded'
'facebook-logged-in': 'onConnectedWithFacebook' 'facebook-logged-in': 'onConnectedWithFacebook'
constructor: (options, @level, @sessions) -> constructor: (options, @level, @sessions) ->
@ -31,7 +33,6 @@ module.exports = class LadderTabView extends CocoView
@teams = teamDataFromLevel @level @teams = teamDataFromLevel @level
@leaderboards = {} @leaderboards = {}
@refreshLadder() @refreshLadder()
@checkFriends()
checkFriends: -> checkFriends: ->
@loadingFacebookFriends = true @loadingFacebookFriends = true
@ -45,8 +46,14 @@ module.exports = class LadderTabView extends CocoView
else else
@gplusSessionStateLoaded() @gplusSessionStateLoaded()
apiLoaded: ->
return unless @fbAPILoaded and @gplusAPILoaded
@checkFriends()
# FACEBOOK # FACEBOOK
onFacebookAPILoaded: ->
@fbAPILoaded = true
@apiLoaded()
# Connect button pressed # Connect button pressed
onConnectFacebook: -> onConnectFacebook: ->
@ -80,6 +87,10 @@ module.exports = class LadderTabView extends CocoView
# GOOGLE PLUS # GOOGLE PLUS
onGPlusAPILoaded: ->
@gplusAPILoaded = true
@apiLoaded()
gplusSessionStateLoaded: -> gplusSessionStateLoaded: ->
if application.gplusHandler.loggedIn if application.gplusHandler.loggedIn
@loadingGPlusFriends = true @loadingGPlusFriends = true
@ -141,16 +152,13 @@ class LeaderboardData
@topPlayers = new LeaderboardCollection(@level, {order:-1, scoreOffset: HIGHEST_SCORE, team: @team, limit: 20}) @topPlayers = new LeaderboardCollection(@level, {order:-1, scoreOffset: HIGHEST_SCORE, team: @team, limit: 20})
promises = [] promises = []
promises.push @topPlayers.fetch() promises.push @topPlayers.fetch()
@topPlayers.once 'sync', @onceLeaderboardPartLoaded, @
if @session if @session
score = @session.get('totalScore') or 10 score = @session.get('totalScore') or 10
@playersAbove = new LeaderboardCollection(@level, {order:1, scoreOffset: score, limit: 4, team: @team}) @playersAbove = new LeaderboardCollection(@level, {order:1, scoreOffset: score, limit: 4, team: @team})
promises.push @playersAbove.fetch() promises.push @playersAbove.fetch()
@playersAbove.once 'sync', @onceLeaderboardPartLoaded, @
@playersBelow = new LeaderboardCollection(@level, {order:-1, scoreOffset: score, limit: 4, team: @team}) @playersBelow = new LeaderboardCollection(@level, {order:-1, scoreOffset: score, limit: 4, team: @team})
promises.push @playersBelow.fetch() promises.push @playersBelow.fetch()
@playersBelow.once 'sync', @onceLeaderboardPartLoaded, @
level = "#{level.get('original')}.#{level.get('version').major}" level = "#{level.get('original')}.#{level.get('version').major}"
success = (@myRank) => success = (@myRank) =>
promises.push $.ajax "/db/level/#{level}/leaderboard_rank?scoreOffset=#{@session.get('totalScore')}&team=#{@team}", {success} promises.push $.ajax "/db/level/#{level}/leaderboard_rank?scoreOffset=#{@session.get('totalScore')}&team=#{@team}", {success}
@ -168,7 +176,7 @@ class LeaderboardData
return me.id in (session.attributes.creator for session in @topPlayers.models) return me.id in (session.attributes.creator for session in @topPlayers.models)
nearbySessions: -> nearbySessions: ->
return [] unless @session return [] unless @session?.get('totalScore')
l = [] l = []
above = @playersAbove.models above = @playersAbove.models
above.reverse() above.reverse()

View file

@ -123,8 +123,11 @@ module.exports = class MyMatchesTabView extends CocoView
return unless @readyToRank(session) return unless @readyToRank(session)
@setRankingButtonText(button, 'submitting') @setRankingButtonText(button, 'submitting')
success = => @setRankingButtonText(button, 'submitted') success = =>
failure = => @setRankingButtonText(button, 'failed') @setRankingButtonText(button, 'submitted')
failure = (jqxhr, textStatus, errorThrown) =>
console.log jqxhr.responseText
@setRankingButtonText(button, 'failed')
ajaxData = {session: sessionID, levelID: @level.id, originalLevelID: @level.attributes.original, levelMajorVersion: @level.attributes.version.major} ajaxData = {session: sessionID, levelID: @level.id, originalLevelID: @level.attributes.original, levelMajorVersion: @level.attributes.version.major}
console.log "Posting game for ranking from My Matches view." console.log "Posting game for ranking from My Matches view."
@ -132,7 +135,7 @@ module.exports = class MyMatchesTabView extends CocoView
type: 'POST' type: 'POST'
data: ajaxData data: ajaxData
success: success success: success
failure: failure error: failure
} }
setRankingButtonText: (rankButton, spanClass) -> setRankingButtonText: (rankButton, spanClass) ->

View file

@ -30,7 +30,7 @@ module.exports = class LadderPlayModal extends View
loadChallengers: -> loadChallengers: ->
@challengersCollection = new ChallengersData(@level, @team, @otherTeam, @session) @challengersCollection = new ChallengersData(@level, @team, @otherTeam, @session)
@challengersCollection.on 'sync', @loadNames, @ @listenTo(@challengersCollection, 'sync', @loadNames)
# PART 2: Loading the names of the other users # PART 2: Loading the names of the other users
@ -53,7 +53,7 @@ module.exports = class LadderPlayModal extends View
# PART 3: Make sure wizard is loaded # PART 3: Make sure wizard is loaded
checkWizardLoaded: -> checkWizardLoaded: ->
if @wizardType.loaded then @finishRendering() else @wizardType.once 'sync', @finishRendering, @ if @wizardType.loaded then @finishRendering() else @listenToOnce(@wizardType, 'sync', @finishRendering)
# PART 4: Render # PART 4: Render
@ -158,13 +158,13 @@ class ChallengersData
score = @session?.get('totalScore') or 25 score = @session?.get('totalScore') or 25
@easyPlayer = new LeaderboardCollection(@level, {order:1, scoreOffset: score - 5, limit: 1, team: @otherTeam}) @easyPlayer = new LeaderboardCollection(@level, {order:1, scoreOffset: score - 5, limit: 1, team: @otherTeam})
@easyPlayer.fetch() @easyPlayer.fetch()
@easyPlayer.once 'sync', @challengerLoaded, @ @listenToOnce(@easyPlayer, 'sync', @challengerLoaded)
@mediumPlayer = new LeaderboardCollection(@level, {order:1, scoreOffset: score, limit: 1, team: @otherTeam}) @mediumPlayer = new LeaderboardCollection(@level, {order:1, scoreOffset: score, limit: 1, team: @otherTeam})
@mediumPlayer.fetch() @mediumPlayer.fetch()
@mediumPlayer.once 'sync', @challengerLoaded, @ @listenToOnce(@mediumPlayer, 'sync', @challengerLoaded)
@hardPlayer = new LeaderboardCollection(@level, {order:-1, scoreOffset: score + 5, limit: 1, team: @otherTeam}) @hardPlayer = new LeaderboardCollection(@level, {order:-1, scoreOffset: score + 5, limit: 1, team: @otherTeam})
@hardPlayer.fetch() @hardPlayer.fetch()
@hardPlayer.once 'sync', @challengerLoaded, @ @listenToOnce(@hardPlayer, 'sync', @challengerLoaded)
challengerLoaded: -> challengerLoaded: ->
if @allLoaded() if @allLoaded()

View file

@ -42,7 +42,7 @@ module.exports = class LadderView extends RootView
@sessions = new LevelSessionsCollection(levelID) @sessions = new LevelSessionsCollection(levelID)
p2 = @sessions.fetch({}) p2 = @sessions.fetch({})
@simulator = new Simulator() @simulator = new Simulator()
@simulator.on 'statusUpdate', @updateSimulationStatus, @ @listenTo(@simulator, 'statusUpdate', @updateSimulationStatus)
@teams = [] @teams = []
$.when(p1, p2).then @onLoaded $.when(p1, p2).then @onLoaded

View file

@ -355,8 +355,6 @@ module.exports = class HUDView extends View
destroy: -> destroy: ->
@stage?.stopTalking() @stage?.stopTalking()
@addMoreMessage = null
@animateEnterButton = null
clearInterval(@messageInterval) if @messageInterval clearInterval(@messageInterval) if @messageInterval
clearTimeout @hintNextSelectionTimeout if @hintNextSelectionTimeout clearTimeout @hintNextSelectionTimeout if @hintNextSelectionTimeout
super() super()

View file

@ -18,7 +18,7 @@ module.exports = class LevelChatView extends View
constructor: (options) -> constructor: (options) ->
@levelID = options.levelID @levelID = options.levelID
@session = options.session @session = options.session
@session.on 'change:multiplayer', @updateMultiplayerVisibility, @ @listenTo(@session, 'change:multiplayer', @updateMultiplayerVisibility)
@sessionID = options.sessionID @sessionID = options.sessionID
@bus = LevelBus.get(@levelID, @sessionID) @bus = LevelBus.get(@levelID, @sessionID)
super() super()
@ -122,7 +122,5 @@ module.exports = class LevelChatView extends View
destroy: -> destroy: ->
key.deleteScope('level') key.deleteScope('level')
@session.off 'change:multiplayer', @updateMultiplayerVisibility, @
clearInterval @clearOldMessagesInterval if @clearOldMessagesInterval clearInterval @clearOldMessagesInterval if @clearOldMessagesInterval
@clearOldMessages = null
super() super()

View file

@ -15,7 +15,7 @@ module.exports = class MultiplayerModal extends View
super(options) super(options)
@session = options.session @session = options.session
@level = options.level @level = options.level
@session.on 'change:multiplayer', @updateLinkSection, @ @listenTo(@session, 'change:multiplayer', @updateLinkSection)
@playableTeams = options.playableTeams @playableTeams = options.playableTeams
@ladderGame = options.ladderGame @ladderGame = options.ladderGame
console.log 'ladder game is', @ladderGame console.log 'ladder game is', @ladderGame
@ -51,5 +51,4 @@ module.exports = class MultiplayerModal extends View
@session.set('multiplayer', multiplayer) @session.set('multiplayer', multiplayer)
destroy: -> destroy: ->
@session.off 'change:multiplayer', @updateLinkSection, @
super() super()

View file

@ -43,7 +43,7 @@ module.exports = class PlaybackView extends View
constructor: -> constructor: ->
super(arguments...) super(arguments...)
me.on('change:music', @updateMusicButton, @) @listenTo(me, 'change:music', @updateMusicButton)
afterRender: -> afterRender: ->
super() super()
@ -221,9 +221,3 @@ module.exports = class PlaybackView extends View
me.set('music', not me.get('music')) me.set('music', not me.get('music'))
me.save() me.save()
$(document.activeElement).blur() $(document.activeElement).blur()
destroy: ->
me.off('change:music', @updateMusicButton, @)
$(window).off('resize', @onWindowResize)
@onWindowResize = null
super()

View file

@ -6,6 +6,10 @@ module.exports = class CastButtonView extends View
id: 'cast-button-view' id: 'cast-button-view'
template: template template: template
events:
'click .cast-button': 'onCastButtonClick'
'click .autocast-delays a': 'onCastOptionsClick'
subscriptions: subscriptions:
'tome:spell-changed': "onSpellChanged" 'tome:spell-changed': "onSpellChanged"
'tome:cast-spells': 'onCastSpells' 'tome:cast-spells': 'onCastSpells'
@ -30,8 +34,6 @@ module.exports = class CastButtonView extends View
@castButton = $('.cast-button', @$el) @castButton = $('.cast-button', @$el)
@castButtonGroup = $('.cast-button-group', @$el) @castButtonGroup = $('.cast-button-group', @$el)
@castOptions = $('.autocast-delays', @$el) @castOptions = $('.autocast-delays', @$el)
@castButton.on 'click', @onCastButtonClick
@castOptions.find('a').on 'click', @onCastOptionsClick
delay = me.get('autocastDelay') delay = me.get('autocastDelay')
delay ?= 5000 delay ?= 5000
if @levelID in ['brawlwood', 'brawlwood-tutorial', 'dungeon-arena', 'dungeon-arena-tutorial'] if @levelID in ['brawlwood', 'brawlwood-tutorial', 'dungeon-arena', 'dungeon-arena-tutorial']
@ -92,9 +94,3 @@ module.exports = class CastButtonView extends View
spell.view.setAutocastDelay delay for spellKey, spell of @spells spell.view.setAutocastDelay delay for spellKey, spell of @spells
@castOptions.find('a').each -> @castOptions.find('a').each ->
$(@).toggleClass('selected', parseInt($(@).attr('data-delay')) is delay) $(@).toggleClass('selected', parseInt($(@).attr('data-delay')) is delay)
destroy: ->
@castButton.off 'click', @onCastButtonClick
@castOptions.find('a').off 'click', @onCastOptionsClick
@onCastOptionsClick = null
super()

View file

@ -162,5 +162,4 @@ module.exports = class DebugView extends View
destroy: -> destroy: ->
@ace?.removeEventListener "mousemove", @onMouseMove @ace?.removeEventListener "mousemove", @onMouseMove
@onMouseMove = null
super() super()

Some files were not shown because too many files have changed in this diff Show more