From 1054f2d293391a85fee1e41ae667917fdf508da4 Mon Sep 17 00:00:00 2001 From: matheod Date: Thu, 26 Mar 2015 00:30:56 +0100 Subject: [PATCH 01/11] =?UTF-8?q?Add=20plural=20at=20D=C3=A9g=C3=A2t=20(da?= =?UTF-8?q?mage)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/locale/fr.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index 3f593a927..62d9fbe7f 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -475,7 +475,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t weapons_warrior: "Epées - Courte portée, pas de magie" weapons_ranger: "Arbalètes, pistolets - Longue portée, pas de magie" weapons_wizard: "Baguettes, bâtons - Longue portée, Magie" - attack: "Dégât" # Can also translate as "Attack" + attack: "Dégâts" # Can also translate as "Attack" health: "Santé" speed: "Vitesse" regeneration: "Régénération" From 713afaf567a7e0c40ce9e76254d1f96a6cd5c91a Mon Sep 17 00:00:00 2001 From: matheod Date: Thu, 26 Mar 2015 00:34:02 +0100 Subject: [PATCH 02/11] add Poll french translation --- app/locale/fr.coffee | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index 62d9fbe7f..13283ec3b 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -744,7 +744,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t thang_title: "Éditeur Thang" level_title: "Éditeur de niveau" achievement_title: "Éditeur de succès" -# poll_title: "Poll Editor" + poll_title: "Éditeur de sondage" back: "Retour" revert: "Annuler" revert_models: "Annuler les modèles" @@ -805,8 +805,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t new_level_title_login: "Identifiez-vous pour créer un nouveau niveau" new_achievement_title: "Créer un nouveau succès" new_achievement_title_login: "Connectez vous pour créer un nouveau succès" -# new_poll_title: "Create a New Poll" -# new_poll_title_login: "Log In to Create a New Poll" + new_poll_title: "Créer un nouveau sondage" + new_poll_title_login: "Connectez vous pour créer un nouveau sondage" article_search_title: "Rechercher dans les articles" thang_search_title: "Rechercher dans les types de Thang" level_search_title: "Rechercher dans les niveaux" @@ -826,7 +826,7 @@ module.exports = nativeDescription: "français", englishDescription: "French", t edit_article_title: "Éditer l'article" # polls: -# priority: "Priority" +# priority: "Priorité" contribute: page_title: "Contribution" From 07a6273c4b28cd598803d4da054ba122da175136 Mon Sep 17 00:00:00 2001 From: matheod Date: Thu, 26 Mar 2015 01:17:34 +0100 Subject: [PATCH 03/11] teachers french translation --- app/locale/fr.coffee | 58 ++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index 13283ec3b..69a48696d 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -577,38 +577,38 @@ module.exports = nativeDescription: "français", englishDescription: "French", t teachers: title: "CodeCombat pour les enseignants" # {change} -# intro_1: "CodeCombat is an online game that teaches programming. Students write code in real programming languages." -# intro_2: "No experience required!" -# free_title: "How much does it cost?" + intro_1: "CodeCombat est un jeu en ligne qui enseigne la programmation. Les élèves écrivent du code dans de vrais langages de programmation." + intro_2: "Aucune expérience requise !" + free_title: "Combien cela coûte-t-il ?" # cost_china: "CodeCombat in China is free for the first five levels, after which it costs $9.99 per month for access to our other 120+ levels on our exclusive China servers." -# free_1: "CodeCombat Basic is FREE! There are 70+ free levels which cover every concept." -# free_2: "A monthly subscription provides access to video tutorials and extra practice levels." -# teacher_subs_title: "Teachers get free subscriptions!" -# teacher_subs_1: "Please contact" -# teacher_subs_2: "to set up a free monthly subscription." -# sub_includes_title: "What is included in the subscription?" -# sub_includes_1: "In additional to the 70+ basic levels, students with a monthly subscription get access to these additional features:" # {change} -# sub_includes_2: "40+ practice levels" -# sub_includes_3: "Video tutorials" -# sub_includes_4: "Premium email support" -# sub_includes_5: "7 new heroes with unique skills to master" -# sub_includes_6: "3500 bonus gems every month" -# who_for_title: "Who is CodeCombat for?" -# who_for_1: "We recommend CodeCombat for students aged 9 and up. No prior programming experience is needed." -# who_for_2: "We've designed CodeCombat to appeal to both boys and girls." -# material_title: "How much material is there?" + free_1: "La version de base de CodeCombat est gratuite ! Il y a 70+ niveaux gratuits qui couvrent chaque concepts." + free_2: "Un abonnement mensuel fournit l'accès à des vidéos de tutoriels ainsi qu'à des niveaux d'entraînement supplémentaires." + teacher_subs_title: "Les enseignants reçoivent un abonnement gratuit !" + teacher_subs_1: "Merci de nous contacter" + teacher_subs_2: "pour obtenir un abonnement mensuel gratuit." + sub_includes_title: "Qu'y a t-il d'inclus dans cet abonnement ?" + sub_includes_1: "En plus des 70+ niveaux de base, les élèves avec un abonnement mensuel ont accès à ces fonctionnalités supplémentaires :" # {change} + sub_includes_2: "40+ niveaux d'entrainement" + sub_includes_3: "Des tutoriels vidéo" + sub_includes_4: "Support email premium" + sub_includes_5: "7 nouveaux héros avec des capacités uniques à maitriser" + sub_includes_6: "3500 gemmes bonus chaque mois" + who_for_title: "A qui CodeCombat est t-il destiné ?" + who_for_1: "Nous recommandons CodeCombat pour les élèves âgés de 9 ans ou plus. Aucune expérience préalable de programmation n'est requise." + who_for_2: "Nous avons conçu CodeCombat pour plaire à la fois aux garçons et aux filles." + material_title: "Quelle quantité de contenu y a t-il ?" # material_china: "Approximately 22 hours of gameplay spread over 120+ subscriber-only levels so far, with 5 new levels every week." -# material_1: "Approximately 8 hours of free content and an additional 14 hours of subscriber content, with 5 new levels every week." # {change} -# concepts_title: "What concepts are covered?" -# how_much_title: "How much does a monthly subscription cost?" -# how_much_1: "A" -# how_much_2: "monthly subscription" -# how_much_3: "costs $9.99, and can be cancelled anytime." -# how_much_4: "Additionally, we provide discounts for larger groups:" -# group_discounts_1: "We also offer group discounts for bulk subscriptions." + material_1: "Environ 8 heures de contenu gratuit et 14 heures de contenu supplémentaire reservé aux abonnés, avec 5 nouveaux niveaux chaque semaines." # {change} + concepts_title: "Quels concepts sont couverts ?" + how_much_title: "Combien coûte un abonnement mensuel ?" + how_much_1: "Un" + how_much_2: "abonnement mensuel" + how_much_3: "coûte $9.99 et peut être annulé à n'importe quel moment." + how_much_4: "De plus, nous fournissons des remises pour les grands groupes :" + group_discounts_1: "Nous offrons aussi des remises de groupes pour les achats en masse." sys_requirements_title: "Configuration requise" -# sys_requirements_1: "A modern web browser. Newer versions of Chrome, Firefox, or Safari. Internet Explorer 9 or later." -# sys_requirements_2: "CodeCombat is not supported on iPad yet." + sys_requirements_1: "Un navigateur moderne. La dernière version de Chrome, Firefox, ou de Safari. Internet Explorer 9 ou plus récent." + sys_requirements_2: "CodeCombat n'est pas encore supporté sur iPad." versions: save_version_title: "Enregistrer une nouvelle version" From 7fa46fac349e8234e0b5745c1019c3fddfa9a416 Mon Sep 17 00:00:00 2001 From: Imperadeiro98 Date: Thu, 26 Mar 2015 10:30:19 +0000 Subject: [PATCH 04/11] Uncommented a translation from last merge --- app/locale/fr.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/locale/fr.coffee b/app/locale/fr.coffee index 69a48696d..5dba3b3e9 100644 --- a/app/locale/fr.coffee +++ b/app/locale/fr.coffee @@ -825,8 +825,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t edit_btn_preview: "Prévisualiser" edit_article_title: "Éditer l'article" -# polls: -# priority: "Priorité" + polls: + priority: "Priorité" contribute: page_title: "Contribution" From 9b22fd2323da1e4ef6c736b0fae161a583976026 Mon Sep 17 00:00:00 2001 From: Alan Hohn Date: Thu, 26 Mar 2015 16:36:38 -0400 Subject: [PATCH 05/11] Integrate Vagrant --- .gitignore | 3 +++ .npmignore | 3 +++ Vagrantfile | 19 +++++++++++++++++++ scripts/vagrant/brunch.bat | 3 +++ scripts/vagrant/brunch.sh | 3 +++ scripts/vagrant/dev-server.bat | 3 +++ scripts/vagrant/dev-server.sh | 3 +++ scripts/vagrant/fillMongo.sh | 9 +++++++++ scripts/vagrant/provision.sh | 22 ++++++++++++++++++++++ 9 files changed, 68 insertions(+) create mode 100644 Vagrantfile create mode 100644 scripts/vagrant/brunch.bat create mode 100755 scripts/vagrant/brunch.sh create mode 100644 scripts/vagrant/dev-server.bat create mode 100755 scripts/vagrant/dev-server.sh create mode 100644 scripts/vagrant/fillMongo.sh create mode 100644 scripts/vagrant/provision.sh diff --git a/.gitignore b/.gitignore index 853dca44b..dc154815f 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,9 @@ Thumbs.db node_modules/ bower_components/ +# Vagrant +.vagrant/ + # Some other random stuff always-ignore extensions *.diff diff --git a/.npmignore b/.npmignore index 8c3d2c8c5..810e48ef0 100644 --- a/.npmignore +++ b/.npmignore @@ -59,6 +59,9 @@ Thumbs.db # NPM packages folder. node_modules/ +# Vagrant +.vagrant/ + # Some other random stuff always-ignore extensions *.diff diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 000000000..266553872 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,19 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Original content copyright (c) 2014 dpen2000 licensed under the MIT license + +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + config.vm.box = "hashicorp/precise64" + + config.vm.network "forwarded_port", guest: 3000, host: 3000 + + config.vm.provision "shell", path: "scripts/vagrant/provision.sh" + config.vm.provider "virtualbox" do |v| + v.memory = 2048 + v.cpus = 2 + end + +end diff --git a/scripts/vagrant/brunch.bat b/scripts/vagrant/brunch.bat new file mode 100644 index 000000000..0e19d96d8 --- /dev/null +++ b/scripts/vagrant/brunch.bat @@ -0,0 +1,3 @@ +@ECHO OFF +vagrant ssh -c "cd /vagrant && bin/coco-brunch" + diff --git a/scripts/vagrant/brunch.sh b/scripts/vagrant/brunch.sh new file mode 100755 index 000000000..97d23fbb5 --- /dev/null +++ b/scripts/vagrant/brunch.sh @@ -0,0 +1,3 @@ +#!/bin/sh +vagrant ssh -c "cd /vagrant && bin/coco-brunch" + diff --git a/scripts/vagrant/dev-server.bat b/scripts/vagrant/dev-server.bat new file mode 100644 index 000000000..18951a3c6 --- /dev/null +++ b/scripts/vagrant/dev-server.bat @@ -0,0 +1,3 @@ +@ECHO OFF +vagrant ssh -c "cd /vagrant && bin/coco-dev-server" + diff --git a/scripts/vagrant/dev-server.sh b/scripts/vagrant/dev-server.sh new file mode 100755 index 000000000..a130b6c21 --- /dev/null +++ b/scripts/vagrant/dev-server.sh @@ -0,0 +1,3 @@ +#!/bin/sh +vagrant ssh -c "cd /vagrant && bin/coco-dev-server" + diff --git a/scripts/vagrant/fillMongo.sh b/scripts/vagrant/fillMongo.sh new file mode 100644 index 000000000..477051129 --- /dev/null +++ b/scripts/vagrant/fillMongo.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# Original content copyright (c) 2014 dpen2000 licensed under the MIT license +mkdir -p /vagrant/temp +cd /vagrant/temp +rm -f dump.tar.gz +rm -rf dump +wget http://analytics.codecombat.com:8080/dump.tar.gz +tar xzvf dump.tar.gz --no-same-owner +mongorestore diff --git a/scripts/vagrant/provision.sh b/scripts/vagrant/provision.sh new file mode 100644 index 000000000..604752fb8 --- /dev/null +++ b/scripts/vagrant/provision.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Original content copyright (c) 2014 dpen2000 licensed under the MIT license +sudo apt-get -y update +sudo apt-get -y install python-software-properties git +sudo add-apt-repository -y ppa:chris-lea/node.js +sudo apt-get -y update +sudo apt-get -y install nodejs +sudo apt-get -y install g++ make coffeescript +cd /vagrant +sudo npm install +sudo npm install -g bower +sudo npm install -g brunch +sudo npm install -g geoip-lite +bower install --allow-root +sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 +echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list +sudo apt-get -y update +sudo apt-get -y install mongodb-org +sudo apt-get -y install ruby1.9.1 ruby1.9.1-dev +sudo gem install sass +npm install mongoose +bash /vagrant/scripts/vagrant/fillMongo.sh From 1841726faf18dfdc72eee521f796d3155fdcd4d5 Mon Sep 17 00:00:00 2001 From: Matt Lott Date: Thu, 26 Mar 2015 14:07:49 -0700 Subject: [PATCH 06/11] Purchase event histories script --- .../mongodb/queries/purchaseEventHistories.js | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 scripts/analytics/mongodb/queries/purchaseEventHistories.js diff --git a/scripts/analytics/mongodb/queries/purchaseEventHistories.js b/scripts/analytics/mongodb/queries/purchaseEventHistories.js new file mode 100644 index 000000000..7e7e18047 --- /dev/null +++ b/scripts/analytics/mongodb/queries/purchaseEventHistories.js @@ -0,0 +1,121 @@ +// Analyze sub purchase decisions via user event histories + +// Usage: +// mongo
:/analytics