diff --git a/app/locale/it.coffee b/app/locale/it.coffee
index 9b69e4987..49d46c05f 100644
--- a/app/locale/it.coffee
+++ b/app/locale/it.coffee
@@ -67,21 +67,21 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
settings: "Impostazioni" # Tooltip on settings button from /play
next: "Procedi" # Go from choose hero to choose inventory before playing a level
change_hero: "Cambia eroe" # Go back from choose inventory to choose hero
-# choose_inventory: "Equip Items"
+ choose_inventory: "Dotazioni"
buy_gems: "Compra gemme"
campaign_desert: "Campagna nel Deserto"
campaign_forest: "Campagna nella Foresta"
campaign_dungeon: "Campagna nelle Segrete"
subscription_required: "E' richiesta l'iscrizione"
free: "Gratuito"
-# subscribed: "Subscribed"
+ subscribed: "Per iscritti"
older_campaigns: "Campagne precedenti"
anonymous: "Giocatore Anonimo"
level_difficulty: "Difficoltà: "
campaign_beginner: "Campagne per principianti"
-# awaiting_levels_adventurer_prefix: "We release five levels per week."
-# awaiting_levels_adventurer: "Sign up as an Adventurer"
-# awaiting_levels_adventurer_suffix: "to be the first to play new levels."
+ awaiting_levels_adventurer_prefix: "Pubblichiamo 5 livelli alla settimana."
+ awaiting_levels_adventurer: "Iscriviti come Avventuriero"
+ awaiting_levels_adventurer_suffix: "per essere tra i primi a provare i nuovi livelli."
choose_your_level: "Scegli il tuo livello" # The rest of this section is the old play view at /play-old and isn't very important.
adventurer_prefix: "Puoi entrare in qualunque livello qui sotto, o scambiare opinioni su questi livelli sul"
adventurer_forum: "forum degli Avventurieri"
@@ -151,7 +151,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
help: "Aiuto"
watch: "Segui"
unwatch: "Non seguire"
- submit_patch: "Invia Patch"
+ submit_patch: "Invia patch"
submit_changes: "Invia modifiche"
general:
@@ -182,7 +182,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# ladder: "Ladder"
when: "Quando"
opponent: "Avversario"
-# rank: "Rank"
+ rank: "Classifica"
score: "Punteggio"
win: "Vittoria"
loss: "Sconfitta"
@@ -240,24 +240,24 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
victory_rate_the_level: "Vota il livello: " # Only in old-style levels.
# victory_return_to_ladder: "Return to Ladder"
victory_play_continue: "Continua"
-# victory_saving_progress: "Saving Progress"
+ victory_saving_progress: "Salvataggio progressi"
victory_go_home: "Torna alla pagina iniziale" # Only in old-style levels.
victory_review: "Dicci di più!" # Only in old-style levels.
victory_hour_of_code_done: "Finito?"
victory_hour_of_code_done_yes: "Si, ho finito con la mia ora di programmazione!"
-# victory_experience_gained: "XP Gained"
-# victory_gems_gained: "Gems Gained"
+ victory_experience_gained: "Punti XP guadagnati"
+ victory_gems_gained: "Gemme guadagnate"
guide_title: "Guida"
tome_minion_spells: "Incantesimi dei tuoi seguaci" # Only in old-style levels.
tome_read_only_spells: "Incantesimi in sola lettura" # Only in old-style levels.
tome_other_units: "Altre unità" # Only in old-style levels.
-# tome_cast_button_run: "Run"
-# tome_cast_button_running: "Running"
+ tome_cast_button_run: "Vai"
+ tome_cast_button_running: "In esecuzione"
# tome_cast_button_ran: "Ran"
-# tome_submit_button: "Submit"
-# tome_reload_method: "Reload original code for this method" # Title text for individual method reload button.
-# tome_select_method: "Select a Method"
-# tome_see_all_methods: "See all methods you can edit" # Title text for method list selector (shown when there are multiple programmable methdos).
+ tome_submit_button: "Entra"
+ tome_reload_method: "Ricarica codice originale per questo metodo" # Title text for individual method reload button.
+ tome_select_method: "Scegli un metodo"
+ tome_see_all_methods: "Vedi tutti i metodi che puoi modificare" # Title text for method list selector (shown when there are multiple programmable methdos).
tome_select_a_thang: "Seleziona qualcuno per "
tome_available_spells: "Incantesimi disponibili"
# tome_your_skills: "Your Skills"
@@ -329,7 +329,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
inventory:
choose_inventory: "Equipaggiamento"
equipped_item: "In dotazione"
-# required_purchase_title: "Required"
+ required_purchase_title: "Necessario"
available_item: "Disponibile"
restricted_title: "Vietato"
should_equip: "(doppio clic per prendere)"
@@ -388,9 +388,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
health: "Salute"
speed: "Velocità"
regeneration: "Rigenerazione"
- range: "Campo" # As in "attack or visual range"
- blocks: "Protezioni" # As in "this shield blocks this much damage"
- backstab: "Rimbalzo" # As in "this dagger does this much backstab damage"
+ range: "campo" # As in "attack or visual range"
+ blocks: "protegge" # As in "this shield blocks this much damage"
+ backstab: "di rimbalzo" # As in "this dagger does this much backstab damage"
skills: "Abilità"
available_for_purchase: "In vendita" # Shows up when you have unlocked, but not purchased, a hero in the hero store
level_to_unlock: "Livello da sbloccare:" # Label for which level you have to beat to unlock a particular hero (click a locked hero in the store to see)
@@ -401,7 +401,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
read_only: "sola lettura"
action_name: "nome"
action_cooldown: "Richiede"
-# action_specific_cooldown: "Cooldown"
+ action_specific_cooldown: "Riposo"
action_damage: "Danni"
action_range: "Estensione"
action_radius: "Raggio"
@@ -437,7 +437,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
editor_config_livecompletion_label: "Auto-completamento immediato"
editor_config_livecompletion_description: "Mostra suggerimenti mentre si scrive."
editor_config_invisibles_label: "Mostra invisibili"
- editor_config_invisibles_description: "Displays invisibles such as spaces or tabs."
+ editor_config_invisibles_description: "Mostra caratteri invisibili come spazi e tab."
editor_config_indentguides_label: "Mostra guide di indentazione"
editor_config_indentguides_description: "Mostra righe verticali per incolonnare meglio."
editor_config_behaviors_label: "Comportamento intelligente"
@@ -506,14 +506,14 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
admin: "Amministratore"
new_password: "Nuova password"
new_password_verify: "Verifica"
- email_subscriptions: "Sottoscrizioni email"
-# email_subscriptions_none: "No Email Subscriptions."
+ email_subscriptions: "Iscrizoni alle email"
+ email_subscriptions_none: "Nessuna iscrizione."
email_announcements: "Annunci email"
email_announcements_description: "Ricevi email con le ultime novità e sviluppi di CodeCombat."
email_notifications: "Notifiche email"
-# email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity."
-# email_any_notes: "Any Notifications"
-# email_any_notes_description: "Disable to stop all activity notification emails."
+ email_notifications_summary: "Controllo per le notifiche automatiche personalizzate sulla tua attività in CodeCombat."
+ email_any_notes: "Nessuna notifica"
+ email_any_notes_description: "Blocca tutte le email di notifica."
email_news: "Novità"
email_recruit_notes: "Lavora con noi"
email_recruit_notes_description: "Se sai giocare molto bene potremmo contattarti per offrirti un lavoro (migliore)."
@@ -533,23 +533,23 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# view_profile: "View Your Profile"
keyboard_shortcuts:
-# keyboard_shortcuts: "Keyboard Shortcuts"
+ keyboard_shortcuts: "Abbreviazioni da tastiera"
space: "Spazio"
enter: "Invio"
escape: "Esc"
shift: "Maiusc"
-# run_code: "Run current code."
-# run_real_time: "Run in real time."
-# continue_script: "Continue past current script."
-# skip_scripts: "Skip past all skippable scripts."
-# toggle_playback: "Toggle play/pause."
-# scrub_playback: "Scrub back and forward through time."
-# single_scrub_playback: "Scrub back and forward through time by a single frame."
+ run_code: "Esegui codice attuale."
+ run_real_time: "Esegui in tempo reale."
+ continue_script: "Continua dopo lo script attuale."
+ skip_scripts: "Salta tutti gli script saltabili."
+ toggle_playback: "Gioca/Pausa."
+ scrub_playback: "Scorri avanti/indietro nel tempo."
+ single_scrub_playback: "Scorri avanti/indietro di un singolo passo."
# scrub_execution: "Scrub through current spell execution."
-# toggle_debug: "Toggle debug display."
-# toggle_grid: "Toggle grid overlay."
+ toggle_debug: "Accendi/spegni schermo debug."
+ toggle_grid: "Accendi/spegni griglia."
# toggle_pathfinding: "Toggle pathfinding overlay."
-# beautify: "Beautify your code by standardizing its formatting."
+ beautify: "Rendi ordinato il codice sistemando la formattazione."
maximize_editor: "Ingrandisci/rimpicciolisci l'editor di programmazione."
# community:
@@ -617,14 +617,14 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
level_tab_settings: "Impostazioni"
level_tab_components: "Componenti"
level_tab_systems: "Sistemi"
-# level_tab_docs: "Documentation"
+ level_tab_docs: "Documentazione"
level_tab_thangs_title: "Thangs esistenti"
-# level_tab_thangs_all: "All"
+ level_tab_thangs_all: "Tutti"
level_tab_thangs_conditions: "Condizioni iniziali"
level_tab_thangs_add: "Aggiungi thang"
-# delete: "Delete"
-# duplicate: "Duplicate"
-# rotate: "Rotate"
+ delete: "Cancella"
+ duplicate: "Duplica"
+ rotate: "Ruota"
level_settings_title: "Impostazioni"
level_component_tab_title: "Componenti esistenti"
level_component_btn_new: "Crea nuovo componente"
@@ -635,7 +635,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
level_components_type: "Tipo"
level_component_edit_title: "Modifica componente"
# level_component_config_schema: "Config Schema"
-# level_component_settings: "Settings"
+ level_component_settings: "Impostazioni"
level_system_edit_title: "Modifica sistema"
create_system_title: "Crea nuovo sistema"
new_component_title: "Crea nuovo componente"
@@ -656,7 +656,7 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# no_achievements: "No achievements have been added for this level yet."
# achievement_query_misc: "Key achievement off of miscellanea"
# achievement_query_goals: "Key achievement off of level goals"
-# level_completion: "Level Completion"
+ level_completion: "Completamento livello"
# pop_i18n: "Populate I18N"
article:
@@ -752,9 +752,9 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
# rank_no_code: "No New Code to Rank"
rank_my_game: "Valuta il mio gioco!"
rank_submitting: "Inviando..."
- rank_submitted: "Inviato per essere Valutato"
- rank_failed: "Impossibile Valutare"
- rank_being_ranked: "Il Gioco è stato Valutato"
+ rank_submitted: "Inviato per essere valutato"
+ rank_failed: "Impossibile valutare"
+ rank_being_ranked: "Il Gioco è stato valutato"
# rank_last_submitted: "submitted "
# help_simulate: "Help simulate games?"
code_being_simulated: "Il tuo nuovo codice sarà simulato da altri giocatori per essere valutato. Sarà aggiornato ad ogni nuova partita."
@@ -797,26 +797,26 @@ module.exports = nativeDescription: "Italiano", englishDescription: "Italian", t
no_singleplayer: "Nessun livello singolo giocato finora."
no_multiplayer: "Nessun multi-livello giocato finora."
no_achievements: "Nessun guadagno finora."
- favorite_prefix: "Lingua preferitoa "
+ favorite_prefix: "Lingua preferita "
favorite_postfix: "."
-# achievements:
-# last_earned: "Last Earned"
-# amount_achieved: "Amount"
+ achievements:
+ last_earned: "Ultimo completato"
+ amount_achieved: "Quantità"
# achievement: "Achievement"
# category_contributor: "Contributor"
# category_ladder: "Ladder"
-# category_level: "Level"
+ category_level: "Livello"
# category_miscellaneous: "Miscellaneous"
-# category_levels: "Levels"
+ category_levels: "Livelli"
# category_undefined: "Uncategorized"
-# current_xp_prefix: ""
-# current_xp_postfix: " in total"
-# new_xp_prefix: ""
-# new_xp_postfix: " earned"
-# left_xp_prefix: ""
-# left_xp_infix: " until level "
-# left_xp_postfix: ""
+ current_xp_prefix: ""
+ current_xp_postfix: " in totale"
+ new_xp_prefix: ""
+ new_xp_postfix: " guadagnati"
+ left_xp_prefix: ""
+ left_xp_infix: " fino al livello "
+ left_xp_postfix: ""
account:
recently_played: "Giocati di recente"
diff --git a/app/views/editor/campaign/CampaignEditorView.coffee b/app/views/editor/campaign/CampaignEditorView.coffee
index 4e857851b..077311d7b 100644
--- a/app/views/editor/campaign/CampaignEditorView.coffee
+++ b/app/views/editor/campaign/CampaignEditorView.coffee
@@ -239,7 +239,7 @@ module.exports = class CampaignEditorView extends RootView
achievement.set 'rewards', newRewards
if achievement.hasLocalChanges()
@toSave.add achievement
-
+
getCampaignDropOffs: =>
# Fetch last 7 days of campaign drop-off rates
@@ -251,7 +251,7 @@ module.exports = class CampaignEditorView extends RootView
return if @destroyed
# API returns all the campaign data currently
@campaignDropOffs = data[@campaignHandle]
- mapFn = (item) ->
+ mapFn = (item) ->
item.startDropRate = (item.startDropped / item.started * 100).toFixed(2)
item.finishDropRate = (item.finishDropped / item.finished * 100).toFixed(2)
item
@@ -309,6 +309,7 @@ class LevelNode extends TreemaObjectNode
if data.tasks
completion = "#{(t for t in data.tasks when t.complete).length} / #{data.tasks.length}"
+ valEl.append $("(e)")
valEl.append $("<#{el}>#{el}>").addClass('treema-shortened').text name
if status
valEl.append $('').text status
diff --git a/app/views/play/CampaignView.coffee b/app/views/play/CampaignView.coffee
index 9e7d390dd..5bc90274c 100644
--- a/app/views/play/CampaignView.coffee
+++ b/app/views/play/CampaignView.coffee
@@ -331,7 +331,7 @@ module.exports = class CampaignView extends RootView
playAmbientSound: ->
return if @ambientSound
- return unless file = @campaign.get('ambientSound')?[AudioPlayer.ext.substr 1]
+ return unless file = @campaign?.get('ambientSound')?[AudioPlayer.ext.substr 1]
src = "/file/#{file}"
unless AudioPlayer.getStatus(src)?.loaded
AudioPlayer.preloadSound src
diff --git a/app/views/play/menu/InventoryModal.coffee b/app/views/play/menu/InventoryModal.coffee
index fc0dfa74b..53d3cdc63 100644
--- a/app/views/play/menu/InventoryModal.coffee
+++ b/app/views/play/menu/InventoryModal.coffee
@@ -93,8 +93,8 @@ module.exports = class InventoryModal extends ModalView
locked = not (item.get('original') in me.items())
#locked = false if me.get('slug') is 'nick'
- required = item.get('slug') in _.flatten(_.values(@options.level.get('requiredGear') ? {}))
- restricted = item.get('slug') in _.flatten(_.values(@options.level.get('restrictedGear') ? {}))
+ required = item.get('original') in _.flatten(_.values(@options.level.get('requiredGear') ? {}))
+ restricted = item.get('original') in _.flatten(_.values(@options.level.get('restrictedGear') ? {}))
placeholder = not item.getFrontFacingStats().props.length and not _.size(item.getFrontFacingStats().stats)
if placeholder and locked # The item is not complete, so don't put it into a collection.
diff --git a/package.json b/package.json
index 4b74dae1d..50c364b1f 100644
--- a/package.json
+++ b/package.json
@@ -72,35 +72,35 @@
"stripe": "~2.9.0"
},
"devDependencies": {
- "jade": "0.33.x",
- "javascript-brunch": "> 1.0 < 1.8",
+ "auto-reload-brunch": "> 1.0 < 1.8",
+ "bless-brunch": "https://github.com/ThomasConner/bless-brunch/tarball/master",
+ "bower": "~1.3.8",
+ "brunch": "~1.7.4",
"coffee-script-brunch": "https://github.com/brunch/coffee-script-brunch/tarball/master",
"coffeelint-brunch": "> 1.0 < 1.8",
- "sass-brunch": "1.7.2",
+ "compressible": "~1.0.1",
"css-brunch": "> 1.0 < 1.8",
+ "jade": "0.33.x",
"jade-brunch": "> 1.0 < 1.8",
- "uglify-js-brunch": "~1.7.4",
- "auto-reload-brunch": "> 1.0 < 1.8",
- "brunch": "~1.7.4",
"jasmine-node": "1.13.x",
- "nodemon": "0.7.5",
- "marked": "0.2.x",
- "telepath-brunch": "https://github.com/nwinter/telepath-brunch/tarball/master",
- "bower": "~1.3.8",
- "bless-brunch": "https://github.com/ThomasConner/bless-brunch/tarball/master",
- "karma-script-launcher": "~0.1.0",
+ "jasmine-spec-reporter": "~0.3.0",
+ "javascript-brunch": "> 1.0 < 1.8",
+ "karma": "~0.12",
"karma-chrome-launcher": "~0.1.2",
+ "karma-coffee-preprocessor": "~0.1.2",
+ "karma-coverage": "~0.1.4",
"karma-firefox-launcher": "~0.1.3",
"karma-html2js-preprocessor": "~0.1.0",
- "karma-coffee-preprocessor": "~0.1.2",
"karma-jasmine": "~0.2.0",
- "requirejs": "~2.1.10",
- "karma-requirejs": "~0.2.1",
"karma-phantomjs-launcher": "~0.1.1",
- "karma": "~0.12",
- "karma-coverage": "~0.1.4",
- "compressible": "~1.0.1",
- "jasmine-spec-reporter": "~0.3.0"
+ "karma-requirejs": "~0.2.1",
+ "karma-script-launcher": "~0.1.0",
+ "marked": "0.2.x",
+ "nodemon": "0.7.5",
+ "requirejs": "~2.1.10",
+ "sass-brunch": "^1.8.8",
+ "telepath-brunch": "https://github.com/nwinter/telepath-brunch/tarball/master",
+ "uglify-js-brunch": "~1.7.4"
},
"license": "MIT for the code, and CC-BY for the art and music",
"private": true,