Merge pull request from Imperadeiro98/master

Updated i18n for clans
This commit is contained in:
Imperadeiro98 2015-05-16 19:36:56 +01:00
commit 461a7c9c49
7 changed files with 169 additions and 89 deletions

View file

@ -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"

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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