Merge pull request #2762 from Imperadeiro98/master
Updated i18n for clans
This commit is contained in:
commit
461a7c9c49
7 changed files with 169 additions and 89 deletions
app
locale
templates
|
@ -158,6 +158,7 @@
|
||||||
unwatch: "Unwatch"
|
unwatch: "Unwatch"
|
||||||
submit_patch: "Submit Patch"
|
submit_patch: "Submit Patch"
|
||||||
submit_changes: "Submit Changes"
|
submit_changes: "Submit Changes"
|
||||||
|
save_changes: "Save Changes"
|
||||||
|
|
||||||
general:
|
general:
|
||||||
and: "and"
|
and: "and"
|
||||||
|
@ -609,6 +610,15 @@
|
||||||
sub_includes_5: "7 new heroes with unique skills to master"
|
sub_includes_5: "7 new heroes with unique skills to master"
|
||||||
sub_includes_6: "3500 bonus gems every month"
|
sub_includes_6: "3500 bonus gems every month"
|
||||||
sub_includes_7: "Private Clans"
|
sub_includes_7: "Private Clans"
|
||||||
|
monitor_progress_title: "How do I monitor student progress?"
|
||||||
|
monitor_progress_1: "Student progress can be monitored by creating a"
|
||||||
|
monitor_progress_2: "for your class."
|
||||||
|
monitor_progress_3: "To add a student, send them the invite link for your Clan, which is on the"
|
||||||
|
monitor_progress_4: "page."
|
||||||
|
monitor_progress_5: "After they join, you will see a summary of the student's progress on your Clan's page."
|
||||||
|
private_clans_1: "Private Clans provide increased privacy and detailed progress information for each student."
|
||||||
|
private_clans_2: "To create a private Clan, check the 'Make clan private' checkbox when creating a"
|
||||||
|
private_clans_3: "."
|
||||||
who_for_title: "Who is CodeCombat for?"
|
who_for_title: "Who is CodeCombat for?"
|
||||||
who_for_1: "We recommend CodeCombat for students aged 9 and up. No prior programming experience is needed."
|
who_for_1: "We recommend CodeCombat for students aged 9 and up. No prior programming experience is needed."
|
||||||
who_for_2: "We've designed CodeCombat to appeal to both boys and girls."
|
who_for_2: "We've designed CodeCombat to appeal to both boys and girls."
|
||||||
|
@ -621,6 +631,12 @@
|
||||||
how_much_2: "monthly subscription"
|
how_much_2: "monthly subscription"
|
||||||
how_much_3: "costs $9.99, and can be cancelled anytime."
|
how_much_3: "costs $9.99, and can be cancelled anytime."
|
||||||
how_much_4: "Additionally, we provide discounts for larger groups:"
|
how_much_4: "Additionally, we provide discounts for larger groups:"
|
||||||
|
how_much_5: "We accept discounted one-time purchases and yearly subscription purchases for groups, such as a class or school. Please contact"
|
||||||
|
how_much_6: "for more details."
|
||||||
|
more_info_title: "Where can I find more information?"
|
||||||
|
more_info_1: "Our"
|
||||||
|
more_info_2: "teachers forum"
|
||||||
|
more_info_3: "is a good place to connect with fellow educators who are using CodeCombat."
|
||||||
sys_requirements_title: "System Requirements"
|
sys_requirements_title: "System Requirements"
|
||||||
sys_requirements_1: "A modern web browser. Newer versions of Chrome, Firefox, or Safari. Internet Explorer 9 or later."
|
sys_requirements_1: "A modern web browser. Newer versions of Chrome, Firefox, or Safari. Internet Explorer 9 or later."
|
||||||
sys_requirements_2: "CodeCombat is not supported on iPad yet."
|
sys_requirements_2: "CodeCombat is not supported on iPad yet."
|
||||||
|
@ -733,6 +749,49 @@
|
||||||
social_hipchat: "Chat with us in the public CodeCombat HipChat room"
|
social_hipchat: "Chat with us in the public CodeCombat HipChat room"
|
||||||
contribute_to_the_project: "Contribute to the project"
|
contribute_to_the_project: "Contribute to the project"
|
||||||
|
|
||||||
|
clans:
|
||||||
|
clan: "Clan"
|
||||||
|
clans: "Clans"
|
||||||
|
new_name: "New clan name"
|
||||||
|
new_description: "New clan description"
|
||||||
|
make_private: "Make clan private"
|
||||||
|
subs_only: "subscribers only"
|
||||||
|
create_clan: "Create New Clan"
|
||||||
|
public_clans: "Public Clans"
|
||||||
|
my_clans: "My Clans"
|
||||||
|
clan_name: "Clan Name"
|
||||||
|
name: "Name"
|
||||||
|
chieftain: "Chieftain"
|
||||||
|
type: "Type"
|
||||||
|
edit_clan_name: "Edit Clan Name"
|
||||||
|
edit_clan_description: "Edit Clan Description"
|
||||||
|
edit_name: "edit name"
|
||||||
|
edit_description: "edit description"
|
||||||
|
private: "(private)"
|
||||||
|
summary: "Summary"
|
||||||
|
average_level: "Average Level"
|
||||||
|
average_achievements: "Average Achievements"
|
||||||
|
delete_clan: "Delete Clan"
|
||||||
|
leave_clan: "Leave Clan"
|
||||||
|
join_clan: "Join Clan"
|
||||||
|
invite_1: "Invite:"
|
||||||
|
invite_2: "*Invite players to this Clan by sending them this link."
|
||||||
|
members: "Members"
|
||||||
|
progress: "Progress"
|
||||||
|
not_started_1: "not started"
|
||||||
|
started_1: "started"
|
||||||
|
complete_1: "complete"
|
||||||
|
exp_levels: "Expand levels"
|
||||||
|
rem_hero: "Remove Hero"
|
||||||
|
status: "Status"
|
||||||
|
complete_2: "Complete"
|
||||||
|
started_2: "Started"
|
||||||
|
not_started_2: "Not Started"
|
||||||
|
view_solution: "Click to view solution."
|
||||||
|
latest_achievement: "Latest Achievement"
|
||||||
|
playtime: "Playtime"
|
||||||
|
last_played: "Last played"
|
||||||
|
|
||||||
classes:
|
classes:
|
||||||
archmage_title: "Archmage"
|
archmage_title: "Archmage"
|
||||||
archmage_title_description: "(Coder)"
|
archmage_title_description: "(Coder)"
|
||||||
|
@ -981,6 +1040,7 @@
|
||||||
no_achievements: "No Achievements earned yet."
|
no_achievements: "No Achievements earned yet."
|
||||||
favorite_prefix: "Favorite language is "
|
favorite_prefix: "Favorite language is "
|
||||||
favorite_postfix: "."
|
favorite_postfix: "."
|
||||||
|
not_member_of_clans: "Not a member of any clans yet."
|
||||||
|
|
||||||
achievements:
|
achievements:
|
||||||
last_earned: "Last Earned"
|
last_earned: "Last Earned"
|
||||||
|
@ -1086,6 +1146,7 @@
|
||||||
user_remarks: "User Remarks"
|
user_remarks: "User Remarks"
|
||||||
versions: "Versions"
|
versions: "Versions"
|
||||||
items: "Items"
|
items: "Items"
|
||||||
|
hero: "Hero"
|
||||||
heroes: "Heroes"
|
heroes: "Heroes"
|
||||||
achievement: "Achievement"
|
achievement: "Achievement"
|
||||||
clas: "CLAs"
|
clas: "CLAs"
|
||||||
|
|
|
@ -9,7 +9,7 @@ block header
|
||||||
span.glyphicon.glyphicon-home
|
span.glyphicon.glyphicon-home
|
||||||
a(href="/about", data-i18n="nav.about")
|
a(href="/about", data-i18n="nav.about")
|
||||||
a(href='/teachers', data-i18n="nav.teachers") Teachers
|
a(href='/teachers', data-i18n="nav.teachers") Teachers
|
||||||
a(href='/clans') Clans
|
a(href='/clans', data-i18n="clans.clans") Clans
|
||||||
a(href='http://discourse.codecombat.com/', data-i18n="nav.forum")
|
a(href='http://discourse.codecombat.com/', data-i18n="nav.forum")
|
||||||
a(href='/community', data-i18n="nav.community")
|
a(href='/community', data-i18n="nav.community")
|
||||||
//a(href='/play/ladder', data-i18n="home.multiplayer").multiplayer-nav-link
|
//a(href='/play/ladder', data-i18n="home.multiplayer").multiplayer-nav-link
|
||||||
|
|
|
@ -7,88 +7,90 @@ block content
|
||||||
.modal-header
|
.modal-header
|
||||||
button.close(data-dismiss='modal')
|
button.close(data-dismiss='modal')
|
||||||
span ×
|
span ×
|
||||||
h3.modal-title Edit Clan Name
|
h3.modal-title(data-i18n="clans.edit_clan_name") Edit Clan Name
|
||||||
.modal-body
|
.modal-body
|
||||||
input.edit-name-input(type='text' value="#{clan.get('name')}")
|
input.edit-name-input(type='text', value="#{clan.get('name')}")
|
||||||
.modal-footer
|
.modal-footer
|
||||||
button.btn(data-dismiss='modal') Close
|
button.btn(data-dismiss='modal', data-i18n="modal.close") Close
|
||||||
button.btn.edit-name-save-btn Save changes
|
button.btn.edit-name-save-btn(data-i18n="common.save_changes") Save changes
|
||||||
|
|
||||||
.modal#editDescriptionModal
|
.modal#editDescriptionModal
|
||||||
.modal-dialog
|
.modal-dialog
|
||||||
.modal-header
|
.modal-header
|
||||||
button.close(data-dismiss='modal')
|
button.close(data-dismiss='modal')
|
||||||
span ×
|
span ×
|
||||||
h3.modal-title Edit Clan Description
|
h3.modal-title(data-i18n="clans.edit_clan_description") Edit Clan Description
|
||||||
.modal-body
|
.modal-body
|
||||||
textarea.edit-description-input(rows=2)= clan.get('description')
|
textarea.edit-description-input(rows=2)= clan.get('description')
|
||||||
.modal-footer
|
.modal-footer
|
||||||
button.btn(data-dismiss='modal') Close
|
button.btn(data-dismiss='modal', data-i18n="modal.close") Close
|
||||||
button.btn.edit-description-save-btn Save changes
|
button.btn.edit-description-save-btn(data-i18n="common.save_changes") Save changes
|
||||||
|
|
||||||
if clan
|
if clan
|
||||||
h1 #{clan.get('name')}
|
h1 #{clan.get('name')}
|
||||||
if clan.get('type') === 'private'
|
if clan.get('type') === 'private'
|
||||||
small (private)
|
small(data-i18n="clans.private") (private)
|
||||||
if clan.get('ownerID') === me.id
|
if clan.get('ownerID') === me.id
|
||||||
span.spl
|
span.spl
|
||||||
button.btn.btn-xs.edit-name-btn(data-toggle='modal', data-target='#editNameModal') edit name
|
button.btn.btn-xs.edit-name-btn(data-toggle='modal', data-target='#editNameModal', data-i18n="clans.edit_name") edit name
|
||||||
|
|
||||||
if clan.get('description')
|
if clan.get('description')
|
||||||
.clan-description
|
.clan-description
|
||||||
each line in clan.get('description').split('\n')
|
each line in clan.get('description').split('\n')
|
||||||
p= line
|
p= line
|
||||||
if clan.get('ownerID') === me.id
|
if clan.get('ownerID') === me.id
|
||||||
button.btn.btn-xs.edit-description-btn(data-toggle='modal', data-target='#editDescriptionModal') edit description
|
button.btn.btn-xs.edit-description-btn(data-toggle='modal', data-target='#editDescriptionModal', data-i18n="clans.edit_description") edit description
|
||||||
|
|
||||||
h5 Summary
|
h5(data-i18n="clans.summary") Summary
|
||||||
table.table.table-condensed.stats-table
|
table.table.table-condensed.stats-table
|
||||||
if owner
|
if owner
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
span.spr Chieftain
|
span.spr(data-i18n="clans.chieftain") Chieftain
|
||||||
td
|
td
|
||||||
span.spr.player-hero-icon(data-memberid="#{clan.get('ownerID')}")
|
span.spr.player-hero-icon(data-memberid="#{clan.get('ownerID')}")
|
||||||
a(href="/user/#{clan.get('ownerID')}")= owner.get('name')
|
a(href="/user/#{clan.get('ownerID')}")= owner.get('name')
|
||||||
if stats.averageLevel
|
if stats.averageLevel
|
||||||
tr
|
tr
|
||||||
td Average Level
|
td(data-i18n="clans.average_level") Average Level
|
||||||
td= stats.averageLevel
|
td= stats.averageLevel
|
||||||
if stats.averageAchievements && clan.get('type') === 'public'
|
if stats.averageAchievements && clan.get('type') === 'public'
|
||||||
tr
|
tr
|
||||||
td Average Achievements
|
td(data-i18n="clans.average_achievements") Average Achievements
|
||||||
td= stats.averageAchievements
|
td= stats.averageAchievements
|
||||||
|
|
||||||
p
|
p
|
||||||
if isOwner
|
if isOwner
|
||||||
button.btn.btn-xs.btn-warning.delete-clan-btn Delete Clan
|
button.btn.btn-xs.btn-warning.delete-clan-btn(data-i18n="clans.delete_clan") Delete Clan
|
||||||
else if isMember
|
else if isMember
|
||||||
button.btn.btn-xs.btn-warning.leave-clan-btn Leave Clan
|
button.btn.btn-xs.btn-warning.leave-clan-btn(data-i18n="clans.leave_clan") Leave Clan
|
||||||
else
|
else
|
||||||
button.btn.btn-lg.btn-success.join-clan-btn Join Clan
|
button.btn.btn-lg.btn-success.join-clan-btn(data-i18n="clans.join_clan") Join Clan
|
||||||
|
|
||||||
if clan.get('ownerID') === me.id || clan.get('type') === 'public'
|
if clan.get('ownerID') === me.id || clan.get('type') === 'public'
|
||||||
div
|
div
|
||||||
span.spl.spr.join-link-prompt Invite:
|
span.spl.spr.join-link-prompt(data-i18n="clans.invite_1") Invite:
|
||||||
input.join-clan-link(type="text", readonly, value="#{joinClanLink}")
|
input.join-clan-link(type="text", readonly, value="#{joinClanLink}")
|
||||||
.small *Invite players to this Clan by sending them this link.
|
.small(data-i18n="clans.invite_2") *Invite players to this Clan by sending them this link.
|
||||||
|
|
||||||
if members
|
if members
|
||||||
h3 Members (#{members.length})
|
h3
|
||||||
|
span.spr(data-i18n="clans.members") Members
|
||||||
|
span (#{members.length})
|
||||||
|
|
||||||
//- Premium dashboard
|
//- Premium dashboard
|
||||||
if clan.get('dashboardType') === 'premium'
|
if clan.get('dashboardType') === 'premium'
|
||||||
table.table.table-condensed
|
table.table.table-condensed
|
||||||
thead
|
thead
|
||||||
tr
|
tr
|
||||||
th Hero
|
th(data-i18n="resources.hero") Hero
|
||||||
th
|
th
|
||||||
span.progress-header Progress
|
span.progress-header(data-i18n="clans.progress") Progress
|
||||||
span.progress-key not started
|
span.progress-key(data-i18n="clans.not_started_1") not started
|
||||||
span.progress-key.progress-key-started started
|
span.progress-key.progress-key-started(data-i18n="clans.started_1") started
|
||||||
span.progress-key.progress-key-complete complete
|
span.progress-key.progress-key-complete(data-i18n="clans.complete_1") complete
|
||||||
input.expand-progress-checkbox(type='checkbox')
|
input.expand-progress-checkbox(type='checkbox')
|
||||||
span.spl.expand-progress-label Expand levels
|
span.spl.expand-progress-label(data-i18n="clans.exp_levels") Expand levels
|
||||||
tbody
|
tbody
|
||||||
each member in members
|
each member in members
|
||||||
tr
|
tr
|
||||||
|
@ -103,7 +105,7 @@ block content
|
||||||
a(href="/user/#{member.id}")= member.get('name') || 'Anoner'
|
a(href="/user/#{member.id}")= member.get('name') || 'Anoner'
|
||||||
div Level #{member.level()}
|
div Level #{member.level()}
|
||||||
if isOwner && member.id !== clan.get('ownerID')
|
if isOwner && member.id !== clan.get('ownerID')
|
||||||
button.btn.btn-xs.btn-warning.remove-member-btn(data-id="#{member.id}") Remove Hero
|
button.btn.btn-xs.btn-warning.remove-member-btn(data-id="#{member.id}", data-i18n="clans.rem_hero") Remove Hero
|
||||||
td.progress-cell
|
td.progress-cell
|
||||||
|
|
||||||
each campaign in campaignLevelProgressions
|
each campaign in campaignLevelProgressions
|
||||||
|
@ -124,11 +126,18 @@ block content
|
||||||
.level-popup-container
|
.level-popup-container
|
||||||
h3 #{i}. #{levelInfo.level}
|
h3 #{i}. #{levelInfo.level}
|
||||||
p
|
p
|
||||||
div Status: Complete
|
div
|
||||||
div Playtime: #{levelInfo.playtime}s
|
span(data-i18n="choose_hero.status") Status
|
||||||
div Last played: #{levelInfo.changed}
|
span.spr :
|
||||||
|
span(data-i18n="clans.complete_2") Complete
|
||||||
|
div
|
||||||
|
span(data-i18n="clans.playtime") Playtime
|
||||||
|
span : #{levelInfo.playtime}s
|
||||||
|
div
|
||||||
|
span(data-i18n="clans.last_played") Last played
|
||||||
|
span : #{levelInfo.changed}
|
||||||
if isOwner || me.isAdmin()
|
if isOwner || me.isAdmin()
|
||||||
strong Click to view solution.
|
strong(data-i18n="clans.view_solution") Click to view solution.
|
||||||
else if state === 'started'
|
else if state === 'started'
|
||||||
span.progress-level-cell.progress-level-cell-started(data-level-info=levelInfo) #{i}
|
span.progress-level-cell.progress-level-cell-started(data-level-info=levelInfo) #{i}
|
||||||
if showExpandedProgress || i === 1 || i === lastUserCampaignLevelMap[member.id][campaign.ID].index + 1
|
if showExpandedProgress || i === 1 || i === lastUserCampaignLevelMap[member.id][campaign.ID].index + 1
|
||||||
|
@ -136,18 +145,28 @@ block content
|
||||||
.level-popup-container
|
.level-popup-container
|
||||||
h3 #{i}. #{level.name}
|
h3 #{i}. #{level.name}
|
||||||
p
|
p
|
||||||
div Status: Started
|
div
|
||||||
div Playtime: #{levelInfo.playtime}s
|
span(data-i18n="choose_hero.status") Status
|
||||||
div Last played: #{levelInfo.changed}
|
span.spr :
|
||||||
|
span(data-i18n="clans.started_2") Started
|
||||||
|
div
|
||||||
|
span(data-i18n="clans.playtime") Playtime
|
||||||
|
span : #{levelInfo.playtime}s
|
||||||
|
div
|
||||||
|
span(data-i18n="clans.last_played") Last played
|
||||||
|
span : #{levelInfo.changed}
|
||||||
if isOwner || me.isAdmin()
|
if isOwner || me.isAdmin()
|
||||||
strong Click to view solution.
|
strong(data-i18n="clans.view_solution") Click to view solution.
|
||||||
else
|
else
|
||||||
span.progress-level-cell.level-progression-level-not-started #{i}
|
span.progress-level-cell.level-progression-level-not-started #{i}
|
||||||
if showExpandedProgress || i === 1 || i === lastUserCampaignLevelMap[member.id][campaign.ID].index + 1
|
if showExpandedProgress || i === 1 || i === lastUserCampaignLevelMap[member.id][campaign.ID].index + 1
|
||||||
span.spl #{level.name}
|
span.spl #{level.name}
|
||||||
.level-popup-container
|
.level-popup-container
|
||||||
h3 #{i}. #{level.name}
|
h3 #{i}. #{level.name}
|
||||||
div Status: Not Started
|
div
|
||||||
|
span(data-i18n="choose_hero.status") Status
|
||||||
|
span.spr :
|
||||||
|
span(data-i18n="clans.not_started_2") Not Started
|
||||||
if lastUserCampaignLevelMap[member.id][campaign.ID].levelSlug === level.slug
|
if lastUserCampaignLevelMap[member.id][campaign.ID].levelSlug === level.slug
|
||||||
- break
|
- break
|
||||||
|
|
||||||
|
@ -158,10 +177,10 @@ block content
|
||||||
tr
|
tr
|
||||||
th
|
th
|
||||||
th
|
th
|
||||||
td.name-cell Name
|
td.name-cell(data-i18n="clans.name") Name
|
||||||
th.level-cell Level
|
th.level-cell(data-i18n="resources.level") Level
|
||||||
th.achievements-cell Achievements
|
th.achievements-cell(data-i18n="play.achievements") Achievements
|
||||||
th.latest-achievement-cell Latest Achievement
|
th.latest-achievement-cell(data-i18n="clans.latest_achievement") Latest Achievement
|
||||||
th
|
th
|
||||||
tbody
|
tbody
|
||||||
each member in members
|
each member in members
|
||||||
|
@ -182,4 +201,4 @@ block content
|
||||||
span= memberAchievementsMap[member.id][0].get('achievementName')
|
span= memberAchievementsMap[member.id][0].get('achievementName')
|
||||||
td
|
td
|
||||||
if isOwner && member.id !== clan.get('ownerID')
|
if isOwner && member.id !== clan.get('ownerID')
|
||||||
button.btn.btn-xs.btn-warning.remove-member-btn(data-id="#{member.id}") Remove Hero
|
button.btn.btn-xs.btn-warning.remove-member-btn(data-id="#{member.id}", data-i18n="clans.rem_hero") Remove Hero
|
||||||
|
|
|
@ -3,33 +3,33 @@ extends /templates/base
|
||||||
block content
|
block content
|
||||||
|
|
||||||
p
|
p
|
||||||
input.create-clan-name(type='text' placeholder='New clan name')
|
input.create-clan-name(type='text', data-i18n="[placeholder]clans.new_name", placeholder='New clan name')
|
||||||
p
|
p
|
||||||
textarea.create-clan-description(rows=2, placeholder='New clan description')
|
textarea.create-clan-description(rows=2, data-i18n="[placeholder]clans.new_description", placeholder='New clan description')
|
||||||
p
|
p
|
||||||
input(type='checkbox').private-clan-checkbox
|
input(type='checkbox').private-clan-checkbox
|
||||||
span.spl Make clan private
|
span.spl(data-i18n="clans.make_private") Make clan private
|
||||||
span.spl (
|
span.spl (
|
||||||
a.private-more-info subscribers only
|
a.private-more-info(data-i18n="clans.subs_only") subscribers only
|
||||||
span )
|
span )
|
||||||
p
|
p
|
||||||
button.btn.btn-success.create-clan-btn Create New Clan
|
button.btn.btn-success.create-clan-btn(data-i18n="clans.create_clan") Create New Clan
|
||||||
|
|
||||||
div(role='tabpanel')
|
div(role='tabpanel')
|
||||||
ul.nav.nav-tabs(role='tablist')
|
ul.nav.nav-tabs(role='tablist')
|
||||||
li.active(role='presentation')
|
li.active(role='presentation')
|
||||||
a(href='#public-clans' aria-controls='public-clans', role='tab', data-toggle='tab') Public Clans
|
a(href='#public-clans', aria-controls='public-clans', role='tab', data-toggle='tab', data-i18n="clans.public_clans") Public Clans
|
||||||
li(role='presentation')
|
li(role='presentation')
|
||||||
a(href='#my-clans' aria-controls='my-clans', role='tab', data-toggle='tab') My Clans
|
a(href='#my-clans', aria-controls='my-clans', role='tab', data-toggle='tab', data-i18n="clans.my_clans") My Clans
|
||||||
|
|
||||||
.tab-content
|
.tab-content
|
||||||
.tab-pane.active#public-clans(role='tabpanel')
|
.tab-pane.active#public-clans(role='tabpanel')
|
||||||
table.table.table-striped.table-condensed
|
table.table.table-striped.table-condensed
|
||||||
thead
|
thead
|
||||||
tr
|
tr
|
||||||
th Clan Name
|
th(data-i18n="clans.clan_name") Clan Name
|
||||||
th Heroes
|
th(data-i18n="play.heroes") Heroes
|
||||||
th Chieftain
|
th(data-i18n="clans.chieftain") Chieftain
|
||||||
th
|
th
|
||||||
tbody
|
tbody
|
||||||
if publicClans.length
|
if publicClans.length
|
||||||
|
@ -48,18 +48,18 @@ block content
|
||||||
a(href="/user/#{clan.get('ownerID')}") Anoner
|
a(href="/user/#{clan.get('ownerID')}") Anoner
|
||||||
td
|
td
|
||||||
if myClanIDs.indexOf(clan.id) < 0
|
if myClanIDs.indexOf(clan.id) < 0
|
||||||
button.btn.btn-success.join-clan-btn(data-id="#{clan.id}") Join Clan
|
button.btn.btn-success.join-clan-btn(data-id="#{clan.id}", data-i18n="clans.join_clan") Join Clan
|
||||||
else if clan.get('ownerID') !== me.id
|
else if clan.get('ownerID') !== me.id
|
||||||
button.btn.btn-xs.btn-warning.leave-clan-btn(data-id="#{clan.id}") Leave Clan
|
button.btn.btn-xs.btn-warning.leave-clan-btn(data-id="#{clan.id}", data-i18n="clans.leave_clan") Leave Clan
|
||||||
|
|
||||||
.tab-pane#my-clans(role='tabpanel')
|
.tab-pane#my-clans(role='tabpanel')
|
||||||
table.table.table-striped.table-condensed
|
table.table.table-striped.table-condensed
|
||||||
thead
|
thead
|
||||||
tr
|
tr
|
||||||
th Clan Name
|
th(data-i18n="clans.clan_name") Clan Name
|
||||||
th Heroes
|
th(data-i18n="play.heroes") Heroes
|
||||||
th Chieftain
|
th(data-i18n="clans.chieftain") Chieftain
|
||||||
th Type
|
th(data-i18n="clans.type") Type
|
||||||
th
|
th
|
||||||
tbody
|
tbody
|
||||||
if myClans.length
|
if myClans.length
|
||||||
|
@ -79,4 +79,4 @@ block content
|
||||||
td= clan.get('type')
|
td= clan.get('type')
|
||||||
td
|
td
|
||||||
if clan.get('ownerID') !== me.id
|
if clan.get('ownerID') !== me.id
|
||||||
button.btn.btn-xs.btn-warning.leave-clan-btn(data-id="#{clan.id}") Leave Clan
|
button.btn.btn-xs.btn-warning.leave-clan-btn(data-id="#{clan.id}", data-i18n="clans.leave_clan") Leave Clan
|
||||||
|
|
|
@ -115,7 +115,7 @@ else
|
||||||
if me.isPremium()
|
if me.isPremium()
|
||||||
button.btn.btn-illustrated.btn-primary(data-i18n="nav.contact", data-toggle="coco-modal", data-target="core/ContactModal") Contact
|
button.btn.btn-illustrated.btn-primary(data-i18n="nav.contact", data-toggle="coco-modal", data-target="core/ContactModal") Contact
|
||||||
span.spl
|
span.spl
|
||||||
a.btn.btn-illustrated(href='/clans') Clans
|
a.btn.btn-illustrated(href='/clans', data-i18n="clans.clans") Clans
|
||||||
|
|
||||||
|
|
||||||
button.btn.btn-lg.btn-inverse.campaign-control-button#volume-button(data-i18n="[title]play.adjust_volume", title="Adjust volume")
|
button.btn.btn-lg.btn-inverse.campaign-control-button#volume-button(data-i18n="[title]play.adjust_volume", title="Adjust volume")
|
||||||
|
|
|
@ -18,7 +18,7 @@ block content
|
||||||
p(data-i18n="teachers.free_2")
|
p(data-i18n="teachers.free_2")
|
||||||
|
|
||||||
h3.teachers-title(data-i18n="teachers.teacher_subs_title")
|
h3.teachers-title(data-i18n="teachers.teacher_subs_title")
|
||||||
p
|
p
|
||||||
span(data-i18n="teachers.teacher_subs_1")
|
span(data-i18n="teachers.teacher_subs_1")
|
||||||
span.spr.spl
|
span.spr.spl
|
||||||
a(href='mailto:team@codecombat.com?subject=Free%20Teacher%20Subscription') team@codecombat.com
|
a(href='mailto:team@codecombat.com?subject=Free%20Teacher%20Subscription') team@codecombat.com
|
||||||
|
@ -29,31 +29,31 @@ block content
|
||||||
ul
|
ul
|
||||||
li(data-i18n="teachers.sub_includes_2")
|
li(data-i18n="teachers.sub_includes_2")
|
||||||
li(data-i18n="teachers.sub_includes_3")
|
li(data-i18n="teachers.sub_includes_3")
|
||||||
li(data-i18n="teachers.sub_includes_7")
|
|
||||||
li(data-i18n="teachers.sub_includes_4")
|
li(data-i18n="teachers.sub_includes_4")
|
||||||
li(data-i18n="teachers.sub_includes_5")
|
li(data-i18n="teachers.sub_includes_5")
|
||||||
li(data-i18n="teachers.sub_includes_6")
|
li(data-i18n="teachers.sub_includes_6")
|
||||||
|
li(data-i18n="teachers.sub_includes_7")
|
||||||
|
|
||||||
h3(data-i18n="teachers.who_for_title")
|
h3(data-i18n="teachers.who_for_title")
|
||||||
p(data-i18n="teachers.who_for_1")
|
p(data-i18n="teachers.who_for_1")
|
||||||
p(data-i18n="teachers.who_for_2")
|
p(data-i18n="teachers.who_for_2")
|
||||||
|
|
||||||
h3 How do I monitor student progress?
|
h3(data-i18n="teachers.monitor_progress_title")
|
||||||
p
|
|
||||||
span.spr Student progress can be monitored by creating a
|
|
||||||
a(href='/clans') Clan
|
|
||||||
span.spl for your class.
|
|
||||||
p
|
|
||||||
span.spr To add a student, send them the invite link for your Clan, which is on the
|
|
||||||
a(href='/clans') Clans
|
|
||||||
span.spl page.
|
|
||||||
p After they join, you will see a summary of the student's progress on your Clan's page.
|
|
||||||
h4 Private Clans
|
|
||||||
p Private Clans provide increased privacy and detailed progress information for each student.
|
|
||||||
p
|
p
|
||||||
span.spr To create a private Clan, check the 'Make clan private' checkbox when creating a
|
span.spr(data-i18n="teachers.monitor_progress_1")
|
||||||
a(href='/clans') Clan
|
a(href='/clans', data-i18n="clans.clan")
|
||||||
span= "."
|
span.spl(data-i18n="teachers.monitor_progress_2")
|
||||||
|
p
|
||||||
|
span.spr(data-i18n="teachers.monitor_progress_3")
|
||||||
|
a(href='/clans', data-i18n="clans.clans")
|
||||||
|
span.spl(data-i18n="teachers.monitor_progress_4")
|
||||||
|
p(data-i18n="teachers.monitor_progress_5")
|
||||||
|
h4(data-i18n="teachers.sub_includes_7") Private Clans
|
||||||
|
p(data-i18n="teachers.private_clans_1")
|
||||||
|
p
|
||||||
|
span.spr(data-i18n="teachers.private_clans_2")
|
||||||
|
a(href='/clans', data-i18n="clans.clan") Clan
|
||||||
|
span(data-i18n="teachers.private_clans_3")
|
||||||
|
|
||||||
h3(data-i18n="teachers.material_title")
|
h3(data-i18n="teachers.material_title")
|
||||||
if me.get('chinaVersion')
|
if me.get('chinaVersion')
|
||||||
|
@ -115,9 +115,9 @@ block content
|
||||||
a(href='/account/subscription', data-i18n="teachers.how_much_2")
|
a(href='/account/subscription', data-i18n="teachers.how_much_2")
|
||||||
span.spr.spl(data-i18n="teachers.how_much_3")
|
span.spr.spl(data-i18n="teachers.how_much_3")
|
||||||
p
|
p
|
||||||
span.spr We accept discounted one-time purchases and yearly subscription purchases for groups, such as a class or school. Please contact
|
span.spr(data-i18n="teachers.how_much_5")
|
||||||
a(href='mailto:team@codecombat.com') team@codecombat.com
|
a(href='mailto:team@codecombat.com') team@codecombat.com
|
||||||
span.spl for more details.
|
span.spl(data-i18n="teachers.how_much_6")
|
||||||
p(data-i18n="teachers.how_much_4")
|
p(data-i18n="teachers.how_much_4")
|
||||||
h4
|
h4
|
||||||
a(href='/account/subscription', data-i18n="subscribe.group_discounts")
|
a(href='/account/subscription', data-i18n="subscribe.group_discounts")
|
||||||
|
@ -133,12 +133,12 @@ block content
|
||||||
td(data-i18n="subscribe.group_discounts_12th")
|
td(data-i18n="subscribe.group_discounts_12th")
|
||||||
td(data-i18n="subscribe.group_discounts_40")
|
td(data-i18n="subscribe.group_discounts_40")
|
||||||
|
|
||||||
h3 Where can I find more information?
|
h3(data-i18n="teachers.more_info_title")
|
||||||
p
|
p
|
||||||
span Our
|
span(data-i18n="teachers.more_info_1")
|
||||||
span.spr.spl
|
span.spr.spl
|
||||||
a(href='http://discourse.codecombat.com/c/teachers') teachers forum
|
a(href='http://discourse.codecombat.com/c/teachers', data-i18n="teachers.more_info_2")
|
||||||
span.spr.spl is a good place to connect with fellow educators who are using CodeCombat.
|
span.spr.spl(data-i18n="teachers.more_info_3")
|
||||||
|
|
||||||
h3(data-i18n="teachers.sys_requirements_title")
|
h3(data-i18n="teachers.sys_requirements_title")
|
||||||
p(data-i18n="teachers.sys_requirements_1")
|
p(data-i18n="teachers.sys_requirements_1")
|
||||||
|
|
|
@ -59,16 +59,16 @@ block append content
|
||||||
|
|
||||||
.panel.panel-default
|
.panel.panel-default
|
||||||
.panel-heading
|
.panel-heading
|
||||||
h3.panel-title Clans
|
h3.panel-title(data-i18n="clans.clans") Clans
|
||||||
if (!clans)
|
if (!clans)
|
||||||
.panel-body
|
.panel-body
|
||||||
p(data-i18n="common.loading")
|
p(data-i18n="common.loading")
|
||||||
else if (clans.length)
|
else if (clans.length)
|
||||||
table.table
|
table.table
|
||||||
tr
|
tr
|
||||||
th.col-xs-4 Name
|
th.col-xs-4(data-i18n="clans.name") Name
|
||||||
th.col-xs-4 Chieftain
|
th.col-xs-4(data-i18n="clans.chieftain") Chieftain
|
||||||
th.col-xs-4 Heroes
|
th.col-xs-4(data-i18n="play.heroes") Heroes
|
||||||
each clan in clans
|
each clan in clans
|
||||||
tr
|
tr
|
||||||
td
|
td
|
||||||
|
@ -81,7 +81,7 @@ block append content
|
||||||
td= clan.get('members').length
|
td= clan.get('members').length
|
||||||
else
|
else
|
||||||
.panel-body
|
.panel-body
|
||||||
p Not a member of any clans yet.
|
p(data-i18n="user.not_member_of_clans") Not a member of any clans yet.
|
||||||
|
|
||||||
.panel.panel-default
|
.panel.panel-default
|
||||||
.panel-heading
|
.panel-heading
|
||||||
|
|
Reference in a new issue