diff --git a/.gitignore b/.gitignore index 390596a0c..bf9b3eb27 100644 --- a/.gitignore +++ b/.gitignore @@ -80,6 +80,7 @@ bin/mongo/ # windows /SCOCODE.bat +cocodb/ # local settings login.coffee diff --git a/app/assets/images/pages/community/adventurer.png b/app/assets/images/pages/community/adventurer.png new file mode 100644 index 000000000..6b7553a60 Binary files /dev/null and b/app/assets/images/pages/community/adventurer.png differ diff --git a/app/assets/images/pages/community/ambassador.png b/app/assets/images/pages/community/ambassador.png new file mode 100644 index 000000000..462f7c8de Binary files /dev/null and b/app/assets/images/pages/community/ambassador.png differ diff --git a/app/assets/images/pages/community/archmage.png b/app/assets/images/pages/community/archmage.png new file mode 100644 index 000000000..4bdae4b03 Binary files /dev/null and b/app/assets/images/pages/community/archmage.png differ diff --git a/app/assets/images/pages/community/article.png b/app/assets/images/pages/community/article.png new file mode 100644 index 000000000..fcc391939 Binary files /dev/null and b/app/assets/images/pages/community/article.png differ diff --git a/app/assets/images/pages/community/artisan.png b/app/assets/images/pages/community/artisan.png new file mode 100644 index 000000000..c3a5d1680 Binary files /dev/null and b/app/assets/images/pages/community/artisan.png differ diff --git a/app/assets/images/pages/community/diplomat.png b/app/assets/images/pages/community/diplomat.png new file mode 100644 index 000000000..eaaf21b37 Binary files /dev/null and b/app/assets/images/pages/community/diplomat.png differ diff --git a/app/assets/images/pages/community/level.png b/app/assets/images/pages/community/level.png new file mode 100644 index 000000000..b5bb78f03 Binary files /dev/null and b/app/assets/images/pages/community/level.png differ diff --git a/app/assets/images/pages/community/logo_discourse.png b/app/assets/images/pages/community/logo_discourse.png new file mode 100644 index 000000000..75be80ecc Binary files /dev/null and b/app/assets/images/pages/community/logo_discourse.png differ diff --git a/app/assets/images/pages/community/logo_facebook.png b/app/assets/images/pages/community/logo_facebook.png new file mode 100644 index 000000000..0575c3e70 Binary files /dev/null and b/app/assets/images/pages/community/logo_facebook.png differ diff --git a/app/assets/images/pages/community/logo_g+.png b/app/assets/images/pages/community/logo_g+.png new file mode 100644 index 000000000..1ca939a39 Binary files /dev/null and b/app/assets/images/pages/community/logo_g+.png differ diff --git a/app/assets/images/pages/community/logo_hipchat.png b/app/assets/images/pages/community/logo_hipchat.png new file mode 100644 index 000000000..aa47b8010 Binary files /dev/null and b/app/assets/images/pages/community/logo_hipchat.png differ diff --git a/app/assets/images/pages/community/logo_sett.png b/app/assets/images/pages/community/logo_sett.png new file mode 100644 index 000000000..38c0aa7bc Binary files /dev/null and b/app/assets/images/pages/community/logo_sett.png differ diff --git a/app/assets/images/pages/community/logo_twitter.png b/app/assets/images/pages/community/logo_twitter.png new file mode 100644 index 000000000..a65889262 Binary files /dev/null and b/app/assets/images/pages/community/logo_twitter.png differ diff --git a/app/assets/images/pages/community/scribe.png b/app/assets/images/pages/community/scribe.png new file mode 100644 index 000000000..b44a8835a Binary files /dev/null and b/app/assets/images/pages/community/scribe.png differ diff --git a/app/assets/images/pages/community/thang.png b/app/assets/images/pages/community/thang.png new file mode 100644 index 000000000..15346482f Binary files /dev/null and b/app/assets/images/pages/community/thang.png differ diff --git a/app/assets/images/pages/editor/level/preset_dungeon_large.jpg b/app/assets/images/pages/editor/level/preset_dungeon_large.jpg new file mode 100644 index 000000000..b39f3558e Binary files /dev/null and b/app/assets/images/pages/editor/level/preset_dungeon_large.jpg differ diff --git a/app/assets/images/pages/editor/level/preset_dungeon_small.jpg b/app/assets/images/pages/editor/level/preset_dungeon_small.jpg new file mode 100644 index 000000000..a8fea9c5c Binary files /dev/null and b/app/assets/images/pages/editor/level/preset_dungeon_small.jpg differ diff --git a/app/assets/images/pages/editor/level/preset_indoor_large.jpg b/app/assets/images/pages/editor/level/preset_indoor_large.jpg new file mode 100644 index 000000000..0ea8b6907 Binary files /dev/null and b/app/assets/images/pages/editor/level/preset_indoor_large.jpg differ diff --git a/app/assets/images/pages/editor/level/preset_indoor_small.jpg b/app/assets/images/pages/editor/level/preset_indoor_small.jpg new file mode 100644 index 000000000..e172b56bd Binary files /dev/null and b/app/assets/images/pages/editor/level/preset_indoor_small.jpg differ diff --git a/app/assets/images/pages/game-menu/choose-hero-stub.png b/app/assets/images/pages/game-menu/choose-hero-stub.png new file mode 100644 index 000000000..5711462a7 Binary files /dev/null and b/app/assets/images/pages/game-menu/choose-hero-stub.png differ diff --git a/app/assets/images/pages/game-menu/inventory-stub.png b/app/assets/images/pages/game-menu/inventory-stub.png new file mode 100644 index 000000000..87963ebc4 Binary files /dev/null and b/app/assets/images/pages/game-menu/inventory-stub.png differ diff --git a/app/assets/images/pages/game-menu/save-load-history-stub.png b/app/assets/images/pages/game-menu/save-load-history-stub.png new file mode 100644 index 000000000..885db7010 Binary files /dev/null and b/app/assets/images/pages/game-menu/save-load-history-stub.png differ diff --git a/app/assets/images/pages/game-menu/save-load-stub.png b/app/assets/images/pages/game-menu/save-load-stub.png new file mode 100644 index 000000000..ee201430e Binary files /dev/null and b/app/assets/images/pages/game-menu/save-load-stub.png differ diff --git a/app/assets/javascripts/mock-ajax.js b/app/assets/javascripts/mock-ajax.js index 966033263..20b07befd 100644 --- a/app/assets/javascripts/mock-ajax.js +++ b/app/assets/javascripts/mock-ajax.js @@ -260,6 +260,35 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. return matching_requests; }; + + this.sendResponses = function(responseMap) { + var urls = Object.keys(responseMap); + var success = true; + for(var i in urls) { + var url = urls[i]; + var responseBody = responseMap[url]; + var responded = false; + + var requests = jasmine.Ajax.requests.all(); + for(var j in requests) { + var request = requests[j]; + if(request.url.startsWith(url)) { + request.response({status: 200, responseText: JSON.stringify(responseBody)}); + responded = true; + break; + } + } + if(!responded) { + var allRequests = jasmine.Ajax.requests.all(); + urls = []; + for(var k in allRequests) urls.push(allRequests[k].url); + console.error('could not find response for', url, 'in', urls, allRequests); + success = false; + continue; + } + } + return success; + } } function RequestStub(url, stubData) { diff --git a/app/lib/LevelLoader.coffee b/app/lib/LevelLoader.coffee index 59332b64e..60f93cb21 100644 --- a/app/lib/LevelLoader.coffee +++ b/app/lib/LevelLoader.coffee @@ -32,8 +32,9 @@ module.exports = class LevelLoader extends CocoClass @team = options.team @headless = options.headless @spectateMode = options.spectateMode ? false - @editorMode = options.editorMode # TODO: remove when the surface can load ThangTypes itself + @worldNecessities = [] + @listenTo @supermodel, 'resource-loaded', @onWorldNecessityLoaded @loadSession() @loadLevel() @loadAudio() @@ -65,12 +66,23 @@ module.exports = class LevelLoader extends CocoClass session = new LevelSession().setURL url @sessionResource = @supermodel.loadModel(session, 'level_session', {cache: false}) @session = @sessionResource.model - @session.once 'sync', -> @url = -> '/db/level.session/' + @id + @listenToOnce @session, 'sync', @onSessionLoaded if @opponentSessionID opponentSession = new LevelSession().setURL "/db/level_session/#{@opponentSessionID}" @opponentSessionResource = @supermodel.loadModel(opponentSession, 'opponent_session') @opponentSession = @opponentSessionResource.model + @listenToOnce @opponentSession, 'sync', @onSessionLoaded + + onSessionLoaded: (session) -> + session.url = -> '/db/level.session/' + @id + if heroConfig = session.get('heroConfig') + url = "/db/thang.type/#{heroConfig.thangType}/version?project=name,components,original" + @worldNecessities.push @maybeLoadURL(url, ThangType, 'thang') + + for itemThangType in _.values(heroConfig.inventory) + url = "/db/thang.type/#{itemThangType}/version?project=name,components,original" + @worldNecessities.push @maybeLoadURL(url, ThangType, 'thang') # Supermodel (Level) Loading @@ -93,6 +105,7 @@ module.exports = class LevelLoader extends CocoClass for thang in @level.get('thangs') or [] thangIDs.push thang.thangType + @loadItemThangsEquippedByLevelThang(thang) for comp in thang.components or [] componentVersions.push _.pick(comp, ['original', 'majorVersion']) @@ -113,6 +126,7 @@ module.exports = class LevelLoader extends CocoClass @thangIDs = _.uniq thangIDs @thangNames = new ThangNamesCollection(@thangIDs) worldNecessities.push @supermodel.loadCollection(@thangNames, 'thang_names') + @listenToOnce @thangNames, 'sync', @onThangNamesLoaded worldNecessities.push @sessionResource if @sessionResource?.isLoading worldNecessities.push @opponentSessionResource if @opponentSessionResource?.isLoading @@ -129,18 +143,63 @@ module.exports = class LevelLoader extends CocoClass url = "/db/level/#{obj.original}/version/#{obj.majorVersion}" @maybeLoadURL url, Level, 'level' - unless @headless and not @editorMode + unless @headless wizard = ThangType.loadUniversalWizard() @supermodel.loadModel wizard, 'thang' - jqxhrs = (resource.jqxhr for resource in worldNecessities when resource?.jqxhr) - $.when(jqxhrs...).done(@onWorldNecessitiesLoaded) + @worldNecessities = @worldNecessities.concat worldNecessities + + loadItemThangsEquippedByLevelThang: (levelThang) -> + return unless levelThang.components + for component in levelThang.components + if component.original is LevelComponent.EquipsID and inventory = component.config?.inventory + for itemThangType in _.values(inventory) + unless itemThangType + console.warn "Empty item in inventory for", levelThang + continue + url = "/db/thang.type/#{itemThangType}/version?project=name,components,original" + @worldNecessities.push @maybeLoadURL(url, ThangType, 'thang') + + onThangNamesLoaded: (thangNames) -> + if @level.get('type') is 'hero' + for thangType in thangNames.models + @loadDefaultComponentsForThangType(thangType) + @loadEquippedItemsInheritedFromThangType(thangType) + + loadDefaultComponentsForThangType: (thangType) -> + return unless components = thangType.get('components') + for component in components + url = "/db/level.component/#{component.original}/version/#{component.majorVersion}" + @worldNecessities.push @maybeLoadURL(url, LevelComponent, 'component') + + loadEquippedItemsInheritedFromThangType: (thangType) -> + for levelThang in @level.get('thangs') or [] + if levelThang.thangType is thangType.get('original') + levelThang = $.extend true, {}, levelThang + @level.denormalizeThang(levelThang, @supermodel) + equipsComponent = _.find levelThang.components, {original: LevelComponent.EquipsID} + inventory = equipsComponent.config?.inventory + continue unless inventory + for itemThangType in _.values inventory + url = "/db/thang.type/#{itemThangType}/version?project=name,components,original" + @worldNecessities.push @maybeLoadURL(url, ThangType, 'thang') + + onWorldNecessityLoaded: (resource) -> + index = @worldNecessities.indexOf(resource) + if (@level?.loading or (@level?.get('type') is 'hero')) and resource.name is 'thang' + @loadDefaultComponentsForThangType(resource.model) + @loadEquippedItemsInheritedFromThangType(resource.model) + + return unless index >= 0 + @worldNecessities.splice(index, 1) + @worldNecessities = (r for r in @worldNecessities when r?) + @onWorldNecessitiesLoaded() if @worldNecessities.length is 0 onWorldNecessitiesLoaded: => @initWorld() @supermodel.clearMaxProgress() @trigger 'world-necessities-loaded' - return if @headless and not @editorMode + return if @headless thangsToLoad = _.uniq( (t.spriteName for t in @world.thangs when t.exists) ) nameModelTuples = ([thangType.get('name'), thangType] for thangType in @thangNames.models) nameModelMap = _.zipObject nameModelTuples diff --git a/app/lib/surface/SpriteBoss.coffee b/app/lib/surface/SpriteBoss.coffee index 634d5ea2d..37ec06c6e 100644 --- a/app/lib/surface/SpriteBoss.coffee +++ b/app/lib/surface/SpriteBoss.coffee @@ -149,6 +149,7 @@ module.exports = class SpriteBoss extends CocoClass return false unless m.get('actions') or m.get('raster') return m.get('name') is thang.spriteName thangType ?= _.find @options.thangTypes, (m) -> return m.get('name') is thang.spriteName + return console.error "Couldn't find ThangType for", thang unless thangType options = @createSpriteOptions thang: thang options.resolutionFactor = if thangType.get('kind') is 'Floor' then 2 else SPRITE_RESOLUTION_FACTOR @@ -181,10 +182,8 @@ module.exports = class SpriteBoss extends CocoClass # Add anything new, remove anything old, update everything current updateCache = false itemsJustEquipped = [] - for thang in @world.thangs when thang.exists - if thang.equip and not thang.equipped - thang.equip() # Pretty hacky, since initialize may not be called - itemsJustEquipped.push thang + for thang in @world.thangs when thang.exists and thang.pos + itemsJustEquipped = itemsJustEquipped.concat @equipNewItems thang if sprite = @sprites[thang.id] sprite.setThang thang # make sure Sprite has latest Thang else @@ -205,6 +204,21 @@ module.exports = class SpriteBoss extends CocoClass if @willSelectThang and @sprites[@willSelectThang[0]] @selectThang @willSelectThang... + equipNewItems: (thang) -> + itemsJustEquipped = [] + if thang.equip and not thang.equipped + thang.equip() # Pretty hacky, but needed since initialize may not be called if we're not running Systems. + itemsJustEquipped.push thang + if thang.inventoryIDs + # Even hackier: these items were only created/equipped during simulation, so we reequip here. + for slot, itemID of thang.inventoryIDs + item = @world.getThangByID itemID + unless item.equipped + #console.log thang.id, 'equipping', item, 'in', thang.slot, 'Surface-side' + item.equip() + itemsJustEquipped.push item + return itemsJustEquipped + cache: (update=false) -> return if @cached and not update wallSprites = (sprite for sprite in @spriteArray when sprite.thangType?.get('name').search(/(dungeon|indoor).wall/i) isnt -1) diff --git a/app/lib/world/thang.coffee b/app/lib/world/thang.coffee index 63d544b1e..64eb698c6 100644 --- a/app/lib/world/thang.coffee +++ b/app/lib/world/thang.coffee @@ -62,7 +62,7 @@ module.exports = class Thang componentClass = @world.classMap[componentClass] else @world?.classMap[componentClass.className] ?= componentClass - c = new componentClass componentConfig + c = new componentClass componentConfig ? {} c.attach @ # [prop, type]s of properties which have values tracked across WorldFrames. Also call keepTrackedProperty some non-expensive time when you change it or it will be skipped. diff --git a/app/lib/world/world.coffee b/app/lib/world/world.coffee index ca61daddb..de540b991 100644 --- a/app/lib/world/world.coffee +++ b/app/lib/world/world.coffee @@ -12,6 +12,7 @@ Component = require 'lib/world/component' System = require 'lib/world/system' PROGRESS_UPDATE_INTERVAL = 200 DESERIALIZATION_INTERVAL = 20 +ITEM_ORIGINAL = '53e12043b82921000051cdf9' module.exports = class World @className: 'World' @@ -143,6 +144,8 @@ module.exports = class World @aborted = true loadFromLevel: (level, willSimulate=true) -> + @levelComponents = level.levelComponents + @thangTypes = level.thangTypes @loadSystemsFromLevel level @loadThangsFromLevel level, willSimulate @loadScriptsFromLevel level @@ -169,34 +172,38 @@ module.exports = class World @thangMap = {} # Load new Thangs - toAdd = [] - for d in level.thangs - continue if d.thangType is 'Interface' # ignore old Interface Thangs until we've migrated away - components = [] - for component in d.components - componentModel = _.find level.levelComponents, (c) -> c.original is component.original and c.version.major is (component.majorVersion ? 0) - #console.log 'found model', componentModel, 'from', component, 'for', d.id, 'from existing components', level.levelComponents - componentClass = @loadClassFromCode componentModel.js, componentModel.name, 'component' - components.push [componentClass, component.config] - #console.log '---', d.id, "using db component class ---\n", componentClass, "\n--- from code ---\n", componentModel.js, '\n---' - #console.log '(found', componentModel, 'for id', component.original, 'from', level.levelComponents, ')' - thangType = d.thangType - thangTypeModel = _.find level.thangTypes, (t) -> t.original is thangType - thangType = thangTypeModel.name if thangTypeModel - thang = new Thang @, thangType, d.id - try - thang.addComponents components... - catch e - console.error 'couldn\'t load components for', d.thangType, d.id, 'because', e, e.stack, e.stackTrace - toAdd.push thang - @extraneousThangs = consolidateThangs toAdd if willSimulate # combine walls, for example; serialize the leftovers later - for thang in toAdd - @thangs.unshift thang # interactions happen in reverse order of specification/drawing - @setThang thang - @updateThangState thang - thang.updateRegistration() + toAdd = (@loadThangFromLevel thangConfig, level.levelComponents, level.thangTypes for thangConfig in level.thangs) + @extraneousThangs = consolidateThangs toAdd if willSimulate # Combine walls, for example; serialize the leftovers later + @addThang thang for thang in toAdd null + loadThangFromLevel: (thangConfig, levelComponents, thangTypes, equipBy=null) -> + components = [] + for component in thangConfig.components + componentModel = _.find levelComponents, (c) -> + c.original is component.original and c.version.major is (component.majorVersion ? 0) + componentClass = @loadClassFromCode componentModel.js, componentModel.name, 'component' + components.push [componentClass, component.config] + if equipBy and component.original is ITEM_ORIGINAL + component.config.ownerID = equipBy + thangTypeOriginal = thangConfig.thangType + thangTypeModel = _.find thangTypes, (t) -> t.original is thangTypeOriginal + return console.error thangConfig.id ? equipBy, 'could not find ThangType for', thangTypeOriginal unless thangTypeModel + thangTypeName = thangTypeModel.name + thang = new Thang @, thangTypeName, thangConfig.id + try + thang.addComponents components... + catch e + console.error 'couldn\'t load components for', thangTypeOriginal, thangConfig.id, 'because', e.toString(), e.stack + thang + + addThang: (thang) -> + @thangs.unshift thang # Interactions happen in reverse order of specification/drawing + @setThang thang + @updateThangState thang + thang.updateRegistration() + thang + loadScriptsFromLevel: (level) -> @scriptNotes = [] @scripts = [] @@ -217,15 +224,6 @@ module.exports = class World c.className = name c - add: (spriteName, id, components...) -> - thang = new Thang @, spriteName, id - @thangs.unshift thang # interactions happen in reverse order of specification/drawing - @setThang thang - thang.addComponents components... - @updateThangState thang - thang.updateRegistration() - thang - updateThangState: (thang) -> @frames[@frames.length-1].thangStateMap[thang.id] = thang.getState() diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee index 40f349b61..0e0465257 100644 --- a/app/locale/ar.coffee +++ b/app/locale/ar.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee index 0609ffaf8..b8905d1c4 100644 --- a/app/locale/bg.coffee +++ b/app/locale/bg.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "български език", englishDescri # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "български език", englishDescri # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "български език", englishDescri # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "български език", englishDescri # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "български език", englishDescri # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "български език", englishDescri # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/ca.coffee b/app/locale/ca.coffee index 0ab50115a..9e5dad953 100644 --- a/app/locale/ca.coffee +++ b/app/locale/ca.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee index cd470a43b..d7deb8a67 100644 --- a/app/locale/cs.coffee +++ b/app/locale/cs.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr grid: "Mřížka" customize_wizard: "Upravit Kouzelníka" home: "Domů" +# game_menu: "Game Menu" guide: "Průvodce" - multiplayer: "Multiplayer" restart: "Restartovat" goals: "Cíl" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr victory_review: "Připomínky!" victory_hour_of_code_done: "Skončili jste?" victory_hour_of_code_done_yes: "Ano, pro dnešek jsem skončil!" - multiplayer_title: "Nastavení Multiplayeru" - multiplayer_link_description: "Sdílejte tento odkaz s lidmi, kteří se k vám mohou přidat ve hře." - multiplayer_hint_label: "Tip:" - multiplayer_hint: " Klikněte na odkaz pro jeho výběr, poté stiskněte ⌘-C nebo Ctrl-C pro kopírování odkazu." - multiplayer_coming_soon: "Další vlastnosti multiplayeru jsou na cestě!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Průvodce" tome_minion_spells: "Vaše oblíbená kouzla" tome_read_only_spells: "Kouzla jen pro čtení" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr tome_cast_button_castable: "Spustit" tome_cast_button_casting: "Spouštění" tome_cast_button_cast: "Spustit Kouzlo" - tome_autocast_delay: "Prodleva Autospouštení" tome_select_spell: "Zvolte Kouzlo" tome_select_a_thang: "Zvolte někoho pro " tome_available_spells: "Dostupná kouzla" hud_continue: "Pokračovat (stiskněte shift-mezera)" spell_saved: "Kouzlo uloženo" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Nastavení Multiplayeru" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Sdílejte tento odkaz s lidmi, kteří se k vám mohou přidat ve hře." + multiplayer_hint_label: "Tip:" + multiplayer_hint: " Klikněte na odkaz pro jeho výběr, poté stiskněte ⌘-C nebo Ctrl-C pro kopírování odkazu." + multiplayer_coming_soon: "Další vlastnosti multiplayeru jsou na cestě!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/da.coffee b/app/locale/da.coffee index 1ffef227c..249d6a383 100644 --- a/app/locale/da.coffee +++ b/app/locale/da.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans grid: "Gitter" customize_wizard: "Tilpas troldmand" home: "Hjem" +# game_menu: "Game Menu" guide: "Guide" - multiplayer: "Flere spillere" restart: "Start forfra" goals: "Mål" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans victory_review: "Fortæl os mere!" victory_hour_of_code_done: "Er du færdig?" victory_hour_of_code_done_yes: "Ja, jeg er færdig med min Kodetime!" - multiplayer_title: "Flerspillerinstillinger" - multiplayer_link_description: "Del dette link med andre deltagere." - multiplayer_hint_label: "Tip:" - multiplayer_hint: " Klik på linket for markere alt; tryk derefter ⌘-C eller Ctrl-C tfr at kopiere linket." - multiplayer_coming_soon: "Yderligere flerspillermuligheder er på vej!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Instruktioner" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans tome_cast_button_castable: "Kast Trylleformular" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" tome_select_spell: "Vælg en trylleformular" tome_select_a_thang: "Vælg nogen til at " tome_available_spells: "Tilgængelige trylleformularer" hud_continue: "Fortsæt (tryk skift-mellemrum)" spell_saved: "Trylleformularen er gemt" skip_tutorial: "Spring over (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Tastaturgenveje" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Flere spillere" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Tastaturgenveje" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Flerspillerinstillinger" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Del dette link med andre deltagere." + multiplayer_hint_label: "Tip:" + multiplayer_hint: " Klik på linket for markere alt; tryk derefter ⌘-C eller Ctrl-C tfr at kopiere linket." + multiplayer_coming_soon: "Yderligere flerspillermuligheder er på vej!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/de-AT.coffee b/app/locale/de-AT.coffee index 9c4c0c144..fc8e2850d 100644 --- a/app/locale/de-AT.coffee +++ b/app/locale/de-AT.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/de-CH.coffee b/app/locale/de-CH.coffee index 770f088a0..92e073458 100644 --- a/app/locale/de-CH.coffee +++ b/app/locale/de-CH.coffee @@ -229,7 +229,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge example_blog: "Blog" example_personal_site: "Eigeni Websiite" links_header: "Eigeni Links" - links_blurb: "Verlinke anderi Sitene oder Profil wo du willsch hervorhebe, wie zum Bispiel dis GitHub, dis LinkedIn Profil oder din Blog." + links_blurb: "Verlinke anderi Sitene oder Profil wo du willsch hervorhebe, wie zum Bispiel dis GitHub, dis LinkedIn Profil oder din Blog." links_name: "Link Name" links_name_help: "Woane verlinksch?" links_link_blurb: "Link URL" @@ -304,7 +304,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge project_link_help: "Link zum Projekt." # player_code: "Player Code" -# employers: + employers: hire_developers_not_credentials: "Stell Entwickler ah, nid Zügnis." # get_started: "Get Started" # already_screened: "We've already technically screened all our candidates" @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge grid: "Gitter" customize_wizard: "Zauberer apasse" home: "Home" +# game_menu: "Game Menu" guide: "Aleitig" - multiplayer: "Multiplayer" restart: "Neu starte" goals: "Ziel" success: "Erfolg!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge victory_review: "Verzell üs meh!" victory_hour_of_code_done: "Bisch fertig?" victory_hour_of_code_done_yes: "Jo, ich bin fertig mit mim Hour of Code™!" - multiplayer_title: "Multiplayer Istellige" - multiplayer_link_description: "Gib de Link jedem, wo mit dir will spiele." - multiplayer_hint_label: "Hiiwis:" - multiplayer_hint: " Klick uf de Link zum alles uswähle und druck ⌘-C or Ctrl-C zum de Link kopiere" - multiplayer_coming_soon: "Meh Multiplayer Features chömed no!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Handbuech" tome_minion_spells: "Zaubersprüch vo dine Minions" tome_read_only_spells: "Read-Only Zaubersprüch" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge tome_cast_button_castable: "Zauber beschwöre" tome_cast_button_casting: "Wird beschwore" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" tome_select_spell: "Wähl en Zauberspruch us" tome_select_a_thang: "Wähl öpper us für" tome_available_spells: "Verfüegbari Zaubersprüch" hud_continue: "Wiiter (shift+space)" spell_saved: "Zauberspruch gspeicheret" skip_tutorial: "Überspringe (esc)" -# editor_config: "Editor Config" - editor_config_title: "Editor Konfiguration" - editor_config_level_language_label: "Sproch für das Level" - editor_config_level_language_description: "Wähl d Programmiersproch us für das bestimmte Level." - editor_config_default_language_label: "Vorigstellti Programmiersproch" - editor_config_default_language_description: "Wähl us i welere Programmiersproch du willsch code wenn du es neus Level startisch." -# editor_config_keybindings_label: "Key Bindings" - editor_config_keybindings_default: "Voristellig (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." - editor_config_livecompletion_label: "Live Auto-Vervollständigung" - editor_config_livecompletion_description: "Schlot dir möglichi Wortvervollständigunge vor während du tippsch." - editor_config_invisibles_label: "Unsichtbari Zeiche azeige" - editor_config_invisibles_description: "Zeigt unsichtbari Zeiche ah wie z.B. space und tab." - editor_config_indentguides_label: "Izüg azeige" - editor_config_indentguides_description: "Zeigt vertikali Linie zum de Zeileizug besser gseh." - editor_config_behaviors_label: "Intelligents Verhalte" - editor_config_behaviors_description: "Auto-vervollständigt Chlammere und Ahfüerigszeiche." keyboard_shortcuts: "Shortcuts" # loading_ready: "Ready!" tip_insert_positions: "Shift+Klick uf en Punkt uf de Charte zums in Zauberspruch-Editor ifüege." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge tip_open_source: "CodeCombat isch 100% Open Source!" tip_beta_launch: "D CodeCombat Beta isch im Oktober 2013 online gange." tip_js_beginning: "JavaScript isch nur de Afang." - tip_autocast_setting: "Passe d Auto-Beschwöre Istellige ah, indem du ufs Zahrad bim Beschwöre-Chnopf drucksch." think_solution: "Denk über d Lösig noh, nid über s Problem." tip_theory_practice: "Theoretisch gits kein Unterschied zwüsche Theorie und Praxis. Praktisch aber scho. - Yogi Berra" tip_error_free: "Es git zwei Arte zum fehlerfreii Programm schriibe; nur di dritt funktioniert. - Alan Perils" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge infinite_loop_reset_level: "Level zrugsetze" infinite_loop_comment_out: "Min Code uskommentiere" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" + editor_config_title: "Editor Konfiguration" + editor_config_level_language_label: "Sproch für das Level" + editor_config_level_language_description: "Wähl d Programmiersproch us für das bestimmte Level." + editor_config_default_language_label: "Vorigstellti Programmiersproch" + editor_config_default_language_description: "Wähl us i welere Programmiersproch du willsch code wenn du es neus Level startisch." +# editor_config_keybindings_label: "Key Bindings" + editor_config_keybindings_default: "Voristellig (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." + editor_config_livecompletion_label: "Live Auto-Vervollständigung" + editor_config_livecompletion_description: "Schlot dir möglichi Wortvervollständigunge vor während du tippsch." + editor_config_invisibles_label: "Unsichtbari Zeiche azeige" + editor_config_invisibles_description: "Zeigt unsichtbari Zeiche ah wie z.B. space und tab." + editor_config_indentguides_label: "Izüg azeige" + editor_config_indentguides_description: "Zeigt vertikali Linie zum de Zeileizug besser gseh." + editor_config_behaviors_label: "Intelligents Verhalte" + editor_config_behaviors_description: "Auto-vervollständigt Chlammere und Ahfüerigszeiche." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Multiplayer Istellige" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Gib de Link jedem, wo mit dir will spiele." + multiplayer_hint_label: "Hiiwis:" + multiplayer_hint: " Klick uf de Link zum alles uswähle und druck ⌘-C or Ctrl-C zum de Link kopiere" + multiplayer_coming_soon: "Meh Multiplayer Features chömed no!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + keyboard_shortcuts: keyboard_shortcuts: "Shortcuts uf de Tastatur" space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee index d94fbbbfd..33d3d34df 100644 --- a/app/locale/de-DE.coffee +++ b/app/locale/de-DE.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: grid: "Raster" customize_wizard: "Bearbeite den Zauberer" home: "Startseite" +# game_menu: "Game Menu" guide: "Hilfe" - multiplayer: "Multiplayer" restart: "Neustart" goals: "Ziele" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: victory_review: "Erzähl uns davon!" victory_hour_of_code_done: "Bist Du fertig?" victory_hour_of_code_done_yes: "Ja, ich bin mit meiner Code-Stunde fertig!" - multiplayer_title: "Multiplayer Einstellungen" - multiplayer_link_description: "Gib diesen Link jedem, der mitmachen will." - multiplayer_hint_label: "Hinweis:" - multiplayer_hint: " Klick den Link, um alles auszuwählen, dann drück ⌘-C oder Strg-C um den Link zu kopieren." - multiplayer_coming_soon: "Mehr Multiplayerfeatures werden kommen!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Anleitung" tome_minion_spells: "Die Zaubersprüche Deiner Knechte" tome_read_only_spells: "Nur-lesen Zauberspüche" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: tome_cast_button_castable: "Führe aus" tome_cast_button_casting: "Ausführen" tome_cast_button_cast: "Zauberspuch ausführen" - tome_autocast_delay: "Verzögerung der automatischen Ausführung" tome_select_spell: "Wähle einen Zauber" tome_select_a_thang: "Wähle jemanden aus, um " tome_available_spells: "Verfügbare Zauber" hud_continue: "Weiter (drücke Shift + Leertaste)" spell_saved: "Zauber gespeichert" skip_tutorial: "Überspringen (Esc)" - editor_config: "Editor Einstellungen" - editor_config_title: "Editor Einstellungen" - editor_config_level_language_label: "Sprache für dieses Level" - editor_config_level_language_description: "Lege die Programmiersprache für dieses bestimmte Level fest." - editor_config_default_language_label: "Voreinstellung Programmiersprache" - editor_config_default_language_description: "Definiere die Programmiersprache in der du programmieren möchtest wenn du ein neues Level beginnst." - editor_config_keybindings_label: "Tastenbelegung" - editor_config_keybindings_default: "Standard (Ace)" - editor_config_keybindings_description: "Fügt zusätzliche Tastenkombinationen, bekannt aus anderen Editoren, hinzu" -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Zeige unsichtbare Zeichen" - editor_config_invisibles_description: "Zeigt unsichtbare Zeichen wie Leertasten an." - editor_config_indentguides_label: "Zeige Einrückungshilfe" - editor_config_indentguides_description: "Zeigt vertikale Linien an um Einrückungen besser zu sehen." - editor_config_behaviors_label: "Intelligentes Verhalten" - editor_config_behaviors_description: "Vervollständigt automatisch Klammern und Anführungszeichen." keyboard_shortcuts: "Tastenkürzel" loading_ready: "Bereit!" tip_insert_positions: "Halte 'Umschalt' gedrückt und klicke auf die Karte um die Koordinaten einzufügen." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: tip_open_source: "CodeCombat ist 100% quelloffen!" tip_beta_launch: "CodeCombat startete seine Beta im Oktober 2013." tip_js_beginning: "JavaScript ist nur der Anfang." - tip_autocast_setting: "Ändere die Einstellungen für das automatische Ausführen über das Zahnrad neben dem Ausführen Knopf" think_solution: "Denke über die Lösung nach, nicht über das Problem." tip_theory_practice: "In der Theorie gibt es keinen Unterschied zwischen Theorie und Praxis. In der Praxis schon. - Yogi Berra" tip_error_free: "Es gibt zwei Wege fehlerfreie Programme zu schreiben; nur der Dritte funktioniert. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: # infinite_loop_reset_level: "Reset Level" infinite_loop_comment_out: "Meinen Code auskommentieren" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Editor Einstellungen" + editor_config_title: "Editor Einstellungen" + editor_config_level_language_label: "Sprache für dieses Level" + editor_config_level_language_description: "Lege die Programmiersprache für dieses bestimmte Level fest." + editor_config_default_language_label: "Voreinstellung Programmiersprache" + editor_config_default_language_description: "Definiere die Programmiersprache in der du programmieren möchtest wenn du ein neues Level beginnst." + editor_config_keybindings_label: "Tastenbelegung" + editor_config_keybindings_default: "Standard (Ace)" + editor_config_keybindings_description: "Fügt zusätzliche Tastenkombinationen, bekannt aus anderen Editoren, hinzu" +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Zeige unsichtbare Zeichen" + editor_config_invisibles_description: "Zeigt unsichtbare Zeichen wie Leertasten an." + editor_config_indentguides_label: "Zeige Einrückungshilfe" + editor_config_indentguides_description: "Zeigt vertikale Linien an um Einrückungen besser zu sehen." + editor_config_behaviors_label: "Intelligentes Verhalten" + editor_config_behaviors_description: "Vervollständigt automatisch Klammern und Anführungszeichen." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Multiplayer Einstellungen" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Gib diesen Link jedem, der mitmachen will." + multiplayer_hint_label: "Hinweis:" + multiplayer_hint: " Klick den Link, um alles auszuwählen, dann drück ⌘-C oder Strg-C um den Link zu kopieren." + multiplayer_coming_soon: "Mehr Multiplayerfeatures werden kommen!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + keyboard_shortcuts: keyboard_shortcuts: "Tastaturkürzel" space: "Leertaste" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: license: "Lizenz" oreilly: "Ebook deiner Wahl" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - loading_error: could_not_load: "Fehler beim Laden vom Server" connection_failure: "Verbindung fehlgeschlagen." diff --git a/app/locale/de.coffee b/app/locale/de.coffee index aa72ab375..8a4307ee9 100644 --- a/app/locale/de.coffee +++ b/app/locale/de.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra grid: "Raster" customize_wizard: "Bearbeite den Zauberer" home: "Startseite" +# game_menu: "Game Menu" guide: "Hilfe" - multiplayer: "Multiplayer" restart: "Neustart" goals: "Ziele" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra victory_review: "Erzähl uns davon!" victory_hour_of_code_done: "Bist Du fertig?" victory_hour_of_code_done_yes: "Ja, ich bin mit meiner Code-Stunde fertig!" - multiplayer_title: "Multiplayer Einstellungen" - multiplayer_link_description: "Gib diesen Link jedem, der mitmachen will." - multiplayer_hint_label: "Hinweis:" - multiplayer_hint: " Klick den Link, um alles auszuwählen, dann drück ⌘-C oder Strg-C um den Link zu kopieren." - multiplayer_coming_soon: "Mehr Multiplayerfeatures werden kommen!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Anleitung" tome_minion_spells: "Die Zaubersprüche Deiner Knechte" tome_read_only_spells: "Nur-lesen Zauberspüche" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra tome_cast_button_castable: "Führe aus" tome_cast_button_casting: "Ausführen" tome_cast_button_cast: "Zauberspuch ausführen" - tome_autocast_delay: "Verzögerung der automatischen Ausführung" tome_select_spell: "Wähle einen Zauber" tome_select_a_thang: "Wähle jemanden aus, um " tome_available_spells: "Verfügbare Zauber" hud_continue: "Weiter (drücke Shift + Leertaste)" spell_saved: "Zauber gespeichert" skip_tutorial: "Überspringen (Esc)" - editor_config: "Editor Einstellungen" - editor_config_title: "Editor Einstellungen" - editor_config_level_language_label: "Sprache für dieses Level" - editor_config_level_language_description: "Lege die Programmiersprache für dieses bestimmte Level fest." - editor_config_default_language_label: "Voreinstellung Programmiersprache" - editor_config_default_language_description: "Definiere die Programmiersprache in der du programmieren möchtest wenn du ein neues Level beginnst." - editor_config_keybindings_label: "Tastenbelegung" - editor_config_keybindings_default: "Standard (Ace)" - editor_config_keybindings_description: "Fügt zusätzliche Tastenkombinationen, bekannt aus anderen Editoren, hinzu" -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Zeige unsichtbare Zeichen" - editor_config_invisibles_description: "Zeigt unsichtbare Zeichen wie Leertasten an." - editor_config_indentguides_label: "Zeige Einrückungshilfe" - editor_config_indentguides_description: "Zeigt vertikale Linien an um Einrückungen besser zu sehen." - editor_config_behaviors_label: "Intelligentes Verhalten" - editor_config_behaviors_description: "Vervollständigt automatisch Klammern und Anführungszeichen." keyboard_shortcuts: "Tastenkürzel" loading_ready: "Bereit!" tip_insert_positions: "Halte 'Umschalt' gedrückt und klicke auf die Karte um die Koordinaten einzufügen." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra tip_open_source: "CodeCombat ist 100% quelloffen!" tip_beta_launch: "CodeCombat startete seine Beta im Oktober 2013." tip_js_beginning: "JavaScript ist nur der Anfang." - tip_autocast_setting: "Ändere die Einstellungen für das automatische Ausführen über das Zahnrad neben dem Ausführen Knopf" think_solution: "Denke über die Lösung nach, nicht über das Problem." tip_theory_practice: "In der Theorie gibt es keinen Unterschied zwischen Theorie und Praxis. In der Praxis schon. - Yogi Berra" tip_error_free: "Es gibt zwei Wege fehlerfreie Programme zu schreiben; nur der Dritte funktioniert. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra # infinite_loop_reset_level: "Reset Level" infinite_loop_comment_out: "Meinen Code auskommentieren" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Editor Einstellungen" + editor_config_title: "Editor Einstellungen" + editor_config_level_language_label: "Sprache für dieses Level" + editor_config_level_language_description: "Lege die Programmiersprache für dieses bestimmte Level fest." + editor_config_default_language_label: "Voreinstellung Programmiersprache" + editor_config_default_language_description: "Definiere die Programmiersprache in der du programmieren möchtest wenn du ein neues Level beginnst." + editor_config_keybindings_label: "Tastenbelegung" + editor_config_keybindings_default: "Standard (Ace)" + editor_config_keybindings_description: "Fügt zusätzliche Tastenkombinationen, bekannt aus anderen Editoren, hinzu" +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Zeige unsichtbare Zeichen" + editor_config_invisibles_description: "Zeigt unsichtbare Zeichen wie Leertasten an." + editor_config_indentguides_label: "Zeige Einrückungshilfe" + editor_config_indentguides_description: "Zeigt vertikale Linien an um Einrückungen besser zu sehen." + editor_config_behaviors_label: "Intelligentes Verhalten" + editor_config_behaviors_description: "Vervollständigt automatisch Klammern und Anführungszeichen." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Multiplayer Einstellungen" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Gib diesen Link jedem, der mitmachen will." + multiplayer_hint_label: "Hinweis:" + multiplayer_hint: " Klick den Link, um alles auszuwählen, dann drück ⌘-C oder Strg-C um den Link zu kopieren." + multiplayer_coming_soon: "Mehr Multiplayerfeatures werden kommen!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + keyboard_shortcuts: keyboard_shortcuts: "Tastaturkürzel" space: "Leertaste" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Deutsch", englishDescription: "German", tra license: "Lizenz" oreilly: "Ebook deiner Wahl" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - loading_error: could_not_load: "Fehler beim Laden vom Server" connection_failure: "Verbindung fehlgeschlagen." diff --git a/app/locale/el.coffee b/app/locale/el.coffee index 0405a50f3..7f6c8119e 100644 --- a/app/locale/el.coffee +++ b/app/locale/el.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre grid: "Πλέγμα" customize_wizard: "Προσαρμόστε τον Μάγο" home: "Αρχική" +# game_menu: "Game Menu" guide: "Οδηγός" - multiplayer: "Πολλαπλοί παίχτες" # restart: "Restart" goals: "Στόχοι" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre victory_review: "Πείτε μας περισσότερα!" victory_hour_of_code_done: "Τελείωσες;" victory_hour_of_code_done_yes: "Ναι, έχω τελειώσει με την Hour of Code!" - multiplayer_title: "Ρυθμίσεις multiplayer" - multiplayer_link_description: "Δώστε αυτό τον τον σύνδεσμο σε οποιονδήποτε για να ενταχθούν στο παιχνίδι σου." - multiplayer_hint_label: "Συμβουλή:" - multiplayer_hint: " Κάντε κλικ στο σύνδεσμο για να επιλέξετε όλα, στη συνέχεια, πατήστε την Apple-C ή Ctrl-C για να αντιγράψετε το σύνδεσμο." - multiplayer_coming_soon: "Περισσότερα multiplayer χαρακτιριστηκα προσεχως!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Οδηγός" tome_minion_spells: "Ξόρκια για τα τσιράκια σας" tome_read_only_spells: "Ξορκια μονο για αναγνωση" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre tome_cast_button_castable: "Μαγεψε" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Πολλαπλοί παίχτες" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Ρυθμίσεις multiplayer" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Δώστε αυτό τον τον σύνδεσμο σε οποιονδήποτε για να ενταχθούν στο παιχνίδι σου." + multiplayer_hint_label: "Συμβουλή:" + multiplayer_hint: " Κάντε κλικ στο σύνδεσμο για να επιλέξετε όλα, στη συνέχεια, πατήστε την Apple-C ή Ctrl-C για να αντιγράψετε το σύνδεσμο." + multiplayer_coming_soon: "Περισσότερα multiplayer χαρακτιριστηκα προσεχως!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "ελληνικά", englishDescription: "Gre # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/en-AU.coffee b/app/locale/en-AU.coffee index 772111136..44c898d37 100644 --- a/app/locale/en-AU.coffee +++ b/app/locale/en-AU.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee index e6fadc26e..b1ead3374 100644 --- a/app/locale/en-GB.coffee +++ b/app/locale/en-GB.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # grid: "Grid" customize_wizard: "Customise Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." - editor_config_behaviors_label: "Smart Behaviours" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." + editor_config_behaviors_label: "Smart Behaviours" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee index 61513d098..7f59ed334 100644 --- a/app/locale/en-US.coffee +++ b/app/locale/en-US.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 2b8549b5e..0bbbbcabb 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -353,8 +353,8 @@ grid: "Grid" customize_wizard: "Customize Wizard" home: "Home" + game_menu: "Game Menu" guide: "Guide" - multiplayer: "Multiplayer" restart: "Restart" goals: "Goals" success: "Success!" @@ -377,12 +377,6 @@ victory_review: "Tell us more!" victory_hour_of_code_done: "Are You Done?" victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" - multiplayer_title: "Multiplayer Settings" - multiplayer_link_description: "Give this link to anyone to have them join you." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." - multiplayer_coming_soon: "More multiplayer features to come!" - multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guide" tome_minion_spells: "Your Minions' Spells" tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ tome_cast_button_castable: "Cast Spell" tome_cast_button_casting: "Casting" tome_cast_button_cast: "Spell Cast" - tome_autocast_delay: "Autocast Delay" tome_select_spell: "Select a Spell" tome_select_a_thang: "Select Someone for " tome_available_spells: "Available Spells" hud_continue: "Continue (shift+space)" spell_saved: "Spell Saved" skip_tutorial: "Skip (esc)" - editor_config: "Editor Config" - editor_config_title: "Editor Configuration" - editor_config_level_language_label: "Language for This Level" - editor_config_level_language_description: "Define the programming language for this particular level." - editor_config_default_language_label: "Default Programming Language" - editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Key Bindings" - editor_config_keybindings_default: "Default (Ace)" - editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." - editor_config_livecompletion_label: "Live Autocompletion" - editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Show Invisibles" - editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." - editor_config_indentguides_label: "Show Indent Guides" - editor_config_indentguides_description: "Displays vertical lines to see indentation better." - editor_config_behaviors_label: "Smart Behaviors" - editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." keyboard_shortcuts: "Key Shortcuts" loading_ready: "Ready!" tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ tip_open_source: "CodeCombat is 100% open source!" tip_beta_launch: "CodeCombat launched its beta in October, 2013." tip_js_beginning: "JavaScript is just the beginning." - tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." think_solution: "Think of the solution, not the problem." tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ infinite_loop_reset_level: "Reset Level" infinite_loop_comment_out: "Comment Out My Code" + game_menu: + inventory_tab: "Inventory" + choose_hero_tab: "Restart Level" + save_load_tab: "Save/Load" + options_tab: "Options" + guide_tab: "Guide" + multiplayer_tab: "Multiplayer" + inventory_caption: "Equip your hero" + choose_hero_caption: "Choose hero, language" + save_load_caption: "... and view history" + options_caption: "Configure settings" + guide_caption: "Docs and tips" + multiplayer_caption: "Play with friends!" + + inventory: + temp: "Temp" + + choose_hero: + temp: "Temp" + + save_load: + granularity_saved_games: "Saved" + granularity_change_history: "History" + + options: + general_options: "General Options" + music_label: "Music" + music_description: "Turn background music on/off." + autorun_label: "Autorun" + autorun_description: "Control automatic code execution." + editor_config: "Editor Config" + editor_config_title: "Editor Configuration" + editor_config_level_language_label: "Language for This Level" + editor_config_level_language_description: "Define the programming language for this particular level." + editor_config_default_language_label: "Default Programming Language" + editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Key Bindings" + editor_config_keybindings_default: "Default (Ace)" + editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." + editor_config_livecompletion_label: "Live Autocompletion" + editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Show Invisibles" + editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." + editor_config_indentguides_label: "Show Indent Guides" + editor_config_indentguides_description: "Displays vertical lines to see indentation better." + editor_config_behaviors_label: "Smart Behaviors" + editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + + guide: + temp: "Temp" + + multiplayer: + multiplayer_title: "Multiplayer Settings" + multiplayer_toggle: "Enable multiplayer" + multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Give this link to anyone to have them join you." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." + multiplayer_coming_soon: "More multiplayer features to come!" + multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + keyboard_shortcuts: keyboard_shortcuts: "Keyboard Shortcuts" space: "Space" @@ -847,20 +883,6 @@ license: "license" oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introducing Dungeon Arena" - new_way: "The new way to compete with code." - to_battle: "To Battle, Developers!" - modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." - arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." - ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" - fork_our_arenas: "fork our arenas" - create_worlds: "and create your own worlds." - javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" - tutorial: "tutorial" - new_to_programming: ". New to programming? Hit our beginner campaign to skill up." - so_ready: "I Am So Ready for This" - loading_error: could_not_load: "Error loading from server" connection_failure: "Connection failed." diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee index 6d4b7892c..3b1134683 100644 --- a/app/locale/es-419.coffee +++ b/app/locale/es-419.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip grid: "Cuadricula" customize_wizard: "Personalizar Hechicero" home: "Inicio" +# game_menu: "Game Menu" guide: "Guia" - multiplayer: "Multijugador" restart: "Reiniciar" goals: "Objetivos" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip victory_review: "¡Cuéntanos más!" victory_hour_of_code_done: "¿Has acabado?" victory_hour_of_code_done_yes: "¡Si, he terminado con mi Hora de Código!" - multiplayer_title: "Configuración de Multijugador" - multiplayer_link_description: "Da este enlace a cualquiera para que se te una." - multiplayer_hint_label: "Consejo:" - multiplayer_hint: " Cliquea el enlace para seleccionar todo, luego presiona ⌘-C o Ctrl-C para copiar el enlace." - multiplayer_coming_soon: "¡Más características de multijugador por venir!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guía" tome_minion_spells: "Hechizos de tus Secuaces" tome_read_only_spells: "Hechizos de Sólo Lectura" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip tome_cast_button_castable: "Invocable" tome_cast_button_casting: "Invocando" tome_cast_button_cast: "Invocar" - tome_autocast_delay: "Demora de Autolanzamiento" tome_select_spell: "Selecciona un Hechizo" tome_select_a_thang: "Selecciona Alguien para " tome_available_spells: "Hechizos Disponibles" hud_continue: "Continuar (presionar shift+space)" spell_saved: "Hechizo Guardado" skip_tutorial: "Saltar (esc)" - editor_config: "Config. de Editor" - editor_config_title: "Configuración del Editor" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Atajos de Teclado" - editor_config_keybindings_default: "Default (As)" - editor_config_keybindings_description: "Añade atajos adicionales conocidos de los editores comunes." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Mostrar Invisibles" - editor_config_invisibles_description: "Visualiza invisibles tales como espacios o tabulaciones." - editor_config_indentguides_label: "Mostrar guías de indentación" - editor_config_indentguides_description: "Visualiza líneas verticales para ver mejor la indentación." - editor_config_behaviors_label: "Comportamientos Inteligentes" - editor_config_behaviors_description: "Autocompleta corchetes, llaves y comillas." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "¡Listo!" tip_insert_positions: "Shift+Clic un punto en el mapa para insertarlo en el editor de hechizos." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip tip_open_source: "¡CodeCombat es 100% código abierto!" tip_beta_launch: "CodeCombat lanzó su beta en Octubre del 2013." tip_js_beginning: "JavaScript es sólo el principio." - tip_autocast_setting: "Ajusta la configuración de autoinvocación cliqueando el engranaje en el botón de invocación." think_solution: "Piensa en la solución, no en el problema." tip_theory_practice: "En teoría, no hay diferencia entre la teoría y la práctica. Pero en la práctica, si la hay. - Yogi Berra" tip_error_free: "Hay dos formas de escribir programas libres de errores; sólo la tercera funciona. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip infinite_loop_reset_level: "Reiniciar Nivel" infinite_loop_comment_out: "Comente Mi Código" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multijugador" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Config. de Editor" + editor_config_title: "Configuración del Editor" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Atajos de Teclado" + editor_config_keybindings_default: "Default (As)" + editor_config_keybindings_description: "Añade atajos adicionales conocidos de los editores comunes." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Mostrar Invisibles" + editor_config_invisibles_description: "Visualiza invisibles tales como espacios o tabulaciones." + editor_config_indentguides_label: "Mostrar guías de indentación" + editor_config_indentguides_description: "Visualiza líneas verticales para ver mejor la indentación." + editor_config_behaviors_label: "Comportamientos Inteligentes" + editor_config_behaviors_description: "Autocompleta corchetes, llaves y comillas." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Configuración de Multijugador" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Da este enlace a cualquiera para que se te una." + multiplayer_hint_label: "Consejo:" + multiplayer_hint: " Cliquea el enlace para seleccionar todo, luego presiona ⌘-C o Ctrl-C para copiar el enlace." + multiplayer_coming_soon: "¡Más características de multijugador por venir!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introduciendo la Arena de Calabozo" - new_way: "La nueva forma de competir con código." - to_battle: "¡A la batalla, desarrolladores!" - modern_day_sorcerer: "¿Sabes cómo escribir código? Eso es rudo. ¡Eres un hechicero moderno! ¿No es tiempo ya de que uses tus poderes mágicos de código para comandar a tus secuaces en combate épico? Y no estamos hablando de robots aquí." - arenas_are_here: "Las arenas cara-a-cara de CodeCombat están aquí." - ladder_explanation: "Elige tus héroes, encanta tus ejercitos humanos u ogros, y escala tu camino sobre compañeros Hechiceros derrotados para alcanzar la cima de la escalera–luego reta a tus amigos en nuestras gloriosas, asincrónicas arenas de código multijugador. Si te sientes creativo, incluso puedes" - fork_our_arenas: "bifurcar nuestras arenas" - create_worlds: "y crear tus propios mundos." - javascript_rusty: "¿Un poco oxidado tu JavaScript? No te preocupes; hay un" - tutorial: "tutorial" - new_to_programming: ". ¿Nuevo en la programación? Empieza nuestra campaña de principiantes para mejorar tu habilidad." - so_ready: "Estoy Listo para Esto" - loading_error: could_not_load: "Error cargando del servidor" connection_failure: "Fallo de conexión." diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee index 956682ba2..52690ab9e 100644 --- a/app/locale/es-ES.coffee +++ b/app/locale/es-ES.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis grid: "Cuadrícula" customize_wizard: "Personalizar Mago" home: "Inicio" +# game_menu: "Game Menu" guide: "Guía" - multiplayer: "Multijugador" restart: "Reiniciar" goals: "Objetivos" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis victory_review: "¡Cuéntanos más!" victory_hour_of_code_done: "¿Ya terminaste?" victory_hour_of_code_done_yes: "Si, ¡He terminado con mi hora de código!" - multiplayer_title: "Ajustes de Multijugador" - multiplayer_link_description: "Pasa este enlace a alguien para que se una a ti." - multiplayer_hint_label: "Pista:" - multiplayer_hint: " Haz un click en el link para que se seleccione, después utiliza Ctrl-C o ⌘-C para copiar el link." - multiplayer_coming_soon: "¡Más opciones de Multijugador están por venir!" - multiplayer_sign_in_leaderboard: "Logueate o crea una cuentra para guardar tus resultados en la tabla de clasificación." guide_title: "Guía" tome_minion_spells: "Los hechizos de tus súbditos" tome_read_only_spells: "Hechizos de solo lectura" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis tome_cast_button_castable: "Invocable" tome_cast_button_casting: "Invocando" tome_cast_button_cast: "Invocar" - tome_autocast_delay: "Retardo de autoinvocación" tome_select_spell: "Selecciona un Hechizo" tome_select_a_thang: "Selecciona a alguien para " tome_available_spells: "Hechizos disponibles" hud_continue: "Continuar (pulsa Shift+Space)" spell_saved: "Hechizo guardado" skip_tutorial: "Saltar (esc)" - editor_config: "Conf. editor" - editor_config_title: "Configuración del editor" - editor_config_level_language_label: "Lenguaje para este nivel" -# editor_config_level_language_description: "Define the programming language for this particular level." - editor_config_default_language_label: "Lenguaje de programación por defecto" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Atajos de teclado" - editor_config_keybindings_default: "Actual (Ace)" - editor_config_keybindings_description: "Permite el uso de atajos de teclado de algunos editores conocidos." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Mostrar elementos invisibles" - editor_config_invisibles_description: "Se pueden ver elementos invisibles como espacios o tabulaciones." - editor_config_indentguides_label: "Mostrar guías de sangría" - editor_config_indentguides_description: "Se puede ver las líneas verticales que definen el sangrado de una forma más claraDisplays vertical lines to see indentation better." - editor_config_behaviors_label: "Comportamientos inteligentes" - editor_config_behaviors_description: "Se completan automáticamente corchetes, paréntesis y comillas." keyboard_shortcuts: "Atajos de teclado" loading_ready: "¡Listo!" tip_insert_positions: "Shift+Clic en un punto del mapa para insertarlo en el editor de hechizos." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis tip_open_source: "¡CodeCombat es 100% open source!" tip_beta_launch: "CodeCombat lanzó su beta en Octubre de 2013." tip_js_beginning: "JavaScript es solo el principio." - tip_autocast_setting: "Ajusta la configuración de autoinvocación haciendo clic en el engranaje del botón invocar." think_solution: "Piensa en la solución, no en el problema." tip_theory_practice: "En teoría, no hay diferencia entre la teoría y la práctica. Pero en la práctica, la hay. - Yogi Berra" tip_error_free: "Hay dos formas de escribir programas sin errores; solo la tercera funciona. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis infinite_loop_reset_level: "Reiniciar nivel" infinite_loop_comment_out: "Comenta mi código" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multijugador" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Conf. editor" + editor_config_title: "Configuración del editor" + editor_config_level_language_label: "Lenguaje para este nivel" +# editor_config_level_language_description: "Define the programming language for this particular level." + editor_config_default_language_label: "Lenguaje de programación por defecto" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Atajos de teclado" + editor_config_keybindings_default: "Actual (Ace)" + editor_config_keybindings_description: "Permite el uso de atajos de teclado de algunos editores conocidos." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Mostrar elementos invisibles" + editor_config_invisibles_description: "Se pueden ver elementos invisibles como espacios o tabulaciones." + editor_config_indentguides_label: "Mostrar guías de sangría" + editor_config_indentguides_description: "Se puede ver las líneas verticales que definen el sangrado de una forma más claraDisplays vertical lines to see indentation better." + editor_config_behaviors_label: "Comportamientos inteligentes" + editor_config_behaviors_description: "Se completan automáticamente corchetes, paréntesis y comillas." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Ajustes de Multijugador" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Pasa este enlace a alguien para que se una a ti." + multiplayer_hint_label: "Pista:" + multiplayer_hint: " Haz un click en el link para que se seleccione, después utiliza Ctrl-C o ⌘-C para copiar el link." + multiplayer_coming_soon: "¡Más opciones de Multijugador están por venir!" + multiplayer_sign_in_leaderboard: "Logueate o crea una cuentra para guardar tus resultados en la tabla de clasificación." + keyboard_shortcuts: keyboard_shortcuts: "Atajos de teclado" space: "Barra espaciadora (Espacio)" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Presentando Dungeon Arena" - new_way: "La nueva manera de competir con código." - to_battle: "Para luchar, Developers!" - modern_day_sorcerer: "¿Sabes escribir código? Eso es genial. ¡Eres un mago del mundo moderno! ¿No es hora de usar tus poderes mágicos de codificación para comandar a tus esbirros en épicos combates? Y no estamos hablando de robots." - arenas_are_here: "Las arenas multijugador de CodeCombat para combatir uno contra otro están aquí." - ladder_explanation: "Elige a tus heroes, hechiza a tus ejércitos orco o humano y escala a la cima de la clasificación pasando sobre los cuerpos derrotados de tus compañeros magos. Luego desafía a tus amigos en nuestras gloriosas y asíncronas arenas de multijugador. Si te sientes creativo, puedes incluso" - fork_our_arenas: "Bifurca nuestras arenas" - create_worlds: "y crea tus propios mundos." - javascript_rusty: "¿Tienes JavaScript un poco oxidado? No te preocupes, hay un" - tutorial: "tutorial" - new_to_programming: ". ¿Nuevo en el mundo de la programación? Dale caña a nuestra campaña para principiantes para aumentar tus habilidades." - so_ready: "Estoy muy listo para esto." - loading_error: could_not_load: "Error al cargar desde el servidor." connection_failure: "Fallo en la conexión." diff --git a/app/locale/es.coffee b/app/locale/es.coffee index 3382d263f..dbab3e948 100644 --- a/app/locale/es.coffee +++ b/app/locale/es.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t grid: "Cuadrícrula" customize_wizard: "Personalizar Mago" home: "Inicio" +# game_menu: "Game Menu" guide: "Guía" - multiplayer: "Multijugador" restart: "Reiniciar" goals: "Objetivos" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t victory_review: "¡Cuéntanos más!" victory_hour_of_code_done: "¿Has acabado?" victory_hour_of_code_done_yes: "Si, ¡He terminado con mi hora de código!" - multiplayer_title: "Configuración de Multijugador" - multiplayer_link_description: "Da este enlace a cualquiera para que se te una." - multiplayer_hint_label: "Consejo:" - multiplayer_hint: " Cliquea el enlace para seleccionar todo, luego presiona ⌘-C o Ctrl-C para copiar el enlace." - multiplayer_coming_soon: "¡Más características de multijugador por venir!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guía" tome_minion_spells: "Hechizos de tus Secuaces" tome_read_only_spells: "Hechizos de Sólo Lectura" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t tome_cast_button_castable: "Invocable" tome_cast_button_casting: "Invocando" tome_cast_button_cast: "Invocar" - tome_autocast_delay: "Demora de Autolanzamiento" tome_select_spell: "Selecciona un Hechizo" tome_select_a_thang: "Selecciona Alguien para " tome_available_spells: "Hechizos Disponibles" hud_continue: "Continuar (presionar shift+space)" spell_saved: "Hechizo guardado" skip_tutorial: "Saltar (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multijugador" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Configuración de Multijugador" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Da este enlace a cualquiera para que se te una." + multiplayer_hint_label: "Consejo:" + multiplayer_hint: " Cliquea el enlace para seleccionar todo, luego presiona ⌘-C o Ctrl-C para copiar el enlace." + multiplayer_coming_soon: "¡Más características de multijugador por venir!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "español", englishDescription: "Spanish", t # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee index 5643e4646..0863c9fdd 100644 --- a/app/locale/fa.coffee +++ b/app/locale/fa.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee index d045279e8..65537d51b 100644 --- a/app/locale/fi.coffee +++ b/app/locale/fi.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index 1d717c739..2d787e83e 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t grid: "Grille" customize_wizard: "Personnaliser le magicien" home: "Accueil" +# game_menu: "Game Menu" guide: "Guide" - multiplayer: "Multijoueur" restart: "Relancer" goals: "Objectifs" success: "Succès" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "français", englishDescription: "French", t victory_review: "Dites-nous en plus!" victory_hour_of_code_done: "Déjà fini ?" victory_hour_of_code_done_yes: "Oui, j'ai fini mon heure de code!" - multiplayer_title: "Préférences multijoueurs" - multiplayer_link_description: "Partage ce lien pour que tes amis viennent jouer avec toi." - multiplayer_hint_label: "Astuce:" - multiplayer_hint: " Cliquez sur le lien pour tout sélectionner, puis appuyer sur Pomme-C ou Ctrl-C pour copier le lien." - multiplayer_coming_soon: "Plus de fonctionnalités multijoueurs sont à venir" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guide" tome_minion_spells: "Les sorts de vos soldats" tome_read_only_spells: "Sorts en lecture-seule" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "français", englishDescription: "French", t tome_cast_button_castable: "Jeter le sort" tome_cast_button_casting: "Sort en court" tome_cast_button_cast: "Sort jeté" - tome_autocast_delay: "Temps de recharge" tome_select_spell: "Choisissez un sort" tome_select_a_thang: "Sélectionnez une unité pour" tome_available_spells: "Sorts diponibles" hud_continue: "Continuer (appuie sur shift ou espace)" spell_saved: "Sort enregistré" skip_tutorial: "Passer (esc)" - editor_config: "Config de l'éditeur" - editor_config_title: "Configuration de l'éditeur" - editor_config_level_language_label: "Langage pour le niveau" -# editor_config_level_language_description: "Define the programming language for this particular level." - editor_config_default_language_label: "Langage de Programmation par défaut" - editor_config_default_language_description: "Choississez le langage de programmation que vous souhaitez dons les nouveaux niveaux" - editor_config_keybindings_label: "Raccourcis clavier" - editor_config_keybindings_default: "Par défault (Ace)" - editor_config_keybindings_description: "Ajouter de nouveaux raccourcis connus depuis l'éditeur commun." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Afficher les caractères non-imprimables" - editor_config_invisibles_description: "Permet d'afficher les caractères comme les espaces et les tabulations." - editor_config_indentguides_label: "Montrer les indentations" - editor_config_indentguides_description: "Affiche des guides verticaux qui permettent de visualiser l'indentation." - editor_config_behaviors_label: "Auto-complétion" - editor_config_behaviors_description: "Ferme automatiquement les accolades, parenthèses, et chaînes de caractères." keyboard_shortcuts: "Raccourcis Clavier" loading_ready: "Pret!" tip_insert_positions: "Maj+Clic un point pour insérer les coordonnées dans l'éditeur ." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "français", englishDescription: "French", t tip_open_source: "CodeCombat est 100% open source!" tip_beta_launch: "La beta de CodeCombat a été lancée en Octobre 2013" tip_js_beginning: "JavaScript n'est que le commencement." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." think_solution: "Reflechissez a propos de la solution et non du problème." tip_theory_practice: "En théorie, il n'y a pas de différence entre la théorie et la pratique. Mais en pratique il y en a. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "français", englishDescription: "French", t infinite_loop_reset_level: "Redemarrer le niveau" infinite_loop_comment_out: "Supprimez les commentaire de mon code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multijoueur" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Config de l'éditeur" + editor_config_title: "Configuration de l'éditeur" + editor_config_level_language_label: "Langage pour le niveau" +# editor_config_level_language_description: "Define the programming language for this particular level." + editor_config_default_language_label: "Langage de Programmation par défaut" + editor_config_default_language_description: "Choississez le langage de programmation que vous souhaitez dons les nouveaux niveaux" + editor_config_keybindings_label: "Raccourcis clavier" + editor_config_keybindings_default: "Par défault (Ace)" + editor_config_keybindings_description: "Ajouter de nouveaux raccourcis connus depuis l'éditeur commun." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Afficher les caractères non-imprimables" + editor_config_invisibles_description: "Permet d'afficher les caractères comme les espaces et les tabulations." + editor_config_indentguides_label: "Montrer les indentations" + editor_config_indentguides_description: "Affiche des guides verticaux qui permettent de visualiser l'indentation." + editor_config_behaviors_label: "Auto-complétion" + editor_config_behaviors_description: "Ferme automatiquement les accolades, parenthèses, et chaînes de caractères." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Préférences multijoueurs" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Partage ce lien pour que tes amis viennent jouer avec toi." + multiplayer_hint_label: "Astuce:" + multiplayer_hint: " Cliquez sur le lien pour tout sélectionner, puis appuyer sur Pomme-C ou Ctrl-C pour copier le lien." + multiplayer_coming_soon: "Plus de fonctionnalités multijoueurs sont à venir" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + keyboard_shortcuts: keyboard_shortcuts: "Raccourcis Clavier" space: "Espace" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "français", englishDescription: "French", t license: "Licence" # oreilly: "ebook of your choice" - multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" - create_worlds: "et créez votre monde" - javascript_rusty: "JavaScript un peu rouillé? Pas de souci; il y a un" - tutorial: "Tutoriel" - new_to_programming: ". Débutant en programmation? Essaie la campagne débutant pour progresser." - so_ready: "Je Suis Prêt Pour Ca" - loading_error: could_not_load: "Erreur de chargement du serveur" connection_failure: "La connexion a échouée." diff --git a/app/locale/he.coffee b/app/locale/he.coffee index 4621f2dce..324afd38a 100644 --- a/app/locale/he.coffee +++ b/app/locale/he.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee index ca51ba569..5ab1ab3de 100644 --- a/app/locale/hi.coffee +++ b/app/locale/hi.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index 390e20a98..6e2c2e604 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t grid: "Rács" customize_wizard: "Varázsló testreszabása" home: "Kezdőlap" +# game_menu: "Game Menu" guide: "Segítség" - multiplayer: "Többjátékos" restart: "Előlről" goals: "Célok" success: "Sikerült!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t victory_review: "Mondd el a véleményedet!" victory_hour_of_code_done: "Készen vagy?" victory_hour_of_code_done_yes: "Igen, ez volt életem kódja!" - multiplayer_title: "Többjátékos beállítások" - multiplayer_link_description: "Add oda ezt a linket bárkinek, és csatlakozhatnak hozzád." - multiplayer_hint_label: "Tipp:" - multiplayer_hint: " Kattints a linkre, és Ctrl+C-vel (vagy ⌘+C-vel) másold a vágólapra!" -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Útmutató" tome_minion_spells: "Egységeid varázslatai" tome_read_only_spells: "Csak olvasható varázslatok" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t tome_cast_button_castable: "Bocsáss rá varázslatot!" tome_cast_button_casting: "Varázslat folyamatban" tome_cast_button_cast: "Varázslat végrehajtva." - tome_autocast_delay: "Automatikus varázslás késleltetés" tome_select_spell: "Válassz egy varázslatot" tome_select_a_thang: "Válassz ki valakit " tome_available_spells: "Elérhető varázslatok" hud_continue: "Folytatás (shift+space)" spell_saved: "Varázslat elmentve." # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t tip_open_source: "A CodeCombat 100%-osan nyitott forráskódu." # tip_beta_launch: "CodeCombat launched its beta in October, 2013." tip_js_beginning: "JavaScript csak a kezdet." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." think_solution: "A megoldásra gondolj, ne a problémára!" tip_theory_practice: "Elméletben nincs különbség elmélet és gyakorlat között. A gyakorlatban viszont van. - Yogi Berra" tip_error_free: "Két módon lehet hibátlan programot írni. De csak a harmadik működik. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Többjátékos" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Többjátékos beállítások" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Add oda ezt a linket bárkinek, és csatlakozhatnak hozzád." + multiplayer_hint_label: "Tipp:" + multiplayer_hint: " Kattints a linkre, és Ctrl+C-vel (vagy ⌘+C-vel) másold a vágólapra!" +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/id.coffee b/app/locale/id.coffee index fe9958166..b35f4468b 100644 --- a/app/locale/id.coffee +++ b/app/locale/id.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/it.coffee b/app/locale/it.coffee index a1ed0fbaf..0ac1d1a02 100644 --- a/app/locale/it.coffee +++ b/app/locale/it.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t grid: "Griglia" customize_wizard: "Personalizza stregone" home: "Pagina iniziale" +# game_menu: "Game Menu" guide: "Guida" - multiplayer: "Multigiocatore" restart: "Ricomincia" goals: "Obiettivi" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t victory_review: "Dicci di più!" victory_hour_of_code_done: "Finito?" victory_hour_of_code_done_yes: "Si, ho finito con la mia ora di programmazione!" - multiplayer_title: "Impostazioni multigiocatore" - multiplayer_link_description: "Dai questo link a chi vuoi che si unisca a te." - multiplayer_hint_label: "Suggerimento:" - multiplayer_hint: " Clicca il link per selezionare tutto, quindi premi CMD-C o Ctrl-C per copiare il link." - multiplayer_coming_soon: "Ulteriori aggiunte per il multigiocatore in arrivo!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guida" tome_minion_spells: "Incantesimi dei tuoi seguaci" tome_read_only_spells: "Incantesimi in sola lettura" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t tome_cast_button_castable: "Lancia" tome_cast_button_casting: "Lanciando" tome_cast_button_cast: "Incantesimi" - tome_autocast_delay: "Ritardo di lancio" tome_select_spell: "Seleziona un incantesimo" tome_select_a_thang: "Seleziona qualcuno per " tome_available_spells: "Incantesimi disponibili" hud_continue: "Continua (premi Maiusc-Spazio)" spell_saved: "Magia Salvata" skip_tutorial: "Salta (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multigiocatore" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Impostazioni multigiocatore" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Dai questo link a chi vuoi che si unisca a te." + multiplayer_hint_label: "Suggerimento:" + multiplayer_hint: " Clicca il link per selezionare tutto, quindi premi CMD-C o Ctrl-C per copiare il link." + multiplayer_coming_soon: "Ulteriori aggiunte per il multigiocatore in arrivo!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee index acdc9ffb6..c9b95d887 100644 --- a/app/locale/ja.coffee +++ b/app/locale/ja.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", grid: "グリッド" customize_wizard: "魔法使いの設定" home: "ホーム" +# game_menu: "Game Menu" guide: "ガイド" - multiplayer: "マルチプレイ" restart: "再始動" goals: "目標" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", victory_review: "フィードバック" victory_hour_of_code_done: "完了してよろしいですか?" victory_hour_of_code_done_yes: "はい、構いません" - multiplayer_title: "マルチプレイ設定" - multiplayer_link_description: "このURLを一緒にプレイしたい人に教えてください。" - multiplayer_hint_label: "ヒント:" - multiplayer_hint: " リンクを選択後、 ⌘-C(MacOS) or Ctrl-C(Windows) でリンクをコピーできます。" - multiplayer_coming_soon: "今後より多くのマルチプレイ機能が追加されます。" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "ガイド" tome_minion_spells: "操作できるキャラクターの呪文" tome_read_only_spells: "読込専用の呪文" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", tome_cast_button_castable: "キャスト" tome_cast_button_casting: "キャスト中" tome_cast_button_cast: "呪文をキャスト" - tome_autocast_delay: "自動実行待機時間" tome_select_spell: "呪文を選択" tome_select_a_thang: "誰かを選択: " tome_available_spells: "利用できる呪文" hud_continue: "続く (Shift+Spaceキー)" spell_saved: "呪文を保存しました" skip_tutorial: "スキップ (esc)" - editor_config: "エディター設定" - editor_config_title: "エディターの設定" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "マルチプレイ" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "エディター設定" + editor_config_title: "エディターの設定" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "マルチプレイ設定" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "このURLを一緒にプレイしたい人に教えてください。" + multiplayer_hint_label: "ヒント:" + multiplayer_hint: " リンクを選択後、 ⌘-C(MacOS) or Ctrl-C(Windows) でリンクをコピーできます。" + multiplayer_coming_soon: "今後より多くのマルチプレイ機能が追加されます。" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee index 301159a1c..b1adfef5b 100644 --- a/app/locale/ko.coffee +++ b/app/locale/ko.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t grid: "그리드" customize_wizard: "사용자 정의 마법사" home: "홈" +# game_menu: "Game Menu" guide: "가이드" - multiplayer: "멀티 플레이어" restart: "재시작" goals: "목표" success: "성공!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t victory_review: "리뷰를 남겨주세요" victory_hour_of_code_done: "정말 종료합니까?" victory_hour_of_code_done_yes: "네 내 Hour of Code™ 완료했습니다!" - multiplayer_title: "멀티 플레이어 설정" - multiplayer_link_description: "당신에게 참여를 원하는 사람에게 이 링크를 주세요." - multiplayer_hint_label: "힌트:" - multiplayer_hint: " 모두 선택하려면 링크를 클릭하세요, 그리고 ⌘-C 또는 Ctrl-C 를 눌러서 링크를 복사하세요." - multiplayer_coming_soon: "곧 좀 더 다양한 멀티플레이어 모드가 업데이트 됩니다!" - multiplayer_sign_in_leaderboard: "로그인하시거나 계정을 만드시고 상위권 순위 차트에 이름을 올려보세요." guide_title: "가이드" tome_minion_spells: "미니언의 마법" tome_read_only_spells: "읽기 전용 마법" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t tome_cast_button_castable: "마법 캐스팅" tome_cast_button_casting: "캐스팅 중" tome_cast_button_cast: "마법 캐스팅" - tome_autocast_delay: "자동 마법 캐스팅 딜레이" tome_select_spell: "마법을 선택 하세요" tome_select_a_thang: "누군가를 선택하세요. " tome_available_spells: "사용 가능한 마법" hud_continue: "계속진행 (shift+space)" spell_saved: "마법 저장 완료" skip_tutorial: "넘기기 (esc)" - editor_config: "에디터 설정" - editor_config_title: "에디터 설정" - editor_config_level_language_label: "이 레벨에서 사용할 언어" - editor_config_level_language_description: "이 레벨에서 사용할 언어를 선택하세요." - editor_config_default_language_label: "기본 프로그래밍 언어" - editor_config_default_language_description: "새 레벨을 시작할 때 사용하고 싶은 프로그래밍 언어를 정하세요." - editor_config_keybindings_label: "단축키 설정" - editor_config_keybindings_default: "기본(Ace)" - editor_config_keybindings_description: "일반적인 에디터와 마찬가지인 단축키 설정" - editor_config_livecompletion_label: "자동완성 활성화" - editor_config_livecompletion_description: "입력하는 동안 자동완성 기능을 사용합니다." - editor_config_invisibles_label: "투명 설정" - editor_config_invisibles_description: "스페이스, 탭 설정" - editor_config_indentguides_label: "들여쓰기 가이드 보기" - editor_config_indentguides_description: "들여쓰기 보조용 세로줄 표시하기." - editor_config_behaviors_label: "자동 기능" - editor_config_behaviors_description: "괄호, 인용부호, 따옴표 자동 완성." keyboard_shortcuts: "단축키" loading_ready: "준비!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t tip_open_source: "코드 컴뱃은 100% 오픈 소스 기반입니다!" tip_beta_launch: "코드 컴뱃은 2013년 10월에 베타 서비스를 출시했습니다." tip_js_beginning: "JavaScript는 단지 시작일 뿐입니다." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." think_solution: "해결 방법을 고민해보세요, 문제를 고민하지 말구요." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t infinite_loop_reset_level: "레벨 리셋" infinite_loop_comment_out: "내 코드를 일시적 주석처리하기" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "멀티 플레이" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "에디터 설정" + editor_config_title: "에디터 설정" + editor_config_level_language_label: "이 레벨에서 사용할 언어" + editor_config_level_language_description: "이 레벨에서 사용할 언어를 선택하세요." + editor_config_default_language_label: "기본 프로그래밍 언어" + editor_config_default_language_description: "새 레벨을 시작할 때 사용하고 싶은 프로그래밍 언어를 정하세요." + editor_config_keybindings_label: "단축키 설정" + editor_config_keybindings_default: "기본(Ace)" + editor_config_keybindings_description: "일반적인 에디터와 마찬가지인 단축키 설정" + editor_config_livecompletion_label: "자동완성 활성화" + editor_config_livecompletion_description: "입력하는 동안 자동완성 기능을 사용합니다." + editor_config_invisibles_label: "투명 설정" + editor_config_invisibles_description: "스페이스, 탭 설정" + editor_config_indentguides_label: "들여쓰기 가이드 보기" + editor_config_indentguides_description: "들여쓰기 보조용 세로줄 표시하기." + editor_config_behaviors_label: "자동 기능" + editor_config_behaviors_description: "괄호, 인용부호, 따옴표 자동 완성." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "멀티 플레이어 설정" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "당신에게 참여를 원하는 사람에게 이 링크를 주세요." + multiplayer_hint_label: "힌트:" + multiplayer_hint: " 모두 선택하려면 링크를 클릭하세요, 그리고 ⌘-C 또는 Ctrl-C 를 눌러서 링크를 복사하세요." + multiplayer_coming_soon: "곧 좀 더 다양한 멀티플레이어 모드가 업데이트 됩니다!" + multiplayer_sign_in_leaderboard: "로그인하시거나 계정을 만드시고 상위권 순위 차트에 이름을 올려보세요." + keyboard_shortcuts: keyboard_shortcuts: "단축키" space: "스페이스" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t license: "라이센스" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - loading_error: could_not_load: "서버로부터 로딩하는 데 문제가 발생했습니다." connection_failure: "연결 실패" diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee index c34b07ae6..92881be9d 100644 --- a/app/locale/lt.coffee +++ b/app/locale/lt.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/ms.coffee b/app/locale/ms.coffee index 62d60bdb5..7cb553d0c 100644 --- a/app/locale/ms.coffee +++ b/app/locale/ms.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee index cfcf2cd07..75eb89ca4 100644 --- a/app/locale/nb.coffee +++ b/app/locale/nb.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg grid: "Grid" customize_wizard: "Spesiallag Trollmann" home: "Hjem" +# game_menu: "Game Menu" guide: "Guide" - multiplayer: "Flerspiller" restart: "Start på nytt" goals: "Mål" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg victory_review: "Fortell oss mer!" victory_hour_of_code_done: "Er du ferdig?" victory_hour_of_code_done_yes: "Ja, jeg er ferdig med min Time i Koding!" - multiplayer_title: "Flerspillerinnstillinger" - multiplayer_link_description: "Gi denne lenken til de du vil spille med." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klikk lenken for å velge alle, så trykker du Apple-C eller Ctrl-C for å kopiere lenken." - multiplayer_coming_soon: "Det kommer flere flerspillsmuligheter!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guide" tome_minion_spells: "Din Minions' Trylleformularer" tome_read_only_spells: "Kun-Lesbare Trylleformularer" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg tome_cast_button_castable: "Kast" tome_cast_button_casting: "Kaster" tome_cast_button_cast: "Kast Trylleformular" - tome_autocast_delay: "Automatisk Forsinkelse" tome_select_spell: "Velg et Trylleformular" tome_select_a_thang: "Velg Noe for å " tome_available_spells: "Tilgjenglige Trylleformularer" hud_continue: "Fortsett (trykk shift-mellomrom)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Flerspiller" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Flerspillerinnstillinger" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Gi denne lenken til de du vil spille med." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klikk lenken for å velge alle, så trykker du Apple-C eller Ctrl-C for å kopiere lenken." + multiplayer_coming_soon: "Det kommer flere flerspillsmuligheter!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index 20eef3d90..01c4c9dcc 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: grid: "Raster" customize_wizard: "Pas Tovenaar aan" home: "Home" +# game_menu: "Game Menu" guide: "Handleiding" - multiplayer: "Multiplayer" restart: "Herstarten" goals: "Doelen" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: victory_review: "Vertel ons meer!" victory_hour_of_code_done: "Ben Je Klaar?" victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" - multiplayer_title: "Multiplayer Instellingen" - multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." - multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Handleiding" tome_minion_spells: "Jouw Minions' Spreuken" tome_read_only_spells: "Read-Only Spreuken" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: tome_cast_button_castable: "Uitvoeren" tome_cast_button_casting: "Aan het uitvoeren" tome_cast_button_cast: "Spreuk uitvoeren" - tome_autocast_delay: "Spreuk Uitvoeren vertraging" tome_select_spell: "Selecteer een Spreuk" tome_select_a_thang: "Selecteer Iemand voor " tome_available_spells: "Beschikbare spreuken" hud_continue: "Ga verder (druk shift-space)" spell_saved: "Spreuk Opgeslagen" skip_tutorial: "Overslaan (esc)" - editor_config: "Editor Configuratie" - editor_config_title: "Editor Configuratie" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Toets instellingen" - editor_config_keybindings_default: "Standaard (Ace)" - editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Toon onzichtbare" - editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." - editor_config_indentguides_label: "Toon inspringing regels" - editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." - editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "Klaar!" tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: tip_open_source: "CodeCombat is 100% open source!" tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." tip_js_beginning: "JavaScript is nog maar het begin." - tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." think_solution: "Denk aan de oplossing, niet aan het probleem" tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: infinite_loop_reset_level: "Level resetten" infinite_loop_comment_out: "Mijn code weg commentariëren" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Editor Configuratie" + editor_config_title: "Editor Configuratie" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Toets instellingen" + editor_config_keybindings_default: "Standaard (Ace)" + editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Toon onzichtbare" + editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." + editor_config_indentguides_label: "Toon inspringing regels" + editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." + editor_config_behaviors_label: "Slim gedrag" + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Multiplayer Instellingen" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." + multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." - to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." - arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." - ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" - fork_our_arenas: "onze arenas forken" - create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" - tutorial: "tutorial" - new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." - so_ready: "Ik ben hier zo klaar voor" - loading_error: could_not_load: "Fout bij het laden van de server" connection_failure: "Verbinding mislukt." diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index 5db7557ee..b58479f8d 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription grid: "Raster" customize_wizard: "Pas Tovenaar aan" home: "Home" +# game_menu: "Game Menu" guide: "Handleiding" - multiplayer: "Multiplayer" restart: "Herstarten" goals: "Doelen" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription victory_review: "Vertel ons meer!" victory_hour_of_code_done: "Ben Je Klaar?" victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" - multiplayer_title: "Multiplayer Instellingen" - multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." - multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Handleiding" tome_minion_spells: "Jouw Minions' Spreuken" tome_read_only_spells: "Read-Only Spreuken" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription tome_cast_button_castable: "Uitvoeren" tome_cast_button_casting: "Aan het uitvoeren" tome_cast_button_cast: "Spreuk uitvoeren" - tome_autocast_delay: "Spreuk Uitvoeren vertraging" tome_select_spell: "Selecteer een Spreuk" tome_select_a_thang: "Selecteer Iemand voor " tome_available_spells: "Beschikbare spreuken" hud_continue: "Ga verder (druk shift-space)" spell_saved: "Spreuk Opgeslagen" skip_tutorial: "Overslaan (esc)" - editor_config: "Editor Configuratie" - editor_config_title: "Editor Configuratie" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Toets instellingen" - editor_config_keybindings_default: "Standaard (Ace)" - editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Toon onzichtbare" - editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." - editor_config_indentguides_label: "Toon inspringing regels" - editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." - editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "Klaar!" tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription tip_open_source: "CodeCombat is 100% open source!" tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." tip_js_beginning: "JavaScript is nog maar het begin." - tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." think_solution: "Denk aan de oplossing, niet aan het probleem" tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription infinite_loop_reset_level: "Level resetten" infinite_loop_comment_out: "Mijn code weg commentariëren" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Editor Configuratie" + editor_config_title: "Editor Configuratie" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Toets instellingen" + editor_config_keybindings_default: "Standaard (Ace)" + editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Toon onzichtbare" + editor_config_invisibles_description: "Toon onzichtbare whitespace karakters." + editor_config_indentguides_label: "Toon inspringing regels" + editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." + editor_config_behaviors_label: "Slim gedrag" + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Multiplayer Instellingen" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." + multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." - to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." - arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." - ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" - fork_our_arenas: "onze arenas forken" - create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" - tutorial: "tutorial" - new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." - so_ready: "Ik ben hier zo klaar voor" - loading_error: could_not_load: "Fout bij het laden van de server" connection_failure: "Verbinding mislukt." diff --git a/app/locale/nl.coffee b/app/locale/nl.coffee index 0fccad1af..df70d2ef2 100644 --- a/app/locale/nl.coffee +++ b/app/locale/nl.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t grid: "Raster" customize_wizard: "Pas Tovenaar aan" home: "Home" +# game_menu: "Game Menu" guide: "Handleiding" - multiplayer: "Multiplayer" restart: "Herstarten" goals: "Doelen" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t victory_review: "Vertel ons meer!" victory_hour_of_code_done: "Ben Je Klaar?" victory_hour_of_code_done_yes: "Ja, ik ben klaar met mijn Hour of Code!" - multiplayer_title: "Multiplayer Instellingen" - multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." - multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Handleiding" tome_minion_spells: "Jouw Minions' Spreuken" tome_read_only_spells: "Read-Only Spreuken" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t tome_cast_button_castable: "Uitvoeren" tome_cast_button_casting: "Aan het uitvoeren" tome_cast_button_cast: "Spreuk uitvoeren" - tome_autocast_delay: "Spreuk Uitvoeren vertraging" tome_select_spell: "Selecteer een Spreuk" tome_select_a_thang: "Selecteer Iemand voor " tome_available_spells: "Beschikbare spreuken" hud_continue: "Ga verder (druk shift-spatie)" spell_saved: "Spreuk Opgeslagen" skip_tutorial: "Overslaan (esc)" - editor_config: "Editor Configuratie" - editor_config_title: "Editor Configuratie" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Toets instellingen" - editor_config_keybindings_default: "Standaard (Ace)" - editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Toon onzichtbare" - editor_config_invisibles_description: "Toon onzichtbare (spatie) karakters." - editor_config_indentguides_label: "Toon inspringing regels" - editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." - editor_config_behaviors_label: "Slim gedrag" - editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "Klaar!" tip_insert_positions: "Shift+Klik een punt op de kaart om het toe te voegen aan je spreuk editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t tip_open_source: "CodeCombat is 100% open source!" tip_beta_launch: "CodeCombat lanceerde zijn beta versie in Oktober, 2013." tip_js_beginning: "JavaScript is nog maar het begin." - tip_autocast_setting: "Verander de autocast instelling door te klikken op het tandwiel naast de cast knop." think_solution: "Denk aan de oplossing, niet aan het probleem" tip_theory_practice: "In theorie is er geen verschil tussen de theorie en de praktijk; in de praktijk is er wel een verschil. - Yogi Berra" tip_error_free: "Er zijn twee manieren om fout-vrije code te schrijven, maar enkele de derde manier werkt. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t infinite_loop_reset_level: "Level resetten" infinite_loop_comment_out: "Mijn code weg commentariëren" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Editor Configuratie" + editor_config_title: "Editor Configuratie" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Toets instellingen" + editor_config_keybindings_default: "Standaard (Ace)" + editor_config_keybindings_description: "Voeg extra shortcuts toe van de gebruikelijke editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Toon onzichtbare" + editor_config_invisibles_description: "Toon onzichtbare (spatie) karakters." + editor_config_indentguides_label: "Toon inspringing regels" + editor_config_indentguides_description: "Toon verticale hulplijnen om de zichtbaarheid te verbeteren." + editor_config_behaviors_label: "Slim gedrag" + editor_config_behaviors_description: "Automatisch aanvullen van (gekrulde) haakjes en aanhalingstekens." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Multiplayer Instellingen" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Geef deze url aan iemand om hem/haar te laten meedoen met jou." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klik de link om alles te selecteren, druk dan op Apple-C of Ctrl-C om de link te kopiëren." + multiplayer_coming_soon: "Binnenkort komen er meer Multiplayermogelijkheden!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introductie van Dungeon Arena" - new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." - to_battle: "Naar het slagveld, ontwikkelaars!" - modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." - arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." - ladder_explanation: "Kies jouw helden, betover jouw mensen of ork-legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" - fork_our_arenas: "onze arenas forken" - create_worlds: "en jouw eigen werelden creëren." - javascript_rusty: "Jouw JavaScript is een beetje roestig? Wees niet bang, er is een" - tutorial: "tutorial" - new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." - so_ready: "Ik ben hier zo klaar voor" - loading_error: could_not_load: "Fout bij het laden van de server" connection_failure: "Verbinding mislukt." diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee index 180420e6a..b4bec0665 100644 --- a/app/locale/nn.coffee +++ b/app/locale/nn.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/no.coffee b/app/locale/no.coffee index d319665ee..b2f1f1fcc 100644 --- a/app/locale/no.coffee +++ b/app/locale/no.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr grid: "Grid" customize_wizard: "Spesiallag Trollmann" home: "Hjem" +# game_menu: "Game Menu" guide: "Guide" - multiplayer: "Flerspiller" restart: "Start på nytt" goals: "Mål" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr victory_review: "Fortell oss mer!" victory_hour_of_code_done: "Er du ferdig?" victory_hour_of_code_done_yes: "Ja, jeg er ferdig med min time i koding!" - multiplayer_title: "Flerspillerinnstillinger" - multiplayer_link_description: "Gi denne lenken til de du vil spille med." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Klikk lenken for å velge alle, så trykker du Apple-C eller Ctrl-C for å kopiere lenken." - multiplayer_coming_soon: "Det kommer flere flerspillsmuligheter!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guide" tome_minion_spells: "Din Minions' Trylleformularer" tome_read_only_spells: "Kun-Lesbare Trylleformularer" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr tome_cast_button_castable: "Kast" tome_cast_button_casting: "Kaster" tome_cast_button_cast: "Kast Trylleformular" - tome_autocast_delay: "Automatisk Forsinkelse" tome_select_spell: "Velg et trylleformular" tome_select_a_thang: "Velg noe for å " tome_available_spells: "Tilgjenglige Trylleformularer" hud_continue: "Fortsett (trykk shift+mellomrom)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Flerspiller" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Flerspillerinnstillinger" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Gi denne lenken til de du vil spille med." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Klikk lenken for å velge alle, så trykker du Apple-C eller Ctrl-C for å kopiere lenken." + multiplayer_coming_soon: "Det kommer flere flerspillsmuligheter!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee index a047b1f31..ea6b9abf5 100644 --- a/app/locale/pl.coffee +++ b/app/locale/pl.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish grid: "Siatka" customize_wizard: "Spersonalizuj czarodzieja" home: "Strona główna" +# game_menu: "Game Menu" guide: "Przewodnik" - multiplayer: "Multiplayer" restart: "Zacznij od nowa" goals: "Cele" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish victory_review: "Powiedz nam coś więcej!" victory_hour_of_code_done: "Skończyłeś już?" victory_hour_of_code_done_yes: "Tak, skończyłem moją Godzinę Kodu." - multiplayer_title: "Ustawienia multiplayer" - multiplayer_link_description: "Przekaż ten link, jeśli chcesz, by ktoś do ciebie dołączył." - multiplayer_hint_label: "Podpowiedź:" - multiplayer_hint: "Kliknij link by zaznaczyć wszystko, potem wciśnij Cmd-C lub Ctrl-C by skopiować ten link." - multiplayer_coming_soon: "Wkrótce więcej opcji multiplayer" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Przewodnik" tome_minion_spells: "Czary twojego podopiecznego" tome_read_only_spells: "Czary tylko do odczytu" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish tome_cast_button_castable: "Rzuć czar" tome_cast_button_casting: "Rzucam czar" tome_cast_button_cast: "Rzucenie czaru" - tome_autocast_delay: "Opóźnienie automatycznego rzucania czaru" tome_select_spell: "Wybierz czar" tome_select_a_thang: "Wybierz kogoś do " tome_available_spells: "Dostępne czary" hud_continue: "Kontynuuj (Shift + spacja)" spell_saved: "Czar zapisany" skip_tutorial: "Pomiń (esc)" - editor_config: "Konfiguracja edytora" - editor_config_title: "Konfiguracja edytora" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Przypisania klawiszy" - editor_config_keybindings_default: "Domyślny (Ace)" - editor_config_keybindings_description: "Dodaje skróty znane z popularnych edytorów." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Pokaż białe znaki" - editor_config_invisibles_description: "Wyświetla białe znaki takie jak spacja czy tabulator." - editor_config_indentguides_label: "Pokaż linijki wcięć" - editor_config_indentguides_description: "Wyświetla pionowe linie, by lepiej zaznaczyć wcięcia." - editor_config_behaviors_label: "Inteligentne zachowania" - editor_config_behaviors_description: "Autouzupełnianie nawiasów, klamer i cudzysłowów." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Konfiguracja edytora" + editor_config_title: "Konfiguracja edytora" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Przypisania klawiszy" + editor_config_keybindings_default: "Domyślny (Ace)" + editor_config_keybindings_description: "Dodaje skróty znane z popularnych edytorów." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Pokaż białe znaki" + editor_config_invisibles_description: "Wyświetla białe znaki takie jak spacja czy tabulator." + editor_config_indentguides_label: "Pokaż linijki wcięć" + editor_config_indentguides_description: "Wyświetla pionowe linie, by lepiej zaznaczyć wcięcia." + editor_config_behaviors_label: "Inteligentne zachowania" + editor_config_behaviors_description: "Autouzupełnianie nawiasów, klamer i cudzysłowów." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Ustawienia multiplayer" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Przekaż ten link, jeśli chcesz, by ktoś do ciebie dołączył." + multiplayer_hint_label: "Podpowiedź:" + multiplayer_hint: "Kliknij link by zaznaczyć wszystko, potem wciśnij Cmd-C lub Ctrl-C by skopiować ten link." + multiplayer_coming_soon: "Wkrótce więcej opcji multiplayer" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Oto Dungeon Arena" - new_way: "Nowy sposób, by współzawodniczyć dzięki programowaniu." - to_battle: "Do broni, developerzy!" - modern_day_sorcerer: "Wiesz, jak programować? Super. Jesteś współczesnym czarodziejem. Czy nie najwyższy czas, aby użyć swoich mocy, by dowodzić jednostkami w epickiej batalii? I nie mamy tutaj na myśli robotów." - arenas_are_here: "Areny wieloosobowych potyczek CodeCombat właśnie nastały." - ladder_explanation: "Wybierz swoich herosów, ulepsz swą armię ludzi lub ogrów i wespnij się po pokonanych Czarodziejach, by osiągnąć szczyty rankingów - wówczas, wyzwij swoich przyjaciół w naszych wspaniałych, asynchronicznych arenach programowania multiplayer. Jeśli czujesz w sobie moc twórczą, możesz nawet" - fork_our_arenas: "forkować nasze areny" - create_worlds: "i tworzyć swoje własne światy." - javascript_rusty: "JavaScript wyleciała ci z głowy? Nie martw się, czeka na ciebie" - tutorial: "samouczek" - new_to_programming: ". Jesteś nowy w świecie programowania? Zagraj w naszą kampanię dla początkujących, aby zyskać nowe umiejętności." - so_ready: "Już nie mogę się doczekać" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee index 21ef4fcf3..e5b9c915d 100644 --- a/app/locale/pt-BR.coffee +++ b/app/locale/pt-BR.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: grid: "Grade" customize_wizard: "Personalize o feiticeiro" home: "Início" +# game_menu: "Game Menu" guide: "Guia" - multiplayer: "Multiplayer" restart: "Reiniciar" goals: "Objetivos" success: "Sucesso!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: victory_review: "Diga-nos mais!" victory_hour_of_code_done: "Terminou?" victory_hour_of_code_done_yes: "Sim, eu terminei minha Hora da Programação!" - multiplayer_title: "Configurações do Multiplayer" - multiplayer_link_description: "Passe este link para quem você quiser que se una à partida." - multiplayer_hint_label: "Dica:" - multiplayer_hint: " Clique no link para selecionar tudo, então dê Ctrl+C ou ⌘+C para copiar o link. " - multiplayer_coming_soon: "Mais novidades no multiplayer estão chegando!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guia" tome_minion_spells: "Magias dos seus subordinados" tome_read_only_spells: "Magias não editáveis" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: tome_cast_button_castable: "Lançar" tome_cast_button_casting: "Conjurando" tome_cast_button_cast: "Feitiço" - tome_autocast_delay: "Atraso na autoconjuração" tome_select_spell: "Selecione um Feitiço" tome_select_a_thang: "Selecione alguém para " tome_available_spells: "Feitiços Disponíveis" hud_continue: "Continue (tecle Shift+Space)" spell_saved: "Feitiço Salvo" skip_tutorial: "Pular (esc)" - editor_config: "Editor de Configurações" - editor_config_title: "Editor de Configurações" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Teclas de Atalho" - editor_config_keybindings_default: "Padrão (Ace)" - editor_config_keybindings_description: "Adicionar atalhos conhecidos de editores comuns." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Mostrar Invisíveis" - editor_config_invisibles_description: "Mostrar invisíveis como espaços e tabs." - editor_config_indentguides_label: "Mostrar Linhas de Identação" - editor_config_indentguides_description: "Mostrar linhas verticais para ver a identação melhor." - editor_config_behaviors_label: "Comportamentos Inteligentes" - editor_config_behaviors_description: "Completar automaticamente colchetes, chaves e aspas." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "Pronto!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Editor de Configurações" + editor_config_title: "Editor de Configurações" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Teclas de Atalho" + editor_config_keybindings_default: "Padrão (Ace)" + editor_config_keybindings_description: "Adicionar atalhos conhecidos de editores comuns." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Mostrar Invisíveis" + editor_config_invisibles_description: "Mostrar invisíveis como espaços e tabs." + editor_config_indentguides_label: "Mostrar Linhas de Identação" + editor_config_indentguides_description: "Mostrar linhas verticais para ver a identação melhor." + editor_config_behaviors_label: "Comportamentos Inteligentes" + editor_config_behaviors_description: "Completar automaticamente colchetes, chaves e aspas." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Configurações do Multiplayer" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Passe este link para quem você quiser que se una à partida." + multiplayer_hint_label: "Dica:" + multiplayer_hint: " Clique no link para selecionar tudo, então dê Ctrl+C ou ⌘+C para copiar o link. " + multiplayer_coming_soon: "Mais novidades no multiplayer estão chegando!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "português do Brasil", englishDescription: # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introduzindo a Dungeon Arena" - new_way: "O novo meio de competir com código." - to_battle: "Para a Batalha, Desenvolvedores!" - modern_day_sorcerer: "Você sabe como codificar? Isso é incrível. Você é um feiticeiro dos tempos modernos! Não é tempo de usar seus poderes mágicos de codificação para comandar seus lacaios em um combate épico? E não estamos falando de robôs aqui." - arenas_are_here: "As arenas de combatte um contra um do CodeCombat estão aqui." - ladder_explanation: "Escoha seus heróis, encante seus exércitos de humanos ou ogres, e abra seu caminho ao longo de companheiros derrotados para chegar ao topo das escadas, então desafie seus amigos em nossas gloriosas arenas de codificação assíncrona. Se você está se sentindo criativo, você pode até mesmo" - fork_our_arenas: "dar um fork em nossas arenas" - create_worlds: "e criar seus próprios mundos." - javascript_rusty: "está um pouco enferrujado em JavaScript? Não se preocupe; temos um" - tutorial: "tutorial" - new_to_programming: ". Novo à programação? Bata nossa campanha iniciante para aumentar de nível" - so_ready: "Eu Estou Tão Pronto Para Isso" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index df48abf89..bd6e4fbce 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: grid: "Grelha" customize_wizard: "Personalizar Feiticeiro" home: "Início" + game_menu: "Menu do Jogo" guide: "Guia" - multiplayer: "Multijogador" restart: "Reiniciar" goals: "Objetivos" success: "Successo!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: victory_review: "Conte-nos mais!" victory_hour_of_code_done: "Terminou?" victory_hour_of_code_done_yes: "Sim, terminei a minha Hora de Código™!" - multiplayer_title: "Definições Multijogador" - multiplayer_link_description: "Dê esta ligação a alguém para se juntar a si." - multiplayer_hint_label: "Dica:" - multiplayer_hint: " Clique na ligação para selecionar tudo. Depois carregue em ⌘-C ou Ctrl-C para copiá-la." - multiplayer_coming_soon: "Mais funcionalidades multijogador em breve!" - multiplayer_sign_in_leaderboard: "Inicie sessão ou crie uma conta para ter a sua solução na tabela de classificação." guide_title: "Guia" tome_minion_spells: "Feitiços dos Seus Minions" tome_read_only_spells: "Feitiços Apenas de Leitura" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: tome_cast_button_castable: "Lançar Feitiço" tome_cast_button_casting: "A Lançar" tome_cast_button_cast: "Feitiço Lançado" - tome_autocast_delay: "Atraso de Auto-lançamento" tome_select_spell: "Selecione um Feitiço" tome_select_a_thang: "Selecione Alguém para " tome_available_spells: "Feitiços Disponíveis" hud_continue: "Continuar (shift-espaço)" spell_saved: "Feitiço Guardado" skip_tutorial: "Saltar (esc)" - editor_config: "Configurar Editor" - editor_config_title: "Configurar Editor" - editor_config_level_language_label: "Linguagem para Este Nível" - editor_config_level_language_description: "Define a linguagem de programação para este nível em particular." - editor_config_default_language_label: "Linguagem de Programação Predefinida" - editor_config_default_language_description: "Define a linguagem de programação na qual deseja programar aquando do começo de novos níveis." - editor_config_keybindings_label: "Atalhos do Teclado" - editor_config_keybindings_default: "Predefinição (Ace)" - editor_config_keybindings_description: "Adiciona atalhos de teclado adicionais conhecidos dos editores comuns." - editor_config_livecompletion_label: "Auto-completação em Tempo Real" - editor_config_livecompletion_description: "Mostra sugestões de auto-completação aquando da escrita." - editor_config_invisibles_label: "Mostrar Invisíveis" - editor_config_invisibles_description: "Mostra invisíveis tais como espaços e tabulações." - editor_config_indentguides_label: "Mostrar Guias de Indentação" - editor_config_indentguides_description: "Mostra linhas verticais para se ver melhor a indentação." - editor_config_behaviors_label: "Comportamentos Inteligentes" - editor_config_behaviors_description: "Auto-completa parênteses, chavetas e aspas." keyboard_shortcuts: "Atalhos do Teclado" loading_ready: "Pronto!" tip_insert_positions: "Pressione Shift e Clique num ponto do mapa para inseri-lo no editor de feitiços." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: tip_open_source: "O CodeCombat é 100% open source!" tip_beta_launch: "O CodeCombat lançou o seu beta em outubro de 2013." tip_js_beginning: "O JavaScript é apenas o começo." - tip_autocast_setting: "Ajuste as definições de auto-lançamento ao clicar na engrenagem no botão lançar." think_solution: "Pense na solução, não no problema." tip_theory_practice: "Teoricamente, não há diferença entre a teoria e a prática. Mas na prática, há. - Yogi Berra" tip_error_free: "Há duas formas de escrever programas sem erros; apenas a terceira funciona. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: infinite_loop_reset_level: "Reiniciar Nível" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: + inventory_tab: "Inventário" + choose_hero_tab: "Reiniciar Nível" + save_load_tab: "Guarde/Carregue" + options_tab: "Opções" + guide_tab: "Guia" + multiplayer_tab: "Multijogador" + inventory_caption: "Equipe o seu herói" + choose_hero_caption: "Escolha o herói, a linguagem" + save_load_caption: "... e veja o histórico" + options_caption: "Configure as definições" + guide_caption: "Documentos e dicas" + multiplayer_caption: "Jogue com amigos!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + + save_load: +# granularity_saved_games: "Saved" + granularity_change_history: "Histórico" + + options: + general_options: "Opções Gerais" + music_label: "Música" + music_description: "Ative ou desative a música de fundo." + autorun_label: "Executar Automaticamente" + autorun_description: "Controlar a execução automática do código." + editor_config: "Configurar Editor" + editor_config_title: "Configurar Editor" + editor_config_level_language_label: "Linguagem para Este Nível" + editor_config_level_language_description: "Definir a linguagem de programação para este nível em particular." + editor_config_default_language_label: "Linguagem de Programação Predefinida" + editor_config_default_language_description: "Definir a linguagem de programação na qual deseja programar aquando do começo de novos níveis." + editor_config_keybindings_label: "Atalhos do Teclado" + editor_config_keybindings_default: "Predefinição (Ace)" + editor_config_keybindings_description: "Adicionar atalhos de teclado adicionais conhecidos dos editores comuns." + editor_config_livecompletion_label: "Auto-completação em Tempo Real" + editor_config_livecompletion_description: "Mostrar sugestões de auto-completação aquando da escrita." + editor_config_invisibles_label: "Mostrar Invisíveis" + editor_config_invisibles_description: "Mostrar invisíveis tais como espaços e tabulações." + editor_config_indentguides_label: "Mostrar Guias de Indentação" + editor_config_indentguides_description: "Mostrar linhas verticais para se ver melhor a indentação." + editor_config_behaviors_label: "Comportamentos Inteligentes" + editor_config_behaviors_description: "Auto-completar parênteses, chavetas e aspas." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Definições Multijogador" + multiplayer_toggle: "Ativar multijogador" + multiplayer_toggle_description: "Permita que outros se juntem ao seu jogo." + multiplayer_link_description: "Dê esta ligação a alguém para se juntar a si." + multiplayer_hint_label: "Dica:" + multiplayer_hint: " Clique na ligação para selecionar tudo. Depois carregue em ⌘-C ou Ctrl-C para copiá-la." + multiplayer_coming_soon: "Mais funcionalidades multijogador em breve!" + multiplayer_sign_in_leaderboard: "Inicie sessão ou crie uma conta para ter a sua solução na tabela de classificação." + keyboard_shortcuts: keyboard_shortcuts: "Atalhos de Teclado" space: "Espaço" @@ -590,12 +626,12 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: hard: "Difícil" player: "Jogador" -# about: -# who_is_codecombat: "Who is CodeCombat?" -# why_codecombat: "Why CodeCombat?" -# who_description_prefix: "together started CodeCombat in 2013. We also created " -# who_description_suffix: "in 2008, growing it to the #1 web and iOS application for learning to write Chinese and Japanese characters." -# who_description_ending: "Now it's time to teach people to write code." + about: + who_is_codecombat: "Quem é o CodeCombat?" + why_codecombat: "Porquê o CodeCombat?" + who_description_prefix: "começaram juntos o CodeCombat em 2013. Também criaram o " + who_description_suffix: "em 2008, tornando-o a aplicação nº1 da web e iOS para aprender a escrever caracteteres Chineses e Japoneses." + who_description_ending: "Agora, está na altura de ensinar as pessoas a escrever código." # why_paragraph_1: "When making Skritter, George didn't know how to program and was constantly frustrated by his inability to implement his ideas. Afterwards, he tried learning, but the lessons were too slow. His housemate, wanting to reskill and stop teaching, tried Codecademy, but \"got bored.\" Each week another friend started Codecademy, then dropped off. We realized it was the same problem we'd solved with Skritter: people learning a skill via slow, intensive lessons when what they need is fast, extensive practice. We know how to fix that." # why_paragraph_2: "Need to learn to code? You don't need lessons. You need to write a lot of code and have a great time doing it." # why_paragraph_3_prefix: "That's what programming is about. It's gotta be fun. Not fun like" @@ -675,14 +711,14 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # canonical: "The English version of this document is the definitive, canonical version. If there are any discrepencies between translations, the English document takes precedence." contribute: - page_title: "Contribuir" -# character_classes_title: "Character Classes" -# introduction_desc_intro: "We have high hopes for CodeCombat." +# page_title: "Contribuir" +# character_classes_title: "Classes de Personagens" +# introduction_desc_intro: "Temos esperanças elevadas para o CodeCombat." # introduction_desc_pref: "We want to be where programmers of all stripes come to learn and play together, introduce others to the wonderful world of coding, and reflect the best parts of the community. We can't and don't want to do that alone; what makes projects like GitHub, Stack Overflow and Linux great are the people who use them and build on them. To that end, " -# introduction_desc_github_url: "CodeCombat is totally open source" +# introduction_desc_github_url: "o CodeCombat é totalmente open source" # introduction_desc_suf: ", and we aim to provide as many ways as possible for you to take part and make this project as much yours as ours." -# introduction_desc_ending: "We hope you'll join our party!" -# introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy and Glen" +# introduction_desc_ending: "Esperemos que se junte a nós!" +# introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy e Glen" # alert_account_message_intro: "Hey there!" # alert_account_message: "To subscribe for class emails, you'll need to be logged in first." # archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever." @@ -751,7 +787,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!" more_about_ambassador: "Aprenda Mais Sobre Tornar-se um Embaixador" # ambassador_subscribe_desc: "Get emails on support updates and multiplayer developments." -# changes_auto_save: "Changes are saved automatically when you toggle checkboxes." + changes_auto_save: "As alterações são guardadas automaticamente quando clica nas caixas." diligent_scribes: "Os Nossos Dedicados Escrivões:" powerful_archmages: "Os Nossos Poderosos Arcomagos:" creative_artisans: "Os Nossos Creativos Artesãos:" @@ -803,7 +839,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: no_ranked_matches_pre: "Sem jogos classificados pela equipa " no_ranked_matches_post: "! Joga contra alguns adversários e volta aqui para veres o teu jogo classificado." choose_opponent: "Escolhe um Adversário" -# select_your_language: "Select your language!" + select_your_language: "Selecione a sua linguagem!" tutorial_play: "Jogar Tutorial" tutorial_recommended: "Recomendado se nunca jogou antes" tutorial_skip: "Saltar Tutorial" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introduzindo a Dungeon Arena" - new_way: "A nova forma de competir com código." - to_battle: "Para o Combate, Programadores!" - modern_day_sorcerer: "Sabe programar? Isso é demais! É um feiticeiro dos tempos modernos! Não estará na altura de usar os seus poderes mágicos de programação para comandar os seus minions em combates épicos? E não estamos a falar de robôs." - arenas_are_here: "As arenas multijogador do CodeCombat estão aqui." - ladder_explanation: "Escolha os seus heróis, enfeitice os seus exércitos de ogres ou de humanos e passe por cima de Feiticeiros derrotados para chegar ao topo da tabela classificativa - depois, compita contra os seus amigos nas nossas arenas de programação multijogador gloriosas. Se se sentir criativo, pode ainda" - fork_our_arenas: "bifurcar as nossas arenas" - create_worlds: "e criar os seus próprios mundos." - javascript_rusty: "O seu JavaScript está um pouco enferrujado? Não se preocupe; existe um" - tutorial: "tutorial" - new_to_programming: ". Novo na programação? Faça a nossa Campanha para Iniciantes para melhorar as suas capacidades." - so_ready: "Estou Mais Que Pronto Para Isto" - loading_error: could_not_load: "Erro ao carregar do servidor" connection_failure: "A conexão falhou." diff --git a/app/locale/pt.coffee b/app/locale/pt.coffee index e69e86463..17f9fb828 100644 --- a/app/locale/pt.coffee +++ b/app/locale/pt.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues grid: "Grade" customize_wizard: "Personalize o feiticeiro" home: "Início" +# game_menu: "Game Menu" guide: "Guia" - multiplayer: "Multiplayer" restart: "Reiniciar" goals: "Objetivos" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues victory_review: "Diga-nos mais!" victory_hour_of_code_done: "Terminou?" victory_hour_of_code_done_yes: "Sim, eu terminei minha Hora da Programação!" - multiplayer_title: "Configurações do Multiplayer" - multiplayer_link_description: "Passe este link para quem você quiser que se una à partida." - multiplayer_hint_label: "Dica:" - multiplayer_hint: " Clique no link para selecionar tudo, então dê Ctrl+C ou ⌘+C para copiar o link. " - multiplayer_coming_soon: "Mais novidades no multiplayer estão chegando!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guia" tome_minion_spells: "Magias dos seus subordinados" tome_read_only_spells: "Magias não editáveis" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues tome_cast_button_castable: "Lançar" tome_cast_button_casting: "Conjurando" tome_cast_button_cast: "Feitiço" - tome_autocast_delay: "Atraso na autoconjuração" tome_select_spell: "Selecione um Feitiço" tome_select_a_thang: "Selecione alguém para " tome_available_spells: "Feitiços Disponíveis" hud_continue: "Continue (tecle Shift+Space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Configurações do Multiplayer" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Passe este link para quem você quiser que se una à partida." + multiplayer_hint_label: "Dica:" + multiplayer_hint: " Clique no link para selecionar tudo, então dê Ctrl+C ou ⌘+C para copiar o link. " + multiplayer_coming_soon: "Mais novidades no multiplayer estão chegando!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "português", englishDescription: "Portugues # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee index 145382ca0..ed13d5ec7 100644 --- a/app/locale/ro.coffee +++ b/app/locale/ro.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman grid: "Grilă" customize_wizard: "Personalizează Wizard-ul" home: "Acasă" +# game_menu: "Game Menu" guide: "Ghid" - multiplayer: "Multiplayer" restart: "Restart" goals: "Obiective" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman victory_review: "Spune-ne mai multe!" victory_hour_of_code_done: "Ai terminat?" victory_hour_of_code_done_yes: "Da, am terminat Hour of Code™!" - multiplayer_title: "Setări Multiplayer" - multiplayer_link_description: "Împărtășește acest link cu cei care vor să ți se alăture." - multiplayer_hint_label: "Hint:" - multiplayer_hint: " Apasă pe link pentru a selecta tot, apoi apasă ⌘-C sau Ctrl-C pentru a copia link-ul." - multiplayer_coming_soon: "Mai multe feature-uri multiplayer în curând!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Ghid" tome_minion_spells: "Vrăjile Minion-ilor tăi" tome_read_only_spells: "Vrăji Read-Only" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman tome_cast_button_castable: "Aplică Vraja" tome_cast_button_casting: "Se încarcă" tome_cast_button_cast: "Aplică Vraja" - tome_autocast_delay: "Întârziere Autocast" tome_select_spell: "Alege o vrajă" tome_select_a_thang: "Alege pe cineva pentru " tome_available_spells: "Vrăjile disponibile" hud_continue: "Continuă (apasă shift-space)" spell_saved: "Vrajă salvată" skip_tutorial: "Sari peste (esc)" - editor_config: "Editor Config" - editor_config_title: "Configurare Editor" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Mapare taste" - editor_config_keybindings_default: "Default (Ace)" - editor_config_keybindings_description: "Adaugă comenzi rapide suplimentare cunoscute din editoarele obisnuite." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Arată etichetele invizibile" - editor_config_invisibles_description: "Arată spațiile și taburile invizibile." - editor_config_indentguides_label: "Arată ghidul de indentare" - editor_config_indentguides_description: "Arată linii verticale pentru a vedea mai bine indentarea." - editor_config_behaviors_label: "Comportamente inteligente" - editor_config_behaviors_description: "Completează automat parantezele, ghilimele etc." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "Gata!" tip_insert_positions: "Shift+Click oriunde pe harta pentru a insera punctul în editorul de vrăji." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman tip_open_source: "CodeCombat este 100% open source!" tip_beta_launch: "CodeCombat a fost lansat beta in Octombrie 2013." tip_js_beginning: "JavaScript este doar începutul." - tip_autocast_setting: "Ajutează setările de autocast apăsând pe rotița de pe buton." think_solution: "Gândește-te la soluție, nu la problemă." tip_theory_practice: "Teoretic nu este nici o diferență înte teorie și practică. Dar practic este. - Yogi Berra" tip_error_free: "Există doar două metode de a scrie un program fără erori; numai a treia funcționează. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Editor Config" + editor_config_title: "Configurare Editor" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Mapare taste" + editor_config_keybindings_default: "Default (Ace)" + editor_config_keybindings_description: "Adaugă comenzi rapide suplimentare cunoscute din editoarele obisnuite." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Arată etichetele invizibile" + editor_config_invisibles_description: "Arată spațiile și taburile invizibile." + editor_config_indentguides_label: "Arată ghidul de indentare" + editor_config_indentguides_description: "Arată linii verticale pentru a vedea mai bine indentarea." + editor_config_behaviors_label: "Comportamente inteligente" + editor_config_behaviors_description: "Completează automat parantezele, ghilimele etc." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Setări Multiplayer" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Împărtășește acest link cu cei care vor să ți se alăture." + multiplayer_hint_label: "Hint:" + multiplayer_hint: " Apasă pe link pentru a selecta tot, apoi apasă ⌘-C sau Ctrl-C pentru a copia link-ul." + multiplayer_coming_soon: "Mai multe feature-uri multiplayer în curând!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Prezentăm Dungeon Arena" - new_way: "Noul mod de a concura prin linii de cod." - to_battle: "La luptă, Developers!" - modern_day_sorcerer: "Știi să programezie? Tare. Ești un vrăjitor al noii ere! Nu crezi ca este timpul să îți folosești puterile de programare pentru a conduce în lupte epice minionii tăi? Și nu vorbim despre roboți aici." - arenas_are_here: "Arenele CodeCombat multiplayer 1v1 sunt aici." - ladder_explanation: "Alegeți eroii,vrăjește armatele de orci sau oameni, și croiește-ți drumul luptând și învingând alți Vrăjitori pentru a ajunge în topul clasamentului. Dacă te simți creativ poți chiar să" - fork_our_arenas: "să dai fork la arenele noastre" - create_worlds: "și să îți creezi propriile lumi." - javascript_rusty: "N-ai mai pus mâna pe JavaScript? Nicio problemă; există un" - tutorial: "tutorial" - new_to_programming: ". Nou in tainele programării? Încearcă campania de începători pentru ați dezolvata abilitățile." - so_ready: "Sunt atât de pregătit pentru asta!" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index cb96b0e6e..fab79b66d 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -27,13 +27,13 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi hour: "час" hours: "часа(ов)" day: "день" -# days: "days" + days: "дня" week: "неделя" -# weeks: "weeks" + weeks: "недели(ь)" month: "месяц" -# months: "months" + months: "месяца" year: "год" -# years: "years" + years: "лет" modal: close: "Закрыть" @@ -100,12 +100,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi for_beginners: "Новичкам" multiplayer: "Мультиплеер" for_developers: "Разработчикам" -# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers." -# python_blurb: "Simple yet powerful, Python is a great general purpose programming language." -# coffeescript_blurb: "Nicer JavaScript syntax." -# clojure_blurb: "A modern Lisp." -# lua_blurb: "Game scripting language." -# io_blurb: "Simple but obscure." + javascript_blurb: "Язык для Сети. Подходит для написания сайтов, веб-приложений, HTML5-игр и серверов." + python_blurb: "Пусть простой, но мощный, Python - прекрасный язык программирования общего применения." + coffeescript_blurb: "Улучшенный синтаксис JavaScript." + clojure_blurb: "Современный Lisp." + lua_blurb: "Скриптовый язык для игр." + io_blurb: "Простой, но непонятный." play: choose_your_level: "Выберите ваш уровень" @@ -192,7 +192,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi error_saving: "Ошибка сохранения" saved: "Изменения сохранены" password_mismatch: "Пароли не совпадают." -# password_repeat: "Please repeat your password." + password_repeat: "Пожалуйста, повторите пароль." job_profile: "Профиль соискателя" job_profile_approved: "Ваш профиль соискателя был одобрен CodeCombat. Работодатели смогут видеть его, пока вы не отметите его неактивным или он не будет изменен в течение четырёх недель." job_profile_explanation: "Привет! Заполните это, и мы свяжемся с вами при нахождении работы разработчика программного обеспечения для вас." @@ -205,12 +205,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi done_editing: "Завершить редактирование" profile_for_prefix: "Профиль для " profile_for_suffix: "" -# featured: "Featured" -# not_featured: "Not Featured" + featured: "Включает" + not_featured: "Не включает" looking_for: "Ищет:" last_updated: "Последнее обновление:" contact: "Контакты" -# active: "Looking for interview offers now" + active: "Ищу предложения работы в настоящее время" inactive: "Не ищу предложений работы в настоящее время" complete: "готово" next: "Далее" @@ -219,16 +219,16 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi next_name: "имя?" next_short_description: "напишите короткое описание." next_long_description: "опишите желаемую позицию" -# next_skills: "list at least five skills." -# next_work: "chronicle your work history." -# next_education: "recount your educational ordeals." -# next_projects: "show off up to three projects you've worked on." -# next_links: "add any personal or social links." -# next_photo: "add an optional professional photo." -# next_active: "mark yourself open to offers to show up in searches." + next_skills: "Опишите хотя бы пять своих навыков" + next_work: "Опишите ваш опыт работы" + next_education: "recount your educational ordeals" + next_projects: "Покажите нам три своих проекта" + next_links: "добавьте ссылки на личные сайты или соц. сети" + next_photo: "добавьте необязательное профессиональное фото" + next_active: "пометьте себя как ищущего предложения для отображения поиском." example_blog: "Блог" example_personal_site: "Персональный сайт" -# links_header: "Personal Links" + links_header: "Персональные ссылки" # links_blurb: "Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog." # links_name: "Link Name" # links_name_help: "What are you linking to?" @@ -353,8 +353,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi grid: "Сетка" customize_wizard: "Настройки волшебника" home: "На главную" +# game_menu: "Game Menu" guide: "Руководство" - multiplayer: "Мультиплеер" restart: "Перезапустить" goals: "Цели" success: "Успешно!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi victory_review: "Расскажите нам больше!" victory_hour_of_code_done: "Вы закончили?" victory_hour_of_code_done_yes: "Да, я закончил мой Час Кода™!" - multiplayer_title: "Настройки мультиплеера" - multiplayer_link_description: "Дайте эту ссылку кому-нибудь, чтоб он присоединился к вам." - multiplayer_hint_label: "Подсказка: " - multiplayer_hint: "кликните на ссылку, чтобы выделить её, затем нажмите ⌘-С или Ctrl-C, чтобы скопировать." - multiplayer_coming_soon: "Больше возможностей мультиплеера на подходе!" - multiplayer_sign_in_leaderboard: "Войдите или создайте аккаунт, чтобы ваше решение оказалось в таблице лидеров." guide_title: "Руководство" tome_minion_spells: "Заклинания ваших миньонов" tome_read_only_spells: "Заклинания только для чтения" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi tome_cast_button_castable: "Читать заклинание" tome_cast_button_casting: "Заклинание читается" tome_cast_button_cast: "Заклинание прочитано" - tome_autocast_delay: "Задержка автоматического чтения" tome_select_spell: "Выбрать заклинание" tome_select_a_thang: "Выбрать кого-нибудь для " tome_available_spells: "Доступные заклинания" hud_continue: "Продолжить (Shift+Пробел)" spell_saved: "Заклинание сохранено" skip_tutorial: "Пропуск (Esc)" - editor_config: "Настройки редактора" - editor_config_title: "Настройки редактора" - editor_config_level_language_label: "Язык для этого уровня" - editor_config_level_language_description: "Выберите язык программирования для этого конкретного уровня." - editor_config_default_language_label: "Язык по умолчанию" - editor_config_default_language_description: "Выберите язык программирования который вы хотите использовать когда начинаете новый уровень." - editor_config_keybindings_label: "Сочетания клавиш" - editor_config_keybindings_default: "По умолчанию (Ace)" - editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов." - editor_config_livecompletion_label: "Автозаполнение" - editor_config_livecompletion_description: "Отображение вариантов автозаполнения во время печати." - editor_config_invisibles_label: "Показывать непечатные символы" - editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции." - editor_config_indentguides_label: "Показывать направляющие отступов" - editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов." - editor_config_behaviors_label: "Умное поведение" - editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки." keyboard_shortcuts: "Горячие клавиши" loading_ready: "Готово!" tip_insert_positions: "Shift+Клик по карте вставит координаты в редактор заклинаний." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi tip_open_source: "Исходный код CodeCombat открыт на 100%!" tip_beta_launch: "CodeCombat запустил бета-тестирование в октябре 2013 года." tip_js_beginning: "JavaScript это только начало." - tip_autocast_setting: "Изменяйте настройки авточтения заклинания, щёлкнув по шестерёнке на кнопке прочтения." think_solution: "Думайте о решении, а не о проблеме." tip_theory_practice: "В теории, между практикой и теорией нет разницы. Но на практике есть. - Yogi Berra" tip_error_free: "Есть два способа писать программы без ошибок; работает только третий. - Alan Perlis" @@ -444,7 +419,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi tip_impossible: "Это всегда кажется невозможным, пока не сделано. - Nelson Mandela" tip_talk_is_cheap: "Слова ничего не стоят. Покажи мне код. - Linus Torvalds" tip_first_language: "Наиболее катастрофическая вещь, которую вы можете выучить - ваш первый язык программирования. - Alan Kay" -# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem." + tip_hardware_problem: "В: Сколько программистов нужно, чтобы вкрутить лампочку? О: Нисколько, это проблемы с железом." time_current: "Текущее:" time_total: "Максимальное:" time_goto: "Перейти на:" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi infinite_loop_reset_level: "Сбросить уровень" infinite_loop_comment_out: "Закомментировать мой код" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Мультиплеер" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Настройки редактора" + editor_config_title: "Настройки редактора" + editor_config_level_language_label: "Язык для этого уровня" + editor_config_level_language_description: "Выберите язык программирования для этого конкретного уровня." + editor_config_default_language_label: "Язык по умолчанию" + editor_config_default_language_description: "Выберите язык программирования который вы хотите использовать когда начинаете новый уровень." + editor_config_keybindings_label: "Сочетания клавиш" + editor_config_keybindings_default: "По умолчанию (Ace)" + editor_config_keybindings_description: "Добавляет дополнительные сочетания, известные из популярных редакторов." + editor_config_livecompletion_label: "Автозаполнение" + editor_config_livecompletion_description: "Отображение вариантов автозаполнения во время печати." + editor_config_invisibles_label: "Показывать непечатные символы" + editor_config_invisibles_description: "Отображение непечатных символов, таких как пробелы или табуляции." + editor_config_indentguides_label: "Показывать направляющие отступов" + editor_config_indentguides_description: "Отображение вертикальных линий для лучшего обзора отступов." + editor_config_behaviors_label: "Умное поведение" + editor_config_behaviors_description: "Автозавершать квадратные, фигурные скобки и кавычки." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Настройки мультиплеера" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Дайте эту ссылку кому-нибудь, чтоб он присоединился к вам." + multiplayer_hint_label: "Подсказка: " + multiplayer_hint: "кликните на ссылку, чтобы выделить её, затем нажмите ⌘-С или Ctrl-C, чтобы скопировать." + multiplayer_coming_soon: "Больше возможностей мультиплеера на подходе!" + multiplayer_sign_in_leaderboard: "Войдите или создайте аккаунт, чтобы ваше решение оказалось в таблице лидеров." + keyboard_shortcuts: keyboard_shortcuts: "Горячие клавиши" space: "Пробел" @@ -462,16 +498,16 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi skip_scripts: "Пропустить все возможные скрипты." toggle_playback: "Переключить проигрывание/паузу." scrub_playback: "Перемотка назад и вперед во времени." -# single_scrub_playback: "Scrub back and forward through time by a single frame." -# scrub_execution: "Scrub through current spell execution." + single_scrub_playback: "Scrub back and forward through time by a single frame." + scrub_execution: "Scrub through current spell execution." toggle_debug: "Включить отображение отладки." toggle_grid: "Включить наложение сетки." -# toggle_pathfinding: "Toggle pathfinding overlay." -# beautify: "Beautify your code by standardizing its formatting." -# move_wizard: "Move your Wizard around the level." + toggle_pathfinding: "Включить путевой оверлей.." + beautify: "Приукрасьте свой код стандартизацией его форматирования." + move_wizard: "Перемещайте своего Волшебника по уровню." admin: - av_title: "Админ панель" + av_title: "Панель администрирования" av_entities_sub_title: "Сущности" av_entities_users_url: "Пользователи" av_entities_active_instances_url: "Активные экземпляры" @@ -506,12 +542,12 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi back: "Назад" revert: "Откатить" revert_models: "Откатить Модели" -# pick_a_terrain: "Pick A Terrain" -# small: "Small" -# grassy: "Grassy" + pick_a_terrain: "Выберите ландшафт" + small: "Маленький" + grassy: "Травянистый" fork_title: "Форк новой версии" fork_creating: "Создание форка..." -# randomize: "Randomize" + randomize: "Случайный выбор" more: "Ещё" wiki: "Вики" live_chat: "Онлайн-чат" @@ -803,7 +839,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi no_ranked_matches_pre: "Нет оценённых матчей для команды" no_ranked_matches_post: "! Сыграйте против нескольких противников и возвращайтесь сюда для оценки вашей игры." choose_opponent: "Выберите противника" -# select_your_language: "Select your language!" + select_your_language: "Select your language!" tutorial_play: "Пройти обучение" tutorial_recommended: "Рекомендуется, если вы раньше никогда не играли" tutorial_skip: "Пропустить обучение" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Представляем Арену подземелья" - new_way: "Новый способ соревноваться с помощью кода." - to_battle: "В бой, разработчики!" - modern_day_sorcerer: "Вы знаете, как программировать? Это круто. Вы волшебник наших дней! Разве не время, чтобы вы использовали свои магические силы программирования для управления миньонами в эпичной битве? И мы не говорим здесь роботы." - arenas_are_here: "Мультиплеерные арены CodeCombat на равных уже здесь." - ladder_explanation: "Выбирайте своих героев, зачаровывайте свои армии людей или огров, и взберитесь через поверженных коллег-Волшебников на вершину ладдеров – затем бросьте вызов своим друзьям в наших славных, асинхронно-мультиплеерных аренах прогрммирования. Если вы ощущаете себя творческим, можете даже" - fork_our_arenas: "сделать модификации наших арен" - create_worlds: "и создавать свои собственные миры." - javascript_rusty: "Подзабыли JavaScript? Не беспокойтесь; есть" - tutorial: "обучение" - new_to_programming: ". Новичок в программировании? Пройдите нашу кампанию для новичков, чтобы повысить навык." - so_ready: "Я полностью готов(а) для этого" - loading_error: could_not_load: "Ошибка загрузки с сервера" connection_failure: "Соединение прервано." @@ -897,7 +919,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi level_session: "Ваша сессия" # opponent_session: "Opponent Session" article: "Статья" -# user_names: "User Names" + user_names: "Никнеймы" # thang_names: "Thang Names" files: "Файлы" # top_simulators: "Top Simulators" diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee index 135b8acf0..dc63b602c 100644 --- a/app/locale/sk.coffee +++ b/app/locale/sk.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee index 6517ac37d..78798520b 100644 --- a/app/locale/sl.coffee +++ b/app/locale/sl.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee index ae0508b0f..e551f1983 100644 --- a/app/locale/sr.coffee +++ b/app/locale/sr.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian grid: "Мрежа" customize_wizard: "Прилагоди Чаробњака" home: "Почетна" +# game_menu: "Game Menu" guide: "Водич" - multiplayer: "Мод за више играча" restart: "Поновно учитавање" goals: "Циљеви" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian victory_review: "Реци нам више!" victory_hour_of_code_done: "Јеси ли завршио?" victory_hour_of_code_done_yes: "Да, завршио сам свој Сат Кода!" - multiplayer_title: "Подешавање мода за више играча" - multiplayer_link_description: "Дај овај линк онима које желиш да ти се придруже." - multiplayer_hint_label: "Мала помоћ" - multiplayer_hint: " Кликни на линк да обележиш све, затим притисни Apple-C или Ctrl-C да копираш линк." - multiplayer_coming_soon: "Стиже још нових карактеристика!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Водич" tome_minion_spells: "Чини твојих поданика" tome_read_only_spells: "Чини које се могу само гледати" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian tome_cast_button_castable: "Баци" tome_cast_button_casting: "Бацање" tome_cast_button_cast: "Баци чини" - tome_autocast_delay: "Размак између аутоматског бацања чини" tome_select_spell: "Изабери чин" tome_select_a_thang: "Изабери неког за " tome_available_spells: "Доступне чини" hud_continue: "Настави (притисни ентер)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Мод за више играча" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Подешавање мода за више играча" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Дај овај линк онима које желиш да ти се придруже." + multiplayer_hint_label: "Мала помоћ" + multiplayer_hint: " Кликни на линк да обележиш све, затим притисни Apple-C или Ctrl-C да копираш линк." + multiplayer_coming_soon: "Стиже још нових карактеристика!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee index 1e6356c4f..55576a617 100644 --- a/app/locale/sv.coffee +++ b/app/locale/sv.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr grid: "Rutnät" customize_wizard: "Skräddarsy trollkarl" home: "Hem" +# game_menu: "Game Menu" guide: "Guide" - multiplayer: "Flerspelareläge" restart: "Börja om" goals: "Mål" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr victory_review: "Berätta mer!" victory_hour_of_code_done: "Är du klar?" victory_hour_of_code_done_yes: "Ja, jag är klar med min Hour of Code!" - multiplayer_title: "Flerspelarinställningar" - multiplayer_link_description: "Dela den här länken med alla som du vill spela med." - multiplayer_hint_label: "Tips:" - multiplayer_hint: " Klicka på länken för att välja allt, tryck sedan på Cmd-C eller Ctrl-C för att kopiera länken." - multiplayer_coming_soon: "Fler flerspelarlägen kommer!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Guide" tome_minion_spells: "Dina soldaters förmågor" tome_read_only_spells: "Skrivskyddade förmågor" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr tome_cast_button_castable: "Använd besvärjelse" tome_cast_button_casting: "Besvärjer" tome_cast_button_cast: "Besvärjelse använd" - tome_autocast_delay: "Autoanvändningsfördröjning" tome_select_spell: "Välj en förmåga" tome_select_a_thang: "Välj någon för " tome_available_spells: "Tillgängliga förmågor" hud_continue: "Fortsätt (skift+mellanslag)" spell_saved: "Besvärjelse sparad" skip_tutorial: "Hoppa över (esc)" - editor_config: "Ställ in redigerare" - editor_config_title: "Redigerarinställningar" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Kortkommandon" - editor_config_keybindings_default: "Standard (Ace)" - editor_config_keybindings_description: "Lägger till ytterligare kortkommandon kända från vanliga redigerare." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Visa osynliga" - editor_config_invisibles_description: "Visar osynliga tecken såsom mellanrum och nyradstecken." - editor_config_indentguides_label: "Visa indenteringsguider" - editor_config_indentguides_description: "Visar vertikala linjer för att kunna se indentering bättre." - editor_config_behaviors_label: "Smart beteende" - editor_config_behaviors_description: "Avsluta automatiskt hakparenteser, parenteser, och citat." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Flerspelareläge" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Ställ in redigerare" + editor_config_title: "Redigerarinställningar" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Kortkommandon" + editor_config_keybindings_default: "Standard (Ace)" + editor_config_keybindings_description: "Lägger till ytterligare kortkommandon kända från vanliga redigerare." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Visa osynliga" + editor_config_invisibles_description: "Visar osynliga tecken såsom mellanrum och nyradstecken." + editor_config_indentguides_label: "Visa indenteringsguider" + editor_config_indentguides_description: "Visar vertikala linjer för att kunna se indentering bättre." + editor_config_behaviors_label: "Smart beteende" + editor_config_behaviors_description: "Avsluta automatiskt hakparenteser, parenteser, och citat." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Flerspelarinställningar" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Dela den här länken med alla som du vill spela med." + multiplayer_hint_label: "Tips:" + multiplayer_hint: " Klicka på länken för att välja allt, tryck sedan på Cmd-C eller Ctrl-C för att kopiera länken." + multiplayer_coming_soon: "Fler flerspelarlägen kommer!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "Introducerar grottarenan" - new_way: "Det nya sättet att tävla i kod." - to_battle: "Till slagfältet, utvecklare!" - modern_day_sorcerer: "Du vet hur man kodar? Det är coolt. Du är en modern trollkarl! Är det inte dags att du använde dina magiska kodarkrafter för att leda dina undersåtar i episka strider? Och vi snackar inte om robotar nu." - arenas_are_here: "CodeCombats flerspelararenor är här." - ladder_explanation: "Välj dina hjältar, förtrolla dina människo- eller orch-arméer och klättra över besegrade trollkarlar, för att nå toppen av stegen - och utmana sedan dina vänner i våra ärorika, asynkrona flerspelararenor. Om du känner dig kreativ kan du till och med" - fork_our_arenas: "förgrena våra arenor" - create_worlds: "och skapa dina egna världer." - javascript_rusty: "Är din JavaScript lite rostigt? Oroa dig inte, det finns en" - tutorial: "tutorial" - new_to_programming: ". Ny på programmering? Gå till vår nybörjarkampanj för att öva upp dina färdigheter." - so_ready: "Jag är så redo för det här." - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/th.coffee b/app/locale/th.coffee index 0ffadebae..ae017455b 100644 --- a/app/locale/th.coffee +++ b/app/locale/th.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # grid: "Grid" # customize_wizard: "Customize Wizard" home: "หน้าแรก" +# game_menu: "Game Menu" guide: "คู่มือ" - multiplayer: "ผู้เล่นหลายคน" restart: "เริ่มเล่นใหม่" goals: "เป้าหมาย" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # victory_review: "Tell us more!" victory_hour_of_code_done: "เสร็จหรือยัง?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." - multiplayer_hint_label: "คำใบ้" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "ผู้เล่นหลายคน" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." + multiplayer_hint_label: "คำใบ้" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee index 6c52344fa..fe09441c4 100644 --- a/app/locale/tr.coffee +++ b/app/locale/tr.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t grid: "Harita Bölmeleri" customize_wizard: "Sihirbazı Düzenle" home: "Anasayfa" +# game_menu: "Game Menu" guide: "Rehber" - multiplayer: "Çoklu-oyuncu" restart: "Yeniden başlat" goals: "Hedefler" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t victory_review: "Daha detaylı bilgi verebilirsiniz!" victory_hour_of_code_done: "Bitirdiniz mi?" victory_hour_of_code_done_yes: "Evet, Kod Saatimi (Hour of Code) bitirdim!" - multiplayer_title: "Çoklu-oyuncu Ayarları" - multiplayer_link_description: "Size katılmasını arzu ettiğiniz herhangi bir kişiye bu link verebilirsiniz." - multiplayer_hint_label: "İpucu:" - multiplayer_hint: " Kopyalamak için önce linke tıklayın, ardından CTRL+C veya ⌘+C kombinasyonuna basın." - multiplayer_coming_soon: "Daha bir çok çoklu oyuncu özelliği eklenecek!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Rehber" tome_minion_spells: "Minyonlarınızın Büyüleri" tome_read_only_spells: "Salt Okunur Büyüler" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t tome_cast_button_castable: "Fırlatılabilir" tome_cast_button_casting: "Fırlatılıyor" tome_cast_button_cast: "Fırlat" - tome_autocast_delay: "Otomatik-Fırlatma Gecikmesi" tome_select_spell: "Bir Büyü Seç" tome_select_a_thang: "Birini seç..." tome_available_spells: "Kullanılabilir Büyüler" hud_continue: "Devam (ÜstKarakter+Boşluk)" spell_saved: "Büyü Kaydedildi" skip_tutorial: "Atla (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" - editor_config_keybindings_default: "Varsayılan (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "Hazır!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Çoklu-oyuncu" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" + editor_config_keybindings_default: "Varsayılan (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Çoklu-oyuncu Ayarları" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Size katılmasını arzu ettiğiniz herhangi bir kişiye bu link verebilirsiniz." + multiplayer_hint_label: "İpucu:" + multiplayer_hint: " Kopyalamak için önce linke tıklayın, ardından CTRL+C veya ⌘+C kombinasyonuna basın." + multiplayer_coming_soon: "Daha bir çok çoklu oyuncu özelliği eklenecek!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - loading_error: could_not_load: "Yüklenemiyor" connection_failure: "Bağlantı hatası." diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee index 65c15f9c3..17417a8b9 100644 --- a/app/locale/uk.coffee +++ b/app/locale/uk.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "українська мова", englishDesc grid: "Решітка" customize_wizard: "Налаштування персонажа" home: "На головну" +# game_menu: "Game Menu" guide: "Посібник" - multiplayer: "Мультиплеєр" restart: "Перезавантажити" goals: "Цілі" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "українська мова", englishDesc victory_review: "Розкажіть нам більше!" victory_hour_of_code_done: "Ви закінчили?" victory_hour_of_code_done_yes: "Так, я закінчив свою Годину Коду!" - multiplayer_title: "Налаштування мультиплеєра" - multiplayer_link_description: "Поділіться цим посиланням з будь-ким, щоб вони приєдналися до вас." - multiplayer_hint_label: "Підказка:" - multiplayer_hint: "Натисніть на посилання, щоб обрати всіх, та натисніть Apple-C або Ctrl-C, щоб скопіювати посилання." - multiplayer_coming_soon: "Скоро - більше можливостей у мультиплеєрі!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "Посібник" tome_minion_spells: "Закляття ваших міньонів" tome_read_only_spells: "Закляття тільки для читання" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "українська мова", englishDesc tome_cast_button_castable: "Читати закляття" tome_cast_button_casting: "Закляття читається" tome_cast_button_cast: "Закляття прочитано" - tome_autocast_delay: "Затримка автоматичного читання" tome_select_spell: "Оберіть закляття" tome_select_a_thang: "Оберіть когось для " tome_available_spells: "Доступні закляття" hud_continue: "Продовжити (натисніть shift-space)" spell_saved: "Закляття збережено" skip_tutorial: "Пропустити (esc)" - editor_config: "Редактор налашт." - editor_config_title: "Редактор налаштувань" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "Комбінаційї клавіш" - editor_config_keybindings_default: "За замовчуванням (Ace)" - editor_config_keybindings_description: "Додайте додаткові скорочення відомі Вам із загальних редакторів." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "Показати приховане" - editor_config_invisibles_description: "Відображення прихованого, такого як відступи та знаки табуляції." - editor_config_indentguides_label: "Показати відступи провідників" - editor_config_indentguides_description: "Відображення вертикальних ліній, щоб краще бачити відстань." - editor_config_behaviors_label: "Розумні привички" - editor_config_behaviors_description: "Автозаповнення дужок, фігурних дужок, та лапок." # keyboard_shortcuts: "Key Shortcuts" loading_ready: "Готово!" tip_insert_positions: "Shift+Натиснути точку на карті, щоб вставити його у редактор заклинань." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "українська мова", englishDesc tip_open_source: "CodeCombat є 100% відкритим кодом!" tip_beta_launch: "CodeCombat запустив бета версію в жовтні 2013." tip_js_beginning: "JavaScript є лише початком." - tip_autocast_setting: "Регулюйте параметри автозастосування перемикачем на кнопці скидання." think_solution: "Думайте про вирішення, а не за поблему." tip_theory_practice: "В теорії між теорією і практикою немає ніякої різниці. На практиці - є. - Йогі Берра" tip_error_free: "Є два шляхи написання програм без помилок; але лише третій працює. - Алан Перліс" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "українська мова", englishDesc infinite_loop_reset_level: "Почати рівень спочатку" infinite_loop_comment_out: "Залишити коментарі до мого коду" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Мультиплеєр" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "Редактор налашт." + editor_config_title: "Редактор налаштувань" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "Комбінаційї клавіш" + editor_config_keybindings_default: "За замовчуванням (Ace)" + editor_config_keybindings_description: "Додайте додаткові скорочення відомі Вам із загальних редакторів." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "Показати приховане" + editor_config_invisibles_description: "Відображення прихованого, такого як відступи та знаки табуляції." + editor_config_indentguides_label: "Показати відступи провідників" + editor_config_indentguides_description: "Відображення вертикальних ліній, щоб краще бачити відстань." + editor_config_behaviors_label: "Розумні привички" + editor_config_behaviors_description: "Автозаповнення дужок, фігурних дужок, та лапок." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "Налаштування мультиплеєра" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "Поділіться цим посиланням з будь-ким, щоб вони приєдналися до вас." + multiplayer_hint_label: "Підказка:" + multiplayer_hint: "Натисніть на посилання, щоб обрати всіх, та натисніть Apple-C або Ctrl-C, щоб скопіювати посилання." + multiplayer_coming_soon: "Скоро - більше можливостей у мультиплеєрі!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "українська мова", englishDesc # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee index 9672ccdbd..85ea79946 100644 --- a/app/locale/ur.coffee +++ b/app/locale/ur.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee index f58f20fb4..4eaea50b8 100644 --- a/app/locale/vi.coffee +++ b/app/locale/vi.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # grid: "Grid" customize_wizard: "Tùy chỉnh Wizard" # home: "Home" +# game_menu: "Game Menu" guide: "Hướng dẫn" - multiplayer: "Nhiều người chơi" restart: "Khởi động lại" goals: "Mục đích" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "Nhiều người chơi" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee index 7523c69af..0a8724a75 100644 --- a/app/locale/zh-HANS.coffee +++ b/app/locale/zh-HANS.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese grid: "格子" customize_wizard: "自定义向导" home: "主页" +# game_menu: "Game Menu" guide: "指南" - multiplayer: "多人游戏" restart: "重新开始" goals: "目标" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese victory_review: "给我们反馈!" victory_hour_of_code_done: "你完成了吗?" victory_hour_of_code_done_yes: "是的, 完成了!" - multiplayer_title: "多人游戏设置" - multiplayer_link_description: "把这个链接告诉小伙伴们,一起玩吧。" - multiplayer_hint_label: "提示:" - multiplayer_hint: " 点击全选,然后按 Apple-C(苹果电脑)或 Ctrl-C 复制链接。" - multiplayer_coming_soon: "多人游戏的更多特性!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "指南" tome_minion_spells: "助手的咒语" tome_read_only_spells: "只读的咒语" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese tome_cast_button_castable: "发动" tome_cast_button_casting: "发动中" tome_cast_button_cast: "发动咒语" - tome_autocast_delay: "自动施法延迟" tome_select_spell: "选择一个法术" tome_select_a_thang: "选择人物来 " tome_available_spells: "可用的法术" hud_continue: "继续(按 Shift-空格)" spell_saved: "咒语已保存" skip_tutorial: "跳过(esc)" - editor_config: "编辑器配置" - editor_config_title: "编辑器配置" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "按键设置s" - editor_config_keybindings_default: "默认 (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "显示隐藏的" - editor_config_invisibles_description: "显示诸如空格或TAB键。" - editor_config_indentguides_label: "显示缩进提示" - editor_config_indentguides_description: "显示一条竖线以使缩进更明显。" - editor_config_behaviors_label: "聪明的行为" - editor_config_behaviors_description: "自动完成括号,大括号和引号。" # keyboard_shortcuts: "Key Shortcuts" loading_ready: "载入完成!" tip_insert_positions: "使用Shift+左键来插入拼写编辑器。" @@ -423,7 +399,6 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese tip_open_source: "CodeCombat 是 100% 开源的!" tip_beta_launch: "CodeCombat 开始于 2013的10月份." tip_js_beginning: "JavaScript 仅仅只是个开始." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." think_solution: "思考解决方法, 而不是问题." tip_theory_practice: "在理论研究中,理论和实践之间是没有区别的。但在实践中,它们是有区别的。 - Yogi Berra" tip_error_free: "有两种方式可以写出没有错误的程序;但是只有第三种方式能让程序达到预期的效果。 - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese infinite_loop_reset_level: "重置等级" infinite_loop_comment_out: "为我的代码添加注释" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "多人游戏" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "编辑器配置" + editor_config_title: "编辑器配置" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "按键设置s" + editor_config_keybindings_default: "默认 (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "显示隐藏的" + editor_config_invisibles_description: "显示诸如空格或TAB键。" + editor_config_indentguides_label: "显示缩进提示" + editor_config_indentguides_description: "显示一条竖线以使缩进更明显。" + editor_config_behaviors_label: "聪明的行为" + editor_config_behaviors_description: "自动完成括号,大括号和引号。" + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "多人游戏设置" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "把这个链接告诉小伙伴们,一起玩吧。" + multiplayer_hint_label: "提示:" + multiplayer_hint: " 点击全选,然后按 Apple-C(苹果电脑)或 Ctrl-C 复制链接。" + multiplayer_coming_soon: "多人游戏的更多特性!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "介绍地下城竞技场" - new_way: "用代码竞技的新方式." - to_battle: "去战斗, 开发者们!" - modern_day_sorcerer: "你能编程? 这太牛了。 在这个时代你就是巫师! 还不快用你编码的魔力指挥你的手下投入壮烈的战斗中么? 我们说的可不是和机器战斗哦。" - arenas_are_here: "CodeCombat一个多人对抗的头脑竞技场." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" - fork_our_arenas: "派生我的竞技场" - create_worlds: "以及创造我自己的世界." - javascript_rusty: "对JavaScript有点生疏? 没关系,这里有一个" - tutorial: "教程" - new_to_programming: ". 编程新手? 参加我们的新手训练营来提高技能吧." - so_ready: "我准备好了!" - loading_error: could_not_load: "载入失败" connection_failure: "连接失败." diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee index b4a96e647..b5ede37c4 100644 --- a/app/locale/zh-HANT.coffee +++ b/app/locale/zh-HANT.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese grid: "格子" customize_wizard: "自定義巫師" home: "首頁" +# game_menu: "Game Menu" guide: "指南" - multiplayer: "多人遊戲" restart: "重新開始" goals: "目標" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese victory_review: "給我們回饋!" victory_hour_of_code_done: "你完成了嗎?" victory_hour_of_code_done_yes: "是的,我完成了我的程式碼!" - multiplayer_title: "多人遊戲設定" - multiplayer_link_description: "把這個連結告訴同伴們,一起玩吧。" - multiplayer_hint_label: "提示:" - multiplayer_hint: " 點擊全選,然後按 ⌘-C 或 Ctrl-C 複製連結。" - multiplayer_coming_soon: "請期待更多的多人關卡!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "指南" tome_minion_spells: "助手的咒語" tome_read_only_spells: "唯讀的咒語" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese tome_cast_button_castable: "發動" tome_cast_button_casting: "發動中" tome_cast_button_cast: "咒語" - tome_autocast_delay: "自動施法延遲" tome_select_spell: "選擇一個法術" tome_select_a_thang: "選擇一個人物來施放" tome_available_spells: "可用的法術" hud_continue: "繼續 (按 shift-空格)" spell_saved: "咒語已儲存" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "多人遊戲" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "多人遊戲設定" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "把這個連結告訴同伴們,一起玩吧。" + multiplayer_hint_label: "提示:" + multiplayer_hint: " 點擊全選,然後按 ⌘-C 或 Ctrl-C 複製連結。" + multiplayer_coming_soon: "請期待更多的多人關卡!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/zh-WUU-HANS.coffee b/app/locale/zh-WUU-HANS.coffee index ea129d982..227ba698f 100644 --- a/app/locale/zh-WUU-HANS.coffee +++ b/app/locale/zh-WUU-HANS.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/locale/zh-WUU-HANT.coffee b/app/locale/zh-WUU-HANT.coffee index 361a86c11..8d097a8e7 100644 --- a/app/locale/zh-WUU-HANT.coffee +++ b/app/locale/zh-WUU-HANT.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio grid: "格子" customize_wizard: "自設定獻路人" home: "主頁" +# game_menu: "Game Menu" guide: "指南" - multiplayer: "多人遊戲" restart: "轉來" goals: "目標" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio victory_review: "搭我裏反應!" victory_hour_of_code_done: "爾妝下落爻噃?" victory_hour_of_code_done_yes: "正是, 妝下落爻!" - multiplayer_title: "多人遊戲設定" - multiplayer_link_description: "畀箇個鏈接搭朋友家講,聚隊攪。" - multiplayer_hint_label: "提醒:" - multiplayer_hint: " 點牢全選,再捺 Apple-C(蘋果電腦)要勿 Ctrl-C 複製鏈接。" - multiplayer_coming_soon: "多人遊戲還多特性!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." guide_title: "指南" tome_minion_spells: "下手個咒語" tome_read_only_spells: "只讀個咒語" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio tome_cast_button_castable: "發動" tome_cast_button_casting: "徠搭發動" tome_cast_button_cast: "發動咒語" - tome_autocast_delay: "自動施法延遲" tome_select_spell: "揀一個法術" tome_select_a_thang: "揀人來 " tome_available_spells: "好用個法術" hud_continue: "接落去(捺 Shift-空格)" spell_saved: "咒語存起爻" skip_tutorial: "跳過去(Esc)" - editor_config: "編寫器設定" - editor_config_title: "編寫器設定" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." - editor_config_keybindings_label: "捺鍵設定s" - editor_config_keybindings_default: "默認 (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." - editor_config_invisibles_label: "顯示囥起個" - editor_config_invisibles_description: "顯示像空格搭TAB許鍵。" - editor_config_indentguides_label: "顯示縮進提醒" - editor_config_indentguides_description: "顯示一條豎線讓縮進顯眼。" -# editor_config_behaviors_label: "Smart Behaviors" - editor_config_behaviors_description: "自動完成括號,大括號搭引號。" # keyboard_shortcuts: "Key Shortcuts" loading_ready: "讀取下落!" tip_insert_positions: "用Shift+濟鍵來嵌進拼寫編寫器。" @@ -423,7 +399,6 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio tip_open_source: "CodeCombat 是 百分百 開源個!" tip_beta_launch: "CodeCombat 從 2013年10月起。" tip_js_beginning: "JavaScript 只是起個頭。" -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." think_solution: "思考解決方法,勿是問題。" tip_theory_practice: "來理論研究裏向,理論搭實踐弗分個。不過徠實踐裏頭,渠裏是有分個。 - Yogi Berra" tip_error_free: "有兩種方式寫得出嘸錯個程序;不過佩只第三種方式好讓程序達到预期個效果。 - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio infinite_loop_reset_level: "轉定等級" infinite_loop_comment_out: "爲我個代碼加註解" + game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" + multiplayer_tab: "多人遊戲" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + + options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." + editor_config: "編寫器設定" + editor_config_title: "編寫器設定" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." + editor_config_keybindings_label: "捺鍵設定s" + editor_config_keybindings_default: "默認 (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." + editor_config_invisibles_label: "顯示囥起個" + editor_config_invisibles_description: "顯示像空格搭TAB許鍵。" + editor_config_indentguides_label: "顯示縮進提醒" + editor_config_indentguides_description: "顯示一條豎線讓縮進顯眼。" +# editor_config_behaviors_label: "Smart Behaviors" + editor_config_behaviors_description: "自動完成括號,大括號搭引號。" + +# guide: +# temp: "Temp" + + multiplayer: + multiplayer_title: "多人遊戲設定" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." + multiplayer_link_description: "畀箇個鏈接搭朋友家講,聚隊攪。" + multiplayer_hint_label: "提醒:" + multiplayer_hint: " 點牢全選,再捺 Apple-C(蘋果電腦)要勿 Ctrl-C 複製鏈接。" + multiplayer_coming_soon: "多人遊戲還多特性!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio # license: "license" # oreilly: "ebook of your choice" - multiplayer_launch: - introducing_dungeon_arena: "介紹地下城競技場" - new_way: "用代碼競技個新方式。" - to_battle: "趒去打仗,我等開發者!" - modern_day_sorcerer: "爾要得編程?老讚!箇時代爾佩是巫師!還弗快點用爾編碼個魔力指揮爾個下手參軍打仗啊?我裏講個勿是搭機器賭打何!" - arenas_are_here: "CodeCombat一個多人對打個頭腦競技場。" -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" - fork_our_arenas: "派生我個競技場" - create_worlds: "還有造我自己個世界。" - javascript_rusty: "對JavaScript一粒打生?嘸較相干,箇搭有一個" - tutorial: "教程" - new_to_programming: "。編程新手?加進我裏新手訓練營裏來提高能力何。" - so_ready: "我準備起爻!" - loading_error: could_not_load: "讀取失敗" connection_failure: "連接失敗。" diff --git a/app/locale/zh.coffee b/app/locale/zh.coffee index 811f7a5ca..a3c3d7f77 100644 --- a/app/locale/zh.coffee +++ b/app/locale/zh.coffee @@ -353,8 +353,8 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # grid: "Grid" # customize_wizard: "Customize Wizard" # home: "Home" +# game_menu: "Game Menu" # guide: "Guide" -# multiplayer: "Multiplayer" # restart: "Restart" # goals: "Goals" # success: "Success!" @@ -377,12 +377,6 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # victory_review: "Tell us more!" # victory_hour_of_code_done: "Are You Done?" # victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!" -# multiplayer_title: "Multiplayer Settings" -# multiplayer_link_description: "Give this link to anyone to have them join you." -# multiplayer_hint_label: "Hint:" -# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." -# multiplayer_coming_soon: "More multiplayer features to come!" -# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." # guide_title: "Guide" # tome_minion_spells: "Your Minions' Spells" # tome_read_only_spells: "Read-Only Spells" @@ -390,30 +384,12 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # tome_cast_button_castable: "Cast Spell" # tome_cast_button_casting: "Casting" # tome_cast_button_cast: "Spell Cast" -# tome_autocast_delay: "Autocast Delay" # tome_select_spell: "Select a Spell" # tome_select_a_thang: "Select Someone for " # tome_available_spells: "Available Spells" # hud_continue: "Continue (shift+space)" # spell_saved: "Spell Saved" # skip_tutorial: "Skip (esc)" -# editor_config: "Editor Config" -# editor_config_title: "Editor Configuration" -# editor_config_level_language_label: "Language for This Level" -# editor_config_level_language_description: "Define the programming language for this particular level." -# editor_config_default_language_label: "Default Programming Language" -# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." -# editor_config_keybindings_label: "Key Bindings" -# editor_config_keybindings_default: "Default (Ace)" -# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." -# editor_config_livecompletion_label: "Live Autocompletion" -# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." -# editor_config_invisibles_label: "Show Invisibles" -# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." -# editor_config_indentguides_label: "Show Indent Guides" -# editor_config_indentguides_description: "Displays vertical lines to see indentation better." -# editor_config_behaviors_label: "Smart Behaviors" -# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." # keyboard_shortcuts: "Key Shortcuts" # loading_ready: "Ready!" # tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor." @@ -423,7 +399,6 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # tip_open_source: "CodeCombat is 100% open source!" # tip_beta_launch: "CodeCombat launched its beta in October, 2013." # tip_js_beginning: "JavaScript is just the beginning." -# tip_autocast_setting: "Adjust autocast settings by clicking the gear on the cast button." # think_solution: "Think of the solution, not the problem." # tip_theory_practice: "In theory, there is no difference between theory and practice. But in practice, there is. - Yogi Berra" # tip_error_free: "There are two ways to write error-free programs; only the third one works. - Alan Perlis" @@ -452,6 +427,67 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # infinite_loop_reset_level: "Reset Level" # infinite_loop_comment_out: "Comment Out My Code" +# game_menu: +# inventory_tab: "Inventory" +# choose_hero_tab: "Restart Level" +# save_load_tab: "Save/Load" +# options_tab: "Options" +# guide_tab: "Guide" +# multiplayer_tab: "Multiplayer" +# inventory_caption: "Equip your hero" +# choose_hero_caption: "Choose hero, language" +# save_load_caption: "... and view history" +# options_caption: "Configure settings" +# guide_caption: "Docs and tips" +# multiplayer_caption: "Play with friends!" + +# inventory: +# temp: "Temp" + +# choose_hero: +# temp: "Temp" + +# save_load: +# granularity_saved_games: "Saved" +# granularity_change_history: "History" + +# options: +# general_options: "General Options" +# music_label: "Music" +# music_description: "Turn background music on/off." +# autorun_label: "Autorun" +# autorun_description: "Control automatic code execution." +# editor_config: "Editor Config" +# editor_config_title: "Editor Configuration" +# editor_config_level_language_label: "Language for This Level" +# editor_config_level_language_description: "Define the programming language for this particular level." +# editor_config_default_language_label: "Default Programming Language" +# editor_config_default_language_description: "Define the programming language you want to code in when starting new levels." +# editor_config_keybindings_label: "Key Bindings" +# editor_config_keybindings_default: "Default (Ace)" +# editor_config_keybindings_description: "Adds additional shortcuts known from the common editors." +# editor_config_livecompletion_label: "Live Autocompletion" +# editor_config_livecompletion_description: "Displays autocomplete suggestions while typing." +# editor_config_invisibles_label: "Show Invisibles" +# editor_config_invisibles_description: "Displays invisibles such as spaces or tabs." +# editor_config_indentguides_label: "Show Indent Guides" +# editor_config_indentguides_description: "Displays vertical lines to see indentation better." +# editor_config_behaviors_label: "Smart Behaviors" +# editor_config_behaviors_description: "Autocompletes brackets, braces, and quotes." + +# guide: +# temp: "Temp" + +# multiplayer: +# multiplayer_title: "Multiplayer Settings" +# multiplayer_toggle: "Enable multiplayer" +# multiplayer_toggle_description: "Allow others to join your game." +# multiplayer_link_description: "Give this link to anyone to have them join you." +# multiplayer_hint_label: "Hint:" +# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link." +# multiplayer_coming_soon: "More multiplayer features to come!" +# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard." + # keyboard_shortcuts: # keyboard_shortcuts: "Keyboard Shortcuts" # space: "Space" @@ -847,20 +883,6 @@ module.exports = nativeDescription: "中文", englishDescription: "Chinese", tra # license: "license" # oreilly: "ebook of your choice" -# multiplayer_launch: -# introducing_dungeon_arena: "Introducing Dungeon Arena" -# new_way: "The new way to compete with code." -# to_battle: "To Battle, Developers!" -# modern_day_sorcerer: "You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here." -# arenas_are_here: "CodeCombat head-to-head multiplayer arenas are here." -# ladder_explanation: "Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even" -# fork_our_arenas: "fork our arenas" -# create_worlds: "and create your own worlds." -# javascript_rusty: "JavaScript a bit rusty? Don't worry; there's a" -# tutorial: "tutorial" -# new_to_programming: ". New to programming? Hit our beginner campaign to skill up." -# so_ready: "I Am So Ready for This" - # loading_error: # could_not_load: "Error loading from server" # connection_failure: "Connection failed." diff --git a/app/models/CocoModel.coffee b/app/models/CocoModel.coffee index 5da19cab3..c2a4c0fe7 100644 --- a/app/models/CocoModel.coffee +++ b/app/models/CocoModel.coffee @@ -220,6 +220,9 @@ class CocoModel extends Backbone.Model catch error console.error 'Error applying delta\n', JSON.stringify(delta, null, '\t'), '\n\nto attributes\n\n', newAttributes return false + for key, value of newAttributes + delete newAttributes[key] if _.isEqual value, @attributes[key] + @set newAttributes return true diff --git a/app/models/Level.coffee b/app/models/Level.coffee index f28bb9b00..4f95d269a 100644 --- a/app/models/Level.coffee +++ b/app/models/Level.coffee @@ -22,9 +22,36 @@ module.exports = class Level extends CocoModel o.systems = @sortSystems o.systems, systemModels @fillInDefaultSystemConfiguration o.systems - o.thangTypes = (original: tt.get('original'), name: tt.get('name') for tt in supermodel.getModels ThangType) + # Figure out ThangTypes' Components + o.thangTypes = (original: tt.get('original'), name: tt.get('name'), components: $.extend(true, [], tt.get('components')) for tt in supermodel.getModels ThangType) + @sortThangComponents o.thangTypes, o.levelComponents + @fillInDefaultComponentConfiguration o.thangTypes, o.levelComponents + o + denormalize: (supermodel) -> + o = $.extend true, {}, @attributes + for levelThang in o.thangs + @denormalizeThang(levelThang, supermodel) + o + + denormalizeThang: (levelThang, supermodel) -> + levelThang.components ?= [] + thangType = supermodel.getModelByOriginal(ThangType, levelThang.thangType) + configs = {} + for thangComponent in levelThang.components + configs[thangComponent.original] = thangComponent + + for defaultThangComponent in thangType.get('components') + if levelThangComponent = configs[defaultThangComponent.original] + # take the thang type default components and merge level-specific component config into it + copy = $.extend true, {}, defaultThangComponent.config + levelThangComponent.config = _.merge copy, levelThangComponent.config + + else + # just add the component as is + levelThang.components.push $.extend true, {}, defaultThangComponent + sortSystems: (levelSystems, systemModels) -> [sorted, originalsSeen] = [[], {}] visit = (system) -> @@ -53,7 +80,8 @@ module.exports = class Level extends CocoModel visit = (c) -> return if c in sorted lc = _.find levelComponents, {original: c.original} - console.error thang.id, 'couldn\'t find lc for', c unless lc + console.error thang.id, 'couldn\'t find lc for', c, 'of', levelComponents unless lc + return unless lc if lc.name is 'Programmable' # Programmable always comes last visit c2 for c2 in _.without thang.components, c diff --git a/app/models/LevelComponent.coffee b/app/models/LevelComponent.coffee index 0e261482d..4ab97c9c5 100644 --- a/app/models/LevelComponent.coffee +++ b/app/models/LevelComponent.coffee @@ -3,6 +3,8 @@ CocoModel = require './CocoModel' module.exports = class LevelComponent extends CocoModel @className: 'LevelComponent' @schema: require 'schemas/models/level_component' + + @EquipsID: '53e217d253457600003e3ebb' urlRoot: '/db/level.component' set: (key, val, options) -> diff --git a/app/models/SuperModel.coffee b/app/models/SuperModel.coffee index c366d8285..24f9b3e04 100644 --- a/app/models/SuperModel.coffee +++ b/app/models/SuperModel.coffee @@ -78,6 +78,10 @@ module.exports = class SuperModel extends Backbone.Model getModelByURL: (modelURL) -> modelURL = modelURL() if _.isFunction(modelURL) return @models[modelURL] or null + + getModelByOriginal: (ModelClass, original) -> + _.find @models, (m) -> + m.get('original') is original and m.constructor.className is ModelClass.className getModelByOriginalAndMajorVersion: (ModelClass, original, majorVersion=0) -> _.find @models, (m) -> @@ -166,6 +170,7 @@ module.exports = class SuperModel extends Backbone.Model @num += r.value _.defer @updateProgress r.clean() + @trigger 'resource-loaded', r onResourceFailed: (r) -> return unless @resources[r.rid] diff --git a/app/schemas/models/level.coffee b/app/schemas/models/level.coffee index 262c02d18..c3c9c59b2 100644 --- a/app/schemas/models/level.coffee +++ b/app/schemas/models/level.coffee @@ -174,7 +174,6 @@ LevelThangSchema = c.object { components: [] }, id: thang # TODO: figure out if we can make this unique and how to set dynamic defaults - # TODO: split thangType into 'original' and 'majorVersion' like the rest for consistency thangType: c.objectId(links: [{rel: 'db', href: '/db/thang.type/{($)}/version'}], title: 'Thang Type', description: 'A reference to the original Thang template being configured.', format: 'thang-type') components: c.array {title: 'Components', description: 'Thangs are configured by changing the Components attached to them.', uniqueItems: true, format: 'thang-components-array'}, ThangComponentSchema # TODO: uniqueness should be based on 'original', not whole thing @@ -239,7 +238,7 @@ _.extend LevelSchema.properties, icon: {type: 'string', format: 'image-file', title: 'Icon'} banner: {type: 'string', format: 'image-file', title: 'Banner'} goals: c.array {title: 'Goals', description: 'An array of goals which are visible to the player and can trigger scripts.'}, GoalSchema - type: c.shortString(title: 'Type', description: 'What kind of level this is.', 'enum': ['campaign', 'ladder', 'ladder-tutorial']) + type: c.shortString(title: 'Type', description: 'What kind of level this is.', 'enum': ['campaign', 'ladder', 'ladder-tutorial', 'hero']) showsGuide: c.shortString(title: 'Shows Guide', description: 'If the guide is shown at the beginning of the level.', 'enum': ['first-time', 'always']) c.extendBasicProperties LevelSchema, 'level' diff --git a/app/schemas/models/level_session.coffee b/app/schemas/models/level_session.coffee index 92ff0f5ba..284d98fc0 100644 --- a/app/schemas/models/level_session.coffee +++ b/app/schemas/models/level_session.coffee @@ -55,6 +55,10 @@ _.extend LevelSessionSchema.properties, screenshot: type: 'string' + + heroConfig: c.object {}, + inventory: c.object() + thangType: c.objectId() state: c.object {}, complete: diff --git a/app/schemas/models/thang_component.coffee b/app/schemas/models/thang_component.coffee index a8b6b5b74..97b5e18d8 100644 --- a/app/schemas/models/thang_component.coffee +++ b/app/schemas/models/thang_component.coffee @@ -3,7 +3,7 @@ c = require './../schemas' module.exports = ThangComponentSchema = c.object { title: 'Component' description: 'Configuration for a Component that this Thang uses.' - format: 'thang-component' + format: 'component-reference' required: ['original', 'majorVersion'] 'default': majorVersion: 0 diff --git a/app/styles/base.sass b/app/styles/base.sass index c873d3d0f..259506119 100644 --- a/app/styles/base.sass +++ b/app/styles/base.sass @@ -116,6 +116,10 @@ a .background-wrapper.plain background: white + + .plain + h1, h2, h3, h4, h5, h6 + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important .modal-content @include box-shadow(none) diff --git a/app/styles/community.sass b/app/styles/community.sass index 5156d3919..5c32b21ba 100644 --- a/app/styles/community.sass +++ b/app/styles/community.sass @@ -4,4 +4,21 @@ width: 330px float: left padding-left: 10px - padding-right: 10px \ No newline at end of file + padding-right: 10px + + .half_width + width: 50% + height: 175px + float: left + + .logo_row + padding-top: 10px + width: 80% + margin: 0 auto + + .logo_row img + height: 50px + margin: 7px + + .lower_titles + text-align: center \ No newline at end of file diff --git a/app/styles/editor/component/add-thang-components-modal.sass b/app/styles/editor/component/add-thang-components-modal.sass new file mode 100644 index 000000000..71d22fa51 --- /dev/null +++ b/app/styles/editor/component/add-thang-components-modal.sass @@ -0,0 +1,24 @@ +#add-thang-components-modal + .list-group + max-height: 500px + overflow: scroll + + .item-title + cursor: pointer + .glyphicon-chevron-down + display: none + &.collapsed + .glyphicon-chevron-down + display: inline + .glyphicon-chevron-up + display: none + + + .list-group-item + padding: 5px + + .checkbox, .item-title + overflow: hidden + text-overflow: ellipsis + white-space: nowrap + diff --git a/app/styles/editor/component/thang-component-config-view.sass b/app/styles/editor/component/thang-component-config-view.sass new file mode 100644 index 000000000..e2670469b --- /dev/null +++ b/app/styles/editor/component/thang-component-config-view.sass @@ -0,0 +1,6 @@ +.thang-component-config-view + .panel-body + padding: 0 + .treema-root + border: 0 + padding: 0 5px diff --git a/app/styles/editor/components/main.sass b/app/styles/editor/component/thang-components-edit-view.sass similarity index 63% rename from app/styles/editor/components/main.sass rename to app/styles/editor/component/thang-components-edit-view.sass index 3351694db..77b57132d 100644 --- a/app/styles/editor/components/main.sass +++ b/app/styles/editor/component/thang-components-edit-view.sass @@ -1,6 +1,6 @@ #thang-components-edit-view position: absolute - top: 40px + top: 0 bottom: 0 left: 0 right: 0 @@ -17,9 +17,9 @@ .treema-dependent > .treema-row background-color: #FFC671 - #extant-components-column + #thang-components-column left: 0 - width: 20% + width: 300px .treema position: absolute @@ -28,25 +28,24 @@ right: 10px bottom: 0 overflow: scroll + + .dependent + background-color: rgba(128, 64, 255, 0.10) - #add-component-column - right: 0 - width: 20% - - .treema - position: absolute - top: 75px - left: 10px - right: 0px - bottom: 0 - overflow: scroll - - .treema-row .add-button - margin-left: 10px - - #component-config-column-view + #thang-components-config-column border-left: 1px solid black - border-right: 1px solid black - right: 20% - left: 20% + right: 0 + left: 300px + min-width: 600px + + h3 + margin-left: 20px + + #thang-component-configs + position: absolute + top: 80px + bottom: 0 + right: 0 + left: 20px + overflow: scroll diff --git a/app/styles/editor/components/config.sass b/app/styles/editor/components/config.sass deleted file mode 100644 index f5bc2e642..000000000 --- a/app/styles/editor/components/config.sass +++ /dev/null @@ -1,16 +0,0 @@ -#component-config-column-view - h3 - float: left - #add-remove-button - float: right - margin: 5px - #description - clear: both - - .treema - position: absolute - left: 5px - right: 5px - top: 90px - bottom: 0 - overflow: scroll \ No newline at end of file diff --git a/app/styles/editor/level/edit.sass b/app/styles/editor/editor.sass similarity index 92% rename from app/styles/editor/level/edit.sass rename to app/styles/editor/editor.sass index a234ddd58..34eccdf79 100644 --- a/app/styles/editor/level/edit.sass +++ b/app/styles/editor/editor.sass @@ -1,9 +1,6 @@ -#editor-level-view - &, #level-editor-top-nav - // min-width: 1024px - - a - font-family: helvetica, arial, sans serif +.editor + h1, h2, h3, h4, h5, h6, a + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important position: absolute top: 0px @@ -48,7 +45,7 @@ border-radius: 0 .navbar-right // not sure why bootstrap puts a big negative margin in, but this overrides it - margin-right: 10px + margin-right: 10px !important float: right .dropdown-menu @@ -130,9 +127,7 @@ margin-top: -10px padding-top: 10px - // keeps the editor tabs a certain height - - #level-editor-tabs + #level-editor-tabs, &#thang-type-edit-view .tab-content position: absolute left: 15px right: 15px diff --git a/app/styles/editor/level/thang/edit.sass b/app/styles/editor/level/thang/level-thang-edit-view.sass similarity index 73% rename from app/styles/editor/level/thang/edit.sass rename to app/styles/editor/level/thang/level-thang-edit-view.sass index 7bd69e66c..8dba34048 100644 --- a/app/styles/editor/level/thang/edit.sass +++ b/app/styles/editor/level/thang/level-thang-edit-view.sass @@ -1,4 +1,4 @@ -#editor-level-thang-edit +#level-thang-edit-view color: black .well @@ -13,3 +13,6 @@ #all-thangs-link float: left cursor: pointer + + #thang-components-edit-view + top: 50px \ No newline at end of file diff --git a/app/styles/editor/level/thangs_tab.sass b/app/styles/editor/level/thangs_tab.sass index e8175462f..d26d2a83b 100644 --- a/app/styles/editor/level/thangs_tab.sass +++ b/app/styles/editor/level/thangs_tab.sass @@ -216,20 +216,12 @@ $mobile: 1050px #canvas-wrapper width: 100% position: relative - - #canvas-overlay - display: none + text-align: center + + #randomize-button position: absolute - width: 100% - height: 100% - background: white - opacity: 0.5 - text-align: center - - #randomize-button - position: absolute - top: 45% - height: 40px + top: 45% + height: 40px diff --git a/app/styles/editor/thang/edit.sass b/app/styles/editor/thang/edit.sass deleted file mode 100644 index 565b7e88a..000000000 --- a/app/styles/editor/thang/edit.sass +++ /dev/null @@ -1,85 +0,0 @@ -#editor-thang-type-edit-view - #save-button, #revert-button - float: right - margin-right: 20px - - #portrait - float: right - - .main-area - padding: 5px - & > div.slider-cell - margin-right: 5px - float: right - .file-controls - float: left - position: relative - top: 5px - left: 5px - button - margin-left: 5px - select - position: relative - top: 5px - input - display: none - - .slider-cell - margin: 5px 0 - float: left - width: 120px - - .selector - display: inline-block - width: 100px - position: relative - top: 3px - - #marker-button, #end-button - float: right - margin-right: 10px - position: relative - top: 15px - - #canvas - float: right - width: 400px - border: 1px solid blue - background-color: lightgray - - #settings-col - float: left - width: 550px - - .treema-row img - max-width: 100% - - #thang-type-treema - height: 400px - overflow: scroll - box-sizing: border-box - - - #thang-components-edit-view - position: absolute - top: 200px - bottom: 0 - - .treema-root - background-color: white - border-radius: 4px - - - -#spritesheets - border: 1px solid green - max-width: 100% - max-height: 600px - overflow: scroll - clear: both - box-sizing: border-box - margin-bottom: 20px - canvas - background: darkseagreen - margin: 2px - diff --git a/app/styles/editor/thang/thang-type-edit-view.sass b/app/styles/editor/thang/thang-type-edit-view.sass new file mode 100644 index 000000000..135923348 --- /dev/null +++ b/app/styles/editor/thang/thang-type-edit-view.sass @@ -0,0 +1,92 @@ +#thang-type-edit-view + #portrait + float: left + margin: 5px + width: 100px + height: 100px + + #settings-col + width: 560px + position: absolute + left: 0 + top: 0 + bottom: 0 + + .file-controls + float: left + position: relative + top: 5px + left: 5px + button + margin-left: 5px + input[type="file"] + display: none + + .treema-row img + max-width: 100% + + .treema-root + overflow: scroll + box-sizing: border-box + position: absolute + top: 160px + bottom: 20px + right: 20px + left: 20px + + #display-col + position: absolute + width: 440px + left: 580px + top: 0 + bottom: 0 + overflow: hidden + + & > div.slider-cell + margin-right: 5px + + canvas + width: 400px + border: 1px solid blue + background-color: lightgray + + select + margin-top: 10px + + #marker-button, #end-button + margin: 10px 10px 10px 0 + + .slider-cell + margin: 5px 0 + width: 195px + float: left + + .selector + display: inline-block + width: 180px + position: relative + top: 3px + + + #thang-components-edit-view + position: absolute + top: 0px + bottom: 0 + + .treema-root + background-color: white + border-radius: 4px + + + +#spritesheets + position: absolute + top: 0 + bottom: 0 + left: 0 + right: 0 + border: 1px solid green + overflow: scroll + canvas + background: darkseagreen + diff --git a/app/styles/game-menu/choose-hero-view.sass b/app/styles/game-menu/choose-hero-view.sass new file mode 100644 index 000000000..6da51e2ee --- /dev/null +++ b/app/styles/game-menu/choose-hero-view.sass @@ -0,0 +1,3 @@ +#choose-hero-view + h3 + text-decoration: underline diff --git a/app/styles/game-menu/game-menu-modal.sass b/app/styles/game-menu/game-menu-modal.sass new file mode 100644 index 000000000..428dc8e72 --- /dev/null +++ b/app/styles/game-menu/game-menu-modal.sass @@ -0,0 +1,54 @@ +#game-menu-modal + .modal-dialog + margin-top: 0 + + .nav-tabs + h2 + margin: 0 + + .tab-pane + h3:first-child + margin-top: 0 + + // http://stackoverflow.com/questions/18432577/stacked-tabs-in-bootstrap-3 + .tabs-left + > .nav-tabs + float: left + width: 185px + border-bottom: 0 + + > .tab-content + padding: 0px 15px + margin-left: 185px + + .tab-content > .tab-pane, .pill-content > .pill-pane + display: none + + .tab-content > .active, .pill-content > .active + display: block + + .tabs-left + > .nav-tabs > li + float: none + + > a + min-width: 74px + margin-right: 0 + margin-bottom: 0 + + .tabs-left > .nav-tabs + border-right: 1px solid #ddd + + > li > a + margin-right: -1px + -webkit-border-radius: 4px 0 0 4px + -moz-border-radius: 4px 0 0 4px + border-radius: 4px 0 0 4px + + &:hover, &:focus + border-color: #eee #ddd #eee #eee + + > .active a + &, &:hover, &:focus + border-color: #ddd transparent #ddd #ddd + *border-right-color: #fff diff --git a/app/styles/game-menu/guide-view.sass b/app/styles/game-menu/guide-view.sass new file mode 100644 index 000000000..186c61f81 --- /dev/null +++ b/app/styles/game-menu/guide-view.sass @@ -0,0 +1,3 @@ +#guide-view + h3 + text-decoration: underline diff --git a/app/styles/game-menu/inventory-view.sass b/app/styles/game-menu/inventory-view.sass new file mode 100644 index 000000000..9e6856e2f --- /dev/null +++ b/app/styles/game-menu/inventory-view.sass @@ -0,0 +1,3 @@ +#inventory-view + h3 + text-decoration: underline diff --git a/app/styles/play/level/modal/multiplayer.sass b/app/styles/game-menu/multiplayer-view.sass similarity index 83% rename from app/styles/play/level/modal/multiplayer.sass rename to app/styles/game-menu/multiplayer-view.sass index ddc6a084f..c1bfbee23 100644 --- a/app/styles/play/level/modal/multiplayer.sass +++ b/app/styles/game-menu/multiplayer-view.sass @@ -1,4 +1,4 @@ -#level-multiplayer-modal +#multiplayer-view textarea width: 100% box-sizing: border-box diff --git a/app/styles/game-menu/options-view.sass b/app/styles/game-menu/options-view.sass new file mode 100644 index 000000000..ae9542bff --- /dev/null +++ b/app/styles/game-menu/options-view.sass @@ -0,0 +1,68 @@ +@import "app/styles/bootstrap/variables" + +#options-view + .select-group + display: block + min-height: 20px + margin-top: 10px + margin-bottom: 10px + padding-left: 20px + vertical-align: middle + + label + font-weight: normal + margin-right: 20px + margin-bottom: 0 + + .form-group.radio-inline + input + margin-left: 0px + margin-right: 5px + + .radio-inline-parent-label + padding-left: 0 + + #player-avatar-container + position: relative + margin: 0px 0px 15px 15px + width: 230px + max-height: 230px + border-radius: 6px + + img.profile-photo + width: 100% + border-radius: 6px + + &.saving + opacity: 0.5 + + .profile-caption + background-color: rgba(0, 0, 0, 0.5) + color: white + border-bottom-right-radius: 6px + border-bottom-left-radius: 6px + position: absolute + width: 100% + bottom: 0px + left: 0px + text-align: center + border: 0 + font-size: 18px + + .editable-icon + display: block + position: absolute + right: 5px + top: 5px + font-size: 20px + color: $blue + opacity: 0.5 + + &:hover + cursor: pointer + box-shadow: 0px 0px 2px 1px $blue + + .editable-icon + opacity: 1.0 + cursor: pointer + diff --git a/app/styles/game-menu/save-load-view.sass b/app/styles/game-menu/save-load-view.sass new file mode 100644 index 000000000..23b0e03c1 --- /dev/null +++ b/app/styles/game-menu/save-load-view.sass @@ -0,0 +1,15 @@ +#save-load-view + #save-granularity-toggle + width: 100% + label + width: 50% + border-bottom-left-radius: 0 + border-bottom-right-radius: 0 + + .save-list + .list-group-item:first-child + border-top-left-radius: 0 + border-top-right-radius: 0 + + .save-pane + overflow: hidden diff --git a/app/styles/home.sass b/app/styles/home.sass index f5abd9c0f..43c7a8b6a 100644 --- a/app/styles/home.sass +++ b/app/styles/home.sass @@ -223,34 +223,6 @@ background: transparent url(/images/common/code_languages/io_small.png) no-repeat center -#multiplayer-launch-modal - .modal-dialog - width: 700px - - .modal-header - text-align: center - - .modal-body - padding-bottom: 0px - - .modal-footer - padding-top: 0px - - .multiplayer-launch-wrapper - position: relative - margin: 0 auto 30px - iframe - display: block - margin: 0 auto - position: relative - top: 8px - img - position: absolute - left: -7px - top: -3px - width: 660px - height: 382px - pointer-events: none #mobile-trailer-wrapper display: none @@ -281,9 +253,6 @@ font-size: 50px font-family: Bangers @include transition(color .10s linear) - - - h1 text-align: center diff --git a/app/styles/play/level/hud.sass b/app/styles/play/level/hud.sass index bfcbccba7..1982f8339 100644 --- a/app/styles/play/level/hud.sass +++ b/app/styles/play/level/hud.sass @@ -115,7 +115,7 @@ background-position-x: -1 * $iconSize &.prop-label-icon-target background-position-x: -2 * $iconSize - &.prop-label-icon-inventory + &.prop-label-icon-collectedThangIDs background-position-x: -3 * $iconSize &.prop-label-icon-visualRange background-position-x: -4 * $iconSize diff --git a/app/styles/play/level/tome/cast_button.sass b/app/styles/play/level/tome/cast_button.sass index 3b204561d..87afdad55 100644 --- a/app/styles/play/level/tome/cast_button.sass +++ b/app/styles/play/level/tome/cast_button.sass @@ -82,9 +82,7 @@ height: 40px .cast-button - width: 80% - width: -webkit-calc(100% - 40px) - width: calc(100% - 40px) + width: 100% border-top-left-radius: 6px border-bottom-left-radius: 6px @@ -94,18 +92,3 @@ font-size: 14px @media screen and (max-width: 1024px) font-size: 12px - - .cast-options-button - width: 20% - width: -webkit-calc(40px) - width: calc(40px) - - .autocast-delays - min-width: 0 - right: 0 - left: auto - li - a, .dropdown-menu-header - padding: 3px 15px - a.selected - font-weight: bold diff --git a/app/styles/treema-ext.sass b/app/styles/treema-ext.sass index be549724c..6fea9decf 100644 --- a/app/styles/treema-ext.sass +++ b/app/styles/treema-ext.sass @@ -10,9 +10,6 @@ &, & > div.ace_editor width: 100% - & > div.ace_editor - height: 400px - .treema-markdown.treema-display, .treema-coffee.treema-display, .treema-javascript.treema-display width: 100% border: 3px inset rgba(0, 100, 100, 0.2) diff --git a/app/templates/community.jade b/app/templates/community.jade index 396a5a416..7b0df7b38 100644 --- a/app/templates/community.jade +++ b/app/templates/community.jade @@ -2,84 +2,99 @@ extends /templates/base block content - h1(data-i18n="community.main_title") CodeCombat Community + h1(data-i18n="community.main_title") Community - p There are dozens of ways you can get involved with CodeCombat. Check out the resources we've built, decide what sounds the most fun, and we look forward to working with you! + p Check out the ways you can get involved below, decide what sounds the most fun, and we look forward to working with you! div .community_columns - h2 Levels and Art + a(href="/editor/level") + img(src="/images/pages/community/level.png") - p We have built several tools that enable users to get not only edit, but also build new game content! + h2 + a.spl(href="/editor/level", data-i18n="community.level_editor") - ul - li - a(href="/editor/level", data-i18n="community.level_editor") - | : fork, edit, or build your own CodeCombat levels. New levels can be kept private or published to the community. - li - a(href="/editor/thang", data-i18n="editor.thang_title") - | : modify or import new art assets for the game using our powerful editor. - li - a(href="/editor/article", data-i18n="editor.article_title") - | : edit or create documentation used in CodeCombat levels. - - p Right now most of our editing tools are very rough, but we are improving them constantly and welcome your feedback. + p Use the CodeCombat + a.spl(href="/editor/level", data-i18n="community.level_editor") + | to create and edit levels. Users have created levels for their classes, friends, hackathons, students, and siblings. If create a new level sounds intimidating you can start by forking one of ours! .community_columns - h2 Connect + a(href="/editor/thang") + img(src="/images/pages/community/thang.png") - p There are a bunch of ways you can connect with us and get involved in the ongoing development of CodeCombat: - ul + h2 + a.spl(href="/editor/thang", data-i18n="editor.thang_title") - li We write about our progress and current projects on our - a.spl(href="http://blog.codecombat.com", data-i18n="nav.blog") - | . - li Participate in our active user community by checking out our - a.spl(href="http://discourse.codecombat.com", data-i18n="nav.forum") - | . - li For regular news about learning to code, games, and education, check out our - a.spl(href="https://www.facebook.com/codecombat", data-i18n="community.facebook") - | . - li For realtime status or to have a quick chat, follow us on - a.spl(href="https://twitter.com/CodeCombat", data-i18n="community.twitter") - | . - li Don't like Facebook? We're on - a.spl(href="https://plus.google.com/115285980638641924488/posts", data-i18n="community.gplus") - | . - li You can also find us in our - a.spl(href="http://www.hipchat.com/g3plnOKqa", data-i18n="editor.hipchat_url") + p We call items within the game "thangs." Use the + a.spl(href="/editor/thang", data-i18n="editor.thang_title") + | to modify the CodeCombat source artwork. Allow units to throw projectiles, alter the direction of an animation, change a unit's hit points, or upload your own JS art. .community_columns - h2 Contribute + a(href="/editor/article") + img(src="/images/pages/community/article.png") - p Put your skills to use helping us teach the world to code. We have a lot of roles you can consider, and if we don't have a role for you, let us know: + h2 + a.spl(href="/editor/level", data-i18n="editor.article_title") - ul + p See a mistake in some of our docs? Want to make some instructions for your own creations? Check out the + a.spl(href="/editor/article", data-i18n="editor.article_title") + | and help CodeCombat players get the most out of their play time. - li - a(href="/contribute#archmage", data-i18n="classes.archmage_title") - | : contribute by writing code. - li - a(href="/contribute#artisan", data-i18n="classes.artisan_title") - | : build new game levels. - li - a(href="/contribute#adventurer", data-i18n="classes.adventurer_title") - | : test new game levels. - li - a(href="/contribute#scribe", data-i18n="classes.scribe_title") - | : write educational documentation. - li - a(href="/contribute#diplomat", data-i18n="classes.diplomat_title") - | : translate site content. - li - a(href="/contribute#ambassador", data-i18n="classes.ambassador_title") - | : support our community of educators and coders. + div + + .half_width + + h2.lower_titles Find us on these sites + + .logo_row + + a(href="http://blog.codecombat.com") + img(src="/images/pages/community/logo_sett.png") + + a(href="http://discourse.codecombat.com") + img(src="/images/pages/community/logo_discourse.png") + + a(href="https://www.facebook.com/codecombat") + img(src="/images/pages/community/logo_facebook.png") + + a(href="https://twitter.com/CodeCombat") + img(src="/images/pages/community/logo_twitter.png") + + a(href="https://plus.google.com/115285980638641924488/posts") + img(src="/images/pages/community/logo_g+.png") + + a(href="http://www.hipchat.com/g3plnOKqa") + img(src="/images/pages/community/logo_hipchat.png") + + .half_width + + h2.lower_titles Contribute to the Project + + .logo_row + + a(href="/contribute#adventurer") + img(src="/images/pages/community/adventurer.png") + + a(href="/contribute#ambassador") + img(src="/images/pages/community/ambassador.png") + + a(href="/contribute#archmage") + img(src="/images/pages/community/archmage.png") + + a(href="/contribute#scribe") + img(src="/images/pages/community/scribe.png") + + a(href="/contribute#diplomat") + img(src="/images/pages/community/diplomat.png") + + a(href="/contribute#artisan") + img(src="/images/pages/community/artisan.png") + + + .clearfix - | Check out the - a.spl(href="/contribute", data-i18n="nav.contribute") - | page to find out more about the roles and how you can get started. diff --git a/app/templates/docs/components.jade b/app/templates/docs/components.jade index 51fe52c5e..459ba0f00 100644 --- a/app/templates/docs/components.jade +++ b/app/templates/docs/components.jade @@ -27,8 +27,8 @@ block content li.list-group-item(id="#{component.get('name')}#{doc.name}") | #{doc.name} ul.specialList - if doc.description[language] - li!=marked(doc.description[language]) + if doc.description[codeLanguage] + li!=marked(doc.description[codeLanguage]) else li!=marked(doc.description) li.panel-heading diff --git a/app/templates/editor/component/add-thang-components-modal.jade b/app/templates/editor/component/add-thang-components-modal.jade new file mode 100644 index 000000000..ff6ef030c --- /dev/null +++ b/app/templates/editor/component/add-thang-components-modal.jade @@ -0,0 +1,22 @@ +extends /templates/modal/modal_base + +block modal-header-content + h1 Add Components + +block modal-body-content + form + ul.list-group + for system in systems + li.list-group-item + div.item-title(data-toggle="collapse", data-target="##{system}").collapsed + span.glyphicon.glyphicon-chevron-down.text-muted + span.glyphicon.glyphicon-chevron-up.text-muted + a.spl= system + span.spl.text-muted= nameLists[system] + .collapse-panel.collapse(id=system) + for component in components[system] + .checkbox + label + input(type='checkbox', value=component.id) + span.spr #{component.get('name')}: + span.text-muted= component.get('description') diff --git a/app/templates/editor/component/thang-component-config-view.jade b/app/templates/editor/component/thang-component-config-view.jade new file mode 100644 index 000000000..c1ef8c916 --- /dev/null +++ b/app/templates/editor/component/thang-component-config-view.jade @@ -0,0 +1,7 @@ +.panel.panel-default + .panel-heading + em #{component.system}. + strong.panel-title.spr= component.name + span#description.text-muted= component.description + .panel-body + .treema diff --git a/app/templates/editor/component/thang-components-edit-view.jade b/app/templates/editor/component/thang-components-edit-view.jade new file mode 100644 index 000000000..cbfd948c3 --- /dev/null +++ b/app/templates/editor/component/thang-components-edit-view.jade @@ -0,0 +1,9 @@ +#thang-components-column.column + h3 Components + button.btn#add-components-button Add Components + .treema + +.column#thang-components-config-column + h3 Component Configurations + #thang-component-configs + diff --git a/app/templates/editor/components/config.jade b/app/templates/editor/components/config.jade deleted file mode 100644 index 72de0193a..000000000 --- a/app/templates/editor/components/config.jade +++ /dev/null @@ -1,8 +0,0 @@ -h3= component.name -//button.btn#add-remove-button Add Component -p#description= component.description -.treema -//p#other-props -// strong Other Config Properties: -// for prop in configProperties -// a(title=prop.description)= prop.name \ No newline at end of file diff --git a/app/templates/editor/components/main.jade b/app/templates/editor/components/main.jade deleted file mode 100644 index 6f03e8ac5..000000000 --- a/app/templates/editor/components/main.jade +++ /dev/null @@ -1,11 +0,0 @@ -#extant-components-column.column - h3 Components - p Click then press delete to remove. - .treema - -#component-config-column-view.column - -#add-component-column.column - h3 Add Components - p Click then press enter to add. - .treema diff --git a/app/templates/editor/components/table.jade b/app/templates/editor/components/table.jade deleted file mode 100755 index cde222790..000000000 --- a/app/templates/editor/components/table.jade +++ /dev/null @@ -1,21 +0,0 @@ -table.table - tr - th(colspan=3) - span(data-i18n="general.results") - | Results - span - |: #{documents.length} - - tr - th(data-i18n="general.name") Name - th(data-i18n="general.description") Description - th(data-i18n="general.version") Version - - for data in documents - - data = data.attributes; - tr - td - a(href="/editor/component/#{data.slug || data._id}") - | #{data.name} - td.body-row #{data.description} - td #{data.version.major}.#{data.version.minor} \ No newline at end of file diff --git a/app/templates/editor/level/thang/edit.jade b/app/templates/editor/level/thang/level-thang-edit-view.jade similarity index 100% rename from app/templates/editor/level/thang/edit.jade rename to app/templates/editor/level/thang/level-thang-edit-view.jade diff --git a/app/templates/editor/level/thangs_tab.jade b/app/templates/editor/level/thangs_tab.jade index 3cb870ddd..c46e51363 100644 --- a/app/templates/editor/level/thangs_tab.jade +++ b/app/templates/editor/level/thangs_tab.jade @@ -25,8 +25,7 @@ button.navbar-toggle.toggle.btn-primary#thangs-palette-toggle(type="button", dat .world-container.thangs-column h3(data-i18n="editor.level_tab_thangs_conditions") Starting Conditions #canvas-wrapper - #canvas-overlay - button.btn.btn-primary(id="randomize-button", data-toggle="coco-modal", data-target="editor/level/modals/TerrainRandomizeModal", data-i18n="editor.randomize", title="Randomize Terrain") Randomize + button.btn.btn-primary(id="randomize-button", data-toggle="coco-modal", data-target="editor/level/modals/TerrainRandomizeModal", data-i18n="editor.randomize", title="Randomize Terrain") Randomize ul.dropdown-menu#contextmenu li#delete a(data-i18n="editor.delete") Delete @@ -37,4 +36,4 @@ button.navbar-toggle.toggle.btn-primary#thangs-palette-toggle(type="button", dat #canvas-top-gradient.gradient .add-thangs-palette.thangs-column#add-thangs-column -#editor-level-thang-edit.secret \ No newline at end of file +#level-thang-edit-view.secret \ No newline at end of file diff --git a/app/templates/editor/thang/edit.jade b/app/templates/editor/thang/edit.jade deleted file mode 100644 index df7972622..000000000 --- a/app/templates/editor/thang/edit.jade +++ /dev/null @@ -1,95 +0,0 @@ -extends /templates/base - -block content - div - ol.breadcrumb - li - a(href="/editor", data-i18n="editor.main_title") CodeCombat Editors - li - a(href="/editor/thang", data-i18n="editor.thang_title") Thang Editor - li.active - | #{thangType.attributes.name} - - img#portrait.img-thumbnail - - button.btn.btn-secondary#history-button(data-i18n="general.version_history") Version History - button.btn.btn-primary#save-button(data-i18n="common.save", disabled=authorized === true ? undefined : "true") Save - button.btn.btn-primary#revert-button(data-toggle="coco-modal", data-target="modal/RevertModal", data-i18n="editor.revert", disabled=authorized === true ? undefined : "true") Revert - - h3 Edit Thang Type: "#{thangType.attributes.name}" - - ul.nav.nav-tabs - li.active - a(href="#editor-thang-main-tab-view", data-toggle="tab") Main - li - a(href="#editor-thang-components-tab-view", data-toggle="tab") Components - li - a(href="#editor-thang-spritesheets-view", data-toggle="tab") Spritesheets - li - a(href="#editor-thang-colors-tab-view", data-toggle="tab")#color-tab Colors - li - a(href="#editor-thang-patches-view", data-toggle="tab")#patches-tab Patches - - div.tab-content - div.tab-pane#editor-thang-colors-tab-view - - div.tab-pane#editor-thang-main-tab-view.active - - div.main-area.well - div.file-controls - select#animations-select - for animation in animations - option #{animation} - button(disabled=authorized === true ? undefined : "true").btn.btn-small.btn-primary#upload-button - i.icon-upload - button(disabled=authorized === true ? undefined : "true").btn.btn-small.btn-primary#clear-button - i.icon-remove - input#real-upload-button(type="file") - - button.btn.btn-small.btn-primary#marker-button - i.icon-map-marker - - button.btn.btn-small.btn-primary#end-button - i.icon-stop - - div.slider-cell - | Rotation: - span.rotation-label - .selector#rotation-slider - div.slider-cell - | Scale: - span.scale-label - .selector#scale-slider - div.slider-cell - | Resolution: - span.resolution-label 4.0x - .selector#resolution-slider - div.slider-cell - | Health: - span.health-label 10hp - .selector#health-slider - - .clearfix - - div#settings-col - div#thang-type-treema - - canvas#canvas(width="400", height="400") - - .clearfix - - div.tab-pane#editor-thang-components-tab-view - - #thang-components-edit-view - - div.tab-pane#editor-thang-spritesheets-view - - div#spritesheets - - div.tab-pane#editor-thang-patches-view - - div.patches-view - - div#error-view - - .clearfix diff --git a/app/templates/editor/thang/thang-type-edit-view.jade b/app/templates/editor/thang/thang-type-edit-view.jade new file mode 100644 index 000000000..f3560d212 --- /dev/null +++ b/app/templates/editor/thang/thang-type-edit-view.jade @@ -0,0 +1,124 @@ +extends /templates/base +block header + if thangType.loading + nav.navbar.navbar-default(role='navigation')#thang-editor-top-nav + .container-fluid + ul.nav.navbar-nav + li + a(href="/editor/thang") + span.glyphicon-home.glyphicon + else + nav.navbar.navbar-default(role='navigation')#thang-editor-top-nav + ul.nav.navbar-nav + li + a(href="/editor/thang") + span.glyphicon-home.glyphicon + ul.nav.navbar-nav.nav-tabs + li.active + a(href="#editor-thang-main-tab-view", data-toggle="tab") Main + li + a(href="#editor-thang-components-tab-view", data-toggle="tab") Components + li + a(href="#editor-thang-spritesheets-view", data-toggle="tab") Spritesheets + li + a(href="#editor-thang-colors-tab-view", data-toggle="tab")#color-tab Colors + li + a(href="#editor-thang-patches-view", data-toggle="tab")#patches-tab + span(data-i18n="resources.patches").spr Patches + - var patches = thangType.get('patches') + if patches && patches.length + span.badge= patches.length + + .navbar-header + span.navbar-brand #{thangType.attributes.name} + + ul.nav.navbar-nav.navbar-right + if authorized + li#save-button + a + span.glyphicon-floppy-disk.glyphicon + li.dropdown + a(data-toggle='dropdown') + span.glyphicon-chevron-down.glyphicon + ul.dropdown-menu + li.dropdown-header Actions + li(class=anonymous ? "disabled": "") + a(data-toggle="coco-modal", data-target="modal/RevertModal", data-i18n="editor.revert")#revert-button Revert + li.divider + li.dropdown-header Info + li#history-button + a(href='#', data-i18n="general.version_history") Version History + li.divider + li.dropdown-header Help + li + a(href='https://github.com/codecombat/codecombat/wiki/Artisan-Home', data-i18n="editor.wiki", target="_blank") Wiki + li + a(href='http://www.hipchat.com/g3plnOKqa', data-i18n="editor.live_chat", target="_blank") Live Chat + li + a(href='http://discourse.codecombat.com/category/artisan', data-i18n="nav.forum", target="_blank") Forum + li + a(data-toggle="coco-modal", data-target="modal/ContactModal", data-i18n="nav.contact") Email + +block outer_content + .outer-content + div.tab-content + div.tab-pane#editor-thang-colors-tab-view + div.tab-pane#editor-thang-main-tab-view.active + div#settings-col.well + img#portrait.img-thumbnail + div.file-controls + button(disabled=authorized === true ? undefined : "true").btn.btn-small.btn-info#upload-button + span.glyphicon.glyphicon-upload + span.spl Upload Animation + button(disabled=authorized === true ? undefined : "true").btn.btn-small.btn-danger#clear-button + span.glyphicon.glyphicon-remove + span.spl Clear Data + input#real-upload-button(type="file") + div#thang-type-treema + .clearfix + div#display-col.well + canvas#canvas(width="400", height="400") + select#animations-select.form-control + for animation in animations + option #{animation} + div + button.btn.btn-small.btn-primary#marker-button + i.icon-map-marker + span.spl Markers + button.btn.btn-small.btn-primary#end-button + i.icon-stop + span.spl Stop + div.slider-cell + | Rotation: + span.rotation-label + .selector#rotation-slider + div.slider-cell + | Scale: + span.scale-label + .selector#scale-slider + div.slider-cell + | Resolution: + span.resolution-label 4.0x + .selector#resolution-slider + div.slider-cell + | Health: + span.health-label 10hp + .selector#health-slider + + div.tab-pane#editor-thang-components-tab-view + #thang-components-edit-view + div.tab-pane#editor-thang-spritesheets-view + div#spritesheets + div.tab-pane#editor-thang-patches-view + div.patches-view + div#error-view + .clearfix +block footer + + + + + + + + diff --git a/app/templates/game-menu/choose-hero-view.jade b/app/templates/game-menu/choose-hero-view.jade new file mode 100644 index 000000000..961ac33a2 --- /dev/null +++ b/app/templates/game-menu/choose-hero-view.jade @@ -0,0 +1,18 @@ +h3(data-i18n="play_level.reload_title") Reload All Code? + +p(data-i18n="play_level.reload_really") Are you sure you want to reload this level back to the beginning? + +if showDevBits + p + a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.reload_confirm").btn.btn-primary#restart-level-confirm-button Reload All + + img(src="/images/pages/game-menu/choose-hero-stub.png") + + div(data-i18n="choose_hero.temp") Temp + + h3 Interactions + ul + li Click a language button. Click ‘save as default language’ if you want to carry it over to following levels. + li Click a hero. Right here it’s just a simple list on the left with a picture of the hero on the right. Might instead have a carousel on the left and stats on the right. Basically this needs more thought because it’s starting to look like the inventory screen, but this is more for later. Might also have the wizard coloring used here for heroes. + li Click equip and it puts in basically the inventory screen view to choose which items to start the level with. + li Click begin. A new LevelSession is created. LevelLoader is given the new/updated LevelSession, new data is loaded, world reruns. diff --git a/app/templates/game-menu/game-menu-modal.jade b/app/templates/game-menu/game-menu-modal.jade new file mode 100644 index 000000000..a8d8fb6ed --- /dev/null +++ b/app/templates/game-menu/game-menu-modal.jade @@ -0,0 +1,28 @@ +extends /templates/modal/modal_base + +block modal-header + +block modal-body-content + .tabbable.tabs-left + - var submenus = ["inventory", "choose-hero", "save-load", "options", "guide", "multiplayer"] + - if (!showDevBits) { // Not done yet. + - submenus.splice(4, 1); + - submenus.splice(2, 1); + - submenus.splice(0, 1); + - } + ul.nav.nav-tabs + for submenu, index in submenus + li(class=index ? "" : "active") + a(href='#' + submenu + '-view', data-toggle='tab') + h2(data-i18n='game_menu.' + submenu.replace('-', '_') + '_tab') + em(data-i18n='game_menu.' + submenu.replace('-', '_') + '_caption') + .tab-content + for submenu, index in submenus + .tab-pane(id=submenu + '-view') + h3= submenu + submenu + submenu + p + | Lorem ipsum dolor sit amet, charetra varius quam sit amet vulputate. + | Quisque mauris augue, molestie tincidunt condimentum vitae, gravida a libero. + .clearfix + +block modal-footer \ No newline at end of file diff --git a/app/templates/game-menu/guide-view.jade b/app/templates/game-menu/guide-view.jade new file mode 100644 index 000000000..ff1ed3920 --- /dev/null +++ b/app/templates/game-menu/guide-view.jade @@ -0,0 +1,7 @@ +h3 Guide, and stuff + +div(data-i18n="guide.temp") Temp + +p ... and more stuff + +p Just put the existing guide in there pretty much as it is. Also add tab for keyboard shortcuts. diff --git a/app/templates/game-menu/inventory-view.jade b/app/templates/game-menu/inventory-view.jade new file mode 100644 index 000000000..3082c87fc --- /dev/null +++ b/app/templates/game-menu/inventory-view.jade @@ -0,0 +1,11 @@ +img(src="/images/pages/game-menu/inventory-stub.png") + +div(data-i18n="inventory.temp") Temp + +h3 Interactions +ul + li Click an item slot. It is highlighted and items that can go in that slot show up on the right with short descriptions. Full info about it shows up on the lower left. + li Click an item on the menu. It shows up on the lower right. + li To equip an item: drag (if ipad), double click (if web), click swap button (either) + li Click an item on the menu. It swaps the item into the slot. + li If the equipment changed and the player clicks done, a new LevelSession is created with this new equipment. If “use current code” is selected, the code for the current session is copied over to the new session. Modal closes, data is loaded, world runs, etc. diff --git a/app/templates/game-menu/multiplayer-view.jade b/app/templates/game-menu/multiplayer-view.jade new file mode 100644 index 000000000..e27383fd0 --- /dev/null +++ b/app/templates/game-menu/multiplayer-view.jade @@ -0,0 +1,28 @@ +if !ladderGame + .form + .form-group.checkbox + label(for="multiplayer") + input#multiplayer(name="multiplayer", type="checkbox", checked=multiplayer) + span(data-i18n="multiplayer.multiplayer_toggle") Enable multiplayer + span.help-block(data-i18n="multiplayer.multiplayer_toggle_description") Allow others to join your game. + + hr + + div#link-area + p(data-i18n="multiplayer.multiplayer_link_description") Give this link to anyone to have them join you. + + textarea.well#multiplayer-join-link(readonly=true)= joinLink + + p + strong(data-i18n="multiplayer.multiplayer_hint_label") Hint: + span(data-i18n="multiplayer.multiplayer_hint") Click the link to select all, then press ⌘-C or Ctrl-C to copy the link. + + p(data-i18n="multiplayer.multiplayer_coming_soon") More multiplayer features to come! + +if ladderGame + if me.get('anonymous') + p(data-i18n="multiplayer.multiplayer_sign_in_leaderboard") Sign in or create an account and get your solution on the leaderboard. + else if readyToRank + .ladder-submission-view + else + a.btn.btn-primary(href="/play/ladder/#{levelSlug}#my-matches", data-i18n="multiplayer.victory_go_ladder") Return to Ladder diff --git a/app/templates/game-menu/options-view.jade b/app/templates/game-menu/options-view.jade new file mode 100644 index 000000000..732392eda --- /dev/null +++ b/app/templates/game-menu/options-view.jade @@ -0,0 +1,58 @@ +#player-avatar-container(title="Click to change your avatar").pull-right + if !me.get('photoURL') + .editable-icon.glyphicon.glyphicon-pencil + img.profile-photo(src=me.getPhotoURL(230)) + .form-group + input#player-name.profile-caption(name="playerName", type="text", value=me.get('name') || 'Anoner') + +.form + h3(data-i18n="options.general_options") General Options + + .form-group.checkbox + label(for="option-music") + input#option-music(name="option-music", type="checkbox", checked=music) + span(data-i18n="options.music") Music + span.help-block(data-i18n="options.music_description") Turn background music on/off. + + .form-group.select-group + label.control-label(for="option-autorun-delay", data-i18n="options.autorun") Autorun + select#option-autorun-delay(name="autorunDelay") + option(value=1000, selected=(autorunDelay === 1000), data-i18n="common.delay_1_sec") 1 second + option(value=3000, selected=(autorunDelay === 3000), data-i18n="common.delay_3_sec") 3 seconds + option(value=5000, selected=(autorunDelay === 5000), data-i18n="common.delay_5_sec") 5 seconds + option(value=90019001, selected=(autorunDelay === 90019001), data-i18n="common.manual") Manual + span.help-block(data-i18n="options.autorun_description") Control automatic code execution. + + h3(data-i18n="options.editor_config_title") Editor Configuration + + .form-group.select-group + label.control-label(for="option-key-bindings", data-i18n="options.editor_config_keybindings_label") Key Bindings + select#option-key-bindings(name="keyBindings") + option(value="default", selected=(aceConfig.keyBindings === "default"), data-i18n="options.editor_config_keybindings_default") Default (Ace) + option(value="vim", selected=(aceConfig.keyBindings === "vim")) Vim + option(value="emacs", selected=(aceConfig.keyBindings === "emacs")) Emacs + span.help-block(data-i18n="options.editor_config_keybindings_description") Adds additional shortcuts known from the common editors. + + .form-group.checkbox + label(for="option-live-completion") + input#option-live-completion(name="liveCompletion", type="checkbox", checked=aceConfig.liveCompletion) + span(data-i18n="options.editor_config_livecompletion_label") Live Autocompletion + span.help-block(data-i18n="options.editor_config_livecompletion_description") Displays autocomplete suggestions while typing. + + .form-group.checkbox + label(for="option-invisibles") + input#option-invisibles(name="invisibles", type="checkbox", checked=aceConfig.invisibles) + span(data-i18n="options.editor_config_invisibles_label") Show Invisibles + span.help-block(data-i18n="options.editor_config_invisibles_description") Displays invisibles such as spaces or tabs. + + .form-group.checkbox + label(for="option-indent-guides") + input#option-indent-guides(name="indentGuides", type="checkbox", checked=aceConfig.indentGuides) + span(data-i18n="options.editor_config_indentguides_label") Show Indent Guides + span.help-block(data-i18n="options.editor_config_indentguides_description") Displays vertical lines to see indentation better. + + .form-group.checkbox + label(for="option-behaviors") + input#option-behaviors(name="behaviors", type="checkbox", checked=aceConfig.behaviors) + span(data-i18n="options.editor_config_behaviors_label") Smart Behaviors + span.help-block(data-i18n="options.editor_config_behaviors_description") Autocompletes brackets, braces, and quotes. diff --git a/app/templates/game-menu/save-load-view.jade b/app/templates/game-menu/save-load-view.jade new file mode 100644 index 000000000..fee6b41c2 --- /dev/null +++ b/app/templates/game-menu/save-load-view.jade @@ -0,0 +1,45 @@ +.row + .col-sm-4 + .btn-group(data-toggle="buttons")#save-granularity-toggle + label.btn.btn-primary.active + input(type="radio", checked=true, value="level-sessions") + span(data-i18n="save_load.granularity_saved_games", title="Manage your saved games") + label.btn.btn-primary + input(type="radio", value="change-history") + span(data-i18n="save_load.granularity_change_history", title="See your autosaved code edit history") + .save-list.level-sessions + ul.list-group + li.list-group-item Save 001 + li.list-group-item Greedy Algorithm + li.list-group-item Defensive Strategy + .save-list.change-history.secret + ul.list-group + li.list-group-item --item switches yeah-- + li.list-group-item Autosaved 17:05 + li.list-group-item Autosaved 14:45 + li.list-group-item Autosaved 16:40 + li.list-group-item Autosaved 5:05 + li.list-group-item Autosaved 5:00 + li.list-group-item --item switches yeah-- + li.list-group-item Autosaved 4:50 + li.list-group-item Autosaved 7/7/14 + li.list-group-item Autosaved 7/7/14 + .col-sm-8 + .save-pane.level-sessions + img(src="/images/pages/game-menu/save-load-stub.png") + h3 Interactions: + ul + li On the left is a flat list of saves for this level. Click one and the stuff on the right appears. + li There are name and description input boxes. Editing them auto updates the save on the left. + li There are also items showing what the current equipment is, and below the current code. Neither are editable. + li If you click the red box on any save, or click the delete button for the selected save, it asks for confirmation, then deletes. + li Click the new save button: current code, items and empty name/description appear on the right, and a new save slot appears at the top of the list on the left, which is selected. Works like editing otherwise. + + .save-pane.change-history.secret + img(src="/images/pages/game-menu/save-load-history-stub.png") + h3 Interactions + ul + li Similar to WebStorm. Click ‘history’ tab in the upper left of the save/load screen to switch to this view. + li Click the left row of VCS versions, and the hero, language, items and code for it shows on the right. + li Click revert to set the code back to the version of the code on the left. Modal closes with the new code. + li Might experiment with showing diffs with difflib. More of an interface issue than a showing-diff issue. diff --git a/app/templates/multiplayer_launch_modal.jade b/app/templates/multiplayer_launch_modal.jade deleted file mode 100644 index 181f2515d..000000000 --- a/app/templates/multiplayer_launch_modal.jade +++ /dev/null @@ -1,33 +0,0 @@ -extends /templates/modal/modal_base - -block modal-header-content - h1(data-i18n="multiplayer_launch.introducing_dungeon_arena") Introducing Dungeon Arena - em(data-i18n="multiplayer_launch.new_way") The new way to compete with code. - -block modal-body-content - - .multiplayer-launch-wrapper - <iframe id="multiplayer-video" width="640" height="360" src="//www.youtube.com/embed/wfc0U74LFCk?&rel=0&controls=0&modestbranding=1&showinfo=0&iv_load_policy=3&vq=hd720&wmode=transparent" frameborder="0" allowfullscreen></iframe> - img(src="/images/pages/home/video_border.png") - - h3(data-i18n="multiplayer_launch.to_battle") To Battle, Developers! - - p(data-i18n="multiplayer_launch.modern_day_sorcerer") You know how to code? That's badass. You're a modern-day sorcerer! Isn't about time that you used your magic coding powers to command your minions in epic combat? And we're not talking robots here. - - p - strong(data-i18n="multiplayer_launch.arenas_are_here") CodeCombat head-to-head multiplayer arenas are here. - | - span(data-i18n="multiplayer_launch.ladder_explanation") Choose your heroes, enchant your human or ogre armies, and climb your way over defeated fellow Wizards to reach the top of the ladders–then challenge your friends in our glorious, asynchronous multiplayer coding arenas. If you're feeling creative, you can even - | - a(href="/editor/level/dungeon-arena", data-i18n="multiplayer_launch.fork_our_arenas") fork our arenas - | - span(data-i18n="multiplayer_launch.create_worlds") and create your own worlds. - - p - span(data-i18n="multiplayer_launch.javascript_rusty") JavaScript a bit rusty? Don't worry; there's a - | - a(href="/play/level/dungeon-arena-tutorial", data-i18n="multiplayer_launch.tutorial") tutorial - span(data-i18n="multiplayer_launch.new_to_programming") . New to programming? Hit our beginner campaign to skill up. - -block modal-footer-content - button.btn.btn-large.btn-success(type="button", data-dismiss="modal", aria-hidden="true", data-i18n="multiplayer_launch.so_ready") I Am So Ready for This diff --git a/app/templates/play/ladder/ladder_tab.jade b/app/templates/play/ladder/ladder_tab.jade index 2c74735eb..00982e8c6 100644 --- a/app/templates/play/ladder/ladder_tab.jade +++ b/app/templates/play/ladder/ladder_tab.jade @@ -3,47 +3,49 @@ div#columns.row div.column.col-md-4 div(id="histogram-display-#{team.name}", class="histogram-display",data-team-name=team.name) table.table.table-bordered.table-condensed.table-hover - tr - th(colspan=2) - th(colspan=3, style="color: #{team.primaryColor}") - span= team.name - span - span(data-i18n="ladder.leaderboard") Leaderboard - tr - th(colspan=2) - th(data-i18n="general.score") Score - th(data-i18n="general.name").name-col-cell Name - th + thead + tr + th(colspan=2) + th(colspan=3, style="color: #{team.primaryColor}") + span= team.name + span + span(data-i18n="ladder.leaderboard") Leaderboard + tr + th(colspan=2) + th(data-i18n="general.score") Score + th(data-i18n="general.name").name-col-cell Name + th - - var topSessions = team.leaderboard.topPlayers.models; - - var showJustTop = team.leaderboard.inTopSessions() || me.get('anonymous'); - - if(!showJustTop && topSessions.length == 20) topSessions = topSessions.slice(0, 10); - for session, rank in topSessions - - var myRow = session.get('creator') == me.id - tr(class=myRow ? "success" : "", data-player-id=session.get('creator'), data-session-id=session.id) - td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)" title=capitalize(session.get('submittedCodeLanguage'))) - td.rank-cell= rank + 1 - td.score-cell= Math.round(session.get('totalScore') * 100) - td.name-col-cell= session.get('creatorName') || "Anonymous" - td.fight-cell - a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}") - span(data-i18n="ladder.fight") Fight! - - if !showJustTop && team.leaderboard.nearbySessions().length - tr(class="active") - td(colspan=4).ellipsis-row ... - for session in team.leaderboard.nearbySessions() + tbody + - var topSessions = team.leaderboard.topPlayers.models; + - var showJustTop = team.leaderboard.inTopSessions() || me.get('anonymous'); + - if(!showJustTop && topSessions.length == 20) topSessions = topSessions.slice(0, 10); + for session, rank in topSessions - var myRow = session.get('creator') == me.id tr(class=myRow ? "success" : "", data-player-id=session.get('creator'), data-session-id=session.id) - td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)") - td.rank-cell= session.rank + td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)" title=capitalize(session.get('submittedCodeLanguage'))) + td.rank-cell= rank + 1 td.score-cell= Math.round(session.get('totalScore') * 100) td.name-col-cell= session.get('creatorName') || "Anonymous" td.fight-cell a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}") span(data-i18n="ladder.fight") Fight! - if teamIndex == 1 - .btn.btn-sm.load-more-ladder-entries More + + if !showJustTop && team.leaderboard.nearbySessions().length + tr(class="active") + td(colspan=4).ellipsis-row ... + for session in team.leaderboard.nearbySessions() + - var myRow = session.get('creator') == me.id + tr(class=myRow ? "success" : "", data-player-id=session.get('creator'), data-session-id=session.id) + td.code-language-cell(style="background-image: url(/images/common/code_languages/" + session.get('submittedCodeLanguage') + "_icon.png)") + td.rank-cell= session.rank + td.score-cell= Math.round(session.get('totalScore') * 100) + td.name-col-cell= session.get('creatorName') || "Anonymous" + td.fight-cell + a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}") + span(data-i18n="ladder.fight") Fight! + if teamIndex == 1 + .btn.btn-sm.load-more-ladder-entries More div.column.col-md-4 h4.friends-header(data-i18n="ladder.friends_playing") Friends Playing diff --git a/app/templates/play/ladder/simulate_tab.jade b/app/templates/play/ladder/simulate_tab.jade index fe266c6d9..dda0f4d02 100644 --- a/app/templates/play/ladder/simulate_tab.jade +++ b/app/templates/play/ladder/simulate_tab.jade @@ -20,33 +20,35 @@ p.simulation-count | span#games-in-queue= numberOfGamesInQueue || 0 table.table.table-bordered.table-condensed.table-hover - tr - th - th(data-i18n="general.player").name-col-cell Player - th(data-i18n="ladder.games_simulated") Games simulated - th(data-i18n="ladder.games_played") Games played - th(data-i18n="ladder.ratio") Ratio - - var topSimulators = simulatorsLeaderboardData.topSimulators.models; - - var showJustTop = simulatorsLeaderboardData.inTopSimulators() || me.get('anonymous'); - - if(!showJustTop) topSimulators = topSimulators.slice(0, 10); - for user, rank in topSimulators - - var myRow = user.id == me.id - tr(class=myRow ? "success" : "") - td.simulator-leaderboard-cell= rank + 1 - td.name-col-cell= user.get('name') || "Anonymous" - td.simulator-leaderboard-cell= user.get('simulatedBy') - td.simulator-leaderboard-cell= user.get('simulatedFor') - td.simulator-leaderboard-cell= Math.round((user.get('simulatedBy') / user.get('simulatedFor')) * 10) / 10 - - if !showJustTop && simulatorsLeaderboardData.nearbySimulators().length - tr(class="active") - td(colspan=5).ellipsis-row ... - for user in simulatorsLeaderboardData.nearbySimulators() + thead + tr + th + th(data-i18n="general.player").name-col-cell Player + th(data-i18n="ladder.games_simulated") Games simulated + th(data-i18n="ladder.games_played") Games played + th(data-i18n="ladder.ratio") Ratio + tbody + - var topSimulators = simulatorsLeaderboardData.topSimulators.models; + - var showJustTop = simulatorsLeaderboardData.inTopSimulators() || me.get('anonymous'); + - if(!showJustTop) topSimulators = topSimulators.slice(0, 10); + for user, rank in topSimulators - var myRow = user.id == me.id - - var ratio = user.get('simulatedBy') / user.get('simulatedFor'); tr(class=myRow ? "success" : "") - td.simulator-leaderboard-cell= user.rank + td.simulator-leaderboard-cell= rank + 1 td.name-col-cell= user.get('name') || "Anonymous" td.simulator-leaderboard-cell= user.get('simulatedBy') td.simulator-leaderboard-cell= user.get('simulatedFor') - td.simulator-leaderboard-cell= _.isNaN(ratio) || ratio == Infinity ? '' : ratio.toFixed(1) + td.simulator-leaderboard-cell= Math.round((user.get('simulatedBy') / user.get('simulatedFor')) * 10) / 10 + + if !showJustTop && simulatorsLeaderboardData.nearbySimulators().length + tr(class="active") + td(colspan=5).ellipsis-row ... + for user in simulatorsLeaderboardData.nearbySimulators() + - var myRow = user.id == me.id + - var ratio = user.get('simulatedBy') / user.get('simulatedFor'); + tr(class=myRow ? "success" : "") + td.simulator-leaderboard-cell= user.rank + td.name-col-cell= user.get('name') || "Anonymous" + td.simulator-leaderboard-cell= user.get('simulatedBy') + td.simulator-leaderboard-cell= user.get('simulatedFor') + td.simulator-leaderboard-cell= _.isNaN(ratio) || ratio == Infinity ? '' : ratio.toFixed(1) diff --git a/app/templates/play/level/control_bar.jade b/app/templates/play/level/control_bar.jade index d85a5c700..745a16411 100644 --- a/app/templates/play/level/control_bar.jade +++ b/app/templates/play/level/control_bar.jade @@ -6,15 +6,11 @@ h4.home h4.title #{worldName} +button.btn.btn-xs.btn-inverse.banner#game-menu-button(title="Show game menu", data-i18n="play_level.game_menu") Game Menu + button.btn.btn-xs.btn-success.banner#docs-button(title="Show level instructions", data-i18n="play_level.guide") Guide -if ladderGame - button.btn.btn-xs.btn-inverse.banner#multiplayer-button(title="Leaderboard", data-i18n="play_level.leaderboard") Leaderboard -else - button.btn.btn-xs.btn-inverse.banner#multiplayer-button(title="Multiplayer", data-i18n="play_level.multiplayer") Multiplayer if spectateGame button.btn.btn-xs.btn-inverse.banner#next-game-button(title="Next Game", data-i18n="play_level.next-game") Next game! -button.btn.btn-xs.btn-inverse.banner#restart-button(title="Reload all custom code to reset level", data-i18n="play_level.restart") Restart - button.btn.btn-xs.btn-primary.banner#level-done-button(data-i18n="play_level.done") Done diff --git a/app/templates/play/level/modal/multiplayer.jade b/app/templates/play/level/modal/multiplayer.jade deleted file mode 100644 index cc2712f38..000000000 --- a/app/templates/play/level/modal/multiplayer.jade +++ /dev/null @@ -1,37 +0,0 @@ -extends /templates/modal/modal_base - -block modal-header-content - h3(data-i18n="play_level.multiplayer_title") Multiplayer Settings - -block modal-body-content - if !ladderGame - .form - .form-group.checkbox - label(for="multiplayer") - input#multiplayer(name="multiplayer", type="checkbox", checked=multiplayer) - | Multiplayer - span.help-block Enable others to join your game. - - hr - - div#link-area - p(data-i18n="play_level.multiplayer_link_description") Give this link to anyone to have them join you. - - textarea.well#multiplayer-join-link(readonly=true)= joinLink - - p - strong(data-i18n="play_level.multiplayer_hint_label") Hint: - span(data-i18n="play_level.multiplayer_hint") Click the link to select all, then press ⌘-C or Ctrl-C to copy the link. - - p(data-i18n="play_level.multiplayer_coming_soon") More multiplayer features to come! - - if ladderGame - if me.get('anonymous') - p(data-i18n="play_level.multiplayer_sign_in_leaderboard") Sign in or create an account and get your solution on the leaderboard. - else if readyToRank - .ladder-submission-view - else - a.btn.btn-primary(href="/play/ladder/#{levelSlug}#my-matches", data-i18n="play_level.victory_go_ladder") Return to Ladder - -block modal-footer-content - a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn.btn-primary Close diff --git a/app/templates/play/level/modal/reload.jade b/app/templates/play/level/modal/reload.jade deleted file mode 100644 index 50f429594..000000000 --- a/app/templates/play/level/modal/reload.jade +++ /dev/null @@ -1,11 +0,0 @@ -extends /templates/modal/modal_base - -block modal-header-content - h3(data-i18n="play_level.reload_title") Reload All Code? - -block modal-body-content - p(data-i18n="play_level.reload_really") Are you sure you want to reload this level back to the beginning? - -block modal-footer-content - a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="modal.close").btn Close - a(href='#', data-dismiss="modal", aria-hidden="true", data-i18n="play_level.reload_confirm").btn.btn-primary#restart-level-confirm-button Reload All diff --git a/app/templates/play/level/tome/cast_button.jade b/app/templates/play/level/tome/cast_button.jade index 7e2082d90..cbaf3079b 100644 --- a/app/templates/play/level/tome/cast_button.jade +++ b/app/templates/play/level/tome/cast_button.jade @@ -1,15 +1,3 @@ div.btn-group.btn-group-lg.cast-button-group.dropup .button-progress-overlay button.btn.btn-inverse.banner.cast-button(title=castShortcutVerbose + ": Cast current spell", data-i18n="play_level.tome_cast_button_cast") Spell Cast - button.btn.btn-inverse.banner.cast-options-button.dropdown-toggle(data-toggle="dropdown") - i.icon-cog.icon-white.big - - ul.dropdown-menu.autocast-delays - li - span.dropdown-menu-header(data-i18n="play_level.tome_autocast_delay") Autocast Delay - li.divider - li - a(data-delay="1000", href="#", data-i18n="common.delay_1_sec") 1 second - a(data-delay="3000", href="#", data-i18n="common.delay_3_sec") 3 seconds - a(data-delay="5000", href="#", data-i18n="common.delay_5_sec") 5 seconds - a(data-delay="90019001", href="#", data-i18n="common.manual") Manual \ No newline at end of file diff --git a/app/treema-ext.coffee b/app/treema-ext.coffee index d5fda7677..6fab2cc2c 100644 --- a/app/treema-ext.coffee +++ b/app/treema-ext.coffee @@ -225,14 +225,8 @@ class CodeTreema extends TreemaNode.nodeMap.ace super(valEl) if not @schema.aceMode and mode = codeLanguages[@keyForParent] @editor.getSession().setMode mode - @editor.on('change', @onEditorChange) valEl - onEditorChange: => - @saveChanges() - @flushChanges() - @getRoot().broadcastChanges() - class CoffeeTreema extends CodeTreema constructor: -> super(arguments...) @@ -307,27 +301,20 @@ class LatestVersionReferenceNode extends TreemaNode input = valEl.find('input') input.focus().keyup @search input.attr('placeholder', @formatDocument(@data)) if @data + + buildSearchURL: (term) -> "#{@url}?term=#{term}&project=true" search: => term = @getValEl().find('input').val() return if term is @lastTerm - # HACK while search is broken - if @collection - @lastTerm = term - @searchCallback() - return - @getSearchResultsEl().empty() if @lastTerm and not term return unless term @lastTerm = term @getSearchResultsEl().empty().append('Searching') @collection = new LatestVersionCollection([], model: @model) - # HACK while search is broken -# @collection.url = "#{@url}?term=#{term}&project=true" - @collection.url = "#{@url}?term=#{''}&project=true" - + @collection.url = @buildSearchURL(term) @collection.fetch() @collection.once 'sync', @searchCallback, @ @@ -338,10 +325,6 @@ class LatestVersionReferenceNode extends TreemaNode row = $('<div></div>').addClass('treema-search-result-row') text = @formatDocument(model) continue unless text? - - # HACK while search is broken - continue unless text.toLowerCase().indexOf(@lastTerm.toLowerCase()) >= 0 - row.addClass('treema-search-selected') if first first = false row.text(text) @@ -353,10 +336,11 @@ class LatestVersionReferenceNode extends TreemaNode getSearchResultsEl: -> @getValEl().find('.treema-search-results') getSelectedResultEl: -> @getValEl().find('.treema-search-selected') + + modelToString: (model) -> model.get('name') formatDocument: (docOrModel) -> - doc = docOrModel.attributes or docOrModel - return doc.name if doc.name? + return @modelToString(docOrModel) if docOrModel instanceof CocoModel return 'Unknown' unless @settings.supermodel? m = CocoModel.getReferencedModel(@data, @schema) urlGoingFor = m.url() @@ -366,7 +350,7 @@ class LatestVersionReferenceNode extends TreemaNode m.url = -> urlGoingFor @settings.supermodel.registerModel(m) return 'Unknown' unless m - return m.get('name') + return @modelToString(m) saveChanges: -> selected = @getSelectedResultEl() @@ -379,10 +363,12 @@ class LatestVersionReferenceNode extends TreemaNode @instance = fullValue onDownArrowPressed: (e) -> + return super(arguments...) unless @isEditing() @navigateSearch(1) e.preventDefault() onUpArrowPressed: (e) -> + return super(arguments...) unless @isEditing() e.preventDefault() @navigateSearch(-1) @@ -410,7 +396,14 @@ class LatestVersionReferenceNode extends TreemaNode return if @data? selected = @getSelectedResultEl() return not selected.length - + +class LevelComponentReferenceNode extends LatestVersionReferenceNode + # HACK: this list of properties is needed by the thang components edit view and config views. + # need a better way to specify this, or keep the search models from bleeding into those + # supermodels. + buildSearchURL: (term) -> "#{@url}?term=#{term}&project=name,system,original,version,dependencies,configSchema,description" + modelToString: (model) -> model.get('system') + '.' + model.get('name') + canEdit: -> not @data.original # only allow editing if the row's data hasn't been set yet LatestVersionReferenceNode.prototype.search = _.debounce(LatestVersionReferenceNode.prototype.search, 200) @@ -431,6 +424,7 @@ module.exports.setup = -> TreemaNode.setNodeSubclass('javascript', JavaScriptTreema) TreemaNode.setNodeSubclass('image-file', ImageFileTreema) TreemaNode.setNodeSubclass('latest-version-reference', LatestVersionReferenceNode) + TreemaNode.setNodeSubclass('component-reference', LevelComponentReferenceNode) TreemaNode.setNodeSubclass('i18n', InternationalizationNode) TreemaNode.setNodeSubclass('sound-file', SoundFileTreema) TreemaNode.setNodeSubclass 'slug-props', SlugPropsObject diff --git a/app/views/DemoView.coffee b/app/views/DemoView.coffee index d18190162..04cea9377 100644 --- a/app/views/DemoView.coffee +++ b/app/views/DemoView.coffee @@ -1,4 +1,5 @@ CocoView = require 'views/kinds/CocoView' +ModalView = require 'views/kinds/ModalView' template = require 'templates/demo' requireUtils = require 'lib/requireUtils' @@ -81,7 +82,10 @@ module.exports = DemoView = class DemoView extends CocoView jasmine.Ajax.install() view = demoFunc() return unless view - @$el.find('#demo-area').empty().append(view.$el) + if view instanceof ModalView + @openModalView(view) + else + @$el.find('#demo-area').empty().append(view.$el) view.afterInsert() # TODO, maybe handle root views differently than modal views differently than everything else? diff --git a/app/views/MultiplayerView.coffee b/app/views/MultiplayerView.coffee deleted file mode 100644 index 9b5737d10..000000000 --- a/app/views/MultiplayerView.coffee +++ /dev/null @@ -1,20 +0,0 @@ -HomeView = require './HomeView' -ModalView = require 'views/kinds/ModalView' -modalTemplate = require 'templates/multiplayer_launch_modal' - -module.exports = class MultiplayerLaunchView extends HomeView - afterInsert: -> - super() - @openModalView(new MultiplayerLaunchModal()) - -class MultiplayerLaunchModal extends ModalView - template: modalTemplate - id: 'multiplayer-launch-modal' - - hide: -> - $('#multiplayer-video').attr('src','') - super() - - onHidden: -> - $('#multiplayer-video').attr('src','') - super() diff --git a/app/views/docs/ComponentDocumentationView.coffee b/app/views/docs/ComponentDocumentationView.coffee index b20385618..7418e333d 100644 --- a/app/views/docs/ComponentDocumentationView.coffee +++ b/app/views/docs/ComponentDocumentationView.coffee @@ -18,23 +18,9 @@ module.exports = class ComponentDocumentationView extends CocoView @componentDocs = new ComponentDocsCollection() @supermodel.loadCollection @componentDocs, 'components' - onLoaded: -> - console.log 'we have the components...', (c.get('name') for c in @componentDocs.models) - console.log 'we have the attributes...', (c.attributes for c in @componentDocs.models) - if (me.get('aceConfig')?.language?) is false - console.log 'default language javascript' - else - console.log 'language is =', me.get('aceConfig').language - - #console.log 'test', @componentDocs.models[99].attributes.propertyDocumentation[1].description['python'] - super() - getRenderData: -> c = super() c.components = @componentDocs.models c.marked = marked - if (me.get('aceConfig')?.language?) is false - c.language = 'javascript' - else - c.language = me.get('aceConfig').language - c \ No newline at end of file + c.codeLanguage = me.get('aceConfig')?.language ? 'javascript' + c diff --git a/app/views/editor/component/AddThangComponentsModal.coffee b/app/views/editor/component/AddThangComponentsModal.coffee new file mode 100644 index 000000000..ab937ae84 --- /dev/null +++ b/app/views/editor/component/AddThangComponentsModal.coffee @@ -0,0 +1,40 @@ +ModalView = require 'views/kinds/ModalView' +template = require 'templates/editor/component/add-thang-components-modal' +CocoCollection = require 'collections/CocoCollection' +LevelComponent = require 'models/LevelComponent' + +module.exports = class UnnamedView extends ModalView + id: 'add-thang-components-modal' + template: template + plain: true + modalWidthPercent: 80 + + events: + 'click .footer button': 'onDonePressed' + + initialize: (options) -> + super() + @skipOriginals = options.skipOriginals or [] + @components = new CocoCollection([], model: LevelComponent) + @components.url = "/db/level.component?term=&project=name,system,original,version,description" + @supermodel.loadCollection(@components, 'components') + + getRenderData: -> + c = super() + c.components = (comp for comp in @components.models when not (comp.get('original') in @skipOriginals)) + c.components = _.groupBy(c.components, (comp) -> comp.get('system')) + c.nameLists = {} + for system, componentList of c.components + c.components[system] = _.sortBy(componentList, (comp) -> comp.get('name')) + c.nameLists[system] = (comp.get('name') for comp in c.components[system]).join(', ') + c.systems = _.keys(c.components) + c.systems.sort() + c + + getSelectedComponents: -> + selected = @$el.find('input[type="checkbox"]:checked') + vals = ($(el).val() for el in selected) + components = (c for c in @components.models when c.id in vals) + return components +# sparseComponents = ({original: c.get('original'), majorVersion: c.get('version').major} for c in components) +# return sparseComponents \ No newline at end of file diff --git a/app/views/editor/component/ThangComponentConfigView.coffee b/app/views/editor/component/ThangComponentConfigView.coffee index 8b544465e..81c86d331 100644 --- a/app/views/editor/component/ThangComponentConfigView.coffee +++ b/app/views/editor/component/ThangComponentConfigView.coffee @@ -1,28 +1,29 @@ CocoView = require 'views/kinds/CocoView' -template = require 'templates/editor/components/config' +template = require 'templates/editor/component/thang-component-config-view' Level = require 'models/Level' LevelComponent = require 'models/LevelComponent' nodes = require '../level/treema_nodes' module.exports = class ThangComponentConfigView extends CocoView - id: 'component-config-column-view' + className: 'thang-component-config-view' template: template - className: 'column' changed: false + events: + 'click .treema-shortened': -> console.log 'clicked treema root' + constructor: (options) -> super options @component = options.component @config = options.config or {} @world = options.world @level = options.level - @editing = options.editing @callback = options.callback getRenderData: (context={}) -> context = super(context) - context.component = @component + context.component = @component.attributes context.configProperties = [] context @@ -38,7 +39,7 @@ module.exports = class ThangComponentConfigView extends CocoView superteams = _.union(teams, superteams) treemaOptions = supermodel: @supermodel - schema: @component.configSchema + schema: @component.attributes.configSchema data: _.cloneDeep @config callbacks: {change: @onConfigEdited} world: @world @@ -58,16 +59,17 @@ module.exports = class ThangComponentConfigView extends CocoView 'seconds': nodes.SecondsNode 'speed': nodes.SpeedNode 'acceleration': nodes.AccelerationNode - treemaOptions.readOnly = not @editing + 'item-thang-type': nodes.ItemThangTypeNode @editThangTreema = @$el.find('.treema').treema treemaOptions @editThangTreema.build() @editThangTreema.open(2) - @hideLoading() + if _.isEqual(@editThangTreema.data, {}) and not @editThangTreema.canAddChild() + @$el.find('.panel-body').hide() onConfigEdited: => @changed = true - @callback?(@data()) + @trigger 'changed', { component: @component, config: @data() } undo: -> @editThangTreema.undo() diff --git a/app/views/editor/component/ThangComponentEditView.coffee b/app/views/editor/component/ThangComponentEditView.coffee deleted file mode 100644 index 46b0e8f99..000000000 --- a/app/views/editor/component/ThangComponentEditView.coffee +++ /dev/null @@ -1,281 +0,0 @@ -CocoView = require 'views/kinds/CocoView' -template = require 'templates/editor/components/main' - -Level = require 'models/Level' -LevelComponent = require 'models/LevelComponent' -LevelSystem = require 'models/LevelSystem' -ComponentsCollection = require 'collections/ComponentsCollection' -ComponentConfigView = require './ThangComponentConfigView' - -module.exports = class ThangComponentEditView extends CocoView - id: 'thang-components-edit-view' - template: template - - constructor: (options) -> - super options - @components = options.components or [] - @world = options.world - @level = options.level - @callback = options.callback - @componentCollection = @supermodel.loadCollection(new ComponentsCollection(), 'components').model - - afterRender: -> - super() - return unless @supermodel.finished() - @buildExtantComponentTreema() - @buildAddComponentTreema() - - buildExtantComponentTreema: -> - level = new Level() - treemaOptions = - supermodel: @supermodel - schema: level.schema().properties.thangs.items.properties.components - data: _.cloneDeep @components - callbacks: {select: @onSelectExtantComponent, change: @onChangeExtantComponents} - noSortable: true - nodeClasses: - 'thang-components-array': ThangComponentsArrayNode - 'thang-component': ThangComponentNode - - @extantComponentsTreema = @$el.find('#extant-components-column .treema').treema treemaOptions - @extantComponentsTreema.build() - @$el.find('#extant-components-column .treema').droppable({ - drop: => - @onAddComponentEnterPressed @selectedRow - }) - - buildAddComponentTreema: -> - return unless @componentCollection and @extantComponentsTreema - extantComponents = @extantComponentsTreema.data - componentsUsedCount = extantComponents.length - return if @lastComponentsUsedCount is componentsUsedCount - @lastComponentsUsedCount = componentsUsedCount - components = (m.attributes for m in @componentCollection.models) - _.remove components, (comp) => - _.find extantComponents, {original: comp.original} # already have this one added - components = _.sortBy components, (comp) -> comp.system + '.' + comp.name - - treemaOptions = - supermodel: @supermodel - schema: {type: 'array', items: LevelComponent.schema} - data: ($.extend(true, {}, c) for c in components) - callbacks: { - select: @onSelectAddableComponent - enter: @onAddComponentEnterPressed - dblclick: @onAddComponentDoubleClicked - mouseenter: @onAddComponentMouseEnter - mouseleave: @onAddComponentMouseLeave - } - readOnly: true - noSortable: true - nodeClasses: - 'array': ComponentArrayNode - 'object': ComponentNode - # I have no idea why it's not building in the Thang Editor unless I defer - _.defer (=> - @addComponentsTreema = @$el.find('#add-component-column .treema').treema treemaOptions - @addComponentsTreema.build() - @$el.find('#add-component-column .treema-node').draggable({ - revert: true - start: (e) -> - # Hack to ensure dragged treema node is selected - $(@).trigger('click') unless $(@).hasClass 'treema-selected' - }) - @hideLoading() - ), 500 - - onSelectAddableComponent: (e, selected) => - @extantComponentsTreema.deselectAll() - @onComponentSelected(selected, false) - - onSelectExtantComponent: (e, selected) => - return if @updatingFromConfig - @addComponentsTreema.deselectAll() - @onComponentSelected(selected, true) - - onComponentSelected: (selected, extant=true) -> - return if @alreadySaving # handle infinite loops - @alreadySaving = true - @closeExistingView() - @alreadySaving = false - - return unless selected.length - - # select dependencies. - node = selected[0] - original = node.data.original - - toRemoveTreema = [] - dependent_class = 'treema-dependent' - try - for index, child of @extantComponentsTreema.childrenTreemas - $(child.$el).removeClass(dependent_class) - - for index, child of @extantComponentsTreema.childrenTreemas - if child.data.original == original # Here we assume that the treemas are sorted by their dependency. - break - - dep_originals = (d.original for d in child.component.attributes.dependencies) - for dep_original in dep_originals - if original == dep_original - toRemoveTreema.push child - - for dep_treema in toRemoveTreema - dep_treema.toggleSelect() - $(dep_treema.$el).addClass(dependent_class) - - catch error - console.error error - - return unless selected.length - row = selected[0] - @selectedRow = row - component = row.component?.attributes or row.data - config = if extant then row.data?.config else {} - @configView = new ComponentConfigView({ - supermodel: @supermodel - level: @level - world: @world - config: config - component: component - editing: extant - callback: @onComponentConfigChanged - }) - @insertSubView @configView - - closeExistingView: -> - return unless @configView - data = @configView.data() - @selectedRow.set '/config', data if data and @configView.changed and @configView.editing - @removeSubView @configView - @configView = null - - onComponentConfigChanged: (data) => - @updatingFromConfig = true - @selectedRow.set '/config', data if data and @configView.changed and @configView.editing - @updatingFromConfig = false - - onChangeExtantComponents: => - @buildAddComponentTreema() - @reportChanges() - - onAddComponentEnterPressed: (node) => - if extantSystems - extantSystems = - (@supermodel.getModelByOriginalAndMajorVersion LevelSystem, sn.original, sn.majorVersion).attributes.name.toLowerCase() for idx, sn of @level.get('systems') - requireSystem = node.data.system.toLowerCase() - - if requireSystem not in extantSystems - warn_element = 'Component <b>' + node.data.name + '</b> requires system <b>' + requireSystem + '</b> which is currently not specified in this level.' - noty({ - text: warn_element, - layout: 'bottomLeft', - type: 'warning' - }) - - id = node.data._id - comp = _.find @componentCollection.models, id: id - unless comp - return console.error 'Couldn\'t find component for id', id, 'out of', @components.models - # Add all dependencies, recursively, unless we already have them - toAdd = comp.getDependencies(@componentCollection.models) - _.remove toAdd, (c1) => - _.find @extantComponentsTreema.data, (c2) -> - c2.original is c1.get('original') - for c in toAdd.concat [comp] - @extantComponentsTreema.insert '/', { - original: c.get('original') ? id - majorVersion: c.get('version').major ? 0 - } - - # reselect newly added child treema in the extantComponentsTreema - for index, treema of @extantComponentsTreema.childrenTreemas - if treema.component.id is id - treema.select() - @onSelectExtantComponent({}, [treema]) - return - - onAddComponentDoubleClicked: (e, treema) => - @onAddComponentEnterPressed treema - - onAddComponentMouseEnter: (e, treema) -> - treema.$el.find('.add-button').show() - - onAddComponentMouseLeave: (e, treema) -> - treema.$el.find('.add-button').hide() - return - - reportChanges: -> - @callback?($.extend(true, [], @extantComponentsTreema.data)) - - undo: -> - if @configView is null or @configView?.editing is false then @extantComponentsTreema.undo() else @configView.undo() - - redo: -> - if @configView is null or @configView?.editing is false then @extantComponentsTreema.redo() else @configView.redo() - -class ThangComponentsArrayNode extends TreemaArrayNode - valueClass: 'treema-thang-components-array' - editable: false - sort: true - canAddChild: -> false - - sortFunction: (a, b) => - a = @settings.supermodel.getModelByOriginalAndMajorVersion(LevelComponent, a.original, a.majorVersion) - b = @settings.supermodel.getModelByOriginalAndMajorVersion(LevelComponent, b.original, b.majorVersion) - return 1 if a.attributes.system > b.attributes.system - return -1 if a.attributes.system < b.attributes.system - return 1 if a.name > b.name - return -1 if a.name < b.name - return 0 - -class ThangComponentNode extends TreemaObjectNode - valueClass: 'treema-thang-component' - collection: false - - constructor: -> - super(arguments...) - @grabDBComponent() - - grabDBComponent: -> - @component = @settings.supermodel.getModelByOriginalAndMajorVersion LevelComponent, @data.original, @data.majorVersion - console.error 'Couldn\'t find comp for', @data.original, @data.majorVersion, 'from models', @settings.supermodel.models unless @component - - buildValueForDisplay: (valEl) -> - return super valEl unless @data.original and @component - s = @component.get('system') + '.' + @component.get('name') - @buildValueForDisplaySimply valEl, s - -class ComponentArrayNode extends TreemaArrayNode - editable: false - sort: true - canAddChild: -> false - - sortFunction: (a, b) => - return 1 if a.system > b.system - return -1 if a.system < b.system - return 1 if a.name > b.name - return -1 if a.name < b.name - return 0 - -class ComponentNode extends TreemaObjectNode - valueClass: 'treema-component' - addButtonTemplate: '<button type="button" class="add-button btn btn-default btn-sm"><span class="glyphicon glyphicon-plus"></span></button>' - collection: false - - build: -> - super() - @$el.find('> .treema-row').append @addButtonTemplate - addButton = @$el.find('.add-button') - addButton.hide() - addButton.click => - @callbacks.enter?(@) - @$el - - buildValueForDisplay: (valEl) -> - s = @data.system + '.' + @data.name - @buildValueForDisplaySimply valEl, s - - onEnterPressed: (args...) -> - super(args...) - @callbacks.enter?(@) \ No newline at end of file diff --git a/app/views/editor/component/ThangComponentsEditView.coffee b/app/views/editor/component/ThangComponentsEditView.coffee new file mode 100644 index 000000000..2459439c9 --- /dev/null +++ b/app/views/editor/component/ThangComponentsEditView.coffee @@ -0,0 +1,316 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/editor/component/thang-components-edit-view' + +Level = require 'models/Level' +LevelComponent = require 'models/LevelComponent' +LevelSystem = require 'models/LevelSystem' +ComponentsCollection = require 'collections/ComponentsCollection' +ThangComponentConfigView = require './ThangComponentConfigView' +AddThangComponentsModal = require './AddThangComponentsModal' +nodes = require '../level/treema_nodes' + +ThangType = require 'models/ThangType' +CocoCollection = require 'collections/CocoCollection' + +class ThangTypeSearchCollection extends CocoCollection + url: '/db/thang.type?project=original,name,version,slug,kind,components' + model: ThangType + +module.exports = class ThangComponentsEditView extends CocoView + id: 'thang-components-edit-view' + template: template + + events: + 'click #add-components-button': 'onAddComponentsButtonClicked' + + constructor: (options) -> + super options + @components = options.components or [] + @components = $.extend true, [], @components # just to be sure + @lastComponentLength = @components.length + @world = options.world + @level = options.level + @loadComponents(@components) + # Need to grab the ThangTypes so that we can autocomplete items in inventory based on them. + @thangTypes = @supermodel.loadCollection(new ThangTypeSearchCollection(), 'thangs').model + + loadComponents: (components) -> + for componentRef in components + levelComponent = new LevelComponent(componentRef) + url = "/db/level.component/#{componentRef.original}/version/#{componentRef.majorVersion}" + levelComponent.setURL(url) + resource = @supermodel.loadModel levelComponent, 'component' + continue unless resource.isLoading + @listenToOnce resource, 'loaded', -> + return if @handlingChange + @handlingChange = true + @onComponentsAdded() + @handlingChange = false + + afterRender: -> + super() + return unless @supermodel.finished() + @buildComponentsTreema() + @addThangComponentConfigViews() + + buildComponentsTreema: -> + treemaOptions = + supermodel: @supermodel + schema: Level.schema.properties.thangs.items.properties.components + data: $.extend true, [], @components + callbacks: {select: @onSelectComponent, change: @onComponentsTreemaChanged} + noSortable: true + nodeClasses: + 'thang-components-array': ThangComponentsArrayNode + 'point2d': nodes.WorldPointNode + 'viewport': nodes.WorldViewportNode + 'bounds': nodes.WorldBoundsNode + 'radians': nodes.RadiansNode + 'team': nodes.TeamNode + 'superteam': nodes.SuperteamNode + 'meters': nodes.MetersNode + 'kilograms': nodes.KilogramsNode + 'seconds': nodes.SecondsNode + 'speed': nodes.SpeedNode + 'acceleration': nodes.AccelerationNode + 'item-thang-type': nodes.ItemThangTypeNode + + @componentsTreema = @$el.find('#thang-components-column .treema').treema treemaOptions + @componentsTreema.build() + + onComponentsTreemaChanged: => + return if @handlingChange + @handlingChange = true + componentMap = {} + for component in @components + componentMap[component.original] = component + + newComponentsList = [] + for component in @componentsTreema.data + newComponentsList.push(componentMap[component.original] or component) + @components = newComponentsList + + # update the components list here + @onComponentsChanged() + @handlingChange = false + + onComponentsChanged: => + # happens whenever the list of components changed, one way or another + # * if the treema gets changed + # * if components are added externally, like by a modal + # * if a dependency loads and is added to the list + + if @components.length < @lastComponentLength + @onComponentsRemoved() + else + @onComponentsAdded() + + onComponentsRemoved: -> + componentMap = {} + for component in @components + componentMap[component.original] = component + + # Deleting components missing dependencies. + while true + removedSomething = false + for componentRef in _.values(componentMap) + componentModel = @supermodel.getModelByOriginalAndMajorVersion( + LevelComponent, componentRef.original, componentRef.majorVersion) + for dependency in componentModel.get('dependencies') or [] + if not componentMap[dependency.original] + delete componentMap[componentRef.original] + component = @supermodel.getModelByOriginal( + LevelComponent, componentRef.original) + noty { + text: "Removed dependent component: #{component.get('name')}" + layout: 'topCenter' + timeout: 5000 + type: 'information' + } + removedSomething = true + break if removedSomething + break unless removedSomething + + @components = _.values(componentMap) + + # Delete individual component config views that are no longer included. + for subview in _.values(@subviews) + continue unless subview instanceof ThangComponentConfigView + if not componentMap[subview.component.get('original')] + @removeSubView(subview) + + @updateComponentsList() + @reportChanges() + + updateComponentsList: -> + @componentsTreema?.set('/', $.extend(true, [], @components)) + + onComponentsAdded: -> + return unless @componentsTreema + componentMap = {} + for component in @components + componentMap[component.original] = component + + # Go through the map, adding missing dependencies. + while true + addedSomething = false + for componentRef in _.values(componentMap) + componentModel = @supermodel.getModelByOriginalAndMajorVersion( + LevelComponent, componentRef.original, componentRef.majorVersion) + for dependency in componentModel?.get('dependencies') or [] + if not componentMap[dependency.original] + component = @supermodel.getModelByOriginalAndMajorVersion( + LevelComponent, dependency.original, dependency.majorVersion) + if not component + @loadComponents([dependency]) + # will run onComponentsAdded once more when the model loads + else + addedSomething = true + noty { + text: "Added dependency: #{component.get('name')}" + layout: 'topCenter' + timeout: 5000 + type: 'information' + } + componentMap[dependency.original] = dependency + @components.push dependency + break unless addedSomething + + + # Sort the component list, reorder the component config views + @updateComponentsList() + @addThangComponentConfigViews() + @checkForMissingSystems() + @reportChanges() + + addThangComponentConfigViews: -> + # Detach all component config views temporarily. + componentConfigViews = {} + for subview in _.values(@subviews) + continue unless subview instanceof ThangComponentConfigView + componentConfigViews[subview.component.get('original')] = subview + subview.$el.detach() + + # Put back config views into the DOM based on the component list ordering, + # adding and registering new ones as needed. + configsEl = @$el.find('#thang-component-configs') + for componentRef in @componentsTreema.data + subview = componentConfigViews[componentRef.original] + if not subview + subview = @makeThangComponentConfigView(componentRef) + continue unless subview + @registerSubView(subview) + configsEl.append(subview.$el) + + makeThangComponentConfigView: (thangComponent) -> + component = @supermodel.getModelByOriginal(LevelComponent, thangComponent.original) + return unless component + config = thangComponent.config ? {} + configView = new ThangComponentConfigView({ + supermodel: @supermodel + level: @level + world: @world + config: config + component: component + }) + configView.render() + @listenTo configView, 'changed', @onConfigChanged + configView + + onConfigChanged: (e) -> + for thangComponent in @components + if thangComponent.original is e.component.get('original') + thangComponent.config = e.config + @reportChanges() + + onSelectComponent: (e, nodes) => + @componentsTreema.$el.find('.dependent').removeClass('dependent') + return unless nodes.length is 1 + + # find dependent components + dependents = {} + dependents[nodes[0].data.original] = true + componentsToCheck = [nodes[0].data.original] + while componentsToCheck.length + componentOriginal = componentsToCheck.pop() + for otherComponentRef in @components + continue if otherComponentRef.original is componentOriginal + continue if dependents[otherComponentRef.original] + otherComponent = @supermodel.getModelByOriginal(LevelComponent, otherComponentRef.original) + for dependency in otherComponent.get('dependencies') + if dependents[dependency.original] + dependents[otherComponentRef.original] = true + componentsToCheck.push otherComponentRef.original + + # highlight them + for child in _.values(@componentsTreema.childrenTreemas) + if dependents[child.data.original] + child.$el.addClass('dependent') + + # scroll to the config + for subview in _.values(@subviews) + continue unless subview instanceof ThangComponentConfigView + if subview.component.get('original') is nodes[0].data.original + subview.$el[0].scrollIntoView() + break + + onComponentConfigChanged: (data) => + @updatingFromConfig = true + @selectedRow.set '/config', data if data and @configView.changed and @configView.editing + @updatingFromConfig = false + + onChangeExtantComponents: => + @buildAddComponentTreema() + @reportChanges() + + checkForMissingSystems: -> + return unless @level + extantSystems = + (@supermodel.getModelByOriginalAndMajorVersion LevelSystem, sn.original, sn.majorVersion).attributes.name.toLowerCase() for idx, sn of @level.get('systems') + + componentModels = (@supermodel.getModelByOriginal(LevelComponent, c.original) for c in @components) + componentSystems = (c.get('system') for c in componentModels when c) + + for system in componentSystems + if system not in extantSystems + s = "Component requires system <strong>#{system}</strong> which is currently not included in this level." + noty({ + text: s, + layout: 'bottomLeft', + type: 'warning' + }) + + reportChanges: -> + @lastComponentLength = @components.length + @trigger 'components-changed', $.extend(true, [], @components) + + undo: -> @componentsTreema.undo() + + redo: -> @componentsTreema.redo() + + onAddComponentsButtonClicked: -> + modal = new AddThangComponentsModal({skipOriginals: (c.original for c in @components)}) + @openModalView modal + @listenToOnce modal, 'hidden', -> + componentsToAdd = modal.getSelectedComponents() + sparseComponents = ({original: c.get('original'), majorVersion: c.get('version').major} for c in componentsToAdd) + @loadComponents(sparseComponents) + @components = @components.concat(sparseComponents) + @onComponentsChanged() + + +class ThangComponentsArrayNode extends TreemaArrayNode + valueClass: 'treema-thang-components-array' + sort: true + + sortFunction: (a, b) => + a = @settings.supermodel.getModelByOriginalAndMajorVersion(LevelComponent, a.original, a.majorVersion) + b = @settings.supermodel.getModelByOriginalAndMajorVersion(LevelComponent, b.original, b.majorVersion) + return 0 if not (a or b) + return 1 if not b + return -1 if not a + return 1 if a.attributes.system > b.attributes.system + return -1 if a.attributes.system < b.attributes.system + return 1 if a.name > b.name + return -1 if a.name < b.name + return 0 diff --git a/app/views/editor/level/LevelEditView.coffee b/app/views/editor/level/LevelEditView.coffee index a8b651192..8e489291e 100644 --- a/app/views/editor/level/LevelEditView.coffee +++ b/app/views/editor/level/LevelEditView.coffee @@ -20,6 +20,7 @@ ComponentDocsView = require 'views/docs/ComponentDocumentationView' module.exports = class LevelEditView extends RootView id: 'editor-level-view' + className: 'editor' template: template cache: false @@ -43,7 +44,7 @@ module.exports = class LevelEditView extends RootView super options @supermodel.shouldSaveBackups = (model) -> model.constructor.className in ['Level', 'LevelComponent', 'LevelSystem', 'ThangType'] - @levelLoader = new LevelLoader supermodel: @supermodel, levelID: @levelID, headless: true, editorMode: true + @levelLoader = new LevelLoader supermodel: @supermodel, levelID: @levelID, headless: true @level = @levelLoader.level @files = new DocumentFiles(@levelLoader.level) @supermodel.loadCollection(@files, 'file_names') @@ -99,7 +100,7 @@ module.exports = class LevelEditView extends RootView # Create a new Window with a blank LevelView scratchLevelID = @level.get('slug') + '?dev=true' scratchLevelID += "&team=#{team}" if team - if me.get('name') is 'Nick!' + if me.get('name') is 'Nick' @childWindow = window.open("/play/level/#{scratchLevelID}", 'child_window', 'width=2560,height=1080,left=0,top=-1600,location=1,menubar=1,scrollbars=1,status=0,titlebar=1,toolbar=1', true) else @childWindow = window.open("/play/level/#{scratchLevelID}", 'child_window', 'width=1024,height=560,left=10,top=10,location=0,menubar=0,scrollbars=0,status=0,titlebar=0,toolbar=0', true) diff --git a/app/views/editor/level/modals/TerrainRandomizeModal.coffee b/app/views/editor/level/modals/TerrainRandomizeModal.coffee index c9decc61c..7dc37d7c8 100644 --- a/app/views/editor/level/modals/TerrainRandomizeModal.coffee +++ b/app/views/editor/level/modals/TerrainRandomizeModal.coffee @@ -24,7 +24,7 @@ clusters = { 'margin': 1 } 'wood': { - 'thangs': ['Firewood 1', 'Firewood 2', 'Firewood 3', 'Barrel'] + 'thangs': ['Firewood 1', 'Firewood 2', 'Firewood 3'] 'margin': 1 } 'farm': { @@ -39,6 +39,18 @@ clusters = { 'thangs': ['Gargoyle', 'Rock Cluster 1', 'Rock Cluster 2', 'Rock Cluster 3'] 'margin': 1 } + 'torch': { + 'thangs': ['Torch'] + 'margin': 0 + } + 'chains': { + 'thangs': ['Chains'] + 'margin': 0 + } + 'barrel': { + 'thangs': ['Barrel'] + 'margin': 1 + } 'doors': { 'thangs': ['Dungeon Door'] 'margin': -1 @@ -55,6 +67,18 @@ clusters = { 'thangs': ['Dungeon Floor'] 'margin': -1 } + 'indoor_wall': { + 'thangs': ['Indoor Wall'] + 'margin': 2 + } + 'indoor_floor': { + 'thangs': ['Indoor Floor'] + 'margin': -1 + } + 'furniture': { + 'thangs': ['Bookshelf', 'Chair', 'Table', 'Candle', 'Treasure Chest'] + 'margin': -1 + } } presets = { @@ -63,8 +87,23 @@ presets = { 'borders':'dungeon_wall' 'borderNoise':0 'borderSize':4 + 'borderThickness':1 'floors':'dungeon_floor' 'decorations': { + 'Room': { + 'num': [1,1] + 'width': [12, 20] + 'height': [8, 16] + 'thickness': [2,2] + 'cluster': 'dungeon_wall' + } + 'Barrels': { + 'num': [1,1] + 'width': [8, 12] + 'height': [8, 12] + 'numBarrels': [4,6] + 'cluster': 'barrel' + } 'cave': { 'num':[1,1] 'width': 10 @@ -74,12 +113,30 @@ presets = { 'stone':[2,4] } } + } + } + 'indoor': { + 'type':'indoor' + 'borders':'indoor_wall' + 'borderNoise':0 + 'borderSize':4 + 'borderThickness':1 + 'floors':'indoor_floor' + 'decorations': { 'Room': { 'num': [1,1] 'width': [12, 20] 'height': [8, 16] 'thickness': [2,2] - 'cluster': 'dungeon_wall' + 'cluster': 'indoor_wall' + } + 'furniture': { + 'num':[1,2] + 'width': 15 + 'height': 15 + 'clusters': { + 'furniture':[2,4] + } } } } @@ -88,6 +145,7 @@ presets = { 'borders':'trees' 'borderNoise':1 'borderSize':0 + 'borderThickness':3 'floors':'grass_floor' 'decorations': { 'house': { @@ -120,10 +178,12 @@ presetSizes = { 'small': { 'x':80 'y':68 + 'sizeFactor':1 } 'large': { 'x':160 'y':136 + 'sizeFactor':2 } } @@ -135,7 +195,6 @@ thangSizes = { 'borderSize': { 'x':4 'y':4 - 'thickness':3 } } @@ -185,7 +244,8 @@ module.exports = class TerrainRandomizeModal extends ModalView randomizeBorder: (preset, presetSize, noiseFactor=1) -> for i in _.range(0, presetSize.x, thangSizes.borderSize.x) - for j in _.range(thangSizes.borderSize.thickness) + for j in _.range(preset.borderThickness) + # Bottom wall while not @addThang { 'id': @getRandomThang(clusters[preset.borders].thangs) 'pos': { @@ -195,6 +255,8 @@ module.exports = class TerrainRandomizeModal extends ModalView 'margin': clusters[preset.borders].margin } continue + + # Top wall while not @addThang { 'id': @getRandomThang(clusters[preset.borders].thangs) 'pos': { @@ -205,8 +267,38 @@ module.exports = class TerrainRandomizeModal extends ModalView } continue + # Double wall on top + if preset.type is 'dungeon' + @addThang { + 'id': @getRandomThang(clusters[preset.borders].thangs) + 'pos': { + 'x': i + preset.borderSize/2 + 'y': presetSize.y - 3 * preset.borderSize/2 + } + 'margin': clusters[preset.borders].margin + } + if ( i / preset.borderSize ) % 2 and i isnt presetSize.x - thangSizes.borderSize.x + @addThang { + 'id': @getRandomThang(clusters['torch'].thangs) + 'pos': { + 'x': i + preset.borderSize + 'y': presetSize.y - preset.borderSize + } + 'margin': clusters['torch'].margin + } + else if ( i / preset.borderSize ) % 2 is 0 and i and _.random(100) < 30 + @addThang { + 'id': @getRandomThang(clusters['chains'].thangs) + 'pos': { + 'x': i + preset.borderSize + 'y': presetSize.y - preset.borderSize + } + 'margin': clusters['chains'].margin + } + for i in _.range(0, presetSize.y, thangSizes.borderSize.y) - for j in _.range(3) + for j in _.range(preset.borderThickness) + # Left wall while not @addThang { 'id': @getRandomThang(clusters[preset.borders].thangs) 'pos': { @@ -216,6 +308,8 @@ module.exports = class TerrainRandomizeModal extends ModalView 'margin': clusters[preset.borders].margin } continue + + # Right wall while not @addThang { 'id': @getRandomThang(clusters[preset.borders].thangs) 'pos': { @@ -227,9 +321,8 @@ module.exports = class TerrainRandomizeModal extends ModalView continue randomizeDecorations: (preset, presetSize)-> - if presetSize is presetSizes['small'] then sizeFactor = 1 else sizeFactor = 2 for name, decoration of preset.decorations - for num in _.range(sizeFactor * _.random(decoration.num[0], decoration.num[1])) + for num in _.range(presetSize.sizeFactor * _.random(decoration.num[0], decoration.num[1])) if @['build'+name] isnt undefined @['build'+name](preset, presetSize, decoration) continue @@ -255,23 +348,22 @@ module.exports = class TerrainRandomizeModal extends ModalView continue buildRoom: (preset, presetSize, room) -> - if presetSize is presetSizes['small'] then sizeFactor = 1 else sizeFactor = 2 while true rect = { - 'width':sizeFactor * (room.width[0] + preset.borderSize * _.random(0, (room.width[1] - room.width[0])/preset.borderSize)) - 'height':sizeFactor * (room.height[0] + preset.borderSize * _.random(0, (room.height[1] - room.height[0])/preset.borderSize)) + 'width':presetSize.sizeFactor * (room.width[0] + preset.borderSize * _.random(0, (room.width[1] - room.width[0])/preset.borderSize)) + 'height':presetSize.sizeFactor * (room.height[0] + preset.borderSize * _.random(0, (room.height[1] - room.height[0])/preset.borderSize)) } roomThickness = _.random(room.thickness[0], room.thickness[1]) - rect.x = _.random(rect.width/2 + preset.borderSize * (roomThickness+1), presetSize.x - rect.width/2 - preset.borderSize * (roomThickness+1)) - rect.y = _.random(rect.height/2 + preset.borderSize * (roomThickness+1), presetSize.y - rect.height/2 - preset.borderSize * (roomThickness+1)) + rect.x = _.random(rect.width/2 + preset.borderSize * (roomThickness+1.5), presetSize.x - rect.width/2 - preset.borderSize * (roomThickness+1.5)) + rect.y = _.random(rect.height/2 + preset.borderSize * (roomThickness+2.5), presetSize.y - rect.height/2 - preset.borderSize * (roomThickness+3.5)) # Snap room walls to the wall grid. rect.x = Math.round((rect.x - preset.borderSize / 2) / preset.borderSize) * preset.borderSize + preset.borderSize / 2 rect.y = Math.round((rect.y - preset.borderSize / 2) / preset.borderSize) * preset.borderSize + preset.borderSize / 2 break if @addRect { 'x': rect.x 'y': rect.y - 'width': rect.width + 2 * roomThickness * preset.borderSize - 'height': rect.height + 2 * roomThickness * preset.borderSize + 'width': rect.width + 2.5 * roomThickness * preset.borderSize + 'height': rect.height + 2.5 * roomThickness * preset.borderSize } xRange = _.range(rect.x - rect.width/2 + preset.borderSize, rect.x + rect.width/2, preset.borderSize) @@ -282,6 +374,7 @@ module.exports = class TerrainRandomizeModal extends ModalView for t in _.range(0, roomThickness+1) for i in _.range(rect.x - rect.width/2 - (t-1) * preset.borderSize, rect.x + rect.width/2 + t * preset.borderSize, preset.borderSize) + # Bottom wall thang = { 'id': @getRandomThang(clusters[room.cluster].thangs) 'pos': { @@ -295,6 +388,18 @@ module.exports = class TerrainRandomizeModal extends ModalView thang.pos.y -= preset.borderSize/3 @addThang thang unless i is bottomDoorX and t isnt roomThickness and bottomDoor + if t is roomThickness and i isnt rect.x - rect.width/2 - (t-1) * preset.borderSize and preset.type is 'dungeon' + if ( i isnt bottomDoorX and i isnt bottomDoorX + preset.borderSize ) or not bottomDoor + @addThang { + 'id': @getRandomThang(clusters['torch'].thangs) + 'pos': { + 'x': thang.pos.x - preset.borderSize / 2 + 'y': thang.pos.y + preset.borderSize / 2 + } + 'margin': clusters['torch'].margin + } + + # Top wall thang = { 'id': @getRandomThang(clusters[room.cluster].thangs) 'pos': { @@ -310,6 +415,7 @@ module.exports = class TerrainRandomizeModal extends ModalView for t in _.range(0, roomThickness) for i in _.range(rect.y - rect.height/2 - t * preset.borderSize, rect.y + rect.height/2 + (t+1) * preset.borderSize, preset.borderSize) + # Left wall @addThang { 'id': @getRandomThang(clusters[room.cluster].thangs) 'pos': { @@ -319,6 +425,7 @@ module.exports = class TerrainRandomizeModal extends ModalView 'margin': clusters[room.cluster].margin } + # Right wall @addThang { 'id': @getRandomThang(clusters[room.cluster].thangs) 'pos': { @@ -328,6 +435,35 @@ module.exports = class TerrainRandomizeModal extends ModalView 'margin': clusters[room.cluster].margin } + buildBarrels: (preset, presetSize, decoration) -> + rect = { + 'width':presetSize.sizeFactor * ( _.random( decoration.width[0], decoration.width[1] ) ) + 'height':presetSize.sizeFactor * ( _.random( decoration.height[0], decoration.height[1] ) ) + } + x = [ rect.width/2 + preset.borderSize , presetSize.x - rect.width/2 - preset.borderSize ] + y = [ rect.height/2 + preset.borderSize , presetSize.y - rect.height/2 - 2 * preset.borderSize ] + + for i in x + for j in y + if _.random(100) < 40 + rect = { + 'x': i + 'y': j + 'width': rect.width + 'height': rect.height + } + if @addRect rect + for num in _.range( _.random( decoration.numBarrels[0], decoration.numBarrels[1] ) ) + while not @addThang { + 'id': @getRandomThang(clusters[decoration.cluster].thangs) + 'pos': { + 'x': _.random(rect.x - rect.width/2, rect.x + rect.width/2) + 'y': _.random(rect.y - rect.height/2, rect.y + rect.height/2) + } + 'margin': clusters[decoration.cluster].margin + } + continue + addThang: (thang) -> if @falseCount > 100 console.log 'infinite loop', thang @@ -348,7 +484,7 @@ module.exports = class TerrainRandomizeModal extends ModalView @falseCount = 0 return true for existingRect in @rects - if Math.abs(existingRect.x - rect.x) < rect.width/2 + existingRect.width/2 and Math.abs(existingRect.y - rect.y) < rect.height/2 + existingRect.height/2 + if Math.abs(existingRect.x - rect.x) <= rect.width/2 + existingRect.width/2 and Math.abs(existingRect.y - rect.y) <= rect.height/2 + existingRect.height/2 @falseCount++ return false @rects.push rect diff --git a/app/views/editor/level/thangs/LevelThangEditView.coffee b/app/views/editor/level/thangs/LevelThangEditView.coffee index 96e2c7e1a..effcea1af 100644 --- a/app/views/editor/level/thangs/LevelThangEditView.coffee +++ b/app/views/editor/level/thangs/LevelThangEditView.coffee @@ -1,16 +1,16 @@ CocoView = require 'views/kinds/CocoView' -template = require 'templates/editor/level/thang/edit' -ThangComponentEditView = require 'views/editor/component/ThangComponentEditView' +template = require 'templates/editor/level/thang/level-thang-edit-view' +ThangComponentsEditView = require 'views/editor/component/ThangComponentsEditView' ThangType = require 'models/ThangType' module.exports = class LevelThangEditView extends CocoView ### In the level editor, is the bar at the top when editing a single thang. - Everything below is part of the ThangComponentEditView, which is shared with the + Everything below is part of the ThangComponentsEditView, which is shared with the ThangType editor view. ### - id: 'editor-level-thang-edit' + id: 'level-thang-edit-view' template: template events: @@ -41,9 +41,9 @@ module.exports = class LevelThangEditView extends CocoView supermodel: @supermodel level: @level world: @world - callback: @onComponentsChanged - @thangComponentEditView = new ThangComponentEditView options + @thangComponentEditView = new ThangComponentsEditView options + @listenTo @thangComponentEditView, 'components-changed', @onComponentsChanged @insertSubView @thangComponentEditView thangTypeNames = (m.get('name') for m in @supermodel.getModels ThangType) input = @$el.find('#thang-type-link input').autocomplete(source: thangTypeNames, minLength: 0, delay: 0, autoFocus: true) diff --git a/app/views/editor/level/thangs/ThangsTabView.coffee b/app/views/editor/level/thangs/ThangsTabView.coffee index 5f28b1279..3f9b1250f 100644 --- a/app/views/editor/level/thangs/ThangsTabView.coffee +++ b/app/views/editor/level/thangs/ThangsTabView.coffee @@ -157,6 +157,8 @@ module.exports = class ThangsTabView extends CocoView thangsHeaderHeight = $('#thangs-header').height() oldHeight = $('#thangs-list').height() $('#thangs-list').height(oldHeight - thangsHeaderHeight) + if data.thangs.length + @$el.find('#randomize-button').hide() initSurface: -> surfaceCanvas = $('canvas#surface', @$el) @@ -235,7 +237,6 @@ module.exports = class ThangsTabView extends CocoView @addThang @addThangType, thang.pos, true @batchInsert() @selectAddThangType null - @$el.find('#canvas-overlay').css('display', 'none') # TODO: figure out a good way to have all Surface clicks and Treema clicks just proxy in one direction, so we can maintain only one way of handling selection and deletion @@ -410,6 +411,7 @@ module.exports = class ThangsTabView extends CocoView @thangsBatch = [] addThang: (thangType, pos, batchInsert=false) -> + @$el.find('#randomize-button').hide() if batchInsert thangID = "Random #{thangType.get('name')} #{@thangsBatch.length}" else @@ -514,4 +516,4 @@ class ThangNode extends TreemaObjectNode @buildValueForDisplaySimply valEl, s onEnterPressed: -> - Backbone.Mediator.publish 'edit-level-thang', levelThang: @data.id + Backbone.Mediator.publish 'edit-level-thang', thangID: @data.id diff --git a/app/views/editor/level/treema_nodes.coffee b/app/views/editor/level/treema_nodes.coffee index 92a40cdb8..5baac355a 100644 --- a/app/views/editor/level/treema_nodes.coffee +++ b/app/views/editor/level/treema_nodes.coffee @@ -200,7 +200,7 @@ module.exports.ThangTypeNode = class ThangTypeNode extends TreemaNode.nodeMap.st constructor: (args...) -> super args... @thangType = _.find @settings.supermodel.getModels(ThangType), (m) => m.get('original') is @data if @data - console.log 'ThangTypeNode found ThangType', @thangType, 'for data', @data + #console.log 'ThangTypeNode found ThangType', @thangType, 'for data', @data buildValueForDisplay: (valEl) -> @buildValueForDisplaySimply(valEl, @thangType?.get('name') or 'None') @@ -219,3 +219,12 @@ module.exports.ThangTypeNode = class ThangTypeNode extends TreemaNode.nodeMap.st @data = @thangType.get('original') else @data = null + +module.exports.ItemThangTypeNode = class ThangTypeNode extends ThangTypeNode + valueClass: 'treema-item-thang-type' + buildValueForEditing: (valEl) -> + super(valEl) + thangTypeNames = (m.get('name') for m in @settings.supermodel.getModels ThangType when m.get('kind') is 'Item') + input = valEl.find('input').autocomplete(source: thangTypeNames, minLength: 0, delay: 0, autoFocus: true) + input.val(@thangType?.get('name') or 'None') + valEl diff --git a/app/views/editor/thang/ThangTypeEditView.coffee b/app/views/editor/thang/ThangTypeEditView.coffee index c9fd478bb..28e2aab39 100644 --- a/app/views/editor/thang/ThangTypeEditView.coffee +++ b/app/views/editor/thang/ThangTypeEditView.coffee @@ -6,17 +6,18 @@ Camera = require 'lib/surface/Camera' DocumentFiles = require 'collections/DocumentFiles' RootView = require 'views/kinds/RootView' -ThangComponentEditView = require 'views/editor/component/ThangComponentEditView' +ThangComponentsEditView = require 'views/editor/component/ThangComponentsEditView' ThangTypeVersionsModal = require './ThangTypeVersionsModal' ThangTypeColorsTabView = require './ThangTypeColorsTabView' PatchesView = require 'views/editor/PatchesView' SaveVersionModal = require 'views/modal/SaveVersionModal' -template = require 'templates/editor/thang/edit' +template = require 'templates/editor/thang/thang-type-edit-view' CENTER = {x: 200, y: 300} module.exports = class ThangTypeEditView extends RootView - id: 'editor-thang-type-edit-view' + id: 'thang-type-edit-view' + className: 'editor' template: template startsLoading: true resolution: 4 @@ -49,7 +50,6 @@ module.exports = class ThangTypeEditView extends RootView @thangType = @supermodel.loadModel(@thangType, 'thang').model @thangType.saveBackups = true @listenToOnce @thangType, 'sync', -> - console.log 'files for?', @thangType.id, @thangType.get 'name' @files = @supermodel.loadCollection(new DocumentFiles(@thangType), 'files').model @refreshAnimation = _.debounce @refreshAnimation, 500 @@ -81,8 +81,9 @@ module.exports = class ThangTypeEditView extends RootView options = components: @thangType.get('components') ? [] supermodel: @supermodel - callback: @onComponentsChanged - @thangComponentEditView = new ThangComponentEditView options + + @thangComponentEditView = new ThangComponentsEditView options + @listenTo @thangComponentEditView, 'components-changed', @onComponentsChanged @insertSubView @thangComponentEditView onComponentsChanged: (components) => diff --git a/app/views/game-menu/ChooseHeroView.coffee b/app/views/game-menu/ChooseHeroView.coffee new file mode 100644 index 000000000..8568877e9 --- /dev/null +++ b/app/views/game-menu/ChooseHeroView.coffee @@ -0,0 +1,20 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/game-menu/choose-hero-view' +{me} = require 'lib/auth' +ThangType = require 'models/ThangType' + +module.exports = class ChooseHeroView extends CocoView + id: 'choose-hero-view' + className: 'tab-pane' + template: template + + events: + 'click #restart-level-confirm-button': -> Backbone.Mediator.publish 'restart-level' + + getRenderData: (context={}) -> + context = super(context) + context.showDevBits = @options.showDevBits + context + + afterRender: -> + super() diff --git a/app/views/game-menu/GameMenuModal.coffee b/app/views/game-menu/GameMenuModal.coffee new file mode 100644 index 000000000..cfb49a4db --- /dev/null +++ b/app/views/game-menu/GameMenuModal.coffee @@ -0,0 +1,36 @@ +ModalView = require 'views/kinds/ModalView' +template = require 'templates/game-menu/game-menu-modal' +submenuViews = [ + require 'views/game-menu/InventoryView' + require 'views/game-menu/ChooseHeroView' + require 'views/game-menu/SaveLoadView' + require 'views/game-menu/OptionsView' + require 'views/game-menu/GuideView' + require 'views/game-menu/MultiplayerView' +] + +module.exports = class GameMenuModal extends ModalView + template: template + modalWidthPercent: 95 + id: 'game-menu-modal' + + constructor: (options) -> + super options + @options.showDevBits = me.isAdmin() or /https?:\/\/localhost/.test(window.location.href) + + events: + 'change input.select': 'onSelectionChanged' + + getRenderData: (context={}) -> + context = super(context) + context.showDevBits = @options.showDevBits + context + + afterRender: -> + super() + @insertSubView new submenuView @options for submenuView in submenuViews + (if @options.showDevBits then @subviews.inventory_view else @subviews.choose_hero_view).$el.addClass 'active' + + onHidden: -> + subview.onHidden?() for subviewKey, subview of @subviews + me.patch() diff --git a/app/views/game-menu/GuideView.coffee b/app/views/game-menu/GuideView.coffee new file mode 100644 index 000000000..8a4185396 --- /dev/null +++ b/app/views/game-menu/GuideView.coffee @@ -0,0 +1,16 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/game-menu/guide-view' +{me} = require 'lib/auth' +ThangType = require 'models/ThangType' + +module.exports = class GuideView extends CocoView + id: 'guide-view' + className: 'tab-pane' + template: template + + getRenderData: (context={}) -> + context = super(context) + context + + afterRender: -> + super() diff --git a/app/views/game-menu/InventoryView.coffee b/app/views/game-menu/InventoryView.coffee new file mode 100644 index 000000000..f1b5ec5bf --- /dev/null +++ b/app/views/game-menu/InventoryView.coffee @@ -0,0 +1,16 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/game-menu/inventory-view' +{me} = require 'lib/auth' +ThangType = require 'models/ThangType' + +module.exports = class InventoryView extends CocoView + id: 'inventory-view' + className: 'tab-pane' + template: template + + getRenderData: (context={}) -> + context = super(context) + context + + afterRender: -> + super() diff --git a/app/views/play/level/modal/MultiplayerModal.coffee b/app/views/game-menu/MultiplayerView.coffee similarity index 79% rename from app/views/play/level/modal/MultiplayerModal.coffee rename to app/views/game-menu/MultiplayerView.coffee index 3a74f8489..5b99793fa 100644 --- a/app/views/play/level/modal/MultiplayerModal.coffee +++ b/app/views/game-menu/MultiplayerView.coffee @@ -1,10 +1,12 @@ -ModalView = require 'views/kinds/ModalView' -template = require 'templates/play/level/modal/multiplayer' +CocoView = require 'views/kinds/CocoView' +template = require 'templates/game-menu/multiplayer-view' {me} = require 'lib/auth' +ThangType = require 'models/ThangType' LadderSubmissionView = require 'views/play/common/LadderSubmissionView' -module.exports = class MultiplayerModal extends ModalView - id: 'level-multiplayer-modal' +module.exports = class MultiplayerView extends CocoView + id: 'multiplayer-view' + className: 'tab-pane' template: template subscriptions: @@ -16,16 +18,14 @@ module.exports = class MultiplayerModal extends ModalView constructor: (options) -> super(options) - @session = options.session @level = options.level - @listenTo(@session, 'change:multiplayer', @updateLinkSection) + @session = options.session @playableTeams = options.playableTeams + @listenTo @session, 'change:multiplayer', @updateLinkSection getRenderData: -> c = super() - c.joinLink = (document.location.href.replace(/\?.*/, '').replace('#', '') + - '?session=' + - @session.id) + c.joinLink = "#{document.location.href.replace(/\?.*/, '').replace('#', '')}?session=#{@session.id}" c.multiplayer = @session.get 'multiplayer' c.team = @session.get 'team' c.levelSlug = @level?.get 'slug' @@ -58,6 +58,3 @@ module.exports = class MultiplayerModal extends ModalView onHidden: -> multiplayer = Boolean(@$el.find('#multiplayer').prop('checked')) @session.set('multiplayer', multiplayer) - - destroy: -> - super() diff --git a/app/views/game-menu/OptionsView.coffee b/app/views/game-menu/OptionsView.coffee new file mode 100644 index 000000000..8654554ef --- /dev/null +++ b/app/views/game-menu/OptionsView.coffee @@ -0,0 +1,114 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/game-menu/options-view' +{me} = require 'lib/auth' +ThangType = require 'models/ThangType' +User = require 'models/User' +forms = require 'lib/forms' + +module.exports = class OptionsView extends CocoView + id: 'options-view' + className: 'tab-pane' + template: template + aceConfig: {} + defaultConfig: + language: 'javascript' + keyBindings: 'default' + invisibles: false + indentGuides: false + behaviors: false + liveCompletion: true + + events: + 'change #option-music': 'updateMusic' + 'change #option-autorun-delay': 'updateAutorun' + 'change #option-key-bindings': 'updateInvisibles' + 'change #option-key-bindings': 'updateKeyBindings' + 'change #option-indent-guides': 'updateIndentGuides' + 'change #option-behaviors': 'updateBehaviors' + 'change #option-live-completion': 'updateLiveCompletion' + 'click .profile-photo': 'onEditProfilePhoto' + 'click .editable-icon': 'onEditProfilePhoto' + 'keyup #player-name': -> @trigger 'nameChanged' + + constructor: (options) -> + @uploadFilePath = "db/user/#{me.id}" + @onNameChange = _.debounce(@checkNameExists, 500) + @on 'nameChanged', @onNameChange + @playerName = me.get 'name' + super options + + getRenderData: (c={}) -> + c = super(c) + @aceConfig = _.cloneDeep me.get('aceConfig') ? {} + @aceConfig = _.defaults @aceConfig, @defaultConfig + c.aceConfig = @aceConfig + c.music = me.get('music') + c.autorunDelay = me.get('autocastDelay') ? 5000 + c + + afterRender: -> + super() + + onHidden: -> + if @playerName and @playerName isnt me.get('name') + me.set 'name', @playerName + @aceConfig.invisibles = @$el.find('#option-invisibles').prop('checked') + @aceConfig.keyBindings = @$el.find('#option-key-bindings').val() + @aceConfig.indentGuides = @$el.find('#option-indent-guides').prop('checked') + @aceConfig.behaviors = @$el.find('#option-behaviors').prop('checked') + @aceConfig.liveCompletion = @$el.find('#option-live-completion').prop('checked') + me.set 'aceConfig', @aceConfig + Backbone.Mediator.publish 'tome:change-config' + + updateMusic: -> + me.set 'music', @$el.find('#option-music').prop('checked') + + updateAutorun: -> + me.set 'autocastDelay', parseInt(@$el.find('#option-autorun-delay').val()) + + updateInvisibles: -> + @aceConfig.invisibles = @$el.find('#option-invisibles').prop('checked') + + updateKeyBindings: -> + @aceConfig.keyBindings = @$el.find('#option-key-bindings').val() + + updateIndentGuides: -> + @aceConfig.indentGuides = @$el.find('#option-indent-guides').prop('checked') + + updateBehaviors: -> + @aceConfig.behaviors = @$el.find('#option-behaviors').prop('checked') + + updateLiveCompletion: -> + @aceConfig.liveCompletion = @$el.find('#option-live-completion').prop('checked') + + checkNameExists: => + forms.clearFormAlerts(@$el) + name = $('#player-name').val() + User.getUnconflictedName name, (newName) => + forms.clearFormAlerts(@$el) + if name isnt newName + forms.setErrorToProperty @$el, 'playerName', 'This name is already taken so you won\'t be able to keep it.', true + else + @playerName = newName + + onEditProfilePhoto: (e) -> + photoContainer = @$el.find('.profile-photo') + onSaving = => + photoContainer.addClass('saving') + onSaved = (uploadingPath) => + me.set('photoURL', uploadingPath) + photoContainer.removeClass('saving').attr('src', me.getPhotoURL(photoContainer.width())) + filepicker.pick {mimetypes: 'image/*'}, @onImageChosen(onSaving, onSaved) + + formatImagePostData: (inkBlob) -> + url: inkBlob.url, filename: inkBlob.filename, mimetype: inkBlob.mimetype, path: @uploadFilePath, force: true + + onImageChosen: (onSaving, onSaved) -> + (inkBlob) => + onSaving() + uploadingPath = [@uploadFilePath, inkBlob.filename].join('/') + $.ajax '/file', type: 'POST', data: @formatImagePostData(inkBlob), success: @onImageUploaded(onSaved, uploadingPath) + + onImageUploaded: (onSaved, uploadingPath) -> + (e) => + onSaved uploadingPath diff --git a/app/views/game-menu/SaveLoadView.coffee b/app/views/game-menu/SaveLoadView.coffee new file mode 100644 index 000000000..9614bc204 --- /dev/null +++ b/app/views/game-menu/SaveLoadView.coffee @@ -0,0 +1,24 @@ +CocoView = require 'views/kinds/CocoView' +template = require 'templates/game-menu/save-load-view' +{me} = require 'lib/auth' +ThangType = require 'models/ThangType' + +module.exports = class SaveLoadView extends CocoView + id: 'save-load-view' + className: 'tab-pane' + template: template + + events: + 'change #save-granularity-toggle input': 'onSaveGranularityChanged' + + getRenderData: (context={}) -> + context = super(context) + context + + afterRender: -> + super() + + onSaveGranularityChanged: (e) -> + toShow = $(e.target).val() + @$el.find('.save-list, .save-pane').hide() + @$el.find('.save-list.' + toShow + ', .save-pane.' + toShow).show() diff --git a/app/views/kinds/CocoView.coffee b/app/views/kinds/CocoView.coffee index 528d1d213..a562621dd 100644 --- a/app/views/kinds/CocoView.coffee +++ b/app/views/kinds/CocoView.coffee @@ -86,6 +86,8 @@ module.exports = class CocoView extends Backbone.View render: -> return @ unless me + view.destroy() for id, view of @subviews + @subviews = {} super() return @template if _.isString(@template) @$el.html @template(@getRenderData()) @@ -248,17 +250,29 @@ module.exports = class CocoView extends Backbone.View # Subviews insertSubView: (view, elToReplace=null) -> - key = view.id or (view.constructor.name+classCount++) - key = _.string.underscored(key) + # used to insert views with ids + key = @makeSubViewKey(view) @subviews[key].destroy() if key of @subviews elToReplace ?= @$el.find('#'+view.id) elToReplace.after(view.el).remove() - view.parent = @ + @registerSubView(view, key) view.render() view.afterInsert() + view + + registerSubView: (view, key) -> + # used to register views which are custom inserted into the view, + # like views where you add multiple instances of them + key = @makeSubViewKey(view) + view.parent = @ view.parentKey = key @subviews[key] = view view + + makeSubViewKey: (view) -> + key = view.id or (view.constructor.name+classCount++) + key = _.string.underscored(key) # handy for autocomplete in dev console + key removeSubView: (view) -> view.$el.empty() diff --git a/app/views/play/MainPlayView.coffee b/app/views/play/MainPlayView.coffee index c10205c8b..fa5aba4b6 100644 --- a/app/views/play/MainPlayView.coffee +++ b/app/views/play/MainPlayView.coffee @@ -250,6 +250,13 @@ module.exports = class MainPlayView extends RootView image: '/file/db/level/525ef8ef06e1ab0962000003/commanding_followers_icon.png' description: 'Learn cluster analysis while leading armies into battle! - by Alexandru Caciulescu' } + { + name: 'Quicksort the Spiral' + difficulty: 3 + id: 'quicksort-the-spiral' + image: '/file/db/level/525ef8ef06e1ab0962000003/commanding_followers_icon.png' + description: 'Learn Quicksort while sorting a spiral of ogres! - by Alexandru Caciulescu' + } { name: 'Find the Spy' difficulty: 2 diff --git a/app/views/play/SpectateView.coffee b/app/views/play/SpectateView.coffee index 4557893a8..1cea2b868 100644 --- a/app/views/play/SpectateView.coffee +++ b/app/views/play/SpectateView.coffee @@ -239,7 +239,7 @@ module.exports = class SpectateLevelView extends RootView @insertSubView new HUDView {} worldName = utils.i18n @level.attributes, 'name' @controlBar = @insertSubView new ControlBarView {worldName: worldName, session: @session, level: @level, supermodel: @supermodel, playableTeams: @world.playableTeams, spectateGame: true} - #Backbone.Mediator.publish('level-set-debug', debug: true) if me.displayName() is 'Nick!' + #Backbone.Mediator.publish('level-set-debug', debug: true) if me.displayName() is 'Nick' afterInsert: -> super() diff --git a/app/views/play/level/ControlBarView.coffee b/app/views/play/level/ControlBarView.coffee index 15900fd53..974e61c06 100644 --- a/app/views/play/level/ControlBarView.coffee +++ b/app/views/play/level/ControlBarView.coffee @@ -2,8 +2,7 @@ CocoView = require 'views/kinds/CocoView' template = require 'templates/play/level/control_bar' LevelGuideModal = require './modal/LevelGuideModal' -MultiplayerModal = require './modal/MultiplayerModal' -ReloadLevelModal = require './modal/ReloadLevelModal' +GameMenuModal = require 'views/game-menu/GameMenuModal' module.exports = class ControlBarView extends CocoView id: 'control-bar-view' @@ -13,21 +12,16 @@ module.exports = class ControlBarView extends CocoView 'bus:player-states-changed': 'onPlayerStatesChanged' events: - 'click #multiplayer-button': -> - window.tracker?.trackEvent 'Clicked Multiplayer', level: @level.get('name'), label: @level.get('name') - @showMultiplayerModal() - 'click #docs-button': -> window.tracker?.trackEvent 'Clicked Docs', level: @level.get('name'), label: @level.get('name') @showGuideModal() - 'click #restart-button': -> - window.tracker?.trackEvent 'Clicked Restart', level: @level.get('name'), label: @level.get('name') - @showRestartModal() - 'click #next-game-button': -> Backbone.Mediator.publish 'next-game-pressed' + 'click #game-menu-button': -> + @showGameMenuModal() + 'click': -> Backbone.Mediator.publish 'tome:focus-editor' constructor: (options) -> @@ -80,8 +74,5 @@ module.exports = class ControlBarView extends CocoView clearInterval @guideHighlightInterval @guideHighlightInterval = null - showMultiplayerModal: -> - @openModalView(new MultiplayerModal(session: @session, playableTeams: @playableTeams, level: @level, ladderGame: @ladderGame)) - - showRestartModal: -> - @openModalView(new ReloadLevelModal()) + showGameMenuModal: -> + @openModalView new GameMenuModal level: @level, session: @session, playableTeams: @playableTeams diff --git a/app/views/play/level/LevelHUDView.coffee b/app/views/play/level/LevelHUDView.coffee index 975888025..6daa1d8d9 100644 --- a/app/views/play/level/LevelHUDView.coffee +++ b/app/views/play/level/LevelHUDView.coffee @@ -261,7 +261,7 @@ module.exports = class LevelHUDView extends CocoView return null # included in the bar context = prop: prop - hasIcon: prop in ['health', 'pos', 'target', 'inventory', 'gold', 'bountyGold', 'visualRange', 'attackDamage', 'attackRange', 'maxSpeed'] + hasIcon: prop in ['health', 'pos', 'target', 'collectedThangIDs', 'gold', 'bountyGold', 'visualRange', 'attackDamage', 'attackRange', 'maxSpeed'] hasBar: prop in ['health'] $(prop_template(context)) diff --git a/app/views/play/level/PlayLevelView.coffee b/app/views/play/level/PlayLevelView.coffee index f9de3019b..663dbd70f 100644 --- a/app/views/play/level/PlayLevelView.coffee +++ b/app/views/play/level/PlayLevelView.coffee @@ -236,7 +236,7 @@ module.exports = class PlayLevelView extends RootView @insertSubView new ChatView levelID: @levelID, sessionID: @session.id, session: @session worldName = utils.i18n @level.attributes, 'name' @controlBar = @insertSubView new ControlBarView {worldName: worldName, session: @session, level: @level, supermodel: @supermodel, playableTeams: @world.playableTeams} - #Backbone.Mediator.publish('level-set-debug', debug: true) if me.displayName() is 'Nick!' + #Backbone.Mediator.publish('level-set-debug', debug: true) if me.displayName() is 'Nick' initVolume: -> volume = me.get('volume') diff --git a/app/views/play/level/modal/ReloadLevelModal.coffee b/app/views/play/level/modal/ReloadLevelModal.coffee deleted file mode 100644 index cd3700325..000000000 --- a/app/views/play/level/modal/ReloadLevelModal.coffee +++ /dev/null @@ -1,11 +0,0 @@ -ModalView = require 'views/kinds/ModalView' -template = require 'templates/play/level/modal/reload' - -# let's implement this once we have the docs database schema set up - -module.exports = class ReloadLevelModal extends ModalView - id: '#reload-code-modal' - template: template - - events: - 'click #restart-level-confirm-button': -> Backbone.Mediator.publish 'restart-level' diff --git a/app/views/play/level/tome/SpellPaletteEntryView.coffee b/app/views/play/level/tome/SpellPaletteEntryView.coffee index 3b7f53c71..39a1d164e 100644 --- a/app/views/play/level/tome/SpellPaletteEntryView.coffee +++ b/app/views/play/level/tome/SpellPaletteEntryView.coffee @@ -71,6 +71,9 @@ module.exports = class SpellPaletteEntryView extends CocoView Backbone.Mediator.publish 'tome:palette-pin-toggled', entry: @, pinned: @popoverPinned onClick: (e) => + if key.shift + Backbone.Mediator.publish 'tome:insert-snippet', doc: @options.doc, language: @options.language, formatted: @doc + return @togglePinned() Backbone.Mediator.publish 'tome:palette-clicked', thang: @thang, prop: @doc.name, entry: @ diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee index ee979cc38..8a4c38f89 100644 --- a/app/views/play/level/tome/SpellView.coffee +++ b/app/views/play/level/tome/SpellView.coffee @@ -3,6 +3,7 @@ template = require 'templates/play/level/tome/spell' {me} = require 'lib/auth' filters = require 'lib/image_filter' Range = ace.require('ace/range').Range +UndoManager = ace.require('ace/undomanager').UndoManager Problem = require './Problem' SpellDebugView = require './SpellDebugView' SpellToolbarView = require './SpellToolbarView' @@ -47,6 +48,7 @@ module.exports = class SpellView extends CocoView 'tome:change-language': 'onChangeLanguage' 'tome:change-config': 'onChangeEditorConfig' 'tome:update-snippets': 'addZatannaSnippets' + 'tome:insert-snippet': 'onInsertSnippet' 'spell-beautify': 'onSpellBeautify' events: @@ -174,6 +176,7 @@ module.exports = class SpellView extends CocoView fillACE: -> @ace.setValue @spell.source + @aceSession.setUndoManager(new UndoManager()) @ace.clearSelection() addZatannaSnippets: (e) -> @@ -208,6 +211,7 @@ module.exports = class SpellView extends CocoView @loaded = false @previousSource = @ace.getValue() @ace.setValue('') + @aceSession.setUndoManager(new UndoManager()) fireURL = 'https://codecombat.firebaseio.com/' + @spell.pathComponents.join('/') @fireRef = new Firebase fireURL firepadOptions = userId: me.id @@ -222,6 +226,7 @@ module.exports = class SpellView extends CocoView @spell.source = firepadSource else @ace.setValue @previousSource + @aceSession.setUndoManager(new UndoManager()) @ace.clearSelection() @onAllLoaded() @@ -302,6 +307,7 @@ module.exports = class SpellView extends CocoView @firepad.setText source else @ace.setValue source + @aceSession.setUndoManager(new UndoManager()) @eventsSuppressed = false try @ace.resize true # hack: @ace may not have updated its text properly, so we force it to refresh @@ -661,6 +667,18 @@ module.exports = class SpellView extends CocoView @spell.setLanguage e.language @reloadCode true if wasDefault + onInsertSnippet: (e) -> + console.log 'doc', e.doc, e.formatted + snippetCode = null + if e.doc.snippets?[e.language]?.code + snippetCode = e.doc.snippets[e.language].code + else if (e.formatted.type isnt 'snippet') and e.formatted.shortName? + snippetCode = e.formatted.shortName + return unless snippetCode? + snippetManager = ace.require('ace/snippets').snippetManager + snippetManager.insertSnippet @ace, snippetCode + return + dismiss: -> @spell.hasChangedSignificantly @getSource(), null, (hasChanged) => @recompile() if hasChanged diff --git a/bower.json b/bower.json index 32c815408..a909afb13 100644 --- a/bower.json +++ b/bower.json @@ -40,7 +40,7 @@ "jsondiffpatch": "~0.1.5", "nanoscroller": "~0.8.0", "jquery.tablesorter": "~2.15.13", - "treema": "~0.0.9", + "treema": "~0.0.12", "bootstrap": "~3.1.1", "validated-backbone-mediator": "~0.1.3", "jquery.browser": "~0.0.6", diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee index 55b45884f..311666c19 100644 --- a/server/commons/Handler.coffee +++ b/server/commons/Handler.coffee @@ -166,7 +166,9 @@ module.exports = class Handler ids = ids.split(',') if _.isString ids ids = _.uniq ids - project = {name:1, original:1, kind:1} + # HACK: levels loading thang types need the components returned as well + # Need a way to specify a projection for a query. + project = {name:1, original:1, kind:1, components: 1} sort = {'version.major':-1, 'version.minor':-1} makeFunc = (id) => diff --git a/server/delighted.coffee b/server/delighted.coffee new file mode 100644 index 000000000..81fd5503e --- /dev/null +++ b/server/delighted.coffee @@ -0,0 +1,26 @@ +config = require '../server_config' +request = require 'request' +log = require 'winston' + +DELIGHTED_EMAIL_DELAY = 1 * 86400 # in seconds + +module.exports.addDelightedUser = addDelightedUser = (user) -> + return unless key = config.mail.delightedAPIKey + #return unless user.isEmailSubscriptionEnabled 'generalNews' # Doesn't work? Just returns undefined... + return if user.get('emails')?.generalNews?.enabled is false # Workaround. + name = user.get('name') + if first = user.get('firstName') and last = user.get('lastName') + name = first + ' ' + last + form = + email: user.get('email') + name: name + delay: DELIGHTED_EMAIL_DELAY + properties: + id: user.id + locale: user.get('preferredLanguage') + testGroupNumber: user.get('testGroupNumber') + gender: user.get('gender') + lastLevel: user.get('lastLevel') + request.post {uri: "https://#{key}:@api.delightedapp.com/v1/people.json", form: form}, (err, res, body) -> + return log.error 'Error sending Delighted request:', err or body if err or /error/.test body + #log.info "Got DelightedApp response: #{body}" diff --git a/server/users/User.coffee b/server/users/User.coffee index 0372d073c..6e1899afc 100644 --- a/server/users/User.coffee +++ b/server/users/User.coffee @@ -7,6 +7,7 @@ log = require 'winston' plugins = require '../plugins/plugins' sendwithus = require '../sendwithus' +delighted = require '../delighted' UserSchema = new mongoose.Schema({ dateCreated: @@ -134,7 +135,7 @@ UserSchema.methods.register = (done) -> address: @get 'email' sendwithus.api.send data, (err, result) -> log.error "sendwithus post-save error: #{err}, result: #{result}" if err - + delighted.addDelightedUser @ UserSchema.pre('save', (next) -> @set('emailLower', @get('email')?.toLowerCase()) diff --git a/server_config.coffee b/server_config.coffee index 13fc4e7d1..336e8dd39 100644 --- a/server_config.coffee +++ b/server_config.coffee @@ -12,8 +12,8 @@ config.mongo = host: process.env.COCO_MONGO_HOST or 'localhost' db: process.env.COCO_MONGO_DATABASE_NAME or 'coco' mongoose_replica_string: process.env.COCO_MONGO_MONGOOSE_REPLICA_STRING or '' - -config.redis = + +config.redis = port: process.env.COCO_REDIS_PORT or 6379 host: process.env.COCO_REDIS_HOST or 'localhost' @@ -33,6 +33,7 @@ config.mail = mailchimpWebhook: process.env.COCO_MAILCHIMP_WEBHOOK or '/mail/webhook' sendwithusAPIKey: process.env.COCO_SENDWITHUS_API_KEY or '' stackleadAPIKey: process.env.COCO_STACKLEAD_API_KEY or '' + delightedAPIKey: process.env.COCO_DELIGHTED_API_KEY or '' cronHandlerPublicIP: process.env.COCO_CRON_PUBLIC_IP or '' cronHandlerPrivateIP: process.env.COCO_CRON_PRIVATE_IP or '' diff --git a/test/app/lib/goal_manager.spec.coffee b/test/app/lib/GoalManager.spec.coffee similarity index 100% rename from test/app/lib/goal_manager.spec.coffee rename to test/app/lib/GoalManager.spec.coffee diff --git a/test/app/lib/LevelLoader.spec.coffee b/test/app/lib/LevelLoader.spec.coffee new file mode 100644 index 000000000..c8d83338a --- /dev/null +++ b/test/app/lib/LevelLoader.spec.coffee @@ -0,0 +1,171 @@ +Level = require 'models/Level' +LevelSession = require 'models/LevelSession' +SuperModel = require 'models/SuperModel' +LevelComponent = require 'models/LevelComponent' +LevelLoader = require 'lib/LevelLoader' + +# LEVELS + +levelWithOgreWithMace = { + type: 'hero' + thangs: [{ + thangType: 'ogre' + components: [{ + original: LevelComponent.EquipsID + majorVersion: 0 + config: { inventory: { 'left-hand': 'mace' } } + }] + }] +} + +levelWithShaman = { + type: 'hero' + thangs: [{ + thangType: 'shaman' + }] +} + +levelWithShamanWithSuperWand = { + type: 'hero' + thangs: [{ + thangType: 'shaman' + components: [{ + original: LevelComponent.EquipsID + majorVersion: 0 + config: { inventory: { 'left-hand': 'super-wand' } } + }] + }] +} + +# SESSIONS + +sessionWithTharinWithHelmet = { heroConfig: { thangType: 'tharin', inventory: { 'head': 'helmet' }}} + +# THANG TYPES + +thangTypeOgreWithPhysicalComponent = { + name: 'Ogre' + original: 'ogre' + components: [{ + original: 'physical' + majorVersion: 0 + }] +} + +thangTypeShamanWithWandEquipped = { + name: 'Shaman' + original: 'shaman' + components: [{ + original: LevelComponent.EquipsID + majorVersion: 0 + config: { inventory: { 'left-hand': 'wand' }} + }] +} + +thangTypeTharinWithHealsComponent = { + name: 'Tharin' + original: 'tharin' + components: [{ + original: 'heals' + majorVersion: 0 + }] +} + +thangTypeWand = { + name: 'Wand' + original: 'wand' + components: [{ + original: 'poisons' + majorVersion: 0 + }] +} + + + +describe 'LevelLoader', -> + it 'loads hero and item thang types from heroConfig in the LevelSession', -> + new LevelLoader({supermodel:new SuperModel(), sessionID: 'id', levelID: 'id'}) + + responses = { + '/db/level_session/id': sessionWithTharinWithHelmet + } + + jasmine.Ajax.requests.sendResponses(responses) + requests = jasmine.Ajax.requests.all() + urls = (r.url for r in requests) + expect('/db/thang.type/helmet/version?project=name,components' in urls).toBeTruthy() + expect('/db/thang.type/tharin/version?project=name,components' in urls).toBeTruthy() + + it 'loads components for the hero in the heroConfig in the LevelSession', -> + new LevelLoader({supermodel:new SuperModel(), sessionID: 'id', levelID: 'id'}) + + responses = { + '/db/level_session/id': sessionWithTharinWithHelmet + '/db/thang.type/tharin/version?project=name,components': thangTypeTharinWithHealsComponent + } + + jasmine.Ajax.requests.sendResponses(responses) + requests = jasmine.Ajax.requests.all() + urls = (r.url for r in requests) + expect('/db/level.component/heals/version/0' in urls).toBeTruthy() + + it 'loads thangs for items that the level thangs have in their Equips component configs', -> + new LevelLoader({supermodel:supermodel = new SuperModel(), sessionID: 'id', levelID: 'id'}) + + responses = { + '/db/level/id': levelWithOgreWithMace + } + + jasmine.Ajax.requests.sendResponses(responses) + requests = jasmine.Ajax.requests.all() + urls = (r.url for r in requests) + expect('/db/thang.type/mace/version?project=name,components' in urls).toBeTruthy() + + it 'loads components which are inherited by level thangs from thang type default components', -> + new LevelLoader({supermodel:new SuperModel(), sessionID: 'id', levelID: 'id'}) + + responses = + '/db/level/id': levelWithOgreWithMace + '/db/thang.type/names': [thangTypeOgreWithPhysicalComponent] + + jasmine.Ajax.requests.sendResponses(responses) + requests = jasmine.Ajax.requests.all() + urls = (r.url for r in requests) + expect('/db/level.component/physical/version/0' in urls).toBeTruthy() + + it 'loads item thang types which are inherited by level thangs from thang type default equips component configs', -> + new LevelLoader({supermodel:new SuperModel(), sessionID: 'id', levelID: 'id'}) + + responses = + '/db/level/id': levelWithShaman + '/db/thang.type/names': [thangTypeShamanWithWandEquipped] + + jasmine.Ajax.requests.sendResponses(responses) + requests = jasmine.Ajax.requests.all() + urls = (r.url for r in requests) + expect('/db/thang.type/wand/version?project=name,components' in urls).toBeTruthy() + + it 'loads components for item thang types which are inherited by level thangs from thang type default equips component configs', -> + new LevelLoader({supermodel:new SuperModel(), sessionID: 'id', levelID: 'id'}) + + responses = + '/db/level/id': levelWithShaman + '/db/thang.type/names': [thangTypeShamanWithWandEquipped] + '/db/thang.type/wand/version?project=name,components': thangTypeWand + + jasmine.Ajax.requests.sendResponses(responses) + requests = jasmine.Ajax.requests.all() + urls = (r.url for r in requests) + expect('/db/level.component/poisons/version/0' in urls).toBeTruthy() + + it 'does not load item thang types from thang type equips component configs which are overriden by level thang equips component configs', -> + new LevelLoader({supermodel:new SuperModel(), sessionID: 'id', levelID: 'id'}) + + responses = + '/db/level/id': levelWithShamanWithSuperWand + '/db/thang.type/names': [thangTypeShamanWithWandEquipped] + + jasmine.Ajax.requests.sendResponses(responses) + requests = jasmine.Ajax.requests.all() + urls = (r.url for r in requests) + expect('/db/thang.type/wand/version?project=name,components' in urls).toBeFalsy() diff --git a/test/app/models/Level.spec.coffee b/test/app/models/Level.spec.coffee new file mode 100644 index 000000000..db90afd8d --- /dev/null +++ b/test/app/models/Level.spec.coffee @@ -0,0 +1,52 @@ +SuperModel = require 'models/SuperModel' +Level = require 'models/Level' +ThangType = require 'models/ThangType' + +describe 'Level', -> + describe 'denormalize', -> + level = new Level({ + thangs: [ + { + "thangType": "A" + "id": "Tharin" + "components": [ + {"original": "a", "majorVersion": 0} + {"original": "b", "majorVersion": 0, "config": {i: 2}} + {"original": "c", "majorVersion": 0, "config": {i: 1, ii: 2, nest: {iii: 3}}} + # should add one more + ] + } + ] + }) + + thangType = new ThangType({ + original: 'A' + version: {major: 0, minor: 0} + components: [ + {"original": "a", "majorVersion": 0, "config": {i: 1}} + {"original": "c", "majorVersion": 0, "config": {i: 3, nest: {iv: 4}}} + {"original": "d", "majorVersion": 0, "config": {i: 1}} + ] + }) + + supermodel = new SuperModel() + supermodel.registerModel(thangType) + + result = level.denormalize(supermodel) + tharinThangComponents = result.thangs[0].components + + it 'adds default configs to thangs without any config', -> + aComp = _.find tharinThangComponents, {original:'a'} + expect(_.isEqual(aComp.config, {i:1})).toBeTruthy() + + it 'leaves alone configs for components the level thang has but the thang type does not', -> + bComp = _.find tharinThangComponents, {original:'b'} + expect(_.isEqual(bComp.config, {i:2})).toBeTruthy() + + it 'merges configs where both the level thang and thang type have one, giving priority to the level thang', -> + cComp = _.find tharinThangComponents, {original:'c'} + expect(_.isEqual(cComp.config, {i: 1, ii: 2, nest: {iii: 3, iv: 4}})).toBeTruthy() + + it 'adds components from the thang type that do not exist in the level thang', -> + dComp = _.find tharinThangComponents, {original:'d'} + expect(_.isEqual(dComp.config, {i: 1})).toBeTruthy() \ No newline at end of file diff --git a/test/app/vendor/lodash.spec.coffee b/test/app/vendor/lodash.spec.coffee new file mode 100644 index 000000000..cbc5b6766 --- /dev/null +++ b/test/app/vendor/lodash.spec.coffee @@ -0,0 +1,23 @@ +describe 'merge', -> + it 'combines nested objects recursively', -> + a = { i: 0, nest: { iii: 0 }} + b = { ii: 0, nest: { iv: 0 }} + res = _.merge(a, b) + expect(_.isEqual(res, { i: 0, ii: 0, nest: {iii:0, iv:0}})).toBeTruthy() + + it 'overwrites values from source to object', -> + a = { i: 0 } + b = { i: 1 } + res = _.merge(a, b) + expect(_.isEqual(res, b)).toBeTruthy() + + it 'treats arrays as atomic', -> + a = { i: 0 } + b = { i: [1,2,3] } + res = _.merge(a, b) + expect(_.isEqual(res, b)).toBeTruthy() + + a = { i: [5,4,3] } + b = { i: [1,2,3] } + res = _.merge(a, b) + expect(_.isEqual(res, b)).toBeTruthy() \ No newline at end of file diff --git a/test/app/views/editor/PatchModal.spec.coffee b/test/app/views/editor/PatchModal.spec.coffee new file mode 100644 index 000000000..d6c507880 --- /dev/null +++ b/test/app/views/editor/PatchModal.spec.coffee @@ -0,0 +1,19 @@ +LevelComponent = require 'models/LevelComponent' +Patch = require 'models/Patch' + +PatchModal = require 'views/editor/PatchModal' + +describe 'PatchModal', -> + describe 'acceptPatch', -> + it 'triggers LevelComponents and Systems to recompile their code', -> + levelComponent = new LevelComponent({ code: 'newList = (item.prop for item in list)', id: 'id' }) + levelComponent.markToRevert() + levelComponent.set('code', 'func = -> console.log()') + patch = new Patch({delta: levelComponent.getDelta(), target: 'id'}) + + levelComponent = new LevelComponent({ code: 'newList = (item.prop for item in list)', id: 'id' }) + levelComponent.markToRevert() + patchModal = new PatchModal(patch, levelComponent) + patchModal.render() + patchModal.acceptPatch() + expect(levelComponent.get('js').indexOf('function()')).toBeGreaterThan(-1) diff --git a/test/app/views/editor/component/ThangComponentsEditView.spec.coffee b/test/app/views/editor/component/ThangComponentsEditView.spec.coffee new file mode 100644 index 000000000..7ea96fb74 --- /dev/null +++ b/test/app/views/editor/component/ThangComponentsEditView.spec.coffee @@ -0,0 +1,57 @@ +ThangComponentEditView = require('views/editor/component/ThangComponentsEditView') +SuperModel = require('models/SuperModel') +LevelComponent = require('models/LevelComponent') + +responses = + '/db/level.component/B/version/0': { + system: 'System' + original: 'B' + majorVersion: 0 + name: 'B (depends on A)' + dependencies: [{original:'A', majorVersion: 0}] + } + '/db/level.component/A/version/0': { + system: 'System' + original: 'A' + majorVersion: 0 + name: 'A' + configSchema: { type: 'object', properties: { propA: { type: 'number' }, propB: { type: 'string' }} } + } + +componentC = new LevelComponent({ + system: 'System' + original: 'C' + majorVersion: 0 + name: 'C (depends on B)' + dependencies: [{original:'B', majorVersion: 0}] +}) + +describe 'ThangComponentsEditView', -> + view = null + + beforeEach -> + supermodel = new SuperModel() + supermodel.registerModel(componentC) + view = new ThangComponentEditView({ components: [], supermodel: supermodel }) + view.render() + view.componentsTreema.set('/', [ { original: 'C', majorVersion: 0 }]) + spyOn(window, 'noty') + + it 'loads dependencies when you add a component with the left side treema', -> + success = jasmine.Ajax.requests.sendResponses(responses) + expect(success).toBeTruthy() + expect(_.size(view.subviews)).toBe(3) + + it 'adds dependencies to its components list', -> + jasmine.Ajax.requests.sendResponses(responses) + componentOriginals = (c.original for c in view.components) + expect('A' in componentOriginals).toBeTruthy() + expect('B' in componentOriginals).toBeTruthy() + expect('C' in componentOriginals).toBeTruthy() + + it 'removes components that are dependent on a removed component', -> + jasmine.Ajax.requests.sendResponses(responses) + view.components = (c for c in view.components when c.original isnt 'A') + view.onComponentsChanged() + expect(view.components.length).toBe(0) + expect(_.size(view.subviews)).toBe(0) \ No newline at end of file diff --git a/test/demo/views/editor/component/AddThangComponentsModal.demo.coffee b/test/demo/views/editor/component/AddThangComponentsModal.demo.coffee new file mode 100644 index 000000000..a2d5be343 --- /dev/null +++ b/test/demo/views/editor/component/AddThangComponentsModal.demo.coffee @@ -0,0 +1,160 @@ +AddThangComponentsModal = require('views/editor/component/AddThangComponentsModal') + +response = + [ + { + "_id": "53c46b06bd135abdb79a4f32", + "name": "InventorySomething", + "original": "53c46ae2bd135abdb79a4f2f", + "official": false, + "configSchema": { + "additionalProperties": false, + "type": "object" + }, + "propertyDocumentation": [], + "dependencies": [], + "code": "class AttacksSelf extends Component\n @className: 'AttacksSelf'\n chooseAction: ->\n @attack @", + "description": "This Component makes the Thang attack itself.", + "system": "inventory", + "version": { + "minor": 2, + "major": 0, + "isLatestMajor": true, + "isLatestMinor": true + } + }, + { + "_id": "538755f3cb18e70000712278", + "name": "Jitters", + "original": "530d8a70286ddc0000cc5d9d", + "official": false, + "configSchema": { + "additionalProperties": false, + "type": "object" + }, + "propertyDocumentation": [], + "dependencies": [], + "code": "class AttacksSelf extends Component\n @className: 'AttacksSelf'\n chooseAction: ->\n @attack @", + "description": "This Component makes the Thang jitter. Or, it would, if it did anything yet. (Test Component.)", + "system": "movement", + "version": { + "minor": 3, + "major": 0, + "isLatestMajor": true, + "isLatestMinor": true + } + }, + { + "_id": "538755f3cb18e70000712279", + "name": "DelaysExistence", + "original": "524cbbea3ea855e0ab00003d", + "official": false, + "configSchema": { + "additionalProperties": false, + "type": "object" + }, + "propertyDocumentation": [], + "dependencies": [], + "code": "class AttacksSelf extends Component\n @className: 'AttacksSelf'\n chooseAction: ->\n @attack @", + "description": "This Thang doesn't show up right away.", + "system": "existence", + "version": { + "minor": 25, + "major": 0, + "isLatestMajor": true, + "isLatestMinor": true + } + }, + { + "_id": "538755f3cb18e7000071227a", + "name": "RunsInCircles", + "original": "52438245ef76c3dcf5000004", + "official": false, + "configSchema": { + "additionalProperties": false, + "type": "object" + }, + "propertyDocumentation": [], + "dependencies": [], + "code": "class AttacksSelf extends Component\n @className: 'AttacksSelf'\n chooseAction: ->\n @attack @", + "description": "This Thang runs in circles.", + "system": "ai", + "version": { + "minor": 39, + "major": 0, + "isLatestMajor": true, + "isLatestMinor": true + } + }, + { + "_id": "538755f3cb18e7000071227b", + "name": "AttacksSelf", + "original": "52437b061d9e25b8dc000004", + "official": false, + "configSchema": { + "additionalProperties": false, + "type": "object" + }, + "propertyDocumentation": [], + "dependencies": [], + "code": "class AttacksSelf extends Component\n @className: 'AttacksSelf'\n chooseAction: ->\n @attack @", + "description": "This Component makes the Thang attack itself.", + "system": "ai", + "version": { + "minor": 41, + "major": 0, + "isLatestMajor": true, + "isLatestMinor": true + } + }, + { + "_id": "538755f3cb18e7000071227d", + "name": "FollowsNearestFriend", + "original": "52437e31ef76c3dcf5000002", + "official": false, + "configSchema": { + "additionalProperties": false, + "type": "object" + }, + "propertyDocumentation": [], + "dependencies": [], + "code": "class AttacksSelf extends Component\n @className: 'AttacksSelf'\n chooseAction: ->\n @attack @", + "description": "This Thang follows the nearest friend.", + "system": "ai", + "version": { + "minor": 39, + "major": 0, + "isLatestMajor": true, + "isLatestMinor": true + } + }, + { + "_id": "538755f4cb18e7000071227e", + "name": "FollowsNearest", + "original": "52437c851d9e25b8dc000008", + "official": false, + "configSchema": { + "additionalProperties": false, + "type": "object" + }, + "propertyDocumentation": [], + "dependencies": [], + "code": "class AttacksSelf extends Component\n @className: 'AttacksSelf'\n chooseAction: ->\n @attack @", + "description": "This Thang follows the nearest other Thang.", + "system": "ai", + "version": { + "minor": 39, + "major": 0, + "isLatestMajor": true, + "isLatestMinor": true + } + } + ] + + +module.exports = -> + view = new AddThangComponentsModal({skipOriginals:['52437c851d9e25b8dc000008']}) # FollowsNearest original + console.log jasmine.Ajax.requests.all() + jasmine.Ajax.requests.mostRecent().response({status: 200, responseText: JSON.stringify(response)}) + view.render() + return view \ No newline at end of file diff --git a/test/demo/views/editor/component/ThangComponentsEditView.demo.coffee b/test/demo/views/editor/component/ThangComponentsEditView.demo.coffee new file mode 100644 index 000000000..d41af9628 --- /dev/null +++ b/test/demo/views/editor/component/ThangComponentsEditView.demo.coffee @@ -0,0 +1,40 @@ +ThangComponentEditView = require('views/editor/component/ThangComponentsEditView') + +responses = + '/db/level.component/A/version/0': { + system: 'System' + original: 'A' + majorVersion: 0 + name: 'A' + configSchema: { type: 'object', properties: { propA: { type: 'number' }, propB: { type: 'string' }} } + + } + '/db/level.component/B/version/0': { + system: 'System' + original: 'B' + majorVersion: 0 + name: 'B (depends on A)' + dependencies: [{original:'A', majorVersion: 0}] + } + '/db/level.component/C/version/0': { + system: 'System' + original: 'C' + majorVersion: 0 + name: 'C (depends on B)' + dependencies: [{original:'B', majorVersion: 0}] + } + +module.exports = -> + view = new ThangComponentEditView({ + components: [ + { original: 'A', majorVersion: 0, config: {propA: 1, propB: 'string'} } + { original: 'B', majorVersion: 0 } + { original: 'C', majorVersion: 0 } + ] + }) + + view.render() + jasmine.Ajax.requests.sendResponses(responses) + view.$el.css('background', 'white') + + return view \ No newline at end of file diff --git a/test/vendor/example.coffee b/test/vendor/example.coffee deleted file mode 100644 index d08284dc1..000000000 --- a/test/vendor/example.coffee +++ /dev/null @@ -1 +0,0 @@ -massivelyUsefulTestExample = 'test...'