This commit is contained in:
George Saines 2014-11-23 13:32:31 -08:00
commit e7a5cadfb0
93 changed files with 1656 additions and 214 deletions
app
server

View file

@ -188,7 +188,7 @@ module.exports = LevelOptions =
hidesCodeToolbar: true hidesCodeToolbar: true
hidesRealTimePlayback: true hidesRealTimePlayback: true
requiredGear: {feet: 'simple-boots', 'right-hand': 'simple-sword', torso: 'tarnished-bronze-breastplate', 'programming-book': 'programmaticon-i', eyes: 'crude-glasses'} requiredGear: {feet: 'simple-boots', 'right-hand': 'simple-sword', torso: 'tarnished-bronze-breastplate', 'programming-book': 'programmaticon-i', eyes: 'crude-glasses'}
restrictedGear: {feet: 'leather-boots'} restrictedGear: {feet: 'leather-boots', 'right-hand': 'crude-builders-hammer'}
suspectCode: [{name: 'lone-find-nearest-enemy', pattern: /^[ ]*(self|this|@)?[:.]?findNearestEnemy()/m}] suspectCode: [{name: 'lone-find-nearest-enemy', pattern: /^[ ]*(self|this|@)?[:.]?findNearestEnemy()/m}]
'kithgard-gates': 'kithgard-gates':
hidesSay: true hidesSay: true

View file

@ -96,6 +96,8 @@ module.exports = class SpriteBuilder
shape.graphics.lf shapeData.lf... shape.graphics.lf shapeData.lf...
else if shapeData.fc? else if shapeData.fc?
shape.graphics.f @colorMap[shapeKey] or shapeData.fc shape.graphics.f @colorMap[shapeKey] or shapeData.fc
else if shapeData.rf?
shape.graphics.rf shapeData.rf...
if shapeData.ls? if shapeData.ls?
shape.graphics.ls shapeData.ls... shape.graphics.ls shapeData.ls...
else if shapeData.sc? else if shapeData.sc?

View file

