Merge branch 'master' into production

This commit is contained in:
Nick Winter 2015-01-31 13:19:42 -08:00
commit 19e7283d90
15 changed files with 134 additions and 129 deletions

View file

@ -1,7 +1,7 @@
{me} = require 'core/auth' {me} = require 'core/auth'
SuperModel = require 'models/SuperModel' SuperModel = require 'models/SuperModel'
debugAnalytics = false debugAnalytics = true
module.exports = class Tracker module.exports = class Tracker
constructor: -> constructor: ->

View file

@ -813,4 +813,5 @@ module.exports = Lank = class Lank extends CocoClass
p.removeChild @healthBar if p = @healthBar?.parent p.removeChild @healthBar if p = @healthBar?.parent
@sprite?.off 'animationend', @playNextAction @sprite?.off 'animationend', @playNextAction
clearInterval @effectInterval if @effectInterval clearInterval @effectInterval if @effectInterval
@dialogueSoundInstance?.removeAllEventListeners()
super() super()

View file

@ -473,21 +473,21 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
why_paragraph_2_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!" why_paragraph_2_italic_caps: "NEE MAMA IK MOET DIT LEVEL AF MAKEN!"
why_paragraph_2_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds." why_paragraph_2_suffix: "Dat is waarom CodeCombat een multiplayergame is, en niet zomaar lessen gegoten in spelformaat. We zullen niet stoppen totdat jij niet meer kan stoppen--maar deze keer, is dat iets goeds."
why_paragraph_3: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden." why_paragraph_3: "Als je verslaafd gaat zijn aan een spel, dan is het beter om hieraan verslaafd te raken en een tovenaar van het technisch tijdperk te worden."
# press_title: "Bloggers/Press" press_title: "Bloggers/Journalisten"
# 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_prefix: "Wil je over ons schrijven? Voel je vrij om de bestanden te gebruiken van ons"
# press_paragraph_1_link: "press packet" press_paragraph_1_link: "journalistieke pakket"
# press_paragraph_1_suffix: ". All logos and images may be used without contacting us directly." press_paragraph_1_suffix: ". Alle logo's en afbeeldingen mogen worden gebruikt zonder direct contact met ons op te nemen."
# team: "Team" team: "Team"
# george_title: "CEO" george_title: "CEO"
# george_blurb: "Businesser" george_blurb: "Zaken type"
# scott_title: "Programmer" scott_title: "Programmeur"
# scott_blurb: "Reasonable One" scott_blurb: "de Redelijke"
# nick_title: "Programmer" nick_title: "Programmeur"
# nick_blurb: "Motivation Guru" nick_blurb: "Motivatie Goeroe"
# michael_title: "Programmer" michael_title: "Programmeur"
# michael_blurb: "Sys Admin" michael_blurb: "Systeembeheerder"
# matt_title: "Programmer" matt_title: "Programmeur"
# matt_blurb: "Bicyclist" matt_blurb: "Fietser"
versions: versions:
save_version_title: "Nieuwe versie opslaan" save_version_title: "Nieuwe versie opslaan"
@ -504,13 +504,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
forum_prefix: "Voor iets publiekelijks, probeer dan " forum_prefix: "Voor iets publiekelijks, probeer dan "
forum_page: "ons forum" forum_page: "ons forum"
forum_suffix: "." forum_suffix: "."
# faq_prefix: "There's also a" faq_prefix: "Er is ook een"
# faq: "FAQ" faq: "veelgestelde vragen sectie"
# subscribe_prefix: "If you need help figuring out a level, please" subscribe_prefix: "Als je hulp nodig hebt om een level te halen, overweeg dan alsjeblieft"
# subscribe: "buy a CodeCombat subscription" subscribe:"abonnee te worden van CodeCombat"
# subscribe_suffix: "and we'll be happy to help you with your code." subscribe_suffix: ", dan helpen we je graag om je code te verbeteren."
# subscriber_support: "Since you're a CodeCombat subscriber, your email will get our priority support." subscriber_support: "Omdat je geabonneerd bent op CodeCombat, krijgt je email prioriteit bij het beantwoorden."
# screenshot_included: "Screenshot included." screenshot_included: "Screenshot inbegrepen."
# where_reply: "Where should we reply?" # where_reply: "Where should we reply?"
send: "Feedback Verzonden" send: "Feedback Verzonden"
contact_candidate: "Contacteer Kandidaat" # Deprecated contact_candidate: "Contacteer Kandidaat" # Deprecated
@ -528,15 +528,15 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
admin: "Administrator" admin: "Administrator"
new_password: "Nieuw Wachtwoord" new_password: "Nieuw Wachtwoord"
new_password_verify: "Verifieer" new_password_verify: "Verifieer"
email_subscriptions: "E-mail Abonnementen" email_subscriptions: "Email Abonnementen" #gewijzigd door Jacob. Ik vind e-mail misschien ook mooier, maar voor consistentie gewijzigd
# email_subscriptions_none: "No Email Subscriptions." email_subscriptions_none: "Geen Email Abonnementen."
email_announcements: "Aankondigingen" email_announcements: "Aankondigingen"
email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat."
email_notifications: "Notificaties" email_notifications: "Notificaties"
email_notifications_summary: "Instellingen voor gepersonaliseerde, automatische meldingen via e-mail omtrent je activiteit op CodeCombat." email_notifications_summary: "Instellingen voor gepersonaliseerde, automatische meldingen via e-mail omtrent je activiteit op CodeCombat."
email_any_notes: "Alle Meldingen" email_any_notes: "Alle Meldingen"
email_any_notes_description: "Zet alle activiteit-meldingen via e-mail af." email_any_notes_description: "Zet alle activiteit-meldingen via email af."
# email_news: "News" email_news: "Nieuws"
email_recruit_notes: "Job Aanbiedingen" email_recruit_notes: "Job Aanbiedingen"
email_recruit_notes_description: "Als je zeer goed speelt, zouden we je wel eens kunnen contacteren om je een (betere) job aan te bieden." email_recruit_notes_description: "Als je zeer goed speelt, zouden we je wel eens kunnen contacteren om je een (betere) job aan te bieden."
contributor_emails: "Medewerker Klasse emails" contributor_emails: "Medewerker Klasse emails"
@ -547,7 +547,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
error_saving: "Fout Tijdens Het Opslaan" error_saving: "Fout Tijdens Het Opslaan"
saved: "Aanpassingen Opgeslagen" saved: "Aanpassingen Opgeslagen"
password_mismatch: "Het wachtwoord komt niet overeen." password_mismatch: "Het wachtwoord komt niet overeen."
# password_repeat: "Please repeat your password." password_repeat: "Herhaal je wachtwoord."
job_profile: "Job Profiel" # Rest of this section (the job profile stuff and wizard stuff) is deprecated job_profile: "Job Profiel" # Rest of this section (the job profile stuff and wizard stuff) is deprecated
job_profile_approved: "Jouw job profiel werd goedgekeurd door CodeCombat. Werkgevers zullen het kunnen bekijken totdat je het inactief zet of als er geen verandering in komt voor vier weken." job_profile_approved: "Jouw job profiel werd goedgekeurd door CodeCombat. Werkgevers zullen het kunnen bekijken totdat je het inactief zet of als er geen verandering in komt voor vier weken."
job_profile_explanation: "Hey! Vul dit in en we zullen je contacteren om je een job als softwareontwikkelaar te helpen vinden." job_profile_explanation: "Hey! Vul dit in en we zullen je contacteren om je een job als softwareontwikkelaar te helpen vinden."
@ -595,66 +595,66 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
classes: classes:
archmage_title: "Tovenaar" archmage_title: "Tovenaar"
archmage_title_description: "(Programmeur)" archmage_title_description: "(Programmeur)"
# archmage_summary: "If you are a developer interested in coding educational games, become an archmage to help us build CodeCombat!" archmage_summary: "Als je een programmeur met interesse in het maken van educatieve spellen, word dan Tovernaar en help ons CodeCombat te ontwikkelen!"
artisan_title: "Ambachtsman" artisan_title: "Ambachtsman"
artisan_title_description: "(Level Bouwer)" artisan_title_description: "(Level Bouwer)"
# artisan_summary: "Build and share levels for you and your friends to play. Become an Artisan to learn the art of teaching others to program." artisan_summary: "Bouw en deel levels die je alleen of met vrienden kan spelen. Word een Ambachtsman om anderen te helpen leren programmeren."
adventurer_title: "Avonturier" adventurer_title: "Avonturier"
adventurer_title_description: "(Level Tester)" adventurer_title_description: "(Level Tester)"
# adventurer_summary: "Get our new levels (even our subscriber content) for free one week early and help us work out bugs before our public release." adventurer_summary: "Krijg gratis een week eerder toegang tot nieuwe levels (zelfs levels voor abonnees) en help ons bugs te vinden voordat het level uitgebracht wordt."
scribe_title: "Klerk" scribe_title: "Klerk"
scribe_title_description: "(Redacteur)" scribe_title_description: "(Redacteur)"
# scribe_summary: "Good code needs good documentation. Write, edit, and improve the docs read by millions of players across the globe." scribe_summary: "Goede code heeft goede documentatie nodig. Schrijf, wijzig en verbeter de documentatie die door wereldwijd door miljoenen spelers wordt gelezen."
diplomat_title: "Diplomaat" diplomat_title: "Diplomaat"
diplomat_title_description: "(Vertaler)" diplomat_title_description: "(Vertaler)"
# diplomat_summary: "CodeCombat is localized in 45+ languages by our Diplomats. Help us out and contribute translations." diplomat_summary: "CodeCombat ondersteunt meer dan 45 talen. Word Diplomaat en help met vertalen."
ambassador_title: "Ambassadeur" ambassador_title: "Ambassadeur"
ambassador_title_description: "(Ondersteuning)" ambassador_title_description: "(Ondersteuning)"
# ambassador_summary: "Tame our forum users and provide direction for those with questions. Our ambassadors represent CodeCombat to the world." ambassador_summary: "Bewaar de vrede op onze forums en help mensen met vragen. Onze ambassadeurs helpen CodeCombat te presenteren aan de buitenwereld." #niet letterlijk maar misschien maar Engels origineel was misschien niet net
editor: editor:
main_title: "CodeCombat Editors" main_title: "CodeCombat Editors"
article_title: "Artikel Editor" article_title: "Artikel Editor"
thang_title: "Thang Editor" thang_title: "Thang Editor"
level_title: "Level Editor" level_title: "Level Editor"
# achievement_title: "Achievement Editor" achievement_title: "Prestatie Editor"
back: "Terug" back: "Terug"
revert: "Keer wijziging terug" revert: "Keer wijziging terug"
revert_models: "keer wijziging model terug" revert_models: "keer wijziging model terug"
# pick_a_terrain: "Pick A Terrain" pick_a_terrain: "Kies een Terrein"
# dungeon: "Dungeon" dungeon: "Kelder"
# indoor: "Indoor" indoor: "Binnen"
# desert: "Desert" desert: "Woestijn"
# grassy: "Grassy" grassy: "Grassig"
# small: "Small" small: "Klein"
# large: "Large" large: "Groot"
fork_title: "Kloon naar nieuwe versie" fork_title: "Kloon naar nieuwe versie"
fork_creating: "Kloon aanmaken..." fork_creating: "Kloon aanmaken..."
# generate_terrain: "Generate Terrain" generate_terrain: "Genereer Terrein"
more: "Meer" more: "Meer"
wiki: "Wiki" wiki: "Wiki"
live_chat: "Live Chat" live_chat: "Live Chat"
# thang_main: "Main" # thang_main: "Main"
# thang_spritesheets: "Spritesheets" # thang_spritesheets: "Spritesheets"
# thang_colors: "Colors" thang_colors: "Kleuren"
level_some_options: "Enkele opties?" level_some_options: "Enkele opties?"
level_tab_thangs: "Elementen" level_tab_thangs: "Elementen"
level_tab_scripts: "Scripts" level_tab_scripts: "Scripts"
level_tab_settings: "Instellingen" level_tab_settings: "Instellingen"
level_tab_components: "Componenten" level_tab_components: "Componenten"
level_tab_systems: "Systemen" level_tab_systems: "Systemen"
# level_tab_docs: "Documentation" level_tab_docs: "Documentatie"
level_tab_thangs_title: "Huidige Elementen" level_tab_thangs_title: "Huidige Elementen"
level_tab_thangs_all: "Alles" level_tab_thangs_all: "Alles"
level_tab_thangs_conditions: "Start Condities" level_tab_thangs_conditions: "Start Condities"
level_tab_thangs_add: "Voeg element toe" level_tab_thangs_add: "Voeg element toe"
# add_components: "Add Components" add_components: "Voeg Componenten Toe"
# component_configs: "Component Configurations" component_configs: "Componenten Configuraties"
# config_thang: "Double click to configure a thang" config_thang: "Double click om een thang te configureren"
delete: "Verwijder" delete: "Verwijder"
duplicate: "Dupliceer" duplicate: "Dupliceer"
# stop_duplicate: "Stop Duplicate" stop_duplicate: "Stop Dupliceren"
# rotate: "Rotate" rotate: "Roteer"
level_settings_title: "Instellingen" level_settings_title: "Instellingen"
level_component_tab_title: "Huidige Componenten" level_component_tab_title: "Huidige Componenten"
level_component_btn_new: "Maak een nieuwe component aan" level_component_btn_new: "Maak een nieuwe component aan"
@ -673,22 +673,22 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
new_article_title: "Maak een Nieuw Artikel" new_article_title: "Maak een Nieuw Artikel"
new_thang_title: "Maak een Nieuw Thang Type" new_thang_title: "Maak een Nieuw Thang Type"
new_level_title: "Maak een Nieuw Level" new_level_title: "Maak een Nieuw Level"
# new_article_title_login: "Log In to Create a New Article" new_article_title_login: "Log In om een Nieuw Artikel te maken"
# new_thang_title_login: "Log In to Create a New Thang Type" new_thang_title_login: "Log In om een Nieuw Thang Type te maken"
# new_level_title_login: "Log In to Create a New Level" new_level_title_login: "Log In om een New Level te maken"
# new_achievement_title: "Create a New Achievement" new_achievement_title: "Maak een Nieuwe Prestatie"
# new_achievement_title_login: "Log In to Create a New Achievement" new_achievement_title_login: "Log In om een Nieuwe Prestatie te maken"
article_search_title: "Zoek Artikels Hier" article_search_title: "Zoek Artikelen Hier" #Jacob edited an existing translation
thang_search_title: "Zoek Thang Types Hier" thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier" level_search_title: "Zoek Levels Hier"
# achievement_search_title: "Search Achievements" achievement_search_title: "Zoek Prestaties"
read_only_warning2: "Pas op, je kunt geen aanpassingen opslaan hier, want je bent niet ingelogd." read_only_warning2: "Pas op, je kunt geen aanpassingen opslaan hier, want je bent niet ingelogd."
# no_achievements: "No achievements have been added for this level yet." no_achievements: "Er zijn nog geen achievements toegevoegd voor dit level"
# achievement_query_misc: "Key achievement off of miscellanea" # achievement_query_misc: "Key achievement off of miscellanea"
# achievement_query_goals: "Key achievement off of level goals" # achievement_query_goals: "Key achievement off of level goals"
# level_completion: "Level Completion" level_completion: "Level Voltooiing" #mogelijk:Het afmaken van een level. Context? #Suboptimaal
# pop_i18n: "Populate I18N" # pop_i18n: "Populate I18N"
# tasks: "Tasks" tasks: "Taken"
article: article:
edit_btn_preview: "Voorbeeld" edit_btn_preview: "Voorbeeld"
@ -696,9 +696,9 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
contribute: contribute:
page_title: "Bijdragen" page_title: "Bijdragen"
# intro_blurb: "CodeCombat is 100% open source! Hundreds of dedicated players have helped us build the game into what it is today. Join us and write the next chapter in CodeCombat's quest to teach the world to code!" intro_blurb: "CodeCombat is 100% open source! Honderden toegewijde spelers hebben ons geholpen bij het maken van dit spel. Doe mee en help CodeCombat in zijn epische missie de wereld te leren programmeren!"
alert_account_message_intro: "Hallo!" alert_account_message_intro: "Hallo!"
# alert_account_message: "To subscribe for class emails, you'll need to be logged in first." alert_account_message: "Om je aan te melden voor klasse emails, moest je eerst inloggen."
archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit." archmage_introduction: "Een van de beste aspecten aan het maken van spelletjes is dat zij zoveel verschillende zaken omvatten. Visualisaties, geluid, real-time netwerken, sociale netwerken, en natuurlijk enkele veelvoorkomende aspecten van programmeren, van low-level database beheer en server administratie tot gebruiksvriendelijke interfaces maken. Er is veel te doen, en als jij een ervaren programmeur bent met de motivatie om je volledig te verdiepen in de details van CodeCombat, dan ben je de tovenaar die wij zoeken! We zouden graag jouw hulp krijgen bij het bouwen van het allerbeste programmeerspel ooit."
class_attributes: "Klasse kenmerken" class_attributes: "Klasse kenmerken"
archmage_attribute_1_pref: "Ervaring met " archmage_attribute_1_pref: "Ervaring met "
@ -742,7 +742,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou." diplomat_introduction_suf: "dan is het wel dat er een enorme belangstelling is voor CodeCombat in andere landen, vooral Brazilië! We zijn een groep van vertalers aan het creëren dat ijverig de ene set woorden in de andere omzet om CodeCombat zo toegankelijk mogelijk te maken in de hele wereld. Als jij het leuk vindt glimpsen op te vangen van aankomende content en deze levels zo snel mogelijk naar je landgenoten te krijgen, dan is dit de klasse voor jou."
diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!" diplomat_attribute_1: "Vloeiend Engels en de taal waar naar je wilt vertalen kunnen spreken. Wanneer je moeilijke ideeën wilt overbrengen, is het belangrijk beide talen goed te begrijpen!"
# diplomat_i18n_page_prefix: "You can start translating our levels by going to our" # diplomat_i18n_page_prefix: "You can start translating our levels by going to our"
# diplomat_i18n_page: "translations page" diplomat_i18n_page: "vertalingen pagina" #deel van Engelse zin. Nederlands werkt zo niet.
# diplomat_i18n_page_suffix: ", or our interface and website on GitHub." # diplomat_i18n_page_suffix: ", or our interface and website on GitHub."
diplomat_join_pref_github: "Vind van jouw taal het locale bestand " diplomat_join_pref_github: "Vind van jouw taal het locale bestand "
diplomat_github_url: "op GitHub" diplomat_github_url: "op GitHub"
@ -787,12 +787,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
rank_failed: "Beoordeling mislukt" rank_failed: "Beoordeling mislukt"
rank_being_ranked: "Spel wordt Beoordeeld" rank_being_ranked: "Spel wordt Beoordeeld"
# rank_last_submitted: "submitted " # rank_last_submitted: "submitted "
# help_simulate: "Help simulate games?" help_simulate: "Helpen spellen te simuleren?"
code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen." code_being_simulated: "Uw nieuwe code wordt gesimuleerd door andere spelers om te beoordelen. Dit wordt vernieuwd zodra nieuwe matches binnenkomen."
no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het" no_ranked_matches_pre: "Geen beoordeelde wedstrijden voor het"
no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen." no_ranked_matches_post: " team! Speel tegen enkele tegenstanders en kom terug hier om uw spel te laten beoordelen."
choose_opponent: "Kies een tegenstander" choose_opponent: "Kies een tegenstander"
# select_your_language: "Select your language!" select_your_language: "Kies je taal!"
tutorial_play: "Speel de Tutorial" tutorial_play: "Speel de Tutorial"
tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld"
tutorial_skip: "Sla Tutorial over" tutorial_skip: "Sla Tutorial over"
@ -801,53 +801,53 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
simple_ai: "Simpele AI" simple_ai: "Simpele AI"
warmup: "Opwarming" warmup: "Opwarming"
friends_playing: "Spelende Vrienden" friends_playing: "Spelende Vrienden"
# log_in_for_friends: "Log in to play with your friends!" log_in_for_friends: "Log in om met je vrienden te spelen!"
social_connect_blurb: "Koppel je sociaal netwerk om tegen je vrienden te spelen!" social_connect_blurb: "Koppel je sociaal netwerk om tegen je vrienden te spelen!"
invite_friends_to_battle: "Nodig je vrienden uit om deel te nemen aan het gevecht!" invite_friends_to_battle: "Nodig je vrienden uit om deel te nemen aan het gevecht!"
fight: "Aanvallen!" fight: "Aanvallen!"
watch_victory: "Aanschouw je overwinning!" watch_victory: "Aanschouw je overwinning!"
defeat_the: "Versla de" defeat_the: "Versla de"
# tournament_ends: "Tournament ends" tournament_ends: "Toernooi eindigt"
# tournament_ended: "Tournament ended" tournament_ended: "Toernooi geeindigd"
# tournament_rules: "Tournament Rules" tournament_rules: "Toernooi regels"
# 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: "Schrijf code, verzamel goud, bouw legers, verpletter je tegenstanders, win prijzen en verbeter je carrière in ons $40,000 Greed toernooi! Zie de details" #Suboptimaal
# 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_criss_cross: "Win biedingen, bouw paden, wees je tegenstander te slim af, pak edelstenen en verbeter je carrière in ons Criss-Cross toernooi! Zie de details"
# tournament_blurb_blog: "on our blog" tournament_blurb_blog: "op ons blog"
# rules: "Rules" rules: "Regels"
# winners: "Winners" winners: "Winnaars"
# user: user:
# stats: "Stats" stats: "Statistieken" #Misschien gegevens
# singleplayer_title: "Singleplayer Levels" # singleplayer_title: "Singleplayer Levels"
# multiplayer_title: "Multiplayer Levels" # multiplayer_title: "Multiplayer Levels"
# achievements_title: "Achievements" achievements_title: "Prestaties"
# last_played: "Last Played" last_played: "Laatst Gespeeld"
# status: "Status" # status: "Status"
# status_completed: "Completed" status_completed: "Voltooid"
# status_unfinished: "Unfinished" status_unfinished: "Onvoltooid"
# no_singleplayer: "No Singleplayer games played yet." no_singleplayer: "Nog geen Singleplayer spellen gespeeld."
# no_multiplayer: "No Multiplayer games played yet." no_multiplayer: "Nog geen Multiplayer spellen gespeeld."
# no_achievements: "No Achievements earned yet." no_achievements: "Nog geen Prestaties verdiend."
# favorite_prefix: "Favorite language is " favorite_prefix: "Favoriete taal is "
# favorite_postfix: "." favorite_postfix: "."
# achievements: achievements:
# last_earned: "Last Earned" last_earned: "Laatst verdiend"
# amount_achieved: "Amount" amount_achieved: "Hoeveelheid"
# achievement: "Achievement" achievement: "Prestatie"
# category_contributor: "Contributor" # category_contributor: "Contributor"
# category_ladder: "Ladder" # category_ladder: "Ladder"
# category_level: "Level" # category_level: "Level"
# category_miscellaneous: "Miscellaneous" category_miscellaneous: "Diversen"
# category_levels: "Levels" # category_levels: "Levels"
# category_undefined: "Uncategorized" category_undefined: "Geen categorie"
# current_xp_prefix: "" current_xp_prefix: ""
# current_xp_postfix: " in total" # current_xp_postfix: " in total"
# new_xp_prefix: "" new_xp_prefix: ""
# new_xp_postfix: " earned" new_xp_postfix: " verdiend"
# left_xp_prefix: "" left_xp_prefix: ""
# left_xp_infix: " until level " left_xp_infix: " tot level "
# left_xp_postfix: "" left_xp_postfix: ""
# account: # account:
# recently_played: "Recently Played" # recently_played: "Recently Played"
@ -885,7 +885,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
unknown: "Onbekende fout." unknown: "Onbekende fout."
resources: resources:
# sessions: "Sessions" sessions: "Sessies"
your_sessions: "Jouw sessies." your_sessions: "Jouw sessies."
level: "Level" level: "Level"
social_network_apis: "Sociale netwerk APIs" social_network_apis: "Sociale netwerk APIs"
@ -897,12 +897,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
leaderboard: "Scorebord" leaderboard: "Scorebord"
user_schema: "Gebruikersschema" user_schema: "Gebruikersschema"
user_profile: "Gebruikersprofiel" user_profile: "Gebruikersprofiel"
# patch: "Patch" patch: "Patch"
patches: "Patches" patches: "Patches"
# patched_model: "Source Document" # patched_model: "Source Document"
model: "Model" model: "Model"
system: "Systeem" system: "Systeem"
# systems: "Systems" systems: "Systemen"
component: "Component" component: "Component"
components: "Componenten" components: "Componenten"
thang: "Thang" thang: "Thang"
@ -911,25 +911,25 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
opponent_session: "Sessie van tegenstander" opponent_session: "Sessie van tegenstander"
article: "Artikel" article: "Artikel"
user_names: "Gebruikersnamen" user_names: "Gebruikersnamen"
# thang_names: "Thang Names" thang_names: "Thang Namen"
files: "Bestanden" files: "Bestanden"
top_simulators: "Top Simulatoren" top_simulators: "Top Simulatoren"
# source_document: "Source Document" # source_document: "Source Document"
# document: "Document" document: "Document"
# sprite_sheet: "Sprite Sheet" # sprite_sheet: "Sprite Sheet"
# employers: "Employers" employers: "Werkgevers"
# candidates: "Candidates" candidates: "Candidaten"
# candidate_sessions: "Candidate Sessions" # candidate_sessions: "Candidate Sessions"
# user_remark: "User Remark" user_remark: "Gebruiker Opmerking"
# user_remarks: "User Remarks" user_remarks: "Gebruiken Opmerkingen"
# versions: "Versions" versions: "Versies"
# items: "Items" items: "Items"
# heroes: "Heroes" heroes: "Helden"
# achievement: "Achievement" achievement: "Prestatie"
# clas: "CLAs" # clas: "CLAs"
# play_counts: "Play Counts" # play_counts: "Play Counts"
# feedback: "Feedback" # feedback: "Feedback"
# payment_info: "Payment Info" payment_info: "Betalings Informatie"
# delta: # delta:
# added: "Added" # added: "Added"
@ -964,7 +964,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
practices_title: "Goede Respectvolle gewoonten" practices_title: "Goede Respectvolle gewoonten"
practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon."
privacy_title: "Privacy" privacy_title: "Privacy"
# privacy_description: "We will not sell any of your personal information." privacy_description: "We zullen je persoonlijke informatie niet verkopen."
security_title: "Beveiliging" security_title: "Beveiliging"
security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn." security_description: "We streven ernaar om jouw persoonlijke informatie veilig te bewaren. Onze website is open en beschikbaar voor iedereen, opdat ons beveiliging systeem kan worden nagekeken en geoptimaliseerd door iedereen die dat wil. Dit alles is mogelijk doordat we volledig open source en transparant zijn."
email_title: "E-mail" email_title: "E-mail"

View file

@ -86,10 +86,10 @@ if campaign.loaded
h1#campaign-status h1#campaign-status
.campaign-status-background .campaign-status-background
- var fullName = i18n(campaign.attributes, 'fullName') - var fullName = i18n(campaign.attributes, 'fullName')
if me.get('preferredLanguage', true).split('-')[0] == 'en' || fullName != campaign.get('fullName') if (me.get('preferredLanguage', true) || 'en-US').split('-')[0] == 'en' || fullName != campaign.get('fullName')
// We have a translation. // We have a translation.
span.spr= fullName span= fullName
| - | :
span.spl.spr= levelsCompleted span.spl.spr= levelsCompleted
| / | /
span.spl= levelsTotal span.spl= levelsTotal

View file

@ -60,6 +60,7 @@ module.exports = class CocoView extends Backbone.View
@undelegateEvents() # removes both events and subs @undelegateEvents() # removes both events and subs
view.destroy() for id, view of @subviews view.destroy() for id, view of @subviews
$('#modal-wrapper .modal').off 'hidden.bs.modal', @modalClosed $('#modal-wrapper .modal').off 'hidden.bs.modal', @modalClosed
@$el.find('[data-original-title]').tooltip 'destroy'
@endHighlight() @endHighlight()
@getPointer(false).remove() @getPointer(false).remove()
@[key] = undefined for key, value of @ @[key] = undefined for key, value of @

View file

@ -39,7 +39,6 @@ module.exports = class SubscribeModal extends ModalView
popoverContent += "<p>" + $.i18n.t('subscribe.parents_blurb2') + "</p>" popoverContent += "<p>" + $.i18n.t('subscribe.parents_blurb2') + "</p>"
popoverContent += "<p>" + $.i18n.t('subscribe.parents_blurb3') + "</p>" popoverContent += "<p>" + $.i18n.t('subscribe.parents_blurb3') + "</p>"
#popoverContent = popoverContent.replace /9[.,]99/g, '3.99' # Sale #popoverContent = popoverContent.replace /9[.,]99/g, '3.99' # Sale
window.popoverContent = popoverContent
@$el.find('#parents-info').popover( @$el.find('#parents-info').popover(
animation: true animation: true
html: true html: true

View file

@ -91,7 +91,7 @@ module.exports = class ScriptsTabView extends CocoView
newPath = selected.getPath() newPath = selected.getPath()
return if newPath is @selectedScriptPath return if newPath is @selectedScriptPath
#@scriptTreema?.destroy() # TODO: get this to work #@scriptTreema?.destroy() # TODO: get this to work
@scriptTreema = @$el.find('#script-treema').treema treemaOptions @scriptTreema = @$el.find('#script-treema').treema treemaOptions
@scriptTreema.build() @scriptTreema.build()
@scriptTreema.childrenTreemas?.noteChain?.open() @scriptTreema.childrenTreemas?.noteChain?.open()
@ -123,7 +123,7 @@ module.exports = class ScriptsTabView extends CocoView
onThangsEdited: (e) -> onThangsEdited: (e) ->
# Update in-place so existing Treema nodes refer to the same array. # Update in-place so existing Treema nodes refer to the same array.
@thangIDs?.splice(0, @thangIDs.length, @getThangIDs()...) @thangIDs?.splice(0, @thangIDs.length, @getThangIDs()...)
onWindowResize: (e) => onWindowResize: (e) =>
@$el.find('#scripts-treema').collapse('show') if $('body').width() > 800 @$el.find('#scripts-treema').collapse('show') if $('body').width() > 800
@ -158,7 +158,6 @@ class ScriptNode extends TreemaObjectNode
tabToCurrentScript: -> tabToCurrentScript: ->
@settings.view.scriptTreema?.keepFocus() @settings.view.scriptTreema?.keepFocus()
window.v = @settings.view
firstRow = @settings.view.scriptTreema?.$el.find('.treema-node:visible').data('instance') firstRow = @settings.view.scriptTreema?.$el.find('.treema-node:visible').data('instance')
return unless firstRow? return unless firstRow?
firstRow.select() firstRow.select()

View file

@ -57,7 +57,6 @@ module.exports = class LevelThangEditView extends CocoView
thangTypeName = thangType?.get('name') or 'None' thangTypeName = thangType?.get('name') or 'None'
input.val(thangTypeName) input.val(thangTypeName)
@$el.find('#thang-type-link span').text(thangTypeName) @$el.find('#thang-type-link span').text(thangTypeName)
window.input = input
@hideLoading() @hideLoading()
navigateToAllThangs: -> navigateToAllThangs: ->

View file

@ -163,7 +163,6 @@ module.exports = class ThangTypeColorsTabView extends CocoView
colors = {} colors = {}
@buttons.find('button').each (i, button) -> @buttons.find('button').each (i, button) ->
return unless $(button).hasClass('selected') return unless $(button).hasClass('selected')
window.button = button
colors[$(button).val()] = true colors[$(button).val()] = true
shapes = [] shapes = []

View file

@ -46,7 +46,7 @@ module.exports = class LevelLoadingView extends CocoView
goalContainer = @$el.find('.level-loading-goals') goalContainer = @$el.find('.level-loading-goals')
goalList = goalContainer.find('ul') goalList = goalContainer.find('ul')
goalCount = 0 goalCount = 0
for goalID, goal of @level.get('goals') when (not goal.team or goal.team is e.team) and not goal.hiddenGoal for goalID, goal of @level.get('goals') when (not goal.team or goal.team is (e.team or 'humans')) and not goal.hiddenGoal
name = utils.i18n goal, 'name' name = utils.i18n goal, 'name'
goalList.append $('<li>' + name + '</li>') goalList.append $('<li>' + name + '</li>')
++goalCount ++goalCount

View file

@ -126,7 +126,9 @@ module.exports = class DocFormatter
replaceSpriteName: (s) -> replaceSpriteName: (s) ->
# Prefer type, and excluded the quotes we'd get with @formatValue # Prefer type, and excluded the quotes we'd get with @formatValue
s.replace /#{spriteName}/g, @options.thang.type ? @options.thang.spriteName name = @options.thang.type ? @options.thang.spriteName
name = 'hero' if /Hero Placeholder/.test @options.thang.id
s.replace /#{spriteName}/g, name
formatValue: (v) -> formatValue: (v) ->
return null if @doc.type is 'snippet' return null if @doc.type is 'snippet'

View file

@ -439,7 +439,7 @@ module.exports = class SpellView extends CocoView
attackEntry.content = attackEntry.content.replace '${1:enemy}', '"${1:Enemy Name}"' attackEntry.content = attackEntry.content.replace '${1:enemy}', '"${1:Enemy Name}"'
snippetEntries.push attackEntry snippetEntries.push attackEntry
# window.zatannaInstance = @zatanna # window.zatannaInstance = @zatanna # For debugging. Make sure to not leave active when committing.
# window.snippetEntries = snippetEntries # window.snippetEntries = snippetEntries
lang = SpellView.editModes[e.language].substr 'ace/mode/'.length lang = SpellView.editModes[e.language].substr 'ace/mode/'.length
@zatanna.addSnippets snippetEntries, lang @zatanna.addSnippets snippetEntries, lang

View file

@ -52,8 +52,6 @@ module.exports = class LevelGuideView extends CocoView
window.removeEventListener('message', @onMessageReceived, false) window.removeEventListener('message', @onMessageReceived, false)
else else
window.detachEvent('onmessage', @onMessageReceived, false) window.detachEvent('onmessage', @onMessageReceived, false)
if window.onYouTubeIframeAPIReady
window.onYouTubeIframeAPIReady = null
super() super()
getRenderData: -> getRenderData: ->

View file

@ -109,6 +109,14 @@ module.exports = class InventoryModal extends ModalView
requiredToPurchase = true requiredToPurchase = true
break break
if requiredToPurchase and locked and not item.get('gems')
# Either one of two things has happened:
# 1. There's a bug and the player doesn't have a required item they should have.
# 2. The player is trying to play a level they haven't unlocked.
# We'll just pretend they own it so that they don't get stuck.
application.tracker?.trackEvent 'Required Item Locked', level: @options.level.get('slug'), label: @options.level.get('slug'), item: item.get('name'), playerLevel: me.level(), levelUnlocked: me.ownsLevel @options.level.get('original')
locked = false
placeholder = not item.getFrontFacingStats().props.length and not _.size(item.getFrontFacingStats().stats) placeholder = not item.getFrontFacingStats().props.length and not _.size(item.getFrontFacingStats().stats)
if placeholder and locked # The item is not complete, so don't put it into a collection. if placeholder and locked # The item is not complete, so don't put it into a collection.

View file

@ -158,7 +158,7 @@ module.exports = class PlayHeroesModal extends ModalView
@rerenderFooter() @rerenderFooter()
return return
canvas.show().prop width: @canvasWidth, height: @canvasHeight canvas.show().prop width: @canvasWidth, height: @canvasHeight
layer = new LayerAdapter({webGL:true}) layer = new LayerAdapter({webGL:true})
@layers.push layer @layers.push layer
layer.resolutionFactor = 8 # hi res! layer.resolutionFactor = 8 # hi res!
@ -166,7 +166,7 @@ module.exports = class PlayHeroesModal extends ModalView
multiplier = 7 multiplier = 7
layer.scaleX = layer.scaleY = multiplier layer.scaleX = layer.scaleY = multiplier
lank = new Lank(fullHero, {preloadSounds: false}) lank = new Lank(fullHero, {preloadSounds: false})
layer.addLank(lank) layer.addLank(lank)
layer.on 'new-spritesheet', -> layer.on 'new-spritesheet', ->
#- maybe put some more normalization here? #- maybe put some more normalization here?
@ -179,7 +179,6 @@ module.exports = class PlayHeroesModal extends ModalView
stage = new createjs.SpriteStage(canvas[0]) stage = new createjs.SpriteStage(canvas[0])
@stages[heroIndex] = stage @stages[heroIndex] = stage
stage.addChild layer.container stage.addChild layer.container
window.stage = stage
stage.update() stage.update()
unless preloading unless preloading
createjs.Ticker.addEventListener 'tick', stage createjs.Ticker.addEventListener 'tick', stage