This commit is contained in:
therealbond 2014-03-22 02:05:19 -04:00
commit 7d03c2e520
124 changed files with 2613 additions and 1288 deletions
app
assets
images/pages/base
index.html
javascripts/workers
lib
locale
models
styles
editor
play
templates
views

Binary file not shown.

After

(image error) Size: 22 KiB

View file

@ -10,7 +10,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>CodeCombat</title>
<title>CodeCombat - Learn how to code by playing a game</title>
<meta name="description" content="Learn programming with a multiplayer live coding strategy game. You're a wizard, and your spells are JavaScript. Free, open source HTML5 game!">
<meta property="og:title" content="CodeCombat: Multiplayer Programming">
@ -31,8 +31,7 @@
<link rel="shortcut icon" href="/images/favicon.ico">
<link rel="stylesheet" href="/stylesheets/app.css">
<script src="/lib/ace/ace.js"></script>
<script src="/lib/ace/ace.js"></script>
<!--[if IE 9]> <script src="/javascripts/vendor_with_box2d.js"></script> <![endif]-->
<!--[if !IE]><!--> <script src="/javascripts/vendor.js"></script> <!--<![endif]-->
<script src="/javascripts/app.js"></script> <!-- it's all Backbone! -->
@ -76,8 +75,8 @@
// Additional JS functions here
window.fbAsyncInit = function() {
FB.init({
appId : '148832601965463', // App ID
channelUrl : 'http://codecombat.com/channel.html', // Channel File
appId : document.location.origin === 'http://localhost:3000' ? '607435142676437' : '148832601965463', // App ID
channelUrl : document.location.origin +'/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
@ -113,7 +112,14 @@
<header class="header-container" id="header-container"></header>
<div id="page-container"></div>
<!--
<div class="antiscroll-wrap">
<div class="antiscroll-inner">
<div id="page-container"></div>
</div>
</div>
-->
<div id="modal-wrapper"></div>
<!-- begin google api/plus code -->

View file

@ -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";

View 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.
###

View file

@ -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')

View file

@ -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

View file

@ -64,7 +64,7 @@ module.exports = ScriptManager = class ScriptManager extends CocoClass
@triggered = []
@ended = []
@noteGroupQueue = []
@scripts = _.cloneDeep(@originalScripts)
@scripts = $.extend(true, [], @originalScripts)
addScriptSubscriptions: ->
idNum = 0

View file

@ -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
@ -101,6 +101,8 @@ module.exports = class Simulator extends CocoClass
handleTaskResultsTransferSuccess: (result) =>
console.log "Task registration result: #{JSON.stringify result}"
@trigger 'statusUpdate', 'Results were successfully sent back to server!'
simulatedBy = parseInt($('#simulated-by-you').text(), 10) + 1
$('#simulated-by-you').text(simulatedBy)
handleTaskResultsTransferError: (error) =>
@trigger 'statusUpdate', 'There was an error sending the results back to the server.'

View file

@ -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 ?= {}

View file

@ -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']

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -87,7 +87,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
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 "
play_as: "Play As"
spectate: "Spectate"
contact:
@ -249,6 +249,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
av_other_debug_base_url: "Base (for debugging base.jade)"
u_title: "User List"
lg_title: "Latest Games"
clas: "CLAs"
editor:
main_title: "CodeCombat Editors"
@ -350,7 +351,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"
@ -530,6 +531,8 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
simulation_explanation: "By simulating games you can get your game ranked faster!"
simulate_games: "Simulate Games!"
simulate_all: "RESET AND SIMULATE GAMES"
games_simulated_by: "Games simulated by you:"
games_simulated_for: "Games simulated for you:"
leaderboard: "Leaderboard"
battle_as: "Battle as "
summary_your: "Your "

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -217,14 +217,14 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
editor_config: "Config de l'éditeur"
editor_config_title: "Configuration de l'éditeur"
editor_config_keybindings_label: "Raccourcis clavier"
# editor_config_keybindings_default: "Default (Ace)"
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 l'invisible"
# 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_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 laddersthen 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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -336,6 +336,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
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"

View file

@ -50,4 +50,4 @@ module.exports =
uk: require './uk' # українська мова, Ukranian
hi: require './hi' # ि, Hindi
ur: require './ur' # اُردُو, Urdu
'ms-BA': require './ms-BA' # Bahasa Melayu, Bahasa Malaysia
ms: require './ms' # Bahasa Melayu, Bahasa Malaysia

View file

@ -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"

View file

@ -1,16 +1,16 @@
module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa Malaysia", translation:
common:
# loading: "Loading..."
# saving: "Saving..."
# sending: "Sending..."
loading: "Pemuatan..."
saving: "Menyimpan data..."
sending: "Menghantar maklumat.."
cancel: "Batal"
# save: "Save"
save: "Simpan data"
# delay_1_sec: "1 second"
# delay_3_sec: "3 seconds"
# delay_5_sec: "5 seconds"
# manual: "Manual"
# fork: "Fork"
play: "bermain"
play: "Mula"
modal:
close: "Tutup"
@ -20,36 +20,36 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
page_not_found: "Halaman tidak ditemui"
nav:
play: "bermain"
play: "Mula"
# editor: "Editor"
# blog: "Blog"
# forum: "Forum"
# admin: "Admin"
home: "Halaman"
contribute: "Sumbangan"
legal: "Undang- undang"
legal: "Undang-undang"
about: "Tentang"
contact: "Hubungi"
# twitter_follow: "Follow"
# employers: "Employers"
twitter_follow: "Ikuti"
employers: "Majikan"
# 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: "Simpan versi baru"
new_major_version: "Versi utama yang baru"
cla_prefix: "Untuk menyimpan pengubahsuaian, anda perlu setuju dengan"
# cla_url: "CLA"
# cla_suffix: "."
# cla_agree: "I AGREE"
cla_agree: "SAYA SETUJU"
login:
sign_up: "Buat Akaun"
log_in: "Log Masuk"
log_out: "Log Keluar"
recover: "perbaharui akaun"
recover: "Perbaharui Akaun"
# recover:
# recover_account_title: "Recover Account"
# send_password: "Send Recovery Password"
recover:
recover_account_title: "Dapatkan Kembali Akaun"
send_password: "Hantar kembali kata laluan"
signup:
# create_account_title: "Create Account to Save Progress"
@ -57,17 +57,17 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
email_announcements: "Terima pengesahan melalui Emel"
coppa: "13+ atau bukan- USA"
coppa_why: "(Kenapa?)"
creating: "Membuat Akaun..."
creating: "Sedang membuat Akaun..."
sign_up: "Daftar"
log_in: "log masuk"
log_in: "Log Masuk"
# 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."
home:
slogan: "Belajar Kod JavaScript Dengan Permainan"
no_ie: "CodeCombat tidak berfungsi dalam Internet Explorer 9 dan terdahulu. Maaf!"
no_mobile: "CodeCombat tidak dibangunkan untuk telefon mudah-alih dan tablet dan tidak akan berfungsi!"
play: "Mula"
old_browser: "Uh oh, browser anda terlalu lama untuk CodeCombat berfungsi. Maaf!"
old_browser_suffix: "Anda boleh mencuba, tapi mungkin ia tidak akan berfungsi."
# campaign: "Campaign"
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
@ -90,23 +90,23 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# 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: "Hubungi CodeCombat"
welcome: "Kami suka mendengar dari anda! Gunakan form ini dan hantar kami emel. "
contribute_prefix: "Jikalau anda berasa besar hati untuk menyumbang, sila lihat "
contribute_page: "laman kami untuk menyumbang"
# contribute_suffix: "!"
# forum_prefix: "For anything public, please try "
# forum_page: "our forum"
# forum_suffix: " instead."
# send: "Send Feedback"
forum_prefix: "Untuk perkara lain, sila cuba "
forum_page: "forum kami"
# forum_suffix: "."
send: "Hantar Maklumbalas"
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 Bahasa Melayu 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 Bahasa Melayu."
missing_translations: "Until we can translate everything into Bahasa Melayu, you'll see English when Bahasa Melayu isn't available."
# learn_more: "Learn more about being a Diplomat"
title: "Kami perlu menterjemahkan CodeCombat!"
sub_heading: "Kami memerlukan kemahiran bahasa anda."
pitch_body: "Kami membina CodeCombat dalam Bahasa Inggeris, tetapi kami sudah ada pemain dari seluruh dunia. Kebanyakan mereka mahu bermain dalam Bahasa Melayu dan tidak memahami bahasa Inggeris, jikalau anda boleh tertutur dalam kedua-dua bahasa, harap anda boleh daftar untuk menjadi Diplomat dan menolong menterjemahkan laman CodeCombat dan kesemua level kepada Bahasa Melayu."
missing_translations: "Sehingga kami dalam menterjemahkan kesemua kepada Bahasa Melayu, anda akan melihat Inggeris apabila Bahasa Melayu tiada dalam penterjemahan."
learn_more: "Ketahui lebih lanjut untuk menjadi ahli Diplomat"
# subscribe_as_diplomat: "Subscribe as a Diplomat"
# wizard_settings:
@ -151,21 +151,21 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# saved: "Changes Saved"
# password_mismatch: "Password does not match."
# account_profile:
account_profile:
# edit_settings: "Edit Settings"
# profile_for_prefix: "Profile for "
profile_for_prefix: "Profil untuk "
# 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:"
profile: "Profil"
user_not_found: "Pengguna tiada. Semak kembali URL?"
gravatar_not_found_mine: "Kami tidak dapat mencari profil anda yang mengenai dengan:"
# gravatar_not_found_email_suffix: "."
# gravatar_signup_prefix: "Sign up at "
# gravatar_signup_suffix: " to get set up!"
gravatar_signup_prefix: "Daftar di "
gravatar_signup_suffix: " untuk mula!"
# gravatar_not_found_other: "Alas, there's no profile associated with this person's email address."
# gravatar_contact: "Contact"
# gravatar_websites: "Websites"
# gravatar_accounts: "As Seen On"
# gravatar_profile_link: "Full Gravatar Profile"
gravatar_contact: "Hubungi"
gravatar_websites: "Lelaman"
# gravatar_accounts: "Juga didapati di"
gravatar_profile_link: "Profil Penuh Gravatar"
# play_level:
# level_load_error: "Level could not be loaded: "
@ -287,54 +287,55 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# edit_article_title: "Edit Article"
general:
# and: "and"
and: "dan"
name: "Nama"
# body: "Body"
# version: "Version"
# commit_msg: "Commit Message"
version: "Versi"
commit_msg: "Mesej Commit"
# history: "History"
# version_history_for: "Version History for: "
# result: "Result"
# results: "Results"
# description: "Description"
result: "Keputusan"
results: "Keputusan-keputusan"
description: "Deskripsi"
or: "atau"
email: "Emel"
# password: "Password"
password: "Kata Laluan"
message: "Mesej"
# code: "Code"
# ladder: "Ladder"
# when: "When"
# opponent: "Opponent"
code: "Kod"
ladder: "Tangga"
when: "Bila"
opponent: "Penentang"
# rank: "Rank"
# score: "Score"
# win: "Win"
# loss: "Loss"
# tie: "Tie"
score: "Mata"
win: "Menang"
# loss: "Kalah"
tie: "Seri"
# easy: "Easy"
# medium: "Medium"
# hard: "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."
about:
who_is_codecombat: "Siapa adalah CodeCombat?"
why_codecombat: "Kenapa CodeCombat?"
who_description_prefix: "bersama memulai CodeCombat in 2013. Kami juga membuat (mengaturcara) "
who_description_suffix: "dalam 2008, mengembangkan ia kepada applikasi iOS dan applikasi web #1 untuk belajar menaip dalam karakter Cina dan Jepun."
who_description_ending: "Sekarang, sudah tiba masanya untuk mengajar orang untuk menaip kod."
# 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!"
why_paragraph_2: "Mahu belajar untuk membina kod? Anda tidak perlu membaca dan belajar. Anda perlu menaip kod yang banyak dan bersuka-suka dengan masa yang terluang."
why_paragraph_3_prefix: "Itulah semua tentang pengaturcaraan. Ia harus membuat anda gembira dan rasa berpuas hati. Tidak seperti"
why_paragraph_3_italic: "yay satu badge"
# why_paragraph_3_center: "tapi bersukaria seperti"
why_paragraph_3_italic_caps: "TIDAK MAK SAYA PERLU HABISKAN LEVEL!"
why_paragraph_3_suffix: "Itulah kenapa CodeCombat adalah permainan multiplayer, tapi bukan sebuah khursus dibuat sebagai permainan. Kami tidak akan berhenti sehingga kamu tidak akan--tetapi buat masa kini, itulah perkara yang baik."
# why_paragraph_4: "Jika kamu mahu berasa ketagih terhadap sesuatu permainan komputer, jadilah ketagih kepada permainan ini dan jadilah seorang pakar dalam zaman teknologi terkini."
why_ending: "Dan ia adalah percuma! "
why_ending_url: "Mulalah bermain sekarang!"
# 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."
# 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"

View file

@ -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"

View file

@ -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 laddersthen 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"

View file

@ -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"

View file

@ -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"

View file

@ -66,12 +66,12 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
no_ie: "CodeCombat nie działa na Internet Explorer 9 lub starszym. Przepraszamy!"
no_mobile: "CodeCombat nie został zaprojektowany dla użądzeń przenośnych więc może nie działać!"
play: "Graj"
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
# old_browser_suffix: "You can try anyway, but it probably won't work."
# campaign: "Campaign"
# for_beginners: "For Beginners"
old_browser: "Wygląda na to, że twoja przeglądarka jest zbyt stara, by obsłużyć CodeCombat. Wybacz!"
old_browser_suffix: "Możesz spróbowac mimo tego, ale prawdopodobnie gra nie będzie działać."
campaign: "Kampania"
for_beginners: "Dla początkujących"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
for_developers: "Dla developerów"
play:
choose_your_level: "Wybierz poziom"
@ -88,7 +88,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
campaign_player_created_description: "... w których walczysz przeciwko dziełom <a href=\"/contribute#artisan\">Czarodziejów Rękodzielnictwa</a>"
level_difficulty: "Poziom trudności: "
play_as: "Graj jako "
# spectate: "Spectate"
spectate: "Oglądaj"
contact:
contact_us: "Kontakt z CodeCombat"
@ -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."
@ -539,16 +540,16 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
warmup: "Rozgrzewka"
# vs: "VS"
# multiplayer_launch:
# introducing_dungeon_arena: "Introducing Dungeon Arena"
# new_way: "March 17, 2014: The new way to compete with code."
# to_battle: "To Battle, Developers!"
# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here."
# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the laddersthen 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: "Oto Dungeon Arena"
new_way: "17. marca 2014: Nowy sposób, by współzawodniczyć dzięki programowaniu."
to_battle: "Do broni, developerzy!"
modern_day_sorcerer: "Wiesz, jak programować? Super. Jesteś współczesnym czarodziejem. Czy nie najwyższy czas, aby użyć swoich mocy, by dowodzić jednostkami w epickiej batalii? I nie mamy tutaj na myśli robotów."
arenas_are_here: "Areny wieloosobowych potyczek CodeCombat właśnie nastały."
ladder_explanation: "Wybierz swoich herosów, ulepsz swą armię ludzi lub ogrów i wespnij się po pokonanych Czarodziejach, by osiągnąć szczyty rankingów - wówczas, wyzwij swoich przyjaciół w naszych wspaniałych, asynchronicznych arenach programowania multiplayer. Jeśli czujesz w sobie moc twórczą, możesz nawet"
fork_our_arenas: "forkować nasze areny"
create_worlds: "i tworzyć swoje własne światy."
javascript_rusty: "JavaScript wyleciała ci z głowy? Nie martw się, czeka na ciebie"
tutorial: "samouczek"
new_to_programming: ". Jesteś nowy w świecie programowania? Zagraj w naszą kampanię dla początkujących, aby zyskać nowe umiejętności."
so_ready: "Już nie mogę się doczekać"

View file

@ -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"

View file

@ -113,7 +113,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
title: "Definições do Wizard"
customize_avatar: "Altera o teu Avatar"
clothes: "Roupas"
# trim: "Trim"
trim: "Faixa"
cloud: "Nuvem"
spell: "Feitiço"
boots: "Botas"
@ -191,7 +191,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
victory_ranking_game: "A submeter..."
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Jogar próximo nível"
victory_go_home: "Ir para a Home"
victory_go_home: "Ir para o Inicio"
victory_review: "Conta-nos mais!"
victory_hour_of_code_done: "É tudo?"
victory_hour_of_code_done_yes: "Sim, a minha Hora de Código chegou ao fim!"
@ -199,19 +199,19 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
multiplayer_link_description: "Dá este link a alguém para se juntar a ti."
multiplayer_hint_label: "Dica:"
multiplayer_hint: " Carrega no link para seleccionar tudp, depois pressiona ⌘-C ou Ctrl-C para copiar o link."
multiplayer_coming_soon: "Mais funcionalidades de multiplayer hão de vir!"
multiplayer_coming_soon: "Mais funcionalidades de multiplayer brevemente!"
guide_title: "Guia"
tome_minion_spells: "Feitiços dos teus Minions"
tome_read_only_spells: "Feitiços Read-Only"
tome_read_only_spells: "Feitiços apenas de leitura"
tome_other_units: "Outras Unidades"
# tome_cast_button_castable: "Cast Spell"
# tome_cast_button_casting: "Casting"
tome_cast_button_casting: "A lançar"
tome_cast_button_cast: "Lançar Feitiço"
# tome_autocast_delay: "Autocast Delay"
tome_select_spell: "Escolhe um Feitiço"
tome_select_a_thang: "Escolhe Alguém para "
tome_available_spells: "Feitiços disponíveis"
hud_continue: "Continuar (pressiona shift-space)"
hud_continue: "Continuar (shift-espaço)"
spell_saved: "Feitiço Guardado"
skip_tutorial: "Saltar (esc)"
# editor_config: "Editor Config"
@ -275,12 +275,12 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
create_system_title: "Criar novo Sistema"
new_component_title: "Criar novo Componente"
new_component_field_system: "Sistema"
# 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: "Criar um Novo Artigo"
new_thang_title: "Criar um Novo tipo the Thang"
new_level_title: "Criar um Novo Nível"
article_search_title: "Procura Artigos Aqui"
thang_search_title: "Procura Tipos de Thang Aqui"
level_search_title: "Procura Níveis aqui"
article:
edit_btn_preview: "Visualizar"
@ -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"

View file

@ -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"

View file

@ -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."

View file

@ -315,26 +315,27 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
hard: "Сложно"
about:
who_is_codecombat: "Кто есть CodeCombat?"
who_is_codecombat: "Кто стоит за CodeCombat?"
why_codecombat: "Почему CodeCombat?"
who_description_prefix: "вместе начали CodeCombat in 2013. Также мы создали "
who_description_suffix: "в 2008, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами."
who_description_prefix: "вместе начали CodeCombat в 2013 году. Также мы создали "
who_description_suffix: "в 2008 году, вывели его на первую строчку среди web и iOS приложений для обучения письму китайскими и японскими иероглифами."
who_description_ending: "Теперь пришло время научить людей написанию кода."
why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед по дому, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"наскучивало.\" Каждую неделю другой друг начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решали со Skritter: люди получают навык через медленные, интенсивные уроки, когда то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить."
why_paragraph_1: "При создании Skritter, Джордж не знал, как программировать и постоянно расстраивался из-за того, что не мог реализовать свои идеи. После этого он пытался учиться, но уроки были слишком медленными. Его сосед, желая переквалифицироваться и прекратить преподавать, пробовал Codecademy, но \"потерял интерес.\" Каждую неделю очередной товарищ начинал Codecademy, затем бросал. Мы поняли, что это была та же проблема, которую мы решили со Skritter: люди получают навык через медленные, интенсивные уроки, в то время как то, что им нужно - быстрая, обширная практика. Мы знаем, как это исправить."
why_paragraph_2: "Нужно научиться программировать? Вам не нужны уроки. Вам нужно написать много кода и прекрасно провести время, делая это."
why_paragraph_3_prefix: "Вот, о чём программирование. Это должно быть весело. Не вроде"
why_paragraph_3_prefix: "Вот где программирование. Это должно быть весело. Не забавно, вроде"
why_paragraph_3_italic: "вау, значок,"
why_paragraph_3_center: "а"
why_paragraph_3_italic_caps: "НЕТ, МАМ, Я ДОЛЖЕН ПРОЙТИ УРОВЕНЬ!"
why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не сможете остановиться--в данном случае, это хорошо."
why_paragraph_3_suffix: "Вот, почему CodeCombat - мультиплеерная игра, а не курс уроков в игровой форме. Мы не остановимся, пока вы не потеряете голову - в данном случае, это хорошо."
why_paragraph_4: "Если вы собираетесь увлечься какой-нибудь игрой, увлекитесь этой и станьте одним из волшебников века информационных технологий."
why_ending: "Эй, это бесплатно. "
why_ending: "И да, это бесплатно. "
why_ending_url: "Начни волшебство сейчас!"
george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер, и чемпион начинающих программистов во всём мире."
scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник, и мастер финансов. Скотт является разумным."
nick_description: "Маг программирования, эксцентрично мотивированный волшебник, и экспериментатор вверх ногами. Ник может делать всё и хочет построить CodeCombat."
george_description: "Генеральный директор, бизнес-парень, веб-дизайнер, геймдизайнер и чемпион начинающих программистов во всём мире."
scott_description: "Экстраординарный программист, архитектор программного обеспечения, кухонный волшебник и мастер финансов. Скотт рассудителен."
nick_description: "Маг программирования, мудрец эксцентричного мотивирования и чудаковатый экспериментатор. Ник может всё и хочет построить CodeCombat."
jeremy_description: "Маг клиентской поддержки, юзабилити-тестер, и организатор сообщества; вы наверняка уже говорили с Джереми."
michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы онлайн."
michael_description: "Программист, сисадмин и непризнанный технический гений, Михаэль является лицом, поддерживающим наши серверы в доступности."
glen_description: "Программист и страстный разработчик игр, с мотивацией сделать этот мир лучше путём разработки действительно значащих вещей. Слова \"невозможно\" нет в его словаре. Освоение новых навыков его развлечение!"
legal:
page_title: "Юридическая информация"
@ -342,26 +343,26 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
opensource_description_prefix: "Посмотрите "
github_url: "наш GitHub"
opensource_description_center: "и посодействуйте, если вам понравилось! CodeCombat построен на десятках проектов с открытым кодом, и мы любим их. Загляните в "
archmage_wiki_url: "нашу вики Архимагов"
archmage_wiki_url: "наш вики-портал для Архимагов"
opensource_description_suffix: ", чтобы увидеть список программного обеспечения, делающего игру возможной."
practices_title: "Лучшие уважаемые практики"
practices_description: "Это наши обещания тебе, игрок, менее юридическим языком."
practices_title: "Почтительные лучшие практики"
practices_description: "Это наши обещания тебе, игроку, менее юридическим языком."
privacy_title: "Конфиденциальность"
privacy_description: "Мы не будем продавать какой-либо личной информации. Мы намерены заработать деньги с помощью рекрутинга в конечном счёте, но будьте уверены, мы не будем распространять вашу личную информацию заинтересованным компаниям без вашего явного согласия."
security_title: "Безопасность"
security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт в свободном доступе для всех для пересмотра и совершенствования систем безопасности."
security_description: "Мы стремимся сохранить вашу личную информацию в безопасности. Как проект с открытым исходным кодом, наш сайт открыт для всех в вопросах пересмотра и совершенствования систем безопасности."
email_title: "Email"
email_description_prefix: "Мы не наводним вас спамом. Через"
email_settings_url: "ваши email настройки"
email_description_suffix: "или через ссылки в email-ах, которые мы отправляем, вы можете изменить предпочтения и легко отписаться в любой момент."
cost_title: "Стоимость"
cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, так, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя"
cost_description: "В настоящее время, CodeCombat 100% бесплатен! Одной из наших главных целей является сохранить его таким, чтобы как можно больше людей могли играть, независимо от места в жизни. Если небо потемнеет, мы, возможно, введём подписки, возможно, только на некоторый контент, но нам не хотелось бы. Если повезёт, мы сможем поддерживать компанию, используя"
recruitment_title: "Рекрутинг"
recruitment_description_prefix: "Здесь, в CodeCombat, вы собираетесь стать могущественным волшебником не только в игре, но и в реальной жизни."
url_hire_programmers: "Никто не может нанять программистов достаточно быстро"
recruitment_description_suffix: "поэтому, как только вы улучшите свои навыки и будете согласны, мы начнём демонстрировать ваши лучшие программистские достижения тысячам работодателей, пускающих слюни на возможность нанять вас. Они платят нам немного, они платят вам"
recruitment_description_italic: "много"
recruitment_description_ending: ", сайт остаётся бесплатным и все счастливы. Таков план."
recruitment_description_ending: "сайт остаётся бесплатным и все счастливы. Таков план."
copyrights_title: "Авторские права и лицензии"
contributor_title: "Лицензионное соглашение соавторов"
contributor_description_prefix: "Все вклады, как на сайте, так и на нашем репозитории GitHub, подпадают под наше"
@ -394,7 +395,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
rights_media: "Медиа (звуки, музыка) и любой другой творческий контент, созданный специально для этого уровня и не являющийся общедоступным при создании уровней."
rights_clarification: "Чтобы уточнить, всё, что становится доступным в Редакторе уровней для целей создания уровней под CC, в то время как контент, созданный с помощью Редактора уровней или загруженный в ходе создания уровней - нет."
nutshell_title: "В двух словах"
nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если это то, что в конечном итоге происходит."
nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если до этого дойдёт."
canonical: "Английская версия этого документа является определяющей и канонической. Если есть какие-либо расхождения между переводами, документ на английском имеет приоритет."
contribute:

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -2,15 +2,15 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
common:
loading: "Laddar..."
saving: "Sparar..."
# sending: "Sending..."
sending: "Skickar..."
cancel: "Avbryt"
# save: "Save"
save: "Spara"
delay_1_sec: "1 sekund"
delay_3_sec: "3 sekunder"
delay_5_sec: "5 sekunder"
manual: "Manuellt"
# fork: "Fork"
# play: "Play"
fork: "Förgrena"
play: "Spela"
modal:
close: "Stäng"
@ -31,47 +31,47 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
about: "Om oss"
contact: "Kontakt"
twitter_follow: "Följ oss på Twitter"
# employers: "Employers"
employers: "Arbetsgivare"
# 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: "Spara ny version"
new_major_version: "Ny betydande version"
cla_prefix: "För att spara ändringar måste du först godkänna vår"
# cla_url: "CLA"
# cla_suffix: "."
# cla_agree: "I AGREE"
cla_agree: "JAG GODKÄNNER"
login:
sign_up: "Skapa Konto"
log_in: "Logga In"
log_out: "Logga Ut"
sign_up: "Skapa konto"
log_in: "Logga in"
log_out: "Logga ut"
recover: "glömt lösenord"
# recover:
# recover_account_title: "Recover Account"
# send_password: "Send Recovery Password"
recover:
recover_account_title: "Återskapa ditt konto"
send_password: "Skicka återskapningslösenord"
signup:
# create_account_title: "Create Account to Save Progress"
create_account_title: "Skapa ett konto för att spara dina framsteg"
description: "Det är gratis. Vi behöver bara lite information och sen är du redo att börja:"
email_announcements: "Mottag nyheter via e-post"
coppa: "13+ eller ej i USA"
coppa_why: "(Varför?)"
creating: "Skapar Konto..."
sign_up: "Skapa Konto"
coppa_why: " (Varför?)"
creating: "Skapar konto..."
sign_up: "Skapa konto"
log_in: "logga in med lösenord"
home:
slogan: "Lär dig att koda Javascript genom att spela ett spel."
no_ie: "CodeCombat fungerar tyvärr inte i IE8 eller äldre."
no_mobile: "CodeCombat är inte designat för mobila enhter och kanske inte fungerar!"
no_mobile: "CodeCombat är inte designat för mobila enhter och fungerar kanske inte!"
play: "Spela"
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
# old_browser_suffix: "You can try anyway, but it probably won't work."
# campaign: "Campaign"
# for_beginners: "For Beginners"
# multiplayer: "Multiplayer"
# for_developers: "For Developers"
old_browser: "Oj då, din webbläsare är för gammal för att köra CodeCombat. Förlåt!"
old_browser_suffix: "Du kan försöka ändå, men det kommer nog inte fungera."
campaign: "Kampanj"
for_beginners: "För nybörjare"
multiplayer: "Flera spelare"
for_developers: "För utvecklare"
play:
choose_your_level: "Välj din nivå"
@ -79,24 +79,24 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
adventurer_forum: "Äventyrarforumet"
adventurer_suffix: "."
campaign_beginner: "Nybörjarkampanj"
# campaign_beginner_description: "... in which you learn the wizardry of programming."
campaign_dev: "Slumpmässig Svårare Nivå"
campaign_beginner_description: "... i vilken du lär dig programmerandets magi."
campaign_dev: "Slumpad svårare nivå"
campaign_dev_description: "... där du lär dig att hantera gränssnittet medan du gör något lite svårare."
campaign_multiplayer: "Flerspelararenor"
# campaign_multiplayer_description: "... in which you code head-to-head against other players."
campaign_multiplayer_description: "... i vilken du tävlar i kodande mot andra spelare"
campaign_player_created: "Spelarskapade"
# campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
campaign_player_created_description: "... i vilken du tävlar mot kreativiteten hos andra <a href=\"/contribute#artisan\">Hantverkare</a>."
level_difficulty: "Svårighetsgrad: "
# play_as: "Play As "
# spectate: "Spectate"
play_as: "Spela som "
spectate: "Titta på"
contact:
contact_us: "Kontakta CodeCombat"
welcome: "Kul att höra från dig! Använd formuläret för att skicka e-post till oss."
welcome: "Kul att höra från dig! Använd formuläret för att skicka e-post till oss. "
contribute_prefix: "Om du är intresserad av att bidra, koll in vår "
contribute_page: "bidragarsida"
contribute_suffix: "!"
# forum_prefix: "For anything public, please try "
forum_prefix: "För någonting offentligt, var vänlig testa "
forum_page: "vårt forum"
forum_suffix: " istället."
send: "Skicka Feedback"
@ -109,55 +109,55 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
learn_more: "Läs mer om att vara en Diplomat"
subscribe_as_diplomat: "Registrera dig som 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: "Trollkarlsinställningar"
customize_avatar: "Skräddarsy din avatar"
clothes: "Kläder"
trim: "Dekorationer"
cloud: "Moln"
spell: "Trollformel"
boots: "Stövlar"
hue: "Nyans"
saturation: "Mättnad"
lightness: "Ljusstyrka"
account_settings:
title: "Kontoinställningar"
not_logged_in: "Logga in eller skapa ett konto för att ändra dina inställningar."
autosave: "Ändringar Sparas Automatiskt"
autosave: "Ändringar sparas automatiskt"
me_tab: "Jag"
picture_tab: "Profilbild"
wizard_tab: "Trollkarl"
password_tab: "Lösenord"
emails_tab: "E-postadresser"
# admin: "Admin"
gravatar_select: "Välj ett Gravatar foto att använda"
gravatar_add_photos: "Lägg till miniatyrbilder och fotografier i ett Gravatar konto kopplat till din mail för att välja profilbild."
gravatar_add_more_photos: "Lägg till mer fotografier till i ditt Gravatar konto för att använda dem här."
wizard_color: "Trollkarlens Klädfärg"
new_password: "Nytt Lösenord"
admin: "Administratör"
gravatar_select: "Välj ett Gravatar-foto att använda"
gravatar_add_photos: "Lägg till miniatyrbilder och fotografier i ett Gravatar-konto kopplat till din e-postadress för att välja profilbild."
gravatar_add_more_photos: "Lägg till mer fotografier till i ditt Gravatar-konto för att använda dem här."
wizard_color: "Trollkarlens klädfärg"
new_password: "Nytt lösenord"
new_password_verify: "Verifiera"
email_subscriptions: "E-post Prenumerationer"
email_subscriptions: "E-postsprenumerationer"
email_announcements: "Meddelanden"
# email_notifications: "Notifications"
# email_notifications_description: "Get periodic notifications for your account."
email_notifications: "Påminnelser"
email_notifications_description: "Få periodiska påminnelser för ditt konto."
email_announcements_description: "Få e-post med de senaste nyheterna och utvecklingen på CodeCombat."
# contributor_emails: "Contributor Class Emails"
contributor_emails: "E-post för bidragare"
contribute_prefix: "Vi söker mer folk som vill var med och hjälpa till! Kolla in "
contribute_page: "bidragarsida"
contribute_suffix: " tför att få veta mer."
email_toggle: "Växla Alla"
error_saving: "Ett Fel Uppstod Vid Sparningen"
saved: "Ändringar Sparade"
contribute_page: " bidragarsidan "
contribute_suffix: " för att få veta mer."
email_toggle: "Växla alla"
error_saving: "Ett fel uppstod när ändringarna skulle sparas"
saved: "Ändringar sparade"
password_mismatch: "De angivna lösenorden stämmer inte överens."
account_profile:
edit_settings: "Ändra Inställningar"
edit_settings: "Ändra inställningar"
profile_for_prefix: "Profil för "
# profile_for_suffix: ""
profile: "Profil"
user_not_found: "Användaren du söker verkar inte finnas. Kolla adressen?"
gravatar_not_found_mine: "Vi kunde inte hitta en profil associerad med:"
user_not_found: "Användaren du söker verkar inte finnas. Stämmer adressen?"
gravatar_not_found_mine: "Vi kunde inte hitta en profil associerad med: "
# gravatar_not_found_email_suffix: "."
gravatar_signup_prefix: "Registrera dig på "
gravatar_signup_suffix: " för att komma igång!"
@ -165,13 +165,13 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
gravatar_contact: "Kontakt"
gravatar_websites: "Hemsidor"
# gravatar_accounts: "As Seen On"
gravatar_profile_link: "Hela Gravatar profilen"
gravatar_profile_link: "Hela Gravatar-profilen"
play_level:
level_load_error: "Nivån kunde inte laddas: "
done: "Klar"
grid: "Rutnät"
customize_wizard: "Finjustera Trollkarl"
customize_wizard: "Skräddarsy trollkarl"
home: "Hem"
guide: "Guide"
multiplayer: "Flerspelareläge"
@ -185,370 +185,371 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# victory_title_prefix: ""
victory_title_suffix: " Genomförd"
victory_sign_up: "Registrera dig för att få uppdateringar"
victory_sign_up_poke: "Vill du ha de senaste nyheterna vi e-post? Skapa ett gratiskonto så håller vi dig informerad!"
victory_sign_up_poke: "Vill du ha de senaste nyheterna via e-post? Skapa ett gratiskonto så håller vi dig informerad!"
victory_rate_the_level: "Betygsätt nivån: "
# victory_rank_my_game: "Rank My Game"
# victory_ranking_game: "Submitting..."
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Spela Nästa Nivå"
victory_go_home: "Hem"
victory_rank_my_game: "Ranka min match"
victory_ranking_game: "Skickar..."
victory_return_to_ladder: "Gå tillbaka till stegen"
victory_play_next_level: "Spela nästa nivå"
victory_go_home: "hem"
victory_review: "Berätta mer!"
victory_hour_of_code_done: "Är Du Klar?"
victory_hour_of_code_done: "Är du klar?"
victory_hour_of_code_done_yes: "Ja, jag är klar med min Hour of Code!"
multiplayer_title: "Flerspelarinställningar"
multiplayer_link_description: "Dela den här länken med alla som du vill spela med."
multiplayer_hint_label: "Tips:"
multiplayer_hint: " Klicka på länken för att välja allt, tryck sedan på Cmd-C eller Ctrl-C för att kopiera länken."
multiplayer_coming_soon: "Mer flerspelarlägen kommer!"
multiplayer_coming_soon: "Fler flerspelarlägen kommer!"
guide_title: "Guide"
tome_minion_spells: "Dina Soldaters Förmågor"
tome_read_only_spells: "Skrivskyddade Förmågor"
tome_other_units: "Andra Enheter"
# tome_cast_button_castable: "Cast Spell"
# tome_cast_button_casting: "Casting"
# tome_cast_button_cast: "Spell Cast"
# tome_autocast_delay: "Autocast Delay"
tome_select_spell: "Välj en Förmåga"
tome_select_a_thang: "Välj Någon för "
tome_available_spells: "Tillgängliga Förmågor"
# hud_continue: "Continue (shift+space)"
# 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."
tome_minion_spells: "Dina soldaters förmågor"
tome_read_only_spells: "Skrivskyddade förmågor"
tome_other_units: "Andra enheter"
tome_cast_button_castable: "Använd besvärjelse"
tome_cast_button_casting: "Besvärjer"
tome_cast_button_cast: "Besvärjelse använd"
tome_autocast_delay: "Autoanvändningsfördröjning"
tome_select_spell: "Välj en förmåga"
tome_select_a_thang: "Välj någon för "
tome_available_spells: "Tillgängliga förmågor"
hud_continue: "Fortsätt (skift+mellanslag)"
spell_saved: "Besvärjelse sparad"
skip_tutorial: "Hoppa över (esc)"
editor_config: "Ställ in redigerare"
editor_config_title: "Redigerarinställningar"
editor_config_keybindings_label: "Kortkommandon"
editor_config_keybindings_default: "Standard (Ace)"
editor_config_keybindings_description: "Lägger till ytterligare kortkommandon kända från vanliga redigerare."
editor_config_invisibles_label: "Visa osynliga"
editor_config_invisibles_description: "Visar osynliga tecken såsom mellanrum och nyradstecken."
editor_config_indentguides_label: "Visa indenteringsguider"
editor_config_indentguides_description: "Visar vertikala linjer för att kunna se indentering bättre."
editor_config_behaviors_label: "Smart beteende"
editor_config_behaviors_description: "Avsluta automatiskt hakparenteser, parenteser, och citat."
# admin:
# av_title: "Admin Views"
# av_entities_sub_title: "Entities"
# av_entities_users_url: "Users"
# av_entities_active_instances_url: "Active Instances"
# av_other_sub_title: "Other"
# av_other_debug_base_url: "Base (for debugging base.jade)"
# u_title: "User List"
# lg_title: "Latest Games"
admin:
av_title: "Administratörsvyer"
av_entities_sub_title: "Enheter"
av_entities_users_url: "Användare"
av_entities_active_instances_url: "Aktiva instanser"
av_other_sub_title: "Övrigt"
av_other_debug_base_url: "Base (för avlusning av base.jade)"
u_title: "Användarlista"
lg_title: "Senaste matcher"
# editor:
# main_title: "CodeCombat Editors"
# main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!"
# article_title: "Article Editor"
# article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns."
# thang_title: "Thang Editor"
# thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics."
# level_title: "Level Editor"
# 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: "contact us!"
# hipchat_prefix: "You can also find us in our"
# hipchat_url: "HipChat room."
# revert: "Revert"
# revert_models: "Revert Models"
# level_some_options: "Some Options?"
# level_tab_thangs: "Thangs"
# level_tab_scripts: "Scripts"
# level_tab_settings: "Settings"
# level_tab_components: "Components"
# level_tab_systems: "Systems"
# level_tab_thangs_title: "Current Thangs"
# level_tab_thangs_conditions: "Starting Conditions"
# level_tab_thangs_add: "Add Thangs"
# level_settings_title: "Settings"
# level_component_tab_title: "Current Components"
# level_component_btn_new: "Create New Component"
# level_systems_tab_title: "Current Systems"
# level_systems_btn_new: "Create New System"
# level_systems_btn_add: "Add System"
# level_components_title: "Back to All Thangs"
# level_components_type: "Type"
# level_component_edit_title: "Edit Component"
# level_component_config_schema: "Config Schema"
# level_component_settings: "Settings"
# level_system_edit_title: "Edit System"
# create_system_title: "Create New System"
# new_component_title: "Create New Component"
# new_component_field_system: "System"
# 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"
editor:
main_title: "CodeCombatredigerare"
main_description: "Bygg dina egna banor, kampanjer, enheter och undervisningsinnehåll. Vi tillhandahåller alla verktyg du behöver!"
article_title: "Artikelredigerare"
article_description: "Skriv artiklar som ger spelare en överblick över programmeringskoncept som kan användas i många olika nivåer och kampanjer."
thang_title: "Enhetsredigerare"
thang_description: "Bygg enheter, genom att definerade deras förinställda logik, grafik och ljud. Stöder för närvarande endast import av Flashexporterad vektorgrafik."
level_title: "Nivåredigerare"
level_description: "Innehåller verktygen för att skripta, ladda upp ljud och konstruera skräddarsydd logik för att skapa alla möjliga sorters nivåer. Allting vi själva använder!"
security_notice: "Många huvudfunktioner i dessa redigerare är för närvarande inte aktiverade från början. Allt eftersom vi ökar säkerheten i dessa system, okmmer de att bli allmänt tillgängliga. Om du skulle vilja använda dessa funktioner tidigare, "
contact_us: "kontakta oss!"
hipchat_prefix: "Du kan också hitta oss i vårt"
hipchat_url: "HipChat-rum."
revert: "Återställ"
revert_models: "Återställ modeller"
level_some_options: "Några inställningar?"
level_tab_thangs: "Enheter"
level_tab_scripts: "Skript"
level_tab_settings: "Inställningar"
level_tab_components: "Komponenter"
level_tab_systems: "System"
level_tab_thangs_title: "Nuvarande enheter"
level_tab_thangs_conditions: "Startvillkor"
level_tab_thangs_add: "Lägg till enheter"
level_settings_title: "Inställningar"
level_component_tab_title: "Nuvarande komponenter"
level_component_btn_new: "Skapa ny komponent"
level_systems_tab_title: "Nuvarande system"
level_systems_btn_new: "Skapa nytt system"
level_systems_btn_add: "Lägg till system"
level_components_title: "Tillbaka till alla enheter"
level_components_type: "Typ"
level_component_edit_title: "Redigera komponent"
level_component_config_schema: "Konfigurera schema"
level_component_settings: "Inställningar"
level_system_edit_title: "Redigera system"
create_system_title: "Skapa nytt system"
new_component_title: "Skapa ny komponent"
new_component_field_system: "System"
new_article_title: "Skapa ny artikel"
new_thang_title: "Skapa ny enhetstyp"
new_level_title: "Skapa ny nivå"
article_search_title: "Sök artiklar här"
thang_search_title: "Sök enhetstyper här"
level_search_title: "Sök nivåer här"
# article:
# edit_btn_preview: "Preview"
# edit_article_title: "Edit Article"
article:
edit_btn_preview: "Förhandsgranska"
edit_article_title: "Redigera artikel"
# general:
# and: "and"
# name: "Name"
# body: "Body"
# version: "Version"
# commit_msg: "Commit Message"
# history: "History"
# version_history_for: "Version History for: "
# result: "Result"
# results: "Results"
# description: "Description"
# or: "or"
# email: "Email"
# password: "Password"
# 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"
general:
and: "och"
name: "Namn"
body: "Kropp"
version: "Version"
commit_msg: "Förbindelsemeddelande"
history: "Historik"
version_history_for: "Versionshistorik för: "
result: "Resultat"
results: "Resultat"
description: "Beskrivning"
or: "eller"
email: "E-post"
password: "Lösenord"
message: "Meddelande"
code: "Kod"
ladder: "Stege"
when: "När"
opponent: "Fiende"
rank: "Rank"
score: "Poäng"
win: "Vinst"
loss: "Förlust"
tie: "Oavgjord"
easy: "Lätt"
medium: "Medium"
hard: "Svår"
# 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: "Vilka är CodeCombat?"
why_codecombat: "Varför CodeCombat?"
who_description_prefix: "startade tillsammans CodeCombat 2013. Vi skapade också "
who_description_suffix: "i 2008, och fick det att växa till #1 webb- och iOS-applikation för att lära sig skriva kinesiska och japanska tecken."
who_description_ending: "Nu är det dags att lära folk skriva kod."
why_paragraph_1: "När han gjorde Skritter, visste inte George hur man programmerar och var ständigt frustrerad av sin oförmåga att implementera sina idéer. Efteråt försökte han lära sig, men lektionerna var för långsama. Hans husgranne, som ville lära sig något nytt och sluta undervisa, försökte med Codecademy men \"tröttnade\". Varje vecka började en annan vän med Codecademy, för att sedan sluta. Vi insåg att det var samma problem vi hade löst med Skritter: folk lär sig en färdighet via långsamma, intensiva lektioner när det de behöver är snabb, omfattande övning. Vi vet hur man fixar det"
why_paragraph_2: "Behöver du lära dig att koda? Du behöver inte lektioner. Du behöver skriva mycket kod och ha roligt medan du gör det."
why_paragraph_3_prefix: "Det är vad programmering handlar om. Det måste vara roligt. Inte roligt som i"
why_paragraph_3_italic: "hurra, en medalj"
why_paragraph_3_center: "utan roligt som i"
why_paragraph_3_italic_caps: "NEJ MAMMA JAG MÅSTE BLI KLAR MED DEN HÄR NIVÅN"
why_paragraph_3_suffix: "Därför är CodeCombat ett flerspelarspel, inte en spelifierad kurs. Vi slutar inte förrän du inte kan sluta - men den här gången är det en bra sak."
why_paragraph_4: "Om du tänker bli beroende av något spel, bli beroende av det här och bli en av teknikålderns trollkarlar."
why_ending: "Och du, det är gratis. "
why_ending_url: "Bli en trollkarl nu!"
george_description: "VD, affärskille, webbdesignare, speldesignare, och förkämpe för förstagångsprogrammerare överallt."
scott_description: "Extraordinär programmerare, mjukvaruarkitekt, kökstrollkarl och finansmästare. Scott är den den förståndiga."
nick_description: "Programmeringstrollkarl, excentrisk motivationsmagiker och upp-och-ner-experimenterare. Nick kan göra vad som helst och väljer att bygga CodeCombat."
jeremy_description: "Kundsupportsmagiker, användbarhetstestare och gemenskapsorganisatör; du har förmodligen redan pratat med Jeremy."
michael_description: "Programmerare, sys-admin, och studerande tekniskt underbarn, Michael är personen som håller våra servrar online."
glen_description: "Programmerare och passionerad spelutvecklare, med motivationen att göra denna värld till ett bättre ställe genom att utveckla saker som spelar roll. Ordet omöjligt finns inte i hans ordbok. Att lära sig nya färdigheter är hans lycka."
# legal:
# page_title: "Legal"
# opensource_intro: "CodeCombat is free to play and completely open source."
# opensource_description_prefix: "Check out "
# github_url: "our GitHub"
# opensource_description_center: "and help out if you like! CodeCombat is built on dozens of open source projects, and we love them. See "
# archmage_wiki_url: "our Archmage wiki"
# opensource_description_suffix: "for a list of the software that makes this game possible."
# practices_title: "Respectful Best Practices"
# practices_description: "These are our promises to you, the player, in slightly less legalese."
# privacy_title: "Privacy"
# privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent."
# security_title: "Security"
# security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems."
# email_title: "Email"
# email_description_prefix: "We will not inundate you with spam. Through"
# email_settings_url: "your email settings"
# email_description_suffix: "or through links in the emails we send, you can change your preferences and easily unsubscribe at any time."
# cost_title: "Cost"
# cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:"
# recruitment_title: "Recruitment"
# recruitment_description_prefix: "Here on CodeCombat, you're going to become a powerful wizardnot just in the game, but also in real life."
# url_hire_programmers: "No one can hire programmers fast enough"
# recruitment_description_suffix: "so once you've sharpened your skills and if you agree, we will demo your best coding accomplishments to the thousands of employers who are drooling for the chance to hire you. They pay us a little, they pay you"
# recruitment_description_italic: "a lot"
# recruitment_description_ending: "the site remains free and everybody's happy. That's the plan."
# copyrights_title: "Copyrights and Licenses"
# contributor_title: "Contributor License Agreement"
# contributor_description_prefix: "All contributions, both on the site and on our GitHub repository, are subject to our"
# cla_url: "CLA"
# contributor_description_suffix: "to which you should agree before contributing."
# code_title: "Code - MIT"
# code_description_prefix: "All code owned by CodeCombat or hosted on codecombat.com, both in the GitHub repository or in the codecombat.com database, is licensed under the"
# mit_license_url: "MIT license"
# code_description_suffix: "This includes all code in Systems and Components that are made available by CodeCombat for the purpose of creating levels."
# art_title: "Art/Music - Creative Commons "
# art_description_prefix: "All common content is available under the"
# cc_license_url: "Creative Commons Attribution 4.0 International License"
# art_description_suffix: "Common content is anything made generally available by CodeCombat for the purpose of creating Levels. This includes:"
# art_music: "Music"
# art_sound: "Sound"
# art_artwork: "Artwork"
# art_sprites: "Sprites"
# art_other: "Any and all other non-code creative works that are made available when creating Levels."
# art_access: "Currently there is no universal, easy system for fetching these assets. In general, fetch them from the URLs as used by the site, contact us for assistance, or help us in extending the site to make these assets more easily accessible."
# art_paragraph_1: "For attribution, please name and link to codecombat.com near where the source is used or where appropriate for the medium. For example:"
# use_list_1: "If used in a movie or another game, include codecombat.com in the credits."
# use_list_2: "If used on a website, include a link near the usage, for example underneath an image, or in a general attributions page where you might also mention other Creative Commons works and open source software being used on the site. Something that's already clearly referencing CodeCombat, such as a blog post mentioning CodeCombat, does not need some separate attribution."
# art_paragraph_2: "If the content being used is created not by CodeCombat but instead by a user of codecombat.com, attribute them instead, and follow attribution directions provided in that resource's description if there are any."
# rights_title: "Rights Reserved"
# rights_desc: "All rights are reserved for Levels themselves. This includes"
# rights_scripts: "Scripts"
# rights_unit: "Unit configuration"
# rights_description: "Description"
# rights_writings: "Writings"
# rights_media: "Media (sounds, music) and any other creative content made specifically for that Level and not made generally available when creating Levels."
# rights_clarification: "To clarify, anything that is made available in the Level Editor for the purpose of making levels is under CC, whereas the content created with the Level Editor or uploaded in the course of creation of Levels is not."
# nutshell_title: "In a Nutshell"
# nutshell_description: "Any resources we provide in the Level Editor are free to use as you like for creating Levels. But we reserve the right to restrict distribution of the Levels themselves (that are created on codecombat.com) so that they may be charged for in the future, if that's what ends up happening."
# canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence."
legal:
page_title: "Juridik"
opensource_intro: "CodeCombat är gratis att spela och helt öppen programvara."
opensource_description_prefix: "Spana in "
github_url: "r GitHub"
opensource_description_center: " och hjälp till om du vill! CodeCombat är byggt på dussintals projekt med öppen källkod, och vi älskar dem. Se "
archmage_wiki_url: "vår Huvudmagiker-wiki"
opensource_description_suffix: "för en lista över mjukvaran som gör detta spel möjligt."
practices_title: "Respektfulla \"best practices\""
practices_description: "Dessa är våra löften till dig, spelaren, på lite mindre juristspråk."
privacy_title: "Integritet"
privacy_description: "Vi kommer inte att sälja någon av din personliga information. Vi har för avsikt att tjäna pengar genom rekrytering så småningom, men var så säker på att vi inte kommer att distribuera din personliga information till intresserade företag utan ditt explicita samtycke."
security_title: "Säkerhet"
security_description: "Vi strävar efter att hålla din personliga information säker. Eftersom vår källkod är öppen är vår det fritt fram för vem som helst att granska och förbättra våra säkerhetssystem."
email_title: "Email"
email_description_prefix: "Vi kommer inte att översvämma dig med spam. Genom "
email_settings_url: "dina email-inställningar"
email_description_suffix: "eller genom länkar i mailen vi skickar kan du ändra dina inställningar och lätt avprenumerera när som helst."
cost_title: "Kostnad"
cost_description: "För närvarande är CodeCombat 100 % gratis! Ett av våra främsta mål är att behålla det så, så att så många som möjligt kan spela, oavsett plats i livet. Om himlen mörknar, kanske vi behöver ta betalt för prenumerationer eller något innehåll, men helst slipper vi det. Med lite tur lyckas vi hålla liv i företag med:"
recruitment_title: "Rekrytering"
recruitment_description_prefix: "Här på CodeCombat kommer du att bli en mäktig trollkarl - inte bara i spelet, utan också i verkliga livet."
url_hire_programmers: "Ingen kan anställa programmerare tillräckligt snabbt"
recruitment_description_suffix: "så när du har vässat dina kunskaper, och om du godkänner, kommer vi att demonstrera dina största kodbedrifter för de tusentals arbetsgivare som dreglar över chansen att anställa dig. De betalar oss lite, de betalar dig"
recruitment_description_italic: "mycket"
recruitment_description_ending: "sajten fortsätter vara gratis och alla är nöjda. Det är planen."
copyrights_title: "Upphovsrätt och licenser"
contributor_title: "Överenskommelse för bidragarlicens"
contributor_description_prefix: "Alla bidrag, både på sajten och på vårt GitHub-repo, faller under vår"
cla_url: "CLA"
contributor_description_suffix: ", som du borde godkänna innan du börjar bidra."
code_title: "Kod - MIT"
code_description_prefix: "All kod som ägs av CodeCombat eller som finns på codecombat.com, både i GitHub-repot och i codecombat.com-databasen, är licensierad under"
mit_license_url: "MIT license"
code_description_suffix: "Detta inkluderar all kod i system och komponenter som gjorts tillgänglig för CodeCombat i syftet att skapa nivåer."
art_title: "Konst/Musik - Creative Commons "
art_description_prefix: "Allt gemensamt innehåll är tillgängligt under"
cc_license_url: "Creative Commons Erkännande 4.0 Internationell-licensen"
art_description_suffix: "Gemensamt innehåll är vad som helst som gjorts allmänt tillgängligt för CodeCombat i syfte att skapa nivåer. Detta inkluderar:"
art_music: "Musik"
art_sound: "Ljud"
art_artwork: "Illustrationer"
art_sprites: "Sprites"
art_other: "Allt (icke-kod) kreativt arbete som görs tillgängliga när nivåer skapas."
art_access: "För tillfället finns det inget universellt, enkelt system för att hämta dessa tillgångar. Allmänt gäller: hämta dem från URL:erna som sajten använder, kontakta oss för hjälp, eller hjälp oss att utöka sajten för att göra dessa tillgångar mer lättillgängliga."
art_paragraph_1: "För tillskrivning, var vänlig namnge och länka till codecombat.com i närheten av var källan används eller där det är passande för mediet. Till exempel:"
use_list_1: "Om det används i en film eller ett annat spel, inkludera codecombat.com i eftertexterna."
use_list_2: "Om det används på en webbplats, inkludera en länk nära användandet, till exempel under en bild eller i en allmän tilldelningssida där du också kan nämna andra Create Commons-resurser och öppen programvara som används på webbplatsen. Någonting som redan tydligt refererar till CodeCombat, exempelvis en bloggpost som nämner CodeCombat, behöver ingen separat tillskrivning."
art_paragraph_2: "Om innehållet som används inte är skapat av CodeCombat utan istället av en användare av codecombat.com, tillskriv dem istället, och följ tillskrivningsinstruktioner som ges i den resursens beskrivning om det finns några."
rights_title: "Rättigheter förbehålls"
rights_desc: "Alla rättigheter förbehålls för själva nivåerna. Detta inkluderar:"
rights_scripts: "Script"
rights_unit: "Enhetskonfiguration"
rights_description: "Beskrivning"
rights_writings: "Skifter"
rights_media: "Media (ljud, musik) och annat kreativt innehåll som skapats specifikt för denna nivå och inte gjorts allmänt tillgängligt när nivåer skapats."
rights_clarification: "För att klargöra, allt som gjorts tillgängligt i nivåredigeraren i syfte att skapa nivåer är under CC, medan innehållet skapat med nivåredigeraren eller uppladdat under skapandet inte är detta."
nutshell_title: "I ett nötskal"
nutshell_description: "Alla resurser vi tillhandahåller i nivåredigeraren är gratis att använda som du vill för att skapa nivåer. Men vi reserverar oss rättigheten att begränsa distribution av nivåerna själva (som skapas på codecombat.com) så att de kan tas betalt för i framtiden, om det är så det blir."
canonical: "Den engelska versionen av detta dokument är den definitiva, erkända versionen. Om det finns några skillnader mellan översättningar är det det engelska dokumentet som tar företräde."
# contribute:
# page_title: "Contributing"
# character_classes_title: "Character Classes"
# introduction_desc_intro: "We have high hopes for CodeCombat."
# introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, "
# introduction_desc_github_url: "CodeCombat is totally open source"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
# introduction_desc_ending: "We hope you'll join our party!"
# introduction_desc_signature: "- Nick, George, Scott, Michael, and Jeremy"
# alert_account_message_intro: "Hey there!"
# alert_account_message_pref: "To subscribe for class emails, you'll need to "
# alert_account_message_suf: "first."
# alert_account_message_create_url: "create an account"
# archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever."
# archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever."
# class_attributes: "Class Attributes"
# archmage_attribute_1_pref: "Knowledge in "
# archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax."
# archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you."
# how_to_join: "How To Join"
# join_desc_1: "Anyone can help out! Just check out our "
# join_desc_2: "to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. Want to chat about what to do or how to get more deeply involved? "
# join_desc_3: ", or find us in our "
# join_desc_4: "and we'll go from there!"
# join_url_email: "Email us"
# join_url_hipchat: "public HipChat room"
# more_about_archmage: "Learn More About Becoming an Archmage"
# archmage_subscribe_desc: "Get emails on new coding opportunities and announcements."
# artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to"
# artisan_summary_suf: "then this class is for you."
# artisan_introduction_pref: "We must construct additional levels! People be clamoring for more content, and we can only build so many ourselves. Right now your workstation is level one; our level editor is barely usable even by its creators, so be wary. If you have visions of campaigns spanning for-loops to"
# artisan_introduction_suf: "then this class might be for you."
# artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!"
# artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix."
# artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!"
# artisan_join_desc: "Use the Level Editor in these steps, give or take:"
# artisan_join_step1: "Read the documentation."
# artisan_join_step2: "Create a new level and explore existing levels."
# artisan_join_step3: "Find us in our public HipChat room for help."
# artisan_join_step4: "Post your levels on the forum for feedback."
# more_about_artisan: "Learn More About Becoming an Artisan"
# artisan_subscribe_desc: "Get emails on level editor updates and announcements."
# adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you."
# adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you."
# adventurer_attribute_1: "A thirst for learning. You want to learn how to code and we want to teach you how to code. You'll probably be doing most of the teaching in this case, though."
# adventurer_attribute_2: "Charismatic. Be gentle but articulate about what needs improving, and offer suggestions on how to improve."
# adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like"
# adventurer_forum_url: "our forum"
# adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!"
# more_about_adventurer: "Learn More About Becoming an Adventurer"
# adventurer_subscribe_desc: "Get emails when there are new levels to test."
# scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the "
# scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you."
# scribe_introduction_pref: "CodeCombat isn't just going to be a bunch of levels. It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. That way rather than each Artisan having to describe in detail what a comparison operator is, they can simply link their level to the Article describing them that is already written for the player's edification. Something along the lines of what the "
# scribe_introduction_url_mozilla: "Mozilla Developer Network"
# scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you."
# scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others."
# contact_us_url: "Contact us"
# scribe_join_description: "tell us a little about yourself, your experience with programming and what sort of things you'd like to write about. We'll go from there!"
# more_about_scribe: "Learn More About Becoming a Scribe"
# scribe_subscribe_desc: "Get emails about article writing announcements."
# diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you."
# diplomat_introduction_pref: "So, if there's one thing we learned from the "
# diplomat_launch_url: "launch in October"
# diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you."
# diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!"
# diplomat_join_pref_github: "Find your language locale file "
# diplomat_github_url: "on GitHub"
# diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!"
# more_about_diplomat: "Learn More About Becoming a Diplomat"
# diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate."
# ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you."
# 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_attribute_1: "Communication skills. Be able to identify the problems players are having and help them solve them. Also, keep the rest of us informed about what players are saying, what they like and don't like and want more of!"
# ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!"
# ambassador_join_note_strong: "Note"
# ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!"
# more_about_ambassador: "Learn More About Becoming an Ambassador"
# ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments."
# counselor_summary: "None of the above roles fit what you are interested in? Do not worry, we are on the lookout for anybody who wants a hand in the development of CodeCombat! If you are interested in teaching, game development, open source management, or anything else that you think will be relevant to us, then this class is for you."
# 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)."
# more_about_counselor: "Learn More About Becoming a Counselor"
# changes_auto_save: "Changes are saved automatically when you toggle checkboxes."
# diligent_scribes: "Our Diligent Scribes:"
# powerful_archmages: "Our Powerful Archmages:"
# creative_artisans: "Our Creative Artisans:"
# brave_adventurers: "Our Brave Adventurers:"
# translating_diplomats: "Our Translating Diplomats:"
# helpful_ambassadors: "Our Helpful Ambassadors:"
contribute:
page_title: "Bidragande"
character_classes_title: "Karaktärklasser"
introduction_desc_intro: "Vi har store förhoppningar för CodeCombat."
introduction_desc_pref: "Vi vill vara stället dit alla sorters programmerare kommer för att lära och spela tillsammans, introducera andra till kodandets underbara värld, och visa upp de bästa delarna av gemenskapen. Vi kan inte och vi vill inte gör det ensamma; vad som gör projekt som GitHub, Stack Overflow och Linux fantastiska är människorna som använder och bygger dem. Av den anledningen "
introduction_desc_github_url: "CodeCombat is totally open source"
introduction_desc_suf: ", och vi siktar på att tillhandahålla så många sätt som möjligt för dig att delta och göra det här projektet till lika mycket ditt som vårt."
introduction_desc_ending: "Vi hoppas att du vill vara med!"
introduction_desc_signature: "- Nick, George, Scott, Michael, och Jeremy"
alert_account_message_intro: "Hej där!"
alert_account_message_pref: "För att prenumerera på klassmail måste du"
alert_account_message_suf: "först."
alert_account_message_create_url: "skapa ett konto"
archmage_summary: "Intresserad av att jobba med spelgrafik, användargränssnittsdesign, databas- och serveroptimering, flerspelarnätverkadnde, fysik, ljud eller spelmotorprestation? Vill du hjälpa till att bygga ett spel för att hjälpa andra människor lära sig det du är bra på? Vi har mycket att göra och om du är en erfaren programmerare och vill utveckla för CodeCombat är denna klassen för dig. Vi skulle älska din hjälp med att bygga det bästa programmeringsspelet någonsin."
archmage_introduction: "En av de bästa delarna med att bygga spel är att de syntetiserar så många olika saker. Grafik, ljud, realtidsnätverkande, socialt netvärkande och så klart många av de vanligare aspekterna av programmering, från databashantering och serveradministration på låg nivå till användargränssnitt och gränsnittsbyggande. Det finns mycket att göra, och om du är en erfaren programmerare som längtar efter att dyka ner i CodeCombats detaljer kan den här klassen vara för dig. Vi skulle älska din hjälp med att bygga det bästa programmeringsspelet någonsin."
class_attributes: "Klassattribut"
archmage_attribute_1_pref: "Kunskap om "
archmage_attribute_1_suf: ", eller en vilja att lära. Det mesta av vår kod är i det här språket. Är du ett fan av Ruby eller Python kommer du att känna dig hemma. Det är Javascript, men med en trevligare syntax."
archmage_attribute_2: "Viss erfarenhet av programmering och personligt initiativ. Vi hjälper dig att bli orienterad, men kan inte lägga mycket tid på att träna dig."
how_to_join: "Hur man går med"
join_desc_1: "Alla kan hjälpa till! Kolla bara in vår "
join_desc_2: "för att komma igång, och kryssa i rutan nedanför för att markera att du är en modig huvudmagiker och få de senaste nyheterna via email. Vill du chatta om vad som ska göras eller hur du bli mer involverad?"
join_desc_3: ", eller hitta oss i vår "
join_desc_4: "så tar vi det därifrån!"
join_url_email: "Maila oss"
join_url_hipchat: "offentliga HipChat-rum"
more_about_archmage: "Lär dig mer om att bli en huvudmagiker"
archmage_subscribe_desc: "Få mail om nya kodmöjligheter och tillkännagivanden."
artisan_summary_pref: "Vill du designa nivåer och utvidga CodeCombats arsenal? Folk spelar igenom vårt innehåll snabbare än vi kan bygga! För tillfället är vår nivåredigerare ganska mager, så var uppmärksam. Att skapa nivåer kommer att vara lite utmanande och buggigt. Om du har visioner av kampanjer som sträcker sig från for-loopar till"
artisan_summary_suf: "är den här klassen för dig."
artisan_introduction_pref: "Vi måste bygga fler nivåer! Människor kräver mer innehåll, och vi kan bara bygga en viss mängd själva. Just nu är arbetsstation nivå ett; vår nivåredigerare är knappt användbar ens av dess skapare, så var uppmärksam. Om du har visioner av kampanjer som sträcker sig från for-loopar till"
artisan_introduction_suf: "är den här klassen kanske något för dig."
artisan_attribute_1: "Någon erfarenhet av att bygga liknande innehåll vore bra, som till exempel Blizzards nivåredigerare. Det är dock inget krav!"
artisan_attribute_2: "En vilja att göra en hel del testande och upprepning. För att göra bra nivåer, måste du ta dem till andra och se dem spela den, och vara beredd på att hitta många saker att laga."
artisan_attribute_3: "För tillfället, uthållighet i klass med en äventyrare. Vår nivåredigerare är väldigt preliminär och frustrerande att använda. Du är varnad!"
artisan_join_desc: "Använd nivåredigeraren i dessa steg, mer eller mindre:"
artisan_join_step1: "Läs dokumentationen."
artisan_join_step2: "Skapa en ny nivå och utforska existerande nivåer."
artisan_join_step3: "Hitta oss i vårt offentliga HipChat-rum för hjälp."
artisan_join_step4: "Anslå dina nivåer på forumet för feedback."
more_about_artisan: "Lär dig mer om att bli en hantverkare"
artisan_subscribe_desc: "Få mail om nivåredigeraruppdateringar och tillkännagivanden"
adventurer_summary: "Låt oss vara tydliga med din roll: du är tanken. Du kommer att ta stor skada. Vi behöver människor som kan testa splitternya nivåer och hjälpa till att identifiera hur man kan göra saker bättre. Smärtan kommer att vara enorm; att göra bra spel är en lång process och ingen gör rätt första gången. Om du kan härda ut och tål mycket stryk är det här klassen för dig."
# adventurer_introduction: "Låt oss vara tydliga med din roll: du är tanken. Du kommer att ta stor skada. Vi behöver människor som kan testa splitternya nivåer och hjälpa till att identifiera hur man kan göra saker bättre. Smärtan kommer att vara enorm; att göra bra spel är en lång process och ingen gör rätt första gången. Om du kan härda ut och tål mycket stryk är det här kanske klassen för dig."
adventurer_attribute_1: "En törst efter att lära sig. Du vill lära dig att koda och vi vill lära dig att koda. Du kommer förmodligen att vara den som lär ut mest i det här fallet, dock."
adventurer_attribute_2: "Karismatisk. Var varsammen tydlig med vad som behöver förbättras, och erbjud förslag på hur förbättringar kan ske."
adventurer_join_pref: "Antingen träffar (eller rekryterar!) du en hantverkare och jobbar med denna, eller så kryssar du i rutan nedanför för att få mail när det finns nya nivåer att testa. Vi kommer också att anslå nivåer som behöver granskas på nätverk som"
adventurer_forum_url: "vårt forum"
adventurer_join_suf: "så om du föredrar att bli notifierad på sådana sätt, bli medlem där!"
more_about_adventurer: "Lär dig mer om att bli en äventyrare"
adventurer_subscribe_desc: "Få mail när det finns nya nivåer att testa."
scribe_summary_pref: "CodeCombat kommer inte bara att vara ett gäng nivåer. Det kommer också att vara en resurs för programmeringskunskap som spelar kan koppla in sig i. På det sättet kan varje hantverkare länka till en detaljerad artikel för spelarens uppbyggelse:dokumentation på ett sätt som liknar vad "
scribe_summary_suf: " har byggt. Om du tycker om att förklara programmeringskoncept är det här klassen för dig."
scribe_introduction_pref: "CodeCombat kommer inte att vara bara ett gäng nivåer. Det kommer också att inkludera en resurs för kunskap, en wiki av programmeringskoncept som nivåer kan ansluta till. På det sättet slipper varje hantverkare förklara i detalj vad en jämförelseoperator är, utan kan bara länka sin nivå till artikeln som förklarar det och redan är skriven, till spelarens uppbyggelse. Någonting i stil med vad "
scribe_introduction_url_mozilla: "Mozilla Developer Network"
scribe_introduction_suf: " har byggt. Om du tycker att det är kul att uttrycka programmeringskoncept i Markdown-form, är det här klassen för dig."
scribe_attribute_1: "Förmåga med ord är i princip allt du behöver. Inte bara grammatik och stavning, utan förmåga att förmedla komplicerade idéer till andra."
contact_us_url: "Kontakta oss"
scribe_join_description: "Berätta lite om dig själv, din erfarenhet med programmering och vilka saker du skulle vilja skriva om. Vi går vidare därifrån!"
more_about_scribe: "Lär dig mer om att bli en skriftlärd"
scribe_subscribe_desc: "Få mail om tillkännagivanden om artiklar."
diplomat_summary: "Det finns ett stort intresse för CodeCombat i länder som inte pratar engelska! Vi letar efter översättare som är villiga att tillbringa tid med att översätta huvuddelen av webbplatsens ord så att CodeCombat är tillgänglig över hela världen så snart som möjligt. Om du vill hjälpa till med att göra CodeCombat internationellt är det här klassen för dig."
diplomat_introduction_pref: "Om vi lärde oss någonting från "
diplomat_launch_url: "lanseringen i oktober"
diplomat_introduction_suf: "är det att det finns ett stort intresse för CodeCombat i andra länder! Vi bygger en kår av översättare ivriga att förvandla en samling ord till en annan samling ord för att få CodeCombat så tillgänglig i världen som möjligt. Om du gillar att få tjuvkikar på kommande innehåll och att få dessa nivåer till de andra i ditt land så snart som möjligt är det här kanske klassen för dig."
diplomat_attribute_1: "Flytande engelska och språket du vill översätta till. När man förmedlar komplicerade idéer är det viktigt att ha ett starkt grepp om båda!"
diplomat_join_pref_github: "Hitta ditt språks locale-fil "
diplomat_github_url: " GitHub"
diplomat_join_suf_github: ", redigera den online, och skicka en ryckförfrågan. Kryssa också i rutan här nedanför för att hålla dig uppdaterad om nya internationaliseringsutvecklingar."
more_about_diplomat: "Lär dig mer om att bli en diplomat"
diplomat_subscribe_desc: "Få mail om i18n-utvecklingar och nivåer att översätta."
ambassador_summary: "Vi försöker bygga en gemenskap, och varje gemenskap behöver ett supportteam när det blir problem. Vi har chatt, mail och sociala nätverk så att våra användare kan bekanta sig med spelet. Om du vill hjälpa folk att bli involverade, ha kul, och lära dig en del programmering är det här klassen för dig."
ambassador_introduction: "Det är en gemenskap vi bygger, och du är anslutningarna. Vi har Olark-chatter, mail och sociala nätverk med många människor att prata med och hjälpa bekanta sig med spelet och lära sig från. Om du vill hjälpa människor att bli involverade och ha kul, och ha bra koll på CodeCombats puls och var vi är på väg, kanske det här är klassen för dig."
ambassador_attribute_1: "Kommunikationsfärdigheter. Kunna identifiera problemen spelarna har och hjälpa till att lösa dem. Också att hålla resten av oss informerade om vad spelarna säger, vad de gillar och vad de inte gillar och vad de vill ha mer av!"
ambassador_join_desc: "berätta om dig själv, vad du har gjort och vad du skulle vara intresserad av att göra. Vi tar det därifrån!"
ambassador_join_note_strong: "Notera"
ambassador_join_note_desc: "En av våra högsta prioriteringar är att bygga ett flerspelarläge där spelare som har problem med att lösa nivåer kan kalla på trollkarlar av en högre nivå för att hjälpa dem. Det kommer att vara ett jättebra sätt för ambassadörer att göra sin grej. Vi håller dig informerad!"
more_about_ambassador: "Lär dig mer om att bli en ambassadör"
ambassador_subscribe_desc: "Få mail om supportuppdateringar och flerspelarutvecklingar"
counselor_summary: "Passar ingen av rollerna ovanför det du är intresserad av? Oroa dig inte, vi håller utkik efter alla som vill vara inblandade i utvecklingen av CodeCombat! Om du är intresserad av undervisning, spelutveckling, skötsel av öppen programvara eller någonting annat som du tror skulle vara relevent för oss, är det här klassen för dig."
counselor_introduction_1: "Har du livserfarenhet? Ett annat perspektiv på saker som kan hjälpa oss besluta hur vi ska forma CodeCombat? Av alla dessa roller kommer förmodligen denna ta minst tid, men individuellt kommer du att göra störst skillnad. Vi letar efter skrynkliga visa människor, särskilt inom områden som: undervisning, spelutveckling, skötsel av öppen programvara, teknisk rekrytering, entrepenörskap eller design."
counselor_introduction_2: "Eller egentligen vad som helst som är relevant för CodeCombats utveckling. Om du har kunskap och vill dela med dig av den för att hjälpa det här projektet att växa, är kanske det här klassen för dig."
counselor_attribute_1: "Erfarenhet, i ett av områdena ovan eller någonting annat du tror kan vara hjälpsamt."
counselor_attribute_2: "Lite fritid!"
counselor_join_desc: "berätta om dig själv, vad har du gjort och vad skulle du vara intresserad av att göra. Vi lägger dig i vår kontaktlista och hör av oss när vi behöver råd (inte alltför ofta)"
more_about_counselor: "Lär dig mer om att bli en skritflärd"
changes_auto_save: "Förändringar sparas automatiskt när du ändrar kryssrutor."
diligent_scribes: "Våra flitiga skriftlärda:"
powerful_archmages: "Våra kraftfulla huvudmagiker:"
creative_artisans: "Våra kreativa hantverkare:"
brave_adventurers: "Våra modiga äventyrare:"
translating_diplomats: "Våra översättande diplomater:"
helpful_ambassadors: "Våra hjälpfulla ambassadörer:"
# 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: "Huvudmagiker"
archmage_title_description: "(Kodare)"
artisan_title: "Hantverkare"
artisan_title_description: "(Nivåbyggare)"
adventurer_title: "Äventyrare"
adventurer_title_description: "(Nivåtestare)"
scribe_title: "Skriftlärd"
scribe_title_description: "(Artikelredigerare)"
diplomat_title: "Diplomat"
diplomat_title_description: "(Översättare)"
ambassador_title: "Ambassadör"
ambassador_title_description: "(Support)"
counselor_title: "Rådgivare"
counselor_title_description: "(Expert/Lärare)"
# 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: "Var vänlig logga in innan du spelar en stegmatch."
my_matches: "Mina matcher"
simulate: "Simulera"
simulation_explanation: "Genom att simulera matcher kan du få dina matcher rankade fortare."
simulate_games: "Simulera matcher!"
simulate_all: "ÅTERSTÄLL OCH SIMULERA MATCHER"
leaderboard: "Resultattavla"
battle_as: "Kämpa som "
summary_your: "Dina "
summary_matches: "Matcher - "
summary_wins: " Vinster, "
summary_losses: " Förlustar"
rank_no_code: "Ingen ny kod att ranka"
rank_my_game: "Ranka min match!"
rank_submitting: "Skickar..."
rank_submitted: "Inskickad för rankning"
rank_failed: "Kunde inte ranka"
rank_being_ranked: "Matchen blir rankad"
code_being_simulated: "Din nya kod håller på att bli simulerad av andra spelare för rankning. Detta kommer att uppdateras allt eftersom nya matcher kommer in."
no_ranked_matches_pre: "Inga rankade matcher för "
no_ranked_matches_post: " laget! Spela mot några motståndare och kom sedan tillbaka it för att få din match rankad."
choose_opponent: "Välj en motståndare"
tutorial_play: "Spela tutorial"
tutorial_recommended: "Rekommenderas om du aldrig har spelat tidigare"
tutorial_skip: "Hoppa över tutorial"
tutorial_not_sure: "Inte säker på vad som händer?"
tutorial_play_first: "Spela tutorial först."
simple_ai: "Enkelt AI"
warmup: "Uppvärmning"
vs: "VS"
# multiplayer_launch:
# introducing_dungeon_arena: "Introducing Dungeon Arena"
# new_way: "March 17, 2014: The new way to compete with code."
# to_battle: "To Battle, Developers!"
# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here."
# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the laddersthen 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: "Introducerar grottarenan"
new_way: "17 mars 2014: Det nya sättet att tävla i kod."
to_battle: "Till slagfältet, utvecklare!"
modern_day_sorcerer: "Du vet hur man kodar? Det är coolt. Du är en modern trollkarl! Är det inte dags att du använde dina magiska kodarkrafter för att leda dina undersåtar i episka strider? Och vi snackar inte om robotar nu."
arenas_are_here: "CodeCombats flerspelararenor är här."
ladder_explanation: "Välj dina hjältar, förtrolla dina människo- eller orch-arméer och klättra över besegrade trollkarlar, för att nå toppen av stegen - och utmana sedan dina vänner i våra ärorika, asynkrona flerspelararenor. Om du känner dig kreativ kan du till och med"
fork_our_arenas: "förgrena våra arenor"
create_worlds: "och skapa dina egna världer."
javascript_rusty: "Är din JavaScript lite rostigt? Oroa dig inte, det finns en"
tutorial: "tutorial"
new_to_programming: ". Ny på programmering? Gå till vår nybörjarkampanj för att öva upp dina färdigheter."
so_ready: "Jag är så redo för det här."

View file

@ -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"

View file

@ -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"

View file

@ -2,7 +2,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
common:
loading: "Завантаження..."
saving: "Збереження..."
sending: "Відправлення..."
sending: "Надсилання..."
cancel: "Відміна"
save: "Зберегти"
delay_1_sec: "1 секунда"
@ -31,15 +31,15 @@ module.exports = nativeDescription: "українська мова", englishDesc
about: "Про нас"
contact: "Контакти"
twitter_follow: "Фоловити"
employers: "Зайняті"
employers: "Роботодавцям"
versions:
save_version_title: "Зберегти нову версію"
new_major_version: "Зберегти основну версію"
cla_prefix: "Для збереження змін, спочатку треба погодитись з нашим"
cla_prefix: "Для збереження змін спочатку треба погодитись з нашим"
cla_url: "CLA"
cla_suffix: "."
cla_agree: "Я Згоден"
cla_agree: "Я згоден"
login:
sign_up: "створити акаунт"
@ -49,7 +49,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
recover:
recover_account_title: "Відновити акаунт"
send_password: "Вислати пароль відновлення"
send_password: "Надіслати пароль відновлення"
signup:
create_account_title: "Створити акаунт, щоб зберегти прогрес"
@ -63,20 +63,20 @@ module.exports = nativeDescription: "українська мова", englishDesc
home:
slogan: "Навчіться програмувати на JavaScript, граючи у гру"
no_ie: "Нажаль, CodeCombat не працює в IE8 чи більш старих версіях!"
no_ie: "На жаль, CodeCombat не працює в IE8 чи більш старих версіях!"
no_mobile: "CodeCombat не призначений для мобільних приладів і може не працювати!"
play: "Грати"
old_browser: "Вибачте, але ваш браузер дуже старий для гри CodeCombat"
old_browser_suffix: "Ви все одно можете спробувати, хоча наврядче вийде"
# campaign: "Campaign"
old_browser_suffix: "Ви все одно можете спробувати, хоча навряд чи вийде"
campaign: "Кампанія"
for_beginners: "Для новачків"
multiplayer: "Командна гра"
for_developers: "Для розробників"
play:
choose_your_level: "Оберіть свій рівень"
adventurer_prefix: "Ви можете грати будь-який рівень з наведених нижче або обговорювати рівні на "
adventurer_forum: "форумі Шукачів Пригод"
adventurer_prefix: "Ви можете грати у будь-який рівень з наведених нижче або обговорювати рівні на "
adventurer_forum: "форумі Шукачів пригод"
adventurer_suffix: "."
campaign_beginner: "Кампанія для початківців"
campaign_beginner_description: "... у якій ви навчитеся магії програмування."
@ -85,41 +85,41 @@ module.exports = nativeDescription: "українська мова", englishDesc
campaign_multiplayer: "Арени для мультиплеєра"
campaign_multiplayer_description: "... в яких ви програмуєте віч-на-віч із іншими гравцями."
campaign_player_created: "Рівні, створені гравцями"
campaign_player_created_description: "... у яких ви сражаєтеся проти креативності ваших друзів-<a href=\"/contribute#artisan\">Архитекторів</a>."
campaign_player_created_description: "... у яких ви змагаєтесь у креативності із вашими друзями-<a href=\"/contribute#artisan\">Архітекторами</a>."
level_difficulty: "Складність: "
# play_as: "Play As "
# spectate: "Spectate"
play_as: "Грати як"
spectate: "Спостерігати"
contact:
contact_us: "Зв'язатися з CodeCombat"
welcome: "Ми раді вашому повідомленню! Скористайтеся цією формою, щоб відправити email."
contribute_prefix: "Якщо ви зацікавлені у співпраці, зайдіть на нашу "
welcome: "Ми раді вашому повідомленню! Скористайтеся цією формою, щоб надіслати email."
contribute_prefix: "Якщо ви зацікавлені у співпраці, завітайте на нашу "
contribute_page: "сторінку учасників"
contribute_suffix: "!"
forum_prefix: "Для будь-яких публичних обговорень, будь ласка, використовуйте "
forum_page: "наш форум"
forum_suffix: "."
send: "Відправити фідбек"
send: "Надіслати фідбек"
diplomat_suggestion:
title: "Допоможіть перекласти CodeCombat!"
sub_heading: "Нам потрібні ваші мовні таланти."
pitch_body: "Ми створюємо CodeCombat англійською, але в нас вже є гравці зі всього світу. Багато хто з них хоче грати українською, але не говорить англійською, тому, якщо ви знаєте обидві мови, обміркуйте можливість стати Дипломатом і допомогти перекласти сайт CodeCombat та всі рівні на українську."
missing_translations: "Поки ми не переклали все на українську, ви будете бачити англійський текст там, де українська ще недоступна."
learn_more: "Узнати, як стати Дипломатом"
subscribe_as_diplomat: "Записатися у Дипломати"
pitch_body: "Ми створюємо CodeCombat англійською, але в нас вже є гравці по всьому світі. Багато хто з них хоче грати українською, але не говорить англійською, тому, якщо ви знаєте обидві мови, обміркуйте можливість стати Дипломатом і допомогти перекласти сайт CodeCombat та всі рівні українською."
missing_translations: "Поки ми не переклали все українською, ви будете бачити англійський текст там, де українська ще недоступна."
learn_more: "Дізнатися, як стати Дипломатом"
subscribe_as_diplomat: "Записатися в Дипломати"
wizard_settings:
title: "Налаштування"
customize_avatar: "Налаштувати аватар"
clothes: "Одяг"
# trim: "Trim"
# cloud: "Cloud"
spell: "аклинанняЗ"
trim: "Оздоблення"
cloud: "Хмаринка"
spell: "Закляття"
boots: "Черевики"
# hue: "Hue"
# saturation: "Saturation"
# lightness: "Lightness"
hue: "Відтінок"
saturation: "Насиченість"
# lightness: "Яскравість"
account_settings:
title: "Налаштування акаунта"
@ -130,16 +130,16 @@ module.exports = nativeDescription: "українська мова", englishDesc
wizard_tab: "Персонаж"
password_tab: "Пароль"
emails_tab: "Email-адреси"
# admin: "Admin"
admin: "Aдмін"
gravatar_select: "Оберіть, яке фото з Gravatar використовувати"
gravatar_add_photos: "Додайте фото та зменшені зображення до акаунта Gravatar, пов'язаного з вашою email-адресою, щоб обрати зображення"
gravatar_add_more_photos: "Додайти більше фото до вашого акаунта Gravatar, щоб вони були доступні тут."
wizard_color: "Колір волосся персонажа"
wizard_color: "Колір одягу персонажа"
new_password: "Новий пароль"
new_password_verify: "Підтвердження паролю"
email_subscriptions: "Email-підписки"
email_announcements: "Оголошення"
# email_notifications: "Notifications"
email_notifications: "Нотифікації"
email_notifications_description: "Отримувати періодичні нагадування для Вашого акаунта."
email_announcements_description: "Отримувати електронні листи про останні новини CodeCombat."
contributor_emails: "Підписки за класами учасників"
@ -149,7 +149,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
email_toggle: "Обрати все"
error_saving: "Помилка при збереженні"
saved: "Зміни збережено"
password_mismatch: "Паролі не співпадають."
password_mismatch: "Паролі не збігаються."
account_profile:
edit_settings: "Змінити налаштування"
@ -185,10 +185,10 @@ module.exports = nativeDescription: "українська мова", englishDesc
victory_title_prefix: ""
victory_title_suffix: " закінчено"
victory_sign_up: "Підписатися на оновлення"
victory_sign_up_poke: "Хочете отримувати останні новини на email? Створіть безкоштовний акаунт, і ми будемо тримати вас в курсі!"
victory_sign_up_poke: "Хочете отримувати останні новини на email? Створіть безкоштовний акаунт, і ми будемо тримати вас у курсі!"
victory_rate_the_level: "Оцінити рівень: "
# victory_rank_my_game: "Rank My Game"
# victory_ranking_game: "Submitting..."
victory_rank_my_game: "Оцінити мою гру"
victory_ranking_game: "Надсилання..."
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Наступний рівень"
victory_go_home: "На головну"
@ -198,7 +198,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
multiplayer_title: "Налаштування мультиплеєра"
multiplayer_link_description: "Поділіться цим посиланням з будь-ким, щоб вони приєдналися до вас."
multiplayer_hint_label: "Підказка:"
multiplayer_hint: " Натисніть на посилання, щоб обрати всіх, та натисніть Apple-C або Ctrl-C, щоб скопіювати посилання."
multiplayer_hint: "Натисніть на посилання, щоб обрати всіх, та натисніть Apple-C або Ctrl-C, щоб скопіювати посилання."
multiplayer_coming_soon: "Скоро - більше можливостей у мультиплеєрі!"
guide_title: "Посібник"
tome_minion_spells: "Закляття ваших міньонів"
@ -206,18 +206,18 @@ module.exports = nativeDescription: "українська мова", englishDesc
tome_other_units: "Інші юніти"
tome_cast_button_castable: "Читати закляття"
tome_cast_button_casting: "Закляття читається"
tome_cast_button_cast: "Закляття прочитане"
tome_cast_button_cast: "Закляття прочитано"
tome_autocast_delay: "Затримка автоматичного читання"
tome_select_spell: "Оберіть закляття"
tome_select_a_thang: "Оберіть когось для "
tome_available_spells: "Доступні закляття"
hud_continue: "Продовжити (натисніть shift-space)"
spell_saved: "Заклинання збережено"
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_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."
@ -231,36 +231,36 @@ module.exports = nativeDescription: "українська мова", englishDesc
# av_entities_sub_title: "Entities"
av_entities_users_url: "користувачі"
# av_entities_active_instances_url: "Active Instances"
av_other_sub_title: "Ынше"
av_other_sub_title: "Інше"
# av_other_debug_base_url: "Base (for debugging base.jade)"
u_title: "Список користувачів"
lg_title: "Останні ігри"
editor:
# main_title: "CodeCombat Editors"
# main_description: "Build your own levels, campaigns, units and educational content. We provide all the tools you need!"
# article_title: "Article Editor"
# article_description: "Write articles that give players overviews of programming concepts which can be used across a variety of levels and campaigns."
# thang_title: "Thang Editor"
# thang_description: "Build units, defining their default logic, graphics and audio. Currently only supports importing Flash exported vector graphics."
# level_title: "Level Editor"
# 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: "Зв’язатися з нами!"
hipchat_prefix: "Ви можете також знайти нас в нашому"
# hipchat_url: "HipChat room."
main_title: "Редактори CodeCombat"
main_description: "Створюйте власні рівні, кампанії, юнітів та навчальний контекнт. Ми надаємо всіх необхидних інструментів! "
article_title: "Редактор статей"
article_description: "Пішіть статті, які будуть знайомити гравців із концепціями програмування, що можуть бути викорістани в різних рівнях та кампаніях."
thang_title: "Редактор об'єктів"
thang_description: "Створюйте юнітів, візначайте їхню логіку, графіку та аудіо. Наразі підтримується тільки імпорт векторної flash-графіки."
level_title: "Редактор рівнів"
level_description: "Включає інструменти для створення сценаріїв, аудіо й конструювання логіки задля створення усіх типів рівнив. Усе, що ми самі використовуємо! "
security_notice: "Багато базових можливостей у цих редакторах зараз не доступні за замовчуванням. Як тільки ми вдосконалимо безпеку цих систем, вони стануть загальнодоступними. Якщо ви хочете використовувати ці можливості раніше, "
contact_us: "зв’яжіться з нами!"
hipchat_prefix: "Ви можете також знайти нас в нашій"
hipchat_url: "кімнаті HipChat."
# revert: "Revert"
# revert_models: "Revert Models"
# level_some_options: "Some Options?"
# level_tab_thangs: "Thangs"
# level_tab_scripts: "Scripts"
# level_tab_settings: "Settings"
# level_tab_components: "Components"
# level_tab_systems: "Systems"
# level_tab_thangs_title: "Current Thangs"
# level_tab_thangs_conditions: "Starting Conditions"
# level_tab_thangs_add: "Add Thangs"
# level_settings_title: "Settings"
level_tab_thangs: "Об'єкти"
level_tab_scripts: "Скрипти"
level_tab_settings: "Налаштування"
level_tab_components: "Компоненти"
level_tab_systems: "Системи"
level_tab_thangs_title: "Поточні об'єкти"
level_tab_thangs_conditions: "Початковий статус"
level_tab_thangs_add: "Додати об'єкти"
level_settings_title: "Налаштування"
# level_component_tab_title: "Current Components"
# level_component_btn_new: "Create New Component"
# level_systems_tab_title: "Current Systems"
@ -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: "Юридичні нотатки"

View file

@ -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"

View file

@ -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."

View file

@ -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: "法律"

View file

@ -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"

View file

@ -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"

View file

@ -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]

View file

@ -7,7 +7,7 @@
.column
position: absolute
top: 0
top: 0
bottom: 0
padding: 5px
box-sizing: border-box
@ -20,7 +20,7 @@
.treema
position: absolute
top: 70px
top: 80px
left: 0
right: 10px
bottom: 0
@ -32,7 +32,7 @@
.treema
position: absolute
top: 70px
top: 75px
left: 10px
right: 0px
bottom: 0

View file

@ -75,13 +75,14 @@
right: 0
top: 0
bottom: 0
#thangs-list
position: absolute
position: relative
right: 0
top: 40px
bottom: 0
top: 10px
bottom: 10px
overflow: scroll
height: 100%
h3
margin: 0 -20px 0 0

View file

@ -59,7 +59,7 @@
#thang-components-edit-view
position: absolute
top: 130px
top: 200px
bottom: 0
.treema-root

View file

@ -5,8 +5,12 @@
.tab-pane
margin-top: 10px
.rank-cell, .fight-cell
text-align: center
.score-cell
width: 50px
text-align: center
.play-button
margin-bottom: 10px
@ -22,6 +26,40 @@
white-space: nowrap
overflow: hidden
.ellipsis-row
text-align: center
// friend column
.friends-header
margin-top: 0
margin-bottom: 5px
.connect-buttons
margin-bottom: 10px
.btn
margin-left: 5px
.friend-entry img
float: left
margin-right: 10px
.friend-entry
margin-bottom: 15px
.connect-facebook
background-color: #4c66a4 !important
background-image: none
color: white
.connect-google-plus
background-color: #CC3234 !important
background-image: none
color: white
td
padding: 1px 2px
tr.stale
opacity: 0.5

View file

@ -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!

View file

@ -29,3 +29,5 @@ block content
ul
li
a(href="/admin/base", data-i18n="admin.av_other_debug_base_url") Base (for debugging base.jade)
li
a(href="/admin/clas", data-i18n="admin.clas") CLAs

View file

@ -0,0 +1,16 @@
extends /templates/base
block content
h1(data-i18n="admin.clas") CLAs
table.table.table-striped.table-bordered.table-condensed#clas
tbody
each cla in clas
tr
td #{cla.name}
if me.isAdmin()
td #{cla.email}
td #{cla.githubUsername}
td #{cla.created}

View file

@ -5,7 +5,7 @@ body
.content.clearfix
.navbar-header
a.navbar-brand(href='/')
img(src="/images/pages/base/logo.png", title="CodeCombat", alt="CodeCombat")
img(src="/images/pages/base/logo.png", title="CodeCombat - Learn how to code by playing a game", alt="CodeCombat")
select.language-dropdown

View file

@ -94,8 +94,7 @@
label(for="github-username") Github Username
input(name="github-username", type="text")#github-username.form-control
span.help-block Please include if contributing to the
p(href="github.com/codecombat/codecombat") Github repository
| .
<a href="https://github.com/codecombat/codecombat">Github repository</a>.
p
| Please press I AGREE below to indicate your agreement.
button.btn#agreement-button I AGREE

View file

@ -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

View file

@ -0,0 +1,10 @@
h3(data-i18n="editor.level_tab_thangs_add") Add Thangs
input(type="text", id="thang-search")
#thangs-list
for group in groups
h4= group.name
for thangType in group.thangs
div.add-thang-palette-icon(data-thang-type=thangType.name)
- path = '/file/db/thang.type/'+thangType.original+'/portrait.png'
img(title="Add " + thangType.name, src=path, alt="")
div.clearfix

View file

@ -21,14 +21,5 @@
#canvas-left-gradient.gradient
#canvas-top-gradient.gradient
.add-thangs-palette.thangs-column
h3(data-i18n="editor.level_tab_thangs_add") Add Thangs
#thangs-list
for group in groups
h4= group.name
for thangType in group.thangs
div.add-thang-palette-icon(data-thang-type=thangType.name)
- path = '/file/db/thang.type/'+thangType.original+'/portrait.png'
img(title="Add " + thangType.name, src=path, alt="")
div.clearfix
.add-thangs-palette.thangs-column#add-thangs-column
#editor-level-thang-edit.secret

View file

@ -13,7 +13,7 @@ block content
img#portrait.img-thumbnail
button.btn.btn-secondary#history-button(data-i18n="general.history") History
button.btn.btn-primary#save-button(data-toggle="coco-modal", data-target="modal/save_version", disabled=authorized === true ? undefined : "true") Save
button.btn.btn-primary#save-button(data-toggle="coco-modal", data-target="modal/save_version", data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save
button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/revert", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert
h3 Edit Thang Type: "#{thangType.attributes.name}"

View file

@ -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" wmode="opaque" allowfullscreen></iframe>
img(src="/images/pages/home/video_border.png")
hr

View file

@ -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!

View file

@ -13,6 +13,7 @@ block content
div.column.col-md-4
a(style="background-color: #{team.primaryColor}", data-team=team.id).play-button.btn.btn-danger.btn-block.btn-lg
span(data-i18n="play.play_as") Play As
|
span= team.name
div.column.col-md-2
@ -47,3 +48,13 @@ block content
if false && me.isAdmin()
p
button(data-i18n="ladder.simulate_all").btn.btn-danger.btn-lg.highlight#simulate-all-button RESET AND SIMULATE GAMES
p.simulation-count
span(data-i18n="ladder.games_simulated_by") Games simulated by you:
|
span#simulated-by-you= me.get('simulatedBy') || 0
p.simulation-count
span(data-i18n="ladder.games_simulated_for") Games simulated for you:
|
span#simulated-for-you= me.get('simulatedFor') || 0

View file

@ -1,25 +1,77 @@
div#columns.row
for team in teams
div.column.col-md-6
div.column.col-md-4
table.table.table-bordered.table-condensed.table-hover
tr
th(colspan=4, style="color: #{team.primaryColor}")
th
th(colspan=3, style="color: #{team.primaryColor}")
span= team.name
span
span(data-i18n="ladder.leaderboard") Leaderboard
tr
th(data-i18n="general.rank") Rank
th
th(data-i18n="general.score") Score
th(data-i18n="general.name").name-col-cell Name
th
for session, rank in team.leaderboard.topPlayers.models
- var topSessions = team.leaderboard.topPlayers.models;
- var showJustTop = team.leaderboard.inTopSessions() || me.get('anonymous');
- if(!showJustTop) topSessions = topSessions.slice(0, 10);
for session, rank in topSessions
- var myRow = session.get('creator') == me.id
tr(class=myRow ? "success" : "")
td.rank-cell= rank + 1
td.score-cell= Math.round(session.get('totalScore') * 100)
td.name-col-cell= session.get('creatorName') || "Anonymous"
td
td.fight-cell
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{team.otherTeam}&opponent=#{session.id}")
span(data-i18n="ladder.battle_as") Battle as
| #{team.otherTeam}!
span(data-i18n="ladder.fight") Fight!
if !showJustTop && team.leaderboard.nearbySessions().length
tr(class="active")
td(colspan=4).ellipsis-row ...
for session in team.leaderboard.nearbySessions()
- var myRow = session.get('creator') == me.id
tr(class=myRow ? "success" : "")
td.rank-cell= session.rank
td.score-cell= Math.round(session.get('totalScore') * 100)
td.name-col-cell= session.get('creatorName') || "Anonymous"
td.fight-cell
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{team.otherTeam}&opponent=#{session.id}")
span(data-i18n="ladder.fight") Fight!
div.column.col-md-4
h4.friends-header Friends Playing
if me.get('anonymous')
div.alert.alert-info
a(data-toggle="coco-modal", data-target="modal/signup") Sign up to play with your friends!
else
if !onFacebook
div.connect-buttons
| Connect:
if !onFacebook
button.btn.btn-sm.connect-facebook Facebook
//button.btn.btn-sm.connect-google-plus Google+
if !!friends
if friends.length
for friend in friends
p.friend-entry
img(src="http://graph.facebook.com/#{friend.facebookID}/picture").img-thumbnail
span= friend.creatorName + ' (' + friend.facebookName + ')'
br
span= Math.round(friend.totalScore * 100)
span :
span= friend.team
br
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{friend.otherTeam}&opponent=#{friend._id}")
span(data-i18n="ladder.fight") Fight!
else
p Invite your friends to join you in battle!
else
p Connect to social networks to play with your friends!

View file

@ -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.

View file

@ -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] ?= {}

View file

@ -0,0 +1,30 @@
View = require 'views/kinds/RootView'
template = require 'templates/admin/clas'
module.exports = class CLAsView extends View
id: "admin-clas-view"
template: template
startsLoading: true
constructor: (options) ->
super options
@getCLAs()
getCLAs: ->
CLACollection = Backbone.Collection.extend({
url: '/db/cla.submissions'
})
@clas = new CLACollection()
@clas.fetch()
@clas.on 'sync', @onCLAsLoaded, @
onCLAsLoaded: ->
@startsLoading = false
@render()
getRenderData: ->
c = super()
c.clas = []
unless @startsLoading
c.clas = _.uniq (_.sortBy (cla.attributes for cla in @clas.models), (m) -> m.githubUsername?.toLowerCase()), 'githubUsername'
c

View file

@ -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'

View file

@ -0,0 +1,81 @@
View = require 'views/kinds/CocoView'
add_thangs_template = require 'templates/editor/level/add_thangs'
ThangType = require 'models/ThangType'
CocoCollection = require 'models/CocoCollection'
class ThangTypeSearchCollection extends CocoCollection
url: '/db/thang.type/search?project=true'
model: ThangType
addTerm: (term) ->
@url += "&term=#{term}" if term
module.exports = class AddThangsView extends View
id: "add-thangs-column"
className: 'add-thangs-palette thangs-column'
template: add_thangs_template
startsLoading: false
events:
'keyup input#thang-search': 'runSearch'
constructor: (options) ->
super options
@world = options.world
@thangTypes = @supermodel.getCollection new ThangTypeSearchCollection() # should load depended-on Components, too
@thangTypes.once 'sync', @onThangTypesLoaded
@thangTypes.fetch()
onThangTypesLoaded: =>
return if @destroyed
@render() # do it again but without the loading screen
getRenderData: (context={}) ->
context = super(context)
if @searchModels
models = @searchModels
else
models = @supermodel.getModels(ThangType)
thangTypes = (thangType.attributes for thangType in models)
thangTypes = _.uniq thangTypes, false, 'original'
thangTypes = _.reject thangTypes, kind: 'Mark'
groupMap = {}
for thangType in thangTypes
groupMap[thangType.kind] ?= []
groupMap[thangType.kind].push thangType
groups = []
for groupName in Object.keys(groupMap).sort()
someThangTypes = groupMap[groupName]
someThangTypes = _.sortBy someThangTypes, 'name'
group =
name: groupName
thangs: someThangTypes
groups.push group
context.thangTypes = thangTypes
context.groups = groups
context
afterRender: ->
return if @startsLoading
super()
runSearch: (e) =>
if e?.which is 27
@onEscapePressed()
term = @$el.find('input#thang-search').val()
return unless term isnt @lastSearch
@searchModels = @thangTypes.filter (model) ->
return true unless term
regExp = new RegExp term, 'i'
return model.get('name').match regExp
@render()
@$el.find('input#thang-search').focus().val(term)
@lastSearch = term
onEscapePressed: ->
@$el.find('input#thang-search').val("")
@runSearch

View file

@ -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'

View file

@ -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

View file

@ -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()

View file

@ -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

View file

@ -1,4 +1,5 @@
View = require 'views/kinds/CocoView'
AddThangsView = require './add_thangs_view'
thangs_template = require 'templates/editor/level/thangs_tab'
Level = require 'models/Level'
ThangType = require 'models/ThangType'
@ -104,12 +105,20 @@ 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 - 80)
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
@addThangsView = @insertSubView new AddThangsView world: @world, supermodel: @supermodel
onFilterExtantThangs: (e) ->
@$el.find('#extant-thangs-filter button.active').button('toggle')
@ -145,6 +154,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)
@ -218,7 +230,9 @@ module.exports = class ThangsTabView extends View
@selectedExtantThangClickTime = new Date()
treemaThang = _.find @thangsTreema.childrenTreemas, (treema) => treema.data.id is @selectedExtantThang.id
if treemaThang
treemaThang.select() unless treemaThang.isSelected()
if not treemaThang.isSelected()
treemaThang.select()
@thangsTreema.$el.scrollTop(@thangsTreema.$el.find('.treema-children .treema-selected')[0].offsetTop)
else if @addThangSprite
# We clicked on the background when we had an add Thang selected, so add it
@addThang @addThangType, @addThangSprite.thang.pos

