mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-23 23:58:02 -05:00
Merge github.com:codecombat/codecombat
This commit is contained in:
commit
131b963bfb
97 changed files with 4042 additions and 455 deletions
|
@ -28,8 +28,8 @@ preload = (arrayOfImages) ->
|
|||
Application = initialize: ->
|
||||
Router = require('lib/Router')
|
||||
@tracker = new Tracker()
|
||||
new FacebookHandler()
|
||||
new GPlusHandler()
|
||||
@facebookHandler = new FacebookHandler()
|
||||
@gplusHandler = new GPlusHandler()
|
||||
$(document).bind 'keydown', preventBackspace
|
||||
|
||||
preload(COMMON_FILES)
|
||||
|
|
BIN
app/assets/images/pages/base/logo_square_250.png
Normal file
BIN
app/assets/images/pages/base/logo_square_250.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
|
@ -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! -->
|
||||
|
@ -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 -->
|
||||
|
|
|
@ -2,6 +2,7 @@ CocoClass = require 'lib/CocoClass'
|
|||
{me, CURRENT_USER_KEY} = require 'lib/auth'
|
||||
{backboneFailure} = require 'lib/errors'
|
||||
storage = require 'lib/storage'
|
||||
GPLUS_TOKEN_KEY = 'gplusToken'
|
||||
|
||||
# gplus user object props to
|
||||
userPropsToSave =
|
||||
|
@ -14,19 +15,46 @@ fieldsToFetch = 'displayName,gender,image,name(familyName,givenName),id'
|
|||
plusURL = '/plus/v1/people/me?fields='+fieldsToFetch
|
||||
revokeUrl = 'https://accounts.google.com/o/oauth2/revoke?token='
|
||||
clientID = "800329290710-j9sivplv2gpcdgkrsis9rff3o417mlfa.apps.googleusercontent.com"
|
||||
scope = "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email"
|
||||
|
||||
module.exports = GPlusHandler = class GPlusHandler extends CocoClass
|
||||
constructor: ->
|
||||
@accessToken = storage.load GPLUS_TOKEN_KEY
|
||||
super()
|
||||
|
||||
subscriptions:
|
||||
'gplus-logged-in':'onGPlusLogin'
|
||||
'gapi-loaded':'onGPlusLoaded'
|
||||
|
||||
onGPlusLoaded: ->
|
||||
session_state = null
|
||||
if @accessToken
|
||||
# We need to check the current state, given our access token
|
||||
gapi.auth.setToken 'token', @accessToken
|
||||
session_state = @accessToken.session_state
|
||||
gapi.auth.checkSessionState({client_id:clientID, session_state:session_state}, @onCheckedSessionState)
|
||||
else
|
||||
# If we ran checkSessionState, it might return true, that the user is logged into Google, but has not authorized us
|
||||
@loggedIn = false
|
||||
func = => @trigger 'checked-state'
|
||||
setTimeout func, 1
|
||||
|
||||
onCheckedSessionState: (@loggedIn) =>
|
||||
@trigger 'checked-state'
|
||||
|
||||
reauthorize: ->
|
||||
params =
|
||||
'client_id' : clientID
|
||||
'scope' : scope
|
||||
gapi.auth.authorize params, @onGPlusLogin
|
||||
|
||||
onGPlusLogin: (e) =>
|
||||
return if e._aa # this seems to show that it was auto generated on page load
|
||||
return if not me
|
||||
@accessToken = e.access_token
|
||||
|
||||
@loggedIn = true
|
||||
storage.save(GPLUS_TOKEN_KEY, e)
|
||||
@accessToken = e
|
||||
@trigger 'logged-in'
|
||||
return if (not me) or me.get 'gplusID' # so only get more data
|
||||
|
||||
# email and profile data loaded separately
|
||||
@responsesComplete = 0
|
||||
gapi.client.request(path:plusURL, callback:@onPersonEntityReceived)
|
||||
|
@ -68,11 +96,22 @@ module.exports = GPlusHandler = class GPlusHandler extends CocoClass
|
|||
patch[key] = me.get(key) for gplusKey, key of userPropsToSave
|
||||
patch._id = me.id
|
||||
patch.email = me.get('email')
|
||||
wasAnonymous = me.get('anonymous')
|
||||
me.save(patch, {
|
||||
patch: true
|
||||
error: backboneFailure,
|
||||
url: "/db/user?gplusID=#{gplusID}&gplusAccessToken=#{@accessToken}"
|
||||
url: "/db/user?gplusID=#{gplusID}&gplusAccessToken=#{@accessToken.access_token}"
|
||||
success: (model) ->
|
||||
storage.save(CURRENT_USER_KEY, model.attributes)
|
||||
window.location.reload()
|
||||
window.location.reload() if wasAnonymous and not model.get('anonymous')
|
||||
})
|
||||
|
||||
loadFriends: (friendsCallback) ->
|
||||
return friendsCallback() unless @loggedIn
|
||||
expires_in = if @accessToken then parseInt(@accessToken.expires_at) - new Date().getTime()/1000 else -1
|
||||
onReauthorized = => gapi.client.request({path:'/plus/v1/people/me/people/visible', callback: friendsCallback})
|
||||
if expires_in < 0
|
||||
@reauthorize()
|
||||
@listenToOnce(@, 'logged-in', onReauthorized)
|
||||
else
|
||||
onReauthorized()
|
||||
|
|
|
@ -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.'
|
||||
|
@ -229,9 +231,8 @@ module.exports = class Simulator extends CocoClass
|
|||
createAether: (methodName, method) ->
|
||||
aetherOptions =
|
||||
functionName: methodName
|
||||
protectAPI: false
|
||||
protectAPI: true
|
||||
includeFlow: false
|
||||
#includeFlow: true
|
||||
requiresThis: true
|
||||
yieldConditionally: false
|
||||
problems:
|
||||
|
|
|
@ -252,8 +252,15 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
return
|
||||
scaleX = if @getActionProp 'flipX' then -1 else 1
|
||||
scaleY = if @getActionProp 'flipY' then -1 else 1
|
||||
if @thangType.get('name') is 'Arrow'
|
||||
# scale the arrow so it appears longer when flying parallel to horizon
|
||||
if @thang.maximizesArc and @thangType.get('name') in ['Arrow', 'Spear']
|
||||
# Scales the arrow so it appears longer when flying parallel to horizon.
|
||||
# To do that, we convert angle to [0, 90] (mirroring half-planes twice), then make linear function out of it:
|
||||
# (a - x) / a: equals 1 when x = 0, equals 0 when x = a, monotonous in between. That gives us some sort of
|
||||
# degenerative multiplier.
|
||||
# For our puproses, a = 90 - the direction straight upwards.
|
||||
# Then we use r + (1 - r) * x function with r = 0.5, so that
|
||||
# maximal scale equals 1 (when x is at it's maximum) and minimal scale is 0.5.
|
||||
# Notice that the value of r is empirical.
|
||||
angle = @getRotation()
|
||||
angle = -angle if angle < 0
|
||||
angle = 180 - angle if angle > 90
|
||||
|
@ -279,6 +286,24 @@ module.exports = CocoSprite = class CocoSprite extends CocoClass
|
|||
rotationType = @thangType.get('rotationType')
|
||||
return if rotationType is 'fixed'
|
||||
rotation = @getRotation()
|
||||
if @thang.maximizesArc and @thangType.get('name') in ['Arrow', 'Spear']
|
||||
# Rotates the arrow to see it arc based on velocity.z.
|
||||
# At midair we must see the original angle (delta = 0), but at launch time
|
||||
# and arrow must point upwards/downwards respectively.
|
||||
# The curve must consider two variables: speed and angle to camera:
|
||||
# higher angle -> higher steep
|
||||
# higher speed -> higher steep (0 at midpoint).
|
||||
# All constants are empirical. Notice that rotation here does not affect thang's state - it is just the effect.
|
||||
# Thang's rotation is always pointing where it is heading.
|
||||
velocity = @thang.velocity.z
|
||||
factor = rotation
|
||||
factor = -factor if factor < 0
|
||||
flip = 1
|
||||
if factor > 90
|
||||
factor = 180 - factor
|
||||
flip = -1 # when the arrow is on the left, 'up' means subtracting
|
||||
factor = Math.max(factor / 90, 0.4) # between 0.4 and 1.0
|
||||
rotation += flip * (velocity / 12) * factor * 45 # theoretically, 45 is the maximal delta we can make here
|
||||
imageObject ?= @imageObject
|
||||
return imageObject.rotation = rotation if not rotationType
|
||||
@updateIsometricRotation(rotation, imageObject)
|
||||
|
|
|
@ -418,6 +418,8 @@ module.exports = Surface = class Surface extends CocoClass
|
|||
@gridShape.alpha = 0.125
|
||||
@gridShape.graphics.beginStroke "blue"
|
||||
gridSize = Math.round(@world.size()[0] / 20)
|
||||
unless gridSize > 0.1
|
||||
return console.error "Grid size is", gridSize, "so we can't draw a grid."
|
||||
wopStart = x: 0, y: 0
|
||||
wopEnd = x: @world.size()[0], y: @world.size()[1]
|
||||
supStart = @camera.worldToSurface wopStart
|
||||
|
|
|
@ -286,10 +286,19 @@ module.exports.thangNames = thangNames =
|
|||
]
|
||||
"Potion Master": [
|
||||
"Snake"
|
||||
"Amaranth"
|
||||
"Zander"
|
||||
"Arora"
|
||||
]
|
||||
"Librarian": [
|
||||
"Hushbaum"
|
||||
"Matilda"
|
||||
"Agnes"
|
||||
"Agathe"
|
||||
]
|
||||
"Equestrian": [
|
||||
"Reynaldo"
|
||||
"Ryder"
|
||||
"Thoron"
|
||||
"Mirial"
|
||||
]
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "български език", englishDescri
|
|||
# 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 "
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa Malaysia", translation:
|
||||
common:
|
||||
module.exports = nativeDescription: "Català", englishDescription: "Catalan", translation:
|
||||
# common:
|
||||
# loading: "Loading..."
|
||||
# saving: "Saving..."
|
||||
# sending: "Sending..."
|
||||
cancel: "Batal"
|
||||
# cancel: "Cancel"
|
||||
# save: "Save"
|
||||
# delay_1_sec: "1 second"
|
||||
# delay_3_sec: "3 seconds"
|
||||
# delay_5_sec: "5 seconds"
|
||||
# manual: "Manual"
|
||||
# fork: "Fork"
|
||||
play: "bermain"
|
||||
# play: "Play"
|
||||
|
||||
modal:
|
||||
close: "Tutup"
|
||||
okay: "Ok"
|
||||
# modal:
|
||||
# close: "Close"
|
||||
# okay: "Okay"
|
||||
|
||||
not_found:
|
||||
page_not_found: "Halaman tidak ditemui"
|
||||
# not_found:
|
||||
# page_not_found: "Page not found"
|
||||
|
||||
nav:
|
||||
play: "bermain"
|
||||
# nav:
|
||||
# play: "Levels"
|
||||
# editor: "Editor"
|
||||
# blog: "Blog"
|
||||
# forum: "Forum"
|
||||
# admin: "Admin"
|
||||
home: "Halaman"
|
||||
contribute: "Sumbangan"
|
||||
legal: "Undang- undang"
|
||||
about: "Tentang"
|
||||
contact: "Hubungi"
|
||||
# home: "Home"
|
||||
# contribute: "Contribute"
|
||||
# legal: "Legal"
|
||||
# about: "About"
|
||||
# contact: "Contact"
|
||||
# twitter_follow: "Follow"
|
||||
# employers: "Employers"
|
||||
|
||||
|
@ -41,25 +41,25 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# cla_suffix: "."
|
||||
# cla_agree: "I AGREE"
|
||||
|
||||
login:
|
||||
sign_up: "Buat Akaun"
|
||||
log_in: "Log Masuk"
|
||||
log_out: "Log Keluar"
|
||||
recover: "perbaharui akaun"
|
||||
# login:
|
||||
# sign_up: "Create Account"
|
||||
# log_in: "Log In"
|
||||
# log_out: "Log Out"
|
||||
# recover: "recover account"
|
||||
|
||||
# recover:
|
||||
# recover_account_title: "Recover Account"
|
||||
# send_password: "Send Recovery Password"
|
||||
|
||||
signup:
|
||||
# signup:
|
||||
# create_account_title: "Create Account to Save Progress"
|
||||
description: "Ianya percuma. Hanya berberapa langkah sahaja:"
|
||||
email_announcements: "Terima pengesahan melalui Emel"
|
||||
coppa: "13+ atau bukan- USA"
|
||||
coppa_why: "(Kenapa?)"
|
||||
creating: "Membuat Akaun..."
|
||||
sign_up: "Daftar"
|
||||
log_in: "log masuk"
|
||||
# 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"
|
||||
|
||||
# home:
|
||||
# slogan: "Learn to Code JavaScript by Playing a Game"
|
||||
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# 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:
|
||||
|
@ -104,8 +104,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
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."
|
||||
pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Catalan, 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 Catalan."
|
||||
missing_translations: "Until we can translate everything into Catalan, you'll see English when Catalan isn't available."
|
||||
# learn_more: "Learn more about being a Diplomat"
|
||||
# subscribe_as_diplomat: "Subscribe as a Diplomat"
|
||||
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# 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"
|
||||
|
@ -286,9 +301,9 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# edit_btn_preview: "Preview"
|
||||
# edit_article_title: "Edit Article"
|
||||
|
||||
general:
|
||||
# general:
|
||||
# and: "and"
|
||||
name: "Nama"
|
||||
# name: "Name"
|
||||
# body: "Body"
|
||||
# version: "Version"
|
||||
# commit_msg: "Commit Message"
|
||||
|
@ -297,10 +312,10 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# result: "Result"
|
||||
# results: "Results"
|
||||
# description: "Description"
|
||||
or: "atau"
|
||||
email: "Emel"
|
||||
# or: "or"
|
||||
# email: "Email"
|
||||
# password: "Password"
|
||||
message: "Mesej"
|
||||
# message: "Message"
|
||||
# code: "Code"
|
||||
# ladder: "Ladder"
|
||||
# when: "When"
|
||||
|
@ -335,7 +350,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# nick_description: "Programming wizard, eccentric motivation mage, and upside-down experimenter. Nick can do anything and chooses to build CodeCombat."
|
||||
# jeremy_description: "Customer support mage, usability tester, and community organizer; you've probably already spoken with Jeremy."
|
||||
# michael_description: "Programmer, sys-admin, and undergrad technical wunderkind, Michael is the person keeping our servers online."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
|
|||
# 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 "
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
|
|||
campaign_player_created: "Uživatelsky vytvořené úrovně"
|
||||
campaign_player_created_description: "...ve kterých bojujete proti kreativitě ostatních <a href=\"/contribute#artisan\">Zdatných Kouzelníků</a>."
|
||||
level_difficulty: "Obtížnost: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Administrátorský pohled"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
|
|||
av_other_debug_base_url: "Base (pro debugování base.jade)"
|
||||
u_title: "Seznam uživatelů"
|
||||
lg_title: "Poslední hry"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Editory CodeCombatu"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "Licence"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", 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 "
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
|
|||
# av_other_debug_base_url: "Base (for debugging base.jade)"
|
||||
u_title: "Brugerliste"
|
||||
lg_title: "Seneste spil"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
# main_title: "CodeCombat Editors"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
|
|||
# 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 "
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
editor_config_indentguides_description: "Zeigt vertikale Linien an um Einrückungen besser zu sehen."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Administrator Übersicht"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
# av_other_debug_base_url: "Base (for debugging base.jade)"
|
||||
u_title: "Benutzerliste"
|
||||
lg_title: "Letzte Spiele"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "CodeCombat Editoren"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "Rechtliches"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
|
|||
# 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: "Δυσκολία: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
|
|||
# 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 "
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
campaign_player_created: "Creaciones de los Jugadores"
|
||||
campaign_player_created_description: "... en las que luchas contra la creatividad de tus compañeros <a href=\"/contribute#artisa\">Magos Artesanos</a>."
|
||||
level_difficulty: "Dificultad: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
# av_other_debug_base_url: "Base (for debugging base.jade)"
|
||||
u_title: "Lista de Usuarios"
|
||||
lg_title: "Últimos Juegos"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Editores de CodeCombat"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
|
|||
# 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 "
|
||||
|
|
|
@ -225,8 +225,22 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
admin:
|
||||
# av_title: "Admin Views"
|
||||
# av_entities_sub_title: "Entities"
|
||||
av_entities_users_url: "Usuarios"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
# av_other_debug_base_url: "Base (for debugging base.jade)"
|
||||
u_title: "Lista de usuario"
|
||||
lg_title: "Últimos juegos"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
# main_title: "CodeCombat Editors"
|
||||
|
@ -282,7 +297,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
# thang_search_title: "Search Thang Types Here"
|
||||
# level_search_title: "Search Levels Here"
|
||||
|
||||
# article:
|
||||
article:
|
||||
edit_btn_preview: "Previsualizar"
|
||||
edit_article_title: "Editar artículo"
|
||||
|
||||
|
@ -314,9 +329,9 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
medium: "Medio"
|
||||
hard: "Difíficl"
|
||||
|
||||
# about:
|
||||
# who_is_codecombat: "¿Quién es CodeCombat?"
|
||||
# why_codecombat: "¿Por qué CodeCombat?"
|
||||
about:
|
||||
who_is_codecombat: "¿Quién es CodeCombat?"
|
||||
why_codecombat: "¿Por qué 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."
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -398,7 +413,7 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
# 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."
|
||||
|
||||
# contribute:
|
||||
contribute:
|
||||
# page_title: "Contributing"
|
||||
# character_classes_title: "Character Classes"
|
||||
# introduction_desc_intro: "We have high hopes for CodeCombat."
|
||||
|
@ -508,13 +523,15 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t
|
|||
# counselor_title: "Counselor"
|
||||
# counselor_title_description: "(Expert/Teacher)"
|
||||
|
||||
# ladder:
|
||||
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"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
# leaderboard: "Leaderboard"
|
||||
# battle_as: "Battle as "
|
||||
# summary_your: "Your "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
campaign_player_created: "ایجاد بازیکن"
|
||||
campaign_player_created_description: "... جایی که در مقابل خلاقیت نیرو هاتون قرار میگیرید <a href=\"/contribute#artisan\">جادوگران آرتیزان</a>."
|
||||
level_difficulty: "سختی: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
|
|||
# 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 "
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
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."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Vues d'administrateurs"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
av_other_debug_base_url: "Base (pour debugger base.jade)"
|
||||
u_title: "Liste des utilisateurs"
|
||||
lg_title: "Dernières parties"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Éditeurs CodeCombat"
|
||||
|
@ -335,7 +350,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
nick_description: "Assistant programmeur, mage à la motivation excentrique, et bidouilleur de l'extrême. Nick peut faire n'importe quoi mais il a choisi CodeCombat."
|
||||
jeremy_description: "Mage de l'assistance client, testeur de maniabilité, et community manager; vous avez probablement déjà parlé avec Jeremy."
|
||||
michael_description: "Programmeur, administrateur réseau, et l'enfant prodige du premier cycle, Michael est la personne qui maintient nos serveurs en ligne."
|
||||
# glen_description: "Programmer and passionate game developer, with the motivation to make this world a better place, by developing things that mather. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
# 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: "Légal"
|
||||
|
@ -509,12 +524,14 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
counselor_title_description: "(Expert/Professeur)"
|
||||
|
||||
ladder:
|
||||
# please_login: "Identifie toi avant de jouer à un ladder game."
|
||||
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"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
leaderboard: "Classement"
|
||||
battle_as: "Combattre comme "
|
||||
summary_your: "Vos "
|
||||
|
@ -540,7 +557,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
|
|||
warmup: "Préchauffe"
|
||||
vs: "VS"
|
||||
|
||||
# multiplayer_launch:
|
||||
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!"
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
campaign_player_created: "Játékosok pályái"
|
||||
campaign_player_created_description: "...melyekben <a href=\"/contribute#artisan\">Művészi Varázsló</a> társaid ellen kűzdhetsz."
|
||||
level_difficulty: "Nehézség: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
# av_other_debug_base_url: "Base (for debugging base.jade)"
|
||||
# u_title: "User List"
|
||||
# lg_title: "Latest Games"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "CodeCombat szerkesztők"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
|
|||
# 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 "
|
||||
|
|
|
@ -66,12 +66,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
no_ie: "CodeCombat non supporta Internet Explorer 9 o browser precedenti. Ci dispiace!"
|
||||
no_mobile: "CodeCombat non è stato progettato per dispositivi mobile e potrebbe non funzionare!"
|
||||
play: "Gioca"
|
||||
# old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!"
|
||||
# old_browser_suffix: "You can try anyway, but it probably won't work."
|
||||
# campaign: "Campaign"
|
||||
# for_beginners: "For Beginners"
|
||||
old_browser: "Accidenti, il tuo browser è troppo vecchio per giocare a CodeCombat. Mi spiace!"
|
||||
old_browser_suffix: "Puoi provare lo stesso, ma probabilmente non funzionerà."
|
||||
campaign: "Campagna"
|
||||
for_beginners: "Per Principianti"
|
||||
# multiplayer: "Multiplayer"
|
||||
# for_developers: "For Developers"
|
||||
for_developers: "Per Sviluppatori"
|
||||
|
||||
play:
|
||||
choose_your_level: "Scegli il tuo livello"
|
||||
|
@ -88,7 +88,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
campaign_player_created_description: "... nei quali affronterai la creatività dei tuoi compagni <a href=\"/contribute#artisan\">Stregoni Artigiani</a>."
|
||||
level_difficulty: "Difficoltà: "
|
||||
play_as: "Gioca come "
|
||||
# spectate: "Spectate"
|
||||
spectate: "Spettatore"
|
||||
|
||||
contact:
|
||||
contact_us: "Contatta CodeCombat"
|
||||
|
@ -187,8 +187,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
victory_sign_up: "Registrati per gli aggiornamenti"
|
||||
victory_sign_up_poke: "Vuoi ricevere le ultime novità per email? Crea un account gratuito e ti terremo aggiornato!"
|
||||
victory_rate_the_level: "Vota il livello: "
|
||||
# victory_rank_my_game: "Rank My Game"
|
||||
# victory_ranking_game: "Submitting..."
|
||||
victory_rank_my_game: "Valuta la mia partita"
|
||||
victory_ranking_game: "Inviando..."
|
||||
# victory_return_to_ladder: "Return to Ladder"
|
||||
victory_play_next_level: "Gioca il prossimo livello"
|
||||
victory_go_home: "Torna alla pagina iniziale"
|
||||
|
@ -212,8 +212,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
tome_select_a_thang: "Seleziona qualcuno per "
|
||||
tome_available_spells: "Incantesimi disponibili"
|
||||
hud_continue: "Continua (premi Maiusc-Spazio)"
|
||||
# spell_saved: "Spell Saved"
|
||||
# skip_tutorial: "Skip (esc)"
|
||||
spell_saved: "Magia Salvata"
|
||||
skip_tutorial: "Salta (esc)"
|
||||
# editor_config: "Editor Config"
|
||||
# editor_config_title: "Editor Configuration"
|
||||
# editor_config_keybindings_label: "Key Bindings"
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Vista amministratore"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
av_other_debug_base_url: "Base (for debugging base.jade)"
|
||||
u_title: "Lista utenti"
|
||||
lg_title: "Ultime partite"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Editor di CodeCombat"
|
||||
|
@ -299,23 +314,23 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
description: "Descrizione"
|
||||
or: "o"
|
||||
email: "Email"
|
||||
# password: "Password"
|
||||
password: "Password"
|
||||
message: "Messaggio"
|
||||
# code: "Code"
|
||||
code: "Codice"
|
||||
# ladder: "Ladder"
|
||||
# when: "When"
|
||||
# opponent: "Opponent"
|
||||
when: "Quando"
|
||||
opponent: "Avversario"
|
||||
# rank: "Rank"
|
||||
# score: "Score"
|
||||
# win: "Win"
|
||||
# loss: "Loss"
|
||||
score: "Punteggio"
|
||||
win: "Vittoria"
|
||||
loss: "Sconfitta"
|
||||
# tie: "Tie"
|
||||
# easy: "Easy"
|
||||
# medium: "Medium"
|
||||
# hard: "Hard"
|
||||
easy: "Facile"
|
||||
medium: "Medio"
|
||||
hard: "Difficile"
|
||||
|
||||
about:
|
||||
who_is_codecombat: "Chi c'è inCodeCombat?"
|
||||
who_is_codecombat: "Chi c'è in CodeCombat?"
|
||||
why_codecombat: "Perché CodeCombat?"
|
||||
who_description_prefix: "insieme hanno iniziato CodeCombat nel 2013. Abbiamo anche creato "
|
||||
who_description_suffix: "nel 2008, portandola al primo posto nelle applicazioni web e iOS per imparare a scrivere i caratteri cinesi e giapponesi."
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "Questioni legali"
|
||||
|
@ -511,10 +526,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
# ladder:
|
||||
# please_login: "Please log in first before playing a ladder game."
|
||||
# my_matches: "My Matches"
|
||||
# simulate: "Simulate"
|
||||
simulate: "Simula"
|
||||
# simulation_explanation: "By simulating games you can get your game ranked faster!"
|
||||
# simulate_games: "Simulate Games!"
|
||||
# simulate_all: "RESET AND SIMULATE GAMES"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
# leaderboard: "Leaderboard"
|
||||
# battle_as: "Battle as "
|
||||
# summary_your: "Your "
|
||||
|
@ -523,22 +540,22 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
|
|||
# summary_losses: " Losses"
|
||||
# rank_no_code: "No New Code to Rank"
|
||||
# rank_my_game: "Rank My Game!"
|
||||
# rank_submitting: "Submitting..."
|
||||
# rank_submitted: "Submitted for Ranking"
|
||||
# rank_failed: "Failed to Rank"
|
||||
# rank_being_ranked: "Game Being Ranked"
|
||||
# code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in."
|
||||
# no_ranked_matches_pre: "No ranked matches for the "
|
||||
# no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked."
|
||||
# choose_opponent: "Choose an Opponent"
|
||||
# tutorial_play: "Play Tutorial"
|
||||
# tutorial_recommended: "Recommended if you've never played before"
|
||||
# tutorial_skip: "Skip Tutorial"
|
||||
# tutorial_not_sure: "Not sure what's going on?"
|
||||
# tutorial_play_first: "Play the Tutorial first."
|
||||
rank_submitting: "Inviando..."
|
||||
rank_submitted: "Inviato per essere Valutato"
|
||||
rank_failed: "Impossibile Valutare"
|
||||
rank_being_ranked: "Il Gioco è stato Valutato"
|
||||
code_being_simulated: "Il tuo nuovo codice sarà simulato da altri giocatori per essere valutato. Sarà aggiornato ad ogni nuova partita."
|
||||
no_ranked_matches_pre: "Nessuna partita valutata per "
|
||||
no_ranked_matches_post: " squadra! Gioca contro altri avversari e poi torna qui affinchè la tua partita venga valutata."
|
||||
choose_opponent: "Scegli un avversario"
|
||||
tutorial_play: "Gioca il Tutorial"
|
||||
tutorial_recommended: "Consigliato se questa è la tua primissima partita"
|
||||
tutorial_skip: "Salta il Tutorial"
|
||||
tutorial_not_sure: "Non sei sicuro di quello che sta accadendo?"
|
||||
tutorial_play_first: "Prima di tutto gioca al Tutorial."
|
||||
# simple_ai: "Simple AI"
|
||||
# warmup: "Warmup"
|
||||
# vs: "VS"
|
||||
vs: "VS"
|
||||
|
||||
# multiplayer_launch:
|
||||
# introducing_dungeon_arena: "Introducing Dungeon Arena"
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# 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: "難易度: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "管理画面"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
|
|||
# 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 "
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
editor_config_indentguides_description: "들여쓰기 확인위해 세로줄 표시하기."
|
||||
editor_config_behaviors_label: "자동 기능"
|
||||
editor_config_behaviors_description: "괄호, 인용부호, 따옴표 자동 완성."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "관리자 뷰"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
av_other_debug_base_url: "베이스 (base.jade 디버깅)"
|
||||
u_title: "유저 목록"
|
||||
lg_title: "가장 최근 게임"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "코드 컴뱃 에디터들"
|
||||
|
@ -244,8 +259,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
thang_title: "Thang 에디터"
|
||||
thang_description: "유닛들, 기본적인 인공지능, 그래픽과 오디오등을 직접 빌드하세요. 현재는 백터 그래픽으로 추출된 플래시파일만 임폴트 가능합니다."
|
||||
level_title: "레벨 에디터"
|
||||
level_description: "스크립팅, 오디오 업로드, 모든 레벨을 생성하기 위한 사용자 정의 로직등 우리가 사용하는 모든 것들을 구축하는 것을 위한 툴들을 포함합니다.
|
||||
"
|
||||
level_description: "스크립팅, 오디오 업로드, 모든 레벨을 생성하기 위한 사용자 정의 로직등 우리가 사용하는 모든 것들을 구축하는 것을 위한 툴들을 포함합니다."
|
||||
security_notice: "이러한 에디터들의 중요한 특징들은 현재 대부분 기본적으로 제공되지 않습니다. 조만간 이런 시스템들의 안정성을 업그레이트 한후에, 이러한 기능들이 제공될 것입니다."
|
||||
contact_us: "연락하기!"
|
||||
hipchat_prefix: "당신은 또한 우리를 여기에서 찾을 수 있습니다 : "
|
||||
|
@ -336,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -516,6 +530,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
|
|||
# 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 "
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
|
|||
# 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 "
|
||||
|
|
572
app/locale/ms.coffee
Normal file
572
app/locale/ms.coffee
Normal file
|
@ -0,0 +1,572 @@
|
|||
module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa Malaysia", translation:
|
||||
common:
|
||||
loading: "Pemuatan..."
|
||||
saving: "Menyimpan data..."
|
||||
sending: "Menghantar maklumat.."
|
||||
cancel: "Batal"
|
||||
save: "Simpan data"
|
||||
# delay_1_sec: "1 second"
|
||||
# delay_3_sec: "3 seconds"
|
||||
# delay_5_sec: "5 seconds"
|
||||
# manual: "Manual"
|
||||
# fork: "Fork"
|
||||
play: "Mula"
|
||||
|
||||
modal:
|
||||
close: "Tutup"
|
||||
okay: "Ok"
|
||||
|
||||
not_found:
|
||||
page_not_found: "Halaman tidak ditemui"
|
||||
|
||||
nav:
|
||||
play: "Mula"
|
||||
# editor: "Editor"
|
||||
# blog: "Blog"
|
||||
# forum: "Forum"
|
||||
# admin: "Admin"
|
||||
home: "Halaman"
|
||||
contribute: "Sumbangan"
|
||||
legal: "Undang-undang"
|
||||
about: "Tentang"
|
||||
contact: "Hubungi"
|
||||
twitter_follow: "Ikuti"
|
||||
employers: "Majikan"
|
||||
|
||||
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: "SAYA SETUJU"
|
||||
|
||||
login:
|
||||
sign_up: "Buat Akaun"
|
||||
log_in: "Log Masuk"
|
||||
log_out: "Log Keluar"
|
||||
recover: "Perbaharui Akaun"
|
||||
|
||||
recover:
|
||||
recover_account_title: "Dapatkan Kembali Akaun"
|
||||
send_password: "Hantar kembali kata laluan"
|
||||
|
||||
signup:
|
||||
# create_account_title: "Create Account to Save Progress"
|
||||
description: "Ianya percuma. Hanya berberapa langkah sahaja:"
|
||||
email_announcements: "Terima pengesahan melalui Emel"
|
||||
coppa: "13+ atau bukan- USA"
|
||||
coppa_why: "(Kenapa?)"
|
||||
creating: "Sedang membuat Akaun..."
|
||||
sign_up: "Daftar"
|
||||
log_in: "Log Masuk"
|
||||
|
||||
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"
|
||||
# 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"
|
||||
# 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"
|
||||
|
||||
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: "Untuk perkara lain, sila cuba "
|
||||
forum_page: "forum kami"
|
||||
# forum_suffix: " instead."
|
||||
send: "Hantar Maklumbalas"
|
||||
|
||||
diplomat_suggestion:
|
||||
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:
|
||||
# title: "Wizard Settings"
|
||||
# customize_avatar: "Customize Your Avatar"
|
||||
# clothes: "Clothes"
|
||||
# trim: "Trim"
|
||||
# cloud: "Cloud"
|
||||
# spell: "Spell"
|
||||
# boots: "Boots"
|
||||
# hue: "Hue"
|
||||
# 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"
|
||||
# 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_profile:
|
||||
# edit_settings: "Edit Settings"
|
||||
profile_for_prefix: "Profil untuk "
|
||||
# profile_for_suffix: ""
|
||||
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: "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: "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: "
|
||||
# done: "Done"
|
||||
# grid: "Grid"
|
||||
# customize_wizard: "Customize Wizard"
|
||||
# home: "Home"
|
||||
# guide: "Guide"
|
||||
# multiplayer: "Multiplayer"
|
||||
# restart: "Restart"
|
||||
# goals: "Goals"
|
||||
# action_timeline: "Action Timeline"
|
||||
# click_to_select: "Click on a unit to select it."
|
||||
# reload_title: "Reload All Code?"
|
||||
# reload_really: "Are you sure you want to reload this level back to the beginning?"
|
||||
# reload_confirm: "Reload All"
|
||||
# victory_title_prefix: ""
|
||||
# victory_title_suffix: " Complete"
|
||||
# victory_sign_up: "Sign Up to Save Progress"
|
||||
# victory_sign_up_poke: "Want to save your code? Create a free account!"
|
||||
# victory_rate_the_level: "Rate the level: "
|
||||
# victory_rank_my_game: "Rank My Game"
|
||||
# victory_ranking_game: "Submitting..."
|
||||
# victory_return_to_ladder: "Return to Ladder"
|
||||
# victory_play_next_level: "Play Next Level"
|
||||
# victory_go_home: "Go Home"
|
||||
# victory_review: "Tell us more!"
|
||||
# victory_hour_of_code_done: "Are You Done?"
|
||||
# victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!"
|
||||
# multiplayer_title: "Multiplayer Settings"
|
||||
# multiplayer_link_description: "Give this link to anyone to have them join you."
|
||||
# multiplayer_hint_label: "Hint:"
|
||||
# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link."
|
||||
# multiplayer_coming_soon: "More multiplayer features to come!"
|
||||
# guide_title: "Guide"
|
||||
# tome_minion_spells: "Your Minions' Spells"
|
||||
# tome_read_only_spells: "Read-Only Spells"
|
||||
# tome_other_units: "Other Units"
|
||||
# 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: "Select a Spell"
|
||||
# tome_select_a_thang: "Select Someone for "
|
||||
# tome_available_spells: "Available Spells"
|
||||
# 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."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# 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"
|
||||
# clas: "CLAs"
|
||||
|
||||
# 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"
|
||||
|
||||
# article:
|
||||
# edit_btn_preview: "Preview"
|
||||
# edit_article_title: "Edit Article"
|
||||
|
||||
general:
|
||||
and: "dan"
|
||||
name: "Nama"
|
||||
# body: "Body"
|
||||
version: "Versi"
|
||||
commit_msg: "Mesej Commit"
|
||||
# history: "History"
|
||||
# version_history_for: "Version History for: "
|
||||
result: "Keputusan"
|
||||
results: "Keputusan-keputusan"
|
||||
description: "Deskripsi"
|
||||
or: "atau"
|
||||
email: "Emel"
|
||||
password: "Kata Laluan"
|
||||
message: "Mesej"
|
||||
code: "Kod"
|
||||
ladder: "Tangga"
|
||||
when: "Bila"
|
||||
opponent: "Penentang"
|
||||
# rank: "Rank"
|
||||
score: "Mata"
|
||||
win: "Menang"
|
||||
loss: "Kalah"
|
||||
tie: "Seri"
|
||||
# easy: "Easy"
|
||||
# medium: "Medium"
|
||||
# hard: "Hard"
|
||||
|
||||
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: "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 matter. The word impossible can't be found in his dictionary. Learning new skills is his joy!"
|
||||
|
||||
# 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 wizard–not 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."
|
||||
|
||||
# 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:"
|
||||
|
||||
# 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)"
|
||||
|
||||
# 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"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
# 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"
|
||||
|
||||
# multiplayer_launch:
|
||||
# introducing_dungeon_arena: "Introducing Dungeon Arena"
|
||||
# new_way: "March 17, 2014: The new way to compete with code."
|
||||
# to_battle: "To Battle, Developers!"
|
||||
# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here."
|
||||
# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here."
|
||||
# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even"
|
||||
# fork_our_arenas: "fork our arenas"
|
||||
# create_worlds: "and create your own worlds."
|
||||
# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
|
||||
# tutorial: "tutorial"
|
||||
# new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
|
||||
# so_ready: "I Am So Ready for This"
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
campaign_player_created: "Spiller-Lagde"
|
||||
campaign_player_created_description: "... hvor du kjemper mot kreativiteten til en av dine medspillende <a href=\"/contribute#artisan\">Artisan Trollmenn</a>."
|
||||
level_difficulty: "Vanskelighetsgrad: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
|
|||
# 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 "
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
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."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Administrator panels"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
av_other_debug_base_url: "Base (om base.jade te debuggen)"
|
||||
u_title: "Gebruikerslijst"
|
||||
lg_title: "Laatste Spelletjes"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "CodeCombat Editors"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
|
|||
simulation_explanation: "Door spellen te simuleren kan je zelf sneller beoordeeld worden!"
|
||||
simulate_games: "Simuleer spellen!"
|
||||
simulate_all: "RESET EN SIMULEER SPELLEN"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
leaderboard: "Leaderboard"
|
||||
battle_as: "Vecht als "
|
||||
summary_your: "Jouw "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
|
|||
campaign_player_created: "Spiller-Lagde"
|
||||
campaign_player_created_description: "... hvor du kjemper mot kreativiteten til en av dine medspillende <a href=\"/contribute#artisan\">Artisan Trollmenn</a>."
|
||||
level_difficulty: "Vanskelighetsgrad: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", 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 "
|
||||
|
|
|
@ -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"
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
editor_config_indentguides_description: "Wyświetla pionowe linie, by lepiej zaznaczyć wcięcia."
|
||||
editor_config_behaviors_label: "Inteligentne zachowania"
|
||||
editor_config_behaviors_description: "Autouzupełnianie nawiasów, klamer i cudzysłowów."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Panel administracyjny"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
av_other_debug_base_url: "Baza (do debuggingu base.jade)"
|
||||
u_title: "Lista użytkowników"
|
||||
lg_title: "Ostatnie gry"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Edytory CodeCombat"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
|
|||
simulation_explanation: "Symulując gry możesz szybciej uzyskać ocenę swojej gry!"
|
||||
simulate_games: "Symuluj gry!"
|
||||
simulate_all: "RESETUJ I SYMULUJ GRY"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
leaderboard: "Tabela rankingowa"
|
||||
battle_as: "Walcz jako "
|
||||
summary_your: "Twój "
|
||||
|
@ -540,16 +557,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 ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even"
|
||||
# fork_our_arenas: "fork our arenas"
|
||||
# create_worlds: "and create your own worlds."
|
||||
# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a"
|
||||
# tutorial: "tutorial"
|
||||
# new_to_programming: ". New to programming? Hit our beginner campaign to skill up."
|
||||
# so_ready: "I Am So Ready for This"
|
||||
multiplayer_launch:
|
||||
introducing_dungeon_arena: "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ć"
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
|
|||
editor_config_indentguides_description: "Mostrar linhas verticais para ver a identação melhor."
|
||||
editor_config_behaviors_label: "Comportamentos Inteligentes"
|
||||
editor_config_behaviors_description: "Completar automaticamente colchetes, chaves e aspas."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Visualização de Administrador"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
|
|||
av_other_debug_base_url: "Base (para debugar base.jade)"
|
||||
u_title: "Lista de Usuários"
|
||||
lg_title: "Últimos Jogos"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Editores do CodeCombat"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "Jurídico"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
|
|||
simulation_explanation: "Por simular partidas você pode classificar seu jogo mais rápido!"
|
||||
simulate_games: "Simular Partidas!"
|
||||
simulate_all: "RESETAR E SIMULAR PARTIDAS"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
leaderboard: "Tabela de Classificação"
|
||||
battle_as: "Lutar como "
|
||||
summary_your: "Seus "
|
||||
|
|
|
@ -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"
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Visualizações de Admin"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
|
|||
av_other_debug_base_url: "Base (para fazer debug base.jade)"
|
||||
u_title: "Lista de Utilizadores"
|
||||
lg_title: "Últimos Jogos"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Editores para CodeCombat"
|
||||
|
@ -275,12 +290,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,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -508,13 +523,15 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
|
|||
counselor_title: "Counselor"
|
||||
counselor_title_description: "(Expert/ Professor)"
|
||||
|
||||
# ladder:
|
||||
ladder:
|
||||
# please_login: "Please log in first before playing a ladder game."
|
||||
my_matches: "Os meus jogos"
|
||||
simulate: "Simular"
|
||||
# simulation_explanation: "By simulating games you can get your game ranked faster!"
|
||||
simulate_games: "Simular Jogos!"
|
||||
# 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 "
|
||||
|
@ -540,7 +557,7 @@ module.exports = nativeDescription: "Português europeu", englishDescription: "P
|
|||
warmup: "Aquecimento"
|
||||
vs: "VS"
|
||||
|
||||
# multiplayer_launch:
|
||||
multiplayer_launch:
|
||||
introducing_dungeon_arena: "Introduzindo a Dungeon Arena"
|
||||
new_way: "17 de Março de 2014: Uma nova forma de competir com código."
|
||||
to_battle: "Às armas, Programadores!"
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
|
|||
campaign_player_created: "Criados por Jogadores"
|
||||
campaign_player_created_description: "... nos quais você batalhará contra a criatividade dos seus companheiros <a href=\"/contribute#artisan\">feiticeiros Artesãos</a>."
|
||||
level_difficulty: "Dificuldade: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues
|
|||
# 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 "
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Admin vede"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
av_other_debug_base_url: "Base (pentru debugging base.jade)"
|
||||
u_title: "Listă utilizatori"
|
||||
lg_title: "Ultimele jocuri"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Editori CodeCombat"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "Aspecte Legale"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
|
|||
simulation_explanation: "Simulând jocuri poți afla poziția în clasament a jocului tău mai repede!"
|
||||
simulate_games: "Simulează Jocuri!"
|
||||
simulate_all: "RESETEAZĂ ȘI SIMULEAZĂ JOCURI"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
leaderboard: "Clasament"
|
||||
battle_as: "Luptă ca "
|
||||
summary_your: "Al tău "
|
||||
|
|
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов."
|
||||
editor_config_behaviors_label: "Умное поведение"
|
||||
editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки."
|
||||
loading_ready: "Готово!"
|
||||
tip_insert_positions: "Shift+Клик по карте вставит координаты в редактор заклинаний."
|
||||
tip_toggle_play: "Переключайте воспроизведение/паузу комбинацией Ctrl+P."
|
||||
tip_scrub_shortcut: "Ctrl+[ и Ctrl+] - перемотка назад и вперёд."
|
||||
tip_guide_exists: "Щёлкните \"руководство\" наверху страницы для получения полезной информации."
|
||||
tip_open_source: "Исходный код CodeCombat открыт на 100%!"
|
||||
tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013."
|
||||
tip_js_beginning: "JavaScript это только начало."
|
||||
tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения."
|
||||
tip_baby_coders: "В будущем, даже младенцы будут Архимагами."
|
||||
tip_morale_improves: "Загрузка будет продолжаться, пока боевой дух не улучшится."
|
||||
tip_all_species: "Мы верим в равные возможности для обучения программированию для всех видов."
|
||||
tip_reticulating: "Ретикуляция сплайнов."
|
||||
tip_harry: "Ты волшебник, "
|
||||
|
||||
admin:
|
||||
av_title: "Админ панель"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
av_other_debug_base_url: "База (для отладки base.jade)"
|
||||
u_title: "Список пользователей"
|
||||
lg_title: "Последние игры"
|
||||
clas: "ЛСС"
|
||||
|
||||
editor:
|
||||
main_title: "Редакторы CodeCombat"
|
||||
|
@ -315,26 +330,26 @@ 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:
|
||||
|
@ -343,26 +358,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, подпадают под наше"
|
||||
|
@ -395,7 +410,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
rights_media: "Медиа (звуки, музыка) и любой другой творческий контент, созданный специально для этого уровня и не являющийся общедоступным при создании уровней."
|
||||
rights_clarification: "Чтобы уточнить, всё, что становится доступным в Редакторе уровней для целей создания уровней под CC, в то время как контент, созданный с помощью Редактора уровней или загруженный в ходе создания уровней - нет."
|
||||
nutshell_title: "В двух словах"
|
||||
nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если это то, что в конечном итоге происходит."
|
||||
nutshell_description: "Любые ресурсы, которые мы предоставляем в Редакторе уровней можно свободно использовать как вам нравится для создания уровней. Но мы оставляем за собой право ограничивать распространение уровней самих по себе (которые создаются на codecombat.com), чтобы за них могла взиматься плата в будущем, если до этого дойдёт."
|
||||
canonical: "Английская версия этого документа является определяющей и канонической. Если есть какие-либо расхождения между переводами, документ на английском имеет приоритет."
|
||||
|
||||
contribute:
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
|
|||
simulation_explanation: "Симулированием игр вы сможете быстрее получить оценку игры!"
|
||||
simulate_games: "Симулировать игры!"
|
||||
simulate_all: "СБРОСИТЬ И СИМУЛИРОВАТЬ ИГРЫ"
|
||||
games_simulated_by: "Игры, симулированные вами:"
|
||||
games_simulated_for: "Игры, симулированные за вас:"
|
||||
leaderboard: "Таблица лидеров"
|
||||
battle_as: "Сразиться за "
|
||||
summary_your: "Ваши "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
campaign_player_created: "Hráčmi vytvorené levely"
|
||||
campaign_player_created_description: "... v ktorých sa popasujete s kreativitou svojich <a href=\"/contribute#artisan\">súdruhov kúzelníkov</a>."
|
||||
level_difficulty: "Obtiažnosť."
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
campaign_player_created: "Направљено од стране играча"
|
||||
campaign_player_created_description: "... у којима се бориш против креативности својих колега."
|
||||
level_difficulty: "Тежина: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
|
|||
# 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 "
|
||||
|
|
|
@ -42,9 +42,9 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
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:
|
||||
|
@ -56,15 +56,15 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
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: "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."
|
||||
|
@ -80,23 +80,23 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
adventurer_suffix: "."
|
||||
campaign_beginner: "Nybörjarkampanj"
|
||||
campaign_beginner_description: "... i vilken du lär dig programmerandets magi."
|
||||
campaign_dev: "Slumpmässig Svårare Nivå"
|
||||
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: "... i vilken du tävlar i kodande mot andra spelare"
|
||||
campaign_player_created: "Spelarskapade"
|
||||
campaign_player_created_description: "... i vilken du tävlar mot kreativiteten hos andra <a href=\"/contribute#artisan\">Hantverkartrollkarlar</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: "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: "För någonting offentlig, var vänlig testa "
|
||||
forum_prefix: "För någonting offentligt, var vänlig testa "
|
||||
forum_page: "vårt forum"
|
||||
forum_suffix: " istället."
|
||||
send: "Skicka Feedback"
|
||||
|
@ -124,40 +124,40 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
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: "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 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"
|
||||
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: "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: "Bidragarmail"
|
||||
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,32 +185,32 @@ 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: "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: "Gå Hem"
|
||||
victory_play_next_level: "Spela nästa nivå"
|
||||
victory_go_home: "Gå 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_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"
|
||||
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)"
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
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."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Administratörsvyer"
|
||||
|
@ -235,9 +249,10 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
av_other_debug_base_url: "Base (för avlusning av base.jade)"
|
||||
u_title: "Användarlista"
|
||||
lg_title: "Senaste matcher"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "CodeCombatredigerar"
|
||||
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."
|
||||
|
@ -298,7 +313,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
results: "Resultat"
|
||||
description: "Beskrivning"
|
||||
or: "eller"
|
||||
email: "Email"
|
||||
email: "E-post"
|
||||
password: "Lösenord"
|
||||
message: "Meddelande"
|
||||
code: "Kod"
|
||||
|
@ -441,7 +456,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
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_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 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
simulation_explanation: "Genom att simulera matcher kan du få dina matcher rankade fortare."
|
||||
simulate_games: "Simulera matcher!"
|
||||
simulate_all: "ÅTERSTÄLL OCH SIMULERA MATCHER"
|
||||
# games_simulated_by: "Games simulated by you:"
|
||||
# games_simulated_for: "Games simulated for you:"
|
||||
leaderboard: "Resultattavla"
|
||||
battle_as: "Kämpa som "
|
||||
summary_your: "Dina "
|
||||
|
@ -549,7 +566,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
|
|||
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: "JavaScript lite rostigt? Oroa dig inte, det finns en"
|
||||
javascript_rusty: "Är din JavaScript lite rostigt? Oroa dig inte, det finns en"
|
||||
tutorial: "tutorial"
|
||||
new_to_programming: ". Ny till programmering? Gå till vår nybörjarkampanj för att öva upp dina färdigheter."
|
||||
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."
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
campaign_player_created: "Oyuncuların Oluşturdukları"
|
||||
campaign_player_created_description: "<a href=\"/contribute#artisan\">Zanaatkâr Büyücüler</a>in yaratıcılıklarına karşı mücadele etmek için..."
|
||||
level_difficulty: "Zorluk: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "Yönetici Görünümleri"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
av_other_debug_base_url: "Temel (base.jade hata kontrolü)"
|
||||
u_title: "Kullanıcı Listesi"
|
||||
lg_title: "Yeni Oyunlar"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "CodeCombat Düzenleyici"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "Hukuki"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
|
|||
# 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 "
|
||||
|
|
|
@ -119,7 +119,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
|
|||
boots: "Черевики"
|
||||
hue: "Відтінок"
|
||||
saturation: "Насиченість"
|
||||
# lightness: "Яскравість"
|
||||
# lightness: "Lightness"
|
||||
|
||||
account_settings:
|
||||
title: "Налаштування акаунта"
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "українська мова", englishDesc
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
|
|||
# av_other_debug_base_url: "Base (for debugging base.jade)"
|
||||
u_title: "Список користувачів"
|
||||
lg_title: "Останні ігри"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "Редактори CodeCombat"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "Юридичні нотатки"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "українська мова", englishDesc
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# 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:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
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: "Khó: "
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -167,19 +167,19 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# gravatar_accounts: "As Seen On"
|
||||
# gravatar_profile_link: "Full Gravatar Profile"
|
||||
|
||||
# play_level:
|
||||
play_level:
|
||||
# level_load_error: "Level could not be loaded: "
|
||||
done: "Hoàn thành"
|
||||
done: "Hoàn thành"
|
||||
# grid: "Grid"
|
||||
customize_wizard: "Tùy chỉnh Wizard"
|
||||
customize_wizard: "Tùy chỉnh Wizard"
|
||||
# home: "Home"
|
||||
guide: "Hướng dẫn"
|
||||
multiplayer: "Nhiều người chơi"
|
||||
restart: "Khởi động lại"
|
||||
goals: "Mục đích"
|
||||
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: "Kích vào đơn vị để chọn nó."
|
||||
reload_title: "Tải lại tất cả mã?"
|
||||
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: ""
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -398,7 +413,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# 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."
|
||||
|
||||
# contribute:
|
||||
contribute:
|
||||
# page_title: "Contributing"
|
||||
# character_classes_title: "Character Classes"
|
||||
# introduction_desc_intro: "We have high hopes for CodeCombat."
|
||||
|
@ -481,8 +496,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: "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)."
|
||||
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:"
|
||||
|
@ -492,7 +507,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# translating_diplomats: "Our Translating Diplomats:"
|
||||
# helpful_ambassadors: "Our Helpful Ambassadors:"
|
||||
|
||||
# classes:
|
||||
classes:
|
||||
# archmage_title: "Archmage"
|
||||
# archmage_title_description: "(Coder)"
|
||||
# artisan_title: "Artisan"
|
||||
|
@ -502,11 +517,11 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# scribe_title: "Scribe"
|
||||
# scribe_title_description: "(Article Editor)"
|
||||
# diplomat_title: "Diplomat"
|
||||
diplomat_title_description: "(Người phiên dịch)"
|
||||
diplomat_title_description: "(Người phiên dịch)"
|
||||
# ambassador_title: "Ambassador"
|
||||
ambassador_title_description: "(Hỗ trợ)"
|
||||
counselor_title: "Người tư vấn"
|
||||
counselor_title_description: "(Chuyên gia/ Giáo viên)"
|
||||
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."
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
campaign_player_created: "创建玩家"
|
||||
campaign_player_created_description: "……在这里你可以与你的小伙伴的创造力战斗 <a href=\"/contribute#artisan\">技术指导</a>."
|
||||
level_difficulty: "难度:"
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
admin:
|
||||
av_title: "管理员视图"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
av_other_debug_base_url: "Base(用于调试 base.jade)"
|
||||
u_title: "用户列表"
|
||||
lg_title: "最新的游戏"
|
||||
# clas: "CLAs"
|
||||
|
||||
editor:
|
||||
main_title: "CodeCombat 编辑器"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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: "法律"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
|
|||
# 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 "
|
||||
|
|
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
campaign_player_created: "玩家建立的關卡"
|
||||
campaign_player_created_description: "...挑戰同伴的創意 <a href=\"/contribute#artisan\">技術指導</a>."
|
||||
level_difficulty: "難度"
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
|
|||
# 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 "
|
||||
|
|
|
@ -47,7 +47,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
|
|||
log_out: "登出"
|
||||
recover: "找回账户"
|
||||
|
||||
# recover:
|
||||
recover:
|
||||
recover_account_title: "帐户恢复"
|
||||
send_password: "发送恢复密码"
|
||||
|
||||
|
@ -87,7 +87,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
|
|||
# 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: "难度"
|
||||
# play_as: "Play As "
|
||||
# play_as: "Play As"
|
||||
# spectate: "Spectate"
|
||||
|
||||
contact:
|
||||
|
@ -225,6 +225,20 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
|
|||
# editor_config_indentguides_description: "Displays vertical lines to see indentation better."
|
||||
# editor_config_behaviors_label: "Smart Behaviors"
|
||||
# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes."
|
||||
# loading_ready: "Ready!"
|
||||
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
|
||||
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
|
||||
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
|
||||
# tip_guide_exists: "Click the guide at the top of the page for useful info."
|
||||
# tip_open_source: "CodeCombat is 100% open source!"
|
||||
# tip_beta_launch: "CodeCombat launched its beta in October, 2013."
|
||||
# tip_js_beginning: "JavaScript is just the beginning."
|
||||
# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button."
|
||||
# tip_baby_coders: "In the future, even babies will be Archmages."
|
||||
# tip_morale_improves: "Loading will continue until morale improves."
|
||||
# tip_all_species: "We believe in equal opportunities to learn programming for all species."
|
||||
# tip_reticulating: "Reticulating spines."
|
||||
# tip_harry: "Yer a Wizard, "
|
||||
|
||||
# admin:
|
||||
# av_title: "Admin Views"
|
||||
|
@ -235,6 +249,7 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
|
|||
# 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"
|
||||
|
@ -335,7 +350,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!"
|
||||
# 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"
|
||||
|
@ -515,6 +530,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra
|
|||
# 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 "
|
||||
|
|
|
@ -34,18 +34,22 @@ class CocoModel extends Backbone.Model
|
|||
onLoaded: ->
|
||||
@loaded = true
|
||||
@loading = false
|
||||
@markToRevert()
|
||||
if @saveBackups
|
||||
existing = storage.load @id
|
||||
if existing
|
||||
@set(existing, {silent:true})
|
||||
CocoModel.backedUp[@id] = @
|
||||
if @constructor.schema?.loaded
|
||||
@markToRevert()
|
||||
@loadFromBackup()
|
||||
|
||||
set: ->
|
||||
res = super(arguments...)
|
||||
@saveBackup() if @saveBackups and @loaded and @hasLocalChanges()
|
||||
res
|
||||
|
||||
loadFromBackup: ->
|
||||
return unless @saveBackups
|
||||
existing = storage.load @id
|
||||
if existing
|
||||
@set(existing, {silent:true})
|
||||
CocoModel.backedUp[@id] = @
|
||||
|
||||
saveBackup: ->
|
||||
storage.save(@id, @attributes)
|
||||
CocoModel.backedUp[@id] = @
|
||||
|
@ -86,7 +90,10 @@ class CocoModel extends Backbone.Model
|
|||
res
|
||||
|
||||
markToRevert: ->
|
||||
@_revertAttributes = _.clone @attributes
|
||||
if @type() is 'ThangType'
|
||||
@_revertAttributes = _.clone @attributes # No deep clones for these!
|
||||
else
|
||||
@_revertAttributes = $.extend(true, {}, @attributes)
|
||||
|
||||
revert: ->
|
||||
@set(@_revertAttributes, {silent: true}) if @_revertAttributes
|
||||
|
@ -127,6 +134,9 @@ class CocoModel extends Backbone.Model
|
|||
continue if @get(prop)?
|
||||
#console.log "setting", prop, "to", sch.default, "from sch.default" if sch.default?
|
||||
@set prop, sch.default if sch.default?
|
||||
if @loaded
|
||||
@markToRevert()
|
||||
@loadFromBackup()
|
||||
|
||||
getReferencedModels: (data, schema, path='/', shouldLoadProjection=null) ->
|
||||
# returns unfetched model shells for every referenced doc in this model
|
||||
|
|
|
@ -29,7 +29,7 @@ h1
|
|||
left: -50%
|
||||
z-index: 1
|
||||
|
||||
body
|
||||
html
|
||||
.lt-ie7, .lt-ie8, .lt-ie9, .lt-ie10
|
||||
display: none
|
||||
&.lt-ie7 .lt-ie7
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
|
||||
#thang-components-edit-view
|
||||
position: absolute
|
||||
top: 130px
|
||||
top: 200px
|
||||
bottom: 0
|
||||
|
||||
.treema-root
|
||||
|
|
|
@ -29,6 +29,34 @@
|
|||
.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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
16
app/templates/admin/clas.jade
Normal file
16
app/templates/admin/clas.jade
Normal 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}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -10,7 +10,7 @@ table.table
|
|||
th(data-i18n="general.name") Name
|
||||
th(data-i18n="general.description") Description
|
||||
th(data-i18n="general.version") Version
|
||||
|
||||
|
||||
for data in documents
|
||||
- data = data.attributes;
|
||||
tr
|
||||
|
@ -18,4 +18,4 @@ table.table
|
|||
a(href="/editor/level/#{data.slug || data._id}")
|
||||
| #{data.name}
|
||||
td.body-row #{data.description}
|
||||
td #{data.version.major}.#{data.version.minor}
|
||||
td #{data.version.major}.#{data.version.minor}
|
||||
|
|
|
@ -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}"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -54,6 +55,6 @@ block content
|
|||
span#simulated-by-you= me.get('simulatedBy') || 0
|
||||
|
||||
p.simulation-count
|
||||
span(data-i18n="ladder.games_simulated_by") Games simulated for you:
|
||||
span(data-i18n="ladder.games_simulated_for") Games simulated for you:
|
||||
|
|
||||
span#simulated-for-you= me.get('simulatedFor') || 0
|
|
@ -1,6 +1,6 @@
|
|||
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
|
||||
|
@ -15,8 +15,8 @@ div#columns.row
|
|||
th
|
||||
|
||||
- var topSessions = team.leaderboard.topPlayers.models;
|
||||
- var inTheTop = team.leaderboard.inTopSessions();
|
||||
- if(!inTheTop) topSessions = topSessions.slice(0, 10);
|
||||
- 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" : "")
|
||||
|
@ -27,7 +27,7 @@ div#columns.row
|
|||
a(href="/play/level/#{level.get('slug') || level.id}/?team=#{team.otherTeam}&opponent=#{session.id}")
|
||||
span(data-i18n="ladder.fight") Fight!
|
||||
|
||||
if !inTheTop
|
||||
if !showJustTop && team.leaderboard.nearbySessions().length
|
||||
tr(class="active")
|
||||
td(colspan=4).ellipsis-row ...
|
||||
for session in team.leaderboard.nearbySessions()
|
||||
|
@ -38,4 +38,40 @@ div#columns.row
|
|||
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!
|
||||
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!
|
||||
|
|
30
app/views/admin/clas_view.coffee
Normal file
30
app/views/admin/clas_view.coffee
Normal 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
|
|
@ -8,7 +8,7 @@ module.exports = class SettingsTabView extends View
|
|||
id: 'editor-level-settings-tab-view'
|
||||
className: 'tab-pane'
|
||||
template: template
|
||||
|
||||
|
||||
# not thangs or scripts or the backend stuff
|
||||
editableSettings: [
|
||||
'name', 'description', 'documentation', 'nextLevel', 'background', 'victory', 'i18n', 'icon', 'goals',
|
||||
|
@ -39,7 +39,7 @@ module.exports = class SettingsTabView extends View
|
|||
thangIDs: thangIDs
|
||||
nodeClasses:
|
||||
thang: nodes.ThangNode
|
||||
|
||||
|
||||
@settingsTreema = @$el.find('#settings-treema').treema treemaOptions
|
||||
@settingsTreema.build()
|
||||
@settingsTreema.open()
|
||||
|
|
|
@ -219,6 +219,7 @@ module.exports = class ThangsTabView extends View
|
|||
|
||||
# TODO: figure out a good way to have all Surface clicks and Treema clicks just proxy in one direction, so we can maintain only one way of handling selection and deletion
|
||||
onExtantThangSelected: (e) ->
|
||||
@selectedExtantSprite?.setNameLabel null unless @selectedExtantSprite is e.sprite
|
||||
@selectedExtantThang = e.thang
|
||||
@selectedExtantSprite = e.sprite
|
||||
if e.thang and (key.alt or key.meta)
|
||||
|
@ -230,7 +231,12 @@ 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()
|
||||
# Show the label above selected thang, notice that we may get here from thang-edit-view, so it will be selected but no label
|
||||
# also covers selecting from Treema
|
||||
@selectedExtantSprite.setNameLabel @selectedExtantSprite.thangType.get('name') + ': ' + @selectedExtantThang.id
|
||||
if not treemaThang.isSelected()
|
||||
treemaThang.select()
|
||||
@thangsTreema.$el.scrollTop(@thangsTreema.$el.find('.treema-children .treema-selected')[0].offsetTop)
|
||||
else if @addThangSprite
|
||||
# We clicked on the background when we had an add Thang selected, so add it
|
||||
@addThang @addThangType, @addThangSprite.thang.pos
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
||||
|
|
|
@ -19,25 +19,107 @@ 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()
|
||||
|
||||
checkFriends: ->
|
||||
@loadingFacebookFriends = true
|
||||
FB.getLoginStatus (response) =>
|
||||
@facebookStatus = response.status
|
||||
if @facebookStatus is 'connected' then @loadFacebookFriendSessions() else @loadingFacebookFriends = false
|
||||
|
||||
if application.gplusHandler.loggedIn is undefined
|
||||
@loadingGPlusFriends = true
|
||||
@listenToOnce(application.gplusHandler, 'checked-state', @gplusSessionStateLoaded)
|
||||
else
|
||||
@gplusSessionStateLoaded()
|
||||
|
||||
# FACEBOOK
|
||||
|
||||
# Connect button pressed
|
||||
|
||||
onConnectFacebook: ->
|
||||
@connecting = true
|
||||
FB.login()
|
||||
|
||||
onConnectedWithFacebook: -> location.reload() if @connecting
|
||||
|
||||
# Load friends
|
||||
|
||||
loadFacebookFriendSessions: ->
|
||||
FB.api '/me/friends', (response) =>
|
||||
@facebookData = response.data
|
||||
levelFrag = "#{@level.get('original')}.#{@level.get('version').major}"
|
||||
url = "/db/level/#{levelFrag}/leaderboard_facebook_friends"
|
||||
$.ajax url, {
|
||||
data: { friendIDs: (f.id for f in @facebookData) }
|
||||
method: 'POST'
|
||||
success: @onFacebookFriendSessionsLoaded
|
||||
}
|
||||
|
||||
onFacebookFriendSessionsLoaded: (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'
|
||||
@facebookFriends = result
|
||||
@loadingFacebookFriends = false
|
||||
@renderMaybe()
|
||||
|
||||
# GOOGLE PLUS
|
||||
|
||||
gplusSessionStateLoaded: ->
|
||||
if application.gplusHandler.loggedIn
|
||||
@loadingGPlusFriends = true
|
||||
application.gplusHandler.loadFriends @gplusFriendsLoaded
|
||||
else
|
||||
@loadingGPlusFriends = false
|
||||
@renderMaybe()
|
||||
|
||||
gplusFriendsLoaded: (friends) =>
|
||||
@gplusData = friends.items
|
||||
levelFrag = "#{@level.get('original')}.#{@level.get('version').major}"
|
||||
url = "/db/level/#{levelFrag}/leaderboard_gplus_friends"
|
||||
$.ajax url, {
|
||||
data: { friendIDs: (f.id for f in @gplusData) }
|
||||
method: 'POST'
|
||||
success: @onGPlusFriendSessionsLoaded
|
||||
}
|
||||
|
||||
onGPlusFriendSessionsLoaded: (result) =>
|
||||
@loadingGPlusFriends = false
|
||||
@renderMaybe()
|
||||
|
||||
# LADDER LOADING
|
||||
|
||||
refreshLadder: ->
|
||||
promises = []
|
||||
for team in @teams
|
||||
@leaderboards[team.id]?.off 'sync'
|
||||
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 @loadingFacebookFriends or @loadingLeaderboards
|
||||
@startsLoading = false
|
||||
@render()
|
||||
|
||||
|
@ -48,6 +130,9 @@ module.exports = class LadderTabView extends CocoView
|
|||
ctx.teams = @teams
|
||||
team.leaderboard = @leaderboards[team.id] for team in @teams
|
||||
ctx.levelID = @levelID
|
||||
ctx.friends = @facebookFriends
|
||||
ctx.onFacebook = @facebookStatus is 'connected'
|
||||
ctx.onGPlus = application.gplusHandler.loggedIn
|
||||
ctx
|
||||
|
||||
class LeaderboardData
|
||||
|
@ -69,20 +154,21 @@ class LeaderboardData
|
|||
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}
|
||||
|
||||
$.when(promises...).then @onLoad
|
||||
@promise = $.when(promises...)
|
||||
@promise.then @onLoad
|
||||
@promise
|
||||
|
||||
onLoad: =>
|
||||
@loaded = true
|
||||
@trigger 'sync'
|
||||
# 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.
|
||||
|
||||
|
||||
inTopSessions: ->
|
||||
return me.id in (session.attributes.creator for session in @topPlayers.models)
|
||||
|
||||
|
||||
nearbySessions: ->
|
||||
return unless @session
|
||||
return [] unless @session
|
||||
l = []
|
||||
above = @playersAbove.models
|
||||
above.reverse()
|
||||
|
@ -92,4 +178,4 @@ class LeaderboardData
|
|||
if @myRank
|
||||
startRank = @myRank - 4
|
||||
session.rank = startRank + i for session, i in l
|
||||
l
|
||||
l
|
||||
|
|
|
@ -114,7 +114,7 @@ module.exports = class LadderView extends RootView
|
|||
for index in [0...creatorNames.length]
|
||||
unless creatorNames[index]
|
||||
creatorNames[index] = "Anonymous"
|
||||
@simulationStatus += " and " + creatorNames[index]
|
||||
@simulationStatus += (if index != 0 then " and " else "") + creatorNames[index]
|
||||
@simulationStatus += "..."
|
||||
catch e
|
||||
console.log "There was a problem with the named simulation status: #{e}"
|
||||
|
@ -122,6 +122,19 @@ module.exports = class LadderView extends RootView
|
|||
|
||||
onClickPlayButton: (e) ->
|
||||
@showPlayModal($(e.target).closest('.play-button').data('team'))
|
||||
|
||||
resimulateAllSessions: ->
|
||||
postData =
|
||||
originalLevelID: @level.get('original')
|
||||
levelMajorVersion: @level.get('version').major
|
||||
console.log postData
|
||||
|
||||
$.ajax
|
||||
url: '/queue/scoring/resimulateAllSessions'
|
||||
method: 'POST'
|
||||
data: postData
|
||||
complete: (jqxhr) ->
|
||||
console.log jqxhr.responseText
|
||||
|
||||
showPlayModal: (teamID) ->
|
||||
return @showApologeticSignupModal() if me.get('anonymous')
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -213,7 +213,7 @@ module.exports = class TomeView extends View
|
|||
@spellPaletteView.toggleControls {}, spell.view.controlsEnabled # TODO: know when palette should have been disabled but didn't exist
|
||||
|
||||
reloadAllCode: ->
|
||||
spell.view.reloadCode false for spellKey, spell of @spells
|
||||
spell.view.reloadCode false for spellKey, spell of @spells when spell.team is me.team
|
||||
Backbone.Mediator.publish 'tome:cast-spells', spells: @spells
|
||||
|
||||
destroy: ->
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -107,7 +107,7 @@ module.exports = class SpectateLevelView extends View
|
|||
team: @getQueryVariable("team")
|
||||
@levelLoader.once 'loaded-all', @onLevelLoaderLoaded, @
|
||||
@levelLoader.on 'progress', @onLevelLoaderProgressChanged, @
|
||||
@god = new God()
|
||||
@god = new God maxWorkerPoolSize: 1, maxAngels: 1
|
||||
|
||||
getRenderData: ->
|
||||
c = super()
|
||||
|
|
|
@ -56,6 +56,8 @@ grunt combine
|
|||
echo moving to CoCo
|
||||
cp ~/Desktop/CreateJS/EaselJS/build/output/easeljs-NEXT.combined.js ~/Desktop/coco/vendor/scripts
|
||||
cp ~/Desktop/CreateJS/EaselJS/build/output/movieclip-NEXT.min.js ~/Desktop/coco/vendor/scripts
|
||||
cp ~/Desktop/CreateJS/EaselJS/src/easeljs/display/SpriteStage.js ~/Desktop/coco/vendor/scripts/
|
||||
cp ~/Desktop/CreateJS/EaselJS/src/easeljs/display/SpriteContainer.js ~/Desktop/coco/vendor/scripts/
|
||||
cp ~/Desktop/CreateJS/SoundJS/build/output/soundjs-NEXT.combined.js ~/Desktop/coco/vendor/scripts
|
||||
cp ~/Desktop/CreateJS/PreloadJS/build/output/preloadjs-NEXT.combined.js ~/Desktop/coco/vendor/scripts
|
||||
cp ~/Desktop/CreateJS/TweenJS/build/output/tweenjs-NEXT.combined.js ~/Desktop/coco/vendor/scripts
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
fs = require 'fs'
|
||||
en = require('app/locale/en').translation
|
||||
en = require('../app/locale/en').translation
|
||||
dir = fs.readdirSync 'app/locale'
|
||||
for file in dir when not (file in ['locale.coffee', 'en.coffee'])
|
||||
contents = require('app/locale/' + file)
|
||||
contents = require('../app/locale/' + file)
|
||||
categories = contents.translation
|
||||
lines = ["module.exports = nativeDescription: \"#{contents.nativeDescription}\", englishDescription: \"#{contents.englishDescription}\", translation:"]
|
||||
first = true
|
||||
|
|
|
@ -34,7 +34,8 @@ LevelHandler = class LevelHandler extends Handler
|
|||
return @getMySessions(req, res, args[0]) if args[1] is 'my_sessions'
|
||||
return @getFeedback(req, res, args[0]) if args[1] is 'feedback'
|
||||
return @getRandomSessionPair(req,res,args[0]) if args[1] is 'random_session_pair'
|
||||
return @getLeaderboardFriends(req, res, args[0]) if args[1] is 'leaderboard_friends'
|
||||
return @getLeaderboardFacebookFriends(req, res, args[0]) if args[1] is 'leaderboard_facebook_friends'
|
||||
return @getLeaderboardGPlusFriends(req, res, args[0]) if args[1] is 'leaderboard_gplus_friends'
|
||||
|
||||
return @sendNotFoundError(res)
|
||||
|
||||
|
@ -164,13 +165,15 @@ LevelHandler = class LevelHandler extends Handler
|
|||
req.query.team ?= 'humans'
|
||||
req.query.limit = parseInt(req.query.limit) ? 20
|
||||
|
||||
getLeaderboardFriends: (req, res, id) ->
|
||||
getLeaderboardFacebookFriends: (req, res, id) -> @getLeaderboardFriends(req, res, id, 'facebookID')
|
||||
getLeaderboardGPlusFriends: (req, res, id) -> @getLeaderboardFriends(req, res, id, 'gplusID')
|
||||
getLeaderboardFriends: (req, res, id, serviceProperty) ->
|
||||
friendIDs = req.body.friendIDs or []
|
||||
return res.send([]) unless friendIDs.length
|
||||
|
||||
query = User.find({facebookID:{$in:friendIDs}})
|
||||
.select('facebookID name')
|
||||
.lean()
|
||||
q = {}
|
||||
q[serviceProperty] = {$in:friendIDs}
|
||||
query = User.find(q).select("#{serviceProperty} name").lean()
|
||||
|
||||
query.exec (err, userResults) ->
|
||||
return res.send([]) unless userResults.length
|
||||
|
@ -178,16 +181,16 @@ LevelHandler = class LevelHandler extends Handler
|
|||
userIDs = (r._id+'' for r in userResults)
|
||||
q = {'level.original':id, 'level.majorVersion': parseInt(version), creator: {$in:userIDs}, totalScore:{$exists:true}}
|
||||
query = Session.find(q)
|
||||
.select('creator creatorName totalScore team')
|
||||
.lean()
|
||||
.select('creator creatorName totalScore team')
|
||||
.lean()
|
||||
|
||||
query.exec (err, sessionResults) ->
|
||||
return res.send([]) unless sessionResults.length
|
||||
userMap = {}
|
||||
userMap[u._id] = u.facebookID for u in userResults
|
||||
session.facebookID = userMap[session.creator] for session in sessionResults
|
||||
userMap[u._id] = u[serviceProperty] for u in userResults
|
||||
session[serviceProperty] = userMap[session.creator] for session in sessionResults
|
||||
res.send(sessionResults)
|
||||
|
||||
|
||||
getRandomSessionPair: (req, res, slugOrID) ->
|
||||
findParameters = {}
|
||||
if Handler.isID slugOrID
|
||||
|
|
|
@ -55,6 +55,50 @@ addPairwiseTaskToQueue = (taskPair, cb) ->
|
|||
if taskPairError? then return cb taskPairError,false
|
||||
cb null, true
|
||||
|
||||
module.exports.resimulateAllSessions = (req, res) ->
|
||||
unless isUserAdmin req then return errors.unauthorized res, "Unauthorized. Even if you are authorized, you shouldn't do this"
|
||||
|
||||
originalLevelID = req.body.originalLevelID
|
||||
levelMajorVersion = parseInt(req.body.levelMajorVersion)
|
||||
|
||||
findParameters =
|
||||
submitted: true
|
||||
level:
|
||||
original: originalLevelID
|
||||
majorVersion: levelMajorVersion
|
||||
|
||||
query = LevelSession
|
||||
.find(findParameters)
|
||||
.lean()
|
||||
|
||||
query.exec (err, result) ->
|
||||
if err? then return errors.serverError res, err
|
||||
result = _.sample result, 10
|
||||
async.each result, resimulateSession.bind(@,originalLevelID,levelMajorVersion), (err) ->
|
||||
if err? then return errors.serverError res, err
|
||||
sendResponseObject req, res, {"message":"All task pairs were succesfully sent to the queue"}
|
||||
|
||||
resimulateSession = (originalLevelID, levelMajorVersion, session, cb) =>
|
||||
sessionUpdateObject =
|
||||
submitted: true
|
||||
submitDate: new Date()
|
||||
meanStrength: 25
|
||||
standardDeviation: 25/3
|
||||
totalScore: 10
|
||||
numberOfWinsAndTies: 0
|
||||
numberOfLosses: 0
|
||||
isRanking: true
|
||||
LevelSession.update {_id: session._id}, sessionUpdateObject, (err, updatedSession) ->
|
||||
if err? then return cb err, null
|
||||
opposingTeam = calculateOpposingTeam(session.team)
|
||||
fetchInitialSessionsToRankAgainst opposingTeam, originalLevelID, levelMajorVersion, (err, sessionsToRankAgainst) ->
|
||||
if err? then return cb err, null
|
||||
|
||||
taskPairs = generateTaskPairs(sessionsToRankAgainst, session)
|
||||
sendEachTaskPairToTheQueue taskPairs, (taskPairError) ->
|
||||
if taskPairError? then return cb taskPairError, null
|
||||
cb null
|
||||
|
||||
|
||||
module.exports.createNewTask = (req, res) ->
|
||||
requestSessionID = req.body.session
|
||||
|
@ -201,12 +245,12 @@ determineIfSessionShouldContinueAndUpdateLog = (sessionID, sessionRank, cb) ->
|
|||
updatedSession = updatedSession.toObject()
|
||||
|
||||
totalNumberOfGamesPlayed = updatedSession.numberOfWinsAndTies + updatedSession.numberOfLosses
|
||||
if totalNumberOfGamesPlayed < 5
|
||||
console.log "Number of games played is less than 5, continuing..."
|
||||
if totalNumberOfGamesPlayed < 10
|
||||
console.log "Number of games played is less than 10, continuing..."
|
||||
cb null, true
|
||||
else
|
||||
ratio = (updatedSession.numberOfLosses) / (totalNumberOfGamesPlayed)
|
||||
if ratio > 0.2
|
||||
if ratio > 0.33
|
||||
cb null, false
|
||||
console.log "Ratio(#{ratio}) is bad, ending simulation"
|
||||
else
|
||||
|
@ -220,7 +264,7 @@ findNearestBetterSessionID = (levelOriginalID, levelMajorVersion, sessionID, ses
|
|||
|
||||
queryParameters =
|
||||
totalScore:
|
||||
$gt:opponentSessionTotalScore
|
||||
$gt: opponentSessionTotalScore
|
||||
_id:
|
||||
$nin: opponentSessionIDs
|
||||
"level.original": levelOriginalID
|
||||
|
@ -231,7 +275,9 @@ findNearestBetterSessionID = (levelOriginalID, levelMajorVersion, sessionID, ses
|
|||
team: opposingTeam
|
||||
|
||||
if opponentSessionTotalScore < 30
|
||||
queryParameters["totalScore"]["$gt"] = opponentSessionTotalScore + 1
|
||||
# Don't play a ton of matches at low scores--skip some in proportion to how close to 30 we are.
|
||||
# TODO: this could be made a lot more flexible.
|
||||
queryParameters["totalScore"]["$gt"] = opponentSessionTotalScore + 2 * (30 - opponentSessionTotalScore) / 20
|
||||
|
||||
limitNumber = 1
|
||||
|
||||
|
|
|
@ -2,8 +2,22 @@ log = require 'winston'
|
|||
errors = require '../commons/errors'
|
||||
handlers = require('../commons/mapping').handlers
|
||||
schemas = require('../commons/mapping').schemas
|
||||
mongoose = require 'mongoose'
|
||||
|
||||
module.exports.setup = (app) ->
|
||||
# This is hacky and should probably get moved somewhere else, I dunno
|
||||
app.get '/db/cla.submissions', (req, res) ->
|
||||
res.setHeader('Content-Type', 'application/json')
|
||||
collection = mongoose.connection.db.collection 'cla.submissions', (err, collection) ->
|
||||
return log.error "Couldn't fetch CLA submissions because #{err}" if err
|
||||
resultCursor = collection.find {}
|
||||
resultCursor.toArray (err, docs) ->
|
||||
return log.error "Couldn't fetch distinct CLA submissions because #{err}" if err
|
||||
unless req.user?.isAdmin()
|
||||
delete doc.email for doc in docs
|
||||
res.send docs
|
||||
res.end
|
||||
|
||||
app.all '/db/*', (req, res) ->
|
||||
res.setHeader('Content-Type', 'application/json')
|
||||
module = req.path[4..]
|
||||
|
|
|
@ -31,6 +31,11 @@ getAllLadderScores = (next) ->
|
|||
# Query to get sessions to make histogram
|
||||
# db.level.sessions.find({"submitted":true,"levelID":"brawlwood",team:"ogres"},{"_id":0,"totalScore":1})
|
||||
|
||||
DEBUGGING = false
|
||||
LADDER_PREGAME_INTERVAL = 2 * 3600 * 1000 # Send emails two hours before players last submitted.
|
||||
getTimeFromDaysAgo = (now, daysAgo) ->
|
||||
t = now - 86400 * 1000 * daysAgo - LADDER_PREGAME_INTERVAL
|
||||
|
||||
isRequestFromDesignatedCronHandler = (req, res) ->
|
||||
if req.ip isnt config.mail.cronHandlerPublicIP and req.ip isnt config.mail.cronHandlerPrivateIP
|
||||
console.log "RECEIVED REQUEST FROM IP #{req.ip}(headers indicate #{req.headers['x-forwarded-for']}"
|
||||
|
@ -40,25 +45,22 @@ isRequestFromDesignatedCronHandler = (req, res) ->
|
|||
return false
|
||||
return true
|
||||
|
||||
|
||||
handleLadderUpdate = (req, res) ->
|
||||
log.info("Going to see about sending ladder update emails.")
|
||||
requestIsFromDesignatedCronHandler = isRequestFromDesignatedCronHandler req, res
|
||||
#unless requestIsFromDesignatedCronHandler then return
|
||||
return unless requestIsFromDesignatedCronHandler or DEBUGGING
|
||||
|
||||
res.send('Great work, Captain Cron! I can take it from here.')
|
||||
res.end()
|
||||
# TODO: somehow fetch the histograms
|
||||
emailDays = [1, 2, 4, 7, 30]
|
||||
now = new Date()
|
||||
getTimeFromDaysAgo = (daysAgo) ->
|
||||
# 2 hours before the date
|
||||
t = now - (86400 * daysAgo + 2 * 3600) * 1000
|
||||
for daysAgo in emailDays
|
||||
# Get every session that was submitted in a 5-minute window after the time.
|
||||
startTime = getTimeFromDaysAgo daysAgo
|
||||
startTime = getTimeFromDaysAgo now, daysAgo
|
||||
endTime = startTime + 5 * 60 * 1000
|
||||
#endTime = startTime + 1.5 * 60 * 60 * 1000 # Debugging: make sure there's something to send
|
||||
if DEBUGGING
|
||||
endTime = startTime + 15 * 60 * 1000 # Debugging: make sure there's something to send
|
||||
findParameters = {submitted: true, submitDate: {$gt: new Date(startTime), $lte: new Date(endTime)}}
|
||||
# TODO: think about putting screenshots in the email
|
||||
selectString = "creator team levelName levelID totalScore matches submitted submitDate scoreHistory"
|
||||
|
@ -71,9 +73,9 @@ handleLadderUpdate = (req, res) ->
|
|||
log.error "Couldn't fetch ladder updates for #{findParameters}\nError: #{err}"
|
||||
return errors.serverError res, "Ladder update email query failed: #{JSON.stringify(err)}"
|
||||
log.info "Found #{results.length} ladder sessions to email updates about for #{daysAgo} day(s) ago."
|
||||
sendLadderUpdateEmail result, daysAgo for result in results
|
||||
sendLadderUpdateEmail result, now, daysAgo for result in results
|
||||
|
||||
sendLadderUpdateEmail = (session, daysAgo) ->
|
||||
sendLadderUpdateEmail = (session, now, daysAgo) ->
|
||||
User.findOne({_id: session.creator}).select("name email firstName lastName emailSubscriptions preferredLanguage").lean().exec (err, user) ->
|
||||
if err
|
||||
log.error "Couldn't find user for #{session.creator} from session #{session._id}"
|
||||
|
@ -89,19 +91,23 @@ sendLadderUpdateEmail = (session, daysAgo) ->
|
|||
|
||||
# Fetch the most recent defeat and victory, if there are any.
|
||||
# (We could look at strongest/weakest, but we'd have to fetch everyone, or denormalize more.)
|
||||
matches = _.filter session.matches, (match) -> match.date >= (new Date() - 86400 * 1000 * daysAgo)
|
||||
matches = _.filter session.matches, (match) -> match.date >= getTimeFromDaysAgo now, daysAgo
|
||||
defeats = _.filter matches, (match) -> match.metrics.rank is 1 and match.opponents[0].metrics.rank is 0
|
||||
victories = _.filter matches, (match) -> match.metrics.rank is 0 and match.opponents[0].metrics.rank is 1
|
||||
#ties = _.filter matches, (match) -> match.metrics.rank is 0 and match.opponents[0].metrics.rank is 0
|
||||
defeat = _.last defeats
|
||||
victory = _.last victories
|
||||
|
||||
#log.info "#{user.name} had #{matches.length} matches from last #{daysAgo} days out of #{session.matches.length} total matches. #{defeats.length} defeats, #{victories.length} victories, and #{ties.length} ties."
|
||||
#matchInfos = ("\t#{match.date}\t#{match.date >= getTimeFromDaysAgo(now, daysAgo)}\t#{match.metrics.rank}\t#{match.opponents[0].metrics.rank}" for match in session.matches)
|
||||
#log.info "Matches:\n#{matchInfos.join('\n')}"
|
||||
|
||||
sendEmail = (defeatContext, victoryContext) ->
|
||||
# TODO: do something with the preferredLanguage?
|
||||
context =
|
||||
email_id: sendwithus.templates.ladder_update_email
|
||||
recipient:
|
||||
address: user.email
|
||||
#address: 'nick@codecombat.com' # Debugging
|
||||
address: if DEBUGGING then 'nick@codecombat.com' else user.email
|
||||
name: name
|
||||
email_data:
|
||||
name: name
|
||||
|
|
|
@ -14,6 +14,10 @@ module.exports.setup = (app) ->
|
|||
handler = loadQueueHandler 'scoring'
|
||||
handler.messagesInQueueCount req, res
|
||||
|
||||
app.post '/queue/scoring/resimulateAllSessions', (req, res) ->
|
||||
handler = loadQueueHandler 'scoring'
|
||||
handler.resimulateAllSessions req, res
|
||||
|
||||
|
||||
app.all '/queue/*', (req, res) ->
|
||||
setResponseHeaderToJSONContentType res
|
||||
|
|
|
@ -9,16 +9,19 @@ errors = require '../commons/errors'
|
|||
async = require 'async'
|
||||
|
||||
serverProperties = ['passwordHash', 'emailLower', 'nameLower', 'passwordReset']
|
||||
privateProperties = ['permissions', 'email', 'firstName', 'lastName', 'gender', 'facebookID', 'music', 'volume', 'aceConfig']
|
||||
privateProperties = [
|
||||
'permissions', 'email', 'firstName', 'lastName', 'gender', 'facebookID',
|
||||
'gplusID', 'music', 'volume', 'aceConfig'
|
||||
]
|
||||
|
||||
UserHandler = class UserHandler extends Handler
|
||||
modelClass: User
|
||||
|
||||
editableProperties: [
|
||||
'name', 'photoURL', 'password', 'anonymous', 'wizardColor1', 'volume',
|
||||
'firstName', 'lastName', 'gender', 'facebookID', 'emailSubscriptions',
|
||||
'firstName', 'lastName', 'gender', 'facebookID', 'gplusID', 'emailSubscriptions',
|
||||
'testGroupNumber', 'music', 'hourOfCode', 'hourOfCodeComplete', 'preferredLanguage',
|
||||
'wizard', 'aceConfig', 'simulatedBy', 'simulatedFor'
|
||||
'wizard', 'aceConfig', 'autocastDelay', 'lastLevel'
|
||||
]
|
||||
|
||||
jsonSchema: schema
|
||||
|
|
|
@ -17,7 +17,8 @@ UserSchema = c.object {},
|
|||
wizardColor1: c.pct({title: 'Wizard Clothes Color'})
|
||||
volume: c.pct({title: 'Volume'})
|
||||
music: {type: 'boolean', default: true}
|
||||
#autocastDelay, or more complex autocast options? I guess I'll see what I need when trying to hook up Scott's suggested autocast behavior
|
||||
autocastDelay: {type: 'integer', 'default': 5000 }
|
||||
lastLevel: { type: 'string' }
|
||||
|
||||
emailSubscriptions: c.array {uniqueItems: true, 'default': ['announcement', 'notification']}, {'enum': emailSubscriptions}
|
||||
|
||||
|
|
188
vendor/scripts/SpriteContainer.js
vendored
Normal file
188
vendor/scripts/SpriteContainer.js
vendored
Normal file
|
@ -0,0 +1,188 @@
|
|||
/*
|
||||
* SpriteContainer
|
||||
* Visit http://createjs.com/ for documentation, updates and examples.
|
||||
*
|
||||
* Copyright (c) 2010 gskinner.com, inc.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
// namespace:
|
||||
this.createjs = this.createjs||{};
|
||||
|
||||
(function() {
|
||||
|
||||
/**
|
||||
* A SpriteContainer is a nestable display list that enables aggressively optimized rendering of bitmap content.
|
||||
* In order to accomplish these optimizations, SpriteContainer enforces a few restrictions on its content.
|
||||
*
|
||||
* Restrictions:
|
||||
* - only Sprite, SpriteContainer, BitmapText and DOMElement are allowed to be added as children.
|
||||
* - a spriteSheet MUST be either be passed into the constructor or defined on the first child added.
|
||||
* - all children (with the exception of DOMElement) MUST use the same spriteSheet.
|
||||
*
|
||||
* <h4>Example</h4>
|
||||
* var data = {
|
||||
* images: ["sprites.jpg"],
|
||||
* frames: {width:50, height:50},
|
||||
* animations: {run:[0,4], jump:[5,8,"run"]}
|
||||
* };
|
||||
* var spriteSheet = new createjs.SpriteSheet(data);
|
||||
* var container = new createjs.SpriteContainer(spriteSheet);
|
||||
* container.addChild(spriteInstance, spriteInstance2);
|
||||
* container.x = 100;
|
||||
*
|
||||
* <strong>Note:</strong> SpriteContainer is not included in the minified version of EaselJS.
|
||||
*
|
||||
* @class SpriteContainer
|
||||
* @extends Container
|
||||
* @constructor
|
||||
* @param {SpriteSheet} [spriteSheet] The spriteSheet to use for this SpriteContainer and its children.
|
||||
**/
|
||||
var SpriteContainer = function(spriteSheet) {
|
||||
this.initialize(spriteSheet);
|
||||
};
|
||||
var p = SpriteContainer.prototype = new createjs.Container();
|
||||
|
||||
// public properties:
|
||||
|
||||
/**
|
||||
* The SpriteSheet that this container enforces use of.
|
||||
* @property spriteSheet
|
||||
* @type {SpriteSheet}
|
||||
* @readonly
|
||||
**/
|
||||
p.spriteSheet = null;
|
||||
|
||||
// constructor:
|
||||
|
||||
/**
|
||||
* @property Container_initialize
|
||||
* @type Function
|
||||
* @private
|
||||
**/
|
||||
p.Container_initialize = p.initialize;
|
||||
|
||||
/**
|
||||
* Initialization method.
|
||||
* @method initialize
|
||||
* @param {SpriteSheet} spriteSheet Optional. The spriteSheet to use for this SpriteContainer and its children.
|
||||
* @protected
|
||||
*/
|
||||
p.initialize = function(spriteSheet) {
|
||||
this.Container_initialize();
|
||||
this.spriteSheet = spriteSheet;
|
||||
};
|
||||
|
||||
// public methods:
|
||||
|
||||
/**
|
||||
* Adds a child to the top of the display list.
|
||||
* Only children of type SpriteContainer, Sprite, Bitmap, BitmapText, or DOMElement are allowed.
|
||||
* The child must have the same spritesheet as this container (unless it's a DOMElement).
|
||||
* If a spritesheet hasn't been defined, this container uses this child's spritesheet.
|
||||
*
|
||||
* <h4>Example</h4>
|
||||
* container.addChild(bitmapInstance);
|
||||
*
|
||||
* You can also add multiple children at once:
|
||||
*
|
||||
* container.addChild(bitmapInstance, shapeInstance, textInstance);
|
||||
*
|
||||
* @method addChild
|
||||
* @param {DisplayObject} child The display object to add.
|
||||
* @return {DisplayObject} The child that was added, or the last child if multiple children were added.
|
||||
**/
|
||||
p.addChild = function(child) {
|
||||
if (child == null) { return child; }
|
||||
if (arguments.length > 1) {
|
||||
return this.addChildAt.apply(this, Array.prototype.slice.call(arguments).concat([this.children.length]));
|
||||
} else {
|
||||
return this.addChildAt(child, this.children.length);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Adds a child to the display list at the specified index, bumping children at equal or greater indexes up one, and
|
||||
* setting its parent to this Container.
|
||||
* Only children of type SpriteContainer, Sprite, Bitmap, BitmapText, or DOMElement are allowed.
|
||||
* The child must have the same spritesheet as this container (unless it's a DOMElement).
|
||||
* If a spritesheet hasn't been defined, this container uses this child's spritesheet.
|
||||
*
|
||||
* <h4>Example</h4>
|
||||
* addChildAt(child1, index);
|
||||
*
|
||||
* You can also add multiple children, such as:
|
||||
*
|
||||
* addChildAt(child1, child2, ..., index);
|
||||
*
|
||||
* The index must be between 0 and numChildren. For example, to add myShape under otherShape in the display list,
|
||||
* you could use:
|
||||
*
|
||||
* container.addChildAt(myShape, container.getChildIndex(otherShape));
|
||||
*
|
||||
* This would also bump otherShape's index up by one. Fails silently if the index is out of range.
|
||||
*
|
||||
* @method addChildAt
|
||||
* @param {DisplayObject} child The display object to add.
|
||||
* @param {Number} index The index to add the child at.
|
||||
* @return {DisplayObject} Returns the last child that was added, or the last child if multiple children were added.
|
||||
**/
|
||||
p.addChildAt = function(child, index) {
|
||||
var l = arguments.length;
|
||||
var indx = arguments[l-1]; // can't use the same name as the index param or it replaces arguments[1]
|
||||
if (indx < 0 || indx > this.children.length) { return arguments[l-2]; }
|
||||
if (l > 2) {
|
||||
for (var i=0; i<l-1; i++) { this.addChildAt(arguments[i], indx+i); }
|
||||
return arguments[l-2];
|
||||
}
|
||||
if (child._spritestage_compatibility >= 1) {
|
||||
// The child is compatible with SpriteStage/SpriteContainer.
|
||||
} else {
|
||||
console && console.log("Error: You can only add children of type SpriteContainer, Sprite, BitmapText, or DOMElement [" + child.toString() + "]");
|
||||
return child;
|
||||
}
|
||||
if (child._spritestage_compatibility <= 4) {
|
||||
var spriteSheet = child.spriteSheet;
|
||||
if ((!spriteSheet || !spriteSheet._images || spriteSheet._images.length > 1) || (this.spritesheet && spritesheet !== spritesheet)) {
|
||||
console && console.log("Error: A child's spriteSheet must be equal to its parent spriteSheet and only use one image. [" + child.toString() + "]");
|
||||
return child;
|
||||
}
|
||||
this.spriteSheet = spriteSheet;
|
||||
}
|
||||
if (child.parent) { child.parent.removeChild(child); }
|
||||
child.parent = this;
|
||||
this.children.splice(index, 0, child);
|
||||
return child;
|
||||
};
|
||||
|
||||
/**
|
||||
* Returns a string representation of this object.
|
||||
* @method toString
|
||||
* @return {String} a string representation of the instance.
|
||||
**/
|
||||
p.toString = function() {
|
||||
return "[SpriteContainer (name="+ this.name +")]";
|
||||
};
|
||||
|
||||
createjs.SpriteContainer = SpriteContainer;
|
||||
}());
|
1030
vendor/scripts/SpriteStage.js
vendored
Normal file
1030
vendor/scripts/SpriteStage.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
471
vendor/scripts/antiscroll.js
vendored
Normal file
471
vendor/scripts/antiscroll.js
vendored
Normal file
|
@ -0,0 +1,471 @@
|
|||
(function ($) {
|
||||
|
||||
/**
|
||||
* Augment jQuery prototype.
|
||||
*/
|
||||
|
||||
$.fn.antiscroll = function (options) {
|
||||
return this.each(function () {
|
||||
if ($(this).data('antiscroll')) {
|
||||
$(this).data('antiscroll').destroy();
|
||||
}
|
||||
|
||||
$(this).data('antiscroll', new $.Antiscroll(this, options));
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Expose constructor.
|
||||
*/
|
||||
|
||||
$.Antiscroll = Antiscroll;
|
||||
|
||||
/**
|
||||
* Antiscroll pane constructor.
|
||||
*
|
||||
* @param {Element|jQuery} main pane
|
||||
* @parma {Object} options
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function Antiscroll (el, opts) {
|
||||
this.el = $(el);
|
||||
this.options = opts || {};
|
||||
|
||||
this.x = (false !== this.options.x) || this.options.forceHorizontal;
|
||||
this.y = (false !== this.options.y) || this.options.forceVertical;
|
||||
this.autoHide = false !== this.options.autoHide;
|
||||
this.padding = undefined == this.options.padding ? 2 : this.options.padding;
|
||||
|
||||
this.inner = this.el.find('.antiscroll-inner');
|
||||
this.inner.css({
|
||||
'width': '+=' + (this.y ? scrollbarSize() : 0)
|
||||
, 'height': '+=' + (this.x ? scrollbarSize() : 0)
|
||||
});
|
||||
|
||||
this.refresh();
|
||||
};
|
||||
|
||||
/**
|
||||
* refresh scrollbars
|
||||
*
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Antiscroll.prototype.refresh = function() {
|
||||
var needHScroll = this.inner.get(0).scrollWidth > this.el.width() + (this.y ? scrollbarSize() : 0),
|
||||
needVScroll = this.inner.get(0).scrollHeight > this.el.height() + (this.x ? scrollbarSize() : 0);
|
||||
|
||||
if (this.x) {
|
||||
if (!this.horizontal && needHScroll) {
|
||||
this.horizontal = new Scrollbar.Horizontal(this);
|
||||
} else if (this.horizontal && !needHScroll) {
|
||||
this.horizontal.destroy();
|
||||
this.horizontal = null;
|
||||
} else if (this.horizontal) {
|
||||
this.horizontal.update();
|
||||
}
|
||||
}
|
||||
|
||||
if (this.y) {
|
||||
if (!this.vertical && needVScroll) {
|
||||
this.vertical = new Scrollbar.Vertical(this);
|
||||
} else if (this.vertical && !needVScroll) {
|
||||
this.vertical.destroy();
|
||||
this.vertical = null;
|
||||
} else if (this.vertical) {
|
||||
this.vertical.update();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Cleans up.
|
||||
*
|
||||
* @return {Antiscroll} for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Antiscroll.prototype.destroy = function () {
|
||||
if (this.horizontal) {
|
||||
this.horizontal.destroy();
|
||||
this.horizontal = null
|
||||
}
|
||||
if (this.vertical) {
|
||||
this.vertical.destroy();
|
||||
this.vertical = null
|
||||
}
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Rebuild Antiscroll.
|
||||
*
|
||||
* @return {Antiscroll} for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Antiscroll.prototype.rebuild = function () {
|
||||
this.destroy();
|
||||
this.inner.attr('style', '');
|
||||
Antiscroll.call(this, this.el, this.options);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Scrollbar constructor.
|
||||
*
|
||||
* @param {Element|jQuery} element
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function Scrollbar (pane) {
|
||||
this.pane = pane;
|
||||
this.pane.el.append(this.el);
|
||||
this.innerEl = this.pane.inner.get(0);
|
||||
|
||||
this.dragging = false;
|
||||
this.enter = false;
|
||||
this.shown = false;
|
||||
|
||||
// hovering
|
||||
this.pane.el.mouseenter($.proxy(this, 'mouseenter'));
|
||||
this.pane.el.mouseleave($.proxy(this, 'mouseleave'));
|
||||
|
||||
// dragging
|
||||
this.el.mousedown($.proxy(this, 'mousedown'));
|
||||
|
||||
// scrolling
|
||||
this.innerPaneScrollListener = $.proxy(this, 'scroll');
|
||||
this.pane.inner.scroll(this.innerPaneScrollListener);
|
||||
|
||||
// wheel -optional-
|
||||
this.innerPaneMouseWheelListener = $.proxy(this, 'mousewheel');
|
||||
this.pane.inner.bind('mousewheel', this.innerPaneMouseWheelListener);
|
||||
|
||||
// show
|
||||
var initialDisplay = this.pane.options.initialDisplay;
|
||||
|
||||
if (initialDisplay !== false) {
|
||||
this.show();
|
||||
if (this.pane.autoHide) {
|
||||
this.hiding = setTimeout($.proxy(this, 'hide'), parseInt(initialDisplay, 10) || 3000);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Cleans up.
|
||||
*
|
||||
* @return {Scrollbar} for chaining
|
||||
* @api public
|
||||
*/
|
||||
|
||||
Scrollbar.prototype.destroy = function () {
|
||||
this.el.remove();
|
||||
this.pane.inner.unbind('scroll', this.innerPaneScrollListener);
|
||||
this.pane.inner.unbind('mousewheel', this.innerPaneMouseWheelListener);
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon mouseenter.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.prototype.mouseenter = function () {
|
||||
this.enter = true;
|
||||
this.show();
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon mouseleave.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.prototype.mouseleave = function () {
|
||||
this.enter = false;
|
||||
|
||||
if (!this.dragging) {
|
||||
if (this.pane.autoHide) {
|
||||
this.hide();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon wrap scroll.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.prototype.scroll = function () {
|
||||
if (!this.shown) {
|
||||
this.show();
|
||||
if (!this.enter && !this.dragging) {
|
||||
if (this.pane.autoHide) {
|
||||
this.hiding = setTimeout($.proxy(this, 'hide'), 1500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.update();
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon scrollbar mousedown.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.prototype.mousedown = function (ev) {
|
||||
ev.preventDefault();
|
||||
|
||||
this.dragging = true;
|
||||
|
||||
this.startPageY = ev.pageY - parseInt(this.el.css('top'), 10);
|
||||
this.startPageX = ev.pageX - parseInt(this.el.css('left'), 10);
|
||||
|
||||
// prevent crazy selections on IE
|
||||
this.el[0].ownerDocument.onselectstart = function () { return false; };
|
||||
|
||||
var pane = this.pane,
|
||||
move = $.proxy(this, 'mousemove'),
|
||||
self = this
|
||||
|
||||
$(this.el[0].ownerDocument)
|
||||
.mousemove(move)
|
||||
.mouseup(function () {
|
||||
self.dragging = false;
|
||||
this.onselectstart = null;
|
||||
|
||||
$(this).unbind('mousemove', move);
|
||||
|
||||
if (!self.enter) {
|
||||
self.hide();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Show scrollbar.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.prototype.show = function (duration) {
|
||||
if (!this.shown && this.update()) {
|
||||
this.el.addClass('antiscroll-scrollbar-shown');
|
||||
if (this.hiding) {
|
||||
clearTimeout(this.hiding);
|
||||
this.hiding = null;
|
||||
}
|
||||
this.shown = true;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide scrollbar.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.prototype.hide = function () {
|
||||
if (this.pane.autoHide !== false && this.shown) {
|
||||
// check for dragging
|
||||
this.el.removeClass('antiscroll-scrollbar-shown');
|
||||
this.shown = false;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Horizontal scrollbar constructor
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Horizontal = function (pane) {
|
||||
this.el = $('<div class="antiscroll-scrollbar antiscroll-scrollbar-horizontal"/>', pane.el);
|
||||
Scrollbar.call(this, pane);
|
||||
};
|
||||
|
||||
/**
|
||||
* Inherits from Scrollbar.
|
||||
*/
|
||||
|
||||
inherits(Scrollbar.Horizontal, Scrollbar);
|
||||
|
||||
/**
|
||||
* Updates size/position of scrollbar.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Horizontal.prototype.update = function () {
|
||||
var paneWidth = this.pane.el.width(),
|
||||
trackWidth = paneWidth - this.pane.padding * 2,
|
||||
innerEl = this.pane.inner.get(0)
|
||||
|
||||
this.el
|
||||
.css('width', trackWidth * paneWidth / innerEl.scrollWidth)
|
||||
.css('left', trackWidth * innerEl.scrollLeft / innerEl.scrollWidth);
|
||||
|
||||
return paneWidth < innerEl.scrollWidth;
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon drag.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Horizontal.prototype.mousemove = function (ev) {
|
||||
var trackWidth = this.pane.el.width() - this.pane.padding * 2,
|
||||
pos = ev.pageX - this.startPageX,
|
||||
barWidth = this.el.width(),
|
||||
innerEl = this.pane.inner.get(0)
|
||||
|
||||
// minimum top is 0, maximum is the track height
|
||||
var y = Math.min(Math.max(pos, 0), trackWidth - barWidth);
|
||||
|
||||
innerEl.scrollLeft = (innerEl.scrollWidth - this.pane.el.width())
|
||||
* y / (trackWidth - barWidth);
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon container mousewheel.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Horizontal.prototype.mousewheel = function (ev, delta, x, y) {
|
||||
if ((x < 0 && 0 == this.pane.inner.get(0).scrollLeft) ||
|
||||
(x > 0 && (this.innerEl.scrollLeft + Math.ceil(this.pane.el.width())
|
||||
== this.innerEl.scrollWidth))) {
|
||||
ev.preventDefault();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Vertical scrollbar constructor
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Vertical = function (pane) {
|
||||
this.el = $('<div class="antiscroll-scrollbar antiscroll-scrollbar-vertical"/>', pane.el);
|
||||
Scrollbar.call(this, pane);
|
||||
};
|
||||
|
||||
/**
|
||||
* Inherits from Scrollbar.
|
||||
*/
|
||||
|
||||
inherits(Scrollbar.Vertical, Scrollbar);
|
||||
|
||||
/**
|
||||
* Updates size/position of scrollbar.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Vertical.prototype.update = function () {
|
||||
var paneHeight = this.pane.el.height(),
|
||||
trackHeight = paneHeight - this.pane.padding * 2,
|
||||
innerEl = this.innerEl;
|
||||
|
||||
var scrollbarHeight = trackHeight * paneHeight / innerEl.scrollHeight;
|
||||
scrollbarHeight = scrollbarHeight < 20 ? 20 : scrollbarHeight;
|
||||
|
||||
var topPos = trackHeight * innerEl.scrollTop / innerEl.scrollHeight;
|
||||
|
||||
if((topPos + scrollbarHeight) > trackHeight) {
|
||||
var diff = (topPos + scrollbarHeight) - trackHeight;
|
||||
topPos = topPos - diff - 3;
|
||||
}
|
||||
|
||||
this.el
|
||||
.css('height', scrollbarHeight)
|
||||
.css('top', topPos);
|
||||
|
||||
return paneHeight < innerEl.scrollHeight;
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon drag.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Vertical.prototype.mousemove = function (ev) {
|
||||
var paneHeight = this.pane.el.height(),
|
||||
trackHeight = paneHeight - this.pane.padding * 2,
|
||||
pos = ev.pageY - this.startPageY,
|
||||
barHeight = this.el.height(),
|
||||
innerEl = this.innerEl
|
||||
|
||||
// minimum top is 0, maximum is the track height
|
||||
var y = Math.min(Math.max(pos, 0), trackHeight - barHeight);
|
||||
|
||||
innerEl.scrollTop = (innerEl.scrollHeight - paneHeight)
|
||||
* y / (trackHeight - barHeight);
|
||||
};
|
||||
|
||||
/**
|
||||
* Called upon container mousewheel.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
Scrollbar.Vertical.prototype.mousewheel = function (ev, delta, x, y) {
|
||||
if ((y > 0 && 0 == this.innerEl.scrollTop) ||
|
||||
(y < 0 && (this.innerEl.scrollTop + Math.ceil(this.pane.el.height())
|
||||
== this.innerEl.scrollHeight))) {
|
||||
ev.preventDefault();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Cross-browser inheritance.
|
||||
*
|
||||
* @param {Function} constructor
|
||||
* @param {Function} constructor we inherit from
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function inherits (ctorA, ctorB) {
|
||||
function f() {};
|
||||
f.prototype = ctorB.prototype;
|
||||
ctorA.prototype = new f;
|
||||
};
|
||||
|
||||
/**
|
||||
* Scrollbar size detection.
|
||||
*/
|
||||
|
||||
var size;
|
||||
|
||||
function scrollbarSize () {
|
||||
if (size === undefined) {
|
||||
var div = $(
|
||||
'<div class="antiscroll-inner" style="width:50px;height:50px;overflow-y:scroll;'
|
||||
+ 'position:absolute;top:-200px;left:-200px;"><div style="height:100px;width:100%"/>'
|
||||
+ '</div>'
|
||||
);
|
||||
|
||||
$('body').append(div);
|
||||
var w1 = $(div).innerWidth();
|
||||
var w2 = $('div', div).innerWidth();
|
||||
$(div).remove();
|
||||
|
||||
size = w1 - w2;
|
||||
}
|
||||
|
||||
return size;
|
||||
};
|
||||
|
||||
})(jQuery);
|
65
vendor/scripts/easeljs-NEXT.combined.js
vendored
65
vendor/scripts/easeljs-NEXT.combined.js
vendored
|
@ -5300,7 +5300,7 @@ var p = DisplayObject.prototype = new createjs.EventDispatcher();
|
|||
* event.
|
||||
* @property onTick
|
||||
* @type {Function}
|
||||
* @deprecatedtick
|
||||
* @deprecated Use addEventListener and the "tick" event.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -5768,7 +5768,7 @@ var p = DisplayObject.prototype = new createjs.EventDispatcher();
|
|||
* be used to transform positions between coordinate spaces, such as with {{#crossLink "DisplayObject/localToGlobal"}}{{/crossLink}}
|
||||
* and {{#crossLink "DisplayObject/globalToLocal"}}{{/crossLink}}.
|
||||
* @method getConcatenatedMatrix
|
||||
* @param {Matrix2D} [mtx] A {{#crossLink "Matrix2D"}}{{/crossLink}} object to populate with the calculated values.
|
||||
* @param {Matrix2D} [matrix] A {{#crossLink "Matrix2D"}}{{/crossLink}} object to populate with the calculated values.
|
||||
* If null, a new Matrix2D object is returned.
|
||||
* @return {Matrix2D} a concatenated Matrix2D object representing the combined transform of the display object and
|
||||
* all of its parent Containers up to the highest level ancestor (usually the {{#crossLink "Stage"}}{{/crossLink}}).
|
||||
|
@ -7012,14 +7012,6 @@ var p = Stage.prototype = new createjs.Container();
|
|||
* @default false
|
||||
**/
|
||||
p.mouseMoveOutside = false;
|
||||
|
||||
// TODO: deprecated.
|
||||
/**
|
||||
* Replaced by {{#crossLink "Stage/relayEventsTo"}}{{/crossLink}}.
|
||||
* @property nextStage
|
||||
* @type Stage
|
||||
* @deprecated Use relayEventsTo instead.
|
||||
**/
|
||||
|
||||
/**
|
||||
* The hitArea property is not supported for Stage.
|
||||
|
@ -9794,18 +9786,17 @@ var p = SpriteSheetBuilder.prototype = new createjs.EventDispatcher;
|
|||
* source to draw to the frame. If not specified, it will look for a <code>getBounds</code> method, bounds property,
|
||||
* or <code>nominalBounds</code> property on the source to use. If one is not found, the frame will be skipped.
|
||||
* @param {Number} [scale=1] Optional. The scale to draw this frame at. Default is 1.
|
||||
* @param {Function} [setupFunction] Optional. A function to call immediately before drawing this frame.
|
||||
* @param {Array} [setupParams] Parameters to pass to the setup function.
|
||||
* @param {Object} [setupScope] The scope to call the setupFunction in.
|
||||
* @param {Function} [setupFunction] A function to call immediately before drawing this frame. It will be called with two parameters: the source, and setupData.
|
||||
* @param {Object} [setupData] Arbitrary setup data to pass to setupFunction as the second parameter.
|
||||
* @return {Number} The index of the frame that was just added, or null if a sourceRect could not be determined.
|
||||
**/
|
||||
p.addFrame = function(source, sourceRect, scale, setupFunction, setupParams, setupScope) {
|
||||
p.addFrame = function(source, sourceRect, scale, setupFunction, setupData) {
|
||||
if (this._data) { throw SpriteSheetBuilder.ERR_RUNNING; }
|
||||
var rect = sourceRect||source.bounds||source.nominalBounds;
|
||||
if (!rect&&source.getBounds) { rect = source.getBounds(); }
|
||||
if (!rect) { return null; }
|
||||
scale = scale||1;
|
||||
return this._frames.push({source:source, sourceRect:rect, scale:scale, funct:setupFunction, params:setupParams, scope:setupScope, index:this._frames.length, height:rect.height*scale})-1;
|
||||
return this._frames.push({source:source, sourceRect:rect, scale:scale, funct:setupFunction, data:setupData, index:this._frames.length, height:rect.height*scale})-1;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -9825,37 +9816,35 @@ var p = SpriteSheetBuilder.prototype = new createjs.EventDispatcher;
|
|||
};
|
||||
|
||||
/**
|
||||
* This will take a MovieClip, and add its frames and labels to this builder. Labels will be added as an animation
|
||||
* This will take a MovieClip instance, and add its frames and labels to this builder. Labels will be added as an animation
|
||||
* running from the label index to the next label. For example, if there is a label named "foo" at frame 0 and a label
|
||||
* named "bar" at frame 10, in a MovieClip with 15 frames, it will add an animation named "foo" that runs from frame
|
||||
* index 0 to 9, and an animation named "bar" that runs from frame index 10 to 14.
|
||||
*
|
||||
* Note that this will iterate through the full MovieClip with actionsEnabled set to false, ending on the last frame.
|
||||
* @method addMovieClip
|
||||
* @param {MovieClip} source The source MovieClip to add to the sprite sheet.
|
||||
* @param {MovieClip} source The source MovieClip instance to add to the sprite sheet.
|
||||
* @param {Rectangle} [sourceRect] A {{#crossLink "Rectangle"}}{{/crossLink}} defining the portion of the source to
|
||||
* draw to the frame. If not specified, it will look for a <code>getBounds</code> method, <code>frameBounds</code>
|
||||
* Array, <code>bounds</code> property, or <code>nominalBounds</code> property on the source to use. If one is not
|
||||
* found, the MovieClip will be skipped.
|
||||
* @param {Number} [scale=1] The scale to draw the movie clip at.
|
||||
* @param {Function} [setupFunction] A function to call immediately before drawing each frame. It will be called with three parameters: the source, setupData, and the frame index.
|
||||
* @param {Object} [setupData] Arbitrary setup data to pass to setupFunction as the second parameter.
|
||||
* @param {Function} [labelFunction] This method will be called for each movieclip label that is added with four parameters: the label name, the source movieclip instance, the starting frame index (in the movieclip timeline) and the end index. It must return a new name for the label/animation, or false to exclude the label.
|
||||
**/
|
||||
p.addMovieClip = function(source, sourceRect, scale) {
|
||||
p.addMovieClip = function(source, sourceRect, scale, setupFunction, setupData, labelFunction) {
|
||||
if (this._data) { throw SpriteSheetBuilder.ERR_RUNNING; }
|
||||
var rects = source.frameBounds;
|
||||
var rect = sourceRect||source.bounds||source.nominalBounds;
|
||||
if (!rect&&source.getBounds) { rect = source.getBounds(); }
|
||||
if (!rect && !rects) { return null; }
|
||||
if (!rect && !rects) { return; }
|
||||
|
||||
var baseFrameIndex = this._frames.length;
|
||||
var i, l, baseFrameIndex = this._frames.length;
|
||||
var duration = source.timeline.duration;
|
||||
for (var i=0; i<duration; i++) {
|
||||
for (i=0; i<duration; i++) {
|
||||
var r = (rects&&rects[i]) ? rects[i] : rect;
|
||||
this.addFrame(source, r, scale, function(frame) {
|
||||
var ae = this.actionsEnabled;
|
||||
this.actionsEnabled = false;
|
||||
this.gotoAndStop(frame);
|
||||
this.actionsEnabled = ae;
|
||||
}, [i], source);
|
||||
this.addFrame(source, r, scale, this._setupMovieClipFrame, {i:i, f:setupFunction, d:setupData});
|
||||
}
|
||||
var labels = source.timeline._labels;
|
||||
var lbls = [];
|
||||
|
@ -9864,12 +9853,16 @@ var p = SpriteSheetBuilder.prototype = new createjs.EventDispatcher;
|
|||
}
|
||||
if (lbls.length) {
|
||||
lbls.sort(function(a,b){ return a.index-b.index; });
|
||||
for (var i=0,l=lbls.length; i<l; i++) {
|
||||
for (i=0,l=lbls.length; i<l; i++) {
|
||||
var label = lbls[i].label;
|
||||
var start = baseFrameIndex+lbls[i].index;
|
||||
var end = baseFrameIndex+((i == l-1) ? duration : lbls[i+1].index);
|
||||
var frames = [];
|
||||
for (var j=start; j<end; j++) { frames.push(j); }
|
||||
if (labelFunction) {
|
||||
label = labelFunction(label, source, start, end);
|
||||
if (!label) { continue; }
|
||||
}
|
||||
this.addAnimation(label, frames, true); // for now, this loops all animations.
|
||||
}
|
||||
}
|
||||
|
@ -9969,6 +9962,20 @@ var p = SpriteSheetBuilder.prototype = new createjs.EventDispatcher;
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @method _setupMovieClipFrame
|
||||
* @protected
|
||||
* @return {Number} The width & height of the row.
|
||||
**/
|
||||
p._setupMovieClipFrame = function(source, data) {
|
||||
var ae = source.actionsEnabled;
|
||||
source.actionsEnabled = false;
|
||||
source.gotoAndStop(data.i);
|
||||
source.actionsEnabled = ae;
|
||||
data.f&&data.f(source, data.d, data.i);
|
||||
};
|
||||
|
||||
/**
|
||||
* @method _getSize
|
||||
|
@ -10067,7 +10074,7 @@ var p = SpriteSheetBuilder.prototype = new createjs.EventDispatcher;
|
|||
var sourceRect = frame.sourceRect;
|
||||
var canvas = this._data.images[frame.img];
|
||||
var ctx = canvas.getContext("2d");
|
||||
frame.funct&&frame.funct.apply(frame.scope, frame.params);
|
||||
frame.funct&&frame.funct(frame.source, frame.data);
|
||||
ctx.save();
|
||||
ctx.beginPath();
|
||||
ctx.rect(rect.x, rect.y, rect.width, rect.height);
|
||||
|
|
182
vendor/scripts/preloadjs-NEXT.combined.js
vendored
182
vendor/scripts/preloadjs-NEXT.combined.js
vendored
|
@ -27,7 +27,7 @@ this.createjs = this.createjs||{};
|
|||
* @type String
|
||||
* @static
|
||||
**/
|
||||
s.buildDate = /*date*/"Wed, 18 Dec 2013 23:28:57 GMT"; // injected by build process
|
||||
s.buildDate = /*date*/"Thu, 06 Mar 2014 22:58:10 GMT"; // injected by build process
|
||||
|
||||
})();
|
||||
/*
|
||||
|
@ -1745,8 +1745,30 @@ TODO: WINDOWS ISSUES
|
|||
|
||||
/**
|
||||
* Ensure loaded scripts "complete" in the order they are specified. Loaded scripts are added to the document head
|
||||
* once they are loaded. Note that scripts loaded via tags will load one-at-a-time when this property is `true`.
|
||||
* load one at a time
|
||||
* once they are loaded. Scripts loaded via tags will load one-at-a-time when this property is `true`, whereas
|
||||
* scripts loaded using XHR can load in any order, but will "finish" and be added to the document in the order
|
||||
* specified.
|
||||
*
|
||||
* Any items can be set to load in order by setting the `maintainOrder` property on the load item, or by ensuring
|
||||
* that only one connection can be open at a time using {{#crossLink "LoadQueue/setMaxConnections"}}{{/crossLink}}.
|
||||
* Note that when the `maintainScriptOrder` property is set to `true`, scripts items are automatically set to
|
||||
* `maintainOrder=true`, and changing the `maintainScriptOrder` to `false` during a load will not change items
|
||||
* already in a queue.
|
||||
*
|
||||
* <h4>Example</h4>
|
||||
*
|
||||
* var queue = new createjs.LoadQueue();
|
||||
* queue.setMaxConnections(3); // Set a higher number to load multiple items at once
|
||||
* queue.maintainScriptOrder = true; // Ensure scripts are loaded in order
|
||||
* queue.loadManifest([
|
||||
* "script1.js",
|
||||
* "script2.js",
|
||||
* "image.png", // Load any time
|
||||
* {src: "image2.png", maintainOrder: true} // Will wait for script2.js
|
||||
* "image3.png",
|
||||
* "script3.js" // Will wait for image2.png before loading (or completing when loading with XHR)
|
||||
* ]);
|
||||
*
|
||||
* @property maintainScriptOrder
|
||||
* @type {Boolean}
|
||||
* @default true
|
||||
|
@ -2247,6 +2269,11 @@ TODO: WINDOWS ISSUES
|
|||
* of types using the extension. Supported types are defined on LoadQueue, such as <code>LoadQueue.IMAGE</code>.
|
||||
* It is recommended that a type is specified when a non-standard file URI (such as a php script) us used.</li>
|
||||
* <li>id: A string identifier which can be used to reference the loaded object.</li>
|
||||
* <li>maintainOrder: Set to `true` to ensure this asset loads in the order defined in the manifest. This
|
||||
* will happen when the max connections has been set above 1 (using {{#crossLink "LoadQueue/setMaxConnections"}}{{/crossLink}}),
|
||||
* and will only affect other assets also defined as `maintainOrder`. Everything else will finish as it is
|
||||
* loaded. Ordered items are combined with script tags loading in order when {{#crossLink "LoadQueue/maintainScriptOrder:property"}}{{/crossLink}}
|
||||
* is set to `true`.</li>
|
||||
* <li>callback: Optional, used for JSONP requests, to define what method to call when the JSONP is loaded.</li>
|
||||
* <li>data: An arbitrary data object, which is included with the loaded object</li>
|
||||
* <li>method: used to define if this request uses GET or POST when sending data to the server. The default
|
||||
|
@ -2314,9 +2341,14 @@ TODO: WINDOWS ISSUES
|
|||
* <li>src: The source of the file that is being loaded. This property is <b>required</b>. The source can
|
||||
* either be a string (recommended), or an HTML tag.</li>
|
||||
* <li>type: The type of file that will be loaded (image, sound, json, etc). PreloadJS does auto-detection
|
||||
* of types using the extension. Supported types are defined on LoadQueue, such as <code>LoadQueue.IMAGE</code>.
|
||||
* of types using the extension. Supported types are defined on LoadQueue, such as {{#crossLink "LoadQueue/IMAGE:property"}}{{/crossLink}}.
|
||||
* It is recommended that a type is specified when a non-standard file URI (such as a php script) us used.</li>
|
||||
* <li>id: A string identifier which can be used to reference the loaded object.</li>
|
||||
* <li>maintainOrder: Set to `true` to ensure this asset loads in the order defined in the manifest. This
|
||||
* will happen when the max connections has been set above 1 (using {{#crossLink "LoadQueue/setMaxConnections"}}{{/crossLink}}),
|
||||
* and will only affect other assets also defined as `maintainOrder`. Everything else will finish as it is
|
||||
* loaded. Ordered items are combined with script tags loading in order when {{#crossLink "LoadQueue/maintainScriptOrder:property"}}{{/crossLink}}
|
||||
* is set to `true`.</li>
|
||||
* <li>callback: Optional, used for JSONP requests, to define what method to call when the JSONP is loaded.</li>
|
||||
* <li>data: An arbitrary data object, which is included with the loaded object</li>
|
||||
* <li>method: used to define if this request uses GET or POST when sending data to the server. The default
|
||||
|
@ -2499,6 +2531,7 @@ TODO: WINDOWS ISSUES
|
|||
if (item == null) { return; } // Sometimes plugins or types should be skipped.
|
||||
var loader = this._createLoader(item);
|
||||
if (loader != null) {
|
||||
item._loader = loader;
|
||||
this._loadQueue.push(loader);
|
||||
this._loadQueueBackup.push(loader);
|
||||
|
||||
|
@ -2506,9 +2539,11 @@ TODO: WINDOWS ISSUES
|
|||
this._updateProgress();
|
||||
|
||||
// Only worry about script order when using XHR to load scripts. Tags are only loading one at a time.
|
||||
if (this.maintainScriptOrder
|
||||
if ((this.maintainScriptOrder
|
||||
&& item.type == createjs.LoadQueue.JAVASCRIPT
|
||||
&& loader instanceof createjs.XHRLoader) {
|
||||
//&& loader instanceof createjs.XHRLoader //NOTE: Have to track all JS files this way
|
||||
)
|
||||
|| item.maintainOrder === true) {
|
||||
this._scriptOrder.push(item);
|
||||
this._loadedScripts.push(null);
|
||||
}
|
||||
|
@ -2717,13 +2752,9 @@ TODO: WINDOWS ISSUES
|
|||
if (this._currentLoads.length >= this._maxConnections) { break; }
|
||||
var loader = this._loadQueue[i];
|
||||
|
||||
// Determine if we should be only loading one at a time:
|
||||
if (this.maintainScriptOrder
|
||||
&& loader instanceof createjs.TagLoader
|
||||
&& loader.getItem().type == createjs.LoadQueue.JAVASCRIPT) {
|
||||
if (this._currentlyLoadingScript) { continue; } // Later items in the queue might not be scripts.
|
||||
this._currentlyLoadingScript = true;
|
||||
}
|
||||
// Determine if we should be only loading one tag-script at a time:
|
||||
// Note: maintainOrder items don't do anything here because we can hold onto their loaded value
|
||||
if (!this._canStartLoad(loader)) { continue; }
|
||||
this._loadQueue.splice(i, 1);
|
||||
i--;
|
||||
this._loadItem(loader);
|
||||
|
@ -2755,6 +2786,8 @@ TODO: WINDOWS ISSUES
|
|||
p._handleFileError = function(event) {
|
||||
var loader = event.target;
|
||||
this._numItemsLoaded++;
|
||||
|
||||
this._finishOrderedItem(loader, true);
|
||||
this._updateProgress();
|
||||
|
||||
var newEvent = new createjs.Event("error");
|
||||
|
@ -2787,47 +2820,43 @@ TODO: WINDOWS ISSUES
|
|||
this._loadedRawResults[item.id] = loader.getResult(true);
|
||||
}
|
||||
|
||||
// Clean up the load item
|
||||
this._removeLoadItem(loader);
|
||||
|
||||
// Ensure that script loading happens in the right order.
|
||||
if (this.maintainScriptOrder && item.type == createjs.LoadQueue.JAVASCRIPT) {
|
||||
if (loader instanceof createjs.TagLoader) {
|
||||
this._currentlyLoadingScript = false;
|
||||
} else {
|
||||
this._loadedScripts[createjs.indexOf(this._scriptOrder, item)] = item;
|
||||
this._checkScriptLoadOrder(loader);
|
||||
return;
|
||||
}
|
||||
if (!this._finishOrderedItem(loader)) {
|
||||
// The item was NOT managed, so process it now
|
||||
this._processFinishedLoad(item, loader);
|
||||
}
|
||||
|
||||
// Clean up the load item
|
||||
delete item._loadAsJSONP;
|
||||
|
||||
// If the item was a manifest, then
|
||||
if (item.type == createjs.LoadQueue.MANIFEST) {
|
||||
var result = loader.getResult();
|
||||
if (result != null && result.manifest !== undefined) {
|
||||
this.loadManifest(result, true);
|
||||
}
|
||||
}
|
||||
|
||||
this._processFinishedLoad(item, loader);
|
||||
};
|
||||
|
||||
/**
|
||||
* @method _processFinishedLoad
|
||||
* @param {Object} item
|
||||
* Flag an item as finished. If the item's order is being managed, then set it up to finish
|
||||
* @method _finishOrderedItem
|
||||
* @param {AbstractLoader} loader
|
||||
* @protected
|
||||
* @return {Boolean} If the item's order is being managed. This allows the caller to take an alternate
|
||||
* behaviour if it is.
|
||||
* @private
|
||||
*/
|
||||
p._processFinishedLoad = function(item, loader) {
|
||||
// Old handleFileTagComplete follows here.
|
||||
this._numItemsLoaded++;
|
||||
p._finishOrderedItem = function(loader, loadFailed) {
|
||||
var item = loader.getItem();
|
||||
|
||||
this._updateProgress();
|
||||
this._sendFileComplete(item, loader);
|
||||
if ((this.maintainScriptOrder && item.type == createjs.LoadQueue.JAVASCRIPT)
|
||||
|| item.maintainOrder) {
|
||||
|
||||
this._loadNext();
|
||||
//TODO: Evaluate removal of the _currentlyLoadingScript
|
||||
if (loader instanceof createjs.TagLoader && item.type == createjs.LoadQueue.JAVASCRIPT) {
|
||||
this._currentlyLoadingScript = false;
|
||||
}
|
||||
|
||||
var index = createjs.indexOf(this._scriptOrder, item);
|
||||
if (index == -1) { return false; } // This loader no longer exists
|
||||
this._loadedScripts[index] = (loadFailed === true) ? true : item;
|
||||
|
||||
this._checkScriptLoadOrder();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -2845,17 +2874,68 @@ TODO: WINDOWS ISSUES
|
|||
for (var i=0;i<l;i++) {
|
||||
var item = this._loadedScripts[i];
|
||||
if (item === null) { break; } // This is still loading. Do not process further.
|
||||
if (item === true) { continue; } // This has completed, and been processed. Move on.
|
||||
if (item === true) { continue; } // This has completed, and been processed. Move on.
|
||||
|
||||
// Append script tags to the head automatically. Tags do this in the loader, but XHR scripts have to maintain order.
|
||||
var loadItem = this._loadedResults[item.id];
|
||||
(document.body || document.getElementsByTagName("body")[0]).appendChild(loadItem);
|
||||
if (item.type == createjs.LoadQueue.JAVASCRIPT) {
|
||||
// Append script tags to the head automatically. Tags do this in the loader, but XHR scripts have to maintain order.
|
||||
(document.body || document.getElementsByTagName("body")[0]).appendChild(loadItem);
|
||||
}
|
||||
|
||||
this._processFinishedLoad(item);
|
||||
var loader = item._loader;
|
||||
this._processFinishedLoad(item, loader);
|
||||
this._loadedScripts[i] = true;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @method _processFinishedLoad
|
||||
* @param {Object} item
|
||||
* @param {AbstractLoader} loader
|
||||
* @protected
|
||||
*/
|
||||
p._processFinishedLoad = function(item, loader) {
|
||||
// If the item was a manifest, then queue it up!
|
||||
if (item.type == createjs.LoadQueue.MANIFEST) {
|
||||
var result = loader.getResult();
|
||||
if (result != null && result.manifest !== undefined) {
|
||||
this.loadManifest(result, true);
|
||||
}
|
||||
}
|
||||
|
||||
this._numItemsLoaded++;
|
||||
this._updateProgress();
|
||||
this._sendFileComplete(item, loader);
|
||||
|
||||
this._loadNext();
|
||||
};
|
||||
|
||||
/**
|
||||
* Ensure items with `maintainOrder=true` that are before the specified item have loaded. This only applies to
|
||||
* JavaScript items that are being loaded with a TagLoader, since they have to be loaded and completed <strong>before</strong>
|
||||
* the script can even be started, since it exist in the DOM while loading.
|
||||
* @method _canStartLoad
|
||||
* @param {XHRLoader|TagLoader} loader The loader for the item
|
||||
* @return {Boolean} Whether the item can start a load or not.
|
||||
* @private
|
||||
*/
|
||||
p._canStartLoad = function(loader) {
|
||||
if (!this.maintainScriptOrder || loader instanceof createjs.XHRLoader) { return true; }
|
||||
var item = loader.getItem();
|
||||
if (item.type != createjs.LoadQueue.JAVASCRIPT) { return true; }
|
||||
if (this._currentlyLoadingScript) { return false; }
|
||||
|
||||
var index = this._scriptOrder.indexOf(item);
|
||||
var i = 0;
|
||||
while (i < index) {
|
||||
var checkItem = this._loadedScripts[i];
|
||||
if (checkItem == null) { return false; }
|
||||
i++;
|
||||
}
|
||||
this._currentlyLoadingScript = true;
|
||||
return true;
|
||||
};
|
||||
|
||||
/**
|
||||
* A load item is completed or was canceled, and needs to be removed from the LoadQueue.
|
||||
* @method _removeLoadItem
|
||||
|
@ -2863,6 +2943,10 @@ TODO: WINDOWS ISSUES
|
|||
* @private
|
||||
*/
|
||||
p._removeLoadItem = function(loader) {
|
||||
var item = loader.getItem();
|
||||
delete item._loader;
|
||||
delete item._loadAsJSONP;
|
||||
|
||||
var l = this._currentLoads.length;
|
||||
for (var i=0;i<l;i++) {
|
||||
if (this._currentLoads[i] == loader) {
|
||||
|
@ -3058,7 +3142,7 @@ TODO: WINDOWS ISSUES
|
|||
item.completeHandler(event);
|
||||
}
|
||||
|
||||
this.hasEventListener("fileload") && this.dispatchEvent(event)
|
||||
this.hasEventListener("fileload") && this.dispatchEvent(event);
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
63
vendor/styles/antiscroll.css
vendored
Normal file
63
vendor/styles/antiscroll.css
vendored
Normal file
|
@ -0,0 +1,63 @@
|
|||
.antiscroll-wrap {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.antiscroll-scrollbar {
|
||||
background: gray;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
-webkit-border-radius: 7px;
|
||||
-moz-border-radius: 7px;
|
||||
border-radius: 7px;
|
||||
-webkit-box-shadow: 0 0 1px #fff;
|
||||
-moz-box-shadow: 0 0 1px #fff;
|
||||
box-shadow: 0 0 1px #fff;
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
|
||||
-webkit-transition: linear 300ms opacity;
|
||||
-moz-transition: linear 300ms opacity;
|
||||
-o-transition: linear 300ms opacity;
|
||||
}
|
||||
|
||||
.antiscroll-scrollbar-shown {
|
||||
opacity: 1;
|
||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
}
|
||||
|
||||
.antiscroll-scrollbar-horizontal {
|
||||
height: 7px;
|
||||
margin-left: 2px;
|
||||
bottom: 2px;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.antiscroll-scrollbar-vertical {
|
||||
width: 7px;
|
||||
margin-top: 2px;
|
||||
right: 2px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.antiscroll-inner {
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
/** A bug in Chrome 25 on Lion requires each selector to have their own
|
||||
blocks. E.g. the following:
|
||||
|
||||
.antiscroll-inner::-webkit-scrollbar, .antiscroll-inner::scrollbar {...}
|
||||
|
||||
causes the width and height rules to be ignored by the browser resulting
|
||||
in both native and antiscroll scrollbars appearing at the same time.
|
||||
*/
|
||||
.antiscroll-inner::-webkit-scrollbar {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.antiscroll-inner::scrollbar {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
Loading…
Reference in a new issue