18n(merge): merge @Sinza- pr, @lefnire now it is ready

This commit is contained in:
Matteo Pagliazzi 2014-01-30 22:25:42 +01:00
commit 76db2d49c2
16 changed files with 148 additions and 168 deletions

View file

@ -78,24 +78,9 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html')
.popover-content
p=env.t('welcomeMarket')
p
button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()')
=env.t('sell')
|  {{selectedEgg.text}} 
=env.t('for')
|  {{selectedEgg.value}} 
=env.t('gold')
button.btn.btn-primary(ng-show='selectedPotion', ng-click='sellInventory()')
=env.t('sell')
|  {{selectedPotion.text}} 
=env.t('for')
|  {{selectedPotion.value}} 
=env.t('gold')
button.btn.btn-primary(ng-show='selectedFood', ng-click='sellInventory()')
=env.t('sell')
|  {{selectedFood.text}} 
=env.t('for')
|  {{selectedFood.value}} 
=env.t('gold')
button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()')=env.t('sellForGold', {item: "{{selectedEgg.text}}", gold: "{{selectedEgg.value}}"})
button.btn.btn-primary(ng-show='selectedPotion', ng-click='sellInventory()')=env.t('sellForGold', {item: "{{selectedPotion.text}}", gold: "{{selectedPotion.value}}"})
button.btn.btn-primary(ng-show='selectedFood', ng-click='sellInventory()')=env.t('sellForGold', {item: "{{selectedFood.text}}", gold: "{{selectedFood.value}}"})
menu.inventory-list(type='list')
li.customize-menu
menu.pets-menu(label=env.t('eggs'))

View file

@ -10,7 +10,7 @@ script(type='text/ng-template', id='partials/options.inventory.mounts.html')
h3.popover-title
a(target='_blank', href='http://www.kickstarter.com/profile/mattboch')=env.t('mattBoch')
.popover-content
p=env.t('mattShall1') + ' {{user.profile.name}} ' + env.t('mattShall2')
p=env.t('mattShall', {name: "{{user.profile.name}}"})
h4= '{{mountCount}} / {{totalPets}} ' + env.t('mountsTamed')
menu.pets(type='list')
li.customize-menu(ng-repeat='egg in Content.eggs')

View file