View file

@ -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: ->

View file

@ -8,7 +8,7 @@ Simulator = require 'lib/simulator/Simulator'
module.exports = class HomeView extends View
id: 'home-view'
template: template
constructor: ->
super(arguments...)
ThangType.loadUniversalWizard()
@ -31,14 +31,12 @@ module.exports = class HomeView extends View
$('input:visible:first', @).focus()
# Try to find latest level and set "Play" link to go to that level
if localStorage?
lastLevel = localStorage["lastLevel"]
if lastLevel? and lastLevel isnt ""
playLink = @$el.find("#beginner-campaign")
if playLink[0]?
href = playLink.attr("href").split("/")
href[href.length-1] = lastLevel if href.length isnt 0
href = href.join("/")
playLink.attr("href", href)
else
console.log("TODO: Insert here code to get latest level played from the database. If this can't be found, we just let the user play the first level.")
lastLevel = me.get("lastLevel")
lastLevel ?= localStorage?["lastLevel"] # Temp, until it's migrated to user property
if lastLevel
playLink = @$el.find("#beginner-campaign")
if playLink[0]?
href = playLink.attr("href").split("/")
href[href.length-1] = lastLevel if href.length isnt 0
href = href.join("/")
playLink.attr("href", href)

View file

@ -38,7 +38,8 @@ module.exports = class RootView extends CocoView
location.hash = ''
location.hash = hash
@buildLanguages()
#@$('.antiscroll-wrap').antiscroll() # not yet, buggy
afterRender: ->
super(arguments...)
@chooseTab(location.hash.replace('#','')) if location.hash

