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)
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)

View file

@ -637,3 +637,33 @@ module.exports.thangNames = thangNames =
'Ganju'
'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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "العربية", englishDescription: "Arabi
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "български език", englishDescri
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventari"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Català", englishDescription: "Catalan", tr
subscribe:
subscribe_title: "Subscriu-te"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventář"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "čeština", englishDescription: "Czech", tr
subscribe:
subscribe_title: "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!"
heroes: "Více silnějších hrdinů!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "dansk", englishDescription: "Danish", trans
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventar"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Deutsch (Österreich)", englishDescription:
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Deutsch (Schweiz)", englishDescription: "Ge
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventar"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Deutsch (Deutschland)", englishDescription:
subscribe:
subscribe_title: "Abonnieren"
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!"
heroes: "Stärkere Helden!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Ελληνικά", englishDescription: "Gre
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "English (AU)", englishDescription: "English
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "English (UK)", englishDescription: "English
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "English (US)", englishDescription: "English
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventory"
@ -369,6 +371,13 @@
subscribe:
subscribe_title: "Subscribe"
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!"
heroes: "More powerful heroes!"
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: "Registrate como un aventurero"
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.
adventurer_prefix: "Puedes saltar a cualquier nivel de abajo, o discutir los niveles en "
adventurer_forum: "el foro del aventurero"
@ -160,10 +160,10 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
date: "Fecha"
body: "Cuerpo"
version: "Versión"
# pending: "Pending"
# accepted: "Accepted"
# rejected: "Rejected"
# withdrawn: "Withdrawn"
pending: "Pendiente"
accepted: "Aceptado"
rejected: "Rechazado"
withdrawn: "Retirado"
submitter: "Emisor"
submitted: "Enviado"
commit_msg: "Enviar mensaje"
@ -171,10 +171,10 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
version_history: "Historial de Versiones"
version_history_for: "Historial de Versiones para: "
select_changes: "Selcciona dos cambios abajo para ver la diferencia"
# undo_prefix: "Undo"
# undo_shortcut: "(Ctrl+Z)"
# redo_prefix: "Redo"
# redo_shortcut: "(Ctrl+Shift+Z)"
undo_prefix: "Deshacer"
undo_shortcut: "(Ctrl+Z)"
redo_prefix: "Rehacer"
redo_shortcut: "(Ctrl+Shift+Z)"
play_preview: "Mira el avance del nivel"
result: "Resultado"
results: "Resultados"
@ -198,9 +198,9 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
hard: "Difícil"
player: "Jugador"
player_level: "Nivel" # Like player level 5, not like level: Dungeons of Kithgard
# warrior: "Warrior"
# ranger: "Ranger"
# wizard: "Wizard"
warrior: "Guerrero"
ranger: "Guardabosques"
wizard: "Mago"
units:
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_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_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:
inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
subscribe:
subscribe_title: "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!"
heroes: "Héroes más poderosos!"
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)."
coffeescript_blurb: "JavaScript pero más bonito."
clojure_blurb: "Un Lisp moderno."
lua_blurb: "Lenguaje ara Juegos."
lua_blurb: "Lenguaje para Juegos."
io_blurb: "Simple pero oscuro."
status: "Estado"
weapons: "Armas"
@ -616,12 +625,12 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
revert: "Revertir"
revert_models: "Revertir Modelos"
pick_a_terrain: "Elije un Terreno"
# dungeon: "Dungeon"
# indoor: "Indoor"
# desert: "Desert"
dungeon: "Calabozo"
indoor: "Interior"
desert: "Desierto"
grassy: "Herboso"
small: "Pequeño"
# large: "Large"
large: "Grande"
fork_title: "Fork de Nueva Versión"
fork_creating: "Creando Fork..."
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_conditions: "Condiciones Iniciales"
level_tab_thangs_add: "Agregar Thangs"
# add_components: "Add Components"
# component_configs: "Component Configurations"
# config_thang: "Double click to configure a thang"
add_components: "Agregar Componentes"
component_configs: "Configuraciones del Componente"
config_thang: "Doble clic para configurar un thang"
delete: "Borrar"
duplicate: "Duplicar"
# 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"
# level_completion: "Level Completion"
# pop_i18n: "Populate I18N"
# tasks: "Tasks"
tasks: "Tareas"
article:
edit_btn_preview: "Vista previa"
@ -891,7 +900,7 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
leaderboard: "Clasificación"
user_schema: "Esquema de Usuario"
user_profile: "Perfil de Usuario"
# patch: "Patch"
patch: "Parche"
patches: "Parches"
patched_model: "Documento fuente"
model: "Modelo"
@ -914,13 +923,13 @@ module.exports = nativeDescription: "Español (América Latina)", englishDescrip
employers: "Empleadores"
candidates: "Candidatos"
candidate_sessions: "Sesión de candidato"
# user_remark: "User Remark"
# user_remarks: "User Remarks"
user_remark: "Observación del usuario"
user_remarks: "Observaciones del usuario"
versions: "Versiones"
items: "Items"
heroes: "Héroes"
achievement: "Logros"
# clas: "CLAs"
clas: "CLAs"
play_counts: "Conteo de juegos"
feedback: "Feedback"
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"
opensource_description_suffix: "Para la lista de softwares que hacen al juego posible."
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_description: "No vederemos nada sobre tu información personalWe will not sell any of your personal information."
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_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_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:
inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "español (ES)", englishDescription: "Spanis
subscribe:
subscribe_title: "Suscríbete"
# 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!"
heroes: "¡Más heroes poderosos!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "فارسی", englishDescription: "Persian",
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "suomi", englishDescription: "Finnish", tran
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventaire"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "français", englishDescription: "French", t
subscribe:
subscribe_title: "Inscription"
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!"
heroes: "Héros plus puissants!"
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_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_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:
inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Galego", englishDescription: "Galician", tr
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "עברית", englishDescription: "Hebrew",
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "मानक हिन्दी", englishDe
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Raktár"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t
subscribe:
subscribe_title: "Feliratkozá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!"
heroes: "Még erősebb hősök!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Bahasa Indonesia", englishDescription: "Ind
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventario"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "日本語", englishDescription: "Japanese",
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "한국어", englishDescription: "Korean", t
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "lietuvių kalba", englishDescription: "Lith
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Македонски", englishDescription:
subscribe:
subscribe_title: "Зачлени се"
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: "Вежбај повеќе со дополнителни нивоа!"
heroes: "Помоќни херои!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Bahasa Melayu", englishDescription: "Bahasa
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Utstyr"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Norsk Bokmål", englishDescription: "Norweg
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventaris"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
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_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_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:
inventory_tab: "Inventaris"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Norwegian Nynorsk", englishDescription: "No
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Norsk", englishDescription: "Norwegian", tr
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Ekwipunek"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "język polski", englishDescription: "Polish
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Inventário"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Português do Brasil", englishDescription:
subscribe:
subscribe_title: "Inscrever-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!"
heroes: "Mais poderosos heróis!"
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_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_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:
inventory_tab: "Inventário"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
subscribe:
subscribe_title: "Subscrever"
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!"
heroes: "Heróis mais poderosos!"
gems: "3500 gemas de bónus todos os meses!"
@ -856,8 +865,8 @@ module.exports = nativeDescription: "Português (Portugal)", englishDescription:
price: "Preço"
gems: "Gemas"
active: "Activa"
subscribed: "Subscrito"
unsubscribed: "Não Subscrito"
subscribed: "Subscrito(a)"
unsubscribed: "Não Subscrito(a)"
active_until: "Ativa Até"
cost: "Custo"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "limba română", englishDescription: "Roman
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!"

View file

@ -323,6 +323,8 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
tip_reusable_software: "Прежде, чем программное обеспечение станет повторно используемым, оно должно стать в принципе используемым."
tip_optimization_operator: "В каждом языке есть оператор оптимизации. В большинстве языков это оператор //"
tip_lines_of_code: "Измерение прогресса программирования в строках кода - это как измерять прогресс построения самолета по его весу. — Bill Gates"
tip_source_code: "Я хочу изменить мир, но они вряд ли дадут мне исходники."
tip_javascript_java: "Java к JavaScript относится так же, как кол относится к колготкам. - Chris Heilmann (перефраз.)"
game_menu:
inventory_tab: "Инвентарь"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "русский", englishDescription: "Russi
subscribe:
subscribe_title: "Подпишись"
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: "Получите больше практики с бонусными уровнями!"
heroes: "Более сильные герои!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "slovenčina", englishDescription: "Slovak",
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "slovenščina", englishDescription: "Sloven
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "српски", englishDescription: "Serbian
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Utrustning"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Svenska", englishDescription: "Swedish", tr
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "ไทย", englishDescription: "Thai", tra
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Envanter"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Türkçe", englishDescription: "Turkish", t
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "Інвентар"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Українська", englishDescription:
subscribe:
subscribe_title: "Взяти абонемент"
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 нових кожного тижня!"
heroes: "Більше могутніх героїв!"
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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "اُردُو", englishDescription: "Urdu",
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "Tiếng Việt", englishDescription: "Vietn
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
inventory_tab: "道具箱"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "简体中文", englishDescription: "Chinese
subscribe:
subscribe_title: "订阅"
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个新关卡"
heroes: "更多强大的英雄!"
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_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_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:
inventory_tab: "倉庫"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "繁体中文", englishDescription: "Chinese
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "吴语", englishDescription: "Wuu (Simplifi
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# 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_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_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:
# inventory_tab: "Inventory"
@ -369,6 +371,13 @@ module.exports = nativeDescription: "吳語", englishDescription: "Wuu (Traditio
# subscribe:
# subscribe_title: "Subscribe"
# 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!"
# heroes: "More powerful heroes!"
# gems: "3500 bonus gems every month!"

View file

@ -2,4 +2,17 @@
.start-subscription-button, .end-subscription-button
margin-bottom: 20px
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
background: #E4CF8C
height: 160px
height: auto
padding: 10px
text-align: center
color: black

View file

@ -14,6 +14,20 @@ block content
.panel-heading
if subscribed
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()
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_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_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
span(data-i18n='play_level.tip_harry') Yer a Wizard,
span= me.get('name', true)

View file

@ -2,6 +2,7 @@ RootView = require 'views/core/RootView'
template = require 'templates/account/subscription-view'
CocoCollection = require 'collections/CocoCollection'
SubscribeModal = require 'views/core/SubscribeModal'
Payment = require 'models/Payment'
module.exports = class SubscriptionView extends RootView
id: "subscription-view"
@ -10,6 +11,8 @@ module.exports = class SubscriptionView extends RootView
events:
'click .start-subscription-button': 'onClickStartSubscription'
'click .end-subscription-button': 'onClickEndSubscription'
'click .cancel-end-subscription-button': 'onClickCancelEndSubscription'
'click .confirm-end-subscription-button': 'onClickConfirmEndSubscription'
subscriptions:
'subscribe-modal:subscribed': 'onSubscribed'
@ -20,6 +23,8 @@ module.exports = class SubscriptionView extends RootView
options = { url: "/db/user/#{me.id}/stripe" }
options.success = (@stripeInfo) =>
@supermodel.addRequestResource('payment_info', options).load()
@payments = new CocoCollection([], { url: '/db/payment', model: Payment, comparator:'_id' })
@supermodel.loadCollection(@payments, 'payments')
getRenderData: ->
c = super()
@ -33,6 +38,10 @@ module.exports = class SubscriptionView extends RootView
c.cost = "$#{(subscription.plan.amount/100).toFixed(2)}"
if card = @stripeInfo.cards?.data?[0]
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.subscribed = me.get('stripe')?.planID
@ -47,8 +56,26 @@ module.exports = class SubscriptionView extends RootView
document.location.reload()
onClickEndSubscription: (e) ->
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()
window.tracker?.trackEvent 'Unsubscribe Start', {}
@$el.find('.end-subscription-button').blur().addClass 'disabled', 250
@$el.find('.unsubscribe-feedback').show(500).find('textarea').focus()
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 (%)'
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[day.created] = 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.day] = true for day in @analytics.levelHelps.data if @analytics?.levelHelps?.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] = true for day in @analytics.levelPlaytimes.data if @analytics?.levelPlaytimes?.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
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
dayStartedMap = {}
@ -126,17 +136,14 @@ module.exports = class CampaignLevelView extends CocoView
pointID: "#{completionLineID}#{i}"
values: ["Started: #{day.started}", "Finished: #{day.finished}", "Completion rate: #{rate.toFixed(2)}%"]
# Ensure points for each day
if levelPoints.length < days.length
for i in [1..days.length - levelPoints.length]
day = days[days.length - i]
x = levelPoints[levelPoints.length - 1].x + 1
levelPoints.push
x: x
for day, i in days
if levelPoints.length <= i or levelPoints[i].day isnt day
levelPoints.splice i, 0,
y: 0.0
started: 0
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{completionLineID}#{x}"
day: day
values: []
levelPoints[i].x = i
levelPoints[i].pointID = "#{completionLineID}#{i}"
@analytics.graphs[0].lines.push
lineID: completionLineID
enabled: true
@ -159,17 +166,14 @@ module.exports = class CampaignLevelView extends CocoView
pointID: "#{playtimeLineID}#{i}"
values: ["Average playtime: #{avg.toFixed(2)}s"]
# Ensure points for each day
if playtimePoints.length < days.length
for i in [1..days.length - playtimePoints.length]
day = days[days.length - i]
x = playtimePoints[playtimePoints.length - 1].x + 1
playtimePoints.push
x: x
for day, i in days
if playtimePoints.length <= i or playtimePoints[i].day isnt day
playtimePoints.splice i, 0,
y: 0.0
started: 0
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{completionLineID}#{x}"
day: day
values: []
playtimePoints[i].x = i
playtimePoints[i].pointID = "#{playtimeLineID}#{i}"
@analytics.graphs[0].lines.push
lineID: playtimeLineID
enabled: true
@ -187,7 +191,7 @@ module.exports = class CampaignLevelView extends CocoView
for day, i in @analytics.levelHelps.data
helpCount = day.alertHelps + day.paletteHelps
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
helpPoints.push
x: i
@ -202,36 +206,30 @@ module.exports = class CampaignLevelView extends CocoView
pointID: "#{videosLineID}#{i}"
values: ["Help videos started: #{day.videoStarts}", "Help videos start rate: #{videoRate.toFixed(2)}%"]
# Ensure points for each day
if helpPoints.length < days.length
for i in [1..days.length - helpPoints.length]
day = days[days.length - i]
x = helpPoints[helpPoints.length - 1].x + 1
helpPoints.push
x: x
for day, i in days
if helpPoints.length <= i or helpPoints[i].day isnt day
helpPoints.splice i, 0,
y: 0.0
started: 0
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{helpsLineID}#{x}"
day: day
values: []
if videoPoints.length < days.length
for i in [1..days.length - videoPoints.length]
day = days[days.length - i]
x = videoPoints[videoPoints.length - 1].x + 1
helpPoints.push
x: x
helpPoints[i].x = i
helpPoints[i].pointID = "#{helpsLineID}#{i}"
if videoPoints.length <= i or videoPoints[i].day isnt day
videoPoints.splice i, 0,
y: 0.0
started: 0
day: "#{day[0..3]}-#{day[4..5]}-#{day[6..7]}"
pointID: "#{videosLineID}#{x}"
day: day
values: []
@analytics.graphs[0].lines.push
lineID: helpsLineID
enabled: true
points: helpPoints
description: lineMetadata[helpsLineID].description
lineColor: lineMetadata[helpsLineID].color
min: 0
max: 100.0
videoPoints[i].x = i
videoPoints[i].pointID = "#{videosLineID}#{i}"
if d3.max(helpPoints, (d) -> d.y) > 0
@analytics.graphs[0].lines.push
lineID: helpsLineID
enabled: true
points: helpPoints
description: lineMetadata[helpsLineID].description
lineColor: lineMetadata[helpsLineID].color
min: 0
max: 100.0
if d3.max(videoPoints, (d) -> d.y) > 0
@analytics.graphs[0].lines.push
lineID: videosLineID
@ -336,7 +334,7 @@ module.exports = class CampaignLevelView extends CocoView
.attr("transform", "translate(" + (margin + yAxisWidth * graphLineCount) + "," + margin + ")")
.attr("cx", (d) -> xRange(d.x))
.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("stroke-width", 1)
.attr("class", "graph-point")
@ -412,7 +410,7 @@ module.exports = class CampaignLevelView extends CocoView
# console.log 'getLevelCompletions', data
data.sort (a, b) -> if a.created < b.created then -1 else 1
mapFn = (item) ->
item.rate = item.finished / item.started * 100
item.rate = if item.started > 0 then item.finished / item.started * 100 else 0
item
@analytics.levelCompletions.data = _.map data, mapFn, @
doneCallback()

View file

@ -343,7 +343,7 @@ module.exports = class ThangComponentsEditView extends CocoView
componentSystems = (c.get('system') for c in componentModels when c)
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."
noty({
text: s,

View file

@ -31,7 +31,7 @@ function basicDependenciesErrorHandling {
exit 1
;;
"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
}

View file

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

View file

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

View file

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

View file

@ -38,4 +38,3 @@ class Downloader:
else:
stringToDisplay = '\r File size unknown. Read {0} bytes.'.format(amount_of_data_downloaded_so_far)
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("")
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("Go to http://localhost:3000 to see your local CodeCombat in action!")
def cleanup(self):
@ -145,7 +145,7 @@ class LinuxSetup(SetupFactory):
exit(1)
else:
print("NodeJS and MongoDB installed successfully. "
"Staring MongoDB.")
"Starting MongoDB.")
#try:
#subprocess.check_call(["service", "mongod", "start"])
#except subprocess.CalledProcessError as err:
@ -169,4 +169,3 @@ class LinuxSetup(SetupFactory):
return()
else:
exit(1)

View file

@ -105,5 +105,3 @@ class MacMongoDBDownloader(MongoDBDownloader):
@property
def download_url(self):
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)
wants_to_upgrade = True
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
print(warning_string)
#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"
else:
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
if not self.checkIfCurlExecutableExists():
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":
raise errors.CoCoError("Curl is missing. Please install the Xcode command line tools.")
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.")
if __name__ == u"__main__":
print("Code Combat Development Environment Setup Script")
print("CodeCombat Development Environment Setup Script")
check_if_root()
setup = factories.constructSetup()
setup.setup()

View file

@ -15,6 +15,22 @@ AchievementSchema = new mongoose.Schema({
userField: String
}, {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 = ->
try
@set('query', JSON.parse(@get('query'))) if typeof @get('query') == 'string'

View file

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

View file

@ -7,4 +7,7 @@ AnalyticsUsersActiveSchema = new mongoose.Schema({
'default': Date.now
}, {strict: false})
AnalyticsUsersActiveSchema.index({created: 1})
AnalyticsUsersActiveSchema.index({creator: 1})
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.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.VersionedPlugin)
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.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.TranslationCoveragePlugin)

View file

@ -6,6 +6,32 @@ LevelSchema = new mongoose.Schema({
description: String
}, {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.PermissionsPlugin)
LevelSchema.plugin(plugins.VersionedPlugin)

View file

@ -7,6 +7,32 @@ LevelComponentSchema = new mongoose.Schema {
system: String
}, {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.PermissionsPlugin
LevelComponentSchema.plugin plugins.VersionedPlugin

View file

@ -10,4 +10,7 @@ LevelFeedbackSchema = new mongoose.Schema({
'default': Date.now
}, {strict: false})
LevelFeedbackSchema.index({created: 1})
LevelFeedbackSchema.index({creator: 1})
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: This is very similar to getLevelCompletionsBySlugs(), time to generalize analytics APIs?
# TODO: exclude admin data
levelSlugs = req.query.slugs or req.body.slugs
startDay = req.query.startDay or req.body.startDay
endDay = req.query.endDay or req.body.endDay

View file

@ -11,6 +11,20 @@ LevelSessionSchema = new mongoose.Schema({
type: Date
'default': Date.now
}, {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(AchievablePlugin)
@ -23,7 +37,7 @@ LevelSessionSchema.post 'init', (doc) ->
LevelSessionSchema.pre 'save', (next) ->
User = require '../../users/User' # Avoid mutual inclusion cycles
@set('changed', new Date().toISOString())
@set('changed', new Date())
id = @get('id')
initd = id of previous

View file

@ -6,6 +6,32 @@ LevelSystemSchema = new mongoose.Schema {
description: String
}, {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.PermissionsPlugin)
LevelSystemSchema.plugin(plugins.VersionedPlugin)

View file

@ -5,6 +5,32 @@ ThangTypeSchema = new mongoose.Schema({
body: String,
}, {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.VersionedPlugin
ThangTypeSchema.plugin plugins.SearchablePlugin, {searchable: ['name']}

View file

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

View file

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

View file

@ -59,8 +59,6 @@ createMailContext = (req, done) ->
async.waterfall [
fetchRecentSessions.bind undefined, user, context
# 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) ->
console.error "Error getting contact message context for #{sender}: #{err}" if err
if req.body.screenshotURL

View file

@ -19,6 +19,17 @@ UserSchema = new mongoose.Schema({
'default': Date.now
}, {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', ->
@set('anonymous', false) if @get('email')
)
@ -266,9 +277,6 @@ UserSchema.statics.editableProperties = [
]
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)

View file

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