From 07f21d44bd6da0c2b91e4d472eadd32a4df6f742 Mon Sep 17 00:00:00 2001 From: Zeldaretter Date: Tue, 15 Mar 2016 22:01:03 +0100 Subject: [PATCH 01/10] Update de-DE.coffee New strings translated. Nearly done, till Eastern I will finish this and start comparing with the english strings again. --- app/locale/de-DE.coffee | 200 ++++++++++++++++++++-------------------- 1 file changed, 100 insertions(+), 100 deletions(-) diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee index c8ac27689..9ddfa9316 100644 --- a/app/locale/de-DE.coffee +++ b/app/locale/de-DE.coffee @@ -701,36 +701,36 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: more_info_3: "ist eine gute Anlaufstelle, um mit anderen Lehrer in Kontakt zu treten, die CodeCombat benutzen." teachers_quote: -# name: "Quote Form" -# title: "Request a Quote" -# subtitle: "Get CodeCombat in your classroom, club, school or district!" -# email_exists: "User exists with this email." + name: "Demo Fragebogen" + title: "Eine Demo beantragen" + subtitle: "Holen Sie sich CodeCombat in ihren Klassenraum, Club, ihre Schule oder Ortsteil!" + email_exists: "Benutzer mit dieser Email existiert bereits." phone_number: "Telephonnummer" -# phone_number_help: "Where can we reach you during the workday?" + phone_number_help: "Wo können wir Sie wochentags erreichen?" role_label: "Ihre Rolle" role_help: "Wählen Sie ihre primäre Rolle." -# tech_coordinator: "Technology coordinator" -# advisor: "Advisor" -# principal: "Principal" -# superintendent: "Superintendent" + tech_coordinator: "Technologie-Koordinator" + advisor: "Berater" + principal: "Direktor" + superintendent: "Leiter" parent: "Elternteil" organization_label: "Name der Schule/Bezirk" city: "Stadt" state: "Bundesland" country: "Land" -# num_students_help: "How many do you anticipate enrolling in CodeCombat?" -# education_level_label: "Education Level of Students" -# education_level_help: "Choose as many as apply." + num_students_help: "Wie viele beabsichtichen Sie in CodeCombat einzuschreiben?" + education_level_label: "Bildungslevel der Schüler" + education_level_help: "Wählen Sie so viele wie zutreffen." elementary_school: "Grundschule" high_school: "Gymnasium" please_explain: "(bitte erklären)" middle_school: "Mittelschule" college_plus: "Hochschule oder höher" anything_else: "Weitere Dinge die wir wissen sollten?" -# thanks_header: "Thanks for requesting a quote!" - thanks_p: "Wir melden uns bald. Fragen? Schreiben Sie uns eine Email :" -# thanks_anon: "Login or sign up with your account below to access your two free enrollments (we’ll notify you by email when they have been approved, which usually takes less than 48 hours). As always, the first hour of content is free for an unlimited number of students." -# thanks_logged_in: "Your two free enrollments are pending approval. We’ll notify you by email when they have been approved (usually within 48 hours). As always, the first hour of content is free for an unlimited number of students." + thanks_header: "Danke dass Sie eine Demo beantragen!" + thanks_p: "Wir melden uns bald. Fragen? Schreiben Sie uns eine Email:" + thanks_anon: "Loggen Sie sich unten ein oder Erstellen Sie einen Account um Zugang zu ihren zwei kostenlosen Einschreibungen zu erhalten (Wir werden Sie per Email benachrichtigen nach der Überprüfung, die normalerweise weniger als 48 Stunden dauert. So wie immer ist die erste Stunde des Inhaltes kostenlos für eine unbegrenzte Anzahl von Schülern." + thanks_logged_in: "Ihre zwei kostenlosen Einschreiben werden gerade überprüft. Wir werden Sie per Email nach der Überprüfung benachrichtigen, die normalerweise weniger als 48 Stunden dauert. So wie immer ist die erste Stunde des Inhaltes kostenlos für eine unbegrenzte Anzahl von Schülern." versions: save_version_title: "Neue Version speichern" @@ -916,28 +916,28 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: edit_settings: "Klasseneinstellungen bearbeiten" edit_settings1: "Klasseneinstellungen bearbeiten" progress: "Klassenfortschritt" - add_students: "Studenten hinzufügen" + add_students: "Schüler hinzufügen" stats: "Statistiken" - total_students: "Anzahl Studenten:" + total_students: "Anzahl Schüler:" average_time: "Durchschnittliche Levelspielzeit:" total_time: "Gesamte Spielzeit:" average_levels: "Durchschnittliche abgeschlossene Level:" total_levels: "Anzahl abgeschlossener Level:" furthest_level: "Höchster abgeschlossener Level:" concepts_covered: "Abgedeckte Konzepte" - students: "Studenten" - students1: "Studenten" + students: "Schüler" + students1: "Schüler" concepts: "Konzepten" levels: "level" played: "Gespielt" play_time: "Spielzeit:" completed: "Abgeschlossen:" - invite_students: "Studenten einladen dieser Klasse beizutreten." + invite_students: "Schüler einladen dieser Klasse beizutreten." invite_link_header: "Link um dem Kurs beizutreten" invite_link_p_1: "Gib diesen Link an Schüler weiter, die dem Kurs beitreten sollen." invite_link_p_2: "Oder lass sie durch uns direkt anschreiben:" capacity_used: "Benutzte Kurs-Slots:" - enter_emails: "Studenten-Emails eingeben zum hinzufügen, eine per Zeile" + enter_emails: "Schüler-Emails eingeben zum hinzufügen, eine Adresse pro Zeile" send_invites: "Einladung senden" title: "Titel" description: "Beschreibung" @@ -948,117 +948,117 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: create_class: "Klasse erstellen" select_all_courses: "Wählen Sie 'Alle Kurse' für einen 50% Rabatt!" all_courses: "Alle Kurse" - number_students: "Anzahl der Studenten" - enter_number_students: "Geben Sie die Anzahl der Studenten ein, die Sie für diese Klasse brauchen." + number_students: "Anzahl der Schüler" + enter_number_students: "Geben Sie die Anzahl der Schüler ein, die Sie für diese Klasse brauchen." name_class: "Benennen Sie ihre Klasse" displayed_course_page: "Diese Seite wird für Sie und ihre Schüler auf der Kursseite angezeigt. Sie kann später verändert werden." buy: "Kaufen" purchasing_for: "Sie sind dabei eine Lizenz für" creating_for: "Sie sind dabei eine Klasse zu erstellen für" for: "für" # Like in 'for 30 students' -# receive_code: "Afterwards you will receive an unlock code to distribute to your students, which they can use to enroll in your class." -# free_trial: "Free trial for teachers!" -# get_access: "to get individual access to all courses for evalutaion purposes." + receive_code: "Danach werden Sie einen Einschreibecode zum Verteilen an ihre Schüler bekommen, den diese benutzen können um sich in die Klasse einzuschreiben." + free_trial: "Kostenloser Testversion für Lehrer!" + get_access: "um Zugang zu allen Kursen zur Evaluation zu bekommen." questions: "Fragen?" teachers_click: "Lehrkräfte klicken hier" students_click: "Schüler klicken hier" courses_on_coco: "Kurse auf CodeCombat" -# designed_to: "Courses are designed to introduce computer science concepts using CodeCombat's fun and engaging environment. CodeCombat levels are organized around key topics to encourage progressive learning, over the course of 5 hours." -# more_in_less: "Learn more in less time" -# no_experience: "No coding experience necesssary" -# easy_monitor: "Easily monitor student progress" -# purchase_for_class: "Purchase a course for your entire class. It's easy to sign up your students!" -# see_the: "See the" + designed_to: "Die Kurse sind designt um in Informatikkonzepte einzuführen mit Hilfe von CodeCombat's spaßiger und fesselnder Umgebung. CodeCombat-Level sind um Schlüsselthemen organisiert um ein schrittweises Lernen zu fördern, in einem Kurs von fünf Stunden." + more_in_less: "Lernen Sie mehr in weniger Zeit" + no_experience: "Keine Programmiererfahrung nötig" + easy_monitor: "Verfolgen Sie einfach den Fortschritt ihrer Schüler" + purchase_for_class: "Bestellen Sie einen Kurs für die ganze Klasse. Es ist einfach für ihre Studenten sich anzumelden!" + see_the: "Sehen Sie" more_info: "für weitere Informationen." -# choose_course: "Choose Your Course:" -# enter_code: "Enter an unlock code to join an existing class" -# enter_code1: "Enter unlock code" -# enroll: "Enroll" -# pick_from_classes: "Pick from your current classes" -# enter: "Enter" + choose_course: "Wählen Sie ihren Kurs:" + enter_code: "Geben Sie einen Einschreibecode ein um einer existierenden Klasse beizutreten" + enter_code1: "Einschreibecode hier eingeben" + enroll: "Einschreiben" + pick_from_classes: "Wählen Sie von ihrer derzeitigen Klasse" + enter: "Eingabe" or: "oder" topics: "Inhalte" -# hours_content: "Hours of content:" -# get_free: "Get FREE course" -# enroll_paid: "Enroll Students in Paid Courses" + hours_content: "Stundenanzahl:" + get_free: "Bekommen Sie einen kostenlosen Kurs" + enroll_paid: "Schreiben Sie Schüler in Bezahlkurse ein" you_have1: "Sie haben" you_have2: "ungenutze bezahlte Einschreibungen" -# use_one: "Use 1 paid enrollment for" -# use_multiple: "Use paid enrollments for the following students:" -# already_enrolled: "already enrolled" -# licenses_remaining: "licenses remaining:" -# insufficient_enrollments: "insufficient paid enrollments" -# enroll_students: "Enroll Students" -# get_enrollments: "Get More Enrollments" -# change_language: "Change Course Language" -# keep_using: "Keep Using" -# switch_to: "Switch To" + use_one: "Benutzen Sie eine bezahlte Einschreibung für" + use_multiple: "Benutzen Sie bezahlte Einschreibungen für folgende Schüler:" + already_enrolled: "bereits eingeschrieben" + licenses_remaining: "verbleibende Lizenzen:" + insufficient_enrollments: "unzureichende bezahlte Einschreibungen" + enroll_students: "Schüler einschreiben" + get_enrollments: "Mehr Einschreibungen erhalten" + change_language: "Kurssprache wechseln" + keep_using: "Beibehalten" + switch_to: "Wechseln zu" greetings: "Grüße!" learn_p: "Erlerne Python" learn_j: "Erlerne JavaScript" language_cannot_change: "Die Sprache kann nicht geändert werden sobald ein Schüler der Klasse beigetreten ist." back_classrooms: "Zurück zu meinem Klassenraum" back_courses: "Zurück zu meinen Kursen" -# edit_details: "Edit class details" -# enrolled_courses: "enrolled in paid courses:" -# purchase_enrollments: "Purchase Enrollments" + edit_details: "Klassendetails bearbeiten" + enrolled_courses: "eingeschrieben in bezahlte Kurse:" + purchase_enrollments: "Einschreibungen kaufen" remove_student: "Schüler entfernen" -# assign: "Assign" -# to_assign: "to assign paid courses." + assign: "Zuordnen" + to_assign: "um bezahlte Kurse zuzuordnen." teacher: "Lehrer" -# complete: "Complete" -# none: "None" + complete: "Abgeschlossen" + none: "Keine" save: "Speichern" play_campaign_title: "Spiele die Kampagnen Version" -# play_campaign_description: "You’re ready to take the next step! Explore hundreds of challenging levels, learn advanced programming skills, and compete in multiplayer arenas!" -# create_account_title: "Create an Account" -# create_account_description: "Sign up for a FREE CodeCombat account and gain access to more levels, more programming skills, and more fun!" -# preview_campaign_title: "Preview Campaign" -# preview_campaign_description: "Take a sneak peek at all that CodeCombat has to offer before signing up for your FREE account." + play_campaign_description: "Du bist bereit für den nächsten Schritt! Entdecke hunderte von herausfordernden Leveln, lerne weiterführende Programmierfähigkeiten, und trete in Multiplayer Arenen an!" + create_account_title: "Einen Account erstellen" + create_account_description: "Registriere dich für einen kostenlosen CodeCombat-Account und bekomme Zugriff zu mehr Leveln, mehr Programmierfähigkeiten, und mehr Spaß!" + preview_campaign_title: "Kampagnenvorschau" + preview_campaign_description: "Nimm eine kurze Vorschau auf all das was CodeCombat zu bietne hat bevor du dich für einen kostenlosen Account registrierst." arena: "Arena" arena_soon_title: "Die Arena kommt bald" -# arena_soon_description: "We are working on a multiplayer arena for classrooms at the end of" -# not_enrolled1: "Not enrolled" -# not_enrolled2: "Ask your teacher to enroll you in the next course." + arena_soon_description: "Wir arbeiten an einer Multiplayerarena für Klassenräume bis zum Ende von" + not_enrolled1: "Nicht eingschrieben" + not_enrolled2: "Frage deine Lehrkraft ob sie dich in den nächsten Kurs einschreibt." next_course: "Nächster Kurs" coming_soon1: "Coming soon" -# coming_soon2: "We are hard at work making more courses for you!" -# available_levels: "Available Levels" -# welcome_to_courses: "Adventurers, welcome to Courses!" + coming_soon2: "Wir sind hart am Arbeiten um mehr Kurse für Sie zu erstellen!" + available_levels: "Verfügbare Level" + welcome_to_courses: "Abenteurer, willkomen zu den Kursen!" ready_to_play: "Bereit zum Spielen?" start_new_game: "Starten Sie ein neues Spiel" play_now_learn_header: "Jetzt spielen um folgendes zu lernen" -# play_now_learn_1: "basic syntax to control your character" -# play_now_learn_2: "while loops to solve pesky puzzles" -# play_now_learn_3: "strings & variables to customize actions" -# play_now_learn_4: "how to defeat an ogre (important life skills!)" -# welcome_to_page: "Welcome to your Courses page!" + play_now_learn_1: "grundlegende Syntax um deinen Character zu kontrollieren" + play_now_learn_2: "while-Schleifen um nervtötende Rätsel zu lösen" + play_now_learn_3: "Strings & Variablen um Aktionen anzupassen" + play_now_learn_4: "Wie man einen Oger besiegt (wichtige Lebensfähigkeit!)" + welcome_to_page: "Willkomen auf deine Kurseseite!" # completed_hoc: "Amazing! You've completed the Hour of Code course!" -# ready_for_more_header: "Ready for more? Play the campaign mode!" -# ready_for_more_1: "Use gems to unlock new items!" -# ready_for_more_2: "Play through brand new worlds and challenges" -# ready_for_more_3: "Learn even more programming!" -# saved_games: "Saved Games" + ready_for_more_header: "Bereit für mehr? Spiele den Kampagnenmodus!" + ready_for_more_1: "Benutze Edelsteine um neue Items freizuschalten!" + ready_for_more_2: "Spiele brandneue Welten und Herausforderungen" + ready_for_more_3: "Lerne noch mehr zur Programmierung!" + saved_games: "Gespeicherte Spiele" # hoc: "Hour of Code" my_classes: "Meine Klassen" -# class_added: "Class successfully added!" + class_added: "Klasse erfolgreich hinzugefügt!" # view_class: "view class" # view_levels: "view levels" -# join_class: "Join A Class" + join_class: "Einer Klasse beitreten" # ask_teacher_for_code: "Ask your teacher if you have a CodeCombat class code! If so, enter it below:" -# enter_c_code: "" + enter_c_code: "" join: "Beitreten" joining: "Der Klasse beitreten" -# course_complete: "Course Complete" -# play_arena: "Play Arena" + course_complete: "Kurs Abgeschlossen" + play_arena: "Arena spielen" start: "Start" last_level: "Letzter Level" # welcome_to_hoc: "Adventurers, welcome to our Hour of Code!" -# logged_in_as: "Logged in as:" -# not_you: "Not you?" -# welcome_back: "Hi adventurer, welcome back!" -# continue_playing: "Continue Playing" -# more_options: "More options:" + logged_in_as: "Angemeldet als:" + not_you: "Nicht du?" + welcome_back: "Hallo Abenteurer, willkommen zurück!" + continue_playing: "Weiterspielen" + more_options: "Mehr Optionen:" # option1_header: "Option 1: Invite students via email" # option1_body: "Students will automatically be sent an invitation to join this class, and will need to create an account with a username and password." # option2_header: "Option 2: Send URL to your students" @@ -1084,7 +1084,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: # to_join_ask: "To join a class, ask your teacher for an unlock code." join_this_class: "Der Klasse beitreten" # enter_here: "" -# successfully_joined: "Successfully joined" + successfully_joined: "Erfolgreich beigetreten" # click_to_start: "Click here to start taking" my_courses: "Meine Kurse" classroom: "Klassenraum" @@ -1104,9 +1104,9 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: # getting_started_3: "You'll see student's progress below as they sign up and join your class." # additional_resources: "Additional Resources" # additional_resources_1_pref: "Download/print our" -# additional_resources_1_mid: "Course 1" -# additional_resources_1_mid2: "and" -# additional_resources_1_mid3: "Course 2" + additional_resources_1_mid: "Kurs 1" + additional_resources_1_mid2: "und" + additional_resources_1_mid3: "Kurs 2" # additional_resources_1_suff: "teacher's guides with solutions for each level." # additional_resources_2_pref: "Complete our" # additional_resources_2_suff: "to get two free enrollments for the rest of our paid courses." @@ -1119,18 +1119,18 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: # educator_wiki_pref: "Or check out our new" # educator_wiki_mid: "educator wiki" # educator_wiki_suff: "to browse the guide online." -# your_classes: "Your Classes" -# no_classes: "No classes yet!" -# create_new_class1: "create new class" -# available_courses: "Available Courses" + your_classes: "Deine Klassen" + no_classes: "Bisher keine Klassen!" + create_new_class1: "neue Klassen erstellen" + available_courses: "Verfügbare Kurse" # unused_enrollments: "Unused enrollments available:" # students_access: "All students get access to Introduction to Computer Science for free. One enrollment per student is required to assign them to paid CodeCombat courses. A single student does not need multiple enrollments to access all paid courses." # active_courses: "active courses" # no_students: "No students yet!" # add_students1: "add students" # view_edit: "view/edit" -# students_enrolled: "students enrolled" -# length: "Length:" + students_enrolled: "Schüler eingeschrieben" + length: "Länge:" classes: archmage_title: "Erzmagier" From 0ec23f025c4200304e3890c4b87a15dbf16c06cd Mon Sep 17 00:00:00 2001 From: Zeldaretter Date: Wed, 16 Mar 2016 09:09:21 +0100 Subject: [PATCH 02/10] Update de-DE.coffee new updated strings, I finished translating. Next I will check if all strings are correct by comparing with the English original because some strings were allready translated and may not fit with the new layout. Greetings and Thank you for a great game --- app/locale/de-DE.coffee | 176 ++++++++++++++++++++-------------------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee index 9ddfa9316..e45baa938 100644 --- a/app/locale/de-DE.coffee +++ b/app/locale/de-DE.coffee @@ -666,7 +666,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: jobs_title: "Komm arbeite mit uns und hilf mit CodeCombat Geschichte zu schreiben!" jobs_subtitle: "Nichts gutes gefunden aber du bist trotzdem interessiert mit uns zu arbeiten? Schau dir unseren \"Kreiere deinen Eigenen\" Eintrag an." jobs_benefits: "Angestellten Vorteile" -# jobs_benefit_1: "Competitive salary and options" +# jobs_benefit_1: "Competitive salary and options" {I would not translate this because it is only for people who wants to work in the U.S. so they have to speak English, or if they work at home some of these benefits won't fit in Germany because we already have a health insurance...} # jobs_benefit_2: "15 day minimum vacation policy, excluding company holidays" # jobs_benefit_3: "Work from home flexibility" # jobs_benefit_4: "Unlimited sick/personal days" @@ -1033,19 +1033,19 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: play_now_learn_3: "Strings & Variablen um Aktionen anzupassen" play_now_learn_4: "Wie man einen Oger besiegt (wichtige Lebensfähigkeit!)" welcome_to_page: "Willkomen auf deine Kurseseite!" -# completed_hoc: "Amazing! You've completed the Hour of Code course!" + completed_hoc: "Beeindruckend! Du hast den Hour of Code Kurs abgeschlossen!" ready_for_more_header: "Bereit für mehr? Spiele den Kampagnenmodus!" ready_for_more_1: "Benutze Edelsteine um neue Items freizuschalten!" ready_for_more_2: "Spiele brandneue Welten und Herausforderungen" ready_for_more_3: "Lerne noch mehr zur Programmierung!" saved_games: "Gespeicherte Spiele" -# hoc: "Hour of Code" + hoc: "Hour of Code" my_classes: "Meine Klassen" class_added: "Klasse erfolgreich hinzugefügt!" -# view_class: "view class" -# view_levels: "view levels" + view_class: "Klasse betrachten" + view_levels: "Level betrachten" join_class: "Einer Klasse beitreten" -# ask_teacher_for_code: "Ask your teacher if you have a CodeCombat class code! If so, enter it below:" + ask_teacher_for_code: "Frag deine Lehrkraft ob ihr einen CodeCombat Klassencode habt! Wenn dem so ist, gib ihn hier ein:" enter_c_code: "" join: "Beitreten" joining: "Der Klasse beitreten" @@ -1053,82 +1053,82 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: play_arena: "Arena spielen" start: "Start" last_level: "Letzter Level" -# welcome_to_hoc: "Adventurers, welcome to our Hour of Code!" + welcome_to_hoc: "Abenteurer, willkommen zur Hour of Code!" logged_in_as: "Angemeldet als:" not_you: "Nicht du?" welcome_back: "Hallo Abenteurer, willkommen zurück!" continue_playing: "Weiterspielen" more_options: "Mehr Optionen:" -# option1_header: "Option 1: Invite students via email" -# option1_body: "Students will automatically be sent an invitation to join this class, and will need to create an account with a username and password." -# option2_header: "Option 2: Send URL to your students" -# option2_body: "Students will be asked to enter an email address, username and password to create an account." -# option3_header: "Option 3: Direct students to codecombat.com/courses" -# option3_body: "Give students the following passcode to enter along with an email address, username and password when they create an account." -# thank_you_pref: "Thank you for your purchase! You can now assign" -# thank_you_suff: "more students to paid courses." -# return_to_class: "Return to classroom" -# return_to_course_man: "Return to course management." -# students_not_enrolled: "students not enrolled" -# total_all_classes: "Total Across All Classes" -# how_many_enrollments: "How many additional paid enrollments do you need?" -# each_student_access: "Each student in a class will get access to Courses 2-4 once they are enrolled in paid courses. You may assign each course to each student individually." -# purchase_now: "Purchase Now" -# enrollments: "enrollments" -# remove_student1: "Remove Student" -# are_you_sure: "Are you sure you want to remove this student from this class?" -# remove_description1: "Student will lose access to this classroom and assigned classes. Progress and gameplay is NOT lost, and the student can be added back to the classroom at any time." -# remove_description2: "The activated paid license will not be returned." -# keep_student: "Keep Student" -# removing_user: "Removing user" -# to_join_ask: "To join a class, ask your teacher for an unlock code." + option1_header: "Option 1: Lade Schüler via Email ein" + option1_body: "Schülern wird automatisch eine Einladung gesendet, der Klasse beizutreten, dazu müssen sie einen Account mit Benutzernamer und Passwort erstellen." + option2_header: "Option 2: Senden Sie diese URL zu ihrern Schülern" + option2_body: "Die Schüler werden darum gebeten ihre Emailadresse, einen BNenutzernamen und ein Passwirt einzugeben um einen Account zu erstellen." + option3_header: "Option 3: Führen Sie ihre Schüler zu codecombat.com/courses" + option3_body: "Geben Sie ihren Schülern den folgenden Klassenschlüssel den Sie mit ihrer Emailadresse, Benutzername und Passwort beim Erstellen eines Accounts angeben." + thank_you_pref: "Wir Danken Ihnen für Ihren Kauf! Sie können nun" + thank_you_suff: "weitere Schüler zu Bezahlkursen einschreiben." + return_to_class: "Zurück zum Klassenraum" + return_to_course_man: "Zurück zum Kursmanagement." + students_not_enrolled: "Nicht eingeschriebene Schüler" + total_all_classes: "Gesamtzahl über alle Klassen" + how_many_enrollments: "Wie viele zusätzliche bezahlte Einschreibungen benötigen Sie?" + each_student_access: "Jeder Schüler in der Klasse wird Zugang zu den Kursen 2-4 erhalten sobald sie in den Bezahlkursen eingeschrieben sind. Sie können jeden Kurs zu jedem Schüler individuell zuweisen." + purchase_now: "Kaufen Sie jetzt" + enrollments: "Einschreibungen" + remove_student1: "Schüler entfernen" + are_you_sure: "Sind Sie sicher, dass sie diesen Schüler von ihrer Klasse entfernen wollen?" + remove_description1: "Der Schüler wird den Zugang zu dem Klassenraum und zu den zugewiesenen Klassen verlieren. Der Spielfortschritt geht NICHT verloren, und der Schüler kann zu jeder Zeit wieder in die Klasse eingschrieben werden." + remove_description2: "Die acitvierte bezahlte Lizenz wird nicht zurückgenommen." + keep_student: "Schüler behalten" + removing_user: "Benutzer entfernen" + to_join_ask: "Um einer Klasse beizutreten, frage deinen Lehrer nach einem Freischaltcode." join_this_class: "Der Klasse beitreten" -# enter_here: "" + enter_here: "" successfully_joined: "Erfolgreich beigetreten" -# click_to_start: "Click here to start taking" + click_to_start: "Klicke hier um folgenden Kurs zu beginnen" my_courses: "Meine Kurse" classroom: "Klassenraum" -# use_school_email: "use your school email if you have one" -# unique_name: "a unique name no one has chosen" -# pick_something: "pick something you can remember" + use_school_email: "benutze deine Schulemail wenn du eine hast" + unique_name: "Ein einzigartiger Name, den noch keiner gewählt hat" + pick_something: "Wähle etwas aus an das du dich erinnern kannst" class_code: "Klassencode" -# optional_ask: "optional - ask your teacher to give you one!" -# optional_school: "optional - what school do you go to?" -# start_playing: "Start Playing" -# skip_this: "Skip this, I'll create an account later!" + optional_ask: "optional - Frage deine Lehrkraft ob sie dir einen gibt!" + optional_school: "optional - Auf welche Schule gehst du?" + start_playing: "Spiel starten" + skip_this: "Überspringen, Ich werde später einen Account erstellen!" welcome: "Willkommen" -# getting_started: "Getting Started with Courses" -# download_getting_started: "Download Getting Started Guide [PDF]" -# getting_started_1: "Create a new class by clicking the green 'Create New Class' button below." -# getting_started_2: "Once you've created a class, click the blue 'Add Students' button." -# getting_started_3: "You'll see student's progress below as they sign up and join your class." -# additional_resources: "Additional Resources" -# additional_resources_1_pref: "Download/print our" + getting_started: "Eine Einleitung zu Kursen" + download_getting_started: "Downloaden Sie den Getting Started Guide [PDF]" + getting_started_1: "Erstellen Sie eine neue Klasse indem sie den grünen 'Eine neue Klasse erstellen' Knopf unten drücken." + getting_started_2: "Sobald Sie eine Klasse erstellt haben, klicken Sie auf den blauen 'Schüler hinzufügen' Knopf." + getting_started_3: "Sie werden den Fortschritt der Schüler unten sehen, wenn Sie sich registrieren und der Klasse beitreten." + additional_resources: "Weitere Resourcen" + additional_resources_1_pref: "Downloaden/Drucken Sie unseren" additional_resources_1_mid: "Kurs 1" additional_resources_1_mid2: "und" additional_resources_1_mid3: "Kurs 2" -# additional_resources_1_suff: "teacher's guides with solutions for each level." -# additional_resources_2_pref: "Complete our" -# additional_resources_2_suff: "to get two free enrollments for the rest of our paid courses." -# additional_resources_3_pref: "Visit our" -# additional_resources_3_mid: "Teacher Forums" -# additional_resources_3_suff: "to connect to fellow educators who are using CodeCombat." -# additional_resources_4_pref: "Check out our" -# additional_resources_4_mid: "Schools Page" -# additional_resources_4_suff: "to learn more about CodeCombat's classroom offerings." -# educator_wiki_pref: "Or check out our new" -# educator_wiki_mid: "educator wiki" -# educator_wiki_suff: "to browse the guide online." + additional_resources_1_suff: "Lehrkraftguide mit Lösungen für jeden Level." + additional_resources_2_pref: "Füllen Sie unser" + additional_resources_2_suff: "aus um Zugang zu zwei kostenlosen Einschreibungen für die restlichen Bezahlkurse zu erhalten." + additional_resources_3_pref: "Besuchen Sie unser" + additional_resources_3_mid: "Lehrerforum" + additional_resources_3_suff: "um sich mit anderen Lehrkräften auszutauschen die CodeCombat benutzen." + additional_resources_4_pref: "Schauen Sie auf unserer" + additional_resources_4_mid: "Schulseite" + additional_resources_4_suff: "vorbei um mehr über CodeCombat's Klassenraum Angebote zu erfahren." + educator_wiki_pref: "Oder schauen Sie sich unser neues" + educator_wiki_mid: "Lehrkraftwiki" + educator_wiki_suff: "an um den Guide online anzuschauen." your_classes: "Deine Klassen" no_classes: "Bisher keine Klassen!" create_new_class1: "neue Klassen erstellen" available_courses: "Verfügbare Kurse" -# unused_enrollments: "Unused enrollments available:" -# students_access: "All students get access to Introduction to Computer Science for free. One enrollment per student is required to assign them to paid CodeCombat courses. A single student does not need multiple enrollments to access all paid courses." -# active_courses: "active courses" -# no_students: "No students yet!" -# add_students1: "add students" -# view_edit: "view/edit" + unused_enrollments: "Unbenutzte bezahlte Einschreibungen verfügbar:" + students_access: "Alle Schüler erhalten kostenlosen Zugang zu der Informatikeinführung. Eine Einschreibung pro Schüler wird benötigt um ihn in Bezahl-CodeCombat-Kurse einzuschreiben. Ein einzelner Schüler benötigt nicht mehrere Einschreibungen um Zugang zu alle Bezahlkursen zu erhalten." + active_courses: "Aktive Kurse" + no_students: "Keine Schüler bisher!" + add_students1: "Schüler hinzufügen" + view_edit: "anschauen/bearbeiten" students_enrolled: "Schüler eingeschrieben" length: "Länge:" @@ -1442,39 +1442,39 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: retrying: "Serverfehler, versuche es erneut." success: "Erfolgreich bezahlt. Danke!" -# account_prepaid: -# purchase_code: "Purchase a Subscription Code" -# purchase_code1: "Subscription Codes can be redeemed to add premium subscription time to one or more CodeCombat accounts." -# purchase_code2: "Each CodeCombat account can only redeem a particular Subscription Code once." -# purchase_code3: "Subscription Code months will be added to the end of any existing subscription on the account." -# users: "Users" -# months: "Months" -# purchase_total: "Total" -# purchase_button: "Submit Purchase" -# your_codes: "Your Codes" -# redeem_codes: "Redeem a Subscription Code" -# prepaid_code: "Prepaid Code" -# lookup_code: "Lookup prepaid code" -# apply_account: "Apply to your account" -# copy_link: "You can copy the code's link and send it to someone." -# quantity: "Quantity" -# redeemed: "Redeemed" -# no_codes: "No codes yet!" -# you_can1: "You can" -# you_can2: "purchase a prepaid code" -# you_can3: "that can be applied to your own account or given to others." + account_prepaid: + purchase_code: "Einen Abocode kaufen" + purchase_code1: "Abocodes können eingelöst werden um Premiumabozeit zu einem oder mehreren CodeCombataccounts hinzuzufügen." + purchase_code2: "Jeder CodeCombataccount kann nur einen einzigen Abocode auf einmal einlösen." + purchase_code3: "Abocodes-Monate werden an das Ende der existierenden Abozeit des Accounts hinzugefügt." + users: "Benutzer" + months: "Monate" + purchase_total: "Gesamt" + purchase_button: "Kauf abschließen" + your_codes: "Ihre Codes" + redeem_codes: "Einen Abocode einlösen" + prepaid_code: "Prepaidcode" + lookup_code: "Prepaidcode freischalten" + apply_account: "Ihrem Account hinzufügen" + copy_link: "Sie können den Codelink kopieren und an jemanden senden." + quantity: "Quantität" + redeemed: "Eingelöst" + no_codes: "Keine Codes bisher!" + you_can1: "Sie können" + you_can2: "einen Prepaidcode kaufen" + you_can3: "der ihrem Account hinzugefügt werden kann oder den Sie verschenken können." loading_error: could_not_load: "Fehler beim Laden vom Server" connection_failure: "Verbindung fehlgeschlagen." # {change} -# connection_failure_desc: "It doesn’t look like you’re connected to the internet! Check your network connection and then reload this page." + connection_failure_desc: "Es sieht so aus, als wärest du nicht mit dem Internet verbunden! Überprüfe deine Netzwerkverbindung und lade die Seite neu." login_required: "Login benötigt" login_required_desc: "Du musst eingeloggt sein um auf diese Seite zuzugreifen." unauthorized: "Du musst angemeldet sein. Hast du Cookies ausgeschaltet?" forbidden: "Sie haben nicht die nötigen Berechtigungen." # {change} -# forbidden_desc: "Oh no, there’s nothing we can show you here! Make sure you’re logged into the correct account, or visit one of the links below to get back to programming!" + forbidden_desc: "Oh nein, hier ist nichts was wir dir zeigen können! Stelle sicher, dass du mit dem korrekten Account angemeldet bist oder besuche einen der folgenden Links um zurück zum Programmieren zu kommen!" not_found: "Nicht gefunden." # {change} -# not_found_desc: "Hm, there’s nothing here. Visit one of the following links to get back to programming!" + not_found_desc: "Hm, hier ist nichts. Schaue dir einige der folgenden Links an um zurück zum Programmieren zu kommen!" not_allowed: "Methode nicht erlaubt." timeout: "Server timeout." # {change} conflict: "Ressourcen Konflikt." From 10dc03bc7ed96e4e7e26eae7fbb6c1f98473a3f1 Mon Sep 17 00:00:00 2001 From: Zeldaretter Date: Wed, 16 Mar 2016 10:12:35 +0100 Subject: [PATCH 03/10] Update de-DE.coffee Added some new strings from the English original --- app/locale/de-DE.coffee | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee index e45baa938..631b35d43 100644 --- a/app/locale/de-DE.coffee +++ b/app/locale/de-DE.coffee @@ -27,6 +27,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: classroom_in_a_box: "Ein Klassenraum in-einer-Box um Informatik zu lehren." codecombat_is: "CodeCombat ist eine Plattform für Schüler um Informatik zu lernen während sie ein echtes Spiel spielen." our_courses: "Unsere Kurse wurden genau getestet um im Klassenraum zu bestehen, auch bei Lehrkräften mit wenig bis keiner Programmiererfahrung." + top_screenshots_hint: "Schüler schreiben Code und ihre Veränderungen werden in Echtzeit sichtbar" designed_with: "Designed um Lehrkräften zu helfen" real_code: "Real, getipper Code" from_the_first_level: "vom ersten Level an" @@ -57,10 +58,17 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: great_game: "In einem guten Spiel geht es um mehr als nur Abzeichen und Erfolge - es geht um die Reise eines Spielers, gut-designte Rätsel, und die Fähigkeit Herausforderungen mit Kraft und Selbsvertrauen anzupacken." agency: "CodeCombat ist ein Spiel, das Spielern die Kraft und das Selbstbewusstsein gibt durch unsere robuste Programmiereingabe-Engine, die sowohl Anfänger als auch fortgeschrittenen Schülern dabei hilft richtigen, validen Code zu schreiben." curious: "Neugierig? Fragen Sie nach einer Demo und wir werden Ihnen zeigen wie es geht" + request_demo_title: "Fangen Sie noch heute mit ihren Schülern an!" + request_demo_subtitle: "Fragen Sie nach einer Demo und lassen Sie ihre Schüler in weniger als einer Stunde anfangen." + get_started_title: "Erstellen Sie noch heute ihre Klasse" + get_started_subtitle: "Erstellen Sie eine Klasse, fügen Sie Schüler hinzu und verfolgen Sie ihren Fortschritt während sie Informatik lernen." create_class: "Oder erstellen Sie eine Klasse und sehen Sie selbst!" + teacher_screenshots_hint: "Schüler schreiben Code und ihre Veränderungen werden in Echtzeit sichtbar" request_demo: "Demo anfragen" create_a_class: "Erstellen Sie eine Klasse" + setup_a_class: "Eine Klasse erstellen" have_an_account: "Haben Sie bereits einen Account?" + log_in: "Einloggen" logged_in_as: "Sie sind zurzeit eingeloggt als" view_my_classes: "Zeige meine Klassen" computer_science: "Informatikkurse für alle Altersgruppen" @@ -128,7 +136,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: locked: "Gesperrt" purchasable: "Zu kaufen" # For a hero you unlocked but haven't purchased available: "Verfügbar" - skills_granted: "Verfügbare Fähigkeiten" # Property documentation details + skills_granted: "Erhaltene" # Property documentation details heroes: "Helden" # Tooltip on hero shop button from /play achievements: "Errungenschaften" # Tooltip on achievement list button from /play account: "Account" # Tooltip on account button from /play From 3a46ada80244f24744021d53c92385fa90097b29 Mon Sep 17 00:00:00 2001 From: JurianLock Date: Wed, 16 Mar 2016 13:02:20 +0100 Subject: [PATCH 04/10] Update nl-NL.coffee Another set of updates. --- app/locale/nl-NL.coffee | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/locale/nl-NL.coffee b/app/locale/nl-NL.coffee index 13460f9ad..0f767b39d 100644 --- a/app/locale/nl-NL.coffee +++ b/app/locale/nl-NL.coffee @@ -28,7 +28,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription codecombat_is: "CodeCombat is een platform waarmee leerlingen leren programmeren door het spelen van een spel." our_courses: "Onze lessen zijn specifiek ontwikkeld voor een klasomgeving, zelfs voor leraren zonder programmeerervaring." designed_with: "Gemaakt voor leraren" - real_code: "Echte, getypde code" + real_code: "Echte, getypte code" from_the_first_level: "vanaf het eerste level" getting_students: "Leerlingen zo snel mogelijk echte code laten schrijven is noodzakelijk voor het leren van programmeer syntax en correcte structuur." educator_resources: "Lesbrieven voor docenten" @@ -352,8 +352,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription time_goto: "Ga naar:" non_user_code_problem_title: "Kan level niet laden" infinite_loop_title: "Oneindige Loop gedetecteerd" -# infinite_loop_description: "The initial code to build the world never finished running. It's probably either really slow or has an infinite loop. Or there might be a bug. You can either try running this code again or reset the code to the default state. If that doesn't fix it, please let us know." -# check_dev_console: "You can also open the developer console to see what might be going wrong." + infinite_loop_description: "De initiele code om de wereld te bouwen is nooit gestopt. De code is waarschijnlijk heel langzaam of er is sprake van een oneindige loop. Of misschien wel een bug. Je kunt proberen je code nogmaals te laten afspelen, of de oorspronkelijke code herladen. Als het dan nog steeds niet is opgelost, neem dan contact met ons op." + check_dev_console: "Je kunt ook de ontwikkelaarsconsole openen om te zien wat er mogelijk is misgegaan." check_dev_console_link: "(instructies)" infinite_loop_try_again: "Probeer opnieuw" infinite_loop_reset_level: "Level resetten" @@ -465,7 +465,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription prompt_body: "Wil je meer krijgen?" prompt_button: "Naar de winkel" recovered: "Edelstenen aankoop hersteld. Ververs de pagina alstublieft." -# price: "x{{gems}} / mo" + price: "x{{gems}} / maand" subscribe: comparison_blurb: "Verbeter je vaardigheden met een abonement op CodeCombat!" @@ -500,7 +500,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription parents_title: "Uw kind leert programmeren." # {change} parents_blurb1: "Met CodeCombat leert uw kind door echte code te schrijven. Ze beginnen met simpele instructies en naarmate ze verder komen, komen er moeilijkere onderwerpen aan bod." parents_blurb1a: "Programmeren is een essentiële vaardigheid die uw kind als volwassene ongetwijfeld gaat gebruiken. In 2020 is de basis van programmeren nodig bij 77% van de banen en zijn softwareontwikkelaars dringend nodig in de wereld. Wist u dat informatica de hoogstbetaalde universitaire graad is?" -# parents_blurb2: "For ${{price}} USD/mo, your child will get new challenges every week and personal email support from professional programmers." + parents_blurb2: "Voor ${{price}} USD/maand, ontvangt uw kind wekelijks nieuwe uitdagingen en kan uw kind vragen stellen aan professionele programmeurs." parents_blurb3: "Geen risico's: 100% geld terug garantie, 1-klik uitschrijving." payment_methods: "Betaalmethoden" payment_methods_title: "Geaccepteerde betaalmethoden" @@ -552,7 +552,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription blocks: "Blokkeert" # As in "this shield blocks this much damage" # backstab: "Backstab" # As in "this dagger does this much backstab damage" skills: "Vaardigheden" -# attack_1: "Deals" + attack_1: "Veroorzaakt" # attack_2: "of listed" attack_3: "Wapen schade." # health_1: "Gains" @@ -581,7 +581,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription current_value: "Huidige waarde" default_value: "Standaard waarde" parameters: "Parameters" -# returns: "Returns" + returns: "Geeft terug" #there's no Dutch word for return, we only have "give back". granted_by: "Verleend door" save_load: @@ -625,7 +625,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription matt_title: "Programmeur" # {change} matt_blurb: "Fietser" cat_title: "Hoofd Ambachtsman" # {change} -# cat_blurb: "Airbender" + cat_blurb: "Airbender" #No good Dutch translation, but children know the word airbender from the Avatar series. scott_title: "Programmeur" # {change} scott_blurb: "de Redelijke" maka_title: "Klanten Ombudsman" From d565d5bc0bb09b0d687633f54f9595c945748014 Mon Sep 17 00:00:00 2001 From: Zeldaretter Date: Wed, 16 Mar 2016 18:36:53 +0100 Subject: [PATCH 05/10] Update de-DE.coffee i added and translated all lines that where missing from the original English en.coffee I would like to Copy my changes to the Austrian German version, because it is nearly the same and if some Austrian Translator finds an error or a better word than he can edit it, but its like british and american English and both understand each others well and here I think its better to have German than English, what do you think? --- app/locale/de-DE.coffee | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/locale/de-DE.coffee b/app/locale/de-DE.coffee index 631b35d43..889870ef1 100644 --- a/app/locale/de-DE.coffee +++ b/app/locale/de-DE.coffee @@ -190,6 +190,14 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: school_name: "Schulname und Stadt" optional: "optional" school_name_placeholder: "Beispiel Gymnasium, Musterdorf, DE" + or_sign_up_with: "oder registrieren mit" + connected_gplus_header: "Du wurdest erfolgreich mit Google+ verknüpft!" + connected_gplus_p: "Schließe das Registrieren ab, so dass du dich mit deinem Google+ Account einloggen." + gplus_exists: "Du hast bereits einen Account mit Google+ verknüpft!" + connected_facebook_header: "Du wurdest erfolgreich mit Facebook verknüpft!" + connected_facebook_p: "Schließe das Registrieren ab, so dass du dich mit deinem Facebook Account einloggen." + facebook_exists: "Du hast bereits einen Account mit Facebook verknüpft!" + hey_students: "Schüler, gib den Klassencode von deinem Lehrer ein." recover: recover_account_title: "Account-Wiederherstellung" @@ -739,7 +747,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: thanks_p: "Wir melden uns bald. Fragen? Schreiben Sie uns eine Email:" thanks_anon: "Loggen Sie sich unten ein oder Erstellen Sie einen Account um Zugang zu ihren zwei kostenlosen Einschreibungen zu erhalten (Wir werden Sie per Email benachrichtigen nach der Überprüfung, die normalerweise weniger als 48 Stunden dauert. So wie immer ist die erste Stunde des Inhaltes kostenlos für eine unbegrenzte Anzahl von Schülern." thanks_logged_in: "Ihre zwei kostenlosen Einschreiben werden gerade überprüft. Wir werden Sie per Email nach der Überprüfung benachrichtigen, die normalerweise weniger als 48 Stunden dauert. So wie immer ist die erste Stunde des Inhaltes kostenlos für eine unbegrenzte Anzahl von Schülern." - + setup_a_class: "Eine Klasse erstellen" + versions: save_version_title: "Neue Version speichern" new_major_version: "Neue Hauptversion" @@ -1138,6 +1147,7 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription: add_students1: "Schüler hinzufügen" view_edit: "anschauen/bearbeiten" students_enrolled: "Schüler eingeschrieben" + students_assigned: "Schüler zugewiesen" length: "Länge:" classes: From 9a36267ba75a5e2fdd87f5148ff6bbb7e49564ec Mon Sep 17 00:00:00 2001 From: Imperadeiro98 Date: Wed, 16 Mar 2016 21:49:19 +0000 Subject: [PATCH 06/10] Cleanup i18n in some files --- app/locale/en.coffee | 12 ++++++- app/templates/base-flat.jade | 54 +++++++++++++++---------------- app/templates/base.jade | 18 +++++------ app/templates/community-view.jade | 22 ++++++------- 4 files changed, 58 insertions(+), 48 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index 573ca6b62..f51ab5f06 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -93,7 +93,6 @@ profile: "Profile" stats: "Stats" code: "Code" - admin: "Admin" # Only shows up when you are an admin home: "Home" contribute: "Contribute" legal: "Legal" @@ -107,6 +106,17 @@ create_a_class: "Create a Class" other: "Other" learn_to_code: "Learn to Code!" + toggle_nav: "Toggle navigation" + jobs: "Jobs" + schools: "Schools" + educator_wiki: "Educator Wiki" + request_quote: "Request a Quote" + get_involved: "Get Involved" + open_source: "Open source (GitHub)" + support: "Support" + faqs: "FAQs" + help_pref: "Need help? Email" + help_suff: "and we'll get in touch!" modal: close: "Close" diff --git a/app/templates/base-flat.jade b/app/templates/base-flat.jade index 870b8a924..38aeabaf4 100644 --- a/app/templates/base-flat.jade +++ b/app/templates/base-flat.jade @@ -2,16 +2,16 @@ block header .container-fluid.text-center .alert.alert-danger.lt-ie9 - strong(data-i18n="home.no_ie") The CodeCombat game does not run in Internet Explorer 8 or older. Sorry! + strong(data-i18n="home.no_ie") if view.isIPadBrowser() || view.isMobile() .alert.alert-danger.mobile - strong(data-i18n="home.no_mobile") CodeCombat gameplay was not designed for mobile devices and may not work! + strong(data-i18n="home.no_mobile") else if view.isOldBrowser() .alert.alert-danger.old-browser - strong(data-i18n="home.old_browser") Uh oh, your browser is too old to play CodeCombat. Sorry! + strong(data-i18n="home.old_browser") br - span(data-i18n="home.old_browser_suffix") You can try anyway, but it probably won't work. + span(data-i18n="home.old_browser_suffix") nav.navbar.navbar-default .container @@ -19,14 +19,14 @@ .col-md-3.col-sm-4 .navbar-header button.navbar-toggle.collapsed(data-toggle='collapse', data-target='#navbar-collapse' aria-expanded='false') - span.sr-only Toggle navigation + span.sr-only(data-i18n="home.toggle_nav") span.icon-bar span.icon-bar span.icon-bar a.navbar-brand(href="/") img#logo-img(src="/images/pages/base/logo.png") span.glyphicon.glyphicon-home - + .col-md-9.col-sm-8 #navbar-collapse.collapse.navbar-collapse ul.nav.navbar-nav.pull-left @@ -65,11 +65,11 @@ a(href="/account/prepaid", data-i18n="account.prepaid_codes") li a#logout-button(data-i18n="login.log_out") - + li #language-dropdown-wrapper - select.language-dropdown.form-control - + select.language-dropdown.form-control + block outer_content #site-content-area @@ -88,57 +88,57 @@ li strong CodeCombat li - a(href="/about") About + a(href="/about", data-i18n="nav.about") li - a(href="/Careers") Jobs + a(href="/Careers", data-i18n="nav.jobs") li a(href="http://blog.codecombat.com/", data-i18n="nav.blog") li - a(href="/legal") Legal - + a(href="/legal", data-i18n="nav.legal") + .col-sm-3 ul.list-unstyled li - strong Schools + strong(data-i18n="nav.schools") li - a(href="/courses/teachers") Teachers + a(href="/courses/teachers", data-i18n="nav.teachers") li - a(href="https://sites.google.com/a/codecombat.com/teacher-guides/") Educator Wiki + a(href="https://sites.google.com/a/codecombat.com/teacher-guides/", data-i18n="nav.educator_wiki") li - a(href="/teachers/quote") Request a Quote - + a(href="/teachers/quote", data-i18n="nav.request_quote") + .col-sm-3 ul.list-unstyled li - strong Get Involved + strong(data-i18n="nav.get_involved") li a(href='/community', data-i18n="nav.community") li - a(href="/contribute") Contribute + a(href="/contribute", data-i18n="nav.contribute") li a(href=view.forumLink(), data-i18n="nav.forum") li - a(href="/play/ladder") Multiplayer + a(href="/play/ladder", data-i18n="home.multiplayer") li - a(href="https://github.com/codecombat/codecombat") Open source (GitHub) + a(href="https://github.com/codecombat/codecombat", data-i18n="nav.open_source") .col-sm-3 ul.list-unstyled li - strong Support + strong(data-i18n="nav.support") li - a(href="https://discourse.codecombat.com/t/faq-check-before-posting/1027") FAQs + a(href="https://discourse.codecombat.com/t/faq-check-before-posting/1027", data-i18n="nav.faqs") li a(tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") li a(href="https://www.facebook.com/codecombat", data-i18n="nav.facebook") li a(href="https://twitter.com/codecombat", data-i18n="nav.twitter") - + #final-footer.small.text-center | Copyright ©2016 CodeCombat. All Rights Reserved. br.hidden-lg.hidden-md img(src="/images/pages/base/logo.png" alt="CodeCombat") br.hidden-lg.hidden-md - span.spr Need help? Email + span.spr(data-i18n="nav.help_pref") a(href="mailto:team@codecombat.com") team@codecombat.com - span.spl and we'll get in touch! \ No newline at end of file + span.spl(data-i18n="nav.help_suff") diff --git a/app/templates/base.jade b/app/templates/base.jade index 52f81770d..fc1c31127 100644 --- a/app/templates/base.jade +++ b/app/templates/base.jade @@ -8,7 +8,7 @@ block header img#small-nav-logo(src="/images/pages/base/logo.png", title="CodeCombat - Learn how to code by playing a game", alt="CodeCombat") a(href="/") span.glyphicon.glyphicon-home - a(href='/teachers', data-i18n="nav.teachers") Teachers + a(href='/teachers', data-i18n="nav.teachers") a(href='/courses', data-i18n="nav.courses") a(href=view.forumLink(), data-i18n="nav.forum") a(href='/community', data-i18n="nav.community") @@ -37,7 +37,7 @@ block header li a(href="/account/subscription", data-i18n="account.subscription") li - a(href="/account/prepaid", data-i18n="account.prepaid_codes") Prepaid Codes + a(href="/account/prepaid", data-i18n="account.prepaid_codes") li a#logout-button(data-i18n="login.log_out") @@ -60,15 +60,15 @@ block footer #footer-links a(href="/about", data-i18n="nav.about") - a(tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") Contact + a(tabindex=-1, data-toggle="coco-modal", data-target="core/ContactModal", data-i18n="nav.contact") a(href='http://blog.codecombat.com/', data-i18n="nav.blog") - a(href='https://jobs.lever.co/codecombat', tabindex=-1, data-i18n="nav.careers") Careers - a(href='/legal', tabindex=-1, data-i18n="nav.legal") Legal - a(href='/privacy', tabindex=-1, data-i18n="legal.privacy_title") Privacy - a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") Contribute + a(href='https://jobs.lever.co/codecombat', tabindex=-1, data-i18n="nav.careers") + a(href='/legal', tabindex=-1, data-i18n="nav.legal") + a(href='/privacy', tabindex=-1, data-i18n="legal.privacy_title") + a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") a(href='/play/ladder', tabindex=-1, data-i18n="home.multiplayer") if me.isAdmin() - a(href='/admin', data-i18n="nav.admin") Admin + a(href='/admin') Admin if usesSocialMedia .share-buttons @@ -76,7 +76,7 @@ block footer .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 + 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") iframe.github-star-button(src="https://ghbtns.com/github-btn.html?user=codecombat&repo=codecombat&type=watch&count=true", allowtransparency="true", frameborder="0", scrolling="0", width="110", height="20") #footer-credits diff --git a/app/templates/community-view.jade b/app/templates/community-view.jade index fcf467278..0ca72419f 100644 --- a/app/templates/community-view.jade +++ b/app/templates/community-view.jade @@ -2,21 +2,21 @@ extends /templates/base block content - h1(data-i18n="community.main_title") Community + h1(data-i18n="community.main_title") - p(data-i18n="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! + p(data-i18n="community.introduction") div .community-columns a(href="/editor/level") img(src="/images/pages/community/level.png") - h2 + h2 a(href="/editor/level", data-i18n="editor.level_title") p - span.spr(data-i18n="community.level_editor_prefix") Use the CodeCombat + span.spr(data-i18n="community.level_editor_prefix") a(href="/editor/level", data-i18n="editor.level_title") - span.spl(data-i18n="community.level_editor_suffix") to create and edit levels. Users have created levels for their classes, friends, hackathons, students, and siblings. If create a new level sounds intimidating you can start by forking one of ours! + span.spl(data-i18n="community.level_editor_suffix") .community-columns a(href="/editor/thang") @@ -24,9 +24,9 @@ block content h2 a(href="/editor/thang", data-i18n="editor.thang_title") p - span.spr(data-i18n="community.thang_editor_prefix") We call units within the game 'thangs'. Use the + span.spr(data-i18n="community.thang_editor_prefix") a(href="/editor/thang", data-i18n="editor.thang_title") - span.spl(data-i18n="community.thang_editor_suffix") to modify the CodeCombat source artwork. Allow units to throw projectiles, alter the direction of an animation, change a unit's hit points, or upload your own vector sprites. + span.spl(data-i18n="community.thang_editor_suffix") .community-columns a(href="/editor/article") @@ -34,16 +34,16 @@ block content h2 a(href="/editor/article", data-i18n="editor.article_title") p - span.spr(data-i18n="community.article_editor_prefix") See a mistake in some of our docs? Want to make some instructions for your own creations? Check out the + span.spr(data-i18n="community.article_editor_prefix") a(href="/editor/article", data-i18n="editor.article_title") - span.spl(data-i18n="community.article_editor_suffix") and help CodeCombat players get the most out of their playtime. + span.spl(data-i18n="community.article_editor_suffix") div .half-width h2.lower-titles - a(href="https://www.facebook.com/codecombat", data-i18n="community.find_us") Find us on these sites + a(href="https://www.facebook.com/codecombat", data-i18n="community.find_us") .logo-row @@ -71,7 +71,7 @@ block content .half-width h2.lower-titles - a(href="/contribute", data-i18n="community.contribute_to_the_project") Contribute to the project + a(href="/contribute", data-i18n="community.contribute_to_the_project") .logo-row.contribute-classes From 8e6faaf66c9e205a5a03ddda0e370dc65f37dcbb Mon Sep 17 00:00:00 2001 From: Scott Erickson Date: Thu, 17 Mar 2016 12:47:36 -0700 Subject: [PATCH 07/10] Have index.js check node version is >= 4 before continuing, for #3495 --- index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/index.js b/index.js index 208974b3d..3abc77f62 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,11 @@ +var majorVersion = parseInt(process.versions.node.split('.')[0]); +if (majorVersion < 4) { + console.error('Server requires Node v4 or higher. Your version:', process.version); + process.exit(1); +} +if (majorVersion === 4) { + console.warn('WARNING: You are using Node v4. Please upgrade to Node v5. Your version:', process.versions.node); +} require('coffee-script'); require('coffee-script/register'); var server = require('./server'); From f14575ece6ecd4e23ccfeb15184a772a2629fc64 Mon Sep 17 00:00:00 2001 From: Matt Lott Date: Thu, 17 Mar 2016 17:29:47 -0700 Subject: [PATCH 08/10] Update subscribe modal level counts --- app/locale/en.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/locale/en.coffee b/app/locale/en.coffee index f51ab5f06..e1b26dd8b 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -495,9 +495,9 @@ subscribe: comparison_blurb: "Sharpen your skills with a CodeCombat subscription!" - feature1: "110+ basic levels across 4 worlds" + feature1: "125+ basic levels across 4 worlds" # {change} feature2: "10 powerful new heroes with unique skills!" - feature3: "80+ bonus levels" + feature3: "85+ bonus levels" # {change} feature4: "{{gems}} bonus gems every month!" feature5: "Video tutorials" feature6: "Premium email support" From 1bab6cee88645b345738fe1bb90edd84d292f735 Mon Sep 17 00:00:00 2001 From: Matt Lott Date: Thu, 17 Mar 2016 17:36:45 -0700 Subject: [PATCH 09/10] Add school classroom search script --- .../queries/findClassroomsForSchool.js | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 scripts/analytics/mongodb/queries/findClassroomsForSchool.js diff --git a/scripts/analytics/mongodb/queries/findClassroomsForSchool.js b/scripts/analytics/mongodb/queries/findClassroomsForSchool.js new file mode 100644 index 000000000..13142e6ba --- /dev/null +++ b/scripts/analytics/mongodb/queries/findClassroomsForSchool.js @@ -0,0 +1,38 @@ +// Find classroom data for a specific school + +// Usage: +// mongo
:/