This commit is contained in:
yaur 2015-01-28 15:53:34 -05:00
commit cc99d810a9
88 changed files with 836 additions and 115 deletions

View file

@ -10,7 +10,7 @@ It's both a startup and a community project, completely open source under the [M
### [Getting Started](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-General-Information) ### [Getting Started](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-General-Information)
We've made it easy to fork the project, run a simple script that'll install all the dependencies, and get a local copy of CodeCombat running right away on [Mac](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Mac-and-Vagrant), [Linux](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Linux), or [Windows](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Windows). See [the docs for details](https://github.com/codecombat/codecombat/wiki/Developer-environment). We've made it easy to fork the project, run a simple script that'll install all the dependencies, and get a local copy of CodeCombat running right away on [Mac](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Mac-and-Vagrant), [Linux](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Linux), or [Windows](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Windows). See [the docs for details](https://github.com/codecombat/codecombat/wiki/Dev-Setup:-General-Information).
### [Getting In Touch](https://github.com/codecombat/codecombat/wiki/Developer-organization) ### [Getting In Touch](https://github.com/codecombat/codecombat/wiki/Developer-organization)

View file

@ -637,3 +637,33 @@ module.exports.thangNames = thangNames =
'Ganju' 'Ganju'
'Ralthora' 'Ralthora'
] ]
'Skeleton': [
'Bloody Johnny'
'Bone Daddy'
'Bonejangles'
'Bonesworth'
'Bonette'
'Doornail'
'Drybones'
'Grim'
'Haskell'
'Indiana Bones'
'James Bone'
'Kate'
'Palatine'
'Ribster'
'Rusty'
'Sacra'
'Scraps'
'Shelly'
'Skeletor'
'Skellington'
'Skulldugger'
'Skully'
'Smitty'
'Sphenoid'
'Sternum'
'Talus'
'Ulna'
'Yorick'
]

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "български език", englishDescri
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "български език", englishDescri
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventari" inventory_tab: "Inventari"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
subscribe: subscribe:
subscribe_title: "Subscriu-te" subscribe_title: "Subscriu-te"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventář" inventory_tab: "Inventář"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
subscribe: subscribe:
subscribe_title: "Předplacení" subscribe_title: "Předplacení"
unsubscribe: "Zrušit předplacení" unsubscribe: "Zrušit předplacení"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "Získejte více praxe s bonusovými úrovněmi!" levels: "Získejte více praxe s bonusovými úrovněmi!"
heroes: "Více silnějších hrdinů!" heroes: "Více silnějších hrdinů!"
gems: "3500 bonusových drahokamů každý měsíc!" gems: "3500 bonusových drahokamů každý měsíc!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventar" inventory_tab: "Inventar"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventar" inventory_tab: "Inventar"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
subscribe: subscribe:
subscribe_title: "Abonnieren" subscribe_title: "Abonnieren"
unsubscribe: "Abmelden" unsubscribe: "Abmelden"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "25 weitere level! Und 5 neue jede Woche!" levels: "25 weitere level! Und 5 neue jede Woche!"
heroes: "Stärkere Helden!" heroes: "Stärkere Helden!"
gems: "3500 bonus Edelsteine jeden Monat!" gems: "3500 bonus Edelsteine jeden Monat!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@
tip_reusable_software: "Before software can be reusable it first has to be usable." tip_reusable_software: "Before software can be reusable it first has to be usable."
tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
tip_source_code: "I want to change the world but they would not give me the source code."
tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventory" inventory_tab: "Inventory"
@ -369,6 +371,13 @@
subscribe: subscribe:
subscribe_title: "Subscribe" subscribe_title: "Subscribe"
unsubscribe: "Unsubscribe" unsubscribe: "Unsubscribe"
confirm_unsubscribe: "Confirm Unsubscribe"
never_mind: "Never Mind, I Still Love You"
thank_you_months_prefix: "Thank you for supporting us these last"
thank_you_months_suffix: "months."
thank_you: "Thank you for supporting CodeCombat."
sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "Get more practice with bonus levels!" levels: "Get more practice with bonus levels!"
heroes: "More powerful heroes!" heroes: "More powerful heroes!"
gems: "3500 bonus gems every month!" gems: "3500 bonus gems every month!"

View file

@ -81,7 +81,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
awaiting_levels_adventurer_prefix: "Nosotros creamos 5 nuevos niveles cada semana" awaiting_levels_adventurer_prefix: "Nosotros creamos 5 nuevos niveles cada semana"
awaiting_levels_adventurer: "Registrate como un aventurero" awaiting_levels_adventurer: "Registrate como un aventurero"
awaiting_levels_adventurer_suffix: "para ser el primero en jugar nuevos niveles." awaiting_levels_adventurer_suffix: "para ser el primero en jugar nuevos niveles."
# adjust_volume: "Adjust volume" adjust_volume: "Ajustar el volumen"
choose_your_level: "Elige tu nivel" # The rest of this section is the old play view at /play-old and isn't very important. choose_your_level: "Elige tu nivel" # The rest of this section is the old play view at /play-old and isn't very important.
adventurer_prefix: "Puedes saltar a cualquier nivel de abajo, o discutir los niveles en " adventurer_prefix: "Puedes saltar a cualquier nivel de abajo, o discutir los niveles en "
adventurer_forum: "el foro del aventurero" adventurer_forum: "el foro del aventurero"
@ -160,10 +160,10 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
date: "Fecha" date: "Fecha"
body: "Cuerpo" body: "Cuerpo"
version: "Versión" version: "Versión"
# pending: "Pending" pending: "Pendiente"
# accepted: "Accepted" accepted: "Aceptado"
# rejected: "Rejected" rejected: "Rechazado"
# withdrawn: "Withdrawn" withdrawn: "Retirado"
submitter: "Emisor" submitter: "Emisor"
submitted: "Enviado" submitted: "Enviado"
commit_msg: "Enviar mensaje" commit_msg: "Enviar mensaje"
@ -171,10 +171,10 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
version_history: "Historial de Versiones" version_history: "Historial de Versiones"
version_history_for: "Historial de Versiones para: " version_history_for: "Historial de Versiones para: "
select_changes: "Selcciona dos cambios abajo para ver la diferencia" select_changes: "Selcciona dos cambios abajo para ver la diferencia"
# undo_prefix: "Undo" undo_prefix: "Deshacer"
# undo_shortcut: "(Ctrl+Z)" undo_shortcut: "(Ctrl+Z)"
# redo_prefix: "Redo" redo_prefix: "Rehacer"
# redo_shortcut: "(Ctrl+Shift+Z)" redo_shortcut: "(Ctrl+Shift+Z)"
play_preview: "Mira el avance del nivel" play_preview: "Mira el avance del nivel"
result: "Resultado" result: "Resultado"
results: "Resultados" results: "Resultados"
@ -198,9 +198,9 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
hard: "Difícil" hard: "Difícil"
player: "Jugador" player: "Jugador"
player_level: "Nivel" # Like player level 5, not like level: Dungeons of Kithgard player_level: "Nivel" # Like player level 5, not like level: Dungeons of Kithgard
# warrior: "Warrior" warrior: "Guerrero"
# ranger: "Ranger" ranger: "Guardabosques"
# wizard: "Wizard" wizard: "Mago"
units: units:
second: "segundo" second: "segundo"
@ -323,6 +323,8 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventario" inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
subscribe: subscribe:
subscribe_title: "Suscribirse" subscribe_title: "Suscribirse"
unsubscribe: "Des-suscribirse" unsubscribe: "Des-suscribirse"
confirm_unsubscribe: "Confirmar cancelacion de suscripción"
never_mind: "Olvidalo, Te sigo queriendo"
thank_you_months_prefix: "Gracias por tu apoyo en estos ultimos"
thank_you_months_suffix: "meses."
thank_you: "Gracias por apoyar CodeCombat."
sorry_to_see_you_go: "¡Sentimos que te vayas! Por favor, haznos saber lo que podríamos haber hecho mejor."
unsubscribe_feedback_placeholder: "¿Pero qué hemos hecho?"
levels: "Adquirí más practica con un nivel bonus!" levels: "Adquirí más practica con un nivel bonus!"
heroes: "Héroes más poderosos!" heroes: "Héroes más poderosos!"
gems: "Bonus de 3500 todos los meses!" gems: "Bonus de 3500 todos los meses!"
@ -392,7 +401,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
javascript_blurb: "El lenguaje de la web (no es Java)." javascript_blurb: "El lenguaje de la web (no es Java)."
coffeescript_blurb: "JavaScript pero más bonito." coffeescript_blurb: "JavaScript pero más bonito."
clojure_blurb: "Un Lisp moderno." clojure_blurb: "Un Lisp moderno."
lua_blurb: "Lenguaje ara Juegos." lua_blurb: "Lenguaje para Juegos."
io_blurb: "Simple pero oscuro." io_blurb: "Simple pero oscuro."
status: "Estado" status: "Estado"
weapons: "Armas" weapons: "Armas"
@ -616,12 +625,12 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
revert: "Revertir" revert: "Revertir"
revert_models: "Revertir Modelos" revert_models: "Revertir Modelos"
pick_a_terrain: "Elije un Terreno" pick_a_terrain: "Elije un Terreno"
# dungeon: "Dungeon" dungeon: "Calabozo"
# indoor: "Indoor" indoor: "Interior"
# desert: "Desert" desert: "Desierto"
grassy: "Herboso" grassy: "Herboso"
small: "Pequeño" small: "Pequeño"
# large: "Large" large: "Grande"
fork_title: "Fork de Nueva Versión" fork_title: "Fork de Nueva Versión"
fork_creating: "Creando Fork..." fork_creating: "Creando Fork..."
generate_terrain: "Generar terreno" generate_terrain: "Generar terreno"
@ -642,9 +651,9 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
level_tab_thangs_all: "Todo" level_tab_thangs_all: "Todo"
level_tab_thangs_conditions: "Condiciones Iniciales" level_tab_thangs_conditions: "Condiciones Iniciales"
level_tab_thangs_add: "Agregar Thangs" level_tab_thangs_add: "Agregar Thangs"
# add_components: "Add Components" add_components: "Agregar Componentes"
# component_configs: "Component Configurations" component_configs: "Configuraciones del Componente"
# config_thang: "Double click to configure a thang" config_thang: "Doble clic para configurar un thang"
delete: "Borrar" delete: "Borrar"
duplicate: "Duplicar" duplicate: "Duplicar"
# stop_duplicate: "Stop Duplicate" # stop_duplicate: "Stop Duplicate"
@ -682,7 +691,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
# achievement_query_goals: "Key achievement off of level goals" # achievement_query_goals: "Key achievement off of level goals"
# level_completion: "Level Completion" # level_completion: "Level Completion"
# pop_i18n: "Populate I18N" # pop_i18n: "Populate I18N"
# tasks: "Tasks" tasks: "Tareas"
article: article:
edit_btn_preview: "Vista previa" edit_btn_preview: "Vista previa"
@ -891,7 +900,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
leaderboard: "Clasificación" leaderboard: "Clasificación"
user_schema: "Esquema de Usuario" user_schema: "Esquema de Usuario"
user_profile: "Perfil de Usuario" user_profile: "Perfil de Usuario"
# patch: "Patch" patch: "Parche"
patches: "Parches" patches: "Parches"
patched_model: "Documento fuente" patched_model: "Documento fuente"
model: "Modelo" model: "Modelo"
@ -914,13 +923,13 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
employers: "Empleadores" employers: "Empleadores"
candidates: "Candidatos" candidates: "Candidatos"
candidate_sessions: "Sesión de candidato" candidate_sessions: "Sesión de candidato"
# user_remark: "User Remark" user_remark: "Observación del usuario"
# user_remarks: "User Remarks" user_remarks: "Observaciones del usuario"
versions: "Versiones" versions: "Versiones"
items: "Items" items: "Items"
heroes: "Héroes" heroes: "Héroes"
achievement: "Logros" achievement: "Logros"
# clas: "CLAs" clas: "CLAs"
play_counts: "Conteo de juegos" play_counts: "Conteo de juegos"
feedback: "Feedback" feedback: "Feedback"
payment_info: "Información de pago" payment_info: "Información de pago"
@ -956,7 +965,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
archmage_wiki_url: "nuestra wiki de Archimago" archmage_wiki_url: "nuestra wiki de Archimago"
opensource_description_suffix: "Para la lista de softwares que hacen al juego posible." opensource_description_suffix: "Para la lista de softwares que hacen al juego posible."
practices_title: "Mejores prácticas respetuosas" practices_title: "Mejores prácticas respetuosas"
# practices_description: "These are our promises to you, the player, in slightly less legalese." practices_description: "Estas son nuestras promesas hacia ti, el jugador, en términos menos legales."
privacy_title: "Privacidad" privacy_title: "Privacidad"
privacy_description: "No vederemos nada sobre tu información personalWe will not sell any of your personal information." privacy_description: "No vederemos nada sobre tu información personalWe will not sell any of your personal information."
security_title: "Seguridad" security_title: "Seguridad"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventario" inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
subscribe: subscribe:
subscribe_title: "Suscríbete" subscribe_title: "Suscríbete"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "¡Desbloquea 17 niveles adicionales! ¡5 nuevos cada semana!" levels: "¡Desbloquea 17 niveles adicionales! ¡5 nuevos cada semana!"
heroes: "¡Más heroes poderosos!" heroes: "¡Más heroes poderosos!"
gems: "¡3500 joyas adicionales cada mes!" gems: "¡3500 joyas adicionales cada mes!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventaire" inventory_tab: "Inventaire"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
subscribe: subscribe:
subscribe_title: "Inscription" subscribe_title: "Inscription"
unsubscribe: "Désinscription" unsubscribe: "Désinscription"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "Débloquer 17 niveaux supplémentaires ! Et 5 nouveaux chaque semaines!" levels: "Débloquer 17 niveaux supplémentaires ! Et 5 nouveaux chaque semaines!"
heroes: "Héros plus puissants!" heroes: "Héros plus puissants!"
gems: "3500 gemmes en bonus chaque mois !" gems: "3500 gemmes en bonus chaque mois !"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventario" inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Raktár" inventory_tab: "Raktár"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
subscribe: subscribe:
subscribe_title: "Feliratkozás" subscribe_title: "Feliratkozás"
unsubscribe: "Leiratkozás" unsubscribe: "Leiratkozás"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "Gyakorolj a bónusz szinteken!" levels: "Gyakorolj a bónusz szinteken!"
heroes: "Még erősebb hősök!" heroes: "Még erősebb hősök!"
gems: "3500 búnusz drágakő havonta!" gems: "3500 búnusz drágakő havonta!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventario" inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Македонски", englishDescription:
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Македонски", englishDescription:
subscribe: subscribe:
subscribe_title: "Зачлени се" subscribe_title: "Зачлени се"
unsubscribe: "Откажи членство" unsubscribe: "Откажи членство"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "Вежбај повеќе со дополнителни нивоа!" levels: "Вежбај повеќе со дополнителни нивоа!"
heroes: "Помоќни херои!" heroes: "Помоќни херои!"
gems: "3500 скапоцени камења секој месец!" gems: "3500 скапоцени камења секој месец!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Utstyr" inventory_tab: "Utstyr"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventaris" inventory_tab: "Inventaris"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
subscribe: subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
gems: "Elke maand 3500 bonus juwelen!" gems: "Elke maand 3500 bonus juwelen!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventaris" inventory_tab: "Inventaris"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
subscribe: subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
gems: "3500 extra edelstenen elke maand!" gems: "3500 extra edelstenen elke maand!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Ekwipunek" inventory_tab: "Ekwipunek"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventário" inventory_tab: "Inventário"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
subscribe: subscribe:
subscribe_title: "Inscrever-se" subscribe_title: "Inscrever-se"
unsubscribe: "Desinscrever-se" unsubscribe: "Desinscrever-se"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "Desbloqueie 17 níveis extras! Com 5 novos toda semana!" levels: "Desbloqueie 17 níveis extras! Com 5 novos toda semana!"
heroes: "Mais poderosos heróis!" heroes: "Mais poderosos heróis!"
gems: "3500 gemas bônus todo mês!" gems: "3500 gemas bônus todo mês!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
tip_reusable_software: "Antes de um software poder ser reutilizável, primeiro tem de ser utilizável." tip_reusable_software: "Antes de um software poder ser reutilizável, primeiro tem de ser utilizável."
tip_optimization_operator: "Todas as linguagens têm um operador de otimização. Na maior parte delas esse operador é //." tip_optimization_operator: "Todas as linguagens têm um operador de otimização. Na maior parte delas esse operador é //."
tip_lines_of_code: "Medir o progresso em programação pelo número de linhas de código é como medir o progresso da construção de um avião pelo peso. — Bill Gates" tip_lines_of_code: "Medir o progresso em programação pelo número de linhas de código é como medir o progresso da construção de um avião pelo peso. — Bill Gates"
tip_source_code: "Quero mudar o mundo, mas não há maneira de me darem o código-fonte."
tip_javascript_java: "Java é para JavaScript o mesmo que Carro (Car) para Tapete (Carpet). - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Inventário" inventory_tab: "Inventário"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
subscribe: subscribe:
subscribe_title: "Subscrever" subscribe_title: "Subscrever"
unsubscribe: "Cancelar Subscrição" unsubscribe: "Cancelar Subscrição"
confirm_unsubscribe: "Confirmar Cancelamento da Subscrição"
never_mind: "Não Importa, Gostamos de Ti à Mesma"
thank_you_months_prefix: "Obrigado por nos teres apoiado neste(s) último(s)"
thank_you_months_suffix: "mês(meses)."
thank_you: "Obrigado por apoiares o CodeCombat."
sorry_to_see_you_go: "Lamentamos ver-te partir! Por favor, diz-nos o que podíamos ter feito melhor."
unsubscribe_feedback_placeholder: "Oh, o que fomos fazer?"
levels: "Pratica mais com níveis bónus!" levels: "Pratica mais com níveis bónus!"
heroes: "Heróis mais poderosos!" heroes: "Heróis mais poderosos!"
gems: "3500 gemas de bónus todos os meses!" gems: "3500 gemas de bónus todos os meses!"
@ -856,8 +865,8 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
price: "Preço" price: "Preço"
gems: "Gemas" gems: "Gemas"
active: "Activa" active: "Activa"
subscribed: "Subscrito" subscribed: "Subscrito(a)"
unsubscribed: "Não Subscrito" unsubscribed: "Não Subscrito(a)"
active_until: "Ativa Até" active_until: "Ativa Até"
cost: "Custo" cost: "Custo"
next_payment: "Próximo Pagamento" next_payment: "Próximo Pagamento"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
tip_reusable_software: "Прежде, чем программное обеспечение станет повторно используемым, оно должно стать в принципе используемым." tip_reusable_software: "Прежде, чем программное обеспечение станет повторно используемым, оно должно стать в принципе используемым."
tip_optimization_operator: "В каждом языке есть оператор оптимизации. В большинстве языков это оператор //" tip_optimization_operator: "В каждом языке есть оператор оптимизации. В большинстве языков это оператор //"
tip_lines_of_code: "Измерение прогресса программирования в строках кода - это как измерять прогресс построения самолета по его весу. — Bill Gates" tip_lines_of_code: "Измерение прогресса программирования в строках кода - это как измерять прогресс построения самолета по его весу. — Bill Gates"
tip_source_code: "Я хочу изменить мир, но они вряд ли дадут мне исходники."
tip_javascript_java: "Java к JavaScript относится так же, как кол относится к колготкам. - Chris Heilmann (перефраз.)"
game_menu: game_menu:
inventory_tab: "Инвентарь" inventory_tab: "Инвентарь"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
subscribe: subscribe:
subscribe_title: "Подпишись" subscribe_title: "Подпишись"
unsubscribe: "Отписаться" unsubscribe: "Отписаться"
confirm_unsubscribe: "Подтвердить отмену подписки"
never_mind: "Неважно, Я Все Равно Тебя Люблю"
thank_you_months_prefix: "Спасибо Вам за поддерживание нас в течение последних"
thank_you_months_suffix: "месяцев."
thank_you: "Спасибо за поддержку CodeCombat."
sorry_to_see_you_go: "Жаль, что вы уходите! Пожалуйста, расскажите нам, что мы могли бы сделать лучше."
unsubscribe_feedback_placeholder: "О, что мы наделали?"
levels: "Получите больше практики с бонусными уровнями!" levels: "Получите больше практики с бонусными уровнями!"
heroes: "Более сильные герои!" heroes: "Более сильные герои!"
gems: "3500 бонусных самоцветов каждый месяц!" gems: "3500 бонусных самоцветов каждый месяц!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Utrustning" inventory_tab: "Utrustning"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Envanter" inventory_tab: "Envanter"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Українська", englishDescription:
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "Інвентар" inventory_tab: "Інвентар"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Українська", englishDescription:
subscribe: subscribe:
subscribe_title: "Взяти абонемент" subscribe_title: "Взяти абонемент"
unsubscribe: "Скасувати абонемент" unsubscribe: "Скасувати абонемент"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "Розблокуйте 25 рівнів! Та отримуйте 5 нових кожного тижня!" levels: "Розблокуйте 25 рівнів! Та отримуйте 5 нових кожного тижня!"
heroes: "Більше могутніх героїв!" heroes: "Більше могутніх героїв!"
gems: "Щомісячний бонус 3500 самоцвітів!" gems: "Щомісячний бонус 3500 самоцвітів!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "道具箱" inventory_tab: "道具箱"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
subscribe: subscribe:
subscribe_title: "订阅" subscribe_title: "订阅"
unsubscribe: "取消订阅" unsubscribe: "取消订阅"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
levels: "多解锁17个关卡每周解锁5个新关卡" levels: "多解锁17个关卡每周解锁5个新关卡"
heroes: "更多强大的英雄!" heroes: "更多强大的英雄!"
gems: "每月多3500宝石奖励" gems: "每月多3500宝石奖励"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
inventory_tab: "倉庫" inventory_tab: "倉庫"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
# game_menu: # game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# tip_reusable_software: "Before software can be reusable it first has to be usable." # tip_reusable_software: "Before software can be reusable it first has to be usable."
# tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //" # tip_optimization_operator: "Every language has an optimization operator. In most languages that operator is //"
# tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates" # tip_lines_of_code: "Measuring programming progress by lines of code is like measuring aircraft building progress by weight. — Bill Gates"
# tip_source_code: "I want to change the world but they would not give me the source code."
# tip_javascript_java: "Java is to JavaScript what Car is to Carpet. - Chris Heilmann"
game_menu: game_menu:
# inventory_tab: "Inventory" # inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# subscribe: # subscribe:
# subscribe_title: "Subscribe" # subscribe_title: "Subscribe"
# unsubscribe: "Unsubscribe" # unsubscribe: "Unsubscribe"
# confirm_unsubscribe: "Confirm Unsubscribe"
# never_mind: "Never Mind, I Still Love You"
# thank_you_months_prefix: "Thank you for supporting us these last"
# thank_you_months_suffix: "months."
# thank_you: "Thank you for supporting CodeCombat."
# sorry_to_see_you_go: "Sorry to see you go! Please let us know what we could have done better."
# unsubscribe_feedback_placeholder: "O, what have we done?"
# levels: "Get more practice with bonus levels!" # levels: "Get more practice with bonus levels!"
# heroes: "More powerful heroes!" # heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!" # gems: "3500 bonus gems every month!"

View file

@ -2,4 +2,17 @@
.start-subscription-button, .end-subscription-button .start-subscription-button, .end-subscription-button
margin-bottom: 20px margin-bottom: 20px
float: left float: left
width: 100% width: 100%
.unsubscribe-feedback
width: 100%
h3
margin-top: 0
textarea
width: 100%
button.btn
width: 100%
margin-top: 12px

View file

@ -111,7 +111,7 @@
.user-dropdown-header .user-dropdown-header
background: #E4CF8C background: #E4CF8C
height: 160px height: auto
padding: 10px padding: 10px
text-align: center text-align: center
color: black color: black

View file

@ -14,6 +14,20 @@ block content
.panel-heading .panel-heading
if subscribed if subscribed
button.end-subscription-button.btn.btn-lg.btn-warning(data-i18n="subscribe.unsubscribe") Unsubscribe button.end-subscription-button.btn.btn-lg.btn-warning(data-i18n="subscribe.unsubscribe") Unsubscribe
.unsubscribe-feedback.row.secret
.col-lg-7
h3
if monthsSubscribed > 1
span(data-i18n="subscribe.thank_you_months_prefix") Thank you for supporting us these last
span.spl.spr= monthsSubscribed
span(data-i18n="subscribe.thank_you_months_suffix") months.
else
span(data-i18n="subscribe.thank_you") Thank you for supporting CodeCombat.
div(data-i18n="subscribe.sorry_to_see_you_go") Sorry to see you go! Please let us know what we could have done better.
textarea(rows=3, data-i18n="[placeholder]subscribe.unsubscribe_feedback_placeholder")
.col-lg-5
button.cancel-end-subscription-button.btn.btn-lg.btn-default(data-i18n="subscribe.never_mind") Never Mind, I Still Love You
button.confirm-end-subscription-button.btn.btn-lg.btn-warning(data-i18n="subscribe.confirm_unsubscribe") Confirm Unsubscribe
else if !me.isAnonymous() else if !me.isAnonymous()
button.start-subscription-button.btn.btn-lg.btn-success(data-i18n="subscribe.subscribe_title") Subscribe button.start-subscription-button.btn.btn-lg.btn-success(data-i18n="subscribe.subscribe_title") Subscribe

View file

@ -54,6 +54,8 @@
strong.tip.rare(data-i18n='play_level.tip_brute_force') When in doubt, use brute force. - Ken Thompson strong.tip.rare(data-i18n='play_level.tip_brute_force') When in doubt, use brute force. - Ken Thompson
strong.tip.rare(data-i18n='play_level.tip_extrapolation') There are only two kinds of people: those that can extrapolate from incomplete data... strong.tip.rare(data-i18n='play_level.tip_extrapolation') There are only two kinds of people: those that can extrapolate from incomplete data...
strong.tip.rare(data-i18n='play_level.tip_superpower') Coding is the closest thing we have to a superpower strong.tip.rare(data-i18n='play_level.tip_superpower') Coding is the closest thing we have to a superpower
strong.tip.rare(data-i18n='play_level.tip_source_code') I want to change the world but they would not give me the source code.
strong.tip.rare(data-i18n='play_level.tip_javascript_java') Java is to JavaScript what Car is to Carpet. - Chris Heilmann
strong.tip.rare strong.tip.rare
span(data-i18n='play_level.tip_harry') Yer a Wizard, span(data-i18n='play_level.tip_harry') Yer a Wizard,
span= me.get('name', true) span= me.get('name', true)

View file

@ -2,6 +2,7 @@ RootView = require 'views/core/RootView'
template = require 'templates/account/subscription-view' template = require 'templates/account/subscription-view'
CocoCollection = require 'collections/CocoCollection' CocoCollection = require 'collections/CocoCollection'
SubscribeModal = require 'views/core/SubscribeModal' SubscribeModal = require 'views/core/SubscribeModal'
Payment = require 'models/Payment'
module.exports = class SubscriptionView extends RootView module.exports = class SubscriptionView extends RootView
id: "subscription-view" id: "subscription-view"
@ -10,6 +11,8 @@ module.exports = class SubscriptionView extends RootView
events: events:
'click .start-subscription-button': 'onClickStartSubscription' 'click .start-subscription-button': 'onClickStartSubscription'
'click .end-subscription-button': 'onClickEndSubscription' 'click .end-subscription-button': 'onClickEndSubscription'
'click .cancel-end-subscription-button': 'onClickCancelEndSubscription'
'click .confirm-end-subscription-button': 'onClickConfirmEndSubscription'
subscriptions: subscriptions:
'subscribe-modal:subscribed': 'onSubscribed' 'subscribe-modal:subscribed': 'onSubscribed'
@ -20,6 +23,8 @@ module.exports = class SubscriptionView extends RootView
options = { url: "/db/user/#{me.id}/stripe" } options = { url: "/db/user/#{me.id}/stripe" }
options.success = (@stripeInfo) => options.success = (@stripeInfo) =>
@supermodel.addRequestResource('payment_info', options).load() @supermodel.addRequestResource('payment_info', options).load()
@payments = new CocoCollection([], { url: '/db/payment', model: Payment, comparator:'_id' })
@supermodel.loadCollection(@payments, 'payments')
getRenderData: -> getRenderData: ->
c = super() c = super()
@ -33,6 +38,10 @@ module.exports = class SubscriptionView extends RootView
c.cost = "$#{(subscription.plan.amount/100).toFixed(2)}" c.cost = "$#{(subscription.plan.amount/100).toFixed(2)}"
if card = @stripeInfo.cards?.data?[0] if card = @stripeInfo.cards?.data?[0]
c.card = "#{card.brand}: x#{card.last4}" c.card = "#{card.brand}: x#{card.last4}"
if @payments?.loaded
c.monthsSubscribed = (x for x in @payments.models when not x.get('productID')).length # productID is for gem purchases
else
c.monthsSubscribed = null
c.stripeInfo = @stripeInfo c.stripeInfo = @stripeInfo
c.subscribed = me.get('stripe')?.planID c.subscribed = me.get('stripe')?.planID
@ -47,8 +56,26 @@ module.exports = class SubscriptionView extends RootView
document.location.reload() document.location.reload()
onClickEndSubscription: (e) -> onClickEndSubscription: (e) ->
stripe = _.clone(me.get('stripe')) window.tracker?.trackEvent 'Unsubscribe Start', {}
delete stripe.planID @$el.find('.end-subscription-button').blur().addClass 'disabled', 250
me.set('stripe', stripe) @$el.find('.unsubscribe-feedback').show(500).find('textarea').focus()
me.patch({headers: {'X-Change-Plan': 'true'}})
@listenToOnce me, 'sync', -> document.location.reload() onClickCancelEndSubscription: (e) ->
window.tracker?.trackEvent 'Unsubscribe Cancel', {}
@$el.find('.unsubscribe-feedback').hide(500).find('textarea').blur()
@$el.find('.end-subscription-button').focus().removeClass 'disabled', 250
onClickConfirmEndSubscription: (e) ->
message = @$el.find('.unsubscribe-feedback textarea').val().trim()
window.tracker?.trackEvent 'Unsubscribe End', message: message
removeStripe = =>
stripe = _.clone(me.get('stripe'))
delete stripe.planID
me.set('stripe', stripe)
me.patch({headers: {'X-Change-Plan': 'true'}})
@listenToOnce me, 'sync', -> document.location.reload()
if message
$.post '/contact', message: message, subject: 'Cancellation', (response) ->
removeStripe()
else
removeStripe()

View file

@ -103,12 +103,22 @@ module.exports = class CampaignLevelView extends CocoView
description: 'Help video rate (%)' description: 'Help video rate (%)'
color: 'purple' color: 'purple'
# Last day may be missing due to caching, will use this days aggregate to clean up individual graph lines # Use this days aggregate to fill in missing days from the analytics data
days = {} days = {}
days[day.created] = true for day in @analytics.levelCompletions.data if @analytics?.levelCompletions?.data? days["#{day.created[0..3]}-#{day.created[4..5]}-#{day.created[6..7]}"] = true for day in @analytics.levelCompletions.data if @analytics?.levelCompletions?.data?
days[day.created.replace(/-/g, '')] = true for day in @analytics.levelPlaytimes.data if @analytics?.levelPlaytimes?.data? days[day.created] = true for day in @analytics.levelPlaytimes.data if @analytics?.levelPlaytimes?.data?
days[day.day] = true for day in @analytics.levelHelps.data if @analytics?.levelHelps?.data? days["#{day.day[0..3]}-#{day.day[4..5]}-#{day.day[6..7]}"] = true for day in @analytics.levelHelps.data if @analytics?.levelHelps?.data?
days = Object.keys(days).sort (a, b) -> if a < b then -1 else 1 days = Object.keys(days).sort (a, b) -> if a < b then -1 else 1
if days.length > 0
currentIndex = 0
currentDay = days[currentIndex]
currentDate = new Date(currentDay + "T00:00:00.000Z")
lastDay = days[days.length - 1]
while currentDay isnt lastDay
days.splice currentIndex, 0, currentDay if days[currentIndex] isnt currentDay
currentIndex++
currentDate.setUTCDate(currentDate.getUTCDate() + 1)
currentDay = currentDate.toISOString().substr(0, 10)
# Update level completion graph data # Update level completion graph data
dayStartedMap = {} dayStartedMap = {}
@ -126,17 +136,14 @@ module.exports = class CampaignLevelView extends CocoView
pointID: "#{completionLineID}#{i}" pointID: "#{completionLineID}#{i}"
values: ["Started: #{day.started}", "Finished: #{day.finished}", "Completion rate: #{rate.toFixed(2)}%"] values: ["Started: #{day.started}", "Finished: #{day.finished}", "Completion rate: #{rate.toFixed(2)}%"]
# Ensure points for each day # Ensure points for each day
if levelPoints.length < days.length for day, i in days
for i in [1..days.length - levelPoints.length] if levelPoints.length <= i or levelPoints[i].day isnt day
day = days[days.length - i] levelPoints.splice i, 0,
x = levelPoints[levelPoints.length - 1].x + 1
levelPoints.push
x: x
y: 0.0 y: 0.0
started: 0 day: day
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{completionLineID}#{x}"
values: [] values: []
levelPoints[i].x = i
levelPoints[i].pointID = "#{completionLineID}#{i}"
@analytics.graphs[0].lines.push @analytics.graphs[0].lines.push
lineID: completionLineID lineID: completionLineID
enabled: true enabled: true
@ -159,17 +166,14 @@ module.exports = class CampaignLevelView extends CocoView
pointID: "#{playtimeLineID}#{i}" pointID: "#{playtimeLineID}#{i}"
values: ["Average playtime: #{avg.toFixed(2)}s"] values: ["Average playtime: #{avg.toFixed(2)}s"]
# Ensure points for each day # Ensure points for each day
if playtimePoints.length < days.length for day, i in days
for i in [1..days.length - playtimePoints.length] if playtimePoints.length <= i or playtimePoints[i].day isnt day
day = days[days.length - i] playtimePoints.splice i, 0,
x = playtimePoints[playtimePoints.length - 1].x + 1
playtimePoints.push
x: x
y: 0.0 y: 0.0
started: 0 day: day
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{completionLineID}#{x}"
values: [] values: []
playtimePoints[i].x = i
playtimePoints[i].pointID = "#{playtimeLineID}#{i}"
@analytics.graphs[0].lines.push @analytics.graphs[0].lines.push
lineID: playtimeLineID lineID: playtimeLineID
enabled: true enabled: true
@ -187,7 +191,7 @@ module.exports = class CampaignLevelView extends CocoView
for day, i in @analytics.levelHelps.data for day, i in @analytics.levelHelps.data
helpCount = day.alertHelps + day.paletteHelps helpCount = day.alertHelps + day.paletteHelps
started = dayStartedMap[day.day] ? 0 started = dayStartedMap[day.day] ? 0
clickRate = if started > 0 then helpCount / started * 100 else -1.0 clickRate = if started > 0 then helpCount / started * 100 else 0
videoRate = day.videoStarts / helpCount * 100 videoRate = day.videoStarts / helpCount * 100
helpPoints.push helpPoints.push
x: i x: i
@ -202,36 +206,30 @@ module.exports = class CampaignLevelView extends CocoView
pointID: "#{videosLineID}#{i}" pointID: "#{videosLineID}#{i}"
values: ["Help videos started: #{day.videoStarts}", "Help videos start rate: #{videoRate.toFixed(2)}%"] values: ["Help videos started: #{day.videoStarts}", "Help videos start rate: #{videoRate.toFixed(2)}%"]
# Ensure points for each day # Ensure points for each day
if helpPoints.length < days.length for day, i in days
for i in [1..days.length - helpPoints.length] if helpPoints.length <= i or helpPoints[i].day isnt day
day = days[days.length - i] helpPoints.splice i, 0,
x = helpPoints[helpPoints.length - 1].x + 1
helpPoints.push
x: x
y: 0.0 y: 0.0
started: 0 day: day
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{helpsLineID}#{x}"
values: [] values: []
if videoPoints.length < days.length helpPoints[i].x = i
for i in [1..days.length - videoPoints.length] helpPoints[i].pointID = "#{helpsLineID}#{i}"
day = days[days.length - i] if videoPoints.length <= i or videoPoints[i].day isnt day
x = videoPoints[videoPoints.length - 1].x + 1 videoPoints.splice i, 0,
helpPoints.push
x: x
y: 0.0 y: 0.0
started: 0 day: day
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{videosLineID}#{x}"
values: [] values: []
@analytics.graphs[0].lines.push videoPoints[i].x = i
lineID: helpsLineID videoPoints[i].pointID = "#{videosLineID}#{i}"
enabled: true if d3.max(helpPoints, (d) -> d.y) > 0
points: helpPoints @analytics.graphs[0].lines.push
description: lineMetadata[helpsLineID].description lineID: helpsLineID
lineColor: lineMetadata[helpsLineID].color enabled: true
min: 0 points: helpPoints
max: 100.0 description: lineMetadata[helpsLineID].description
lineColor: lineMetadata[helpsLineID].color
min: 0
max: 100.0
if d3.max(videoPoints, (d) -> d.y) > 0 if d3.max(videoPoints, (d) -> d.y) > 0
@analytics.graphs[0].lines.push @analytics.graphs[0].lines.push
lineID: videosLineID lineID: videosLineID
@ -336,7 +334,7 @@ module.exports = class CampaignLevelView extends CocoView
.attr("transform", "translate(" + (margin + yAxisWidth * graphLineCount) + "," + margin + ")") .attr("transform", "translate(" + (margin + yAxisWidth * graphLineCount) + "," + margin + ")")
.attr("cx", (d) -> xRange(d.x)) .attr("cx", (d) -> xRange(d.x))
.attr("cy", (d) -> yRange(d.y)) .attr("cy", (d) -> yRange(d.y))
.attr("r", (d) -> if d.started then Math.max(3, Math.min(10, Math.log(parseInt(d.started)))) else 4) .attr("r", (d) -> if d.started then Math.max(3, Math.min(10, Math.log(parseInt(d.started)))) + 2 else 6)
.attr("fill", line.lineColor) .attr("fill", line.lineColor)
.attr("stroke-width", 1) .attr("stroke-width", 1)
.attr("class", "graph-point") .attr("class", "graph-point")
@ -412,7 +410,7 @@ module.exports = class CampaignLevelView extends CocoView
# console.log 'getLevelCompletions', data # console.log 'getLevelCompletions', data
data.sort (a, b) -> if a.created < b.created then -1 else 1 data.sort (a, b) -> if a.created < b.created then -1 else 1
mapFn = (item) -> mapFn = (item) ->
item.rate = item.finished / item.started * 100 item.rate = if item.started > 0 then item.finished / item.started * 100 else 0
item item
@analytics.levelCompletions.data = _.map data, mapFn, @ @analytics.levelCompletions.data = _.map data, mapFn, @
doneCallback() doneCallback()

View file

@ -343,7 +343,7 @@ module.exports = class ThangComponentsEditView extends CocoView
componentSystems = (c.get('system') for c in componentModels when c) componentSystems = (c.get('system') for c in componentModels when c)
for system in componentSystems for system in componentSystems
if system not in extantSystems if system isnt 'misc' and system not in extantSystems
s = "Component requires system <strong>#{system}</strong> which is currently not included in this level." s = "Component requires system <strong>#{system}</strong> which is currently not included in this level."
noty({ noty({
text: s, text: s,

View file

@ -31,7 +31,7 @@ function basicDependenciesErrorHandling {
exit 1 exit 1
;; ;;
"git") "git")
echo "Please install Git.(If you're running mac, this is included in the XCode command line tools." echo "Please install Git (if you're running mac, this is included in the XCode command line tools)."
esac esac
} }

View file

@ -14,6 +14,3 @@ class Configuration(object):
@property @property
def mem_width(self): def mem_width(self):
return self.system.virtual_memory_address_width return self.system.virtual_memory_address_width

View file

@ -10,4 +10,3 @@ class Dependency(object):
raise NotImplementedError raise NotImplementedError
def install_dependencies(self): def install_dependencies(self):
raise NotImplementedError raise NotImplementedError

View file

@ -50,6 +50,3 @@ class DirectoryController(object):
shutil.rmtree(self.bin_directory + os.sep + "mongo",ignore_errors=True) shutil.rmtree(self.bin_directory + os.sep + "mongo",ignore_errors=True)
def remove_tmp_directory(self): def remove_tmp_directory(self):
shutil.rmtree(self.tmp_directory) shutil.rmtree(self.tmp_directory)

View file

@ -38,4 +38,3 @@ class Downloader:
else: else:
stringToDisplay = '\r File size unknown. Read {0} bytes.'.format(amount_of_data_downloaded_so_far) stringToDisplay = '\r File size unknown. Read {0} bytes.'.format(amount_of_data_downloaded_so_far)
print(stringToDisplay,end=' ') print(stringToDisplay,end=' ')

View file

@ -71,7 +71,7 @@ class SetupFactory(object):
print("NOTE: brunch may need to be run as sudo if it doesn't work (ulimit needs to be set higher than default)") print("NOTE: brunch may need to be run as sudo if it doesn't work (ulimit needs to be set higher than default)")
print("") print("")
print("Before can play any levels you must update the database. See the Setup section here:") print("Before can play any levels you must update the database. See the Setup section here:")
print("https://github.com/codecombat/codecombat/wiki/Developer-environment#setup") print("https://github.com/codecombat/codecombat/wiki/Dev-Setup:-Linux#installing-the-database")
print("") print("")
print("Go to http://localhost:3000 to see your local CodeCombat in action!") print("Go to http://localhost:3000 to see your local CodeCombat in action!")
def cleanup(self): def cleanup(self):
@ -145,7 +145,7 @@ class LinuxSetup(SetupFactory):
exit(1) exit(1)
else: else:
print("NodeJS and MongoDB installed successfully. " print("NodeJS and MongoDB installed successfully. "
"Staring MongoDB.") "Starting MongoDB.")
#try: #try:
#subprocess.check_call(["service", "mongod", "start"]) #subprocess.check_call(["service", "mongod", "start"])
#except subprocess.CalledProcessError as err: #except subprocess.CalledProcessError as err:
@ -169,4 +169,3 @@ class LinuxSetup(SetupFactory):
return() return()
else: else:
exit(1) exit(1)

View file

@ -105,5 +105,3 @@ class MacMongoDBDownloader(MongoDBDownloader):
@property @property
def download_url(self): def download_url(self):
return u"http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.6.6.tgz" return u"http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.6.6.tgz"

View file

@ -60,7 +60,7 @@ class Node(Dependency):
shutil.copytree(self.findUnzippedNodePath(),install_directory) shutil.copytree(self.findUnzippedNodePath(),install_directory)
wants_to_upgrade = True wants_to_upgrade = True
if self.check_if_executable_installed(u"npm"): if self.check_if_executable_installed(u"npm"):
warning_string = u"A previous version of npm has been found. \nYou may experience problems if you have a version of npm that's too old.Would you like to upgrade?(y/n) " warning_string = u"A previous version of npm has been found. \nYou may experience problems if you have a version of npm that's too old. Would you like to upgrade?(y/n) "
from distutils.util import strtobool from distutils.util import strtobool
print(warning_string) print(warning_string)
#for bash script, you have to somehow redirect stdin to raw_input() #for bash script, you have to somehow redirect stdin to raw_input()
@ -158,5 +158,3 @@ class MacNodeDownloader(NodeDownloader):
return u"http://nodejs.org/dist/v0.10.35/node-v0.10.35-darwin-x64.tar.gz" return u"http://nodejs.org/dist/v0.10.35/node-v0.10.35-darwin-x64.tar.gz"
else: else:
return u"http://nodejs.org/dist/v0.10.35/node-v0.10.35-darwin-x86.tar.gz" return u"http://nodejs.org/dist/v0.10.35/node-v0.10.35-darwin-x86.tar.gz"

View file

@ -20,7 +20,7 @@ class RepositoryInstaller():
#http://stackoverflow.com/questions/9329243/xcode-4-4-and-later-install-command-line-tools #http://stackoverflow.com/questions/9329243/xcode-4-4-and-later-install-command-line-tools
if not self.checkIfCurlExecutableExists(): if not self.checkIfCurlExecutableExists():
if self.config.system.operating_system == "linux": if self.config.system.operating_system == "linux":
raise errors.CoCoError("Curl is missing. Please install it(try 'sudo apt-get install curl')\nIf you are not using Ubuntu then please see your Linux Distribution's documentation for help installing curl.") raise errors.CoCoError("Curl is missing. Please install it (try 'sudo apt-get install curl')\nIf you are not using Ubuntu then please see your Linux Distribution's documentation for help installing curl.")
elif self.config.system.operating_system == "mac": elif self.config.system.operating_system == "mac":
raise errors.CoCoError("Curl is missing. Please install the Xcode command line tools.") raise errors.CoCoError("Curl is missing. Please install the Xcode command line tools.")
raise errors.CoCoError(u"Git is missing. Please install git.") raise errors.CoCoError(u"Git is missing. Please install git.")

View file

@ -40,9 +40,7 @@ def check_if_root():
raise errors.CoCoError(u"You need to be root. Run as sudo.") raise errors.CoCoError(u"You need to be root. Run as sudo.")
if __name__ == u"__main__": if __name__ == u"__main__":
print("Code Combat Development Environment Setup Script") print("CodeCombat Development Environment Setup Script")
check_if_root() check_if_root()
setup = factories.constructSetup() setup = factories.constructSetup()
setup.setup() setup.setup()

View file

@ -15,6 +15,22 @@ AchievementSchema = new mongoose.Schema({
userField: String userField: String
}, {strict: false}) }, {strict: false})
AchievementSchema.index(
{
_fts: 'text'
_ftsx: 1
},
{
name: 'search index'
sparse: true
weights: {name: 1}
default_language: 'english'
'language_override': 'language'
'textIndexVersion': 2
})
AchievementSchema.index({i18nCoverage: 1}, {name: 'translation coverage index', sparse: true})
AchievementSchema.index({slug: 1}, {name: 'slug index', sparse: true, unique: true})
AchievementSchema.methods.objectifyQuery = -> AchievementSchema.methods.objectifyQuery = ->
try try
@set('query', JSON.parse(@get('query'))) if typeof @get('query') == 'string' @set('query', JSON.parse(@get('query'))) if typeof @get('query') == 'string'

View file

@ -11,6 +11,7 @@ AnalyticsLogEventSchema = new mongoose.Schema({
event: String event: String
properties: mongoose.Schema.Types.Mixed properties: mongoose.Schema.Types.Mixed
}, {strict: false}) }, {strict: false})
AnalyticsLogEventSchema.index({event: 1, _id: 1}) AnalyticsLogEventSchema.index({event: 1, _id: 1})
module.exports = AnalyticsLogEvent = mongoose.model('analytics.log.event', AnalyticsLogEventSchema) module.exports = AnalyticsLogEvent = mongoose.model('analytics.log.event', AnalyticsLogEventSchema)

View file

@ -7,4 +7,7 @@ AnalyticsUsersActiveSchema = new mongoose.Schema({
'default': Date.now 'default': Date.now
}, {strict: false}) }, {strict: false})
AnalyticsUsersActiveSchema.index({created: 1})
AnalyticsUsersActiveSchema.index({creator: 1})
module.exports = AnalyticsUsersActive = mongoose.model('analytics.users.active', AnalyticsUsersActiveSchema) module.exports = AnalyticsUsersActive = mongoose.model('analytics.users.active', AnalyticsUsersActiveSchema)

View file

@ -3,6 +3,32 @@ plugins = require '../plugins/plugins'
ArticleSchema = new mongoose.Schema(body: String, {strict: false}) ArticleSchema = new mongoose.Schema(body: String, {strict: false})
ArticleSchema.index(
{
index: 1
_fts: 'text'
_ftsx: 1
},
{
name: 'search index'
sparse: true
weights: {body: 1, name: 1}
default_language: 'english'
'language_override': 'searchLanguage'
'textIndexVersion': 2
})
ArticleSchema.index(
{
original: 1
'version.major': -1
'version.minor': -1
},
{
name: 'version index'
unique: true
})
ArticleSchema.index({slug: 1}, {name: 'slug index', sparse: true, unique: true})
ArticleSchema.plugin(plugins.NamedPlugin) ArticleSchema.plugin(plugins.NamedPlugin)
ArticleSchema.plugin(plugins.VersionedPlugin) ArticleSchema.plugin(plugins.VersionedPlugin)
ArticleSchema.plugin(plugins.SearchablePlugin, {searchable: ['body', 'name']}) ArticleSchema.plugin(plugins.SearchablePlugin, {searchable: ['body', 'name']})

View file

@ -3,6 +3,9 @@ plugins = require '../plugins/plugins'
CampaignSchema = new mongoose.Schema(body: String, {strict: false}) CampaignSchema = new mongoose.Schema(body: String, {strict: false})
CampaignSchema.index({i18nCoverage: 1}, {name: 'translation coverage index', sparse: true})
CampaignSchema.index({slug: 1}, {name: 'slug index', sparse: true, unique: true})
CampaignSchema.plugin(plugins.NamedPlugin) CampaignSchema.plugin(plugins.NamedPlugin)
CampaignSchema.plugin(plugins.TranslationCoveragePlugin) CampaignSchema.plugin(plugins.TranslationCoveragePlugin)

View file

@ -6,6 +6,32 @@ LevelSchema = new mongoose.Schema({
description: String description: String
}, {strict: false}) }, {strict: false})
LevelSchema.index(
{
index: 1
_fts: 'text'
_ftsx: 1
},
{
name: 'search index'
sparse: true
weights: {description: 1, name: 1}
default_language: 'english'
'language_override': 'searchLanguage'
'textIndexVersion': 2
})
LevelSchema.index(
{
original: 1
'version.major': -1
'version.minor': -1
},
{
name: 'version index'
unique: true
})
LevelSchema.index({slug: 1}, {name: 'slug index', sparse: true, unique: true})
LevelSchema.plugin(plugins.NamedPlugin) LevelSchema.plugin(plugins.NamedPlugin)
LevelSchema.plugin(plugins.PermissionsPlugin) LevelSchema.plugin(plugins.PermissionsPlugin)
LevelSchema.plugin(plugins.VersionedPlugin) LevelSchema.plugin(plugins.VersionedPlugin)

View file

@ -7,6 +7,32 @@ LevelComponentSchema = new mongoose.Schema {
system: String system: String
}, {strict: false} }, {strict: false}
LevelComponentSchema.index(
{
index: 1
_fts: 'text'
_ftsx: 1
},
{
name: 'search index'
sparse: true
weights: {description: 1, name: 1, searchStrings: 1}
default_language: 'english'
'language_override': 'searchLanguage'
'textIndexVersion': 2
})
LevelComponentSchema.index(
{
original: 1
'version.major': -1
'version.minor': -1
},
{
name: 'version index'
unique: true
})
LevelComponentSchema.index({slug: 1}, {name: 'slug index', sparse: true, unique: true})
LevelComponentSchema.plugin plugins.NamedPlugin LevelComponentSchema.plugin plugins.NamedPlugin
LevelComponentSchema.plugin plugins.PermissionsPlugin LevelComponentSchema.plugin plugins.PermissionsPlugin
LevelComponentSchema.plugin plugins.VersionedPlugin LevelComponentSchema.plugin plugins.VersionedPlugin

View file

@ -10,4 +10,7 @@ LevelFeedbackSchema = new mongoose.Schema({
'default': Date.now 'default': Date.now
}, {strict: false}) }, {strict: false})
LevelFeedbackSchema.index({created: 1})
LevelFeedbackSchema.index({creator: 1})
module.exports = LevelFeedback = mongoose.model('level.feedback', LevelFeedbackSchema) module.exports = LevelFeedback = mongoose.model('level.feedback', LevelFeedbackSchema)

View file

@ -358,6 +358,8 @@ LevelHandler = class LevelHandler extends Handler
# TODO: An uncached call takes about 5s for dungeons-of-kithgard locally # TODO: An uncached call takes about 5s for dungeons-of-kithgard locally
# TODO: This is very similar to getLevelCompletionsBySlugs(), time to generalize analytics APIs? # TODO: This is very similar to getLevelCompletionsBySlugs(), time to generalize analytics APIs?
# TODO: exclude admin data
levelSlugs = req.query.slugs or req.body.slugs levelSlugs = req.query.slugs or req.body.slugs
startDay = req.query.startDay or req.body.startDay startDay = req.query.startDay or req.body.startDay
endDay = req.query.endDay or req.body.endDay endDay = req.query.endDay or req.body.endDay

View file

@ -11,6 +11,20 @@ LevelSessionSchema = new mongoose.Schema({
type: Date type: Date
'default': Date.now 'default': Date.now
}, {strict: false}) }, {strict: false})
LevelSessionSchema.index({creator: 1})
LevelSessionSchema.index({level: 1})
LevelSessionSchema.index({levelID: 1})
LevelSessionSchema.index({'level.majorVersion': 1})
LevelSessionSchema.index({'level.original': 1}, {name: 'Level Original'})
LevelSessionSchema.index({'level.original': 1, 'level.majorVersion': 1, 'creator': 1, 'team': 1})
LevelSessionSchema.index({playtime: 1}, {name: 'Playtime'})
LevelSessionSchema.index({submitDate: 1})
LevelSessionSchema.index({submitted: 1}, {sparse: true})
LevelSessionSchema.index({team: 1}, {sparse: true})
LevelSessionSchema.index({totalScore: 1}, {sparse: true})
LevelSessionSchema.index({user: 1, changed: -1}, {name: 'last played index', sparse: true})
LevelSessionSchema.plugin(plugins.PermissionsPlugin) LevelSessionSchema.plugin(plugins.PermissionsPlugin)
LevelSessionSchema.plugin(AchievablePlugin) LevelSessionSchema.plugin(AchievablePlugin)
@ -23,7 +37,7 @@ LevelSessionSchema.post 'init', (doc) ->
LevelSessionSchema.pre 'save', (next) -> LevelSessionSchema.pre 'save', (next) ->
User = require '../../users/User' # Avoid mutual inclusion cycles User = require '../../users/User' # Avoid mutual inclusion cycles
@set('changed', new Date().toISOString()) @set('changed', new Date())
id = @get('id') id = @get('id')
initd = id of previous initd = id of previous

View file

@ -6,6 +6,32 @@ LevelSystemSchema = new mongoose.Schema {
description: String description: String
}, {strict: false} }, {strict: false}
LevelSystemSchema.index(
{
index: 1
_fts: 'text'
_ftsx: 1
},
{
name: 'search index'
sparse: true
weights: {description: 1, name: 1, name: 1}
default_language: 'english'
'language_override': 'searchLanguage'
'textIndexVersion': 2
})
LevelSystemSchema.index(
{
original: 1
'version.major': -1
'version.minor': -1
},
{
name: 'version index'
unique: true
})
LevelSystemSchema.index({slug: 1}, {name: 'slug index', sparse: true, unique: true})
LevelSystemSchema.plugin(plugins.NamedPlugin) LevelSystemSchema.plugin(plugins.NamedPlugin)
LevelSystemSchema.plugin(plugins.PermissionsPlugin) LevelSystemSchema.plugin(plugins.PermissionsPlugin)
LevelSystemSchema.plugin(plugins.VersionedPlugin) LevelSystemSchema.plugin(plugins.VersionedPlugin)

View file

@ -5,6 +5,32 @@ ThangTypeSchema = new mongoose.Schema({
body: String, body: String,
}, {strict: false}) }, {strict: false})
ThangTypeSchema.index(
{
index: 1
_fts: 'text'
_ftsx: 1
},
{
name: 'search index'
sparse: true
weights: {name: 1}
default_language: 'english'
'language_override': 'searchLanguage'
'textIndexVersion': 2
})
ThangTypeSchema.index(
{
original: 1
'version.major': -1
'version.minor': -1
},
{
name: 'version index'
unique: true
})
ThangTypeSchema.index({slug: 1}, {name: 'slug index', sparse: true, unique: true})
ThangTypeSchema.plugin plugins.NamedPlugin ThangTypeSchema.plugin plugins.NamedPlugin
ThangTypeSchema.plugin plugins.VersionedPlugin ThangTypeSchema.plugin plugins.VersionedPlugin
ThangTypeSchema.plugin plugins.SearchablePlugin, {searchable: ['name']} ThangTypeSchema.plugin plugins.SearchablePlugin, {searchable: ['name']}

View file

@ -8,4 +8,6 @@ MailSent = new mongoose.Schema({
'default': Date.now 'default': Date.now
}, {strict: false}) }, {strict: false})
MailSent.index({user: 1}, {name: 'User'})
module.exports = MailSent = mongoose.model('mail.sent', MailSent) module.exports = MailSent = mongoose.model('mail.sent', MailSent)

View file

@ -9,4 +9,6 @@ ScoringTaskSchema = new mongoose.Schema(
sessions: {type: Array, default: []} sessions: {type: Array, default: []}
) )
ScoringTaskSchema.index({createdAt: 1}, {expireAfterSeconds: 3600})
module.exports = mongoose.model('scoringTask', ScoringTaskSchema) module.exports = mongoose.model('scoringTask', ScoringTaskSchema)

View file

@ -59,8 +59,6 @@ createMailContext = (req, done) ->
async.waterfall [ async.waterfall [
fetchRecentSessions.bind undefined, user, context fetchRecentSessions.bind undefined, user, context
# Can add other data-grabbing stuff here if we want. # Can add other data-grabbing stuff here if we want.
# TODO: grab platform/browser/browser version/screen size from client
# TODO: try automatically including Surface screenshot if opening contact form from level?
], (err, results) -> ], (err, results) ->
console.error "Error getting contact message context for #{sender}: #{err}" if err console.error "Error getting contact message context for #{sender}: #{err}" if err
if req.body.screenshotURL if req.body.screenshotURL

View file

@ -19,6 +19,17 @@ UserSchema = new mongoose.Schema({
'default': Date.now 'default': Date.now
}, {strict: false}) }, {strict: false})
UserSchema.index({'dateCreated': 1})
UserSchema.index({'emailLower': 1}, {unique: true, sparse: true, name: 'emailLower_1'})
UserSchema.index({'facebookID': 1}, {sparse: true})
UserSchema.index({'gplusID': 1}, {sparse: true})
UserSchema.index({'iosIdentifierForVendor': 1}, {name: 'iOS identifier for vendor', sparse: true, unique: true})
UserSchema.index({'mailChimp.leid': 1}, {sparse: true})
UserSchema.index({'nameLower': 1}, {sparse: true, name: 'nameLower_1'})
UserSchema.index({'simulatedBy': 1})
UserSchema.index({'slug': 1}, {name: 'slug index', sparse: true, unique: true})
UserSchema.index({'stripe.subscriptionID': 1}, {unique: true, sparse: true})
UserSchema.post('init', -> UserSchema.post('init', ->
@set('anonymous', false) if @get('email') @set('anonymous', false) if @get('email')
) )
@ -266,9 +277,6 @@ UserSchema.statics.editableProperties = [
] ]
UserSchema.plugin plugins.NamedPlugin UserSchema.plugin plugins.NamedPlugin
UserSchema.index({'stripe.subscriptionID':1}, {unique: true, sparse: true})
UserSchema.index({'emailLower':1}, {unique: true, sparse: true, name: 'emailLower_1'})
UserSchema.index({'nameLower':1}, {unique: true, sparse: true, name: 'nameLower_1'})
module.exports = User = mongoose.model('User', UserSchema) module.exports = User = mongoose.model('User', UserSchema)

View file

@ -8,4 +8,6 @@ UserRemarkSchema = new mongoose.Schema({
'default': Date.now 'default': Date.now
}, {strict: false}) }, {strict: false})
UserRemarkSchema.index({user: 1}, {name: 'User'})
module.exports = UserRemark = mongoose.model('user.remark', UserRemarkSchema) module.exports = UserRemark = mongoose.model('user.remark', UserRemarkSchema)