View file

@ -53,6 +53,7 @@ module.exports = class ThangTypeHomeView extends View
hash = document.location.hash[1..]
searchInput = @$el.find('#search')
searchInput.val(hash) if hash?
delete @collection?.term
searchInput.trigger('change')
searchInput.focus()

View file

@ -19,27 +19,75 @@ module.exports = class LadderTabView extends CocoView
id: 'ladder-tab-view'
template: require 'templates/play/ladder/ladder_tab'
startsLoading: true
events:
'click .connect-facebook': 'onConnectFacebook'
subscriptions:
'facebook-logged-in': 'onConnectedWithFacebook'
constructor: (options, @level, @sessions) ->
super(options)
@teams = teamDataFromLevel @level
@leaderboards = {}
@refreshLadder()
@checkFriends()
onConnectFacebook: ->
@connecting = true
FB.login()
onConnectedWithFacebook: ->
location.reload() if @connecting
checkFriends: ->
@loadingFriends = true
FB.getLoginStatus (response) =>
@facebookStatus = response.status
if @facebookStatus is 'connected'
@loadFriendSessions()
else
@loadingFriends = false
@renderMaybe()
loadFriendSessions: ->
FB.api '/me/friends', (response) =>
@facebookData = response.data
console.log 'got facebookData', @facebookData
levelFrag = "#{@level.get('original')}.#{@level.get('version').major}"
url = "/db/level/#{levelFrag}/leaderboard_friends"
$.ajax url, {
data: { friendIDs: (f.id for f in @facebookData) }
method: 'POST'
success: @facebookFriendsLoaded
}
facebookFriendsLoaded: (result) =>
friendsMap = {}
friendsMap[friend.id] = friend.name for friend in @facebookData
for friend in result
friend.facebookName = friendsMap[friend.facebookID]
friend.otherTeam = if friend.team is 'humans' then 'ogres' else 'humans'
@friends = result
@loadingFriends = false
@renderMaybe()
refreshLadder: ->
promises = []
for team in @teams
@leaderboards[team.id]?.off 'sync'
# teamSession = _.find @sessions.models, (session) -> session.get('team') is team.id
teamSession = null
# console.log "Team session: #{JSON.stringify teamSession}"
teamSession = _.find @sessions.models, (session) -> session.get('team') is team.id
@leaderboards[team.id] = new LeaderboardData(@level, team.id, teamSession)
@leaderboards[team.id].once 'sync', @onLeaderboardLoaded, @
onLeaderboardLoaded: -> @renderMaybe()
promises.push @leaderboards[team.id].promise
@loadingLeaderboards = true
$.when(promises...).then(@leaderboardsLoaded)
leaderboardsLoaded: =>
@loadingLeaderboards = false
@renderMaybe()
renderMaybe: ->
leaderboardModels = _.values(@leaderboards)
return unless _.every leaderboardModels, (loader) -> loader.loaded
return if @loadingFriends or @loadingLeaderboards
@startsLoading = false
@render()
@ -50,56 +98,51 @@ module.exports = class LadderTabView extends CocoView
ctx.teams = @teams
team.leaderboard = @leaderboards[team.id] for team in @teams
ctx.levelID = @levelID
ctx.friends = @friends
ctx.onFacebook = @facebookStatus is 'connected'
ctx
class LeaderboardData
constructor: (@level, @team, @session) ->
_.extend @, Backbone.Events
limit = 200 # if @session then 10 else 20 # We need to figure out paging.
@topPlayers = new LeaderboardCollection(@level, {order:-1, scoreOffset: HIGHEST_SCORE, team: @team, limit: limit})
@topPlayers.fetch()
@topPlayers.comparator = (model) ->
return -model.get('totalScore')
@topPlayers.sort()
@topPlayers = new LeaderboardCollection(@level, {order:-1, scoreOffset: HIGHEST_SCORE, team: @team, limit: 20})
promises = []
promises.push @topPlayers.fetch()
@topPlayers.once 'sync', @onceLeaderboardPartLoaded, @
@topPlayers.once 'sync', @leaderboardPartLoaded, @
if @session
score = @session.get('totalScore') or 10
@playersAbove = new LeaderboardCollection(@level, {order:1, scoreOffset: score, limit: 4, team: @team})
promises.push @playersAbove.fetch()
@playersAbove.once 'sync', @onceLeaderboardPartLoaded, @
@playersBelow = new LeaderboardCollection(@level, {order:-1, scoreOffset: score, limit: 4, team: @team})
promises.push @playersBelow.fetch()
@playersBelow.once 'sync', @onceLeaderboardPartLoaded, @
level = "#{level.get('original')}.#{level.get('version').major}"
success = (@myRank) =>
promises.push $.ajax "/db/level/#{level}/leaderboard_rank?scoreOffset=#{@session.get('totalScore')}&team=#{@team}", {success}
@promise = $.when(promises...)
@promise.then @onLoad
@promise
# if @session
# score = @session.get('totalScore') or 25
# @playersAbove = new LeaderboardCollection(@level, {order:1, scoreOffset: score, limit: 4, team: @team})
# @playersAbove.fetch()
# @playersAbove.once 'sync', @leaderboardPartLoaded, @
# @playersBelow = new LeaderboardCollection(@level, {order:-1, scoreOffset: score, limit: 4, team: @team})
# @playersBelow.fetch()
# @playersBelow.once 'sync', @leaderboardPartLoaded, @
leaderboardPartLoaded: ->
# Forget loading the up-to-date names, that's way too slow for something that refreshes all the time, we learned.
onLoad: =>
@loaded = true
@trigger 'sync'
return
if @session
if @topPlayers.loaded # and @playersAbove.loaded and @playersBelow.loaded
@loaded = true
@fetchNames()
else
@loaded = true
@fetchNames()
# TODO: cache user ids -> names mapping, and load them here as needed,
# and apply them to sessions. Fetching each and every time is too costly.
fetchNames: ->
sessionCollections = [@topPlayers, @playersAbove, @playersBelow]
sessionCollections = (s for s in sessionCollections when s)
ids = []
for collection in sessionCollections
ids.push model.get('creator') for model in collection.models
inTopSessions: ->
return me.id in (session.attributes.creator for session in @topPlayers.models)
success = (nameMap) =>
for collection in sessionCollections
session.set('creatorName', nameMap[session.get('creator')]) for session in collection.models
@trigger 'sync'
$.ajax('/db/user/-/names', {
data: {ids: ids}
type: 'POST'
success: success
})
nearbySessions: ->
return [] unless @session
l = []
above = @playersAbove.models
above.reverse()
l = l.concat(above)
l.push @session
l = l.concat(@playersBelow.models)
if @myRank
startRank = @myRank - 4
session.rank = startRank + i for session, i in l
l