@ -1,15 +1,15 @@
script(id='partials/options.profile.avatar.html', type='text/ng-template')
.row-fluid
.span4
h3=env.t('bodybody')
h3=env.t('bodyBody')
small
| 2 <span class="Pet_Currency_Gem1x inline-gems"/> /
= ' ' + env.t('locked')
h5=env.t('bodysize')
h5=env.t('bodySize')
.btn-group
button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})')=env.t('bodyslim')
button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})')=env.t('bodybroad')
button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})')=env.t('bodySlim')
button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})')=env.t('bodyBroad')
menu(type='list')
li.customize-menu
@ -17,15 +17,15 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template')
each shirt in ['black', 'blue', 'green', 'pink', 'white', 'yellow']
button.customize-option(class='{{user.preferences.size}}_shirt_'+shirt, type='button', ng-click='set({"preferences.shirt":"'+shirt+'"})')
menu(label=env.t('specialshirts'))
menu(label=env.t('specialShirts'))
each shirt in ['convict', 'cross', 'fire', 'horizon', 'ocean', 'purple', 'rainbow', 'redblue', 'thunder', 'tropical', 'zombie']
button.customize-option(type='button', class='{{user.preferences.size}}_shirt_'+shirt, ng-class='{locked: !user.purchased.shirt.'+shirt+'}', ng-click='unlock("shirt.'+shirt+'")')
menu
button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")')!= env.t('unlockset5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")')!= env.t('unlockSet5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
.span4
h3=env.t('bodyhead')
h3=env.t('bodyHead')
small
| 2 <span class="Pet_Currency_Gem1x inline-gems"/> /
= ' ' + env.t('locked')
@ -38,35 +38,35 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template')
// Special Events
li.customize-menu.well.limited-edition
.label.label-info.pull-right(popover=env.t('limited31Jan'), popover-title=env.t('limitededition'), popover-placement='right', popover-trigger='mouseenter')
=env.t('limitededition')
.label.label-info.pull-right(popover=env.t('limited31Jan'), popover-title=env.t('limitedEdition'), popover-placement='right', popover-trigger='mouseenter')
=env.t('limitedEdition')
|
i.icon.icon-question-sign
menu(label=env.t('wintercolors'))
menu(label=env.t('winterColors'))
each color in ['candycane','frost','winternight','holly']
button(type='button', ng-class='{locked: !user.purchased.hair.color.#{color}}', class='customize-option hair_bangs_1_#{color}', style='width: 40px; height: 40px;', ng-click='unlock("hair.color.#{color}")')
button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")')!= env.t('unlockset5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")')!= env.t('unlockSet5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
h5=env.t('bodyhair')
h5=env.t('bodyHair')
// Bangs
li.customize-menu
menu(label=env.t('hairbangs'))
menu(label=env.t('hairBangs'))
button(class='head_0 customize-option', type='button', ng-click='set({"preferences.hair.bangs":0})')
each num in [1,2,3]
button(class='hair_bangs_#{num}_{{user.preferences.hair.color}} customize-option', type='button', ng-click='set({"preferences.hair.bangs":#{num}})')
// Base
li.customize-menu
menu(label=env.t('hairbase'))
menu(label=env.t('hairBase'))
button(class='head_0 customize-option', type='button', ng-click='set({"preferences.hair.base":0})')
each v,k in {1:true,2:false,3:true,4:false,5:false,6:false,7:false,8:false}
case v
when true: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-click='set({"preferences.hair.base":#{k}})')
when false: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.base.#{k}}', ng-click='unlock("hair.base.#{k}")')
button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")')!= env.t('unlockset5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")')!= env.t('unlockSet5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
h5=env.t('bodyfacialhair')
h5=env.t('bodyFacialHair')
// Beard
li.customize-menu
@ -82,31 +82,31 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template')
each num in [1,2]
button(class='hair_mustache_#{num}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.mustache.#{num}}', ng-click='unlock("hair.mustache.#{num}")')
button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")')!= env.t('unlockset5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")')!= env.t('unlockSet5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
.span4
h3=env.t('bodyskin')
h3=env.t('bodySkin')
small
| 2 <span class="Pet_Currency_Gem1x inline-gems"/> /
= ' ' + env.t('locked')
// skin
li.customize-menu
menu(label=env.t('basicskins'))
menu(label=env.t('basicSkins'))
each color in ['ddc994','f5a76e','ea8349','c06534','98461a','915533','c3e1dc','6bd049']
button.customize-option(type='button', class='skin_#{color}', ng-click='set({"preferences.skin":"#{color}"})')
// Rainbow Skin
h5=env.t('rainbowskins')
h5=env.t('rainbowSkins')
//menu(label='Rainbow Skins (2G / skin)')
menu
each color in ['eb052b','f69922','f5d70f','0ff591','2b43f6','d7a9f7','800ed0','rainbow']
button.customize-option(type='button', class='skin_#{color}', ng-class='{locked: !user.purchased.skin.#{color}}', ng-click='unlock("skin.#{color}")')
button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")')!= env.t('unlockset5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")')!= env.t('unlockSet5') + ' <span class="Pet_Currency_Gem1x inline-gems"/>'
// Special Events
// restore to d4df481 to see purchasing + "limited edition" code
div(ng-if='user.purchased.skin.monster || user.purchased.skin.pumpkin || user.purchased.skin.skeleton || user.purchased.skin.zombie || user.purchased.skin.ghost || user.purchased.skin.shadow')
h5=env.t('spookyskins')
h5=env.t('spookySkins')
menu
each color in ['monster','pumpkin','skeleton','zombie','ghost','shadow']
button.customize-option(type='button', class='skin_#{color}', ng-if='user.purchased.skin.#{color}', ng-click='unlock("skin.#{color}")')
@ -116,11 +116,11 @@ script(id='partials/options.profile.stats.html', type='text/ng-template')
.border-right(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"')
include ../shared/profiles/stats
.span4.border-right.allocate-stats(ng-if='user.flags.classSelected && !user.preferences.disableClasses')
h3=env.t('characterbuild')
h3=env.t('characterBuild')
h4
=env.t('class') + ': '
span {{ {warrior:'Warrior',wizard:'Mage',healer:'Healer',rogue:'Rogue'}[user.stats.class] }}&nbsp;
a.btn.btn-danger.btn-mini(ng-click='changeClass(null)')=env.t('changeclass')
a.btn.btn-danger.btn-mini(ng-click='changeClass(null)')=env.t('changeClass')
small 3 <span class="Pet_Currency_Gem1x inline-gems"/>
table.table.table-striped
tr
@ -129,53 +129,53 @@ script(id='partials/options.profile.stats.html', type='text/ng-template')
{{user.stats.points}}&nbsp;
=env.t('unallocated')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('levelpopover'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('levelPopover'))
td
tr
td(colspan=2)
fieldset.auto-allocate
label.checkbox
input(type='checkbox', ng-model='user.preferences.automaticAllocation', ng-change='set({"preferences.automaticAllocation": user.preferences.automaticAllocation?true: false})', ng-click='set({"preferences.allocationMode":"taskbased"})')
=env.t('automaticallocation')
=env.t('autoAllocation')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('automaticallocationpopover'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('autoAllocationPop'))
form(ng-show='user.preferences.automaticAllocation',style='margin-left:1em')
label.radio
input(type='radio', name='allocationMode', value='flat', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "flat"})')
=env.t('evenallocation')
=env.t('evenAllocation')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('evenallocationpopover'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('evenAllocationPop'))
label.radio
input(type='radio', name='allocationMode', value='classbased', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "classbased"})')
=env.t('classallocation')
=env.t('classAllocation')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('classallocationpopover'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('classAllocationPop'))
label.radio
input(type='radio', name='allocationMode', value='taskbased', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "taskbased"})')
=env.t('taskallocation')
=env.t('taskAllocation')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('taskallocationpopover'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('taskAllocationPop'))
div(ng-show='user.preferences.automaticAllocation && !(user.preferences.allocationMode === "taskbased") && (user.stats.points > 0)')
a.btn.btn-primary.btn-mini(ng-click='user.ops.allocateNow({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('distributepointspopover'))
a.btn.btn-primary.btn-mini(ng-click='user.ops.allocateNow({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('distributePointsPop'))
i.icon-download.icon-white
&nbsp;
=env.t('distributepoints')
=env.t('distributePoints')
tr
td= env.t('allocatestr') + ' {{user.stats.str}}'
td= env.t('allocateStr') + ' {{user.stats.str}}'
td
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("str")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocatestrpop')) +
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("str")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateStrPop')) +
tr
td= env.t('allocatecon') + ' {{user.stats.con}}'
td= env.t('allocateCon') + ' {{user.stats.con}}'
td
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("con")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateconpop')) +
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("con")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateConPop')) +
tr
td= env.t('allocateper') + ' {{user.stats.per}}'
td= env.t('allocatePer') + ' {{user.stats.per}}'
td
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("per")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateperpop')) +
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("per")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocatePerPop')) +
tr
td= env.t('allocateint') + ' {{user.stats.int}}'
td= env.t('allocateInt') + ' {{user.stats.int}}'
td
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("int")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateintpop')) +
a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("int")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateIntPop')) +
div(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"')
include ../shared/profiles/achievements
@ -183,19 +183,19 @@ script(id='partials/options.profile.profile.html', type='text/ng-template')
button.btn.btn-default(ng-click='_editing.profile = true', ng-show='!_editing.profile')= env.t('edit')
button.btn.btn-primary(ng-click='save()', ng-show='_editing.profile')= env.t('save')
div(ng-show='!_editing.profile')
h4=env.t('displayname')
h4=env.t('displayName')
span(ng-show='profile.profile.name') {{profile.profile.name}}
span.muted(ng-hide='profile.profile.name') -&nbsp;
=env.t('none')
| &nbsp;-
h4=env.t('displayphoto')
h4=env.t('displayPhoto')
img(ng-show='profile.profile.imageUrl', ng-src='{{profile.profile.imageUrl}}')
span.muted(ng-hide='profile.profile.imageUrl') -&nbsp;
=env.t('none')
| &nbsp;-
h4=env.t('displayblurb')
h4=env.t('displayBlurb')
markdown(ng-show='profile.profile.blurb', ng-model='profile.profile.blurb')
span.muted(ng-hide='profile.profile.blurb') -&nbsp;
=env.t('none')
@ -205,14 +205,14 @@ script(id='partials/options.profile.profile.html', type='text/ng-template')
div.whatever-options(ng-show='_editing.profile')
// TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak
.control-group.option-large
label.control-label=env.t('displayname')
label.control-label=env.t('displayName')
input.option-content(type='text', placeholder=env.t('fullName'), ng-model='editingProfile.name')
.control-group.option-large
label.control-label=env.t('photourl')
input.option-content(type='url', ng-model='editingProfile.imageUrl', placeholder=env.t('imageurl'))
label.control-label=env.t('photoUrl')
input.option-content(type='url', ng-model='editingProfile.imageUrl', placeholder=env.t('imageUrl'))
.control-group.option-large
label.control-label=env.t('displayblurb')
textarea.option-content(style='height:15em;', placeholder=env.t("displayblurb"), ng-model='editingProfile.blurb')
label.control-label=env.t('displayBlurb')
textarea.option-content(style='height:15em;', placeholder=env.t('displayBlurb'), ng-model='editingProfile.blurb')
include ../shared/formatting-help
script(id='partials/options.profile.html', type="text/ng-template")
@ -222,7 +222,7 @@ script(id='partials/options.profile.html', type="text/ng-template")
=env.t('avatar')
li(ng-class="{ active: $state.includes('options.profile.stats') }")
a(ui-sref='options.profile.stats')
=env.t('statsach')
=env.t('statsAch')
li(ng-class="{ active: $state.includes('options.profile.profile') }")
a(ui-sref='options.profile.profile')
=env.t('profile')

View file

@ -8,7 +8,7 @@ script(id='partials/options.settings.html', type="text/ng-template")
=env.t('API')
li(ng-class="{ active: $state.includes('options.settings.export') }")
a(ui-sref='options.settings.export')
=env.t('dataexport')
=env.t('dataExport')
li(ng-class="{ active: $state.includes('options.settings.subscription') }")
a(ui-sref='options.settings.subscription')=env.t('subscription')
@ -40,36 +40,36 @@ script(type='text/ng-template', id='partials/options.settings.settings.html')
input(type='checkbox', ng-click='set({"preferences.hideHeader":user.preferences.hideHeader?false:true})', ng-checked='user.preferences.hideHeader!==true')
=env.t('showHeader')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('showHeaderpop'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('showHeaderPop'))
label.checkbox
input(type='checkbox', ng-click='toggleStickyHeader()', ng-checked='user.preferences.stickyHeader!==false')
=env.t('stickyHeader')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('stickyHeaderpop'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('stickyHeaderPop'))
label.checkbox
input(type='checkbox', ng-model='user.preferences.newTaskEdit', ng-change='set({"preferences.newTaskEdit": user.preferences.newTaskEdit?true: false})')
=env.t('newtaskedit')
=env.t('newTaskEdit')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('newtaskeditpop'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('newTaskEditPop'))
label.checkbox
input(type='checkbox', ng-model='user.preferences.tagsCollapsed', ng-change='set({"preferences.tagsCollapsed": user.preferences.tagsCollapsed?true: false})')
=env.t('startcollapsed')
=env.t('startCollapsed')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startcollapsedpop'))
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startCollapsedPop'))
label.checkbox
input(type='checkbox', ng-model='user.preferences.advancedCollapsed', ng-change='set({"preferences.advancedCollapsed": user.preferences.advancedCollapsed?true: false})')
=env.t('startacollapsed')
=env.t('startAdvCollapsed')
&nbsp;
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startacollapsedpop'))
button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('showtourpop1'))= env.t('showtour')
i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startAdvCollapsedPop'))
button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('restartTour'))= env.t('showTour')
br
button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop'))= env.t('showtour2')
button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showBaileyPop'))= env.t('showBailey')
br
button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixvalpop'))= env.t('fixval')
button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixValPop'))= env.t('fixVal')
div(ng-if='user.preferences.disableClasses==true')
button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableclasspop'))= env.t('enableclass')
button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableClassPop'))= env.t('enableClass')
div(ng-if='!user.preferences.disableClasses && user.flags.classSelected')
button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('classtourpop'))= env.t('showclass')
button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('classTourPop'))= env.t('showClass')
//- Why is ng-if='user.auth.local' validating for users *without* user.auth.local (facebook users)? adding .username here for extra
div(ng-if='user.auth.local.username')
@ -86,8 +86,8 @@ script(type='text/ng-template', id='partials/options.settings.settings.html')
hr
h4=env.t('dangerZone')
a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('resetaccpop'))= env.t('resetaccount')
a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover=env.t('deleteaccpop'))= env.t('deleteaccount')
a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('resetAccPop'))= env.t('resetAccount')
a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover=env.t('deleteAccPop'))= env.t('deleteAccount')
script(type='text/ng-template', id='partials/options.settings.api.html')
.row.fluid
@ -98,19 +98,19 @@ script(type='text/ng-template', id='partials/options.settings.api.html')
pre.prettyprint {{user.id}}
h6=env.t('APIToken')
pre.prettyprint {{user.apiToken}}
h6=env.t('qrcode')
h6=env.t('qrCode')
img(src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=%7B%22address%22%3A%22https%3A%2F%2Fhabitrpg.com%22%2C%22user%22%3A%22{{user.id}}%22%2C%22key%22%3A%22{{user.apiToken}}%22%7D&choe=UTF-8&chld=L', alt='qrcode')
script(id='partials/options.settings.export.html', type="text/ng-template")
.row.fluid
.span6
h2=env.t('dataexport')
small=env.t('dataexports')
h4=env.t('habithistory')
=env.t('exporthistory')
h2=env.t('dataExport')
small=env.t('saveData')
h4=env.t('habitHistory')
=env.t('exportHistory')
a(href="/export/history.csv")= ' ' + env.t('csv')
h4=env.t('userdata')
=env.t('exportuserdata')
h4=env.t('userData')
=env.t('exportUserData')
a(href="/export/userdata.xml")= ' ' + env.t('xml') + ' '
a(href="/export/userdata.json")= env.t('json')

View file

@ -1,6 +1,6 @@
script(type='text/ng-template', id='partials/options.social.challenges.detail.close.html')
a.btn.btn-small.btn-danger(ng-click="delete(closingChal)")=env.t('delete')
h5=env.t('minusOr')
h5= '- ' + env.t('or') + ' -'
select(ui-select2, ng-required=true, ng-model='closingChal.winner', data-placeholder=env.t('selectWinner'), ng-change='selectWinner(closingChal)', )
option(value='')
option(ng-repeat='u in closingChal.members', value='{{u._id}}') {{u.profile.name}}
@ -111,7 +111,7 @@ script(type='text/ng-template', id='partials/options.social.challenges.html')
span.input-suffix.Pet_Currency_Gem1x.inline-gems
i.icon-question-sign(popover=env.t('prizePop'), popover-trigger='mouseenter', popover-placement='right')
span(ng-show='newChallenge.group=="habitrpg"')
!=env.t('min1Gem') + ' <strong>' + env.t('publicChallenges') + '</strong> ' + env.t('helpsPrevent')
!=env.t('publicChallenges')
.option-medium(ng-if='user.contributor.admin')
label.checkbox

View file

@ -11,7 +11,7 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guild
// ------ Bosses -------
.modal.inline-modal(bindonce='group', ng-if='group.type==="party" && group.quest.key')
.modal-header
h3(ng-if='group.quest.active==false')=env.t('questInv') + '{{Content.quests[group.quest.key].text}}'
h3(ng-if='group.quest.active==false')=env.t('questInvitation') + '{{Content.quests[group.quest.key].text}}'
h3(ng-if='group.quest.active==true') {{Content.quests[group.quest.key].text}}
.modal-body
div(ng-if='group.quest.active==false')
@ -61,9 +61,9 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guild
div(ng-if='Content.quests[group.quest.key].boss')
.npc_ian.pull-left
p!=env.t('bossDmg1') + ' <strong>' + env.t('bossDmg2') + '</strong>'
p!=env.t('bossDmg1')
br
p=env.t('bossDmg3')
p=env.t('bossDmg2')
div(ng-if='Content.quests[group.quest.key].collect')
.npc_ian.pull-left
@ -88,7 +88,7 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guild
input.option-content(type='text', ng-model='group.name', placeholder=env.t('groupName'))
.control-group.option-large
label.control-label=env.t('description')
textarea.option-content(style='height:15em;', placeholder=env.t('groupdescr'), ng-model='group.description')
textarea.option-content(style='height:15em;', placeholder=env.t('groupDescr'), ng-model='group.description')
.control-group.option-large
label.control-label=env.t('logoUrl')
input.option-content(type='url', placeholder=env.t('logoUrl'), ng-model='group.logo')
@ -131,7 +131,7 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guild
tr(ng-if='group.memberCount > group.members.length')
td
|<span class='badge'>{{group.memberCount - group.members.length}}
= ' ' + env.t('moremembers')
= ' ' + env.t('moreMembers')
|</span>
h4(ng-show='group.invites.length > 0')=env.t('invited')

View file

@ -42,9 +42,9 @@ script(type='text/ng-template', id='partials/options.social.hall.heroes.html')
.control-group.option-medium
input.option-content(type='number', step="any", ng-model='hero.balance')
span.input-suffix Balance
span.input-suffix=env.t('balance')
p
small!= '`user.balance`' + env.t('USD1') + ' <em>' + env.t('not') + '</em> ' + env.t('USD2')
small!= '`user.balance`' + env.t('notGems')
.control-group.option-medium
label.checkbox

View file

@ -68,35 +68,40 @@
a.label.label-contributor-1(ng-click='toggleUserTier($event)')=env.t('friendBadge')
div(style='display:none;')
p
!= '<span class="achievement achievement-firefox"></span> ' + env.t('friendText') + '<strong> ' + env.t('first') + '</strong> ' + env.t('friend1Text') + '<strong> 2 ' + env.t('gems') + '</strong>.'
span.achievement.achievement-firefox
!=env.t('friendFirst')
hr
p
!= '<span class="shop_armor_special_1 shop-sprite item-img"></span> ' + env.t('friendText') + '<strong> ' + env.t('second') + '</strong> ' + env.t('friendText2') + '<strong> ' + env.t('crystalArmor') + '</strong> ' + env.t('friendText3') + '<strong> 2 ' + env.t('gems') + '</strong>.'
span.shop-sprite.item-img(class='shop_armor_special_1')
!=env.t('friendSecond')
tr
td
a.label.label-contributor-3(ng-click='toggleUserTier($event)')=env.t('eliteBadge')
div(style='display:none;')
p
!= '<span class="shop_head_special_1 shop-sprite item-img"></span> ' + env.t('friendText') + ' <strong>' + env.t('third') + '</strong> ' + env.t('friendText2') + ' <strong>' + env.t('crystalHelmet') + '</strong> ' + env.t('friendText3') + '<strong> 2 ' + env.t('gems') + '</strong>.'
span.shop-sprite.item-img(class='shop_head_special_1')
!=env.t('eliteThird')
hr
p
!= '<span class="shop_weapon_special_1 shop-sprite item-img"></span> ' + env.t('friendText') + ' <strong>' + env.t('fourth') + '</strong> ' + env.t('friendText2') + ' <strong>' + env.t('crystalSword') + '</strong> ' + env.t('friendText3') + '<strong> 2 ' + env.t('gems') + '</strong>.'
span.shop-sprite.item-img(class='shop_weapon_special_1')
!=env.t('eliteFourth')
tr
td
a.label.label-contributor-5(ng-click='toggleUserTier($event)')=env.t('championBadge')
div(style='display:none;')
p
!= '<span class="shop_shield_special_1 shop-sprite item-img"></span> ' + env.t('friendText') + ' <em>' + env.t('fifth') + '</em> ' + env.t('friendText2') + ' <strong>' + env.t('crystalShield') + '</strong> ' + env.t('friendText3') + '<strong> 2 ' + env.t('gems') + '</strong>.'
span.shop-sprite.item-img(class='shop_shield_special_1')
!=env.t('championFifth')
hr
p
!= '<div class="Pet-Dragon-Hydra pull-left"></div>' + env.t('friendText') + ' <em>' + env.t('sixth') + '</em> ' + env.t('friendText2b') + ' <strong>' + env.t('hydraPet') + '</strong> ' + env.t('friendText3b') + '<strong> 2 ' + env.t('gems') + '</strong>.'
div(class='Pet-Dragon-Hydra pull-left')
!=env.t('championSixth')
tr
td
a.label.label-contributor-7(ng-click='toggleUserTier($event)')=env.t('legendaryBadge')
div(style='display:none;')
p
!= env.t('friendText') + ' <em>' + env.t('seventh') + '</em> ' + env.t('friendText2c') + '<strong> 2 ' + env.t('gems') + ' </strong>' + env.t('friendText3c')
!=env.t('legSeventh')
tr
td
a.label.label-contributor-8(ng-click='toggleUserTier($event)')=env.t('heroicBadge')
@ -111,12 +116,12 @@
include ./challenge-box
.span8(ng-controller='ChatCtrl')
h3=env.t('taverntalk')
h3=env.t('tavernTalk')
include ./chat-box
small(style='position: relative; top: -20px; left: 25px;')
include ../../shared/formatting-help
small(style='position: relative; top: 18px; left: 0px')
alert.alert-info
!=env.t('tavernalert1') + ' <a href="https://github.com/HabitRPG/habitrpg/issues" target="_blank">' + env.t('tavernalert2') + '</a>.'
!=env.t('tavernAlert1') + ' <a href="https://github.com/HabitRPG/habitrpg/issues" target="_blank">' + env.t('tavernAlert2') + '</a>.'
ul.unstyled.tavern-chat
include ./chat-message

View file

@ -47,4 +47,4 @@ figure.herobox(ng-click='spell ? castEnd(profile, "user", $event) : clickMember(
i.icon-circle-arrow-up.icon-white(ng-show='profile.stats.buffs.str || profile.stats.buffs.per || profile.stats.buffs.con || profile.stats.buffs.int || profile.stats.buffs.stealth', tooltip=env.t('buffed'), style='margin-right:5px;')
=env.t('lvl')
| {{profile.stats.lvl}}
i.icon-plus-sign.icon-white(ng-show='profile.achievements.rebirths', tooltip=env.t('reborn') + '{{profile.achievements.rebirthLevel}}', style='margin-left:5px')
i.icon-plus-sign.icon-white(ng-show='profile.achievements.rebirths', tooltip=env.t('reborn', {reLevel: "{{profile.achievements.rebirthLevel}}"}), style='margin-left:5px')

View file

@ -36,11 +36,8 @@ div(modal='user.flags.contributor')
.modal-body
.npc_justin.float-left
p
| {{user.profile.name}},
=env.t('contribText1')
| {{user.contributor.level}}
=env.t('contribText2')
a(href='http://habitrpg.wikia.com/wiki/Contributor_Rewards' target='_blank')=env.t('contribText3')
!=env.t('contribModal', {name: "{{user.profile.name}}", level: "{{user.contributor.level}}"})
a(href='http://habitrpg.wikia.com/wiki/Contributor_Rewards' target='_blank')=env.t('contribLink')
.modal-footer
button.btn.btn-default.cancel(ng-click='set({"flags.contributor":false})')=env.t('ok')
@ -50,10 +47,6 @@ div(modal='modals.achievements.rebirth')
h3=env.t('modalAchievement')
.modal-body
.achievement.achievement-sun
=env.t('rebirthAchievement1')
| {{user.achievements.rebirths}}
=env.t('rebirthAchievement2')
| {{user.achievements.rebirthLevel}}.
=env.t('rebirthAchievement3')
=env.t('rebirthAchievement', {number: "{{user.achievements.rebirths}}", level: "{{user.achievements.rebirthLevel}}"})
.modal-footer
button.btn.btn-default.cancel(ng-click='modals.achievements.rebirth = false')=env.t('ok')

View file

@ -1,7 +1,7 @@
div(ng-controller='SettingsCtrl')
div(modal='modals.reset')
.modal-header
h3=env.t('resetaccount')
h3=env.t('resetAccount')
.modal-body
p=env.t('resetText1')
p=env.t('resetText2')
@ -64,11 +64,9 @@ div(ng-controller='SettingsCtrl')
div(modal='modals.delete')
.modal-header
h3=env.t('deleteaccount')
h3=env.t('deleteAccount')
.modal-body
p=env.t('deleteText1')
strong=env.t('deleteText2')
=env.t('deleteText3')
p!=env.t('deleteText')
p
input(type='text', ng-model='_deleteAccount')
.modal-footer

View file

@ -93,9 +93,7 @@ li(bindonce='list', bo-id='"task-"+task.id', ng-repeat='task in obj[list.type+"s
a(ng-click='unlink(task, "remove-all")')=env.t('removeThem')
div(ng-if='task.challenge.broken=="CHALLENGE_CLOSED"')
p
=env.t('challengeCompleted1')
span.badge {{task.challenge.winner}}
=env.t('challengeCompleted2')
!=env.t('challengeCompleted', {user: "{{task.challenge.winner}}"})
p
a(ng-click='unlink(task, "keep-all")')=env.t('keepThem')
| &nbsp;|&nbsp;

View file

@ -5,7 +5,7 @@ block vars
- var menuItem = 'about'
block title
title About
title=env.t('companyAbout')
block content
.container

View file

@ -3,7 +3,7 @@ block vars
- var layoutEnv = env
- var menuItem = 'contact'
block title
title Contact
title=env.t('contact')
block content
// Probably just add linkks to the respective contact locations?
// Bugs? Github

View file

@ -27,15 +27,15 @@ html
ul.nav
li(class='#{menuItem=="home" ? "active" : ""}')
a(href='/static/front') Home
a(href='/static/front')=env.t('home')
li(class='#{menuItem=="about" ? "active" : ""}')
a(href='/static/about') Learn More
a(href='/static/about')=env.t('learnMore')
li
a(href='http://blog.habitrpg.com/') Blog
a(href='http://blog.habitrpg.com/')=env.t('companyBlog')
li(class='#{menuItem=="plans" ? "active" : ""}')
a(href='/static/plans') Group Plans
a(href='/static/plans')=env.t('groupPlans')
//li(class='#{menuItem=="contact" ? "active" : ""}')
a(href='/static/contact') Contact
a(href='/static/contact')=env.t('contact')
.container
block content

View file

@ -5,25 +5,33 @@ block vars
- var menuItem = 'plans'
block title
title Group Plans
title=env.t('groupPlans')
block content
h2 Group Plans
h2=env.t('groupPlans')
p For individuals, HabitRPG is free to play. Even for small interest groups, free (or cheap) <a href='http://habitrpg.wikia.com/wiki/Guilds' target='_blank'>guilds</a> and <a href='http://habitrpg.wikia.com/wiki/Challenges' target='_blank'>challenges</a> can be used to motivate participants in behavioral modification. Think writing groups, art challenges, and more.
p But some group leaders will want more control, privacy, security, and support. Examples of such groups are families, health and wellness groups, employee groups, and more. These plans provide private instances of HabitRPG for your group or organization, secure and independent of <a href='http://habitrpg.wikia.com/wiki/Habitica' target='_blank'>Habitica</a>. See below for additional plan perks, and contact us for more information!
p
=env.t('indivPlan1')
a(href='http://habitrpg.wikia.com/wiki/Guilds' target='_blank')=env.t('guilds')
= ' ' + env.t('and') + ' '
a(href='http://habitrpg.wikia.com/wiki/Challenges' target='_blank')=env.t('challenges')
=env.t('indivPlan2')
p
=env.t('groupText1')
a(href='http://habitrpg.wikia.com/wiki/Habitica' target='_blank')=env.t('habitica')
|.&nbsp;
=env.t('groupText2')
.subscription-features
table.table.table-striped
tr
th.feature-name
th.feature-name.muted Family (Coming Soon)
th.feature-name.muted Group (Coming Soon)
th.feature-name Organization
th.feature-name.muted=env.t('planFamily')
th.feature-name.muted=env.t('planGroup')
th.feature-name=env.t('organization')
tr
th
span.dashed-underline(popover="Members of the organization participate outside of HabitRPG proper, providing focus for your participants.",popover-trigger='mouseenter',popover-placement='right')
| Private Organization
span.dashed-underline(popover=env.t('organizationSubText'),popover-trigger='mouseenter',popover-placement='right')=env.t('organizationSub')
td.muted
i.icon-ok
td.muted
@ -32,53 +40,46 @@ block content
i.icon-ok
tr
th
span.dashed-underline(popover="Dedicated Hosting: you get your own database and server hosted by HabitRPG, or optionally we'll install it in your organization's network. If not checked, the plan uses \"Shared Hosting\": your organization uses the same database as HabitRPG proper while performing independently Habitica. Your members are shielded from Tavern & Guilds, but still on the same server/database.",popover-trigger='mouseenter',popover-placement='right')
| Dedicated Hosting
span.dashed-underline(popover=env.t('dedicatedHostText'),popover-trigger='mouseenter',popover-placement='right')=env.t('dedicatedHost')
td
td
td
i.icon-ok
tr
th
span.dashed-underline(popover="We can optionally give you your own domain for the installation.",popover-trigger='mouseenter',popover-placement='right')
| Custom Domain
span.dashed-underline(popover=env.t('customDomainText'),popover-trigger='mouseenter',popover-placement='right')=env.t('customDomain')
td
td
td
i.icon-ok
tr
th
span.dashed-underline(popover="The maximum number of players in your private organization.",popover-trigger='mouseenter',popover-placement='right')
| Max Participants
span.dashed-underline(popover=env.t('maxPlayersText'),popover-trigger='mouseenter',popover-placement='right')=env.t('maxPlayers')
td.muted 10
td.muted 75
td Unlimited
td=env.t('unlimited')
tr
th
span.dashed-underline(popover="First to be provided for with support.",popover-trigger='mouseenter',popover-placement='right')
| Priority Support On Tickets & Hosting
span.dashed-underline(popover=env.t('priSupportText'),popover-trigger='mouseenter',popover-placement='right')=env.t('priSupport')
td
td
td
i.icon-ok
tr
th
span.dashed-underline(popover="We will provide support for training, bugs, installation, and feature requests. Additional hours available at an hourly rate.",popover-trigger='mouseenter',popover-placement='right')
| Support Hours / Month
span.dashed-underline(popover=env.t('timeSupportText'),popover-trigger='mouseenter',popover-placement='right')=env.t('timeSupport')
td.muted -
td.muted 5
td 10
tr
th
h5 Game features:
h5=env.t('gameFeatures') + ':'
ul
li Ads disabled for members
li=env.t('gameNoAds')
li
span.dashed-underline(popover="Members will be able to purchase gems with gold, meaning none of your participants need to buy anything with real money.",popover-trigger='mouseenter',popover-placement='right')
| Gems purchasable with gold
span.dashed-underline(popover=env.t('gold2GemText'),popover-trigger='mouseenter',popover-placement='right')=env.t('gold2Gem')
li
span.dashed-underline(popover="We will provide the organization leaders with as many gems as they need, for things like challenge prizes, guild-creation, etc.",popover-trigger='mouseenter',popover-placement='right')
| Infinite leader gems
span.dashed-underline(popover=env.t('infiniteGemText'),popover-trigger='mouseenter',popover-placement='right')=env.t('infiniteGem')
td.muted
i.icon-ok
td.muted
@ -89,8 +90,8 @@ block content
th
//| Price
td
a.btn(href='https://docs.google.com/forms/d/17torT7OlxgtbHAPdBDRQNG2lTdIQyrGXk4O2YXvUMig/viewform',popover="Plan not yet available, but click to contact us and we'll keep you updated.",popover-placement='right',popover-trigger='mouseenter') Contact Us
a.btn.muted(href='https://docs.google.com/forms/d/17torT7OlxgtbHAPdBDRQNG2lTdIQyrGXk4O2YXvUMig/viewform',popover=env.t('notYetPlan'),popover-placement='right',popover-trigger='mouseenter')=env.t('contactUs')
td
a.btn.muted(href='https://docs.google.com/forms/d/17torT7OlxgtbHAPdBDRQNG2lTdIQyrGXk4O2YXvUMig/viewform',popover="Plan not yet available, but click to contact us and we'll keep you updated.",popover-placement='right',popover-trigger='mouseenter') Contact Us
a.btn.muted(href='https://docs.google.com/forms/d/17torT7OlxgtbHAPdBDRQNG2lTdIQyrGXk4O2YXvUMig/viewform',popover=env.t('notYetPlan'),popover-placement='right',popover-trigger='mouseenter')=env.t('contactUs')
td
a.btn.btn-primary(href='https://docs.google.com/forms/d/12Jqj_8f3oQS0B3ZUHewHbK61uLjBdzBeB0zyEqB9lxM/viewform') Contact Us
a.btn.btn-primary(href='https://docs.google.com/forms/d/12Jqj_8f3oQS0B3ZUHewHbK61uLjBdzBeB0zyEqB9lxM/viewform')=env.t('contactUs')