@ -52,7 +52,7 @@ module.exports = class SpriteParser
container.bounds[0] -= @width / 2 container.bounds[0] -= @width / 2
container.bounds[1] -= @height / 2 container.bounds[1] -= @height / 2
[shapeKeys, localShapes] = @getShapesFromBlock container, source [shapeKeys, localShapes] = @getShapesFromBlock container, source
localContainers = @getContainersFromMovieClip container, source localContainers = @getContainersFromMovieClip container, source, true # Added true because anya attack was breaking, but might break other imports
addChildArgs = @getAddChildCallArguments container, source addChildArgs = @getAddChildCallArguments container, source
instructions = [] instructions = []
for bn in addChildArgs for bn in addChildArgs
@ -248,9 +248,13 @@ module.exports = class SpriteParser
if fillCall.callee.property.name is 'lf' if fillCall.callee.property.name is 'lf'
linearGradientFillSource = @subSourceFromRange fillCall.parent.range, source linearGradientFillSource = @subSourceFromRange fillCall.parent.range, source
linearGradientFill = @grabFunctionArguments linearGradientFillSource.replace(/.*?lf\(/, 'lf('), true linearGradientFill = @grabFunctionArguments linearGradientFillSource.replace(/.*?lf\(/, 'lf('), true
else if fillCall.callee.property.name is 'rf'
radialGradientFillSource = @subSourceFromRange fillCall.parent.range, source
radialGradientFill = @grabFunctionArguments radialGradientFillSource.replace(/.*?lf\(/, 'lf('), true
else else
fillColor = fillCall.arguments[0]?.value ? null fillColor = fillCall.arguments[0]?.value ? null
console.error 'What is this?! Not a fill!' unless fillCall.callee.property.name is 'f' callName = fillCall.callee.property.name
console.error 'What is this?! Not a fill!', callName unless callName is 'f'
strokeCall = node.parent.parent.parent.parent strokeCall = node.parent.parent.parent.parent
if strokeCall.object.callee.property.name is 'ls' if strokeCall.object.callee.property.name is 'ls'
linearGradientStrokeSource = @subSourceFromRange strokeCall.parent.range, source linearGradientStrokeSource = @subSourceFromRange strokeCall.parent.range, source
@ -301,6 +305,7 @@ module.exports = class SpriteParser
shape.ss = strokeStyle if strokeStyle shape.ss = strokeStyle if strokeStyle
shape.fc = fillColor if fillColor shape.fc = fillColor if fillColor
shape.lf = linearGradientFill if linearGradientFill shape.lf = linearGradientFill if linearGradientFill
shape.rf = radialGradientFill if radialGradientFill
shape.ls = linearGradientStroke if linearGradientStroke shape.ls = linearGradientStroke if linearGradientStroke
if name.search('shape') isnt -1 and shape.fc is 'rgba(0,0,0,0.451)' and not shape.ss and not shape.sc if name.search('shape') isnt -1 and shape.fc is 'rgba(0,0,0,0.451)' and not shape.ss and not shape.sc
console.log 'Skipping a shadow', name, shape, 'because we\'re doing shadows separately now.' console.log 'Skipping a shadow', name, shape, 'because we\'re doing shadows separately now.'

View file

@ -285,7 +285,7 @@ module.exports = class Camera extends CocoClass
@currentTarget = target @currentTarget = target
viewportDifference = @updateViewports target viewportDifference = @updateViewports target
if viewportDifference > 0.1 # Roughly 0.1 pixel difference in what we can see if viewportDifference > 0.1 # Roughly 0.1 pixel difference in what we can see
Backbone.Mediator.publish 'camera:zoom-updated', camera: @, zoom: @zoom, surfaceViewport: @surfaceViewport Backbone.Mediator.publish 'camera:zoom-updated', camera: @, zoom: @zoom, surfaceViewport: @surfaceViewport, minZoom: @minZoom
boundTarget: (pos, zoom) -> boundTarget: (pos, zoom) ->
# Given an {x, y} in Surface coordinates, return one that will keep our viewport on the Surface. # Given an {x, y} in Surface coordinates, return one that will keep our viewport on the Surface.

View file

@ -104,7 +104,8 @@ module.exports = Lank = class Lank extends CocoClass
@sprite.destroy?() @sprite.destroy?()
if parent = @sprite.parent if parent = @sprite.parent
parent.removeChild @sprite parent.removeChild @sprite
parent.addChild newSprite if parent.spriteSheet is newSprite.spriteSheet
parent.addChild newSprite
# get the lank to update things # get the lank to update things
for prop in ['lastPos', 'currentRootAction'] for prop in ['lastPos', 'currentRootAction']

View file

@ -384,6 +384,11 @@ module.exports = Surface = class Surface extends CocoClass
if @ended if @ended
@setPaused false @setPaused false
@surfaceZoomPauseTimeout = _.delay (=> @setPaused true), 3000 @surfaceZoomPauseTimeout = _.delay (=> @setPaused true), 3000
@zoomedIn = e.zoom > e.minZoom * 1.1
@updateGrabbability()
updateGrabbability: ->
@webGLCanvas.toggleClass 'grabbable', @zoomedIn and not @playing and not @disabled
onDisableControls: (e) -> onDisableControls: (e) ->
return if e.controls and not ('surface' in e.controls) return if e.controls and not ('surface' in e.controls)
@ -400,6 +405,7 @@ module.exports = Surface = class Surface extends CocoClass
setDisabled: (@disabled) -> setDisabled: (@disabled) ->
@lankBoss.disabled = @disabled @lankBoss.disabled = @disabled
@updateGrabbability()
onSetPlaying: (e) -> onSetPlaying: (e) ->
@playing = (e ? {}).playing ? true @playing = (e ? {}).playing ? true
@ -408,6 +414,7 @@ module.exports = Surface = class Surface extends CocoClass
@currentFrame = 1 # Go back to the beginning (but not frame 0, that frame is weird) @currentFrame = 1 # Go back to the beginning (but not frame 0, that frame is weird)
if @fastForwardingToFrame and not @playing if @fastForwardingToFrame and not @playing
@fastForwardingToFrame = null @fastForwardingToFrame = null
@updateGrabbability()
onSetTime: (e) -> onSetTime: (e) ->
toFrame = @currentFrame toFrame = @currentFrame

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
for_beginners: "للمبتدئين" for_beginners: "للمبتدئين"
multiplayer: "متعدد اللاعبين" # Not currently shown on home page multiplayer: "متعدد اللاعبين" # Not currently shown on home page
for_developers: "للمطوّرين" # Not currently shown on home page. for_developers: "للمطوّرين" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "إلعب" # The top nav bar entry where players choose which levels to play play: "إلعب" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
amount_achieved: "مبلغ" amount_achieved: "مبلغ"
achievement: "الإنجاز" achievement: "الإنجاز"
category_contributor: "مساهم" category_contributor: "مساهم"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "متنوعة" category_miscellaneous: "متنوعة"
category_levels: "مستويات" category_levels: "مستويات"
category_undefined: "غير مصنف" category_undefined: "غير مصنف"

View file

@ -4,12 +4,13 @@ module.exports = nativeDescription: "български език", englishDescri
no_ie: "CodeCombat не работи под Internet Explorer 8 или по-стари версии. Съжалявам!" # Warning that only shows up in IE8 and older no_ie: "CodeCombat не работи под Internet Explorer 8 или по-стари версии. Съжалявам!" # Warning that only shows up in IE8 and older
no_mobile: "CodeCombat не е направен за мобилни устройства и може да не работи!" # Warning that shows up on mobile devices no_mobile: "CodeCombat не е направен за мобилни устройства и може да не работи!" # Warning that shows up on mobile devices
play: "Играй" # The big play button that just starts playing a level play: "Играй" # The big play button that just starts playing a level
old_browser: "О, не! Браузърът ти е твърде стар за CodeCombat. Съжалявам!" #"Uh oh, your browser is too old to run CodeCombat. Sorry!" # Warning that shows up on really old Firefox/Chrome/Safari old_browser: "О, не! Браузърът ти е твърде стар за CodeCombat. Съжалявам!" # Warning that shows up on really old Firefox/Chrome/Safari
old_browser_suffix: "Все пак можеш да опиваш, но най-вероятно няма да проработи." # "You can try anyway, but it probably won't work." old_browser_suffix: "Все пак можеш да опиваш, но най-вероятно няма да проработи."
# campaign: "Campaign" # campaign: "Campaign"
for_beginners: "За начинаещи" # "For Beginners" for_beginners: "За начинаещи"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "За разработчици" # "For Developers" # Not currently shown on home page. for_developers: "За разработчици" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Нива" # The top nav bar entry where players choose which levels to play play: "Нива" # The top nav bar entry where players choose which levels to play
@ -23,12 +24,12 @@ module.exports = nativeDescription: "български език", englishDescri
# code: "Code" # code: "Code"
# admin: "Admin" # Only shows up when you are an admin # admin: "Admin" # Only shows up when you are an admin
home: "Начало" home: "Начало"
contribute: "Допринеси" # "Contribute" contribute: "Допринеси"
# legal: "Legal" # legal: "Legal"
about: "За нас" about: "За нас"
contact: "Контакти" contact: "Контакти"
twitter_follow: "Започни да следиш" # "Follow" twitter_follow: "Започни да следиш"
teachers: "Учители" # "Teachers" teachers: "Учители"
modal: modal:
close: "Затвори" close: "Затвори"
@ -39,19 +40,19 @@ module.exports = nativeDescription: "български език", englishDescri
diplomat_suggestion: diplomat_suggestion:
title: "Помогни да преведем CodeCombat!" # This shows up when a player switches to a non-English language using the language selector. title: "Помогни да преведем CodeCombat!" # This shows up when a player switches to a non-English language using the language selector.
sub_heading: "Имаме нужда от твоите езикови познания!" # "We need your language skills." sub_heading: "Имаме нужда от твоите езикови познания!"
pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Bulgarian 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 Bulgarian." pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Bulgarian 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 Bulgarian."
missing_translations: "Until we can translate everything into Bulgarian, you'll see English when Bulgarian isn't available." missing_translations: "Until we can translate everything into Bulgarian, you'll see English when Bulgarian isn't available."
learn_more: "Научи повече за това как да станеш Дипломат" learn_more: "Научи повече за това как да станеш Дипломат"
subscribe_as_diplomat: "Стани дипломат" # "Subscribe as a Diplomat" subscribe_as_diplomat: "Стани дипломат"
play: play:
# play_as: "Play As" # Ladder page # play_as: "Play As" # Ladder page
# spectate: "Spectate" # Ladder page # spectate: "Spectate" # Ladder page
# players: "players" # Hover over a level on /play # players: "players" # Hover over a level on /play
# hours_played: "hours played" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play
items: "Предмети" # "Items" # Tooltip on item shop button from /play items: "Предмети" # Tooltip on item shop button from /play
unlock: "Отключи" # "Unlock" # For purchasing items and heroes unlock: "Отключи" # For purchasing items and heroes
confirm: "Потвърди" confirm: "Потвърди"
# owned: "Owned" # For items you own # owned: "Owned" # For items you own
locked: "Заключено" locked: "Заключено"
@ -64,27 +65,27 @@ module.exports = nativeDescription: "български език", englishDescri
# next: "Next" # Go from choose hero to choose inventory before playing a level # next: "Next" # Go from choose hero to choose inventory before playing a level
# change_hero: "Change Hero" # Go back from choose inventory to choose hero # change_hero: "Change Hero" # Go back from choose inventory to choose hero
# choose_inventory: "Equip Items" # choose_inventory: "Equip Items"
buy_gems: "Купи скъпоценни камъни" # "Buy Gems" buy_gems: "Купи скъпоценни камъни"
older_campaigns: "Предишни капмании" # "Older Campaigns" older_campaigns: "Предишни капмании"
anonymous: "Анонимен играч" # "Anonymous Player" anonymous: "Анонимен играч"
level_difficulty: "Трудност" # "Difficulty: " level_difficulty: "Трудност"
campaign_beginner: "Кампания за начинаещи" # "Beginner Campaign" campaign_beginner: "Кампания за начинаещи"
# awaiting_levels_adventurer_prefix: "We release five levels per week." # awaiting_levels_adventurer_prefix: "We release five levels per week."
awaiting_levels_adventurer: "Стани Приключенец" # "Sign up as an Adventurer" awaiting_levels_adventurer: "Стани Приключенец"
awaiting_levels_adventurer_suffix: "за да бъдеш първият, който играе нови нива." # "to be the first to play new levels." awaiting_levels_adventurer_suffix: "за да бъдеш първият, който играе нови нива."
choose_your_level: "Избери своето ниво" # The rest of this section is the old play view at /play-old and isn't very important. choose_your_level: "Избери своето ниво" # The rest of this section is the old play view at /play-old and isn't very important.
# adventurer_prefix: "You can jump to any level below, or discuss the levels on " # adventurer_prefix: "You can jump to any level below, or discuss the levels on "
adventurer_forum: "Приключенският форум" # "the Adventurer forum" adventurer_forum: "Приключенският форум"
# adventurer_suffix: "." # adventurer_suffix: "."
campaign_old_beginner: "Предишни кампании за начинаещи" # "Old Beginner Campaign" campaign_old_beginner: "Предишни кампании за начинаещи"
# campaign_old_beginner_description: "... in which you learn the wizardry of programming." # campaign_old_beginner_description: "... in which you learn the wizardry of programming."
campaign_dev: "Случайни трудни нива" # "Random Harder Levels" campaign_dev: "Случайни трудни нива"
# campaign_dev_description: "... in which you learn the interface while doing something a little harder." # campaign_dev_description: "... in which you learn the interface while doing something a little harder."
# campaign_multiplayer: "Multiplayer Arenas" # campaign_multiplayer: "Multiplayer Arenas"
# campaign_multiplayer_description: "... in which you code head-to-head against other players." # campaign_multiplayer_description: "... in which you code head-to-head against other players."
# campaign_player_created: "Player-Created" # 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>." # campaign_player_created_description: "... in which you battle against the creativity of your fellow <a href=\"/contribute#artisan\">Artisan Wizards</a>."
campaign_classic_algorithms: "Класически алгоритми" # "Classic Algorithms" campaign_classic_algorithms: "Класически алгоритми"
# campaign_classic_algorithms_description: "... in which you learn the most popular algorithms in Computer Science." # campaign_classic_algorithms_description: "... in which you learn the most popular algorithms in Computer Science."
# campaign_forest: "Forest Campaign" # campaign_forest: "Forest Campaign"
# campaign_dungeon: "Dungeon Campaign" # campaign_dungeon: "Dungeon Campaign"
@ -115,13 +116,13 @@ module.exports = nativeDescription: "български език", englishDescri
recover: recover:
recover_account_title: "Възстанови Акаунт" recover_account_title: "Възстанови Акаунт"
send_password: "Изпрати парола за възстановяване" send_password: "Изпрати парола за възстановяване"
recovery_sent: "Писмото за възстановяване на парола е изпратено." # "Recovery email sent." recovery_sent: "Писмото за възстановяване на парола е изпратено."
# items: # items:
# primary: "Primary" # primary: "Primary"
# secondary: "Secondary" # secondary: "Secondary"
# armor: "Armor" # armor: "Armor"
accessories: "Аксесоари" # "Accessories" # accessories: "Accessories"
# misc: "Misc" # misc: "Misc"
# books: "Books" # books: "Books"
@ -145,11 +146,11 @@ module.exports = nativeDescription: "български език", englishDescri
general: general:
and: "и" and: "и"
name: "Име" name: "Име"
date: "Дата" # "Date" date: "Дата"
# body: "Body" # body: "Body"
version: "Версия" version: "Версия"
# commit_msg: "Commit Message" # commit_msg: "Commit Message"
version_history: "Предишни версии" # "Version History" version_history: "Предишни версии"
# version_history_for: "Version History for: " # version_history_for: "Version History for: "
# result: "Result" # result: "Result"
results: "Резултати" results: "Резултати"
@ -157,7 +158,7 @@ module.exports = nativeDescription: "български език", englishDescri
or: "или" or: "или"
# subject: "Subject" # subject: "Subject"
email: "Email" email: "Email"
password: "Парола" # "Password" password: "Парола"
message: "Съобщение" message: "Съобщение"
# code: "Code" # code: "Code"
# ladder: "Ladder" # ladder: "Ladder"
@ -207,6 +208,8 @@ module.exports = nativeDescription: "български език", englishDescri
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "български език", englishDescri
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "български език", englishDescri
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -405,10 +429,10 @@ module.exports = nativeDescription: "български език", englishDescri
# cla_prefix: "To save changes, first you must agree to our" # cla_prefix: "To save changes, first you must agree to our"
# cla_url: "CLA" # cla_url: "CLA"
# cla_suffix: "." # cla_suffix: "."
cla_agree: "СЪГЛАСЕН СЪМ" # "I AGREE" # cla_agree: "I AGREE"
# contact: # contact:
contact_us: "Свържи се с CodeCombat" # "Contact CodeCombat" # contact_us: "Contact CodeCombat"
# welcome: "Good to hear from you! Use this form to send us email. " # welcome: "Good to hear from you! Use this form to send us email. "
# contribute_prefix: "If you're interested in contributing, check out our " # contribute_prefix: "If you're interested in contributing, check out our "
# contribute_page: "contribute page" # contribute_page: "contribute page"
@ -430,17 +454,17 @@ module.exports = nativeDescription: "български език", englishDescri
# password_tab: "Password" # password_tab: "Password"
# emails_tab: "Emails" # emails_tab: "Emails"
# admin: "Admin" # admin: "Admin"
new_password: "Нова парола" # "New Password" # new_password: "New Password"
# new_password_verify: "Verify" # new_password_verify: "Verify"
# email_subscriptions: "Email Subscriptions" # email_subscriptions: "Email Subscriptions"
# email_subscriptions_none: "No Email Subscriptions." # email_subscriptions_none: "No Email Subscriptions."
email_announcements: "Съобщения" # "Announcements" # email_announcements: "Announcements"
# email_announcements_description: "Get emails on the latest news and developments at CodeCombat." # email_announcements_description: "Get emails on the latest news and developments at CodeCombat."
email_notifications: "Известия" # "Notifications" # email_notifications: "Notifications"
# email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity." # email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity."
# email_any_notes: "Any Notifications" # email_any_notes: "Any Notifications"
# email_any_notes_description: "Disable to stop all activity notification emails." # email_any_notes_description: "Disable to stop all activity notification emails."
email_news: "Новини" # "News" # email_news: "News"
# email_recruit_notes: "Job Opportunities" # email_recruit_notes: "Job Opportunities"
# email_recruit_notes_description: "If you play really well, we may contact you about getting you a (better) job." # email_recruit_notes_description: "If you play really well, we may contact you about getting you a (better) job."
# contributor_emails: "Contributor Class Emails" # contributor_emails: "Contributor Class Emails"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "български език", englishDescri
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
for_beginners: "Per a principiants" for_beginners: "Per a principiants"
multiplayer: "Multijugador" # Not currently shown on home page multiplayer: "Multijugador" # Not currently shown on home page
for_developers: "Per a Desenvolupadors" # Not currently shown on home page. for_developers: "Per a Desenvolupadors" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Nivells" # The top nav bar entry where players choose which levels to play play: "Nivells" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
failing: "Fallant" failing: "Fallant"
action_timeline: "Cronologia d'accions" action_timeline: "Cronologia d'accions"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Escull el teu heroi" choose_hero: "Escull el teu heroi"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
skills: "Habilitats" skills: "Habilitats"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Desats" granularity_saved_games: "Desats"
granularity_change_history: "Historial" granularity_change_history: "Historial"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
amount_achieved: "Cantitat" amount_achieved: "Cantitat"
achievement: "Triomf" achievement: "Triomf"
category_contributor: "Contribuidor" category_contributor: "Contribuidor"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Miscel·lània" category_miscellaneous: "Miscel·lània"
category_levels: "Nivells" category_levels: "Nivells"
category_undefined: "Sense categoria" category_undefined: "Sense categoria"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Úrovně" # The top nav bar entry where players choose which levels to play play: "Úrovně" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# failing: "Failing" # failing: "Failing"
action_timeline: "Časová osa" action_timeline: "Časová osa"
click_to_select: "Vyberte kliknutím." click_to_select: "Vyberte kliknutím."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Znovunačíst veškerý kód?" reload_title: "Znovunačíst veškerý kód?"
reload_really: "Opravdu chcete resetovat tuto úroveň do počátečního stavu?" reload_really: "Opravdu chcete resetovat tuto úroveň do počátečního stavu?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
for_beginners: "For Begyndere" for_beginners: "For Begyndere"
multiplayer: "Multiplayer" # Not currently shown on home page multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "For Udviklere" # Not currently shown on home page. for_developers: "For Udviklere" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Spil" # The top nav bar entry where players choose which levels to play play: "Spil" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# failing: "Failing" # failing: "Failing"
action_timeline: "Handlingstidslinje" action_timeline: "Handlingstidslinje"
click_to_select: "Klik på en enhed for at vælge" click_to_select: "Klik på en enhed for at vælge"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Genindlæs alt kode?" reload_title: "Genindlæs alt kode?"
reload_really: "Er du sikker på at du ønsker at genindlæse denne bane helt fra begyndelsen?" reload_really: "Er du sikker på at du ønsker at genindlæse denne bane helt fra begyndelsen?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
for_beginners: "Für Anfänger" for_beginners: "Für Anfänger"
multiplayer: "Mehrspieler" # Not currently shown on home page multiplayer: "Mehrspieler" # Not currently shown on home page
for_developers: "Für Entwickler" # Not currently shown on home page. for_developers: "Für Entwickler" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Spielen" # The top nav bar entry where players choose which levels to play play: "Spielen" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# failing: "Failing" # failing: "Failing"
action_timeline: "Aktionszeitstrahl" action_timeline: "Aktionszeitstrahl"
click_to_select: "Klicke auf eine Einheit, um sie auszuwählen." click_to_select: "Klicke auf eine Einheit, um sie auszuwählen."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Gesamten Code neu laden?" reload_title: "Gesamten Code neu laden?"
reload_really: "Bist Du sicher, dass Du das Level neu beginnen willst?" reload_really: "Bist Du sicher, dass Du das Level neu beginnen willst?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Wähle deinen Helden" choose_hero: "Wähle deinen Helden"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Gespeichert" granularity_saved_games: "Gespeichert"
granularity_change_history: "Historie" granularity_change_history: "Historie"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
amount_achieved: "Anzahl" amount_achieved: "Anzahl"
achievement: "Achievement" achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Sonstiges" category_miscellaneous: "Sonstiges"
category_levels: "Level" category_levels: "Level"
category_undefined: "ohne Kategorie" category_undefined: "ohne Kategorie"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
for_beginners: "Für Afänger" for_beginners: "Für Afänger"
multiplayer: "Multiplayer" # Not currently shown on home page multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Für Entwickler" # Not currently shown on home page. for_developers: "Für Entwickler" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Levels" # The top nav bar entry where players choose which levels to play play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
failing: "Fehler" failing: "Fehler"
action_timeline: "Aktionsziitleiste" action_timeline: "Aktionsziitleiste"
click_to_select: "Klick uf e Einheit zum sie uswähle." click_to_select: "Klick uf e Einheit zum sie uswähle."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "De ganze Code neu lade?" reload_title: "De ganze Code neu lade?"
reload_really: "Bisch sicher du willsch level neu lade bis zrugg zum Afang?" reload_really: "Bisch sicher du willsch level neu lade bis zrugg zum Afang?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
for_beginners: "Für Anfänger" for_beginners: "Für Anfänger"
multiplayer: "Mehrspieler" # Not currently shown on home page multiplayer: "Mehrspieler" # Not currently shown on home page
for_developers: "Für Entwickler" # Not currently shown on home page. for_developers: "Für Entwickler" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Spielen" # The top nav bar entry where players choose which levels to play play: "Spielen" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
failing: "Fehlgeschlagen" failing: "Fehlgeschlagen"
action_timeline: "Aktionszeitstrahl" action_timeline: "Aktionszeitstrahl"
click_to_select: "Klicke auf eine Einheit, um sie auszuwählen." click_to_select: "Klicke auf eine Einheit, um sie auszuwählen."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
reload: "Neu laden" reload: "Neu laden"
reload_title: "Gesamten Code neu laden?" reload_title: "Gesamten Code neu laden?"
reload_really: "Bist Du sicher, dass Du das Level neu beginnen willst?" reload_really: "Bist Du sicher, dass Du das Level neu beginnen willst?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
few_gems: "Ein paar Edelsteine" few_gems: "Ein paar Edelsteine"
pile_gems: "Stapel von Edelsteinen" pile_gems: "Stapel von Edelsteinen"
chest_gems: "Kiste von Edelsteinen" chest_gems: "Kiste von Edelsteinen"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Wähle deinen Helden" choose_hero: "Wähle deinen Helden"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
blocks: "Blockieren" # As in "this shield blocks this much damage" blocks: "Blockieren" # As in "this shield blocks this much damage"
skills: "Fähigkeiten" skills: "Fähigkeiten"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Gespeichert" granularity_saved_games: "Gespeichert"
granularity_change_history: "Historie" granularity_change_history: "Historie"
@ -587,7 +611,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
page_title: "Mitwirken" page_title: "Mitwirken"
character_classes_title: "Charakter Klassen" character_classes_title: "Charakter Klassen"
introduction_desc_intro: "Wir haben hohe Erwartungen für CodeCombat." introduction_desc_intro: "Wir haben hohe Erwartungen für 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_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 ist komplett OpenSource" introduction_desc_github_url: "CodeCombat ist komplett OpenSource"
# introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours."
introduction_desc_ending: "Wir hoffen du nimmst an unserer Party teil!" introduction_desc_ending: "Wir hoffen du nimmst an unserer Party teil!"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
amount_achieved: "Anzahl" amount_achieved: "Anzahl"
achievement: "Achievement" achievement: "Achievement"
category_contributor: "Mitwirkender" category_contributor: "Mitwirkender"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Sonstiges" category_miscellaneous: "Sonstiges"
category_levels: "Level" category_levels: "Level"
category_undefined: "ohne Kategorie" category_undefined: "ohne Kategorie"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
for_beginners: "Για αρχάριους" for_beginners: "Για αρχάριους"
multiplayer: "Πολλαπλοί Παίκτες" # Not currently shown on home page multiplayer: "Πολλαπλοί Παίκτες" # Not currently shown on home page
for_developers: "Για προγραμματιστές" # Not currently shown on home page. for_developers: "Για προγραμματιστές" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Επίπεδα" # The top nav bar entry where players choose which levels to play play: "Επίπεδα" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# failing: "Failing" # failing: "Failing"
action_timeline: "Χρονοδιάγραμμα δράσης" action_timeline: "Χρονοδιάγραμμα δράσης"
click_to_select: "Κάντε κλικ σε μια μονάδα για να το επιλέξετε." click_to_select: "Κάντε κλικ σε μια μονάδα για να το επιλέξετε."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Ανανέωση όλου του κωδικά;" reload_title: "Ανανέωση όλου του κωδικά;"
reload_really: "Είστε σίγουροι ότι θέλετε να φορτώσετε αυτό το επίπεδο από την αρχή;" reload_really: "Είστε σίγουροι ότι θέλετε να φορτώσετε αυτό το επίπεδο από την αρχή;"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -351,6 +351,24 @@
blocks: "Blocks" # As in "this shield blocks this much damage" blocks: "Blocks" # As in "this shield blocks this much damage"
skills: "Skills" skills: "Skills"
skill_docs:
writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
read_only: "read-only"
action_name: "name"
action_cooldown: "Takes"
action_specific_cooldown: "Cooldown"
action_damage: "Damage"
action_range: "Range"
action_radius: "Radius"
action_duration: "Duration"
example: "Example"
ex: "ex" # Abbreviation of "example"
current_value: "Current Value"
default_value: "Default value"
parameters: "Parameters"
returns: "Returns"
granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Saved" granularity_saved_games: "Saved"
granularity_change_history: "History" granularity_change_history: "History"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
for_beginners: "Para Principiantes" for_beginners: "Para Principiantes"
multiplayer: "Multijugador" # Not currently shown on home page multiplayer: "Multijugador" # Not currently shown on home page
for_developers: "Para Desarrolladores" # Not currently shown on home page. for_developers: "Para Desarrolladores" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Jugar" # The top nav bar entry where players choose which levels to play play: "Jugar" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
failing: "Fallando" failing: "Fallando"
action_timeline: "Cronologia de Accion" action_timeline: "Cronologia de Accion"
click_to_select: "Has click en una unidad para seleccionarla." click_to_select: "Has click en una unidad para seleccionarla."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "¿Recargar Todo el Código?" reload_title: "¿Recargar Todo el Código?"
reload_really: "¿Estás seguro de que quieres empezar este nivel desde el principio?" reload_really: "¿Estás seguro de que quieres empezar este nivel desde el principio?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Elige tu héroe" choose_hero: "Elige tu héroe"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Almacenado" granularity_saved_games: "Almacenado"
granularity_change_history: "Historia" granularity_change_history: "Historia"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
for_beginners: "Para principiantes" for_beginners: "Para principiantes"
multiplayer: "Multijugador" # Not currently shown on home page multiplayer: "Multijugador" # Not currently shown on home page
for_developers: "Para programadores" # Not currently shown on home page. for_developers: "Para programadores" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Jugar" # The top nav bar entry where players choose which levels to play play: "Jugar" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
failing: "Fallando" failing: "Fallando"
action_timeline: "Cronología de Acción" action_timeline: "Cronología de Acción"
click_to_select: "Click en una unidad para seleccionarla" click_to_select: "Click en una unidad para seleccionarla"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "¿Recargar todo el código?" reload_title: "¿Recargar todo el código?"
reload_really: "¿Estas seguro que quieres reiniciar el nivel?" reload_really: "¿Estas seguro que quieres reiniciar el nivel?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Selecciona tu Heroe" choose_hero: "Selecciona tu Heroe"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
skills: "Habilidades" skills: "Habilidades"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Salvado" granularity_saved_games: "Salvado"
granularity_change_history: "Historia" granularity_change_history: "Historia"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
amount_achieved: "Cantidad" amount_achieved: "Cantidad"
achievement: "Logro" achievement: "Logro"
category_contributor: "Contribuidor" category_contributor: "Contribuidor"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Miscelanea" category_miscellaneous: "Miscelanea"
category_levels: "Niveles" category_levels: "Niveles"
category_undefined: "Sin categorizar" category_undefined: "Sin categorizar"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "سطوح" # The top nav bar entry where players choose which levels to play play: "سطوح" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
for_beginners: "Pour débutants" for_beginners: "Pour débutants"
multiplayer: "Multijoueurs" # Not currently shown on home page multiplayer: "Multijoueurs" # Not currently shown on home page
for_developers: "Pour développeurs" # Not currently shown on home page. for_developers: "Pour développeurs" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Jouer" # The top nav bar entry where players choose which levels to play play: "Jouer" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
failing: "Échec" failing: "Échec"
action_timeline: "Action sur la ligne de temps" action_timeline: "Action sur la ligne de temps"
click_to_select: "Clique sur une unité pour la sélectionner." click_to_select: "Clique sur une unité pour la sélectionner."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Recharger tout le code?" reload_title: "Recharger tout le code?"
reload_really: "Êtes-vous sûr de vouloir recharger ce niveau et retourner au début?" reload_really: "Êtes-vous sûr de vouloir recharger ce niveau et retourner au début?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Choisissez votre Héro" choose_hero: "Choisissez votre Héro"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
skills: "Compétences" skills: "Compétences"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Sauvegardé" granularity_saved_games: "Sauvegardé"
granularity_change_history: "Historique" granularity_change_history: "Historique"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
amount_achieved: "Quantité" amount_achieved: "Quantité"
achievement: "Succès" achievement: "Succès"
category_contributor: "Contributeur" category_contributor: "Contributeur"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Divers" category_miscellaneous: "Divers"
category_levels: "Niveaux" category_levels: "Niveaux"
category_undefined: "Non classé" category_undefined: "Non classé"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
for_beginners: "Para principiantes" for_beginners: "Para principiantes"
multiplayer: "Multixogador" # Not currently shown on home page multiplayer: "Multixogador" # Not currently shown on home page
for_developers: "Para programadores" # Not currently shown on home page. for_developers: "Para programadores" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Xogar" # The top nav bar entry where players choose which levels to play play: "Xogar" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
failing: "Fallando" failing: "Fallando"
action_timeline: "Cronoloxía de Acción" action_timeline: "Cronoloxía de Acción"
click_to_select: "Preme nunha unidade para seleccionala" click_to_select: "Preme nunha unidade para seleccionala"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Recargar todo o código?" reload_title: "Recargar todo o código?"
reload_really: "Estás seguro que queres reiniciar o nivel?" reload_really: "Estás seguro que queres reiniciar o nivel?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Selecciona o teu Heroe" choose_hero: "Selecciona o teu Heroe"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
skills: "Habilidades" skills: "Habilidades"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Gardado" granularity_saved_games: "Gardado"
granularity_change_history: "Historia" granularity_change_history: "Historia"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
amount_achieved: "Cantidade" amount_achieved: "Cantidade"
achievement: "Logro" achievement: "Logro"
category_contributor: "Contribuidor" category_contributor: "Contribuidor"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Miscelánea" category_miscellaneous: "Miscelánea"
category_levels: "Niveis" category_levels: "Niveis"
category_undefined: "Sen categorizar" category_undefined: "Sen categorizar"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
for_beginners: "למתחילים" for_beginners: "למתחילים"
multiplayer: "רב-משתתפים" # Not currently shown on home page multiplayer: "רב-משתתפים" # Not currently shown on home page
for_developers: "למומחים" # Not currently shown on home page. for_developers: "למומחים" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "שלבים" # The top nav bar entry where players choose which levels to play play: "שלבים" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
for_beginners: "Kezdőknek" for_beginners: "Kezdőknek"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Fejlesztőknek" # Not currently shown on home page. for_developers: "Fejlesztőknek" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Játék" # The top nav bar entry where players choose which levels to play play: "Játék" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# failing: "Failing" # failing: "Failing"
action_timeline: "Akció - Idővonal" action_timeline: "Akció - Idővonal"
click_to_select: "Kattints egy egységre, hogy kijelöld!" click_to_select: "Kattints egy egységre, hogy kijelöld!"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Újra kezded mindet?" reload_title: "Újra kezded mindet?"
reload_really: "Biztos vagy benne, hogy előlről szeretnéd kezdeni az egész pályát?" reload_really: "Biztos vagy benne, hogy előlről szeretnéd kezdeni az egész pályát?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
for_beginners: "Per Principianti" for_beginners: "Per Principianti"
multiplayer: "Multiplayer" # Not currently shown on home page multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Per Sviluppatori" # Not currently shown on home page. for_developers: "Per Sviluppatori" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Livelli" # The top nav bar entry where players choose which levels to play play: "Livelli" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# failing: "Failing" # failing: "Failing"
action_timeline: "Barra temporale delle azioni" action_timeline: "Barra temporale delle azioni"
click_to_select: "Clicca un'unità per selezionarla." click_to_select: "Clicca un'unità per selezionarla."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
reload: "Ricarica" reload: "Ricarica"
reload_title: "Ricarica tutto il codice?" reload_title: "Ricarica tutto il codice?"
reload_really: "Sei sicuro di voler ricominciare il livello?" reload_really: "Sei sicuro di voler ricominciare il livello?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Salvato" granularity_saved_games: "Salvato"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
for_beginners: "初心者向け" for_beginners: "初心者向け"
multiplayer: "マルチプレイヤー" # Not currently shown on home page multiplayer: "マルチプレイヤー" # Not currently shown on home page
for_developers: "開発者向け" # Not currently shown on home page. for_developers: "開発者向け" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "ゲームスタート" # The top nav bar entry where players choose which levels to play play: "ゲームスタート" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# failing: "Failing" # failing: "Failing"
action_timeline: "アクション・タイムライン" action_timeline: "アクション・タイムライン"
click_to_select: "ユニットを左クリックで選択してください" click_to_select: "ユニットを左クリックで選択してください"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "コードを再読み込ますか?" reload_title: "コードを再読み込ますか?"
reload_really: "レベルをリセットします。よろしいですか?" reload_really: "レベルをリセットします。よろしいですか?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
for_beginners: "초보자용" for_beginners: "초보자용"
multiplayer: "멀티플레이어" # Not currently shown on home page multiplayer: "멀티플레이어" # Not currently shown on home page
for_developers: "개발자용" # Not currently shown on home page. for_developers: "개발자용" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "레벨" # The top nav bar entry where players choose which levels to play play: "레벨" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
failing: "다시 한번 더 도전해보세요." failing: "다시 한번 더 도전해보세요."
action_timeline: "액션 타임라인" action_timeline: "액션 타임라인"
click_to_select: "유닛을 선택하기 위해서 유닛을 마우스로 클릭하세요." click_to_select: "유닛을 선택하기 위해서 유닛을 마우스로 클릭하세요."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "모든 코드가 다시 로딩 되었나요?" reload_title: "모든 코드가 다시 로딩 되었나요?"
reload_really: "모든 레벨 초기화합니다. 확실한가요?" reload_really: "모든 레벨 초기화합니다. 확실한가요?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Mula" # The top nav bar entry where players choose which levels to play play: "Mula" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
for_beginners: "For Begynnere" for_beginners: "For Begynnere"
multiplayer: "Flerspiller" # Not currently shown on home page multiplayer: "Flerspiller" # Not currently shown on home page
for_developers: "For Utviklere" # Not currently shown on home page. for_developers: "For Utviklere" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Spill" # The top nav bar entry where players choose which levels to play play: "Spill" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# failing: "Failing" # failing: "Failing"
action_timeline: "Hendelsestidslinje" action_timeline: "Hendelsestidslinje"
click_to_select: "Klikk på en enhet for å velge den." click_to_select: "Klikk på en enhet for å velge den."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Laste All Koden på Nytt?" reload_title: "Laste All Koden på Nytt?"
reload_really: "Er du sikker på at du vil laste dette nivået på nytt, tilbake til begynnelsen?" reload_really: "Er du sikker på at du vil laste dette nivået på nytt, tilbake til begynnelsen?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
for_beginners: "Voor Beginners" for_beginners: "Voor Beginners"
multiplayer: "Multiplayer" # Not currently shown on home page multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Voor ontwikkelaars" # Not currently shown on home page. for_developers: "Voor ontwikkelaars" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Levels" # The top nav bar entry where players choose which levels to play play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# failing: "Failing" # failing: "Failing"
action_timeline: "Actie tijdlijn" action_timeline: "Actie tijdlijn"
click_to_select: "Klik op een eenheid om deze te selecteren." click_to_select: "Klik op een eenheid om deze te selecteren."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Alle Code Herladen?" reload_title: "Alle Code Herladen?"
reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
for_beginners: "Voor Beginners" for_beginners: "Voor Beginners"
multiplayer: "Multiplayer" # Not currently shown on home page multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Voor ontwikkelaars" # Not currently shown on home page. for_developers: "Voor ontwikkelaars" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Levels" # The top nav bar entry where players choose which levels to play play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# failing: "Failing" # failing: "Failing"
action_timeline: "Actie tijdlijn" action_timeline: "Actie tijdlijn"
click_to_select: "Klik op een eenheid om deze te selecteren." click_to_select: "Klik op een eenheid om deze te selecteren."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Alle Code Herladen?" reload_title: "Alle Code Herladen?"
reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?" reload_really: "Weet je zeker dat je dit level tot het begin wilt herladen?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Spill" # The top nav bar entry where players choose which levels to play play: "Spill" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# failing: "Failing" # failing: "Failing"
action_timeline: "Hendelsestidslinje" action_timeline: "Hendelsestidslinje"
click_to_select: "Klikk på en enhet for å velge den." click_to_select: "Klikk på en enhet for å velge den."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Laste all koden på nytt?" reload_title: "Laste all koden på nytt?"
reload_really: "Er du sikker på at du vil laste dette nivået på nytt, tilbake til begynnelsen?" reload_really: "Er du sikker på at du vil laste dette nivået på nytt, tilbake til begynnelsen?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
for_beginners: "Dla początkujących" for_beginners: "Dla początkujących"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Dla developerów" # Not currently shown on home page. for_developers: "Dla developerów" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Graj" # The top nav bar entry where players choose which levels to play play: "Graj" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
failing: "Niepowodzenie" failing: "Niepowodzenie"
action_timeline: "Oś czasu" action_timeline: "Oś czasu"
click_to_select: "Kliknij jednostkę, by ją zaznaczyć." click_to_select: "Kliknij jednostkę, by ją zaznaczyć."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Przywrócić cały kod?" reload_title: "Przywrócić cały kod?"
reload_really: "Czy jesteś pewien, że chcesz przywrócić kod startowy tego poziomu?" reload_really: "Czy jesteś pewien, że chcesz przywrócić kod startowy tego poziomu?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
for_beginners: "Para Iniciantes" for_beginners: "Para Iniciantes"
multiplayer: "Multijogador" # Not currently shown on home page multiplayer: "Multijogador" # Not currently shown on home page
for_developers: "Para Desenvolvedores" # Not currently shown on home page. for_developers: "Para Desenvolvedores" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Jogar" # The top nav bar entry where players choose which levels to play play: "Jogar" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
failing: "Falta" failing: "Falta"
action_timeline: "Linha do Tempo das Ações" action_timeline: "Linha do Tempo das Ações"
click_to_select: "Clique em um personagem para selecioná-lo." click_to_select: "Clique em um personagem para selecioná-lo."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Recarregar Todo o Código?" reload_title: "Recarregar Todo o Código?"
reload_really: "Você tem certeza que quer reiniciar o estágio?" reload_really: "Você tem certeza que quer reiniciar o estágio?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Escolha seu Herói" choose_hero: "Escolha seu Herói"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Salvo" granularity_saved_games: "Salvo"
granularity_change_history: "Histórico" granularity_change_history: "Histórico"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
amount_achieved: "Montante" amount_achieved: "Montante"
achievement: "Conquista" achievement: "Conquista"
category_contributor: "Cotribuidor" category_contributor: "Cotribuidor"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Diversos" category_miscellaneous: "Diversos"
category_levels: "Níveis" category_levels: "Níveis"
category_undefined: "Sem categoria" category_undefined: "Sem categoria"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
for_beginners: "Para Iniciantes" for_beginners: "Para Iniciantes"
multiplayer: "Multijogador" # Not currently shown on home page multiplayer: "Multijogador" # Not currently shown on home page
for_developers: "Para Programadores" # Not currently shown on home page. for_developers: "Para Programadores" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Níveis" # The top nav bar entry where players choose which levels to play play: "Níveis" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
failing: "A falhar" failing: "A falhar"
action_timeline: "Linha do Tempo de Ações" action_timeline: "Linha do Tempo de Ações"
click_to_select: "Clica numa unidade para selecioná-la." click_to_select: "Clica numa unidade para selecioná-la."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
reload: "Recarregar" reload: "Recarregar"
reload_title: "Recarregar o Código Todo?" reload_title: "Recarregar o Código Todo?"
reload_really: "Tens a certeza que queres recarregar este nível de volta ao início?" reload_really: "Tens a certeza que queres recarregar este nível de volta ao início?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
few_gems: "Algumas gemas" few_gems: "Algumas gemas"
pile_gems: "Pilha de gemas" pile_gems: "Pilha de gemas"
chest_gems: "Arca de gemas" chest_gems: "Arca de gemas"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Escolhe o Teu Herói" choose_hero: "Escolhe o Teu Herói"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
blocks: "Bloqueia" # As in "this shield blocks this much damage" blocks: "Bloqueia" # As in "this shield blocks this much damage"
skills: "Habilidades" skills: "Habilidades"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Guardados" granularity_saved_games: "Guardados"
granularity_change_history: "Histórico" granularity_change_history: "Histórico"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
amount_achieved: "Quantidade" amount_achieved: "Quantidade"
achievement: "Conquista" achievement: "Conquista"
category_contributor: "Contribuidor" category_contributor: "Contribuidor"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Vários" category_miscellaneous: "Vários"
category_levels: "Níveis" category_levels: "Níveis"
category_undefined: "Sem Categoria" category_undefined: "Sem Categoria"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
for_beginners: "Pentru Începători" for_beginners: "Pentru Începători"
multiplayer: "Multiplayer" # Not currently shown on home page multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Pentru dezvoltatori" # Not currently shown on home page. for_developers: "Pentru dezvoltatori" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Nivele" # The top nav bar entry where players choose which levels to play play: "Nivele" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
failing: "Eşec" failing: "Eşec"
action_timeline: "Timeline-ul acțiunii" action_timeline: "Timeline-ul acțiunii"
click_to_select: "Apasă pe o unitate pentru a o selecta." click_to_select: "Apasă pe o unitate pentru a o selecta."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Reîncarcă tot codul?" reload_title: "Reîncarcă tot codul?"
reload_really: "Ești sigur că vrei să reîncarci nivelul de la început?" reload_really: "Ești sigur că vrei să reîncarci nivelul de la început?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
for_beginners: "Новичкам" for_beginners: "Новичкам"
multiplayer: "Мультиплеер" # Not currently shown on home page multiplayer: "Мультиплеер" # Not currently shown on home page
for_developers: "Разработчикам" # Not currently shown on home page. for_developers: "Разработчикам" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Уровни" # The top nav bar entry where players choose which levels to play play: "Уровни" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
failing: "Неудача" failing: "Неудача"
action_timeline: "График действий" action_timeline: "График действий"
click_to_select: "Выберите персонажа, щёлкнув на нём" click_to_select: "Выберите персонажа, щёлкнув на нём"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
reload: "Перезагрузить" reload: "Перезагрузить"
reload_title: "Перезагрузить код полностью?" reload_title: "Перезагрузить код полностью?"
reload_really: "Вы уверены, что хотите начать уровень сначала?" reload_really: "Вы уверены, что хотите начать уровень сначала?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
few_gems: "Немного самоцветов" few_gems: "Немного самоцветов"
pile_gems: "Кучка самоцветов" pile_gems: "Кучка самоцветов"
chest_gems: "Сундук с самоцветами" chest_gems: "Сундук с самоцветами"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Выберите героя" choose_hero: "Выберите героя"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
blocks: "Блокирует" # As in "this shield blocks this much damage" blocks: "Блокирует" # As in "this shield blocks this much damage"
skills: "Умения" skills: "Умения"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Сохранено" granularity_saved_games: "Сохранено"
granularity_change_history: "История" granularity_change_history: "История"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
amount_achieved: "Количество" amount_achieved: "Количество"
achievement: "Достижение" achievement: "Достижение"
category_contributor: "Помощь" category_contributor: "Помощь"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "Помощь" category_miscellaneous: "Помощь"
category_levels: "Уровни" category_levels: "Уровни"
category_undefined: "Неопределено" category_undefined: "Неопределено"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
for_beginners: "Pre začiatočníkov" for_beginners: "Pre začiatočníkov"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
for_developers: "Pre vývojárov" # Not currently shown on home page. for_developers: "Pre vývojárov" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Hraj" # The top nav bar entry where players choose which levels to play play: "Hraj" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Нивои" # The top nav bar entry where players choose which levels to play play: "Нивои" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# failing: "Failing" # failing: "Failing"
action_timeline: "Временска линија акције" action_timeline: "Временска линија акције"
click_to_select: "Кликни на јединицу да је селектујеш" click_to_select: "Кликни на јединицу да је селектујеш"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Поновно учитавање целог кода?" reload_title: "Поновно учитавање целог кода?"
reload_really: "Да ли сте сигурни да желите да кренете ниво испочетка?" reload_really: "Да ли сте сигурни да желите да кренете ниво испочетка?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
for_beginners: "För nybörjare" for_beginners: "För nybörjare"
multiplayer: "Flera spelare" # Not currently shown on home page multiplayer: "Flera spelare" # Not currently shown on home page
for_developers: "För utvecklare" # Not currently shown on home page. for_developers: "För utvecklare" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Spela" # The top nav bar entry where players choose which levels to play play: "Spela" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# failing: "Failing" # failing: "Failing"
action_timeline: "Händelse-tidslinje" action_timeline: "Händelse-tidslinje"
click_to_select: "Klicka på en enhet för att välja den." click_to_select: "Klicka på en enhet för att välja den."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Ladda om all kod?" reload_title: "Ladda om all kod?"
reload_really: "Är du säker på att du vill ladda om nivån från början?" reload_really: "Är du säker på att du vill ladda om nivån från början?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "เล่น" # The top nav bar entry where players choose which levels to play play: "เล่น" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
for_beginners: "Yeni Başlayanlar için" for_beginners: "Yeni Başlayanlar için"
multiplayer: "Çoklu-oyuncu Kipi" # Not currently shown on home page multiplayer: "Çoklu-oyuncu Kipi" # Not currently shown on home page
for_developers: "Geliştiriciler için" # Not currently shown on home page. for_developers: "Geliştiriciler için" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Oyna" # The top nav bar entry where players choose which levels to play play: "Oyna" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
failing: "Başarısız" failing: "Başarısız"
action_timeline: "Eylem Çizelgesi" action_timeline: "Eylem Çizelgesi"
click_to_select: "Birimi seçmek için üzerine tıklayın." click_to_select: "Birimi seçmek için üzerine tıklayın."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Tüm kod yeniden yüklensin mi?" reload_title: "Tüm kod yeniden yüklensin mi?"
reload_really: "Bu seviyeyi en baştan yüklemek istediğinizden emin misiniz?" reload_really: "Bu seviyeyi en baştan yüklemek istediğinizden emin misiniz?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "Kahramanınızı Seçin" choose_hero: "Kahramanınızı Seçin"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
skills: "Yetenekler" skills: "Yetenekler"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "Kaydedildi" granularity_saved_games: "Kaydedildi"
granularity_change_history: "Geçmiş" granularity_change_history: "Geçmiş"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
for_beginners: "Для новачків" for_beginners: "Для новачків"
multiplayer: "Командна гра" # Not currently shown on home page multiplayer: "Командна гра" # Not currently shown on home page
for_developers: "Для розробників" # Not currently shown on home page. for_developers: "Для розробників" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Грати" # The top nav bar entry where players choose which levels to play play: "Грати" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "українська мова", englishDesc
# failing: "Failing" # failing: "Failing"
action_timeline: "Лінія часу" action_timeline: "Лінія часу"
click_to_select: "Клікніть на юніті, щоб обрати його." click_to_select: "Клікніть на юніті, щоб обрати його."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Перезавантажити весь код?" reload_title: "Перезавантажити весь код?"
reload_really: "Ви впевнені, що хочете перезавантажити цей рівень і почати спочатку?" reload_really: "Ви впевнені, що хочете перезавантажити цей рівень і почати спочатку?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "українська мова", englishDesc
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "українська мова", englishDesc
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "українська мова", englishDesc
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
for_beginners: "Dành cho người bắt đầu chơi" for_beginners: "Dành cho người bắt đầu chơi"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "Các cấp độ" # The top nav bar entry where players choose which levels to play play: "Các cấp độ" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
click_to_select: "Kích vào đơn vị để chọn nó." click_to_select: "Kích vào đơn vị để chọn nó."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "Tải lại tất cả mã?" 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_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
for_beginners: "适合初学者" for_beginners: "适合初学者"
multiplayer: "多人游戏" # Not currently shown on home page multiplayer: "多人游戏" # Not currently shown on home page
for_developers: "适合开发者" # Not currently shown on home page. for_developers: "适合开发者" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "关卡选择" # The top nav bar entry where players choose which levels to play play: "关卡选择" # The top nav bar entry where players choose which levels to play
@ -55,7 +56,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
confirm: "确认" confirm: "确认"
owned: "已拥有" # For items you own owned: "已拥有" # For items you own
locked: "需解锁" locked: "需解锁"
available: "可用" # Available available: "可用"
skills_granted: "获得技能" # Property documentation details skills_granted: "获得技能" # Property documentation details
heroes: "英雄" # Tooltip on hero shop button from /play heroes: "英雄" # Tooltip on hero shop button from /play
achievements: "成就" # Tooltip on achievement list button from /play achievements: "成就" # Tooltip on achievement list button from /play
@ -64,14 +65,14 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
next: "下一步" # Go from choose hero to choose inventory before playing a level next: "下一步" # Go from choose hero to choose inventory before playing a level
change_hero: "重新选择英雄" # Go back from choose inventory to choose hero change_hero: "重新选择英雄" # Go back from choose inventory to choose hero
choose_inventory: "装备道具" choose_inventory: "装备道具"
buy_gems: "购买宝石" # Buy Gems buy_gems: "购买宝石"
older_campaigns: "旧的战役" older_campaigns: "旧的战役"
anonymous: "匿名玩家" anonymous: "匿名玩家"
level_difficulty: "难度:" level_difficulty: "难度:"
campaign_beginner: "新手作战" campaign_beginner: "新手作战"
awaiting_levels_adventurer_prefix: "我们每周开放五个关卡" awaiting_levels_adventurer_prefix: "我们每周开放五个关卡"
awaiting_levels_adventurer: "注册成为冒险家" #"Sign up as an Adventurer" awaiting_levels_adventurer: "注册成为冒险家"
awaiting_levels_adventurer_suffix: "来优先尝试新关卡" #to be the first to play new levels." awaiting_levels_adventurer_suffix: "来优先尝试新关卡"
choose_your_level: "选择关卡" # The rest of this section is the old play view at /play-old and isn't very important. choose_your_level: "选择关卡" # The rest of this section is the old play view at /play-old and isn't very important.
adventurer_prefix: "你可以选择以下任意关卡,或者讨论以上的关卡。到" adventurer_prefix: "你可以选择以下任意关卡,或者讨论以上的关卡。到"
adventurer_forum: "冒险者论坛" adventurer_forum: "冒险者论坛"
@ -86,8 +87,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
campaign_player_created_description: "……在这里你可以与你的小伙伴的创造力战斗 <a href=\"/contribute#artisan\">技术指导</a>." campaign_player_created_description: "……在这里你可以与你的小伙伴的创造力战斗 <a href=\"/contribute#artisan\">技术指导</a>."
campaign_classic_algorithms: "经典算法" campaign_classic_algorithms: "经典算法"
campaign_classic_algorithms_description: "... 你可以在此学习到计算机科学中最常用的算法" campaign_classic_algorithms_description: "... 你可以在此学习到计算机科学中最常用的算法"
campaign_forest: "森林战役" #Forest Campaign" campaign_forest: "森林战役"
campaign_dungeon: "地牢战役" #Dungeon Campaign" campaign_dungeon: "地牢战役"
login: login:
sign_up: "注册" sign_up: "注册"
@ -95,10 +96,10 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
logging_in: "正在登录" logging_in: "正在登录"
log_out: "登出" log_out: "登出"
recover: "找回账户" recover: "找回账户"
authenticate_gplus: "使用 G+ 授权"#Authenticate G+" authenticate_gplus: "使用 G+ 授权"
load_profile: "载入 G+ 档案" # Load G+ Profile" load_profile: "载入 G+ 档案"
load_email: "载入 G+ 电子邮件" #Load G+ Email" load_email: "载入 G+ 电子邮件"
finishing: "完成..." #Finishing" finishing: "完成..."
signup: signup:
create_account_title: "创建一个账户来保存进度" create_account_title: "创建一个账户来保存进度"
@ -118,8 +119,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
recovery_sent: "找回账户邮件已发送." recovery_sent: "找回账户邮件已发送."
items: items:
primary: "右手"#"Primary" primary: "右手"
secondary: "左手"#Secondary" secondary: "左手"
armor: "盔甲" armor: "盔甲"
accessories: "配饰" accessories: "配饰"
misc: "辅助道具" misc: "辅助道具"
@ -207,6 +208,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
failing: "失败" failing: "失败"
action_timeline: "行动时间轴" action_timeline: "行动时间轴"
click_to_select: "点击选择一个单元。" click_to_select: "点击选择一个单元。"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
reload: "重载" reload: "重载"
reload_title: "重载所有代码?" reload_title: "重载所有代码?"
reload_really: "确定重载这一关,返回开始处吗?" reload_really: "确定重载这一关,返回开始处吗?"
@ -315,10 +318,13 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
equip: "装备" equip: "装备"
unequip: "取消装备" unequip: "取消装备"
buy_gems: buy_gems:
few_gems: "几个宝石" few_gems: "几个宝石"
pile_gems: "一堆宝石" pile_gems: "一堆宝石"
chest_gems: "一箱宝石" chest_gems: "一箱宝石"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
choose_hero: choose_hero:
choose_hero: "请选择您的英雄" choose_hero: "请选择您的英雄"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
blocks: "格挡" # As in "this shield blocks this much damage" blocks: "格挡" # As in "this shield blocks this much damage"
skills: "技能" skills: "技能"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
save_load: save_load:
granularity_saved_games: "保存" granularity_saved_games: "保存"
granularity_change_history: "历史记录" granularity_change_history: "历史记录"
@ -698,7 +722,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
rank_last_submitted: "已提交" rank_last_submitted: "已提交"
help_simulate: "模拟游戏需要帮助?" help_simulate: "模拟游戏需要帮助?"
code_being_simulated: "你的新代码正在被其他玩家模拟评分。这个将会刷新,作为一个新游戏开始。" code_being_simulated: "你的新代码正在被其他玩家模拟评分。这个将会刷新,作为一个新游戏开始。"
# no_ranked_matches_pre: "No ranked matches for the " # 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." # no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked."
choose_opponent: "选择一个对手" choose_opponent: "选择一个对手"
select_your_language: "选择你使用的语言!" select_your_language: "选择你使用的语言!"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
amount_achieved: "数量" amount_achieved: "数量"
achievement: "成就" achievement: "成就"
category_contributor: "贡献" category_contributor: "贡献"
# category_ladder: "Ladder"
# category_level: "Level"
category_miscellaneous: "其他" category_miscellaneous: "其他"
category_levels: "等级" category_levels: "等级"
category_undefined: "未分类" category_undefined: "未分类"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "開始遊戲" # The top nav bar entry where players choose which levels to play play: "開始遊戲" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# failing: "Failing" # failing: "Failing"
action_timeline: "行動時間軸" action_timeline: "行動時間軸"
click_to_select: "點擊選擇一個單元。" click_to_select: "點擊選擇一個單元。"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "重新載入程式碼?" reload_title: "重新載入程式碼?"
reload_really: "確定重設所有的程式碼?" reload_really: "確定重設所有的程式碼?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
amount_achieved: "數量" amount_achieved: "數量"
achievement: "成就" achievement: "成就"
category_contributor: "貢獻者" category_contributor: "貢獻者"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
category_levels: "等級" category_levels: "等級"
category_undefined: "未定義" category_undefined: "未定義"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# for_beginners: "For Beginners" # for_beginners: "For Beginners"
# multiplayer: "Multiplayer" # Not currently shown on home page # multiplayer: "Multiplayer" # Not currently shown on home page
# for_developers: "For Developers" # Not currently shown on home page. # for_developers: "For Developers" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
# nav: # nav:
# play: "Levels" # The top nav bar entry where players choose which levels to play # play: "Levels" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# failing: "Failing" # failing: "Failing"
# action_timeline: "Action Timeline" # action_timeline: "Action Timeline"
# click_to_select: "Click on a unit to select it." # click_to_select: "Click on a unit to select it."
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
# reload_title: "Reload All Code?" # reload_title: "Reload All Code?"
# reload_really: "Are you sure you want to reload this level back to the beginning?" # reload_really: "Are you sure you want to reload this level back to the beginning?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -10,6 +10,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
for_beginners: "適合學起頭個人" for_beginners: "適合學起頭個人"
multiplayer: "聚隊打遊戲" # Not currently shown on home page multiplayer: "聚隊打遊戲" # Not currently shown on home page
for_developers: "適合開發個人" # Not currently shown on home page. for_developers: "適合開發個人" # Not currently shown on home page.
# or_ipad: "Or download for iPad"
nav: nav:
play: "遊戲開來" # The top nav bar entry where players choose which levels to play play: "遊戲開來" # The top nav bar entry where players choose which levels to play
@ -207,6 +208,8 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# failing: "Failing" # failing: "Failing"
action_timeline: "行動時間橛" action_timeline: "行動時間橛"
click_to_select: "點選一個單位。" click_to_select: "點選一個單位。"
# control_bar_multiplayer: "Multiplayer"
# control_bar_join_game: "Join Game"
# reload: "Reload" # reload: "Reload"
reload_title: "轉讀取全部個代碼?" reload_title: "轉讀取全部個代碼?"
reload_really: "準定轉讀取箇關,回轉到扣起頭?" reload_really: "準定轉讀取箇關,回轉到扣起頭?"
@ -319,6 +322,9 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# few_gems: "A few gems" # few_gems: "A few gems"
# pile_gems: "Pile of gems" # pile_gems: "Pile of gems"
# chest_gems: "Chest of gems" # chest_gems: "Chest of gems"
# purchasing: "Purchasing..."
# declined: "Your card was declined"
# retrying: "Server error, retrying."
# choose_hero: # choose_hero:
# choose_hero: "Choose Your Hero" # choose_hero: "Choose Your Hero"
@ -345,6 +351,24 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# blocks: "Blocks" # As in "this shield blocks this much damage" # blocks: "Blocks" # As in "this shield blocks this much damage"
# skills: "Skills" # skills: "Skills"
# skill_docs:
# writable: "writable" # Hover over "attack" in Your Skills while playing a level to see most of this
# read_only: "read-only"
# action_name: "name"
# action_cooldown: "Takes"
# action_specific_cooldown: "Cooldown"
# action_damage: "Damage"
# action_range: "Range"
# action_radius: "Radius"
# action_duration: "Duration"
# example: "Example"
# ex: "ex" # Abbreviation of "example"
# current_value: "Current Value"
# default_value: "Default value"
# parameters: "Parameters"
# returns: "Returns"
# granted_by: "Granted by"
# save_load: # save_load:
# granularity_saved_games: "Saved" # granularity_saved_games: "Saved"
# granularity_change_history: "History" # granularity_change_history: "History"
@ -745,6 +769,8 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# amount_achieved: "Amount" # amount_achieved: "Amount"
# achievement: "Achievement" # achievement: "Achievement"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder"
# category_level: "Level"
# category_miscellaneous: "Miscellaneous" # category_miscellaneous: "Miscellaneous"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" # category_undefined: "Uncategorized"

View file

@ -389,7 +389,12 @@ module.exports = class ThangType extends CocoModel
props = props.concat config.programmableSnippets props = props.concat config.programmableSnippets
for stat, value of stats when not value? for stat, value of stats when not value?
stats[stat] = name: stat, display: '???' stats[stat] = name: stat, display: '???'
props: props, stats: stats statKeys = _.keys(stats)
statKeys.sort()
props.sort()
sortedStats = {}
sortedStats[key] = stats[key] for key in statKeys
props: props, stats: sortedStats
formatStatDisplay: (name, modifiers) -> formatStatDisplay: (name, modifiers) ->
i18nKey = { i18nKey = {
@ -402,6 +407,7 @@ module.exports = class ThangType extends CocoModel
visualRange: 'range' visualRange: 'range'
throwDamage: 'attack' throwDamage: 'attack'
throwRange: 'range' throwRange: 'range'
bashDamage: 'attack'
}[name] }[name]
if i18nKey if i18nKey

View file

@ -104,8 +104,7 @@ module.exports = class User extends CocoModel
when 2 then 'choice-explicit' when 2 then 'choice-explicit'
when 3 then 'choice-implicit' when 3 then 'choice-implicit'
@branchingGroup = 'choice-explicit' if me.isAdmin() @branchingGroup = 'choice-explicit' if me.isAdmin()
@branchingGroup = 'no-practice' # paused A/B test application.tracker.identify branchingGroup: @branchingGroup unless me.isAdmin()
#application.tracker.identify branchingGroup: @branchingGroup unless me.isAdmin() # paused A/B test
@branchingGroup @branchingGroup
tiersByLevel = [-1, 0, 0.05, 0.14, 0.18, 0.32, 0.41, 0.5, 0.64, 0.82, 0.91, 1.04, 1.22, 1.35, 1.48, 1.65, 1.78, 1.96, 2.1, 2.24, 2.38, 2.55, 2.69, 2.86, 3.03, 3.16, 3.29, 3.42, 3.58, 3.74, 3.89, 4.04, 4.19, 4.32, 4.47, 4.64, 4.79, 4.96] tiersByLevel = [-1, 0, 0.05, 0.14, 0.18, 0.32, 0.41, 0.5, 0.64, 0.82, 0.91, 1.04, 1.22, 1.35, 1.48, 1.65, 1.78, 1.96, 2.1, 2.24, 2.38, 2.55, 2.69, 2.86, 3.03, 3.16, 3.29, 3.42, 3.58, 3.74, 3.89, 4.04, 4.19, 4.32, 4.47, 4.64, 4.79, 4.96]

View file

@ -7,6 +7,7 @@ c.extendNamedProperties ThangTypeSchema # name first
ShapeObjectSchema = c.object {title: 'Shape'}, ShapeObjectSchema = c.object {title: 'Shape'},
fc: {type: 'string', title: 'Fill Color'} fc: {type: 'string', title: 'Fill Color'}
lf: {type: 'array', title: 'Linear Gradient Fill'} lf: {type: 'array', title: 'Linear Gradient Fill'}
rf: {type: 'array', title: 'Radial Gradient Fill'}
ls: {type: 'array', title: 'Linear Gradient Stroke'} ls: {type: 'array', title: 'Linear Gradient Stroke'}
p: {type: 'string', title: 'Path'} p: {type: 'string', title: 'Path'}
de: {type: 'array', title: 'Draw Ellipse'} de: {type: 'array', title: 'Draw Ellipse'}

View file

@ -23,6 +23,7 @@ module.exports = # /app/lib/surface
camera: {type: 'object'} camera: {type: 'object'}
zoom: {type: 'number', minimum: 0, exclusiveMinimum: true} zoom: {type: 'number', minimum: 0, exclusiveMinimum: true}
surfaceViewport: {type: 'object'} surfaceViewport: {type: 'object'}
minZoom: {type: 'number', minimum: 0, exclusiveMinimum: true}
'camera:set-camera': c.object {}, 'camera:set-camera': c.object {},
pos: c.object {required: ['x', 'y']}, pos: c.object {required: ['x', 'y']},

View file

@ -126,6 +126,10 @@ module.exports =
codeFragment: {type: 'string'} codeFragment: {type: 'string'}
codeLanguage: {type: 'string'} codeLanguage: {type: 'string'}
'tome:suspect-code-fragment-deleted': c.object {title: 'Suspect Code Fragment Deleted', description: 'Published when a suspect code fragment is deleted from the sample code.', required: ['codeFragment']},
codeFragment: {type: 'string'}
codeLanguage: {type: 'string'}
'tome:winnability-updated': c.object {title: 'Winnability Updated', description: 'When we think we can now win (or can no longer win), we may want to emphasize the submit button versus the run button (or vice versa), so this fires when we get new goal states (even preloaded goal states) suggesting success or failure change.', required: ['winnable']}, 'tome:winnability-updated': c.object {title: 'Winnability Updated', description: 'When we think we can now win (or can no longer win), we may want to emphasize the submit button versus the run button (or vice versa), so this fires when we get new goal states (even preloaded goal states) suggesting success or failure change.', required: ['winnable']},
winnable: {type: 'boolean'} winnable: {type: 'boolean'}

View file

@ -77,8 +77,11 @@
//- Account menu //- Account menu
.dropdown .dropdown
.account-settings-image
width: 18px
.dropdown-menu .dropdown-menu
left: auto //left: auto // this busts it, not sure why it's in
width: 280px width: 280px
padding: 0px padding: 0px
border-radius: 0px border-radius: 0px
@ -219,4 +222,4 @@
top: 8px top: 8px
a a
color: rgb(238,227,131) color: rgb(238,227,131)

View file

@ -84,3 +84,9 @@
height: 514px height: 514px
padding: 50px padding: 50px
overflow-y: scroll overflow-y: scroll
::-webkit-scrollbar
// So that the scrollbar doesn't go on top of the close button.
// Wish we could easily do this for Firefox.
display: none

View file

@ -296,6 +296,9 @@ $itemSlotGridHeight: 70px
width: $itemSlotSize * 1.2 width: $itemSlotSize * 1.2
height: $itemSlotSize * 1.2 height: $itemSlotSize * 1.2
button
display: none
//- Available equipment //- Available equipment
@ -381,8 +384,9 @@ $itemSlotGridHeight: 70px
// display: inline // display: inline
&.restricted &.restricted
background-color: rgba(255, 80, 67, 0.25) background-color: rgba(190, 190, 190, 1)
cursor: default cursor: default
@include filter(contrast(50%) brightness(100%))
//.item-view //.item-view
// cursor: default // cursor: default

View file

@ -90,6 +90,16 @@ $level-resize-transition-time: 0.5s
z-index: 2 z-index: 2
@include transition($level-resize-transition-time ease-out) @include transition($level-resize-transition-time ease-out)
&.grabbable:not(.flag-color-selected)
cursor: -moz-grab
cursor: -webkit-grab
cursor: grab
&:active
cursor: -moz-grabbing
cursor: -webkit-grabbing
cursor: grabbing
&.flag-color-selected &.flag-color-selected
cursor: crosshair cursor: crosshair

View file

@ -1,4 +1,8 @@
@import "app/styles/mixins"
#play-achievements-modal #play-achievements-modal
.modal-dialog
width: 800px
.modal-header .modal-header
padding-bottom: 20px padding-bottom: 20px
@ -16,6 +20,7 @@
position: relative position: relative
border: 2px solid rgb(75,75,75) border: 2px solid rgb(75,75,75)
padding: 2px padding: 2px
@include opacity(0.75)
h3 h3
margin: 0 0 0 50px margin: 0 0 0 50px
@ -27,7 +32,7 @@
.panel-body .panel-body
padding: 5px 150px 5px 5px padding: 5px 150px 5px 5px
border: 2px solid rgb(150,150,150) //border: 2px solid rgb(150,150,150) // Chloe's suggestion to not have this
.created .created
position: absolute position: absolute
@ -43,6 +48,7 @@
background: rgb(50,40,33) background: rgb(50,40,33)
border: 5px solid rgb(26,21,17) border: 5px solid rgb(26,21,17)
padding: 0 padding: 0
@include opacity(1)
h3 h3
color: white color: white
@ -79,4 +85,4 @@
img img
width: 12px width: 12px
height: 12px height: 12px

View file

@ -201,13 +201,13 @@ $heroCanvasHeight: 265px
&.attack .stat-progress-bar &.attack .stat-progress-bar
background: purple background: #c32424
&.health .stat-progress-bar &.health .stat-progress-bar
background: red background: #0f802a
&.speed .stat-progress-bar &.speed .stat-progress-bar
background: green background: #4d52ab
//- Carousel switch buttons //- Carousel switch buttons

View file

@ -265,21 +265,6 @@ $gameControlMargin: 30px
.tooltip .tooltip
font-size: 24px font-size: 24px
.old-levels
position: absolute
bottom: 5%
left: 1%
z-index: 3
a
font-size: 24px
color: #eee
text-decoration: underline
&:hover
color: white
text-shadow: 1px 1px 0px black
.user-status .user-status
position: absolute position: absolute
bottom: 1% bottom: 1%
@ -322,6 +307,8 @@ body:not(.ipad) #world-map-view
.level-info-container .level-info-container
pointer-events: none pointer-events: none
body.ipad #world-map-view body.ipad #world-map-view
// iPad only supports up to Kithgard Gates for now. // iPad only supports up to Kithgard Gates for now.
.campaign-switch .campaign-switch

View file

@ -1,47 +1,48 @@
#site-nav block header
img#nav-logo(src="/images/pages/base/logo.png", title="CodeCombat - Learn how to code by playing a game", alt="CodeCombat") #site-nav
div#site-nav-links img#nav-logo(src="/images/pages/base/logo.png", title="CodeCombat - Learn how to code by playing a game", alt="CodeCombat")
a(href="/") div#site-nav-links
span.glyphicon.glyphicon-home a(href="/")
a(href="/about", data-i18n="nav.about") span.glyphicon.glyphicon-home
a(href='/play/ladder', data-i18n="home.multiplayer") a(href="/about", data-i18n="nav.about")
a(href='/community', data-i18n="nav.community") a(href='/play/ladder', data-i18n="home.multiplayer")
a(href='http://blog.codecombat.com/', data-i18n="nav.blog") a(href='/community', data-i18n="nav.community")
a(href='http://discourse.codecombat.com/', data-i18n="nav.forum") a(href='http://blog.codecombat.com/', data-i18n="nav.blog")
a(href='http://discourse.codecombat.com/', data-i18n="nav.forum")
if me.get('anonymous') === false
span.dropdown if me.get('anonymous') === false
button.btn.btn-sm.header-font.dropdown-toggle(href="#", data-toggle="dropdown") span.dropdown
if me.get('photoURL') button.btn.btn-sm.header-font.dropdown-toggle(href="#", data-toggle="dropdown")
img.account-settings-image(src=me.getPhotoURL(18), alt="") if me.get('photoURL')
else img.account-settings-image(src=me.getPhotoURL(18), alt="")
i.glyphicon.glyphicon-user else
span.spl.spr(data-i18n="nav.account" href="/account") Account i.glyphicon.glyphicon-user
span.caret span.spl.spr(data-i18n="nav.account" href="/account") Account
ul.dropdown-menu(role="menu") span.caret
li.user-dropdown-header ul.dropdown-menu(role="menu")
span.user-level= me.level() li.user-dropdown-header
a(href="/user/#{me.getSlugOrID()}") span.user-level= me.level()
img.img-circle(src="#{me.getPhotoURL()}" alt="") a(href="/user/#{me.getSlugOrID()}")
h3=me.displayName() img.img-circle(src="#{me.getPhotoURL()}" alt="")
li.user-dropdown-body h3=me.displayName()
.col-xs-4.text-center li.user-dropdown-body
a(href="/user/#{me.getSlugOrID()}" data-i18n="nav.profile") Profile .col-xs-4.text-center
.col-xs-4.text-center a(href="/user/#{me.getSlugOrID()}" data-i18n="nav.profile") Profile
a(href="/user/#{me.getSlugOrID()}/stats" data-i18n="nav.stats") Stats .col-xs-4.text-center
.col-xs-4.text-center a(href="/user/#{me.getSlugOrID()}/stats" data-i18n="nav.stats") Stats
a.disabled(data-i18n="nav.code") Code .col-xs-4.text-center
li.user-dropdown-footer a.disabled(data-i18n="nav.code") Code
.pull-left li.user-dropdown-footer
a.btn.btn-default.btn-flat(href="/account" data-i18n="nav.account") Account .pull-left
.pull-right a.btn.btn-default.btn-flat(href="/account" data-i18n="nav.account") Account
button#logout-button.btn.btn-default.btn-flat(data-i18n="login.log_out") Log Out .pull-right
button#logout-button.btn.btn-default.btn-flat(data-i18n="login.log_out") Log Out
else
button.btn.btn-sm.btn-primary.header-font.signup-button(data-i18n="login.sign_up") else
button.btn.btn-sm.btn-default.header-font.login-button(data-i18n="login.log_in") button.btn.btn-sm.btn-primary.header-font.signup-button(data-i18n="login.sign_up")
select.language-dropdown.form-control button.btn.btn-sm.btn-default.header-font.login-button(data-i18n="login.log_in")
select.language-dropdown.form-control
block outer_content block outer_content
#site-content-area #site-content-area
@ -59,6 +60,7 @@ block footer
a(href='/legal', tabindex=-1, data-i18n="nav.legal") Legal a(href='/legal', tabindex=-1, data-i18n="nav.legal") Legal
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Contact
a(href='/teachers', data-i18n="nav.teachers") Teachers a(href='/teachers', data-i18n="nav.teachers") Teachers
a(href="/play-old", data-i18n="play.older_campaigns") Older Campaigns
if me.isAdmin() if me.isAdmin()
a(href='/admin', data-i18n="nav.admin") Admin a(href='/admin', data-i18n="nav.admin") Admin

View file

@ -3,57 +3,71 @@ h4
| - | -
code.prop-type= doc.type == 'function' && doc.owner == 'this' ? 'method' : doc.type code.prop-type= doc.type == 'function' && doc.owner == 'this' ? 'method' : doc.type
if doc.type != 'function' if doc.type != 'function'
| (
if writable if writable
| (writable) span(data-i18n="skill_docs.writable") writable
else else
| (read-only) span(data-i18n="skill_docs.read_only") read-only
| )
.description .description
p!= marked(doc.description || 'Still undocumented, sorry.') p!= marked(doc.description || 'Still undocumented, sorry.')
if cooldowns && (cooldowns.cooldown || cooldowns.specificCooldown) if cooldowns && (cooldowns.cooldown || cooldowns.specificCooldown)
p p
span span
| #{cooldowns.type == 'spell' ? 'Spell' : 'Action'} name: | #{cooldowns.type == 'spell' ? 'Spell' : 'Action'}
span.spl(data-i18n="skill_docs.action_name") name
span.spr :
code "#{cooldowns.name}" code "#{cooldowns.name}"
| . | .
span.spl span.spl
| Cooldown: span(data-i18n="skill_docs.action_cooldown") Takes
span.spr :
code= cooldowns.cooldown code= cooldowns.cooldown
| s. | s.
if cooldowns.specificCooldown if cooldowns.specificCooldown
span.spl span.spl
| Specific cooldown: span(data-i18n="skill_docs.action_specific_cooldown") Cooldown
span.spr :
code= cooldowns.specificCooldown code= cooldowns.specificCooldown
| s. | s.
if cooldowns.damage if cooldowns.damage
span.spl span.spl
| Damage: span(data-i18n="skill_docs.action_damage") Damage
span.spr :
code= cooldowns.damage code= cooldowns.damage
| . | .
if cooldowns.range if cooldowns.range
span.spl span.spl
| Range: span(data-i18n="skill_docs.action_range") Range
span.spr :
code= cooldowns.range code= cooldowns.range
| m. | m.
if cooldowns.radius if cooldowns.radius
span.spl span.spl
| Radius: span(data-i18n="skill_docs.action_radius") Radius
span.spr :
code= cooldowns.radius code= cooldowns.radius
| m. | m.
if cooldowns.duration if cooldowns.duration
span.spl span.spl
| Duration: span(data-i18n="skill_docs.action_duration") Duration
span.spr :
code= cooldowns.duration code= cooldowns.duration
| s. | s.
if !selectedMethod if !selectedMethod
if doc.example if doc.example
p.example p.example
strong Example: strong
span(data-i18n="skill_docs.example") Example
| :
div!= marked("```\n" + doc.example + "```") div!= marked("```\n" + doc.example + "```")
else if doc.type == 'function' && argumentExamples.length else if doc.type == 'function' && argumentExamples.length
p.example p.example
strong Example: strong
span(data-i18n="skill_docs.example") Example
| :
div div
if language == 'javascript' if language == 'javascript'
code= doc.owner + '.' + doc.name + '(' + argumentExamples.join(', ') + ');' code= doc.owner + '.' + doc.name + '(' + argumentExamples.join(', ') + ');'
@ -70,36 +84,48 @@ if !selectedMethod
if (doc.type != 'function' && doc.type != 'snippet') || doc.name == 'now' if (doc.type != 'function' && doc.type != 'snippet') || doc.name == 'now'
p.value p.value
strong Current Value: strong
span(data-i18n="skill_docs.current_value") Current Value
span.spr :
pre pre
code.current-value(data-prop=doc.name)= value code.current-value(data-prop=doc.name)= value
if doc.args && doc.args.length if doc.args && doc.args.length
p.args p.args
strong Parameters: strong
span(data-i18n="skill_docs.parameters") Parameters
span.spr :
for arg in doc.args for arg in doc.args
div div
code= arg.name code= arg.name
| : span.spr :
code= arg.type code= arg.type
if arg.example if arg.example
| (ex: | (
span(data-i18n="skill_docs.ex") ex
span.spr :
code= arg.example code= arg.example
| ) | )
if arg.description if arg.description
div!= marked(arg.description) div!= marked(arg.description)
if arg.default if arg.default
div div
em Default value: em
span(data-i18n="skill_docs.default_value") Default value
span.spr :
code= arg.default code= arg.default
if doc.returns if doc.returns
p.returns p.returns
strong Returns: strong
span(data-i18n="skill_docs.returns") Returns
span.spr :
div div
code= doc.returns.type code= doc.returns.type
if doc.returns.example if doc.returns.example
| (ex: | (
span(data-i18n="skill_docs.ex") ex
span.spr :
code= doc.returns.example code= doc.returns.example
| ) | )
if doc.returns.description if doc.returns.description
@ -107,7 +133,9 @@ if doc.returns
if item if item
p p
em Granted by #{item.get('name')}. em
span.spr(data-i18n="skill_docs.granted_by") Granted by
| #{item.get('name')}.
if selectedMethod if selectedMethod
p p

View file

@ -23,7 +23,7 @@
h3.big-font(data-i18n="play.skills_granted") h3.big-font(data-i18n="play.skills_granted")
for prop in props for prop in props
p p
strong.big-font= prop.name strong= prop.name
span.spr : span.spr :
span!= prop.description span!= prop.description

View file

@ -7,10 +7,10 @@
- var seenNext = nextLevel; - var seenNext = nextLevel;
each level in campaign.levels each level in campaign.levels
if true || !level.hidden if !level.hidden
- var next = level.id == nextLevel || (!seenNext && levelStatusMap[level.id] != "complete" && !level.locked && !level.disabled && (!level.practice || me.getBranchingGroup() == 'all-practice')); - var next = level.id == nextLevel || (!seenNext && levelStatusMap[level.id] != "complete" && !level.locked && !level.disabled && (!level.practice || me.getBranchingGroup() == 'all-practice'));
- seenNext = seenNext || next; - seenNext = seenNext || next;
div(style="left: #{level.x}%; bottom: #{level.y}%; background-color: #{level.color}", class="level" + (next ? " next" : "") + (level.disabled ? " disabled" : "") + (level.locked ? " locked" : "") + " " + levelStatusMap[level.id] || "", data-level-id=level.id, title=level.name) div(style="left: #{level.x}%; bottom: #{level.y}%; background-color: #{level.color}", class="level" + (next ? " next" : "") + (level.disabled ? " disabled" : "") + (level.locked ? " locked" : "") + " " + levelStatusMap[level.id] || "", data-level-id=level.id, title=level.name + (level.disabled ? ' (Coming Soon to Adventurers)' : ''))
a(href=level.type == 'hero' ? '#' : level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled, data-level-id=level.id, data-level-path=level.levelPath || 'level', data-level-name=level.name) a(href=level.type == 'hero' ? '#' : level.disabled ? "/play" : "/play/#{level.levelPath || 'level'}/#{level.id}", disabled=level.disabled, data-level-id=level.id, data-level-path=level.levelPath || 'level', data-level-name=level.name)
div(style="left: #{level.x}%; bottom: #{level.y}%", class="level-shadow" + (next ? " next" : "") + " " + levelStatusMap[level.id] || "") div(style="left: #{level.x}%; bottom: #{level.y}%", class="level-shadow" + (next ? " next" : "") + " " + levelStatusMap[level.id] || "")
.level-info-container(data-level-id=level.id, data-level-path=level.levelPath || 'level', data-level-name=level.name) .level-info-container(data-level-id=level.id, data-level-path=level.levelPath || 'level', data-level-name=level.name)
@ -56,9 +56,6 @@
// a.btn.account(href="/user/#{me.getSlugOrID()}", data-i18n="[title]play.account") // a.btn.account(href="/user/#{me.getSlugOrID()}", data-i18n="[title]play.account")
// a.btn.settings(href='/account', data-i18n="[title]play.settings") // a.btn.settings(href='/account', data-i18n="[title]play.settings")
.old-levels
a(href="/play-old", data-i18n="play.older_campaigns").header-font Older Campaigns
.user-status.header-font .user-status.header-font
span.gem.gem-20 span.gem.gem-20
span#gems-count.spr= me.gems() span#gems-count.spr= me.gems()

View file

@ -240,10 +240,13 @@ module.exports = class InventoryModal extends ModalView
me.set('spent', (me.get('spent') ? 0) + item.get('gems')) me.set('spent', (me.get('spent') ? 0) + item.get('gems'))
#- ...then rerender key bits #- ...then rerender key bits
@requireLevelEquipment()
@itemGroups.lockedItems.remove(item) @itemGroups.lockedItems.remove(item)
@sortItem(item) # Redo all item sorting to make sure that we don't clobber state changes since last render.
@renderSelectors("#unequipped", "#gems-count") equipped = _.values @getCurrentEquipmentConfig()
@sortItem(item, equipped) for item in @items.models
@renderSelectors('#unequipped', '#gems-count')
@requireLevelEquipment()
@delegateEvents() @delegateEvents()
@setUpDraggableEventsForAvailableEquipment() @setUpDraggableEventsForAvailableEquipment()
@itemDetailsView.setItem(item) @itemDetailsView.setItem(item)

View file

@ -7,17 +7,17 @@ module.exports = class I18NEditComponentView extends I18NEditModelView
buildTranslationList: -> buildTranslationList: ->
lang = @selectedLanguage lang = @selectedLanguage
propDocs = @model.get('propertyDocumentation') propDocs = @model.get('propertyDocumentation')
for propDoc, propDocIndex in propDocs for propDoc, propDocIndex in propDocs
#- Component property descriptions #- Component property descriptions
if i18n = propDoc.i18n if i18n = propDoc.i18n
path = ["propertyDocumentation", propDocIndex] path = ["propertyDocumentation", propDocIndex]
if _.isObject propDoc.description if _.isObject propDoc.description
for progLang, description of propDoc for progLang, description of propDoc.description
@wrapRow "#{propDoc.name} description (#{progLang})", [progLang, 'description'], description, i18n[lang]?[progLang]?.description, path, 'markdown' @wrapRow "#{propDoc.name} description (#{progLang})", ['description', progLang], description, i18n[lang]?[progLang]?.description, path, 'markdown'
else if _.isString propDoc.description else if _.isString propDoc.description
@wrapRow "#{propDoc.name} description", ['description'], propDoc.description, i18n[lang]?.description, path, 'markdown' @wrapRow "#{propDoc.name} description", ['description'], propDoc.description, i18n[lang]?.description, path, 'markdown'
if context = propDoc.context if context = propDoc.context
@ -29,8 +29,8 @@ module.exports = class I18NEditComponentView extends I18NEditModelView
path = ["propertyDocumentation", propDocIndex, "returns"] path = ["propertyDocumentation", propDocIndex, "returns"]
d = propDoc.returns.description d = propDoc.returns.description
if _.isObject d if _.isObject d
for progLang, description of d for progLang, description of d.description
@wrapRow "#{propDoc.name} return val (#{progLang})", [progLang, 'description'], description, i18n[lang]?[progLang]?.description, path, 'markdown' @wrapRow "#{propDoc.name} return val (#{progLang})", ['description', progLang], description, i18n[lang]?[progLang]?.description, path, 'markdown'
else if _.isString d else if _.isString d
@wrapRow "#{propDoc.name} return val", ['description'], d, i18n[lang]?.description, path, 'markdown' @wrapRow "#{propDoc.name} return val", ['description'], d, i18n[lang]?.description, path, 'markdown'
@ -40,8 +40,7 @@ module.exports = class I18NEditComponentView extends I18NEditModelView
if i18n = argDoc.i18n if i18n = argDoc.i18n
path = ["propertyDocumentation", propDocIndex, 'args', argIndex] path = ["propertyDocumentation", propDocIndex, 'args', argIndex]
if _.isObject argDoc.description if _.isObject argDoc.description
for progLang, description of argDoc for progLang, description of argDoc.description
@wrapRow "#{propDoc.name} arg description #{argDoc.name} (#{progLang})", [progLang, 'description'], description, i18n[lang]?[progLang]?.description, path, 'markdown' @wrapRow "#{propDoc.name} arg description #{argDoc.name} (#{progLang})", ['description', progLang], description, i18n[lang]?[progLang]?.description, path, 'markdown'
else if _.isString argDoc.description else if _.isString argDoc.description
@wrapRow "#{propDoc.name} arg description #{argDoc.name}", ['description'], argDoc.description, i18n[lang]?.description, path, 'markdown' @wrapRow "#{propDoc.name} arg description #{argDoc.name}", ['description'], argDoc.description, i18n[lang]?.description, path, 'markdown'

View file

@ -842,8 +842,8 @@ forest = [
#nextLevels: #nextLevels:
# continue: '' # continue: ''
disabled: not me.isAdmin() disabled: not me.isAdmin()
x: 77.54 x: 83.87
y: 25.94 y: 18.89
} }
{ {
name: 'Multiplayer Treasure Grove' name: 'Multiplayer Treasure Grove'

View file

@ -57,6 +57,7 @@ module.exports = class LevelHUDView extends CocoView
if not thang? and not @thang? then return if not thang? and not @thang? then return
if thang? and @thang? and thang.id is @thang.id then return if thang? and @thang? and thang.id is @thang.id then return
if thang? and @hidesHUD and thang.id isnt 'Hero Placeholder' then return # Don't let them find the names of their opponents this way if thang? and @hidesHUD and thang.id isnt 'Hero Placeholder' then return # Don't let them find the names of their opponents this way
return unless thang # Don't let them deselect anything, ever.
@thang = thang @thang = thang
@thangType = thangType @thangType = thangType
return unless @thang return unless @thang

View file

@ -4,6 +4,7 @@ template = require 'templates/play/level'
ThangType = require 'models/ThangType' ThangType = require 'models/ThangType'
utils = require 'lib/utils' utils = require 'lib/utils'
storage = require 'lib/storage' storage = require 'lib/storage'
{createAetherOptions} = require 'lib/aether_utils'
# tools # tools
Surface = require 'lib/surface/Surface' Surface = require 'lib/surface/Surface'
@ -217,8 +218,7 @@ module.exports = class PlayLevelView extends RootView
opponentSpells = opponentSpells.concat spells opponentSpells = opponentSpells.concat spells
if (not @session.get('teamSpells')) and @otherSession?.get('teamSpells') if (not @session.get('teamSpells')) and @otherSession?.get('teamSpells')
@session.set('teamSpells', @otherSession.get('teamSpells')) @session.set('teamSpells', @otherSession.get('teamSpells'))
# hero-ladder levels use code instead of transpiledCode opponentCode = @otherSession?.get('transpiledCode') or {}
opponentCode = @otherSession?.get('transpiledCode') or @otherSession?.get('code') or {}
myCode = @session.get('code') or {} myCode = @session.get('code') or {}
for spell in opponentSpells for spell in opponentSpells
[thang, spell] = spell.split '/' [thang, spell] = spell.split '/'
@ -571,7 +571,20 @@ module.exports = class PlayLevelView extends RootView
@onRealTimeMultiplayerLevelUnloaded() @onRealTimeMultiplayerLevelUnloaded()
super() super()
# Real-time Multiplayer ###################################################### onIPadMemoryWarning: (e) ->
@hasReceivedMemoryWarning = true
onItemPurchased: (e) ->
heroConfig = @session.get('heroConfig') ? {}
inventory = heroConfig.inventory ? {}
slot = e.item.getAllowedSlots()[0]
if slot and not inventory[slot]
# Open up the inventory modal so they can equip the new item
@setupManager?.destroy()
@setupManager = new LevelSetupManager({supermodel: @supermodel, levelID: @levelID, parent: @, session: @session, hadEverChosenHero: true})
@setupManager.open()
# Start Real-time Multiplayer ######################################################
# #
# This view acts as a hub for the real-time multiplayer session for the current level. # This view acts as a hub for the real-time multiplayer session for the current level.
# #
@ -800,6 +813,21 @@ module.exports = class PlayLevelView extends RootView
opponentPlayer = player opponentPlayer = player
if myPlayer if myPlayer
console.info 'Submitting my code' console.info 'Submitting my code'
# Transpile code
# Copied from scripts/transpile.coffee
# TODO: Should this live somewhere else?
transpiledCode = {}
for thang, spells of @session.get('code')
transpiledCode[thang] = {}
for spellID, spell of spells
spellName = thang + '/' + spellID
continue if @session.get('teamSpells') and not (spellName in @session.get('teamSpells')[@session.get('team')])
# console.log "PlayLevelView Transpiling spell #{spellName}"
aetherOptions = createAetherOptions functionName: spellID, codeLanguage: @session.get('submittedCodeLanguage')
aether = new Aether aetherOptions
transpiledCode[thang][spellID] = aether.transpile spell
# console.log "PlayLevelView transpiled code", transpiledCode
@session.set 'transpiledCode', transpiledCode
@session.patch() @session.patch()
myPlayer.set 'state', 'submitted' myPlayer.set 'state', 'submitted'
else else
@ -904,15 +932,4 @@ module.exports = class PlayLevelView extends RootView
# TODO: Don't hardcode spellName # TODO: Don't hardcode spellName
Backbone.Mediator.publish 'level:select-sprite', thangID: sessionState.selected, spellName: 'plan' Backbone.Mediator.publish 'level:select-sprite', thangID: sessionState.selected, spellName: 'plan'
onIPadMemoryWarning: (e) -> # End Real-time Multiplayer ######################################################
@hasReceivedMemoryWarning = true
onItemPurchased: (e) ->
heroConfig = @session.get('heroConfig') ? {}
inventory = heroConfig.inventory ? {}
slot = e.item.getAllowedSlots()[0]
if slot and not inventory[slot]
# Open up the inventory modal so they can equip the new item
@setupManager?.destroy()
@setupManager = new LevelSetupManager({supermodel: @supermodel, levelID: @levelID, parent: @, session: @session, hadEverChosenHero: true})
@setupManager.open()

View file

@ -100,6 +100,9 @@ module.exports = class DocFormatter
if val = obj[prop] if val = obj[prop]
context = @doc.context context = @doc.context
obj[prop] = val = utils.i18n obj, prop obj[prop] = val = utils.i18n obj, prop
# For multiplexed-by-both-code-and-spoken-language objects, now also get code language again.
if _.isObject val
obj[prop] = val = obj[prop]?[@options.language]
if @doc.i18n if @doc.i18n
spokenLanguage = me.get 'preferredLanguage' spokenLanguage = me.get 'preferredLanguage'
while spokenLanguage while spokenLanguage
@ -113,13 +116,18 @@ module.exports = class DocFormatter
obj[prop] = _.template val, context obj[prop] = _.template val, context
catch e catch e
console.error "Couldn't create docs template of", val, "\nwith context", context, "\nError:", e console.error "Couldn't create docs template of", val, "\nwith context", context, "\nError:", e
obj[prop] = @replaceSpriteName obj[prop] # Do this before using the template, otherwise marked might get us first.
formatPopover: -> formatPopover: ->
content = popoverTemplate doc: @doc, language: @options.language, value: @formatValue(), marked: marked, argumentExamples: (arg.example or arg.default or arg.name for arg in @doc.args ? []), writable: @options.writable, selectedMethod: @options.selectedMethod, cooldowns: @inferCooldowns(), item: @options.item content = popoverTemplate doc: @doc, language: @options.language, value: @formatValue(), marked: marked, argumentExamples: (arg.example or arg.default or arg.name for arg in @doc.args ? []), writable: @options.writable, selectedMethod: @options.selectedMethod, cooldowns: @inferCooldowns(), item: @options.item
owner = if @doc.owner is 'this' then @options.thang else window[@doc.owner] owner = if @doc.owner is 'this' then @options.thang else window[@doc.owner]
content = content.replace /#{spriteName}/g, @options.thang.type ? @options.thang.spriteName # Prefer type, and excluded the quotes we'd get with @formatValue content = @replaceSpriteName content
content.replace /\#\{(.*?)\}/g, (s, properties) => @formatValue downTheChain(owner, properties.split('.')) content.replace /\#\{(.*?)\}/g, (s, properties) => @formatValue downTheChain(owner, properties.split('.'))
replaceSpriteName: (s) ->
# Prefer type, and excluded the quotes we'd get with @formatValue
s.replace /#{spriteName}/g, @options.thang.type ? @options.thang.spriteName
formatValue: (v) -> formatValue: (v) ->
return null if @doc.type is 'snippet' return null if @doc.type is 'snippet'
return @options.thang.now() if @doc.name is 'now' return @options.thang.now() if @doc.name is 'now'
@ -130,7 +138,7 @@ module.exports = class DocFormatter
else else
v = window[@doc.owner][@doc.name] # grab Math or Vector v = window[@doc.owner][@doc.name] # grab Math or Vector
if @doc.type is 'number' and not _.isNaN v if @doc.type is 'number' and not _.isNaN v
if v == Math.round v if v is Math.round v
return v return v
if _.isNumber v if _.isNumber v
return v.toFixed 2 return v.toFixed 2
@ -165,5 +173,7 @@ module.exports = class DocFormatter
return null unless action return null unless action
cooldowns = cooldown: action.cooldown, specificCooldown: action.specificCooldown, name: actionName, type: type cooldowns = cooldown: action.cooldown, specificCooldown: action.specificCooldown, name: actionName, type: type
for prop in ['range', 'radius', 'duration', 'damage'] for prop in ['range', 'radius', 'duration', 'damage']
cooldowns[prop] = owner[_.string.camelize actionName + _.string.capitalize(prop)] cooldowns[prop] = v = owner[_.string.camelize actionName + _.string.capitalize(prop)]
if _.isNumber(v) and v isnt Math.round v
cooldowns[prop] = v.toFixed 2
cooldowns cooldowns

View file

@ -88,8 +88,12 @@ module.exports = class ProblemAlertView extends CocoView
onWindowResize: (e) => onWindowResize: (e) =>
# TODO: This all seems a little hacky # TODO: This all seems a little hacky
if @problem? if @problem?
@$el.css('left', $('#goals-view').outerWidth(true) + 'px') levelContentWidth = $('.level-content').outerWidth(true)
@$el.css('right', $('#code-area').outerWidth(true) + 'px') goalsViewWidth = $('#goals-view').outerWidth(true)
codeAreaWidth = $('#code-area').outerWidth(true)
# problem alert view has 20px padding
@$el.css('max-width', levelContentWidth - codeAreaWidth - goalsViewWidth + 40 + 'px')
@$el.css('right', codeAreaWidth + 'px')
# 110px from top roughly aligns top of alert with top of first code line # 110px from top roughly aligns top of alert with top of first code line
# TODO: calculate this in a more dynamic, less sketchy way # TODO: calculate this in a more dynamic, less sketchy way

View file

@ -185,7 +185,6 @@ module.exports = class Spell
shouldUseTranspiledCode: -> shouldUseTranspiledCode: ->
# Determine whether this code has already been transpiled, or whether it's raw source needing transpilation. # Determine whether this code has already been transpiled, or whether it's raw source needing transpilation.
return false if @levelType is 'hero-ladder'
return true if @spectateView # Use transpiled code for both teams if we're just spectating. return true if @spectateView # Use transpiled code for both teams if we're just spectating.
return true if @isEnemySpell() # Use transpiled for enemy spells. return true if @isEnemySpell() # Use transpiled for enemy spells.
# Players without permissions can't view the raw code. # Players without permissions can't view the raw code.

View file

@ -46,10 +46,12 @@ module.exports = class SpellPaletteEntryView extends CocoView
content: @docFormatter.formatPopover() content: @docFormatter.formatPopover()
container: 'body' container: 'body'
template: @overridePopoverTemplate template: @overridePopoverTemplate
).on 'show.bs.popover', => ).on 'shown.bs.popover', =>
Backbone.Mediator.publish 'tome:palette-hovered', thang: @thang, prop: @doc.name, entry: @ Backbone.Mediator.publish 'tome:palette-hovered', thang: @thang, prop: @doc.name, entry: @
soundIndex = Math.floor(Math.random() * 4) soundIndex = Math.floor(Math.random() * 4)
Backbone.Mediator.publish 'audio-player:play-sound', trigger: "spell-palette-entry-open-#{soundIndex}", volume: 0.75 Backbone.Mediator.publish 'audio-player:play-sound', trigger: "spell-palette-entry-open-#{soundIndex}", volume: 0.75
popover = @$el.data('bs.popover')
popover?.$tip?.i18n()
onMouseEnter: (e) -> onMouseEnter: (e) ->
# Make sure the doc has the updated Thang so it can regenerate its prop value # Make sure the doc has the updated Thang so it can regenerate its prop value

View file

@ -228,7 +228,7 @@ module.exports = class SpellView extends CocoView
unless CampaignOptions?.getOption?(@options?.level?.get?('slug'), 'backspaceThrottle') unless CampaignOptions?.getOption?(@options?.level?.get?('slug'), 'backspaceThrottle')
@ace.remove "left" @ace.remove "left"
return return
nowDate = Date.now() nowDate = Date.now()
if @aceSession.selection.isEmpty() if @aceSession.selection.isEmpty()
cursor = @ace.getCursorPosition() cursor = @ace.getCursorPosition()
@ -245,7 +245,7 @@ module.exports = class SpellView extends CocoView
@backspaceThrottleMs = null @backspaceThrottleMs = null
@lastBackspace = nowDate @lastBackspace = nowDate
@ace.remove "left" @ace.remove "left"
fillACE: -> fillACE: ->
@ -946,12 +946,18 @@ module.exports = class SpellView extends CocoView
return if @destroyed return if @destroyed
source = @getSource().replace @singleLineCommentRegex(), '' source = @getSource().replace @singleLineCommentRegex(), ''
suspectCodeFragments = LevelOptions[@options.level.get('slug')].suspectCode suspectCodeFragments = LevelOptions[@options.level.get('slug')].suspectCode
detectedSuspectCodeFragmentNames = []
for suspectCodeFragment in suspectCodeFragments for suspectCodeFragment in suspectCodeFragments
if suspectCodeFragment.pattern.test source if suspectCodeFragment.pattern.test source
@warnedCodeFragments ?= {} @warnedCodeFragments ?= {}
unless @warnedCodeFragments[suspectCodeFragment.name] unless @warnedCodeFragments[suspectCodeFragment.name]
Backbone.Mediator.publish 'tome:suspect-code-fragment-added', codeFragment: suspectCodeFragment.name, codeLanguage: @spell.language Backbone.Mediator.publish 'tome:suspect-code-fragment-added', codeFragment: suspectCodeFragment.name, codeLanguage: @spell.language
@warnedCodeFragments[suspectCodeFragment] = true @warnedCodeFragments[suspectCodeFragment.name] = true
detectedSuspectCodeFragmentNames.push suspectCodeFragment.name
for lastDetectedSuspectCodeFragmentName in @lastDetectedSuspectCodeFragmentNames ? []
unless lastDetectedSuspectCodeFragmentName in detectedSuspectCodeFragmentNames
Backbone.Mediator.publish 'tome:suspect-code-fragment-deleted', codeFragment: lastDetectedSuspectCodeFragmentName, codeLanguage: @spell.language
@lastDetectedSuspectCodeFragmentNames = detectedSuspectCodeFragmentNames
destroy: -> destroy: ->
$(@ace?.container).find('.ace_gutter').off 'click', '.ace_error, .ace_warning, .ace_info', @onAnnotationClick $(@ace?.container).find('.ace_gutter').off 'click', '.ace_error, .ace_warning, .ace_info', @onAnnotationClick

View file

@ -3,6 +3,7 @@ template = require 'templates/play/modal/item-details-view'
CocoCollection = require 'collections/CocoCollection' CocoCollection = require 'collections/CocoCollection'
LevelComponent = require 'models/LevelComponent' LevelComponent = require 'models/LevelComponent'
{downTheChain} = require 'lib/world/world_utils'
utils = require 'lib/utils' utils = require 'lib/utils'
module.exports = class ItemDetailsView extends CocoView module.exports = class ItemDetailsView extends CocoView
@ -21,6 +22,7 @@ module.exports = class ItemDetailsView extends CocoView
@item.affordable = me.gems() >= @item.get('gems') @item.affordable = me.gems() >= @item.get('gems')
@item.owned = me.ownsItem @item.get('original') @item.owned = me.ownsItem @item.get('original')
@item.comingSoon = not @item.getFrontFacingStats().props.length and not _.size @item.getFrontFacingStats().stats # Temp: while there are placeholder items @item.comingSoon = not @item.getFrontFacingStats().props.length and not _.size @item.getFrontFacingStats().stats # Temp: while there are placeholder items
@componentConfigs = (c.config for c in @item.get('components') when c.config)
stats = @item.getFrontFacingStats() stats = @item.getFrontFacingStats()
props = (p for p in stats.props when not @propDocs[p]) props = (p for p in stats.props when not @propDocs[p])
@ -78,15 +80,22 @@ module.exports = class ItemDetailsView extends CocoView
description = description.replace(/#{spriteName}/g, 'hero') description = description.replace(/#{spriteName}/g, 'hero')
if fact = stats.stats.shieldDefenseFactor if fact = stats.stats.shieldDefenseFactor
description = description.replace(/#{shieldDefensePercent}%/g, fact.display) description = description.replace(/#{shieldDefensePercent}%/g, fact.display)
## We don't have the full components loaded here, so we can't really get most of these values. if prop is 'buildTypes'
#description = description.replace /#{([^.]+?)}/g, (match, keyChain) -> buildsConfig = _.find @componentConfigs, 'buildables'
# console.log 'gotta find', keyChain, 'from', match, 'and have', stats description = description.replace '#{buildTypes}', "`[\"#{_.keys(buildsConfig.buildables).join('\", \"')}\"]`"
# match # We don't have the full components loaded here, so we can't really get most of these values.
componentConfigs = @componentConfigs ? []
description = description.replace /#{([^.]+?)}/g, (match, keyChain) ->
for componentConfig in componentConfigs
if value = downTheChain componentConfig, keyChain
return value
#console.log 'gotta find', keyChain, 'from', match
match
description = description.replace(/#{(.+?)}/g, '`$1`') description = description.replace(/#{(.+?)}/g, '`$1`')
description = $(marked(description)).html() description = $(marked(description)).html()
c.props.push { c.props.push {
name: _.string.humanize prop name: prop
description: description or '...' description: description or '...'
} }
c c

View file

@ -11,17 +11,16 @@ PAGE_SIZE = 200
module.exports = class PlayAchievementsModal extends ModalView module.exports = class PlayAchievementsModal extends ModalView
className: 'modal fade play-modal' className: 'modal fade play-modal'
template: template template: template
modalWidthPercent: 90
id: 'play-achievements-modal' id: 'play-achievements-modal'
plain: true plain: true
earnedMap: {} earnedMap: {}
constructor: (options) -> constructor: (options) ->
super options super options
@achievements = new Backbone.Collection() @achievements = new Backbone.Collection()
earnedMap = {} earnedMap = {}
achievementsFetcher = new CocoCollection([], {url: '/db/achievement', model: Achievement}) achievementsFetcher = new CocoCollection([], {url: '/db/achievement', model: Achievement})
achievementsFetcher.setProjection([ achievementsFetcher.setProjection([
'name' 'name'
@ -32,10 +31,10 @@ module.exports = class PlayAchievementsModal extends ModalView
'rewards' 'rewards'
'collection' 'collection'
]) ])
earnedAchievementsFetcher = new CocoCollection([], {url: '/db/earned_achievement', model: EarnedAchievement}) earnedAchievementsFetcher = new CocoCollection([], {url: '/db/earned_achievement', model: EarnedAchievement})
earnedAchievementsFetcher.setProjection([ 'achievement' ]) earnedAchievementsFetcher.setProjection([ 'achievement' ])
achievementsFetcher.skip = 0 achievementsFetcher.skip = 0
achievementsFetcher.fetch({data: {skip: 0, limit: PAGE_SIZE}}) achievementsFetcher.fetch({data: {skip: 0, limit: PAGE_SIZE}})
earnedAchievementsFetcher.skip = 0 earnedAchievementsFetcher.skip = 0
@ -46,7 +45,7 @@ module.exports = class PlayAchievementsModal extends ModalView
@supermodel.loadCollection(achievementsFetcher, 'achievement') @supermodel.loadCollection(achievementsFetcher, 'achievement')
@supermodel.loadCollection(earnedAchievementsFetcher, 'achievement') @supermodel.loadCollection(earnedAchievementsFetcher, 'achievement')
@onEverythingLoaded = _.after(2, @onEverythingLoaded) @onEverythingLoaded = _.after(2, @onEverythingLoaded)
onAchievementsLoaded: (fetcher) -> onAchievementsLoaded: (fetcher) ->

View file

@ -12,6 +12,7 @@ class EarnedAchievementHandler extends Handler
# Don't allow POSTs or anything yet # Don't allow POSTs or anything yet
hasAccess: (req) -> hasAccess: (req) ->
return false unless req.user
req.method in ['GET', 'POST'] # or req.user.isAdmin() req.method in ['GET', 'POST'] # or req.user.isAdmin()
get: (req, res) -> get: (req, res) ->

View file

@ -56,7 +56,7 @@ module.exports = class Handler
isBrandNew = req.method is 'POST' and not req.body.original isBrandNew = req.method is 'POST' and not req.body.original
props = props.concat @postEditableProperties if isBrandNew props = props.concat @postEditableProperties if isBrandNew
if @modelClass.schema.uses_coco_permissions if @modelClass.schema.uses_coco_permissions and req.user
# can only edit permissions if this is a brand new property, # can only edit permissions if this is a brand new property,
# or you are an owner of the old one # or you are an owner of the old one
isOwner = document.getAccessForUserObjectId(req.user._id) is 'owner' isOwner = document.getAccessForUserObjectId(req.user._id) is 'owner'
@ -523,7 +523,7 @@ module.exports = class Handler
# This is not a Mongoose user # This is not a Mongoose user
projectionForUser: (req, model, ownerID) -> projectionForUser: (req, model, ownerID) ->
return {} if 'privateProperties' not of model or req.user._id + '' is ownerID + '' or req.user.isAdmin() return {} if 'privateProperties' not of model or req.user?._id + '' is ownerID + '' or req.user.isAdmin()
projection = {} projection = {}
projection[field] = 0 for field in model.privateProperties projection[field] = 0 for field in model.privateProperties
projection projection

View file

@ -102,6 +102,7 @@ LevelHandler = class LevelHandler extends Handler
# of model, like in this case. Refactor to move that logic to the model instead. # of model, like in this case. Refactor to move that logic to the model instead.
getMySessions: (req, res, slugOrID) -> getMySessions: (req, res, slugOrID) ->
return @sendForbiddenError(res) if not req.user
findParameters = {} findParameters = {}
if Handler.isID slugOrID if Handler.isID slugOrID
findParameters['_id'] = slugOrID findParameters['_id'] = slugOrID
@ -271,6 +272,7 @@ LevelHandler = class LevelHandler extends Handler
@doGetFeedback req, res, levelID, false @doGetFeedback req, res, levelID, false
getAllFeedback: (req, res, levelID) -> getAllFeedback: (req, res, levelID) ->
return @sendNotFoundError(res) unless req.user
@doGetFeedback req, res, levelID, true @doGetFeedback req, res, levelID, true
doGetFeedback: (req, res, levelID, multiple) -> doGetFeedback: (req, res, levelID, multiple) ->

View file

@ -39,7 +39,7 @@ LevelSessionSchema.statics.privateProperties = ['code', 'submittedCode', 'unsubs
LevelSessionSchema.statics.editableProperties = ['multiplayer', 'players', 'code', 'codeLanguage', 'completed', 'state', LevelSessionSchema.statics.editableProperties = ['multiplayer', 'players', 'code', 'codeLanguage', 'completed', 'state',
'levelName', 'creatorName', 'levelID', 'screenshot', 'levelName', 'creatorName', 'levelID', 'screenshot',
'chat', 'teamSpells', 'submitted', 'submittedCodeLanguage', 'chat', 'teamSpells', 'submitted', 'submittedCodeLanguage',
'unsubscribed', 'playtime', 'heroConfig', 'team'] 'unsubscribed', 'playtime', 'heroConfig', 'team', 'transpiledCode']
LevelSessionSchema.statics.jsonSchema = jsonschema LevelSessionSchema.statics.jsonSchema = jsonschema
LevelSessionSchema.index {user: 1, changed: -1}, {sparse: true, name: 'last played index'} LevelSessionSchema.index {user: 1, changed: -1}, {sparse: true, name: 'last played index'}

View file

@ -20,7 +20,7 @@ class LevelSessionHandler extends Handler
return _.omit documentObject, @privateProperties return _.omit documentObject, @privateProperties
getActiveSessions: (req, res) -> getActiveSessions: (req, res) ->
return @sendForbiddenError(res) unless req.user.isAdmin() return @sendForbiddenError(res) unless req.user?.isAdmin()
start = new Date() start = new Date()
start = new Date(start.getTime() - TIMEOUT) start = new Date(start.getTime() - TIMEOUT)
query = @modelClass.find({'changed': {$gt: start}}) query = @modelClass.find({'changed': {$gt: start}})

View file

@ -116,7 +116,7 @@ module.exports.PermissionsPlugin = (schema) ->
allowed = allowed[method] or [] allowed = allowed[method] or []
for permission in @permissions for permission in @permissions
if permission.target is 'public' or actor._id.equals(permission.target) if permission.target is 'public' or actor?._id.equals(permission.target)
return true if permission.access in allowed return true if permission.access in allowed
return false return false

View file

@ -25,7 +25,8 @@ module.exports.setup = (app) ->
parts = module.split('/') parts = module.split('/')
module = parts[0] module = parts[0]
return getSchema(req, res, module) if parts[1] is 'schema' return getSchema(req, res, module) if parts[1] is 'schema'
return errors.unauthorized(res, 'Must have an identity to do anything with the db. Do you have cookies enabled?') unless req.user if (not req.user) and req.route.method isnt 'get'
return errors.unauthorized(res, 'Must have an identity to do anything with the db. Do you have cookies enabled?')
try try
moduleName = module.replace new RegExp('\\.', 'g'), '_' moduleName = module.replace new RegExp('\\.', 'g'), '_'

View file

@ -224,6 +224,7 @@ UserHandler = class UserHandler extends Handler
res.end() res.end()
getLevelSessionsForEmployer: (req, res, userID) -> getLevelSessionsForEmployer: (req, res, userID) ->
return @sendForbiddenError(res) unless req.user
return @sendForbiddenError(res) unless req.user._id+'' is userID or req.user.isAdmin() or ('employer' in (req.user.get('permissions') ? [])) return @sendForbiddenError(res) unless req.user._id+'' is userID or req.user.isAdmin() or ('employer' in (req.user.get('permissions') ? []))
query = creator: userID, levelID: {$in: ['criss-cross', 'gridmancer', 'greed', 'dungeon-arena', 'brawlwood', 'gold-rush']} query = creator: userID, levelID: {$in: ['criss-cross', 'gridmancer', 'greed', 'dungeon-arena', 'brawlwood', 'gold-rush']}
projection = 'levelName levelID team playtime codeLanguage submitted code totalScore teamSpells level' projection = 'levelName levelID team playtime codeLanguage submitted code totalScore teamSpells level'
@ -241,7 +242,7 @@ UserHandler = class UserHandler extends Handler
return @sendDatabaseError res, err if err return @sendDatabaseError res, err if err
return @sendNotFoundError res unless userID? return @sendNotFoundError res unless userID?
query = creator: userID + '' query = creator: userID + ''
isAuthorized = req.user._id+'' is userID or req.user.isAdmin() isAuthorized = req.user?._id+'' is userID or req.user?.isAdmin()
projection = {} projection = {}
if req.query.project if req.query.project
projection[field] = 1 for field in req.query.project.split(',') when isAuthorized or not (field in LevelSessionHandler.privateProperties) projection[field] = 1 for field in req.query.project.split(',') when isAuthorized or not (field in LevelSessionHandler.privateProperties)
@ -278,9 +279,9 @@ UserHandler = class UserHandler extends Handler
trackActivity: (req, res, userID, activityName, increment=1) -> trackActivity: (req, res, userID, activityName, increment=1) ->
return @sendMethodNotAllowed res unless req.method is 'POST' return @sendMethodNotAllowed res unless req.method is 'POST'
isMe = userID is req.user._id + '' isMe = userID is req.user?._id + ''
isAuthorized = isMe or req.user.isAdmin() isAuthorized = isMe or req.user?.isAdmin()
isAuthorized ||= ('employer' in (req.user.get('permissions') ? [])) and (activityName in ['viewed_by_employer', 'contacted_by_employer']) isAuthorized ||= ('employer' in (req.user?.get('permissions') ? [])) and (activityName in ['viewed_by_employer', 'contacted_by_employer'])
return @sendForbiddenError res unless isAuthorized return @sendForbiddenError res unless isAuthorized
updateUser = (user) => updateUser = (user) =>
activity = user.trackActivity activityName, increment activity = user.trackActivity activityName, increment
@ -322,6 +323,7 @@ UserHandler = class UserHandler extends Handler
res.end() res.end()
getCandidates: (req, res) -> getCandidates: (req, res) ->
return @sendForbiddenError(res) unless req.user
authorized = req.user.isAdmin() or ('employer' in (req.user.get('permissions') ? [])) authorized = req.user.isAdmin() or ('employer' in (req.user.get('permissions') ? []))
months = if req.user.isAdmin() then 12 else 2 months = if req.user.isAdmin() then 12 else 2
since = (new Date((new Date()) - months * 30.4 * 86400 * 1000)).toISOString() since = (new Date((new Date()) - months * 30.4 * 86400 * 1000)).toISOString()
@ -356,7 +358,7 @@ UserHandler = class UserHandler extends Handler
true true
getEmployers: (req, res) -> getEmployers: (req, res) ->
return @sendForbiddenError(res) unless req.user.isAdmin() return @sendForbiddenError(res) unless req.user?.isAdmin()
query = {employerAt: {$exists: true, $ne: ''}} query = {employerAt: {$exists: true, $ne: ''}}
selection = 'name firstName lastName email activity signedEmployerAgreement photoURL employerAt' selection = 'name firstName lastName email activity signedEmployerAgreement photoURL employerAt'
User.find(query).select(selection).lean().exec (err, documents) => User.find(query).select(selection).lean().exec (err, documents) =>
@ -379,7 +381,7 @@ UserHandler = class UserHandler extends Handler
hash.digest('hex') hash.digest('hex')
getRemark: (req, res, userID) -> getRemark: (req, res, userID) ->
return @sendForbiddenError(res) unless req.user.isAdmin() return @sendForbiddenError(res) unless req.user?.isAdmin()
query = user: userID query = user: userID
projection = null projection = null
if req.query.project if req.query.project
@ -392,7 +394,7 @@ UserHandler = class UserHandler extends Handler
searchForUser: (req, res) -> searchForUser: (req, res) ->
# TODO: also somehow search the CLAs to find a match amongst those fields and to find GitHub ids # TODO: also somehow search the CLAs to find a match amongst those fields and to find GitHub ids
return @sendForbiddenError(res) unless req.user.isAdmin() return @sendForbiddenError(res) unless req.user?.isAdmin()
search = req.body.search search = req.body.search
query = email: {$exists: true}, $or: [ query = email: {$exists: true}, $or: [
{emailLower: search} {emailLower: search}
@ -605,7 +607,7 @@ UserHandler = class UserHandler extends Handler
@statRecalculators[statName] done @statRecalculators[statName] done
recalculate: (req, res, statName) -> recalculate: (req, res, statName) ->
return @sendForbiddenError(res) unless req.user.isAdmin() return @sendForbiddenError(res) unless req.user?.isAdmin()
log.debug 'recalculate' log.debug 'recalculate'
return @sendNotFoundError(res) unless statName of @statRecalculators return @sendNotFoundError(res) unless statName of @statRecalculators
@recalculateStats statName @recalculateStats statName