View file

@ -88,8 +88,8 @@ module.exports = class MyMatchesTabView extends CocoView
# Let's try being independent of time.
times = (i for s, i in scoreHistory)
scores = (s[1] for s in scoreHistory)
lowest = _.min scores.concat([0])
highest = _.max scores.concat(50)
lowest = _.min scores #.concat([0])
highest = _.max scores #.concat(50)
scores = (Math.round(100 * (s - lowest) / (highest - lowest)) for s in scores)
team.chartData = times.join(',') + '|' + scores.join(',')
team.minScore = Math.round(100 * lowest)

View file

@ -72,17 +72,18 @@ 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) or @startsLoading
@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
@fetchSessionsAndRefreshViews() unless e.idle
# Simulations

View file

@ -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')

View file

@ -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

View file

@ -32,8 +32,7 @@ module.exports = class CastButtonView extends View
@castOptions = $('.autocast-delays', @$el)
@castButton.on 'click', @onCastButtonClick
@castOptions.find('a').on 'click', @onCastOptionsClick
# TODO: use a User setting instead of localStorage
delay = localStorage.getItem 'autocastDelay'
delay = me.get('autocastDelay')
delay ?= 5000
if @levelID in ['brawlwood', 'brawlwood-tutorial', 'dungeon-arena', 'dungeon-arena-tutorial']
delay = 90019001
@ -88,7 +87,8 @@ module.exports = class CastButtonView extends View
#console.log "Set autocast delay to", delay
return unless delay
@autocastDelay = delay = parseInt delay
localStorage.setItem 'autocastDelay', delay
me.set('autocastDelay', delay)
me.save()
spell.view.setAutocastDelay delay for spellKey, spell of @spells
@castOptions.find('a').each ->
$(@).toggleClass('selected', parseInt($(@).attr('data-delay')) is delay)

View file

@ -154,7 +154,9 @@ module.exports = class PlayLevelView extends View
return Backbone.Mediator.subscribeOnce 'modal-closed', @onLevelLoaderLoaded, @
# Save latest level played in local storage
localStorage["lastLevel"] = @levelID if localStorage? and not (@levelLoader.level.get('type') in ['ladder', 'ladder-tutorial'])
if not (@levelLoader.level.get('type') in ['ladder', 'ladder-tutorial'])
me.set('lastLevel', @levelID)
me.save()
@grabLevelLoaderData()
team = @getQueryVariable("team") ? @world.teamForPlayer(0)
@loadOpponentTeam(team)
@ -167,7 +169,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()

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