mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-27 06:23:41 -04:00
merged
This commit is contained in:
commit
7f6510823a
165 changed files with 2276 additions and 904 deletions
README.md
app
application.coffeetreema-ext.coffee
assets
lib
CocoClass.coffeeGPlusHandler.coffeeGod.coffeeLevelBus.coffeeLevelLoader.coffeeauth.coffee
scripts
simulator
surface
locale
ar.coffeebg.coffeeca.coffeecs.coffeeda.coffeede.coffeeel.coffeeen-AU.coffeeen-GB.coffeeen-US.coffeeen.coffeees-419.coffeees-ES.coffeees.coffeefa.coffeefi.coffeefr.coffeehe.coffeehi.coffeehu.coffeeid.coffeeit.coffeeja.coffeeko.coffeelocale.coffeelt.coffeems.coffeenb.coffeenl-BE.coffeenl-NL.coffeenl.coffeenn.coffeeno.coffeepl.coffeept-BR.coffeept-PT.coffeept.coffeero.coffeeru.coffeesk.coffeesl.coffeesr.coffeesv.coffeeth.coffeetr.coffeeuk.coffeeur.coffeevi.coffeezh-HANS.coffeezh-HANT.coffeezh.coffee
models
styles
templates
contribute
editor/level
play
views
account
admin
editor
|
@ -27,8 +27,8 @@ Whether you're novice or pro, the CodeCombat team is ready to help you implement
|
|||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
|
|
@ -28,8 +28,8 @@ preload = (arrayOfImages) ->
|
|||
Application = initialize: ->
|
||||
Router = require('lib/Router')
|
||||
@tracker = new Tracker()
|
||||
new FacebookHandler()
|
||||
new GPlusHandler()
|
||||
@facebookHandler = new FacebookHandler()
|
||||
@gplusHandler = new GPlusHandler()
|
||||
$(document).bind 'keydown', preventBackspace
|
||||
|
||||
preload(COMMON_FILES)
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
<script>
|
||||
// Additional JS functions here
|
||||
window.fbAsyncInit = function() {
|
||||
Backbone.Mediator.publish('fbapi-loaded');
|
||||
FB.init({
|
||||
appId : document.location.origin === 'http://localhost:3000' ? '607435142676437' : '148832601965463', // App ID
|
||||
channelUrl : document.location.origin +'/channel.html', // Channel File
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# Template for classes with common functions, like hooking into the Mediator.
|
||||
utils = require './utils'
|
||||
classCount = 0
|
||||
makeScopeName = -> "class-scope-#{classCount++}"
|
||||
makeScopeName = -> "class-scope-#{classCount++}"
|
||||
doNothing = ->
|
||||
|
||||
module.exports = class CocoClass
|
||||
subscriptions: {}
|
||||
|
@ -25,7 +26,8 @@ module.exports = class CocoClass
|
|||
@stopListeningToShortcuts()
|
||||
@[key] = undefined for key of @
|
||||
@destroyed = true
|
||||
@destroy = ->
|
||||
@off = doNothing
|
||||
@destroy = doNothing
|
||||
|
||||
# subscriptions
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ CocoClass = require 'lib/CocoClass'
|
|||
{me, CURRENT_USER_KEY} = require 'lib/auth'
|
||||
{backboneFailure} = require 'lib/errors'
|
||||
storage = require 'lib/storage'
|
||||
GPLUS_TOKEN_KEY = 'gplusToken'
|
||||
|
||||
# gplus user object props to
|
||||
userPropsToSave =
|
||||
|
@ -14,19 +15,46 @@ fieldsToFetch = 'displayName,gender,image,name(familyName,givenName),id'
|
|||
plusURL = '/plus/v1/people/me?fields='+fieldsToFetch
|
||||
revokeUrl = 'https://accounts.google.com/o/oauth2/revoke?token='
|
||||
clientID = "800329290710-j9sivplv2gpcdgkrsis9rff3o417mlfa.apps.googleusercontent.com"
|
||||
scope = "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email"
|
||||
|
||||
module.exports = GPlusHandler = class GPlusHandler extends CocoClass
|
||||
constructor: ->
|
||||
@accessToken = storage.load GPLUS_TOKEN_KEY
|
||||
super()
|
||||
|
||||
subscriptions:
|
||||
'gplus-logged-in':'onGPlusLogin'
|
||||
'gapi-loaded':'onGPlusLoaded'
|
||||
|
||||
onGPlusLoaded: ->
|
||||
session_state = null
|
||||
if @accessToken
|
||||
# We need to check the current state, given our access token
|
||||
gapi.auth.setToken 'token', @accessToken
|
||||
session_state = @accessToken.session_state
|
||||
gapi.auth.checkSessionState({client_id:clientID, session_state:session_state}, @onCheckedSessionState)
|
||||
else
|
||||
# If we ran checkSessionState, it might return true, that the user is logged into Google, but has not authorized us
|
||||
@loggedIn = false
|
||||
func = => @trigger 'checked-state'
|
||||
setTimeout func, 1
|
||||
|
||||
onCheckedSessionState: (@loggedIn) =>
|
||||
@trigger 'checked-state'
|
||||
|
||||
reauthorize: ->
|
||||
params =
|
||||
'client_id' : clientID
|
||||
'scope' : scope
|
||||
gapi.auth.authorize params, @onGPlusLogin
|
||||
|
||||
onGPlusLogin: (e) =>
|
||||
return if e._aa # this seems to show that it was auto generated on page load
|
||||
return if not me
|
||||
@accessToken = e.access_token
|
||||
|
||||
@loggedIn = true
|
||||
storage.save(GPLUS_TOKEN_KEY, e)
|
||||
@accessToken = e
|
||||
@trigger 'logged-in'
|
||||
return if (not me) or me.get 'gplusID' # so only get more data
|
||||
|
||||
# email and profile data loaded separately
|
||||
@responsesComplete = 0
|
||||
gapi.client.request(path:plusURL, callback:@onPersonEntityReceived)
|
||||
|
@ -68,11 +96,22 @@ module.exports = GPlusHandler = class GPlusHandler extends CocoClass
|
|||
patch[key] = me.get(key) for gplusKey, key of userPropsToSave
|
||||
patch._id = me.id
|
||||
patch.email = me.get('email')
|
||||
wasAnonymous = me.get('anonymous')
|
||||
me.save(patch, {
|
||||
patch: true
|
||||
error: backboneFailure,
|
||||
url: "/db/user?gplusID=#{gplusID}&gplusAccessToken=#{@accessToken}"
|
||||
url: "/db/user?gplusID=#{gplusID}&gplusAccessToken=#{@accessToken.access_token}"
|
||||
success: (model) ->
|
||||
storage.save(CURRENT_USER_KEY, model.attributes)
|
||||
window.location.reload()
|
||||
window.location.reload() if wasAnonymous and not model.get('anonymous')
|
||||
})
|
||||
|
||||
loadFriends: (friendsCallback) ->
|
||||
return friendsCallback() unless @loggedIn
|
||||
expires_in = if @accessToken then parseInt(@accessToken.expires_at) - new Date().getTime()/1000 else -1
|
||||
onReauthorized = => gapi.client.request({path:'/plus/v1/people/me/people/visible', callback: friendsCallback})
|
||||
if expires_in < 0
|
||||
@reauthorize()
|
||||
@listenToOnce(@, 'logged-in', onReauthorized)
|
||||
else
|
||||
onReauthorized()
|
||||
|
|
|
@ -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.
|
||||
|
||||
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: ->
|
||||
@lastID = (if @lastID? then @lastID + 1 else Math.floor(@ids.length * Math.random())) % @ids.length
|
||||
@ids[@lastID]
|
||||
|
@ -52,7 +52,7 @@ module.exports = class God
|
|||
onWorkerMessage: (event) =>
|
||||
worker = event.target
|
||||
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.removeEventListener 'message', @onWorkerMessage
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ module.exports = class LevelBus extends Bus
|
|||
@fireScriptsRef = @fireRef?.child('scripts')
|
||||
|
||||
setSession: (@session) ->
|
||||
@session.on 'change:multiplayer', @onMultiplayerChanged, @
|
||||
@listenTo(@session, 'change:multiplayer', @onMultiplayerChanged)
|
||||
|
||||
onPoint: ->
|
||||
return true unless @session?.get('multiplayer')
|
||||
|
@ -226,5 +226,4 @@ module.exports = class LevelBus extends Bus
|
|||
tempSession.save(patch, {patch: true})
|
||||
|
||||
destroy: ->
|
||||
@session.off 'change:multiplayer', @onMultiplayerChanged, @
|
||||
super()
|
||||
|
|
|
@ -60,13 +60,13 @@ module.exports = class LevelLoader extends CocoClass
|
|||
# Unless you specify cache:false, sometimes the browser will use a cached session
|
||||
# and players will 'lose' code
|
||||
@session.fetch({cache:false})
|
||||
@session.once 'sync', @onSessionLoaded, @
|
||||
@listenToOnce(@session, 'sync', @onSessionLoaded)
|
||||
|
||||
if @opponentSessionID
|
||||
@opponentSession = new LevelSession()
|
||||
@opponentSession.url = "/db/level_session/#{@opponentSessionID}"
|
||||
@opponentSession.fetch()
|
||||
@opponentSession.once 'sync', @onSessionLoaded, @
|
||||
@listenToOnce(@opponentSession, 'sync', @onSessionLoaded)
|
||||
|
||||
sessionsLoaded: ->
|
||||
return true if @headless
|
||||
|
@ -82,8 +82,8 @@ module.exports = class LevelLoader extends CocoClass
|
|||
# Supermodel (Level) Loading
|
||||
|
||||
loadLevelModels: ->
|
||||
@supermodel.on 'loaded-one', @onSupermodelLoadedOne, @
|
||||
@supermodel.once 'error', @onSupermodelError, @
|
||||
@listenTo(@supermodel, 'loaded-one', @onSupermodelLoadedOne)
|
||||
@listenToOnce(@supermodel, 'error', @onSupermodelError)
|
||||
@level = @supermodel.getModel(Level, @levelID) or new Level _id: @levelID
|
||||
levelID = @levelID
|
||||
headless = @headless
|
||||
|
@ -233,9 +233,3 @@ module.exports = class LevelLoader extends CocoClass
|
|||
@initWorld() if @allDone()
|
||||
@trigger 'progress'
|
||||
@trigger 'loaded-all' if @progress() is 1
|
||||
|
||||
destroy: ->
|
||||
@supermodel.off 'loaded-one', @onSupermodelLoadedOne
|
||||
@world = null # don't hold onto garbage
|
||||
@update = null
|
||||
super()
|
||||
|
|
|
@ -58,7 +58,7 @@ init = ->
|
|||
storage.save(CURRENT_USER_KEY, me.attributes)
|
||||
|
||||
me.loadGravatarProfile() if me.get('email')
|
||||
me.on('sync', userSynced)
|
||||
Backbone.listenTo(me, 'sync', userSynced)
|
||||
|
||||
userSynced = (user) ->
|
||||
Backbone.Mediator.publish('me:synced', {me:user})
|
||||
|
|
|
@ -49,6 +49,7 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
|
|||
@originalScripts = options.scripts
|
||||
@view = options.view
|
||||
@session = options.session
|
||||
@debugScripts = @view.getQueryVariable 'dev'
|
||||
@initProperties()
|
||||
@addScriptSubscriptions()
|
||||
|
||||
|
@ -146,7 +147,7 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
|
|||
continue unless @scriptPrereqsSatisfied(script)
|
||||
continue unless scriptMatchesEventPrereqs(script, event)
|
||||
# everything passed!
|
||||
console.log "SCRIPT: Running script '#{script.id}'"
|
||||
console.log "SCRIPT: Running script '#{script.id}'" if @debugScripts
|
||||
script.lastTriggered = new Date().getTime()
|
||||
@triggered.push(script.id) unless alreadyTriggered
|
||||
noteChain = @processScript(script)
|
||||
|
@ -206,7 +207,7 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
|
|||
@notifyScriptStateChanged()
|
||||
@scriptInProgress = true
|
||||
@currentTimeouts = []
|
||||
console.log "SCRIPT: Starting note group '#{nextNoteGroup.name}'"
|
||||
console.log "SCRIPT: Starting note group '#{nextNoteGroup.name}'" if @debugScripts
|
||||
for module in nextNoteGroup.modules
|
||||
@processNote(note, nextNoteGroup) for note in module.startNotes()
|
||||
if nextNoteGroup.script.duration
|
||||
|
@ -220,7 +221,7 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
|
|||
@ignoreEvents = true
|
||||
for noteGroup, i in @noteGroupQueue
|
||||
break unless noteGroup.skipMe
|
||||
console.log "SCRIPT: Skipping note group '#{noteGroup.name}'"
|
||||
console.log "SCRIPT: Skipping note group '#{noteGroup.name}'" if @debugScripts
|
||||
@processNoteGroup(noteGroup)
|
||||
for module in noteGroup.modules
|
||||
notes = module.skipNotes()
|
||||
|
@ -267,7 +268,7 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
|
|||
return if @ending # kill infinite loops right here
|
||||
@ending = true
|
||||
return unless @currentNoteGroup?
|
||||
console.log "SCRIPT: Ending note group '#{@currentNoteGroup.name}'"
|
||||
console.log "SCRIPT: Ending note group '#{@currentNoteGroup.name}'" if @debugScripts
|
||||
clearTimeout(timeout) for timeout in @currentTimeouts
|
||||
for module in @currentNoteGroup.modules
|
||||
@processNote(note, @currentNoteGroup) for note in module.endNotes()
|
||||
|
|
|
@ -44,13 +44,21 @@ module.exports = class Simulator extends CocoClass
|
|||
return @handleNoGamesResponse() if jqXHR.status is 204
|
||||
@trigger 'statusUpdate', 'Setting up simulation!'
|
||||
@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()
|
||||
@god = new God maxWorkerPoolSize: 1, maxAngels: 1 # Start loading worker.
|
||||
|
||||
@levelLoader = new LevelLoader supermodel: @supermodel, levelID: @task.getLevelName(), sessionID: @task.getFirstSessionID(), headless: true
|
||||
@levelLoader.once 'loaded-all', @simulateGame
|
||||
@levelLoader = new LevelLoader supermodel: @supermodel, levelID: levelID, sessionID: @task.getFirstSessionID(), headless: true
|
||||
@listenToOnce(@levelLoader, 'loaded-all', @simulateGame)
|
||||
|
||||
simulateGame: =>
|
||||
simulateGame: ->
|
||||
return if @destroyed
|
||||
@trigger 'statusUpdate', 'All resources loaded, simulating!', @task.getSessions()
|
||||
@assignWorldAndLevelFromLevelLoaderAndDestroyIt()
|
||||
|
@ -81,8 +89,14 @@ module.exports = class Simulator extends CocoClass
|
|||
|
||||
commenceSimulationAndSetupCallback: ->
|
||||
@god.createWorld()
|
||||
Backbone.Mediator.subscribeOnce 'god:infinite-loop', @onInfiniteLoop, @
|
||||
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, @retryDelayInSeconds * 1000
|
||||
|
||||
processResults: (simulationResults) ->
|
||||
taskResults = @formTaskResultsObject simulationResults
|
||||
@sendResultsBackToServer taskResults
|
||||
|
|
|
@ -307,7 +307,6 @@ module.exports = class Camera extends CocoClass
|
|||
|
||||
destroy: ->
|
||||
createjs.Tween.removeTweens @
|
||||
@finishTween = null
|
||||
super()
|
||||
|
||||
onZoomTo: (pos, time) ->
|
||||
|
|
|
@ -35,6 +35,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
spriteSheetCache: null
|
||||
showInvisible: false
|
||||
|
||||
possessed: false
|
||||
flipped: false
|
||||
flippedCount: 0
|
||||
originalScaleX: null
|
||||
|
@ -54,6 +55,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
'level-sprite-clear-dialogue': 'onClearDialogue'
|
||||
'level-set-letterbox': 'onSetLetterbox'
|
||||
'surface:ticked': 'onSurfaceTicked'
|
||||
'level-sprite-move': 'onMove'
|
||||
|
||||
constructor: (@thangType, options) ->
|
||||
super()
|
||||
|
@ -73,7 +75,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
else
|
||||
@stillLoading = true
|
||||
@thangType.fetch()
|
||||
@thangType.once 'sync', @setupSprite, @
|
||||
@listenToOnce(@thangType, 'sync', @setupSprite)
|
||||
|
||||
setupSprite: ->
|
||||
@stillLoading = false
|
||||
|
@ -85,7 +87,6 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
mark.destroy() for name, mark of @marks
|
||||
label.destroy() for name, label of @labels
|
||||
@imageObject?.off 'animationend', @playNextAction
|
||||
@playNextAction = null
|
||||
@displayObject?.off()
|
||||
clearInterval @effectInterval if @effectInterval
|
||||
super()
|
||||
|
@ -223,7 +224,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
@thang.bobHeight * (1 + Math.sin(@age * Math.PI / @thang.bobTime))
|
||||
|
||||
getWorldPosition: ->
|
||||
p1 = @thang.pos
|
||||
p1 = if @possessed then @shadow.pos else @thang.pos
|
||||
if bobOffset = @getBobOffset()
|
||||
p1 = p1.copy?() or _.clone(p1)
|
||||
p1.z += bobOffset
|
||||
|
@ -252,8 +253,15 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
return
|
||||
scaleX = if @getActionProp 'flipX' then -1 else 1
|
||||
scaleY = if @getActionProp 'flipY' then -1 else 1
|
||||
if @thangType.get('name') is 'Arrow'
|
||||
# scale the arrow so it appears longer when flying parallel to horizon
|
||||
if @thang.maximizesArc and @thangType.get('name') in ['Arrow', 'Spear']
|
||||
# Scales the arrow so it appears longer when flying parallel to horizon.
|
||||
# To do that, we convert angle to [0, 90] (mirroring half-planes twice), then make linear function out of it:
|
||||
# (a - x) / a: equals 1 when x = 0, equals 0 when x = a, monotonous in between. That gives us some sort of
|
||||
# degenerative multiplier.
|
||||
# For our puproses, a = 90 - the direction straight upwards.
|
||||
# Then we use r + (1 - r) * x function with r = 0.5, so that
|
||||
# maximal scale equals 1 (when x is at it's maximum) and minimal scale is 0.5.
|
||||
# Notice that the value of r is empirical.
|
||||
angle = @getRotation()
|
||||
angle = -angle if angle < 0
|
||||
angle = 180 - angle if angle > 90
|
||||
|
@ -279,13 +287,32 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
rotationType = @thangType.get('rotationType')
|
||||
return if rotationType is 'fixed'
|
||||
rotation = @getRotation()
|
||||
if @thang.maximizesArc and @thangType.get('name') in ['Arrow', 'Spear']
|
||||
# Rotates the arrow to see it arc based on velocity.z.
|
||||
# At midair we must see the original angle (delta = 0), but at launch time
|
||||
# and arrow must point upwards/downwards respectively.
|
||||
# The curve must consider two variables: speed and angle to camera:
|
||||
# higher angle -> higher steep
|
||||
# higher speed -> higher steep (0 at midpoint).
|
||||
# All constants are empirical. Notice that rotation here does not affect thang's state - it is just the effect.
|
||||
# Thang's rotation is always pointing where it is heading.
|
||||
velocity = @thang.velocity.z
|
||||
factor = rotation
|
||||
factor = -factor if factor < 0
|
||||
flip = 1
|
||||
if factor > 90
|
||||
factor = 180 - factor
|
||||
flip = -1 # when the arrow is on the left, 'up' means subtracting
|
||||
factor = Math.max(factor / 90, 0.4) # between 0.4 and 1.0
|
||||
rotation += flip * (velocity / 12) * factor * 45 # theoretically, 45 is the maximal delta we can make here
|
||||
imageObject ?= @imageObject
|
||||
return imageObject.rotation = rotation if not rotationType
|
||||
@updateIsometricRotation(rotation, imageObject)
|
||||
|
||||
getRotation: ->
|
||||
return @rotation if not @thang?.rotation
|
||||
rotation = @thang?.rotation
|
||||
thang = if @possessed then @shadow else @thang
|
||||
return @rotation if not thang?.rotation
|
||||
rotation = thang?.rotation
|
||||
rotation = (360 - (rotation * 180 / Math.PI) % 360) % 360
|
||||
rotation -= 360 if rotation > 180
|
||||
rotation
|
||||
|
@ -308,13 +335,14 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
|
||||
determineAction: ->
|
||||
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 ?= 'idle'
|
||||
action = null unless @actions[action]?
|
||||
return null unless action
|
||||
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]
|
||||
|
||||
updateActionDirection: (@wallGrid=null) ->
|
||||
|
@ -458,6 +486,8 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
else
|
||||
@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
|
||||
#@thang.effectNames = ['berserk', 'confuse', 'control', 'curse', 'fear', 'poison', 'paralyze', 'regen', 'sleep', 'slow', 'haste']
|
||||
@updateEffectMarks() if @thang?.effectNames?.length or @previousEffectNames?.length
|
||||
|
@ -594,3 +624,67 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
instance = AudioPlayer.playSound name, volume, delay, @getWorldPosition()
|
||||
# console.log @thang?.id, "played sound", name, "with delay", delay, "volume", volume, "and got sound 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
|
||||
|
|
|
@ -23,9 +23,11 @@ module.exports = class CoordinateDisplay extends createjs.Container
|
|||
|
||||
build: ->
|
||||
@mouseEnabled = @mouseChildren = false
|
||||
@addChild @label = new createjs.Text("", "40px Arial", "#003300")
|
||||
@label.name = 'position text'
|
||||
@label.shadow = new createjs.Shadow("#FFFFFF", 1, 1, 0)
|
||||
@addChild @background = new createjs.Shape()
|
||||
@addChild @label = new createjs.Text("", "bold 32px Arial", "#FFFFFF")
|
||||
@label.name = 'Coordinate Display Text'
|
||||
@label.shadow = new createjs.Shadow("#000000", 1, 1, 0)
|
||||
@background.name = "Coordinate Display Background"
|
||||
|
||||
onMouseOver: (e) -> @mouseInBounds = true
|
||||
onMouseOut: (e) -> @mouseInBounds = false
|
||||
|
@ -57,17 +59,34 @@ module.exports = class CoordinateDisplay extends createjs.Container
|
|||
hide: ->
|
||||
return unless @label.parent
|
||||
@removeChild @label
|
||||
@removeChild @background
|
||||
@uncache()
|
||||
|
||||
updateSize: ->
|
||||
margin = 6
|
||||
radius = 5
|
||||
width = @label.getMeasuredWidth() + 2 * margin
|
||||
height = @label.getMeasuredHeight() + 2 * margin
|
||||
@label.regX = @background.regX = width / 2 - margin
|
||||
@label.regY = @background.regY = height / 2 - margin
|
||||
@background.graphics
|
||||
.clear()
|
||||
.beginFill("rgba(0, 0, 0, 0.4)")
|
||||
.beginStroke("rgba(0, 0, 0, 0.6)")
|
||||
.setStrokeStyle(1)
|
||||
.drawRoundRect(0, 0, width, height, radius)
|
||||
.endFill()
|
||||
.endStroke()
|
||||
[width, height]
|
||||
|
||||
show: =>
|
||||
return unless @mouseInBounds and @lastPos and not @destroyed
|
||||
@label.text = "(#{@lastPos.x}, #{@lastPos.y})"
|
||||
[width, height] = [@label.getMeasuredWidth(), @label.getMeasuredHeight()]
|
||||
@label.regX = width / 2
|
||||
@label.regY = height / 2
|
||||
[width, height] = @updateSize()
|
||||
sup = @camera.worldToSurface @lastPos
|
||||
@x = sup.x
|
||||
@y = sup.y - 7
|
||||
@y = sup.y - 5
|
||||
@addChild @background
|
||||
@addChild @label
|
||||
@cache -width / 2, -height / 2, width, height
|
||||
Backbone.Mediator.publish 'surface:coordinates-shown', {}
|
||||
|
|
|
@ -7,13 +7,13 @@ Camera = require './Camera'
|
|||
module.exports = IndieSprite = class IndieSprite extends CocoSprite
|
||||
notOfThisWorld: true
|
||||
subscriptions:
|
||||
'level-sprite-move': 'onMove'
|
||||
'note-group-started': 'onNoteGroupStarted'
|
||||
'note-group-ended': 'onNoteGroupEnded'
|
||||
|
||||
constructor: (thangType, options) ->
|
||||
options.thang = @makeIndieThang thangType, options.thangID, options.pos
|
||||
super thangType, options
|
||||
@shadow = @thang
|
||||
|
||||
makeIndieThang: (thangType, thangID, pos) ->
|
||||
@thang = thang = new Thang null, thangType.get('name'), thangID
|
||||
|
@ -35,57 +35,3 @@ module.exports = IndieSprite = class IndieSprite extends CocoSprite
|
|||
onNoteGroupEnded: => @scriptRunning = false
|
||||
onMouseEvent: (e, ourEventName) -> super e, ourEventName unless @scriptRunning
|
||||
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
|
||||
|
|
|
@ -67,9 +67,13 @@ module.exports = class Layer extends createjs.Container
|
|||
# TODO: remove this z stuff
|
||||
az = if a.z then a.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
|
||||
return 0 unless a.sprite?.thang?.pos and b.sprite?.thang?.pos
|
||||
return (b.sprite.thang.pos.y - a.sprite.thang.pos.y) or (b.sprite.thang.pos.x - a.sprite.thang.pos.x)
|
||||
return 0 unless aThang?.pos and bThang?.pos
|
||||
return (bThang.pos.y - aThang.pos.y) or (bThang.pos.x - aThang.pos.x)
|
||||
return az - bz
|
||||
|
||||
onZoomUpdated: (e) ->
|
||||
|
|
|
@ -22,7 +22,6 @@ module.exports = class Mark extends CocoClass
|
|||
destroy: ->
|
||||
@mark?.parent?.removeChild @mark
|
||||
@markSprite?.destroy()
|
||||
@thangType?.off 'sync', @onLoadedThangType, @
|
||||
@sprite = null
|
||||
super()
|
||||
|
||||
|
@ -177,7 +176,7 @@ module.exports = class Mark extends CocoClass
|
|||
return @loadThangType() if not thangType
|
||||
@thangType = thangType
|
||||
|
||||
return @thangType.once 'sync', @onLoadedThangType, @ if not @thangType.loaded
|
||||
return @listenToOnce(@thangType, 'sync', @onLoadedThangType) if not @thangType.loaded
|
||||
CocoSprite = require './CocoSprite'
|
||||
markSprite = new CocoSprite @thangType, @thangType.spriteOptions
|
||||
markSprite.queueAction 'idle'
|
||||
|
@ -188,7 +187,7 @@ module.exports = class Mark extends CocoClass
|
|||
name = @thangType
|
||||
@thangType = new ThangType()
|
||||
@thangType.url = -> "/db/thang.type/#{name}"
|
||||
@thangType.once 'sync', @onLoadedThangType, @
|
||||
@listenToOnce(@thangType, 'sync', @onLoadedThangType)
|
||||
@thangType.fetch()
|
||||
markThangTypes[name] = @thangType
|
||||
window.mtt = markThangTypes
|
||||
|
|
|
@ -100,12 +100,7 @@ module.exports = Surface = class Surface extends CocoClass
|
|||
@stage.removeAllEventListeners()
|
||||
@stage.enableDOMEvents false
|
||||
@stage.enableMouseOver 0
|
||||
@onFramesScrubbed = null
|
||||
@onMouseMove = null
|
||||
@onMouseDown = null
|
||||
@tick = null
|
||||
@canvas.off 'mousewheel', @onMouseWheel
|
||||
@onMouseWheel = null
|
||||
super()
|
||||
|
||||
setWorld: (@world) ->
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -1,105 +1,105 @@
|
|||
module.exports = nativeDescription: "Català", englishDescription: "Catalan", translation:
|
||||
# common:
|
||||
# loading: "Loading..."
|
||||
# saving: "Saving..."
|
||||
# sending: "Sending..."
|
||||
# cancel: "Cancel"
|
||||
# save: "Save"
|
||||
# delay_1_sec: "1 second"
|
||||
# delay_3_sec: "3 seconds"
|
||||
# delay_5_sec: "5 seconds"
|
||||
# manual: "Manual"
|
||||
# fork: "Fork"
|
||||
# play: "Play"
|
||||
common:
|
||||
loading: "Carregant..."
|
||||
saving: "Guardant..."
|
||||
sending: "Enviant..."
|
||||
cancel: "Cancel·lant"
|
||||
save: "Guardar"
|
||||
delay_1_sec: "1 segon"
|
||||
delay_3_sec: "3 segons"
|
||||
delay_5_sec: "5 segons"
|
||||
manual: "Manual"
|
||||
fork: "Fork"
|
||||
play: "Jugar"
|
||||
|
||||
# modal:
|
||||
# close: "Close"
|
||||
# okay: "Okay"
|
||||
modal:
|
||||
close: "Tancar"
|
||||
okay: "Okey"
|
||||
|
||||
# not_found:
|
||||
# page_not_found: "Page not found"
|
||||
|
||||
# nav:
|
||||
# play: "Levels"
|
||||
# editor: "Editor"
|
||||
# blog: "Blog"
|
||||
# forum: "Forum"
|
||||
# admin: "Admin"
|
||||
# home: "Home"
|
||||
# contribute: "Contribute"
|
||||
# legal: "Legal"
|
||||
# about: "About"
|
||||
# contact: "Contact"
|
||||
# twitter_follow: "Follow"
|
||||
# employers: "Employers"
|
||||
nav:
|
||||
play: "Nivells"
|
||||
editor: "Editor"
|
||||
blog: "Blog"
|
||||
forum: "Fòrum"
|
||||
admin: "Admin"
|
||||
home: "Inici"
|
||||
contribute: "Col·laborar"
|
||||
legal: "Legalitat"
|
||||
about: "Sobre Nosaltres"
|
||||
contact: "Contacta"
|
||||
twitter_follow: "Segueix-nos"
|
||||
employers: "Treballadors"
|
||||
|
||||
# versions:
|
||||
# save_version_title: "Save New Version"
|
||||
versions:
|
||||
save_version_title: "Guarda una nova versió"
|
||||
# new_major_version: "New Major Version"
|
||||
# cla_prefix: "To save changes, first you must agree to our"
|
||||
# cla_url: "CLA"
|
||||
# cla_suffix: "."
|
||||
# cla_agree: "I AGREE"
|
||||
cla_prefix: "Per guardar els canvis primer has d'acceptar"
|
||||
cla_url: "CLA"
|
||||
cla_suffix: "."
|
||||
cla_agree: "Estic d'acord"
|
||||
|
||||
# login:
|
||||
# sign_up: "Create Account"
|
||||
# log_in: "Log In"
|
||||
# log_out: "Log Out"
|
||||
# recover: "recover account"
|
||||
login:
|
||||
sign_up: "Crear un compte"
|
||||
log_in: "Iniciar Sessió"
|
||||
log_out: "Tancar Sessió"
|
||||
recover: "Recuperar un compte"
|
||||
|
||||
# recover:
|
||||
# recover_account_title: "Recover Account"
|
||||
# send_password: "Send Recovery Password"
|
||||
recover:
|
||||
recover_account_title: "Recuperar Compte"
|
||||
send_password: "Enviar contrasenya oblidada"
|
||||
|
||||
# signup:
|
||||
# create_account_title: "Create Account to Save Progress"
|
||||
# description: "It's free. Just need a couple things and you'll be good to go:"
|
||||
# email_announcements: "Receive announcements by email"
|
||||
# coppa: "13+ or non-USA "
|
||||
# coppa_why: "(Why?)"
|
||||
# creating: "Creating Account..."
|
||||
# sign_up: "Sign Up"
|
||||
# log_in: "log in with password"
|
||||
signup:
|
||||
create_account_title: "Crear un compte per tal de guardar els progressos"
|
||||
description: "És gratuit. Només calen un parell de coses i ja podràs començar:"
|
||||
email_announcements: "Rebre anuncis via email"
|
||||
coppa: " més de 13 anys o fora dels Estats Units"
|
||||
coppa_why: "(Per què?)"
|
||||
creating: "Creant Compte..."
|
||||
sign_up: "Registrar-se"
|
||||
log_in: "Iniciar sessió amb la teva contrasenya"
|
||||
|
||||
# home:
|
||||
# slogan: "Learn to Code JavaScript by Playing a Game"
|
||||
# no_ie: "CodeCombat does not run in Internet Explorer 9 or older. Sorry!"
|
||||
# no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!"
|
||||
# play: "Play"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
home:
|
||||
slogan: "Aprén a programar JavaScript tot Jugant"
|
||||
no_ie: "CodeCombat no funciona en Internet Explorer 9 o versions anteriors. Perdó!"
|
||||
no_mobile: "CodeCombat no ha estat dissenyat per dispositius mòbils i per tant no funcionarà!"
|
||||
play: "Jugar"
|
||||
old_browser: "Uh oh, el teu navegador és massa antic per fer funcionar CodeCombat. Perdó!"
|
||||
old_browser_suffix: "Pots probar-ho igualment, però el més segur és que no funcioni."
|
||||
campaign: "Campanya"
|
||||
for_beginners: "Per a principiants"
|
||||
multiplayer: "Multijugador"
|
||||
for_developers: "Per a Desenvolupadors"
|
||||
|
||||
# play:
|
||||
# choose_your_level: "Choose Your Level"
|
||||
# adventurer_prefix: "You can jump to any level below, or discuss the levels on "
|
||||
# adventurer_forum: "the Adventurer forum"
|
||||
# adventurer_suffix: "."
|
||||
# campaign_beginner: "Beginner Campaign"
|
||||
# campaign_beginner_description: "... in which you learn the wizardry of programming."
|
||||
# campaign_dev: "Random Harder Levels"
|
||||
# campaign_dev_description: "... in which you learn the interface while doing something a little harder."
|
||||
# campaign_multiplayer: "Multiplayer Arenas"
|
||||
# campaign_multiplayer_description: "... in which you code head-to-head against other players."
|
||||
# campaign_player_created: "Player-Created"
|
||||
# campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
|
||||
# level_difficulty: "Difficulty: "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
play:
|
||||
choose_your_level: "Escull el teu nivell"
|
||||
adventurer_prefix: "Pots saltar a qualsevols dels nivells de més abaix, o discutir els nivells de més amunt."
|
||||
adventurer_forum: "El fòrum de l'aventurer"
|
||||
adventurer_suffix: "."
|
||||
campaign_beginner: "Campanya del principiant"
|
||||
campaign_beginner_description: "... on aprens la bruixeria de la programació."
|
||||
campaign_dev: "Nivells difícils aleatoris"
|
||||
campaign_dev_description: "... on aprens a interactuar amb la interfície tot fent coses un pèl més difícils."
|
||||
campaign_multiplayer: "Arenes Multijugador"
|
||||
campaign_multiplayer_description: "... on programes cara a cara contra altres jugadors."
|
||||
campaign_player_created: "Creats pel Jugador"
|
||||
campaign_player_created_description: "... on lluites contra la creativitat dels teus companys <a href=\"/contribute#artisan\">Artisan Wizards</a>."
|
||||
level_difficulty: "Dificultat: "
|
||||
play_as: "Jugar com"
|
||||
spectate: "Spectate"
|
||||
|
||||
# contact:
|
||||
# contact_us: "Contact CodeCombat"
|
||||
# welcome: "Good to hear from you! Use this form to send us email. "
|
||||
# contribute_prefix: "If you're interested in contributing, check out our "
|
||||
# contribute_page: "contribute page"
|
||||
# contribute_suffix: "!"
|
||||
# forum_prefix: "For anything public, please try "
|
||||
# forum_page: "our forum"
|
||||
# forum_suffix: " instead."
|
||||
# send: "Send Feedback"
|
||||
contact:
|
||||
contact_us: "Contacta CodeCombat"
|
||||
welcome: "Què bé poder escoltar-te! Fes servir aquest formulari per enviar-nos un email. "
|
||||
contribute_prefix: "Si estàs interessat en col·laborar, dona un cop d'ull a la nostra "
|
||||
contribute_page: "pàgina de col·laboració"
|
||||
contribute_suffix: "!"
|
||||
forum_prefix: "Per a qualsevol publicació, si us plau prova "
|
||||
forum_page: "el nostre fòrum"
|
||||
forum_suffix: " sinó"
|
||||
send: "Enviar comentari"
|
||||
|
||||
diplomat_suggestion:
|
||||
# title: "Help translate CodeCombat!"
|
||||
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
|
|||
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_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_pref: "K přihlášení odebírání emailů si nejprve musíte "
|
||||
alert_account_message_suf: "vytvořit účet"
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -251,6 +251,7 @@
|
|||
tip_patience: "Patience you must have, young Padawan. - Yoda"
|
||||
tip_documented_bug: "A documented bug is not a bug; it is a feature."
|
||||
tip_impossible: "It always seems impossible until it's done. - Nelson Mandela"
|
||||
tip_great_responsibility: "With great coding skills comes great debug responsibility."
|
||||
|
||||
admin:
|
||||
av_title: "Admin Views"
|
||||
|
@ -434,7 +435,7 @@
|
|||
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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -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_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_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_pref: "Para suscribirte a los correos electrónicos de las distintas Clases, necesitarás "
|
||||
alert_account_message_suf: "primero."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -67,7 +67,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
no_mobile: "CodeCombat n'a pas été créé pour les plateformes mobiles donc il est possible qu'il ne fonctionne pas correctement ! "
|
||||
play: "Jouer"
|
||||
old_browser: "Oh oh, votre navigateur est trop vieux pour executer CodeCombat. Désolé!"
|
||||
old_browser_suffix: "Vous pouvez essayer quan même, mais celà ne marchera probablement pas."
|
||||
old_browser_suffix: "Vous pouvez essayer quand même, mais celà ne marchera probablement pas."
|
||||
campaign: "Campagne"
|
||||
for_beginners: "Pour débutants"
|
||||
multiplayer: "Multijoueurs"
|
||||
|
@ -83,7 +83,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
campaign_dev: "Niveaux aléatoires plus difficiles"
|
||||
campaign_dev_description: "... dans lesquels vous apprendrez à utiliser l'interface en faisant quelque chose d'un petit peu plus dur."
|
||||
campaign_multiplayer: "Campagne multi-joueurs"
|
||||
campaign_multiplayer_description: "... dans laquelle vous coderez en face à face contre d'autre joueurs."
|
||||
campaign_multiplayer_description: "... dans laquelle vous coderez en face à face contre d'autres joueurs."
|
||||
campaign_player_created: "Niveaux créés par les joueurs"
|
||||
campaign_player_created_description: "... Dans laquelle vous serez confrontés à la créativité des votres.<a href=\"/contribute#artisan\">Artisan Wizards</a>."
|
||||
level_difficulty: "Difficulté: "
|
||||
|
@ -350,7 +350,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
nick_description: "Assistant programmeur, mage à la motivation excentrique, et bidouilleur de l'extrême. Nick peut faire n'importe quoi mais il a choisi CodeCombat."
|
||||
jeremy_description: "Mage de l'assistance client, testeur de maniabilité, et community manager; vous avez probablement déjà parlé avec Jeremy."
|
||||
michael_description: "Programmeur, administrateur réseau, et l'enfant prodige du premier cycle, Michael est la personne qui maintient nos serveurs en ligne."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
glen_description: "Programmeur et développeur de jeux passioné, avec la motivation pour faire de ce monde un meilleur endroit, en développant des choses qui comptent. Le mot impossible est introuvable dans son dictionnaire. Apprendre de nouveaux talents est sa joie !"
|
||||
|
||||
legal:
|
||||
page_title: "Légal"
|
||||
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
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_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_pref: "Pour s'inscrire à la newsletter, vous devez d'abord "
|
||||
alert_account_message_suf: "."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -66,12 +66,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
no_ie: "CodeCombat non supporta Internet Explorer 9 o browser precedenti. Ci dispiace!"
|
||||
no_mobile: "CodeCombat non è stato progettato per dispositivi mobile e potrebbe non funzionare!"
|
||||
play: "Gioca"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
old_browser: "Accidenti, il tuo browser è troppo vecchio per giocare a CodeCombat. Mi spiace!"
|
||||
old_browser_suffix: "Puoi provare lo stesso, ma probabilmente non funzionerà."
|
||||
campaign: "Campagna"
|
||||
for_beginners: "Per Principianti"
|
||||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
for_developers: "Per Sviluppatori"
|
||||
|
||||
play:
|
||||
choose_your_level: "Scegli il tuo livello"
|
||||
|
@ -88,7 +88,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
campaign_player_created_description: "... nei quali affronterai la creatività dei tuoi compagni <a href=\"/contribute#artisan\">Stregoni Artigiani</a>."
|
||||
level_difficulty: "Difficoltà: "
|
||||
play_as: "Gioca come "
|
||||
# spectate: "Spectate"
|
||||
spectate: "Spettatore"
|
||||
|
||||
contact:
|
||||
contact_us: "Contatta CodeCombat"
|
||||
|
@ -187,8 +187,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
victory_sign_up: "Registrati per gli aggiornamenti"
|
||||
victory_sign_up_poke: "Vuoi ricevere le ultime novità per email? Crea un account gratuito e ti terremo aggiornato!"
|
||||
victory_rate_the_level: "Vota il livello: "
|
||||
# victory_rank_my_game: "Rank My Game"
|
||||
# victory_ranking_game: "Submitting..."
|
||||
victory_rank_my_game: "Valuta la mia partita"
|
||||
victory_ranking_game: "Inviando..."
|
||||
# victory_return_to_ladder: "Return to Ladder"
|
||||
victory_play_next_level: "Gioca il prossimo livello"
|
||||
victory_go_home: "Torna alla pagina iniziale"
|
||||
|
@ -212,8 +212,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
tome_select_a_thang: "Seleziona qualcuno per "
|
||||
tome_available_spells: "Incantesimi disponibili"
|
||||
hud_continue: "Continua (premi Maiusc-Spazio)"
|
||||
# spell_saved: "Spell Saved"
|
||||
# skip_tutorial: "Skip (esc)"
|
||||
spell_saved: "Magia Salvata"
|
||||
skip_tutorial: "Salta (esc)"
|
||||
# editor_config: "Editor Config"
|
||||
# editor_config_title: "Editor Configuration"
|
||||
# editor_config_keybindings_label: "Key Bindings"
|
||||
|
@ -314,23 +314,23 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
description: "Descrizione"
|
||||
or: "o"
|
||||
email: "Email"
|
||||
# password: "Password"
|
||||
password: "Password"
|
||||
message: "Messaggio"
|
||||
# code: "Code"
|
||||
code: "Codice"
|
||||
# ladder: "Ladder"
|
||||
# when: "When"
|
||||
# opponent: "Opponent"
|
||||
when: "Quando"
|
||||
opponent: "Avversario"
|
||||
# rank: "Rank"
|
||||
# score: "Score"
|
||||
# win: "Win"
|
||||
# loss: "Loss"
|
||||
score: "Punteggio"
|
||||
win: "Vittoria"
|
||||
loss: "Sconfitta"
|
||||
# tie: "Tie"
|
||||
# easy: "Easy"
|
||||
# medium: "Medium"
|
||||
# hard: "Hard"
|
||||
easy: "Facile"
|
||||
medium: "Medio"
|
||||
hard: "Difficile"
|
||||
|
||||
about:
|
||||
who_is_codecombat: "Chi c'è inCodeCombat?"
|
||||
who_is_codecombat: "Chi c'è in CodeCombat?"
|
||||
why_codecombat: "Perché CodeCombat?"
|
||||
who_description_prefix: "insieme hanno iniziato CodeCombat nel 2013. Abbiamo anche creato "
|
||||
who_description_suffix: "nel 2008, portandola al primo posto nelle applicazioni web e iOS per imparare a scrivere i caratteri cinesi e giapponesi."
|
||||
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
@ -526,7 +526,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
# ladder:
|
||||
# please_login: "Please log in first before playing a ladder game."
|
||||
# my_matches: "My Matches"
|
||||
# simulate: "Simulate"
|
||||
simulate: "Simula"
|
||||
# simulation_explanation: "By simulating games you can get your game ranked faster!"
|
||||
# simulate_games: "Simulate Games!"
|
||||
# simulate_all: "RESET AND SIMULATE GAMES"
|
||||
|
@ -540,22 +540,22 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
# summary_losses: " Losses"
|
||||
# rank_no_code: "No New Code to Rank"
|
||||
# rank_my_game: "Rank My Game!"
|
||||
# rank_submitting: "Submitting..."
|
||||
# rank_submitted: "Submitted for Ranking"
|
||||
# rank_failed: "Failed to Rank"
|
||||
# rank_being_ranked: "Game Being Ranked"
|
||||
# code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in."
|
||||
# no_ranked_matches_pre: "No ranked matches for the "
|
||||
# no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked."
|
||||
# choose_opponent: "Choose an Opponent"
|
||||
# tutorial_play: "Play Tutorial"
|
||||
# tutorial_recommended: "Recommended if you've never played before"
|
||||
# tutorial_skip: "Skip Tutorial"
|
||||
# tutorial_not_sure: "Not sure what's going on?"
|
||||
# tutorial_play_first: "Play the Tutorial first."
|
||||
rank_submitting: "Inviando..."
|
||||
rank_submitted: "Inviato per essere Valutato"
|
||||
rank_failed: "Impossibile Valutare"
|
||||
rank_being_ranked: "Il Gioco è stato Valutato"
|
||||
code_being_simulated: "Il tuo nuovo codice sarà simulato da altri giocatori per essere valutato. Sarà aggiornato ad ogni nuova partita."
|
||||
no_ranked_matches_pre: "Nessuna partita valutata per "
|
||||
no_ranked_matches_post: " squadra! Gioca contro altri avversari e poi torna qui affinchè la tua partita venga valutata."
|
||||
choose_opponent: "Scegli un avversario"
|
||||
tutorial_play: "Gioca il Tutorial"
|
||||
tutorial_recommended: "Consigliato se questa è la tua primissima partita"
|
||||
tutorial_skip: "Salta il Tutorial"
|
||||
tutorial_not_sure: "Non sei sicuro di quello che sta accadendo?"
|
||||
tutorial_play_first: "Prima di tutto gioca al Tutorial."
|
||||
# simple_ai: "Simple AI"
|
||||
# warmup: "Warmup"
|
||||
# vs: "VS"
|
||||
vs: "VS"
|
||||
|
||||
# multiplayer_launch:
|
||||
# introducing_dungeon_arena: "Introducing Dungeon Arena"
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -26,6 +26,8 @@ module.exports =
|
|||
it: require './it' # italiano, Italian
|
||||
tr: require './tr' # Türkçe, Turkish
|
||||
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
|
||||
cs: require './cs' # čeština, Czech
|
||||
sv: require './sv' # Svenska, Swedish
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
555
app/locale/nl-BE.coffee
Normal file
555
app/locale/nl-BE.coffee
Normal 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
555
app/locale/nl-NL.coffee
Normal 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"
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
introduction_desc_github_url: "CodeCombat is volledig open source"
|
||||
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_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_pref: "Om je te abonneren voor de klasse e-mails, moet je eerst "
|
||||
alert_account_message_suf: "."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
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_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_pref: "Aby zapisać się do naszego e-maila klasowego, musisz najpierw "
|
||||
alert_account_message_suf: "."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
|
|||
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_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_pref: "Para se inscrever para os emails de classe, você vai precisar, "
|
||||
alert_account_message_suf: "primeiro."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -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_mobile: "CodeCombat nu a fost proiectat pentru dispozitive mobile si s-ar putea sa nu meargă!"
|
||||
play: "Joacă"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
old_browser: "Mda , browser-ul tău este prea vechi pentru CodeCombat. Scuze!"
|
||||
old_browser_suffix: "Poți să încerci oricum ,dar probabil nu o să meargă."
|
||||
campaign: "Campanie"
|
||||
for_beginners: "Pentru Începători"
|
||||
multiplayer: "Multiplayer"
|
||||
for_developers: "Pentru dezvoltatori"
|
||||
|
||||
play:
|
||||
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>."
|
||||
level_difficulty: "Dificultate: "
|
||||
play_as: "Alege-ți echipa"
|
||||
# spectate: "Spectate"
|
||||
spectate: "Spectator"
|
||||
|
||||
contact:
|
||||
contact_us: "Contact CodeCombat"
|
||||
|
@ -214,31 +214,31 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
hud_continue: "Continuă (apasă shift-space)"
|
||||
spell_saved: "Vrajă salvată"
|
||||
skip_tutorial: "Sari peste (esc)"
|
||||
# editor_config: "Editor Config"
|
||||
# editor_config_title: "Editor Configuration"
|
||||
# editor_config_keybindings_label: "Key Bindings"
|
||||
# editor_config_keybindings_default: "Default (Ace)"
|
||||
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
|
||||
# editor_config_invisibles_label: "Show Invisibles"
|
||||
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
|
||||
# editor_config_indentguides_label: "Show Indent Guides"
|
||||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
editor_config: "Editor Config"
|
||||
editor_config_title: "Configurare Editor"
|
||||
editor_config_keybindings_label: "Mapare taste"
|
||||
editor_config_keybindings_default: "Default (Ace)"
|
||||
editor_config_keybindings_description: "Adaugă comenzi rapide suplimentare cunoscute din editoarele obisnuite." # not sure, where is this on the site?
|
||||
editor_config_invisibles_label: "Arată etichetele invizibile"
|
||||
editor_config_invisibles_description: "Arată spațiile și taburile invizibile."
|
||||
editor_config_indentguides_label: "Arată ghidul de indentare"
|
||||
editor_config_indentguides_description: "Arată linii verticale pentru a vedea mai bine indentarea."
|
||||
editor_config_behaviors_label: "Comportamente inteligente" # context?
|
||||
editor_config_behaviors_description: "Completează automat parantezele, ghilimele etc."
|
||||
loading_ready: "Gata!"
|
||||
tip_insert_positions: "Shift+Click oriunde pe harta pentru a insera punctul în editorul de vrăji."
|
||||
tip_toggle_play: "Pune sau scoate pauza cu Ctrl+P."
|
||||
tip_scrub_shortcut: "Înapoi și derulare rapidă cu Ctrl+[ and Ctrl+]."
|
||||
tip_guide_exists: "Apasă pe ghidul din partea de sus a pagini pentru informații utile."
|
||||
tip_open_source: "CodeCombat este 100% open source!"
|
||||
tip_beta_launch: "CodeCombat a fost lansat beta in Octombrie 2013."
|
||||
tip_js_beginning: "JavaScript este doar începutul."
|
||||
tip_autocast_setting: "Ajutează setările de autocast apăsând pe rotița de pe buton."
|
||||
tip_baby_coders: "În vitor până și bebelușii vor fi Archmage."
|
||||
tip_morale_improves: "Se va încărca până până când va crește moralul."
|
||||
tip_all_species: "Noi credem în șanse egale de a învăța programare pentru toate speciile."
|
||||
# tip_reticulating: "Reticulating spines." ??????????context ???
|
||||
tip_harry: "Ha un Wizard, "
|
||||
|
||||
admin:
|
||||
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)"
|
||||
u_title: "Listă utilizatori"
|
||||
lg_title: "Ultimele jocuri"
|
||||
# clas: "CLAs"
|
||||
clas: "CLAs"
|
||||
|
||||
editor:
|
||||
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_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_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_pref: "Pentru a te abona la email-uri de clasă, va trebui să "
|
||||
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!"
|
||||
simulate_games: "Simulează Jocuri!"
|
||||
simulate_all: "RESETEAZĂ ȘI SIMULEAZĂ JOCURI"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
games_simulated_by: "Jocuri simulate de tine:"
|
||||
games_simulated_for: "Jocuri simulate pentru tine:"
|
||||
leaderboard: "Clasament"
|
||||
battle_as: "Luptă ca "
|
||||
summary_your: "Al tău "
|
||||
|
|
|
@ -225,20 +225,20 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов."
|
||||
editor_config_behaviors_label: "Умное поведение"
|
||||
editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
loading_ready: "Готово!"
|
||||
tip_insert_positions: "Shift+Клик по карте вставит координаты в редактор заклинаний."
|
||||
tip_toggle_play: "Переключайте воспроизведение/паузу комбинацией Ctrl+P."
|
||||
tip_scrub_shortcut: "Ctrl+[ и Ctrl+] - перемотка назад и вперёд."
|
||||
tip_guide_exists: "Щёлкните \"руководство\" наверху страницы для получения полезной информации."
|
||||
tip_open_source: "Исходный код CodeCombat открыт на 100%!"
|
||||
tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013."
|
||||
tip_js_beginning: "JavaScript это только начало."
|
||||
tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения."
|
||||
tip_baby_coders: "В будущем, даже младенцы будут Архимагами."
|
||||
tip_morale_improves: "Загрузка будет продолжаться, пока боевой дух не улучшится."
|
||||
tip_all_species: "Мы верим в равные возможности для обучения программированию для всех видов."
|
||||
tip_reticulating: "Ретикуляция сплайнов."
|
||||
tip_harry: "Ты волшебник, "
|
||||
|
||||
admin:
|
||||
av_title: "Админ панель"
|
||||
|
@ -249,7 +249,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
av_other_debug_base_url: "База (для отладки base.jade)"
|
||||
u_title: "Список пользователей"
|
||||
lg_title: "Последние игры"
|
||||
# clas: "CLAs"
|
||||
clas: "ЛСС"
|
||||
|
||||
editor:
|
||||
main_title: "Редакторы CodeCombat"
|
||||
|
@ -360,7 +360,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
opensource_description_center: "и посодействуйте, если вам понравилось! CodeCombat построен на десятках проектов с открытым кодом, и мы любим их. Загляните в "
|
||||
archmage_wiki_url: "наш вики-портал для Архимагов"
|
||||
opensource_description_suffix: ", чтобы увидеть список программного обеспечения, делающего игру возможной."
|
||||
practices_title: "Почтительные лучшие практики"
|
||||
practices_title: "Уважаемые лучшие практики"
|
||||
practices_description: "Это наши обещания тебе, игроку, менее юридическим языком."
|
||||
privacy_title: "Конфиденциальность"
|
||||
privacy_description: "Мы не будем продавать какой-либо личной информации. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия."
|
||||
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
introduction_desc_github_url: "исходный код CodeCombat полностью открыт"
|
||||
introduction_desc_suf: ", и мы стремимся предоставить как можно больше способов, чтобы вы могли принять участие и сделать этот проект настолько же вашим, как и нашим."
|
||||
introduction_desc_ending: "Мы надеемся, что вы присоединитесь к нашей команде!"
|
||||
introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль и Джереми"
|
||||
introduction_desc_signature: "- Ник, Джордж, Скотт, Михаэль, Джереми и Глен"
|
||||
alert_account_message_intro: "Привет!"
|
||||
alert_account_message_pref: "Чтобы подписаться на email-ы для классов, вам необходимо сначала "
|
||||
alert_account_message_suf: "."
|
||||
|
@ -530,8 +530,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
simulation_explanation: "Симулированием игр вы сможете быстрее получить оценку игры!"
|
||||
simulate_games: "Симулировать игры!"
|
||||
simulate_all: "СБРОСИТЬ И СИМУЛИРОВАТЬ ИГРЫ"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
games_simulated_by: "Игры, симулированные вами:"
|
||||
games_simulated_for: "Игры, симулированные за вас:"
|
||||
leaderboard: "Таблица лидеров"
|
||||
battle_as: "Сразиться за "
|
||||
summary_your: "Ваши "
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
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_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_pref: "För att prenumerera på klassmail måste du"
|
||||
alert_account_message_suf: "först."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -66,12 +66,12 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
no_ie: "抱歉!Internet Explorer 9 等旧式预览器无法使用本网站。"
|
||||
no_mobile: "CodeCombat 不是针对手机设备设计的,所以可能无法达到最好的体验!"
|
||||
play: "开始游戏"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
old_browser: "噢, 你的浏览器太老了, 不能运行CodeCombat. 抱歉!"
|
||||
old_browser_suffix: "尽管你可以多试几次, 但也许不会管用."
|
||||
campaign: "战役模式"
|
||||
for_beginners: "适合初学者"
|
||||
multiplayer: "多人游戏"
|
||||
for_developers: "适合开发者"
|
||||
|
||||
play:
|
||||
choose_your_level: "选取难度"
|
||||
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
introduction_desc_github_url: "我们把 CodeCombat 完全开源"
|
||||
introduction_desc_suf: ",而且我们希望提供尽可能多的方法让你来参加这个项目,与我们一起创造。"
|
||||
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_pref: "要订阅贡献者邮件,你得先"
|
||||
alert_account_message_suf: "。"
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -421,7 +421,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
|
|||
# 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_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_pref: "To subscribe for class emails, you'll need to "
|
||||
# alert_account_message_suf: "first."
|
||||
|
|
|
@ -34,18 +34,22 @@ class CocoModel extends Backbone.Model
|
|||
onLoaded: ->
|
||||
@loaded = true
|
||||
@loading = false
|
||||
@markToRevert()
|
||||
if @saveBackups
|
||||
existing = storage.load @id
|
||||
if existing
|
||||
@set(existing, {silent:true})
|
||||
CocoModel.backedUp[@id] = @
|
||||
if @constructor.schema?.loaded
|
||||
@markToRevert()
|
||||
@loadFromBackup()
|
||||
|
||||
set: ->
|
||||
res = super(arguments...)
|
||||
@saveBackup() if @saveBackups and @loaded and @hasLocalChanges()
|
||||
res
|
||||
|
||||
loadFromBackup: ->
|
||||
return unless @saveBackups
|
||||
existing = storage.load @id
|
||||
if existing
|
||||
@set(existing, {silent:true})
|
||||
CocoModel.backedUp[@id] = @
|
||||
|
||||
saveBackup: ->
|
||||
storage.save(@id, @attributes)
|
||||
CocoModel.backedUp[@id] = @
|
||||
|
@ -86,7 +90,10 @@ class CocoModel extends Backbone.Model
|
|||
res
|
||||
|
||||
markToRevert: ->
|
||||
@_revertAttributes = _.clone @attributes
|
||||
if @type() is 'ThangType'
|
||||
@_revertAttributes = _.clone @attributes # No deep clones for these!
|
||||
else
|
||||
@_revertAttributes = $.extend(true, {}, @attributes)
|
||||
|
||||
revert: ->
|
||||
@set(@_revertAttributes, {silent: true}) if @_revertAttributes
|
||||
|
@ -127,6 +134,9 @@ class CocoModel extends Backbone.Model
|
|||
continue if @get(prop)?
|
||||
#console.log "setting", prop, "to", sch.default, "from sch.default" if sch.default?
|
||||
@set prop, sch.default if sch.default?
|
||||
if @loaded
|
||||
@markToRevert()
|
||||
@loadFromBackup()
|
||||
|
||||
getReferencedModels: (data, schema, path='/', shouldLoadProjection=null) ->
|
||||
# returns unfetched model shells for every referenced doc in this model
|
||||
|
|
|
@ -9,8 +9,8 @@ class SuperModel
|
|||
@mustPopulate = model
|
||||
model.saveBackups = @shouldSaveBackups(model)
|
||||
model.fetch() unless model.loaded or model.loading
|
||||
model.once('sync', @modelLoaded, @) unless model.loaded
|
||||
model.once('error', @modelErrored, @) unless model.loaded
|
||||
@listenToOnce(model, 'sync', @modelLoaded) unless model.loaded
|
||||
@listenToOnce(model, 'error', @modelErrored) unless model.loaded
|
||||
url = model.url()
|
||||
@models[url] = model unless @models[url]?
|
||||
@modelLoaded(model) if model.loaded
|
||||
|
@ -40,7 +40,7 @@ class SuperModel
|
|||
continue if @models[refURL]
|
||||
@models[refURL] = ref
|
||||
ref.fetch()
|
||||
ref.once 'sync', @modelLoaded, @
|
||||
@listenToOnce(ref, 'sync', @modelLoaded)
|
||||
|
||||
@trigger 'loaded-one', model: model
|
||||
@trigger 'loaded-all' if @finished()
|
||||
|
|
|
@ -143,9 +143,9 @@ module.exports = class ThangType extends CocoModel
|
|||
@builder.buildAsync() unless buildQueue.length > 1
|
||||
@builder.on 'complete', @onBuildSpriteSheetComplete, @, true, key
|
||||
return true
|
||||
t0 = new Date().getTime()
|
||||
t0 = new Date()
|
||||
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
|
||||
delete @building[key]
|
||||
spriteSheet
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
h3
|
||||
margin: 5px 0
|
||||
|
||||
.treema-dependent > .treema-row
|
||||
background-color: #FFC671
|
||||
|
||||
#extant-components-column
|
||||
left: 0
|
||||
width: 20%
|
||||
|
|
|
@ -36,9 +36,9 @@
|
|||
margin-bottom: 5px
|
||||
|
||||
.connect-buttons
|
||||
margin-bottom: 10px
|
||||
margin-bottom: 15px
|
||||
.btn
|
||||
margin-left: 5px
|
||||
margin-right: 5px
|
||||
|
||||
.friend-entry img
|
||||
float: left
|
||||
|
|
|
@ -58,6 +58,8 @@
|
|||
li:hover
|
||||
background: #add8e6
|
||||
|
||||
#play-button.disabled i
|
||||
@include opacity(0.5)
|
||||
#play-button.playing i.icon-pause
|
||||
display: inline-block
|
||||
#play-button.paused i.icon-play
|
||||
|
@ -96,6 +98,9 @@
|
|||
border-radius: 0
|
||||
border: 0
|
||||
|
||||
&.disabled
|
||||
cursor: default
|
||||
|
||||
.progress-bar
|
||||
@include transition(width .0s linear)
|
||||
position: relative
|
||||
|
|
|
@ -73,7 +73,8 @@
|
|||
.executing, .executed, .problem-marker-info, .problem-marker-warning, .problem-marker-error
|
||||
position: absolute
|
||||
.executing
|
||||
background-color: rgba(50, 255, 80, 0.35)
|
||||
// https://github.com/codecombat/codecombat/issues/6
|
||||
background-color: rgba(50, 255, 80, 0.65)
|
||||
@include gradient-striped()
|
||||
.executed
|
||||
background-color: rgba(110, 110, 110, 0.12)
|
||||
|
@ -113,3 +114,8 @@
|
|||
|
||||
.ace_text-layer .ace_comment
|
||||
color: darken(rgb(103, 164, 200), 5%)
|
||||
|
||||
.ace_text-layer .ace_variable
|
||||
// https://github.com/codecombat/codecombat/issues/6
|
||||
color: rgb(145, 48, 50)
|
||||
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
border: 1px solid transparent
|
||||
cursor: pointer
|
||||
@include user-select(all)
|
||||
::selection
|
||||
background: transparent
|
||||
|
||||
&:hover
|
||||
border: 1px solid #000000
|
||||
|
|
|
@ -34,7 +34,7 @@ block content
|
|||
p(data-i18n="contribute.introduction_desc_ending")
|
||||
| We hope you'll join our party!
|
||||
p(data-i18n="contribute.introduction_desc_signature").signature
|
||||
| - Nick, George, Scott, Michael, and Jeremy
|
||||
| - Nick, George, Scott, Michael, Jeremy and Glen
|
||||
hr
|
||||
|
||||
if me.attributes.anonymous
|
||||
|
|
|
@ -76,7 +76,7 @@ block content
|
|||
li Dutch - Glen De Cauwsemaecker, Guido Zuidhof, Ruben Vereecken, Jasper D'haene
|
||||
li Greek - Stergios
|
||||
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 Hungarian - ferpeter, csuvsaregal, atlantisguru, Anon
|
||||
li Japanese - g1itch, kengos
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
h3(data-i18n="editor.level_tab_thangs_add") Add Thangs
|
||||
input(type="text", id="thang-search")
|
||||
input(type="search", id="thang-search")
|
||||
#thangs-list
|
||||
for group in groups
|
||||
h4= group.name
|
||||
|
|
|
@ -47,31 +47,27 @@ div#columns.row
|
|||
a(data-toggle="coco-modal", data-target="modal/signup") Sign up to play with your friends!
|
||||
|
||||
else
|
||||
if !onFacebook
|
||||
if !onFacebook || !onGPlus
|
||||
div.connect-buttons
|
||||
| Connect:
|
||||
| Connect and play against your friends!
|
||||
br
|
||||
if !onFacebook
|
||||
button.btn.btn-sm.connect-facebook Facebook
|
||||
//button.btn.btn-sm.connect-google-plus Google+
|
||||
|
||||
if !!friends
|
||||
|
||||
if friends.length
|
||||
for friend in friends
|
||||
p.friend-entry
|
||||
img(src="http://graph.facebook.com/#{friend.facebookID}/picture").img-thumbnail
|
||||
span= friend.creatorName + ' (' + friend.facebookName + ')'
|
||||
br
|
||||
span= Math.round(friend.totalScore * 100)
|
||||
span :
|
||||
span= friend.team
|
||||
br
|
||||
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{friend.otherTeam}&opponent=#{friend._id}")
|
||||
span(data-i18n="ladder.fight") Fight!
|
||||
|
||||
|
||||
else
|
||||
p Invite your friends to join you in battle!
|
||||
|
||||
if !onGPlus
|
||||
button.btn.btn-sm.connect-google-plus Google+
|
||||
|
||||
if friends.length
|
||||
for friend in friends
|
||||
p.friend-entry
|
||||
img(src=friend.imageSource).img-thumbnail
|
||||
span= friend.creatorName + ' (' + friend.name + ')'
|
||||
br
|
||||
span= Math.round(friend.totalScore * 100)
|
||||
span :
|
||||
span= friend.team
|
||||
br
|
||||
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{friend.otherTeam}&opponent=#{friend._id}")
|
||||
span(data-i18n="ladder.fight") Fight!
|
||||
|
||||
else
|
||||
p Connect to social networks to play with your friends!
|
||||
p Invite your friends to join you in battle!
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
strong.tip.rare(data-i18n='play_level.tip_no_try') Do. Or do not. There is no try. - Yoda
|
||||
strong.tip.rare(data-i18n='play_level.tip_patience') Patience you must have, young Padawan. - Yoda
|
||||
strong.tip.rare(data-i18n='play_level.tip_documented_bug') A documented bug is not a bug; it is a feature.
|
||||
strong.tip.rare(data-i18n='play_level.tip_great_responsibility') With great coding skills comes great debug responsibility.
|
||||
strong.tip.rare
|
||||
span(data-i18n='play_level.tip_harry') Yer a Wizard,
|
||||
span= me.get('name') || 'Anoner'
|
||||
|
|
|
@ -20,7 +20,7 @@ class LiveEditingMarkup extends TreemaNode.nodeMap.ace
|
|||
|
||||
buildValueForEditing: (valEl) ->
|
||||
super(valEl)
|
||||
@editor.on 'change', @onEditorChange
|
||||
@editor.on('change', @onEditorChange)
|
||||
@addImageUpload(valEl)
|
||||
|
||||
addImageUpload: (valEl) ->
|
||||
|
@ -203,7 +203,7 @@ class CoffeeTreema extends TreemaNode.nodeMap.ace
|
|||
|
||||
buildValueForEditing: (valEl) ->
|
||||
super(valEl)
|
||||
@editor.on 'change', @onEditorChange
|
||||
@editor.on('change', @onEditorChange)
|
||||
valEl
|
||||
|
||||
onEditorChange: =>
|
||||
|
@ -297,9 +297,9 @@ class LatestVersionReferenceNode extends TreemaNode
|
|||
@collection.url = "#{@url}?term=#{''}&project=true"
|
||||
|
||||
@collection.fetch()
|
||||
@collection.on 'sync', @searchCallback
|
||||
@listenTo(@collection, 'sync', @searchCallback)
|
||||
|
||||
searchCallback: =>
|
||||
searchCallback: ->
|
||||
container = @getSearchResultsEl().detach().empty()
|
||||
first = true
|
||||
for model in @collection.models
|
||||
|
|
|
@ -11,14 +11,14 @@ module.exports = class ProfileView extends View
|
|||
super options
|
||||
@user = User.getByID(@userID)
|
||||
@loading = false if 'gravatarProfile' of @user
|
||||
@user.on('change', @userChanged)
|
||||
@user.on('error', @userError)
|
||||
@listenTo(@user, 'change', @userChanged)
|
||||
@listenTo(@user, 'error', @userError)
|
||||
|
||||
userChanged: (user) =>
|
||||
userChanged: (user) ->
|
||||
@loading = false if 'gravatarProfile' of user
|
||||
@render()
|
||||
|
||||
userError: (user) =>
|
||||
userError: (user) ->
|
||||
@loading = false
|
||||
@render()
|
||||
|
||||
|
|
|
@ -19,11 +19,11 @@ module.exports = class SettingsView extends View
|
|||
@save = _.debounce(@save, 200)
|
||||
super options
|
||||
return unless me
|
||||
me.on('change', @refreshPicturePane) # depends on gravatar load
|
||||
me.on('invalid', (errors) -> forms.applyErrorsToForm(@$el, me.validationError))
|
||||
@listenTo(me, 'change', @refreshPicturePane) # depends on gravatar load
|
||||
@listenTo(me, 'invalid', (errors) -> forms.applyErrorsToForm(@$el, me.validationError))
|
||||
window.f = @getSubscriptions
|
||||
|
||||
refreshPicturePane: =>
|
||||
refreshPicturePane: ->
|
||||
h = $(@template(@getRenderData()))
|
||||
newPane = $('#picture-pane', h)
|
||||
oldPane = $('#picture-pane')
|
||||
|
@ -46,7 +46,7 @@ module.exports = class SettingsView extends View
|
|||
|
||||
@chooseTab(location.hash.replace('#',''))
|
||||
WizardSettingsView = new WizardSettingsView()
|
||||
WizardSettingsView.on 'change', @save, @
|
||||
@listenTo(WizardSettingsView, 'change', @save)
|
||||
@insertSubView WizardSettingsView
|
||||
|
||||
chooseTab: (category) ->
|
||||
|
@ -81,7 +81,7 @@ module.exports = class SettingsView extends View
|
|||
$('#email-pane input[type="checkbox"]', @$el).prop('checked', not Boolean(subs.length))
|
||||
@save()
|
||||
|
||||
save: =>
|
||||
save: ->
|
||||
forms.clearFormAlerts(@$el)
|
||||
@grabData()
|
||||
res = me.validate()
|
||||
|
|
|
@ -24,7 +24,7 @@ module.exports = class WizardSettingsView extends CocoView
|
|||
@wizardThangType = new ThangType()
|
||||
@wizardThangType.url = -> '/db/thang.type/wizard'
|
||||
@wizardThangType.fetch()
|
||||
@wizardThangType.once 'sync', @initCanvas, @
|
||||
@listenToOnce(@wizardThangType, 'sync', @initCanvas)
|
||||
|
||||
initCanvas: ->
|
||||
@startsLoading = false
|
||||
|
|
|
@ -16,7 +16,7 @@ module.exports = class CLAsView extends View
|
|||
})
|
||||
@clas = new CLACollection()
|
||||
@clas.fetch()
|
||||
@clas.on 'sync', @onCLAsLoaded, @
|
||||
@listenTo(@clas, 'sync', @onCLAsLoaded)
|
||||
|
||||
onCLAsLoaded: ->
|
||||
@startsLoading = false
|
||||
|
|
|
@ -18,7 +18,7 @@ module.exports = class LevelSessionsView extends View
|
|||
getLevelSessions: ->
|
||||
@sessions = new LevelSessionCollection
|
||||
@sessions.fetch()
|
||||
@sessions.on('all', @render)
|
||||
@listenTo(@sessions, 'all', @render)
|
||||
|
||||
getRenderData: =>
|
||||
c = super()
|
||||
|
|
|
@ -36,7 +36,7 @@ module.exports = class UsersView extends View
|
|||
})
|
||||
@users = new UserCollection()
|
||||
@users.fetch()
|
||||
@users.on('all', @render)
|
||||
@listenTo(@users, 'all', @render)
|
||||
|
||||
getRenderData: =>
|
||||
c = super()
|
||||
|
|
|
@ -20,15 +20,15 @@ module.exports = class ArticleEditView extends View
|
|||
@article = new Article(_id: @articleID)
|
||||
@article.saveBackups = true
|
||||
@article.fetch()
|
||||
@article.once('sync', @onArticleSync)
|
||||
@article.on('schema-loaded', @buildTreema)
|
||||
@listenToOnce(@article, 'sync', @onArticleSync)
|
||||
@listenTo(@article, 'schema-loaded', @buildTreema)
|
||||
@pushChangesToPreview = _.throttle(@pushChangesToPreview, 500)
|
||||
|
||||
onArticleSync: =>
|
||||
onArticleSync: ->
|
||||
@article.loaded = true
|
||||
@buildTreema()
|
||||
|
||||
buildTreema: =>
|
||||
buildTreema: ->
|
||||
return if @treema? or (not @article.loaded) or (not Article.hasSchema())
|
||||
unless @article.attributes.body
|
||||
@article.set('body', '')
|
||||
|
|
|
@ -24,7 +24,7 @@ module.exports = class ThangComponentEditView extends CocoView
|
|||
if not @componentCollection
|
||||
@componentCollection = @supermodel.getCollection new ComponentsCollection()
|
||||
unless @componentCollection.loaded
|
||||
@componentCollection.once 'sync', @onComponentsSync
|
||||
@listenToOnce(@componentCollection, 'sync', @onComponentsSync)
|
||||
@componentCollection.fetch()
|
||||
super() # do afterRender at the end
|
||||
|
||||
|
@ -35,7 +35,7 @@ module.exports = class ThangComponentEditView extends CocoView
|
|||
@buildExtantComponentTreema()
|
||||
@buildAddComponentTreema()
|
||||
|
||||
onComponentsSync: =>
|
||||
onComponentsSync: ->
|
||||
return if @destroyed
|
||||
@supermodel.addCollection @componentCollection
|
||||
@render()
|
||||
|
@ -96,6 +96,34 @@ module.exports = class ThangComponentEditView extends CocoView
|
|||
@closeExistingView()
|
||||
@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
|
||||
row = selected[0]
|
||||
@selectedRow = row
|
||||
|
|
|
@ -23,10 +23,10 @@ module.exports = class AddThangsView extends View
|
|||
super options
|
||||
@world = options.world
|
||||
@thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too
|
||||
@thangTypes.once 'sync', @onThangTypesLoaded
|
||||
@listenToOnce(@thangTypes, 'sync', @onThangTypesLoaded)
|
||||
@thangTypes.fetch()
|
||||
|
||||
onThangTypesLoaded: =>
|
||||
onThangTypesLoaded: ->
|
||||
return if @destroyed
|
||||
@render() # do it again but without the loading screen
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ module.exports = class LevelComponentEditView extends View
|
|||
session.setTabSize 2
|
||||
session.setNewLineMode = 'unix'
|
||||
session.setUseSoftTabs true
|
||||
@editor.on 'change', @onEditorChange
|
||||
@editor.on('change', @onEditorChange)
|
||||
|
||||
onEditorChange: =>
|
||||
@levelComponent.set 'code', @editor.getValue()
|
||||
|
|
|
@ -28,7 +28,7 @@ module.exports = class EditorLevelView extends View
|
|||
|
||||
constructor: (options, @levelID) ->
|
||||
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
|
||||
# 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']
|
||||
|
||||
@level = new Level _id: @levelID
|
||||
@level.once 'sync', @onLevelLoaded
|
||||
@listenToOnce(@level, 'sync', @onLevelLoaded)
|
||||
@supermodel.populateModel @level
|
||||
|
||||
showLoading: ($el) ->
|
||||
$el ?= @$el.find('.tab-content')
|
||||
super($el)
|
||||
|
||||
onLevelLoaded: =>
|
||||
onLevelLoaded: ->
|
||||
@files = new DocumentFiles(@level)
|
||||
@files.fetch()
|
||||
|
||||
onAllLoaded: =>
|
||||
onAllLoaded: ->
|
||||
@level.unset('nextLevel') if _.isString(@level.get('nextLevel'))
|
||||
@initWorld()
|
||||
@startsLoading = false
|
||||
|
|
|
@ -8,7 +8,7 @@ module.exports = class SettingsTabView extends View
|
|||
id: 'editor-level-settings-tab-view'
|
||||
className: 'tab-pane'
|
||||
template: template
|
||||
|
||||
|
||||
# not thangs or scripts or the backend stuff
|
||||
editableSettings: [
|
||||
'name', 'description', 'documentation', 'nextLevel', 'background', 'victory', 'i18n', 'icon', 'goals',
|
||||
|
@ -39,7 +39,7 @@ module.exports = class SettingsTabView extends View
|
|||
thangIDs: thangIDs
|
||||
nodeClasses:
|
||||
thang: nodes.ThangNode
|
||||
|
||||
|
||||
@settingsTreema = @$el.find('#settings-treema').treema treemaOptions
|
||||
@settingsTreema.build()
|
||||
@settingsTreema.open()
|
||||
|
|
|
@ -24,7 +24,7 @@ module.exports = class LevelSystemAddView extends View
|
|||
if not @systems
|
||||
@systems = @supermodel.getCollection new LevelSystemSearchCollection()
|
||||
unless @systems.loaded
|
||||
@systems.once 'sync', @onSystemsSync
|
||||
@listenToOnce(@systems, 'sync', @onSystemsSync)
|
||||
@systems.fetch()
|
||||
super() # do afterRender at the end
|
||||
|
||||
|
@ -44,7 +44,7 @@ module.exports = class LevelSystemAddView extends View
|
|||
for system in systems
|
||||
ul.append $(availableSystemTemplate(system: system))
|
||||
|
||||
onSystemsSync: =>
|
||||
onSystemsSync: ->
|
||||
@supermodel.addCollection @systems
|
||||
@render()
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ module.exports = class LevelSystemEditView extends View
|
|||
session.setTabSize 2
|
||||
session.setNewLineMode = 'unix'
|
||||
session.setUseSoftTabs true
|
||||
@editor.on 'change', @onEditorChange
|
||||
@editor.on('change', @onEditorChange)
|
||||
|
||||
onEditorChange: =>
|
||||
@levelSystem.set 'code', @editor.getValue()
|
||||
|
|
|
@ -34,11 +34,11 @@ module.exports = class SystemsTabView extends View
|
|||
do (url) -> ls.url = -> url
|
||||
continue if @supermodel.getModelByURL ls.url
|
||||
ls.fetch()
|
||||
ls.on 'sync', @onSystemLoaded
|
||||
@listenTo(ls, 'sync', @onSystemLoaded)
|
||||
++@toLoad
|
||||
@onDefaultSystemsLoaded() unless @toLoad
|
||||
|
||||
onSystemLoaded: (ls) =>
|
||||
onSystemLoaded: (ls) ->
|
||||
@supermodel.addModel ls
|
||||
--@toLoad
|
||||
@onDefaultSystemsLoaded() unless @toLoad
|
||||
|
|
|
@ -21,7 +21,7 @@ componentOriginals =
|
|||
"physics.Physical" : "524b75ad7fc0f6d519000001"
|
||||
|
||||
class ThangTypeSearchCollection extends CocoCollection
|
||||
url: '/db/thang.type/search?project=true'
|
||||
url: '/db/thang.type/search?project=original,name,version,slug,kind,components'
|
||||
model: ThangType
|
||||
|
||||
module.exports = class ThangsTabView extends View
|
||||
|
@ -59,15 +59,15 @@ module.exports = class ThangsTabView extends View
|
|||
super options
|
||||
@world = options.world
|
||||
@thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too
|
||||
@thangTypes.once 'sync', @onThangTypesLoaded
|
||||
@listenToOnce(@thangTypes, 'sync', @onThangTypesLoaded)
|
||||
@thangTypes.fetch()
|
||||
|
||||
# just loading all Components for now: https://github.com/codecombat/codecombat/issues/405
|
||||
@componentCollection = @supermodel.getCollection new ComponentsCollection()
|
||||
@componentCollection.once 'sync', @onComponentsLoaded
|
||||
@listenToOnce(@componentCollection, 'sync', @onComponentsLoaded)
|
||||
@componentCollection.fetch()
|
||||
|
||||
onThangTypesLoaded: =>
|
||||
onThangTypesLoaded: ->
|
||||
return if @destroyed
|
||||
@supermodel.addCollection @thangTypes
|
||||
@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
|
||||
@onLevelLoaded level: @level if @level and not @startsLoading
|
||||
|
||||
onComponentsLoaded: =>
|
||||
onComponentsLoaded: ->
|
||||
return if @destroyed
|
||||
@supermodel.addCollection @componentCollection
|
||||
@startsLoading = not @thangTypes.loaded
|
||||
|
@ -219,7 +219,7 @@ module.exports = class ThangsTabView extends View
|
|||
|
||||
# TODO: figure out a good way to have all Surface clicks and Treema clicks just proxy in one direction, so we can maintain only one way of handling selection and deletion
|
||||
onExtantThangSelected: (e) ->
|
||||
@selectedExtantSprite?.setNameLabel null unless @selectedExtantSprite is e.sprite
|
||||
@selectedExtantSprite?.setNameLabel? null unless @selectedExtantSprite is e.sprite
|
||||
@selectedExtantThang = e.thang
|
||||
@selectedExtantSprite = e.sprite
|
||||
if e.thang and (key.alt or key.meta)
|
||||
|
@ -236,7 +236,7 @@ module.exports = class ThangsTabView extends View
|
|||
@selectedExtantSprite.setNameLabel @selectedExtantSprite.thangType.get('name') + ': ' + @selectedExtantThang.id
|
||||
if not treemaThang.isSelected()
|
||||
treemaThang.select()
|
||||
@thangsTreema.$el.scrollTop(@thangsTreema.$el.find('.treema-children .treema-selected')[0].offsetTop)
|
||||
@thangsTreema.$el.scrollTop(@thangsTreema.$el.find('.treema-children .treema-selected')[0].offsetTop)
|
||||
else if @addThangSprite
|
||||
# We clicked on the background when we had an add Thang selected, so add it
|
||||
@addThang @addThangType, @addThangSprite.thang.pos
|
||||
|
|
|
@ -11,8 +11,8 @@ module.exports = class ColorsTabView extends CocoView
|
|||
offset: 0
|
||||
|
||||
constructor: (@thangType, options) ->
|
||||
@thangType.once 'sync', @tryToBuild, @
|
||||
@thangType.schema().once 'sync', @tryToBuild, @
|
||||
@listenToOnce(@thangType, 'sync', @tryToBuild)
|
||||
@listenToOnce(@thangType.schema(), 'sync', @tryToBuild)
|
||||
@colorConfig = { hue: 0, saturation: 0.5, lightness: 0.5 }
|
||||
@spriteBuilder = new SpriteBuilder(@thangType)
|
||||
f = =>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue