From cf76143e6015eb404c2e8de31357c87009af0dcf Mon Sep 17 00:00:00 2001 From: Jacob Date: Sat, 31 Jan 2015 17:28:27 +0100 Subject: [PATCH 1/5] Update nl-NL.coffee Worked upwards from the bottom until the section "about". Edited some longer sentences reasonably carefully. Made use of the word email more consistent, by changing most to email. Wiki says the official spelling is e-mail, so perhaps we should revert this, but I think consistency is most important. I suppose we should work together with our Belgian partners, but I have only looked at the NL version. Again, feel free to contact me. I will browse some more in the Dutch version to see if everything looks ok. --- app/locale/nl-NL.coffee | 210 ++++++++++++++++++++-------------------- 1 file changed, 106 insertions(+), 104 deletions(-) diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index eb7d23235..4e9176dc2 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -1,6 +1,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: home: slogan: "Leer programmeren door het spelen van een spel" + #alternatief: Leer programmeren door een spel te spelen + no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" # Warning that only shows up in IE8 and older no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" # Warning that shows up on mobile devices play: "Speel" # The big play button that opens up the campaign view. @@ -473,21 +475,21 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription 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_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_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" -# george_title: "CEO" -# george_blurb: "Businesser" -# scott_title: "Programmer" -# scott_blurb: "Reasonable One" -# nick_title: "Programmer" -# nick_blurb: "Motivation Guru" -# michael_title: "Programmer" -# michael_blurb: "Sys Admin" -# matt_title: "Programmer" -# matt_blurb: "Bicyclist" + press_title: "Bloggers/Journalisten" + press_paragraph_1_prefix: "Wil je over ons schrijven? Voel je vrij om de bestanden te gebruiken van ons" + press_paragraph_1_link: "journalistieke pakket" + press_paragraph_1_suffix: ". Alle logo's en afbeeldingen mogen worden gebruikt zonder direct contact met ons op te nemen." + team: "Team" + george_title: "CEO" + george_blurb: "Zaken type" + scott_title: "Programmeur" + scott_blurb: "de Redelijke" + nick_title: "Programmeur" + nick_blurb: "Motivatie Goeroe" + michael_title: "Programmeur" + michael_blurb: "Systeembeheerder" + matt_title: "Programmeur" + matt_blurb: "Fietser" versions: save_version_title: "Nieuwe versie opslaan" @@ -504,13 +506,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription forum_prefix: "Voor iets publiekelijks, probeer dan " forum_page: "ons forum" forum_suffix: "." -# faq_prefix: "There's also a" -# faq: "FAQ" -# subscribe_prefix: "If you need help figuring out a level, please" -# subscribe: "buy a CodeCombat subscription" -# subscribe_suffix: "and we'll be happy to help you with your code." -# subscriber_support: "Since you're a CodeCombat subscriber, your email will get our priority support." -# screenshot_included: "Screenshot included." + faq_prefix: "Er is ook een" + faq: "veelgestelde vragen sectie" + subscribe_prefix: "Als je hulp nodig hebt om een level te halen, overweeg dan alsjeblieft" + subscribe:"abonnee te worden van CodeCombat" + subscribe_suffix: ", dan helpen we je graag om je code te verbeteren." + subscriber_support: "Omdat je geabonneerd bent op CodeCombat, krijgt je email prioriteit bij het beantwoorden." + screenshot_included: "Screenshot inbegrepen." # where_reply: "Where should we reply?" send: "Feedback Verzonden" contact_candidate: "Contacteer Kandidaat" # Deprecated @@ -528,15 +530,15 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription admin: "Administrator" new_password: "Nieuw Wachtwoord" new_password_verify: "Verifieer" - email_subscriptions: "E-mail Abonnementen" -# email_subscriptions_none: "No Email Subscriptions." + email_subscriptions: "Email Abonnementen" #gewijzigd door Jacob. Ik vind e-mail misschien ook mooier, maar voor consistentie gewijzigd + email_subscriptions_none: "Geen Email Abonnementen." email_announcements: "Aankondigingen" email_announcements_description: "Verkrijg emails over het laatste nieuws en de ontwikkelingen bij CodeCombat." email_notifications: "Notificaties" email_notifications_summary: "Instellingen voor gepersonaliseerde, automatische meldingen via e-mail omtrent je activiteit op CodeCombat." email_any_notes: "Alle Meldingen" - email_any_notes_description: "Zet alle activiteit-meldingen via e-mail af." -# email_news: "News" + email_any_notes_description: "Zet alle activiteit-meldingen via email af." + email_news: "Nieuws" 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." contributor_emails: "Medewerker Klasse emails" @@ -547,7 +549,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription error_saving: "Fout Tijdens Het Opslaan" saved: "Aanpassingen Opgeslagen" 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_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." @@ -595,66 +597,66 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription classes: archmage_title: "Tovenaar" 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_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_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_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_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_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: main_title: "CodeCombat Editors" article_title: "Artikel Editor" thang_title: "Thang Editor" level_title: "Level Editor" -# achievement_title: "Achievement Editor" + achievement_title: "Prestatie Editor" back: "Terug" revert: "Keer wijziging terug" revert_models: "keer wijziging model terug" -# pick_a_terrain: "Pick A Terrain" -# dungeon: "Dungeon" -# indoor: "Indoor" -# desert: "Desert" -# grassy: "Grassy" -# small: "Small" -# large: "Large" + pick_a_terrain: "Kies een Terrein" + dungeon: "Kelder" + indoor: "Binnen" + desert: "Woestijn" + grassy: "Grassig" + small: "Klein" + large: "Groot" fork_title: "Kloon naar nieuwe versie" fork_creating: "Kloon aanmaken..." -# generate_terrain: "Generate Terrain" + generate_terrain: "Genereer Terrein" more: "Meer" wiki: "Wiki" live_chat: "Live Chat" # thang_main: "Main" # thang_spritesheets: "Spritesheets" -# thang_colors: "Colors" + thang_colors: "Kleuren" level_some_options: "Enkele opties?" level_tab_thangs: "Elementen" level_tab_scripts: "Scripts" level_tab_settings: "Instellingen" level_tab_components: "Componenten" level_tab_systems: "Systemen" -# level_tab_docs: "Documentation" + level_tab_docs: "Documentatie" level_tab_thangs_title: "Huidige Elementen" level_tab_thangs_all: "Alles" level_tab_thangs_conditions: "Start Condities" level_tab_thangs_add: "Voeg element toe" -# add_components: "Add Components" -# component_configs: "Component Configurations" -# config_thang: "Double click to configure a thang" + add_components: "Voeg Componenten Toe" + component_configs: "Componenten Configuraties" + config_thang: "Double click om een thang te configureren" delete: "Verwijder" duplicate: "Dupliceer" -# stop_duplicate: "Stop Duplicate" -# rotate: "Rotate" + stop_duplicate: "Stop Dupliceren" + rotate: "Roteer" level_settings_title: "Instellingen" level_component_tab_title: "Huidige Componenten" level_component_btn_new: "Maak een nieuwe component aan" @@ -673,22 +675,22 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription new_article_title: "Maak een Nieuw Artikel" new_thang_title: "Maak een Nieuw Thang Type" new_level_title: "Maak een Nieuw Level" -# new_article_title_login: "Log In to Create a New Article" -# new_thang_title_login: "Log In to Create a New Thang Type" -# new_level_title_login: "Log In to Create a New Level" -# new_achievement_title: "Create a New Achievement" -# new_achievement_title_login: "Log In to Create a New Achievement" - article_search_title: "Zoek Artikels Hier" + new_article_title_login: "Log In om een Nieuw Artikel te maken" + new_thang_title_login: "Log In om een Nieuw Thang Type te maken" + new_level_title_login: "Log In om een New Level te maken" + new_achievement_title: "Maak een Nieuwe Prestatie" + new_achievement_title_login: "Log In om een Nieuwe Prestatie te maken" + article_search_title: "Zoek Artikelen Hier" #Jacob edited an existing translation thang_search_title: "Zoek Thang Types 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." -# 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_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" -# tasks: "Tasks" + tasks: "Taken" article: edit_btn_preview: "Voorbeeld" @@ -696,9 +698,9 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription contribute: 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: "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." class_attributes: "Klasse kenmerken" archmage_attribute_1_pref: "Ervaring met " @@ -742,7 +744,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_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: "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_join_pref_github: "Vind van jouw taal het locale bestand " diplomat_github_url: "op GitHub" @@ -787,12 +789,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription rank_failed: "Beoordeling mislukt" rank_being_ranked: "Spel wordt Beoordeeld" # 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." 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." choose_opponent: "Kies een tegenstander" -# select_your_language: "Select your language!" + select_your_language: "Kies je taal!" tutorial_play: "Speel de Tutorial" tutorial_recommended: "Aanbevolen als je nog niet eerder hebt gespeeld" tutorial_skip: "Sla Tutorial over" @@ -801,52 +803,52 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription simple_ai: "Simpele AI" warmup: "Opwarming" 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!" invite_friends_to_battle: "Nodig je vrienden uit om deel te nemen aan het gevecht!" fight: "Aanvallen!" watch_victory: "Aanschouw je overwinning!" defeat_the: "Versla de" -# tournament_ends: "Tournament ends" -# tournament_ended: "Tournament ended" -# tournament_rules: "Tournament Rules" -# 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" + tournament_ends: "Toernooi eindigt" + tournament_ended: "Toernooi geeindigd" + tournament_rules: "Toernooi regels" + 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 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: "op ons blog" + rules: "Regels" + winners: "Winnaars" # user: -# stats: "Stats" +# stats: "Statistieken" #Misschien gegevens # singleplayer_title: "Singleplayer Levels" # multiplayer_title: "Multiplayer Levels" -# achievements_title: "Achievements" -# last_played: "Last Played" +# achievements_title: "Prestaties" +# last_played: "Laatst Gespeeld" # status: "Status" -# status_completed: "Completed" -# status_unfinished: "Unfinished" -# no_singleplayer: "No Singleplayer games played yet." -# no_multiplayer: "No Multiplayer games played yet." -# no_achievements: "No Achievements earned yet." -# favorite_prefix: "Favorite language is " +# status_completed: "Voltooid" +# status_unfinished: "Onvoltooid" +# no_singleplayer: "Nog geen Singleplayer spellen gespeeld." +# no_multiplayer: "Nog geen Multiplayer spellen gespeeld." +# no_achievements: "Nog geen Prestaties verdiend." +# favorite_prefix: "Favoriete taal is " # favorite_postfix: "." # achievements: -# last_earned: "Last Earned" -# amount_achieved: "Amount" -# achievement: "Achievement" +# last_earned: "Laatst verdiend" +# amount_achieved: "Hoeveelheid" +# achievement: "Prestatie" # category_contributor: "Contributor" # category_ladder: "Ladder" # category_level: "Level" -# category_miscellaneous: "Miscellaneous" +# category_miscellaneous: "Diversen" # category_levels: "Levels" -# category_undefined: "Uncategorized" +# category_undefined: "Geen categorie" # current_xp_prefix: "" # current_xp_postfix: " in total" # new_xp_prefix: "" -# new_xp_postfix: " earned" +# new_xp_postfix: " verdiend" # left_xp_prefix: "" -# left_xp_infix: " until level " +# left_xp_infix: " tot level " # left_xp_postfix: "" # account: @@ -885,7 +887,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription unknown: "Onbekende fout." resources: -# sessions: "Sessions" + sessions: "Sessies" your_sessions: "Jouw sessies." level: "Level" social_network_apis: "Sociale netwerk APIs" @@ -897,12 +899,12 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription leaderboard: "Scorebord" user_schema: "Gebruikersschema" user_profile: "Gebruikersprofiel" -# patch: "Patch" + patch: "Patch" patches: "Patches" # patched_model: "Source Document" model: "Model" system: "Systeem" -# systems: "Systems" + systems: "Systemen" component: "Component" components: "Componenten" thang: "Thang" @@ -911,25 +913,25 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription opponent_session: "Sessie van tegenstander" article: "Artikel" user_names: "Gebruikersnamen" -# thang_names: "Thang Names" + thang_names: "Thang Namen" files: "Bestanden" top_simulators: "Top Simulatoren" # source_document: "Source Document" -# document: "Document" + document: "Document" # sprite_sheet: "Sprite Sheet" -# employers: "Employers" -# candidates: "Candidates" + employers: "Werkgevers" + candidates: "Candidaten" # candidate_sessions: "Candidate Sessions" -# user_remark: "User Remark" -# user_remarks: "User Remarks" -# versions: "Versions" -# items: "Items" -# heroes: "Heroes" -# achievement: "Achievement" + user_remark: "Gebruiker Opmerking" + user_remarks: "Gebruiken Opmerkingen" + versions: "Versies" + items: "Items" + heroes: "Helden" + achievement: "Prestatie" # clas: "CLAs" # play_counts: "Play Counts" # feedback: "Feedback" -# payment_info: "Payment Info" + payment_info: "Betalings Informatie" # delta: # added: "Added" @@ -964,7 +966,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription practices_title: "Goede Respectvolle gewoonten" practices_description: "Dit zijn onze beloften aan u, de speler, in een iets minder juridische jargon." 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_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" From b8214e8b3c008ed1e57b14f8280414c43e31ed9e Mon Sep 17 00:00:00 2001 From: Imperadeiro98 Date: Sat, 31 Jan 2015 19:02:24 +0000 Subject: [PATCH 2/5] Last merge fixes --- app/locale/nl-NL.coffee | 50 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index 4e9176dc2..fe0edee24 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -1,8 +1,6 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: home: slogan: "Leer programmeren door het spelen van een spel" - #alternatief: Leer programmeren door een spel te spelen - no_ie: "CodeCombat werkt niet in IE8 of ouder. Sorry!" # Warning that only shows up in IE8 and older no_mobile: "CodeCombat is niet gemaakt voor mobiele apparaten en werkt misschien niet!" # Warning that shows up on mobile devices play: "Speel" # The big play button that opens up the campaign view. @@ -744,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_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: "vertalingen pagina" #deel van Engelse zin. Nederlands werkt zo niet. + 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_join_pref_github: "Vind van jouw taal het locale bestand " diplomat_github_url: "op GitHub" @@ -818,38 +816,38 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription rules: "Regels" winners: "Winnaars" -# user: -# stats: "Statistieken" #Misschien gegevens + user: + stats: "Statistieken" #Misschien gegevens # singleplayer_title: "Singleplayer Levels" # multiplayer_title: "Multiplayer Levels" -# achievements_title: "Prestaties" -# last_played: "Laatst Gespeeld" + achievements_title: "Prestaties" + last_played: "Laatst Gespeeld" # status: "Status" -# status_completed: "Voltooid" -# status_unfinished: "Onvoltooid" -# no_singleplayer: "Nog geen Singleplayer spellen gespeeld." -# no_multiplayer: "Nog geen Multiplayer spellen gespeeld." -# no_achievements: "Nog geen Prestaties verdiend." -# favorite_prefix: "Favoriete taal is " -# favorite_postfix: "." + status_completed: "Voltooid" + status_unfinished: "Onvoltooid" + no_singleplayer: "Nog geen Singleplayer spellen gespeeld." + no_multiplayer: "Nog geen Multiplayer spellen gespeeld." + no_achievements: "Nog geen Prestaties verdiend." + favorite_prefix: "Favoriete taal is " + favorite_postfix: "." -# achievements: -# last_earned: "Laatst verdiend" -# amount_achieved: "Hoeveelheid" -# achievement: "Prestatie" + achievements: + last_earned: "Laatst verdiend" + amount_achieved: "Hoeveelheid" + achievement: "Prestatie" # category_contributor: "Contributor" # category_ladder: "Ladder" # category_level: "Level" -# category_miscellaneous: "Diversen" + category_miscellaneous: "Diversen" # category_levels: "Levels" -# category_undefined: "Geen categorie" -# current_xp_prefix: "" + category_undefined: "Geen categorie" + current_xp_prefix: "" # current_xp_postfix: " in total" -# new_xp_prefix: "" -# new_xp_postfix: " verdiend" -# left_xp_prefix: "" -# left_xp_infix: " tot level " -# left_xp_postfix: "" + new_xp_prefix: "" + new_xp_postfix: " verdiend" + left_xp_prefix: "" + left_xp_infix: " tot level " + left_xp_postfix: "" # account: # recently_played: "Recently Played" From 4b388f2775e4484576c816a2e160c5be230c6832 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sat, 31 Jan 2015 12:23:34 -0800 Subject: [PATCH 3/5] Fixed some memory leaks. Fixed a couple minor bugs. --- app/lib/surface/Lank.coffee | 1 + app/templates/play/campaign-view.jade | 6 +++--- app/views/core/SubscribeModal.coffee | 1 - app/views/editor/level/scripts/ScriptsTabView.coffee | 5 ++--- app/views/editor/level/thangs/LevelThangEditView.coffee | 1 - app/views/editor/thang/ThangTypeColorsTabView.coffee | 1 - app/views/play/level/LevelLoadingView.coffee | 2 +- app/views/play/level/tome/DocFormatter.coffee | 4 +++- app/views/play/level/tome/SpellView.coffee | 2 +- app/views/play/menu/GuideView.coffee | 2 -- app/views/play/modal/PlayHeroesModal.coffee | 5 ++--- 11 files changed, 13 insertions(+), 17 deletions(-) diff --git a/app/lib/surface/Lank.coffee b/app/lib/surface/Lank.coffee index 8022e4671..8b83cad13 100644 --- a/app/lib/surface/Lank.coffee +++ b/app/lib/surface/Lank.coffee @@ -813,4 +813,5 @@ module.exports = Lank = class Lank extends CocoClass p.removeChild @healthBar if p = @healthBar?.parent @sprite?.off 'animationend', @playNextAction clearInterval @effectInterval if @effectInterval + @dialogueSoundInstance?.removeAllEventListeners() super() diff --git a/app/templates/play/campaign-view.jade b/app/templates/play/campaign-view.jade index dc522cc25..98a11ce44 100644 --- a/app/templates/play/campaign-view.jade +++ b/app/templates/play/campaign-view.jade @@ -86,10 +86,10 @@ if campaign.loaded h1#campaign-status .campaign-status-background - 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. - span.spr= fullName - | - + span= fullName + | : span.spl.spr= levelsCompleted | / span.spl= levelsTotal diff --git a/app/views/core/SubscribeModal.coffee b/app/views/core/SubscribeModal.coffee index f6b1e673b..01dfe153c 100644 --- a/app/views/core/SubscribeModal.coffee +++ b/app/views/core/SubscribeModal.coffee @@ -39,7 +39,6 @@ module.exports = class SubscribeModal extends ModalView popoverContent += "

" + $.i18n.t('subscribe.parents_blurb2') + "

" popoverContent += "

" + $.i18n.t('subscribe.parents_blurb3') + "

" #popoverContent = popoverContent.replace /9[.,]99/g, '3.99' # Sale - window.popoverContent = popoverContent @$el.find('#parents-info').popover( animation: true html: true diff --git a/app/views/editor/level/scripts/ScriptsTabView.coffee b/app/views/editor/level/scripts/ScriptsTabView.coffee index aa772d4f6..0fd5fb192 100644 --- a/app/views/editor/level/scripts/ScriptsTabView.coffee +++ b/app/views/editor/level/scripts/ScriptsTabView.coffee @@ -91,7 +91,7 @@ module.exports = class ScriptsTabView extends CocoView newPath = selected.getPath() 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.build() @scriptTreema.childrenTreemas?.noteChain?.open() @@ -123,7 +123,7 @@ module.exports = class ScriptsTabView extends CocoView onThangsEdited: (e) -> # Update in-place so existing Treema nodes refer to the same array. @thangIDs?.splice(0, @thangIDs.length, @getThangIDs()...) - + onWindowResize: (e) => @$el.find('#scripts-treema').collapse('show') if $('body').width() > 800 @@ -158,7 +158,6 @@ class ScriptNode extends TreemaObjectNode tabToCurrentScript: -> @settings.view.scriptTreema?.keepFocus() - window.v = @settings.view firstRow = @settings.view.scriptTreema?.$el.find('.treema-node:visible').data('instance') return unless firstRow? firstRow.select() diff --git a/app/views/editor/level/thangs/LevelThangEditView.coffee b/app/views/editor/level/thangs/LevelThangEditView.coffee index 57be3b830..7f7ee7c9a 100644 --- a/app/views/editor/level/thangs/LevelThangEditView.coffee +++ b/app/views/editor/level/thangs/LevelThangEditView.coffee @@ -57,7 +57,6 @@ module.exports = class LevelThangEditView extends CocoView thangTypeName = thangType?.get('name') or 'None' input.val(thangTypeName) @$el.find('#thang-type-link span').text(thangTypeName) - window.input = input @hideLoading() navigateToAllThangs: -> diff --git a/app/views/editor/thang/ThangTypeColorsTabView.coffee b/app/views/editor/thang/ThangTypeColorsTabView.coffee index 293bef1d7..d2a19f4bb 100644 --- a/app/views/editor/thang/ThangTypeColorsTabView.coffee +++ b/app/views/editor/thang/ThangTypeColorsTabView.coffee @@ -163,7 +163,6 @@ module.exports = class ThangTypeColorsTabView extends CocoView colors = {} @buttons.find('button').each (i, button) -> return unless $(button).hasClass('selected') - window.button = button colors[$(button).val()] = true shapes = [] diff --git a/app/views/play/level/LevelLoadingView.coffee b/app/views/play/level/LevelLoadingView.coffee index ffd226793..2c44bc974 100644 --- a/app/views/play/level/LevelLoadingView.coffee +++ b/app/views/play/level/LevelLoadingView.coffee @@ -46,7 +46,7 @@ module.exports = class LevelLoadingView extends CocoView goalContainer = @$el.find('.level-loading-goals') goalList = goalContainer.find('ul') 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' goalList.append $('
  • ' + name + '
  • ') ++goalCount diff --git a/app/views/play/level/tome/DocFormatter.coffee b/app/views/play/level/tome/DocFormatter.coffee index accbabbda..35ad8aeec 100644 --- a/app/views/play/level/tome/DocFormatter.coffee +++ b/app/views/play/level/tome/DocFormatter.coffee @@ -126,7 +126,9 @@ module.exports = class DocFormatter replaceSpriteName: (s) -> # 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) -> return null if @doc.type is 'snippet' diff --git a/app/views/play/level/tome/SpellView.coffee b/app/views/play/level/tome/SpellView.coffee index 4f45d87d5..57a81c996 100644 --- a/app/views/play/level/tome/SpellView.coffee +++ b/app/views/play/level/tome/SpellView.coffee @@ -439,7 +439,7 @@ module.exports = class SpellView extends CocoView attackEntry.content = attackEntry.content.replace '${1:enemy}', '"${1:Enemy Name}"' snippetEntries.push attackEntry - # window.zatannaInstance = @zatanna + # window.zatannaInstance = @zatanna # For debugging. Make sure to not leave active when committing. # window.snippetEntries = snippetEntries lang = SpellView.editModes[e.language].substr 'ace/mode/'.length @zatanna.addSnippets snippetEntries, lang diff --git a/app/views/play/menu/GuideView.coffee b/app/views/play/menu/GuideView.coffee index ae1cf74af..7e6a5f123 100644 --- a/app/views/play/menu/GuideView.coffee +++ b/app/views/play/menu/GuideView.coffee @@ -52,8 +52,6 @@ module.exports = class LevelGuideView extends CocoView window.removeEventListener('message', @onMessageReceived, false) else window.detachEvent('onmessage', @onMessageReceived, false) - if window.onYouTubeIframeAPIReady - window.onYouTubeIframeAPIReady = null super() getRenderData: -> diff --git a/app/views/play/modal/PlayHeroesModal.coffee b/app/views/play/modal/PlayHeroesModal.coffee index 996c6cf20..539b0d898 100644 --- a/app/views/play/modal/PlayHeroesModal.coffee +++ b/app/views/play/modal/PlayHeroesModal.coffee @@ -158,7 +158,7 @@ module.exports = class PlayHeroesModal extends ModalView @rerenderFooter() return canvas.show().prop width: @canvasWidth, height: @canvasHeight - + layer = new LayerAdapter({webGL:true}) @layers.push layer layer.resolutionFactor = 8 # hi res! @@ -166,7 +166,7 @@ module.exports = class PlayHeroesModal extends ModalView multiplier = 7 layer.scaleX = layer.scaleY = multiplier lank = new Lank(fullHero, {preloadSounds: false}) - + layer.addLank(lank) layer.on 'new-spritesheet', -> #- maybe put some more normalization here? @@ -179,7 +179,6 @@ module.exports = class PlayHeroesModal extends ModalView stage = new createjs.SpriteStage(canvas[0]) @stages[heroIndex] = stage stage.addChild layer.container - window.stage = stage stage.update() unless preloading createjs.Ticker.addEventListener 'tick', stage From 26ac0c8947adccf005d54ceadfdce9a0d36b9152 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sat, 31 Jan 2015 12:48:44 -0800 Subject: [PATCH 4/5] Making sure tooltips are destroyed when their parent views are destroyed. --- app/views/core/CocoView.coffee | 1 + 1 file changed, 1 insertion(+) diff --git a/app/views/core/CocoView.coffee b/app/views/core/CocoView.coffee index 65f554051..2d2491d73 100644 --- a/app/views/core/CocoView.coffee +++ b/app/views/core/CocoView.coffee @@ -60,6 +60,7 @@ module.exports = class CocoView extends Backbone.View @undelegateEvents() # removes both events and subs view.destroy() for id, view of @subviews $('#modal-wrapper .modal').off 'hidden.bs.modal', @modalClosed + @$el.find('[data-original-title]').tooltip 'destroy' @endHighlight() @getPointer(false).remove() @[key] = undefined for key, value of @ From 936ebf67a70519c62638b14684b042177ae7cd40 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Sat, 31 Jan 2015 13:18:32 -0800 Subject: [PATCH 5/5] Fixed #2140. --- app/core/Tracker.coffee | 2 +- app/views/play/menu/InventoryModal.coffee | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/core/Tracker.coffee b/app/core/Tracker.coffee index 5c987bc72..a9d07905a 100644 --- a/app/core/Tracker.coffee +++ b/app/core/Tracker.coffee @@ -1,7 +1,7 @@ {me} = require 'core/auth' SuperModel = require 'models/SuperModel' -debugAnalytics = false +debugAnalytics = true module.exports = class Tracker constructor: -> diff --git a/app/views/play/menu/InventoryModal.coffee b/app/views/play/menu/InventoryModal.coffee index d201a1eda..4cdd7f6d6 100644 --- a/app/views/play/menu/InventoryModal.coffee +++ b/app/views/play/menu/InventoryModal.coffee @@ -109,6 +109,14 @@ module.exports = class InventoryModal extends ModalView requiredToPurchase = true 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) if placeholder and locked # The item is not complete, so don't put it into a collection.