Merge branch 'master' into production

This commit is contained in:
Nick Winter 2014-09-25 09:32:41 -07:00
commit c94a73ae51
90 changed files with 1064 additions and 834 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

@ -65,7 +65,12 @@ self.console = console;
self.importScripts('/javascripts/lodash.js', '/javascripts/world.js', '/javascripts/aether.js');
var restricted = ["XMLHttpRequest", "importScripts", "Worker"];
var restricted = ["XMLHttpRequest", "Worker"];
if (!self.navigator || !(self.navigator.userAgent.indexOf('MSIE') > 0) &&
!self.navigator.userAgent.match(/Trident.*rv\:11\./)) {
// Can't restrict 'importScripts' in IE11, skip for all IE versions
restricted.push("importScripts");
}
for(var i = 0; i < restricted.length; ++i) {
// We could do way more from this: http://stackoverflow.com/questions/10653809/making-webworkers-a-safe-environment
Object.defineProperty(self, restricted[i], {

View file

@ -20,6 +20,7 @@ definitionSchemas =
'misc': require './schemas/definitions/misc'
init = ->
setupConsoleLogging()
watchForErrors()
setUpIOSLogging()
path = document.location.pathname
@ -86,6 +87,11 @@ initializeServices = ->
service = require service
service()
setupConsoleLogging = ->
unless console.debug
# Needed for IE10 and earlier
console.debug = console.log
watchForErrors = ->
currentErrors = 0
window.onerror = (msg, url, line, col, error) ->

View file

@ -249,7 +249,7 @@ module.exports = Surface = class Surface extends CocoClass
createjs.Tween.removeTweens(@)
@currentFrame = @scrubbingTo
@scrubbingTo = Math.min(Math.round(progress * @world.frames.length), @world.frames.length)
@scrubbingTo = Math.min(Math.round(progress * (@world.frames.length - 1)), @world.frames.length - 1)
@scrubbingPlaybackSpeed = Math.sqrt(Math.abs(@scrubbingTo - @currentFrame) * @world.dt / (scrubDuration or 0.5))
if scrubDuration
t = createjs.Tween
@ -314,7 +314,7 @@ module.exports = Surface = class Surface extends CocoClass
#- Changes and events that only need to happen when the frame has changed
onFrameChanged: (force) ->
@currentFrame = Math.min(@currentFrame, @world.frames.length)
@currentFrame = Math.min(@currentFrame, @world.frames.length - 1)
@debugDisplay?.updateFrame @currentFrame
return if @currentFrame is @lastFrame and not force
progress = @getProgress()
@ -336,7 +336,7 @@ module.exports = Surface = class Surface extends CocoClass
@lastFrame = @currentFrame
getProgress: -> @currentFrame / @world.frames.length
getProgress: -> @currentFrame / Math.max(1, @world.frames.length - 1)
@ -416,7 +416,8 @@ module.exports = Surface = class Surface extends CocoClass
@casting = true
@setPlayingCalled = false # Don't overwrite playing settings if they changed by, say, scripts.
@frameBeforeCast = @currentFrame
@setProgress 0
# This is where I wanted to trigger a rewind, but it turned out to be pretty complicated, since the new world gets updated everywhere, and you don't want to rewind through that.
@setProgress 0, 0
onNewWorld: (event) ->
return unless event.world.name is @world.name
@ -433,9 +434,9 @@ module.exports = Surface = class Surface extends CocoClass
@setWorld event.world
@onFrameChanged(true)
fastForwardBuffer = 2
if @playing and not @realTime and (ffToFrame = Math.min(event.firstChangedFrame, @frameBeforeCast, @world.frames.length)) and ffToFrame > @currentFrame + fastForwardBuffer * @world.frameRate
if @playing and not @realTime and (ffToFrame = Math.min(event.firstChangedFrame, @frameBeforeCast, @world.frames.length - 1)) and ffToFrame > @currentFrame + fastForwardBuffer * @world.frameRate
@fastForwardingToFrame = ffToFrame
@fastForwardingSpeed = Math.max 4, 4 * 90 / (@world.maxTotalFrames * @world.dt)
@fastForwardingSpeed = Math.max 3, 3 * (@world.maxTotalFrames * @world.dt) / 60
else if @realTime
lag = (@world.frames.length - 1) * @world.dt - @world.age
intendedLag = @world.realTimeBufferMax + @world.dt

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "български език", englishDescri
done: "Готово"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "български език", englishDescri
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "български език", englishDescri
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -3,54 +3,54 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
loading: "Carregant..."
saving: "Guardant..."
sending: "Enviant..."
# send: "Send"
send: "Enviat"
cancel: "Cancel·lant"
save: "Guardar"
# publish: "Publish"
# create: "Create"
publish: "Publica"
create: "Crear"
delay_1_sec: "1 segon"
delay_3_sec: "3 segons"
delay_5_sec: "5 segons"
manual: "Manual"
fork: "Fork"
play: "Jugar" # When used as an action verb, like "Play next level"
# retry: "Retry"
retry: "Tornar a intentar"
# watch: "Watch"
# unwatch: "Unwatch"
# submit_patch: "Submit Patch"
# units:
# second: "second"
# seconds: "seconds"
# minute: "minute"
# minutes: "minutes"
# hour: "hour"
# hours: "hours"
# day: "day"
# days: "days"
# week: "week"
# weeks: "weeks"
# month: "month"
# months: "months"
# year: "year"
# years: "years"
units:
second: "segon"
seconds: "segons"
minute: "minut"
minutes: "minuts"
hour: "hora"
hours: "hores"
day: "dia"
days: "dies"
week: "setmana"
weeks: "setmanes"
month: "mes"
months: "mesos"
year: "any"
years: "anys"
modal:
close: "Tancar"
okay: "Okey"
# not_found:
# page_not_found: "Page not found"
not_found:
page_not_found: "Pagina no trobada"
nav:
play: "Nivells" # The top nav bar entry where players choose which levels to play
# community: "Community"
community: "Comunitat"
editor: "Editor"
blog: "Blog"
forum: "Fòrum"
# account: "Account"
# profile: "Profile"
# stats: "Stats"
account: "Compte"
profile: "Perfil"
stats: "Estats"
# code: "Code"
admin: "Admin"
home: "Inici"
@ -72,14 +72,14 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
login:
sign_up: "Crear un compte"
log_in: "Iniciar Sessió"
# logging_in: "Logging In"
logging_in: "Iniciant Sessió"
log_out: "Tancar Sessió"
recover: "Recuperar un compte"
recover:
recover_account_title: "Recuperar Compte"
send_password: "Enviar contrasenya oblidada"
# recovery_sent: "Recovery email sent."
recovery_sent: "Correu de recuperació de contrasenya enviat."
signup:
create_account_title: "Crear un compte per tal de guardar els progressos"
@ -104,12 +104,12 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
for_beginners: "Per a principiants"
multiplayer: "Multijugador"
for_developers: "Per a Desenvolupadors"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
javascript_blurb: "El llenguatge de les webs. Útil per escriure pagines web, aplicacions web, jocs en HTML5 i servidors."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
io_blurb: "Senzill però obscur."
play:
choose_your_level: "Escull el teu nivell"
@ -124,27 +124,27 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
campaign_multiplayer_description: "... on programes cara a cara contra altres jugadors."
campaign_player_created: "Creats pel Jugador"
campaign_player_created_description: "... on lluites contra la creativitat dels teus companys <a href=\"/contribute#artisan\">Artisan Wizards</a>."
# campaign_classic_algorithms: "Classic Algorithms"
campaign_classic_algorithms: "Algoritmes classics"
# campaign_classic_algorithms_description: "... in which you learn the most popular algorithms in Computer Science."
level_difficulty: "Dificultat: "
play_as: "Jugar com"
spectate: "Spectate"
# players: "players"
# hours_played: "hours played"
# items: "Items"
# heroes: "Heroes"
# achievements: "Achievements"
# account: "Account"
# settings: "Settings"
# next: "Next"
# previous: "Previous"
# choose_inventory: "Equip Items"
players: "jugadors"
hours_played: "hores de joc"
items: "Objectes"
heroes: "Herois"
achievements: "Assoliments"
account: "Conta"
settings: "Configuració"
next: "Següent"
previous: "Anterior"
choose_inventory: "Equipar objectes"
# items:
# armor: "Armor"
# hands: "Hands"
# accessories: "Accessories"
# books: "Books"
items:
armor: "Armadura"
hands: "Mans"
accessories: "Accessoris"
books: "Llibres"
# minions: "Minions"
# misc: "Misc"
@ -162,53 +162,53 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# recruitment_reminder: "Use this form to reach out to candidates you are interested in interviewing. Remember that CodeCombat charges 15% of first-year salary. The fee is due upon hiring the employee and is refundable for 90 days if the employee does not remain employed. Part time, remote, and contract employees are free, as are interns."
diplomat_suggestion:
# title: "Help translate CodeCombat!"
# sub_heading: "We need your language skills."
pitch_body: "We develop CodeCombat in English, but we already have players all over the world. Many of them want to play in Catalan, but don't speak English, so if you can speak both, please consider signing up to be a Diplomat and help translate both the CodeCombat website and all the levels into Catalan."
missing_translations: "Until we can translate everything into Catalan, you'll see English when Catalan isn't available."
# learn_more: "Learn more about being a Diplomat"
# subscribe_as_diplomat: "Subscribe as a Diplomat"
title: "Ajuda a traduir CodeCombat!"
sub_heading: "Neccesitem les teves habilitats lingüístiques."
pitch_body: "Hem desembolupat CodeCombat en Anglès, peró tenim jugadors per tot el món. Molts d'ells volen jugar en Català, però no parlen anglès, per tant si pots parlar ambdós llengües, siusplau considereu iniciar sesió per a ser Diplomàtic i ajudar a traduir la web de CodeCombat i tots els seus nivell en Català."
missing_translations: "Fins que puguem traduir-ho tot en Català, veuràs en anglès quant sigui possible."
learn_more: "Apren més sobre seru un diplomàtic"
subscribe_as_diplomat: "Subscriute com a diplomàtic"
# wizard_settings:
# title: "Wizard Settings"
# customize_avatar: "Customize Your Avatar"
# active: "Active"
# color: "Color"
# group: "Group"
# clothes: "Clothes"
wizard_settings:
title: "Configuració del bruixot"
customize_avatar: "Personalitza el teu avatar"
active: "Actiu"
color: "Color"
group: "Grup"
clothes: "Roba"
# trim: "Trim"
# cloud: "Cloud"
# team: "Team"
team: "Equip"
# spell: "Spell"
# boots: "Boots"
boots: "Botes"
# hue: "Hue"
# saturation: "Saturation"
# lightness: "Lightness"
# account_settings:
# title: "Account Settings"
# not_logged_in: "Log in or create an account to change your settings."
# autosave: "Changes Save Automatically"
# me_tab: "Me"
# picture_tab: "Picture"
# upload_picture: "Upload a picture"
# wizard_tab: "Wizard"
# password_tab: "Password"
account_settings:
title: "Configuració de la compta"
not_logged_in: "Inicia sessió o crea una compta per a canviar la configuració."
autosave: "Els canvis es guarden automàticament"
me_tab: "Jo"
picture_tab: "Foto"
upload_picture: "Carrega una foto"
wizard_tab: "Bruixot"
password_tab: "Contrasenya"
# emails_tab: "Emails"
# admin: "Admin"
# wizard_color: "Wizard Clothes Color"
# new_password: "New Password"
# new_password_verify: "Verify"
admin: "Administrador"
wizard_color: "Color de la roba"
new_password: "Contrasenya nova"
new_password_verify: "Verifica"
# email_subscriptions: "Email Subscriptions"
# email_subscriptions_none: "No Email Subscriptions."
# email_announcements: "Announcements"
# email_announcements_description: "Get emails on the latest news and developments at CodeCombat."
# email_notifications: "Notifications"
email_notifications: "Notificacions"
# email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity."
# email_any_notes: "Any Notifications"
# email_any_notes_description: "Disable to stop all activity notification emails."
# email_news: "News"
# email_recruit_notes: "Job Opportunities"
email_news: "Noticies"
email_recruit_notes: "Oportunitats de feina"
# email_recruit_notes_description: "If you play really well, we may contact you about getting you a (better) job."
# contributor_emails: "Contributor Class Emails"
# contribute_prefix: "We're looking for people to join our party! Check out the "
@ -216,34 +216,34 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# contribute_suffix: " to find out more."
# email_toggle: "Toggle All"
# error_saving: "Error Saving"
# saved: "Changes Saved"
# password_mismatch: "Password does not match."
# password_repeat: "Please repeat your password."
# job_profile: "Job Profile"
saved: "Canvis desats"
password_mismatch: "Les contrasenyes no coincideixen."
password_repeat: "Siusplau, repetiu la contrasenya."
job_profile: "Perfil professional"
# job_profile_approved: "Your job profile has been approved by CodeCombat. Employers will be able to see it until you either mark it inactive or it has not been changed for four weeks."
# job_profile_explanation: "Hi! Fill this out, and we will get in touch about finding you a software developer job."
# sample_profile: "See a sample profile"
# view_profile: "View Your Profile"
sample_profile: "Mira un perfil de mostra"
view_profile: "Mira el teu perfil"
# account_profile:
# settings: "Settings"
# edit_profile: "Edit Profile"
account_profile:
settings: "Configuració"
edit_profile: "Modifica el perfil"
# done_editing: "Done Editing"
# profile_for_prefix: "Profile for "
# profile_for_suffix: ""
# featured: "Featured"
# not_featured: "Not Featured"
# looking_for: "Looking for:"
looking_for: "Buscant:"
# last_updated: "Last updated:"
# contact: "Contact"
contact: "Contacta"
# active: "Looking for interview offers now"
# inactive: "Not looking for offers right now"
# complete: "complete"
# next: "Next"
# next_city: "city?"
# next_country: "pick your country."
# next_name: "name?"
# next_short_description: "write a short description."
complete: "complet"
next: "Seguent"
next_city: "ciutat?"
next_country: "escull el teu país."
next_name: "nom?"
next_short_description: "escriu una breu descripció."
# next_long_description: "describe your desired position."
# next_skills: "list at least five skills."
# next_work: "chronicle your work history."
@ -252,7 +252,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# next_links: "add any personal or social links."
# next_photo: "add an optional professional photo."
# next_active: "mark yourself open to offers to show up in searches."
# example_blog: "Blog"
example_blog: "Blog"
# example_personal_site: "Personal Site"
# links_header: "Personal Links"
# links_blurb: "Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog."
@ -260,20 +260,20 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# links_name_help: "What are you linking to?"
# links_link_blurb: "Link URL"
# basics_header: "Update basic info"
# basics_active: "Open to Offers"
basics_active: "Obert a ofertes"
# basics_active_help: "Want interview offers right now?"
# basics_job_title: "Desired Job Title"
# basics_job_title_help: "What role are you looking for?"
# basics_city: "City"
# basics_city_help: "City you want to work in (or live in now)."
# basics_country: "Country"
basics_city: "Ciutat"
basics_city_help: "En quina ciutat t'agradaria treballar (o viure ara)."
basics_country: "País"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
# basics_looking_for_remote: "Remote"
basics_looking_for_full_time: "Temps complet"
basics_looking_for_part_time: "Temporal"
basics_looking_for_remote: "A distancia"
# basics_looking_for_contracting: "Contracting"
# basics_looking_for_internship: "Internship"
# basics_looking_for_help: "What kind of developer position do you want?"
@ -284,13 +284,13 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# short_description_blurb: "Add a tagline to help an employer quickly learn more about you."
# short_description: "Tagline"
# short_description_help: "Who are you, and what are you looking for? 140 characters max."
# skills_header: "Skills"
skills_header: "Habilitats"
# skills_help: "Tag relevant developer skills in order of proficiency."
# long_description_header: "Describe your desired position"
# long_description_blurb: "Tell employers how awesome you are and what role you want."
# long_description: "Self Description"
# long_description_help: "Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max."
# work_experience: "Work Experience"
work_experience: "Experiència laboral"
# work_header: "Chronicle your work history"
# work_years: "Years of Experience"
# work_years_help: "How many years of professional experience (getting paid) developing software do you have?"
@ -301,12 +301,12 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# work_role_help: "What was your job title or role?"
# work_duration: "Duration"
# work_duration_help: "When did you hold this gig?"
# work_description: "Description"
work_description: "Descripció"
# work_description_help: "What did you do there? (140 chars; optional)"
# education: "Education"
education: "Educació"
# education_header: "Recount your academic ordeals"
# education_blurb: "List your academic ordeals."
# education_school: "School"
education_school: "Escola"
# education_school_help: "Name of your school."
# education_degree: "Degree"
# education_degree_help: "What was your degree and field of study?"
@ -316,21 +316,21 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
# our_notes: "CodeCombat's Notes"
# remarks: "Remarks"
# projects: "Projects"
projects: "Projectes"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
# projects_blurb: "Highlight your projects to amaze employers."
# project_name: "Project Name"
project_name: "Nom del projecte"
# project_name_help: "What was the project called?"
# project_description: "Description"
project_description: "Descripció"
# project_description_help: "Briefly describe the project."
# project_picture: "Picture"
project_picture: "Imatge"
# project_picture_help: "Upload a 230x115px or larger image showing off the project."
# project_link: "Link"
# project_link_help: "Link to the project."
# player_code: "Player Code"
# employers:
employers:
# hire_developers_not_credentials: "Hire developers, not credentials."
# get_started: "Get Started"
# already_screened: "We've already technically screened all our candidates"
@ -362,7 +362,7 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. Our players have experience with all major tech stacks."
# cost: "How much do we charge?"
# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
# candidate_name: "Name"
candidate_name: "Nom"
# candidate_location: "Location"
# candidate_looking_for: "Looking For"
# candidate_role: "Role"
@ -374,17 +374,17 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
# play_level:
# done: "Done"
# customize_wizard: "Customize Wizard"
play_level:
done: "Fet"
customize_wizard: "Personalitza el teu bruixot"
# home: "Home"
# stop: "Stop"
# game_menu: "Game Menu"
# guide: "Guide"
# skip: "Skip"
game_menu: "Menu de joc"
guide: "Guia"
# restart: "Restart"
# goals: "Goals"
# goal: "Goal"
# success: "Success!"
goals: "Objectius"
goal: "Objectiu"
success: "Exit!"
# incomplete: "Incomplete"
# timed_out: "Ran out of time"
# failing: "Failing"
@ -394,17 +394,18 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# reload_really: "Are you sure you want to reload this level back to the beginning?"
# reload_confirm: "Reload All"
# victory_title_prefix: ""
# victory_title_suffix: " Complete"
# victory_sign_up: "Sign Up to Save Progress"
victory_title_suffix: " Complet"
victory_sign_up: "Inicia sessió per a desar el progressos"
# victory_sign_up_poke: "Want to save your code? Create a free account!"
# victory_rate_the_level: "Rate the level: "
victory_rate_the_level: "Valora el nivell: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
victory_play_next_level: "Jugar el següent nivell"
victory_play_continue: "Continuar"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
# victory_hour_of_code_done_yes: "Yes, I'm finished with my Hour of Code™!"
# guide_title: "Guide"
guide_title: "Guia"
# tome_minion_spells: "Your Minions' Spells"
# tome_read_only_spells: "Read-Only Spells"
# tome_other_units: "Other Units"
@ -418,12 +419,13 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"
# keyboard_shortcuts: "Key Shortcuts"
# loading_ready: "Ready!"
# loading_start: "Start Level"
loading_start: "Comença el nivell"
# tip_insert_positions: "Shift+Click a point on the map to insert it into the spell editor."
# tip_toggle_play: "Toggle play/paused with Ctrl+P."
# tip_scrub_shortcut: "Ctrl+[ and Ctrl+] rewind and fast-forward."
@ -458,44 +460,44 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# time_current: "Now:"
# time_total: "Max:"
# time_goto: "Go to:"
# infinite_loop_try_again: "Try Again"
# infinite_loop_reset_level: "Reset Level"
infinite_loop_try_again: "Tornar a intentar"
infinite_loop_reset_level: "Reiniciar nivell"
# infinite_loop_comment_out: "Comment Out My Code"
# game_menu:
game_menu:
# inventory_tab: "Inventory"
# choose_hero_tab: "Restart Level"
# save_load_tab: "Save/Load"
# options_tab: "Options"
# guide_tab: "Guide"
# multiplayer_tab: "Multiplayer"
# inventory_caption: "Equip your hero"
choose_hero_tab: "Recomençar nivell"
save_load_tab: "Desa/Carrega"
options_tab: "Opcions"
guide_tab: "Gui"
multiplayer_tab: "Multijugador"
inventory_caption: "Equipa el teu heroi"
# choose_hero_caption: "Choose hero, language"
# save_load_caption: "... and view history"
# options_caption: "Configure settings"
options_caption: "Edita la configuració"
# guide_caption: "Docs and tips"
# multiplayer_caption: "Play with friends!"
multiplayer_caption: "Juga amb amics!"
# inventory:
# choose_inventory: "Equip Items"
inventory:
choose_inventory: "Equipar objectes"
# choose_hero:
# choose_hero: "Choose Your Hero"
# programming_language: "Programming Language"
choose_hero:
choose_hero: "Escull el teu heroi"
programming_language: "Llenguatge de programació"
# programming_language_description: "Which programming language do you want to use?"
# status: "Status"
# weapons: "Weapons"
# health: "Health"
# speed: "Speed"
status: "Estat"
weapons: "Armes"
health: "Salut"
speed: "Velocitat"
# save_load:
# granularity_saved_games: "Saved"
save_load:
granularity_saved_games: "Desats"
# granularity_change_history: "History"
# options:
# general_options: "General Options"
# volume_label: "Volume"
# music_label: "Music"
options:
general_options: "Opcions generals"
volume_label: "Volum"
music_label: "Musica"
# music_description: "Turn background music on/off."
# autorun_label: "Autorun"
# autorun_description: "Control automatic code execution."
@ -520,22 +522,22 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# guide:
# temp: "Temp"
# multiplayer:
multiplayer:
# multiplayer_title: "Multiplayer Settings"
# multiplayer_toggle: "Enable multiplayer"
multiplayer_toggle: "Activar multijugador"
# multiplayer_toggle_description: "Allow others to join your game."
# multiplayer_link_description: "Give this link to anyone to have them join you."
# multiplayer_hint_label: "Hint:"
multiplayer_hint_label: "Pista:"
# multiplayer_hint: " Click the link to select all, then press ⌘-C or Ctrl-C to copy the link."
# multiplayer_coming_soon: "More multiplayer features to come!"
# multiplayer_sign_in_leaderboard: "Sign in or create an account and get your solution on the leaderboard."
# keyboard_shortcuts:
# keyboard_shortcuts: "Keyboard Shortcuts"
# space: "Space"
# enter: "Enter"
# escape: "Escape"
# shift: "Shift"
keyboard_shortcuts:
keyboard_shortcuts: "Dreceres del teclat"
space: "Espai"
enter: "Enter"
escape: "Escape"
shift: "Shift"
# cast_spell: "Cast current spell."
# run_real_time: "Run in real time."
# continue_script: "Continue past current script."
@ -549,27 +551,27 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# toggle_pathfinding: "Toggle pathfinding overlay."
# beautify: "Beautify your code by standardizing its formatting."
# maximize_editor: "Maximize/minimize code editor."
# move_wizard: "Move your Wizard around the level."
move_wizard: "Mou el teu bruixot pel nivell."
# admin:
admin:
# av_espionage: "Espionage"
# av_espionage_placeholder: "Email or username"
# av_usersearch: "User Search"
# av_usersearch_placeholder: "Email, username, name, whatever"
# av_usersearch_search: "Search"
av_usersearch_search: "Buscar"
# av_title: "Admin Views"
# av_entities_sub_title: "Entities"
# av_entities_users_url: "Users"
av_entities_users_url: "Usuaris"
# av_entities_active_instances_url: "Active Instances"
# av_entities_employer_list_url: "Employer List"
# av_entities_candidates_list_url: "Candidate List"
# av_other_sub_title: "Other"
av_other_sub_title: "Altres"
# av_other_debug_base_url: "Base (for debugging base.jade)"
# u_title: "User List"
# lg_title: "Latest Games"
# clas: "CLAs"
# community:
community:
# main_title: "CodeCombat Community"
# introduction: "Check out the ways you can get involved below and decide what sounds the most fun. We look forward to working with you!"
# level_editor_prefix: "Use the CodeCombat"
@ -582,16 +584,16 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# social_blog: "Read the CodeCombat blog on Sett"
# social_discource: "Join the discussion on our Discourse forum"
# social_facebook: "Like CodeCombat on Facebook"
# social_twitter: "Follow CodeCombat on Twitter"
social_twitter: "Segueix CodeCombat al Twitter"
# social_gplus: "Join CodeCombat on Google+"
# social_hipchat: "Chat with us in the public CodeCombat HipChat room"
# contribute_to_the_project: "Contribute to the project"
# editor:
editor:
# main_title: "CodeCombat Editors"
# article_title: "Article Editor"
# thang_title: "Thang Editor"
# level_title: "Level Editor"
level_title: "Editor de nivells"
# achievement_title: "Achievement Editor"
# back: "Back"
# revert: "Revert"
@ -602,13 +604,13 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# fork_title: "Fork New Version"
# fork_creating: "Creating Fork..."
# generate_terrain: "Generate Terrain"
# more: "More"
# wiki: "Wiki"
more: "Més"
wiki: "Wiki"
# live_chat: "Live Chat"
# level_some_options: "Some Options?"
# level_tab_thangs: "Thangs"
# level_tab_scripts: "Scripts"
# level_tab_settings: "Settings"
level_tab_settings: "Configuració"
# level_tab_components: "Components"
# level_tab_systems: "Systems"
# level_tab_docs: "Documentation"
@ -616,8 +618,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# level_tab_thangs_all: "All"
# level_tab_thangs_conditions: "Starting Conditions"
# level_tab_thangs_add: "Add Thangs"
# delete: "Delete"
# duplicate: "Duplicate"
delete: "Esborrar"
duplicate: "Duplicar"
# level_settings_title: "Settings"
# level_component_tab_title: "Current Components"
# level_component_btn_new: "Create New Component"
@ -655,38 +657,38 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# edit_btn_preview: "Preview"
# edit_article_title: "Edit Article"
# general:
general:
# and: "and"
# name: "Name"
name: "Nom"
# date: "Date"
# body: "Body"
# version: "Version"
version: "Versió"
# commit_msg: "Commit Message"
# version_history: "Version History"
# version_history_for: "Version History for: "
# result: "Result"
# results: "Results"
result: "Resultat"
results: "Resultats"
# description: "Description"
# or: "or"
# subject: "Subject"
# email: "Email"
# password: "Password"
password: "Contrasenya"
# message: "Message"
# code: "Code"
# ladder: "Ladder"
# when: "When"
# opponent: "Opponent"
# rank: "Rank"
# score: "Score"
score: "Puntuació"
# win: "Win"
# loss: "Loss"
# tie: "Tie"
# easy: "Easy"
# medium: "Medium"
# hard: "Hard"
# player: "Player"
easy: "Fàcil"
medium: "Intermedi"
hard: "Difícil"
player: "Jugador"
# about:
about:
# why_codecombat: "Why CodeCombat?"
# why_paragraph_1: "If you want to learn to program, you don't need lessons. You need to write a lot of code and have a great time doing it."
# why_paragraph_2_prefix: "That's what programming is about. It's gotta be fun. Not fun like"
@ -699,16 +701,16 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# press_paragraph_1_prefix: "Want to write about us? Feel free to download and use all of the resources included in our"
# press_paragraph_1_link: "press packet"
# press_paragraph_1_suffix: ". All logos and images may be used without contacting us directly."
# team: "Team"
team: "Equip"
# george_title: "CEO"
# george_blurb: "Businesser"
# scott_title: "Programmer"
scott_title: "Programador"
# scott_blurb: "Reasonable One"
# nick_title: "Programmer"
nick_title: "Programador"
# nick_blurb: "Motivation Guru"
# michael_title: "Programmer"
michael_title: "Programador"
# michael_blurb: "Sys Admin"
# matt_title: "Programmer"
matt_title: "Programador"
# matt_blurb: "Bicyclist"
# legal:
@ -857,38 +859,38 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# translating_diplomats: "Our Translating Diplomats:"
# helpful_ambassadors: "Our Helpful Ambassadors:"
# classes:
classes:
# archmage_title: "Archmage"
# archmage_title_description: "(Coder)"
# artisan_title: "Artisan"
# artisan_title_description: "(Level Builder)"
# adventurer_title: "Adventurer"
# adventurer_title_description: "(Level Playtester)"
# scribe_title: "Scribe"
artisan_title: "Artesà"
artisan_title_description: "(Creador de nivells)"
adventurer_title: "Aventurer"
adventurer_title_description: "(Provador de nivells)"
scribe_title: "Escriba"
# scribe_title_description: "(Article Editor)"
# diplomat_title: "Diplomat"
# diplomat_title_description: "(Translator)"
diplomat_title: "Diplomàtic"
diplomat_title_description: "(Traductor)"
# ambassador_title: "Ambassador"
# ambassador_title_description: "(Support)"
# ladder:
ladder:
# please_login: "Please log in first before playing a ladder game."
# my_matches: "My Matches"
# simulate: "Simulate"
simulate: "Simula"
# simulation_explanation: "By simulating games you can get your game ranked faster!"
# simulate_games: "Simulate Games!"
# simulate_all: "RESET AND SIMULATE GAMES"
# games_simulated_by: "Games simulated by you:"
# games_simulated_for: "Games simulated for you:"
# games_simulated: "Games simulated"
# games_played: "Games played"
games_played: "Partides guanyades"
# ratio: "Ratio"
# leaderboard: "Leaderboard"
# battle_as: "Battle as "
# summary_your: "Your "
# summary_matches: "Matches - "
# summary_wins: " Wins, "
# summary_losses: " Losses"
summary_wins: " Victories, "
summary_losses: " Derrotes"
# rank_no_code: "No New Code to Rank"
# rank_my_game: "Rank My Game!"
# rank_submitting: "Submitting..."
@ -900,9 +902,9 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# code_being_simulated: "Your new code is being simulated by other players for ranking. This will refresh as new matches come in."
# no_ranked_matches_pre: "No ranked matches for the "
# no_ranked_matches_post: " team! Play against some competitors and then come back here to get your game ranked."
# choose_opponent: "Choose an Opponent"
# select_your_language: "Select your language!"
# tutorial_play: "Play Tutorial"
choose_opponent: "Escull adversari"
select_your_language: "Escull el teu idioma!"
tutorial_play: "Juga el tutorial"
# tutorial_recommended: "Recommended if you've never played before"
# tutorial_skip: "Skip Tutorial"
# tutorial_not_sure: "Not sure what's going on?"
@ -922,8 +924,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# tournament_blurb: "Write code, collect gold, build armies, crush foes, win prizes, and upgrade your career in our $40,000 Greed tournament! Check out the details"
# tournament_blurb_criss_cross: "Win bids, construct paths, outwit opponents, grab gems, and upgrade your career in our Criss-Cross tournament! Check out the details"
# tournament_blurb_blog: "on our blog"
# rules: "Rules"
# winners: "Winners"
rules: "Normes"
winners: "Guanyadors"
# ladder_prizes:
# title: "Tournament Prizes"
@ -945,26 +947,26 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# license: "license"
# oreilly: "ebook of your choice"
# loading_error:
loading_error:
# could_not_load: "Error loading from server"
# connection_failure: "Connection failed."
connection_failure: "Connexió fallida."
# unauthorized: "You need to be signed in. Do you have cookies disabled?"
# forbidden: "You do not have the permissions."
# not_found: "Not found."
not_found: "No trobat."
# not_allowed: "Method not allowed."
# timeout: "Server timeout."
# conflict: "Resource conflict."
# bad_input: "Bad input."
# server_error: "Server error."
# unknown: "Unknown error."
server_error: "Error del servidor."
unknown: "Error desconegut."
# resources:
resources:
# sessions: "Sessions"
# your_sessions: "Your Sessions"
# level: "Level"
level: "Nivell"
# social_network_apis: "Social Network APIs"
# facebook_status: "Facebook Status"
# facebook_friends: "Facebook Friends"
facebook_friends: "Amics de Facebook"
# facebook_friend_sessions: "Facebook Friend Sessions"
# gplus_friends: "G+ Friends"
# gplus_friend_sessions: "G+ Friend Sessions"
@ -995,55 +997,55 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# candidate_sessions: "Candidate Sessions"
# user_remark: "User Remark"
# user_remarks: "User Remarks"
# versions: "Versions"
# items: "Items"
# heroes: "Heroes"
# wizard: "Wizard"
versions: "Versions"
items: "Objectes"
heroes: "Herois"
wizard: "Bruixot"
# achievement: "Achievement"
# clas: "CLAs"
# play_counts: "Play Counts"
# feedback: "Feedback"
# delta:
# added: "Added"
# modified: "Modified"
# deleted: "Deleted"
delta:
added: "Afegit"
modified: "Modificat"
deleted: "Eliminat"
# moved_index: "Moved Index"
# text_diff: "Text Diff"
# merge_conflict_with: "MERGE CONFLICT WITH"
# no_changes: "No Changes"
# user:
user:
# stats: "Stats"
# singleplayer_title: "Singleplayer Levels"
# multiplayer_title: "Multiplayer Levels"
singleplayer_title: "Nivell d'un sol jugador"
multiplayer_title: "Nivells multijugador"
# achievements_title: "Achievements"
# last_played: "Last Played"
# status: "Status"
# status_completed: "Completed"
# status_unfinished: "Unfinished"
# no_singleplayer: "No Singleplayer games played yet."
last_played: "Ultim jugat"
status: "Estat"
status_completed: "Complet"
status_unfinished: "Inacabat"
no_singleplayer: "Encara no s'han jugat nivells individuals."
# no_multiplayer: "No Multiplayer games played yet."
# no_achievements: "No Achievements earned yet."
# favorite_prefix: "Favorite language is "
# favorite_postfix: "."
# achievements:
achievements:
# last_earned: "Last Earned"
# amount_achieved: "Amount"
# achievement: "Achievement"
# category_contributor: "Contributor"
# category_miscellaneous: "Miscellaneous"
# category_levels: "Levels"
category_levels: "Nivells"
# category_undefined: "Uncategorized"
# current_xp_prefix: ""
# current_xp_postfix: " in total"
current_xp_postfix: " en total"
# new_xp_prefix: ""
# new_xp_postfix: " earned"
new_xp_postfix: " guanyat"
# left_xp_prefix: ""
# left_xp_infix: " until level "
# left_xp_postfix: ""
# account:
# recently_played: "Recently Played"
# no_recent_games: "No games played during the past two weeks."
account:
recently_played: "Ultimanent jugat"
no_recent_games: "No s'ha jugat en les ultimes setmanes."

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
done: "Hotovo"
customize_wizard: "Upravit Kouzelníka"
home: "Domů"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Průvodce"
restart: "Restartovat"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
victory_rate_the_level: "Ohodnoťte tuto úroveň: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Hrát další úroveň"
# victory_play_continue: "Continue"
victory_go_home: "Přejít domů"
victory_review: "Připomínky!"
victory_hour_of_code_done: "Skončili jste?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
tome_select_spell: "Zvolte Kouzlo"
tome_select_a_thang: "Zvolte někoho pro "
tome_available_spells: "Dostupná kouzla"
# tome_your_skills: "Your Skills"
hud_continue: "Pokračovat (stiskněte shift-mezera)"
spell_saved: "Kouzlo uloženo"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
done: "Færdig"
customize_wizard: "Tilpas troldmand"
home: "Hjem"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Guide"
restart: "Start forfra"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
victory_rate_the_level: "Bedøm denne bane: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Spil næste bane"
# victory_play_continue: "Continue"
victory_go_home: "Gå hjem"
victory_review: "Fortæl os mere!"
victory_hour_of_code_done: "Er du færdig?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
tome_select_spell: "Vælg en trylleformular"
tome_select_a_thang: "Vælg nogen til at "
tome_available_spells: "Tilgængelige trylleformularer"
# tome_your_skills: "Your Skills"
hud_continue: "Fortsæt (tryk skift-mellemrum)"
spell_saved: "Trylleformularen er gemt"
skip_tutorial: "Spring over (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
done: "Fertig"
customize_wizard: "Bearbeite den Zauberer"
home: "Startseite"
stop: "Stopp"
# skip: "Skip"
game_menu: "Spielmenü"
guide: "Hilfe"
restart: "Neustart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
victory_rate_the_level: "Bewerte das Level: "
victory_return_to_ladder: "Zurück zur Rangliste"
victory_play_next_level: "Spiel das nächste Level"
# victory_play_continue: "Continue"
victory_go_home: "Geh auf die Startseite"
victory_review: "Erzähl uns davon!"
victory_hour_of_code_done: "Bist Du fertig?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
tome_select_spell: "Wähle einen Zauber"
tome_select_a_thang: "Wähle jemanden aus, um "
tome_available_spells: "Verfügbare Zauber"
# tome_your_skills: "Your Skills"
hud_continue: "Weiter (drücke Shift + Leertaste)"
spell_saved: "Zauber gespeichert"
skip_tutorial: "Überspringen (Esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
done: "Fertig"
customize_wizard: "Zauberer apasse"
home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Aleitig"
restart: "Neu starte"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
victory_rate_the_level: "Bewerte das Level: "
victory_return_to_ladder: "Zrugg zum letzte Level"
victory_play_next_level: "Spiel s nögste Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
victory_review: "Verzell üs meh!"
victory_hour_of_code_done: "Bisch fertig?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
tome_select_spell: "Wähl en Zauberspruch us"
tome_select_a_thang: "Wähl öpper us für"
tome_available_spells: "Verfüegbari Zaubersprüch"
# tome_your_skills: "Your Skills"
hud_continue: "Wiiter (shift+space)"
spell_saved: "Zauberspruch gspeicheret"
skip_tutorial: "Überspringe (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
done: "Fertig"
customize_wizard: "Bearbeite den Zauberer"
home: "Startseite"
stop: "Stopp"
# skip: "Skip"
game_menu: "Spielmenü"
guide: "Hilfe"
restart: "Neustart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
victory_rate_the_level: "Bewerte das Level: "
victory_return_to_ladder: "Zurück zur Rangliste"
victory_play_next_level: "Spiel das nächste Level"
# victory_play_continue: "Continue"
victory_go_home: "Geh auf die Startseite"
victory_review: "Erzähl uns davon!"
victory_hour_of_code_done: "Bist Du fertig?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
tome_select_spell: "Wähle einen Zauber"
tome_select_a_thang: "Wähle jemanden aus, um "
tome_available_spells: "Verfügbare Zauber"
# tome_your_skills: "Your Skills"
hud_continue: "Weiter (drücke Shift + Leertaste)"
spell_saved: "Zauber gespeichert"
skip_tutorial: "Überspringen (Esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
done: "Έτοιμο"
customize_wizard: "Προσαρμόστε τον Μάγο"
home: "Αρχική"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Οδηγός"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
victory_rate_the_level: "Βαθμολογήστε το επίπεδο: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Παίξε το επόμενο επίπεδο"
# victory_play_continue: "Continue"
victory_go_home: "Πηγαίνετε στην Αρχική"
victory_review: "Πείτε μας περισσότερα!"
victory_hour_of_code_done: "Τελείωσες;"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# done: "Done"
customize_wizard: "Customise Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,6 @@
done: "Done"
customize_wizard: "Customize Wizard"
home: "Home"
stop: "Stop"
skip: "Skip"
game_menu: "Game Menu"
guide: "Guide"
@ -417,9 +416,12 @@
tome_cast_button_running: "Running"
tome_cast_button_ran: "Ran"
tome_submit_button: "Submit"
tome_select_spell: "Select a Spell"
tome_reload_method: "Reload original code for this method" # Title text for individual method reload button.
tome_select_method: "Select a Method"
tome_see_all_methods: "See all methods you can edit" # Title text for method list selector (shown when there are multiple programmable methdos).
tome_select_a_thang: "Select Someone for "
tome_available_spells: "Available Spells"
tome_your_skills: "Your Skills"
hud_continue: "Continue (shift+space)"
spell_saved: "Spell Saved"
skip_tutorial: "Skip (esc)"

View file

@ -15,9 +15,9 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
fork: "Bifurcar"
play: "Jugar" # When used as an action verb, like "Play next level"
retry: "Reintentar"
# watch: "Watch"
# unwatch: "Unwatch"
# submit_patch: "Submit Patch"
watch: "Seguir"
unwatch: "No seguir"
submit_patch: "Enviar Parche"
units:
second: "segundo"
@ -26,14 +26,14 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
minutes: "minutos"
hour: "hora"
hours: "horas"
# day: "day"
# days: "days"
# week: "week"
# weeks: "weeks"
# month: "month"
# months: "months"
# year: "year"
# years: "years"
day: "día"
days: "días"
week: "semana"
weeks: "semanas"
month: "mes"
months: "meses"
year: "año"
years: "años"
modal:
close: "Cerrar"
@ -44,14 +44,14 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
nav:
play: "Jugar" # The top nav bar entry where players choose which levels to play
# community: "Community"
community: "Comunidad"
editor: "Editor"
blog: "Blog"
forum: "Foro"
# account: "Account"
# profile: "Profile"
# stats: "Stats"
# code: "Code"
account: "Cuenta"
profile: "Perfil"
stats: "Stadísticas"
code: "Cógigo"
admin: "Admin"
home: "Inicio"
contribute: "Contribuir"
@ -79,7 +79,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
recover:
recover_account_title: "recuperar cuenta"
send_password: "Enviar Contraseña de Recuperación"
# recovery_sent: "Recovery email sent."
recovery_sent: "Correo de recuperación enviado."
signup:
create_account_title: "Crear Cuenta para Guardar el Progreso"
@ -91,7 +91,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
sign_up: "Registrarse"
log_in: "Inicia sesión con tu contraseña"
social_signup: "O, puedes conectarte a través de Facebook o G+:"
# required: "You need to log in before you can go that way."
required: "Necesitas entrar a tu cuenta antes de continuar."
home:
slogan: "Aprende a programar jugando"
@ -104,12 +104,12 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
for_beginners: "Para Principiantes"
multiplayer: "Multijugador"
for_developers: "Para Desarrolladores"
# javascript_blurb: "The language of the web. Great for writing websites, web apps, HTML5 games, and servers."
# python_blurb: "Simple yet powerful, Python is a great general purpose programming language."
# coffeescript_blurb: "Nicer JavaScript syntax."
# clojure_blurb: "A modern Lisp."
# lua_blurb: "Game scripting language."
# io_blurb: "Simple but obscure."
javascript_blurb: "El lenguaje de la web. Usado en sitios y aplicaciones web, juegos en HTML5, y servidores."
python_blurb: "Simple pero poderoso, Python es un grandioso lenguaje de programación de uso general."
coffeescript_blurb: "Mejor JavaScript."
clojure_blurb: "Un Lisp moderno."
lua_blurb: "Para Juegos."
io_blurb: "Simple pero oscuro."
play:
choose_your_level: "Elige tu nivel"
@ -124,29 +124,29 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
campaign_multiplayer_description: "... en las que programas cara-a-cara contra otros jugadores."
campaign_player_created: "Creados-Por-Jugadores"
campaign_player_created_description: "... en los que luchas contra la creatividad de tus compañeros <a href=\"/contribute#artisan\">Hechiceros Artesanales</a>."
# campaign_classic_algorithms: "Classic Algorithms"
# campaign_classic_algorithms_description: "... in which you learn the most popular algorithms in Computer Science."
campaign_classic_algorithms: "Algorítmos Clásicos"
campaign_classic_algorithms_description: "... en la cual aprendes los algorítmos más populares en las Ciencias de la Computación."
level_difficulty: "Dificultad: "
play_as: "Jugar Como "
spectate: "Observar"
# players: "players"
# hours_played: "hours played"
# items: "Items"
# heroes: "Heroes"
# achievements: "Achievements"
# account: "Account"
# settings: "Settings"
# next: "Next"
# previous: "Previous"
# choose_inventory: "Equip Items"
players: "jugadores"
hours_played: "horas jugadas"
items: "Objetos"
heroes: "roes"
achievements: "Logros"
account: "Cuenta"
settings: "Configuración"
next: "Próximo"
previous: "Previo"
choose_inventory: "Equipar objetos"
# items:
# armor: "Armor"
# hands: "Hands"
# accessories: "Accessories"
# books: "Books"
# minions: "Minions"
# misc: "Misc"
items:
armor: "Armadura"
hands: "Manos"
accessories: "Accesorios"
books: "Libros"
minions: "Seguidores"
misc: "Misc"
contact:
contact_us: "Contacta a CodeCombat"
@ -191,7 +191,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
autosave: "Cambios Guardados Automáticamente"
me_tab: "Yo"
picture_tab: "Imagen"
# upload_picture: "Upload a picture"
upload_picture: "Sube una imagen"
wizard_tab: "Hechicero"
password_tab: "Contraseña"
emails_tab: "Correos"
@ -200,16 +200,16 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
new_password: "Nueva Contraseña"
new_password_verify: "Verificar"
email_subscriptions: "Suscripciones de Email"
# email_subscriptions_none: "No Email Subscriptions."
email_subscriptions_none: "No tienes subcripciones."
email_announcements: "Noticias"
email_announcements_description: "Recibe correos electrónicos con las últimas noticias y desarrollos de CodeCombat."
email_notifications: "Notificaciones"
# email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity."
# email_any_notes: "Any Notifications"
# email_any_notes_description: "Disable to stop all activity notification emails."
# email_news: "News"
# email_recruit_notes: "Job Opportunities"
# email_recruit_notes_description: "If you play really well, we may contact you about getting you a (better) job."
email_notifications_summary: "Controles para tus notificaciones por correo electrónico automáticas y personalizadas relativas a tu actividad en CodeCombat."
email_any_notes: "Algunas notificaciones"
email_any_notes_description: "Desactiva para detener toda la actividad de correos de notificaciones."
email_news: "Noticias"
email_recruit_notes: "Oportunidades Laborales"
email_recruit_notes_description: "Si juegas realmente bien podríamos contactarte para ofrecerte un (mejor) trabajo."
contributor_emails: "Emails Clase Contribuyente"
contribute_prefix: "¡Estamos buscando gente que se una a nuestro grupo! Echa un vistazo a la "
contribute_page: "página de contribución"
@ -218,150 +218,150 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
error_saving: "Error al Guardar"
saved: "Cambios Guardados"
password_mismatch: "La contraseña no coincide."
# password_repeat: "Please repeat your password."
password_repeat: "Por favor repita su contraseña."
job_profile: "Perfil de Trabajo"
job_profile_approved: "Tu perfil de trabajo ha sido aprobado por CodeCombat. Los empleadores podrán verlo hasta que lo marques como inactivo o permanezca sin cambios por cuatro semanas."
job_profile_explanation: "¡Hola! Llena esto, y te contactaremos acerca de encontrar un trabajo como desarrollador de software."
# sample_profile: "See a sample profile"
# view_profile: "View Your Profile"
sample_profile: "Mira un perfil de ejemplo"
view_profile: "Ver tu perfil"
account_profile:
# settings: "Settings"
# edit_profile: "Edit Profile"
# done_editing: "Done Editing"
settings: "Configuración"
edit_profile: "Editar Perfil"
done_editing: "Terminar Edición"
profile_for_prefix: "Perfil para "
profile_for_suffix: ""
# featured: "Featured"
# not_featured: "Not Featured"
featured: "Soportado"
not_featured: "No Soportado"
looking_for: "Buscando:"
last_updated: "Última Actualización:"
contact: "Contacto"
# active: "Looking for interview offers now"
# inactive: "Not looking for offers right now"
# complete: "complete"
# next: "Next"
# next_city: "city?"
# next_country: "pick your country."
# next_name: "name?"
# next_short_description: "write a short description."
# next_long_description: "describe your desired position."
# next_skills: "list at least five skills."
# next_work: "chronicle your work history."
# next_education: "recount your educational ordeals."
# next_projects: "show off up to three projects you've worked on."
# next_links: "add any personal or social links."
# next_photo: "add an optional professional photo."
# next_active: "mark yourself open to offers to show up in searches."
# example_blog: "Blog"
# example_personal_site: "Personal Site"
# links_header: "Personal Links"
# links_blurb: "Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog."
# links_name: "Link Name"
# links_name_help: "What are you linking to?"
# links_link_blurb: "Link URL"
# basics_header: "Update basic info"
# basics_active: "Open to Offers"
# basics_active_help: "Want interview offers right now?"
# basics_job_title: "Desired Job Title"
# basics_job_title_help: "What role are you looking for?"
# basics_city: "City"
# basics_city_help: "City you want to work in (or live in now)."
# basics_country: "Country"
# basics_country_help: "Country you want to work in (or live in now)."
# basics_visa: "US Work Status"
# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
# basics_looking_for: "Looking For"
# basics_looking_for_full_time: "Full-time"
# basics_looking_for_part_time: "Part-time"
# basics_looking_for_remote: "Remote"
# basics_looking_for_contracting: "Contracting"
# basics_looking_for_internship: "Internship"
# basics_looking_for_help: "What kind of developer position do you want?"
# name_header: "Fill in your name"
# name_anonymous: "Anonymous Developer"
# name_help: "Name you want employers to see, like 'Nick Winter'."
# short_description_header: "Write a short description of yourself"
# short_description_blurb: "Add a tagline to help an employer quickly learn more about you."
# short_description: "Tagline"
# short_description_help: "Who are you, and what are you looking for? 140 characters max."
# skills_header: "Skills"
# skills_help: "Tag relevant developer skills in order of proficiency."
# long_description_header: "Describe your desired position"
# long_description_blurb: "Tell employers how awesome you are and what role you want."
# long_description: "Self Description"
# long_description_help: "Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max."
active: "En busca de entrevistas ahora mismo"
inactive: "No busco entrevistas por ahora"
complete: "completado"
next: "Siguiente"
next_city: "¿Ciudad?"
next_country: "selecciona tu país"
next_name: "¿Nombre?"
next_short_description: "escribe una breve descripción."
next_long_description: "describe a que posción aspiras."
next_skills: "nombra al menos cinco de tus cualidades."
next_work: "detalla tu historial laboral."
next_education: "realiza un recuento de tus méritos academicos."
next_projects: "exhibe un máximo de tres proyectos en los que hayas participado."
next_links: "añade cualquier enlace personal o social"
next_photo: "añade una foto profesional (opcional)."
next_active: "etiquetate como abierto a ofertas, para aparecer en las busquedas."
example_blog: "Blog"
example_personal_site: "Sitio Personal"
links_header: "Enlaces Personale"
links_blurb: "Añade enlaces a cualquier otro sitio o perfil que desees destacar, como tu GitHub, LinkedIn, o blog."
links_name: "Nombre del enlace"
links_name_help: "¿A que estas enlazando?"
links_link_blurb: "URL del enlace"
basics_header: "Actualizar información básica"
basics_active: "Abierto a ofertas"
basics_active_help: "¿Quieres ofertas para entrevistarte ahora mismo?"
basics_job_title: "Posición Laboral deseada"
basics_job_title_help: "¿Qué posición laboral estas buscando?"
basics_city: "Ciudad"
basics_city_help: "Ciudad en la que deseas trabajar (o en la que vives ahora)."
basics_country: "País"
basics_country_help: "País en el que deseas trabajar (o en el que vives ahora)."
basics_visa: "Estatus laboral en EEUU"
basics_visa_help: "¿Te encuentras autorizado para trabajar en los EEUU, o necesitas un patrocinador de visa? (Si vives en Canada o australia, selecciona autorizado.)"
basics_looking_for: "Buscando"
basics_looking_for_full_time: "Tiempo completo"
basics_looking_for_part_time: "Tiempo parcial"
basics_looking_for_remote: "A distacia"
basics_looking_for_contracting: "Contratación"
basics_looking_for_internship: "Pasantía"
basics_looking_for_help: "¿Qué tipo de posición estas buscando como desarrollador?"
name_header: "Escribe tu nombre"
name_anonymous: "Desarrollador anónimo"
name_help: "El nombre que los empleadores verán, por ejemplo 'Max Power'."
short_description_header: "Descríbete en pocas palabras"
short_description_blurb: "Añade un lema, para que un empleador pueda conocerte mejor facilmente."
short_description: "Lema"
short_description_help: "¿Quién eres, y que estas buscando? 140 caractéres máximo."
skills_header: "Cualidades"
skills_help: "Etiqueta tus cualidades más relevantes como desarrollador, en orden de competencia."
long_description_header: "Describe tu posición laboral deseada"
long_description_blurb: "Dile a los empleadores lo genial que eres, y que rol estas buscando."
long_description: "Auto Descripción"
long_description_help: "Describete a ti mismo para tus potenciales empleadores. Mantenlo corto y ve al grano. Te recomendamos destacar la posición laboral de mayor interes para ti. Un enfoque reduccionista, de buen gusto, es bienvenido; 600 caracteres mmáximo."
work_experience: "Experiencia de Trabajo"
# work_header: "Chronicle your work history"
# work_years: "Years of Experience"
# work_years_help: "How many years of professional experience (getting paid) developing software do you have?"
# work_blurb: "List your relevant work experience, most recent first."
# work_employer: "Employer"
# work_employer_help: "Name of your employer."
# work_role: "Job Title"
# work_role_help: "What was your job title or role?"
# work_duration: "Duration"
# work_duration_help: "When did you hold this gig?"
# work_description: "Description"
# work_description_help: "What did you do there? (140 chars; optional)"
work_header: "Detalla tu historial laboral"
work_years: "Años de Experiencia"
work_years_help: "Cuántos años de experiencia profesional (pagos) desarrollando software tienes?"
work_blurb: "Realiza una lista con lo que consideres es tu experiencia laboral relevante, comenzando por la más reciente."
work_employer: "Empleador"
work_employer_help: "Nombre de tu empleador."
work_role: "Nombre de la posición laboral"
work_role_help: "¿Cuál era tu posición laboral o rol?"
work_duration: "Duración"
work_duration_help: "¿Cuál fue la duración de esa experiencia?"
work_description: "Descripción"
work_description_help: "¿Qué actividades realizabas allí? (140 caracteres; opcional)"
education: "Educación"
# education_header: "Recount your academic ordeals"
# education_blurb: "List your academic ordeals."
# education_school: "School"
# education_school_help: "Name of your school."
# education_degree: "Degree"
# education_degree_help: "What was your degree and field of study?"
# education_duration: "Dates"
# education_duration_help: "When?"
# education_description: "Description"
# education_description_help: "Highlight anything about this educational experience. (140 chars; optional)"
education_header: "Realiza un recuento de tus méritos academicos"
education_blurb: "Escribe un recuento de tus méritos academicos."
education_school: "Escuela"
education_school_help: "Nombre de tu escuela."
education_degree: "Título"
education_degree_help: "¿Cuál fue tu título y área de estudio"
education_duration: "Fechas"
education_duration_help: "¿Cuándo?"
education_description: "Descripción"
education_description_help: "Destaca cualquier cosa acerca de esta experiencia educacional. (140 caracteres; opcional)"
our_notes: "Nuestras Notas"
# remarks: "Remarks"
remarks: "Observaciones"
projects: "Proyectos"
# projects_header: "Add 3 projects"
# projects_header_2: "Projects (Top 3)"
# projects_blurb: "Highlight your projects to amaze employers."
# project_name: "Project Name"
# project_name_help: "What was the project called?"
# project_description: "Description"
# project_description_help: "Briefly describe the project."
# project_picture: "Picture"
# project_picture_help: "Upload a 230x115px or larger image showing off the project."
# project_link: "Link"
# project_link_help: "Link to the project."
# player_code: "Player Code"
projects_header: "Añade 3 proyectos"
projects_header_2: "Proyectos (Top 3)"
projects_blurb: "Destaca tus proyectos para sorprender a los empleadores."
project_name: "Nombre del Proyecto"
project_name_help: "¿Cómo se llamaba el proyecto?"
project_description: "Descripción"
project_description_help: "Describe el proyecto brevemente.."
project_picture: "Foto"
project_picture_help: "Sube una imagen de 230x115px (o mayor) mostrando el proyecto"
project_link: "Enlace"
project_link_help: "Enlace al proyecto."
player_code: "Código de Jugador"
employers:
# hire_developers_not_credentials: "Hire developers, not credentials."
# get_started: "Get Started"
# already_screened: "We've already technically screened all our candidates"
# filter_further: ", but you can also filter further:"
# filter_visa: "Visa"
# filter_visa_yes: "US Authorized"
# filter_visa_no: "Not Authorized"
# filter_education_top: "Top School"
# filter_education_other: "Other"
# filter_role_web_developer: "Web Developer"
# filter_role_software_developer: "Software Developer"
# filter_role_mobile_developer: "Mobile Developer"
# filter_experience: "Experience"
# filter_experience_senior: "Senior"
# filter_experience_junior: "Junior"
# filter_experience_recent_grad: "Recent Grad"
# filter_experience_student: "College Student"
# filter_results: "results"
# start_hiring: "Start hiring."
# reasons: "Three reasons you should hire through us:"
# everyone_looking: "Everyone here is looking for their next opportunity."
# everyone_looking_blurb: "Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction."
# weeding: "Sit back; we've done the weeding for you."
# weeding_blurb: "Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time."
# pass_screen: "They will pass your technical screen."
# pass_screen_blurb: "Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News."
# make_hiring_easier: "Make my hiring easier, please."
# what: "What is CodeCombat?"
# what_blurb: "CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. Our players have experience with all major tech stacks."
# cost: "How much do we charge?"
# cost_blurb: "We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company."
hire_developers_not_credentials: "Contrata desarrolladores, no credenciales."
get_started: "Comenzar"
already_screened: "Ya hemos realizado un monitoreo técnico de todos los candidatos"
filter_further: ",pero también puedes hacer un filtrado mas específico:"
filter_visa: "Visa"
filter_visa_yes: "Autorizado para los EEUU"
filter_visa_no: "No autorizado"
filter_education_top: "Escuela de elite"
filter_education_other: "Otro"
filter_role_web_developer: "Desarrollador Web"
filter_role_software_developer: "Desarrollador de Software"
filter_role_mobile_developer: "Desarrollador Móvil"
filter_experience: "Experiencia"
filter_experience_senior: "Senior"
filter_experience_junior: "Junior"
filter_experience_recent_grad: "Grado académico reciente"
filter_experience_student: "Estudiante Universitario"
filter_results: "resultados"
start_hiring: "Comenzar a contratar."
reasons: "Tres razones por las cuales deberías contratar a traves de nosotros:"
everyone_looking: "Todos aquí estan en busqueda de una oportunidad laboral."
everyone_looking_blurb: "Olvidate del 20% de respuestas promedio obtenidas via LinkedIn InMail. Todas las personas listadas en este sitio quieren encontrar su próxima posición laboral y responderan a tu solicitud para concretar una introducción."
weeding: "Relajate; ya hemos desmalezado por ti."
weeding_blurb: "Todo jugador listado ha sido monitoreado en lo que a su habilidad técnica se refiere. También llevamos a cabo monitoreos telefónicos a los candidatos seleccionados y dejamos notas en sus perfiles para ahorrarte tiempo."
pass_screen: "Ell@s superaran tu monitoreo técnico."
pass_screen_blurb: "Revisa el código de cada jugador antes de ponerte en contacto. Uno de nuestros empleadores se encontro con una proporción 5 veces mayor de nuestros desarrolladores superando su monitoreo técnico al compararlo con contrataciones realizadas en Hacker News."
make_hiring_easier: "Has mi contratación mas simple, por favor."
what: "Que es CodeCombat?"
what_blurb: "CodeCombat es un juego multijugador de programación para navegadores. Los jugadores escriben un código para medirse en batalla contra otros desarrolladores. Nuestros jugadores cuentan con experiencia en los principales lenguajes técnicos."
cost: "¿Cuánto cobramos?"
cost_blurb: "Cobramos un 15% del primer salario anual y ofrecemos una garantía de devolución del 100% del dinero por 90 días. No cobramos por candidatos que actualmente se encuentren siendo entrevistados de forma activa por tu compañia."
candidate_name: "Nombre"
candidate_location: "Ubicación"
candidate_looking_for: "Buscando"
@ -369,25 +369,25 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
candidate_top_skills: "Mejores Habilidades"
candidate_years_experience: "Años de Exp"
candidate_last_updated: "Última Actualización"
# candidate_who: "Who"
# featured_developers: "Featured Developers"
# other_developers: "Other Developers"
# inactive_developers: "Inactive Developers"
candidate_who: "Quién"
featured_developers: "Desarrolladores Destacados"
other_developers: "Otros Desarrolladores"
inactive_developers: "Desarrolladores Inactivos"
play_level:
done: "Listo"
customize_wizard: "Personalizar Hechicero"
home: "Inicio"
# stop: "Stop"
# game_menu: "Game Menu"
# skip: "Skip"
game_menu: "Menu del Juego"
guide: "Guia"
restart: "Reiniciar"
goals: "Objetivos"
# goal: "Goal"
# success: "Success!"
# incomplete: "Incomplete"
# timed_out: "Ran out of time"
# failing: "Failing"
success: "¡Éxito!"
incomplete: "Incompleto"
timed_out: "Se te acabo el tiempo"
failing: "Fallando"
action_timeline: "Cronologia de Accion"
click_to_select: "Has click en una unidad para seleccionarla."
reload_title: "¿Recargar Todo el Codigo?"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
victory_rate_the_level: "Valora el nivel: "
victory_return_to_ladder: "Volver a la escalera"
victory_play_next_level: "Jugar Próximo Nivel"
# victory_play_continue: "Continue"
victory_go_home: "Ir al Inicio"
victory_review: "¡Cuéntanos más!"
victory_hour_of_code_done: "¿Has acabado?"
@ -418,10 +419,11 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
tome_select_spell: "Selecciona un Hechizo"
tome_select_a_thang: "Selecciona Alguien para "
tome_available_spells: "Hechizos Disponibles"
# tome_your_skills: "Your Skills"
hud_continue: "Continuar (presionar shift+space)"
spell_saved: "Hechizo Guardado"
skip_tutorial: "Saltar (esc)"
# keyboard_shortcuts: "Key Shortcuts"
keyboard_shortcuts: "Atajos de teclado"
loading_ready: "¡Listo!"
# loading_start: "Start Level"
tip_insert_positions: "Shift+Clic un punto en el mapa para insertarlo en el editor de hechizos."
@ -431,7 +433,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
tip_open_source: "¡CodeCombat es 100% código abierto!"
tip_beta_launch: "CodeCombat lanzó su beta en Octubre del 2013."
tip_js_beginning: "JavaScript es sólo el principio."
# tip_think_solution: "Think of the solution, not the problem."
tip_think_solution: "Piensa en la solución, no en el problema."
tip_theory_practice: "En teoría, no hay diferencia entre la teoría y la práctica. Pero en la práctica, si la hay. - Yogi Berra"
tip_error_free: "Hay dos formas de escribir programas libres de errores; sólo la tercera funciona. - Alan Perlis"
tip_debugging_program: "Si depurar es el proceso de remover errores, entonces programar debe ser el proceso de colocarlos. - Edsger W. Dijkstra"
@ -451,7 +453,7 @@ module.exports = nativeDescription: "español (América Latina)", englishDescrip
tip_impossible: "Siempre parece imposible hasta que se hace. - Nelson Mandela"
tip_talk_is_cheap: "Hablar es barato. Muestrame el código. - Linus Torvalds"
tip_first_language: "La cosa más desastroza que puedes aprender es tu primer lenguaje de programación. - Alan Kay"
# tip_hardware_problem: "Q: How many programmers does it take to change a light bulb? A: None, it's a hardware problem."
tip_hardware_problem: "P: ¿Cuántos programadores son necesarios para cambiar una bombilla eléctrica? R: Ninguno, es un problema de hardware."
# tip_hofstadters_law: "Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law."
# tip_premature_optimization: "Premature optimization is the root of all evil. - Donald Knuth"
# tip_brute_force: "When in doubt, use brute force. - Ken Thompson"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
done: "Hecho"
customize_wizard: "Personalizar Mago"
home: "Inicio"
stop: "Parar"
# skip: "Skip"
game_menu: "Menu del Juego"
guide: "Guía"
restart: "Reiniciar"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
victory_rate_the_level: "Puntúa este nivel: "
victory_return_to_ladder: "Volver a Clasificación"
victory_play_next_level: "Jugar el siguiente nivel"
# victory_play_continue: "Continue"
victory_go_home: "Ir a Inicio"
victory_review: "¡Cuéntanos más!"
victory_hour_of_code_done: "¿Ya terminaste?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
tome_select_spell: "Selecciona un Hechizo"
tome_select_a_thang: "Selecciona a alguien para "
tome_available_spells: "Hechizos disponibles"
# tome_your_skills: "Your Skills"
hud_continue: "Continuar (pulsa Shift+Space)"
spell_saved: "Hechizo guardado"
skip_tutorial: "Saltar (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
done: "Fait"
customize_wizard: "Personnaliser le magicien"
home: "Accueil"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Guide"
restart: "Relancer"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
victory_rate_the_level: "Notez ce niveau: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Jouer au prochain niveau"
# victory_play_continue: "Continue"
victory_go_home: "Retourner à l'accueil"
victory_review: "Dites-nous en plus!"
victory_hour_of_code_done: "Déjà fini ?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
tome_select_spell: "Choisissez un sort"
tome_select_a_thang: "Sélectionnez une unité pour"
tome_available_spells: "Sorts diponibles"
# tome_your_skills: "Your Skills"
hud_continue: "Continuer (appuie sur shift ou espace)"
spell_saved: "Sort enregistré"
skip_tutorial: "Passer (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
done: "Kész"
customize_wizard: "Varázsló testreszabása"
home: "Kezdőlap"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Segítség"
restart: "Előlről"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
victory_rate_the_level: "Értékeld a pályát: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Következő pálya"
# victory_play_continue: "Continue"
victory_go_home: "Vissza a kezdőoldalra"
victory_review: "Mondd el a véleményedet!"
victory_hour_of_code_done: "Készen vagy?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
tome_select_spell: "Válassz egy varázslatot"
tome_select_a_thang: "Válassz ki valakit "
tome_available_spells: "Elérhető varázslatok"
# tome_your_skills: "Your Skills"
hud_continue: "Folytatás (shift+space)"
spell_saved: "Varázslat elmentve."
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
done: "Fatto"
customize_wizard: "Personalizza stregone"
home: "Pagina iniziale"
stop: "Stop"
# skip: "Skip"
game_menu: "Menu"
guide: "Guida"
restart: "Ricomincia"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
victory_rate_the_level: "Vota il livello: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Gioca il prossimo livello"
# victory_play_continue: "Continue"
victory_go_home: "Torna alla pagina iniziale"
victory_review: "Dicci di più!"
victory_hour_of_code_done: "Finito?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
tome_select_spell: "Seleziona un incantesimo"
tome_select_a_thang: "Seleziona qualcuno per "
tome_available_spells: "Incantesimi disponibili"
# tome_your_skills: "Your Skills"
hud_continue: "Continua (premi Maiusc-Spazio)"
spell_saved: "Magia Salvata"
skip_tutorial: "Salta (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
done: "完了"
customize_wizard: "魔法使いの設定"
home: "ホーム"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "ガイド"
restart: "再始動"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
victory_rate_the_level: "このレベルの評価: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "次のレベル"
# victory_play_continue: "Continue"
victory_go_home: "ホームに戻る"
victory_review: "フィードバック"
victory_hour_of_code_done: "完了してよろしいですか?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
tome_select_spell: "呪文を選択"
tome_select_a_thang: "誰かを選択: "
tome_available_spells: "利用できる呪文"
# tome_your_skills: "Your Skills"
hud_continue: "続く Shift+Spaceキー"
spell_saved: "呪文を保存しました"
skip_tutorial: "スキップ (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
done: "완료"
customize_wizard: "사용자 정의 마법사"
home: ""
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "가이드"
restart: "재시작"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
victory_rate_the_level: "이번 레벨 평가: "
victory_return_to_ladder: "레더로 돌아가기"
victory_play_next_level: "다음 레벨 플레이 하기"
# victory_play_continue: "Continue"
victory_go_home: "홈으로"
victory_review: "리뷰를 남겨주세요"
victory_hour_of_code_done: "정말 종료합니까?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
tome_select_spell: "마법을 선택 하세요"
tome_select_a_thang: "누군가를 선택하세요. "
tome_available_spells: "사용 가능한 마법"
# tome_your_skills: "Your Skills"
hud_continue: "계속진행 (shift+space)"
spell_saved: "마법 저장 완료"
skip_tutorial: "넘기기 (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
done: "Ferdig"
customize_wizard: "Spesiallag Trollmann"
home: "Hjem"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Guide"
restart: "Start på nytt"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
victory_rate_the_level: "Bedøm nivået: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Spill Neste Nivå"
# victory_play_continue: "Continue"
victory_go_home: "Gå Hjem"
victory_review: "Fortell oss mer!"
victory_hour_of_code_done: "Er du ferdig?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
tome_select_spell: "Velg et Trylleformular"
tome_select_a_thang: "Velg Noe for å "
tome_available_spells: "Tilgjenglige Trylleformularer"
# tome_your_skills: "Your Skills"
hud_continue: "Fortsett (trykk shift-mellomrom)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
done: "Klaar"
customize_wizard: "Pas Tovenaar aan"
home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Handleiding"
restart: "Herstarten"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
victory_rate_the_level: "Beoordeel het level: "
victory_return_to_ladder: "Keer terug naar de ladder"
victory_play_next_level: "Speel Volgend Level"
# victory_play_continue: "Continue"
victory_go_home: "Ga naar Home"
victory_review: "Vertel ons meer!"
victory_hour_of_code_done: "Ben Je Klaar?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
tome_select_spell: "Selecteer een Spreuk"
tome_select_a_thang: "Selecteer Iemand voor "
tome_available_spells: "Beschikbare spreuken"
# tome_your_skills: "Your Skills"
hud_continue: "Ga verder (druk shift-space)"
spell_saved: "Spreuk Opgeslagen"
skip_tutorial: "Overslaan (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
done: "Klaar"
customize_wizard: "Pas Tovenaar aan"
home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Handleiding"
restart: "Herstarten"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
victory_rate_the_level: "Beoordeel het level: "
victory_return_to_ladder: "Keer terug naar de ladder"
victory_play_next_level: "Speel Volgend Level"
# victory_play_continue: "Continue"
victory_go_home: "Ga naar Home"
victory_review: "Vertel ons meer!"
victory_hour_of_code_done: "Ben Je Klaar?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
tome_select_spell: "Selecteer een Spreuk"
tome_select_a_thang: "Selecteer Iemand voor "
tome_available_spells: "Beschikbare spreuken"
# tome_your_skills: "Your Skills"
hud_continue: "Ga verder (druk shift-spatie)"
spell_saved: "Spreuk Opgeslagen"
skip_tutorial: "Overslaan (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
done: "Ferdig"
customize_wizard: "Tilpass trollmann"
home: "Hovedside"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Guide"
restart: "Start på nytt"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
victory_rate_the_level: "Bedøm nivået: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Spill neste nivå"
# victory_play_continue: "Continue"
victory_go_home: "Gå til Hovedsiden"
victory_review: "Fortell oss mer!"
victory_hour_of_code_done: "Er du ferdig?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
tome_select_spell: "Velg et trylleformular"
tome_select_a_thang: "Velg noe for å "
tome_available_spells: "Tilgjenglige trylleformularer"
# tome_your_skills: "Your Skills"
hud_continue: "Fortsett (trykk shift+mellomrom)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
done: "Zrobione"
customize_wizard: "Spersonalizuj czarodzieja"
home: "Strona główna"
# stop: "Stop"
# skip: "Skip"
game_menu: "Menu gry"
guide: "Przewodnik"
restart: "Zacznij od nowa"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
victory_rate_the_level: "Oceń poziom: "
victory_return_to_ladder: "Powrót do drabinki"
victory_play_next_level: "Przejdź na następny poziom"
# victory_play_continue: "Continue"
victory_go_home: "Powrót do strony głównej"
victory_review: "Powiedz nam coś więcej!"
victory_hour_of_code_done: "Skończyłeś już?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
tome_select_spell: "Wybierz czar"
tome_select_a_thang: "Wybierz kogoś do "
tome_available_spells: "Dostępne czary"
# tome_your_skills: "Your Skills"
hud_continue: "Kontynuuj (Shift + spacja)"
spell_saved: "Czar zapisany"
skip_tutorial: "Pomiń (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
done: "Pronto"
customize_wizard: "Personalize o feiticeiro"
home: "Início"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Guia"
restart: "Reiniciar"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
victory_rate_the_level: "Avalie o estágio: "
victory_return_to_ladder: "Retornar para a Ladder"
victory_play_next_level: "Jogar o próximo estágio"
# victory_play_continue: "Continue"
victory_go_home: "Ir à página inicial"
victory_review: "Diga-nos mais!"
victory_hour_of_code_done: "Terminou?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "português do Brasil", englishDescription:
tome_select_spell: "Selecione um Feitiço"
tome_select_a_thang: "Selecione alguém para "
tome_available_spells: "Feitiços Disponíveis"
# tome_your_skills: "Your Skills"
hud_continue: "Continue (tecle Shift+Space)"
spell_saved: "Feitiço Salvo"
skip_tutorial: "Pular (esc)"

View file

@ -64,7 +64,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
versions:
save_version_title: "Guardar Nova Versão"
new_major_version: "Nova Versão Principal"
cla_prefix: "Para guardar as alterações, precisa de concordar com o nosso"
cla_prefix: "Para guardares as alterações, precisas de concordar com o nosso"
cla_url: "CLA"
cla_suffix: "."
cla_agree: "EU CONCORDO"
@ -90,16 +90,16 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
creating: "A Criar Conta..."
sign_up: "Registar"
log_in: "iniciar sessão com palavra-passe"
social_signup: "Ou pode registar-se através do Facebook ou do Google+:"
required: "Precisa de iniciar sessão antes de prosseguir dessa forma."
social_signup: "Ou podes registar-te através do Facebook ou do Google+:"
required: "Precisas de iniciar sessão antes de prosseguir dessa forma."
home:
slogan: "Aprenda a Programar ao Jogar um Jogo"
no_ie: "O CodeCombat não funciona no Internet Explorer 9 ou anterior. Desculpe!"
slogan: "Aprende a Programar ao Jogar um Jogo"
no_ie: "O CodeCombat não funciona no Internet Explorer 9 ou anterior. Desculpa!"
no_mobile: "O CodeCombat não foi feito para dispositivos móveis e pode não funcionar!"
play: "Jogar" # The big play button that just starts playing a level
old_browser: "Ups, o seu navegador é demasiado antigo para que o CodeCombat funcione. Desculpe!"
old_browser_suffix: "Mesmo assim pode tentar, mas provavelmente não irá funcionar."
old_browser: "Ups, o teu navegador é demasiado antigo para que o CodeCombat funcione. Desculpa!"
old_browser_suffix: "Mesmo assim podes tentar, mas provavelmente não irá funcionar."
campaign: "Campanha"
for_beginners: "Para Iniciantes"
multiplayer: "Multijogador"
@ -107,25 +107,25 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
javascript_blurb: "A linguagem da web. Ótima para escrever websites, aplicações da web, jogos HTML5 e servidores."
python_blurb: "Simples mas poderoso, o Python é uma linguagem de programação ótima para propósitos gerais."
coffeescript_blurb: "Sintaxe do Javascript mais agradável."
clojure_blurb: "Um Lisp moderno"
lua_blurb: "Linguagem para scripts de jogos"
io_blurb: "Simples mas obscuro"
clojure_blurb: "Um Lisp moderno."
lua_blurb: "Linguagem para scripts de jogos."
io_blurb: "Simples mas obscuro."
play:
choose_your_level: "Escolha o Seu Nível"
adventurer_prefix: "Pode saltar para um dos níveis abaixo ou discutir os níveis no "
choose_your_level: "Escolhe o Teu Nível"
adventurer_prefix: "Podes saltar para um dos níveis abaixo ou discutir os níveis no "
adventurer_forum: "fórum do Aventureiro"
adventurer_suffix: "."
campaign_beginner: "Campanha para Iniciantes"
campaign_beginner_description: "... onde aprende a magia da programação."
campaign_beginner_description: "... onde aprendes a magia da programação."
campaign_dev: "Níveis mais Difíceis Aleatórios"
campaign_dev_description: "... onde aprende a interface enquanto faz coisas um bocadinho mais difíceis."
campaign_dev_description: "... onde aprendes a interface enquanto fazes coisas um bocadinho mais difíceis."
campaign_multiplayer: "Arenas Multijogador"
campaign_multiplayer_description: "... onde programa frente-a-frente contra outros jogadores."
campaign_multiplayer_description: "... onde programas frente-a-frente contra outros jogadores."
campaign_player_created: "Criados por Jogadores"
campaign_player_created_description: "... onde combate contra a criatividade dos seus colegas <a href=\"/contribute#artisan\">Feiticeiros Artesãos</a>."
campaign_player_created_description: "... onde combates contra a criatividade dos teus colegas <a href=\"/contribute#artisan\">Feiticeiros Artesãos</a>."
campaign_classic_algorithms: "Algoritmos Clássicos"
campaign_classic_algorithms_description: "... onde aprende os algoritmos mais populares da Ciência da Computação."
campaign_classic_algorithms_description: "... onde aprendes os algoritmos mais populares da Ciência da Computação."
level_difficulty: "Dificuldade: "
play_as: "Jogar Como"
spectate: "Espectar"
@ -149,29 +149,29 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
misc: "Vários"
contact:
contact_us: "Contacte o CodeCombat"
welcome: "É bom ter notícias suas! Use este formulário para nos enviar um e-mail. "
contribute_prefix: "Se está interessado em contribuir, dê uma olhadela à nossa "
contact_us: "Contacta o CodeCombat"
welcome: "É bom ter notícias tuas! Usa este formulário para nos enviares um e-mail. "
contribute_prefix: "Se estás interessado em contribuir, dá uma olhadela à nossa "
contribute_page: "página de contribuição"
contribute_suffix: "!"
forum_prefix: "Para algo público, por favor use o "
forum_prefix: "Para algo público, por favor usa o "
forum_page: "nosso fórum"
forum_suffix: " como alternativa."
send: "Enviar Feedback"
contact_candidate: "Contactar Candidato"
recruitment_reminder: "Use este formulário para chegar a candidatos que esteja interessado em entrevistar. Lembre-se que o CodeCombat cobra 15% do salário do primeiro ano. A taxa é cobrada no momento da contratação do empregado e é reembolsável durante 90 dias, no caso de o trabalhador não se manter empregado. A empregados em part-time, no estrangeiro e a contrato não são aplicadas taxas, porque são internos."
recruitment_reminder: "Usa este formulário para chegares a candidatos que estejas interessado em entrevistar. Lembra-te que o CodeCombat cobra 15% do salário do primeiro ano. A taxa é cobrada no momento da contratação do empregado e é reembolsável durante 90 dias, no caso de o trabalhador não se manter empregado. A empregados em part-time, no estrangeiro e a contrato não são aplicadas taxas, porque são internos."
diplomat_suggestion:
title: "Ajude a traduzir o CodeCombat!"
sub_heading: "Precisamos das suas habilidades linguísticas."
pitch_body: "Desenvolvemos o CodeCombat em Inglês, mas já temos jogadores em todo o mundo. Muitos deles querem jogar em Português e não falam Inglês, por isso, se sabe falar ambas, por favor considere registar-se como Diplomata para ajudar a traduzir o website do CodeCombat e todos os níveis para Português."
missing_translations: "Enquanto não conseguirmos traduzir tudo para Português, irá ver em Inglês o que não estiver disponível em Português."
learn_more: "Saiba mais sobre ser um Diplomata"
subscribe_as_diplomat: "Subscreva-se como Diplomata"
title: "Ajuda a traduzir o CodeCombat!"
sub_heading: "Precisamos das tuas habilidades linguísticas."
pitch_body: "Desenvolvemos o CodeCombat em Inglês, mas já temos jogadores em todo o mundo. Muitos deles querem jogar em Português e não falam Inglês, por isso, se sabes falar ambas, por favor considera registar-te como Diplomata para ajudares a traduzir o website do CodeCombat e todos os níveis para Português."
missing_translations: "Enquanto não conseguirmos traduzir tudo para Português, irás ver em Inglês o que não estiver disponível em Português."
learn_more: "Sabe mais sobre ser um Diplomata"
subscribe_as_diplomat: "Subscreve-te como Diplomata"
wizard_settings:
title: "Definições do Feiticeiro"
customize_avatar: "Personalize o Seu Avatar"
customize_avatar: "Personaliza o Teu Avatar"
active: "Ativo"
color: "Cor"
group: "Grupo"
@ -187,8 +187,8 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
account_settings:
title: "Definições da Conta"
not_logged_in: "Inicie sessão ou crie uma conta para alterar as suas definições."
autosave: "Alterações Guardam Automaticamente"
not_logged_in: "Inicia sessão ou cria uma conta para alterares as tuas definições."
autosave: "Alterações São Guardadas Automaticamente"
me_tab: "Eu"
picture_tab: "Fotografia"
upload_picture: "Anexar uma fotografia"
@ -202,28 +202,28 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
email_subscriptions: "Subscrições de E-mail"
email_subscriptions_none: "Sem Subscições de E-mail."
email_announcements: "Anúncios"
email_announcements_description: "Receba e-mails sobre as últimas novidades e desenvolvimentos no CodeCombat."
email_announcements_description: "Recebe e-mails sobre as últimas novidades e desenvolvimentos no CodeCombat."
email_notifications: "Notificações"
email_notifications_summary: "Controle, de uma forma personalizada e automática, os e-mails de notificações relacionados com a sua atividade no CodeCombat."
email_notifications_summary: "Controla, de uma forma personalizada e automática, os e-mails de notificações relacionados com a tua atividade no CodeCombat."
email_any_notes: "Quaisquer Notificações"
email_any_notes_description: "Desative para parar de receber todos os e-mails de notificação de atividade."
email_any_notes_description: "Desativa para parar de receber todos os e-mails de notificação de atividade."
email_news: "Notícias"
email_recruit_notes: "Oportunidades de Emprego"
email_recruit_notes_description: "Se joga muito bem, podemos contactá-lo para lhe arranjar um (melhor) emprego."
contributor_emails: "Subscrições de E-mail (Contribuintes)"
contribute_prefix: "Estamos à procura de pessoas para se juntarem a nós! Visite a "
email_recruit_notes_description: "Se jogas muito bem, podemos contactar-te para te arranjar um (melhor) emprego."
contributor_emails: "E-mail Para Contribuintes"
contribute_prefix: "Estamos à procura de pessoas para se juntarem a nós! Visita a "
contribute_page: "página de contribuição"
contribute_suffix: " para mais informações."
email_toggle: "Alternar Todos"
error_saving: "Erro ao Guardar"
saved: "Alterações Guardadas"
password_mismatch: "As palavras-passe não coincidem."
password_repeat: "Por favor repita a sua palavra-passe."
password_repeat: "Por favor repete a tua palavra-passe."
job_profile: "Perfil de Emprego"
job_profile_approved: "O seu perfil de emprego foi aprovado pelo CodeCombat. Os empregadores poderão vê-lo até que o defina como inativo ou não o tenha alterado à 4 semanas."
job_profile_explanation: "Olá! Preencha isto e entraremos em contacto consigo sobre encontrar um emprego de desenvolvedor de software para si."
sample_profile: "Veja um exemplo de perfil"
view_profile: "Veja o Seu Perfil"
job_profile_approved: "O teu perfil de emprego foi aprovado pelo CodeCombat. Os empregadores poderão ver-te até que o definas como inativo ou não o tenhas alterado à 4 semanas."
job_profile_explanation: "Olá! Preenche isto e entraremos em contacto contigo sobre encontrar um emprego de desenvolvedor de software para ti."
sample_profile: "Vê um exemplo de perfil"
view_profile: "Vê o Teu Perfil"
account_profile:
settings: "Definições"
@ -241,11 +241,11 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# complete: "complete"
next: "Seguinte"
next_city: "cidade?"
next_country: "escolha o seu país."
next_country: "escolhe o teu país."
next_name: "nome?"
next_short_description: "escreva uma pequena descrição."
next_long_description: "descreva a sua posição desejada."
next_skills: "liste, pelo menos, 5 habilidades."
next_short_description: "escreve uma pequena descrição."
next_long_description: "descreve a tua posição desejada."
next_skills: "lista, pelo menos, 5 habilidades."
# next_work: "chronicle your work history."
# next_education: "recount your educational ordeals."
# next_projects: "show off up to three projects you've worked on."
@ -257,7 +257,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
links_header: "Ligações Pessoais"
# links_blurb: "Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog."
links_name: "Nome da Ligação"
links_name_help: "A que é que está a ligar?"
links_name_help: "A que é que estás a ligar?"
links_link_blurb: "URL da Ligação"
# basics_header: "Update basic info"
# basics_active: "Open to Offers"
@ -265,9 +265,9 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# basics_job_title: "Desired Job Title"
# basics_job_title_help: "What role are you looking for?"
basics_city: "Cidade"
basics_city_help: "Cidade na qual quer trabalhar (ou onde vive agora)."
basics_city_help: "Cidade na qual queres trabalhar (ou onde vives agora)."
basics_country: "País"
basics_country_help: "País no qual quer trabalhar (ou onde vive agora)."
basics_country_help: "País no qual queres trabalhar (ou onde vives agora)."
# basics_visa: "US Work Status"
# basics_visa_help: "Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)"
basics_looking_for: "À Procura De"
@ -296,7 +296,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# work_years_help: "How many years of professional experience (getting paid) developing software do you have?"
# work_blurb: "List your relevant work experience, most recent first."
work_employer: "Empregador"
work_employer_help: "Nome do seu empregador."
work_employer_help: "Nome do teu empregador."
work_role: "Título do Emprego"
# work_role_help: "What was your job title or role?"
work_duration: "Duração"
@ -307,7 +307,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# education_header: "Recount your academic ordeals"
# education_blurb: "List your academic ordeals."
education_school: "Escola"
education_school_help: "Nome da sua escola."
education_school_help: "Nome da tua escola."
# education_degree: "Degree"
# education_degree_help: "What was your degree and field of study?"
# education_duration: "Dates"
@ -317,13 +317,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# our_notes: "CodeCombat's Notes"
# remarks: "Remarks"
projects: "Projetos"
projects_header: "Adicione 3 projetos"
projects_header: "Adiciona 3 projetos"
# projects_header_2: "Projects (Top 3)"
# projects_blurb: "Highlight your projects to amaze employers."
project_name: "Nome do Projeto"
# project_name_help: "What was the project called?"
project_description: "Descrição"
project_description_help: "Descreva o projeto em poucas palavras."
project_description_help: "Descreve o projeto em poucas palavras."
project_picture: "Imagem"
# project_picture_help: "Upload a 230x115px or larger image showing off the project."
project_link: "Ligação"
@ -331,10 +331,10 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
player_code: "Código do Jogador"
employers:
hire_developers_not_credentials: "Contrate programadores, não cartas de recomendação."
hire_developers_not_credentials: "Não contrates cartas de recomendação, mas sim programadores."
get_started: "Começar"
already_screened: "Nós já selecionamos tecnicamente todos os nossos candidatos"
filter_further: ", mas ainda pode filtrar mais:"
filter_further: ", mas ainda podes filtrar mais:"
filter_visa: "Visa"
filter_visa_yes: "Autorizado Para Trabalhar Nos EUA"
filter_visa_no: "Não Autorizado"
@ -350,18 +350,18 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
filter_experience_student: "Estudante Universitário"
filter_results: "resultados"
start_hiring: "Começar a contratar."
reasons: "Três razões pelas quais deve contratar através de nós:"
reasons: "Três razões pelas quais deves contratar através de nós:"
everyone_looking: "Aqui todos estão à procura da próxima oportunidade deles."
everyone_looking_blurb: "Esqueça os cerca de 20% de taxas de respostta do LinkedIn InMail. Todos os que nós listamos neste sítio quer encontrar a nova posição deles e responderá ao seu pedido para uma introdução."
weeding: "Relaxe; fizemos a parte mais difícil por si."
weeding_blurb: "Cada jogador que listamos foi sujeito a um teste das habilidades técnicas. Também fazemos testes por telefone para selecionar candidatos e fazer anotações nos perfis deles para lhe poupar tempo."
pass_screen: "Eles passarão o seu teste técnico."
pass_screen_blurb: "Reveja o código de cada candidato antes de chegar a ele. Um funcionário descobriu que 5x mais programadores nossos passaram o teste técnico deles do que os contratados através do Hacker News."
everyone_looking_blurb: "Esquece os cerca de 20% de taxas de resposta do LinkedIn InMail. Todos os que nós listamos neste sítio querem encontrar a nova posição deles e responderão ao teu pedido para uma introdução."
weeding: "Relaxa; fizemos a parte mais difícil por ti."
weeding_blurb: "Cada jogador que listamos foi sujeito a um teste das habilidades técnicas. Também fazemos testes por telefone para selecionar candidatos e fazer anotações nos perfis deles para te poupar tempo."
pass_screen: "Eles passarão o teu teste técnico."
pass_screen_blurb: "Revê o código de cada candidato antes de chegares a ele. Um funcionário descobriu que 5x mais programadores nossos passaram o teste técnico deles do que os contratados através do Hacker News."
make_hiring_easier: "Torne a minha contratação mais fácil, por favor."
what: "O que é o CodeCombat?"
what_blurb: "O CodeCombat é um jogo de programação, no navegador e multijogador. Os jogadores escrevem código para controlar as forças deles em batalha contra outros programadores. Os nossos jogadores têm experiência com todos os conceitos tecnológicos principais."
cost: "Quanto é que cobramos?"
cost_blurb: "Cobramos 15% do salário do primeiro ano e ofereçemos uma garantia de devolução de 100% do dinheiro durante 90 dias. Não cobramos por candidatos que já estejam a ser ativamente entrevistados na sua companhia."
cost_blurb: "Cobramos 15% do salário do primeiro ano e ofereçemos uma garantia de devolução de 100% do dinheiro durante 90 dias. Não cobramos por candidatos que já estejam a ser ativamente entrevistados na tua companhia."
candidate_name: "Nome"
candidate_location: "Localização"
candidate_looking_for: "À Procura de"
@ -378,7 +378,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
done: "Concluir"
customize_wizard: "Personalizar Feiticeiro"
home: "Início"
stop: "Parar"
# skip: "Skip"
game_menu: "Menu do Jogo"
guide: "Guia"
restart: "Reiniciar"
@ -386,23 +386,24 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
goal: "Objetivo"
success: "Successo!"
incomplete: "Incompletos"
timed_out: "Ficou sem tempo"
timed_out: "Ficaste sem tempo"
failing: "A falhar"
action_timeline: "Linha do Tempo de Ações"
click_to_select: "Clique numa unidade para selecioná-la."
click_to_select: "Clica numa unidade para selecioná-la."
reload_title: "Recarregar o Código Todo?"
reload_really: "Tem a certeza que quer recarregar este nível de volta ao início?"
reload_really: "Tens a certeza que queres recarregar este nível de volta ao início?"
reload_confirm: "Recarregar Tudo"
victory_title_prefix: ""
victory_title_suffix: " Concluído"
victory_sign_up: "Criar Conta para Guardar Progresso"
victory_sign_up_poke: "Quer guardar o seu código? Crie uma conta grátis!"
victory_rate_the_level: "Classifique este nível: "
victory_sign_up_poke: "Queres guardar o teu código? Cria uma conta grátis!"
victory_rate_the_level: "Classifica este nível: "
victory_return_to_ladder: "Voltar à Classificação"
victory_play_next_level: "Jogar Próximo Nível"
# victory_play_continue: "Continue"
victory_go_home: "Ir para o Início"
victory_review: "Conte-nos mais!"
victory_hour_of_code_done: "Terminou?"
victory_review: "Conta-nos mais!"
victory_hour_of_code_done: "Terminaste?"
victory_hour_of_code_done_yes: "Sim, terminei a minha Hora do Código™!"
guide_title: "Guia"
tome_minion_spells: "Feitiços dos Seus Minions"
@ -415,46 +416,47 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
tome_cast_button_running: "A Correr"
tome_cast_button_ran: "Corrido"
tome_submit_button: "Submeter"
tome_select_spell: "Selecione um Feitiço"
tome_select_a_thang: "Selecione Alguém para "
tome_select_spell: "Seleciona um Feitiço"
tome_select_a_thang: "Seleciona Alguém para "
tome_available_spells: "Feitiços Disponíveis"
# tome_your_skills: "Your Skills"
hud_continue: "Continuar (shift-espaço)"
spell_saved: "Feitiço Guardado"
skip_tutorial: "Saltar (esc)"
keyboard_shortcuts: "Atalhos do Teclado"
loading_ready: "Pronto!"
loading_start: "Iniciar Nível"
tip_insert_positions: "Pressione Shift e Clique num ponto do mapa para inseri-lo no editor de feitiços."
tip_toggle_play: "Alterne entre Jogar e Pausar com Ctrl+P."
tip_insert_positions: "Pressiona Shift e Clica num ponto do mapa para inseri-lo no editor de feitiços."
tip_toggle_play: "Alterna entre Jogar e Pausar com Ctrl+P."
tip_scrub_shortcut: "Ctrl+[ rebobina e Ctrl+] avança."
tip_guide_exists: "Clique no Guia no topo da página para informações úteis."
tip_guide_exists: "Clica no Guia no topo da página para informações úteis."
tip_open_source: "O CodeCombat é 100% open source!"
tip_beta_launch: "O CodeCombat lançou o seu beta em outubro de 2013."
tip_js_beginning: "O JavaScript é apenas o começo."
tip_think_solution: "Pense na solução, não no problema."
tip_think_solution: "Pensa na solução, não no problema."
tip_theory_practice: "Teoricamente, não há diferença entre a teoria e a prática. Mas na prática, há. - Yogi Berra"
tip_error_free: "Há duas formas de escrever programas sem erros; apenas a terceira funciona. - Alan Perlis"
tip_debugging_program: "Se depurar é o processo de remover erros, então programar deve ser o processo de os adicionar. - Edsger W. Dijkstra"
tip_forums: "Vá aos fóruns e diga-nos o que pensa!"
tip_forums: "Vai aos fóruns e diz-nos o que pensas!"
tip_baby_coders: "No futuro, até os bebés serão Arcomagos."
tip_morale_improves: "O carregamento irá continuar até que a moral melhore."
tip_all_species: "Acreditamos em oportunidades iguais para todas as espécies, em relação a aprenderem a programar."
tip_reticulating: "A reticular espinhas."
tip_harry: "Você é um Feiticeiro, "
tip_harry: "És um Feiticeiro, "
tip_great_responsibility: "Com uma grande habilidade de programação vem uma grande responsabilidade de depuração."
tip_munchkin: "Se não comer os seus vegetais, virá um ogre atrás de si enquanto estiver a dormir."
tip_munchkin: "Se não comeres os teus vegetais, virá um ogre atrás de ti enquanto estiveres a dormir."
tip_binary: "Há apenas 10 tipos de pessoas no mundo: aquelas que percebem binário e aquelas que não."
tip_commitment_yoda: "Um programador deve ter o compromisso mais profundo, a mente mais séria. ~ Yoda"
tip_no_try: "Fazer. Ou não fazer. Não há nenhum tentar. - Yoda"
tip_patience: "Paciência tu deves ter, jovem Padawan. - Yoda"
tip_documented_bug: "Um erro documentado não é um erro; é uma funcionalidade."
tip_impossible: "Parece sempre impossível até ser feito. - Nelson Mandela"
tip_talk_is_cheap: "Falar é fácil. Mostre-me o código. - Linus Torvalds"
tip_first_language: "A coisa mais desastrosa que pode aprender é a sua primeira linguagem de programação. - Alan Kay"
tip_talk_is_cheap: "Falar é fácil. Mostra-me o código. - Linus Torvalds"
tip_first_language: "A coisa mais desastrosa que podes aprender é a tua primeira linguagem de programação. - Alan Kay"
tip_hardware_problem: "P: Quantos programadores são necessários para mudar uma lâmpada? R: Nenhum, é um problema de hardware."
# tip_hofstadters_law: "Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law."
# tip_premature_optimization: "Premature optimization is the root of all evil. - Donald Knuth"
# tip_brute_force: "When in doubt, use brute force. - Ken Thompson"
tip_hofstadters_law: "Lei de Hofstadter: Tudo demora sempre mais do que pensas, mesmo quando levas em conta a Lei de Hofstadter."
tip_premature_optimization: "Uma otimização permatura é a raíz de todo o mal. - Donald Knuth"
tip_brute_force: "Quando em dúvida, usa a força bruta. - Ken Thompson"
time_current: "Agora:"
time_total: "Máximo:"
time_goto: "Ir para:"
@ -465,24 +467,24 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
game_menu:
inventory_tab: "Inventário"
choose_hero_tab: "Reiniciar Nível"
save_load_tab: "Guarde/Carregue"
save_load_tab: "Guardar/Carregar"
options_tab: "Opções"
guide_tab: "Guia"
multiplayer_tab: "Multijogador"
inventory_caption: "Equipe o seu herói"
choose_hero_caption: "Escolha o herói, a linguagem"
save_load_caption: "... e veja o histórico"
options_caption: "Configure as definições"
inventory_caption: "Equipa o teu herói"
choose_hero_caption: "Escolhe o herói, a linguagem"
save_load_caption: "... e vê o histórico"
options_caption: "Configura as definições"
guide_caption: "Documentos e dicas"
multiplayer_caption: "Jogue com amigos!"
multiplayer_caption: "Joga com amigos!"
inventory:
choose_inventory: "Equipar Itens"
choose_hero:
choose_hero: "Escolha o Seu Herói"
choose_hero: "Escolhe o Teu Herói"
programming_language: "Linguagem de Programação"
programming_language_description: "Que linguagem de programação quer usar?"
programming_language_description: "Que linguagem de programação queres usar?"
status: "Estado"
weapons: "Armas"
health: "Vida"
@ -496,7 +498,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
general_options: "Opções Gerais"
volume_label: "Volume"
music_label: "Música"
music_description: "Ative ou desative a música de fundo."
music_description: "Ativar ou desativar a música de fundo."
autorun_label: "Executar Automaticamente"
autorun_description: "Controlar a execução automática do código."
editor_config: "Configurar Editor"
@ -504,7 +506,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
editor_config_level_language_label: "Linguagem para Este Nível"
editor_config_level_language_description: "Definir a linguagem de programação para este nível em particular."
editor_config_default_language_label: "Linguagem de Programação Predefinida"
editor_config_default_language_description: "Definir a linguagem de programação na qual deseja programar aquando do começo de novos níveis."
editor_config_default_language_description: "Definir a linguagem de programação na qual desejas programar aquando do começo de novos níveis."
editor_config_keybindings_label: "Atalhos do Teclado"
editor_config_keybindings_default: "Predefinição (Ace)"
editor_config_keybindings_description: "Adicionar atalhos de teclado adicionais conhecidos dos editores comuns."
@ -523,12 +525,12 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
multiplayer:
multiplayer_title: "Definições Multijogador"
multiplayer_toggle: "Ativar multijogador"
multiplayer_toggle_description: "Permita que outros se juntem ao seu jogo."
multiplayer_link_description: "Dê esta ligação a alguém para se juntar a si."
multiplayer_toggle_description: "Permite que outros se juntem ao teu jogo."
multiplayer_link_description: "Dá esta ligação a alguém para se juntar a ti."
multiplayer_hint_label: "Dica:"
multiplayer_hint: " Clique na ligação para selecionar tudo. Depois carregue em ⌘-C ou Ctrl-C para copiá-la."
multiplayer_hint: " Clica na ligação para selecionar tudo. Depois carrega em ⌘-C ou Ctrl-C para copiá-la."
multiplayer_coming_soon: "Mais funcionalidades multijogador em breve!"
multiplayer_sign_in_leaderboard: "Inicie sessão ou crie uma conta para ter a sua solução na tabela de classificação."
multiplayer_sign_in_leaderboard: "Inicia sessão ou cria uma conta para teres a tua solução na tabela de classificação."
keyboard_shortcuts:
keyboard_shortcuts: "Atalhos de Teclado"
@ -549,7 +551,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
toggle_pathfinding: "Ativar/desativar a sobreposição do encontrador de caminho."
beautify: "Embelezar o código ao estandardizar a formatação."
maximize_editor: "Maximizar/minimizar o editor de código."
move_wizard: "Mover o seu Feiticeiro pelo nível."
move_wizard: "Mover o Feiticeiro pelo nível."
admin:
av_espionage: "Espionagem"
@ -571,21 +573,21 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
community:
main_title: "Comunidade do CodeCombat"
introduction: "Confira abaixo as formas de se envolver e decida o que lhe parece melhor. Estamos ansiosos por trabalhar consigo!"
level_editor_prefix: "Use o"
level_editor_suffix: "do CodeCombat para criar e editar níveis. Os utilizadores já criaram níveis para aulas, amigos, maratonas hacker, estudantes e familiares. Se criar um nível parece intimidante, pode começar por bifurcar um dos nossos!"
thang_editor_prefix: "Chamamos 'thangs' às unidades do jogo. Use o"
thang_editor_suffix: "para modificar a arte do CodeCombat. Permita às unidades lançar projéteis, altere a direção de uma animação, altere os pontos de vida de uma unidade ou anexe as suas próprias unidades."
article_editor_prefix: " um erro em alguns dos nossos documentos? Quer escrever algumas instruções para as suas criações? Confira o"
article_editor_suffix: "e ajude os jogadores do CodeCombat a obter o máximo do tempo de jogo deles."
find_us: "Encontre-nos nestes sítios"
social_blog: "Leia o blog do CodeCombat no Sett"
social_discource: "Junte-se à discussão no nosso fórum Discourse"
social_facebook: "Goste do CodeCombat no Facebook"
social_twitter: "Siga o CodeCombat no Twitter"
social_gplus: "Junte-se ao CodeCombat no Google+"
social_hipchat: "Fale connosco na sala pública HipChat do CodeCombat"
contribute_to_the_project: "Contribua para o projeto"
introduction: "Confere abaixo as formas de te envolveres e decide o que te parece melhor. Estamos ansiosos por trabalhar contigo!"
level_editor_prefix: "Usa o"
level_editor_suffix: "do CodeCombat para criares e editares níveis. Os utilizadores já criaram níveis para aulas, amigos, maratonas hacker, estudantes e familiares. Se criar um nível parece intimidante, podes começar por bifurcar um dos nossos!"
thang_editor_prefix: "Chamamos 'thangs' às unidades do jogo. Usa o"
thang_editor_suffix: "para modificares a arte do CodeCombat. Dá permição às unidades para lançarem projéteis, altera a direção de uma animação, altera os pontos de vida de uma unidade ou anexa as tuas próprias unidades."
article_editor_prefix: "s um erro em alguns dos nossos documentos? Queres escrever algumas instruções para as tuas criações? Confere o"
article_editor_suffix: "e ajuda os jogadores do CodeCombat a obter o máximo do tempo de jogo deles."
find_us: "Encontra-nos nestes sítios"
social_blog: "Lê o blog do CodeCombat no Sett"
social_discource: "Junta-te à discussão no nosso fórum Discourse"
social_facebook: "Gosta do CodeCombat no Facebook"
social_twitter: "Segue o CodeCombat no Twitter"
social_gplus: "Junta-te ao CodeCombat no Google+"
social_hipchat: "Fala connosco na sala pública HipChat do CodeCombat"
contribute_to_the_project: "Contribui para o projeto"
editor:
main_title: "Editores do CodeCombat"
@ -596,7 +598,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
back: "Voltar"
revert: "Reverter"
revert_models: "Reverter Modelos"
pick_a_terrain: "Escolha Um Terreno"
pick_a_terrain: "Escolhe Um Terreno"
small: "Pequeno"
grassy: "Com Relva"
fork_title: "Bifurcar Nova Versão"
@ -636,16 +638,16 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
new_article_title: "Criar um Novo Artigo"
new_thang_title: "Criar um Novo Tipo de Thang"
new_level_title: "Criar um Novo Nível"
new_article_title_login: "Inicie Sessão para Criar um Novo Artigo"
new_thang_title_login: "Inicie Sessão para Criar um Novo Tipo de Thang"
new_level_title_login: "Inicie Sessão para Criar um Novo Nível"
new_article_title_login: "Inicia Sessão para Criares um Novo Artigo"
new_thang_title_login: "Inicia Sessão para Criares um Novo Tipo de Thang"
new_level_title_login: "Inicia Sessão para Criares um Novo Nível"
new_achievement_title: "Criar uma Nova Conquista"
new_achievement_title_login: "Inicie Sessão para Criar uma Nova Conquista"
new_achievement_title_login: "Inicia Sessão para Criares uma Nova Conquista"
article_search_title: "Procurar Artigos Aqui"
thang_search_title: "Procurar Thangs Aqui"
level_search_title: "Procurar Níveis Aqui"
achievement_search_title: "Procurar Conquistas"
read_only_warning2: "Nota: não pode guardar nenhuma edição feita aqui, porque não tem sessão iniciada."
read_only_warning2: "Nota: não podes guardar nenhuma edição feita aqui, porque não tens sessão iniciada."
no_achievements: "Ainda não foram adicionadas conquistas a este nível."
# achievement_query_misc: "Key achievement off of miscellanea"
# achievement_query_goals: "Key achievement off of level goals"
@ -688,17 +690,17 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
about:
why_codecombat: "Porquê o CodeCombat?"
why_paragraph_1: "Se quer aprender a programar, não precisa de aulas. Precisa sim de escrever muito código e passar um bom bocado enquanto o faz."
why_paragraph_1: "Se queres aprender a programar, não precisas de aulas. Precisas sim de escrever muito código e passar um bom bocado enquanto o fazes."
why_paragraph_2_prefix: "Afinal, é sobre isso que é a programação. Tem de ser divertida. Não divertida do género"
why_paragraph_2_italic: "yay uma medalha"
why_paragraph_2_center: "mas sim divertida do género"
why_paragraph_2_italic_caps: "NÃO MÃE, TENHO DE ACABAR O NÍVEL!"
why_paragraph_2_suffix: "É por isso que o CodeCombat é um jogo multijogador, e não um jogo que não passa de um curso com lições. Nós não vamos parar enquanto não puder parar--mas desta vez, isso é uma coisa boa."
why_paragraph_3: "Se vai ficar viciado em algum jogo, vicie-se neste e torne-se num dos feiticeiros da idade da tecnologia."
why_paragraph_2_suffix: "É por isso que o CodeCombat é um jogo multijogador, e não um jogo que não passa de um curso com lições. Nós não vamos parar enquanto não puderes parar--mas desta vez, isso é uma coisa boa."
why_paragraph_3: "Se vais ficar viciado em algum jogo, vicia-te neste e torna-te num dos feiticeiros da idade da tecnologia."
press_title: "Bloggers/Imprensa"
press_paragraph_1_prefix: "Quer escrever sobre nós? Sinta-se à vontade para descarregar e usar todos os recursos incluídos no nosso"
press_paragraph_1_prefix: "Queres escrever sobre nós? Sente-te à vontade para descarregar e usar todos os recursos incluídos no nosso"
press_paragraph_1_link: "pacote de imprensa"
press_paragraph_1_suffix: ". Todos os logótipos e imagens podem ser usados sem nos contactar diretamente."
press_paragraph_1_suffix: ". Todos os logótipos e imagens podem ser usados sem sermos contactados diretamente."
team: "Equipa"
george_title: "CEO"
george_blurb: "Homem de Negócios"
@ -714,21 +716,21 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
legal:
page_title: "Legal"
opensource_intro: "O CodeCombat é gratuito para jogar e é totalmente open source."
opensource_description_prefix: "Confira "
opensource_description_prefix: "Confere "
github_url: "o nosso GitHub"
opensource_description_center: "e ajude se quiser! O CodeCombat é construído tendo por base dezenas de projetos open source, os quais nós amamos. Veja "
opensource_description_center: "e ajuda se quiseres! O CodeCombat é construído tendo por base dezenas de projetos open source, os quais nós amamos. Vê "
archmage_wiki_url: "a nossa wiki dos Arcomagos"
opensource_description_suffix: "para uma lista do software que faz com que este jogo seja possível."
practices_title: "Melhores Práticas Respeitosas"
practices_description: "Estas são as nossas promessas para consigo, o jogador, com um pouco menos de politiquices."
practices_description: "Estas são as nossas promessas para contigo, o jogador, com um pouco menos de politiquices."
privacy_title: "Privacidade"
# privacy_description: "We will not sell any of your personal information. We intend to make money through recruitment eventually, but rest assured we will not distribute your personal information to interested companies without your explicit consent."
security_title: "Segurança"
# security_description: "We strive to keep your personal information safe. As an open source project, our site is freely open to anyone to review and improve our security systems."
email_title: "E-mail"
email_description_prefix: "Nós não o inundaremos com spam. Através das"
email_settings_url: "suas definições de e-mail"
email_description_suffix: "ou através de ligações presentes nos e-mails que enviamos, pode mudar as suas preferências e parar a sua subscrição facilmente, em qualquer momento."
email_description_prefix: "Nós não te inundaremos com spam. Através das"
email_settings_url: "tuas definições de e-mail"
email_description_suffix: "ou através de ligações presentes nos e-mails que enviamos, podes mudar as tuas preferências e parar a tua subscrição facilmente, em qualquer momento."
cost_title: "Custo"
# cost_description: "Currently, CodeCombat is 100% free! One of our main goals is to keep it that way, so that as many people can play as possible, regardless of place in life. If the sky darkens, we might have to charge subscriptions or for some content, but we'd rather not. With any luck, we'll be able to sustain the company with:"
recruitment_title: "Recrutamento"
@ -778,11 +780,11 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
introduction_desc_intro: "Temos esperanças elevadas para o CodeCombat."
introduction_desc_pref: "Queremos ser o sítio onde programadores de todo o tipo vêm para aprender e jogar juntos, introduzir outros ao maravilhoso mundo da programação e retratar as melhores partes da comunidade. Nós não podemos e não queremos fazer isso sozinhos; o que faz de projetos como o GitHub, o Stack Overflow e o Linux ótimos são as pessoas que os usam e constroem neles. Para isso, "
introduction_desc_github_url: "o CodeCombat é totalmente open source"
introduction_desc_suf: " e queremos oferecer tantas maneiras quanto possível para que possa participar e fazer deste projeto tanto seu quanto nosso."
introduction_desc_ending: "Esperamos que se junte a nós!"
introduction_desc_suf: " e queremos oferecer tantas maneiras quanto possível para que possas participar e fazer deste projeto tanto teu quanto nosso."
introduction_desc_ending: "Esperamos que te juntes a nós!"
introduction_desc_signature: "- Nick, George, Scott, Michael, Jeremy e Matt"
alert_account_message_intro: "Hey, você!"
alert_account_message: "Para se subscrever para receber e-mails de classes, antes precisará de iniciar sessão."
alert_account_message_intro: "Hey, tu!"
alert_account_message: "Para te subscreveres para receber e-mails de classes, necessitarás de iniciar sessão."
# archmage_summary: "Interested in working on game graphics, user interface design, database and server organization, multiplayer networking, physics, sound, or game engine performance? Want to help build a game to help other people learn what you are good at? We have a lot to do and if you are an experienced programmer and want to develop for CodeCombat, this class is for you. We would love your help building the best programming game ever."
# archmage_introduction: "One of the best parts about building games is they synthesize so many different things. Graphics, sound, real-time networking, social networking, and of course many of the more common aspects of programming, from low-level database management, and server administration to user facing design and interface building. There's a lot to do, and if you're an experienced programmer with a hankering to really dive into the nitty-gritty of CodeCombat, this class might be for you. We would love to have your help building the best programming game ever."
class_attributes: "Atributos da Classe"
@ -790,13 +792,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# archmage_attribute_1_suf: ", or a desire to learn. Most of our code is in this language. If you're a fan of Ruby or Python, you'll feel right at home. It's JavaScript, but with a nicer syntax."
# archmage_attribute_2: "Some experience in programming and personal initiative. We'll help you get oriented, but we can't spend much time training you."
how_to_join: "Como Me Junto"
join_desc_1: "Qualquer um pode ajudar! Só tem de conferir o nosso "
join_desc_2: "para começar, e assinalar a caixa abaixo para se declarar um bravo Arcomago e receber as últimas nootícias por e-mail. Quer falar sobre o que fazer ou como se envolver mais profundamente no projeto? "
join_desc_3: " ou encontre-nos na nossa "
join_desc_1: "Qualquer um pode ajudar! Só tens de conferir o nosso "
join_desc_2: "para começares, e assinalar a caixa abaixo para te declarares um bravo Arcomago e receberes as últimas notícias por e-mail. Queres falar sobre o que fazer ou como te envolveres mais profundamente no projeto? "
join_desc_3: " ou encontra-nos na nossa "
join_desc_4: "e começamos a partir daí!"
join_url_email: "Envie-nos um e-mail"
join_url_email: "Envia-nos um e-mail"
join_url_hipchat: "sala HipChat pública"
more_about_archmage: "Aprenda Mais Sobre Tornar-se um Arcomago"
more_about_archmage: "Aprende Mais Sobre Tornares-te um Arcomago"
archmage_subscribe_desc: "Receber e-mails relativos a novas oportunidades de programação e anúncios."
# artisan_summary_pref: "Want to design levels and expand CodeCombat's arsenal? People are playing through our content at a pace faster than we can build! Right now, our level editor is barebone, so be wary. Making levels will be a little challenging and buggy. If you have visions of campaigns spanning for-loops to"
# artisan_summary_suf: ", then this class is for you."
@ -805,12 +807,12 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# artisan_attribute_1: "Any experience in building content like this would be nice, such as using Blizzard's level editors. But not required!"
# artisan_attribute_2: "A hankering to do a whole lot of testing and iteration. To make good levels, you need to take it to others and watch them play it, and be prepared to find a lot of things to fix."
# artisan_attribute_3: "For the time being, endurance en par with an Adventurer. Our Level Editor is super preliminary and frustrating to use. You have been warned!"
artisan_join_desc: "Use o Editor de Níveis por esta ordem, pegar ou largar:"
artisan_join_step1: "Leia a documentação."
artisan_join_step2: "Crie um nível novo e explore níveis existentes."
artisan_join_step3: "Encontre-nos na nossa sala HipChat pública se necessitar de ajuda."
artisan_join_step4: "Coloque os seus níveis no fórum para receber feedback."
more_about_artisan: "Aprenda Mais Sobre Tornar-se um Artesão"
artisan_join_desc: "Usa o Editor de Níveis por esta ordem, pegar ou largar:"
artisan_join_step1: "Lê a documentação."
artisan_join_step2: "Cria um nível novo e explora níveis existentes."
artisan_join_step3: "Encontra-nos na nossa sala HipChat pública se necessitares de ajuda."
artisan_join_step4: "Coloca os teus níveis no fórum para receberes feedback."
more_about_artisan: "Aprende Mais Sobre Tornares-te um Artesão"
artisan_subscribe_desc: "Receber e-mails relativos a novidades do editor de níveis e anúncios."
# adventurer_summary: "Let us be clear about your role: you are the tank. You are going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class is for you."
# adventurer_introduction: "Let's be clear about your role: you are the tank. You're going to take heavy damage. We need people to try out brand-new levels and help identify how to make things better. The pain will be enormous; making good games is a long process and no one gets it right the first time. If you can endure and have a high constitution score, then this class might be for you."
@ -819,7 +821,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# adventurer_join_pref: "Either get together with (or recruit!) an Artisan and work with them, or check the box below to receive emails when there are new levels to test. We'll also be posting about levels to review on our networks like"
# adventurer_forum_url: "our forum"
# adventurer_join_suf: "so if you prefer to be notified those ways, sign up there!"
more_about_adventurer: "Aprenda Mais Sobre Tornar-se um Aventureiro"
more_about_adventurer: "Aprende Mais Sobre Tornares-te um Aventureiro"
adventurer_subscribe_desc: "Receber e-mails quando houver novos níveis para testar."
# scribe_summary_pref: "CodeCombat is not just going to be a bunch of levels. It will also be a resource of programming knowledge that players can hook into. That way, each Artisan can link to a detailed article that for the player's edification: documentation akin to what the "
# scribe_summary_suf: " has built. If you enjoy explaining programming concepts, then this class is for you."
@ -827,19 +829,19 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# scribe_introduction_url_mozilla: "Mozilla Developer Network"
# scribe_introduction_suf: " has built. If your idea of fun is articulating the concepts of programming in Markdown form, then this class might be for you."
# scribe_attribute_1: "Skill in words is pretty much all you need. Not only grammar and spelling, but able to convey complicated ideas to others."
contact_us_url: "Contacte-nos"
scribe_join_description: "fale-nos um bocado de si, a sua experiência com a programação e o tipo de coisas sobre o qual gostava de escrever. Começamos a partir daí!"
more_about_scribe: "Aprenda Mais Sobre Tornar-se um Escrivão"
contact_us_url: "Contacta-nos"
scribe_join_description: "fala-nos um bocado de ti, a tua experiência com a programação e o tipo de coisas sobre o qual gostavas de escrever. Começamos a partir daí!"
more_about_scribe: "Aprende Mais Sobre Tornares-te um Escrivão"
scribe_subscribe_desc: "Receber e-mails sobre anúncios relativos à escrita de artigos."
# diplomat_summary: "There is a large interest in CodeCombat in other countries that do not speak English! We are looking for translators who are willing to spend their time translating the site's corpus of words so that CodeCombat is accessible across the world as soon as possible. If you'd like to help getting CodeCombat international, then this class is for you."
# diplomat_introduction_pref: "So, if there's one thing we learned from the "
# diplomat_launch_url: "launch in October"
# diplomat_introduction_suf: "it's that there is sizeable interest in CodeCombat in other countries! We're building a corps of translators eager to turn one set of words into another set of words to get CodeCombat as accessible across the world as possible. If you like getting sneak peeks at upcoming content and getting these levels to your fellow nationals ASAP, then this class might be for you."
# diplomat_attribute_1: "Fluency in English and the language you would like to translate to. When conveying complicated ideas, it's important to have a strong grasp in both!"
diplomat_join_pref_github: "Encontre o ficheiro 'locale' do seu idioma "
diplomat_join_pref_github: "Encontra o ficheiro 'locale' do teu idioma "
diplomat_github_url: "no GitHub"
diplomat_join_suf_github: ", edite-o online e submeta um 'pull request'. Assinale ainda esta caixa abaixo para ficar atualizado em relação a novos desenvolvimentos da internacionalização!"
more_about_diplomat: "Aprenda Mais Sobre Tornar-se um Diplomata"
diplomat_join_suf_github: ", edita-o online e submete um 'pull request'. Assinala ainda esta caixa abaixo para ficares atualizado em relação a novos desenvolvimentos da internacionalização!"
more_about_diplomat: "Aprende Mais Sobre Tornares-te um Diplomata"
diplomat_subscribe_desc: "Receber e-mails sobre desenvolvimentos da i18n e níveis para traduzir."
# ambassador_summary: "We are trying to build a community, and every community needs a support team when there are troubles. We have got chats, emails, and social networks so that our users can get acquainted with the game. If you want to help people get involved, have fun, and learn some programming, then this class is for you."
# ambassador_introduction: "This is a community we're building, and you are the connections. We've got Olark chats, emails, and social networks with lots of people to talk with and help get acquainted with the game and learn from. If you want to help people get involved and have fun, and get a good feel of the pulse of CodeCombat and where we're going, then this class might be for you."
@ -847,9 +849,9 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
# ambassador_join_desc: "tell us a little about yourself, what you've done and what you'd be interested in doing. We'll go from there!"
# ambassador_join_note_strong: "Note"
# ambassador_join_note_desc: "One of our top priorities is to build multiplayer where players having difficulty solving levels can summon higher level wizards to help them. This will be a great way for ambassadors to do their thing. We'll keep you posted!"
more_about_ambassador: "Aprenda Mais Sobre Tornar-se um Embaixador"
more_about_ambassador: "Aprende Mais Sobre Tornares-te um Embaixador"
ambassador_subscribe_desc: "Receber e-mails relativos a novidades do suporte e desenvolvimentos do modo multijogador."
changes_auto_save: "As alterações são guardadas automaticamente quando clica nas caixas."
changes_auto_save: "As alterações são guardadas automaticamente quando clicas nas caixas."
diligent_scribes: "Os Nossos Dedicados Escrivões:"
powerful_archmages: "Os Nossos Poderosos Arcomagos:"
creative_artisans: "Os Nossos Creativos Artesãos:"
@ -872,14 +874,14 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
ambassador_title_description: "(Suporte)"
ladder:
please_login: "Por favor inicie sessão antes de jogar um jogo do campeonato."
please_login: "Por favor inicia sessão antes de jogares um jogo para o campeonato."
my_matches: "Os Meus Jogos"
simulate: "Simular"
simulation_explanation: "Ao simular jogos pode ter o seu jogo classificado mais rapidamente!"
simulation_explanation: "Ao simulares jogos podes ter o teu jogo classificado mais rapidamente!"
simulate_games: "Simular Jogos!"
simulate_all: "REINICIAR E SIMULAR JOGOS"
games_simulated_by: "Jogos simulados por si:"
games_simulated_for: "Jogos simulados para si:"
games_simulated_by: "Jogos simulados por ti:"
games_simulated_for: "Jogos simulados para ti:"
games_simulated: "Jogos simulados"
games_played: "Jogos jogados"
ratio: "Rácio"
@ -890,37 +892,37 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
summary_wins: " Vitórias, "
summary_losses: " Derrotas"
rank_no_code: "Sem Código Novo para Classificar"
rank_my_game: "Classifique o Meu Jogo!"
rank_my_game: "Classificar o Meu Jogo!"
rank_submitting: "A submeter..."
rank_submitted: "Submetido para Classificação"
rank_failed: "A Classificação Falhou"
rank_being_ranked: "Jogo a ser Classificado"
rank_last_submitted: "submetido "
help_simulate: "Ajudar a simular jogos?"
code_being_simulated: "O seu novo código está a ser simulado por outros jogadores, para ser classificado. Isto será atualizado quando surgirem novas partidas."
code_being_simulated: "O teu novo código está a ser simulado por outros jogadores, para ser classificado. Isto será atualizado quando surgirem novas partidas."
no_ranked_matches_pre: "Sem jogos classificados pela equipa "
no_ranked_matches_post: "! Jogue contra alguns adversários e volte aqui para ver o seu jogo classificado."
choose_opponent: "Escolha um Adversário"
select_your_language: "Selecione a sua linguagem!"
no_ranked_matches_post: "! Joga contra alguns adversários e volta aqui para veres o teu jogo classificado."
choose_opponent: "Escolhe um Adversário"
select_your_language: "Seleciona a tua linguagem!"
tutorial_play: "Jogar Tutorial"
tutorial_recommended: "Recomendado se nunca jogou antes"
tutorial_recommended: "Recomendado se nunca jogaste antes"
tutorial_skip: "Saltar Tutorial"
tutorial_not_sure: "Não tem a certeza do que se passa?"
tutorial_not_sure: "Não tens a certeza do que se passa?"
tutorial_play_first: "Joga o Tutorial primeiro."
simple_ai: "Inteligência Artificial Simples"
warmup: "Aquecimento"
friends_playing: "Amigos a Jogar"
log_in_for_friends: "Inicie sessão para jogar com os seus amigos!"
social_connect_blurb: "Conecte-se e jogue contra os seus amigos!"
invite_friends_to_battle: "Convide os seus amigos para se juntarem a si em batalha!"
log_in_for_friends: "Inicia sessão para jogares com os teus amigos!"
social_connect_blurb: "Conecta-te e joga contra os teus amigos!"
invite_friends_to_battle: "Convida os teus amigos para se juntarem a ti em batalha!"
fight: "Lutar!"
watch_victory: "Veja a sua vitória"
defeat_the: "Derrote o"
watch_victory: "Vê a tua vitória"
defeat_the: "Derrota o"
tournament_ends: "O Torneio acaba"
tournament_ended: "O Torneio acabou"
tournament_rules: "Regras do Torneio"
tournament_blurb: "Escreva código, recolha ouro, construa exércitos, esmague inimigos, ganhe prémios e melhore a sua carreira no nosso torneio $40,000 Greed! Confira os detalhes"
tournament_blurb_criss_cross: "Ganhe ofertas, construa caminhos, supere os adversários, apanhe gemas e melhore a sua carreira no nosso torneio Criss-Cross! Confira os detalhes"
tournament_blurb: "Escreve código, recolhe ouro, constrói exércitos, esmaga inimigos, ganha prémios e melhora a tua carreira no nosso torneio $40,000 Greed! Confere os detalhes"
tournament_blurb_criss_cross: "Ganha ofertas, constrói caminhos, supera os adversários, apanha gemas e melhore a tua carreira no nosso torneio Criss-Cross! Confere os detalhes"
tournament_blurb_blog: "no nosso blog"
rules: "Regras"
winners: "Vencedores"
@ -940,16 +942,16 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
custom_avatar: "Um Avatar do CodeCombat Personalizado"
heap: "para seis meses de acesso \"Startup\""
credits: "créditos"
one_month_coupon: "cupão: escolha Rails ou HTML"
one_month_discount: "desconto de 30%: escolha Rails ou HTML"
one_month_coupon: "cupão: escolhe Rails ou HTML"
one_month_discount: "desconto de 30%: escolhe Rails ou HTML"
license: "licença"
oreilly: "ebook à sua escolha"
oreilly: "ebook à tua escolha"
loading_error:
could_not_load: "Erro ao carregar do servidor"
connection_failure: "A conexão falhou."
unauthorized: "Precisa de ter sessão iniciada. Tem os cookies desativados?"
forbidden: "Não tem as permissões."
unauthorized: "Precisas de ter sessão iniciada. Tens os cookies desativados?"
forbidden: "Não tens permissões."
not_found: "Não encontrado."
not_allowed: "Método não permitido."
timeout: "O servidor expirou."
@ -960,7 +962,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
resources:
sessions: "Sessões"
your_sessions: "As Suas Sessões"
your_sessions: "As Tuas Sessões"
level: "Nível"
social_network_apis: "APIs das Redes Sociais"
facebook_status: "Estado do Facebook"
@ -980,7 +982,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
components: "Componentes"
thang: "Thang"
thangs: "Thangs"
level_session: "A Sua Sessão"
level_session: "A Tua Sessão"
opponent_session: "Sessão do Adversário"
article: "Artigo"
user_names: "Nomes de Utilizador"
@ -1025,7 +1027,7 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
no_singleplayer: "Sem jogos Um Jogador jogados."
no_multiplayer: "Sem jogos Multijogador jogados."
no_achievements: "Sem Conquistas ganhas."
favorite_prefix: "Linguagem favorita é "
favorite_prefix: "A linguagem favorita é "
favorite_postfix: "."
achievements:
@ -1046,4 +1048,4 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
account:
recently_played: "Jogados Recentemente"
no_recent_games: "Sem jogos jogados nas passadas duas seemanas."
no_recent_games: "Sem jogos jogados nas passadas duas semanas."

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
done: "Gata"
customize_wizard: "Personalizează Wizard-ul"
home: "Acasă"
stop: "Stop"
# skip: "Skip"
game_menu: "Meniul Jocului"
guide: "Ghid"
restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
victory_rate_the_level: "Apreciază nivelul: "
victory_return_to_ladder: "Înapoi la jocurile de clasament"
victory_play_next_level: "Joacă nivelul următor"
# victory_play_continue: "Continue"
victory_go_home: "Acasă"
victory_review: "Spune-ne mai multe!"
victory_hour_of_code_done: "Ai terminat?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
tome_select_spell: "Alege o vrajă"
tome_select_a_thang: "Alege pe cineva pentru "
tome_available_spells: "Vrăjile disponibile"
# tome_your_skills: "Your Skills"
hud_continue: "Continuă (apasă shift-space)"
spell_saved: "Vrajă salvată"
skip_tutorial: "Sari peste (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
done: "Готово"
customize_wizard: "Настройки волшебника"
home: "На главную"
# stop: "Stop"
# skip: "Skip"
game_menu: "Меню игры"
guide: "Руководство"
restart: "Перезапустить"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
victory_rate_the_level: "Оцените уровень:"
victory_return_to_ladder: "Вернуться к ладдеру"
victory_play_next_level: "Следующий уровень"
# victory_play_continue: "Continue"
victory_go_home: "На главную"
victory_review: "Расскажите нам больше!"
victory_hour_of_code_done: "Вы закончили?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
tome_select_spell: "Выбрать заклинание"
tome_select_a_thang: "Выбрать кого-нибудь для "
tome_available_spells: "Доступные заклинания"
# tome_your_skills: "Your Skills"
hud_continue: "Продолжить (Shift+Пробел)"
spell_saved: "Заклинание сохранено"
skip_tutorial: "Пропуск (Esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
done: "Урађено"
customize_wizard: "Прилагоди Чаробњака"
home: "Почетна"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Водич"
restart: "Поновно учитавање"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
victory_rate_the_level: "Оцени ниво: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Играј следећи ниво"
# victory_play_continue: "Continue"
victory_go_home: "Иди на почетну"
victory_review: "Реци нам више!"
victory_hour_of_code_done: "Јеси ли завршио?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
tome_select_spell: "Изабери чин"
tome_select_a_thang: "Изабери неког за "
tome_available_spells: "Доступне чини"
# tome_your_skills: "Your Skills"
hud_continue: "Настави (притисни ентер)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
done: "Klar"
customize_wizard: "Skräddarsy trollkarl"
home: "Hem"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Guide"
restart: "Börja om"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
victory_rate_the_level: "Betygsätt nivån: "
victory_return_to_ladder: "Gå tillbaka till stegen"
victory_play_next_level: "Spela nästa nivå"
# victory_play_continue: "Continue"
victory_go_home: "Gå hem"
victory_review: "Berätta mer!"
victory_hour_of_code_done: "Är du klar?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
tome_select_spell: "Välj en förmåga"
tome_select_a_thang: "Välj någon för "
tome_available_spells: "Tillgängliga förmågor"
# tome_your_skills: "Your Skills"
hud_continue: "Fortsätt (skift+mellanslag)"
spell_saved: "Besvärjelse sparad"
skip_tutorial: "Hoppa över (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
done: "เสร็จสิ้น"
# customize_wizard: "Customize Wizard"
home: "หน้าแรก"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "คู่มือ"
restart: "เริ่มเล่นใหม่"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "เล่นด่านถัดไป"
# victory_play_continue: "Continue"
victory_go_home: "ไปหน้าแรก"
# victory_review: "Tell us more!"
victory_hour_of_code_done: "เสร็จหรือยัง?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
done: "Tamamdır"
customize_wizard: "Sihirbazı Düzenle"
home: "Anasayfa"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Rehber"
restart: "Yeniden başlat"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
victory_rate_the_level: "Seviyeyi oyla:"
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "Sonraki Seviyeyi Oyna: "
# victory_play_continue: "Continue"
victory_go_home: "Anasayfaya Git"
victory_review: "Daha detaylı bilgi verebilirsiniz!"
victory_hour_of_code_done: "Bitirdiniz mi?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
tome_select_spell: "Bir Büyü Seç"
tome_select_a_thang: "Birini seç..."
tome_available_spells: "Kullanılabilir Büyüler"
# tome_your_skills: "Your Skills"
hud_continue: "Devam (ÜstKarakter+Boşluk)"
spell_saved: "Büyü Kaydedildi"
skip_tutorial: "Atla (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
done: "Готово"
customize_wizard: "Налаштування персонажа"
home: "На головну"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Посібник"
restart: "Перезавантажити"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
victory_rate_the_level: "Оцінити рівень: "
victory_return_to_ladder: "Повернутись до таблиці рівнів"
victory_play_next_level: "Наступний рівень"
# victory_play_continue: "Continue"
victory_go_home: "На головну"
victory_review: "Розкажіть нам більше!"
victory_hour_of_code_done: "Ви закінчили?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "українська мова", englishDesc
tome_select_spell: "Оберіть закляття"
tome_select_a_thang: "Оберіть когось для "
tome_available_spells: "Доступні закляття"
# tome_your_skills: "Your Skills"
hud_continue: "Продовжити (натисніть shift-space)"
spell_saved: "Закляття збережено"
skip_tutorial: "Пропустити (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
done: "Hoàn thành"
customize_wizard: "Tùy chỉnh Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "Hướng dẫn"
restart: "Khởi động lại"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
done: "完成"
customize_wizard: "自定义向导"
home: "主页"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "指南"
restart: "重新开始"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
victory_rate_the_level: "评估关卡:"
victory_return_to_ladder: "返回"
victory_play_next_level: "下一关"
# victory_play_continue: "Continue"
victory_go_home: "返回主页"
victory_review: "给我们反馈!"
victory_hour_of_code_done: "你完成了吗?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
tome_select_spell: "选择一个法术"
tome_select_a_thang: "选择人物来 "
tome_available_spells: "可用的法术"
# tome_your_skills: "Your Skills"
hud_continue: "继续(按 Shift-空格)"
spell_saved: "咒语已保存"
skip_tutorial: "跳过esc"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
done: "完成"
customize_wizard: "自定義巫師"
home: "首頁"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "指南"
restart: "重新開始"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
victory_rate_the_level: "評估關卡: "
# victory_return_to_ladder: "Return to Ladder"
victory_play_next_level: "下一關"
# victory_play_continue: "Continue"
victory_go_home: "返回首頁"
victory_review: "給我們回饋!"
victory_hour_of_code_done: "你完成了嗎?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
tome_select_spell: "選擇一個法術"
tome_select_a_thang: "選擇一個人物來施放"
tome_available_spells: "可用的法術"
# tome_your_skills: "Your Skills"
hud_continue: "繼續 (按 shift-空格)"
spell_saved: "咒語已儲存"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# done: "Done"
# customize_wizard: "Customize Wizard"
# home: "Home"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
# guide: "Guide"
# restart: "Restart"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# victory_rate_the_level: "Rate the level: "
# victory_return_to_ladder: "Return to Ladder"
# victory_play_next_level: "Play Next Level"
# victory_play_continue: "Continue"
# victory_go_home: "Go Home"
# victory_review: "Tell us more!"
# victory_hour_of_code_done: "Are You Done?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# tome_select_spell: "Select a Spell"
# tome_select_a_thang: "Select Someone for "
# tome_available_spells: "Available Spells"
# tome_your_skills: "Your Skills"
# hud_continue: "Continue (shift+space)"
# spell_saved: "Spell Saved"
# skip_tutorial: "Skip (esc)"

View file

@ -378,7 +378,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
done: "妝下落"
customize_wizard: "自設定獻路人"
home: "主頁"
# stop: "Stop"
# skip: "Skip"
# game_menu: "Game Menu"
guide: "指南"
restart: "轉來"
@ -400,6 +400,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
victory_rate_the_level: "箇關評價:"
victory_return_to_ladder: "走轉"
victory_play_next_level: "下關"
# victory_play_continue: "Continue"
victory_go_home: "轉到主頁"
victory_review: "搭我裏反應!"
victory_hour_of_code_done: "爾妝下落爻噃?"
@ -418,6 +419,7 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
tome_select_spell: "揀一個法術"
tome_select_a_thang: "揀人來 "
tome_available_spells: "好用個法術"
# tome_your_skills: "Your Skills"
hud_continue: "接落去(捺 Shift-空格)"
spell_saved: "咒語存起爻"
skip_tutorial: "跳過去Esc"

View file

@ -121,6 +121,7 @@ class CocoModel extends Backbone.Model
@markToRevert() if @_revertAttributes
@clearBackup()
CocoModel.pollAchievements()
options.success = options.error = null # So the callbacks can be garbage-collected.
options.error = (model, res) =>
error(@, res) if error
return unless @notyErrors
@ -131,6 +132,7 @@ class CocoModel extends Backbone.Model
noty text: "#{errorMessage}: #{res.status} #{res.statusText}", layout: 'topCenter', type: 'error', killer: false, timeout: 10000
catch notyError
console.warn "Couldn't even show noty error for", error, "because", notyError
options.success = options.error = null # So the callbacks can be garbage-collected.
@trigger 'save', @
return super attrs, options

View file

@ -31,11 +31,15 @@ $heroCanvasHeight: 330px
width: $maxHeroPortraitSize
height: $maxHeroPortraitSize
margin: 0px 3px
background-size: contain
border: 2px solid black
border-radius: 2px
position: relative
.hero-avatar
width: 100%
height: 100%
background-size: contain
&.initialized
@include transition(0.5s ease)
@ -43,7 +47,15 @@ $heroCanvasHeight: 330px
border-color: gold
&.locked
@include opacity(0.6)
.hero-avatar
@include filter(contrast(50%) brightness(65%))
.lock-indicator
position: absolute
width: 40%
left: 30%
top: 30%
@include filter(invert(90%))
.hero-item

View file

@ -1,4 +1,4 @@
@import "../bootstrap/mixins"
@import "app/styles/mixins"
$totalWidth: 706px - 2 * 20px
// We get 666px to play with from our parent modals.
@ -34,7 +34,7 @@ $stashWidth: $totalWidth - $equippedWidth - $stashMargin
bottom: 0
//bottom: $selectedAreaHeight + 10
right: 0
overflow: scroll
overflow: hidden
.item-slot-row
//background-color: rgba(35, 112, 124, 0.5)
@ -128,24 +128,40 @@ $stashWidth: $totalWidth - $equippedWidth - $stashMargin
right: 0
top: 0
bottom: 0
overflow: scroll
overflow-y: scroll
border: 2px solid #ccc
padding: 4px
background-color: white
.list-group-item
padding: 8px 0
img
width: 50px
height: 50px
margin-right: 5px
padding: 4px 0
&.active
background-color: #e0f0f5
.item-info:after
content: ' (available)'
&.equipped
display: none
&.restricted
@include opacity(0.5)
background-color: #ff5
.item-view
cursor: default
.item-info:after
content: ' (equipped)'
&.locked
background-image: url(/images/pages/game-menu/lock.png)
background-size: 25px 25px
background-repeat: no-repeat
background-position: 98% 90%
.item-view
cursor: default
h4, img
//@include filter(contrast(50%) brightness(65%))
@include opacity(0.6)
.item-info:after
content: ' (locked)'
@ -157,8 +173,6 @@ $stashWidth: $totalWidth - $equippedWidth - $stashMargin
$selectedItemsContainerMargin: 20px
$selectedItemMargin: 10px
$selectedItemImageSize: 75px
$swapItemHeight: 40px
$swapItemWidth: 60px
position: absolute
top: $selectedItemsContainerMargin
@ -169,37 +183,39 @@ $stashWidth: $totalWidth - $equippedWidth - $stashMargin
#selected-equipped-item, #selected-available-item
text-align: left
overflow: scroll
overflow-y: scroll
margin: 0
height: 48.4%
height: -webkit-calc(50% - $selectedItemMargin / 2)
height: calc(50% - $selectedItemMargin / 2)
width: 100%
padding: 10px 5px 10px 10px
position: relative
display: none
img
margin-top: 21px
width: $selectedItemImageSize
height: $selectedItemImageSize
margin-right: 10px
.item-info
margin-left: $selectedItemImageSize + 10px
width: 110px
width: -webkit-calc(100% - 75px - 10px)
width: calc(100% - 75px - 10px)
> h3
position: absolute
left: 0px
top: 0px
padding: 5px
#selected-equipped-item
margin-bottom: $selectedItemMargin
padding-bottom: 20px
background-color: #ff5
#selected-available-item
padding-top: 15px
#swap-button
position: absolute
top: 50%
left: 50%
margin-top: -($swapItemHeight / 2)
margin-left: -($swapItemWidth / 2)
width: $swapItemWidth
height: $swapItemHeight
font-size: 24px
line-height: 24px
display: inline-block
background-color: #e0f0f5
bottom: 0

View file

@ -3,11 +3,15 @@
img
float: left
width: 40px
height: 40px
width: 50px
height: 50px
margin-right: 5px
.item-info
margin-left: 45px
float: left
width: 110px
width: -webkit-calc(100% - 50px - 5px)
width: calc(100% - 50px - 5px)
ul
margin-top: 5px

View file

@ -52,3 +52,8 @@
@keyframes #{$name}
@content
@mixin filter($filters)
-webkit-filter: $filters
-moz-filter: $filters
-o-filter: $filters
filter: $filters

View file

@ -23,6 +23,10 @@ $level-resize-transition-time: 0.5s
width: 100%
button, h4
display: none
&:not(.flags)
#playback-view
width: 100%
&.flags
#playback-view
$flags-width: 200px
width: 90%
@ -123,7 +127,7 @@ $level-resize-transition-time: 0.5s
.gradient
position: absolute
z-index: 10
z-index: 5
#code-area-gradient
top: 0px

View file

@ -16,7 +16,7 @@
float: right
margin-left: 10px
.next-level-button
.next-level-button, .world-map-button
float: right
margin-left: 10px

View file

@ -100,25 +100,29 @@
// Can't do this transition because handle then jitters, but would be good for streaming.
//@include transition(width .2s linear)
&.disabled
&.disabled, &.ui-slider-disabled
cursor: default
.progress-bar .scrubber-handle
cursor: default
.progress-bar
@include transition(width .0s linear)
position: relative
pointer-events: none
// Remove gradient background in favor of solid fill
background-color: #67A4C8
//background-image: none // gradient looks kind of cool though; keep it in
.scrubber-handle
cursor: pointer
position: absolute
pointer-events: none
right: -16px
top: -9px
background: transparent url(/images/level/playback_thumb.png)
width: 32px
height: 32px
// z: above the gradient line bordering the playback bar
z-index: 6
.ui-slider-handle
height: 100%

View file

@ -1,6 +1,10 @@
@import "app/styles/bootstrap/mixins"
@import "app/styles/mixins"
#level-view.hero .spell-palette-entry-view
// Not clickable.
cursor: default
.spell-palette-entry-view
display: block
padding: 0px 4px

View file

@ -81,10 +81,13 @@ body
a(href='/admin', data-i18n="nav.admin") Admin
.share-buttons
if !isIE
.g-plusone(data-href="http://codecombat.com", data-size="medium")
.fb-like(data-href="https://www.facebook.com/codecombat", data-send="false", data-layout="button_count", data-width="350", data-show-faces="true", data-ref="coco_footer_#{fbRef}")
if !isIE
a.twitter-follow-button(href="https://twitter.com/CodeCombat", data-show-count="true", data-show-screen-name="false", data-dnt="true", data-align="right", data-i18n="nav.twitter_follow") Follow
iframe.github-star-button(src="http://ghbtns.com/github-btn.html?user=codecombat&repo=codecombat&type=watch&count=true", allowtransparency="true", frameborder="0", scrolling="0", width="110", height="20")
.partner-badges
a.mixpanel-badge(href="https://mixpanel.com/f/partner")
img(src="//cdn.mxpnl.com/site_media/images/partner/badge_light.png", alt="Mobile Analytics")

View file

@ -4,6 +4,9 @@
for hero, index in heroes
- var info = heroInfo[hero.get('slug')]
li(data-hero-id=hero.get('original'), title=hero.get('name'), data-slide-to=index, data-target="#hero-carousel", class="hero-indicator" + (info.status == "Locked" ? " locked" : ""))
.hero-avatar
if info.status == "Locked"
img.lock-indicator(src="/images/pages/game-menu/lock.png")
.carousel-inner
for hero in heroes

View file

@ -19,11 +19,11 @@
canvas.equipped-hero-canvas
#selected-items
#selected-equipped-item.well
h3(data-i18n="inventory.equipped") Equipped
.item-view-stub
#selected-available-item.well
h3(data-i18n="inventory.equipped") Available
.item-view-stub
button#swap-button.btn.btn-danger
span.glyphicon.glyphicon-transfer
.item-slot-column.pull-right
for slot in ['pet', 'waist', 'feet', 'right-hand']
@ -44,7 +44,12 @@
.replace-me(data-item-id=equipment[slot].get('original'))
#available-equipment
h4#stash-description
for item in items
.list-group-item(class=item.classes, data-item-id=item.get('original'))
h4#unlocked-description
ul.list-group
for item in unlockedItems
li.list-group-item(class=item.classes, data-item-id=item.get('original'))
h4#locked-description
ul.list-group
for item in lockedItems
li.list-group-item(class=item.classes, data-item-id=item.get('original'))

View file

@ -16,7 +16,7 @@ block modal-footer-content
else if level.get('type') === 'ladder'
a.btn.btn-primary(href="/play/ladder/#{level.get('slug')}#my-matches", data-dismiss="modal", data-i18n="play_level.victory_go_ladder") Return to Ladder
else if level.get('type', true) === 'hero'
a.btn.btn-success(href="/play-hero", data-dismiss="modal", data-i18n="play_level.victory_continue") Continue
a.btn.btn-success.world-map-button(href="/play-hero", data-dismiss="modal", data-i18n="play_level.victory_continue") Continue
else if hasNextLevel
button.btn.btn-success.next-level-button(data-dismiss="modal", data-i18n="play_level.victory_play_next_level") Play Next Level
else

View file

@ -1 +1 @@
h5(data-i18n="play_level.tome_select_spell") Select a Spell
h5(data-i18n="play_level.tome_select_method") Select a Method

View file

@ -1,19 +1,22 @@
img(src="/images/level/code_editor_tab_background.png").spell-tab-image-hidden.hidden
.btn.btn-small.spell-list-button(title="See all spells you can edit")
if includeSpellList
.btn.btn-small.spell-list-button(data-i18n="[title]play_level.tome_see_all_methods", title="See all methods you can edit")
i.icon-chevron-down
.thang-avatar-placeholder
code #{methodSignature}
.spell-tool-buttons
if levelType !== 'hero'
.btn.btn-small.fullscreen-code(title=maximizeShortcutVerbose)
i.icon-fullscreen
i.icon-resize-small
.btn.btn-small.reload-code(title="Reload original code for " + spell.name)
.btn.btn-small.reload-code(data-i18n="[title]play_level.tome_reload_method", title="Reload original code for this method")
i.icon-repeat
if codeLanguage === 'javascript'
.btn.btn-small.beautify-code(title=beautifyShortcutVerbose)
i.icon-magnet

View file

@ -24,6 +24,7 @@
span.spr , #{Math.round(playCount.playtime / 3600)}
span(data-i18n="play.hours_played") hours played
.campaign-label(style="color: #{campaign.color}")= campaign.name
if isIPadApp
button.btn.btn-success.btn-lg.start-level(data-i18n="common.play") Play
.game-controls.header-font

View file

@ -16,7 +16,7 @@ MOVE_MARGIN = 0.15
MOVE_SPEED = 13
# Let us place these on top of other Thangs
overlappableThangTypeNames = ['Torch', 'Chains', 'Bird', 'Cloud 1', 'Cloud 2', 'Cloud 3', 'Waterfall', 'Obstacle', 'Electrowall']
overlappableThangTypeNames = ['Torch', 'Chains', 'Bird', 'Cloud 1', 'Cloud 2', 'Cloud 3', 'Waterfall', 'Obstacle', 'Electrowall', 'Spike Walls']
class ThangTypeSearchCollection extends CocoCollection
url: '/db/thang.type?project=original,name,version,slug,kind,components'

View file

@ -17,8 +17,8 @@ module.exports = class ChooseHeroView extends CocoView
'change #option-code-language': 'onCodeLanguageChanged'
shortcuts:
'left': -> @$el.find('#hero-carousel').carousel('prev') unless @$el.hasClass 'secret'
'right': -> @$el.find('#hero-carousel').carousel('next') unless @$el.hasClass 'secret'
'left': -> @$el.find('#hero-carousel').carousel('prev') if @heroes.models.length and not @$el.hasClass 'secret'
'right': -> @$el.find('#hero-carousel').carousel('next') if @heroes.models.length and not @$el.hasClass 'secret'
constructor: (options) ->
super options
@ -56,7 +56,7 @@ module.exports = class ChooseHeroView extends CocoView
@$el.find('.hero-indicator').each ->
heroID = $(@).data('hero-id')
hero = _.find heroes, (hero) -> hero.get('original') is heroID
$(@).css('background-image', "url(#{hero.getPortraitURL()})").tooltip()
$(@).find('.hero-avatar').css('background-image', "url(#{hero.getPortraitURL()})").tooltip()
_.defer => $(@).addClass 'initialized'
@canvasWidth = 313 # @$el.find('canvas').width() # unreliable, whatever
@canvasHeight = @$el.find('canvas').height()
@ -69,6 +69,7 @@ module.exports = class ChooseHeroView extends CocoView
direction = e.direction # 'left' or 'right'
heroItem = $(e.relatedTarget)
hero = _.find @heroes.models, (hero) -> hero.get('original') is heroItem.data('hero-id')
return console.error "Couldn't find hero from heroItem:", heroItem unless hero
heroIndex = heroItem.index()
@$el.find('.hero-indicator').each ->
distance = Math.min 3, Math.abs $(@).index() - heroIndex
@ -77,19 +78,34 @@ module.exports = class ChooseHeroView extends CocoView
heroInfo = temporaryHeroInfo[hero.get('slug')]
locked = heroInfo.status is 'Locked'
hero = @loadHero hero, heroIndex
@preloadHero heroIndex + 1
@preloadHero heroIndex - 1
@selectedHero = hero unless locked
Backbone.Mediator.publish 'level:hero-selection-updated', hero: @selectedHero
$('#choose-inventory-button').prop 'disabled', locked
loadHero: (hero, heroIndex) ->
getFullHero: (original) ->
url = "/db/thang.type/#{original}/version"
if fullHero = @supermodel.getModel url
return fullHero
fullHero = new ThangType()
fullHero.setURL url
fullHero = (@supermodel.loadModel fullHero, 'thang').model
fullHero
preloadHero: (heroIndex) ->
return unless hero = @heroes.models[heroIndex]
@loadHero hero, heroIndex, true
loadHero: (hero, heroIndex, preloading=false) ->
createjs.Ticker.removeEventListener 'tick', stage for stage in _.values @stages
createjs.Ticker.setFPS 30 # In case we paused it from being inactive somewhere else
if stage = @stages[heroIndex]
createjs.Ticker.addEventListener 'tick', stage
unless preloading
_.defer -> createjs.Ticker.addEventListener 'tick', stage # Deferred, otherwise it won't start updating for some reason.
@playSelectionSound hero
return hero
fullHero = new ThangType()
fullHero.setURL "/db/thang.type/#{hero.get('original')}/version"
fullHero = (@supermodel.loadModel fullHero, 'thang').model
fullHero = @getFullHero hero.get 'original'
onLoaded = =>
return unless canvas = $(".hero-item[data-hero-id='#{fullHero.get('original')}'] canvas")
canvas.prop width: @canvasWidth, height: @canvasHeight
@ -104,11 +120,12 @@ module.exports = class ChooseHeroView extends CocoView
movieClip.x = canvas.prop('width') * 0.5
movieClip.y = canvas.prop('height') * 0.925 # This is where the feet go.
stage = new createjs.Stage(canvas[0])
@stages[heroIndex] = stage
stage.addChild movieClip
stage.update()
createjs.Ticker.addEventListener 'tick', stage
movieClip.gotoAndPlay 0
@stages[heroIndex] = stage
unless preloading
createjs.Ticker.addEventListener 'tick', stage
@playSelectionSound hero
if fullHero.loaded
_.defer onLoaded

View file

@ -14,10 +14,9 @@ module.exports = class InventoryView extends CocoView
events:
'click .item-slot': 'onItemSlotClick'
'click #available-equipment .list-group-item': 'onAvailableItemClick'
'dblclick #available-equipment .list-group-item': 'onAvailableItemDoubleClick'
'click #available-equipment .list-group-item:not(.equipped)': 'onAvailableItemClick'
'dblclick #available-equipment .list-group-item:not(.equipped)': 'onAvailableItemDoubleClick'
'dblclick .item-slot .item-view': 'onEquippedItemDoubleClick'
'click #swap-button': 'onClickSwapButton'
subscriptions:
'level:hero-selection-updated': 'onHeroSelectionUpdated'
@ -47,11 +46,15 @@ module.exports = class InventoryView extends CocoView
context.equipped = _.values(@equipment)
context.items = @items.models
context.unlockedItems = []
context.lockedItems = []
for item in @items.models
item.classes = item.getAllowedSlots()
item.classes.push 'equipped' if item.get('original') in context.equipped
item.classes.push 'restricted' if @allowedItems and not (item.get('original') in @allowedItems)
@items.models.sort (a, b) -> ('restricted' in a.classes) - ('restricted' in b.classes)
locked = @allowedItems and not (item.get('original') in @allowedItems)
item.classes.push 'locked' if locked
(if locked then context.lockedItems else context.unlockedItems).push item
@items.models.sort (a, b) -> ('locked' in a.classes) - ('locked' in b.classes)
context.slots = @slots
context.equipment = _.clone @equipment
@ -83,7 +86,7 @@ module.exports = class InventoryView extends CocoView
itemView.render()
$(availableItemEl).append(itemView.$el)
@registerSubView(itemView)
continue if $(availableItemEl).hasClass 'restricted'
continue if $(availableItemEl).hasClass 'locked'
dragHelper = itemView.$el.find('img').clone().addClass('draggable-item')
do (dragHelper, itemView) =>
itemView.$el.draggable
@ -136,7 +139,7 @@ module.exports = class InventoryView extends CocoView
onAvailableItemClick: (e) ->
itemContainer = $(e.target).closest('.list-group-item')
return if itemContainer.hasClass 'restricted'
return if itemContainer.hasClass 'locked'
wasActive = itemContainer.hasClass 'active'
@unselectAllAvailableEquipment()
@selectAvailableItem(itemContainer) unless wasActive
@ -145,7 +148,7 @@ module.exports = class InventoryView extends CocoView
onAvailableItemDoubleClick: (e) ->
if e
itemContainer = $(e.target).closest('.list-group-item')
return if itemContainer.hasClass 'restricted'
return if itemContainer.hasClass 'locked'
@selectAvailableItem itemContainer
@onSelectionChanged()
slot = @getSelectedSlot()
@ -160,17 +163,6 @@ module.exports = class InventoryView extends CocoView
@selectAvailableItem(@unequipItemFromSlot(slot))
@onSelectionChanged()
onClickSwapButton: ->
slot = @getSelectedSlot()
selectedItemContainer = @$el.find('#available-equipment .list-group-item.active')
return unless slot[0] or selectedItemContainer[0]
slot = @$el.find('.item-slot:not(.disabled):first') if not slot.length
itemContainer = @unequipItemFromSlot(slot)
@equipSelectedItemToSlot(slot)
@selectAvailableItem(itemContainer)
@selectSlot(slot)
@onSelectionChanged()
getSelectedSlot: ->
@$el.find('#equipped .item-slot.selected')
@ -221,35 +213,33 @@ module.exports = class InventoryView extends CocoView
if selectedSlot.length
@$el.find('#available-equipment .list-group-item').hide()
count = @$el.find("#available-equipment .list-group-item.#{selectedSlot.data('slot')}").show().length
@$el.find('#stash-description').text "#{count} #{selectedSlot.data('slot')} items owned"
unlockedCount = @$el.find("#available-equipment .list-group-item.#{selectedSlot.data('slot')}:not(.locked)").show().length
lockedCount = @$el.find("#available-equipment .list-group-item.#{selectedSlot.data('slot')}.locked").show().length
@$el.find('#unlocked-description').text("#{unlockedCount} #{selectedSlot.data('slot')} items owned").toggle unlockedCount > 0
@$el.find('#locked-description').text("#{lockedCount} #{selectedSlot.data('slot')} items locked").toggle lockedCount > 0
selectedSlotItemID = selectedSlot.find('.item-view').data('item-id')
if selectedSlotItemID
item = _.find @items.models, {id:selectedSlotItemID}
item = _.find @items.models, {id: selectedSlotItemID}
@showSelectedSlotItem(item)
else
@hideSelectedSlotItem()
else
count = @$el.find('#available-equipment .list-group-item').show().length
@$el.find('#stash-description').text "#{count} items owned"
@$el.find('#available-equipment .list-group-item.equipped').hide()
unlockedCount = @$el.find('#available-equipment .list-group-item:not(.locked)').show().length
lockedCount = @$el.find('#available-equipment .list-group-item.locked').show().length
@$el.find('#unlocked-description').text("#{unlockedCount} items owned").toggle unlockedCount > 0
@$el.find('#locked-description').text("#{lockedCount} items locked").toggle lockedCount > 0
#@$el.find('#available-equipment .list-group-item.equipped').hide()
@$el.find('.item-slot').removeClass('disabled')
if selectedItem.length
item = _.find @items.models, {id:selectedItem.find('.item-view').data('item-id')}
# update which slots are enabled
allowedSlots = item.getAllowedSlots()
for slotEl in @$el.find('.item-slot')
slotName = $(slotEl).data('slot')
if slotName not in allowedSlots
$(slotEl).addClass('disabled')
@showSelectedAvailableItem(item)
else
@hideSelectedAvailableItem()
@ -265,9 +255,10 @@ module.exports = class InventoryView extends CocoView
@selectedEquippedItemView.item = item
@selectedEquippedItemView.render()
@$el.find('#selected-items').show()
@$el.find('#selected-equipped-item').show()
hideSelectedSlotItem: ->
@selectedEquippedItemView?.$el.hide()
@selectedEquippedItemView?.$el.hide().parent().hide()
@$el.find('#selected-items').hide() unless @selectedEquippedItemView?.$el?.is(':visible')
showSelectedAvailableItem: (item) ->
@ -280,9 +271,10 @@ module.exports = class InventoryView extends CocoView
@selectedAvailableItemView.item = item
@selectedAvailableItemView.render()
@$el.find('#selected-items').show()
@$el.find('#selected-available-item').show()
hideSelectedAvailableItem: ->
@selectedAvailableItemView?.$el.hide()
@selectedAvailableItemView?.$el.hide().parent().hide()
@$el.find('#selected-items').hide() unless @selectedEquippedItemView?.$el?.is(':visible')
getCurrentEquipmentConfig: ->
@ -296,7 +288,7 @@ module.exports = class InventoryView extends CocoView
config
assignLevelEquipment: ->
# This is temporary, until we have a more general way of awarding items and configuring needed/restricted items per level.
# This is temporary, until we have a more general way of awarding items and configuring needed/locked items per level.
gear =
'simple-boots': '53e237bf53457600003e3f05'
'longsword': '53e218d853457600003e3ebe'

View file

@ -313,8 +313,8 @@ module.exports = class CocoView extends Backbone.View
return mobileRELong.test(ua) or mobileREShort.test(ua.substr(0, 4))
isIE: ->
ua = navigator.userAgent or navigator.vendor or window.opera
return ua.search('MSIE') != -1
# http://stackoverflow.com/questions/19999388/jquery-check-if-user-is-using-ie
navigator.userAgent.indexOf('MSIE') > 0 or !!navigator.userAgent.match(/Trident.*rv\:11\./)
isMac: ->
navigator.platform.toUpperCase().indexOf('MAC') isnt -1

View file

@ -40,7 +40,7 @@ module.exports = class SpectateLevelView extends RootView
isEditorPreview: false
subscriptions:
'level:set-volume': (e) -> createjs.Sound.setVolume(e.volume)
'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.
'god:new-world-created': 'onNewWorld'
'god:streaming-world-updated': 'onNewWorld'
'god:infinite-loop': 'onInfiniteLoop'

View file

@ -21,9 +21,9 @@ module.exports = class WorldMapView extends RootView
'click .map-background': 'onClickMap'
'click .level a': 'onClickLevel'
'click .level-info-container .start-level': 'onClickStartLevel'
#'mouseenter .level a': 'onMouseEnterLevel'
#'mouseleave .level a': 'onMouseLeaveLevel'
#'mousemove .map': 'onMouseMoveMap'
'mouseenter .level a': 'onMouseEnterLevel'
'mouseleave .level a': 'onMouseLeaveLevel'
'mousemove .map': 'onMouseMoveMap'
constructor: (options) ->
super options
@ -66,11 +66,13 @@ module.exports = class WorldMapView extends RootView
level.y ?= 10 + 80 * Math.random()
context.levelStatusMap = @levelStatusMap
context.levelPlayCountMap = @levelPlayCountMap
context.isIPadApp = application.isIPadApp
context
afterRender: ->
super()
@onWindowResize()
unless application.isIPadApp
_.defer => @$el.find('.game-controls button').tooltip() # Have to defer or i18n doesn't take effect.
@$el.find('.level').tooltip()
@ -91,27 +93,35 @@ module.exports = class WorldMapView extends RootView
e.stopPropagation()
@$levelInfo?.hide()
return if $(e.target).attr('disabled')
if application.isIPadApp
levelID = $(e.target).parents('.level').data('level-id')
@$levelInfo = @$el.find(".level-info-container[data-level-id=#{levelID}]").show()
@adjustLevelInfoPosition e
else
@startLevel $(e.target).parents('.level')
onClickStartLevel: (e) ->
@startLevel $(e.target).parents('.level-info-container')
startLevel: (levelElement) ->
playLevelModal = new PlayLevelModal supermodel: @supermodel, levelID: levelElement.data('level-id'), levelPath: levelElement.data('level-path'), levelName: levelElement.data('level-name')
@openModalView playLevelModal
@$levelInfo?.hide()
onMouseEnterLevel: (e) ->
return if application.isIPadApp
levelID = $(e.target).parents('.level').data('level-id')
@$levelInfo = @$el.find(".level-info-container[data-level-id=#{levelID}]").show()
@adjustLevelInfoPosition e
onClickStartLevel: (e) ->
container = $(e.target).parents('.level-info-container')
playLevelModal = new PlayLevelModal supermodel: @supermodel, levelID: container.data('level-id'), levelPath: container.data('level-path'), levelName: container.data('level-name')
@openModalView playLevelModal
@$levelInfo?.hide()
onMouseLeaveLevel: (e) ->
return if application.isIPadApp
levelID = $(e.target).parents('.level').data('level-id')
@$el.find(".level-info-container[data-level-id='#{levelID}']").hide()
#onMouseEnterLevel: (e) ->
# levelID = $(e.target).parents('.level').data('level-id')
# @$levelInfo = @$el.find(".level-info-container[data-level-id=#{levelID}]").show()
# @adjustLevelInfoPosition e
#
#onMouseLeaveLevel: (e) ->
# levelID = $(e.target).parents('.level').data('level-id')
# @$el.find(".level-info-container[data-level-id='#{levelID}']").hide()
#
#onMouseMoveMap: (e) ->
# @adjustLevelInfoPosition e
onMouseMoveMap: (e) ->
return if application.isIPadApp
@adjustLevelInfoPosition e
adjustLevelInfoPosition: (e) ->
return unless @$levelInfo

View file

@ -26,6 +26,8 @@ module.exports = class ControlBarView extends CocoView
'click': -> Backbone.Mediator.publish 'tome:focus-editor', {}
'click .home a': 'onClickHome'
constructor: (options) ->
@worldName = options.worldName
@session = options.session
@ -51,12 +53,18 @@ module.exports = class ControlBarView extends CocoView
c.multiplayerEnabled = @session.get('multiplayer')
c.ladderGame = @level.get('type') is 'ladder'
c.spectateGame = @spectateGame
@homeViewArgs = [{supermodel: @supermodel}]
if @level.get('type', true) in ['ladder', 'ladder-tutorial']
c.homeLink = '/play/ladder/' + @level.get('slug').replace /\-tutorial$/, ''
levelID = @level.get('slug').replace /\-tutorial$/, ''
@homeLink = c.homeLink = '/play/ladder/' + levelID
@homeViewClass = require 'views/play/ladder/LadderView'
@homeViewArgs.push levelID
else if @level.get('type', true) is 'hero'
c.homeLink = '/play-hero'
@homeLink = c.homeLink = '/play-hero'
@homeViewClass = require 'views/play/WorldMapView'
else
c.homeLink = '/'
@homeLink = c.homeLink = '/'
@homeViewClass = require 'views/HomeView'
c.editorLink = "/editor/level/#{@level.get('slug')}"
c.multiplayerSession = @multiplayerSession if @multiplayerSession
c.multiplayerPlayers = @multiplayerPlayers if @multiplayerPlayers
@ -84,6 +92,11 @@ module.exports = class ControlBarView extends CocoView
showGameMenuModal: ->
@openModalView new GameMenuModal level: @level, session: @session
onClickHome: (e) ->
e.preventDefault()
e.stopImmediatePropagation()
Backbone.Mediator.publish 'router:navigate', route: @homeLink, viewClass: @homeViewClass, viewArgs: @homeViewArgs
onJoinedRealTimeMultiplayerGame: (e) ->
@multiplayerSession = e.session
@multiplayerPlayers = new RealTimeCollection('multiplayer_level_sessions/' + @multiplayerSession.id + '/players')

View file

@ -166,6 +166,7 @@ module.exports = class LevelPlaybackView extends CocoView
@togglePlaybackControls false
Backbone.Mediator.publish 'playback:real-time-playback-started', {}
Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'real-time-playback-start', volume: 1
Backbone.Mediator.publish 'level:set-letterbox', on: true
onRealTimeMultiplayerCast: (e) ->
@realTime = true
@ -179,8 +180,8 @@ module.exports = class LevelPlaybackView extends CocoView
@updateBarWidth e.world.frames.length, e.world.maxTotalFrames, e.world.dt
updateBarWidth: (loadedFrameCount, maxTotalFrames, dt) ->
@totalTime = loadedFrameCount * dt
pct = parseInt(100 * loadedFrameCount / maxTotalFrames) + '%'
@totalTime = (loadedFrameCount - 1) * dt
pct = parseInt(100 * loadedFrameCount / (maxTotalFrames - 1)) + '%'
@barWidth = $('.progress', @$el).css('width', pct).show().width()
$('.scrubber .progress', @$el).slider('enable', true)
@newTime = 0
@ -262,10 +263,7 @@ module.exports = class LevelPlaybackView extends CocoView
onFrameChanged: (e) ->
if e.progress isnt @lastProgress
@currentTime = e.frame / e.world.frameRate
# Game will sometimes stop at 29.97, but with only one digit, this is unnecesary.
# @currentTime = @totalTime if Math.abs(@totalTime - @currentTime) < 0.04
@updatePopupContent() if @timePopup?.shown
@updateProgress(e.progress, e.world)
@updatePlayButton(e.progress)
@lastProgress = e.progress
@ -295,11 +293,13 @@ module.exports = class LevelPlaybackView extends CocoView
@worldCompletelyLoaded = world.frames.length is world.totalFrames
if @realTime and @worldCompletelyLoaded and not wasLoaded
Backbone.Mediator.publish 'playback:real-time-playback-ended', {}
Backbone.Mediator.publish 'level:set-letterbox', on: false
$('.scrubber .progress-bar', @$el).css('width', "#{progress * 100}%")
updatePlayButton: (progress) ->
if @worldCompletelyLoaded and progress >= 0.99 and @lastProgress < 0.99
$('#play-button').removeClass('playing').removeClass('paused').addClass('ended')
Backbone.Mediator.publish 'level:set-letterbox', on: false if @realTime
Backbone.Mediator.publish 'playback:real-time-playback-ended', {} if @realTime
if progress < 0.99 and @lastProgress >= 0.99
b = $('#play-button').removeClass('ended')
@ -337,7 +337,7 @@ module.exports = class LevelPlaybackView extends CocoView
start: (event, ui) =>
return if @shouldIgnore()
@slideCount = 0
@wasPlaying = @playing
@wasPlaying = @playing and not $('#play-button').hasClass('ended')
Backbone.Mediator.publish 'level:set-playing', {playing: false}
Backbone.Mediator.publish 'audio-player:play-sound', trigger: 'playback-scrub-start', volume: 0.5

View file

@ -45,7 +45,7 @@ module.exports = class PlayLevelView extends RootView
isEditorPreview: false
subscriptions:
'level:set-volume': (e) -> createjs.Sound.setVolume(e.volume)
'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:show-victory': 'onShowVictory'
'level:restart': 'onRestartLevel'
'level:highlight-dom': 'onHighlightDom'
@ -205,6 +205,8 @@ module.exports = class PlayLevelView extends RootView
@session = @levelLoader.session
@world = @levelLoader.world
@level = @levelLoader.level
@$el.addClass 'hero' if @level.get('type', true) is 'hero'
@$el.addClass 'flags' if @level.get('slug') is 'sky-span' # TODO: figure out when the player has flags.
@otherSession = @levelLoader.opponentSession
@worldLoadFakeResources = [] # first element (0) is 1%, last (100) is 100%
for percent in [1 .. 100]
@ -258,7 +260,7 @@ module.exports = class PlayLevelView extends RootView
@insertSubView @tome = new TomeView levelID: @levelID, session: @session, otherSession: @otherSession, thangs: @world.thangs, supermodel: @supermodel, level: @level
@insertSubView new LevelPlaybackView session: @session
@insertSubView new GoalsView {}
@insertSubView new LevelFlagsView world: @world
@insertSubView new LevelFlagsView world: @world if @levelID is 'sky-span' # TODO: figure out when flags are available
@insertSubView new GoldView {}
@insertSubView new HUDView {}
@insertSubView new ChatView levelID: @levelID, sessionID: @session.id, session: @session

View file

@ -14,6 +14,7 @@ module.exports = class VictoryModal extends ModalView
events:
'click .next-level-button': 'onPlayNextLevel'
'click .world-map-button': 'onClickWorldMap'
# review events
'mouseover .rating i': (e) -> @showStars(@starNum($(e.target)))
@ -64,6 +65,11 @@ module.exports = class VictoryModal extends ModalView
@saveReview() if @$el.find('.review textarea').val()
Backbone.Mediator.publish 'level:play-next-level', {}
onClickWorldMap: (e) ->
e.preventDefault()
e.stopImmediatePropagation()
Backbone.Mediator.publish 'router:navigate', route: '/play-hero', viewClass: require('views/play/WorldMapView'), viewArgs: [{supermodel: @supermodel}]
onGameSubmitted: (e) ->
ladderURL = "/play/ladder/#{@level.get('slug')}#my-matches"
Backbone.Mediator.publish 'router:navigate', route: ladderURL

View file

@ -104,6 +104,7 @@ module.exports = class CastButtonView extends CocoView
else if castable
s = $.i18n.t('play_level.tome_cast_button_run')
s = $.i18n.t('play_level.tome_cast_button_casting') if s is 'Run' and me.get('preferredLanguage').split('-')[0] isnt 'en' # Temporary, if tome_cast_button_running isn't translated.
unless @options.levelID in ['dungeons-of-kithgard', 'gems-in-the-deep', 'shadow-guard', 'true-names'] # Hide for first few.
s += ' ' + @castShortcut
else
s = $.i18n.t('play_level.tome_cast_button_ran')

View file

@ -110,7 +110,7 @@ module.exports = class DocFormatter
if @doc.type is 'number' and not isNaN v
if v == Math.round v
return v
return v.toFixed 2
return v?.toFixed(2) ? 'null'
if _.isString v
return "\"#{v}\""
if v?.id

View file

@ -43,7 +43,7 @@ module.exports = class Spell
if @canRead() # We can avoid creating these views if we'll never use them.
@view = new SpellView {spell: @, level: options.level, session: @session, worker: @worker}
@view.render() # Get it ready and code loaded in advance
@tabView = new SpellListTabEntryView spell: @, supermodel: @supermodel, language: @language
@tabView = new SpellListTabEntryView spell: @, supermodel: @supermodel, codeLanguage: @language, level: options.level
@tabView.render()
@team = @permissions.readwrite[0] ? 'common'
Backbone.Mediator.publish 'tome:spell-created', spell: @
@ -56,7 +56,7 @@ module.exports = class Spell
@worker = null
setLanguage: (@language) ->
console.log 'setting language to', @language, 'so using original source', @languages[language] ? @languages.javascript
#console.log 'setting language to', @language, 'so using original source', @languages[language] ? @languages.javascript
@originalSource = @languages[language] ? @languages.javascript
addThang: (thang) ->

View file

@ -33,6 +33,9 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
shift = $.i18n.t 'keyboard_shortcuts.shift'
context.beautifyShortcutVerbose = "#{ctrl}+#{shift}+B: #{$.i18n.t 'keyboard_shortcuts.beautify'}"
context.maximizeShortcutVerbose = "#{ctrl}+#{shift}+M: #{$.i18n.t 'keyboard_shortcuts.maximize_editor'}"
context.includeSpellList = @options.includeSpellList
context.codeLanguage = @options.codeLanguage
context.levelType = @options.level.get 'type', true
context
afterRender: ->
@ -71,7 +74,7 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
found = true
break
return unless found
docFormatter = new DocFormatter doc: doc, thang: @thang, language: @options.language, selectedMethod: true
docFormatter = new DocFormatter doc: doc, thang: @thang, language: @options.codeLanguage, selectedMethod: true
@$el.find('code').popover(
animation: true
html: true
@ -122,11 +125,12 @@ module.exports = class SpellListTabEntryView extends SpellListEntryView
onSpellChangedLanguage: (e) ->
return unless e.spell is @spell
@options.language = e.language
@options.codeLanguage = e.language
@$el.find('code').popover 'destroy'
@render()
@docsBuilt = false
@buildDocs() if @thang
@updateReloadButton()
toggleControls: (e, enabled) ->
# Don't call super; do it differently

View file

@ -61,7 +61,7 @@ module.exports = class SpellListView extends CocoView
theseThangs = _.keys(spell.thangs)
changedThangs = not lastThangs or not _.isEqual theseThangs, lastThangs
lastThangs = theseThangs
newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel
newEntries.push entry = new SpellListEntryView spell: spell, showTopDivider: changedThangs, supermodel: @supermodel, includeSpellList: @spells.length > 1
@entries.push entry
for entry in newEntries
@$el.append entry.el

View file

@ -76,6 +76,7 @@ module.exports = class SpellPaletteEntryView extends CocoView
Backbone.Mediator.publish 'tome:palette-pin-toggled', entry: @, pinned: @popoverPinned
onClick: (e) =>
return if @options.level.get('type', true) is 'hero' # No need for confusing docs pinning on hero levels.
if key.shift
Backbone.Mediator.publish 'tome:insert-snippet', doc: @options.doc, language: @options.language, formatted: @doc
return

View file

@ -123,7 +123,8 @@ module.exports = class SpellPaletteView extends CocoView
if tabbify and _.find @entries, ((entry) -> entry.doc.owner isnt 'this')
@entryGroups = _.groupBy @entries, groupForEntry
else
defaultGroup = $.i18n.t('play_level.tome_available_spells', defaultValue: 'Available Spells')
i18nKey = if @options.level.get('type', true) is 'hero' then 'play_level.tome_your_skills' else 'play_level.tome_available_spells'
defaultGroup = $.i18n.t i18nKey
@entryGroups = {}
@entryGroups[defaultGroup] = @entries
@defaultGroupSlug = _.string.slugify defaultGroup
@ -144,7 +145,7 @@ module.exports = class SpellPaletteView extends CocoView
addEntry: (doc, shortenize, tabbify, isSnippet=false) ->
writable = (if _.isString(doc) then doc else doc.name) in (@thang.apiUserProperties ? [])
new SpellPaletteEntryView doc: doc, thang: @thang, shortenize: shortenize, tabbify: tabbify, isSnippet: isSnippet, language: @options.language, writable: writable
new SpellPaletteEntryView doc: doc, thang: @thang, shortenize: shortenize, tabbify: tabbify, isSnippet: isSnippet, language: @options.language, writable: writable, level: @options.level
onDisableControls: (e) -> @toggleControls e, false
onEnableControls: (e) -> @toggleControls e, true

View file

@ -212,7 +212,7 @@ module.exports = class TomeView extends CocoView
updateSpellPalette: (thang, spell) ->
return unless thang and @spellPaletteView?.thang isnt thang and thang.programmableProperties or thang.apiProperties
@spellPaletteView = @insertSubView new SpellPaletteView thang: thang, supermodel: @supermodel, programmable: spell?.canRead(), language: spell?.language ? @options.session.get('codeLanguage'), session: @options.session
@spellPaletteView = @insertSubView new SpellPaletteView thang: thang, supermodel: @supermodel, programmable: spell?.canRead(), language: spell?.language ? @options.session.get('codeLanguage'), session: @options.session, level: @options.level
@spellPaletteView.toggleControls {}, spell.view.controlsEnabled if spell # TODO: know when palette should have been disabled but didn't exist
spellFor: (thang, spellName) ->

View file

@ -3,6 +3,7 @@ template = require 'templates/play/modal/play-level-modal'
ChooseHeroView = require 'views/game-menu/ChooseHeroView'
InventoryView = require 'views/game-menu/InventoryView'
PlayLevelView = require 'views/play/level/PlayLevelView'
LadderView = require 'views/play/ladder/LadderView'
LevelSession = require 'models/LevelSession'
module.exports = class PlayLevelModal extends ModalView
@ -97,10 +98,12 @@ module.exports = class PlayLevelModal extends ModalView
@showLoading()
@updateConfig =>
@navigatingToPlay = true
viewClass = if @options.levelPath is 'ladder' then LadderView else PlayLevelView
Backbone.Mediator.publish 'router:navigate', {
route: "/play/#{@options.levelPath || 'level'}/#{@options.levelID}",
viewClass: PlayLevelView,
viewArgs: [{supermodel: @supermodel}, @options.levelID]}
route: "/play/#{@options.levelPath || 'level'}/#{@options.levelID}"
viewClass: viewClass
viewArgs: [{supermodel: @supermodel}, @options.levelID]
}
onEnterPressed: (e) ->
(if @chooseHeroView.$el.hasClass('secret') then @onClickPlayLevel else @onClickChooseInventory).apply @

View file

@ -9,7 +9,7 @@ class LevelSessionsCollection extends CocoCollection
model: LevelSession
constructor: (userID) ->
@url = "/db/user/#{userID}/level.sessions?project=state.complete,levelID,levelName,changed,team,submittedCodeLanguage,totalScore&order=-1"
@url = "/db/user/#{userID}/level.sessions?project=state.complete,levelID,levelName,changed,team,codeLanguage,submittedCodeLanguage,totalScore&order=-1"
super()
module.exports = class MainUserView extends UserView
@ -30,7 +30,9 @@ module.exports = class MainUserView extends UserView
multiPlayerSessions.push levelSession
else
singlePlayerSessions.push levelSession
languageCounts[levelSession.get 'submittedCodeLanguage'] = (languageCounts[levelSession.get 'submittedCodeLanguage'] or 0) + 1
language = levelSession.get('codeLanguage') or levelSession.get('submittedCodeLanguage')
if language
languageCounts[language] = (languageCounts[language] or 0) + 1
mostUsedCount = 0
favoriteLanguage = null
for language, count of languageCounts