mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-26 05:53:39 -04:00
Merge branch 'master' of https://github.com/codecombat/codecombat into editor_tweaks
Conflicts: app/locale/ru.coffee
This commit is contained in:
commit
a6523719e4
94 changed files with 1155 additions and 676 deletions
app
assets/javascripts/workers
lib
locale
ar.coffeebg.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.coffeelt.coffeems-BA.coffeenb.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/editor/level
templates
views
account
editor
components
level
thang
play
play_view.coffeescripts/windows/coco-dev-setup/batch
server
|
@ -5,6 +5,32 @@
|
|||
if(typeof window !== 'undefined' || !self.importScripts)
|
||||
throw "Attempt to load worker_world into main window instead of web worker.";
|
||||
|
||||
// Taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
|
||||
// This is here for running simuations in enviroments lacking function.bind (PhantomJS mostly)
|
||||
if (!Function.prototype.bind) {
|
||||
Function.prototype.bind = function (oThis) {
|
||||
if (typeof this !== "function") {
|
||||
// closest thing possible to the ECMAScript 5 internal IsCallable function
|
||||
throw new TypeError("Function.prototype.bind (Shim) - target is not callable");
|
||||
}
|
||||
|
||||
var aArgs = Array.prototype.slice.call(arguments, 1),
|
||||
fToBind = this,
|
||||
fNOP = function () {},
|
||||
fBound = function () {
|
||||
return fToBind.apply(this instanceof fNOP && oThis
|
||||
? this
|
||||
: oThis,
|
||||
aArgs.concat(Array.prototype.slice.call(arguments)));
|
||||
};
|
||||
|
||||
fNOP.prototype = this.prototype;
|
||||
fBound.prototype = new fNOP();
|
||||
|
||||
return fBound;
|
||||
};
|
||||
}
|
||||
|
||||
// assign global window so that Brunch's require (in world.js) can go into it
|
||||
self.window = self;
|
||||
self.workerID = "Worker";
|
||||
|
|
82
app/lib/AsyncCloner.coffee
Normal file
82
app/lib/AsyncCloner.coffee
Normal file
|
@ -0,0 +1,82 @@
|
|||
#CocoClass = require 'lib/CocoClass'
|
||||
#
|
||||
#module.exports = class AsyncCloner extends CocoClass
|
||||
# constructor: (@source, @depth=2) ->
|
||||
# # passing in a depth of 0 will just _.clone the first layer, and will result in 1 indexList
|
||||
# super()
|
||||
# @indexLists = []
|
||||
# @initClone()
|
||||
#
|
||||
# initClone: () ->
|
||||
# @target = AsyncCloner.cloneToDepth(@source, @depth)
|
||||
# @indexLists = [_.keys(@target)] if _.isObject @target
|
||||
#
|
||||
# @cloneToDepth: (value, depth) ->
|
||||
# value = _.clone(value)
|
||||
# return value unless depth and _.isObject value
|
||||
# value[key] = @cloneToDepth(value[key], depth-1) for key in _.keys value
|
||||
# value
|
||||
#
|
||||
# clone: ->
|
||||
# while @indexLists.length
|
||||
# #console.log 'Clone loop:', JSON.stringify @indexLists
|
||||
# @moveIndexForward() # fills or empties the index so @indexLists.length === @depth + 1
|
||||
# break if @done()
|
||||
# @cloneOne()
|
||||
# @moveIndexForwardOne()
|
||||
# break if @done() or @timeToSleep()
|
||||
#
|
||||
# moveIndexForward: ->
|
||||
# while @indexLists.length
|
||||
# nextValue = @getNextValue()
|
||||
# if _.isObject(nextValue)
|
||||
# if @indexLists.length <= @depth
|
||||
# # push a new list if it's a collection
|
||||
# @indexLists.push _.keys(nextValue)
|
||||
# continue
|
||||
# else
|
||||
# break # we done, the next value needs to be deep cloned
|
||||
# #console.log 'Skipping:', @getNextPath()
|
||||
# @moveIndexForwardOne() # move past this value otherwise
|
||||
# #console.log '\tMoved index forward', JSON.stringify @indexLists
|
||||
#
|
||||
# getNextValue: ->
|
||||
# value = @target
|
||||
# value = value[indexList[0]] for indexList in @indexLists
|
||||
# value
|
||||
#
|
||||
# getNextParent: ->
|
||||
# parent = @target
|
||||
# parent = parent[indexList[0]] for indexList in @indexLists[...-1]
|
||||
# parent
|
||||
#
|
||||
# getNextPath: ->
|
||||
# (indexList[0] for indexList in @indexLists when indexList.length).join '.'
|
||||
#
|
||||
# moveIndexForwardOne: ->
|
||||
# @indexLists[@indexLists.length-1].shift() # move the index forward one
|
||||
# # if we reached the end of an index list, trim down through all finished lists
|
||||
# while @indexLists.length and not @indexLists[@indexLists.length-1].length
|
||||
# @indexLists.pop()
|
||||
# @indexLists[@indexLists.length-1].shift() if @indexLists.length
|
||||
#
|
||||
# cloneOne: ->
|
||||
# if @indexLists.length isnt @depth + 1
|
||||
# throw new Error('Cloner is in an invalid state!')
|
||||
# parent = @getNextParent()
|
||||
# key = @indexLists[@indexLists.length-1][0]
|
||||
# parent[key] = _.cloneDeep parent[key]
|
||||
# #console.log 'Deep Cloned:', @getNextPath()
|
||||
#
|
||||
# done: -> not @indexLists.length
|
||||
#
|
||||
# timeToSleep: -> false
|
||||
|
||||
|
||||
###
|
||||
Overall, the loop is:
|
||||
Fill indexes if we need to to the depth we've cloned
|
||||
Clone that one, popping it off the list.
|
||||
If the last list is now empty, pop that list and every subsequent list if needed.
|
||||
Check for doneness, or timeout.
|
||||
###
|
|
@ -18,7 +18,6 @@ module.exports = class LevelBus extends Bus
|
|||
'surface:frame-changed': 'onFrameChanged'
|
||||
'surface:sprite-selected': 'onSpriteSelected'
|
||||
'level-set-playing': 'onSetPlaying'
|
||||
'thang-code-ran': 'onCodeRan'
|
||||
'level-show-victory': 'onVictory'
|
||||
'tome:spell-changed': 'onSpellChanged'
|
||||
'tome:spell-created': 'onSpellCreated'
|
||||
|
@ -174,17 +173,6 @@ module.exports = class LevelBus extends Bus
|
|||
@changedSessionProperties.state = true
|
||||
@saveSession()
|
||||
|
||||
onCodeRan: (e) ->
|
||||
return unless @onPoint()
|
||||
state = @session.get('state')
|
||||
state.thangs ?= {}
|
||||
methods = _.cloneDeep(e.methods)
|
||||
delete method.metrics.statements for methodName, method of methods
|
||||
state.thangs[e.thangID] = { methods: methods }
|
||||
@session.set('state', state)
|
||||
@changedSessionProperties.state = true
|
||||
@saveSession()
|
||||
|
||||
onVictory: ->
|
||||
return unless @onPoint()
|
||||
state = @session.get('state')
|
||||
|
|
|
@ -47,6 +47,7 @@ module.exports = class LevelLoader extends CocoClass
|
|||
# Session Loading
|
||||
|
||||
loadSession: ->
|
||||
return if @headless
|
||||
if @sessionID
|
||||
url = "/db/level_session/#{@sessionID}"
|
||||
else
|
||||
|
@ -68,6 +69,7 @@ module.exports = class LevelLoader extends CocoClass
|
|||
@opponentSession.once 'sync', @onSessionLoaded, @
|
||||
|
||||
sessionsLoaded: ->
|
||||
return true if @headless
|
||||
@session.loaded and ((not @opponentSession) or @opponentSession.loaded)
|
||||
|
||||
onSessionLoaded: ->
|
||||
|
@ -107,17 +109,18 @@ module.exports = class LevelLoader extends CocoClass
|
|||
# Things to do when either the Session or Supermodel load
|
||||
|
||||
update: =>
|
||||
return if @destroyed
|
||||
@notifyProgress()
|
||||
|
||||
return if @updateCompleted
|
||||
return unless @supermodel?.finished() and @sessionsLoaded()
|
||||
@denormalizeSession()
|
||||
@loadLevelSounds()
|
||||
app.tracker.updatePlayState(@level, @session)
|
||||
app.tracker.updatePlayState(@level, @session) unless @headless
|
||||
@updateCompleted = true
|
||||
|
||||
denormalizeSession: ->
|
||||
return if @sessionDenormalized or @spectateMode
|
||||
return if @headless or @sessionDenormalized or @spectateMode
|
||||
patch =
|
||||
'levelName': @level.get('name')
|
||||
'levelID': @level.get('slug') or @level.id
|
||||
|
@ -170,13 +173,11 @@ module.exports = class LevelLoader extends CocoClass
|
|||
building = thangType.buildSpriteSheet options
|
||||
return unless building
|
||||
#console.log 'Building:', thangType.get('name'), options
|
||||
t0 = new Date()
|
||||
@spriteSheetsToBuild += 1
|
||||
thangType.once 'build-complete', =>
|
||||
return if @destroyed
|
||||
@spriteSheetsBuilt += 1
|
||||
@notifyProgress()
|
||||
console.log "Built", thangType.get('name'), 'after', ((new Date()) - t0), 'ms'
|
||||
|
||||
# World init
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
|
|||
@triggered = []
|
||||
@ended = []
|
||||
@noteGroupQueue = []
|
||||
@scripts = _.cloneDeep(@originalScripts)
|
||||
@scripts = $.extend(true, [], @originalScripts)
|
||||
|
||||
addScriptSubscriptions: ->
|
||||
idNum = 0
|
||||
|
|
|
@ -44,7 +44,7 @@ module.exports = class Simulator extends CocoClass
|
|||
return @handleNoGamesResponse() if jqXHR.status is 204
|
||||
@trigger 'statusUpdate', 'Setting up simulation!'
|
||||
@task = new SimulationTask(taskData)
|
||||
@supermodel = new SuperModel()
|
||||
@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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module.exports = class SpriteParser
|
||||
constructor: (@thangTypeModel) ->
|
||||
# Create a new ThangType, or work with one we've been building
|
||||
@thangType = _.cloneDeep(@thangTypeModel.attributes.raw)
|
||||
@thangType = $.extend(true, {}, @thangTypeModel.attributes.raw)
|
||||
@thangType ?= {}
|
||||
@thangType.shapes ?= {}
|
||||
@thangType.containers ?= {}
|
||||
|
|
|
@ -22,6 +22,7 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
healthBar: null
|
||||
marks: null
|
||||
labels: null
|
||||
ranges: null
|
||||
|
||||
options:
|
||||
resolutionFactor: 4
|
||||
|
@ -56,12 +57,13 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
|
||||
constructor: (@thangType, options) ->
|
||||
super()
|
||||
@options = _.extend(_.cloneDeep(@options), options)
|
||||
@options = _.extend($.extend(true, {}, @options), options)
|
||||
@setThang @options.thang
|
||||
console.error @toString(), "has no ThangType!" unless @thangType
|
||||
@actionQueue = []
|
||||
@marks = {}
|
||||
@labels = {}
|
||||
@ranges = []
|
||||
@handledAoEs = {}
|
||||
@age = 0
|
||||
@scaleFactor = @targetScaleFactor = 1
|
||||
|
@ -250,6 +252,12 @@ 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
|
||||
angle = @getRotation()
|
||||
angle = -angle if angle < 0
|
||||
angle = 180 - angle if angle > 90
|
||||
scaleX = 0.5 + 0.5 * (90 - angle) / 90
|
||||
scaleFactorX = @thang.scaleFactorX ? @scaleFactor
|
||||
scaleFactorY = @thang.scaleFactorY ? @scaleFactor
|
||||
@imageObject.scaleX = @originalScaleX * scaleX * scaleFactorX
|
||||
|
@ -425,9 +433,17 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
allProps = allProps.concat (@thang.programmableProperties ? [])
|
||||
allProps = allProps.concat (@thang.moreProgrammableProperties ? [])
|
||||
|
||||
@addMark('voiceradius') if 'voiceRange' in allProps
|
||||
@addMark('visualradius') if 'visualRange' in allProps
|
||||
@addMark('attackradius') if 'attackRange' in allProps
|
||||
for property in allProps
|
||||
if m = property.match /.*Range$/
|
||||
if @thang[m[0]]? and @thang[m[0]] < 9001
|
||||
@ranges.push
|
||||
name: m[0]
|
||||
radius: @thang[m[0]]
|
||||
|
||||
@ranges = _.sortBy @ranges, 'radius'
|
||||
@ranges.reverse()
|
||||
|
||||
@addMark range.name for range in @ranges
|
||||
|
||||
@addMark('bounds').toggle true if @thang?.drawsBounds
|
||||
@addMark('shadow').toggle true unless @thangType.get('shadow') is 0
|
||||
|
@ -438,13 +454,9 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
@marks.repair?.toggle @thang?.errorsOut
|
||||
|
||||
if @selected
|
||||
@marks.voiceradius?.toggle true
|
||||
@marks.visualradius?.toggle true
|
||||
@marks.attackradius?.toggle true
|
||||
@marks[range['name']].toggle true for range in @ranges
|
||||
else
|
||||
@marks.voiceradius?.toggle false
|
||||
@marks.visualradius?.toggle false
|
||||
@marks.attackradius?.toggle false
|
||||
@marks[range['name']].toggle false for range in @ranges
|
||||
|
||||
mark.update() for name, mark of @marks
|
||||
#@thang.effectNames = ['berserk', 'confuse', 'control', 'curse', 'fear', 'poison', 'paralyze', 'regen', 'sleep', 'slow', 'haste']
|
||||
|
|
|
@ -55,9 +55,7 @@ module.exports = class Mark extends CocoClass
|
|||
if @name is 'bounds' then @buildBounds()
|
||||
else if @name is 'shadow' then @buildShadow()
|
||||
else if @name is 'debug' then @buildDebug()
|
||||
else if @name is 'voiceradius' then @buildRadius('voice')
|
||||
else if @name is 'visualradius' then @buildRadius('visual')
|
||||
else if @name is 'attackradius' then @buildRadius('attack')
|
||||
else if @name.match(".*Range$") then @buildRadius(@name)
|
||||
else if @thangType then @buildSprite()
|
||||
else console.error "Don't know how to build mark for", @name
|
||||
@mark?.mouseEnabled = false
|
||||
|
@ -117,51 +115,40 @@ module.exports = class Mark extends CocoClass
|
|||
@mark.layerIndex = 10
|
||||
#@mark.cache 0, 0, diameter, diameter # not actually faster than simple ellipse draw
|
||||
|
||||
buildRadius: (type) ->
|
||||
return if type is 'voice' and @sprite.thang.voiceRange > 9000
|
||||
return if type is 'visual' and @sprite.thang.visualRange > 9000
|
||||
return if type is 'attack' and @sprite.thang.attackRange > 9000
|
||||
|
||||
buildRadius: (range) ->
|
||||
alpha = 0.35
|
||||
colors =
|
||||
voice: "rgba(0, 145, 0, alpha)"
|
||||
visual: "rgba(0, 0, 145, alpha)"
|
||||
attack: "rgba(145, 0, 0, alpha)"
|
||||
voiceRange: "rgba(0, 145, 0, #{alpha})"
|
||||
visualRange: "rgba(0, 0, 145, #{alpha})"
|
||||
attackRange: "rgba(145, 0, 0, #{alpha})"
|
||||
|
||||
color = colors[type]
|
||||
# Fallback colors which work on both dungeon and grass tiles
|
||||
extracolors = [
|
||||
"rgba(145, 0, 145, #{alpha})"
|
||||
"rgba(0, 145, 145, #{alpha})"
|
||||
"rgba(145, 105, 0, #{alpha})"
|
||||
"rgba(225, 125, 0, #{alpha})"
|
||||
]
|
||||
|
||||
# Find the index of this range, to find the next-smallest radius
|
||||
rangeNames = @sprite.ranges.map((range, index) ->
|
||||
range['name']
|
||||
)
|
||||
i = rangeNames.indexOf(range)
|
||||
|
||||
@mark = new createjs.Shape()
|
||||
@mark.graphics.beginFill color.replace('alpha', 0.4)
|
||||
|
||||
if type is 'voice'
|
||||
r = @sprite.thang.voiceRange
|
||||
ranges = [
|
||||
r,
|
||||
if 'visualradius' of @sprite.marks and @sprite.thang.visualRange < 9001 then @sprite.thang.visualRange else 0,
|
||||
if 'attackradius' of @sprite.marks and @sprite.thang.attackRange < 9001 then @sprite.thang.attackRange else 0
|
||||
]
|
||||
else if type is 'visual'
|
||||
r = @sprite.thang.visualRange
|
||||
ranges = [
|
||||
r,
|
||||
if 'attackradius' of @sprite.marks and @sprite.thang.attackRange < 9001 then @sprite.thang.attackRange else 0,
|
||||
if 'voiceradius' of @sprite.marks and @sprite.thang.voiceRange < 9001 then @sprite.thang.voiceRange else 0,
|
||||
]
|
||||
else if type is 'attack'
|
||||
r = @sprite.thang.attackRange
|
||||
ranges = [
|
||||
r,
|
||||
if 'voiceradius' of @sprite.marks and @sprite.thang.voiceRange < 9001 then @sprite.thang.voiceRange else 0,
|
||||
if 'visualradius' of @sprite.marks and @sprite.thang.visualRange < 9001 then @sprite.thang.visualRange else 0
|
||||
]
|
||||
|
||||
# Draw the outer circle
|
||||
@mark.graphics.drawCircle 0, 0, r * Camera.PPM
|
||||
|
||||
# Cut out the inner circle
|
||||
if Math.max(ranges['1'], ranges['2']) < r
|
||||
@mark.graphics.arc 0, 0, Math.max(ranges['1'], ranges['2']) * Camera.PPM, Math.PI*2, 0, true
|
||||
else if Math.min(ranges['1'], ranges['2']) < r
|
||||
@mark.graphics.arc 0, 0, Math.min(ranges['1'], ranges['2']) * Camera.PPM, Math.PI*2, 0, true
|
||||
if colors[range]?
|
||||
@mark.graphics.beginFill colors[range]
|
||||
else
|
||||
@mark.graphics.beginFill extracolors[i]
|
||||
|
||||
# Draw the outer circle
|
||||
@mark.graphics.drawCircle 0, 0, @sprite.thang[range] * Camera.PPM
|
||||
|
||||
# Cut out the hollow part if necessary
|
||||
if i+1 < @sprite.ranges.length
|
||||
@mark.graphics.arc 0, 0, @sprite.ranges[i+1]['radius'], Math.PI*2, 0, true
|
||||
|
||||
# Add perspective
|
||||
@mark.scaleY *= @camera.y2x
|
||||
|
|
|
@ -30,7 +30,7 @@ module.exports = class WizardSprite extends IndieSprite
|
|||
|
||||
constructor: (thangType, options) ->
|
||||
if options?.isSelf
|
||||
options.colorConfig = _.cloneDeep(me.get('wizard')?.colorConfig) or {}
|
||||
options.colorConfig = $.extend(true, {}, me.get('wizard')?.colorConfig) or {}
|
||||
super thangType, options
|
||||
@isSelf = options.isSelf
|
||||
@targetPos = @thang.pos
|
||||
|
@ -67,7 +67,7 @@ module.exports = class WizardSprite extends IndieSprite
|
|||
@setNameLabel me.displayName() if @displayObject.visible # not if we hid the wiz
|
||||
newColorConfig = me.get('wizard')?.colorConfig or {}
|
||||
shouldUpdate = not _.isEqual(newColorConfig, @options.colorConfig)
|
||||
@options.colorConfig = _.cloneDeep(newColorConfig)
|
||||
@options.colorConfig = $.extend(true, {}, newColorConfig)
|
||||
if shouldUpdate
|
||||
@setupSprite()
|
||||
@playAction(@currentAction)
|
||||
|
|
|
@ -90,7 +90,7 @@ module.exports = class GoalManager extends CocoClass
|
|||
# IMPLEMENTATION DETAILS
|
||||
|
||||
addGoal: (goal) ->
|
||||
goal = _.cloneDeep(goal)
|
||||
goal = $.extend(true, {}, goal)
|
||||
goal.id = @nextGoalID++ if not goal.id
|
||||
return if @goalStates[goal.id]?
|
||||
@goals.push(goal)
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
|
|||
nick_description: "Programátorský kouzelník, excentrický motivační mág i experimentátor. Nick by mohl dělat de-facto cokoliv, ale zvolil si vytvořit CodeCombat."
|
||||
jeremy_description: "Mistr zákaznické podpory, tester použitelnosti a organizátor komunity. Je velmi pravděpodobné, že jste si spolu již psali."
|
||||
michael_description: "Programátor, systémový administrátor a král podsvětí technického zázemí. Michael udržuje naše servery online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Licence"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -140,8 +140,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
email_subscriptions: "Email Abonnements"
|
||||
email_announcements: "Ankündigungen"
|
||||
email_notifications: "Benachrichtigungen"
|
||||
# email_notifications_description: "Get periodic notifications for your account."
|
||||
email_announcements_description: "Erhalte regelmäßig Mitteilungen für deinen Account."
|
||||
email_notifications_description: "Erhalte regelmäßig Benachrichtigungen zu deinem Account."
|
||||
email_announcements_description: "Erhalte regelmäßig Ankündigungen zu deinem Account."
|
||||
contributor_emails: "Unterstützer Email"
|
||||
contribute_prefix: "Wir suchen nach Leuten, die mitmachen! Schau dir die"
|
||||
contribute_page: "Unterstützer Seite"
|
||||
|
@ -154,7 +154,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
account_profile:
|
||||
edit_settings: "Einstellungen ändern"
|
||||
profile_for_prefix: "Profil von "
|
||||
# profile_for_suffix: ""
|
||||
profile_for_suffix: ""
|
||||
profile: "Profil"
|
||||
user_not_found: "Kein Nutzer gefunden. URL überprüft?"
|
||||
gravatar_not_found_mine: "Wir konnten dein Profil nicht finden, das mit folgender Email Adresse verbunden ist:"
|
||||
|
@ -182,7 +182,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
reload_title: "Gesamten Code neu laden?"
|
||||
reload_really: "Bist Du sicher, dass Du das Level neu beginnen willst?"
|
||||
reload_confirm: "Alles neu laden"
|
||||
# victory_title_prefix: ""
|
||||
victory_title_prefix: ""
|
||||
victory_title_suffix: " Abgeschlossen"
|
||||
victory_sign_up: "Melde Dich an, um Fortschritte zu speichern"
|
||||
victory_sign_up_poke: "Möchtest Du Neuigkeiten per Mail erhalten? Erstelle einen kostenlosen Account und wir halten Dich auf dem Laufenden."
|
||||
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
nick_description: "Programmierzauberer, exzentrischer Motivationskünstler und Auf-den-Kopf-stell-Experimentierer. Nick könnte alles mögliche tun und entschied CodeCombat zu bauen."
|
||||
jeremy_description: "Kundendienstmagier, Usability Tester und Community-Organisator. Wahrscheinlich hast du schon mit Jeremy gesprochen."
|
||||
michael_description: "Programmierer, Systemadministrator und studentisch technisches Wunderkind, Michael hält unsere Server am Laufen."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Rechtliches"
|
||||
|
@ -507,10 +508,10 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
counselor_title: "Berater"
|
||||
counselor_title_description: "(Experte/Lehrer)"
|
||||
|
||||
# ladder:
|
||||
# please_login: "Please log in first before playing a ladder game."
|
||||
# my_matches: "My Matches"
|
||||
# simulate: "Simulate"
|
||||
ladder:
|
||||
please_login: "Bitte logge dich zunächst ein, bevor du ein Ladder-Game spielst."
|
||||
my_matches: "Meine Matches"
|
||||
simulate: "Simuliere"
|
||||
# simulation_explanation: "By simulating games you can get your game ranked faster!"
|
||||
# simulate_games: "Simulate Games!"
|
||||
# simulate_all: "RESET AND SIMULATE GAMES"
|
||||
|
@ -529,15 +530,15 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
# 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"
|
||||
choose_opponent: "Wähle einen Gegner"
|
||||
tutorial_play: "Spiele Tutorial"
|
||||
tutorial_recommended: "Empfohlen, wenn du noch nie zuvor gespielt hast."
|
||||
tutorial_skip: "Überspringe Tutorial"
|
||||
# tutorial_not_sure: "Not sure what's going on?"
|
||||
# tutorial_play_first: "Play the Tutorial first."
|
||||
# simple_ai: "Simple AI"
|
||||
# warmup: "Warmup"
|
||||
# vs: "VS"
|
||||
tutorial_play_first: "Spiele zuerst das Tutorial."
|
||||
simple_ai: "Einfache KI"
|
||||
warmup: "Aufwärmen"
|
||||
vs: "VS"
|
||||
|
||||
# multiplayer_launch:
|
||||
# introducing_dungeon_arena: "Introducing Dungeon Arena"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# 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!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# 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!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# 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!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -350,7 +350,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
|
|||
nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
glen_description: "Glen, describe thyself!"
|
||||
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!"
|
||||
|
||||
legal:
|
||||
page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
nick_description: "Mago de la programación, hechicero excéntrico de la motivación y experimentador del revés. Nick pudo haber hecho cualquier cosa y eligió desarrollar CodeCombat."
|
||||
jeremy_description: "Mago de la atención al cliente, tester de usabilidad y organizador de la comunidad; es probable que ya hayas hablado con Jeremy."
|
||||
michael_description: "Programador, administrador de sistemas y prodigio técnico, Michael es el encargado de mantener nuestros servidores en línea."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -66,12 +66,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
no_ie: "CodeCombat ne fonctionnera pas sous Internet Explorer 9 ou moins. Désolé !"
|
||||
no_mobile: "CodeCombat n'a pas été créé pour les plateformes mobiles donc il est possible qu'il ne fonctionne pas correctement ! "
|
||||
play: "Jouer"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
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."
|
||||
campaign: "Campagne"
|
||||
for_beginners: "Pour débutants"
|
||||
multiplayer: "Multijoueurs"
|
||||
for_developers: "Pour développeurs"
|
||||
|
||||
play:
|
||||
choose_your_level: "Choisissez votre niveau"
|
||||
|
@ -87,8 +87,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
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é: "
|
||||
# play_as: "Play As "
|
||||
# spectate: "Spectate"
|
||||
play_as: "Jouer comme "
|
||||
spectate: "Spectateur"
|
||||
|
||||
contact:
|
||||
contact_us: "Contacter CodeCombat"
|
||||
|
@ -130,7 +130,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
wizard_tab: "Magicien"
|
||||
password_tab: "Mot de passe"
|
||||
emails_tab: "Emails"
|
||||
# admin: "Admin"
|
||||
admin: "Admin"
|
||||
gravatar_select: "Sélectionnez la photo Gravatar à utiliser"
|
||||
gravatar_add_photos: "Ajouter des vignettes et des photos sur un compte Gravatar pour votre e-mail pour choisir une image."
|
||||
gravatar_add_more_photos: "Ajouter plus de photos à votre compte Gravatar pour y accéder ici."
|
||||
|
@ -139,7 +139,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
new_password_verify: "Vérifier"
|
||||
email_subscriptions: "Abonnements"
|
||||
email_announcements: "Annonces"
|
||||
# email_notifications: "Notifications"
|
||||
email_notifications: "Notifications"
|
||||
email_notifications_description: "Recevoir des notifications périodiques sur votre compte."
|
||||
email_announcements_description: "Recevoir des mails sur les dernières actualités et sur le développement de CodeCombat."
|
||||
contributor_emails: "Emails des contributeurs"
|
||||
|
@ -154,7 +154,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
account_profile:
|
||||
edit_settings: "Éditer les préférences"
|
||||
profile_for_prefix: "Profil pour "
|
||||
# profile_for_suffix: ""
|
||||
profile_for_suffix: ""
|
||||
profile: "Profil"
|
||||
user_not_found: "Aucun utilisateur trouvé. Vérifier l'URL?"
|
||||
gravatar_not_found_mine: "Nous n'avons pas pu trouver votre profil associé à: "
|
||||
|
@ -187,8 +187,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
victory_sign_up: "Inscrivez-vous pour recevoir les mises à jour"
|
||||
victory_sign_up_poke: "Vous voulez recevoir les dernières actualités par mail? Créez un compte gratuitement et nous vous tiendrons informés!"
|
||||
victory_rate_the_level: "Notez ce niveau: "
|
||||
# victory_rank_my_game: "Rank My Game"
|
||||
# victory_ranking_game: "Submitting..."
|
||||
victory_rank_my_game: "Classer mon jeu"
|
||||
victory_ranking_game: "Envoi..."
|
||||
# victory_return_to_ladder: "Return to Ladder"
|
||||
victory_play_next_level: "Jouer au prochain niveau"
|
||||
victory_go_home: "Retourner à l'accueil"
|
||||
|
@ -212,19 +212,19 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
tome_select_a_thang: "Sélectionnez une unité pour"
|
||||
tome_available_spells: "Sorts diponibles"
|
||||
hud_continue: "Continuer (appuie sur shift ou espace)"
|
||||
# spell_saved: "Spell Saved"
|
||||
# skip_tutorial: "Skip (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."
|
||||
spell_saved: "Sort enregistré"
|
||||
skip_tutorial: "Passer (esc)"
|
||||
editor_config: "Config de l'éditeur"
|
||||
editor_config_title: "Configuration de l'éditeur"
|
||||
editor_config_keybindings_label: "Raccourcis clavier"
|
||||
editor_config_keybindings_default: "Par défault (Ace)"
|
||||
editor_config_keybindings_description: "Ajouter de nouveaux raccourcis connus depuis l'éditeur commun."
|
||||
editor_config_invisibles_label: "Afficher les caractères non-imprimables"
|
||||
editor_config_invisibles_description: "Permet d'afficher les caractères comme les espaces et les tabulations."
|
||||
editor_config_indentguides_label: "Montrer les indentations"
|
||||
editor_config_indentguides_description: "Affiche des guides verticaux qui permettent de visualiser l'indentation."
|
||||
editor_config_behaviors_label: "Auto-complétion"
|
||||
editor_config_behaviors_description: "Ferme automatiquement les accolades, parenthèses, et chaînes de caractères."
|
||||
|
||||
admin:
|
||||
av_title: "Vues d'administrateurs"
|
||||
|
@ -249,8 +249,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
contact_us: "contactez nous!"
|
||||
hipchat_prefix: "Vous pouvez aussi nous trouver dans notre "
|
||||
hipchat_url: "conversation HipChat."
|
||||
# revert: "Revert"
|
||||
# revert_models: "Revert Models"
|
||||
revert: "Annuler"
|
||||
revert_models: "Annuler les modèles"
|
||||
level_some_options: "Quelques options?"
|
||||
level_tab_thangs: "Thangs"
|
||||
level_tab_scripts: "Scripts"
|
||||
|
@ -269,18 +269,18 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
level_components_title: "Retourner à tous les Thangs"
|
||||
level_components_type: "Type"
|
||||
level_component_edit_title: "Éditer le composant"
|
||||
# level_component_config_schema: "Config Schema"
|
||||
# level_component_settings: "Settings"
|
||||
level_component_config_schema: "Configurer le schéma"
|
||||
level_component_settings: "Options"
|
||||
level_system_edit_title: "Éditer le système"
|
||||
create_system_title: "Créer un nouveau système"
|
||||
new_component_title: "Créer un nouveau composant"
|
||||
new_component_field_system: "Système"
|
||||
# new_article_title: "Create a New Article"
|
||||
# new_thang_title: "Create a New Thang Type"
|
||||
# new_level_title: "Create a New Level"
|
||||
# article_search_title: "Search Articles Here"
|
||||
# thang_search_title: "Search Thang Types Here"
|
||||
# level_search_title: "Search Levels Here"
|
||||
new_article_title: "Créer un nouvel article"
|
||||
new_thang_title: "Créer un nouveau Type Thang"
|
||||
new_level_title: "Créer un nouveau niveau"
|
||||
article_search_title: "Rechercher dans les articles"
|
||||
thang_search_title: "Rechercher dans les types Thang"
|
||||
level_search_title: "Rechercher dans les niveaux"
|
||||
|
||||
article:
|
||||
edit_btn_preview: "Prévisualiser"
|
||||
|
@ -292,27 +292,27 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
body: "Corps"
|
||||
version: "Version"
|
||||
commit_msg: "Message de mise à jour"
|
||||
# history: "History"
|
||||
# version_history_for: "Version History for: "
|
||||
# result: "Result"
|
||||
history: "Historique"
|
||||
version_history_for: "Historique des versions pour : "
|
||||
result: "Resultat"
|
||||
results: "Résultats"
|
||||
description: "Description"
|
||||
or: "ou"
|
||||
email: "Email"
|
||||
# password: "Password"
|
||||
password: "Mot de passe"
|
||||
message: "Message"
|
||||
# code: "Code"
|
||||
# ladder: "Ladder"
|
||||
# when: "When"
|
||||
# opponent: "Opponent"
|
||||
# rank: "Rank"
|
||||
# score: "Score"
|
||||
# win: "Win"
|
||||
# loss: "Loss"
|
||||
# tie: "Tie"
|
||||
# easy: "Easy"
|
||||
# medium: "Medium"
|
||||
# hard: "Hard"
|
||||
code: "Code"
|
||||
ladder: "Companion"
|
||||
when: "Lorsuqe"
|
||||
opponent: "Adversaire"
|
||||
rank: "Rang"
|
||||
score: "Score"
|
||||
win: "Victoire"
|
||||
loss: "Défaite"
|
||||
tie: "Ex-aequo"
|
||||
easy: "Facile"
|
||||
medium: "Moyen"
|
||||
hard: "Difficile"
|
||||
|
||||
about:
|
||||
who_is_codecombat: "Qui est CodeCombat?"
|
||||
|
@ -335,6 +335,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 mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Légal"
|
||||
|
@ -507,37 +508,37 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
counselor_title: "Conseiller"
|
||||
counselor_title_description: "(Expert/Professeur)"
|
||||
|
||||
# ladder:
|
||||
# please_login: "Please log in first before playing a ladder game."
|
||||
# my_matches: "My Matches"
|
||||
# simulate: "Simulate"
|
||||
# simulation_explanation: "By simulating games you can get your game ranked faster!"
|
||||
# simulate_games: "Simulate Games!"
|
||||
# simulate_all: "RESET AND SIMULATE GAMES"
|
||||
# leaderboard: "Leaderboard"
|
||||
# battle_as: "Battle as "
|
||||
# summary_your: "Your "
|
||||
# summary_matches: "Matches - "
|
||||
# summary_wins: " Wins, "
|
||||
# summary_losses: " Losses"
|
||||
# rank_no_code: "No New Code to Rank"
|
||||
# rank_my_game: "Rank My Game!"
|
||||
# rank_submitting: "Submitting..."
|
||||
# rank_submitted: "Submitted for Ranking"
|
||||
# rank_failed: "Failed to Rank"
|
||||
# rank_being_ranked: "Game Being Ranked"
|
||||
# code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in."
|
||||
# no_ranked_matches_pre: "No ranked matches for the "
|
||||
# no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked."
|
||||
# choose_opponent: "Choose an Opponent"
|
||||
# tutorial_play: "Play Tutorial"
|
||||
# tutorial_recommended: "Recommended if you've never played before"
|
||||
# tutorial_skip: "Skip Tutorial"
|
||||
# tutorial_not_sure: "Not sure what's going on?"
|
||||
# tutorial_play_first: "Play the Tutorial first."
|
||||
# simple_ai: "Simple AI"
|
||||
# warmup: "Warmup"
|
||||
# vs: "VS"
|
||||
ladder:
|
||||
# please_login: "Identifie toi avant de jouer à un ladder game."
|
||||
my_matches: "Mes Matchs"
|
||||
simulate: "Simuler"
|
||||
simulation_explanation: "En simulant une partie, tu peux classer ton rang plus rapidement!"
|
||||
simulate_games: "Simuler une Partie!"
|
||||
simulate_all: "REINITIALISER ET SIMULER DES PARTIES"
|
||||
leaderboard: "Classement"
|
||||
battle_as: "Combattre comme "
|
||||
summary_your: "Vos "
|
||||
summary_matches: "Matchs - "
|
||||
summary_wins: " Victoires, "
|
||||
summary_losses: " Défaites"
|
||||
rank_no_code: "Nouveau Code à Classer"
|
||||
rank_my_game: "Classer ma Partie!"
|
||||
rank_submitting: "Soumission en cours..."
|
||||
rank_submitted: "Soumis pour le Classement"
|
||||
rank_failed: "Erreur lors du Classement"
|
||||
rank_being_ranked: "Partie en cours de Classement"
|
||||
code_being_simulated: "Votre nouveau code est en cours de simulation par les autres joueurs pour le classement. Cela va se rafraichir lors que d'autres matchs auront lieu."
|
||||
no_ranked_matches_pre: "Pas de match classé pour l'équipe "
|
||||
no_ranked_matches_post: "! Affronte d'autres compétiteurs et reviens ici pour classer ta partie."
|
||||
choose_opponent: "Choisir un Adversaire"
|
||||
tutorial_play: "Jouer au Tutoriel"
|
||||
tutorial_recommended: "Recommendé si tu n'as jamais joué avant"
|
||||
tutorial_skip: "Passer le Tutoriel"
|
||||
tutorial_not_sure: "Pas sûr de ce qu'il se passe?"
|
||||
tutorial_play_first: "Jouer au Tutoriel d'abord."
|
||||
simple_ai: "IA simple"
|
||||
warmup: "Préchauffe"
|
||||
vs: "VS"
|
||||
|
||||
# multiplayer_launch:
|
||||
# introducing_dungeon_arena: "Introducing Dungeon Arena"
|
||||
|
@ -548,7 +549,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even"
|
||||
# fork_our_arenas: "fork our arenas"
|
||||
# create_worlds: "and create your own worlds."
|
||||
# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
|
||||
# tutorial: "tutorial"
|
||||
# new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
|
||||
# so_ready: "I Am So Ready for This"
|
||||
javascript_rusty: "JavaScript un peu rouillé? Pas de souci; il y a un"
|
||||
tutorial: "tutoriel"
|
||||
new_to_programming: ". Débutant en programmation? Essaie la campagne débutant pour progresser."
|
||||
so_ready: "Je Suis Prêt Pour Ca"
|
||||
|
|
|
@ -9,7 +9,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
delay_3_sec: "שלוש שניות"
|
||||
delay_5_sec: "חמש שניות"
|
||||
manual: "מדריך"
|
||||
# fork: "Fork"
|
||||
fork: "קילשון"
|
||||
play: "שחק"
|
||||
|
||||
modal:
|
||||
|
@ -26,141 +26,141 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
forum: "פורום"
|
||||
admin: "אדמין"
|
||||
home: "בית"
|
||||
# contribute: "Contribute"
|
||||
# legal: "Legal"
|
||||
# about: "About"
|
||||
# contact: "Contact"
|
||||
# twitter_follow: "Follow"
|
||||
# employers: "Employers"
|
||||
contribute: "תרום"
|
||||
legal: "משפטי"
|
||||
about: "עלינו"
|
||||
contact: "צור קשר"
|
||||
twitter_follow: "עקוב אחרינו בטוויטר"
|
||||
employers: "עובדים"
|
||||
|
||||
# versions:
|
||||
# save_version_title: "Save New Version"
|
||||
# new_major_version: "New Major Version"
|
||||
# cla_prefix: "To save changes, first you must agree to our"
|
||||
versions:
|
||||
save_version_title: "שמור גרסה חדשה"
|
||||
new_major_version: "גרסה חשובה חדשה"
|
||||
cla_prefix: "כדי לשמור יש להירשם לאתר"
|
||||
# cla_url: "CLA"
|
||||
# cla_suffix: "."
|
||||
# cla_agree: "I AGREE"
|
||||
cla_agree: "אני מסכים"
|
||||
|
||||
# login:
|
||||
# sign_up: "Create Account"
|
||||
# log_in: "Log In"
|
||||
# log_out: "Log Out"
|
||||
# recover: "recover account"
|
||||
login:
|
||||
sign_up: "הירשם"
|
||||
log_in: "היכנס"
|
||||
log_out: "צא"
|
||||
recover: "שחזר סיסמה"
|
||||
|
||||
# recover:
|
||||
# recover_account_title: "Recover Account"
|
||||
# send_password: "Send Recovery Password"
|
||||
recover:
|
||||
recover_account_title: "שחזר סיסמה"
|
||||
send_password: "שלח סיסמה חדשה"
|
||||
|
||||
# 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: "הירשם כדי לשמור את התקדמותך"
|
||||
description: "זה בחינם. רק כמה דברים וסיימנו:"
|
||||
email_announcements: "קבל הודעות באימייל"
|
||||
coppa: "בן יותר משלוש עשרה או לא בארצות הברית"
|
||||
coppa_why: "(למה?)"
|
||||
creating: "יוצר חשבון..."
|
||||
sign_up: "הירשם"
|
||||
log_in: "כנס עם סיסמה"
|
||||
|
||||
# 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: "גם לשחק וגם ללמוד לתכנת"
|
||||
no_ie: "המשחק לא עובד באקפלורר 9 וישן יותר. סליחה!"
|
||||
no_mobile: "המשחק לא עוצב לטלפונים ואולי לא יעבוד"
|
||||
play: "שחק"
|
||||
old_browser: "או או, נראה כי הדפדפן שלך יותר מידי ישן כדי להריץ את המשחק. סליחה!"
|
||||
old_browser_suffix: "אתה יכול לנסות בכול מקרה אבל זה כנראה לא יעבוד."
|
||||
campaign: "מסע"
|
||||
for_beginners: "למתחילים"
|
||||
multiplayer: "רב-משתתפים"
|
||||
for_developers: "למומחים"
|
||||
|
||||
# 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: "בחר את השלב"
|
||||
adventurer_prefix: "אתה יכול לבחור איזה שלב שאתה רוצה למטה, או לדון על שלבים ב"
|
||||
adventurer_forum: "פורום ההרפתקנים"
|
||||
adventurer_suffix: "."
|
||||
campaign_beginner: "מסע המתחילים"
|
||||
campaign_beginner_description: "...שבו תלמד את קסם התכנות."
|
||||
campaign_dev: "שלבים אקראים קשים יותר"
|
||||
campaign_dev_description: "...שבהם תלמד על הממשק בזמן שתעשה משהו קצת קשה יותר."
|
||||
campaign_multiplayer: "זירות רב-המשתתפים"
|
||||
campaign_multiplayer_description: "..."
|
||||
campaign_player_created: "תוצרי השחקנים"
|
||||
campaign_player_created_description: "... שבהם תילחם נגד היצירתיות של <a href=\"/contribute#artisan\">בעלי-המלאכה</a>."
|
||||
level_difficulty: "רמת קושי: "
|
||||
play_as: "שחק בתור "
|
||||
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: "צור קשר"
|
||||
welcome: "טוב לשמוע ממך! השתמש בטופס זה כדי לשלוח לנו אימייל. "
|
||||
contribute_prefix: "אם אתה מעונין לתרום, אז תבדוק את "
|
||||
contribute_page: "דף התרומות שלנו"
|
||||
contribute_suffix: "!"
|
||||
forum_prefix: "בשביל דברים ציבוריים, לך ל "
|
||||
forum_page: "פורום שלנו"
|
||||
forum_suffix: " במקום."
|
||||
send: "שלח אימייל"
|
||||
|
||||
diplomat_suggestion:
|
||||
# title: "Help translate CodeCombat!"
|
||||
# sub_heading: "We need your language skills."
|
||||
pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Hebrew but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into Hebrew."
|
||||
missing_translations: "Until we can translate everything into Hebrew, you'll see English when Hebrew isn't available."
|
||||
# learn_more: "Learn more about being a Diplomat"
|
||||
# subscribe_as_diplomat: "Subscribe as a Diplomat"
|
||||
title: "עזור לתרגם את CodeCombat!"
|
||||
sub_heading: "אנו צריכים את קישורי השפה שלך!"
|
||||
pitch_body: "אנו פיתחנו את המשחק באנגלית, אבל יש הרבה שחקנים מכול העולם. חלק מהם רוצים לשחק בעברית והם לא מבינים אנגלית. אם אתה דובר את שני השפות, עברית ואנגלית, אז בבקשה עזור לנו לתרגם לעברית את האתר ואת השלבים."
|
||||
missing_translations: "עד שנתרגם הכול לעברית, מה שלא תורגם יופיע באנגלית."
|
||||
learn_more: "תלמד עות על תרומת דיפלומטיה"
|
||||
subscribe_as_diplomat: "הירשם כדיפלומט"
|
||||
|
||||
# wizard_settings:
|
||||
# title: "Wizard Settings"
|
||||
# customize_avatar: "Customize Your Avatar"
|
||||
# clothes: "Clothes"
|
||||
# trim: "Trim"
|
||||
# cloud: "Cloud"
|
||||
# spell: "Spell"
|
||||
# boots: "Boots"
|
||||
# hue: "Hue"
|
||||
# saturation: "Saturation"
|
||||
# lightness: "Lightness"
|
||||
wizard_settings:
|
||||
title: "הגדרות קוסם"
|
||||
customize_avatar: "עצב את הדמות שלך"
|
||||
clothes: "בגדים"
|
||||
trim: "קישוט"
|
||||
cloud: "ענן"
|
||||
spell: "כישוף"
|
||||
boots: "מגפיים"
|
||||
hue: "Hue"
|
||||
saturation: "גוון"
|
||||
lightness: "בהירות"
|
||||
|
||||
# account_settings:
|
||||
# title: "Account Settings"
|
||||
# not_logged_in: "Log in or create an account to change your settings."
|
||||
# autosave: "Changes Save Automatically"
|
||||
# me_tab: "Me"
|
||||
# picture_tab: "Picture"
|
||||
# wizard_tab: "Wizard"
|
||||
# password_tab: "Password"
|
||||
# emails_tab: "Emails"
|
||||
# admin: "Admin"
|
||||
# gravatar_select: "Select which Gravatar photo to use"
|
||||
# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image."
|
||||
# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here."
|
||||
# wizard_color: "Wizard Clothes Color"
|
||||
# new_password: "New Password"
|
||||
# new_password_verify: "Verify"
|
||||
# email_subscriptions: "Email Subscriptions"
|
||||
# email_announcements: "Announcements"
|
||||
# email_notifications: "Notifications"
|
||||
# email_notifications_description: "Get periodic notifications for your account."
|
||||
# email_announcements_description: "Get emails on the latest news and developments at CodeCombat."
|
||||
# contributor_emails: "Contributor Class Emails"
|
||||
# contribute_prefix: "We're looking for people to join our party! Check out the "
|
||||
# contribute_page: "contribute page"
|
||||
# contribute_suffix: " to find out more."
|
||||
# email_toggle: "Toggle All"
|
||||
# error_saving: "Error Saving"
|
||||
# saved: "Changes Saved"
|
||||
# password_mismatch: "Password does not match."
|
||||
account_settings:
|
||||
title: "הגדרות חשבון"
|
||||
not_logged_in: "היכנס או הירשם כדי לערוך את ההדרות שלך"
|
||||
autosave: "שינויים נשמרו אוטומטית"
|
||||
me_tab: "אני"
|
||||
picture_tab: "תמונה"
|
||||
wizard_tab: "קוסם"
|
||||
password_tab: "סיסמה"
|
||||
emails_tab: "אימיילים"
|
||||
admin: "אדמין"
|
||||
gravatar_select: "תבחר באיזו תמונת גרבטר אתה רוצה להישתמש"
|
||||
gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image."
|
||||
gravatar_add_more_photos: "תוסיף עוד תמונות לחשבון הגרבטר שלך כדי להסיג אותם כאן."
|
||||
wizard_color: "צבע הקוסם"
|
||||
new_password: "סיסמה חדשה"
|
||||
new_password_verify: "חזור על הסיסמה שנית"
|
||||
email_subscriptions: "הרשמויות אימייל"
|
||||
email_announcements: "הודעות"
|
||||
email_notifications: "עדכונים"
|
||||
email_notifications_description: "קבל עדכונים לחשבון שלך."
|
||||
email_announcements_description: "קבל את החדשות ואת הפיתוחים הכי חדישים במשחק באימייל."
|
||||
contributor_emails: "אימיילים של כיתות תורמים"
|
||||
contribute_prefix: "אנו מחפשים אנשים שיצתרפו למסיבה! תראו את"
|
||||
contribute_page: "דף התרימות"
|
||||
contribute_suffix: " בשביל עוד מידע."
|
||||
email_toggle: "עדכן"
|
||||
error_saving: "בעיה בשמירה"
|
||||
saved: "השינויים נשמרו"
|
||||
password_mismatch: "סיסמאות לא זהות"
|
||||
|
||||
# account_profile:
|
||||
# edit_settings: "Edit Settings"
|
||||
# profile_for_prefix: "Profile for "
|
||||
# profile_for_suffix: ""
|
||||
# profile: "Profile"
|
||||
# user_not_found: "No user found. Check the URL?"
|
||||
# gravatar_not_found_mine: "We couldn't find your profile associated with:"
|
||||
# gravatar_not_found_email_suffix: "."
|
||||
# gravatar_signup_prefix: "Sign up at "
|
||||
# gravatar_signup_suffix: " to get set up!"
|
||||
account_profile:
|
||||
edit_settings: "ערוך הגדרות"
|
||||
profile_for_prefix: "פרופיל ל"
|
||||
profile_for_suffix: ""
|
||||
profile: "פרופיל"
|
||||
user_not_found: "משתמש לא נמצא. בדקת את הURL?"
|
||||
gravatar_not_found_mine: "לא הצלחנו למצא חשבון גרבטר המותאם עם: "
|
||||
gravatar_not_found_email_suffix: "."
|
||||
gravatar_signup_prefix: "הירשם ב"
|
||||
gravatar_signup_suffix: "כדי לקבל תמונת חשבון"
|
||||
# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address."
|
||||
# gravatar_contact: "Contact"
|
||||
# gravatar_websites: "Websites"
|
||||
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Questioni legali"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -8,7 +8,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
delay_1_sec: "1초"
|
||||
delay_3_sec: "3초"
|
||||
delay_5_sec: "5초"
|
||||
# manual: "Manual"
|
||||
manual: "수동"
|
||||
fork: "Fork"
|
||||
play: "시작"
|
||||
|
||||
|
@ -66,12 +66,12 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
no_ie: "죄송하지만 코드컴뱃은 인터넷 익스플로러 9에서는 동작하지 않습니다."
|
||||
no_mobile: "코드 컴뱃은 모바일 기기용으로 제작되지 않았습니다. 아마 동작하지 않을 가능성이 높습니다."
|
||||
play: "시작"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
old_browser: "브라우저가 너무 오래된 버전이라 코드컴뱃을 실행할 수 없습니다."
|
||||
old_browser_suffix: "시도해볼 수는 있겠지만..안될수도 있습니다."
|
||||
campaign: "캠페인"
|
||||
for_beginners: "초보자용"
|
||||
multiplayer: "멀티플레이어"
|
||||
for_developers: "개발자용"
|
||||
|
||||
play:
|
||||
choose_your_level: "레벨을 선택하세요."
|
||||
|
@ -85,10 +85,10 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
campaign_multiplayer: "멀티 플레이어 전투장"
|
||||
campaign_multiplayer_description: "... 이곳에서 당신은 다른 인간 플레이어들과 직접 결투할 수 있습니다."
|
||||
campaign_player_created: "사용자 직접 제작"
|
||||
campaign_player_created_description: "... 당신 동료가 고안한 레벨에 도전하세요 <a href=\"/contributeartisan\">Artisan Wizards</a>."
|
||||
campaign_player_created_description: "... 당신 동료가 고안한 레벨에 도전하세요 <a href=\"/contributeartisan\">마법사 장인</a>."
|
||||
level_difficulty: "난이도: "
|
||||
play_as: "Play As "
|
||||
# spectate: "Spectate"
|
||||
spectate: "관중모드"
|
||||
|
||||
contact:
|
||||
contact_us: "코드컴뱃에 전할말"
|
||||
|
@ -104,8 +104,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
diplomat_suggestion:
|
||||
title: "코드 컴뱃 번역을 도와주세요!"
|
||||
sub_heading: "우리는 당신의 언어 능력이필요합니다."
|
||||
pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Korean but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into Korean."
|
||||
missing_translations: "Until we can translate everything into Korean, you'll see English when Korean isn't available."
|
||||
pitch_body: "우리는 영어로 코드컴뱃을 개발하기 시작했지만, 이미 전세계의 유저들이 코드컴뱃을 이용하고 있습니다. 그중 많은 사람들이 한국어로 플레이하기를 바랍니다. 혹시 당신이 영어/한국어에 모두 능숙하다면, Diplomat 으로 코드컴뱃에 참여해서 모든 레벨 뿐 아니라 웹사이트를 한국어로 번역할 수 있습니다."
|
||||
missing_translations: "우리가 모든 내용을 한국어로 번역할때까지 기본은 영어로 제공됩니다."
|
||||
learn_more: "외교관에 대해서 좀더 자세히알기"
|
||||
subscribe_as_diplomat: "훌륭한 외교관으로써, 정기 구독하기"
|
||||
|
||||
|
@ -136,17 +136,17 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
gravatar_add_more_photos: "코드컴뱃에서 더 많은 이미지를 추가하려면 우선 당신의 Gravatar 계정에 좀 더 많은 이미지를 추가해 주세요"
|
||||
wizard_color: "마법사 옷 색깔"
|
||||
new_password: "새 비밀번호"
|
||||
new_password_verify: "승인"
|
||||
new_password_verify: "확인(다시한번 입력해주세요)"
|
||||
email_subscriptions: "이메일 구독"
|
||||
email_announcements: "공지사항"
|
||||
email_notifications: "알람"
|
||||
email_notifications_description: "계정을 위해서 정기적으로 구독하세요"
|
||||
email_notifications_description: "계정에 관련된 사항을 정기적으로 구독하세요"
|
||||
email_announcements_description: "코드 컴뱃의 개발 또는 진행상황을 이메일로 구독 하세요"
|
||||
# contributor_emails: "Contributor Class Emails"
|
||||
contributor_emails: "조력자들 이메일"
|
||||
contribute_prefix: "우리는 언제나 당신의 참여를 환영 합니다 : "
|
||||
contribute_page: "참여하기 페이지"
|
||||
contribute_suffix: " 좀 더 찾기 위해."
|
||||
email_toggle: "모두 토글"
|
||||
contribute_suffix: "자세한 사항이 설명되어 있습니다."
|
||||
email_toggle: "모두 변경"
|
||||
error_saving: "오류 저장"
|
||||
saved: "변경사항 저장 완료"
|
||||
password_mismatch: "비밀번호가 일치하지 않습니다."
|
||||
|
@ -160,11 +160,11 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
gravatar_not_found_mine: "죄송하지만 귀하의 이메일 주소를 찾을 수 없습니다 :"
|
||||
gravatar_not_found_email_suffix: "."
|
||||
gravatar_signup_prefix: "등록"
|
||||
# gravatar_signup_suffix: " to get set up!"
|
||||
gravatar_signup_suffix: " 등록하세요"
|
||||
gravatar_not_found_other: "이 사람의 이메일 주소와 관련된 어떤것도 찾을 수 없습니다."
|
||||
gravatar_contact: "연락처"
|
||||
gravatar_websites: "웹사이트"
|
||||
# gravatar_accounts: "As Seen On"
|
||||
gravatar_accounts: "보이는대로"
|
||||
gravatar_profile_link: "전체 Gravatar 프로필"
|
||||
|
||||
play_level:
|
||||
|
@ -214,25 +214,25 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
hud_continue: "계속진행 (shift+space)"
|
||||
spell_saved: "마법 저장 완료"
|
||||
skip_tutorial: "넘기기 (esc)"
|
||||
# editor_config: "Editor Config"
|
||||
# editor_config_title: "Editor Configuration"
|
||||
# editor_config_keybindings_label: "Key Bindings"
|
||||
# editor_config_keybindings_default: "Default (Ace)"
|
||||
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
|
||||
# editor_config_invisibles_label: "Show Invisibles"
|
||||
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
|
||||
# editor_config_indentguides_label: "Show Indent Guides"
|
||||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
editor_config: "에디터 설정"
|
||||
editor_config_title: "에디터 설정"
|
||||
editor_config_keybindings_label: "단축키 설정"
|
||||
editor_config_keybindings_default: "기본(Ace)"
|
||||
editor_config_keybindings_description: "일반적인 에디터와 마찬가지인 단축키 설정"
|
||||
editor_config_invisibles_label: "투명 설정"
|
||||
editor_config_invisibles_description: "스페이스, 탭 설정"
|
||||
editor_config_indentguides_label: "들여쓰기 가이드 보기"
|
||||
editor_config_indentguides_description: "들여쓰기 확인위해 세로줄 표시하기."
|
||||
editor_config_behaviors_label: "자동 기능"
|
||||
editor_config_behaviors_description: "괄호, 인용부호, 따옴표 자동 완성."
|
||||
|
||||
admin:
|
||||
av_title: "관리자 뷰"
|
||||
av_entities_sub_title: "속성들"
|
||||
av_entities_users_url: "유저들"
|
||||
av_entities_active_instances_url: "액티브 인스턴스들"
|
||||
# av_other_sub_title: "Other"
|
||||
av_other_debug_base_url: "베이스 (for debugging base.jade)"
|
||||
av_other_sub_title: "다른 사람들"
|
||||
av_other_debug_base_url: "베이스 (base.jade 디버깅)"
|
||||
u_title: "유저 목록"
|
||||
lg_title: "가장 최근 게임"
|
||||
|
||||
|
@ -240,15 +240,16 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
main_title: "코드 컴뱃 에디터들"
|
||||
main_description: "당신의 레벨들, 캠페인들, 유닛 그리고 교육 컨텐츠들을 구축하세요. 우리는 당신이 필요한 모든 도구들을 제공합니다!"
|
||||
article_title: "기사 에디터들"
|
||||
# article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns."
|
||||
article_description: "기사를 써주세요. 다른 플레이어들에게 프로그래밍 개념에 관한 전체적인 그림을 알려줄 수 있고, 여러 레벨과 캠페인에 대해 설명할 수 있습니다."
|
||||
thang_title: "Thang 에디터"
|
||||
# thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics."
|
||||
thang_description: "유닛들, 기본적인 인공지능, 그래픽과 오디오등을 직접 빌드하세요. 현재는 백터 그래픽으로 추출된 플래시파일만 임폴트 가능합니다."
|
||||
level_title: "레벨 에디터"
|
||||
# level_description: "Includes the tools for scripting, uploading audio, and constructing custom logic to create all sorts of levels. Everything we use ourselves!"
|
||||
# security_notice: "Many major features in these editors are not currently enabled by default. As we improve the security of these systems, they will be made generally available. If you'd like to use these features sooner, "
|
||||
contact_us: "연락히기!"
|
||||
level_description: "스크립팅, 오디오 업로드, 모든 레벨을 생성하기 위한 사용자 정의 로직등 우리가 사용하는 모든 것들을 구축하는 것을 위한 툴들을 포함합니다.
|
||||
"
|
||||
security_notice: "이러한 에디터들의 중요한 특징들은 현재 대부분 기본적으로 제공되지 않습니다. 조만간 이런 시스템들의 안정성을 업그레이트 한후에, 이러한 기능들이 제공될 것입니다."
|
||||
contact_us: "연락하기!"
|
||||
hipchat_prefix: "당신은 또한 우리를 여기에서 찾을 수 있습니다 : "
|
||||
# hipchat_url: "HipChat room."
|
||||
hipchat_url: "힙챗 룸"
|
||||
revert: "되돌리기"
|
||||
revert_models: "모델 되돌리기"
|
||||
level_some_options: "다른 옵션들?"
|
||||
|
@ -257,17 +258,17 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
level_tab_settings: "설정"
|
||||
level_tab_components: "요소들"
|
||||
level_tab_systems: "시스템"
|
||||
# level_tab_thangs_title: "Current Thangs"
|
||||
# level_tab_thangs_conditions: "Starting Conditions"
|
||||
# level_tab_thangs_add: "Add Thangs"
|
||||
level_tab_thangs_title: "현재 Thangs"
|
||||
level_tab_thangs_conditions: "컨디션 시작"
|
||||
level_tab_thangs_add: "Thangs 추가"
|
||||
level_settings_title: "설정"
|
||||
level_component_tab_title: "현재 요소들"
|
||||
level_component_btn_new: "새로운 요소들 생성"
|
||||
level_systems_tab_title: "현재 시스템"
|
||||
level_systems_btn_new: "새로운 시스템생성"
|
||||
level_systems_btn_add: "새로운 시스템 추가"
|
||||
# level_components_title: "Back to All Thangs"
|
||||
# level_components_type: "Type"
|
||||
level_components_title: "모든 Thang 들로 되돌아가기"
|
||||
level_components_type: "타입"
|
||||
level_component_edit_title: "요소 편집"
|
||||
level_component_config_schema: "환경 설정"
|
||||
level_component_settings: "설정"
|
||||
|
@ -309,32 +310,33 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
score: "점수"
|
||||
win: "승"
|
||||
loss: "패"
|
||||
tie: "비김"
|
||||
easy: "쉬움"
|
||||
medium: "중간"
|
||||
hard: "어려"
|
||||
tie: "무승부"
|
||||
easy: "초급"
|
||||
medium: "중급"
|
||||
hard: "상급"
|
||||
|
||||
# about:
|
||||
# who_is_codecombat: "Who is CodeCombat?"
|
||||
# why_codecombat: "Why CodeCombat?"
|
||||
# who_description_prefix: "together started CodeCombat in 2013. We also created "
|
||||
# who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters."
|
||||
# who_description_ending: "Now it's time to teach people to write code."
|
||||
# why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that."
|
||||
# why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it."
|
||||
# why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like"
|
||||
# why_paragraph_3_italic: "yay a badge"
|
||||
# why_paragraph_3_center: "but fun like"
|
||||
# why_paragraph_3_italic_caps: "NO MOM I HAVE TO FINISH THE LEVEL!"
|
||||
# why_paragraph_3_suffix: "That's why CodeCombat is a multiplayer game, not a gamified lesson course. We won't stop until you can't stop--but this time, that's a good thing."
|
||||
# why_paragraph_4: "If you're going to get addicted to some game, get addicted to this one and become one of the wizards of the tech age."
|
||||
# why_ending: "And hey, it's free. "
|
||||
# why_ending_url: "Start wizarding now!"
|
||||
# george_description: "CEO, business guy, web designer, game designer, and champion of beginning programmers everywhere."
|
||||
# scott_description: "Programmer extraordinaire, software architect, kitchen wizard, and master of finances. Scott is the reasonable one."
|
||||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
about:
|
||||
who_is_codecombat: "코드컴뱃은 누구인가?"
|
||||
why_codecombat: "왜 코드컴뱃이지?"
|
||||
who_description_prefix: "우리는 2013년에 함께 코드컴뱃을 시작했으며 또한 우리는"
|
||||
who_description_suffix: "2008년에 중국어와 일본어를 배우기위해 이를 IOS 마켓 1위로 키우고 있었습니다."
|
||||
who_description_ending: "이제 사람들에게 코드를 가르치기 위한 시점이 다가왔다고 생각합니다."
|
||||
why_paragraph_1: "처음에 Skritter 를 만들때, George는 어떻게 프로그래밍을 하는지 전혀 몰랐고, 그의 아이디어를 제대로 구현하지 못해 좌절하곤 했습니다. 그후에, 그는 코딩을 배우려고 노력했지만 늘 진행속도가 느렸죠. 그때 그의 룸메이트가 코드아카데미를 통해 배우려고 시도했으나, 너무 \"지루\"했습니다. 매주마다 다른 친구들이 코드아카데미를 통해 배우려고 시도했으나 글쎄요, 결과가 썩 좋진 않았습니다. 우리는 이것은 우리가 Skritter를 통해 해결한 문제와 같은 종류의 것임을 깨달았습니다: 느리고 강도높은 레슨을 통해 배우는 사람들은 좀더 빠르고, 포괄적인 연습을 필요로 합니다. 우리는 그것을 어떻게 해결하는지 잘 알고 있습니다."
|
||||
why_paragraph_2: "프로그래밍을 배울 필요가 있으세요? 레슨 받을 필요 없습니다. 아마 엄청난 시간과 노력을 소모해야 할 것입니다."
|
||||
why_paragraph_3_prefix: "프로그래밍은 재미있어야 합니다."
|
||||
why_paragraph_3_italic: "여기 뱃지있어 받아가~"
|
||||
why_paragraph_3_center: "이런 단순히 뱃지얻는식 게임 말고,"
|
||||
why_paragraph_3_italic_caps: "오 엄마 나 이 레벨 반드시 끝내야되! <- 이런 방식 말고요."
|
||||
why_paragraph_3_suffix: "이것이 왜 코드컴뱃이 멀티플레이 게임인지를 말해줍니다. 단순히 게임화된 레슨의 연장이 아닙니다. 우리는 당신이 너무 재밌어서 멈출 수 없을때까지 절대 멈추지 않을 것입니다."
|
||||
why_paragraph_4: "만약 당신이 어떤 게임이 곧잘 중독된다면 이번엔 코드컴뱃 한번 시도해보세요 그리고 기술시대에 사는 마법사중 하나가 되어보는 건 어떠세요?"
|
||||
why_ending: "이봐 이거 공짜래."
|
||||
why_ending_url: "지금바로 마법사가 되어 보세요!"
|
||||
george_description: "CEO, 비즈니스맨, 웹디자이너, 게임 디자이너, 그리고 전세계의 초보 프로그래머들의 왕."
|
||||
scott_description: "비범한 프로그래머, 소프트웨어 아키텍쳐, 주방 마법사 그리고 재무의 신. Scott 은 매우 합리적인 사람입니다"
|
||||
nick_description: "프로그래밍 마법사, 별난 자극의 마술사, 거꾸로 생각하는것을 좋아하는 실험가. Nick은 뭐든지 할수있는 남자입니다. 그 뭐든지 중에 코드 컴뱃을 선택했죠. "
|
||||
jeremy_description: "고객 지원 마법사, 사용성 테스터, 커뮤니티 오거나이저; 당신은 아마 이미 Jeremy랑 이야기 했을거에요."
|
||||
michael_description: "프로그래머, 시스템 관리자, 기술 신동(대학생이래요),Michael 은 우리 서버를 계속 무결점상태로 유지시켜주는 사람입니다."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
@ -491,21 +493,21 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
# translating_diplomats: "Our Translating Diplomats:"
|
||||
# helpful_ambassadors: "Our Helpful Ambassadors:"
|
||||
|
||||
# classes:
|
||||
# archmage_title: "Archmage"
|
||||
# archmage_title_description: "(Coder)"
|
||||
# artisan_title: "Artisan"
|
||||
# artisan_title_description: "(Level Builder)"
|
||||
# adventurer_title: "Adventurer"
|
||||
# adventurer_title_description: "(Level Playtester)"
|
||||
# scribe_title: "Scribe"
|
||||
# scribe_title_description: "(Article Editor)"
|
||||
# diplomat_title: "Diplomat"
|
||||
# diplomat_title_description: "(Translator)"
|
||||
# ambassador_title: "Ambassador"
|
||||
# ambassador_title_description: "(Support)"
|
||||
# counselor_title: "Counselor"
|
||||
# counselor_title_description: "(Expert/Teacher)"
|
||||
classes:
|
||||
archmage_title: "대마법사"
|
||||
archmage_title_description: "(코더)"
|
||||
artisan_title: "장인"
|
||||
artisan_title_description: "(레벨 제작자)"
|
||||
adventurer_title: "모험가"
|
||||
adventurer_title_description: "(레벨 테스터)"
|
||||
scribe_title: "작가"
|
||||
scribe_title_description: "(기사 에디터)"
|
||||
diplomat_title: "외교관"
|
||||
diplomat_title_description: "(번역가)"
|
||||
ambassador_title: "대사"
|
||||
ambassador_title_description: "(지원)"
|
||||
counselor_title: "카운셀러"
|
||||
counselor_title_description: "(전문가/선생)"
|
||||
|
||||
# ladder:
|
||||
# please_login: "Please log in first before playing a ladder game."
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -66,12 +66,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!"
|
||||
no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!"
|
||||
play: "Speel"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
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: "For Developers"
|
||||
for_developers: "Voor ontwikkelaars"
|
||||
|
||||
play:
|
||||
choose_your_level: "Kies Je Level"
|
||||
|
@ -87,8 +87,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
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: "Play As "
|
||||
# spectate: "Spectate"
|
||||
play_as: "Speel als "
|
||||
spectate: "Schouw toe"
|
||||
|
||||
contact:
|
||||
contact_us: "Contact opnemen met CodeCombat"
|
||||
|
@ -187,9 +187,9 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
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: "Rank My Game"
|
||||
# victory_ranking_game: "Submitting..."
|
||||
# victory_return_to_ladder: "Return to Ladder"
|
||||
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!"
|
||||
|
@ -213,18 +213,18 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
tome_available_spells: "Beschikbare spreuken"
|
||||
hud_continue: "Ga verder (druk shift-space)"
|
||||
spell_saved: "Spreuk Opgeslagen"
|
||||
# skip_tutorial: "Skip (esc)"
|
||||
# editor_config: "Editor Config"
|
||||
# editor_config_title: "Editor Configuration"
|
||||
# editor_config_keybindings_label: "Key Bindings"
|
||||
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: "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."
|
||||
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"
|
||||
|
@ -249,8 +249,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
contact_us: "contacteer ons!"
|
||||
hipchat_prefix: "Je kan ons ook vinden in ons"
|
||||
hipchat_url: "(Engelstalig) HipChat kanaal."
|
||||
# revert: "Revert"
|
||||
# revert_models: "Revert Models"
|
||||
revert: "Keer wijziging terug"
|
||||
revert_models: "keer wijziging model terug"
|
||||
level_some_options: "Enkele opties?"
|
||||
level_tab_thangs: "Elementen"
|
||||
level_tab_scripts: "Scripts"
|
||||
|
@ -299,12 +299,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
description: "Beschrijving"
|
||||
or: "of"
|
||||
email: "Email"
|
||||
# password: "Password"
|
||||
password: "Wachtwoord"
|
||||
message: "Bericht"
|
||||
code: "Code"
|
||||
ladder: "Ladder"
|
||||
when: "Wanneer"
|
||||
# opponent: "Opponent"
|
||||
opponent: "Tegenstander"
|
||||
rank: "Rang"
|
||||
score: "Score"
|
||||
win: "Win"
|
||||
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
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"
|
||||
|
@ -469,7 +470,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
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: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you."
|
||||
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"
|
||||
|
@ -539,16 +540,16 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
warmup: "Opwarming"
|
||||
vs: "tegen"
|
||||
|
||||
# multiplayer_launch:
|
||||
# introducing_dungeon_arena: "Introducing Dungeon Arena"
|
||||
# new_way: "March 17, 2014: The new way to compete with code."
|
||||
# to_battle: "To Battle, Developers!"
|
||||
# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here."
|
||||
# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
|
||||
# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even"
|
||||
# fork_our_arenas: "fork our arenas"
|
||||
# create_worlds: "and create your own worlds."
|
||||
# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
|
||||
# tutorial: "tutorial"
|
||||
# new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
|
||||
# so_ready: "I Am So Ready for This"
|
||||
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"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -104,7 +104,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
diplomat_suggestion:
|
||||
title: "Pomóż w tłumaczeniu CodeCombat!"
|
||||
sub_heading: "Potrzebujemy twoich zdolności językowych."
|
||||
pitch_body: "Tworzymy CodeCombat w języku angielskim, jednak nasi gracze pochodzą z całego świata. Wielu z nich chciałoby zagrać zagrać w swoim języku, ponieważ nie znają angielskiego, więc jeśli znasz oba języki zostań Dyplomatą i pomóż w tłumaczeniu strony CodeCombat, jak i samej gry."
|
||||
pitch_body: "Tworzymy CodeCombat w języku angielskim, jednak nasi gracze pochodzą z całego świata. Wielu z nich chciałoby zagrać w swoim języku, ponieważ nie znają angielskiego, więc jeśli znasz oba języki zostań Dyplomatą i pomóż w tłumaczeniu strony CodeCombat, jak i samej gry."
|
||||
missing_translations: "Dopóki nie przetłumaczymy wszystkiego na polski, będziesz widział niektóre napisy w języku angielskim."
|
||||
learn_more: "Dowiedz się więcej o Dyplomatach"
|
||||
subscribe_as_diplomat: "Dołącz do Dyplomatów"
|
||||
|
@ -198,7 +198,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
multiplayer_title: "Ustawienia multiplayer"
|
||||
multiplayer_link_description: "Przekaż ten link, jeśli chcesz, by ktoś do ciebie dołączył."
|
||||
multiplayer_hint_label: "Podpowiedź:"
|
||||
multiplayer_hint: "Klikjnij link by zaznaczyć wszystko, potem wciśnij Cmd-C lub Ctrl-C by skopiować ten link."
|
||||
multiplayer_hint: "Kliknij link by zaznaczyć wszystko, potem wciśnij Cmd-C lub Ctrl-C by skopiować ten link."
|
||||
multiplayer_coming_soon: "Wkrótce więcej opcji multiplayer"
|
||||
guide_title: "Przewodnik"
|
||||
tome_minion_spells: "Czary twojego podopiecznego"
|
||||
|
@ -240,12 +240,12 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
main_title: "Edytory CodeCombat"
|
||||
main_description: "Stwórz własne poziomy, kampanie, jednostki i materiały edukacyjne. Zapewniamy wszystkie narzędzia, jakich będziesz potrzebował!"
|
||||
article_title: "Edytor artykułów"
|
||||
article_description: "Pisz artykuły, które dostarczą graczom wiedzy co do konceptów programistycznych, które będą mogli użyć w poziomach i kampaniach."
|
||||
article_description: "Pisz artykuły, które dostarczą graczom wiedzy co do konceptów programistycznych, których będą mogli użyć w poziomach i kampaniach."
|
||||
thang_title: "Edytor obiektów"
|
||||
thang_description: "Twórz jednostki, definiuj ich domyślną logikę, grafiki i dźwięki. Aktualnie wspiera wyłącznie importowanie grafik wektorowych wyeksportowanych przez Flash."
|
||||
level_title: "Edytor poziomów"
|
||||
level_description: "Zawiera narzędzia do skryptowania, przesyłania dźwięków i konstruowania spersonalizowanych logik, by móc tworzyć najrozmaitsze poziomy. Wszystko to, czego sami używamy!"
|
||||
security_notice: "Wiele ważnych fukncji nie jest obecnie domyślnie włączonych we wspomnianych edytorach. Wraz z ulepszeniem zabezpieczenia tych narzędzi, staną się one dostępne publicznie. Jeśli chciałbyś użyć ich już teraz, "
|
||||
security_notice: "Wiele ważnych funkcji nie jest obecnie domyślnie włączonych we wspomnianych edytorach. Wraz z ulepszeniem zabezpieczenia tych narzędzi, staną się one dostępne publicznie. Jeśli chciałbyś użyć ich już teraz, "
|
||||
contact_us: "skontaktuj się z nami!"
|
||||
hipchat_prefix: "Możesz nas też spotkać w naszym"
|
||||
hipchat_url: "pokoju HipChat."
|
||||
|
@ -259,7 +259,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
level_tab_systems: "Systemy"
|
||||
level_tab_thangs_title: "Aktualne obiekty"
|
||||
level_tab_thangs_conditions: "Warunki początkowe"
|
||||
level_tab_thangs_add: "Dodoaj obiekty"
|
||||
level_tab_thangs_add: "Dodaj obiekty"
|
||||
level_settings_title: "Ustawienia"
|
||||
level_component_tab_title: "Aktualne komponenty"
|
||||
level_component_btn_new: "Stwórz nowy komponent"
|
||||
|
@ -318,9 +318,9 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
who_is_codecombat: "Czym jest CodeCombat?"
|
||||
why_codecombat: "Dlaczego CodeCombat?"
|
||||
who_description_prefix: "założyli CodeCombat w 2013 roku. Stworzyliśmy również "
|
||||
who_description_suffix: "w roku 2008, doprowadzajac go do pierwszego miejsca wśród aplikacji do nauki zapisu chińskich i japońskich znaków zarówno wśród aplikacji internetowych, jak i aplikcji dla iOS."
|
||||
who_description_suffix: "w roku 2008, doprowadzajac go do pierwszego miejsca wśród aplikacji do nauki zapisu chińskich i japońskich znaków zarówno wśród aplikacji internetowych, jak i aplikacji dla iOS."
|
||||
who_description_ending: "Teraz nadszedł czas, by nauczyć ludzi programowania."
|
||||
why_paragraph_1: "Podczas tworzenia Skrittera, George nie umiał programować i ciągle towarzyszyła mu frustracja - nie mógł zaimplementować swoich pomysłów. Próbował się uczyć, lecz lekcje były zbyt wolne. Jego współlokator, chcąc się przebranżowić, spróbował Codeacademy, lecz \"nudziło go to.\" Każdego tygodnia któryś z kolegów podchodził do Codeacadem, by wkrótce potem zrezygnować. Zdaliśmy sobie sprawę, że mamy do czynienia z tym samym problemem, który rozwiązaliśmy Skritterem: ludzie uczący się umiejętności poprzez powolne, ciężkie lekcje, podczas gdy potrzebują oni szybkiej, energicznej praktyki. Wiemy, jak to naprawić."
|
||||
why_paragraph_1: "Podczas tworzenia Skrittera, George nie umiał programować i ciągle towarzyszyła mu frustracja - nie mógł zaimplementować swoich pomysłów. Próbował się uczyć, lecz lekcje były zbyt wolne. Jego współlokator, chcąc się przebranżowić, spróbował Codeacademy, lecz \"nudziło go to.\" Każdego tygodnia któryś z kolegów podchodził do Codeacademy, by wkrótce potem zrezygnować. Zdaliśmy sobie sprawę, że mamy do czynienia z tym samym problemem, który rozwiązaliśmy Skritterem: ludzie uczący się umiejętności poprzez powolne, ciężkie lekcje, podczas gdy potrzebują oni szybkiej, energicznej praktyki. Wiemy, jak to naprawić."
|
||||
why_paragraph_2: "Chcesz nauczyć się programowania? Nie potrzeba ci lekcji. Potrzeba ci pisania dużej ilości kodu w sposób sprawiający ci przyjemność."
|
||||
why_paragraph_3_prefix: "O to chodzi w programowaniu - musi sprawiać radość. Nie radość w stylu"
|
||||
why_paragraph_3_italic: "hura, nowa odznaka"
|
||||
|
@ -332,9 +332,10 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
why_ending_url: "Zostań czarodziejem już teraz!"
|
||||
george_description: "CEO, człowiek od biznesu, web designer, game designer, i mistrz wszystkich początkujących programistów."
|
||||
scott_description: "Programista niezwykły, software architect, czarodziej kuchenny i mistrz finansów. Scott to ten rozsądny."
|
||||
nick_description: "Programistyczny czarownik, ekscentryczny magik i eksperymentator pełną gębą. Nich może robić cokolwiek, a decyduje się pracować przy CodeCombat."
|
||||
nick_description: "Programistyczny czarownik, ekscentryczny magik i eksperymentator pełną gębą. Nick może robić cokolwiek, a decyduje się pracować przy CodeCombat."
|
||||
jeremy_description: "Magik od kontaktów z klientami, tester użyteczności i organizator społeczności; prawdopodobnie już rozmawiałeś z Jeremym."
|
||||
michael_description: "Programista, sys-admin, cudowne dziecko studiów technicznych, Michael to osoba utrzymująca nase serwery online."
|
||||
michael_description: "Programista, sys-admin, cudowne dziecko studiów technicznych, Michael to osoba utrzymująca nasze serwery online."
|
||||
glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Nota prawna"
|
||||
|
@ -355,7 +356,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
email_settings_url: "twoje ustawienia e-mail"
|
||||
email_description_suffix: "lub poprzez linki w e-mailach, które wysyłamy, możesz zmienić swoje ustawienia i w prosty sposób wypisać się z subskrypcji w dowolnym momencie."
|
||||
cost_title: "Koszty"
|
||||
cost_description: "W tym momencie CodeCombat jest w stu procentach darmowe! Jednym z naszych głównych celów jest, by utrzymac taki stan rzeczy, aby jak najwięcej ludzi miało dostęp do gry, bez względu na ich zasobnośc. Jeśli nadejdą gorsze dni, dopuszczamy możliwość wprowadzenia płatnych subskrypcji lub pobierania opłat za część zawartości, ale wolelibyśmy, by tak się nie stało. Przy odrobinie szczęścia, uda nam się podtrzymać obecną sytuację dzięki:"
|
||||
cost_description: "W tym momencie CodeCombat jest w stu procentach darmowe! Jednym z naszych głównych celów jest, by utrzymać taki stan rzeczy, aby jak najwięcej ludzi miało dostęp do gry, bez względu na ich zasobność. Jeśli nadejdą gorsze dni, dopuszczamy możliwość wprowadzenia płatnych subskrypcji lub pobierania opłat za część zawartości, ale wolelibyśmy, by tak się nie stało. Przy odrobinie szczęścia, uda nam się podtrzymać obecną sytuację dzięki:"
|
||||
recruitment_title: "Rekrutacji"
|
||||
recruitment_description_prefix: "Dzięki CodeCombat, staniesz się potężnym czarodziejem - nie tylko w grze, ale również w prawdziwym życiu."
|
||||
url_hire_programmers: "Firmy nie nadążają z zatrudnianiem programistów"
|
||||
|
@ -392,7 +393,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
rights_description: "Opisy"
|
||||
rights_writings: "Teksty"
|
||||
rights_media: "Multimedia (dźwięki, muzyka) i jakiekolwiek inne typy prac i zasobów stworzonych specjalnie dla danego poziomu, które nie zostały publicznie udostępnione do tworzenia poziomów."
|
||||
rights_clarification: "Gwoli wyjaśnienia, wszystko, co jest dostępne w Edytorze Poziomów w celu tworzenia nowych poziomów podlega licencji CC, podczas gdy zasoby stworzone w Edytorze Poziomów lub przesłane w toku tworzenia poziomu - nie."
|
||||
rights_clarification: "Gwoli wyjaśnienia, wszystko, co jest dostępne w Edytorze Poziomów w celu tworzenia nowych poziomów, podlega licencji CC, podczas gdy zasoby stworzone w Edytorze Poziomów lub przesłane w toku tworzenia poziomu - nie."
|
||||
nutshell_title: "W skrócie"
|
||||
nutshell_description: "Wszelkie zasoby, które dostarczamy w Edytorze Poziomów są darmowe w użyciu w jakikolwiek sposób w celu tworzenia poziomów. Jednocześnie, zastrzegamy sobie prawo do ograniczenia rozpowszechniania poziomów (stworzonych przez codecombat.com) jako takich, aby mogła być za nie w przyszłości pobierana opłata, jeśli dojdzie do takiej konieczności."
|
||||
canonical: "Angielska wersja tego dokumentu jest ostateczna, kanoniczną wersją. Jeśli zachodzą jakieś rozbieżności pomiędzy tłumaczeniami, dokument anglojęzyczny ma pierwszeństwo."
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
|
|||
nick_description: "Mago da programação, feiticeiro da motivação excêntrica e experimentador doido. Nick pode fazer qualquer coisa e escolheu desenvolver o CodeCombat."
|
||||
jeremy_description: "Mago em suporte ao consumidor, testador de usabilidade, e organizador da comunidade; você provavelmente já falou com o Jeremy."
|
||||
michael_description: "Programador, administrador de sistemas, e um técnico prodígio não graduado, Michael é a pessoa que mantém os servidores funcionando."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Jurídico"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -10,7 +10,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
delay_5_sec: "5 secunde"
|
||||
manual: "Manual"
|
||||
fork: "Fork"
|
||||
play: "Joaca"
|
||||
play: "Joacă"
|
||||
|
||||
modal:
|
||||
close: "Inchide"
|
||||
|
@ -54,18 +54,18 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
signup:
|
||||
create_account_title: "Crează cont pentru a salva progresul"
|
||||
description: "Este gratis. Doar un scurt formular inainte si poți continua:"
|
||||
email_announcements: "Primește notificări prin emaill"
|
||||
email_announcements: "Primește notificări prin email"
|
||||
coppa: "13+ sau non-USA "
|
||||
coppa_why: "(De ce?)"
|
||||
creating: "Se crează contul..."
|
||||
creating: "Se creează contul..."
|
||||
sign_up: "Înscrie-te"
|
||||
log_in: "loghează-te cu parola"
|
||||
|
||||
home:
|
||||
slogan: "Învață sa scri JavaScript jucându-te"
|
||||
slogan: "Învață sa scrii JavaScript jucându-te"
|
||||
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â"
|
||||
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"
|
||||
|
@ -102,9 +102,9 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
send: "Trimite Feedback"
|
||||
|
||||
diplomat_suggestion:
|
||||
title: "Ajută-ne să traducem CodeCombat!"
|
||||
title: "Ajută-ne să traducem CodeCombat!"
|
||||
sub_heading: "Avem nevoie de abilitățile tale lingvistice."
|
||||
pitch_body: "CodeCombat este dezvoltat in limba engleza , dar deja avem jucatări din toate colțurile lumii.Mulți dintre ei vor să joace in română și nu vorbesc engleză.Dacă poți vorbi ambele te rugăm să te gândești dacă ai dori să devi un Diplomat și să ne ajuți sa traducem atât jocul cât și site-ul."
|
||||
pitch_body: "CodeCombat este dezvoltat in limba engleza , dar deja avem jucatări din toate colțurile lumii. Mulți dintre ei vor să joace in română și nu vorbesc engleză. Dacă poți vorbi ambele te rugăm să te gândești dacă ai dori să devi un Diplomat și să ne ajuți sa traducem atât jocul cât și site-ul."
|
||||
missing_translations: "Until we can translate everything into Romanian, you'll see English when Romanian isn't available."
|
||||
learn_more: "Află mai multe despre cum să fi un Diplomat"
|
||||
subscribe_as_diplomat: "Înscrie-te ca Diplomat"
|
||||
|
@ -179,7 +179,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
goals: "Obiective"
|
||||
action_timeline: "Timeline-ul acțiunii"
|
||||
click_to_select: "Apasă pe o unitate pentru a o selecta."
|
||||
reload_title: "Reîncarcă tot Codul?"
|
||||
reload_title: "Reîncarcă tot codul?"
|
||||
reload_really: "Ești sigur că vrei să reîncarci nivelul de la început?"
|
||||
reload_confirm: "Reload All"
|
||||
victory_title_prefix: ""
|
||||
|
@ -238,11 +238,11 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
|
||||
editor:
|
||||
main_title: "Editori CodeCombat"
|
||||
main_description: "Construiește propriile nivele,campanii,unități și conținut educațional.Noi îți furnizăm toate uneltele necesare!"
|
||||
main_description: "Construiește propriile nivele, campanii, unități și conținut educațional. Noi îți furnizăm toate uneltele necesare!"
|
||||
article_title: "Editor Articol"
|
||||
article_description: "Scrie articole care oferă jucătorilor cunoștințe despre conceptele de programare care pot fi folosite pe o varietate de nivele și campanii."
|
||||
thang_title: "Editor Thang"
|
||||
thang_description: "Construiește unități ,definește logica lor,grafica și sunetul.Momentan suportă numai importare de grafică vectorială exportată din Flash."
|
||||
thang_description: "Construiește unități, definește logica lor, grafica și sunetul. Momentan suportă numai importare de grafică vectorială exportată din Flash."
|
||||
level_title: "Editor Nivele"
|
||||
level_description: "Include uneltele pentru scriptare, upload audio, și construcție de logică costum pentru toate tipurile de nivele.Tot ce folosim noi înșine!"
|
||||
security_notice: "Multe setări majore de securitate în aceste editoare nu sunt momentan disponibile.Pe măsură ce îmbunătățim securitatea acestor sisteme, ele vor deveni disponibile. Dacă doriți să folosiți aceste setări mai devrme, "
|
||||
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick poate să facă orice si a ales să dezvolte CodeCombat."
|
||||
jeremy_description: "Customer support mage, usability tester, and community organizer; probabil ca ați vorbit deja cu Jeremy."
|
||||
michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael este cel care ține serverele in picioare."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Aspecte Legale"
|
||||
|
@ -357,7 +358,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
cost_title: "Cost"
|
||||
cost_description: "Momentan, CodeCombat este 100% gratis! Unul dintre obiectele noastre principale este să îl menținem așa, astfel încât să poată juca cât mai mulți oameni. Dacă va fi nevoie , s-ar putea să percepem o plată pentru o pentru anumite servici,dar am prefera să nu o facem. Cu puțin noroc, vom putea susține compania cu:"
|
||||
recruitment_title: "Recrutare"
|
||||
recruitment_description_prefix: "Aici la CodeCombat, vei deveni un vrăjitor puternic nu doar în joc , ci și în viața reală."
|
||||
recruitment_description_prefix: "Aici la CodeCombat, vei deveni un vrăjitor puternic nu doar în joc, ci și în viața reală."
|
||||
url_hire_programmers: "Nimeni nu poate angaja programatori destul de rapid"
|
||||
recruitment_description_suffix: "așa că odată ce ți-ai dezvoltat abilitățile și esti de acord, noi vom trimite un demo cu cele mai bune realizări ale tale către miile de angajatori care se omoară să pună mâna pe tine. Pe noi ne plătesc puțin, pe tine te vor plăti"
|
||||
recruitment_description_italic: "mult"
|
||||
|
@ -392,7 +393,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
rights_description: "Descriere"
|
||||
rights_writings: "Scrieri"
|
||||
rights_media: "Media (sunete, muzică) și orice alt conținut creativ dezvoltat special pentru acel nivel care nu este valabil în mod normal pentru creat nivele."
|
||||
rights_clarification: "Pentru a clarifica, orice este valabil in Editorul de Nivele pentru scopul de a crea nivele se află sub CC,pe când conținutul creat cu Editorul de Nivele sau încărcat pentru a face nivelul nu se află."
|
||||
rights_clarification: "Pentru a clarifica, orice este valabil in Editorul de Nivele pentru scopul de a crea nivele se află sub CC, pe când conținutul creat cu Editorul de Nivele sau încărcat pentru a face nivelul nu se află."
|
||||
nutshell_title: "Pe scurt"
|
||||
nutshell_description: "Orice resurse vă punem la dispoziție în Editorul de Nivele puteți folosi liber cum vreți pentru a crea nivele. Dar ne rezervăm dreptul de a rezerva distribuția de nivele în sine (care sunt create pe codecombat.com) astfel încât să se poată percepe o taxă pentru ele pe vitor, dacă se va ajunge la așa ceva."
|
||||
canonical: "Versiunea in engleză a acestui document este cea definitivă, versiunea canonică. Dacă există orice discrepanțe între traduceri, documentul in engleză are prioritate."
|
||||
|
@ -410,8 +411,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
alert_account_message_pref: "Pentru a te abona la email-uri de clasă, va trebui să "
|
||||
alert_account_message_suf: "mai întâi."
|
||||
alert_account_message_create_url: "creați un cont"
|
||||
archmage_summary: "Interesat să lucrezi la grafica jocului, interfața grafică cu utilizatorul, baze de date și organizare server , multiplayer networking, fizică, sunet, sau performanțe game engine ? Vrei să ajuți la construirea unui joc pentru a învăța pe alții ceea ce te pricepi? Avem o grămadă de făcut dacă ești un programator experimentat și vrei sa dezvolți pentru CodeCombat, această clasă este pentru tine. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
|
||||
archmage_introduction: "Una dintre cele mai bune părți despre construirea unui joc este că sintetizează atât de multe lucruri diferite. Grafică, sunet, networking în timp real, social networking, și desigur multe dintre aspectele comune ale programării, de la gestiune low-level a bazelor de date , și administrare server până la construirea de interfețe. Este mult de muncă, și dacă ești un programator cu experiență, cu un dor de a se arunca cu capul înainte îm CodeCombat, această clasă ți se potrivește. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
|
||||
archmage_summary: "Interesat să lucrezi la grafica jocului, interfața grafică cu utilizatorul, baze de date și organizare server, multiplayer networking, fizică, sunet, sau performanțe game engine? Vrei să ajuți la construirea unui joc pentru a învăța pe alții ceea ce te pricepi? Avem o grămadă de făcut dacă ești un programator experimentat și vrei sa dezvolți pentru CodeCombat, această clasă este pentru tine. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
|
||||
archmage_introduction: "Una dintre cele mai bune părți despre construirea unui joc este că sintetizează atât de multe lucruri diferite. Grafică, sunet, networking în timp real, social networking, și desigur multe dintre aspectele comune ale programării, de la gestiune low-level a bazelor de date, și administrare server până la construirea de interfețe. Este mult de muncă, și dacă ești un programator cu experiență, cu un dor de a se arunca cu capul înainte îm CodeCombat, această clasă ți se potrivește. Ne-ar plăcea să ne ajuți să construim cel mai bun joc de programare făcut vreodată."
|
||||
class_attributes: "Atribute pe clase"
|
||||
archmage_attribute_1_pref: "Cunoștințe în "
|
||||
archmage_attribute_1_suf: ", sau o dorință de a învăța. Majoritatea codului este în acest limbaj. Dacă ești fan Ruby sau Python, te vei simți ca acasă. Este JavaScript, dar cu o sintaxă mai frumoasă."
|
||||
|
@ -432,7 +433,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
artisan_attribute_1: "Orice experiență în crearea de conținut ca acesta ar fi de preferat, precum folosirea editoarelor de nivele de la Blizzard. Dar nu este obligatoriu!"
|
||||
artisan_attribute_2: "Un chef de a face o mulțime de teste și iterări. Pentru a face nivele bune, trebuie să testați pe mai mulți oameni și să obțineți feedback, și să fiți pregăți să reparați o mulțime de lucruri."
|
||||
artisan_attribute_3: "Pentru moment trebui să ai nervi de oțel. Editorul nostru de nivele este abia la început și încă are multe probleme. Ai fost avertizat!"
|
||||
artisan_join_desc: "Folosiți editorul de nivele urmărind acești pași , mai mult sau mai puțin:"
|
||||
artisan_join_desc: "Folosiți editorul de nivele urmărind acești pași, mai mult sau mai puțin:"
|
||||
artisan_join_step1: "Citește documentația."
|
||||
artisan_join_step2: "Crează un nivel nou și explorează nivelele deja existente."
|
||||
artisan_join_step3: "Găsește-ne pe chatul nostru de Hipchat pentru ajutor."
|
||||
|
|
|
@ -66,11 +66,11 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
no_ie: "CodeCombat не работает в IE8 или более старых версиях. Нам очень жаль!"
|
||||
no_mobile: "CodeCombat не приспособлен для работы на мобильных устройствах и может не работать!"
|
||||
play: "Играть"
|
||||
old_browser: "Ой, Ваш браузер слишком старый для игры CodeCombat. Извините!"
|
||||
old_browser_suffix: "Вы все равно можете попробовать, но скорее всего это не будет работать"
|
||||
# campaign: "Campaign"
|
||||
old_browser: "Ой, ваш браузер слишком стар для запуска CodeCombat. Извините!"
|
||||
old_browser_suffix: "Вы всё равно можете попробовать, но, скорее всего, это не будет работать."
|
||||
campaign: "Кампания"
|
||||
for_beginners: "Новичкам"
|
||||
multiplayer: "Командная игра"
|
||||
multiplayer: "Мультиплеер"
|
||||
for_developers: "Разработчикам"
|
||||
|
||||
play:
|
||||
|
@ -214,17 +214,17 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
hud_continue: "Продолжить (Shift+Пробел)"
|
||||
spell_saved: "Заклинание сохранено"
|
||||
skip_tutorial: "Пропуск (Esc)"
|
||||
# editor_config: "Editor Config"
|
||||
# editor_config_title: "Editor Configuration"
|
||||
# editor_config_keybindings_label: "Key Bindings"
|
||||
# editor_config_keybindings_default: "Default (Ace)"
|
||||
# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors."
|
||||
# editor_config_invisibles_label: "Show Invisibles"
|
||||
# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
|
||||
# editor_config_indentguides_label: "Show Indent Guides"
|
||||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
editor_config: "Настройки редактора"
|
||||
editor_config_title: "Настройки редактора"
|
||||
editor_config_keybindings_label: "Сочетания клавиш"
|
||||
editor_config_keybindings_default: "По умолчанию (Ace)"
|
||||
editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов."
|
||||
editor_config_invisibles_label: "Показывать непечатные символы"
|
||||
editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции."
|
||||
editor_config_indentguides_label: "Показывать направляющие отступов"
|
||||
editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов."
|
||||
editor_config_behaviors_label: "Умное поведение"
|
||||
editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки."
|
||||
|
||||
admin:
|
||||
av_title: "Админ панель"
|
||||
|
@ -334,7 +334,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен."
|
||||
nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat."
|
||||
jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми."
|
||||
<<<<<<< HEAD
|
||||
michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности."
|
||||
=======
|
||||
michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы онлайн."
|
||||
glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!"
|
||||
>>>>>>> 034a18c960c7fc14478ea285c9130c57645a3631
|
||||
|
||||
legal:
|
||||
page_title: "Юридическая информация"
|
||||
|
@ -539,16 +544,16 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
warmup: "Разминка"
|
||||
vs: "против"
|
||||
|
||||
# multiplayer_launch:
|
||||
# introducing_dungeon_arena: "Introducing Dungeon Arena"
|
||||
# new_way: "March 17, 2014: The new way to compete with code."
|
||||
# to_battle: "To Battle, Developers!"
|
||||
# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here."
|
||||
# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
|
||||
# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even"
|
||||
# fork_our_arenas: "fork our arenas"
|
||||
# create_worlds: "and create your own worlds."
|
||||
# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
|
||||
# tutorial: "tutorial"
|
||||
# new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
|
||||
# so_ready: "I Am So Ready for This"
|
||||
multiplayer_launch:
|
||||
introducing_dungeon_arena: "Представляем Арену подземелья"
|
||||
new_way: "17 марта 2014: Новый способ соревноваться с помощью кода."
|
||||
to_battle: "В бой, разработчики!"
|
||||
modern_day_sorcerer: "Вы знаете, как программировать? Это круто. Вы волшебник наших дней! Разве не время, чтобы вы использовали свои магические силы программирования для управления миньонами в эпичной битве? И мы не говорим здесь роботы."
|
||||
arenas_are_here: "Мультиплеерные арены CodeCombat на равных уже здесь."
|
||||
ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров–затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже"
|
||||
fork_our_arenas: "сделать форк наших арен"
|
||||
create_worlds: "и создавать свои собственные миры."
|
||||
javascript_rusty: "Подзабыли JavaScript? Не беспокойтесь; есть"
|
||||
tutorial: "обучение"
|
||||
new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык."
|
||||
so_ready: "Я полностью готов для этого"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
nick_description: "Programlama sihirbazı, tuhaf motivasyon büyücü ve tersine mühendis. Nick her şeyden anlar ve şu anda CodeCombat'i inşa etmekle meşgul."
|
||||
jeremy_description: "Müşteri hizmetleri büyücüsü, kullanılabilirlik test edicisi ve topluluk örgütleyici; muhtemelen Jeremy ile konuşmuşluğunuz vardır."
|
||||
michael_description: "Programcı, sistem yöneticisi, halihazırda üniversite okuyan teknik-harika-çocuk. Michael sunucularımızı ayakta tutan adamın ta kendisi."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Hukuki"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "Юридичні нотатки"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -3,14 +3,14 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
loading: "Tải..."
|
||||
saving: "Lưu..."
|
||||
sending: "Gởi..."
|
||||
# cancel: "Cancel"
|
||||
# save: "Save"
|
||||
cancel: "Hủy"
|
||||
save: "Lưu"
|
||||
# delay_1_sec: "1 second"
|
||||
# delay_3_sec: "3 seconds"
|
||||
# delay_5_sec: "5 seconds"
|
||||
# manual: "Manual"
|
||||
# fork: "Fork"
|
||||
# play: "Play"
|
||||
play: "Các cấp độ"
|
||||
|
||||
modal:
|
||||
close: "Đóng"
|
||||
|
@ -19,53 +19,53 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
not_found:
|
||||
page_not_found: "không tìm thấy trang"
|
||||
|
||||
# nav:
|
||||
# play: "Levels"
|
||||
# editor: "Editor"
|
||||
nav:
|
||||
play: "Các cấp độ"
|
||||
editor: "Chỉnh sửa"
|
||||
# blog: "Blog"
|
||||
# forum: "Forum"
|
||||
# admin: "Admin"
|
||||
# home: "Home"
|
||||
# contribute: "Contribute"
|
||||
# legal: "Legal"
|
||||
# about: "About"
|
||||
# contact: "Contact"
|
||||
# twitter_follow: "Follow"
|
||||
# employers: "Employers"
|
||||
forum: "Diễn đàn"
|
||||
admin: "Quản trị viên"
|
||||
home: "Nhà"
|
||||
contribute: "Contribute"
|
||||
legal: "Hợp pháp"
|
||||
about: "Về"
|
||||
contact: "Liên hệ"
|
||||
twitter_follow: "Đi theo"
|
||||
employers: "Người tuyển việc"
|
||||
|
||||
# versions:
|
||||
# save_version_title: "Save New Version"
|
||||
# new_major_version: "New Major Version"
|
||||
# cla_prefix: "To save changes, first you must agree to our"
|
||||
versions:
|
||||
save_version_title: "Lưu Phiên bản Mới"
|
||||
new_major_version: "Phiên bản chính mới"
|
||||
cla_prefix: "Để lưu thay đổi, bạn phải chấp thuận với chúng tôi trước"
|
||||
# cla_url: "CLA"
|
||||
# cla_suffix: "."
|
||||
# cla_agree: "I AGREE"
|
||||
cla_agree: "TÔI ĐỒNG Ý"
|
||||
|
||||
login:
|
||||
sign_up: "Tạo tài khoản"
|
||||
log_in: "Đăng nhập"
|
||||
log_out: "Đăng xuất"
|
||||
# recover: "recover account"
|
||||
recover: "Khôi phục tài khoản"
|
||||
|
||||
# recover:
|
||||
# recover_account_title: "Recover Account"
|
||||
# send_password: "Send Recovery Password"
|
||||
recover:
|
||||
recover_account_title: "Khôi phục tài khoản"
|
||||
send_password: "Gởi mật mã khôi phục"
|
||||
|
||||
# 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: "Tạo tài khoản để lưu tiến trình"
|
||||
description: "Nó miễn phí. Chỉ cần một vài thứ và bạn có thể tiếp tục:"
|
||||
email_announcements: "Nhận thông báo bằng email"
|
||||
coppa: "13+ hoặc non-USA "
|
||||
coppa_why: "(Tại sao?)"
|
||||
creating: "Tạo tài khoản..."
|
||||
sign_up: "Đăng ký"
|
||||
log_in: "đăng nhập với mật khẩu"
|
||||
|
||||
# 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"
|
||||
home:
|
||||
slogan: "Học mã Javascript bằng chơi Games"
|
||||
no_ie: "Codecombat không chạy trong Internet Explorer 9 hoặc cũ hơn. Xin lỗi!"
|
||||
no_mobile: "Codecombat không được thiết kế cho các thiết bị di động và có thể không hoạt động được!"
|
||||
play: "Chơi"
|
||||
# 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"
|
||||
|
@ -73,45 +73,45 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
|
||||
# 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"
|
||||
play:
|
||||
choose_your_level: "Chọn Trình của bạn"
|
||||
adventurer_prefix: "Bạn có thể nhảy đến bất kỳ cấp độ dưới đây, hoặc nâng dần cấp độ "
|
||||
adventurer_forum: "diễn đàn Adventurer"
|
||||
# adventurer_suffix: "."
|
||||
# campaign_beginner: "Beginner Campaign"
|
||||
campaign_beginner: "Bắt đầu chiến dịch"
|
||||
# campaign_beginner_description: "... in which you learn the wizardry of programming."
|
||||
# campaign_dev: "Random Harder Levels"
|
||||
campaign_dev: "Các cấp độ khó hơn ngẫu nhiên"
|
||||
# campaign_dev_description: "... in which you learn the interface while doing something a little harder."
|
||||
# campaign_multiplayer: "Multiplayer Arenas"
|
||||
campaign_multiplayer: "Khu vực đa người chơi"
|
||||
# campaign_multiplayer_description: "... in which you code head-to-head against other players."
|
||||
# campaign_player_created: "Player-Created"
|
||||
campaign_player_created: "Tạo người chơi"
|
||||
# campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
|
||||
# level_difficulty: "Difficulty: "
|
||||
level_difficulty: "Khó: "
|
||||
# play_as: "Play As "
|
||||
# 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"
|
||||
contact:
|
||||
contact_us: "Liên hệ CodeCombat"
|
||||
welcome: "Rất vui được nhận tin từ bạn! Hãy dùng đơn này để gởi mail cho chúng tôi. "
|
||||
contribute_prefix: "Nếu bạn muốn đóng góp, hãy kiểm tra "
|
||||
contribute_page: "trang đóng góp"
|
||||
# contribute_suffix: "!"
|
||||
# forum_prefix: "For anything public, please try "
|
||||
# forum_page: "our forum"
|
||||
forum_page: "Diễn đàn của chúng tôi"
|
||||
# forum_suffix: " instead."
|
||||
# send: "Send Feedback"
|
||||
send: "Gởi phản hồi"
|
||||
|
||||
diplomat_suggestion:
|
||||
# title: "Help translate CodeCombat!"
|
||||
# sub_heading: "We need your language skills."
|
||||
title: "Hãy giúp dịch thuật cho CodeCombat!"
|
||||
sub_heading: "Chúng tôi cần kỹ năng ngoại ngữ của bạn."
|
||||
pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Vietnamese but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into Vietnamese."
|
||||
missing_translations: "Until we can translate everything into Vietnamese, you'll see English when Vietnamese isn't available."
|
||||
# learn_more: "Learn more about being a Diplomat"
|
||||
# subscribe_as_diplomat: "Subscribe as a Diplomat"
|
||||
|
||||
# wizard_settings:
|
||||
# title: "Wizard Settings"
|
||||
# customize_avatar: "Customize Your Avatar"
|
||||
wizard_settings:
|
||||
title: "Cài đặt Wizard"
|
||||
customize_avatar: "Tùy chỉnh Avatar của bạn"
|
||||
# clothes: "Clothes"
|
||||
# trim: "Trim"
|
||||
# cloud: "Cloud"
|
||||
|
@ -121,65 +121,65 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# saturation: "Saturation"
|
||||
# lightness: "Lightness"
|
||||
|
||||
# account_settings:
|
||||
# title: "Account Settings"
|
||||
# not_logged_in: "Log in or create an account to change your settings."
|
||||
# autosave: "Changes Save Automatically"
|
||||
account_settings:
|
||||
title: "Cài đặt Tài khoản"
|
||||
not_logged_in: "Đăng nhập hoặc tạo tài khoản để thay đổi cài đặt."
|
||||
autosave: "Tự động lưu thay đổi"
|
||||
# me_tab: "Me"
|
||||
# picture_tab: "Picture"
|
||||
# wizard_tab: "Wizard"
|
||||
# password_tab: "Password"
|
||||
# emails_tab: "Emails"
|
||||
picture_tab: "Bức tranh"
|
||||
wizard_tab: "Wizard"
|
||||
password_tab: "Mật khẩu"
|
||||
emails_tab: "Emails"
|
||||
# admin: "Admin"
|
||||
# gravatar_select: "Select which Gravatar photo to use"
|
||||
gravatar_select: "Chọn hình Gravatar để sử dụng"
|
||||
# gravatar_add_photos: "Add thumbnails and photos to a Gravatar account for your email to choose an image."
|
||||
# gravatar_add_more_photos: "Add more photos to your Gravatar account to access them here."
|
||||
# wizard_color: "Wizard Clothes Color"
|
||||
# new_password: "New Password"
|
||||
# new_password_verify: "Verify"
|
||||
# email_subscriptions: "Email Subscriptions"
|
||||
# email_announcements: "Announcements"
|
||||
wizard_color: "Màu trang phục Wizard"
|
||||
new_password: "Mật khẩu mới"
|
||||
new_password_verify: "Xác nhận"
|
||||
email_subscriptions: "Thuê bao Email"
|
||||
email_announcements: "Thông báo"
|
||||
# email_notifications: "Notifications"
|
||||
# email_notifications_description: "Get periodic notifications for your account."
|
||||
# email_announcements_description: "Get emails on the latest news and developments at CodeCombat."
|
||||
email_announcements_description: "Nhận email về tin tức mới nhất và sự phát triển của Codecombat."
|
||||
# contributor_emails: "Contributor Class Emails"
|
||||
# contribute_prefix: "We're looking for people to join our party! Check out the "
|
||||
# contribute_page: "contribute page"
|
||||
# contribute_suffix: " to find out more."
|
||||
contribute_prefix: "Chúng tôi đang tìm thêm người vào nhóm của chúng tôi! Hãy kiểm "
|
||||
contribute_page: "trang đóng góp"
|
||||
contribute_suffix: " để tìm hiểu thêm."
|
||||
# email_toggle: "Toggle All"
|
||||
# error_saving: "Error Saving"
|
||||
# saved: "Changes Saved"
|
||||
# password_mismatch: "Password does not match."
|
||||
error_saving: "Lỗi lưu"
|
||||
saved: "Thay đổi được lưu"
|
||||
password_mismatch: "Mật khẩu không khớp."
|
||||
|
||||
# account_profile:
|
||||
# edit_settings: "Edit Settings"
|
||||
account_profile:
|
||||
edit_settings: "Chỉnh sửa cài đặt"
|
||||
# profile_for_prefix: "Profile for "
|
||||
# profile_for_suffix: ""
|
||||
# profile: "Profile"
|
||||
# user_not_found: "No user found. Check the URL?"
|
||||
# gravatar_not_found_mine: "We couldn't find your profile associated with:"
|
||||
# gravatar_not_found_email_suffix: "."
|
||||
# gravatar_signup_prefix: "Sign up at "
|
||||
# gravatar_signup_suffix: " to get set up!"
|
||||
profile: "Hồ sơ"
|
||||
user_not_found: "Không có người sử dụng được tìm thấy. Kiểm tra URL?"
|
||||
gravatar_not_found_mine: "Chúng tôi không thể tìm thấy hồ sơ của bạn được đính kèm theo:"
|
||||
gravatar_not_found_email_suffix: "."
|
||||
gravatar_signup_prefix: "Đăng ký tại "
|
||||
gravatar_signup_suffix: " để thiết lập!"
|
||||
# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address."
|
||||
# gravatar_contact: "Contact"
|
||||
# gravatar_websites: "Websites"
|
||||
gravatar_websites: "Địa chỉ trang Web"
|
||||
# gravatar_accounts: "As Seen On"
|
||||
# gravatar_profile_link: "Full Gravatar Profile"
|
||||
|
||||
# play_level:
|
||||
# level_load_error: "Level could not be loaded: "
|
||||
# done: "Done"
|
||||
done: "Hoàn thành"
|
||||
# grid: "Grid"
|
||||
# customize_wizard: "Customize Wizard"
|
||||
customize_wizard: "Tùy chỉnh Wizard"
|
||||
# home: "Home"
|
||||
# guide: "Guide"
|
||||
# multiplayer: "Multiplayer"
|
||||
# restart: "Restart"
|
||||
# goals: "Goals"
|
||||
guide: "Hướng dẫn"
|
||||
multiplayer: "Nhiều người chơi"
|
||||
restart: "Khởi động lại"
|
||||
goals: "Mục đích"
|
||||
# action_timeline: "Action Timeline"
|
||||
# click_to_select: "Click on a unit to select it."
|
||||
# reload_title: "Reload All Code?"
|
||||
click_to_select: "Kích vào đơn vị để chọn nó."
|
||||
reload_title: "Tải lại tất cả mã?"
|
||||
# reload_really: "Are you sure you want to reload this level back to the beginning?"
|
||||
# reload_confirm: "Reload All"
|
||||
# victory_title_prefix: ""
|
||||
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
@ -480,8 +481,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# counselor_introduction_1: "Do you have life experience? A different perspective on things that can help us decide how to shape CodeCombat? Of all these roles, this will probably take the least time, but individually you may make the most difference. We're on the lookout for wisened sages, particularly in areas like: teaching, game development, open source project management, technical recruiting, entrepreneurship, or design."
|
||||
# counselor_introduction_2: "Or really anything that is relevant to the development of CodeCombat. If you have knowledge and want to share it to help grow this project, then this class might be for you."
|
||||
# counselor_attribute_1: "Experience, in any of the areas above or something you think might be helpful."
|
||||
# counselor_attribute_2: "A little bit of free time!"
|
||||
# counselor_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll put you in our contact list and be in touch when we could use advice (not too often)."
|
||||
counselor_attribute_2: "Rảnh rỗi một chút!"
|
||||
counselor_join_desc: "Nói cho chúng tôi điều gì đó về bạn, bạn đã làm cái gì và bạn hứng thú về cái gì. Chúng tôi sẽ đưa bạn vào danh sách liên lạc và chúng tôi sẽ liên hệ khi chúng tôi có thể(không thường xuyên)."
|
||||
# more_about_counselor: "Learn More About Becoming a Counselor"
|
||||
# changes_auto_save: "Changes are saved automatically when you toggle checkboxes."
|
||||
# diligent_scribes: "Our Diligent Scribes:"
|
||||
|
@ -501,11 +502,11 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# scribe_title: "Scribe"
|
||||
# scribe_title_description: "(Article Editor)"
|
||||
# diplomat_title: "Diplomat"
|
||||
# diplomat_title_description: "(Translator)"
|
||||
diplomat_title_description: "(Người phiên dịch)"
|
||||
# ambassador_title: "Ambassador"
|
||||
# ambassador_title_description: "(Support)"
|
||||
# counselor_title: "Counselor"
|
||||
# counselor_title_description: "(Expert/Teacher)"
|
||||
ambassador_title_description: "(Hỗ trợ)"
|
||||
counselor_title: "Người tư vấn"
|
||||
counselor_title_description: "(Chuyên gia/ Giáo viên)"
|
||||
|
||||
# ladder:
|
||||
# please_login: "Please log in first before playing a ladder game."
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
legal:
|
||||
page_title: "法律"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -335,6 +335,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# legal:
|
||||
# page_title: "Legal"
|
||||
|
|
|
@ -30,7 +30,7 @@ module.exports = class ThangType extends CocoModel
|
|||
return @actions or @buildActions()
|
||||
|
||||
buildActions: ->
|
||||
@actions = _.cloneDeep(@get('actions') or {})
|
||||
@actions = $.extend(true, {}, @get('actions') or {})
|
||||
for name, action of @actions
|
||||
action.name = name
|
||||
for relatedName, relatedAction of action.relatedActions ? {}
|
||||
|
@ -139,17 +139,21 @@ module.exports = class ThangType extends CocoModel
|
|||
spriteSheet = null
|
||||
if @options.async
|
||||
buildQueue.push @builder
|
||||
@builder.t0 = new Date().getTime()
|
||||
@builder.buildAsync() unless buildQueue.length > 1
|
||||
@builder.on 'complete', @onBuildSpriteSheetComplete, @, true, key
|
||||
return true
|
||||
console.warn 'Building', @get('name'), @options, 'and blocking the main thread.'
|
||||
t0 = new Date().getTime()
|
||||
spriteSheet = @builder.build()
|
||||
console.warn "Built #{@get('name')} in #{new Date().getTime() - t0}ms on main thread."
|
||||
@spriteSheets[key] = spriteSheet
|
||||
delete @building[key]
|
||||
spriteSheet
|
||||
|
||||
onBuildSpriteSheetComplete: (e, key) ->
|
||||
console.log "Built #{@get('name')} async in #{new Date().getTime() - @builder.t0}ms." if @builder
|
||||
buildQueue = buildQueue.slice(1)
|
||||
buildQueue[0].t0 = new Date().getTime() if buildQueue[0]
|
||||
buildQueue[0]?.buildAsync()
|
||||
@spriteSheets[key] = e.target.spriteSheet
|
||||
delete @building[key]
|
||||
|
|
|
@ -75,13 +75,14 @@
|
|||
right: 0
|
||||
top: 0
|
||||
bottom: 0
|
||||
|
||||
|
||||
#thangs-list
|
||||
position: absolute
|
||||
position: relative
|
||||
right: 0
|
||||
top: 40px
|
||||
top: 0
|
||||
bottom: 0
|
||||
overflow: scroll
|
||||
height: 100%
|
||||
|
||||
h3
|
||||
margin: 0 -20px 0 0
|
||||
|
|
|
@ -160,6 +160,9 @@ block content
|
|||
h3 Glen De Cauwsemaecker
|
||||
|
||||
p(data-i18n="about.glen_description")
|
||||
| Glen, describe thyself!
|
||||
| Programmer and passionate game developer,
|
||||
| with the motivation to make this world a better place,
|
||||
| by developing things that mather. The word impossible can't
|
||||
| be found in his dictionary. Learning new skills is his joy!
|
||||
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ block content
|
|||
li Greek - Stergios
|
||||
li Latin American Spanish - Jesús Ruppel, Matthew Burt, Mariano Luzza
|
||||
li Spain Spanish - Matthew Burt, DanielRodriguezRivero, Anon
|
||||
li French - Xeonarno, Elfisen, Armaldio, MartinDelille, pstweb, veritable, jaybi, xavismeh, Anon
|
||||
li French - Xeonarno, Elfisen, Armaldio, MartinDelille, pstweb, veritable, jaybi, xavismeh, Anon, Feugy
|
||||
li Hungarian - ferpeter, csuvsaregal, atlantisguru, Anon
|
||||
li Japanese - g1itch, kengos
|
||||
li Chinese - Adam23, spacepope, yangxuan8282
|
||||
|
|
|
@ -22,7 +22,8 @@
|
|||
#canvas-top-gradient.gradient
|
||||
|
||||
.add-thangs-palette.thangs-column
|
||||
h3(data-i18n="editor.level_tab_thangs_add") Add Thangs
|
||||
#thangs-header
|
||||
h3(data-i18n="editor.level_tab_thangs_add") Add Thangs
|
||||
#thangs-list
|
||||
for group in groups
|
||||
h4= group.name
|
||||
|
|
|
@ -5,7 +5,7 @@ block content
|
|||
h1#site-slogan(data-i18n="home.slogan") Learn to Code JavaScript by Playing a Game
|
||||
|
||||
#trailer-wrapper
|
||||
<iframe width="920" height="518" src="//www.youtube.com/embed/1zjaA13k-dA?rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720" frameborder="0" allowfullscreen></iframe>
|
||||
<iframe width="920" height="518" src="//www.youtube.com/embed/1zjaA13k-dA?rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720&wmode=transparent" frameborder="0" allowfullscreen></iframe>
|
||||
img(src="/images/pages/home/video_border.png")
|
||||
|
||||
hr
|
||||
|
|
|
@ -7,7 +7,7 @@ block modal-header-content
|
|||
block modal-body-content
|
||||
|
||||
.multiplayer-launch-wrapper
|
||||
<iframe id="multiplayer-video" width="640" height="360" src="//www.youtube.com/embed/wfc0U74LFCk?&rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720" frameborder="0" allowfullscreen></iframe>
|
||||
<iframe id="multiplayer-video" width="640" height="360" src="//www.youtube.com/embed/wfc0U74LFCk?&rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720&wmode=transparent" frameborder="0" allowfullscreen></iframe>
|
||||
img(src="/images/pages/home/video_border.png")
|
||||
|
||||
h3(data-i18n="multiplayer_launch.to_battle") To Battle, Developers!
|
||||
|
|
|
@ -53,8 +53,13 @@ div#columns.row
|
|||
td.name-cell= match.opponentName || "Anonymous"
|
||||
td.time-cell= match.when
|
||||
td.battle-cell
|
||||
- var text = match.state === 'win' ? 'Watch your victory' : 'Defeat the ' + team.otherTeam
|
||||
a(href="/play/level/#{levelID}?team=#{team.id}&opponent=#{match.sessionID}")= text
|
||||
a(href="/play/level/#{levelID}?team=#{team.id}&opponent=#{match.sessionID}")
|
||||
if (match.state === 'win')
|
||||
span(data-i18n="ladder.watch_victory") Watch your victory
|
||||
else
|
||||
span(data-i18n="ladder.defeat_the") Defeat the
|
||||
|
|
||||
| #{team.otherTeam}
|
||||
|
||||
if !team.matches.length
|
||||
tr
|
||||
|
@ -68,4 +73,3 @@ div#columns.row
|
|||
span(data-i18n="ladder.no_ranked_matches_pre") No ranked matches for the
|
||||
| #{team.name}
|
||||
span(data-i18n="ladder.no_ranked_matches_post") team! Play against some competitors and then come back here to get your game ranked.
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ module.exports = class WizardSettingsView extends CocoView
|
|||
colorGroup.find('.minicolors-swatch').toggle Boolean(enabled)
|
||||
|
||||
updateColorSettings: (colorGroup) =>
|
||||
wizardSettings = _.cloneDeep(me.get('wizard')) or {}
|
||||
wizardSettings = $.extend(true, {}, me.get('wizard')) or {}
|
||||
wizardSettings.colorConfig ?= {}
|
||||
colorName = colorGroup.data('name')
|
||||
wizardSettings.colorConfig[colorName] ?= {}
|
||||
|
|
|
@ -68,7 +68,7 @@ module.exports = class ThangComponentEditView extends CocoView
|
|||
treemaOptions =
|
||||
supermodel: @supermodel
|
||||
schema: { type: 'array', items: LevelComponent.schema.attributes }
|
||||
data: (_.cloneDeep(c) for c in components)
|
||||
data: ($.extend(true, {}, c) for c in components)
|
||||
callbacks: {select: @onSelectAddableComponent, enter: @onAddComponentEnterPressed }
|
||||
readOnly: true
|
||||
noSortable: true
|
||||
|
@ -155,7 +155,7 @@ module.exports = class ThangComponentEditView extends CocoView
|
|||
|
||||
|
||||
reportChanges: ->
|
||||
@callback?(_.cloneDeep(@extantComponentsTreema.data))
|
||||
@callback?($.extend(true, [], @extantComponentsTreema.data))
|
||||
|
||||
class ThangComponentsArrayNode extends TreemaArrayNode
|
||||
valueClass: 'treema-thang-components-array'
|
||||
|
|
|
@ -25,7 +25,7 @@ module.exports = class LevelForkView extends View
|
|||
forkLevel: ->
|
||||
@showLoading()
|
||||
forms.clearFormAlerts(@$el)
|
||||
newLevel = new Level(_.cloneDeep(@level.attributes))
|
||||
newLevel = new Level($.extend(true, {}, @level.attributes))
|
||||
newLevel.unset '_id'
|
||||
newLevel.unset 'version'
|
||||
newLevel.unset 'creator'
|
||||
|
|
|
@ -21,7 +21,7 @@ module.exports = class ScriptsTabView extends View
|
|||
onLevelLoaded: (e) ->
|
||||
@level = e.level
|
||||
@dimensions = @level.dimensions()
|
||||
scripts = _.cloneDeep(@level.get('scripts') ? [])
|
||||
scripts = $.extend(true, [], @level.get('scripts') ? [])
|
||||
scripts = _.cloneDeep defaultScripts unless scripts.length
|
||||
treemaOptions =
|
||||
schema: Level.schema.get('properties').scripts
|
||||
|
|
|
@ -61,7 +61,7 @@ module.exports = class LevelSystemAddView extends View
|
|||
levelSystem =
|
||||
original: s.get('original') ? id
|
||||
majorVersion: s.get('version').major ? 0
|
||||
config: _.cloneDeep(s.get('configSchema').default ? {})
|
||||
config: $.extend(true, {}, s.get('configSchema').default ? {})
|
||||
@extantSystems.push levelSystem
|
||||
Backbone.Mediator.publish 'level-system-added', system: levelSystem
|
||||
@renderAvailableSystems()
|
||||
|
|
|
@ -54,7 +54,7 @@ module.exports = class SystemsTabView extends View
|
|||
@buildSystemsTreema()
|
||||
|
||||
buildSystemsTreema: ->
|
||||
systems = _.cloneDeep(@level.get('systems') ? [])
|
||||
systems = $.extend(true, [], @level.get('systems') ? [])
|
||||
unless systems.length
|
||||
systems = @buildDefaultSystems()
|
||||
insertedDefaults = true
|
||||
|
|
|
@ -104,12 +104,19 @@ module.exports = class ThangsTabView extends View
|
|||
context.groups = groups
|
||||
context
|
||||
|
||||
onWindowResize: (e) ->
|
||||
$('#thangs-list').height('100%')
|
||||
thangsHeaderHeight = $('#thangs-header').height()
|
||||
oldHeight = $('#thangs-list').height()
|
||||
$('#thangs-list').height(oldHeight - thangsHeaderHeight)
|
||||
|
||||
afterRender: ->
|
||||
return if @startsLoading
|
||||
super()
|
||||
$('.tab-content').click @selectAddThang
|
||||
$('#thangs-list').bind 'mousewheel', @preventBodyScrollingInThangList
|
||||
@$el.find('#extant-thangs-filter button:first').button('toggle')
|
||||
$(window).resize @onWindowResize
|
||||
|
||||
onFilterExtantThangs: (e) ->
|
||||
@$el.find('#extant-thangs-filter button.active').button('toggle')
|
||||
|
@ -145,6 +152,9 @@ module.exports = class ThangsTabView extends View
|
|||
@thangsTreema.open()
|
||||
@onThangsChanged() # Initialize the World with Thangs
|
||||
@initSurface()
|
||||
thangsHeaderHeight = $('#thangs-header').height()
|
||||
oldHeight = $('#thangs-list').height()
|
||||
$('#thangs-list').height(oldHeight - thangsHeaderHeight)
|
||||
|
||||
initSurface: ->
|
||||
surfaceCanvas = $('canvas#surface', @$el)
|
||||
|
|
|
@ -40,7 +40,7 @@ module.exports = class ThangTypeEditView extends View
|
|||
|
||||
constructor: (options, @thangTypeID) ->
|
||||
super options
|
||||
@mockThang = _.cloneDeep(@mockThang)
|
||||
@mockThang = $.extend(true, {}, @mockThang)
|
||||
@thangType = new ThangType(_id: @thangTypeID)
|
||||
@thangType.saveBackups = true
|
||||
@thangType.fetch()
|
||||
|
@ -320,7 +320,7 @@ module.exports = class ThangTypeEditView extends View
|
|||
@treema.set('/', @getThangData())
|
||||
|
||||
getThangData: ->
|
||||
data = _.cloneDeep(@thangType.attributes)
|
||||
data = $.extend(true, {}, @thangType.attributes)
|
||||
data = _.pick data, (value, key) => not (key in ['components'])
|
||||
|
||||
buildTreema: ->
|
||||
|
|
|
@ -72,14 +72,15 @@ module.exports = class LadderView extends RootView
|
|||
@showPlayModal(hash) if @sessions.loaded
|
||||
|
||||
fetchSessionsAndRefreshViews: ->
|
||||
return if @destroyed or application.userIsIdle or @$el.find('#simulate.active').length or (new Date() - 2000 < @lastRefreshTime)
|
||||
@sessions.fetch({"success": @refreshViews})
|
||||
|
||||
refreshViews: =>
|
||||
return if @destroyed or application.userIsIdle or new Date() - 2000 < @lastRefreshTime
|
||||
return if @destroyed or application.userIsIdle
|
||||
@lastRefreshTime = new Date()
|
||||
@ladderTab.refreshLadder()
|
||||
@myMatchesTab.refreshMatches()
|
||||
console.log "Refreshing ladder and matches views."
|
||||
console.log "Refreshed sessions for ladder and matches."
|
||||
|
||||
onIdleChanged: (e) ->
|
||||
@refreshViews() unless e.idle
|
||||
|
|
|
@ -8,7 +8,7 @@ module.exports = class LevelLoadingView extends View
|
|||
|
||||
subscriptions:
|
||||
'level-loader:progress-changed': 'onLevelLoaderProgressChanged'
|
||||
|
||||
|
||||
afterRender: ->
|
||||
@$el.find('.tip.rare').remove() if _.random(1, 10) < 9
|
||||
tips = @$el.find('.tip').addClass('to-remove')
|
||||
|
|
|
@ -25,7 +25,7 @@ module.exports = class DocsModal extends View
|
|||
|
||||
@docs = specific.concat(general)
|
||||
marked.setOptions {gfm: true, sanitize: false, smartLists: true, breaks: false}
|
||||
@docs = _.cloneDeep(@docs)
|
||||
@docs = $.extend(true, [], @docs)
|
||||
doc.html = marked(utils.i18n doc, 'body') for doc in @docs
|
||||
doc.name = (utils.i18n doc, 'name') for doc in @docs
|
||||
doc.slug = _.string.slugify(doc.name) for doc in @docs
|
||||
|
|
|
@ -167,7 +167,7 @@ module.exports = class PlayLevelView extends View
|
|||
@insertSubviews ladderGame: (@level.get('type') is "ladder")
|
||||
@initVolume()
|
||||
@session.on 'change:multiplayer', @onMultiplayerChanged, @
|
||||
@originalSessionState = _.cloneDeep(@session.get('state'))
|
||||
@originalSessionState = $.extend(true, {}, @session.get('state'))
|
||||
@register()
|
||||
@controlBar.setBus(@bus)
|
||||
@surface.showLevel()
|
||||
|
|
|
@ -160,7 +160,7 @@ module.exports = class SpectateLevelView extends View
|
|||
@insertSubviews ladderGame: @otherSession?
|
||||
@initVolume()
|
||||
|
||||
@originalSessionState = _.cloneDeep(@session.get('state'))
|
||||
@originalSessionState = $.extend(true, {}, @session.get('state'))
|
||||
@register()
|
||||
@controlBar.setBus(@bus)
|
||||
@surface.showLevel()
|
||||
|
|
|
@ -12,72 +12,72 @@ module.exports = class PlayView extends View
|
|||
tutorials = [
|
||||
{
|
||||
name: 'Rescue Mission'
|
||||
id: 'rescue-mission'
|
||||
description: "Tharin has been captured!"
|
||||
image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png'
|
||||
difficulty: 1
|
||||
id: 'rescue-mission'
|
||||
image: '/file/db/level/52740644904ac0411700067c/rescue_mission_icon.png'
|
||||
description: "Tharin has been captured!"
|
||||
}
|
||||
{
|
||||
name: 'Grab the Mushroom'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png'
|
||||
id: 'grab-the-mushroom'
|
||||
image: '/file/db/level/529662dfe0df8f0000000007/grab_the_mushroom_icon.png'
|
||||
description: "Grab a powerup and smash a big ogre."
|
||||
}
|
||||
{
|
||||
name: 'Drink Me'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/525dc5589a0765e496000006/drink_me_icon.png'
|
||||
id: 'drink-me'
|
||||
image: '/file/db/level/525dc5589a0765e496000006/drink_me_icon.png'
|
||||
description: "Drink up and slay two munchkins."
|
||||
}
|
||||
{
|
||||
name: 'Taunt the Guards'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/5276c9bdcf83207a2801ff8f/taunt_icon.png'
|
||||
id: 'taunt-the-guards'
|
||||
image: '/file/db/level/5276c9bdcf83207a2801ff8f/taunt_icon.png'
|
||||
description: "Tharin, if clever, can escape with Phoebe."
|
||||
}
|
||||
{
|
||||
name: "It's a Trap"
|
||||
difficulty: 1
|
||||
image: '/file/db/level/528aea2d7f37fc4e0700016b/its_a_trap_icon.png'
|
||||
id: 'its-a-trap'
|
||||
image: '/file/db/level/528aea2d7f37fc4e0700016b/its_a_trap_icon.png'
|
||||
description: "Organize a dungeon ambush with archers."
|
||||
}
|
||||
{
|
||||
name: 'Break the Prison'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/5275272c69abdcb12401216e/break_the_prison_icon.png'
|
||||
id: 'break-the-prison'
|
||||
image: '/file/db/level/5275272c69abdcb12401216e/break_the_prison_icon.png'
|
||||
description: "More comrades are imprisoned!"
|
||||
}
|
||||
{
|
||||
name: 'Taunt'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/525f150306e1ab0962000018/taunt_icon.png'
|
||||
id: 'taunt'
|
||||
image: '/file/db/level/525f150306e1ab0962000018/taunt_icon.png'
|
||||
description: "Taunt the ogre to claim victory."
|
||||
}
|
||||
{
|
||||
name: 'Cowardly Taunt'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/525abfd9b12777d78e000009/cowardly_taunt_icon.png'
|
||||
id: 'cowardly-taunt'
|
||||
image: '/file/db/level/525abfd9b12777d78e000009/cowardly_taunt_icon.png'
|
||||
description: "Lure infuriated ogres to their doom."
|
||||
}
|
||||
{
|
||||
name: 'Commanding Followers'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/525ef8ef06e1ab0962000003/commanding_followers_icon.png'
|
||||
id: 'commanding-followers'
|
||||
image: '/file/db/level/525ef8ef06e1ab0962000003/commanding_followers_icon.png'
|
||||
description: "Lead allied soldiers into battle."
|
||||
}
|
||||
{
|
||||
name: 'Mobile Artillery'
|
||||
difficulty: 1
|
||||
image: '/file/db/level/525085419851b83f4b000001/mobile_artillery_icon.png'
|
||||
id: 'mobile-artillery'
|
||||
image: '/file/db/level/525085419851b83f4b000001/mobile_artillery_icon.png'
|
||||
description: "Blow ogres up!"
|
||||
}
|
||||
]
|
||||
|
@ -85,38 +85,38 @@ module.exports = class PlayView extends View
|
|||
experienced = [
|
||||
{
|
||||
name: 'Hunter Triplets'
|
||||
id: 'hunter-triplets'
|
||||
description: "Three soldiers go ogre hunting."
|
||||
image: '/file/db/level/526711d9add4f8965f000002/hunter_triplets_icon.png'
|
||||
difficulty: 2
|
||||
id: 'hunter-triplets'
|
||||
image: '/file/db/level/526711d9add4f8965f000002/hunter_triplets_icon.png'
|
||||
description: "Three soldiers go ogre hunting."
|
||||
}
|
||||
{
|
||||
name: 'Emphasis on Aim'
|
||||
difficulty: 2
|
||||
image: '/file/db/level/525f384d96cd77000000000f/munchkin_masher_icon.png'
|
||||
id: 'emphasis-on-aim'
|
||||
image: '/file/db/level/525f384d96cd77000000000f/munchkin_masher_icon.png'
|
||||
description: "Chose your targets carefully."
|
||||
}
|
||||
{
|
||||
name: 'Zone of Danger'
|
||||
id: 'zone-of-danger'
|
||||
description: "Target the ogres swarming into arrow range."
|
||||
image: '/file/db/level/526ae95c1e5cd30000000008/zone_of_danger_icon.png'
|
||||
difficulty: 3
|
||||
id: 'zone-of-danger'
|
||||
image: '/file/db/level/526ae95c1e5cd30000000008/zone_of_danger_icon.png'
|
||||
description: "Target the ogres swarming into arrow range."
|
||||
}
|
||||
{
|
||||
name: 'Molotov Medic'
|
||||
difficulty: 2
|
||||
image: '/file/db/level/52602ecb026e8481e7000001/generic_1.png'
|
||||
id: 'molotov-medic'
|
||||
image: '/file/db/level/52602ecb026e8481e7000001/generic_1.png'
|
||||
description: "Tharin must play support in this dungeon battle."
|
||||
}
|
||||
{
|
||||
name: 'Gridmancer'
|
||||
id: 'gridmancer'
|
||||
description: "Challenge! Beat this level, get a job!"
|
||||
image: '/file/db/level/52ae2460ef42c52f13000008/gridmancer_icon.png'
|
||||
difficulty: 5
|
||||
id: 'gridmancer'
|
||||
image: '/file/db/level/52ae2460ef42c52f13000008/gridmancer_icon.png'
|
||||
description: "Challenge! Beat this level, get a job!"
|
||||
}
|
||||
]
|
||||
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
http://nodejs.org/dist/v0.10.25/node-v0.10.25-x86.msi
|
||||
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353.exe?direct
|
||||
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353.exe?direct
|
||||
http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi
|
|
@ -1,2 +1,3 @@
|
|||
http://nodejs.org/dist/v0.10.25/x64/node-v0.10.25-x64.msi
|
||||
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct
|
||||
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct
|
||||
http://www.python.org/ftp/python/2.7.6/python-2.7.6.amd64.msi
|
|
@ -1,4 +1,4 @@
|
|||
|
||||
|
||||
_____ _ _____ _ _
|
||||
/ __ \ | | / __ \ | | | |
|
||||
| / \/ ___ __| | ___ | / \/ ___ _ __ ___ | |__ __ _| |_
|
||||
|
|
|
@ -7,4 +7,7 @@
|
|||
\____/\___/ \__,_|\___| \____/\___/|_| |_| |_|_.__/ \__,_|\__|
|
||||
|
||||
======================================================================
|
||||
Readme: Hello World!
|
||||
|
||||
The installation of your CodeCombat Development Environment was succesfull!
|
||||
You are now ready to start contributing and join our wonderfull community!
|
||||
But where and how do you start your journey?
|
5
scripts/windows/coco-dev-setup/batch/config/tips
Executable file
5
scripts/windows/coco-dev-setup/batch/config/tips
Executable file
|
@ -0,0 +1,5 @@
|
|||
1) This program is all about automating the setup of the CoCo environment
|
||||
2) When there is a question, please answer carefull and correct
|
||||
3) This setup is still in beta and may contain bugs
|
||||
4) You can report bugs @ 'https://github.com/codecombat/codecombat/issues'
|
||||
5) Having questions/suggestions? Talk with us on HipChat via CodeCombat.com
|
|
@ -1,6 +1,10 @@
|
|||
@echo off
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
Color 0A
|
||||
|
||||
mode con: cols=78 lines=60
|
||||
|
||||
:: Global Variables
|
||||
set "temp-dir=C:\Coco-Temp"
|
||||
set install-log=%temp-dir%\coco-dev-install-log.txt
|
||||
|
@ -14,19 +18,25 @@ IF EXIST "%PROGRAMFILES(X86)%" (
|
|||
|
||||
set "ZU-app=utilities\7za.exe"
|
||||
|
||||
:: BUGS:
|
||||
:: + DEBUG ALL STEPS UNTILL NOW DONE
|
||||
|
||||
|
||||
:: TODO:
|
||||
:: + Full Automatic Package bat file.
|
||||
:: + Write code to set environment variables...
|
||||
:: + Write code to install vs if it's not yet installed on users pc
|
||||
:: + Write Git Checkout repository code:
|
||||
:: 1) Let user specify destination
|
||||
:: 2) do a git clone with the git application
|
||||
|
||||
:: + Configuraton and installation checklist:
|
||||
:: 1) ... ?!
|
||||
:: 1) cd codecombat
|
||||
:: 2) npm install -g bower brunch nodemon sendwithus
|
||||
:: 3) bower install
|
||||
:: 4) gem install sass
|
||||
:: 5) npm install
|
||||
:: 6) brunch -w
|
||||
:: Extra... @ Fail run npm install
|
||||
|
||||
:: + Copy the automated dev batch file to root folder
|
||||
:: => Let user define mongo-db directory
|
||||
:: + Start the dev environment
|
||||
:: + Exit message and warn user that he can quit the window now
|
||||
|
||||
:: Create The Temporary Directory
|
||||
IF EXIST %temp-dir% rmdir %temp-dir% /s /q
|
||||
|
@ -43,6 +53,31 @@ call:parse_file_new "config\config" cnfg n
|
|||
call:log "Welcome to the automated Installation of the CodeCombat Dev. Environment!"
|
||||
call:log_sse "v%%cnfg[1]%% authored by %%cnfg[2]%% and published by %%cnfg[3]%%."
|
||||
|
||||
:: Language Agreement Stuff
|
||||
|
||||
call:log "In order to continue the installation of the developers environment"
|
||||
call:log "you will have to read and agree with the following license:
|
||||
call:draw_dss
|
||||
echo.
|
||||
call:parse_aa_and_draw "license.txt"
|
||||
echo.
|
||||
call:draw_dss
|
||||
call:strict_user_yn_question "Have you read the license and do you agree with it?"
|
||||
|
||||
if "%res%"=="false" (
|
||||
call:log "Sorry to hear that, have a good day..."
|
||||
call:log_sse "Installation and Setup of the CodeCombat environment is cancelled."
|
||||
GOTO:END
|
||||
)
|
||||
|
||||
:: Tips
|
||||
call:log "Before we start the installation, here are some tips:"
|
||||
echo.
|
||||
|
||||
call:parse_aa_and_draw "config\tips"
|
||||
|
||||
call:draw_ss
|
||||
|
||||
:: Read Language Index
|
||||
call:parse_file_new "localisation\languages" lang lang_c
|
||||
|
||||
|
@ -99,7 +134,7 @@ call:log_lw_sse 2
|
|||
|
||||
:: downloads for all version...
|
||||
|
||||
:: [TODO] The choice between Cygwin && Git ?! Is
|
||||
:: [TODO] The choice between Cygwin && Git ?! Is => HAVE EXTERNAL GIT APPLICATION LIST!!!
|
||||
|
||||
call:log_lw_sse 3
|
||||
|
||||
|
@ -109,13 +144,25 @@ call:log_lw 8
|
|||
call:install_software_o "git" "%%downloads[1]%%" exe 9
|
||||
call:draw_dss
|
||||
call:get_lw word 11
|
||||
:: [TODO] Check if that application exists, if not ask again with warning that the path is invalid!!! (SAFETYYYY)
|
||||
set /p git_exe_path="%word%: "
|
||||
|
||||
:: [TODO] Add downloads for windows visual studio ?!
|
||||
|
||||
:: architecture specific downloads...
|
||||
IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
|
||||
call:user_set_git_path
|
||||
|
||||
:user_set_git_path_fail
|
||||
if not exist "%git_exe_path%" (
|
||||
call:log_lw 27
|
||||
call:draw_dss
|
||||
call:user_set_git_path
|
||||
)
|
||||
:: architecture specific downloads...
|
||||
IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
|
||||
goto:eof
|
||||
|
||||
:user_set_git_path
|
||||
set /p git_exe_path="%word%: "
|
||||
call:user_set_git_path_fail
|
||||
goto:eof
|
||||
|
||||
:go_to_platform
|
||||
call:log_ds "Windows %~1 detected..."
|
||||
|
@ -127,7 +174,14 @@ goto:eof
|
|||
|
||||
call:install_software_o "node-js" "%%downloads_64[1]%%" msi 12
|
||||
call:draw_dss
|
||||
|
||||
call:get_path_from_user 41 42
|
||||
set "node_js_path=%user_tmp_path%"
|
||||
Call:draw_dss
|
||||
|
||||
call:install_software_o "ruby" "%%downloads_64[2]%%" exe 13
|
||||
call:draw_dss
|
||||
call:install_software_o "python" "%%downloads_64[3]%%" msi 26
|
||||
|
||||
:: Some installations require specific windows versions
|
||||
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
|
||||
|
@ -144,7 +198,14 @@ GOTO END
|
|||
|
||||
call:install_software_o "node-js" "%%downloads_32[1]%%" msi 12
|
||||
call:draw_dss
|
||||
|
||||
call:get_path_from_user 41 42
|
||||
set "node_js_path=%user_tmp_path%"
|
||||
Call:draw_dss
|
||||
|
||||
call:install_software_o "ruby" "%%downloads_32[2]%%" exe 13
|
||||
call:draw_dss
|
||||
call:install_software_o "python" "%%downloads_32[3]%%" msi 26
|
||||
|
||||
:: Some installations require specific windows versions
|
||||
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
|
||||
|
@ -187,6 +248,39 @@ goto END
|
|||
:git_rep_checkout
|
||||
call:log_lw_ss 16
|
||||
call:log_lw_sse 17
|
||||
|
||||
set "PATH=%PATH%;%git_exe_path%\bin;%git_exe_path%\cmd" /M
|
||||
|
||||
call:log_lw 36
|
||||
call:log_lw 37
|
||||
call:log_lw 38
|
||||
|
||||
call:draw_dss
|
||||
|
||||
call:get_lw word 39
|
||||
set /p git_username="%word% "
|
||||
|
||||
call:draw_dss
|
||||
|
||||
call:get_empty_path_from_user 32
|
||||
set "git_repository_path=%user_tmp_path%"
|
||||
|
||||
goto:git_rep_checkout_auto
|
||||
|
||||
:git_rep_checkout_auto
|
||||
git clone https://github.com/%git_username%/codecombat.git "%git_repository_path%"
|
||||
goto:git_repo_configuration
|
||||
|
||||
:git_repo_configuration
|
||||
call:log_lw_ss 35
|
||||
call:log_lw_sse 36
|
||||
|
||||
SET "PATH=%PATH%;%node_js_path%" /M
|
||||
setx -m git "%git_exe_path%\bin"
|
||||
|
||||
call:log_lw 40
|
||||
start cmd /k "npm install -g bower brunch nodemon sendwithus & exit"
|
||||
|
||||
goto report_ok
|
||||
|
||||
:report_ok
|
||||
|
@ -199,7 +293,7 @@ goto report_ok
|
|||
goto clean_up
|
||||
|
||||
:open_readme
|
||||
call:open_txt_file "config/README.txt"
|
||||
call:open_txt_file "config/info"
|
||||
goto:eof
|
||||
|
||||
:warn_and_exit
|
||||
|
@ -214,7 +308,6 @@ goto END
|
|||
:clean_up
|
||||
call:log_lw_sse 23
|
||||
rmdir %temp-dir% /s /q
|
||||
PAUSE
|
||||
goto END
|
||||
|
||||
:: ============================ INSTALL SOFTWARE FUNCTIONS ======================
|
||||
|
@ -234,11 +327,7 @@ goto:eof
|
|||
|
||||
:install_software_o
|
||||
call:get_lw word %~4
|
||||
set /p result="%word% [Y/N]: "
|
||||
call:draw_dss
|
||||
set res=false
|
||||
if "%result%"=="N" set res=true
|
||||
if "%result%"=="n" set res=true
|
||||
call:user_yn_question "%word%"
|
||||
if "%res%"=="true" (
|
||||
call:install_software %~1 %~2 %~3
|
||||
) else (
|
||||
|
@ -271,13 +360,33 @@ goto:eof
|
|||
rmdir %packed_software_path%\%temp_dir%\ /s /q
|
||||
goto:eof
|
||||
|
||||
:user_yn_question
|
||||
set /p result="%~1 [Y/N]: "
|
||||
call:draw_dss
|
||||
set "res=false"
|
||||
if "%result%"=="N" (set "res=true")
|
||||
if "%result%"=="n" (set "res=true")
|
||||
goto:eof
|
||||
|
||||
:strict_user_yn_question
|
||||
set /p result="%~1 [Y/N]: "
|
||||
call:draw_dss
|
||||
set "res=unset"
|
||||
if "%result%"=="N" (set "res=false")
|
||||
if "%result%"=="n" (set "res=false")
|
||||
if "%result%"=="Y" (set "res=true")
|
||||
if "%result%"=="y" (set "res=true")
|
||||
|
||||
if "%res%"=="unset" (
|
||||
call:log "Please answer the question with either Y or N..."
|
||||
call:draw_dss
|
||||
call:strict_user_yn_question "%~1"
|
||||
)
|
||||
goto:eof
|
||||
|
||||
:install_packed_software_o
|
||||
call:get_lw word %~4
|
||||
set /p result="%word% [Y/N]: "
|
||||
call:draw_dss
|
||||
set res=false
|
||||
if "%result%"=="N" set res=true
|
||||
if "%result%"=="n" set res=true
|
||||
call:user_yn_question "%word%"
|
||||
if "%res%"=="true" (
|
||||
call:install_packed_software %~1 %~2 %~3
|
||||
) else (
|
||||
|
@ -285,6 +394,28 @@ goto:eof
|
|||
)
|
||||
goto:eof
|
||||
|
||||
:: ===================== USER - INTERACTION - FUNCTIONS ========================
|
||||
|
||||
:get_path_from_user
|
||||
call:get_lw word %~1
|
||||
set /p user_tmp_path="%word% "
|
||||
if not exist "%user_tmp_path%" (
|
||||
call:log_lw 43
|
||||
call:draw_dss
|
||||
call:get_path_from_user %~1 %~2
|
||||
)
|
||||
goto:eof
|
||||
|
||||
:get_empty_path_from_user
|
||||
call:get_lw word %~1
|
||||
set /p user_tmp_path="%word% "
|
||||
if exist "%user_tmp_path%" (
|
||||
call:log_lw 33
|
||||
call:draw_dss
|
||||
call:get_path_from_user %~1
|
||||
)
|
||||
goto:eof
|
||||
|
||||
:: ============================== FUNCTIONS ====================================
|
||||
|
||||
:log
|
||||
|
@ -293,11 +424,21 @@ goto:eof
|
|||
goto:eof
|
||||
|
||||
:draw_ss
|
||||
echo.
|
||||
call:log "-----------------------------------------------------------------------------"
|
||||
echo.
|
||||
goto:eof
|
||||
|
||||
:draw_dss
|
||||
echo.
|
||||
call:log "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"
|
||||
echo.
|
||||
goto:eof
|
||||
|
||||
:draw_seperator
|
||||
echo.
|
||||
echo + + + + + + + +
|
||||
echo.
|
||||
goto:eof
|
||||
|
||||
:log_ss
|
||||
|
@ -323,7 +464,7 @@ goto:eof
|
|||
|
||||
:parse_aa_and_draw
|
||||
set "file=%~1"
|
||||
for /F "usebackq delims=" %%a in ("%file%") do (
|
||||
for /f "usebackq tokens=* delims=;" %%a in ("%file%") do (
|
||||
echo.%%a
|
||||
)
|
||||
goto:eof
|
||||
|
@ -341,7 +482,7 @@ goto:eof
|
|||
call:parse_file %~1 %~2 %~3
|
||||
goto:eof
|
||||
|
||||
:: ============================== LOCALISATION FUNCTIONS ===========================
|
||||
:: ============================== LOCALISATION FUNCTIONS ================
|
||||
|
||||
:get_lw
|
||||
call:get_lw_id %~1 %lang_id% %~2
|
||||
|
@ -357,6 +498,11 @@ goto:eof
|
|||
call:log "%str%"
|
||||
goto:eof
|
||||
|
||||
:log_lw_prfx
|
||||
call:get_lw str %~1
|
||||
call:log "%~2%str%"
|
||||
goto:eof
|
||||
|
||||
:log_lw_ss
|
||||
call:get_lw str %~1
|
||||
call:log_ss "%str%"
|
||||
|
@ -372,7 +518,16 @@ goto:eof
|
|||
call:log_sse "%str%"
|
||||
goto:eof
|
||||
|
||||
:: ============================== WINDOWS FUNCTIONS ======================
|
||||
|
||||
:set_env_var
|
||||
setx -m %~1 %~2
|
||||
goto:eof
|
||||
|
||||
:: ============================== EOF ====================================
|
||||
|
||||
:END
|
||||
exit
|
||||
goto:eof
|
||||
|
||||
endlocal
|
50
scripts/windows/coco-dev-setup/batch/git-test.bat
Executable file
50
scripts/windows/coco-dev-setup/batch/git-test.bat
Executable file
|
@ -0,0 +1,50 @@
|
|||
@echo off
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
:: + Configuraton and installation checklist:
|
||||
:: 1) cd codecombat
|
||||
:: 2) npm install -g bower brunch nodemon sendwithus
|
||||
:: 3) bower install
|
||||
:: 4) gem install sass
|
||||
:: 5) npm install
|
||||
:: 6) brunch -w
|
||||
:: Extra... @ Fail run npm install
|
||||
|
||||
echo "Moving to your git repository..."
|
||||
C:
|
||||
cd C:\CodeCombat
|
||||
|
||||
PAUSE
|
||||
|
||||
SET "PATH=%PATH%;C:\Program Files\Nodejs" /M
|
||||
setx -m git "C:\Program Files (x86)\Git\bin"
|
||||
SET "PATH=%PATH%;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\Git\cmd" /M
|
||||
|
||||
PAUSE
|
||||
|
||||
echo "Installing bower, brunch, nodemon and sendwithus..."
|
||||
start cmd /k "npm install -g bower brunch nodemon sendwithus & exit"
|
||||
|
||||
PAUSE
|
||||
|
||||
echo "running npm install..."
|
||||
start cmd /k "npm install & exit"
|
||||
|
||||
PAUSE
|
||||
|
||||
echo "Activating bower install..."
|
||||
start cmd /k "bower install & PAUSE & exit"
|
||||
|
||||
PAUSE
|
||||
|
||||
echo "Installing sass via gem..."
|
||||
start cmd /k "install sass & PAUSE & exit"
|
||||
|
||||
PAUSE
|
||||
|
||||
echo "comping repository via brunch..."
|
||||
start cmd /k "brunch -w & exit"
|
||||
|
||||
PAUSE
|
||||
|
||||
endlocal
|
11
scripts/windows/coco-dev-setup/batch/license.txt
Executable file
11
scripts/windows/coco-dev-setup/batch/license.txt
Executable file
|
@ -0,0 +1,11 @@
|
|||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 CodeCombat Inc. and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN sCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.
|
|
@ -5,11 +5,11 @@ Don't close any windows please, unless specified explicitly.
|
|||
downloading:
|
||||
installing:
|
||||
CodeCombat is safely stored on a git repository.
|
||||
Therefore you need a git command-line application.
|
||||
Therefore you need a git command-line application (Git-bash).
|
||||
Examples: git-bash, CygWin, ...
|
||||
Do you already have a git command-line application?
|
||||
Do you already have git-bash?
|
||||
Download and Installation cancelled...
|
||||
Enter the path to your Git CL Exectutable
|
||||
Enter the path to where you installed Git-bash
|
||||
Do you already have the latest version of node-js installed?
|
||||
Do you already have the latest version of ruby installed?
|
||||
Do you already have the latest version of mongo-db installed?
|
||||
|
@ -23,4 +23,21 @@ Report your OS to the developers @ CodeCombat.com...
|
|||
Installation has been stopped...
|
||||
... Cleaning up has been disabled... Terminating Script!
|
||||
unpacking and moving:
|
||||
Enter the path where you would like to install MongoDB:
|
||||
Enter the path where you would like to install MongoDB:
|
||||
Do you already have the latest version of python installed?
|
||||
The path to your git application is incorrect, please try again...
|
||||
You'll need to execute the following steps to continue the installation:
|
||||
Type: git clone https://github.com/codecombat/codecombat.git aPath
|
||||
Note: replace aPath with the destination of your git repository
|
||||
Close the git application and go back to this CMD window
|
||||
Enter the full path where you want to clone your repository to:
|
||||
The path you entered already exists, please try again...
|
||||
Good Job, we're almost there...
|
||||
Started the configuration of your git repository...
|
||||
You need a fork of the official CodeCombat...
|
||||
Haven't you done that yet, really...?
|
||||
Go over to https://github.com/codecombat/codecombat and do it now!
|
||||
Now then... Please enter your github username:
|
||||
Installing bower, brunch, nodemon and sendwithus...
|
||||
Please enter the full path of the location you installed nodejs to:
|
||||
The path you intered is invalid, please try again...
|
|
@ -5,11 +5,11 @@ Don't close any windows please, unless specified explicitly.
|
|||
downloading:
|
||||
installing:
|
||||
CodeCombat is safely stored on a git repository.
|
||||
Therefore you need a git command-line application.
|
||||
Therefore you need a git command-line application (Git-bash).
|
||||
Examples: git-bash, CygWin, ...
|
||||
Do you already have a git command-line application?
|
||||
Do you already have git-bash?
|
||||
Download and Installation cancelled...
|
||||
Enter the path to your Git CL Exectutable
|
||||
Enter the path to where you installed Git-bash
|
||||
Do you already have the latest version of node-js installed?
|
||||
Do you already have the latest version of ruby installed?
|
||||
Do you already have the latest version of mongo-db installed?
|
||||
|
@ -23,4 +23,21 @@ Report your OS to the developers @ CodeCombat.com...
|
|||
Installation has been stopped...
|
||||
... Cleaning up has been disabled... Terminating Script!
|
||||
unpacking and moving:
|
||||
Enter the path where you would like to install MongoDB:
|
||||
Enter the path where you would like to install MongoDB:
|
||||
Do you already have the latest version of python installed?
|
||||
The path to your git application is incorrect, please try again...
|
||||
You'll need to execute the following steps to continue the installation:
|
||||
Type: git clone https://github.com/codecombat/codecombat.git aPath
|
||||
Note: replace aPath with the destination of your git repository
|
||||
Close the git application and go back to this CMD window
|
||||
Enter the full path where you want to clone your repository to:
|
||||
The path you entered already exists, please try again...
|
||||
Good Job, we're almost there...
|
||||
Started the configuration of your git repository...
|
||||
You need a fork of the official CodeCombat...
|
||||
Haven't you done that yet, really...?
|
||||
Go over to https://github.com/codecombat/codecombat and do it now!
|
||||
Now then... Please enter your github username:
|
||||
Installing bower, brunch, nodemon and sendwithus...
|
||||
Please enter the full path of the location you installed nodejs to:
|
||||
The path you intered is invalid, please try again...
|
|
@ -5,11 +5,11 @@ Don't close any windows please, unless specified explicitly.
|
|||
downloading:
|
||||
installing:
|
||||
CodeCombat is safely stored on a git repository.
|
||||
Therefore you need a git command-line application.
|
||||
Therefore you need a git command-line application (Git-bash).
|
||||
Examples: git-bash, CygWin, ...
|
||||
Do you already have a git command-line application?
|
||||
Do you already have git-bash?
|
||||
Download and Installation cancelled...
|
||||
Enter the path to your Git CL Exectutable
|
||||
Enter the path to where you installed Git-bash
|
||||
Do you already have the latest version of node-js installed?
|
||||
Do you already have the latest version of ruby installed?
|
||||
Do you already have the latest version of mongo-db installed?
|
||||
|
@ -23,4 +23,21 @@ Report your OS to the developers @ CodeCombat.com...
|
|||
Installation has been stopped...
|
||||
... Cleaning up has been disabled... Terminating Script!
|
||||
unpacking and moving:
|
||||
Enter the path where you would like to install MongoDB:
|
||||
Enter the path where you would like to install MongoDB:
|
||||
Do you already have the latest version of python installed?
|
||||
The path to your git application is incorrect, please try again...
|
||||
You'll need to execute the following steps to continue the installation:
|
||||
Type: git clone https://github.com/codecombat/codecombat.git aPath
|
||||
Note: replace aPath with the destination of your git repository
|
||||
Close the git application and go back to this CMD window
|
||||
Enter the full path where you want to clone your repository to:
|
||||
The path you entered already exists, please try again...
|
||||
Good Job, we're almost there...
|
||||
Started the configuration of your git repository...
|
||||
You need a fork of the official CodeCombat...
|
||||
Haven't you done that yet, really...?
|
||||
Go over to https://github.com/codecombat/codecombat and do it now!
|
||||
Now then... Please enter your github username:
|
||||
Installing bower, brunch, nodemon and sendwithus...
|
||||
Please enter the full path of the location you installed nodejs to:
|
||||
The path you intered is invalid, please try again...
|
|
@ -5,4 +5,4 @@ module.exports.setup = ->
|
|||
winston.add(winston.transports.Console,
|
||||
colorize: true,
|
||||
timestamp: true
|
||||
)
|
||||
)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
Level = require('./Level')
|
||||
Session = require('./sessions/LevelSession')
|
||||
User = require '../users/User'
|
||||
SessionHandler = require('./sessions/level_session_handler')
|
||||
Feedback = require('./feedbacks/LevelFeedback')
|
||||
Handler = require('../commons/Handler')
|
||||
|
@ -32,6 +33,7 @@ LevelHandler = class LevelHandler extends Handler
|
|||
return @getMySessions(req, res, args[0]) if args[1] is 'my_sessions'
|
||||
return @getFeedback(req, res, args[0]) if args[1] is 'feedback'
|
||||
return @getRandomSessionPair(req,res,args[0]) if args[1] is 'random_session_pair'
|
||||
return @getLeaderboardFriends(req, res, args[0]) if args[1] is 'leaderboard_friends'
|
||||
|
||||
return @sendNotFoundError(res)
|
||||
|
||||
|
@ -149,7 +151,33 @@ LevelHandler = class LevelHandler extends Handler
|
|||
return @sendDatabaseError(res, err) if err
|
||||
resultSessions ?= []
|
||||
@sendSuccess res, resultSessions
|
||||
|
||||
|
||||
|
||||
getLeaderboardFriends: (req, res, id) ->
|
||||
friendIDs = req.body.friendIDs or []
|
||||
return res.send([]) unless friendIDs.length
|
||||
|
||||
query = User.find({facebookID:{$in:friendIDs}})
|
||||
.select('facebookID name')
|
||||
.lean()
|
||||
|
||||
query.exec (err, userResults) ->
|
||||
return res.send([]) unless userResults.length
|
||||
[id, version] = id.split('.')
|
||||
userIDs = (r._id+'' for r in userResults)
|
||||
q = {'level.original':id, 'level.majorVersion': parseInt(version), creator: {$in:userIDs}, totalScore:{$exists:true}}
|
||||
query = Session.find(q)
|
||||
.select('creator creatorName totalScore team')
|
||||
.lean()
|
||||
|
||||
query.exec (err, sessionResults) ->
|
||||
return res.send([]) unless sessionResults.length
|
||||
res.send(sessionResults)
|
||||
userMap = {}
|
||||
userMap[u._id] = u.facebookID for u in userResults
|
||||
session.facebookID = userMap[session.creator] for session in sessionResults
|
||||
res.send(sessionResults)
|
||||
|
||||
getRandomSessionPair: (req, res, slugOrID) ->
|
||||
findParameters = {}
|
||||
if Handler.isID slugOrID
|
||||
|
|
|
@ -202,7 +202,7 @@ determineIfSessionShouldContinueAndUpdateLog = (sessionID, sessionRank, cb) ->
|
|||
cb null, true
|
||||
else
|
||||
ratio = (updatedSession.numberOfLosses) / (totalNumberOfGamesPlayed)
|
||||
if ratio > 0.66
|
||||
if ratio > 0.2
|
||||
cb null, false
|
||||
console.log "Ratio(#{ratio}) is bad, ending simulation"
|
||||
else
|
||||
|
@ -225,6 +225,9 @@ findNearestBetterSessionID = (levelOriginalID, levelMajorVersion, sessionID, ses
|
|||
submittedCode:
|
||||
$exists: true
|
||||
team: opposingTeam
|
||||
|
||||
if opponentSessionTotalScore < 30
|
||||
queryParameters["totalScore"]["$gt"] = opponentSessionTotalScore + 1
|
||||
|
||||
limitNumber = 1
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue