This commit is contained in:
George Saines 2014-04-11 14:51:25 -07:00
commit 96f4f1a3d2
15 changed files with 2836 additions and 2796 deletions
app
bower.json
scripts/windows/coco-dev-setup/batch

View file

@ -42,6 +42,9 @@ module.exports = class Thang
setGoalState: (goalID, status) -> setGoalState: (goalID, status) ->
@world.setGoalState goalID, status @world.setGoalState goalID, status
getThangByID: (id) ->
@world.getThangByID id
addComponents: (components...) -> addComponents: (components...) ->
# We don't need to keep the components around after attaching them, but we will keep their initial config for recreating Thangs # We don't need to keep the components around after attaching them, but we will keep their initial config for recreating Thangs
@components ?= [] @components ?= []

View file

@ -1,4 +1,4 @@
module.exports = nativeDescription: "English", englishDescription: "English", translation: module.exports = nativeDescription: "English", englishDescription: "English", translation:
common: common:
loading: "Loading..." loading: "Loading..."
saving: "Saving..." saving: "Saving..."
@ -75,6 +75,7 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
creating: "Creating Account..." creating: "Creating Account..."
sign_up: "Sign Up" sign_up: "Sign Up"
log_in: "log in with password" log_in: "log in with password"
social_signup: "Or, you can sign up through Facebook or G+:"
home: home:
slogan: "Learn to Code JavaScript by Playing a Game" slogan: "Learn to Code JavaScript by Playing a Game"
@ -151,7 +152,6 @@ module.exports = nativeDescription: "English", englishDescription: "English", tr
wizard_tab: "Wizard" wizard_tab: "Wizard"
password_tab: "Password" password_tab: "Password"
emails_tab: "Emails" emails_tab: "Emails"
job_profile_tab: "Job Profile"
admin: "Admin" admin: "Admin"
wizard_color: "Wizard Clothes Color" wizard_color: "Wizard Clothes Color"
new_password: "New Password" new_password: "New Password"

View file

@ -1,4 +1,4 @@
module.exports = nativeDescription: "Nederlands (België)", englishDescription: "Dutch (Belgium)", translation: module.exports = nativeDescription: "Nederlands (België)", englishDescription: "Dutch (Belgium)", translation:
common: common:
loading: "Aan het laden..." loading: "Aan het laden..."
saving: "Opslaan..." saving: "Opslaan..."
@ -13,7 +13,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
manual: "Handleiding" manual: "Handleiding"
fork: "Fork" fork: "Fork"
play: "Spelen" play: "Spelen"
# retry: "Retry" retry: "Probeer opnieuw"
units: units:
second: "seconde" second: "seconde"
@ -31,7 +31,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
page_not_found: "Pagina niet gevonden" page_not_found: "Pagina niet gevonden"
nav: nav:
play: "Spelen" play: "Levels"
editor: "Editor" editor: "Editor"
blog: "Blog" blog: "Blog"
forum: "Forum" forum: "Forum"
@ -151,7 +151,6 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
wizard_tab: "Tovenaar" wizard_tab: "Tovenaar"
password_tab: "Wachtwoord" password_tab: "Wachtwoord"
emails_tab: "Emails" emails_tab: "Emails"
# job_profile_tab: "Job Profile"
admin: "Administrator" admin: "Administrator"
wizard_color: "Tovenaar Kleding Kleur" wizard_color: "Tovenaar Kleding Kleur"
new_password: "Nieuw Wachtwoord" new_password: "Nieuw Wachtwoord"
@ -288,8 +287,8 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda"
tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma."
tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay"
time_current: "Nu:" time_current: "Nu:"
time_total: "Maximum:" time_total: "Maximum:"
time_goto: "Ga naar:" time_goto: "Ga naar:"
@ -361,7 +360,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
thang_search_title: "Zoek Thang Types Hier" thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier" level_search_title: "Zoek Levels Hier"
# signup_to_create: "Sign Up to Create a New Content" # signup_to_create: "Sign Up to Create a New Content"
# read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator."
article: article:
edit_btn_preview: "Voorbeeld" edit_btn_preview: "Voorbeeld"
@ -628,7 +627,7 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
introducing_dungeon_arena: "Introductie van Dungeon Arena" introducing_dungeon_arena: "Introductie van Dungeon Arena"
new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code."
to_battle: "Naar het slagveld, ontwikkelaars!" to_battle: "Naar het slagveld, ontwikkelaars!"
modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots."
arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er."
ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs"
fork_our_arenas: "onze arenas forken" fork_our_arenas: "onze arenas forken"
@ -638,28 +637,28 @@ module.exports = nativeDescription: "Nederlands (België)", englishDescription:
new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne."
so_ready: "Ik ben hier zo klaar voor" so_ready: "Ik ben hier zo klaar voor"
# loading_error: loading_error:
# could_not_load: "Error loading from server" could_not_load: "Fout bij het laden van de server"
# connection_failure: "Connection failed." connection_failure: "Verbinding mislukt."
# unauthorized: "You need to be signed in. Do you have cookies disabled?" unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?"
# forbidden: "You do not have the permissions." forbidden: "Je hebt hier geen toestemming voor."
# not_found: "Not found." not_found: "Niet gevonden."
# not_allowed: "Method not allowed." not_allowed: "Methode niet toegestaan."
# timeout: "Server timeout." timeout: "Server timeout."
# conflict: "Resource conflict." conflict: "Conflict van resources"
# bad_input: "Bad input." bad_input: "Slechte input."
# server_error: "Server error." server_error: "Fout van de server."
# unknown: "Unknown error." unknown: "Onbekende fout."
# resources: resources:
# your_sessions: "Your Sessions" your_sessions: "Jouw sessies."
# level: "Level" level: "Level"
# social_network_apis: "Social Network APIs" social_network_apis: "Sociale netwerk APIs"
# facebook_status: "Facebook Status" facebook_status: "Facebook Status"
# facebook_friends: "Facebook Friends" facebook_friends: "Facebook vrienden"
# facebook_friend_sessions: "Facebook Friend Sessions" facebook_friend_sessions: "Sessies van Facebook vrienden"
# gplus_friends: "G+ Friends" gplus_friends: "G+ vrienden"
# gplus_friend_sessions: "G+ Friend Sessions" gplus_friend_sessions: "Sessies van G+ vrienden"
# leaderboard: "Leaderboard" leaderboard: "Scorebord"
# user_schema: "User Schema" # user_schema: "User Schema"
# user_profile: "User Profile" # user_profile: "User Profile"

View file

@ -1,4 +1,4 @@
module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation: module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription: "Dutch (Netherlands)", translation:
common: common:
loading: "Aan het laden..." loading: "Aan het laden..."
saving: "Opslaan..." saving: "Opslaan..."
@ -13,7 +13,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
manual: "Handleiding" manual: "Handleiding"
fork: "Fork" fork: "Fork"
play: "Spelen" play: "Spelen"
# retry: "Retry" retry: "Probeer opnieuw"
units: units:
second: "seconde" second: "seconde"
@ -31,7 +31,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
page_not_found: "Pagina niet gevonden" page_not_found: "Pagina niet gevonden"
nav: nav:
play: "Spelen" play: "Levels"
editor: "Editor" editor: "Editor"
blog: "Blog" blog: "Blog"
forum: "Forum" forum: "Forum"
@ -151,7 +151,6 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
wizard_tab: "Tovenaar" wizard_tab: "Tovenaar"
password_tab: "Wachtwoord" password_tab: "Wachtwoord"
emails_tab: "Emails" emails_tab: "Emails"
# job_profile_tab: "Job Profile"
admin: "Administrator" admin: "Administrator"
wizard_color: "Tovenaar Kleding Kleur" wizard_color: "Tovenaar Kleding Kleur"
new_password: "Nieuw Wachtwoord" new_password: "Nieuw Wachtwoord"
@ -288,8 +287,8 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda"
tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma."
tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay"
time_current: "Nu:" time_current: "Nu:"
time_total: "Maximum:" time_total: "Maximum:"
time_goto: "Ga naar:" time_goto: "Ga naar:"
@ -361,7 +360,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
thang_search_title: "Zoek Thang Types Hier" thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier" level_search_title: "Zoek Levels Hier"
# signup_to_create: "Sign Up to Create a New Content" # signup_to_create: "Sign Up to Create a New Content"
# read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." # read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator."
article: article:
edit_btn_preview: "Voorbeeld" edit_btn_preview: "Voorbeeld"
@ -628,7 +627,7 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
introducing_dungeon_arena: "Introductie van Dungeon Arena" introducing_dungeon_arena: "Introductie van Dungeon Arena"
new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code."
to_battle: "Naar het slagveld, ontwikkelaars!" to_battle: "Naar het slagveld, ontwikkelaars!"
modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots."
arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er."
ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs"
fork_our_arenas: "onze arenas forken" fork_our_arenas: "onze arenas forken"
@ -638,28 +637,28 @@ module.exports = nativeDescription: "Nederlands (Nederland)", englishDescription
new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne."
so_ready: "Ik ben hier zo klaar voor" so_ready: "Ik ben hier zo klaar voor"
# loading_error: loading_error:
# could_not_load: "Error loading from server" could_not_load: "Fout bij het laden van de server"
# connection_failure: "Connection failed." connection_failure: "Verbinding mislukt."
# unauthorized: "You need to be signed in. Do you have cookies disabled?" unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?"
# forbidden: "You do not have the permissions." forbidden: "Je hebt hier geen toestemming voor."
# not_found: "Not found." not_found: "Niet gevonden."
# not_allowed: "Method not allowed." not_allowed: "Methode niet toegestaan."
# timeout: "Server timeout." timeout: "Server timeout."
# conflict: "Resource conflict." conflict: "Conflict van resources"
# bad_input: "Bad input." bad_input: "Slechte input."
# server_error: "Server error." server_error: "Fout van de server."
# unknown: "Unknown error." unknown: "Onbekende fout."
# resources: resources:
# your_sessions: "Your Sessions" your_sessions: "Jouw sessies."
# level: "Level" level: "Level"
# social_network_apis: "Social Network APIs" social_network_apis: "Sociale netwerk APIs"
# facebook_status: "Facebook Status" facebook_status: "Facebook Status"
# facebook_friends: "Facebook Friends" facebook_friends: "Facebook vrienden"
# facebook_friend_sessions: "Facebook Friend Sessions" facebook_friend_sessions: "Sessies van Facebook vrienden"
# gplus_friends: "G+ Friends" gplus_friends: "G+ vrienden"
# gplus_friend_sessions: "G+ Friend Sessions" gplus_friend_sessions: "Sessies van G+ vrienden"
# leaderboard: "Leaderboard" leaderboard: "Scorebord"
# user_schema: "User Schema" # user_schema: "User Schema"
# user_profile: "User Profile" # user_profile: "User Profile"

View file

@ -13,7 +13,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
manual: "Handleiding" manual: "Handleiding"
fork: "Fork" fork: "Fork"
play: "Spelen" play: "Spelen"
# retry: "Retry" retry: "Probeer opnieuw"
units: units:
second: "seconde" second: "seconde"
@ -31,7 +31,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
page_not_found: "Pagina niet gevonden" page_not_found: "Pagina niet gevonden"
nav: nav:
play: "Spelen" play: "Levels"
editor: "Editor" editor: "Editor"
blog: "Blog" blog: "Blog"
forum: "Forum" forum: "Forum"
@ -151,7 +151,6 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
wizard_tab: "Tovenaar" wizard_tab: "Tovenaar"
password_tab: "Wachtwoord" password_tab: "Wachtwoord"
emails_tab: "Emails" emails_tab: "Emails"
# job_profile_tab: "Job Profile"
admin: "Administrator" admin: "Administrator"
wizard_color: "Tovenaar Kleding Kleur" wizard_color: "Tovenaar Kleding Kleur"
new_password: "Nieuw Wachtwoord" new_password: "Nieuw Wachtwoord"
@ -288,8 +287,8 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda" tip_patience: "Geduld moet je hebben, jonge Padawan. - Yoda"
tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma." tip_documented_bug: "Een gedocumenteerde fout is geen fout; het is deel van het programma."
tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela" tip_impossible: "Het lijkt altijd onmogelijk tot het gedaan wordt. - Nelson Mandela"
# tip_talk_is_cheap: "Talk is cheap. Show me the code. - Linus Torvalds" tip_talk_is_cheap: "Je kunt het goed uitleggen, maar toon me de code. - Linus Torvalds"
# tip_first_language: "The most disastrous thing that you can ever learn is your first programming language. - Alan Kay" tip_first_language: "Het ergste dat je kan leren is je eerste programmeertaal. - Alan Kay"
time_current: "Nu:" time_current: "Nu:"
time_total: "Maximum:" time_total: "Maximum:"
time_goto: "Ga naar:" time_goto: "Ga naar:"
@ -361,7 +360,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
thang_search_title: "Zoek Thang Types Hier" thang_search_title: "Zoek Thang Types Hier"
level_search_title: "Zoek Levels Hier" level_search_title: "Zoek Levels Hier"
# signup_to_create: "Sign Up to Create a New Content" # signup_to_create: "Sign Up to Create a New Content"
# read_only_warning: "Note: you can't save any edits here, because you're not logged in as an admin." read_only_warning: "Herinnering: Je kunt hier geen aanpassingen opslaan, want je bent niet ingelogd als administrator."
article: article:
edit_btn_preview: "Voorbeeld" edit_btn_preview: "Voorbeeld"
@ -628,7 +627,7 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
introducing_dungeon_arena: "Introductie van Dungeon Arena" introducing_dungeon_arena: "Introductie van Dungeon Arena"
new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code." new_way: "17 maart, 2014: De nieuwe manier om te concurreren met code."
to_battle: "Naar het slagveld, ontwikkelaars!" to_battle: "Naar het slagveld, ontwikkelaars!"
modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een modere tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots." modern_day_sorcerer: "Kan jij programmeren? Dat is pas stoer. Jij bent een moderne tovenaar! Is het niet tijd dat je jouw magische krachten gebruikt voor het besturen van jou minions in het slagveld? En nee, we praten hier niet over robots."
arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er." arenas_are_here: "CodeCombat's kop aan kop multiplayer arena's zijn er."
ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs" ladder_explanation: "Kies jouw helden, betover jouw mensen of ogre legers, en beklim jouw weg naar de top in de ladder, door het verslagen van vriend en vijand. Daag nu je vrienden uit in de multiplayer programmeer arena's en verdien eeuwige roem. Indien je creatief bent, kan je zelfs"
fork_our_arenas: "onze arenas forken" fork_our_arenas: "onze arenas forken"
@ -638,28 +637,28 @@ module.exports = nativeDescription: "Nederlands", englishDescription: "Dutch", t
new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne." new_to_programming: ". Ben je net begonnen met programmeren? Speel dan eerst onze beginners campagne."
so_ready: "Ik ben hier zo klaar voor" so_ready: "Ik ben hier zo klaar voor"
# loading_error: loading_error:
# could_not_load: "Error loading from server" could_not_load: "Fout bij het laden van de server"
# connection_failure: "Connection failed." connection_failure: "Verbinding mislukt."
# unauthorized: "You need to be signed in. Do you have cookies disabled?" unauthorized: "Je moet ingelogd zijn. Heb je de cookies uitgeschakeld?"
# forbidden: "You do not have the permissions." forbidden: "Je hebt hier geen toestemming voor."
# not_found: "Not found." not_found: "Niet gevonden."
# not_allowed: "Method not allowed." not_allowed: "Methode niet toegestaan."
# timeout: "Server timeout." timeout: "Server timeout."
# conflict: "Resource conflict." conflict: "Conflict van resources"
# bad_input: "Bad input." bad_input: "Slechte input."
# server_error: "Server error." server_error: "Fout van de server."
# unknown: "Unknown error." unknown: "Onbekende fout."
# resources: resources:
# your_sessions: "Your Sessions" your_sessions: "Jouw sessies."
# level: "Level" level: "Level"
# social_network_apis: "Social Network APIs" social_network_apis: "Sociale netwerk APIs"
# facebook_status: "Facebook Status" facebook_status: "Facebook Status"
# facebook_friends: "Facebook Friends" facebook_friends: "Facebook vrienden"
# facebook_friend_sessions: "Facebook Friend Sessions" facebook_friend_sessions: "Sessies van Facebook vrienden"
# gplus_friends: "G+ Friends" gplus_friends: "G+ vrienden"
# gplus_friend_sessions: "G+ Friend Sessions" gplus_friend_sessions: "Sessies van G+ vrienden"
# leaderboard: "Leaderboard" leaderboard: "Scorebord"
# user_schema: "User Schema" # user_schema: "User Schema"
# user_profile: "User Profile" # user_profile: "User Profile"

View file

@ -10,3 +10,16 @@
a[data-toggle="coco-modal"] a[data-toggle="coco-modal"]
cursor: pointer cursor: pointer
#signup-modal
.modal-footer
padding-top: 0
div
text-align: center
.social-login-text
padding-top: 20px
.network-logins
width: 263px
margin: 0 auto
div:last-of-type
margin-right: 0px

View file

@ -30,5 +30,14 @@ block modal-body-content
block modal-body-wait-content block modal-body-wait-content
h3(data-i18n="signup.creating") Creating Account... h3(data-i18n="signup.creating") Creating Account...
block modal-footer-content block modal-footer
.modal-footer
div
button.btn.btn-primary.btn-large#signup-button(data-i18n="signup.sign_up") Sign Up button.btn.btn-primary.btn-large#signup-button(data-i18n="signup.sign_up") Sign Up
div.social-login-text(data-i18n="signup.social_signup") Or, you can sign up through Facebook or G+:
.modal-footer.network-logins
div
.fb-login-button(data-show-faces="false", data-width="200", data-max-rows="1", data-scope="email")
div
.gplus-login-button#gplus-login-button

View file

@ -62,3 +62,7 @@ module.exports = class SignupModalView extends View
window.tracker?.trackEvent 'Finished Signup' window.tracker?.trackEvent 'Finished Signup'
@enableModalInProgress(@$el) @enableModalInProgress(@$el)
createUser userObject, null, window.nextLevelURL createUser userObject, null, window.nextLevelURL
afterInsert: ->
super()
application.router.renderLoginButtons()

View file

@ -151,7 +151,7 @@ module.exports = class PlaybackView extends View
@newTime = 0 @newTime = 0
@currentTime = 0 @currentTime = 0
@timePopup = new HoverPopup unless @timePopup? @timePopup ?= new HoverPopup
#TODO: Why do we need defaultValues here at all? Fallback language has been set to 'en'... oO #TODO: Why do we need defaultValues here at all? Fallback language has been set to 'en'... oO
@ -192,7 +192,7 @@ module.exports = class PlaybackView extends View
@$progressScrubber.slider('disable', true) @$progressScrubber.slider('disable', true)
catch e catch e
#console.warn('error disabling scrubber') #console.warn('error disabling scrubber')
@timePopup.disable() @timePopup?.disable()
$('#volume-button', @$el).removeClass('disabled') $('#volume-button', @$el).removeClass('disabled')
onEnableControls: (e) -> onEnableControls: (e) ->
@ -203,7 +203,7 @@ module.exports = class PlaybackView extends View
@$progressScrubber.slider('enable', true) @$progressScrubber.slider('enable', true)
catch e catch e
#console.warn('error enabling scrubber') #console.warn('error enabling scrubber')
@timePopup.enable() @timePopup?.enable()
onSetPlaying: (e) -> onSetPlaying: (e) ->
@playing = (e ? {}).playing ? true @playing = (e ? {}).playing ? true
@ -242,21 +242,21 @@ module.exports = class PlaybackView extends View
@lastProgress = e.progress @lastProgress = e.progress
onProgressEnter: (e) -> onProgressEnter: (e) ->
#Why it needs itself as parameter you ask? Ask Twitter instead.. # Why it needs itself as parameter you ask? Ask Twitter instead.
@timePopup.enter @timePopup @timePopup?.enter @timePopup
onProgressLeave: (e) -> onProgressLeave: (e) ->
@timePopup.leave @timePopup @timePopup?.leave @timePopup
onProgressHover: (e) -> onProgressHover: (e) ->
timeRatio = @$progressScrubber.width() / @totalTime timeRatio = @$progressScrubber.width() / @totalTime
@newTime = e.offsetX / timeRatio @newTime = e.offsetX / timeRatio
@updatePopupContent() @updatePopupContent()
@timePopup.onHover e @timePopup?.onHover e
#Show it instantaniously if close enough to current time. # Show it instantaneously if close enough to current time.
if Math.abs(@currentTime - @newTime) < 1 and not @timePopup.shown if @timePopup and Math.abs(@currentTime - @newTime) < 1 and not @timePopup.shown
@timePopup.show() unless @timePopup.shown @timePopup.show()
updateProgress: (progress) -> updateProgress: (progress) ->
$('.scrubber .progress-bar', @$el).css('width', "#{progress*100}%") $('.scrubber .progress-bar', @$el).css('width', "#{progress*100}%")

View file

@ -39,7 +39,7 @@
"d3": "~3.4.4", "d3": "~3.4.4",
"nanoscroller": "~0.8.0", "nanoscroller": "~0.8.0",
"jquery.tablesorter": "~2.15.13", "jquery.tablesorter": "~2.15.13",
"treema": "~0.0.1", "treema": ">=0.0.1",
"bootstrap": "~3.1.1", "bootstrap": "~3.1.1",
"validated-backbone-mediator": "~0.1.3" "validated-backbone-mediator": "~0.1.3"
}, },

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1" ?> <?xml version="1.0" encoding="ISO-8859-1" ?>
<variables> <variables>
<version>3.3</version> <version>3.4</version>
<author>GlenDC</author> <author>GlenDC</author>
<copyright>CodeCombat.com © 2013-2014</copyright> <copyright>CodeCombat.com © 2013-2014</copyright>
<github_url>https://github.com/codecombat/codecombat.git</github_url> <github_url>https://github.com/codecombat/codecombat.git</github_url>

View file

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<variables>
<global>
<native>français</native>
<description>French</description>
<intro>From now on we'll send our feedback in English!</intro>
</global>
<install>
<system>
<bit>-bit computer detected.</bit>
<prefix>The operating system</prefix>
<sufix>was detected.</sufix>
<xp>We don't support Windows XP, installation cancelled.</xp>
</system>
<process>
<sks>Have you already installed all the software needed for CodeCombat?</sks>
<skq>We recommand that you reply negative in case you're not sure.</skq>
<skc>Skipping the installation of the software...</skc>
<s1>CodeCombat couldn't be developed without third-party software.</s1>
<s2>That's why you'll need to install this software,</s2>
<s3>in order to start contributing to our community.</s3>
<s4>Cancel the installation if you already have the application.</s4>
<winpath>Make sure to select the option that adds the application to your Windows Path, if the option is available.</winpath>
<prefix>Do you already have the latest version of</prefix>
<sufix>installed?</sufix>
<downloading>is downloading...</downloading>
<installing>is installing...</installing>
<unzipping>is unzipping...</unzipping>
<cleaning>is cleaning...</cleaning>
<mongodbpath>Please define the full path where mongodb should be installed</mongodbpath>
</process>
</install>
<github>
<intro>
<opensource>CodeCombat is opensource, like you already know.</opensource>
<online>All our sourcecode can be found online at Github.</online>
<manual>You can choose to do the entire Git setup yourself.</manual>
<norec>However we recommend that you instead let us handle it instead.</norec>
</intro>
<skip>
<question>Do you want to do the Local Git setup manually yourself?</question>
<consequence>Make sure you have correctly setup your repository before processing.</consequence>
<donotclose>Do not close this window please.</donotclose>
<wait>When you're ready, press any key to continue...</wait>
</skip>
<process>
<path>Please give the full path of your CodeCombat git repository: </path>
<checkout>Please enter the full path where you want to install your CodeCombat environment</checkout>
<bashi>This installation requires Git Bash.</bashi>
<bashp64>Git bash is by default installed at 'C:\Program Files (x86)\Git'.</bashp64>
<bashp32>Git bash is by default installed at 'C:\Program Files\Git'.</bashp32>
<bashq>Please enter the full path where git bash is installed or just press enter if it's in the default location</bashq>
<ssh>Do you want to checkout the repository via ssh?</ssh>
</process>
</github>
<switch>
<install>The installation of your local environment was succesfull!</install>
<close>You can now close this setup.</close>
<open>After that, you should open the configuration setup to automaticly configure your environment...</open>
</switch>
<npm>
<install>Installing bower, brunch, nodemon and sendwithus...</install>
<binstall>Installing bower packages...</binstall>
<sass>Installing sass...</sass>
<npm>Installing npm...</npm>
<brnch>Starting brunch....</brnch>
<mongodb>Setting up a MongoDB database for you...</mongodb>
<db>Downloading the last version of the CodeCombat database...</db>
<script>Preparing the automatic startup script for you...</script>
<close>Don't close!</close>
</npm>
<error>
<path>That path already exists, are you sure you want to overwrite it?</path>
<exist>That path doesn't exist. Please try again...</exist>
</error>
<end>
<succesfull>The setup of the CodeCombat Dev. Environment was succesfull.</succesfull>
<thankyou>Thank you already for your contribution and see you soon.</thankyou>
<readme>Do you want to read the README for more information?</readme>
</end>
<start>
<s1>From now on you can start the dev. environment at</s1>
<s2>the touch of a single mouse click.</s2>
<s3> 1) Just double click</s3>
<s4> and let the environment start up.</s4>
<s5> 2) Now just open 'localhost:3000' in your prefered browser.</s5>
<s6>That's it, you're now ready to start working on CodeCombat!</s6>
</start>
</variables>

View file

@ -1,6 +1,6 @@
en en
ru
nl nl
de de
fr
zh-HANT zh-HANT
zh-HANS zh-HANS

View file

@ -8,65 +8,72 @@
<install> <install>
<system> <system>
<bit>-bit computer gedetecteerd.</bit> <bit>-bit computer gedetecteerd.</bit>
<prefix>Het besturingsysteem</prefix> <prefix>Het besturingssysteem</prefix>
<sufix>is gedetecteerd.</sufix> <sufix>is gedetecteerd.</sufix>
<xp>Wij ondersteunen Windows XP niet, installatie geanulleerd.</xp> <xp>Wij ondersteunen Windows XP niet, installatie geannuleerd.</xp>
</system> </system>
<process> <process>
<sks>Heb je alle benodige software al geinstalleerd?</sks> <sks>Heb je alle benodige software al geïnstalleerd?</sks>
<skq>We raden aan dat je negatief antwoord indien je niet zeker bent.</skq> <skq>We raden aan dat je negatief antwoord indien je niet zeker bent.</skq>
<skc>De installatie van software wordt geanulleerd...</skc> <skc>De installatie van software wordt geannuleerd...</skc>
<s1>CodeCombat kon niet worden ontwikkeld zonder third-party software.</s1> <s1>CodeCombat kon niet worden ontwikkeld zonder third-party software.</s1>
<s2>Dat is waarom je deze software moet installeren,</s2> <s2>Dat is waarom je deze software moet installeren,</s2>
<s3>zodat je je kan beginnen met het bijdragen tot onze gemeenschap.</s3> <s3>zodat je kan beginnen met het bijdragen tot onze gemeenschap.</s3>
<s4>Annuleer de installatie als je de applicatie al hebt.</s4> <s4>Annuleer de installatie als je de applicatie al hebt.</s4>
<winpath>Zorg er zeker voor dat je de optie selecteert dat de applicatie aan je Windows Path toevoegt, als de optie beschikbaar is.</winpath> <winpath>Zorg er zeker voor dat je de optie selecteert die de applicatie aan je Windows Path toevoegt, als deze optie beschikbaar is.</winpath>
<prefix>Heb je al de laatste versie van</prefix> <prefix>Heb je al de laatste versie van</prefix>
<sufix>geinstalleerd?</sufix> <sufix>geïnstalleerd?</sufix>
<downloading>is aan het downloaden...</downloading> <downloading>is aan het downloaden...</downloading>
<installing>is aan het installeren...</installing> <installing>is aan het installeren...</installing>
<unzipping>is aan het uitpakken...</unzipping> <unzipping>is aan het uitpakken...</unzipping>
<cleaning>is aan het opkuisen...</cleaning> <cleaning>is aan het opkuisen...</cleaning>
<mongodbpath>Geef het volledige pad op, waar mongodb mag worden geinstalleerd</mongodbpath> <mongodbpath>Geef het volledige pad op waar mongodb mag worden geïnstalleerd</mongodbpath>
</process> </process>
</install> </install>
<github> <github>
<intro> <intro>
<opensource>CodeCombat is opensource, zoals je waarschijnlijk wel al weet.</opensource> <opensource>CodeCombat is open-source, zoals je waarschijnlijk wel al weet.</opensource>
<online>Je kan al onze sourcecode vinden op Github.</online> <online>Je kunt al onze source code vinden op Github.</online>
<manual>Indien je wil, kan je de Git setup manueel doen.</manual> <manual>Indien je wil, kan je de Git setup ook manueel doen.</manual>
<norec>Maar wij raden aan dat je ons dit automatisch laat afhandellen.</norec> <norec>Maar wij raden aan dat je ons dit automatisch laat afhandelen.</norec>
</intro> </intro>
<skip> <skip>
<question>Wil je de lokale Git setup manueel doen?</question> <question>Wil je de lokale Git setup manueel doen?</question>
<consequence>Zorg er zeker voor dat jouw git repository correct is.</consequence> <consequence>Zorg er zeker voor dat jouw git repository correct is.</consequence>
<donotclose>Sluit dit venster niet alsjeblieft.</donotclose> <donotclose>Sluit dit venster alsjeblieft niet.</donotclose>
<wait>Wanneer je klaar bent, druk dan eender welke toets om verder te gaan...</wait> <wait>Wanneer je klaar bent, druk dan op eender welke toets om verder te gaan...</wait>
</skip> </skip>
<process> <process>
<path>Geef alsjeblieft het volledige pad van je CodeCombat git repository: </path> <path>Geef alsjeblieft het volledige pad in van je CodeCombat git repository: </path>
<checkout>Geef alsjeblieft het volledige pad waar je de CodeCombat Ontwikkelings omgeving will installeren</checkout> <checkout>Geef alsjeblieft het volledige pad in waar je de CodeCombat ontwikkelingsomgeving wilt installeren</checkout>
<bashi>Deze installatie maakt gebruik van Git Bash.</bashi> <bashi>Deze installatie maakt gebruik van Git Bash.</bashi>
<bashp64>Git bash is normaal geinstalleerd in 'C:\Program Files (x86)\Git'.</bashp64> <bashp64>Git bash is normaal gezien geïnstalleerd in 'C:\Program Files (x86)\Git'.</bashp64>
<bashp32>Git bash is normaal geinstalleerd in 'C:\Program Files\Git'.</bashp32> <bashp32>Git bash is normaal gezien geïnstalleerd in 'C:\Program Files\Git'.</bashp32>
<bashq>Geef alsjeblieft het volledige pad op van Git Bash of druk gewoon op enter indien je het pad niet gewijzigd heeft</bashq> <bashq>Geef alsjeblieft het volledige pad op van Git Bash of druk gewoon op enter indien je het pad niet gewijzigd hebt.</bashq>
<ssh>Wil je het git project downloaden via ssh?</ssh> <ssh>Wil je het git project downloaden via ssh?</ssh>
</process> </process>
<config>
<intro>Je zou nu al een eigen CodeCombat-fork moeten hebben gekoppeld aan jouw GitHub account...</intro>
<info>Geef jou GitHub informatie alstublieft, zodat wij jou lokale repositorie kunnen configureren.</info>
<username>Gebruikersnaam: </username>
<password>Wachtwoord: </password>
<process>Dank u, jouw lokaal project wordt nu geconfigureerd...</process>
</config>
</github> </github>
<switch> <switch>
<install>The installation of your local environment was succesfull!</install> <install>De installatie van jouw lokale omgeving was een succes!</install>
<close>You can now close this setup.</close> <close>Je kan nu deze setup sluiten.</close>
<open>After that, you should open the configuration setup to automaticly configure your environment...</open> <open>Nadien, kan je de 'configuration' setup openen om jouw omgeving automatisch te configureren...</open>
</switch> </switch>
<npm> <npm>
<install>Installing bower, brunch, nodemon and sendwithus...</install> <install>Bezig met het installeren van bower, brunch, nodemon en sendwithus...</install>
<binstall>Installing bower packages...</binstall> <binstall>Bower packages worden geïnstalleerd...</binstall>
<sass>Installing sass...</sass> <sass>Sass wordt geïnstalleerd...</sass>
<npm>Installing npm...</npm> <npm>Npm wordt geïnstalleerd...</npm>
<brnch>Starting brunch....</brnch> <brnch>Brunch wordt gestart...</brnch>
<mongodb>Setting up a MongoDB database for you...</mongodb> <mongodb>De MongoDB database wordt voor je klaargemaakt...</mongodb>
<database>Downloading the last version of the CodeCombat database...</database> <database>De laatste versie van de CodeCombat database wordt gedownload...</database>
<script>Preparing the automatic startup script for you...</script> <script>Het automatische start-script wordt voor je klaargemaakt...</script>
<close>Niet sluiten!</close> <close>Niet sluiten!</close>
</npm> </npm>
<error> <error>
@ -74,12 +81,12 @@
<exist>Dat pad bestaat niet, probeer alsjeblieft opnieuw...</exist> <exist>Dat pad bestaat niet, probeer alsjeblieft opnieuw...</exist>
</error> </error>
<end> <end>
<succesfull>De installatie van de CodeCombat-Ontwikkelings omgeving was succesvol.</succesfull> <succesfull>De installatie van de CodeCombat ontwikkelingsomgeving was succesvol.</succesfull>
<thankyou>Alvast bedankt voor al je werk en tot binnenkort.</thankyou> <thankyou>Alvast bedankt voor al je werk en tot binnenkort.</thankyou>
<readme>Wil je de LEESMIJ lezen voor meer informatie?</readme> <readme>Wil je de LEESMIJ lezen voor meer informatie?</readme>
</end> </end>
<start> <start>
<s1>Vanaf nu kan je de ontwikkelings omgeving opstarten</s1> <s1>Vanaf nu kan je de ontwikkelingsomgeving opstarten</s1>
<s2>met het gemak van een enkele muisklik.</s2> <s2>met het gemak van een enkele muisklik.</s2>
<s3> 1) Dubbelklik op</s3> <s3> 1) Dubbelklik op</s3>
<s4>en laat de omgeving opstarten.</s4> <s4>en laat de omgeving opstarten.</s4>

View file

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<variables>
<global>
<native>русский</native>
<description>Russian</description>
<intro>C данного момента мы будем общаться на русском!</intro>
</global>
<install>
<system>
<bit>-битный компьютер обнаружен.</bit>
<prefix>Обнаружена операционная система</prefix>
<sufix>.</sufix>
<xp>Мы не поддерживаем Windows XP, установка отменена.</xp>
</system>
<process>
<sks>Вы уже установили всё программное обеспечение, необходимое для CodeCombat?</sks>
<skq>Мы рекумендуем ответить отрицательно, если вы не уверены.</skq>
<skc>Пропуск установки программного обеспечения...</skc>
<s1>CodeCombat не мог бы быть разработан без стороннего программного обеспечения.</s1>
<s2>Вот почему вы должны будете установить это программное обеспечение</s2>
<s3>для того, чтобы начать вносить вклад в наше сообщество.</s3>
<s4>Отмените установку, если у вас уже есть приложение.</s4>
<winpath>Убедитесь в выборе опции, которая добавляет приложение в Windows PATH, если опция доступна.</winpath>
<prefix>У вас уже есть последняя версия</prefix>
<sufix>?</sufix>
<downloading>загружается...</downloading>
<installing>устанавливается...</installing>
<unzipping>распаковывается...</unzipping>
<cleaning>убирается...</cleaning>
<mongodbpath>Пожалуйста, определите полный путь, куда должен быть установлен MongoDB</mongodbpath>
</process>
</install>
<github>
<intro>
<opensource>Исходный код CodeCombat открыт, как вы уже знаете.</opensource>
<online>Весь наш исходный код может быть найден онлайн в Github.</online>
<manual>Вы можете выбрать целиком самостоятельную установку Git.</manual>
<norec>Однако мы рекомендуем, вместо этого, передать управление нам.</norec>
</intro>
<skip>
<question>Вы хотите провести установку Local Git вручную самостоятельно?</question>
<consequence>Убедитесь, что вы правильно настроили репозиторий перед выполнением.</consequence>
<donotclose>Не закрывайте это окно, пожалуйста.</donotclose>
<wait>Когда вы будете готовы, нажмите любую клавишу для продолжения...</wait>
</skip>
<process>
<path>Пожалуйста, укажите полный путь до вашего CodeCombat репозитория git: </path>
<checkout>Пожалуйста, введите полный путь, куда вы хотите установить среду CodeCombat</checkout>
<bashi>Данная установка требует Git Bash.</bashi>
<bashp64>Git bash по умолчанию установлен в 'C:\Program Files (x86)\Git'.</bashp64>
<bashp32>Git bash по умолчанию установлен в 'C:\Program Files\Git'.</bashp32>
<bashq>Пожалуйста, введите полный путь, куда установлен git bash или просто нажмите Enter, если он находится в папке по умолчанию</bashq>
<ssh>Вы хотите проверять репозиторий через ssh?</ssh>
</process>
<config>
<intro>Вы должны были сделать форк CodeCombat на вашем аккаунте GitHub...</intro>
<info>Пожалуйста, введите ваши данные github, чтобы настроить локальный репозиторий.</info>
<username>Имя пользователя: </username>
<password>Пароль: </password>
<process>Спасибо... Идёт настройка вашего локального репозитория...</process>
</config>
</github>
<switch>
<install>Установка вашей локальной среды успешно завершена!</install>
<close>Теперь вы можете закрыть данный установщик.</close>
<open>После этого вы должны открыть установщик настроек для автоматической конфигурации вашей среды...</open>
</switch>
<npm>
<install>Установка bower, brunch, nodemon и sendwithus...</install>
<binstall>Установка пакетов bower...</binstall>
<sass>Установка sass...</sass>
<npm>Установка npm...</npm>
<brnch>Запуск brunch....</brnch>
<mongodb>Установка базы данных MongoDB...</mongodb>
<db>Скачивание последней версии базы данных CodeCombat...</db>
<script>Подготовка автоматического скрипта запуска для вас...</script>
<close>Не закрывайте!</close>
</npm>
<error>
<path>Этот путь уже существует, вы уверены, что хотите перезаписать его?</path>
<exist>Этот путь не существует. Пожалуйста, попробуйте ещё раз...</exist>
</error>
<end>
<succesfull>Установка среды разработчика CodeCombat успешно завершена.</succesfull>
<thankyou>Заранее спасибо за ваш вклад и до скорой встречи.</thankyou>
<readme>Вы хотите прочитать README для получения дополнительной информации?</readme>
</end>
<start>
<s1>С этого момента вы можете запускать среду разработчика</s1>
<s2>с помощью щелчка мыши.</s2>
<s3> 1) Дважды щёлкните</s3>
<s4> и дайте среде запуститься.</s4>
<s5> 2) Теперь просто откройте 'localhost:3000' в вашем любимом браузере.</s5>
<s6>Вот и всё, теперь вы готовы приступить к работе над CodeCombat!</s6>
</start>
</variables>