diff --git a/app/core/Tracker.coffee b/app/core/Tracker.coffee index 3724aa612..85de8e552 100644 --- a/app/core/Tracker.coffee +++ b/app/core/Tracker.coffee @@ -128,7 +128,7 @@ module.exports = class Tracker console.error "Analytics post failed!" else request = @supermodel.addRequestResource 'log_event', { - url: '/db/analytics_log_event/-/log_event' + url: '/db/analytics.log.event/-/log_event' data: {event: event, properties: properties} method: 'POST' }, 0 diff --git a/app/core/initialize.coffee b/app/core/initialize.coffee index c961ae164..2fec30501 100644 --- a/app/core/initialize.coffee +++ b/app/core/initialize.coffee @@ -71,7 +71,7 @@ setUpBackboneMediator = -> if false # Debug which events are being fired originalPublish = Backbone.Mediator.publish Backbone.Mediator.publish = -> - console.log 'Publishing event:', arguments... + console.log 'Publishing event:', arguments... unless /(tick|frame-changed)/.test(arguments[0]) originalPublish.apply Backbone.Mediator, arguments setUpMoment = -> diff --git a/app/lib/Angel.coffee b/app/lib/Angel.coffee index eaa0d762c..6c651c44c 100644 --- a/app/lib/Angel.coffee +++ b/app/lib/Angel.coffee @@ -25,9 +25,10 @@ module.exports = class Angel extends CocoClass super() @say 'Got my wings.' isIE = window.navigator and (window.navigator.userAgent.search('MSIE') isnt -1 or window.navigator.appName is 'Microsoft Internet Explorer') - if isIE or @shared.headless - # Since IE is so slow to serialize without transferable objects, we can't trust it. - # We also noticed the headless_client simulator needing more time. (This does both Simulators, though.) + slowerSimulations = isIE #or @shared.headless + # Since IE is so slow to serialize without transferable objects, we can't trust it. + # We also noticed the headless_client simulator needing more time. (This does both Simulators, though.) If we need to use lots of headless clients, enable this. + if slowerSimulations @infiniteLoopIntervalDuration *= 10 @infiniteLoopTimeoutDuration *= 10 @abortTimeoutDuration *= 10 @@ -89,7 +90,7 @@ module.exports = class Angel extends CocoClass # We have to abort like an infinite loop if we see one of these; they're not really recoverable when 'non-user-code-problem' - Backbone.Mediator.publish 'god:non-user-code-problem', problem: event.data.problem + Backbone.Mediator.publish 'god:non-user-code-problem', problem: event.data.problem, god: @shared.god if @shared.firstWorld @infinitelyLooped(false, true) # For now, this should do roughly the right thing if it happens during load. else @@ -108,9 +109,9 @@ module.exports = class Angel extends CocoClass when 'console-log' @log event.data.args... when 'user-code-problem' - Backbone.Mediator.publish 'god:user-code-problem', problem: event.data.problem + Backbone.Mediator.publish 'god:user-code-problem', problem: event.data.problem, god: @shared.god when 'world-load-progress-changed' - Backbone.Mediator.publish 'god:world-load-progress-changed', progress: event.data.progress + Backbone.Mediator.publish 'god:world-load-progress-changed', progress: event.data.progress, god: @shared.god unless event.data.progress is 1 or @work.preload or @work.headless or @work.synchronous or @deserializationQueue.length or (@shared.firstWorld and not @shared.spectate) @worker.postMessage func: 'serializeFramesSoFar' # Stream it! @@ -126,7 +127,8 @@ module.exports = class Angel extends CocoClass beholdGoalStates: (goalStates, overallStatus, preload=false) -> return if @aborting - Backbone.Mediator.publish 'god:goals-calculated', goalStates: goalStates, preload: preload, overallStatus: overallStatus + Backbone.Mediator.publish 'god:goals-calculated', goalStates: goalStates, preload: preload, overallStatus: overallStatus, god: @shared.god + @shared.god.trigger 'goals-calculated', goalStates: goalStates, preload: preload, overallStatus: overallStatus @finishWork() if @shared.headless beholdWorld: (serialized, goalStates, startFrame, endFrame, streamingWorld) -> @@ -176,8 +178,9 @@ module.exports = class Angel extends CocoClass return if @aborting problem = type: 'runtime', level: 'error', id: 'runtime_InfiniteLoop', message: 'Code never finished. It\'s either really slow or has an infinite loop.' problem.message = 'Escape pressed; code aborted.' if escaped - Backbone.Mediator.publish 'god:user-code-problem', problem: problem - Backbone.Mediator.publish 'god:infinite-loop', firstWorld: @shared.firstWorld, nonUserCodeProblem: nonUserCodeProblem + Backbone.Mediator.publish 'god:user-code-problem', problem: problem, god: @shared.god + Backbone.Mediator.publish 'god:infinite-loop', firstWorld: @shared.firstWorld, nonUserCodeProblem: nonUserCodeProblem, god: @shared.god + @shared.god.trigger 'infinite-loop', firstWorld: @shared.firstWorld, nonUserCodeProblem: nonUserCodeProblem # For Simulator. TODO: refactor all the god:* Mediator events to be local events. @reportLoadError() if nonUserCodeProblem @fireWorker() @@ -308,7 +311,7 @@ module.exports = class Angel extends CocoClass i = 0 while i < work.testWorld.totalFrames frame = work.testWorld.getFrame i++ - Backbone.Mediator.publish 'god:world-load-progress-changed', progress: 1 + Backbone.Mediator.publish 'god:world-load-progress-changed', progress: 1, god: @shared.god work.testWorld.ended = true system.finish work.testWorld.thangs for system in work.testWorld.systems work.t2 = now() diff --git a/app/lib/AudioPlayer.coffee b/app/lib/AudioPlayer.coffee index 3a0abfb34..b9e2d3f55 100644 --- a/app/lib/AudioPlayer.coffee +++ b/app/lib/AudioPlayer.coffee @@ -93,11 +93,13 @@ class AudioPlayer extends CocoClass return defaults[message.length % defaults.length] preloadInterfaceSounds: (names) -> + return unless me.get 'volume' for name in names filename = "/file/interface/#{name}#{@ext}" @preloadSound filename, name playInterfaceSound: (name, volume=1) -> + return unless volume and me.get 'volume' filename = "/file/interface/#{name}#{@ext}" if @hasLoadedSound filename @playSound name, volume @@ -107,6 +109,7 @@ class AudioPlayer extends CocoClass playSound: (name, volume=1, delay=0, pos=null) -> return console.error 'Trying to play empty sound?' unless name + return unless volume and me.get 'volume' audioOptions = {volume: volume, delay: delay} filename = if _.string.startsWith(name, '/file/') then name else '/file/' + name unless @hasLoadedSound filename @@ -120,9 +123,8 @@ class AudioPlayer extends CocoClass return false unless createjs.Sound.loadComplete filename true - # TODO: load Interface sounds somehow, somewhere, somewhen - preloadSoundReference: (sound) -> + return unless me.get 'volume' return unless name = @nameForSoundReference sound filename = '/file/' + name @preloadSound filename, name diff --git a/app/lib/God.coffee b/app/lib/God.coffee index b22f6dcd7..5fe349a76 100644 --- a/app/lib/God.coffee +++ b/app/lib/God.coffee @@ -25,6 +25,7 @@ module.exports = class God extends CocoClass workerCode: options.workerCode or '/javascripts/workers/worker_world.js' # Either path or function headless: options.headless # Whether to just simulate the goals, or to deserialize all simulation results spectate: options.spectate + god: @ godNick: @nick workQueue: [] firstWorld: true @@ -61,6 +62,7 @@ module.exports = class God extends CocoClass setWorldClassMap: (worldClassMap) -> @angelsShare.worldClassMap = worldClassMap onTomeCast: (e) -> + return unless e.god is @ @lastSubmissionCount = e.submissionCount @lastFlagHistory = (flag for flag in e.flagHistory when flag.source isnt 'code') @lastDifficulty = e.difficulty @@ -142,9 +144,9 @@ module.exports = class God extends CocoClass when 'console-log' console.log "|#{@nick}'s debugger|", event.data.args... when 'debug-value-return' - Backbone.Mediator.publish 'god:debug-value-return', event.data.serialized + Backbone.Mediator.publish 'god:debug-value-return', event.data.serialized, god: @ when 'debug-world-load-progress-changed' - Backbone.Mediator.publish 'god:debug-world-load-progress-changed', progress: event.data.progress + Backbone.Mediator.publish 'god:debug-world-load-progress-changed', progress: event.data.progress, god: @ onNewWorldCreated: (e) -> @currentUserCodeMap = @filterUserCodeMapWhenFromWorld e.world.userCodeMap diff --git a/app/lib/LevelBus.coffee b/app/lib/LevelBus.coffee index 20e053527..2462dd508 100644 --- a/app/lib/LevelBus.coffee +++ b/app/lib/LevelBus.coffee @@ -29,7 +29,8 @@ module.exports = class LevelBus extends Bus super(arguments...) @changedSessionProperties = {} if application.isProduction() - @saveSession = _.debounce(@reallySaveSession, 4000, {maxWait: 10000}) # Save slower on production. + #@saveSession = _.debounce(@reallySaveSession, 4000, {maxWait: 10000}) # Save slower on production. + @saveSession = _.debounce(@reallySaveSession, 10000, {maxWait: 30000}) # Save even slower during HoC. else @saveSession = _.debounce(@reallySaveSession, 1000, {maxWait: 5000}) # Save quickly in development. @playerIsIdle = false @@ -123,6 +124,7 @@ module.exports = class LevelBus extends Bus onWinnabilityUpdated: (e) -> return unless @onPoint() and e.winnable return unless e.level.get('slug') in ['ace-of-coders'] # Mirror matches don't otherwise show victory, so we win here. + return if @session.get('state')?.complete @onVictory() onNewWorldCreated: (e) -> diff --git a/app/lib/LevelLoader.coffee b/app/lib/LevelLoader.coffee index d3b78f1f4..84ed7fe45 100644 --- a/app/lib/LevelLoader.coffee +++ b/app/lib/LevelLoader.coffee @@ -418,20 +418,23 @@ module.exports = class LevelLoader extends CocoClass # Initial Sound Loading playJingle: -> - return if @headless + return if @headless or not me.get('volume') + volume = 0.5 + if me.level() < 3 + volume = 0.25 # Start softly, since they may not be expecting it # Apparently the jingle, when it tries to play immediately during all this loading, you can't hear it. # Add the timeout to fix this weird behavior. f = -> jingles = ['ident_1', 'ident_2'] - AudioPlayer.playInterfaceSound jingles[Math.floor Math.random() * jingles.length] + AudioPlayer.playInterfaceSound jingles[Math.floor Math.random() * jingles.length], volume setTimeout f, 500 loadAudio: -> - return if @headless + return if @headless or not me.get('volume') AudioPlayer.preloadInterfaceSounds ['victory'] loadLevelSounds: -> - return if @headless + return if @headless or not me.get('volume') scripts = @level.get 'scripts' return unless scripts diff --git a/app/lib/LevelSetupManager.coffee b/app/lib/LevelSetupManager.coffee index c70c6aca4..5e4fb6ad9 100644 --- a/app/lib/LevelSetupManager.coffee +++ b/app/lib/LevelSetupManager.coffee @@ -68,6 +68,11 @@ module.exports = class LevelSetupManager extends CocoClass @session.set 'heroConfig', {"thangType":goliath,"inventory":{"eyes":"53eb99f41a100989a40ce46e","neck":"54693274a2b1f53ce79443c9","wrists":"54693797a2b1f53ce79443e9","feet":"546d4d8e9df4a17d0d449acd","minion":"54eb5bf649fa2d5c905ddf4a","programming-book":"557871261ff17fef5abee3ee"}} @onInventoryModalPlayClicked() return + if @level.get('slug') is 'assembly-speed' + raider = '55527eb0b8abf4ba1fe9a107' + @session.set 'heroConfig', {"thangType":raider,"inventory":{}} + @onInventoryModalPlayClicked() + return if @level.get('type', true) in ['course', 'course-ladder'] @onInventoryModalPlayClicked() return diff --git a/app/lib/simulator/Simulator.coffee b/app/lib/simulator/Simulator.coffee index 10ce5cdc6..075d4776f 100644 --- a/app/lib/simulator/Simulator.coffee +++ b/app/lib/simulator/Simulator.coffee @@ -45,6 +45,7 @@ module.exports = class Simulator extends CocoClass humansGameID: humanGameID ogresGameID: ogresGameID simulator: @simulator + background: Boolean(@options.background) error: (errorData) -> console.warn "There was an error fetching two games! #{JSON.stringify errorData}" if errorData?.responseText?.indexOf("Old simulator") isnt -1 @@ -84,8 +85,8 @@ module.exports = class Simulator extends CocoClass @handleSingleSimulationError error commenceSingleSimulation: -> - Backbone.Mediator.subscribeOnce 'god:infinite-loop', @handleSingleSimulationInfiniteLoop, @ - Backbone.Mediator.subscribeOnce 'god:goals-calculated', @processSingleGameResults, @ + @listenToOnce @god, 'infinite-loop', @handleSingleSimulationInfiniteLoop + @listenToOnce @god, 'goals-calculated', @processSingleGameResults @god.createWorld @generateSpellsObject() handleSingleSimulationError: (error) -> @@ -96,7 +97,7 @@ module.exports = class Simulator extends CocoClass process.exit(0) @cleanupAndSimulateAnotherTask() - handleSingleSimulationInfiniteLoop: -> + handleSingleSimulationInfiniteLoop: (e) -> console.log 'There was an infinite loop in the single game!' return if @destroyed if @options.headlessClient and @options.simulateOnlyOneGame @@ -105,7 +106,6 @@ module.exports = class Simulator extends CocoClass @cleanupAndSimulateAnotherTask() processSingleGameResults: (simulationResults) -> - return console.error "Weird, we destroyed the Simulator before it processed results?" if @destroyed try taskResults = @formTaskResultsObject simulationResults catch error @@ -165,6 +165,7 @@ module.exports = class Simulator extends CocoClass @simulateAnotherTaskAfterDelay() handleNoGamesResponse: -> + @noTasks = true info = 'Finding game to simulate...' console.log info @trigger 'statusUpdate', info @@ -223,7 +224,7 @@ module.exports = class Simulator extends CocoClass @god.setLevel @level.serialize(@supermodel, @session, @otherSession) @god.setLevelSessionIDs (session.sessionID for session in @task.getSessions()) @god.setWorldClassMap @world.classMap - @god.setGoalManager new GoalManager(@world, @level.get 'goals') + @god.setGoalManager new GoalManager @world, @level.get('goals'), null, {headless: true} humanFlagHistory = _.filter @session.get('state')?.flagHistory ? [], (event) => event.source isnt 'code' and event.team is (@session.get('team') ? 'humans') ogreFlagHistory = _.filter @otherSession.get('state')?.flagHistory ? [], (event) => event.source isnt 'code' and event.team is (@otherSession.get('team') ? 'ogres') @god.lastFlagHistory = humanFlagHistory.concat ogreFlagHistory @@ -232,8 +233,8 @@ module.exports = class Simulator extends CocoClass @god.lastDifficulty = 0 commenceSimulationAndSetupCallback: -> - Backbone.Mediator.subscribeOnce 'god:infinite-loop', @onInfiniteLoop, @ - Backbone.Mediator.subscribeOnce 'god:goals-calculated', @processResults, @ + @listenToOnce @god, 'infinite-loop', @onInfiniteLoop + @listenToOnce @god, 'goals-calculated', @processResults @god.createWorld @generateSpellsObject() # Search for leaks, headless-client only. @@ -260,14 +261,13 @@ module.exports = class Simulator extends CocoClass process.exit() @hd = new @memwatch.HeapDiff() - onInfiniteLoop: -> + onInfiniteLoop: (e) -> return if @destroyed console.warn 'Skipping infinitely looping game.' @trigger 'statusUpdate', "Infinite loop detected; grabbing a new game in #{@retryDelayInSeconds} seconds." _.delay @cleanupAndSimulateAnotherTask, @retryDelayInSeconds * 1000 processResults: (simulationResults) -> - return console.error "Weird, we destroyed the Simulator before it processed results?" if @destroyed try taskResults = @formTaskResultsObject simulationResults catch error @@ -317,9 +317,13 @@ module.exports = class Simulator extends CocoClass cleanupAndSimulateAnotherTask: => return if @destroyed @cleanupSimulation() - @fetchAndSimulateTask() + if @options.background or @noTasks + @fetchAndSimulateOneGame() + else + @fetchAndSimulateTask() cleanupSimulation: -> + @stopListening @god @world = null @level = null diff --git a/app/lib/surface/Lank.coffee b/app/lib/surface/Lank.coffee index 0409316b2..a606054e1 100644 --- a/app/lib/surface/Lank.coffee +++ b/app/lib/surface/Lank.coffee @@ -476,9 +476,8 @@ module.exports = Lank = class Lank extends CocoClass bar.scaleX = healthPct / @options.floatingLayer.resolutionFactor if @thang.showsName @setNameLabel(if @thang.health <= 0 then '' else @thang.id) - # Let's try just using the DuelStatsView instead of this. - #else if @options.playerName - # @setNameLabel @options.playerName + else if @options.playerName + @setNameLabel @options.playerName configureMouse: -> @sprite.cursor = 'pointer' if @thang?.isSelectable diff --git a/app/lib/surface/MusicPlayer.coffee b/app/lib/surface/MusicPlayer.coffee index b218ea05b..2a3443644 100644 --- a/app/lib/surface/MusicPlayer.coffee +++ b/app/lib/surface/MusicPlayer.coffee @@ -16,6 +16,7 @@ module.exports = class MusicPlayer extends CocoClass 'playback:real-time-playback-ended': 'onRealTimePlaybackEnded' 'music-player:enter-menu': 'onEnterMenu' 'music-player:exit-menu': 'onExitMenu' + 'level:set-volume': 'onSetVolume' constructor: -> super arguments... @@ -26,6 +27,9 @@ module.exports = class MusicPlayer extends CocoClass onPlayMusic: (e) -> return if application.isIPadApp # Hard to measure, but just guessing this will save memory. + unless me.get 'volume' + @lastMusicEventIgnoredWhileMuted = e + return src = e.file src = "/file#{src}#{AudioPlayer.ext}" if (not e.file) or src is @currentMusic?.src @@ -97,6 +101,11 @@ module.exports = class MusicPlayer extends CocoClass @currentMusic = @previousMusic @restartCurrentMusic() + onSetVolume: (e) -> + return unless e.volume and @lastMusicEventIgnoredWhileMuted + @onPlayMusic @lastMusicEventIgnoredWhileMuted + @lastMusicEventIgnoredWhileMuted = null + destroy: -> me.off 'change:music', @onMusicSettingChanged, @ @fadeOutCurrentMusic() diff --git a/app/lib/surface/Surface.coffee b/app/lib/surface/Surface.coffee index 974767b2f..0c0d8dd64 100644 --- a/app/lib/surface/Surface.coffee +++ b/app/lib/surface/Surface.coffee @@ -49,9 +49,9 @@ module.exports = Surface = class Surface extends CocoClass navigateToSelection: true choosing: false # 'point', 'region', 'ratio-region' coords: null # use world defaults, or set to false/true to override - playJingle: false showInvisible: false frameRate: 30 # Best as a divisor of 60, like 15, 30, 60, with RAF_SYNCHED timing. + levelType: 'hero' subscriptions: 'level:disable-controls': 'onDisableControls' @@ -112,7 +112,7 @@ module.exports = Surface = class Surface extends CocoClass canvasHeight = parseInt @normalCanvas.attr('height'), 10 @screenLayer.addChild new Letterbox canvasWidth: canvasWidth, canvasHeight: canvasHeight - @lankBoss = new LankBoss camera: @camera, webGLStage: @webGLStage, surfaceTextLayer: @surfaceTextLayer, world: @world, thangTypes: @options.thangTypes, choosing: @options.choosing, navigateToSelection: @options.navigateToSelection, showInvisible: @options.showInvisible, playerNames: @options.playerNames + @lankBoss = new LankBoss camera: @camera, webGLStage: @webGLStage, surfaceTextLayer: @surfaceTextLayer, world: @world, thangTypes: @options.thangTypes, choosing: @options.choosing, navigateToSelection: @options.navigateToSelection, showInvisible: @options.showInvisible, playerNames: if @options.levelType is 'course-ladder' then @options.playerNames else null @countdownScreen = new CountdownScreen camera: @camera, layer: @screenLayer, showsCountdown: @world.showsCountdown @playbackOverScreen = new PlaybackOverScreen camera: @camera, layer: @screenLayer, playerNames: @options.playerNames @normalStage.addChildAt @playbackOverScreen.dimLayer, 0 # Put this below the other layers, actually, so we can more easily read text on the screen. diff --git a/app/lib/world/GoalManager.coffee b/app/lib/world/GoalManager.coffee index 5b4cd3081..378068507 100644 --- a/app/lib/world/GoalManager.coffee +++ b/app/lib/world/GoalManager.coffee @@ -16,8 +16,9 @@ module.exports = class GoalManager extends CocoClass nextGoalID: 0 nicks: ['GoalManager'] - constructor: (@world, @initialGoals, @team) -> + constructor: (@world, @initialGoals, @team, options) -> super() + @options = options or {} @init() init: -> @@ -107,6 +108,7 @@ module.exports = class GoalManager extends CocoClass @addNewSubscription(channel, f(channel)) notifyGoalChanges: -> + return if @options.headless overallStatus = @checkOverallStatus() event = goalStates: @goalStates diff --git a/app/locale/ar.coffee b/app/locale/ar.coffee index 777ff9149..7f2816682 100644 --- a/app/locale/ar.coffee +++ b/app/locale/ar.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi multiplayer: "متعدد اللاعبين" # Not currently shown on home page for_developers: "للمطوّرين" # Not currently shown on home page. or_ipad: "أو حمِّل من أجل الآيباد" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "إلعب" # The top nav bar entry where players choose which levels to play community: "مجتمع" +# courses: "Courses" editor: "محرّر" blog: "مدوّنة" forum: "منتدى" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi play: play_as: "إلعب كـ" # Ladder page +# compete: "Compete!" # Course details page spectate: "مشاهد" # Ladder page players: "لاعبين" # Hover over a level on /play hours_played: "ساعات اللّعب" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi years: "سنوات" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "انتهاء" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi victory_title_suffix: " كامل" victory_sign_up: "اشترك لإنقاذ التقدم" victory_sign_up_poke: "تريد حفظ التعليمات البرمجية الخاصة بك؟ إنشاء حساب مجاني!" - victory_rate_the_level: "معدل المستوى: " # Only in old-style levels. + victory_rate_the_level: "معدل المستوى: " # {change} victory_return_to_ladder: "العودة إلى سلم" victory_play_continue: "استمر" victory_saving_progress: "توفير التقدم" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "كلمة سر جديدة" new_password_verify: "تحقق من" type_in_email: "اكتب في البريد الإلكتروني الخاص بك لتأكيد الحساب الحذف." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/bg.coffee b/app/locale/bg.coffee index 504a213fb..e13865c83 100644 --- a/app/locale/bg.coffee +++ b/app/locale/bg.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "български език", englishDescri multiplayer: "Мултиплейър" # Not currently shown on home page for_developers: "За разработчици" # Not currently shown on home page. or_ipad: "Или свали за iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Нива" # The top nav bar entry where players choose which levels to play community: "Общност" +# courses: "Courses" editor: "Редактор" blog: "Блог" forum: "Форум" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "български език", englishDescri play: play_as: "Играй като" # Ladder page +# compete: "Compete!" # Course details page spectate: "Наблюдател" # Ladder page players: "Играчи" # Hover over a level on /play hours_played: "Изиграни часове" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "български език", englishDescri years: "години" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Готово" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "На главната" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "български език", englishDescri victory_title_suffix: " завършено!" victory_sign_up: "Регистрирай се за да запишеш напредъка си" victory_sign_up_poke: "Регистрирайте се безплатно за да запазите прогреса си!" - victory_rate_the_level: "Оценете нивото: " # Only in old-style levels. + victory_rate_the_level: "Оценете нивото: " # {change} victory_return_to_ladder: "Обратно към Стълбата" victory_play_continue: "Продължи" victory_saving_progress: "Записване на напредъка" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "български език", englishDescri parents_blurb3: "Без Риск: 100% гаранция за възстановяване на средствата, прекратяване на абонамента с едно натискане на бутон." payment_methods: "Начини на плащане" payment_methods_title: "Възможни начини на плащане" - payment_methods_blurb1: "В момента приемаме кредитни карти и Alipay." + payment_methods_blurb1: "В момента приемаме кредитни карти и Alipay." # {change} payment_methods_blurb2: "Ако желаете алтернативна форма на плащане, свържете се с нас" sale_already_subscribed: "Вече имате абонамент!" - sale_blurb1: "Спестете 35%" + sale_blurb1: "Спестете $21" # {change} sale_blurb2: "от редовната абонаментна такса от $120 за цялата година!" sale_button: "Разпродажба!" - sale_button_title: "Спестете 35% като направите абонамент за 1 година" + sale_button_title: "Спестете $21 като направите абонамент за 1 година" # {change} sale_click_here: "Кликнете Тук" sale_ends: "Завършва" sale_extended: "*Съществуващият абонамент ще бъде продължен с 1 година." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "български език", englishDescri sale_title: "Назад към Училищната Разпродажба" sale_view_button: "Купи едногодишен абонамент за" stripe_description: "Месечен Абонамент" - stripe_description_year_sale: "Едногодишен абонамент (35% намаление)" + stripe_description_year_sale: "Едногодишен абонамент ($21 намаление)" # {change} subscription_required_to_play: "Необходим ви е абонамент за да играете това ниво." unlock_help_videos: "Абонирайте се за да отключите всичките видео уроци." personal_sub: "Персонален абонамент" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "български език", englishDescri # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "български език", englishDescri # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "български език", englishDescri # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "български език", englishDescri # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/ca.coffee b/app/locale/ca.coffee index 6725fa804..a49437f12 100644 --- a/app/locale/ca.coffee +++ b/app/locale/ca.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr multiplayer: "Multijugador" # Not currently shown on home page for_developers: "Per a Desenvolupadors" # Not currently shown on home page. or_ipad: "O descarrèga'l per iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Nivells" # The top nav bar entry where players choose which levels to play community: "Comunitat" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Fòrum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr play: play_as: "Jugar com" # Ladder page +# compete: "Compete!" # Course details page spectate: "Spectate" # Ladder page players: "jugadors" # Hover over a level on /play hours_played: "hores de joc" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr years: "anys" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Fet" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Inici" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr victory_title_suffix: " Complet" victory_sign_up: "Inicia sessió per a desar el progressos" victory_sign_up_poke: "Vols guardar el teu codi? Crea un compte gratuit!" - victory_rate_the_level: "Valora el nivell: " # Only in old-style levels. + victory_rate_the_level: "Valora el nivell: " # {change} victory_return_to_ladder: "Retorna a les Escales" victory_play_continue: "Continuar" victory_saving_progress: "Desa progrés" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "Subscripció mensual" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr password_tab: "Contrasenya" emails_tab: "Missatges" admin: "Administrador" +# manage_subscription: "Click here to manage your subscription." new_password: "Contrasenya nova" new_password_verify: "Verifica" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/cs.coffee b/app/locale/cs.coffee index 0055f7604..7a57aad7c 100644 --- a/app/locale/cs.coffee +++ b/app/locale/cs.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Pro vývojáře" # Not currently shown on home page. or_ipad: "Nebo stáhnout pro iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Úrovně" # The top nav bar entry where players choose which levels to play community: "Komunita" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Fórum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr play: play_as: "Hrát jako" # Ladder page +# compete: "Compete!" # Course details page spectate: "Dívat se" # Ladder page players: "hráči" # Hover over a level on /play hours_played: "hodin nahráno" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr years: "roků" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Hotovo" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Domů" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr victory_title_suffix: " Hotovo" victory_sign_up: "Přihlásit se pro uložení postupu" victory_sign_up_poke: "Chcete uložit váš kód? Vytvořte si účet zdarma!" - victory_rate_the_level: "Ohodnoťte tuto úroveň: " # Only in old-style levels. + victory_rate_the_level: "Ohodnoťte tuto úroveň: " # {change} victory_return_to_ladder: "Vrátit se na Žebříček" victory_play_continue: "Pokračovat" victory_saving_progress: "Ukládání postupu" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr parents_blurb3: "Bez rizika: 100% záruka vrácení peněz, jednoduché zrušení předplatného na 1 kliknutí." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "Měsíční předplatné" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "Pro hraní této úrovně potřebujete předplatné." unlock_help_videos: "Kupte si předplatné pro odemčení všech tutoriálových videí." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr password_tab: "Heslo" emails_tab: "Emaily" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Nové heslo" new_password_verify: "Potvrdit" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/da.coffee b/app/locale/da.coffee index b9a43eae3..b0222815e 100644 --- a/app/locale/da.coffee +++ b/app/locale/da.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "For Udviklere" # Not currently shown on home page. or_ipad: "Eller download til iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Spil" # The top nav bar entry where players choose which levels to play community: "Fællesskab" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans play: play_as: "Spil Som " # Ladder page +# compete: "Compete!" # Course details page spectate: "Observér" # Ladder page players: "spillere" # Hover over a level on /play hours_played: "timer spillet" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans years: "år" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Færdig" +# next_level: "Next Level:" next_game: "Næste spil" show_menu: "Vis spil menu" home: "Hjem" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans victory_title_suffix: " Færdig" victory_sign_up: "Opret dig for at gemme dit fremskridt" victory_sign_up_poke: "Ønsker du at gemme din kode? Opret en gratis konto!" - victory_rate_the_level: "Bedøm denne bane: " # Only in old-style levels. + victory_rate_the_level: "Bedøm denne bane: " # {change} victory_return_to_ladder: "Returner til rangstige" victory_play_continue: "Fortsæt" victory_saving_progress: "Gemmer fremskridt" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans password_tab: "Password" emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Nyt Password" new_password_verify: "Bekræft" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/de-AT.coffee b/app/locale/de-AT.coffee index 26ba4e750..c0f77f49c 100644 --- a/app/locale/de-AT.coffee +++ b/app/locale/de-AT.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: multiplayer: "Mehrspieler" # Not currently shown on home page for_developers: "Für Entwickler" # Not currently shown on home page. or_ipad: "Oder für iPad runterladen" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Spielen" # The top nav bar entry where players choose which levels to play community: "Community" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: play: play_as: "Spiele als " # Ladder page +# compete: "Compete!" # Course details page spectate: "Zuschauen" # Ladder page players: "Spieler" # Hover over a level on /play hours_played: "Stunden gespielt" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: years: "Jahre" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Fertig" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Startseite" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: victory_title_suffix: " Abgeschlossen" victory_sign_up: "Melde Dich an, um Fortschritte zu speichern" victory_sign_up_poke: "Möchtest Du Neuigkeiten per Mail erhalten? Erstelle einen kostenlosen Account und wir halten Dich auf dem Laufenden." - victory_rate_the_level: "Bewerte das Level: " # Only in old-style levels. + victory_rate_the_level: "Bewerte das Level: " # {change} victory_return_to_ladder: "Zurück zur Rangliste" victory_play_continue: "Weiter" victory_saving_progress: "Speichere Fortschritt" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: password_tab: "Passwort" emails_tab: "Emails" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Neues Passwort" new_password_verify: "Passwort verifizieren" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription: # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/de-CH.coffee b/app/locale/de-CH.coffee index 82134ec96..466bfb2ea 100644 --- a/app/locale/de-CH.coffee +++ b/app/locale/de-CH.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Für Entwickler" # Not currently shown on home page. or_ipad: "Oder lads fürs iPad abä" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Levels" # The top nav bar entry where players choose which levels to play community: "Community" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge play: play_as: "Spiel als" # Ladder page +# compete: "Compete!" # Course details page spectate: "Zueluege" # Ladder page players: "Spieler" # Hover over a level on /play hours_played: "Stunde gspilt" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge years: "Johr" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Fertig" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge victory_title_suffix: " Vollständig" victory_sign_up: "Meld dich ah zum din Fortschritt speichere" victory_sign_up_poke: "Wötsch din Code speichere? Erstell gratis en Account!" - victory_rate_the_level: "Bewerte das Level: " # Only in old-style levels. + victory_rate_the_level: "Bewerte das Level: " # {change} victory_return_to_ladder: "Zrugg zum letzte Level" victory_play_continue: "Wiiter spile" victory_saving_progress: "Fortschritt abspaicherä" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge parents_blurb3: "Kei Risikos, 100% Geld zrugg Garantie und ganz eifaches deaboniere mid eim Klick" payment_methods: "Zalligs Methode" payment_methods_title: "Akzeptierti Zalligs Methode" - payment_methods_blurb1: "Mier akzeptiered immoment Kreditchartene und Alipay." + payment_methods_blurb1: "Mier akzeptiered immoment Kreditchartene und Alipay." # {change} # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "Du bruchsch es Abo um das Level zspile." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge password_tab: "Passwort" emails_tab: "E-Mails" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Neus Passwort" new_password_verify: "Bestätige" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Dütsch (Schwiiz)", englishDescription: "Ge # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee index 0c56a7734..d7c4e866a 100644 --- a/app/locale/de-DE.coffee +++ b/app/locale/de-DE.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: multiplayer: "Mehrspieler" # Not currently shown on home page for_developers: "Für Entwickler" # Not currently shown on home page. or_ipad: "Oder downloade es hier für das iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Spielen" # The top nav bar entry where players choose which levels to play community: "Community" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: play: play_as: "Spiele als " # Ladder page +# compete: "Compete!" # Course details page spectate: "Zuschauen" # Ladder page players: "Spieler" # Hover over a level on /play hours_played: "Stunden gespielt" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: years: "Jahre" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Fertig" +# next_level: "Next Level:" next_game: "Nächstes Spiel" show_menu: "Menü anzeigen" home: "Startseite" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: victory_title_suffix: " Abgeschlossen" victory_sign_up: "Melde Dich an, um Fortschritte zu speichern." victory_sign_up_poke: "Möchtest Du Neuigkeiten per Mail erhalten? Erstelle einen kostenlosen Account und wir halten Dich auf dem Laufenden." - victory_rate_the_level: "Bewerte das Level: " # Only in old-style levels. + victory_rate_the_level: "Bewerte das Level: " # {change} victory_return_to_ladder: "Zurück zur Rangliste" victory_play_continue: "Fortsetzen" victory_saving_progress: "Fortschritt speichern" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: parents_blurb3: "Kein Risiko: 100% Geld zurück Garantie, und 1-Klick Abokündigung." payment_methods: "Zahlungsarten" payment_methods_title: "Akzeptierte Zahlungsarten" - payment_methods_blurb1: "Momentan akzeptieren wir nur Kreditkarten und Alipay." + payment_methods_blurb1: "Momentan akzeptieren wir nur Kreditkarten und Alipay." # {change} payment_methods_blurb2: "Wenn Sie auf eine andere Art zahlen wollen, bitte kontaktieren Sie" sale_already_subscribed: "Sie haben bereits ein Abonnement!" - sale_blurb1: "Spare 35%" + sale_blurb1: "Spare $21" # {change} sale_blurb2: "vom regelmäßigen Abonnementpreis von $120 für ein ganzes Jahr!" sale_button: "Angebot!" - sale_button_title: "Spare 35% beim Kauf eines Jahresabonnements" + sale_button_title: "Spare $21 beim Kauf eines Jahresabonnements" # {change} sale_click_here: "Hier klicken" # sale_ends: "Ends" sale_extended: "*Bestehende Abonnements werden um 1 Jahr verlängert." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: sale_title: "Angebot zum neuen Schuljahr" sale_view_button: "Kaufe ein Jahresabonnement für" stripe_description: "Monatsabo" - stripe_description_year_sale: "Jahresabonnement (35% Angebot)" + stripe_description_year_sale: "Jahresabonnement ($21 Angebot)" # {change} subscription_required_to_play: "Leider musst du ein Abo haben, um dieses Level spielen zu können." unlock_help_videos: "Abonniere, um alle Videoanleitungen freizuschalten." personal_sub: "Persönliches Abonnement" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "Es gibt 110+ kostenlose Level, die alle Konzepte abedecken." free_2: "Ein monatliches Abonnement verschafft Zugang zu Video-Tutorien and zusätzlichen Übungsleveln." - teacher_subs_title: "Für Lehrer ist das Abonnement kostenlos!" - teacher_subs_0: "Wir bieten Lehrern ein kostenloses Abonnement zu evaluirungszwecken." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Für Lehrer ist das Abonnement kostenlos!" # {change} + teacher_subs_0: "Wir bieten Lehrern ein kostenloses Abonnement zu evaluirungszwecken." # {change} # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." sub_includes_title: "Was beinhaltet ein Abonnement?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" sub_includes_2: "80+ Übungslevel" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: title: "Lehrerumfrage" must_be_logged: "Sie müssen sich zunächst einloggen. Bitte erstellen Sie ein Account oder loggen Sie sich im oberen Menü ein." retrieving: "Information abrufen..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: password_tab: "Passwort" emails_tab: "Emails" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Neues Passwort" new_password_verify: "Passwort verifizieren" type_in_email: "Email eingeben um das Löschen des Accounts zu bestätigen" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/el.coffee b/app/locale/el.coffee index 13a15f745..a722c19be 100644 --- a/app/locale/el.coffee +++ b/app/locale/el.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre multiplayer: "Πολλαπλοί Παίκτες" # Not currently shown on home page for_developers: "Για προγραμματιστές" # Not currently shown on home page. or_ipad: "Ή κατεβάστε για iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Επίπεδα" # The top nav bar entry where players choose which levels to play community: "Κοινότητα" +# courses: "Courses" editor: "Συγγραφέας" blog: "Ιστολόγιο" forum: "Φόρουμ" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre play: play_as: "Παίξτε ως" # Ladder page +# compete: "Compete!" # Course details page spectate: "Θεατής" # Ladder page players: "παίκτες" # Hover over a level on /play hours_played: "ώρες παιχνιδιού" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre years: "χρόνια" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Έτοιμο" +# next_level: "Next Level:" next_game: "Επόμενο παιχνίδι" show_menu: "Εμφάνιση μενού παιχνιδιού" home: "Αρχική" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre victory_title_suffix: " Ολοκληρώθηκε" victory_sign_up: "Εγγράψου για ενημερώσεις" victory_sign_up_poke: "Θέλεις να λαμβάνεις τα τελευταία νέα μέσω e-mail; Δημιούργησε έναν δωρεάν λογαριασμό και θα σε κρατάμε ενήμερο!" - victory_rate_the_level: "Βαθμολογήστε το επίπεδο: " # Only in old-style levels. + victory_rate_the_level: "Βαθμολογήστε το επίπεδο: " # {change} victory_return_to_ladder: "Επιστροφή στη Σκάλα" victory_play_continue: "Συνέχισε" victory_saving_progress: "Αποθήκευση προόδου" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre parents_blurb3: "Κανένα Ρίσκο: 100% εγγύση επιστροφής χρημάτων, εύκολη διακοπή συνδρομής, με 1 κλικ." payment_methods: "Τρόποι Πληρωμής" payment_methods_title: "Αποδεκτοί Τρόποι Πληρωμής" - payment_methods_blurb1: "Προς το παρόν δεχόμαστε πιστωτικές κάρτες και Alipay." + payment_methods_blurb1: "Προς το παρόν δεχόμαστε πιστωτικές κάρτες και Alipay." # {change} payment_methods_blurb2: "Αν ενδιαφέρεστε για άλλο τρόπο πληρωμής, παρακαλούμε επικοινωνείστε μαζί μας." sale_already_subscribed: "Είστε ήδη συνδρομητής!" - sale_blurb1: "Γλίτωσε 35%" + sale_blurb1: "Γλίτωσε $21" # {change} sale_blurb2: "από την τιμή της κανονικής συνδρομής των $120 το χρόνο!" sale_button: "Εκπτώσεις!" - sale_button_title: "Γλίτωσε 5% όταν αγοράσεις συνδρομή ετήσια συνδρομή" + sale_button_title: "Γλίτωσε $21 όταν αγοράσεις συνδρομή ετήσια συνδρομή" # {change} sale_click_here: "Πάτα εδώ" sale_ends: "Τελειώνει" sale_extended: "*Οι υπάρχουσες συνδρομές θα επεκταθούν για ένα χρόνο." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre sale_title: "Εκπτώσεις λόγω επιστροφής στο Σχολείο" sale_view_button: "Αγόρασε ετήσια συνδρομή για" stripe_description: "Μηνιαία Συνδρομή" - stripe_description_year_sale: "Ετήσια Συνδρομή (35% έκπτωση)" + stripe_description_year_sale: "Ετήσια Συνδρομή ($21 έκπτωση)" # {change} subscription_required_to_play: "Πρέπει να είσαι συνδρομητής για να παίξεις αυτό το επίπεδο." unlock_help_videos: "Απέκτησε συνδρομή για να ξεκλειδώσεις όλα τα βίντεο βοηθήματα." personal_sub: "Προσωπική Συνδρομή" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre cost_premium_server: "Το CodeCombat είναι δωρεάν για τα πέντε πρώτα επίπεδα, μετά τα οποία κοστίζει $9.99 Δολλάρια ΗΠΑ το μήνα για να έχετε πρόσβαση στα πάνω από 190 επίπεδα στους αποκλειστικούς για τη χώρα εξυπηρετητές." free_1: "Υπάρχουν πάνω από 100 ΔΩΡΕΑΝ επίπεδα που καλύπτουν όλα τα αντικείμενα." free_2: "Η μηνιαία συνδρομή παρέχει πρόσβαση σε βίντεο βοηθήματα και παραπάνω επίπεδα για εξάσκηση." - teacher_subs_title: "Οι εκπαιδευτικοί παίρνουν δωρεάν συνδρομές!" - teacher_subs_0: "Προσφέρουμε δωρεάν συνδρομές σε εκπαιδευτικούς για να μπορέσουν να αξιολογήσουν το παιχνίδι." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Οι εκπαιδευτικοί παίρνουν δωρεάν συνδρομές!" # {change} + teacher_subs_0: "Προσφέρουμε δωρεάν συνδρομές σε εκπαιδευτικούς για να μπορέσουν να αξιολογήσουν το παιχνίδι." # {change} teacher_subs_1: "παρακαλούμε συμπληρώστε το" teacher_subs_2: "Ερωτηματολόγιο Εκπαιδευτικών" - teacher_subs_3: "για να δημιουργήσουμε τη συνδρομή σας." + teacher_subs_3: "για να δημιουργήσουμε τη συνδρομή σας." # {change} sub_includes_title: "Τι περιλαμβάνει η συνδρομή;" sub_includes_1: "Επιπλέον των πάνω από 110 βασικά επίπεδα, οι μαθητές που έχουν μηνιαία συνδρομή έχουν πρόσβαση και στα ακόλουθα μοναδικά χαρακτηριστικά:" sub_includes_2: "Πάνω από 80 επίπεδα για εξάσκηση" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre title: "Έρευνα Εκπαιδευτικών" must_be_logged: "Πρέπει πρώτα να συνδεθείται. Παρακαλώ δημιουργήστε ένα λογαριασμό ή συνδεθείται από το μενού παραπάνω." retrieving: "Ανάκληση πληροφοριών..." - being_reviewed_1: "Η αίτησή σας για δωρεάν δοκιμαστική συνδρομή είναι" + being_reviewed_1: "Η αίτησή σας για δωρεάν δοκιμαστική συνδρομή είναι" # {change} being_reviewed_2: "υπό θεώρηση." - approved_1: "Η αίτησή σας για δωρεάν δοκιμαστική συνδρομή" + approved_1: "Η αίτησή σας για δωρεάν δοκιμαστική συνδρομή" # {change} approved_2: "εγκρίθηκε." approved_3: "Σας στείλαμε περισσότερες οδηγίες στο" - denied_1: "Η αίτησή σας για δωρεάν δοκιμαστική συνδρομή" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Η αίτησή σας για δωρεάν δοκιμαστική συνδρομή" # {change} denied_2: "απορίφθηκε." contact_1: "Παρακαλούμε επικοινωνείστε" contact_2: "αν έχετε περαιτέρω ερωτήσεις." description_1: "Δίνουμε δωρεάν συνδρομές σε εκπαιδευτικούς για να αξιολογήσουν το παιχνίδι. Μπορείτε να βρείτε περισσότερες πληροφορίες στις" +# description_1b: "You can find more information on our" description_2: "εκπαιδευτική" description_3: "σελίδα." description_4: "Παρακαλούμε, συμπληρώστε αυτή τη φόρμα και θα σας στείλουμε οδηγίες." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre password_tab: "Κωδικός" emails_tab: "Emails" admin: "Διαχειριστής" +# manage_subscription: "Click here to manage your subscription." new_password: "Καινούργιος Κωδικός" new_password_verify: " Επαλήθευση Κωδικού" type_in_email: "Γράψτε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας για να επιβεβαιώσετε τη διαγραφή του λογαριασμού." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre started_2: "Ξεκίνησε" not_started_2: "Δεν ξεκίνησε" view_solution: "Πάτα για να δεις τη λύση." +# view_attempt: "Click to view attempt." latest_achievement: "Τελευταίο Επίτευγμα" playtime: "Χρόνος παιχνιδιού" last_played: "Έπαιξε τελευταία φορά" diff --git a/app/locale/en-GB.coffee b/app/locale/en-GB.coffee index 410bf882e..584adac23 100644 --- a/app/locale/en-GB.coffee +++ b/app/locale/en-GB.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/en-US.coffee b/app/locale/en-US.coffee index 4c369f3f6..1b325f12c 100644 --- a/app/locale/en-US.coffee +++ b/app/locale/en-US.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 858d4d811..010134186 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -4,6 +4,7 @@ no_ie: "CodeCombat does not run in Internet Explorer 8 or older. Sorry!" # Warning that only shows up in IE8 and older no_mobile: "CodeCombat wasn't designed for mobile devices and may not work!" # Warning that shows up on mobile devices play: "Play" # The big play button that opens up the campaign view. + play_campaign_version: "Play Campaign Version" # Shows up under big play button if you only play /courses old_browser: "Uh oh, your browser is too old to run CodeCombat. Sorry!" # Warning that shows up on really old Firefox/Chrome/Safari old_browser_suffix: "You can try anyway, but it probably won't work." ipad_browser: "Bad news: CodeCombat doesn't run on iPad in the browser. Good news: our native iPad app is awaiting Apple approval." @@ -12,6 +13,9 @@ multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "For Developers" # Not currently shown on home page. or_ipad: "Or download for iPad" + hoc_class_code: "I Have a Class Code" + hoc_enter: "Enter" + hoc_title: "Hour of Code?" nav: play: "Levels" # The top nav bar entry where players choose which levels to play @@ -218,7 +222,10 @@ years: "years" play_level: + completed_level: "Completed Level:" + course: "Course:" done: "Done" + next_level: "Next Level:" next_game: "Next game" show_menu: "Show game menu" home: "Home" # Not used any more, will be removed soon. @@ -247,7 +254,7 @@ victory_title_suffix: " Complete" victory_sign_up: "Sign Up to Save Progress" victory_sign_up_poke: "Want to save your code? Create a free account!" - victory_rate_the_level: "How fun was this level?" # {change} + victory_rate_the_level: "How fun was this level?" victory_return_to_ladder: "Return to Ladder" victory_play_continue: "Continue" victory_saving_progress: "Saving Progress" @@ -438,13 +445,13 @@ parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." payment_methods: "Payment Methods" payment_methods_title: "Accepted Payment Methods" - payment_methods_blurb1: "We currently accept credit cards and Alipay." + payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." payment_methods_blurb2: "If you require an alternate form of payment, please contact" sale_already_subscribed: "You're already subscribed!" - sale_blurb1: "Save 35%" + sale_blurb1: "Save $21" sale_blurb2: "off regular subscription price of $120 for a whole year!" sale_button: "Sale!" - sale_button_title: "Save 35% when you purchase a 1 year subscription" + sale_button_title: "Save $21 when you purchase a 1 year subscription" sale_click_here: "Click Here" sale_ends: "Ends" sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -457,7 +464,7 @@ sale_title: "Back to School Sale" sale_view_button: "Buy 1 year subscription for" stripe_description: "Monthly Subscription" - stripe_description_year_sale: "1 Year Subscription (35% discount)" + stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "You'll need a subscription to play this level." unlock_help_videos: "Subscribe to unlock all video tutorials." @@ -616,11 +623,15 @@ cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "There are 110+ FREE levels which cover every concept." free_2: "A monthly subscription provides access to video tutorials and extra practice levels." - teacher_subs_title: "Teachers get free subscriptions!" - teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." + free_3: "The CodeCombat content is divided into" + free_4: "courses" + free_5: ". The first course is free, and about an hour of material." + free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Teachers get a free trial!" + teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "Please fill out our" teacher_subs_2: "Teacher Survey" - teacher_subs_3: "to set up your subscription." + teacher_subs_3: "to try out the paid courses." sub_includes_title: "What is included in the subscription?" sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" sub_includes_2: "80+ practice levels" @@ -664,19 +675,19 @@ title: "Teacher Survey" must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." retrieving: "Retrieving information..." - being_reviewed_1: "Your application for a free trial is being" # {change} + being_reviewed_1: "Your application for a free trial is being" being_reviewed_2: "reviewed." - approved_1: "Your application for a free trial was" # {change} + approved_1: "Your application for a free trial was" approved_2: "approved." approved_3: "Further instructions have been sent to" approved_4: "Enroll your students on the" approved_5: "courses" approved_6: "page." - denied_1: "Your application for a free trial has been" # {change} + denied_1: "Your application for a free trial has been" denied_2: "denied." contact_1: "Please contact" contact_2: "if you have further questions." - description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." # {change} + description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." description_1b: "You can find more information on our" description_2: "teachers" description_3: "page." @@ -737,6 +748,7 @@ password_tab: "Password" emails_tab: "Emails" admin: "Admin" + manage_subscription: "Click here to manage your subscription." new_password: "New Password" new_password_verify: "Verify" type_in_email: "Type in your email to confirm account deletion." @@ -848,6 +860,7 @@ started_2: "Started" not_started_2: "Not Started" view_solution: "Click to view solution." + view_attempt: "Click to view attempt." latest_achievement: "Latest Achievement" playtime: "Playtime" last_played: "Last played" @@ -1171,7 +1184,7 @@ tutorial_skip: "Skip Tutorial" tutorial_not_sure: "Not sure what's going on?" tutorial_play_first: "Play the Tutorial first." - simple_ai: "Simple AI" + simple_ai: "Simple CPU" # {change} warmup: "Warmup" friends_playing: "Friends Playing" log_in_for_friends: "Log in to play with your friends!" @@ -1193,8 +1206,8 @@ rules: "Rules" winners: "Winners" league: "League" - red_ai: "Red AI" # "Red AI Wins", at end of multiplayer match playback - blue_ai: "Blue AI" + red_ai: "Red CPU" # "Red AI Wins", at end of multiplayer match playback + blue_ai: "Blue CPU" # {change} wins: "Wins" # At end of multiplayer match playback humans: "Red" # Ladder page display team name ogres: "Blue" diff --git a/app/locale/eo.coffee b/app/locale/eo.coffee index d21ee6960..0d8a85f9b 100644 --- a/app/locale/eo.coffee +++ b/app/locale/eo.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Niveloj" # The top nav bar entry where players choose which levels to play community: "Komunumo" +# courses: "Courses" editor: "Redaktoro" blog: "Blogo" forum: "Forumo" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Esperanto", englishDescription: "Esperanto" # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/es-419.coffee b/app/locale/es-419.coffee index a0dc144c3..042e2590d 100644 --- a/app/locale/es-419.coffee +++ b/app/locale/es-419.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip multiplayer: "Multijugador" # Not currently shown on home page for_developers: "Para Desarrolladores" # Not currently shown on home page. or_ipad: "O descargar para iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Jugar" # The top nav bar entry where players choose which levels to play community: "Comunidad" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Foro" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip play: play_as: "Jugar Como " # Ladder page +# compete: "Compete!" # Course details page spectate: "Observar" # Ladder page players: "Jugadores" # Hover over a level on /play hours_played: "horas jugadas" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip years: "años" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Listo" +# next_level: "Next Level:" next_game: "Siguiente juego" show_menu: "Mostrar menú de juego" home: "Inicio" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip victory_title_suffix: " Completo!" victory_sign_up: "Regístrate para recibir actualizaciones" victory_sign_up_poke: "¿Quieres recibir las ultimas noticias por correo? ¡Crea una cuenta gratuita y te mantendremos informado!" - victory_rate_the_level: "Valora el nivel: " # Only in old-style levels. + victory_rate_the_level: "Valora el nivel: " # {change} victory_return_to_ladder: "Volver a la escalera" victory_play_continue: "Continuar" victory_saving_progress: "Guardando Progreso" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip parents_blurb3: "Sin Riesgo: Garantía de 100% de devolución, fácil 1-click y des- suscribirse." payment_methods: "Metodos de pago" payment_methods_title: "Metodos de pago aceptados." - payment_methods_blurb1: "Actualmente aceptamos tarjetas de credito y Alipay." + payment_methods_blurb1: "Actualmente aceptamos tarjetas de credito y Alipay." # {change} payment_methods_blurb2: "Si necesitas una forma alternativa de pago, por favor contactarse" sale_already_subscribed: "¡Ya estás subscrito!" - sale_blurb1: "Ahorra 35%" + sale_blurb1: "Ahorra $21" # {change} sale_blurb2: "de descuento en el precio regular de una suscripción de $120 USD por un año completo!" sale_button: "Venta!" - sale_button_title: "Ahorra 35% al adquirir una suscripción por 1 año" + sale_button_title: "Ahorra $21 al adquirir una suscripción por 1 año" # {change} sale_click_here: "Haz Click Aquí" sale_ends: "Termina" sale_extended: "*Las suscripciones existentes se extenderán por un año." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip sale_title: "Venta de regreso a clases" sale_view_button: "Compra la suscripción de 1 año por" stripe_description: "Suscripción Mensual" - stripe_description_year_sale: "Suscripción por 1 año (35% descuento)" + stripe_description_year_sale: "Suscripción por 1 año ($21 descuento)" # {change} subscription_required_to_play: "Necesitas una suscripción para jugar este nivel." unlock_help_videos: "Suscríbete para desbloquear todos los video tutoriales." personal_sub: "Suscripción Personal" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip cost_premium_server: "CodeCombat es gratis para lso primeros 5 niveles, después de ellos cuesta $9.99 USD mensuales para accesar a nuestros otros más de 190 niveles en nuestraos exclusivos servidores específicos para cada país." free_1: "Hay más de 110 niveles gratis que cubren cada concepto." free_2: "Una suscripción mensual le da acceso a tutoriales en vídeo y niveles extra para practicar." - teacher_subs_title: "¡Los amestros obtienen suscripciones gratuitas!" - teacher_subs_0: "Ofrecemos suscripciones gratuitas a profesores con propósitos de evaluación." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "¡Los amestros obtienen suscripciones gratuitas!" # {change} + teacher_subs_0: "Ofrecemos suscripciones gratuitas a profesores con propósitos de evaluación." # {change} teacher_subs_1: "Por favor llene nuestra" teacher_subs_2: "Encuesta para maestros" - teacher_subs_3: "para configurar su suscripción." + teacher_subs_3: "para configurar su suscripción." # {change} sub_includes_title: "¿Qué se incluye en la suscripción?" sub_includes_1: "Adicionalmente a los más de 70 niveles básicos, los estudiantes con una suscripción mensual obtienen acceso a estas características adicionales:" # {change} sub_includes_2: "Más de 70 niveles de práctica" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip title: "Encuesta de Maestros" must_be_logged: "Debes ingresar primero. Por favor, crea una cuenta o ingresa desde el menú de arriba." retrieving: "Obteniendo información..." - being_reviewed_1: "Su aplicación a una suscripción gratuita está siendo" + being_reviewed_1: "Su aplicación a una suscripción gratuita está siendo" # {change} being_reviewed_2: "revisada." - approved_1: "Su aplicación a una suscripción gratuita fue" + approved_1: "Su aplicación a una suscripción gratuita fue" # {change} approved_2: "aprobada." approved_3: "Más instrucciones han sido enviadas a" - denied_1: "Su aplicación a una suscripción gratuita ha sido" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Su aplicación a una suscripción gratuita ha sido" # {change} denied_2: "denegada." contact_1: "Por favor contactarse" contact_2: "si tiene más preguntas." description_1: "Ofrecemos suscripciones gratuitas a maestros con propósitos de evaluación. Puede hallar más información en nuestra" +# description_1b: "You can find more information on our" description_2: "página" description_3: "de maestros." description_4: "Por favor llene esta encuesta rápida y le mandaremos por email las instrucciones de configuración." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip password_tab: "Contraseña" emails_tab: "Correos" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Nueva Contraseña" new_password_verify: "Verificar" type_in_email: "Ingrese su correo electrónico para confirmar la eliminación de su cuenta." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip started_2: "Iniciado" not_started_2: "No inciiado" view_solution: "Click para ver la solución." +# view_attempt: "Click to view attempt." latest_achievement: "último logro" playtime: "Tiempo de juego" last_played: "Último jugado" diff --git a/app/locale/es-ES.coffee b/app/locale/es-ES.coffee index f0650c3ba..ac3167252 100644 --- a/app/locale/es-ES.coffee +++ b/app/locale/es-ES.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis multiplayer: "Multijugador" # Not currently shown on home page for_developers: "Para programadores" # Not currently shown on home page. or_ipad: "O descargalo para iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Jugar" # The top nav bar entry where players choose which levels to play community: "Comunidad" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Foro" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis play: play_as: "Jugar como" # Ladder page +# compete: "Compete!" # Course details page spectate: "Observar" # Ladder page players: "jugadores" # Hover over a level on /play hours_played: "horas jugadas" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis years: "años" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Hecho" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Inicio" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis victory_title_suffix: " Completado!" victory_sign_up: "Regístrate para recibir actualizaciones." victory_sign_up_poke: "¿Quieres recibir las últimas noticias en tu correo electrónico? ¡Crea una cuente gratuita y te mantendremos informado!" - victory_rate_the_level: "Puntúa este nivel: " # Only in old-style levels. + victory_rate_the_level: "Puntúa este nivel: " # {change} victory_return_to_ladder: "Volver a Clasificación" victory_play_continue: "Continuar" victory_saving_progress: "Salvando Progreso" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis parents_blurb3: "Sin riesgo: 100% garantía de devoluación de dinero, desuscripción con un simple click." payment_methods: "Métodos de pago" payment_methods_title: "Métodos de pago permitidos" - payment_methods_blurb1: "Actualmente aceptamos pagos a través de tarjetas de crédito / débito y Alipay." + payment_methods_blurb1: "Actualmente aceptamos pagos a través de tarjetas de crédito / débito y Alipay." # {change} payment_methods_blurb2: "Si necesitas una forma alternativa de pago, puedes contactarnos" sale_already_subscribed: "Ya estás suscrito!" - sale_blurb1: "¡Ahorra un 35%" + sale_blurb1: "¡Ahorra un $21" # {change} sale_blurb2: "de una suscripción normal de 120$ por un año entero!!" sale_button: "Comprar!" - sale_button_title: "Ahorra un 35% si compras una suscripción de 1 año" + sale_button_title: "Ahorra un $21 si compras una suscripción de 1 año" # {change} sale_click_here: "Haz click aquí" sale_ends: "Finaliza" sale_extended: "*Las suscripciones actuales se extenderán un año más." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis sale_title: "Venta de Vuelta al Colegio" sale_view_button: "Compra una suscripción de 1 año por" stripe_description: "Suscripción mensual" - stripe_description_year_sale: "Suscripción de 1 año (35% descuento)" + stripe_description_year_sale: "Suscripción de 1 año ($21 descuento)" # {change} subscription_required_to_play: "Necesitas una suscripción para jugar este nivel." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis password_tab: "Contraseña" emails_tab: "Correos electrónicos" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Nueva contraseña" new_password_verify: "Verificar" type_in_email: "Introduce tu email para confirmar el borrado de esta cuenta" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis started_2: "Iniciado" not_started_2: "No iniciado" view_solution: "Click para ver solución." +# view_attempt: "Click to view attempt." latest_achievement: "Último logro" playtime: "Tiempo de juego" last_played: "Último jugado" diff --git a/app/locale/et.coffee b/app/locale/et.coffee index 0e2a49edb..3cc2d29cd 100644 --- a/app/locale/et.coffee +++ b/app/locale/et.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Eesti", englishDescription: "Estonian", tra # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/fa.coffee b/app/locale/fa.coffee index 28d99b44a..59d9dfcf1 100644 --- a/app/locale/fa.coffee +++ b/app/locale/fa.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "سطوح" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" editor: "ویرایشگر" blog: "بلاگ" forum: "انجمن" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", password_tab: "کلمه عبور" emails_tab: "ایمیل ها" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian", # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/fi.coffee b/app/locale/fi.coffee index 788178e16..206cbef20 100644 --- a/app/locale/fi.coffee +++ b/app/locale/fi.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran multiplayer: "Moninpeli" # Not currently shown on home page for_developers: "Kehittäjille" # Not currently shown on home page. or_ipad: "Tai lataa iPad:ille" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Tasot" # The top nav bar entry where players choose which levels to play community: "Yhteisö" +# courses: "Courses" editor: "Editori" blog: "Blogi" forum: "Foorumi" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran play: play_as: "Pelaa" # Ladder page +# compete: "Compete!" # Course details page spectate: "Tarkkaile" # Ladder page players: "pelaajat" # Hover over a level on /play hours_played: "pelatut tunnit" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran years: "vuodet" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Valmis" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran victory_title_suffix: " Valmis" victory_sign_up: "Kirjaudu" victory_sign_up_poke: "Haluatko tallettaa koodisi? Luo ilmainen tili!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" victory_return_to_ladder: "Palaa liigaan" victory_play_continue: "Jatka" victory_saving_progress: "Tallennetaan edistymisesi" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran parents_blurb3: "Ei riskiä: 100% rahat takaisin takuu, sekä yksinkertainen yhden painalluksen tilausken lopetus." payment_methods: "Maksutavat" payment_methods_title: "Käytössä olevat maksutavat" - payment_methods_blurb1: "Tällä hetkellä käytössämme on luottokorttimaksu ja Alipay." + payment_methods_blurb1: "Tällä hetkellä käytössämme on luottokorttimaksu ja Alipay." # {change} payment_methods_blurb2: "Jos haluat käyttää vaihtoehtoista maksutapaa, ole hyvä ja ota yhteyttä" sale_already_subscribed: "Sinulla on jo kuukausitilaus!" - sale_blurb1: "Säästä 35%" + sale_blurb1: "Säästä $21" # {change} sale_blurb2: "kuukausitilauksesta, jonka hinta tavallisesti on $120 USD vuodessa!" sale_button: "Alennus!" - sale_button_title: "Säästä 35% kun ostat kuukausitilauksen koko vuodeksi kerralla" + sale_button_title: "Säästä $21 kun ostat kuukausitilauksen koko vuodeksi kerralla" # {change} sale_click_here: "Paina tästä" sale_ends: "Päättyy" sale_extended: "*Olemassaolevia kuukausitilauksia tullaan jatkamaan 12 kuukaudella." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran sale_title: "Koulujen alku-alennusmyynti" sale_view_button: "Osta kuukausitilaus koko vuodeksi hintaan" stripe_description: "Kuukausittainen tilaus" - stripe_description_year_sale: "12 kk:n kuukausitilaus (35% alennuksella)" + stripe_description_year_sale: "12 kk:n kuukausitilaus ($21 alennuksella)" # {change} subscription_required_to_play: "Tarvitset CodeCombat kuukausitilauksen pellataksesi tätä tasoa." unlock_help_videos: "Hanki tilaus avataksesi kaikki video-oppaat." personal_sub: "Henkilökohtainen tilaus" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "Käytössäsi on 110+ ILMAISTA tasoa, jotka kattavat koko ohjelmoinnin perustan." free_2: "Maksullinen kuukausitilaus avaa pääsyn video-oppaisiin ja lisätasoihin." - teacher_subs_title: "Opettajat saavat ilmaisen kuukausitilauksen!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Opettajat saavat ilmaisen kuukausitilauksen!" # {change} +# teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "Ole hyvä ja täytä" teacher_subs_2: "opettajan kysely" - teacher_subs_3: "ottaaksesi tilauksesi käyttöön." + teacher_subs_3: "ottaaksesi tilauksesi käyttöön." # {change} sub_includes_title: "Mitä kuukausitilaukseen kuuluu?" sub_includes_1: "110+ perustason lisäksi, kuukausitilaus avaa jokaiselle oppilaalle seuraavat edut:" sub_includes_2: "70+ lisätasoa" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran title: "Opettajan kysely" must_be_logged: "Teidän täytyy olla kirjautuneena sisään. Ole hyvä ja luo tili tai kirjaudu sisään valikosta ylhäällä." retrieving: "Noudetaan tietoja..." - being_reviewed_1: "Hakemuksenne ilmaiseen tutustumistilaukseen on" + being_reviewed_1: "Hakemuksenne ilmaiseen tutustumistilaukseen on" # {change} being_reviewed_2: "käsittelyssä." - approved_1: "Hakemuksenne ilmaiseen tutustumistilaukseen on" + approved_1: "Hakemuksenne ilmaiseen tutustumistilaukseen on" # {change} approved_2: "hyväksytty." approved_3: "Jatko-ohjeet on lähetetty" - denied_1: "Hakemuksenne ilmaiseen tutustumistilaukseen on" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Hakemuksenne ilmaiseen tutustumistilaukseen on" # {change} denied_2: "hylätty." contact_1: "Ole hyvä ja ota yhteyttä" contact_2: "jos teillä on jotain kysyttävää asiasta." description_1: "Tarjoamme ilmaista kuukausitilausta opettajille arviointikäyttöön. Lisätietoa tilauksesta saat" +# description_1b: "You can find more information on our" description_2: "opettajat" description_3: "sivulta." description_4: "Ole hyvä ja täytä alla oleva kysely, niin lähetämme teille ohjeet käyttöönottoa varten." @@ -730,9 +746,10 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran password_tab: "Salasana" emails_tab: "Sähköpostitiedotteet" admin: "Ylläpitäjä" +# manage_subscription: "Click here to manage your subscription." new_password: "Uusi Salasana" new_password_verify: "Varmista" - type_in_email: "Anna sähköpostiosoitteesi varmistukseksi" # {change} + type_in_email: "Anna sähköpostiosoitteesi varmistukseksi" # type_in_email_progress: "Type in your email to confirm deleting your progress." type_in_password: "Kirjoita myös salasanasi." email_subscriptions: "Sähköpostitiedotteet" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran started_2: "Aloitettu" not_started_2: "Ei aloitettu" view_solution: "Paina katsoaksesi ratkaisut." +# view_attempt: "Click to view attempt." latest_achievement: "Viimeisin saavutus" playtime: "Peliaika" last_played: "Viimeksi pelattu" diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index b35ce0979..d74d38bd5 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "français", englishDescription: "French", t multiplayer: "Multijoueurs" # Not currently shown on home page for_developers: "Pour développeurs" # Not currently shown on home page. or_ipad: "Ou télécharger pour iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Jouer" # The top nav bar entry where players choose which levels to play community: "Communauté" +# courses: "Courses" editor: "Éditeur" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t play: play_as: "Jouer comme " # Ladder page +# compete: "Compete!" # Course details page spectate: "Spectateur" # Ladder page players: "Joueurs" # Hover over a level on /play hours_played: "Heures jouées" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "français", englishDescription: "French", t years: "années" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Fait" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Accueil" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t victory_title_suffix: " Terminé" victory_sign_up: "Inscrivez-vous pour recevoir les mises à jour" victory_sign_up_poke: "Vous voulez recevoir les dernières actualités par e-mail ? Créez un compte gratuitement et nous vous tiendrons informés !" - victory_rate_the_level: "Notez ce niveau: " # Only in old-style levels. + victory_rate_the_level: "Notez ce niveau: " # {change} victory_return_to_ladder: "Retourner à l'échelle" victory_play_continue: "Continuer" victory_saving_progress: "Sauvegarder la progression" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "français", englishDescription: "French", t parents_blurb3: "Pas de risque : garantie 100% remboursé, désinscription facile en 1 clic." payment_methods: "Moyens de paiement" payment_methods_title: "Moyens de paiement acceptés" - payment_methods_blurb1: "Nous acceptons, pour le moment, les cartes de crédit et les paiment par Alipay." + payment_methods_blurb1: "Nous acceptons, pour le moment, les cartes de crédit et les paiment par Alipay." # {change} payment_methods_blurb2: "Si vous avez besoins d'un autre moyen de paiement, merci de nous contacter" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "Inscription mensuelle" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "Vous avez besoin d'un abonnement pour jouer à ce niveau." unlock_help_videos: "Abonnez vous pour débloquer tous les tutoriels vidéo." personal_sub: "Abonnement individuel" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "français", englishDescription: "French", t # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "La version de base de CodeCombat est gratuite ! Il y a 70+ niveaux gratuits qui couvrent chaque concepts." # {change} free_2: "Un abonnement mensuel fournit l'accès à des vidéos de tutoriels ainsi qu'à des niveaux d'entraînement supplémentaires." - teacher_subs_title: "Les enseignants reçoivent un abonnement gratuit !" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Les enseignants reçoivent un abonnement gratuit !" # {change} +# teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "Merci de nous contacter" # {change} teacher_subs_2: "pour obtenir un abonnement mensuel gratuit." # {change} -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." sub_includes_title: "Qu'y a t-il d'inclus dans cet abonnement ?" sub_includes_1: "En plus des 70+ niveaux de base, les élèves avec un abonnement mensuel ont accès à ces fonctionnalités supplémentaires :" # {change} sub_includes_2: "40+ niveaux d'entrainement" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "français", englishDescription: "French", t # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,9 +746,10 @@ module.exports = nativeDescription: "français", englishDescription: "French", t password_tab: "Mot de passe" emails_tab: "E-mails" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Nouveau mot de passe" new_password_verify: "Vérifier" - type_in_email: "Entrez votre adresse e-mail pour confirmer la supression de votre compte" # {change} + type_in_email: "Entrez votre adresse e-mail pour confirmer la supression de votre compte" # type_in_email_progress: "Type in your email to confirm deleting your progress." # type_in_password: "Also, type in your password." email_subscriptions: "Abonnements" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t started_2: "Démarré" not_started_2: "Non démarré" view_solution: "Cliquer pour voir la solution" +# view_attempt: "Click to view attempt." latest_achievement: "Réalisation Récentes" playtime: "Temps de jeu" last_played: "Dernière période de jeu" diff --git a/app/locale/gl.coffee b/app/locale/gl.coffee index 28e7b8192..c66783aaa 100644 --- a/app/locale/gl.coffee +++ b/app/locale/gl.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr multiplayer: "Multixogador" # Not currently shown on home page for_developers: "Para programadores" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Xogar" # The top nav bar entry where players choose which levels to play community: "Comunidade" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Foro" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr play: play_as: "Xogar como" # Ladder page +# compete: "Compete!" # Course details page spectate: "Mirar" # Ladder page players: "xogadores" # Hover over a level on /play hours_played: "horas xogadas" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr years: "anos" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Feito" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Inicio" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr victory_title_suffix: " Completado!" victory_sign_up: "Rexístrate para recibir actualizacións." victory_sign_up_poke: "Queres recibir as últimas noticias no teu correo electrónico? Crea unha conta gratuita e manterémoste informado!" - victory_rate_the_level: "Puntúa este nivel: " # Only in old-style levels. + victory_rate_the_level: "Puntúa este nivel: " # {change} victory_return_to_ladder: "Volver á Clasificación" victory_play_continue: "Continuar" victory_saving_progress: "Gardando Progreso" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr password_tab: "Contrasinal" emails_tab: "Correos electrónicos" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Novo contrasinal" new_password_verify: "Verificar" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/he.coffee b/app/locale/he.coffee index 352a93696..e73bddaa0 100644 --- a/app/locale/he.coffee +++ b/app/locale/he.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", multiplayer: "רב-משתתפים" # Not currently shown on home page for_developers: "למפתחים" # Not currently shown on home page. or_ipad: "iPadאו הורד ל" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "שלבים" # The top nav bar entry where players choose which levels to play community: "קהילה" +# courses: "Courses" editor: "עורך" blog: "בלוג" forum: "פורום" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", play: play_as: "שחק בתור " # Ladder page +# compete: "Compete!" # Course details page spectate: "צופה" # Ladder page players: "שחקנים" # Hover over a level on /play hours_played: "שעות משחק" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", years: "שנים" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "סיים" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "בית" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", victory_title_suffix: " הושלם" victory_sign_up: "הירשם על מנת לשמור התקדמות" victory_sign_up_poke: "!רוצה לשמור את הקוד? הירשם בחינם עכשיו" - victory_rate_the_level: " :דרג את השלב" # Only in old-style levels. + victory_rate_the_level: " :דרג את השלב" # {change} victory_return_to_ladder: "חזור לסולם" victory_play_continue: "המשך" victory_saving_progress: "שומר התקדמות" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "מנוי חודשי" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "יש צורך במנוי כדי לשחק בשלב זה." unlock_help_videos: "רכוש מנוי כדי לפתוח את כל הדרכות הוידאו." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,9 +746,10 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", password_tab: "סיסמה" emails_tab: "אימיילים" admin: "אדמין" +# manage_subscription: "Click here to manage your subscription." new_password: "סיסמה חדשה" new_password_verify: "חזור על הסיסמה שנית" - type_in_email: "הזן את כתובת המייל שלך על מנת לבצע את המחיקה" # {change} + type_in_email: "הזן את כתובת המייל שלך על מנת לבצע את המחיקה" # type_in_email_progress: "Type in your email to confirm deleting your progress." type_in_password: "גםת הזן את סיסמתך." email_subscriptions: "הרשמויות אימייל" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew", started_2: "הותחל" not_started_2: "לא הותחל" view_solution: "לחץ כדי לראות פתרונות." +# view_attempt: "Click to view attempt." latest_achievement: "הישגים עדכניים" playtime: "זמן משחק" last_played: "שיחק לאחרונה" diff --git a/app/locale/hi.coffee b/app/locale/hi.coffee index 752916d50..81616fdb6 100644 --- a/app/locale/hi.coffee +++ b/app/locale/hi.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe multiplayer: "मल्टीप्लेयर" # Not currently shown on home page for_developers: "डेवलपर्स के लिए" # Not currently shown on home page. or_ipad: "या iPad के लिए डाउनलोड करें" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "चरण" # The top nav bar entry where players choose which levels to play community: "समुदाय" +# courses: "Courses" editor: "एडीटर" blog: "ब्लॉग" forum: "मंच" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index b19b41b62..bdaeff3b3 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t multiplayer: "Többjátékos" # Not currently shown on home page for_developers: "Fejlesztőknek" # Not currently shown on home page. or_ipad: "Vagy töltsd le iPadra" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Játék" # The top nav bar entry where players choose which levels to play community: "Közösség" +# courses: "Courses" editor: "Szerkesztő" blog: "Blog" forum: "Fórum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t play: play_as: "Játssz mint" # Ladder page +# compete: "Compete!" # Course details page spectate: "Néző" # Ladder page players: "Játékosok" # Hover over a level on /play hours_played: "Játékidő" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t years: "évek" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Kész" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Kezdőlap" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t victory_title_suffix: "Kész" victory_sign_up: "Regisztrálj a friss infókért" victory_sign_up_poke: "Szeretnéd, ha levelet küldenénk neked az újításokról? Regisztrálj ingyen egy fiókot, és nem maradsz le semmiről!" - victory_rate_the_level: "Értékeld a pályát: " # Only in old-style levels. + victory_rate_the_level: "Értékeld a pályát: " # {change} victory_return_to_ladder: "Vissza a ranglétrához" victory_play_continue: "Tovább" victory_saving_progress: "Folyamat mentése" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t parents_blurb3: "100%-os pénzvisszafizetés garancia: 1-kattintásossal leiratkozhat." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "Havi előfizetés" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "Ehhez a szinthez elő kell fizetnek." unlock_help_videos: "Végy előfizetést, hogy feloldd az összes videó oktatóanyagot." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "CodeCombat Basic INGYENES! 70-nél is több pálya, amely minden tudást megad." # {change} free_2: "A havidíjas előfizetés hozzáférést biztosít az oktató videókhoz és az extra gyakoroló pályákhoz." - teacher_subs_title: "Tanárok ingyenes előfizetést kapnak!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Tanárok ingyenes előfizetést kapnak!" # {change} +# teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "Lépjen kapcsolatba velünk," # {change} teacher_subs_2: "hogy megkapja az ingyenes havi előfizetést." # {change} -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." sub_includes_title: "Mit tartalmaz az előfizetés?" sub_includes_1: "A 80+ alap pályán kívül az előfizetéssel rendelkező tanulók az alábbi extrákhoz férnek hozzá:" # {change} sub_includes_2: "50+ gyakorló pálya" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,9 +746,10 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t password_tab: "Jelszó" emails_tab: "Levelek" admin: "Adminisztrátor" +# manage_subscription: "Click here to manage your subscription." new_password: "Új jelszó" new_password_verify: "Új jelszó megismétlése" - type_in_email: "Írd be az email-címed a törlés megerősítéséhez" # {change} + type_in_email: "Írd be az email-címed a törlés megerősítéséhez" # type_in_email_progress: "Type in your email to confirm deleting your progress." # type_in_password: "Also, type in your password." email_subscriptions: "Hírlevél feliratkozások" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/id.coffee b/app/locale/id.coffee index 722e9fc03..47325eff6 100644 --- a/app/locale/id.coffee +++ b/app/locale/id.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Developers" # Not currently shown on home page. or_ipad: "atau download untuk iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Levels" # The top nav bar entry where players choose which levels to play community: "Komunitas" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/it.coffee b/app/locale/it.coffee index 0517d954b..a57a9d41e 100644 --- a/app/locale/it.coffee +++ b/app/locale/it.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Per Sviluppatori" # Not currently shown on home page. or_ipad: "O scarica per iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Livelli" # The top nav bar entry where players choose which levels to play community: "Comunità" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t play: play_as: "Gioca come " # Ladder page +# compete: "Compete!" # Course details page spectate: "Spettatore" # Ladder page players: "giocatori" # Hover over a level on /play hours_played: "ore di gioco" # Hover over a level on /play @@ -81,7 +86,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t campaign_multiplayer: "Arene multigiocatore" campaign_multiplayer_description: "... nelle quali programmi faccia a faccia contro altri giocatori." campaign_old_multiplayer: "(Deprecato) Vecchia Arena multiplayer" - campaign_old_multiplayer_description: "Reliquie di un'epoca più civilizzata. Nessuna simulazione viene eseguita per queste arene multi-giocatore più vecchie e senza eroi" #"Relics of a more civilized age. No simulations are run for these older, hero-less multiplayer arenas." + campaign_old_multiplayer_description: "Reliquie di un'epoca più civilizzata. Nessuna simulazione viene eseguita per queste arene multi-giocatore più vecchie e senza eroi" share_progress_modal: blurb: "Stai facendo grandi progressi! Dì ai tuoi genitori quanto hai imparato con CodeCombat." @@ -159,9 +164,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t accepted: "Accettate" rejected: "Rifiutate" withdrawn: "Ritirate" - accept: "Accetta" #"Accept" - reject: "Rifiuta" #"Reject" - withdraw: "Ritirati" #"Withdraw" + accept: "Accetta" + reject: "Rifiuta" + withdraw: "Ritirati" submitter: "Autore" submitted: "Data creazione" commit_msg: "Messaggio di commit" @@ -216,8 +221,11 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t years: "anni" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Fatto" - next_game: "Prossimo gioco" #"Next game" +# next_level: "Next Level:" + next_game: "Prossimo gioco" show_menu: "Visualizza menu gioco" home: "Pagina iniziale" # Not used any more, will be removed soon. level: "Livello" # Like "Level: Dungeons of Kithgard" @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t victory_title_suffix: " Completato" victory_sign_up: "Registrati per gli aggiornamenti" victory_sign_up_poke: "Vuoi ricevere le ultime novità per email? Crea un account gratuito e ti terremo aggiornato!" - victory_rate_the_level: "Vota il livello: " # Only in old-style levels. + victory_rate_the_level: "Vota il livello: " # {change} victory_return_to_ladder: "Ritorna alla classifica" victory_play_continue: "Continua" victory_saving_progress: "Salvataggio progressi" @@ -296,7 +304,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t tip_scrub_shortcut: "Usa Ctrl+[ e Ctrl+] per tornare indietro o avanzare rapidamente." tip_guide_exists: "Clicca sulla Guida, nel menù di gioco (in alto nella pagina), per informazioni utili." tip_open_source: "CodeCombat è 100% open source!" - tip_tell_friends: "Ti piace CodeCombat? Parla di noi ai tuoi amici!" #"Enjoying CodeCombat? Tell your friends about us!" + tip_tell_friends: "Ti piace CodeCombat? Parla di noi ai tuoi amici!" tip_beta_launch: "CodeCombat è stato lanciato in beta nell'ottobre 2013." tip_think_solution: "Pensa alla soluzione, non al problema." tip_theory_practice: "In teoria, non c'è alcuna differenza tra teoria e pratica. Ma in pratica, c'è. - Yogi Berra" @@ -304,20 +312,20 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t tip_debugging_program: "Se il debug è il processo di rimuovere i bug, allora programmare deve essere il processo di crearli. - Edsger W. Dijkstra" tip_forums: "Visita i nostri forum e facci sapere cosa pensi!" tip_baby_coders: "Nel futuro, persino i neonati saranno Arcimaghi." - tip_morale_improves: "Il caricamento continuerà fino a che il morale migliora." #"Loading will continue until morale improves." + tip_morale_improves: "Il caricamento continuerà fino a che il morale migliora." tip_all_species: "Crediamo che chiunque debba avere le stesse opportunità di imparare a programmare." tip_reticulating: "Reticolazione spine" tip_harry: "Yer il mago, " tip_great_responsibility: "Da grandi abilità di programmazione derivano grandi responsabilità." tip_munchkin: "Se non mangi la tua verdura, un munchkin verrà a cercarti mentre dormi." - tip_binary: "Ci sono solo 10 tipi di persone al mondo: quelli che capiscono il binario, e quelli che non lo capiscono." #"There are only 10 types of people in the world: those who understand binary, and those who don't." - tip_commitment_yoda: "Un programmatore il più profondo impegno, la mente più seria deve avere. ~ Yoda" #"A programmer must have the deepest commitment, the most serious mind. ~ Yoda" + tip_binary: "Ci sono solo 10 tipi di persone al mondo: quelli che capiscono il binario, e quelli che non lo capiscono." + tip_commitment_yoda: "Un programmatore il più profondo impegno, la mente più seria deve avere. ~ Yoda" tip_no_try: "Fare o non fare. Questo non è provare. - Yoda" tip_patience: "Pazienza devi avere, giovane Padawan. - Yoda" tip_documented_bug: "Un bug documentato non è bug; è una feature." tip_impossible: "Sembra sempre impossibile fino a quando non ci si riesce. - Nelson Mandela" tip_talk_is_cheap: "A parlare sono bravi tutti. Mostrami il codice. - Linus Torvalds" - tip_first_language: "La cosa più disastrosa che potrai mai imparare è il tuo primo linguaggio di programmazione. - Alan Kay" #"The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" + tip_first_language: "La cosa più disastrosa che potrai mai imparare è il tuo primo linguaggio di programmazione. - Alan Kay" tip_hardware_problem: "Quanti programmatori servono per cambiare una lampadina? Nessuno, è un problema di hardware." tip_hofstadters_law: "Legge di Hofstadter: Ci vuole sempre più del previsto, anche quando tieni conto della legge di Hofstadter." tip_premature_optimization: "L'ottimizzazione prematura è l'origine di tutti i mali. - Donald Knuth" @@ -327,9 +335,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t tip_control_destiny: "Nel vero open source, hai il diritto di controllare il propio destino. - Linus Torvalds" tip_no_code: "Nessun codice è più veloce di nessun codice." tip_code_never_lies: "Il codice non mente mai, ma i commenti a volte lo fanno. — Ron Jeffries" - tip_reusable_software: "Prima che un software sia riusabile deve intanto essere usabile." #"Before software can be reusable it first has to be usable." + tip_reusable_software: "Prima che un software sia riusabile deve intanto essere usabile." tip_optimization_operator: "Ogni linguaggio ha un operatore di ottimizzazione. Nella maggior parte dei casi questo operatore è ‘//’" - tip_lines_of_code: "Misurare l'avanzamento di un programma dalle righe di codice è come misurare l'avanzamento nella costruzione di un aereo dal peso. - Bill Gates" #"Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" + tip_lines_of_code: "Misurare l'avanzamento di un programma dalle righe di codice è come misurare l'avanzamento nella costruzione di un aereo dal peso. - Bill Gates" tip_source_code: "Vorrei cambiare il mondo, ma non mi danno il codice sorgente." tip_javascript_java: "Java sta a JavaScript come Cane sta a Canestro. - Chris Heilmann" tip_move_forward: "Qualsiasi cosa tu faccia, vai sempre avanti. - Martin Luther King Jr." @@ -340,8 +348,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t tip_recurse: "Iterare e umano, usare la ricorsione è divino. - L. Peter Deutsch" tip_free_your_mind: "Devi liberarti di tutto questo, Neo. Paura, dubbio, sfiducia. Libera la tua mente. - Morpheus" tip_strong_opponents: "Anche il più tenace degli avversari ha sempre una debolezza. - Itachi Uchiha" - tip_paper_and_pen: "Prima di iniziare a programmare, puoi sempre progettare con un foglio di carta e una penna." #"Before you start coding, you can always plan with a sheet of paper and a pen." - tip_solve_then_write: "Prima, risolvi il problema. Poi, scrivi il codice. - John Johnson" #"First, solve the problem. Then, write the code. - John Johnson" + tip_paper_and_pen: "Prima di iniziare a programmare, puoi sempre progettare con un foglio di carta e una penna." + tip_solve_then_write: "Prima, risolvi il problema. Poi, scrivi il codice. - John Johnson" game_menu: inventory_tab: "Inventario" @@ -410,7 +418,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t feature7: "Clan privati" free: "Gratis" month: "mese" - must_be_logged: "Devi aver prima effettuato il login. Crea un account o effettua il login dal menu superiore." #"You must be logged in first. Please create an account or log in from the menu above." + must_be_logged: "Devi aver prima effettuato il login. Crea un account o effettua il login dal menu superiore." subscribe_title: "Abbonati" unsubscribe: "Disabbonati" confirm_unsubscribe: "Conferma disabbonamento" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t parents_blurb3: "Nessun rischio: 100% restituzione dei soldi con un semplice processo di deregistrazione" payment_methods: "Metodi di Pagamento" payment_methods_title: "Metodi di Pagamento Accetati" - payment_methods_blurb1: "Attualmente accettiamo come metodi di pagamento la carta di credito e Alipay." + payment_methods_blurb1: "Attualmente accettiamo come metodi di pagamento la carta di credito e Alipay." # {change} payment_methods_blurb2: "Se necessiti di un forma di pagamento diverso.Per favore contattaci" - sale_already_subscribed: "Sei già abbonato!" #"You're already subscribed!" - sale_blurb1: "Risparmia il 35%" + sale_already_subscribed: "Sei già abbonato!" + sale_blurb1: "Risparmia il $21" # {change} sale_blurb2: "rispetto all'abbinamento ordinario di 120$ per l'intero anno!" - sale_button: "Saldi!" #"Sale!" - sale_button_title: "Risparmi il 35% quando compri l'abbonamento per 1 anno" + sale_button: "Saldi!" + sale_button_title: "Risparmi il $21 quando compri l'abbonamento per 1 anno" # {change} sale_click_here: "Clicca qui" sale_ends: "Fine" sale_extended: "*Gli abbonamenti in corso verranno estesi per 1 anno." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t sale_title: "Saldi di inizio scuola" sale_view_button: "Compra un abbonamento annuale per " stripe_description: "Sottoscrizione mensile" - stripe_description_year_sale: "Abbonamneto annuale (sconto 35%)" + stripe_description_year_sale: "Abbonamneto annuale (sconto $21)" # {change} subscription_required_to_play: "Devi essere abbonato per giocare su questo livello." unlock_help_videos: "Abbonati per accedere a tutti i tutorial video." personal_sub: "Sottoscrizione Personale" # Accounts Subscription View below @@ -472,9 +480,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t group_discounts_1: "Offriamo sconto comitiva anche per abbonamenti in grandi volumi." group_discounts_1st: "Prima sottoscrizione" group_discounts_full: "Prezzo completo" - group_discounts_2nd: "Sottoscrizione 2-11" #"Subscriptions 2-11" + group_discounts_2nd: "Sottoscrizione 2-11" group_discounts_20: "20% disconto" - group_discounts_12th: "Sottoscrizione 12+" #"Subscriptions 12+" + group_discounts_12th: "Sottoscrizione 12+" group_discounts_40: "40% di sconto" subscribing: "Abbonamento..." recipient_emails_placeholder: "Inserisci l'indirizzo email per abbonarti, uno per linea." @@ -527,8 +535,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t skill_docs: writable: "scrivibile" # Hover over "attack" in Your Skills while playing a level to see most of this read_only: "sola lettura" - action: "Azione" #"Action" - spell: "Incantesimo" #"Spell" + action: "Azione" + spell: "Incantesimo" action_name: "nome" action_cooldown: "Richiede" action_specific_cooldown: "Riposo" @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" description_2: "professori" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -721,20 +737,21 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t picture_tab: "Immagine" delete_account_tab: "Cancella il tuo account" wrong_email: "Indirizzo email sbagliato" - wrong_password: "Password Sbagliata" #"Wrong Password" + wrong_password: "Password Sbagliata" upload_picture: "Carica immagine" delete_this_account: "Cancella questo account per sempre" # reset_progress_tab: "Reset All Progress" - reset_your_progress: "Cancella tutti i tuoi progressi e inizia da capo" #"Clear all your progress and start over" + reset_your_progress: "Cancella tutti i tuoi progressi e inizia da capo" # god_mode: "God Mode" password_tab: "Password" emails_tab: "Email" admin: "Amministratore" +# manage_subscription: "Click here to manage your subscription." new_password: "Nuova password" new_password_verify: "Verifica" type_in_email: "Scrivi il tuo indirizzo email per confermare la cancellazione" # {change} - type_in_email_progress: "Inserisci la tua email per confermare la cancellazione dei tuoi progressi." #"Type in your email to confirm deleting your progress." - type_in_password: "Inoltre, inserisci la tua password." #"Also, type in your password." + type_in_email_progress: "Inserisci la tua email per confermare la cancellazione dei tuoi progressi." + type_in_password: "Inoltre, inserisci la tua password." email_subscriptions: "Iscrizioni alle email" email_subscriptions_none: "Nessuna iscrizione." email_announcements: "Annunci email" @@ -765,7 +782,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t keyboard_shortcuts: "Scorciatoie da tastiera" space: "Spazio" enter: "Invio" - press_enter: "premi invio" #"press enter" + press_enter: "premi invio" escape: "Esc" shift: "Maiusc" run_code: "Esegui codice attuale." @@ -792,7 +809,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t article_editor_prefix: "Hai trovato un errore in uno dei nostri documenti? Vuoi creare delle istruzioni per una delle tue creazioni? Vai a" article_editor_suffix: "e aiuta i giocatori di CodeCombat ad ottenere il massimo mentre giocano a programmare." find_us: "Dove trovarci" - social_github: "Esplora tutto il nostro codice su GitHub" #"Check out all our code on GitHub" + social_github: "Esplora tutto il nostro codice su GitHub" social_blog: "Leggi il blog di CodeCombat su Sett" social_discource: "Partecipa alle discussioni nel nostro forum Discourse" social_facebook: "Metti 'mi piace' a CodeCombat su Facebook" @@ -809,7 +826,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t make_private: "Rendi clan privato" subs_only: "solo per abbonati" create_clan: "Crea nuovo clan" - private_preview: "Anteprima" #"Preview" + private_preview: "Anteprima" public_clans: "Clan pubblici" my_clans: "I miei clan" clan_name: "Nome clan" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t started_2: "Cominciato" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." latest_achievement: "Ultima impresa" # playtime: "Playtime" # last_played: "Last played" @@ -979,8 +997,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t indoor: "Interno" desert: "Deserto" grassy: "Erboso" - mountain: "Montagna" #"Mountain" - glacier: "Ghiacciaio" #"Glacier" + mountain: "Montagna" + glacier: "Ghiacciaio" small: "Piccolo" large: "Grande" # fork_title: "Fork New Version" @@ -1189,8 +1207,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # red_ai: "Red AI" # "Red AI Wins", at end of multiplayer match playback # blue_ai: "Blue AI" # wins: "Wins" # At end of multiplayer match playback - humans: "Rosso" #"Red" # Ladder page display team name - ogres: "Blu" #"Blue" + humans: "Rosso" # Ladder page display team name + ogres: "Blu" user: stats: "Statistiche" @@ -1226,7 +1244,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t purchased: "Acquistato" # sale: "Sale" subscription: "Abbonamento" - invoices: "Fatture" #"Invoices" + invoices: "Fatture" service_apple: "Apple" service_web: "Web" # paid_on: "Paid On" @@ -1287,7 +1305,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t # bad_input: "Bad input." server_error: "Errore server." unknown: "Errore sconosciuto." - error: "ERRORE" #"ERROR" + error: "ERRORE" resources: sessions: "Sessioni" @@ -1343,27 +1361,27 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t concepts: # advanced_strings: "Advanced Strings" algorithms: "Algoritmi" - arguments: "Argomenti" #"Arguments" - arithmetic: "Aritmetica" #"Arithmetic" + arguments: "Argomenti" + arithmetic: "Aritmetica" arrays: "Array" - basic_syntax: "Sintassi di base" #"Basic Syntax" - boolean_logic: "Logica Booleana" #"Boolean Logic" + basic_syntax: "Sintassi di base" + boolean_logic: "Logica Booleana" # break_statements: "Break Statements" - classes: "Classi" #"Classes" + classes: "Classi" # continue_statements: "Continue Statements" - for_loops: "Cicli For" #"For Loops" - functions: "Funzioni" #"Functions" - graphics: "Grafici" #"Graphics" + for_loops: "Cicli For" + functions: "Funzioni" + graphics: "Grafici" # if_statements: "If Statements" - input_handling: "Gestione dell'Input" #"Input Handling" - math_operations: "Operazioni Matematiche" #"Math Operations" + input_handling: "Gestione dell'Input" + math_operations: "Operazioni Matematiche" # object_literals: "Object Literals" - parameters: "Parametri" #"Parameters" - strings: "Stringhe" #"Strings" - variables: "Variabili" #"Variables" - vectors: "Vettori" #"Vectors" - while_loops: "Cicli" #"Loops" - recursion: "Ricorsione" #"Recursion" + parameters: "Parametri" + strings: "Stringhe" + variables: "Variabili" + vectors: "Vettori" + while_loops: "Cicli" + recursion: "Ricorsione" # delta: # added: "Added" diff --git a/app/locale/ja.coffee b/app/locale/ja.coffee index aa0fdea62..8493ca0b3 100644 --- a/app/locale/ja.coffee +++ b/app/locale/ja.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", multiplayer: "マルチプレイヤー" # Not currently shown on home page for_developers: "開発者向け" # Not currently shown on home page. or_ipad: "又はiPadでダウンロード" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "ゲームマップへ" # The top nav bar entry where players choose which levels to play community: "コミュニティー" +# courses: "Courses" editor: "レベルエディター" blog: "ブログ" forum: "掲示板" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", play: play_as: "としてプレー" # Ladder page +# compete: "Compete!" # Course details page spectate: "観戦" # Ladder page players: "プレイヤー" # Hover over a level on /play hours_played: "プレイ時間" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", years: "年" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "完了" +# next_level: "Next Level:" next_game: "次のゲーム" show_menu: "ゲームメニューを見る" home: "ホーム" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", victory_title_suffix: "クリア" victory_sign_up: "進行状況をセーブするにはアカウント登録をしてください" victory_sign_up_poke: "あなたのコードをセーブしてみませんか? 無料アカウント登録!" - victory_rate_the_level: "このレベルの評価: " # Only in old-style levels. + victory_rate_the_level: "このレベルの評価: " # {change} victory_return_to_ladder: "ラダーに戻る" victory_play_continue: "コンテニュー" victory_saving_progress: "セーブ中" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "CodeCombat は基本的に無料です!110以上のレベルが無料です。" # {change} free_2: "月々の課金をするとビデオのチュートリアルにアクセスでき、また追加のレベルが楽しめます。" - teacher_subs_title: "教育関係者は無料のサブスクリプションを得ることができます!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "教育関係者は無料のサブスクリプションを得ることができます!" # {change} +# teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "" # {change} teacher_subs_2: "に連絡して無料の月々のサブスクリプションを得ましょう。" # {change} -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." sub_includes_title: "サブスクリプションの内容について" sub_includes_1: "110以上の基本レベルに加えて、生徒は月々のサブスクリプションを得て次の機能が使えます:" # {change} sub_includes_2: "70以上の練習レベル" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", password_tab: "パスワード" emails_tab: "メール" admin: "管理者" +# manage_subscription: "Click here to manage your subscription." new_password: "新パスワード" new_password_verify: "新パスワードを再入力" type_in_email: "アカウントの削除を確認するために、メールアドレスを入力して下さい。" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese", started_2: "進行中" not_started_2: "未着手" view_solution: "クリックしてソリューションを見る。" +# view_attempt: "Click to view attempt." latest_achievement: "最新業績" playtime: "プレイ時間" last_played: "最終プレイ" diff --git a/app/locale/ko.coffee b/app/locale/ko.coffee index f26a25aea..e4b0ae2c9 100644 --- a/app/locale/ko.coffee +++ b/app/locale/ko.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t multiplayer: "멀티플레이어" # Not currently shown on home page for_developers: "개발자용" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "레벨" # The top nav bar entry where players choose which levels to play community: "커뮤니티" +# courses: "Courses" editor: "에디터" blog: "블로그" forum: "포럼" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t play: play_as: "Play As " # Ladder page +# compete: "Compete!" # Course details page spectate: "관중모드" # Ladder page players: "플레이어" # Hover over a level on /play hours_played: "플레이한 시간" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t years: "년" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "완료" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "홈" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t victory_title_suffix: " 완료" victory_sign_up: "진행사항 저장을 위해 등록하세요" victory_sign_up_poke: "코드를 저장하고 싶으세요? 지금 등록하세요!" - victory_rate_the_level: "이번 레벨 평가: " # Only in old-style levels. + victory_rate_the_level: "이번 레벨 평가: " # {change} victory_return_to_ladder: "레더로 돌아가기" victory_play_continue: "계속하기" victory_saving_progress: "저장하기" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t password_tab: "비밀번호" emails_tab: "이메일" admin: "관리자" +# manage_subscription: "Click here to manage your subscription." new_password: "새 비밀번호" new_password_verify: "확인(다시한번 입력해주세요)" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/lt.coffee b/app/locale/lt.coffee index 20b757bfc..7d6d6477a 100644 --- a/app/locale/lt.coffee +++ b/app/locale/lt.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. or_ipad: "Arba atsisiųskite iPad'ui" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Lygiai" # The top nav bar entry where players choose which levels to play community: "Bendruomenė" +# courses: "Courses" editor: "Redaktorius" blog: "Blog'as" forum: "Forumas" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith play: play_as: "Žaisti kaip" # Ladder page +# compete: "Compete!" # Course details page spectate: "Stebėtojas" # Ladder page players: "žaidėjai" # Hover over a level on /play hours_played: "valandų žaista" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith years: "metai" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Gerai" +# next_level: "Next Level:" next_game: "Kitas žaidimas" show_menu: "Parodyti žaidimo meniu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith victory_title_suffix: " baigta" victory_sign_up: "Užsiregistruokite, kad išsaugotumėte pažangą" victory_sign_up_poke: "Norite išsaugoti savo kodą? Sukurkite paskyrą nemokamai!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" victory_play_continue: "Tęsti" victory_saving_progress: "Išsaugoma pažanga" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/mk-MK.coffee b/app/locale/mk-MK.coffee index f380a57ea..dbfc3f96d 100644 --- a/app/locale/mk-MK.coffee +++ b/app/locale/mk-MK.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Македонски", englishDescription: multiplayer: "Повеќе играчи" # Not currently shown on home page for_developers: "За Developer-и" # Not currently shown on home page. or_ipad: "Или симни за iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Нивоа" # The top nav bar entry where players choose which levels to play community: "Заедница" +# courses: "Courses" editor: "Едитор" blog: "Блог" forum: "Форум" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Македонски", englishDescription: play: play_as: "Играј како" # Ladder page +# compete: "Compete!" # Course details page spectate: "Набљудувај" # Ladder page players: "играчи" # Hover over a level on /play hours_played: "изиграни часови" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Македонски", englishDescription: years: "години" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Готово" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Дома" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Македонски", englishDescription: # victory_title_suffix: " Complete" victory_sign_up: "Направи сметка за да го зачуваш напредокот" victory_sign_up_poke: "Сакаш да го зачуваш твојот код? Направи бесплатна сметка!" - victory_rate_the_level: "Оцени го нивото: " # Only in old-style levels. + victory_rate_the_level: "Оцени го нивото: " # {change} victory_return_to_ladder: "Врати се кај ранг листата" victory_play_continue: "Продолжи" victory_saving_progress: "Напредокот се зачувува" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Македонски", englishDescription: parents_blurb3: "Без ризик: 100% гаранција за враќање на парите, лесно откажување на членството со еден клик." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Македонски", englishDescription: # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "Месечна членарина" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "Треба да бидеш зачленет за да го играш ова ниво." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Македонски", englishDescription: # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Македонски", englishDescription: # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Македонски", englishDescription: # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Македонски", englishDescription: # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/ms.coffee b/app/locale/ms.coffee index ce3a808c1..5959c5313 100644 --- a/app/locale/ms.coffee +++ b/app/locale/ms.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa multiplayer: "Ramai-Pemain" # Not currently shown on home page for_developers: "Untuk Pengaturcara" # Not currently shown on home page. or_ipad: "Atau muat turun untuk iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Mula" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa password_tab: "Kata-laluan" emails_tab: "Kesemua E-mel" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Kata-laluan baru" new_password_verify: "Verifikasi" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/my.coffee b/app/locale/my.coffee index 7627b1427..2d4e6a0b9 100644 --- a/app/locale/my.coffee +++ b/app/locale/my.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "မြန်မာစကား", englishDes # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/nb.coffee b/app/locale/nb.coffee index 6ea16211a..dddbafcb5 100644 --- a/app/locale/nb.coffee +++ b/app/locale/nb.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg multiplayer: "Flerspiller" # Not currently shown on home page for_developers: "For Utviklere" # Not currently shown on home page. or_ipad: "Eller last ned til iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Spill" # The top nav bar entry where players choose which levels to play community: "Fellesskap" +# courses: "Courses" editor: "Editor" blog: "Blogg" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg play: play_as: "Spill som" # Ladder page +# compete: "Compete!" # Course details page spectate: "Vær tilskuer" # Ladder page players: "Spillere" # Hover over a level on /play hours_played: "Timer spilt" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg years: "år" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Ferdig" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Hjem" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg victory_title_suffix: " Ferdig" victory_sign_up: "Tegn deg på for Oppdateringer" victory_sign_up_poke: "Vil du ha siste nytt på epost? Opprett en gratis konto, så vil vi holde deg oppdatert!" - victory_rate_the_level: "Bedøm nivået: " # Only in old-style levels. + victory_rate_the_level: "Bedøm nivået: " # {change} victory_return_to_ladder: "Tilbake til stige" victory_play_continue: "Fortsett" victory_saving_progress: "Lagrer framskritt" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg parents_blurb3: "Ingen risiko: 100% pengene tilbake-garanti, kun et klikk for å si opp abonnementet." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "Månedlig abonnement" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "Du trenger abonnement for å spille dette nivået." unlock_help_videos: "Abonnér for å låse opp alle videoveiledningene." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg password_tab: "Passord" emails_tab: "Epost" admin: "Administrator" +# manage_subscription: "Click here to manage your subscription." new_password: "Nytt Passord" new_password_verify: "Bekreft passord" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/nl-BE.coffee b/app/locale/nl-BE.coffee index d2b46f685..121d2d59a 100644 --- a/app/locale/nl-BE.coffee +++ b/app/locale/nl-BE.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Voor ontwikkelaars" # Not currently shown on home page. or_ipad: "Of download voor iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: play: play_as: "Speel als " # Ladder page +# compete: "Compete!" # Course details page spectate: "Toeschouwen" # Ladder page players: "Spelers" # Hover over a level on /play hours_played: "Gespeelde uren" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: years: "jaren" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Klaar" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: victory_title_suffix: " Compleet" victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" - victory_rate_the_level: "Beoordeel het level: " # Only in old-style levels. + victory_rate_the_level: "Beoordeel het level: " # {change} victory_return_to_ladder: "Keer terug naar de ladder" victory_play_continue: "Ga verder" victory_saving_progress: "Vooruitgang bewaren" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: password_tab: "Wachtwoord" emails_tab: "Emails" admin: "Administrator" +# manage_subscription: "Click here to manage your subscription." new_password: "Nieuw Wachtwoord" new_password_verify: "Verifieer" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription: # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index 77cc6f4d8..7b8bc5b72 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Voor ontwikkelaars" # Not currently shown on home page. or_ipad: "Of download voor iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Levels" # The top nav bar entry where players choose which levels to play community: "Gemeenschap" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription play: play_as: "Speel als " # Ladder page +# compete: "Compete!" # Course details page spectate: "Toeschouwen" # Ladder page players: "Spelers" # Hover over a level on /play hours_played: "Speeltijd" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription years: "jaren" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Klaar" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription victory_title_suffix: " Compleet" victory_sign_up: "Schrijf je in om je vooruitgang op te slaan" victory_sign_up_poke: "Wil je jouw code opslaan? Maak een gratis account aan!" - victory_rate_the_level: "Beoordeel het level: " # Only in old-style levels. + victory_rate_the_level: "Beoordeel het level: " # {change} victory_return_to_ladder: "Keer terug naar de ladder" victory_play_continue: "Ga door" victory_saving_progress: "Voortgang opslaan" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription parents_blurb3: "Geen risico's: 100% geld terug garantie, 1-klik uitschrijving." payment_methods: "Betaalmethoden" payment_methods_title: "Geaccepteerde betaalmethoden" - payment_methods_blurb1: "Momenteel worden alleen credit cards en Alipay geaccepteerd." + payment_methods_blurb1: "Momenteel worden alleen credit cards en Alipay geaccepteerd." # {change} payment_methods_blurb2: "Als u op een andere manier wilt betalen, neem dan alstublieft contact op" sale_already_subscribed: "Je bent al ingeschreven!" - sale_blurb1: "bespaar 35%" + sale_blurb1: "bespaar $21" # {change} # sale_blurb2: "off regular subscription price of $120 for a whole year!" sale_button: "Koopje!" - sale_button_title: "Bespaar 35% bij aankoop van een 1-jaars abonnement" + sale_button_title: "Bespaar $21 bij aankoop van een 1-jaars abonnement" # {change} sale_click_here: "Klik hier" sale_ends: "Eindigt" sale_extended: "*Bestaande abbonementen zullen worden verlengd met 1 jaar." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription # sale_title: "Back to School Sale" sale_view_button: "Koop een 1-jarig abonnement voor" stripe_description: "Maandelijks abonnement" - stripe_description_year_sale: "1-jarig abonnement (35% korting)" + stripe_description_year_sale: "1-jarig abonnement ($21 korting)" # {change} subscription_required_to_play: "Je hebt een abonnement nodig om dit level te spelen." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "Er zijn meer dan 110 GRATIS levels, welke alle concepten omvatten." free_2: "Een maandelijkse inschrijving bied toegang tot video tutorials en extra oefenlevels." - teacher_subs_title: "Leerkrachten krijgen een gratis abonnement!" - teacher_subs_0: "Wij bieden gratis inschrijvingen aan leerkrachten voor evaluatiedoeleinden." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Leerkrachten krijgen een gratis abonnement!" # {change} + teacher_subs_0: "Wij bieden gratis inschrijvingen aan leerkrachten voor evaluatiedoeleinden." # {change} # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription # title: "Teacher Survey" must_be_logged: "Je moet eerst ingelogd zijn. Maak een account aan of log in in het menu hierboven." retrieving: "Informatie ophalen..." - being_reviewed_1: "Je aanvraag voor een gratis proefabonnement wordt" + being_reviewed_1: "Je aanvraag voor een gratis proefabonnement wordt" # {change} being_reviewed_2: "beoordeeld." - approved_1: "Je aanvraag voor een gratis proefabonnement is" + approved_1: "Je aanvraag voor een gratis proefabonnement is" # {change} approved_2: "goedgekeurd." approved_3: "Meer informatie is verzonden naar" - denied_1: "Uw aanvraag voor een testaccount is" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Uw aanvraag voor een testaccount is" # {change} denied_2: "afgewezen." contact_1: "Neem contact op" contact_2: "als u meer vragen heeft." description_1: "We bieden gratis abbonnementen aan, aan leerkrachten voor evaluatiedoeleinden. Meer informatie kan worden gevonden op onze" +# description_1b: "You can find more information on our" description_2: "leerkrachten" description_3: "pagina." description_4: "Vul alstublieft onze korte vragenlijst in en we zullen u instructies sturen om te beginnen." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription password_tab: "Wachtwoord" emails_tab: "Emails" admin: "Administrator" +# manage_subscription: "Click here to manage your subscription." new_password: "Nieuw Wachtwoord" new_password_verify: "Verifieer" type_in_email: "Typ je email in om de verwijdering te bevestigen." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription started_2: "Gestart" not_started_2: "Niet gestart" view_solution: "Klik om oplossing te bekijken." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" playtime: "Speeltijd" last_played: "Laatst gespeeld" diff --git a/app/locale/nn.coffee b/app/locale/nn.coffee index c4e0bdd45..dba4b13b0 100644 --- a/app/locale/nn.coffee +++ b/app/locale/nn.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Norsk Nynorsk", englishDescription: "Norweg # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/pl.coffee b/app/locale/pl.coffee index f18df6a17..d64fb1f9a 100644 --- a/app/locale/pl.coffee +++ b/app/locale/pl.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Dla developerów" # Not currently shown on home page. or_ipad: "Albo ściągnij na swojego iPada" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Poziomy" # The top nav bar entry where players choose which levels to play community: "Społeczność" +# courses: "Courses" editor: "Edytor" blog: "Blog" forum: "Forum" @@ -31,7 +35,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran contact: "Kontakt" twitter_follow: "Subskrybuj" teachers: "Nauczyciele" -# careers: "Careers" + careers: "Kariera" modal: close: "Zamknij" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran play: play_as: "Graj jako " # Ladder page +# compete: "Compete!" # Course details page spectate: "Oglądaj" # Ladder page players: "graczy" # Hover over a level on /play hours_played: "rozegranych godzin" # Hover over a level on /play @@ -159,9 +164,9 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran accepted: "Przyjęto" rejected: "Odrzucono" withdrawn: "Wycofano" -# accept: "Accept" -# reject: "Reject" -# withdraw: "Withdraw" + accept: "Akceptuj" + reject: "Odrzuć" + withdraw: "Wycofaj" submitter: "Przesyłający" submitted: "Przesłano" commit_msg: "Wiadomość do commitu" @@ -216,9 +221,12 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran years: "lat" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Zrobione" -# next_game: "Next game" -# show_menu: "Show game menu" +# next_level: "Next Level:" + next_game: "Następna gra" + show_menu: "Pokaż menu gry" home: "Strona główna" # Not used any more, will be removed soon. level: "Poziom" # Like "Level: Dungeons of Kithgard" skip: "Pomiń" @@ -245,7 +253,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran victory_title_suffix: " ukończony" victory_sign_up: "Zarejestruj się, by zapisać postępy" victory_sign_up_poke: "Chcesz zapisać swój kod? Stwórz bezpłatne konto!" - victory_rate_the_level: "Oceń poziom: " # Only in old-style levels. + victory_rate_the_level: "Oceń poziom: " # {change} victory_return_to_ladder: "Powrót do drabinki" victory_play_continue: "Dalej" victory_saving_progress: "Zapisywanie postępów" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -527,8 +535,8 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran skill_docs: writable: "zapisywalny" # Hover over "attack" in Your Skills while playing a level to see most of this read_only: "tylko do odczytu" -# action: "Action" -# spell: "Spell" + action: "Akcja" + spell: "Zaklęcie" action_name: "nazwa" action_cooldown: "Zajmuje" action_specific_cooldown: "Odpoczynek" @@ -613,11 +621,15 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran title: "Ankieta dla nauczycieli" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran password_tab: "Hasło" emails_tab: "Powiadomienia" admin: "Administrator" +# manage_subscription: "Click here to manage your subscription." new_password: "Nowe hasło" new_password_verify: "Zweryfikuj" type_in_email: "Wpisz swój email, aby potwierdzić usunięcie konta." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran started_2: "Rozpoczęto" not_started_2: "Nie rozpoczęto" view_solution: "Kliknij, aby obejrzeć rozwiązanie." +# view_attempt: "Click to view attempt." latest_achievement: "Ostatnie osiągnięcia" playtime: "Czas gyr" last_played: "Ostatnio grany" @@ -859,9 +877,9 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # track_concepts8: "to join" # private_require_sub: "Private clans require a subscription to create or join." -# courses: -# course: "Course" -# courses: "courses" + courses: + course: "Kurs" + courses: "kursy" # not_enrolled: "You are not enrolled in this course." # visit_pref: "Please visit the" # visit_suf: "page to enroll." @@ -872,8 +890,8 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # edit_settings: "edit class settings" # edit_settings1: "Edit Class Settings" # progress: "Class Progress" -# add_students: "Add Students" -# stats: "Statistics" + add_students: "Dodaj Studentów" + stats: "Statystyki" # total_students: "Total students:" # average_time: "Average level play time:" # total_time: "Total play time:" @@ -881,8 +899,8 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # total_levels: "Total levels completed:" # furthest_level: "Furthest level completed:" # concepts_covered: "Concepts Covered" -# students: "Students" -# students1: "students" + students: "Studenci" + students1: "studenci" # expand_details: "Expand details" # concepts: "Concepts" # levels: "levels" @@ -896,7 +914,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # capacity_used: "Course slots used:" # enter_emails: "Enter student emails to invite, one per line" # send_invites: "Send Invites" -# title: "Title" + title: "Tytuł" # description: "Description" # creating_class: "Creating class..." # purchasing_course: "Purchasing course..." @@ -938,9 +956,9 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # enter_code1: "Enter unlock code" # enroll: "Enroll" # pick_from_classes: "Pick from your current classes" -# enter: "Enter" -# or: "Or" -# topics: "Topics" + enter: "Enter" + or: "Lub" + topics: "Tematy" # hours_content: "Hours of content:" # get_free: "Get FREE course" @@ -1185,12 +1203,12 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # tournament_blurb_blog: "on our blog" rules: "Zasady" winners: "Zwycięzcy" -# league: "League" + league: "Liga" # red_ai: "Red AI" # "Red AI Wins", at end of multiplayer match playback # blue_ai: "Blue AI" # wins: "Wins" # At end of multiplayer match playback -# humans: "Red" # Ladder page display team name -# ogres: "Blue" + humans: "Czerwoni" # Ladder page display team name + ogres: "Niebiescy" user: stats: "Statystyki" @@ -1227,7 +1245,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran # sale: "Sale" subscription: "Subskrypcje" invoices: "Faktury" -# service_apple: "Apple" + service_apple: "Apple" # service_web: "Web" # paid_on: "Paid On" # service: "Service" @@ -1287,7 +1305,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran bad_input: "Złe dane wejściowe." server_error: "Błąd serwera." unknown: "Nieznany błąd." -# error: "ERROR" + error: "BŁĄD" resources: sessions: "Sesje" @@ -1306,7 +1324,7 @@ module.exports = nativeDescription: "polski", englishDescription: "Polish", tran patches: "Łatki" patched_model: "Dokument źródłowy" model: "Model" -# system: "System" + system: "System" # systems: "Systems" component: "Komponent" components: "Komponenty" diff --git a/app/locale/pt-BR.coffee b/app/locale/pt-BR.coffee index 1fca0a973..79d51408e 100644 --- a/app/locale/pt-BR.coffee +++ b/app/locale/pt-BR.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: multiplayer: "Multijogador" # Not currently shown on home page for_developers: "Para Desenvolvedores" # Not currently shown on home page. or_ipad: "Ou baixe para iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Jogar" # The top nav bar entry where players choose which levels to play community: "Comunidade" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Fórum" @@ -31,7 +35,7 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: contact: "Contate-nos" twitter_follow: "Seguir" teachers: "Professores" -# careers: "Careers" + careers: "Carreiras" modal: close: "Fechar" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: play: play_as: "Jogar Como " # Ladder page +# compete: "Compete!" # Course details page spectate: "Assistir" # Ladder page players: "Jogadores" # Hover over a level on /play hours_played: "Horas jogadas" # Hover over a level on /play @@ -159,9 +164,9 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: accepted: "Aceito" rejected: "Rejeitado" withdrawn: "Retirado" -# accept: "Accept" -# reject: "Reject" -# withdraw: "Withdraw" + accept: "Aceitar" + reject: "Rejeitar" + withdraw: "Recuar" submitter: "Enviar" submitted: "Enviado" commit_msg: "Mensagem de Submissão" @@ -216,9 +221,12 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: years: "anos" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Pronto" -# next_game: "Next game" -# show_menu: "Show game menu" +# next_level: "Next Level:" + next_game: "Próximo jogo" + show_menu: "Mostrar menu do jogo" home: "Início" # Not used any more, will be removed soon. level: "Fase" # Like "Level: Dungeons of Kithgard" skip: "Pular" @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: victory_title_suffix: " Completado!" victory_sign_up: "Assine para receber atualizações" victory_sign_up_poke: "Quer receber as últimas novidades por email? Crie uma conta grátis e nós o manteremos informado!" - victory_rate_the_level: "Avalie o estágio: " # Only in old-style levels. + victory_rate_the_level: "Avalie o estágio: " # {change} victory_return_to_ladder: "Retornar para a progressão" victory_play_continue: "Continue" victory_saving_progress: "Salvando Progresso" @@ -341,7 +349,7 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: tip_free_your_mind: "Você tem que deixar isso tudo passar, Neo. O medo, a dúvida e a descrença. Liberte sua mente - Morpheus" tip_strong_opponents: "Mesmo o mais forte dos adversários tem sua fraqueza. - Itachi Uchiha" tip_paper_and_pen: "Antes de começar a programar, você sempre deve planejar com papel e caneta." -# tip_solve_then_write: "First, solve the problem. Then, write the code. - John Johnson" + tip_solve_then_write: "Primeiro, resolva o problema. Então, escreva o código. - John Johnson" game_menu: inventory_tab: "Inventário" @@ -410,7 +418,7 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: feature7: "Clãs Privados" free: "Grátis" month: "mês" -# must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." + must_be_logged: "Você deve estar logado primeiro. Por gentileza crie uma conta ou faça o log in no menu acima." subscribe_title: "Inscrever-se" unsubscribe: "Desinscrever-se" confirm_unsubscribe: "Confirmar Desinscrição" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: parents_blurb3: "Sem risco: 100% devolução do dinheiro garantida, basta um simples clique em desinscrever-se." payment_methods: "Formas de pagamento" payment_methods_title: "Formas de pagamento aceitas" - payment_methods_blurb1: "Aceitamos cartões de crédito e Alipay no momento." + payment_methods_blurb1: "Aceitamos cartões de crédito e Alipay no momento." # {change} payment_methods_blurb2: "Se você precisa de outra forma de pagamento, por favor contate" sale_already_subscribed: "Você já está subscrito!" - sale_blurb1: "Economize 35%" + sale_blurb1: "Economize $21" # {change} sale_blurb2: "desconto regular de assinatura por U$120 durante um ano inteiro!" sale_button: "Venda!" - sale_button_title: "Economize 35% quando você adquirir a assinatura de 1 ano" + sale_button_title: "Economize $21 quando você adquirir a assinatura de 1 ano" # {change} sale_click_here: "Clique Aqui" sale_ends: "Termina" sale_extended: "*Assinaturas existentes serão extendidas por 1 ano." @@ -453,9 +461,9 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: sale_limited_time: "Oferta por tempo limitado!" sale_new_heroes: "Novos heróis!" sale_title: "Promoção de volta às aulas" -# sale_view_button: "Buy 1 year subscription for" + sale_view_button: "Compre uma assinatura de 1 ano por" stripe_description: "Inscrição Mensal" - stripe_description_year_sale: "Assinatura de 1 Ano (35% de desconto" + stripe_description_year_sale: "Assinatura de 1 Ano ($21 de desconto" # {change} subscription_required_to_play: "Você precisará se inscrever para jogar este nível." unlock_help_videos: "Inscreva-se para desbloquear todos os vídeos tutoriais." personal_sub: "Inscrição individual" # Accounts Subscription View below @@ -527,8 +535,8 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: skill_docs: writable: "gravável" # Hover over "attack" in Your Skills while playing a level to see most of this read_only: "apenas leitura" -# action: "Action" -# spell: "Spell" + action: "Ação" + spell: "Feitiço" action_name: "nome" action_cooldown: "Demora" action_specific_cooldown: "Recarregando" @@ -598,26 +606,30 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: jose_blurb: "Sou descolado" retrostyle_title: "Ilustração" retrostyle_blurb: "Games estilo Retrô" -# rob_title: "Compiler Engineer" -# rob_blurb: "Codes things and stuff" -# josh_c_title: "Game Designer" -# josh_c_blurb: "Designs games" -# carlos_title: "Region Manager, Brazil" -# carlos_blurb: "Celery Man" + rob_title: "Engenheiro Compilador" + rob_blurb: "Os paranauês dos códigos" + josh_c_title: "Game Designer" + josh_c_blurb: "Desenha jogos" + carlos_title: "Gerente Regional, Brasil" + carlos_blurb: "O Homem Célere" teachers: more_info: "Informações para Professores" intro_1: "CodeCombat é um jogo online que ensina programação. Estudantes criam código em linguagens de programação usadas na vida real." intro_2: "Não é necessário ter experiência!" free_title: "Quanto custa?" -# cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." + cost_premium_server: "CodeCombat é gratuito para os primeiros cinco níveis, depois disso custa $9.99 USD por mês para ter acesso aos nossos outros 190+ níveis em nossos servidores exclusivos por países." free_1: "CodeCombat Basic é gratuito! Há mais de 80 níveis gratuitos que cobrem todos os conceitos." # {change} free_2: "Uma assinatura mensal dá acesso aos vídeos tutoriais e mais níveis para praticar." - teacher_subs_title: "Professores recebem assinaturas gratuitas!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Professores recebem assinaturas gratuitas!" # {change} +# teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "Por favor contate" # {change} teacher_subs_2: "para organizar uma assinatura mensal." # {change} - teacher_subs_3: "para configurar sua assinatura" + teacher_subs_3: "para configurar sua assinatura" # {change} sub_includes_title: "O que está incluído na assinatura?" sub_includes_1: "Além dos mais de 80 níveis básicos, estudantes com uma assinatura mensal têm acesso aos seguintes recursos:" # {change} sub_includes_2: "Mais de 60 níveis para praticar" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: title: "Pesquisa de professor" must_be_logged: "Você precisa fazer login primeiro. Por favor, crie uma conta ou faça login no menu acima." retrieving: "Recuperando informações..." - being_reviewed_1: "Sua solicitação de teste grátis de assinatura está sendo" + being_reviewed_1: "Sua solicitação de teste grátis de assinatura está sendo" # {change} being_reviewed_2: "revisada." - approved_1: "Sua solicitação de teste grátis de assinatura foi" + approved_1: "Sua solicitação de teste grátis de assinatura foi" # {change} approved_2: "aprovada." approved_3: "Mais intruções foram enviadas para" - denied_1: "Sua solicitação de teste grátis de assinatura foi" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Sua solicitação de teste grátis de assinatura foi" # {change} denied_2: "negada." contact_1: "Por favor, entre em contato" contact_2: "caso você tenha dúvidas no futuro." description_1: "Nós oferecemos assinaturas grátis à professores para fins de avaliação. Você pode encontrar mais informações na nossa" +# description_1b: "You can find more information on our" description_2: "professores" description_3: "página." description_4: "Por favor, preencha esta rápida pesquisa e nós o enviaremos as intruções de instalação por email." @@ -724,16 +740,17 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: wrong_password: "Senha Incorreta" upload_picture: "Enviar uma foto" delete_this_account: "Excluir essa conta definitivamente" -# reset_progress_tab: "Reset All Progress" -# reset_your_progress: "Clear all your progress and start over" + reset_progress_tab: "Resetar Todo o Progresso" + reset_your_progress: "Apaga todo seu progresso e começa novamente" god_mode: "Modo Deus" password_tab: "Senha" emails_tab: "Emails" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Nova Senha" new_password_verify: "Confirmação" type_in_email: "Digite seu e-mail para confirmar a exclusão" # {change} -# type_in_email_progress: "Type in your email to confirm deleting your progress." + type_in_email_progress: "Escreva seu email para confirmar que está apagando seu progresso." type_in_password: "Digite sua senha." email_subscriptions: "Assinaturas para Notícias por Email" email_subscriptions_none: "Sem Assinaturas de Email" @@ -841,48 +858,49 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: started_2: "Iniciado" not_started_2: "Não Iniciado" view_solution: "Clique para ver a solução." +# view_attempt: "Click to view attempt." latest_achievement: "Última Conquista" playtime: "Tempo de Jogo" last_played: "Último Jogo" leagues_explanation: "Jogar em um campeonato contra outros membros do clã nestes casos de arena multiplayer." -# track_concepts1: "Track concepts" -# track_concepts2a: "learned by each student" -# track_concepts2b: "learned by each member" -# track_concepts3a: "Track levels completed for each student" -# track_concepts3b: "Track levels completed for each member" -# track_concepts4a: "See your students'" -# track_concepts4b: "See your members'" -# track_concepts5: "solutions" -# track_concepts6a: "Sort students by name or progress" -# track_concepts6b: "Sort members by name or progress" -# track_concepts7: "Requires invitation" -# track_concepts8: "to join" -# private_require_sub: "Private clans require a subscription to create or join." + track_concepts1: "Rastrear conceitos" + track_concepts2a: "aprendido por cada estudante" + track_concepts2b: "aprendido por cada membro" + track_concepts3a: "Rastrear níveis completados por cada estudante" + track_concepts3b: "Rastrear níveis completados por cada membro" + track_concepts4a: "Ver seus alunos'" + track_concepts4b: "Ver seus membros'" + track_concepts5: "soluções" + track_concepts6a: "Classificar alunos por nome ou progresso" + track_concepts6b: "Classificar membros por nome ou progresso" + track_concepts7: "Requer convite" + track_concepts8: "para se juntar" + private_require_sub: "Clãs particulares requerem uma assinatura para criar ou juntar-se." -# courses: -# course: "Course" -# courses: "courses" -# not_enrolled: "You are not enrolled in this course." -# visit_pref: "Please visit the" -# visit_suf: "page to enroll." -# select_class: "Select one of your classes" -# unnamed: "*unnamed*" -# select: "Select" -# unnamed_class: "Unnamed Class" -# edit_settings: "edit class settings" -# edit_settings1: "Edit Class Settings" -# progress: "Class Progress" -# add_students: "Add Students" -# stats: "Statistics" -# total_students: "Total students:" -# average_time: "Average level play time:" -# total_time: "Total play time:" -# average_levels: "Average levels completed:" -# total_levels: "Total levels completed:" -# furthest_level: "Furthest level completed:" -# concepts_covered: "Concepts Covered" -# students: "Students" -# students1: "students" + courses: + course: "Curso" + courses: "cursos" + not_enrolled: "Você não está matriculado nesse curso." + visit_pref: "Por gentileza, visite a" + visit_suf: "página para matricular-se." + select_class: "Selecione uma de suas classes" + unnamed: "*sem nome*" + select: "Selecionar" + unnamed_class: "Classe Sem Nome" + edit_settings: "editar configurações da classe" + edit_settings1: "Editar Configurações da Classe" + progress: "Progresso da Classe" + add_students: "Adicionar Alunos" + stats: "Estatísticas" + total_students: "Total de Alunos:" + average_time: "Average level play time:" + total_time: "Total play time:" + average_levels: "Média de níveis completados:" + total_levels: "Total de níveis completados:" + furthest_level: "Maior nível alcançado:" + concepts_covered: "Conceitos Abordados" + students: "Estudantes" + students1: "estudantes" # expand_details: "Expand details" # concepts: "Concepts" # levels: "levels" @@ -939,10 +957,10 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription: # enroll: "Enroll" # pick_from_classes: "Pick from your current classes" # enter: "Enter" -# or: "Or" -# topics: "Topics" -# hours_content: "Hours of content:" -# get_free: "Get FREE course" + or: "Ou" + topics: "Tópicos" + hours_content: "Horas de conteúdo:" + get_free: "Obtenha um curso GRÁTIS" classes: archmage_title: "Arquimago" diff --git a/app/locale/pt-PT.coffee b/app/locale/pt-PT.coffee index d431a1149..bf06546ce 100644 --- a/app/locale/pt-PT.coffee +++ b/app/locale/pt-PT.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: multiplayer: "Multijogador" # Not currently shown on home page for_developers: "Para Programadores" # Not currently shown on home page. or_ipad: "Ou descarrega para iPad" + hoc_class_code: "Tenho um Código de Turma" + hoc_enter: "Entrar" + hoc_title: "Hora do Código?" nav: play: "Níveis" # The top nav bar entry where players choose which levels to play community: "Comunidade" + courses: "Cursos" editor: "Editor" blog: "Blog" forum: "Fórum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: play: play_as: "Jogar Como" # Ladder page + compete: "Competir!" # Course details page spectate: "Assistir" # Ladder page players: "jogadores" # Hover over a level on /play hours_played: "horas jogadas" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: years: "anos" play_level: + completed_level: "Nível Completo:" + course: "Curso:" done: "Concluir" + next_level: "Próximo Nível:" next_game: "Próximo jogo" show_menu: "Mostrar o menu do jogo" home: "Início" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: victory_title_suffix: " Concluído" victory_sign_up: "Criar Conta para Guardar Progresso" victory_sign_up_poke: "Queres guardar o teu código? Cria uma conta grátis!" - victory_rate_the_level: "Classifica o nível: " # Only in old-style levels. + victory_rate_the_level: "Quão divertido foi este nível?" victory_return_to_ladder: "Voltar à Classificação" victory_play_continue: "Continuar" victory_saving_progress: "A Guardar Progresso" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: parents_blurb3: "Sem Risco: 100% de garantia de devolução do dinheiro, com anulação fácil de 1 clique." payment_methods: "Métodos de Pagamento" payment_methods_title: "Métodos de Pagamento Aceites" - payment_methods_blurb1: "Atualmente aceitamos cartões de crédito e Alipay." + payment_methods_blurb1: "Atualmente aceitamos cartões de crédito e Alipay." # {change} payment_methods_blurb2: "Se precisares de uma outra forma de pagamento, por favor contacta" sale_already_subscribed: "Já estás subscrito!" - sale_blurb1: "Poupa 35%" + sale_blurb1: "Poupa $21" # {change} sale_blurb2: "do preço de uma subscrição anual normal de $120!" sale_button: "Promoção!" - sale_button_title: "Poupa 35% ao comprares uma subscrição anual" + sale_button_title: "Poupa $21 ao comprares uma subscrição anual" # {change} sale_click_here: "Clica Aqui" sale_ends: "Termina" sale_extended: "*Subscrições existentes serão prolongadas um ano." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: sale_title: "Promoção de Regresso às Aulas" sale_view_button: "Compra uma subscrição anual por" stripe_description: "Subscrição Mensal" - stripe_description_year_sale: "Subscrição Anual (35% desconto)" + stripe_description_year_sale: "Subscrição Anual ($21 desconto)" # {change} subscription_required_to_play: "Precisas de uma subscrição para jogares este nível." unlock_help_videos: "Subscreve-te para desbloqueares todos os tutoriais em vídeo." personal_sub: "Subscrição Pessoal" # Accounts Subscription View below @@ -612,12 +620,16 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: free_title: "Quanto custa?" # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "Há 110+ níveis GRATUITOS que abordam cada conceito." - free_2: "Uma subscrição mensal garante acesso a tutoriais em vídeo e a níveis extra para praticar." - teacher_subs_title: "Os professores recebem uma subscrição gratuita!" - teacher_subs_0: "Oferecemos subscrições gartuitas para professores, para fins de avaliação." + free_2: "Uma subscrição mensal dá acesso a tutoriais em vídeo e a níveis extra para praticar." + free_3: "O conteúdo do CodeCombat está dividido em" + free_4: "cursos" + free_5: ". O primeiro curso é gratuito e tem cerca de uma hora de material." + free_6: "O acesso aos cursos adicionais pode ser desbloqueado com uma compra de uma só vez." + teacher_subs_title: "Os professores recebem uma avaliação gratuita!" + teacher_subs_0: "Oferecemos avaliações gratuitas a professores." teacher_subs_1: "Por favor, preenche o nosso" teacher_subs_2: "Inquérito para Professores" - teacher_subs_3: "para configurares a tua subscrição." + teacher_subs_3: "para experimentares os cursos pagos." sub_includes_title: "O que está incluído na subscrição?" sub_includes_1: "Para além dos 110+ níveis básicos, os estudantes com uma subscrição mensal têm acesso às seguintes funcionalidades adicionais:" sub_includes_2: "80+ níveis para praticar" @@ -661,18 +673,22 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: title: "Inquérito para Professores" must_be_logged: "Primeiro tens de ter sessão iniciada. Por favor, cria uma conta ou inicia sessão a partir do menu acima." retrieving: "A recolher informações..." - being_reviewed_1: "A tua aplicação para uma subscrição de avaliação gratuita está a ser" + being_reviewed_1: "A tua aplicação para uma avaliação gratuita está a ser" being_reviewed_2: "revista." - approved_1: "A tua aplicação para uma subscrição de avaliação gratuita foi" + approved_1: "A tua aplicação para uma avaliação gratuita foi" approved_2: "aprovada." approved_3: "Mais instruções foram enviadas para" - denied_1: "A tua aplicação para uma subscrição de avaliação gratuita foi" + approved_4: "Inscreve os teus alunos na" + approved_5: "página" + approved_6: "dos cursos." + denied_1: "A tua aplicação para uma avaliação gratuita foi" denied_2: "recusada." contact_1: "Por favor, contacta" contact_2: "se tiveres mais questões." - description_1: "Oferecemos subscrições gratuitas a professores para efeitos de avaliação. Na nossa página para" - description_2: "professores" - description_3: "podes encontar muitas mais informações." + description_1: "Oferecemos avaliações gratuitas a professores. Vão-te ser dadas duas inscrições gratuitas que podem ser usadas para inscrever estudantes em cursos pagos." + description_1b: "Podes encontrar mais informações na nossa" + description_2: "página" + description_3: "para professores." description_4: "Por favor, preenche este pequeno inquérito e nós enviar-te-emos, por e-mail, as instruções de configuração." email: "Endereço de E-mail" school: "Nome da Escola" @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: password_tab: "Palavra-passe" emails_tab: "E-mails" admin: "Administrador" +# manage_subscription: "Click here to manage your subscription." new_password: "Nova Palavra-passe" new_password_verify: "Verificar" type_in_email: "Escreve o teu e-mail para confirmares a eliminação." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription: started_2: "Começado" not_started_2: "Não Começado" view_solution: "Clica para veres a solução." +# view_attempt: "Click to view attempt." latest_achievement: "Última Conquista" playtime: "Tempo de jogo" last_played: "Última vez jogado" diff --git a/app/locale/ro.coffee b/app/locale/ro.coffee index 6aacab87c..840e670c3 100644 --- a/app/locale/ro.coffee +++ b/app/locale/ro.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman multiplayer: "Multiplayer" # Not currently shown on home page for_developers: "Pentru Dezvoltatori" # Not currently shown on home page. or_ipad: "Sau descarcă pentru iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Nivele" # The top nav bar entry where players choose which levels to play community: "Communitate" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman play: play_as: "Alege-ți echipa" # Ladder page +# compete: "Compete!" # Course details page spectate: "Spectator" # Ladder page players: "jucători" # Hover over a level on /play hours_played: "ore jucate" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman years: "ani" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Gata" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Acasă" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman victory_title_suffix: " Terminat" victory_sign_up: "Înscrie-te pentru a salva progresul" victory_sign_up_poke: "Vrei să-ți salvezi codul? Crează un cont gratis!" - victory_rate_the_level: "Apreciază nivelul: " # Only in old-style levels. + victory_rate_the_level: "Apreciază nivelul: " # {change} victory_return_to_ladder: "Înapoi la jocurile de clasament" victory_play_continue: "Continuă" victory_saving_progress: "Salvează Progresul" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman parents_blurb3: "Fără Riscuri: Garanție 100% bani înapoi, o dezabonare ușoară cu 1-click." payment_methods: "Metode de plată" payment_methods_title: "Metode de plată acceptate" - payment_methods_blurb1: "Deocamdată acceptăm numai cărti de credit si Alipay." + payment_methods_blurb1: "Deocamdată acceptăm numai cărti de credit si Alipay." # {change} payment_methods_blurb2: "Dacă aveți nevoie de o formă alternativă de plată, vă rugăm să ne contactați" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" stripe_description: "Abonament Lunar" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" subscription_required_to_play: "Ai nevoie de abonament ca să joci acest nivel." unlock_help_videos: "Abonează-te pentru deblocarea tuturor tutorialelor video." personal_sub: "Abonament Personal" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "Sunt 80+ de nivele GRATIS ce parcurg fiecare concept în programare." # {change} free_2: "Un abonament lunar oferă acces la tutoriale video si nivele extra pentru practică." - teacher_subs_title: "Educatori primesc abonamente gratuite!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Educatori primesc abonamente gratuite!" # {change} +# teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "Te rugăm sa completezi" teacher_subs_2: "Chestionarul Educatorului" - teacher_subs_3: "pentru a configura abonamentul." + teacher_subs_3: "pentru a configura abonamentul." # {change} sub_includes_title: "Ce e inclus în abonament?" sub_includes_1: "Pe langă 80+ de nivele de bază, studenții cu un abonament lunar au acces la aceste servicii suplimentare:" # {change} sub_includes_2: "60+ nivele pentru practică" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman title: "Chestionar Educatori" must_be_logged: "Mai întâi trebuie să fi logat. Te rugăm să faci un cont sau să te loghezi în meniul de mai sus." retrieving: "Se preiau informațiile..." - being_reviewed_1: "Cererea pentru un abonament trial gratis este în curs de" + being_reviewed_1: "Cererea pentru un abonament trial gratis este în curs de" # {change} being_reviewed_2: "examinare" # {change} - approved_1: "Cererea pentru un abonament trial gratis a fost" + approved_1: "Cererea pentru un abonament trial gratis a fost" # {change} approved_2: "aprobată." # {change} approved_3: "Mai multe instrucțiuni au fost timiste la" - denied_1: "Cererea pentru un abonament trial gratis a fost" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Cererea pentru un abonament trial gratis a fost" # {change} denied_2: "refuzată" # {change} contact_1: "Contactează-ne" contact_2: "dacă ai alte întrebări." description_1: "Oferim abonamente gratis Educatorilor pentru evaluare. Poți găsi mai multe informați pe" +# description_1b: "You can find more information on our" description_2: "pagina" description_3: "educatorilor." description_4: "Te rugăm să completezi acest formular rapid si îți vom trimite un email cu instrucțiuni." @@ -730,9 +746,10 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman password_tab: "Parolă" emails_tab: "Email-uri" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Parolă nouă" new_password_verify: "Verifică" - type_in_email: "Scrie adresa de email ca să confirmi ștergerea" # {change} + type_in_email: "Scrie adresa de email ca să confirmi ștergerea" # type_in_email_progress: "Type in your email to confirm deleting your progress." # type_in_password: "Also, type in your password." email_subscriptions: "Subscripție Email" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman started_2: "Început" not_started_2: "Neînceput" view_solution: "Click pentru a vedea soluția." +# view_attempt: "Click to view attempt." latest_achievement: "Ultimile Achievement-uri" playtime: "Timp Jucat" last_played: "Ultima oară cănd ai jucat" diff --git a/app/locale/ru.coffee b/app/locale/ru.coffee index 4d3e5f4e0..eab9697f4 100644 --- a/app/locale/ru.coffee +++ b/app/locale/ru.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi multiplayer: "Мультиплеер" # Not currently shown on home page for_developers: "Разработчикам" # Not currently shown on home page. or_ipad: "Или скачайте на iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Уровни" # The top nav bar entry where players choose which levels to play community: "Сообщество" +# courses: "Courses" editor: "Редактор" blog: "Блог" forum: "Форум" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi play: play_as: "Играть за " # Ladder page +# compete: "Compete!" # Course details page spectate: "Наблюдать" # Ladder page players: "игроки" # Hover over a level on /play hours_played: "часов сыграно" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi years: "лет" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Готово" +# next_level: "Next Level:" next_game: "Следующая игра" show_menu: "Показать меню игры" home: "На главную" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi victory_title_suffix: " завершён" victory_sign_up: "Зарегистрируйтесь, чтобы сохранить прогресс" victory_sign_up_poke: "Хотите сохранить ваш код? Создайте бесплатный аккаунт!" - victory_rate_the_level: "Оцените уровень:" # Only in old-style levels. + victory_rate_the_level: "Оцените уровень:" # {change} victory_return_to_ladder: "Вернуться к ладдеру" victory_play_continue: "Продолжить" victory_saving_progress: "Процесс сохранения" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi parents_blurb3: "Без риска: 100% гарантия возврата денег, возможность отписаться в 1 клик." payment_methods: "Методы оплаты" payment_methods_title: "Принимаемые методы оплаты" - payment_methods_blurb1: "На данный момент мы принимаем кредитные карты и Alipay." + payment_methods_blurb1: "На данный момент мы принимаем кредитные карты и Alipay." # {change} payment_methods_blurb2: "Если вам необходим альтернативный способ оплаты, пожалуйста, свяжитесь" sale_already_subscribed: "У вас уже есть подписка!" - sale_blurb1: "Скидка 35%" + sale_blurb1: "Скидка $21" # {change} sale_blurb2: "от годовой подписки за $120 на весь год!" sale_button: "Распродажа!" - sale_button_title: "Сэкономьте 35% при приобретении годовой подписки" + sale_button_title: "Сэкономьте $21 при приобретении годовой подписки" # {change} sale_click_here: "Нажмите сюда" sale_ends: "Заканчивается" sale_extended: "*Текущие подписки будут продлены на год." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi sale_title: "Назад на школьную распродажу" sale_view_button: "Купи годовую подписку за" stripe_description: "Месячная подписка" - stripe_description_year_sale: "Годовая подписка (35% скидка)" + stripe_description_year_sale: "Годовая подписка ($21 скидка)" # {change} subscription_required_to_play: "Чтобы сыграть этот уровень нужна подписка." unlock_help_videos: "Подпишитесь, чтобы разблокировать все обучающие видео." personal_sub: "Личная подписка" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi cost_premium_server: "CodeCombat бесплатный в течение первых пяти уровней, после чего он стоит $ 9,99 USD в месяц за доступ к другим нашим 190+ уровням на наших эксклюзивных серверах." free_1: "В наличии более 80 БЕСПЛАТНЫХ уровней, которые покрывают каждый концепт." # {change} free_2: "Месячная подписка предоставляет доступ к видео-урокам и дополнительным уровням." - teacher_subs_title: "Учителя получают бесплатные подписки!" - teacher_subs_0: "Мы предлагаем бесплатную подписку для тестирования студентов." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Учителя получают бесплатные подписки!" # {change} + teacher_subs_0: "Мы предлагаем бесплатную подписку для тестирования студентов." # {change} teacher_subs_1: "Пожалуйста, заполните нашу" teacher_subs_2: "Анкету учителя" - teacher_subs_3: "для настройки вашей подписки." + teacher_subs_3: "для настройки вашей подписки." # {change} sub_includes_title: "Что включено в подписку?" sub_includes_1: "В дополнение к более чем 80 бесплатным уровням ученики с месячной подпиской получат доступ к дополнительным возможностям:" # {change} sub_includes_2: "Более 60 уровней для дополнительной практики" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi title: "Анкета учителя" must_be_logged: "Сначала необходимо войти в аккаунт. Пожалуйста, создайте аккаунт или войдите через меню вверху." retrieving: "Получение информации..." - being_reviewed_1: "Ваша заявка на бесплатную пробную подписку сейчас" + being_reviewed_1: "Ваша заявка на бесплатную пробную подписку сейчас" # {change} being_reviewed_2: "на рассмотрении." # {change} - approved_1: "Ваша заявка на бесплатную пробную подписку была" + approved_1: "Ваша заявка на бесплатную пробную подписку была" # {change} approved_2: "утверждена." # {change} approved_3: "Дальнейшие инструкции были высланы на" - denied_1: "Ваша заявка на бесплатную пробную подписку была" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Ваша заявка на бесплатную пробную подписку была" # {change} denied_2: "отклонена." # {change} contact_1: "Пожалуйста, свяжитесь с" contact_2: ", если у вас остались вопросы." description_1: "Мы предлагаем бесплатные подписки учителям в целях ознакомления. Вы можете найти больше информации на нашей странице" +# description_1b: "You can find more information on our" description_2: "учителей" description_3: "" description_4: "Пожалуйста, заполните эту маленькую анкету и мы вышлем вам инструкции по установке на email." @@ -730,9 +746,10 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi password_tab: "Пароль" emails_tab: "Email-адреса" admin: "Админ" +# manage_subscription: "Click here to manage your subscription." new_password: "Новый пароль" new_password_verify: "Подтверждение пароля" - type_in_email: "Введите ваш email для подтверждения удаления аккаунта" # {change} + type_in_email: "Введите ваш email для подтверждения удаления аккаунта" # type_in_email_progress: "Type in your email to confirm deleting your progress." type_in_password: "Так же введите ваш пароль" # {change} email_subscriptions: "Email-подписки" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi started_2: "Начат" not_started_2: "Не начат" view_solution: "Нажмите, чтобы увидеть решение." +# view_attempt: "Click to view attempt." latest_achievement: "Последнее достижение" playtime: "Время игры" last_played: "Последняя игра" diff --git a/app/locale/sk.coffee b/app/locale/sk.coffee index 20292a3e8..7541f0a05 100644 --- a/app/locale/sk.coffee +++ b/app/locale/sk.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", multiplayer: "Viac hráčov" # Not currently shown on home page for_developers: "Pre vývojárov" # Not currently shown on home page. or_ipad: "Alebo stiahni pre iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Hraj" # The top nav bar entry where players choose which levels to play community: "Komunita" +# courses: "Courses" editor: "Editor" blog: "Blog" forum: "Fórum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", play: play_as: "Hraj ako" # Ladder page +# compete: "Compete!" # Course details page spectate: "Sledovať" # Ladder page players: "hráči" # Hover over a level on /play hours_played: "odohratých hodín" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", years: "rokov" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Hotovo" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Domov" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", victory_title_suffix: " Kompletné" victory_sign_up: "Přihlásit se pre uloženie progresu" victory_sign_up_poke: "Chceš uložiť svoj kód? Vytvorte si účet zdarma!" - victory_rate_the_level: "Ohodnoťte túto úroveň: " # Only in old-style levels. + victory_rate_the_level: "Ohodnoťte túto úroveň: " # {change} victory_return_to_ladder: "Rebríčky" victory_play_continue: "Pokračovať" victory_saving_progress: "Stav ukladania" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." free_1: "CodeCombat Basic is ZDARMA ! K dispozícii je 70+ úrovní pokrývajúcich každý koncept." # {change} free_2: "Mesačné predplatné poskytuje prístup k videonávodom a k úrovniam na precvičenie navyše." - teacher_subs_title: "Pre učiteľov je predplatné zdarma !" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Pre učiteľov je predplatné zdarma !" # {change} +# teacher_subs_0: "We offer free trials to teachers." teacher_subs_1: "Napíšte na" # {change} teacher_subs_2: "pre zriadenie mesačného predplatného zdarma." # {change} -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." sub_includes_title: "Čo zahrnuje predplatné ?" sub_includes_1: "Študenti s mesačným predplatným získajú ku 70+ základným úrovniam aj :" # {change} sub_includes_2: "40+ tréningových úrovní" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,9 +746,10 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", password_tab: "Heslo" emails_tab: "E-maily" admin: "Spravovať" +# manage_subscription: "Click here to manage your subscription." new_password: "Nové heslo" new_password_verify: "Overenie" - type_in_email: "Zadaj email na potvrdenie zrušenia účtu" # {change} + type_in_email: "Zadaj email na potvrdenie zrušenia účtu" # type_in_email_progress: "Type in your email to confirm deleting your progress." # type_in_password: "Also, type in your password." email_subscriptions: "Odoberať emailom" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak", # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/sl.coffee b/app/locale/sl.coffee index 5296952be..b1a10294f 100644 --- a/app/locale/sl.coffee +++ b/app/locale/sl.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/sr.coffee b/app/locale/sr.coffee index 386f740e5..deff2ea10 100644 --- a/app/locale/sr.coffee +++ b/app/locale/sr.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Нивои" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" editor: "Уређивач" blog: "Блог" forum: "Форум" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # years: "years" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Урађено" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Почетна" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian victory_title_suffix: " Завршено" victory_sign_up: "Пријави се за новости" victory_sign_up_poke: "Желиш ли да примаш најновије вести на мејл? Направи бесплатан налог и ми ћемо те обавештавати!" - victory_rate_the_level: "Оцени ниво: " # Only in old-style levels. + victory_rate_the_level: "Оцени ниво: " # {change} # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian password_tab: "Шифра" emails_tab: "Мејлови" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Нова Шифра" new_password_verify: "Потврди" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/sv.coffee b/app/locale/sv.coffee index 81ce70ce7..934ac057d 100644 --- a/app/locale/sv.coffee +++ b/app/locale/sv.coffee @@ -6,16 +6,20 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr play: "Spela" # The big play button that opens up the campaign view. old_browser: "Oj då, din webbläsare är för gammal för att köra CodeCombat. Förlåt!" # Warning that shows up on really old Firefox/Chrome/Safari old_browser_suffix: "Du kan försöka ändå, men det kommer nog inte fungera." -# ipad_browser: "Bad news: CodeCombat doesn't run on iPad in the browser. Good news: our native iPad app is awaiting Apple approval." + ipad_browser: "Dåliga nyheter: CodeCombat funkar inte i webbläsaren på iPad. Goda nyheter: Vår iPad app väntar på godkännande från Apple." campaign: "Kampanj" for_beginners: "För nybörjare" multiplayer: "Flera spelare" # Not currently shown on home page for_developers: "För utvecklare" # Not currently shown on home page. or_ipad: "Eller ladda ner till iPad" + hoc_class_code: "Jag har en lektionskod" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Spela" # The top nav bar entry where players choose which levels to play community: "Community" + courses: "Lektioner" editor: "Nivåredigerare" blog: "Blogg" forum: "Forum" @@ -31,7 +35,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr contact: "Kontakt" twitter_follow: "Följ oss på Twitter" teachers: "Lärare" -# careers: "Careers" + careers: "Jobbtillfällen" modal: close: "Stäng" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr play: play_as: "Spela som " # Ladder page + compete: "Tävla!" # Course details page spectate: "Titta på" # Ladder page players: "spelare" # Hover over a level on /play hours_played: "timmar spelade" # Hover over a level on /play @@ -68,7 +73,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr poll: "Omröstning" # Tooltip on poll button from /play next: "Nästa" # Go from choose hero to choose inventory before playing a level change_hero: "Byt Hjälte" # Go back from choose inventory to choose hero -# choose_inventory: "Equip Items" + choose_inventory: "Välj föremål" buy_gems: "Köp ädelstenar" subscription_required: "Kräver prenumeration" anonymous: "Anonym Spelare" @@ -84,20 +89,20 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # campaign_old_multiplayer_description: "Relics of a more civilized age. No simulations are run for these older, hero-less multiplayer arenas." share_progress_modal: -# blurb: "You’re making great progress! Tell your parent how much you've learned with CodeCombat." + blurb: "Du gör stora framsteg! Berätta för dina föräldrar hur mycket du lärt dig tack vare CodeCombat." email_invalid: "ogiltig mejladress." form_blurb: "Ange en förälders mejladress så visar vi dem!" form_label: "Mejladress" placeholder: "mejladress" -# title: "Excellent Work, Apprentice" + title: "Utmärkt arbete, lärling" login: sign_up: "Skapa konto" log_in: "Logga in" - logging_in: "Loggar In" + logging_in: "Loggar in" log_out: "Logga ut" forgot_password: "Glömt ditt lösenord?" - authenticate_gplus: "Autentisera G+" + authenticate_gplus: "Autentisera med G+" load_profile: "Ladda G+ Profil" finishing: "Färdigställer" sign_in_with_facebook: "Logga in med Facebook" @@ -109,7 +114,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr creating: "Skapar konto..." sign_up: "Skapa konto" log_in: "logga in med lösenord" - social_signup: "Eller så kan du logga in genom facebook eller g+:" + social_signup: "Eller så kan du logga in genom facebook eller G+:" required: "Du måste logga in innan du kan gå dit" login_switch: "Har du redan ett konto?" @@ -140,14 +145,14 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr fork: "Förgrena" play: "Spela" # When used as an action verb, like "Play next level" retry: "Försök igen" -# actions: "Actions" + actions: "Handlingar" info: "Info" help: "Hjälp" # watch: "Watch" # unwatch: "Unwatch" # submit_patch: "Submit Patch" submit_changes: "Spara Ändringar" -# save_changes: "Save Changes" + save_changes: "Spara ändringar" general: and: "och" @@ -156,15 +161,15 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr body: "Kropp" version: "Version" # pending: "Pending" -# accepted: "Accepted" -# rejected: "Rejected" + accepted: "Accepterad" + rejected: "Avvisad" # withdrawn: "Withdrawn" -# accept: "Accept" -# reject: "Reject" + accept: "Acceptera" + reject: "Avvisa" # withdraw: "Withdraw" -# submitter: "Submitter" -# submitted: "Submitted" - commit_msg: "Förbindelsemeddelande" + submitter: "Inlämnare" + submitted: "Inlämnat" + commit_msg: "Ändringsmeddelande" version_history: "Ändringshistorik" version_history_for: "Ändringshistorik för: " select_changes: "Välj två ändringar nedan för att se skillnaden." @@ -172,7 +177,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr undo_shortcut: "(Ctrl+Z)" redo_prefix: "gör om" redo_shortcut: "(Ctrl+Shift+Z)" -# play_preview: "Play preview of current level" + play_preview: "Spela förhandsversion av aktuell nivå" result: "Resultat" results: "Resultat" description: "Beskrivning" @@ -194,9 +199,9 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr medium: "Medium" hard: "Svår" player: "Spelare" -# player_level: "Level" # Like player level 5, not like level: Dungeons of Kithgard + player_level: "Nivå" # Like player level 5, not like level: Dungeons of Kithgard warrior: "Krigare" -# ranger: "Ranger" + ranger: "Vandrare" wizard: "Trollkarl" units: @@ -216,9 +221,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr years: "år" play_level: + completed_level: "Avklarad nivå:" + course: "Lektion:" done: "Klar" -# next_game: "Next game" -# show_menu: "Show game menu" + next_level: "Nästa nivå:" + next_game: "Nästa spel" + show_menu: "Visa spelmeny" home: "Hem" # Not used any more, will be removed soon. level: "Nivå" # Like "Level: Dungeons of Kithgard" skip: "Hoppa över" @@ -235,7 +243,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr action_timeline: "Händelse-tidslinje" click_to_select: "Klicka på en enhet för att välja den." # control_bar_multiplayer: "Multiplayer" -# control_bar_join_game: "Join Game" + control_bar_join_game: "Anslut till spel" reload: "Ladda om" reload_title: "Ladda om all kod?" reload_really: "Är du säker på att du vill ladda om nivån från början?" @@ -245,13 +253,13 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr victory_title_suffix: " Genomförd" victory_sign_up: "Registrera dig för att få uppdateringar" victory_sign_up_poke: "Vill du ha de senaste nyheterna via mejl? Skapa ett gratiskonto så håller vi dig informerad!" - victory_rate_the_level: "Betygsätt nivån: " # Only in old-style levels. + victory_rate_the_level: "Betygsätt nivån: " # {change} victory_return_to_ladder: "Gå tillbaka till stegen" victory_play_continue: "Fortsätt" victory_saving_progress: "Sparar framsteg" victory_go_home: "Gå hem" victory_review: "Berätta mer!" -# victory_review_placeholder: "How was the level?" + victory_review_placeholder: "Hur tyckte du nivån var?" victory_hour_of_code_done: "Är du klar?" victory_hour_of_code_done_yes: "Ja, jag är klar med min Hour of Code!" victory_experience_gained: "XP mottaget" @@ -288,15 +296,15 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr infinite_loop_title: "Oändlig loop upptäckt" # infinite_loop_description: "The initial code to build the world never finished running. It's probably either really slow or has an infinite loop. Or there might be a bug. You can either try running this code again or reset the code to the default state. If that doesn't fix it, please let us know." # check_dev_console: "You can also open the developer console to see what might be going wrong." -# check_dev_console_link: "(instructions)" + check_dev_console_link: "(instruktioner)" infinite_loop_try_again: "Försök igen" infinite_loop_reset_level: "Återställ Nivå" -# infinite_loop_comment_out: "Comment Out My Code" + infinite_loop_comment_out: "Kommentera bort min kod" tip_toggle_play: "Spela/pausa med Ctrl+P." tip_scrub_shortcut: "Ctrl+] och Ctrl+[ spolar framåt och bakåt." # {change} -# tip_guide_exists: "Click the guide, inside game menu (at the top of the page), for useful info." + tip_guide_exists: "Om du vill ha mer användbar information: Klicka på guiden högst upp i spelmenyn" tip_open_source: "CodeCombat är 100% öppen källkod!" -# tip_tell_friends: "Enjoying CodeCombat? Tell your friends about us!" + tip_tell_friends: "Gillar du CodeCombat? Tipsa dina vänner om oss!" tip_beta_launch: "CodeCombat startade sin beta i oktober 2013." tip_think_solution: "Tänk på lösningen, inte problemet." tip_theory_practice: "Teoretiskt sett så är det ingen skillnad mellan teori och praktik. Men i praktiken så är det. - Yogi Berra" @@ -386,17 +394,17 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr equip: "Använd" unequip: "Sluta använda" -# buy_gems: -# few_gems: "A few gems" -# pile_gems: "Pile of gems" -# chest_gems: "Chest of gems" -# purchasing: "Purchasing..." -# declined: "Your card was declined" -# retrying: "Server error, retrying." -# prompt_title: "Not Enough Gems" -# prompt_body: "Do you want to get more?" -# prompt_button: "Enter Shop" -# recovered: "Previous gems purchase recovered. Please refresh the page." + buy_gems: + few_gems: "Ett par ädelstenar" + pile_gems: "Hög med ädelstenar" + chest_gems: "Kista med ädelstenar" + purchasing: "Köp pågår..." + declined: "Köp nekat" + retrying: "Serverfel, försöker igen." + prompt_title: "Inte tillräckligt många ädelstenar" + prompt_body: "Vill du skaffa flera?" + prompt_button: "Gå till affären" + recovered: "Föregående köp av ädelstenar återskapat. Var vänlig och uppdatera sidan." # price: "x3500 / mo" # subscribe: @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -510,7 +518,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr regeneration: "Regeneration" range: "Räckvidd" # As in "attack or visual range" blocks: "Blockerar" # As in "this shield blocks this much damage" -# backstab: "Backstab" # As in "this dagger does this much backstab damage" + backstab: "Hugg i ryggen" # As in "this dagger does this much backstab damage" skills: "Färdigheter" attack_1: "Gör" attack_2: "av noterad vapenskada för" @@ -527,8 +535,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr skill_docs: writable: "skrivbar" # Hover over "attack" in Your Skills while playing a level to see most of this read_only: "endast läsning" -# action: "Action" -# spell: "Spell" + action: "Handling" + spell: "Trollformel" action_name: "namn" action_cooldown: "Tar" action_specific_cooldown: "Återhämtningstid" @@ -558,7 +566,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr 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_livecompletion_description: "Visar förslag medans du skriver" editor_config_invisibles_label: "Visa osynliga" editor_config_invisibles_description: "Visar osynliga tecken, till exempel mellanrum och nyradstecken." editor_config_indentguides_label: "Visa indenteringsguider" @@ -583,25 +591,25 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr george_title: "Medgrundare" george_blurb: "Businesser" scott_title: "Medgrundare" - scott_blurb: "Reasonable One" +# scott_blurb: "Reasonable One" nick_title: "Medgrundare" - nick_blurb: "Motivation Guru" +# nick_blurb: "Motivation Guru" michael_title: "Programmerare" michael_blurb: "Sys Admin" matt_title: "Medgrundare" matt_blurb: "Cyklist" cat_title: "Chefshantverkare" - cat_blurb: "Airbender" +# cat_blurb: "Airbender" josh_title: "Speldesigner" - josh_blurb: "Floor Is Lava" +# josh_blurb: "Floor Is Lava" jose_title: "Musik" - jose_blurb: "Taking Off" +# jose_blurb: "Taking Off" retrostyle_title: "Illustration" retrostyle_blurb: "RetroStyle Games" -# rob_title: "Compiler Engineer" -# rob_blurb: "Codes things and stuff" -# josh_c_title: "Game Designer" -# josh_c_blurb: "Designs games" + rob_title: "Kompileringsingenjör" + rob_blurb: "Kodar saker" + josh_c_title: "Speldesigner" + josh_c_blurb: "Designar spel" # carlos_title: "Region Manager, Brazil" # carlos_blurb: "Celery Man" @@ -610,14 +618,18 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr intro_1: "CodeCombat är ett onlinespel som lär ut programmering. Eleverna skriver kod i riktiga programspråk." intro_2: "Ingen erfarenhet krävs!" free_title: "Hur mycket kostar det?" -# cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." + cost_premium_server: "CodeCombat har 5 gratisnivåer, efter det kostar det $9.99 USD per månad om du vill ha tillgång till våra mer än 190+ nivåer på våra landsspecifika servrar." free_1: "CodeCombat Basic är GRATIS! Det finns över 80 gratis nivåer som täcker alla koncept." # {change} free_2: "En månadsprenumeration ger tillgång till videogenomgångar och fler övningsnivåer." - teacher_subs_title: "Lärare får gratis prenumerationer!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." + free_3: "Innehållet i CodeCombat är uppdelat i" + free_4: "lektioner" + free_5: ". Den första lektionen är gratis och innehåller material för ungefär en timme." + free_6: "Ytterligare lektioner kan låsas upp med en engångsbetalning." + teacher_subs_title: "Lärare får gratis prenumerationer!" # {change} + teacher_subs_0: "Lärare kan testa gratis." teacher_subs_1: "Kontakta" # {change} teacher_subs_2: "för att sätta upp en gratis månadsprenumeration." # {change} -# teacher_subs_3: "to set up your subscription." + teacher_subs_3: "för att gratis testa betallektionerna." sub_includes_title: "Vad ingår i prenumerationen?" sub_includes_1: "Förutom de 80+ grundläggande nivåerna får elever med en månadsprenumeration tillgång till följande:" # {change} sub_includes_2: "60+ övningsnivåer" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -688,12 +704,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr versions: save_version_title: "Spara ny version" new_major_version: "Ny betydande version" -# submitting_patch: "Submitting Patch..." + submitting_patch: "Skickar in rättning..." cla_prefix: "För att spara ändringar måste du först godkänna vår" cla_url: "CLA" cla_suffix: "." cla_agree: "JAG GODKÄNNER" -# owner_approve: "An owner will need to approve it before your changes will become visible." + owner_approve: "En ägare måste godkänna ändringen innan den kan produktionssättas." contact: contact_us: "Kontakta CodeCombat" @@ -721,20 +737,21 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr picture_tab: "Profilbild" delete_account_tab: "Ta bort ditt konto" wrong_email: "Fel mejladress" -# wrong_password: "Wrong Password" + wrong_password: "Felaktigt lösenord" upload_picture: "Ladda upp en bild" delete_this_account: "Ta bort det här kontot för alltid" -# reset_progress_tab: "Reset All Progress" -# reset_your_progress: "Clear all your progress and start over" -# god_mode: "God Mode" + reset_progress_tab: "Återställa alla nivåer" + reset_your_progress: "Vill du återställa alla nivåer och börja om från början" + god_mode: "Allsmäktigt läge" password_tab: "Lösenord" emails_tab: "Mejladresser" admin: "Administratör" + manage_subscription: "Klicka här för att hantera din prenumeration." new_password: "Nytt lösenord" new_password_verify: "Verifiera" - type_in_email: "Skriv in din mejladress för att bekräfta borttagandet" # {change} -# type_in_email_progress: "Type in your email to confirm deleting your progress." -# type_in_password: "Also, type in your password." + type_in_email: "Skriv in din mejladress för att bekräfta borttagandet" + type_in_email_progress: "Skriv in din email för att bekräfta att du vill återställa alla nivåer och börja om från början." + type_in_password: "En sak till, skriv in ditt lösenord." email_subscriptions: "Mejlprenumerationer" email_subscriptions_none: "Inga mejlprenumerationer." email_announcements: "Meddelanden" @@ -765,13 +782,13 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr keyboard_shortcuts: "Kortkommandon" space: "Mellanslag" enter: "Enter" -# press_enter: "press enter" + press_enter: "tryck enter" escape: "Escape" shift: "Shift" run_code: "Kör nuvarande kod." run_real_time: "Kör i realtid." - continue_script: "Fortsätt förbi nuvarande skript." - skip_scripts: "Hoppa över alla skript som kan hoppas över." + continue_script: "Fortsätt förbi nuvarande kod." + skip_scripts: "Hoppa över all kod som kan hoppas över." toggle_playback: "Spela/Pausa." # scrub_playback: "Scrub back and forward through time." # single_scrub_playback: "Scrub back and forward through time by a single frame." @@ -792,7 +809,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr article_editor_prefix: "Sett ett misstag i något av våra dokument? Vill du göra instruktioner till dina egna skapelser? Ta en titt på" article_editor_suffix: "och hjälp CodeCombatspelare att få så mycket ut från sin speltid som möjligt." find_us: "Här hittar du oss" -# social_github: "Check out all our code on GitHub" + social_github: "Kolla in all vår kod på GitHub" social_blog: "Läs CodeCombatbloggen på Sett" social_discource: "Gå med i diskussionerna i vårt forum" social_facebook: "Gilla CodeCombat på Facebook" @@ -801,49 +818,50 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr social_hipchat: "Chatta med oss in det publika CodeCombat Slackrummet" contribute_to_the_project: "Bidra till projektet" -# clans: -# clan: "Clan" -# clans: "Clans" -# new_name: "New clan name" -# new_description: "New clan description" -# make_private: "Make clan private" -# subs_only: "subscribers only" -# create_clan: "Create New Clan" -# private_preview: "Preview" -# public_clans: "Public Clans" -# my_clans: "My Clans" -# clan_name: "Clan Name" -# name: "Name" + clans: + clan: "Klan" + clans: "Klaner" + new_name: "Namn på ny klan" + new_description: "Beskrivning av ny klan" + make_private: "Gör klanen privat" + subs_only: "endast följare" + create_clan: "Skapa ny klan" + private_preview: "Förhandsgranska" + public_clans: "Publik klan" + my_clans: "Mina klaner" + clan_name: "Klanens namn" + name: "Namn" # chieftain: "Chieftain" -# type: "Type" -# edit_clan_name: "Edit Clan Name" -# edit_clan_description: "Edit Clan Description" -# edit_name: "edit name" -# edit_description: "edit description" -# private: "(private)" -# summary: "Summary" -# average_level: "Average Level" + type: "Typ" + edit_clan_name: "Ändra klanens namn" + edit_clan_description: "Ändra beskrivningen av klanen" + edit_name: "ändra namn" + edit_description: "ändra beskrivning" + private: "(privat)" + summary: "Summering" + average_level: "Medelnivå" # average_achievements: "Average Achievements" -# delete_clan: "Delete Clan" -# leave_clan: "Leave Clan" -# join_clan: "Join Clan" -# invite_1: "Invite:" -# invite_2: "*Invite players to this Clan by sending them this link." -# members: "Members" -# progress: "Progress" -# not_started_1: "not started" -# started_1: "started" -# complete_1: "complete" -# exp_levels: "Expand levels" -# rem_hero: "Remove Hero" -# status: "Status" -# complete_2: "Complete" -# started_2: "Started" -# not_started_2: "Not Started" -# view_solution: "Click to view solution." -# latest_achievement: "Latest Achievement" -# playtime: "Playtime" -# last_played: "Last played" + delete_clan: "Ta bort klan" + leave_clan: "Lämna klan" + join_clan: "Gå med i klan" + invite_1: "Bjud in:" + invite_2: "*Bjud in spelare till klanen genom att skicka denna länk." + members: "Medlemmar" + progress: "Framsteg" + not_started_1: "ej påbörjad" + started_1: "påbörjad" + complete_1: "avklarad" + exp_levels: "Expandera nivåer" + rem_hero: "Ta bort hjälte" + status: "Status" + complete_2: "Avklarad" + started_2: "Påbörjad" + not_started_2: "Ej påbörjad" + view_solution: "Klicka för att se lösning." + view_attempt: "Klicka för att se försök." + latest_achievement: "Senaste prestation" + playtime: "Speltid" + last_played: "Senast spelad" # leagues_explanation: "Play in a league against other clan members in these multiplayer arena instances." # track_concepts1: "Track concepts" # track_concepts2a: "learned by each student" @@ -859,12 +877,12 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr # track_concepts8: "to join" # private_require_sub: "Private clans require a subscription to create or join." -# courses: -# course: "Course" -# courses: "courses" -# not_enrolled: "You are not enrolled in this course." -# visit_pref: "Please visit the" -# visit_suf: "page to enroll." + courses: + course: "Lektion" + courses: "lektioner" + not_enrolled: "Du är inte inskriven på denna kurs." + visit_pref: "Var vänlig besök " + visit_suf: "sidan för inskrivning." # select_class: "Select one of your classes" # unnamed: "*unnamed*" # select: "Select" @@ -965,52 +983,52 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr ambassador_summary: "Tämj forumanvändarna och hjälp dem som har frågor. Ambassadörerna representerar CodeCombat ute i världen." editor: - main_title: "CodeCombatredigerare" - article_title: "Artikelredigeraren" - thang_title: "Enhetsredigeraren" - level_title: "Nivåredigeraren" -# achievement_title: "Achievement Editor" -# poll_title: "Poll Editor" -# back: "Back" + main_title: "Redigerare: CodeCombat" + article_title: "Redigerare: Artiklar" + thang_title: "Redigerare: Enheter" + level_title: "Redigerare: Nivåer" + achievement_title: "Redigerare: Prestationer" + poll_title: "Redigerare: Omröstning" + back: "Backa" revert: "Återställ" revert_models: "Återställ modeller" -# pick_a_terrain: "Pick A Terrain" -# dungeon: "Dungeon" -# indoor: "Indoor" -# desert: "Desert" -# grassy: "Grassy" -# mountain: "Mountain" -# glacier: "Glacier" -# small: "Small" -# large: "Large" + pick_a_terrain: "Välj terräng" + dungeon: "Håla" + indoor: "Inomhus" + desert: "Öken" + grassy: "Gräs" + mountain: "Berg" + glacier: "Glaciär" + small: "Liten" + large: "Stor" # fork_title: "Fork New Version" # fork_creating: "Creating Fork..." # generate_terrain: "Generate Terrain" more: "Mer" -# wiki: "Wiki" + wiki: "Wiki" # live_chat: "Live Chat" # thang_main: "Main" # thang_spritesheets: "Spritesheets" -# thang_colors: "Colors" + thang_colors: "Färger" level_some_options: "Några inställningar?" level_tab_thangs: "Enheter" level_tab_scripts: "Skript" level_tab_settings: "Inställningar" level_tab_components: "Komponenter" level_tab_systems: "System" -# level_tab_docs: "Documentation" + level_tab_docs: "Dokumentation" level_tab_thangs_title: "Nuvarande enheter" -# level_tab_thangs_all: "All" + level_tab_thangs_all: "Alla" level_tab_thangs_conditions: "Startvillkor" level_tab_thangs_add: "Lägg till enheter" -# level_tab_thangs_search: "Search thangs" -# add_components: "Add Components" -# component_configs: "Component Configurations" -# config_thang: "Double click to configure a thang" -# delete: "Delete" -# duplicate: "Duplicate" -# stop_duplicate: "Stop Duplicate" -# rotate: "Rotate" + level_tab_thangs_search: "Sök enheter" + add_components: "Lägg till komponenter" + component_configs: "Konfigurera komponenter" + config_thang: "Dubbelklicka för att konfigurera en enhet" + delete: "Ta bort" + duplicate: "Duplicera" + stop_duplicate: "Sluta duplicera" + rotate: "Rotera" level_settings_title: "Inställningar" level_component_tab_title: "Nuvarande komponenter" level_component_btn_new: "Skapa ny komponent" @@ -1029,18 +1047,18 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr new_article_title: "Skapa ny artikel" new_thang_title: "Skapa ny enhetstyp" new_level_title: "Skapa ny nivå" -# new_article_title_login: "Log In to Create a New Article" -# new_thang_title_login: "Log In to Create a New Thang Type" -# new_level_title_login: "Log In to Create a New Level" -# new_achievement_title: "Create a New Achievement" -# new_achievement_title_login: "Log In to Create a New Achievement" -# new_poll_title: "Create a New Poll" -# new_poll_title_login: "Log In to Create a New Poll" + new_article_title_login: "Logga in för att skapa en ny artikel" + new_thang_title_login: "Logga in för att ska en ny typ av enhet" + new_level_title_login: "Logga in för att skapa en ny nivå" + new_achievement_title: "Skapa en ny prestation" + new_achievement_title_login: "Logga in för att skapa en ny prestation" + new_poll_title: "Skapa en ny omröstning" + new_poll_title_login: "Logga in för att skapa en ny omröstning" article_search_title: "Sök artiklar här" thang_search_title: "Sök enhetstyper här" level_search_title: "Sök nivåer här" -# achievement_search_title: "Search Achievements" -# poll_search_title: "Search Polls" + achievement_search_title: "Sök prestationer" + poll_search_title: "Sök röstningar" # read_only_warning2: "Note: you can't save any edits here, because you're not logged in." # no_achievements: "No achievements have been added for this level yet." # achievement_query_misc: "Key achievement off of miscellanea" diff --git a/app/locale/th.coffee b/app/locale/th.coffee index d7419d122..61889ea4c 100644 --- a/app/locale/th.coffee +++ b/app/locale/th.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "เล่น" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" editor: "Editor" blog: "บล็อก" forum: "กระดานสนทนา" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page players: "ผู้เล่น" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra years: "ปี" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "เสร็จสิ้น" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "หน้าแรก" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra victory_title_suffix: "เสร็จสิ้น" victory_sign_up: "สมัครสมาชิกเพื่ออัพเดท" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" victory_play_continue: "เล่นต่อ" victory_saving_progress: "บันทึก" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra password_tab: "รหัสผ่าน" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "รหัสผ่านใหม่" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/tr.coffee b/app/locale/tr.coffee index 520054bb4..8018660a0 100644 --- a/app/locale/tr.coffee +++ b/app/locale/tr.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t multiplayer: "Çoklu-oyuncu Kipi" # Not currently shown on home page for_developers: "Geliştiriciler için" # Not currently shown on home page. or_ipad: "Ya da iPad için indir" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Oyna" # The top nav bar entry where players choose which levels to play community: "Topluluk" +# courses: "Courses" editor: "Düzenleyici" blog: "Blog" forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t play: play_as: "Olarak Oyna" # Ladder page +# compete: "Compete!" # Course details page spectate: "İzleyici olarak katıl" # Ladder page players: "oyuncu" # Hover over a level on /play hours_played: "saat oynandı" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t years: "yıl" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Bitti" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "Anasayfa" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t victory_title_suffix: "Tamamlandı " victory_sign_up: "İlerlemeyi Kaydetmek için Kaydolun" victory_sign_up_poke: "Kodu kaydetmek ister misiniz? Ücretsiz bir hesap oluşturun!" - victory_rate_the_level: "Seviyeyi oyla:" # Only in old-style levels. + victory_rate_the_level: "Seviyeyi oyla:" # {change} victory_return_to_ladder: "Merdivene Dön" victory_play_continue: "Devam Et" victory_saving_progress: "İlerleme Kaydediliyor" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t password_tab: "Şifre" emails_tab: "E-postalar" admin: "Yönetici" +# manage_subscription: "Click here to manage your subscription." new_password: "Yeni Şifre" new_password_verify: "Teyit Et" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/uk.coffee b/app/locale/uk.coffee index f6958da9e..e7f5c7687 100644 --- a/app/locale/uk.coffee +++ b/app/locale/uk.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Українська", englishDescription: multiplayer: "Командна гра" # Not currently shown on home page for_developers: "Для розробників" # Not currently shown on home page. or_ipad: "Або завантажте на iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Грати" # The top nav bar entry where players choose which levels to play community: "Спільнота" +# courses: "Courses" editor: "Редактор" blog: "Блоґ" forum: "Форум" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Українська", englishDescription: play: play_as: "Грати за" # Ladder page +# compete: "Compete!" # Course details page spectate: "Спостерігати" # Ladder page players: "гравці" # Hover over a level on /play hours_played: "годин зіграно" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Українська", englishDescription: years: "років" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Готово" +# next_level: "Next Level:" next_game: "Наступна гра" show_menu: "Показати меню гри" home: "На головну" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Українська", englishDescription: victory_title_suffix: " завершено" victory_sign_up: "Підписатись на оновлення" victory_sign_up_poke: "Хочете отримувати останні новини на email? Створіть безкоштовний акаунт, і ми будемо тримати Вас у курсі!" - victory_rate_the_level: "Оцінити рівень: " # Only in old-style levels. + victory_rate_the_level: "Оцінити рівень: " # {change} victory_return_to_ladder: "Повернутися до таблиці рівнів" victory_play_continue: "Продовжити" victory_saving_progress: "Триває збереження прогресу" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Українська", englishDescription: parents_blurb3: "Жодного ризику: 100% гарантія повернення грошей, легке скасування абонементу одним кліком." payment_methods: "Платіжні методи" payment_methods_title: "Платіжні методи, що приймаються" - payment_methods_blurb1: "Наразі ми приймаємо кредитні картки та Alpiay." + payment_methods_blurb1: "Наразі ми приймаємо кредитні картки та Alpiay." # {change} payment_methods_blurb2: "Якщо Вам необхідно використати інший спосіб оплати, будь ласка, зв'яжіться з нами." sale_already_subscribed: "Ви вже підписалися!" - sale_blurb1: "Зекономте 35%" + sale_blurb1: "Зекономте $21" # {change} sale_blurb2: "від звичайної ціни у 120$ на рік!" sale_button: "Розпродаж!" - sale_button_title: "Збережіть 35% при покупці абонементу на 1 рік" + sale_button_title: "Збережіть $21 при покупці абонементу на 1 рік" # {change} sale_click_here: "Натисніть тут" sale_ends: "Kінець" sale_extended: "*Існуючі підписки буде продовжено на 1 рік." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Українська", englishDescription: sale_title: "Дошкільні знижки" sale_view_button: "Купити 1 рік підписки на" stripe_description: "Щомісячний абонемент" - stripe_description_year_sale: "1 рік підписки (35% знижка)" + stripe_description_year_sale: "1 рік підписки ($21 знижка)" # {change} subscription_required_to_play: "Аби грати в цьому рівні потрібен абонемент." unlock_help_videos: "Підпишіться, щоб відкрити усі навчальні відео." personal_sub: "Особистий абонемент" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Українська", englishDescription: cost_premium_server: "CodeCombat безкоштовний протягом перших п'яти рівнів, після чого він коштуватиму 9,99$ на місяць за доступ до інших наших 190+ рівнів на наших ексклюзивних серверах." free_1: "Є 110+ БЕЗКОШТОВНИХ рівнів, які охоплюють всі поняття." free_2: "Місячний абонемент надає доступ до відео-уроків і додаткових рівнів практики." - teacher_subs_title: "Вчителі отримують безкоштовні підписки!" - teacher_subs_0: "Ми пропонуємо безкоштовну передплату для тестування студентів." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "Вчителі отримують безкоштовні підписки!" # {change} + teacher_subs_0: "Ми пропонуємо безкоштовну передплату для тестування студентів." # {change} teacher_subs_1: "Будь ласка, заповніть " teacher_subs_2: "Анкету Вчителя" - teacher_subs_3: "щоб налаштувати підписку." + teacher_subs_3: "щоб налаштувати підписку." # {change} sub_includes_title: "Що входить у підписку?" sub_includes_1: "На додаток до 110+ основних рівнів, студенти з щомісячною підпискою отримають доступ до цих додаткових функцій:" sub_includes_2: "80+ рівнів практики" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Українська", englishDescription: title: "Анкета вчителя" must_be_logged: "Спочатку необхідно увійти до екаунту. Будь ласка, створіть екаунт або увійдіть через меню вгорі." retrieving: "Отримання інформації..." - being_reviewed_1: "Ваша заявка на безкоштовну пробну підписку зараз" + being_reviewed_1: "Ваша заявка на безкоштовну пробну підписку зараз" # {change} being_reviewed_2: "розглядається." - approved_1: "Вашу заявку на безкоштовну пробну підписку було" + approved_1: "Вашу заявку на безкоштовну пробну підписку було" # {change} approved_2: "схвалено." approved_3: "Подальші інструкції були вислані на" - denied_1: "Вашу заявку на безкоштовну пробну підписку було" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "Вашу заявку на безкоштовну пробну підписку було" # {change} denied_2: "відхилено." contact_1: "Будь ласка, зв'яжіться з" contact_2: ", якщо у вас залишилися питання." description_1: "Ми пропонуємо безкоштовні підписки вчителям в цілях ознайомлення. Ви можете знайти більше інформації на нашій сторінці" +# description_1b: "You can find more information on our" description_2: "вчителів" description_3: "." description_4: "Будь ласка, заповніть цю маленьку анкету і ми надішлемо вам інструкції з настановами на email." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Українська", englishDescription: password_tab: "Пароль" emails_tab: "Email-адреси" admin: "Aдмін" +# manage_subscription: "Click here to manage your subscription." new_password: "Новий пароль" new_password_verify: "Підтвердження паролю" type_in_email: "Введіть свій email, аби підтвердити вилучення екаунту." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Українська", englishDescription: started_2: "Розпочато" not_started_2: "Не розпочато" view_solution: "Натисніть аби переглянути рішення." +# view_attempt: "Click to view attempt." latest_achievement: "Останнє досягнення" playtime: "Тривалість гри" last_played: "Остання гра" diff --git a/app/locale/ur.coffee b/app/locale/ur.coffee index d13d7fe75..4ed556103 100644 --- a/app/locale/ur.coffee +++ b/app/locale/ur.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu", # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/uz.coffee b/app/locale/uz.coffee index 1ae376b39..4bf8b26ca 100644 --- a/app/locale/uz.coffee +++ b/app/locale/uz.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "O'zbekcha", englishDescription: "Uzbek", tr # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/vi.coffee b/app/locale/vi.coffee index e943ce589..dbe8857b0 100644 --- a/app/locale/vi.coffee +++ b/app/locale/vi.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn multiplayer: "Nhiều người chơi" # Not currently shown on home page for_developers: "Dành cho nhà phát triển" # Not currently shown on home page. or_ipad: "Hoặc tải phiên bản dành cho iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "Chơi" # The top nav bar entry where players choose which levels to play community: "Cộng đồng" +# courses: "Courses" editor: "Chỉnh sửa" blog: "Blog" forum: "Diễn đàn" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn play: play_as: "Chơi là" # Ladder page +# compete: "Compete!" # Course details page spectate: "Quan sát" # Ladder page players: "Những người chơi" # Hover over a level on /play hours_played: "Thời gian chơi" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn years: "năm" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "Hoàn thành" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn victory_title_suffix: " Xong" victory_sign_up: "Đăng kí để lưu tiến trình của bạn" victory_sign_up_poke: "Bạn có muốn lưu code của mình lại không ? Hãy tạo một tài khoản miễn phí!" - victory_rate_the_level: "Đánh giá màn chơi: " # Only in old-style levels. + victory_rate_the_level: "Đánh giá màn chơi: " # {change} victory_return_to_ladder: "Quay lại bảng điểm" victory_play_continue: "Tiếp tục" victory_saving_progress: "Đang lưu tiến trình" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn parents_blurb3: "Không hề có rủi ro: Nếu bạn không hài lòng bạn có thể nhận lại 100% số tiền mình bỏ ra chỉ với 1 cú nhấp chuốt." payment_methods: "Những phương thức thanh toán" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn password_tab: "Mật khẩu" emails_tab: "Emails" admin: "Admin" +# manage_subscription: "Click here to manage your subscription." new_password: "Mật khẩu mới" new_password_verify: "Xác nhận" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" @@ -1110,7 +1128,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn # diplomat_i18n_page: "translations page" # diplomat_i18n_page_suffix: ", or our interface and website on GitHub." # diplomat_join_pref_github: "Find your language locale file " - diplomat_github_url: "ở trên GitHub" + diplomat_github_url: "ở trên GitHub" # diplomat_join_suf_github: ", edit it online, and submit a pull request. Also, check this box below to keep up-to-date on new internationalization developments!" # diplomat_subscribe_desc: "Get emails about i18n developments and levels to translate." # ambassador_introduction: "This is a community we're building, and you are the connections. We've got forums, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you." diff --git a/app/locale/zh-HANS.coffee b/app/locale/zh-HANS.coffee index 7e25c0e29..55f7ec092 100644 --- a/app/locale/zh-HANS.coffee +++ b/app/locale/zh-HANS.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese multiplayer: "多人游戏" # Not currently shown on home page for_developers: "适合开发者" # Not currently shown on home page. or_ipad: "或下载iPad版本" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "关卡选择" # The top nav bar entry where players choose which levels to play community: "社区" +# courses: "Courses" editor: "编辑器" blog: "博客" forum: "论坛" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese play: play_as: "扮演" # Ladder page +# compete: "Compete!" # Course details page spectate: "旁观他人的游戏" # Ladder page players: "玩家" # Hover over a level on /play hours_played: "游戏时长" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese years: "年" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "完成" +# next_level: "Next Level:" next_game: "下一场游戏" show_menu: "显示游戏菜单" home: "主页" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese victory_title_suffix: " 完成" victory_sign_up: "保存进度" victory_sign_up_poke: "想保存您的代码?创建一个免费账户吧!" - victory_rate_the_level: "评估关卡:" # Only in old-style levels. + victory_rate_the_level: "评估关卡:" # {change} victory_return_to_ladder: "返回" victory_play_continue: "继续游戏" victory_saving_progress: "保存进度" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese parents_blurb3: "无风险承诺:100%退款,一键取消订阅。" payment_methods: "付费方式" payment_methods_title: "可接受的付款方式" - payment_methods_blurb1: "我们现有的付费方式有信用卡和支付宝" + payment_methods_blurb1: "我们现有的付费方式有信用卡和支付宝" # {change} payment_methods_blurb2: "如果您想用其他付费方式,请联系我们" sale_already_subscribed: "您已经订阅!" - sale_blurb1: "和正常一年的订阅价格 $120 相比" - sale_blurb2: "年费订阅能节省 35%!" + sale_blurb1: "和正常一年的订阅价格 $120 相比" # {change} + sale_blurb2: "年费订阅能节省 $21!" sale_button: "促销" - sale_button_title: "年费订阅能节省 35% 的费用" + sale_button_title: "年费订阅能节省 $21 的费用" # {change} sale_click_here: "点击这里" sale_ends: "结束" sale_extended: "*已订阅用户会续期一年。" @@ -455,7 +463,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese sale_title: "开学促销" sale_view_button: "购买年费订阅:" stripe_description: "每月订阅" - stripe_description_year_sale: "年费订阅 (优惠 35%)" + stripe_description_year_sale: "年费订阅 (优惠 $21)" # {change} subscription_required_to_play: "订阅后才可开始本关" unlock_help_videos: "订阅后才可以解锁视频教学哦!" personal_sub: "个人订阅" # Accounts Subscription View below @@ -601,9 +609,9 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese rob_title: "编译器工程师" rob_blurb: "编代码之类的" josh_c_title: "游戏设计师" - josh_c_blurb: "设计游戏" # or what + josh_c_blurb: "设计游戏" carlos_title: "地区经理, 巴西" - carlos_blurb: "食草男" # unless you have a better one for "celery man" + carlos_blurb: "食草男" teachers: more_info: "教师的说明" @@ -613,11 +621,15 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese cost_premium_server: "CodeCombat的前5个关卡是免费的,在这之后需花费每月9.99美元来访问我们架设专属服务器上的190多个关卡。" free_1: "有110多个覆盖了所有理论的免费关卡。" free_2: "包月订阅可以访问视频教程和额外的练习关卡。" - teacher_subs_title: "教师可免费订阅!" - teacher_subs_0: "我们可为教师提供用于评估的免费订阅。" +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "教师可免费订阅!" # {change} + teacher_subs_0: "我们可为教师提供用于评估的免费订阅。" # {change} teacher_subs_1: "请填写我们的" teacher_subs_2: "教师调查" - teacher_subs_3: "建立您的订阅。" + teacher_subs_3: "建立您的订阅。" # {change} sub_includes_title: "订阅里包含了什么内容?" sub_includes_1: "除了110+个基础关卡,学生包月订阅还可以使用这些附加功能:" sub_includes_2: "超过70个练习关卡" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese title: "教师调查" must_be_logged: "您需要先登陆。请先注册或者在上方的目录中点击登陆。" retrieving: "检索信息中..." - being_reviewed_1: "您的免费订阅试用申请正在" + being_reviewed_1: "您的免费订阅试用申请正在" # {change} being_reviewed_2: "审核。" - approved_1: "您的免费订阅试用申请已被" + approved_1: "您的免费订阅试用申请已被" # {change} approved_2: "批准。" approved_3: "进一步的说明已被送往" - denied_1: "您的免费订阅试用申请已被" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "您的免费订阅试用申请已被" # {change} denied_2: "拒绝。" contact_1: "如果你有进一步的问题, 请联系" contact_2: "。" description_1: "我们可为教师提供用于评估的免费订阅。你可以在我们的" +# description_1b: "You can find more information on our" description_2: "教师" description_3: "页面找到更多的信息。" description_4: "请填写此简单问卷,我们将会向您的电子邮件发送设置说明。" @@ -730,6 +746,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese password_tab: "密码" emails_tab: "邮件" admin: "管理" +# manage_subscription: "Click here to manage your subscription." new_password: "新密码" new_password_verify: "再次输入密码" type_in_email: "输入您的邮箱地址" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese started_2: "已开始" not_started_2: "还没开始" view_solution: "点击查阅答案。" +# view_attempt: "Click to view attempt." latest_achievement: "最新成就" playtime: "游戏时间" last_played: "最后玩了" diff --git a/app/locale/zh-HANT.coffee b/app/locale/zh-HANT.coffee index 9c97a5649..d0a8637e1 100644 --- a/app/locale/zh-HANT.coffee +++ b/app/locale/zh-HANT.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese multiplayer: "多人連線" # Not currently shown on home page for_developers: "開發者專區" # Not currently shown on home page. or_ipad: "或下載 iPad 版" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "返回地圖" # The top nav bar entry where players choose which levels to play community: "社群" +# courses: "Courses" editor: "編輯" blog: "官方部落格" forum: "論壇" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese play: play_as: "扮演" # Ladder page +# compete: "Compete!" # Course details page spectate: "旁觀" # Ladder page players: "玩家" # Hover over a level on /play hours_played: "小時已玩" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese years: "年" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "完成" +# next_level: "Next Level:" next_game: "下一個遊戲" show_menu: "顯示遊戲菜單" home: "首頁" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese victory_title_suffix: "完成" victory_sign_up: "保存進度" victory_sign_up_poke: "想保存您的程式碼?建立一個免費帳號吧!" - victory_rate_the_level: "評估關卡: " # Only in old-style levels. + victory_rate_the_level: "評估關卡: " # {change} victory_return_to_ladder: "返回升級比賽模式" victory_play_continue: "繼續" victory_saving_progress: "儲存進度" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese parents_blurb3: "沒有風險: 保證 100% 退費, 一步取消訂閱。" payment_methods: "付費方法" payment_methods_title: "可接受的付款方式" - payment_methods_blurb1: "我們現有的付費方式有信用卡和支付寶" + payment_methods_blurb1: "我們現有的付費方式有信用卡和支付寶" # {change} payment_methods_blurb2: "如果您想用其他付費方式,請聯繫我們" sale_already_subscribed: "您已經訂閱!" - sale_blurb1: "和正常一年的訂閱價格 $120 相比" - sale_blurb2: "年費訂閱能節省 35%!" + sale_blurb1: "和正常一年的訂閱價格 $120 相比" # {change} + sale_blurb2: "年費訂閱能節省 $21!" sale_button: "促銷!" - sale_button_title: "年費訂閱能節省 35% 的費用" + sale_button_title: "年費訂閱能節省 $21 的費用" # {change} sale_click_here: "點擊這裡" sale_ends: "結束" sale_extended: "*已訂閱用戶會續期一年。" @@ -455,7 +463,7 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese sale_title: "開學促銷" sale_view_button: "購買年費訂閱:" stripe_description: "每月訂閱" - stripe_description_year_sale: "年費訂閱 (35% 優惠)" + stripe_description_year_sale: "年費訂閱 ($21 優惠)" # {change} subscription_required_to_play: "您將需要訂閱來開啟這關。" unlock_help_videos: "訂閱來解開所有鎖住得教學影片。" personal_sub: "個人訂閱" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese cost_premium_server: "CodeCombat的前5個關卡在中國是免費的,在這之後需花費每月9.99美元來訪問我們架設在中國專屬服務器上的190多個關卡。" free_1: "有110多個覆蓋了所有理論的免費關卡。" free_2: "包月訂閱可以訪問視頻教程和額外的練習關卡。" - teacher_subs_title: "教師可免費訂閱!" - teacher_subs_0: "我們可為教師提供用於評估的免費訂閱。" +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." + teacher_subs_title: "教師可免費訂閱!" # {change} + teacher_subs_0: "我們可為教師提供用於評估的免費訂閱。" # {change} teacher_subs_1: "請聯繫" teacher_subs_2: "教師調查" - teacher_subs_3: "建立您的訂閱。" + teacher_subs_3: "建立您的訂閱。" # {change} sub_includes_title: "訂閱裡包含了什麼內容?" sub_includes_1: "除了110+個基礎關卡,學生包月訂閱還可以使用這些附加功能:" sub_includes_2: "超過70個練習關卡" # {change} @@ -661,16 +673,20 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese title: "教師調查" must_be_logged: "您需要先登入。請先註冊或者在上方的目錄中點擊登入。" retrieving: "檢索信息中..." - being_reviewed_1: "您的免費訂閱試用申請正在" + being_reviewed_1: "您的免費訂閱試用申請正在" # {change} being_reviewed_2: "審核。" - approved_1: "您的免費訂閱試用申請已被" + approved_1: "您的免費訂閱試用申請已被" # {change} approved_2: "批准。" approved_3: "進一步的說明已被送往" - denied_1: "您的免費訂閱試用申請已被" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." + denied_1: "您的免費訂閱試用申請已被" # {change} denied_2: "拒絕。" contact_1: "請聯繫" contact_2: "如果您有更多的疑問。" description_1: "我們為教師提供免費訂閱用評估的目的。您可以找到更多的信息在我們的" +# description_1b: "You can find more information on our" description_2: "教師" description_3: "頁面。" description_4: "請填寫此簡單問卷,我們將會向您的電子郵件發送設置說明。" @@ -730,6 +746,7 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese password_tab: "密碼" emails_tab: "郵件" admin: "管理員" +# manage_subscription: "Click here to manage your subscription." new_password: "新密碼" new_password_verify: "確認密碼" type_in_email: "輸入您的Email來確認刪除" @@ -841,6 +858,7 @@ module.exports = nativeDescription: "繁體中文", englishDescription: "Chinese started_2: "已開始" not_started_2: "尚未開始" view_solution: "點擊查閱答案。" +# view_attempt: "Click to view attempt." latest_achievement: "最新成就" playtime: "遊戲時間" last_played: "最後玩了" diff --git a/app/locale/zh-WUU-HANS.coffee b/app/locale/zh-WUU-HANS.coffee index b8d040fb5..9a529d6b4 100644 --- a/app/locale/zh-WUU-HANS.coffee +++ b/app/locale/zh-WUU-HANS.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # multiplayer: "Multiplayer" # Not currently shown on home page # for_developers: "For Developers" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" # nav: # play: "Levels" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" # editor: "Editor" # blog: "Blog" # forum: "Forum" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # play: # play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page # spectate: "Spectate" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # years: "years" # play_level: +# completed_level: "Completed Level:" +# course: "Course:" # done: "Done" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" # home: "Home" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # victory_title_suffix: " Complete" # victory_sign_up: "Sign Up to Save Progress" # victory_sign_up_poke: "Want to save your code? Create a free account!" -# victory_rate_the_level: "Rate the level: " # Only in old-style levels. +# victory_rate_the_level: "How fun was this level?" # victory_return_to_ladder: "Return to Ladder" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # password_tab: "Password" # emails_tab: "Emails" # admin: "Admin" +# manage_subscription: "Click here to manage your subscription." # new_password: "New Password" # new_password_verify: "Verify" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/locale/zh-WUU-HANT.coffee b/app/locale/zh-WUU-HANT.coffee index 7b7895bdb..b93375063 100644 --- a/app/locale/zh-WUU-HANT.coffee +++ b/app/locale/zh-WUU-HANT.coffee @@ -12,10 +12,14 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio multiplayer: "聚隊打遊戲" # Not currently shown on home page for_developers: "適合開發個人" # Not currently shown on home page. # or_ipad: "Or download for iPad" +# hoc_class_code: "I Have a Class Code" +# hoc_enter: "Enter" +# hoc_title: "Hour of Code?" nav: play: "遊戲開來" # The top nav bar entry where players choose which levels to play # community: "Community" +# courses: "Courses" editor: "編寫器" blog: "部落格" forum: "論壇" @@ -50,6 +54,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio play: play_as: "Play As" # Ladder page +# compete: "Compete!" # Course details page spectate: "望別人攪遊戲" # Ladder page # players: "players" # Hover over a level on /play # hours_played: "hours played" # Hover over a level on /play @@ -216,7 +221,10 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio # years: "years" play_level: +# completed_level: "Completed Level:" +# course: "Course:" done: "妝下落" +# next_level: "Next Level:" # next_game: "Next game" # show_menu: "Show game menu" home: "主頁" # Not used any more, will be removed soon. @@ -245,7 +253,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio victory_title_suffix: "妝下落" victory_sign_up: "存檔進度" victory_sign_up_poke: "想存檔爾個代碼?造一個免費賬號起!" - victory_rate_the_level: "箇關評價:" # Only in old-style levels. + victory_rate_the_level: "箇關評價:" # {change} victory_return_to_ladder: "走轉" # victory_play_continue: "Continue" # victory_saving_progress: "Saving Progress" @@ -436,13 +444,13 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio # parents_blurb3: "No Risk: 100% money back guarantee, easy 1-click unsubscribe." # payment_methods: "Payment Methods" # payment_methods_title: "Accepted Payment Methods" -# payment_methods_blurb1: "We currently accept credit cards and Alipay." +# payment_methods_blurb1: "We currently accept credit cards and Alipay. You can also PayPal 29.97 USD to nick@codecombat.com with your account email in the memo to purchase three months' subscription and gems, or $99 for a year." # payment_methods_blurb2: "If you require an alternate form of payment, please contact" # sale_already_subscribed: "You're already subscribed!" -# sale_blurb1: "Save 35%" +# sale_blurb1: "Save $21" # sale_blurb2: "off regular subscription price of $120 for a whole year!" # sale_button: "Sale!" -# sale_button_title: "Save 35% when you purchase a 1 year subscription" +# sale_button_title: "Save $21 when you purchase a 1 year subscription" # sale_click_here: "Click Here" # sale_ends: "Ends" # sale_extended: "*Existing subscriptions will be extended by 1 year." @@ -455,7 +463,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio # sale_title: "Back to School Sale" # sale_view_button: "Buy 1 year subscription for" # stripe_description: "Monthly Subscription" -# stripe_description_year_sale: "1 Year Subscription (35% discount)" +# stripe_description_year_sale: "1 Year Subscription ($21 discount)" # subscription_required_to_play: "You'll need a subscription to play this level." # unlock_help_videos: "Subscribe to unlock all video tutorials." # personal_sub: "Personal Subscription" # Accounts Subscription View below @@ -613,11 +621,15 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio # cost_premium_server: "CodeCombat is free for the first five levels, after which it costs $9.99 USD per month for access to our other 190+ levels on our exclusive country-specific servers." # free_1: "There are 110+ FREE levels which cover every concept." # free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_0: "We offer free subscriptions to teachers for evaluation purposes." +# free_3: "The CodeCombat content is divided into" +# free_4: "courses" +# free_5: ". The first course is free, and about an hour of material." +# free_6: "Access to the additional courses can be unlocked with a one-time purchase." +# teacher_subs_title: "Teachers get a free trial!" +# teacher_subs_0: "We offer free trials to teachers." # teacher_subs_1: "Please fill out our" # teacher_subs_2: "Teacher Survey" -# teacher_subs_3: "to set up your subscription." +# teacher_subs_3: "to try out the paid courses." # sub_includes_title: "What is included in the subscription?" # sub_includes_1: "In addition to the 110+ basic levels, students with a monthly subscription get access to these additional features:" # sub_includes_2: "80+ practice levels" @@ -661,16 +673,20 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio # title: "Teacher Survey" # must_be_logged: "You must be logged in first. Please create an account or log in from the menu above." # retrieving: "Retrieving information..." -# being_reviewed_1: "Your application for a free trial subscription is being" +# being_reviewed_1: "Your application for a free trial is being" # being_reviewed_2: "reviewed." -# approved_1: "Your application for a free trial subscription was" +# approved_1: "Your application for a free trial was" # approved_2: "approved." # approved_3: "Further instructions have been sent to" -# denied_1: "Your application for a free trial subscription has been" +# approved_4: "Enroll your students on the" +# approved_5: "courses" +# approved_6: "page." +# denied_1: "Your application for a free trial has been" # denied_2: "denied." # contact_1: "Please contact" # contact_2: "if you have further questions." -# description_1: "We offer free subscriptions to teachers for evaluation purposes. You can find more information on our" +# description_1: "We offer free trials to teachers. You will be given 2 free enrollments which can be used to enroll students in paid courses." +# description_1b: "You can find more information on our" # description_2: "teachers" # description_3: "page." # description_4: "Please fill out this quick survey and we’ll email you setup instructions." @@ -730,6 +746,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio password_tab: "密碼" emails_tab: "電子信" admin: "管理" +# manage_subscription: "Click here to manage your subscription." new_password: "新密碼" new_password_verify: "覈實" # type_in_email: "Type in your email to confirm account deletion." @@ -841,6 +858,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio # started_2: "Started" # not_started_2: "Not Started" # view_solution: "Click to view solution." +# view_attempt: "Click to view attempt." # latest_achievement: "Latest Achievement" # playtime: "Playtime" # last_played: "Last played" diff --git a/app/models/SuperModel.coffee b/app/models/SuperModel.coffee index 8da29ea70..f381bdfd1 100644 --- a/app/models/SuperModel.coffee +++ b/app/models/SuperModel.coffee @@ -199,7 +199,6 @@ module.exports = class SuperModel extends Backbone.Model @progress = newProg @trigger('update-progress', @progress) @trigger('loaded-all') if @finished() - Backbone.Mediator.publish 'supermodel:load-progress-changed', progress: @progress setMaxProgress: (@maxProgress) -> resetProgress: -> @progress = 0 diff --git a/app/schemas/models/achievement.coffee b/app/schemas/models/achievement.coffee index c0cd52bc0..ae863f0ff 100644 --- a/app/schemas/models/achievement.coffee +++ b/app/schemas/models/achievement.coffee @@ -19,7 +19,7 @@ MongoFindQuerySchema = title: 'Query' type: 'object' patternProperties: - '^[-a-zA-Z0-9.]*$': + '^[-a-zA-Z0-9._]*$': anyOf: [ {$ref: '#/definitions/mongoQueryOperator'}, {type: 'string'} diff --git a/app/schemas/subscriptions/god.coffee b/app/schemas/subscriptions/god.coffee index 6fb79fca1..de6f0c606 100644 --- a/app/schemas/subscriptions/god.coffee +++ b/app/schemas/subscriptions/god.coffee @@ -27,13 +27,16 @@ worldUpdatedEventSchema = c.object {required: ['world', 'firstWorld', 'goalState finished: {type: 'boolean'} module.exports = - 'god:user-code-problem': c.object {required: ['problem']}, + 'god:user-code-problem': c.object {required: ['problem', 'god']}, + god: {type: 'object'} problem: {type: 'object'} - 'god:non-user-code-problem': c.object {required: ['problem']}, + 'god:non-user-code-problem': c.object {required: ['problem', 'god']}, + god: {type: 'object'} problem: {type: 'object'} - 'god:infinite-loop': c.object {required: ['firstWorld']}, + 'god:infinite-loop': c.object {required: ['firstWorld', 'god']}, + god: {type: 'object'} firstWorld: {type: 'boolean'} nonUserCodeProblem: {type: 'boolean'} @@ -41,17 +44,21 @@ module.exports = 'god:streaming-world-updated': worldUpdatedEventSchema - 'god:goals-calculated': c.object {required: ['goalStates']}, + 'god:goals-calculated': c.object {required: ['goalStates', 'god']}, + god: {type: 'object'} goalStates: goalStatesSchema preload: {type: 'boolean'} overallStatus: {type: ['string', 'null'], enum: ['success', 'failure', 'incomplete', null]} - 'god:world-load-progress-changed': c.object {required: ['progress']}, + 'god:world-load-progress-changed': c.object {required: ['progress', 'god']}, + god: {type: 'object'} progress: {type: 'number', minimum: 0, maximum: 1} - 'god:debug-world-load-progress-changed': c.object {required: ['progress']}, + 'god:debug-world-load-progress-changed': c.object {required: ['progress', 'god']}, + god: {type: 'object'} progress: {type: 'number', minimum: 0, maximum: 1} - 'god:debug-value-return': c.object {required: ['key']}, + 'god:debug-value-return': c.object {required: ['key', 'god']}, + god: {type: 'object'} key: {type: 'string'} value: {} diff --git a/app/schemas/subscriptions/misc.coffee b/app/schemas/subscriptions/misc.coffee index 3a43ab4ab..c94a1a67d 100644 --- a/app/schemas/subscriptions/misc.coffee +++ b/app/schemas/subscriptions/misc.coffee @@ -48,9 +48,6 @@ module.exports = session: {type: 'object'} level: {type: 'object'} - 'supermodel:load-progress-changed': c.object {required: ['progress']}, - progress: {type: 'number', minimum: 0, maximum: 1} - 'buy-gems-modal:update-products': { } 'buy-gems-modal:purchase-initiated': c.object {required: ['productID']}, diff --git a/app/schemas/subscriptions/tome.coffee b/app/schemas/subscriptions/tome.coffee index 7840b6e95..d2e2d1acc 100644 --- a/app/schemas/subscriptions/tome.coffee +++ b/app/schemas/subscriptions/tome.coffee @@ -7,13 +7,14 @@ module.exports = preload: {type: 'boolean'} realTime: {type: 'boolean'} - 'tome:cast-spells': c.object {title: 'Cast Spells', description: 'Published when spells are cast', required: ['spells', 'preload', 'realTime', 'submissionCount', 'flagHistory', 'difficulty']}, - spells: [type: 'object'] - preload: [type: 'boolean'] - realTime: [type: 'boolean'] - submissionCount: [type: 'integer'] - flagHistory: [type: 'array'] - difficulty: [type: 'integer'] + 'tome:cast-spells': c.object {title: 'Cast Spells', description: 'Published when spells are cast', required: ['spells', 'preload', 'realTime', 'submissionCount', 'flagHistory', 'difficulty', 'god']}, + spells: {type: 'object'} + preload: {type: 'boolean'} + realTime: {type: 'boolean'} + submissionCount: {type: 'integer'} + flagHistory: {type: 'array'} + difficulty: {type: 'integer'} + god: {type: 'object'} 'tome:manual-cast': c.object {title: 'Manually Cast Spells', description: 'Published when you wish to manually recast all spells', required: []}, realTime: {type: 'boolean'} diff --git a/app/styles/home.sass b/app/styles/home.sass index d3dddd9f6..32d67e486 100644 --- a/app/styles/home.sass +++ b/app/styles/home.sass @@ -3,6 +3,29 @@ #home-view + #hour-of-code + top: 632px + height: 190px + width: 400px + padding: 15px + border: 0 + background: transparent url(/images/pages/play/level-info-background.png) no-repeat center center + background-size: 100% 100% + + @media screen and ( max-height: 800px ) + top: 382px + h1 + color: rgb(255,253,149) + text-shadow: 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black, 0 0 6px black,0 0 6px black,0 0 6px black,0 0 6px black + .btn-class-code + float: left + margin-left: 10px + margin-top: 10px + .btn-enter + float: right + margin-right: 10px + margin-top: 10px + #kids-coding-container $coding-image-size: 272px position: relative @@ -29,8 +52,8 @@ height: 626px @media screen and ( max-height: 800px ) height: 510px - - #play-button, #or-ipad, #apple-store-button, #slogan, .alert, #news + + #play-button, #or-ipad, #apple-store-button, #slogan, .alert, #news, #hour-of-code, #alternate-play-button text-align: center text-transform: uppercase font-weight: bold @@ -40,7 +63,7 @@ left: 0 right: 0 font-weight: bold - + #play-button text-align: center padding-top: 170px @@ -52,15 +75,15 @@ height: 219px @media screen and ( max-height: 800px ) top: 78px - + background-image: url(/images/pages/home/play_button.png) background-position: 0 219px - + &:hover background-position: 0 0 color: rgb(230,180,75) text-decoration: none - + #or-ipad top: 540px color: rgb(119,101,84) @@ -69,7 +92,13 @@ @media screen and ( max-height: 800px ) top: 310px - + + #alternate-play-button + top: 570px + + @media screen and ( max-height: 800px ) + top: 330px + #apple-store-button top: 593px height: 63px @@ -114,18 +143,6 @@ top: 213px border: 5px solid darkred - &.hour-of-code - #site-footer - background-color: rgb(70, 58, 44) - height: 185px - - .hour-of-code-explanation - color: #9e8777 - text-align: center - - a - color: lighten(#0b63bc, 10%) - body[lang='ru'], body[lang^='de'], body[lang^='pt-BR'], body[lang='pl'], body[lang='tr'], body[lang^='nl'], body[lang^='cs'], body[lang^='sv'], body[lang^='el'], body[lang^='hu'], body[lang^='bg'] #home-view #slogan font-size: 22px diff --git a/app/styles/play/ladder/play_modal.sass b/app/styles/play/ladder/play_modal.sass index 95805da4d..85e169c68 100644 --- a/app/styles/play/ladder/play_modal.sass +++ b/app/styles/play/ladder/play_modal.sass @@ -1,3 +1,6 @@ +@import "app/styles/mixins" +@import "app/styles/bootstrap/variables" + #ladder-play-modal #noob-view p font-size: 30px @@ -18,21 +21,23 @@ background: white border-radius: 8px position: relative - -webkit-transition: opacity 0.3s ease-in-out - -moz-transition: opacity 0.3s ease-in-out - -ms-transition: opacity 0.3s ease-in-out - -o-transition: opacity 0.3s ease-in-out - transition: opacity 0.3s ease-in-out + @include transition(opacity 0.3s ease-in-out, margin 0.1s linear, box-shadow 0.1s linear) .only-one opacity: 0 + box-shadow: 2px 2px 4px black + #normal-view:hover .play-option opacity: 0.4 .play-option:hover opacity: 1 + box-shadow: 4px 4px 6px black + margin-left: -2px + margin-top: -2px + margin-bottom: 17px .only-one opacity: 1 diff --git a/app/styles/play/level/duel-stats-view.sass b/app/styles/play/level/duel-stats-view.sass index 8ab0ef9b5..de2db4a89 100644 --- a/app/styles/play/level/duel-stats-view.sass +++ b/app/styles/play/level/duel-stats-view.sass @@ -38,7 +38,7 @@ &.team-humans padding-right: 10px - .player-power + .player-power, .player-gold margin-right: 5px &.team-ogres @@ -52,7 +52,7 @@ .player-name text-align: right - .player-power + .player-power, .player-gold margin-left: 5px flex-direction: row-reverse text-align: right @@ -85,14 +85,14 @@ max-width: 130px $iconSize: 16px - .health-icon, .power-icon + .health-icon, .power-icon, .gold-icon display: inline-block width: $iconSize height: $iconSize background: transparent url(/images/level/hud_info_icons.png) no-repeat background-size: auto $iconSize - .player-health, .player-power + .player-health, .player-power, .player-gold height: 50% display: flex flex-direction: row @@ -122,37 +122,21 @@ vertical-align: top .player-power - + .power-icon margin-top: 4px background-position: (-5 * $iconSize) 0px - + .power-value min-width: 20px margin: 0px 5px - - //&.team-humans .team-gold - // color: hsla(4,80%,51%,1) - // - //&.team-ogres .team-gold - // color: hsla(205,100%,51%,1) - // - //.team-gold - // font-size: 1.4vw - // line-height: 1.4vw - // margin: 0 - // color: hsla(205,0%,51%,1) - // display: inline-block - // padding: 0px 4px - // - // img - // width: 1.2vw - // height: 1.2vw - // border-radius: 2px - // padding: 0.1vw - // margin-top: -0.2vw - // margin-right: 0.1vw - // - // .gold-amount - // display: inline-block - // min-width: 20px + + .player-gold + + .gold-icon + margin-top: 4px + background-position: (-8 * $iconSize) 0px + + .gold-value + min-width: 20px + margin: 0px 5px diff --git a/app/styles/play/level/modal/hero-victory-modal.sass b/app/styles/play/level/modal/hero-victory-modal.sass index e35953e5f..692eef2bf 100644 --- a/app/styles/play/level/modal/hero-victory-modal.sass +++ b/app/styles/play/level/modal/hero-victory-modal.sass @@ -25,9 +25,9 @@ margin-top: -130px #victory-header display: none - + //- Header - + .background-wrapper //background: url("/images/pages/play/level/modal/victory_modal_background.png") width: 750px @@ -57,10 +57,10 @@ text-align: center background: transparent url(/images/pages/play/level/modal/victory_hero.png) no-repeat background-position: center -88px - + &.out @include scale(0) - + #victory-title display: inline-block margin-top: 74px @@ -73,14 +73,14 @@ margin: 0 padding: 0 text-shadow: black 8px 8px 0, black -8px -8px 0, black 8px -8px 0, black -8px 8px 0, black 8px 0px 0, black 0px -8px 0, black -8px 0px 0, black 0px 8px 0 - + //- Achievement panels - + .modal-body padding: 0 20px min-height: 30px margin-top: 160px - + .achievement-panel background: transparent url("/images/pages/play/level/modal/victory_modal_shelf.png") no-repeat center 73px width: 824px @@ -127,9 +127,9 @@ top: 0 @include flexbox() @include flex-justify-center() - + //- Reward panels - + .reward-panel background: url("/images/pages/play/level/modal/reward_plate.png") width: 77px @@ -167,10 +167,10 @@ @include scale(0) @include transition-duration(0.5s) - + &.show @include scale(1) - + &.pending-reward-image img -webkit-filter: brightness(2000%) contrast(25%) @@ -202,7 +202,7 @@ white-space: nowrap overflow: hidden text-overflow: ellipsis - + //- Pulse effect +keyframes(rewardPulse) @@ -222,7 +222,7 @@ .gems .pulse @include animation(rewardPulse 0.25s infinite) - + //- Footer - totals @@ -282,7 +282,7 @@ margin-top: 3px position: relative float: left - + .xp-bar-already-achieved background-color: rgb(166, 213, 88) //background-color: white @@ -290,7 +290,7 @@ height: 100% position: absolute z-index: 1 - + .xp-bar-total background-color: rgb(253, 171, 45) border: 1px solid rgb(239, 177, 73) @@ -300,13 +300,13 @@ //- Footer - other stuff - + .modal-footer // Negative bottom margin counteracts most of the extra the border image height. margin: 0 0 -80px 0 padding: 0 20px text-align: center - + .sign-up-poke width: 430px @@ -328,7 +328,7 @@ line-height: 30px margin: 0 float: left - + .leaderboard-button, .courses-button height: 60px line-height: 30px @@ -403,6 +403,26 @@ font-family: $headings-font-family text-shadow: black 2px 2px 0, black -2px -2px 0, black 2px -2px 0, black -2px 2px 0, black 2px 0px 0, black 0px -2px 0, black -2px 0px 0, black 0px 2px 0 + .level-title + z-index: 1 + margin: 10px + font-size: 24px + color: $hero-yellow-text + font-weight: bold + text-transform: uppercase + font-family: $headings-font-family + text-shadow: black 2px 2px 0, black -2px -2px 0, black 2px -2px 0, black -2px 2px 0, black 2px 0px 0, black 0px -2px 0, black -2px 0px 0, black 0px 2px 0 + + .level-name + z-index: 1 + text-align: center + font-size: 18px + color: white + font-weight: bold + text-transform: uppercase + font-family: $headings-font-family + text-shadow: black 2px 2px 0, black -2px -2px 0, black 2px -2px 0, black -2px 2px 0, black 2px 0px 0, black 0px -2px 0, black -2px 0px 0, black 0px 2px 0 + #level-feedback color: $hero-yellow-text font-weight: bold diff --git a/app/styles/play/level/tome/cast_button.sass b/app/styles/play/level/tome/cast_button.sass index 44392ab9e..c137d9c9e 100644 --- a/app/styles/play/level/tome/cast_button.sass +++ b/app/styles/play/level/tome/cast_button.sass @@ -99,7 +99,10 @@ &.submit-button font-size: 16px - &.winnable + &.winnable .btn.btn-illustrated.cast-button + font-size: 16px + + &.winnable.has-seen-winning-replay .btn.btn-illustrated &.submit-button, &.done-button @@ -111,8 +114,6 @@ &:active border-image: url(/images/level/code_toolbar_submit_button_zazz_pressed.png) 14 20 20 20 fill round - &.cast-button - font-size: 16px html.no-borderimage #cast-button-view .btn.btn-illustrated diff --git a/app/styles/play/level/tome/spell_palette_entry.sass b/app/styles/play/level/tome/spell_palette_entry.sass index f93194b80..9c0604229 100644 --- a/app/styles/play/level/tome/spell_palette_entry.sass +++ b/app/styles/play/level/tome/spell_palette_entry.sass @@ -60,6 +60,8 @@ body:not(.dialogue-view-active) border-image: url(/images/level/popover_border_background.png) 16 12 fill round border-width: 16px 12px @include box-shadow(0 0 0 #000) + // Prevent flickering in weird scenarios where popover goes over its own property + pointer-events: none // Jiggle animation // TODO: consolidate with problem_alert.sass jiggle diff --git a/app/styles/play/menu/guide-view.sass b/app/styles/play/menu/guide-view.sass index 25ce5b57b..675c72dbb 100644 --- a/app/styles/play/menu/guide-view.sass +++ b/app/styles/play/menu/guide-view.sass @@ -54,6 +54,10 @@ color: white #guide-view + + &.has-tabs + margin-top: -40px + pre.ace_editor padding: 2px 4px border-radius: 4px @@ -63,3 +67,7 @@ .ace_cursor, .ace_bracket display: none + + .tab-content + img + max-width: 100% diff --git a/app/templates/account/account-settings-view.jade b/app/templates/account/account-settings-view.jade index b4d203557..cabc1d8c9 100644 --- a/app/templates/account/account-settings-view.jade +++ b/app/templates/account/account-settings-view.jade @@ -26,6 +26,15 @@ else .form-group.checkbox label(for="godmode", data-i18n="account_settings.god_mode") God Mode input#godmode(name="godmode", type="checkbox", checked=godmode) + if me.hasSubscription() + .form-group + label(data-i18n="account.subscription") + br + span.spr ✓ + span(data-i18n="account.active") + span.spr= '.' + // TODO: show better summary states, like active, subscribed, free, and active until. + a(href="/account/subscription", data-i18n="account_settings.manage_subscription") .panel.panel-default diff --git a/app/templates/account/subscription-sale-view.jade b/app/templates/account/subscription-sale-view.jade index eace2dfe3..1f32bc8d6 100644 --- a/app/templates/account/subscription-sale-view.jade +++ b/app/templates/account/subscription-sale-view.jade @@ -20,16 +20,18 @@ block content if state === 'purchasing' .alert.alert-info(data-i18n="account_invoices.purchasing") else - div.sale-ends - if new Date() < saleEndDate - span.spr(data-i18n="subscribe.sale_ends") - span #{moment(saleEndDate).fromNow()} - else - span(data-i18n="subscribe.sale_limited_time") - h1.center(data-i18n="subscribe.sale_title") - p.center - img(src="/images/pages/account/subscription/teacher-banner.png") - br + if view.onSale + div.sale-ends + if new Date() < saleEndDate + span.spr(data-i18n="subscribe.sale_ends") + span #{moment(saleEndDate).fromNow()} + else + span(data-i18n="subscribe.sale_limited_time") + if view.onSale + h1.center(data-i18n="subscribe.sale_title") + p.center + img(src="/images/pages/account/subscription/teacher-banner.png") + br .above-blurb p.sale-blurb strong.spr(data-i18n="subscribe.sale_blurb1") diff --git a/app/templates/courses/course-details.jade b/app/templates/courses/course-details.jade index 6a15383ba..36f96d48b 100644 --- a/app/templates/courses/course-details.jade +++ b/app/templates/courses/course-details.jade @@ -256,7 +256,7 @@ mixin progress-members-popup-started(i, level, session) span.spr(data-i18n="clans.last_played") span #{moment(session.get('changed')).format('MMMM Do YYYY, h:mm:ss a')} if adminMode - strong(data-i18n="clans.view_solution") + strong(data-i18n="clans.view_attempt") mixin levels-tab table.table.table-striped.table-condensed diff --git a/app/templates/home-view.jade b/app/templates/home-view.jade index 84f2d4b34..1c7c20b0e 100644 --- a/app/templates/home-view.jade +++ b/app/templates/home-view.jade @@ -8,7 +8,11 @@ block append site_nav block outer_content #spacer - a#play-button(href="/play", data-i18n="[html]home.play") + a#play-button(href=view.playURL, data-i18n="[html]home.play") + + if view.alternatePlayURL + #alternate-play-button + a.btn.btn-illustrated.btn-primary(href=view.alternatePlayURL, data-i18n=view.alternatePlayText) //a(href="https://itunes.apple.com/us/app/codecombat/id936523909?mt=8") // #or-ipad(data-i18n="home.or_ipad") @@ -16,11 +20,18 @@ block outer_content //a(href="https://itunes.apple.com/us/app/codecombat/id936523909?mt=8") // img(src="/images/pages/home/app_store_badge.svg")#apple-store-button - // Example of how to throw down a temporary news link - //#news - // a(href="/play/ladder/ace-of-coders", data-i18n="temp.ace_of_coders_tournament") New: play in the Ace of Coders tournament now! - - #slogan(data-i18n="home.slogan") + //- Example of how to throw down a temporary news link + //- #news + //- a(href="/play/ladder/ace-of-coders", data-i18n="temp.ace_of_coders_tournament") New: play in the Ace of Coders tournament now! + + //- TODO: Delete HoC section and replace with slogan below + #hour-of-code + h1(data-i18n="home.hoc_title") + div + a.btn.btn-illustrated.btn-lg.btn-primary.btn-class-code(href='/courses/students', data-i18n="home.hoc_class_code") + a.btn.btn-illustrated.btn-lg.btn-success.btn-enter(href='/hoc', data-i18n="home.hoc_enter") + + //- #slogan(data-i18n="home.slogan") //- TODO: This does not work on IE8 .alert.alert-danger.lt-ie9 diff --git a/app/templates/play/ladder/ladder-tab-view.jade b/app/templates/play/ladder/ladder-tab-view.jade index a5ee56927..065344c0b 100644 --- a/app/templates/play/ladder/ladder-tab-view.jade +++ b/app/templates/play/ladder/ladder-tab-view.jade @@ -30,8 +30,8 @@ if level.get('type', true) == 'hero-ladder' td.hero-portrait-cell(style="background-image: url(/file/db/thang.type/#{(session.get('heroConfig') || {}).thangType || '529ffbf1cf1818f2be000001'}/portrait.png)") td.rank-cell= rank + 1 - td.score-cell= Math.round(sessionStats.totalScore * 100) - td(class='name-col-cell' + ((new RegExp('(Simple|Shaman|Brawler|Chieftain|Thoktar) AI')).test(session.get('creatorName')) ? ' ai' : ''))= session.get('creatorName') || "Anonymous" + td.score-cell= Math.round((sessionStats.totalScore || session.get('totalScore') / 2) * 100) + td(class='name-col-cell' + ((new RegExp('(Simple|Shaman|Brawler|Chieftain|Thoktar) CPU')).test(session.get('creatorName')) ? ' ai' : ''))= session.get('creatorName') || "Anonymous" td.age-cell= moment(session.get('submitDate')).fromNow().replace('a few ', '') td.fight-cell a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}" + (league ? "&league=" + league.id : "")) @@ -50,8 +50,8 @@ if level.get('type', true) == 'hero-ladder' td.hero-portrait-cell(style="background-image: url(/file/db/thang.type/#{(session.get('heroConfig') || {}).thangType || '529ffbf1cf1818f2be000001'}/portrait.png)") td.rank-cell= session.rank - td.score-cell= Math.round(sessionStats.totalScore * 100) - td(class='name-col-cell' + ((new RegExp('(Simple|Shaman|Brawler|Chieftain|Thoktar) AI')).test(session.get('creatorName')) ? ' ai' : ''))= session.get('creatorName') || "Anonymous" + td.score-cell= Math.round((sessionStats.totalScore || session.get('totalScore') / 2) * 100) + td(class='name-col-cell' + ((new RegExp('(Simple|Shaman|Brawler|Chieftain|Thoktar) CPU')).test(session.get('creatorName')) ? ' ai' : ''))= session.get('creatorName') || "Anonymous" td.age-cell= moment(session.get('submitDate')).fromNow().replace('a few ', '') td.fight-cell a(href="/play/level/#{level.get('slug') || level.id}?team=#{team.otherTeam}&opponent=#{session.id}" + (league ? "&league=" + league.id : "")) diff --git a/app/templates/play/ladder/play_modal.jade b/app/templates/play/ladder/play_modal.jade index 175ccc658..84063c62b 100644 --- a/app/templates/play/ladder/play_modal.jade +++ b/app/templates/play/ladder/play_modal.jade @@ -5,11 +5,12 @@ block modal-header-content block modal-body-content - h4.language-selection(data-i18n="ladder.select_your_language") Select your language! - .form-group.select-group - select#tome-language(name="language") - for option in languages - option(value=option.id selected=(language === option.id))= option.name + if view.level.get('type') != 'course-ladder' + h4.language-selection(data-i18n="ladder.select_your_language") Select your language! + .form-group.select-group + select#tome-language(name="language") + for option in languages + option(value=option.id selected=(language === option.id))= option.name div#noob-view.secret a(href="/play/level/#{levelID}-tutorial" + (league ? "?league=" + league.id : "")).btn.btn-success.btn-block.btn-lg @@ -33,7 +34,7 @@ block modal-body-content div.my-name.name-label.only-one span= myName div.opponent-name.name-label - span(data-i18n="ladder.simple_ai") Simple AI + span(data-i18n="ladder.simple_ai") //span.code-language(style="background-image: url(/images/common/code_languages/javascript_small.png)") div.difficulty span(data-i18n="ladder.warmup") Warmup diff --git a/app/templates/play/level/duel-stats-view.jade b/app/templates/play/level/duel-stats-view.jade index f1d57d0c0..c37aa0eb9 100644 --- a/app/templates/play/level/duel-stats-view.jade +++ b/app/templates/play/level/duel-stats-view.jade @@ -1,21 +1,22 @@ -for player in players +for player in view.players div(class="player-container team-" + player.team) .player-portrait .thang-avatar-placeholder .player-info .name-and-power - .player-power - .power-icon - .power-value + if view.showsPower + .player-power + .power-icon + .power-value + if view.showsGold + .player-gold + .gold-icon + .gold-value .player-name= player.name || 'Anoner' .player-health .health-icon .health-bar-container .health-bar .health-value - //.player-gold - // .team-gold - // img(src="/images/level/gold_icon.png", alt="", draggable="false") - // .gold-amount diff --git a/app/templates/play/level/modal/hero-victory-modal.jade b/app/templates/play/level/modal/hero-victory-modal.jade index f46ea0d9d..ba5188fa1 100644 --- a/app/templates/play/level/modal/hero-victory-modal.jade +++ b/app/templates/play/level/modal/hero-victory-modal.jade @@ -11,6 +11,23 @@ block modal-body-content if victoryText #victory-text= victoryText + if isCourseLevel + if currentCourseName + p + span.spr.level-title(data-i18n="play_level.course") + span.level-name= currentCourseName + .container-fluid + .row + .col-md-6 + if currentLevelName + .level-title(data-i18n="play_level.completed_level") + .level-name= currentLevelName.replace('Course: ', '') + .col-md-6 + if nextLevelName + .level-title(data-i18n="play_level.next_level") + .level-name= nextLevelName.replace('Course: ', '') + br + #level-feedback div.rating.secret div.rating-label(data-i18n="play_level.victory_rate_the_level") Rate the level: diff --git a/app/templates/play/level/tome/cast_button.jade b/app/templates/play/level/tome/cast_button.jade index 1a5d923fd..137611995 100644 --- a/app/templates/play/level/tome/cast_button.jade +++ b/app/templates/play/level/tome/cast_button.jade @@ -11,3 +11,7 @@ if !observing button.btn.btn-lg.btn-illustrated.btn-success.done-button.secret span(data-i18n="play_level.done") Done + + if view.autoSubmitsToLadder + .hidden + .ladder-submission-view diff --git a/app/templates/play/menu/guide-view.jade b/app/templates/play/menu/guide-view.jade index a30740bb2..5c2407796 100644 --- a/app/templates/play/menu/guide-view.jade +++ b/app/templates/play/menu/guide-view.jade @@ -1,6 +1,6 @@ if docs.length === 1 if showVideo - h3(id='help-video-heading', data-i18n="game_menu.guide_video_tutorial") + h3#help-video-heading(data-i18n="game_menu.guide_video_tutorial") if videoLocked p(data-i18n="subscribe.unlock_help_videos") Subscribe to unlock all video tutorials. button.start-subscription-button.btn.btn-lg.btn-success(data-i18n="subscribe.subscribe_title") Subscribe @@ -12,9 +12,19 @@ if docs.length === 1 else ul.nav.nav-tabs + if showVideo + li + a(data-target="#docs_tab_help_video", data-toggle="tab", data-i18n="game_menu.guide_video_tutorial") for doc in docs li a(data-target="#docs_tab_#{doc.slug}", data-toggle="tab") #{doc.name} div.tab-content + if showVideo + div.tab-pane(id="docs_tab_help_video") + if videoLocked + p(data-i18n="subscribe.unlock_help_videos") Subscribe to unlock all video tutorials. + button.start-subscription-button.btn.btn-lg.btn-success(data-i18n="subscribe.subscribe_title") Subscribe + else + div(id="help-video-player") for doc in docs div.tab-pane(id="docs_tab_#{doc.slug}")!= doc.html diff --git a/app/templates/teachers.jade b/app/templates/teachers.jade index 5587358d1..1264e96cd 100644 --- a/app/templates/teachers.jade +++ b/app/templates/teachers.jade @@ -6,17 +6,10 @@ block content p strong Hi Teachers! p We're excited to participate in Hour of Code this year! - p We've set up an Introduction to Computer Science course, just for you. p - strong How to use CodeCombat with your students: - ol - li - span.spr Navigate to the - a(href='/courses/teachers?hoc=true') Courses - span.spl page - li Click the green 'Get FREE course' button under Introduction to Computer Science - li Follow the enrollment instructions - li Add students via the 'Add Students' tab + span.spr Navigate to the + a(href='/courses/teachers?hoc=true') CodeCombat Courses + span.spl page to get started. p span.spr If you have any problems, please email a(href='mailto:team@codecombat.com') team@codecombat.com @@ -25,144 +18,27 @@ block content h2(data-i18n="teachers.more_info") p(data-i18n="teachers.intro_1") p(data-i18n="teachers.intro_2") - + h3(data-i18n="teachers.free_title") - if me.isOnPremiumServer() - p(data-i18n="teachers.cost_premium_server") - else - p(data-i18n="teachers.free_1") - p(data-i18n="teachers.free_2") - + p + span.spr(data-i18n="teachers.free_3") + a(href='/courses', data-i18n="teachers.free_4") + span(data-i18n="teachers.free_5") + p(data-i18n="teachers.free_6") + p + span.spr For more details, please email + a(href='mailto:team@codecombat.com') team@codecombat.com + h3.teachers-title(data-i18n="teachers.teacher_subs_title") + p + strong.spr Hour of Code Special! + span Complete the survey by December 31st and enroll all your students in the paid courses for 2 months. p(data-i18n="teachers.teacher_subs_0") p span.spr(data-i18n="teachers.teacher_subs_1") a(href='/teachers/freetrial', data-i18n="teachers.teacher_subs_2") span.spl(data-i18n="teachers.teacher_subs_3") - h3(data-i18n="teachers.sub_includes_title") - p(data-i18n="teachers.sub_includes_1") - ul - li(data-i18n="teachers.sub_includes_2") - li(data-i18n="teachers.sub_includes_3") - li(data-i18n="teachers.sub_includes_4") - li(data-i18n="teachers.sub_includes_5") - li(data-i18n="teachers.sub_includes_6") - li(data-i18n="teachers.sub_includes_7") - - h3(data-i18n="teachers.who_for_title") - p(data-i18n="teachers.who_for_1") - p(data-i18n="teachers.who_for_2") - - h3(data-i18n="teachers.monitor_progress_title") - p - span.spr(data-i18n="teachers.monitor_progress_1") - a(href='/clans', data-i18n="clans.clan") - span.spl(data-i18n="teachers.monitor_progress_2") - p - span.spr(data-i18n="teachers.monitor_progress_3") - a(href='/clans', data-i18n="clans.clans") - span.spl(data-i18n="teachers.monitor_progress_4") - p(data-i18n="teachers.monitor_progress_5") - h4(data-i18n="teachers.sub_includes_7") - ul - li - strong(data-i18n="clans.track_concepts1") - span.spl(data-i18n="clans.track_concepts2a") - li(data-i18n="clans.track_concepts3a") - li - span(data-i18n="clans.track_concepts4a") - strong.spl(data-i18n="clans.track_concepts5") - li(data-i18n="clans.track_concepts6a") - li - strong(data-i18n="clans.track_concepts7") - span.spl(data-i18n="clans.track_concepts8") - p - img(src='/images/pages/clans/dashboard_preview.png' height='400') - p - span.spr(data-i18n="teachers.private_clans_2") - a(href='/clans', data-i18n="clans.clan") - span(data-i18n="teachers.private_clans_3") - p(data-i18n="clans.private_require_sub") - - h3(data-i18n="teachers.material_title") - if me.isOnPremiumServer() - p(data-i18n="teachers.material_premium_server") - else - p(data-i18n="teachers.material_1") - - h3(data-i18n="teachers.concepts_title") - - //- TODO: i18n for concepts? - - table.table.table-condensed.concepts-table - thead - tr - th - a(href='/play/dungeon') Kithgard Dungeon - th - a(href='/play/forest') Backwoods Forest - th - a(href='/play/desert') Sarven Desert - th - a(href='/play/mountain') Cloudrip Mountain - tbody - tr - td Basic Syntax - td If Statements - td Arithmetic - td Object Literals - tr - td Methods - td Relational Operators - td While Loops - td For Loops - tr - td Parameters - td Object Properties - td Break Statements - td Functions - tr - td Strings - td Input Handling - td Arrays - td Drawing - tr - td Loops - td - td String Comparison - td Modulo - tr - td Variables - td - td Finding Min/Max - td - - h3(data-i18n="teachers.how_much_title") - p - span(data-i18n="teachers.how_much_1") - span.spr.spl - a(href='/account/subscription', data-i18n="teachers.how_much_2") - span.spr.spl(data-i18n="teachers.how_much_3") - p - span.spr(data-i18n="teachers.how_much_5") - a(href='mailto:team@codecombat.com') team@codecombat.com - span.spl(data-i18n="teachers.how_much_6") - p(data-i18n="teachers.how_much_4") - h4 - a(href='/account/subscription', data-i18n="subscribe.group_discounts") - p(data-i18n="subscribe.group_discounts_1") - table.table.table-condensed.discount-table - tr - td(data-i18n="subscribe.group_discounts_1st") - td(data-i18n="subscribe.group_discounts_full") - tr - td(data-i18n="subscribe.group_discounts_2nd") - td(data-i18n="subscribe.group_discounts_20") - tr - td(data-i18n="subscribe.group_discounts_12th") - td(data-i18n="subscribe.group_discounts_40") - h3(data-i18n="teachers.more_info_title") p span.spr(data-i18n="teachers.more_info_1") diff --git a/app/views/HomeView.coffee b/app/views/HomeView.coffee index 7255d3c2d..2fd1f1af5 100644 --- a/app/views/HomeView.coffee +++ b/app/views/HomeView.coffee @@ -13,9 +13,16 @@ module.exports = class HomeView extends RootView window.tracker?.trackEvent 'Homepage Loaded', category: 'Homepage' if @getQueryVariable 'hour_of_code' application.router.navigate "/hoc", trigger: true + if @justPlaysCourses() + @playURL = '/courses' + @alternatePlayURL = '/play' + @alternatePlayText = 'home.play_campaign_version' + else + @playURL = '/play' onClickPlayButton: (e) -> @playSound 'menu-button-click' + return if @playURL isnt '/play' e.preventDefault() e.stopImmediatePropagation() window.tracker?.trackEvent 'Click Play', category: 'Homepage' @@ -33,3 +40,7 @@ module.exports = class HomeView extends RootView else console.warn 'no more jquery browser version...' return false + + justPlaysCourses: -> + # This heuristic could be better, but currently we don't add to me.get('courseInstances') for single-player anonymous intro courses, so they have to beat a level without choosing a hero. + return me.get('stats')?.gamesCompleted and not me.get('heroConfig') diff --git a/app/views/TeachersView.coffee b/app/views/TeachersView.coffee index f6445d9d7..718cbe09f 100644 --- a/app/views/TeachersView.coffee +++ b/app/views/TeachersView.coffee @@ -4,9 +4,3 @@ template = require 'templates/teachers' module.exports = class TeachersView extends RootView id: 'teachers-view' template: template - - constructor: -> - super() - _.defer -> - # Redirect to HoC version of /courses/teachers until we update the /teachers landing page - application.router.navigate "/courses/teachers?hoc=true", trigger: true diff --git a/app/views/account/SubscriptionSaleView.coffee b/app/views/account/SubscriptionSaleView.coffee index 3ae5a45e4..442d1d1c5 100644 --- a/app/views/account/SubscriptionSaleView.coffee +++ b/app/views/account/SubscriptionSaleView.coffee @@ -10,8 +10,9 @@ utils = require 'core/utils' module.exports = class SubscriptionSaleView extends RootView id: "subscription-sale-view" template: template - yearSaleAmount: 7900 + yearSaleAmount: 9900 saleEndDate: new Date('2015-09-05') + onSale: false events: 'click #pay-button': 'onPayButton' diff --git a/app/views/contribute/DiplomatView.coffee b/app/views/contribute/DiplomatView.coffee index e18565b53..b7654d27f 100644 --- a/app/views/contribute/DiplomatView.coffee +++ b/app/views/contribute/DiplomatView.coffee @@ -100,7 +100,7 @@ module.exports = class DiplomatView extends ContributeClassView fr: ['Anon', 'Armaldio', 'ChrisLightman', 'Elfisen', 'Feugy', 'MartinDelille', 'Oaugereau', 'Xeonarno', 'dc55028', 'jaybi', 'pstweb', 'veritable', 'xavismeh'] # français, French ja: ['Coderaulic', 'g1itch', 'kengos', 'treby'] # 日本語, Japanese ar: ['5y', 'ahmed80dz'] # العربية, Arabic - 'pt-BR': ['Bia41', 'Gutenberg Barros', 'Kieizroe', 'Matthew Burt', 'brunoporto', 'cassiocardoso', 'jklemm'] # português do Brasil, Portuguese (Brazil) + 'pt-BR': ['Bia41', 'Gutenberg Barros', 'Kieizroe', 'Matthew Burt', 'brunoporto', 'cassiocardoso', 'jklemm', 'Arkhad'] # português do Brasil, Portuguese (Brazil) 'pt-PT': ['Imperadeiro98', 'Matthew Burt', 'ProgramadorLucas', 'ReiDuKuduro', 'batista', 'gutierri'] # Português (Portugal), Portuguese (Portugal) pl: ['Anon', 'Kacper Ciepielewski', 'TigroTigro', 'kvasnyk'] # język polski, Polish it: ['AlessioPaternoster', 'flauta', 'Atomk'] # italiano, Italian diff --git a/app/views/core/AuthModal.coffee b/app/views/core/AuthModal.coffee index 7a5845bdf..4266ec672 100644 --- a/app/views/core/AuthModal.coffee +++ b/app/views/core/AuthModal.coffee @@ -42,6 +42,7 @@ module.exports = class AuthModal extends ModalView afterRender: -> super() @$el.toggleClass('signup', @mode is 'signup').toggleClass('login', @mode is 'login') + @playSound 'game-menu-open' afterInsert: -> super() @@ -155,3 +156,7 @@ module.exports = class AuthModal extends ModalView el.i18n() @$el.find('.modal-body:visible').empty().append(el) @$el.find('.modal-footer').remove() + + onHidden: -> + super() + @playSound 'game-menu-close' diff --git a/app/views/core/SubscribeModal.coffee b/app/views/core/SubscribeModal.coffee index b7df3798e..bae424228 100644 --- a/app/views/core/SubscribeModal.coffee +++ b/app/views/core/SubscribeModal.coffee @@ -12,7 +12,7 @@ module.exports = class SubscribeModal extends ModalView product: amount: 999 planID: 'basic' - yearAmount: 7900 + yearAmount: 9900 subscriptions: 'stripe:received-token': 'onStripeReceivedToken' diff --git a/app/views/courses/TeacherCoursesView.coffee b/app/views/courses/TeacherCoursesView.coffee index 516c0d170..a628376b6 100644 --- a/app/views/courses/TeacherCoursesView.coffee +++ b/app/views/courses/TeacherCoursesView.coffee @@ -162,7 +162,7 @@ module.exports = class TeacherCoursesView extends RootView user = @usersToRedeem.first() - prepaid = @prepaids.find((prepaid) -> prepaid.get('properties').endDate? and prepaid.openSpots()) + prepaid = @prepaids.find((prepaid) -> prepaid.get('properties')?.endDate? and prepaid.openSpots()) prepaid = @prepaids.find((prepaid) -> prepaid.openSpots()) unless prepaid $.ajax({ method: 'POST' diff --git a/app/views/editor/level/thangs/ThangsTabView.coffee b/app/views/editor/level/thangs/ThangsTabView.coffee index c1f816928..afc1e3047 100644 --- a/app/views/editor/level/thangs/ThangsTabView.coffee +++ b/app/views/editor/level/thangs/ThangsTabView.coffee @@ -209,6 +209,7 @@ module.exports = class ThangsTabView extends CocoView thangTypes: @supermodel.getModels(ThangType) showInvisible: true frameRate: 15 + levelType: @level.get 'type', true } @surface.playing = false @surface.setWorld @world diff --git a/app/views/ladder/LadderTabView.coffee b/app/views/ladder/LadderTabView.coffee index 0ce004143..12db1fc3f 100644 --- a/app/views/ladder/LadderTabView.coffee +++ b/app/views/ladder/LadderTabView.coffee @@ -280,7 +280,10 @@ module.exports = class LadderTabView extends CocoView consolidateFriends: -> allFriendSessions = (@facebookFriendSessions or []).concat(@gplusFriendSessions or []) sessions = _.uniq allFriendSessions, false, (session) -> session._id - sessions = _.sortBy sessions, 'totalScore' + if @options.league + sessions = _.sortBy sessions, (session) -> _.find(session.leagues, leagueID: @options.league.id)?.stats.totalScore ? (session.totalScore / 2) + else + sessions = _.sortBy sessions, 'totalScore' sessions.reverse() sessions diff --git a/app/views/play/CampaignView.coffee b/app/views/play/CampaignView.coffee index 9fc857ea5..8392bffd1 100644 --- a/app/views/play/CampaignView.coffee +++ b/app/views/play/CampaignView.coffee @@ -104,14 +104,6 @@ module.exports = class CampaignView extends RootView @listenTo me, 'change:earned', -> @renderSelectors('#gems-count') @listenTo me, 'change:heroConfig', -> @updateHero() window.tracker?.trackEvent 'Loaded World Map', category: 'World Map', label: @terrain - - # If it's a new player who didn't appear to come from Hour of Code, we register her here without setting the hourOfCode property. - # TODO: get rid of all this sometime in November 2015 when code.org/learn updates to the new version for Hour of Code tutorials. - elapsed = (new Date() - new Date(me.get('dateCreated'))) - if not trackedHourOfCode and not me.get('hourOfCode') and elapsed < 5 * 60 * 1000 - $('body').append($('')) - trackedHourOfCode = true - @requiresSubscription = not me.isPremium() destroy: -> diff --git a/app/views/play/SpectateView.coffee b/app/views/play/SpectateView.coffee index ec11d5e05..e40acf0d8 100644 --- a/app/views/play/SpectateView.coffee +++ b/app/views/play/SpectateView.coffee @@ -176,7 +176,7 @@ module.exports = class SpectateLevelView extends RootView ctx.fillText("Loaded #{@modelsLoaded} thingies",50,50) insertSubviews: -> - @insertSubView @tome = new TomeView levelID: @levelID, session: @session, otherSession: @otherSession, thangs: @world.thangs, supermodel: @supermodel, spectateView: true, spectateOpponentCodeLanguage: @otherSession?.get('submittedCodeLanguage'), level: @level + @insertSubView @tome = new TomeView levelID: @levelID, session: @session, otherSession: @otherSession, thangs: @world.thangs, supermodel: @supermodel, spectateView: true, spectateOpponentCodeLanguage: @otherSession?.get('submittedCodeLanguage'), level: @level, god: @god @insertSubView new PlaybackView session: @session, level: @level @insertSubView new GoldView {} @@ -187,7 +187,7 @@ module.exports = class SpectateLevelView extends RootView # callbacks onInfiniteLoop: (e) -> - return unless e.firstWorld + return unless e.firstWorld and e.god is @god @openModalView new InfiniteLoopModal() window.tracker?.trackEvent 'Saw Initial Infinite Loop', level: @world.name, label: @world.name @@ -196,7 +196,7 @@ module.exports = class SpectateLevelView extends RootView initSurface: -> webGLSurface = $('canvas#webgl-surface', @$el) normalSurface = $('canvas#normal-surface', @$el) - @surface = new Surface @world, normalSurface, webGLSurface, thangTypes: @supermodel.getModels(ThangType), playJingle: not @isEditorPreview, spectateGame: true, playerNames: @findPlayerNames() + @surface = new Surface @world, normalSurface, webGLSurface, thangTypes: @supermodel.getModels(ThangType), spectateGame: true, playerNames: @findPlayerNames(), levelType: @level.get('type', true) worldBounds = @world.getBounds() bounds = [{x:worldBounds.left, y:worldBounds.top}, {x:worldBounds.right, y:worldBounds.bottom}] @surface.camera.setBounds(bounds) diff --git a/app/views/play/level/DuelStatsView.coffee b/app/views/play/level/DuelStatsView.coffee index ea9f843e7..506331e31 100644 --- a/app/views/play/level/DuelStatsView.coffee +++ b/app/views/play/level/DuelStatsView.coffee @@ -15,7 +15,7 @@ module.exports = class DuelStatsView extends CocoView template: template subscriptions: - #'surface:gold-changed': 'onGoldChanged' + 'surface:gold-changed': 'onGoldChanged' 'god:new-world-created': 'onNewWorld' 'god:streaming-world-updated': 'onNewWorld' 'surface:frame-changed': 'onFrameChanged' @@ -29,13 +29,10 @@ module.exports = class DuelStatsView extends CocoView team: if options.session.get('team') is 'humans' then 'ogres' else 'humans' heroConfig: options.session.get('heroConfig') }[prop] - #@teamGold = {} - #@teamGoldEarned = {} - - getRenderData: (c) -> - c = super c - c.players = @players = (@formatPlayer team for team in ['humans', 'ogres']) - c + @showsGold = options.level.get('slug') in ['wakka-maul'] + @showsPower = options.level.get('slug') not in ['wakka-maul', 'dueling-grounds', 'cavern-survival', 'multiplayer-treasure-grove'] + @teamGold = {} + @players = (@formatPlayer team for team in ['humans', 'ogres']) formatPlayer: (team) -> p = team: team @@ -69,7 +66,7 @@ module.exports = class DuelStatsView extends CocoView for player in @players thang = _.find @options.thangs, id: @avatars[player.team].thang.id @updateHealth thang - @updatePower() + @updatePower() if @showsPower updateHealth: (thang) -> $health = @$find thang.team, '.player-health' @@ -101,21 +98,8 @@ module.exports = class DuelStatsView extends CocoView avatar.destroy() for team, avatar of @avatars ? {} super() - #onGoldChanged: (e) -> - # return if @teamGold[e.team] is e.gold and @teamGoldEarned[e.team] is e.goldEarned - # @teamGold[e.team] = e.gold - # @teamGoldEarned[e.team] = e.goldEarned - # goldEl = @$find e.team, '.gold-amount' - # text = '' + e.gold - # if e.goldEarned and e.goldEarned > e.gold - # text += " (#{e.goldEarned})" - # goldEl.text text - # @updateTitle() - # - #updateTitle: -> - # for team, gold of @teamGold - # if @teamGoldEarned[team] - # title = "Team '#{team}' has #{gold} now of #{@teamGoldEarned[team]} gold earned." - # else - # title = "Team '#{team}' has #{gold} gold." - # @$find(team, '.player-gold').attr 'title', title + onGoldChanged: (e) -> + return unless @showsGold + return if @teamGold[e.team] is e.gold + @teamGold[e.team] = e.gold + utils.replaceText @$find(e.team, '.gold-value'), '' + e.gold diff --git a/app/views/play/level/LevelDialogueView.coffee b/app/views/play/level/LevelDialogueView.coffee index 207bc12b1..125f38a62 100644 --- a/app/views/play/level/LevelDialogueView.coffee +++ b/app/views/play/level/LevelDialogueView.coffee @@ -68,13 +68,16 @@ module.exports = class LevelDialogueView extends CocoView else s = $.i18n.t('play_level.hud_continue_short', defaultValue: 'Continue') sk = $.i18n.t('play_level.skip_tutorial', defaultValue: 'skip: esc') - if not @escapePressed + if not @escapePressed and not @isFullScreen() group.append('' + sk + '') group.append($('')) @lastResponses = null @animator = new DialogueAnimator(message, @bubble) @messageInterval = setInterval(@addMoreMessage, 1000 / 30) # 30 FPS + isFullScreen: -> + document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen + addMoreMessage: => if @animator.done() clearInterval(@messageInterval) diff --git a/app/views/play/level/LevelLoadingView.coffee b/app/views/play/level/LevelLoadingView.coffee index 86607e56c..8c0f37b05 100644 --- a/app/views/play/level/LevelLoadingView.coffee +++ b/app/views/play/level/LevelLoadingView.coffee @@ -44,12 +44,14 @@ module.exports = class LevelLoadingView extends CocoView @$el.addClass('manually-sized').css('height', newHeight) onLevelLoaded: (e) -> + return if @level @level = e.level @prepareGoals e @prepareTip() @prepareIntro() onSessionLoaded: (e) -> + return if @session @session = e.session if e.session.get('creator') is me.id prepareGoals: (e) -> @@ -158,7 +160,7 @@ module.exports = class LevelLoadingView extends CocoView if @intro $intro = @$el.find('.intro-doc') $intro.css height: minHeight - $intro.offset().top - @$el.find('.progress-or-start-container').outerHeight() - 30 - 20 - $intro.find('.nano').nanoScroller alwaysVisible: true + _.defer -> $intro.find('.nano').nanoScroller alwaysVisible: true unveilWings: (duration) -> @playSound 'loading-view-unveil', 0.5 diff --git a/app/views/play/level/PlayLevelView.coffee b/app/views/play/level/PlayLevelView.coffee index 779e257d2..de62fc9ee 100644 --- a/app/views/play/level/PlayLevelView.coffee +++ b/app/views/play/level/PlayLevelView.coffee @@ -19,6 +19,7 @@ LevelComponent = require 'models/LevelComponent' Article = require 'models/Article' Camera = require 'lib/surface/Camera' AudioPlayer = require 'lib/AudioPlayer' +Simulator = require 'lib/simulator/Simulator' # subviews LevelLoadingView = require './LevelLoadingView' @@ -49,7 +50,7 @@ module.exports = class PlayLevelView extends RootView isEditorPreview: false subscriptions: - 'level:set-volume': (e) -> createjs.Sound.setVolume(if e.volume is 1 then 0.6 else e.volume) # Quieter for now until individual sound FX controls work again. + 'level:set-volume': 'onSetVolume' 'level:show-victory': 'onShowVictory' 'level:restart': 'onRestartLevel' 'level:highlight-dom': 'onHighlightDOM' @@ -139,11 +140,11 @@ module.exports = class PlayLevelView extends RootView trackLevelLoadEnd: -> return if @isEditorPreview @loadEndTime = new Date() - loadDuration = @loadEndTime - @loadStartTime - console.debug "Level unveiled after #{(loadDuration / 1000).toFixed(2)}s" + @loadDuration = @loadEndTime - @loadStartTime + console.debug "Level unveiled after #{(@loadDuration / 1000).toFixed(2)}s" unless @observing - application.tracker?.trackEvent 'Finished Level Load', category: 'Play Level', label: @levelID, level: @levelID, loadDuration: loadDuration - application.tracker?.trackTiming loadDuration, 'Level Load Time', @levelID, @levelID + application.tracker?.trackEvent 'Finished Level Load', category: 'Play Level', label: @levelID, level: @levelID, loadDuration: @loadDuration + application.tracker?.trackTiming @loadDuration, 'Level Load Time', @levelID, @levelID # CocoView overridden methods ############################################### @@ -195,6 +196,7 @@ module.exports = class PlayLevelView extends RootView @worldLoadFakeResources.push @supermodel.addSomethingResource "world_simulation_#{percent}%", 1 onWorldLoadProgressChanged: (e) -> + return unless e.god is @god return unless @worldLoadFakeResources @lastWorldLoadPercent ?= 0 worldLoadPercent = Math.floor 100 * e.progress @@ -240,11 +242,11 @@ module.exports = class PlayLevelView extends RootView @god.setGoalManager @goalManager insertSubviews: -> - @insertSubView @tome = new TomeView levelID: @levelID, session: @session, otherSession: @otherSession, thangs: @world.thangs, supermodel: @supermodel, level: @level, observing: @observing, courseID: @courseID, courseInstanceID: @courseInstanceID + @insertSubView @tome = new TomeView levelID: @levelID, session: @session, otherSession: @otherSession, thangs: @world.thangs, supermodel: @supermodel, level: @level, observing: @observing, courseID: @courseID, courseInstanceID: @courseInstanceID, god: @god @insertSubView new LevelPlaybackView session: @session, level: @level @insertSubView new GoalsView {} @insertSubView new LevelFlagsView levelID: @levelID, world: @world if @$el.hasClass 'flags' - @insertSubView new GoldView {} + @insertSubView new GoldView {} unless @level.get('slug') in ['wakka-maul'] @insertSubView new HUDView {level: @level} @insertSubView new LevelDialogueView {level: @level, sessionID: @session.id} @insertSubView new ChatView levelID: @levelID, sessionID: @session.id, session: @session @@ -273,6 +275,7 @@ module.exports = class PlayLevelView extends RootView # Load Completed Setup ###################################################### onSessionLoaded: (e) -> + return if @session Backbone.Mediator.publish "ipad:language-chosen", language: e.session.get('codeLanguage') ? "python" # Just the level and session have been loaded by the level loader if e.level.get('slug') is 'zero-sum' @@ -283,9 +286,12 @@ module.exports = class PlayLevelView extends RootView else if e.level.get('slug') is 'ace-of-coders' goliath = '55e1a6e876cb0948c96af9f8' e.session.set 'heroConfig', {"thangType":goliath,"inventory":{"eyes":"53eb99f41a100989a40ce46e","neck":"54693274a2b1f53ce79443c9","wrists":"54693797a2b1f53ce79443e9","feet":"546d4d8e9df4a17d0d449acd","minion":"54eb5bf649fa2d5c905ddf4a","programming-book":"557871261ff17fef5abee3ee"}} + else if e.level.get('slug') is 'assembly-speed' + raider = '55527eb0b8abf4ba1fe9a107' + e.session.set 'heroConfig', {"thangType":raider,"inventory":{}} else if e.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop'] and not _.size e.session.get('heroConfig')?.inventory ? {} @setupManager?.destroy() - @setupManager = new LevelSetupManager({supermodel: @supermodel, level: @level, levelID: @levelID, parent: @, session: @session, courseID: @courseID, courseInstanceID: @courseInstanceID}) + @setupManager = new LevelSetupManager({supermodel: @supermodel, level: e.level, levelID: @levelID, parent: @, session: e.session, courseID: @courseID, courseInstanceID: @courseInstanceID}) @setupManager.open() @onRealTimeMultiplayerLevelLoaded e.session if e.level.get('type') in ['hero-ladder', 'course-ladder'] @@ -318,7 +324,7 @@ module.exports = class PlayLevelView extends RootView initSurface: -> webGLSurface = $('canvas#webgl-surface', @$el) normalSurface = $('canvas#normal-surface', @$el) - @surface = new Surface(@world, normalSurface, webGLSurface, thangTypes: @supermodel.getModels(ThangType), playJingle: not @isEditorPreview, observing: @observing, playerNames: @findPlayerNames()) + @surface = new Surface(@world, normalSurface, webGLSurface, thangTypes: @supermodel.getModels(ThangType), observing: @observing, playerNames: @findPlayerNames(), levelType: @level.get('type', true)) worldBounds = @world.getBounds() bounds = [{x: worldBounds.left, y: worldBounds.top}, {x: worldBounds.right, y: worldBounds.bottom}] @surface.camera.setBounds(bounds) @@ -351,7 +357,9 @@ module.exports = class PlayLevelView extends RootView @selectHero() onLoadingViewUnveiled: (e) -> - Backbone.Mediator.publish 'level:set-playing', playing: true if @level.get('type') in ['course-ladder', 'hero-ladder'] # We used to autoplay by default, but now we only do it if the level says to in the introduction script. + if @level.get('type') in ['course-ladder', 'hero-ladder'] or @observing + # We used to autoplay by default, but now we only do it if the level says to in the introduction script. + Backbone.Mediator.publish 'level:set-playing', playing: true @loadingView.$el.remove() @removeSubView @loadingView @loadingView = null @@ -362,10 +370,17 @@ module.exports = class PlayLevelView extends RootView # TODO: Is it possible to create a Mongoose ObjectId for 'ls', instead of the string returned from get()? application.tracker?.trackEvent 'Started Level', category:'Play Level', levelID: @levelID, ls: @session?.get('_id') unless @observing $(window).trigger 'resize' + _.delay (=> @perhapsStartSimulating?()), 10 * 1000 + + onSetVolume: (e) -> + createjs.Sound.setVolume(if e.volume is 1 then 0.6 else e.volume) # Quieter for now until individual sound FX controls work again. + if e.volume and not @ambientSound + @playAmbientSound() playAmbientSound: -> return if @destroyed return if @ambientSound + return unless me.get 'volume' return unless file = {Dungeon: 'ambient-dungeon', Grass: 'ambient-grass'}[@level.get('terrain')] src = "/file/interface/#{file}#{AudioPlayer.ext}" unless AudioPlayer.getStatus(src)?.loaded @@ -381,6 +396,72 @@ module.exports = class PlayLevelView extends RootView Backbone.Mediator.publish 'level:suppress-selection-sounds', suppress: false @surface.focusOnHero() + perhapsStartSimulating: -> + return unless @shouldSimulate() + # TODO: how can we not require these as part of /play bundle? + #require "vendor/aether-#{codeLanguage}" for codeLanguage in ['javascript', 'python', 'coffeescript', 'lua', 'clojure', 'io'] + require 'vendor/aether-javascript' + require 'vendor/aether-python' + require 'vendor/aether-coffeescript' + require 'vendor/aether-lua' + require 'vendor/aether-clojure' + require 'vendor/aether-io' + @simulateNextGame() + + simulateNextGame: -> + return @simulator.fetchAndSimulateOneGame() if @simulator + @simulator = new Simulator background: true + # Crude method of mitigating Simulator memory leak issues + fetchAndSimulateOneGameOriginal = @simulator.fetchAndSimulateOneGame + @simulator.fetchAndSimulateOneGame = => + if @simulator.simulatedByYou >= 10 + console.log '------------------- Destroying Simulator and making a new one -----------------' + @simulator.destroy() + @simulator = null + @simulateNextGame() + else + fetchAndSimulateOneGameOriginal.apply @simulator + @simulator.fetchAndSimulateOneGame() + + shouldSimulate: -> + # Crude heuristics are crude. + defaultCores = 2 + cores = window.navigator.hardwareConcurrency or defaultCores # Available on Chrome/Opera, soon Safari + defaultHeapLimit = 793000000 + heapLimit = window.performance?.memory?.jsHeapSizeLimit or defaultHeapLimit # Only available on Chrome, basically just says 32- vs. 64-bit + levelType = @level.get 'type', true + gamesSimulated = me.get('simulatedBy') + console.debug "Should we start simulating? Cores:", window.navigator.hardwareConcurrency, "Heap limit:", window.performance?.memory?.jsHeapSizeLimit, "Load duration:", @loadDuration + return false unless $.browser?.desktop + return false if $.browser?.msie or $.browser?.msedge + return false if $.browser.linux + return false if me.level() < 8 + if levelType is 'course' + return false + else if levelType is 'hero' and gamesSimulated + return false if cores < 8 + return false if heapLimit < defaultHeapLimit + return false if @loadDuration > 10000 + else if levelType is 'hero-ladder' and gamesSimulated + return false if cores < 4 + return false if heapLimit < defaultHeapLimit + return false if @loadDuration > 15000 + else if levelType is 'hero-ladder' and not gamesSimulated + return false if cores < 8 + return false if heapLimit <= defaultHeapLimit + return false if @loadDuration > 20000 + else if levelType is 'course-ladder' + return false if cores <= defaultCores + return false if heapLimit < defaultHeapLimit + return false if @loadDuration > 18000 + else + console.warn "Unwritten level type simulation heuristics; fill these in for new level type #{levelType}?" + return false if cores < 8 + return false if heapLimit < defaultHeapLimit + return false if @loadDuration > 10000 + console.debug "We should have the power. Begin background ladder simulation." + true + # callbacks onCtrlS: (e) -> @@ -454,7 +535,7 @@ module.exports = class PlayLevelView extends RootView application.tracker?.trackEvent 'Confirmed Restart', category: 'Play Level', level: @level.get('name'), label: @level.get('name') unless @observing onInfiniteLoop: (e) -> - return unless e.firstWorld + return unless e.firstWorld and e.god is @god @openModalView new InfiniteLoopModal nonUserCodeProblem: e.nonUserCodeProblem application.tracker?.trackEvent 'Saw Initial Infinite Loop', category: 'Play Level', level: @level.get('name'), label: @level.get('name') unless @observing @@ -554,6 +635,7 @@ module.exports = class PlayLevelView extends RootView @goalManager?.destroy() @scriptManager?.destroy() @setupManager?.destroy() + @simulator?.destroy() if ambientSound = @ambientSound # Doesn't seem to work; stops immediately. createjs.Tween.get(ambientSound).to({volume: 0.0}, 1500).call -> ambientSound.stop() diff --git a/app/views/play/level/modal/HeroVictoryModal.coffee b/app/views/play/level/modal/HeroVictoryModal.coffee index f4d18fa31..e03e70b8e 100644 --- a/app/views/play/level/modal/HeroVictoryModal.coffee +++ b/app/views/play/level/modal/HeroVictoryModal.coffee @@ -11,6 +11,7 @@ LadderSubmissionView = require 'views/play/common/LadderSubmissionView' AudioPlayer = require 'lib/AudioPlayer' User = require 'models/User' utils = require 'core/utils' +Course = require 'models/Course' Level = require 'models/Level' LevelFeedback = require 'models/LevelFeedback' @@ -65,6 +66,9 @@ module.exports = class HeroVictoryModal extends ModalView if @level.get('type', true) is 'course' and nextLevel = @level.get('nextLevel') @nextLevel = new Level().setURL "/db/level/#{nextLevel.original}/version/#{nextLevel.majorVersion}" @nextLevel = @supermodel.loadModel(@nextLevel, 'level').model + if @courseID + @course = new Course().setURL "/db/course/#{@courseID}" + @course = @supermodel.loadModel(@course, 'course').model if @level.get('type', true) in ['course', 'course-ladder'] @saveReviewEventually = _.debounce(@saveReviewEventually, 2000) @loadExistingFeedback() @@ -120,8 +124,10 @@ module.exports = class HeroVictoryModal extends ModalView @thangTypes[thangTypeOriginal] = @supermodel.loadModel(thangType, 'thang').model @newEarnedAchievements = [] + hadOneCompleted = false for achievement in @achievements.models continue unless achievement.completed + hadOneCompleted = true ea = new EarnedAchievement({ collection: achievement.get('collection') triggeredBy: @session.id @@ -137,7 +143,7 @@ module.exports = class HeroVictoryModal extends ModalView @updateSavingProgressStatus() me.fetch cache: false unless me.loading - @readyToContinue = true if not @achievements.models.length + @readyToContinue = true unless hadOneCompleted # have to use a something resource because addModelResource doesn't handle models being upserted/fetched via POST like we're doing here @newEarnedAchievementsResource = @supermodel.addSomethingResource('earned achievements') if @newEarnedAchievements.length @@ -187,10 +193,7 @@ module.exports = class HeroVictoryModal extends ModalView c.i18n = utils.i18n elapsed = (new Date() - new Date(me.get('dateCreated'))) - isHourOfCode = me.get('hourOfCode') or elapsed < 120 * 60 * 1000 - # Later we should only check me.get('hourOfCode'), but for now so much traffic comes in that we just assume it. - # TODO: get rid of said assumption sometime in November 2015 when code.org/learn updates to the new version for Hour of Code tutorials. - if isHourOfCode + if me.get 'hourOfCode' # Show the Hour of Code "I'm Done" tracking pixel after they played for 20 minutes lastLevel = @level.get('slug') is 'course-kithgard-gates' enough = elapsed >= 20 * 60 * 1000 or lastLevel @@ -202,11 +205,15 @@ module.exports = class HeroVictoryModal extends ModalView me.patch() window.tracker?.trackEvent 'Hour of Code Finish' # Show the "I'm done" button between 30 - 120 minutes if they definitely came from Hour of Code - c.showHourOfCodeDoneButton = me.get('hourOfCode') and showDone + c.showHourOfCodeDoneButton = showDone c.showLeaderboard = @level.get('scoreTypes')?.length > 0 and @level.get('type', true) isnt 'course' c.showReturnToCourse = not c.showLeaderboard and not me.get('anonymous') and @level.get('type', true) in ['course', 'course-ladder'] + c.isCourseLevel = @level.get('type', true) in ['course'] + c.currentCourseName = @course?.get('name') + c.currentLevelName = @level?.get('name') + c.nextLevelName = @nextLevel?.get('name') return c @@ -382,7 +389,7 @@ module.exports = class HeroVictoryModal extends ModalView # Preserve the supermodel as we navigate back to the ladder. viewArgs = [{supermodel: if @options.hasReceivedMemoryWarning then null else @supermodel}, @level.get('slug')] ladderURL = "/play/ladder/#{@level.get('slug') || @level.id}" - if leagueID = @getQueryVariable 'league' + if leagueID = (@courseInstanceID or @getQueryVariable 'league') leagueType = if @level.get('type') is 'course-ladder' then 'course' else 'clan' viewArgs.push leagueType viewArgs.push leagueID @@ -443,7 +450,7 @@ module.exports = class HeroVictoryModal extends ModalView viewArgs.push @courseID viewArgs.push @courseInstanceID if @courseInstanceID else if @level.get('type', true) is 'course-ladder' - leagueID = @getQueryVariable 'league' + leagueID = @courseInstanceID or @getQueryVariable 'league' link = "/play/ladder/#{@level.get('slug')}" link += "/course/#{leagueID}" if leagueID Backbone.Mediator.publish 'router:navigate', route: link diff --git a/app/views/play/level/tome/CastButtonView.coffee b/app/views/play/level/tome/CastButtonView.coffee index c4d6c5f3e..5ec22690d 100644 --- a/app/views/play/level/tome/CastButtonView.coffee +++ b/app/views/play/level/tome/CastButtonView.coffee @@ -23,6 +23,7 @@ module.exports = class CastButtonView extends CocoView 'real-time-multiplayer:left-game': 'onLeftRealTimeMultiplayerGame' 'goal-manager:new-goal-states': 'onNewGoalStates' 'god:goals-calculated': 'onGoalsCalculated' + 'playback:ended-changed': 'onPlaybackEndedChanged' constructor: (options) -> super options @@ -31,6 +32,7 @@ module.exports = class CastButtonView extends CocoView @updateReplayabilityInterval = setInterval @updateReplayability, 1000 @observing = options.session.get('creator') isnt me.id @loadMirrorSession() if @options.level.get('slug') in ['ace-of-coders'] + @autoSubmitsToLadder = @options.level.get('slug') in ['wakka-maul'] destroy: -> clearInterval @updateReplayabilityInterval @@ -101,10 +103,10 @@ module.exports = class CastButtonView extends CocoView @casting = false if @hasCastOnce # Don't play this sound the first time @playSound 'cast-end', 0.5 - # Worked great for live Ace of Coders tournament, but probably annoying for asynchronous tournament mode. - #myHeroID = if me.team is 'ogres' then 'Hero Placeholder 1' else 'Hero Placeholder' - #if @ladderSubmissionView and not e.world.thangMap[myHeroID]?.errorsOut - # _.delay (=> @ladderSubmissionView?.rankSession()), 1000 if @ladderSubmissionView + # Worked great for live beginner tournaments, but probably annoying for asynchronous tournament mode. + myHeroID = if me.team is 'ogres' then 'Hero Placeholder 1' else 'Hero Placeholder' + if @autoSubmitsToLadder and not e.world.thangMap[myHeroID]?.errorsOut and not me.get('anonymous') + _.delay (=> @ladderSubmissionView?.rankSession()), 1000 if @ladderSubmissionView @hasCastOnce = true @updateCastButton() @world = e.world @@ -122,11 +124,16 @@ module.exports = class CastButtonView extends CocoView onGoalsCalculated: (e) -> # When preloading, with real-time playback enabled, we highlight the submit button when we think they'll win. + return unless e.god is @god return unless e.preload return if @options.level.get 'hidesRealTimePlayback' return if @options.level.get('slug') in ['course-thornbush-farm', 'thornbush-farm'] # Don't show it until they actually win for this first one. @onNewGoalStates e + onPlaybackEndedChanged: (e) -> + return unless e.ended and @winnable + @$el.toggleClass 'has-seen-winning-replay', true + updateCastButton: -> return if _.some @spells, (spell) => not spell.loaded diff --git a/app/views/play/level/tome/ProblemAlertView.coffee b/app/views/play/level/tome/ProblemAlertView.coffee index 4fc324d9d..2ae89f2ca 100644 --- a/app/views/play/level/tome/ProblemAlertView.coffee +++ b/app/views/play/level/tome/ProblemAlertView.coffee @@ -18,6 +18,7 @@ module.exports = class ProblemAlertView extends CocoView events: 'click .close': 'onRemoveClicked' + 'click': -> Backbone.Mediator.publish 'tome:focus-editor', {} constructor: (options) -> super options @@ -91,6 +92,7 @@ module.exports = class ProblemAlertView extends CocoView onRemoveClicked: -> @playSound 'menu-button-click' @$el.hide() + Backbone.Mediator.publish 'tome:focus-editor', {} onWindowResize: (e) => # TODO: This all seems a little hacky diff --git a/app/views/play/level/tome/Spell.coffee b/app/views/play/level/tome/Spell.coffee index 5eeda9d5f..a06a36c7c 100644 --- a/app/views/play/level/tome/Spell.coffee +++ b/app/views/play/level/tome/Spell.coffee @@ -47,7 +47,7 @@ module.exports = class Spell @source = @originalSource = p.aiSource @thangs = {} if @canRead() # We can avoid creating these views if we'll never use them. - @view = new SpellView {spell: @, level: options.level, session: @session, otherSession: @otherSession, worker: @worker} + @view = new SpellView {spell: @, level: options.level, session: @session, otherSession: @otherSession, worker: @worker, god: options.god} @view.render() # Get it ready and code loaded in advance @tabView = new SpellListTabEntryView spell: @, supermodel: @supermodel, codeLanguage: @language, level: options.level @tabView.render() diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee index 659f4a07f..c7e7cedd9 100644 --- a/app/views/play/level/tome/SpellView.coffee +++ b/app/views/play/level/tome/SpellView.coffee @@ -92,7 +92,7 @@ module.exports = class SpellView extends CocoView @aceSession.setNewLineMode 'unix' @aceSession.setUseSoftTabs true @ace.setTheme 'ace/theme/textmate' - @ace.setDisplayIndentGuides aceConfig.indentGuides + @ace.setDisplayIndentGuides false @ace.setShowPrintMargin false @ace.setShowInvisibles aceConfig.invisibles @ace.setBehavioursEnabled aceConfig.behaviors @@ -253,6 +253,7 @@ module.exports = class SpellView extends CocoView hookACECustomBehavior: -> + aceConfig = me.get('aceConfig') ? {} @ace.commands.on 'exec', (e) => # When pressing enter with an active selection, just make a new line under it. if e.command.name is 'enter-skip-delimiters' @@ -261,6 +262,63 @@ module.exports = class SpellView extends CocoView e.editor.execCommand 'gotolineend' return true + if me.level() < 20 or aceConfig.indentGuides + # Add visual ident guides + @aceSession.addDynamicMarker + update: (html, markerLayer, session, config) => + Range = ace.require('ace/range').Range + + foldWidgets = @aceSession.foldWidgets + return if not foldWidgets? + + lines = @aceDoc.getAllLines() + startOfRow = (r) -> + str = lines[r] + ar = str.match(/^\s*/) + ar.pop().length + + colors = ['50,150,200', '200,150,50', '255,0,0', '0,255,0'] + + for row in [0..@aceSession.getLength()] + foldWidgets[row] = @aceSession.getFoldWidget(row) unless foldWidgets[row]? + continue unless foldWidgets? and foldWidgets[row] is "start" + docRange = @aceSession.getFoldWidgetRange(row) + if not docRange? + guess = startOfRow(row) + docRange = new Range(row,guess,row,guess+4) + + if /^\s+$/.test lines[docRange.end.row+1] + docRange.end.row += 1 + + rstart = @aceSession.documentToScreenPosition docRange.start.row, docRange.start.column + rend = @aceSession.documentToScreenPosition docRange.end.row, docRange.end.column + range = new Range rstart.row, rstart.column, rend.row, rend.column + + xstart = startOfRow(row) + level = Math.floor(xstart / 4) + indent = startOfRow(row + 1) + color = colors[level % colors.length] + bw = 3 + to = markerLayer.$getTop(range.start.row, config) + t = markerLayer.$getTop(range.start.row + 1, config) + h = config.lineHeight * (range.end.row - range.start.row) + l = markerLayer.$padding + xstart * config.characterWidth + # w = (data.i - data.b) * config.characterWidth + w = 4 * config.characterWidth + fw = config.characterWidth * ( @aceSession.getScreenLastRowColumn(range.start.row) - xstart ) + + html.push [ + '
' ].join '' + + html.push [ + '' ].join '' + fillACE: -> @ace.setValue @spell.source @aceSession.setUndoManager(new UndoManager()) @@ -791,6 +849,7 @@ module.exports = class SpellView extends CocoView hashValue = aether.raw + aetherProblem.message return if hashValue of @savedProblems @savedProblems[hashValue] = true + return unless Math.random() < 0.01 # Let's only save a tiny fraction of these during HoC to reduce writes. # Save new problem @userCodeProblem = new UserCodeProblem() @@ -883,6 +942,7 @@ module.exports = class SpellView extends CocoView @spellHasChanged = false onUserCodeProblem: (e) -> + return unless e.god is @options.god return @onInfiniteLoop e if e.problem.id is 'runtime_InfiniteLoop' return unless e.problem.userInfo.methodName is @spell.name return unless spellThang = _.find @spell.thangs, (spellThang, thangID) -> thangID is e.problem.userInfo.thangID @@ -893,6 +953,7 @@ module.exports = class SpellView extends CocoView @updateAether false, false onNonUserCodeProblem: (e) -> + return unless e.god is @options.god return unless @spellThang problem = @spellThang.aether.createUserCodeProblem type: 'runtime', kind: 'Unhandled', message: "Unhandled error: #{e.problem.message}" @spellThang.aether.addProblem problem diff --git a/app/views/play/level/tome/TomeView.coffee b/app/views/play/level/tome/TomeView.coffee index 41a655dcf..3e8bf1fb3 100644 --- a/app/views/play/level/tome/TomeView.coffee +++ b/app/views/play/level/tome/TomeView.coffee @@ -62,7 +62,7 @@ module.exports = class TomeView extends CocoView @createSpells programmableThangs, programmableThangs[0]?.world # Do before spellList, thangList, and castButton unless @options.level.get('type', true) in ['hero', 'hero-ladder', 'hero-coop', 'course', 'course-ladder'] @spellList = @insertSubView new SpellListView spells: @spells, supermodel: @supermodel, level: @options.level - @castButton = @insertSubView new CastButtonView spells: @spells, level: @options.level, session: @options.session + @castButton = @insertSubView new CastButtonView spells: @spells, level: @options.level, session: @options.session, god: @options.god @teamSpellMap = @generateTeamSpellMap(@spells) unless programmableThangs.length @cast() @@ -136,6 +136,7 @@ module.exports = class TomeView extends CocoView observing: @options.observing levelID: @options.levelID level: @options.level + god: @options.god for thangID, spellKeys of @thangSpells thang = world.getThangByID thangID @@ -168,7 +169,7 @@ module.exports = class TomeView extends CocoView difficulty = sessionState.difficulty ? 0 if @options.observing difficulty = Math.max 0, difficulty - 1 # Show the difficulty they won, not the next one. - Backbone.Mediator.publish 'tome:cast-spells', spells: @spells, preload: preload, realTime: realTime, submissionCount: sessionState.submissionCount ? 0, flagHistory: sessionState.flagHistory ? [], difficulty: difficulty + Backbone.Mediator.publish 'tome:cast-spells', spells: @spells, preload: preload, realTime: realTime, submissionCount: sessionState.submissionCount ? 0, flagHistory: sessionState.flagHistory ? [], difficulty: difficulty, god: @options.god onToggleSpellList: (e) -> @spellList?.rerenderEntries() diff --git a/app/views/play/menu/GuideView.coffee b/app/views/play/menu/GuideView.coffee index 6b11e4951..cc0dcc097 100644 --- a/app/views/play/menu/GuideView.coffee +++ b/app/views/play/menu/GuideView.coffee @@ -23,7 +23,7 @@ module.exports = class LevelGuideView extends CocoView # A/B Testing video tutorial styles @helpVideosIndex = me.getVideoTutorialStylesIndex(@helpVideos.length) @helpVideo = @helpVideos[@helpVideosIndex] if @helpVideos.length > 0 - @videoLocked = not (@helpVideo?.free or options.level.get('type', true) is 'course') and @requiresSubscription + @videoLocked = not (@helpVideo?.free or options.level.get('type', true) in ['course', 'course-ladder']) and @requiresSubscription @firstOnly = options.firstOnly @docs = options?.docs ? options.level.get('documentation') ? {} @@ -40,8 +40,8 @@ module.exports = class LevelGuideView extends CocoView @docs = $.extend(true, [], @docs) @docs = [@docs[0]] if @firstOnly and @docs[0] doc.html = marked(utils.filterMarkdownCodeLanguages(utils.i18n(doc, 'body'))) for doc in @docs - doc.name = (utils.i18n doc, 'name') for doc in @docs doc.slug = _.string.slugify(doc.name) for doc in @docs + doc.name = (utils.i18n doc, 'name') for doc in @docs super options destroy: -> @@ -62,13 +62,18 @@ module.exports = class LevelGuideView extends CocoView afterRender: -> super() - if @docs.length is 1 and @helpVideos.length > 0 - @setupVideoPlayer() unless @videoLocked - else + @setupVideoPlayer() unless @videoLocked + if @docs.length + @helpVideos.length > 1 + if @helpVideos.length + startingTab = 0 + else + startingTab = _.findIndex @docs, slug: 'intro' + startingTab = 0 if startingTab is -1 # incredible hackiness. Getting bootstrap tabs to work shouldn't be this complex - @$el.find('.nav-tabs li:first').addClass('active') - @$el.find('.tab-content .tab-pane:first').addClass('active') + @$el.find(".nav-tabs li:nth(#{startingTab})").addClass('active') + @$el.find(".tab-content .tab-pane:nth(#{startingTab})").addClass('active') @$el.find('.nav-tabs a').click(@clickTab) + @$el.addClass 'has-tabs' @configureACEEditors() @playSound 'guide-open' diff --git a/app/views/play/menu/InventoryModal.coffee b/app/views/play/menu/InventoryModal.coffee index 0f6b358d0..e797b30eb 100644 --- a/app/views/play/menu/InventoryModal.coffee +++ b/app/views/play/menu/InventoryModal.coffee @@ -484,6 +484,7 @@ module.exports = class InventoryModal extends ModalView # Called when the modal itself is dismissed @endHighlight() super() + @playSound 'game-menu-close' onClickChooseHero: -> @playSound 'menu-button-click' diff --git a/app/views/play/modal/PlayAchievementsModal.coffee b/app/views/play/modal/PlayAchievementsModal.coffee index c952237dd..5c7643cab 100644 --- a/app/views/play/modal/PlayAchievementsModal.coffee +++ b/app/views/play/modal/PlayAchievementsModal.coffee @@ -74,6 +74,7 @@ module.exports = class PlayAchievementsModal extends ModalView onEverythingLoaded: => @achievements.set(@achievements.filter((m) -> m.get('collection') isnt 'level.sessions' or m.get('query')?.team)) + achievementsByDescription = earned: {}, unearned: {} for achievement in @achievements.models if earned = @earnedMap[achievement.id] achievement.earned = earned @@ -82,6 +83,20 @@ module.exports = class PlayAchievementsModal extends ModalView achievement.earnedGems = Math.round (achievement.get('rewards')?.gems or 0) * expFunction earned.get('achievedAmount') achievement.earnedPoints = Math.round (achievement.get('worth', true) or 0) * expFunction earned.get('achievedAmount') achievement.earnedDate ?= '' + for achievement in @achievements.models + if achievement.earned + holder = achievementsByDescription.earned + else + holder = achievementsByDescription.unearned + nextInSet = holder[achievement.get('description')] + [a, b] = [achievement.get('worth', true), nextInSet?.get('worth', true) ? 0] + if achievement.earned + shouldKeep = not nextInSet or a > b + else + shouldKeep = not nextInSet or a < b + if shouldKeep + holder[achievement.get('description')] = achievement + @achievements.set _.values(achievementsByDescription.earned).concat(_.values(achievementsByDescription.unearned)) @achievements.comparator = (m) -> m.earnedDate @achievements.sort() @achievements.set(@achievements.models.reverse()) diff --git a/config.coffee b/config.coffee index eca9044b0..f18bdc0cf 100644 --- a/config.coffee +++ b/config.coffee @@ -203,6 +203,8 @@ exports.config = assetsmanager: copyTo: 'lib/ace': ['node_modules/ace-builds/src-min-noconflict/*'] + autoReload: + delay: 1000 modules: definition: (path, data) -> diff --git a/scripts/analytics/mongodb/queries/insertPerDayAnalytics.js b/scripts/analytics/mongodb/queries/insertPerDayAnalytics.js index f154e4805..14fb5cf22 100644 --- a/scripts/analytics/mongodb/queries/insertPerDayAnalytics.js +++ b/scripts/analytics/mongodb/queries/insertPerDayAnalytics.js @@ -101,10 +101,10 @@ try { } } - log("Getting monthly recurring revenue counts..."); + log("Getting recurring revenue counts..."); var recurringRevenueCounts = getRecurringRevenueCounts(startDay); // printjson(recurringRevenueCounts); - log("Inserting monthly recurring revenue counts..."); + log("Inserting recurring revenue counts..."); for (var event in recurringRevenueCounts) { for (var day in recurringRevenueCounts[event]) { if (today === day) continue; // Never save data for today because it's incomplete @@ -674,9 +674,9 @@ function getRecurringRevenueCounts(startDay) { dailyRevenueCounts['DRR monthly subs'][day] += doc.amount } else if (doc.service === 'paypal') { - if (!dailyRevenueCounts['DRR paypal']) dailyRevenueCounts['DRR paypal'] = {}; - if (!dailyRevenueCounts['DRR paypal'][day]) dailyRevenueCounts['DRR paypal'][day] = 0; - dailyRevenueCounts['DRR paypal'][day] += doc.amount + if (!dailyRevenueCounts['DRR monthly subs']) dailyRevenueCounts['DRR monthly subs'] = {}; + if (!dailyRevenueCounts['DRR monthly subs'][day]) dailyRevenueCounts['DRR monthly subs'][day] = 0; + dailyRevenueCounts['DRR monthly subs'][day] += doc.amount } // else { // // printjson(doc); diff --git a/scripts/mongodb/migrations/2015-11-26-migrate-course-sessions-to-normal-levels.js b/scripts/mongodb/migrations/2015-11-26-migrate-course-sessions-to-normal-levels.js new file mode 100644 index 000000000..0fd223e84 --- /dev/null +++ b/scripts/mongodb/migrations/2015-11-26-migrate-course-sessions-to-normal-levels.js @@ -0,0 +1,46 @@ +// Migrates course-kithgard-gates-style sessions to normal levels, if the user doesn't already have a session for those +// Usage: +// mongo :