diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index 38205b3bf2..dda21c55ce 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -47,7 +47,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') p.muted(ng-show='questCount < 1')=env.t('noScrolls') p.muted!=env.t('scrollsText1') + ' ' + env.t('scrollsText2') + '' div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') - button.customize-option(popover=('{{quest.previous && !user.achievements.quests[quest.previous] ? "' + env.t('scrollsPre') + '" : quest.notes}}'), popover-title='{{quest.text}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', class='inventory_quest_scroll', ng-class='{locked: quest.previous && !user.achievements.quests[quest.previous]}') + button.customize-option(popover="{{quest.previous && !user.achievements.quests[quest.previous] ? env.t('scrollsPre') : quest.notes}}", popover-title='{{quest.text}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', class='inventory_quest_scroll', ng-class='{locked: quest.previous && !user.achievements.quests[quest.previous]}') .badge.badge-info.stack-count {{points}} li.customize-menu diff --git a/views/options/social/challenge-box.jade b/views/options/social/challenge-box.jade index 09d545635b..d5534095fe 100644 --- a/views/options/social/challenge-box.jade +++ b/views/options/social/challenge-box.jade @@ -1,8 +1,7 @@ // ------ Challenges ------- .modal(style='position: relative;top: auto;left: auto;right: auto;margin: 0 auto 20px;z-index: 1;max-width: 100%;') .modal-header - h3 - | Challenges + h3=env.t('challenges') a.pull-right(target='_blank', href='https://trello.com/card/challenges-individual-party-guild-public/50e5d3684fe3a7266b0036d6/58') i.icon-question-sign .modal-body(bindonce='group.challenges') @@ -12,5 +11,5 @@ td a(ui-sref='options.social.challenges.detail({cid:challenge._id})') {{challenge.name}} div(ng-if='group.challenges.length == 0') - p. - No challenges yet, visit Challenges to create one. \ No newline at end of file + p + =env.t('noChallenges') + " " + env.t('challenges') + " " + env.t('toCreate') diff --git a/views/options/social/challenges.jade b/views/options/social/challenges.jade index ceb3b2ec18..2378aafbd8 100644 --- a/views/options/social/challenges.jade +++ b/views/options/social/challenges.jade @@ -1,12 +1,12 @@ script(type='text/ng-template', id='partials/options.social.challenges.detail.close.html') - a.btn.btn-small.btn-danger(ng-click="delete(closingChal)") Delete - h5 - Or - - select(ui-select2, ng-required=true, ng-model='closingChal.winner', data-placeholder='Select winner, close challenge', ng-change='selectWinner(closingChal)', ) + a.btn.btn-small.btn-danger(ng-click="delete(closingChal)")=env.t('delete') + h5=env.t('minusOr') + 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}} small.pull-right - a(ng-click='cancelClosing(closingChal)') cancel + a(ng-click='cancelClosing(closingChal)')=env.t('cancel') script(type='text/ng-template', id='partials/options.social.challenges.detail.member.html') .modal.wide-modal @@ -16,43 +16,44 @@ script(type='text/ng-template', id='partials/options.social.challenges.detail.me .modal-body habitrpg-tasks(main=false) .modal-footer - a.btn(ng-click='$state.go("^")') Close + a.btn(ng-click='$state.go("^")')=env.t('close') script(type='text/ng-template', id='partials/options.social.challenges.detail.html') // Edit button div(bindonce='challenge', ng-if='challenge.leader==user._id') ul.unstyled li(ng-hide='challenge._locked==false') - button.btn.btn-small.btn-default(ng-click='challenge._locked = false') Edit - button.btn.btn-small.btn-warning(ng-click='close(challenge, $event)', tooltip='Delete or select winner') End Challenge + button.btn.btn-small.btn-default(ng-click='challenge._locked = false')=env.t('edit') + button.btn.btn-small.btn-warning(ng-click='close(challenge, $event)', tooltip=env.t('deleteOrSelect'))=env.t('endChallenge') li(ng-show='challenge._locked==false') - button.btn.btn-small.btn-primary(ng-click='save(challenge)') Save - button.btn.btn-small.btn-default(ng-click='challenge._locked=true') Cancel + button.btn.btn-small.btn-primary(ng-click='save(challenge)')=env.t('save') + button.btn.btn-small.btn-default(ng-click='challenge._locked=true')=env.t('cancel') div(ng-show='challenge._locked==false') .-options input.option-content(type='text', ng-model='challenge.name') .option-medium - input.option-content(type='text', minlength="3", maxlength="16", ng-model='challenge.shortName', placeholder='Tag Name', required) - textarea.option-content(cols='3', placeholder='Description', ng-model='challenge.description') + input.option-content(type='text', minlength="3", maxlength="16", ng-model='challenge.shortName', placeholder=env.t('challengeTag'), required) + textarea.option-content(cols='3', placeholder=env.t('challengeDescr'), ng-model='challenge.description') hr .well(bindonce='challenge', ng-if='challenge.description') markdown(ng-model='challenge.description') - i.icon-question-sign(popover="These are the challenge's tasks. As users participate, they will change color and gain graphs to show you the overall progress of the group.", popover-trigger='mouseenter', popover-placement='right') + i.icon-question-sign(popover=env.t('challengeDiscription'), popover-trigger='mouseenter', popover-placement='right') habitrpg-tasks(obj='challenge', main=false) // Member List div(bindonce='challenge', ng-if='challenge.members.length > 0') - a.btn.btn-primary.btn-small.pull-right(href='/api/v2/challenges/{{challenge._id}}/csv') Export to CSV - h3 How's Everyone Doing? + a.btn.btn-primary.btn-small.pull-right(href='/api/v2/challenges/{{challenge._id}}/csv') + =env.t('exportChallengeCSV') + h3=env.t('hows') menu button.customize-option(ng-repeat='member in challenge.members', ng-click='toggleMember(challenge._id, member._id)') {{member.profile.name}} div(ui-view) // Accordion version if we choose that instead //- div(ng-if='challenge.members') - h4 How's Everyone Doing? + h4=env.t('hows') .accordion-group(bindonce='challenge.members', ng-repeat='member in challenge.members') .accordion-heading a.accordion-toggle(ng-click='toggleMember(challenge._id, member._id)') {{member.profile.name}} @@ -63,59 +64,59 @@ script(type='text/ng-template', id='partials/options.social.challenges.detail.ht script(type='text/ng-template', id='partials/options.social.challenges.html') .row-fluid .span2.well#challenges-filters - h3 Filter: - h4 Groups + h3=env.t('filter') + ':' + h4=env.t('groups') ul.unstyled - a.btn.btn-mini.pull-left(ng-click='selectAll()') All - a.btn.btn-mini(ng-click='selectNone()') None + a.btn.btn-mini.pull-left(ng-click='selectAll()')=env.t('all') + a.btn.btn-mini(ng-click='selectNone()')=env.t('noNone') br label.checkbox(ng-repeat='group in groupsFilter') input(type='checkbox', ng-model='search.group[group._id]') | {{group.name}} - h4 Membership + h4=env.t('membership') label.radio input(type='radio', name='search-participation-radio', ng-click='search._isMember = true') - | Participating + =env.t('participating') label.radio input(type='radio', name='search-participation-radio', ng-click='search._isMember = false') - | Not Participating + =env.t('notParticipating') label.radio input(type='radio', name='search-participation-radio', ng-click='search._isMember = undefined', checked='checked') - | Either + =env.t('either') .span10 // Creation form - button.btn.btn-success#create-challenge-btn(ng-click='create()', ng-hide='newChallenge') Create Challenge + button.btn.btn-success#create-challenge-btn(ng-click='create()', ng-hide='newChallenge')=env.t('createChallenge') .create-challenge-from.well(ng-if='newChallenge') form(ng-submit='save(newChallenge)') div - input.btn.btn-success(type='submit', value='Save') - input.btn.btn-danger(type='button', ng-click='discard()', value='Discard') + input.btn.btn-success(type='submit', value=env.t('save')) + input.btn.btn-danger(type='button', ng-click='discard()', value=env.t('discard')) select(ng-model='newChallenge.group', ng-required='required', name='Group', ng-options='g._id as g.name for g in groups') .challenge-options - input.option-content(type='text', ng-model='newChallenge.name', placeholder='Challenge Title', required='required') + input.option-content(type='text', ng-model='newChallenge.name', placeholder=env.t('challengeTitle'), required='required') .option-medium - input.option-content(type='text', minlength="3", maxlength="16", ng-model='newChallenge.shortName', placeholder='Tag Name', required) + input.option-content(type='text', minlength="3", maxlength="16", ng-model='newChallenge.shortName', placeholder=env.t('challengeTag'), required) a(target='_blank', href='http://habitrpg.wikia.com/wiki/Tags') - i.icon-question-sign(popover="Challenges appear on tag-lists & task-tooltips. So while you'll want a descriptive title above, you'll also need a 'short name'. Eg, 'Lose 10 pounds in 3 months' might become '-10lb' (Click the '?' for more info).", popover-trigger='mouseenter', popover-placement='right') + i.icon-question-sign(popover=env.t('challengeTagPop'), popover-trigger='mouseenter', popover-placement='right') - textarea.option-content(cols='3', placeholder='Description', ng-model='newChallenge.description') + textarea.option-content(cols='3', placeholder=env.t('challengeDescr'), ng-model='newChallenge.description') //- what's going on here? br br .option-medium - input.option-content(type='number', min="{{newChallenge.group=='habitrpg' ? 1 : 0}}", max="{{maxPrize}}", ng-model='newChallenge.prize', placeholder='Prize') + input.option-content(type='number', min="{{newChallenge.group=='habitrpg' ? 1 : 0}}", max="{{maxPrize}}", ng-model='newChallenge.prize', placeholder=env.t('prize')) span.input-suffix.Pet_Currency_Gem1x.inline-gems - i.icon-question-sign(popover="If someone can 'win' your challenge, you can optionally award that winner a Gem prize. Max = #gems you own (+ guild.gems, if you created this challenge's guild). Note: This prize can't be changed later.", popover-trigger='mouseenter', popover-placement='right') - span(ng-show='newChallenge.group=="habitrpg"'). -  Minimum 1 Gem for public challenges (helps prevent spam, it really does). + i.icon-question-sign(popover=env.t('prizePop'), popover-trigger='mouseenter', popover-placement='right') + span(ng-show='newChallenge.group=="habitrpg"') + =env.t('min1Gem') + ' ' + env.t('publicChallenges') + ' ' + env.t('helpsPrevent') .option-medium(ng-if='user.contributor.admin') label.checkbox input(type='checkbox', ng-model='newChallenge.official') - | Official HabitRPG Challenge + =env.t('officialChallenge') habitrpg-tasks(main=false, obj='newChallenge') @@ -124,12 +125,14 @@ script(type='text/ng-template', id='partials/options.social.challenges.html') .accordion-heading ul.pull-right.challenge-accordion-header-specs li(ng-if='challenge.official') - span.label.label-success Official HabitRPG Challenge + span.label.label-success=env.t('officialChallenge') li {{challenge.group.name}} li - | by  + =env.t('by') strong {{challenge.leader.profile.name}} - li {{challenge.memberCount}} Participants + li + | {{challenge.memberCount}} + = ' ' + env.t('participants') li(ng-show='challenge.prize') // prize table(ng-show='challenge.prize') @@ -137,16 +140,16 @@ script(type='text/ng-template', id='partials/options.social.challenges.html') td {{challenge.prize}} td .Pet_Currency_Gem1x(style='margin-left:0px') - td Prize + td=env.t('prize') li // leave / join a.btn.btn-small.btn-danger(ng-show='challenge._isMember', ng-click='clickLeave(challenge, $event)') i.icon-ban-circle - | Leave + =env.t('leave') a.btn.btn-small.btn-success(ng-hide='challenge._isMember', ng-click='join(challenge)') i.icon-ok - | Join + =env.t('join') a.accordion-toggle(ng-click='toggle(challenge._id)') {{challenge.name}} .accordion-body(ng-class='{collapse: !$stateParams.cid == challenge._id}') .accordion-inner(ng-if='$stateParams.cid == challenge._id') - div(ui-view) \ No newline at end of file + div(ui-view) diff --git a/views/options/social/chat-box.jade b/views/options/social/chat-box.jade index aeaf95c742..e2abc37737 100644 --- a/views/options/social/chat-box.jade +++ b/views/options/social/chat-box.jade @@ -10,7 +10,7 @@ form.chat-form(ng-submit='postChat(group,message.content)') table.pull-right tr td - input.btn.chat-btn(type='submit', value='Send Chat', ng-class='{disabled: _sending == true}') + input.btn.chat-btn(type='submit', value=env.t('sendChat'), ng-class='{disabled: _sending == true}') td - button.btn(type="button", ng-click='sync(group)', tooltip='Fetch Recent Messages') - i(class='pull-right icon-refresh') \ No newline at end of file + button.btn(type="button", ng-click='sync(group)', tooltip=env.t('toolTipMsg')) + i(class='pull-right icon-refresh') diff --git a/views/options/social/chat-message.jade b/views/options/social/chat-message.jade index 8bc40630c3..6aab142028 100644 --- a/views/options/social/chat-message.jade +++ b/views/options/social/chat-message.jade @@ -9,6 +9,6 @@ li.chat-message(bindonce='group.chat', ng-repeat='message in group.chat', bo-cla a.label(ng-show='countExists(message.likes)',ng-class='{"label-success":message.likes[user._id]}',ng-click='likeChatMessage(group,message)') +{{countExists(message.likes)}} a.chat-plus-one.muted(ng-show='!countExists(message.likes)',ng-click='likeChatMessage(group,message)',style='background-color:#eee;padding:3px 3px 0px 3px') +1 a(bo-show='user.contributor.admin || message.uuid == user.id', ng-click='deleteChatMessage(group, message)',style='padding: 0px 3px') - i.icon-trash(tooltip='Delete') + i.icon-trash(tooltip=env.t('delete')) a.label.chat-message(bo-show='message.user', class='float-label', bo-class='{"label-npc": message.backer.npc, "label-contributor-{{message.contributor.level}}":message.contributor.level}', ng-click='clickMember(message.uuid, true)') - span(tooltip='{{contribText(message.contributor, message.backer)}}') {{message.user}}  \ No newline at end of file + span(tooltip='{{contribText(message.contributor, message.backer)}}') {{message.user}}  diff --git a/views/options/social/create-group.jade b/views/options/social/create-group.jade index 1e8d48c96f..d4e954c706 100644 --- a/views/options/social/create-group.jade +++ b/views/options/social/create-group.jade @@ -5,22 +5,21 @@ form.form-horizontal(ng-submit='create(newGroup)') .controls input#new-group-name.input-medium.option-content(required, type='text', placeholder='{{text}} Name', ng-model='newGroup.name') .control-group - label.control-label(for='new-group-description') Description + label.control-label(for='new-group-description')=env.t('description') .controls - textarea#new-group-description.option-content(cols='3', placeholder='Description', ng-model='newGroup.description') + textarea#new-group-description.option-content(cols='3', placeholder=env.t('description'), ng-model='newGroup.description') .control-group(ng-show='type=="guild"') .controls label.radio input(type='radio', name='new-group-privacy', value='public', ng-model='newGroup.privacy') - | Public + =env.t('public') label.radio input(type='radio', name='new-group-privacy', value='private', ng-model='newGroup.privacy') - | Invite Only - input.btn(type='submit', ng-disabled='!newGroup.privacy && !newGroup.name', value='Create') - span.gem-cost 4 Gems + =env.t('inviteOnly') + input.btn(type='submit', ng-disabled='!newGroup.privacy && !newGroup.name', value=env.t('create')) + span.gem-cost= '4 ' + env.t('gems') p - small - | The Gem cost promotes high quality Guilds, and is transferred into your Guild's bank for use as prizes in Guild Challenges! + small=env.t('gemCost') .control-group(ng-show='type=="party"') .controls - input.btn(type='submit', value='Create') + input.btn(type='submit', value=env.t('create')) diff --git a/views/options/social/group.jade b/views/options/social/group.jade index a839e8e09d..16397795cb 100644 --- a/views/options/social/group.jade +++ b/views/options/social/group.jade @@ -1,8 +1,9 @@ -a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank', popover='Gems which your guild leader can use for challenge prizes.', popover-placement='left', popover-html='true') +a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title=env.t('guildBankPop1'), popover=env.t('guildBankPop2'), popover-placement='left', popover-html='true') // span.task-action-btn.tile.flush.neutral .Pet_Currency_Gem2x.Gems - | {{group.balance * 4 | number:0 }} Guild Gems + | {{group.balance * 4 | number:0 }} + =env.t('guildGems') .row-fluid .span4 @@ -10,18 +11,18 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank' // ------ Bosses ------- .modal.inline-modal(bindonce='group', ng-if='group.type==="party" && group.quest.key') .modal-header - h3(ng-if='group.quest.active==false') Quest Invitation: {{Content.quests[group.quest.key].text}} + h3(ng-if='group.quest.active==false')=env.t('questInv') + '{{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') table.table.table-striped tr(ng-repeat='member in group.members') td {{member.profile.name}} - td {{group.quest.members[member._id] === true ? 'Accepted' : group.quest.members[member._id] === false ? 'Rejected' : 'Pending'}} + td {{group.quest.members[member._id] === true ? env.t('accepted') : group.quest.members[member._id] === false ? env.t('rejected') : env.t('pending')}} hr .npc_ian.pull-left - p Once all members have either accepted or rejected, the quest begins. Only those that clicked "accept" will be able to participate in the quest and recieve the drops. If members are pending too long (inactive?), you can start without them by clicking "Begin". - button.btn.btn-small.btn-warning(ng-if='!group.quest.leader || group.quest.leader==user._id', ng-click='party.$questAccept({"force":true})') Begin + p=env.t('questStart') + button.btn.btn-small.btn-warning(ng-if='!group.quest.leader || group.quest.leader==user._id', ng-click='party.$questAccept({"force":true})')=env.t('begin') //-TODO Cancel button //-TODO Both force-start & cancel should only be available to quest-initiator @@ -35,14 +36,14 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank' i.icon-heart | {{group.quest.hp | number:0}} / {{Content.quests[group.quest.key].hp}} .hero-stats - .meter.health(title='Boss Health') + .meter.health(title=env.t('bossHP')) .bar(style='width: {{Shared.percent(group.quest.progress.hp, Content.quests[group.quest.key].boss.hp)}}%;') span.meter-text i.icon-heart | {{group.quest.progress.hp | number:0}} / {{Content.quests[group.quest.key].boss.hp}} div(ng-if='Content.quests[group.quest.key].collect') - h4 Collected: + h4=env.t('collected') + ':' table.table.table-striped tr(ng-repeat='(k,v) in group.quest.progress.collect') td @@ -52,7 +53,7 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank' p {{Content.quests[group.quest.key].notes}} hr - h5 Participants + h5=env.t('participants') table.table.table-striped tr(ng-repeat='(k,v) in group.members', ng-show='group.quest.members[v._id]') td {{v.profile.name}} @@ -60,39 +61,39 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank' div(ng-if='Content.quests[group.quest.key].boss') .npc_ian.pull-left - p To hurt a boss, complete your Dailies and To-Dos. Higher task damage means higher boss damage (completing reds, Wizard spells, Warrior attacks, etc). The boss will deal damage to the party for every Daily you've missed (multiplied by the boss's Strength), so help your friends by completing your dailies! All damage to and from a boss is tallied on cron (your day roll-over). + p=env.t('bossDmg1') + ' ' + env.t('bossDmg2') + '' br - p Only participants will fight the boss and share in the quest loot. If you die during a boss-battle, you get booted from the battle. If everyone dies once, the quest fails. + p=env.t('bossDmg3') div(ng-if='Content.quests[group.quest.key].collect') .npc_ian.pull-left - p To collect items, do your positive tasks. Quest items drop just like normal items; however, you won't see the drops until the next day, then everything you've found will be tallied up and contributed to the pile. + p=env.t('bossColl1') br - p Only participants can collect items and share in the quest loot. If you die during a quest, you get booted from the quest. If everyone dies once, the quest fails. + p=env.t('bossColl2') - button.btn.btn-mini.btn-danger(ng-if='!group.quest.leader || group.quest.leader==user._id', ng-click='questAbort()') Abort + button.btn.btn-mini.btn-danger(ng-if='!group.quest.leader || group.quest.leader==user._id', ng-click='questAbort()')=env.t('abort') // ------ Information ------- .modal.inline-modal .modal-header(bindonce='group') span(ng-if='group.leader == user.id') - button.btn.btn-primary.pull-right(ng-click='save(group)', ng-show='group._editing') Save - button.btn.btn-default.pull-right(ng-click='group._editing = true', ng-hide='group._editing') Edit Group + button.btn.btn-primary.pull-right(ng-click='save(group)', ng-show='group._editing')=env.t('save') + button.btn.btn-default.pull-right(ng-click='group._editing = true', ng-hide='group._editing')=env.t('editGroup') h3 {{group.name}} .modal-body div.whatever-options(ng-show='group._editing') .control-group.option-large - label.control-label Group Name - input.option-content(type='text', ng-model='group.name', placeholder='Group Name') + label.control-labe=env.t('groupName') + input.option-content(type='text', ng-model='group.name', placeholder=env.t('groupName')) .control-group.option-large - label.control-label Description - textarea.option-content(style='height:15em;', placeholder='Description shown in public Guilds list (Markdown OK)', ng-model='group.description') + label.control-label=env.t('description') + textarea.option-content(style='height:15em;', placeholder=env.t('groupdescr'), ng-model='group.description') .control-group.option-large - label.control-label Logo URL - input.option-content(type='url', placeholder='Logo URL', ng-model='group.logo') + label.control-label=env.t('logoUrl') + input.option-content(type='url', placeholder=env.t('logoUrl'), ng-model='group.logo') - h4 Assign Group Leader + h4=env.t('assignLeader') select#group-leader-selection(ng-model='group._newLeader', ng-options='member.profile.name for member in group.members') div(ng-show='!group._editing') @@ -106,10 +107,10 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank' // ------ Members ------- .modal.inline-modal .modal-header - h3 Members + h3=env.t('members') .modal-body span - | Party Members list ordering + =env.t('partyList') select#partyOrder( style='width:140px', ng-model='user.party.order', @@ -123,22 +124,24 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank' // allow leaders to ban members div(ng-show='group.leader == user.id && user.id!=member._id') a(ng-click='removeMember(group, member, true)') - i.icon-ban-circle(tooltip='Boot Member') + i.icon-ban-circle(tooltip=env.t('banTip')) a span(ng-class='{"badge badge-info": group.leader==member._id}', ng-click='clickMember(member._id, true)') | {{member.profile.name}} tr(ng-if='group.memberCount > group.members.length') - td. - {{group.memberCount - group.members.length}} more members + td + |{{group.memberCount - group.members.length}} + = ' ' + env.t('moremembers') + | - h4(ng-show='group.invites.length > 0') Invited + h4(ng-show='group.invites.length > 0')=env.t('invited') table.table.table-striped tr(ng-repeat='invite in group.invites') td // allow leaders to ban members div(ng-show='group.leader == user.id') a(ng-click='removeMember(group, invite, false)') - i.icon-ban-circle(tooltip='Boot Member') + i.icon-ban-circle(tooltip=env.t('banTip')) a span(ng-click='clickMember(invite._id, true)') | {{invite.profile.name}} @@ -146,16 +149,16 @@ a.pull-right.gem-wallet(popover-trigger='mouseenter', popover-title='Guild Bank' form.form-inline(ng-submit='invite(group)') //.alert.alert-danger(ng-show='_groupError') {{_groupError}} .control-group.option-large - input.option-content(type='text', placeholder='User Id', ng-model='group.invitee') - input.btn(type='submit', value='Invite') + input.option-content(type='text', placeholder=env.t('userId'), ng-model='group.invitee') + input.btn(type='submit', value=env.t('invite')) - a.btn.btn-danger(data-id='{{group.id}}', ng-click='clickLeave(group, $event)') Leave + a.btn.btn-danger(data-id='{{group.id}}', ng-click='clickLeave(group, $event)')=env.t('leave') .span8 div.blah-options(ng-show='group._editing') .option-large - textarea.option-content(style='height:15em;', placeholder='Message from group leader (Markdown OK)', ng-model='group.leaderMessage') + textarea.option-content(style='height:15em;', placeholder=env.t('leaderMsg'), ng-model='group.leaderMessage') table(ng-show='group.leaderMessage') tr td diff --git a/views/options/social/hall.jade b/views/options/social/hall.jade index 99ccbe5e60..f5b4cc76d4 100644 --- a/views/options/social/hall.jade +++ b/views/options/social/hall.jade @@ -2,10 +2,10 @@ script(type='text/ng-template', id='partials/options.social.hall.html') ul.nav.nav-tabs li(ng-class="{ active: $state.includes('options.social.hall.heroes') }") a(ui-sref='options.social.hall.heroes') - | Hall of Heroes + =env.t('hallHeroes') li(ng-class="{ active: $state.includes('options.social.hall.patrons') }") a(ui-sref='options.social.hall.patrons') - | Hall of Patrons + =env.t('hallPatrons') .tab-content .tab-pane.active @@ -13,30 +13,30 @@ script(type='text/ng-template', id='partials/options.social.hall.html') script(type='text/ng-template', id='partials/options.social.hall.heroes.html') div.well(ng-if='user.contributor.admin') - h2 Reward User + h2=env.t('rewardUser') form.form-horizontal(ng-submit='loadHero(_heroID)') .-options .option-group.option-large - input.option-content(type='text', ng-model='_heroID', placeholder='UUID') - button.btn(type='submit') Load User + input.option-content(type='text', ng-model='_heroID', placeholder=env.t('UUID')) + button.btn(type='submit')=env.t('loadUser') form.form-horizontal(ng-show='hero', ng-submit='saveHero(hero)') h3 {{hero.profile.name}} .-options .control-group.option-large - input.option-content(type='text', ng-model='hero.contributor.text', placeholder='Contributor Title (eg, "Blacksmith")') + input.option-content(type='text', ng-model='hero.contributor.text', placeholder=env.t('conTitle')) .control-group.option-medium input.option-content(type='number', step="any", ng-model='hero.contributor.level') - span.input-suffix Contrib Level + span.input-suffix=env.t('conLevel') br - small [1-7] this determines which items, pets, and mounts are available. Also determines name-tag coloring.  - a(target='_blank', href='https://trello.com/c/wkFzONhE/277-contributor-gear') More details. + small=env.t('conText') + a(target='_blank', href='https://trello.com/c/wkFzONhE/277-contributor-gear')=env.t('moreDetails') .control-group.option-large - textarea.option-content(style='height:15em;', placeholder='Contributions', ng-model='hero.contributor.contributions') + textarea.option-content(style='height:15em;', placeholder=env.t('contributions'), ng-model='hero.contributor.contributions') //-include ../../shared/formatting-help .control-group.option-medium label.checkbox input(type='checkbox', ng-model='hero.contributor.admin') - | Admin + =env.t('admin') hr @@ -44,30 +44,30 @@ script(type='text/ng-template', id='partials/options.social.hall.heroes.html') input.option-content(type='number', step="any", ng-model='hero.balance') span.input-suffix Balance p - small `user.balance` is in USD, not in Gems. Aka, if this number is 1, it means 4 gems. Only use this option when manually granting gems to players, don't use it when granting contributor levels. Contrib levels will automatically add 2G/lvl. + small= '`user.balance`' + env.t('USD1') + ' ' + env.t('not') + ' ' + env.t('USD2') .control-group.option-medium label.checkbox input(type='checkbox', ng-model='hero.purchased.ads') - | Hide Ads + =env.t('hideAds') // h4 Backer Status // Add backer stuff like tier, disable adds, etcs - button.btn-primary(type='submit') Save + button.btn-primary(type='submit')=env.t('save') table.table.table-striped tr thead tr - th Name - th(ng-if='user.contributor.admin') UUID - th Contrib Level - th Title - th Contributions + th=env.t('name') + th(ng-if='user.contributor.admin')=env.t('UUID') + th=env.t('conLevel') + th=env.t('title') + th=env.t('contributions') tr(ng-repeat='hero in heroes') td - span(ng-if='hero.contributor.admin',popover='Game Master',popover-trigger='mouseenter',popover-placement='right') + span(ng-if='hero.contributor.admin',popover=env.t('gamemaster'),popover-trigger='mouseenter',popover-placement='right') a.label(class='label-contributor-{{hero.contributor.level}}', ng-class='{"label-npc": hero.backer.npc}', ng-click='clickMember(hero._id, true)') | {{hero.profile.name}}  i.icon-star.icon-white @@ -84,11 +84,11 @@ script(type='text/ng-template', id='partials/options.social.hall.patrons.html') tr thead tr - th Name - th(ng-if='user.contributor.admin') UUID - th Backer Tier + th=env.t('name') + th(ng-if='user.contributor.admin')=env.t('UUID') + th=env.t('backerTier') tr(ng-repeat='patron in patrons') td a.label(class='label-contributor-{{patron.contributor.level}}', ng-class='{"label-npc": patron.backer.npc}', ng-click='clickMember(patron._id, true)') {{patron.profile.name}} td(ng-if='user.contributor.admin') {{patron._id}} - td {{patron.backer.tier}} \ No newline at end of file + td {{patron.backer.tier}} diff --git a/views/options/social/index.jade b/views/options/social/index.jade index 4884c8a5fc..ab38723f3b 100644 --- a/views/options/social/index.jade +++ b/views/options/social/index.jade @@ -13,38 +13,38 @@ script(type='text/ng-template', id='partials/options.social.party.html') include ./group div(ng-hide='group._id') div(ng-show='user.invitations.party.id') - h2 You're Invited To {{user.invitations.party.name}} - a.btn.btn-success(data-type='party', ng-click='join(user.invitations.party)') Accept - a.btn.btn-danger(ng-click='reject()') Reject + h2=env.t('invitedTo') + '{{user.invitations.party.name}}' + a.btn.btn-success(data-type='party', ng-click='join(user.invitations.party)')=env.t('accept') + a.btn.btn-danger(ng-click='reject()')=env.t('reject') div(ng-hide='user.invitations.party.id') - h2 Create A Party + h2=env.t('createAParty') p - | You are not in a party. You can either create one and invite friends, or if you want to join an existing party, have them enter: + =env.t('noPartyText') pre.prettyprint. {{user.id}} include ./create-group script(type='text/ng-template', id='partials/options.social.guilds.public.html') div(ng-repeat='invitation in user.invitations.guilds') - h3 You're Invited To {{invitation.name}} - a.btn.btn-success(data-type='guild', ng-click='join(invitation)') Accept - a.btn.btn-danger(ng-click='reject(invitation)') Reject + h3=env.t('invitedTo') + '{{invitation.name}}' + a.btn.btn-success(data-type='guild', ng-click='join(invitation)')=env.t('accept') + a.btn.btn-danger(ng-click='reject(invitation)')=env.t('reject') // Public Groups .options-group.option-large.whatever-options - input.option-content(type='text',ng-model='guildSearch', placeholder='Search') + input.option-content(type='text',ng-model='guildSearch', placeholder=env.t('search')) table.table.table-striped tr(ng-repeat='group in groups.public | filter:guildSearch') td ul.pull-right.challenge-accordion-header-specs - li {{group.memberCount}} member(s) + li='{{group.memberCount}} ' + env.t('members') li // join / leave a.btn.btn-small.btn-danger(ng-show='group._isMember', ng-click='clickLeave(group, $event)') i.icon-ban-circle - | Leave + =env.t('leave') a.btn.btn-small.btn-success(ng-hide='group._isMember', ng-click='join(group)') i.icon-ok - | Join + =env.t('join') h4 {{group.name}} p {{group.description}} @@ -58,13 +58,13 @@ script(type='text/ng-template', id='partials/options.social.guilds.html') ul.nav.nav-tabs li(ng-class="{ active: $state.includes('options.social.guilds.public') }") a(ui-sref='options.social.guilds.public') - | Public Guilds + =env.t('publicGuilds') li(ng-class="{ active: $stateParams.gid == group._id }", ng-repeat='group in groups.guilds') a(ui-sref="options.social.guilds.detail({gid:group._id})") | {{group.name}} li(ng-class="{ active: $state.includes('options.social.guilds.create') }") a(ui-sref='options.social.guilds.create') - | Create Guild + =env.t('createGuild') .tab-content .tab-pane.active @@ -75,22 +75,22 @@ script(type='text/ng-template', id='partials/options.social.html') li(ng-class="{ active: $state.includes('options.social.tavern') }") a(ui-sref='options.social.tavern') i.icon-eye-close - | Tavern + =env.t('tavern') li(ng-class="{ active: $state.includes('options.social.party') }") a(ui-sref='options.social.party') - | Party + =env.t('party') li(ng-class="{ active: $state.includes('options.social.guilds') }") a(ui-sref='options.social.guilds') - | Guilds + =env.t('guilds') li(ng-class="{ active: $state.includes('options.social.challenges') }") a(ui-sref='options.social.challenges') i.icon-bullhorn - | Challenges + =env.t('challenges') li(ng-class="{ active: $state.includes('options.social.hall') }") a(ui-sref='options.social.hall') i.icon-flag - | Hall + =env.t('hall') .tab-content .tab-pane.active - div(ui-view) \ No newline at end of file + div(ui-view) diff --git a/views/options/social/tavern.jade b/views/options/social/tavern.jade index 3a184fe441..1574538a99 100644 --- a/views/options/social/tavern.jade +++ b/views/options/social/tavern.jade @@ -9,108 +9,114 @@ .popover.static-popover.fade.right.in .arrow h3.popover-title - a(target='_blank', href='http://www.kickstarter.com/profile/2014640723') Daniel + a(target='_blank', href='http://www.kickstarter.com/profile/2014640723')=env.t('daniel') .popover-content - | Welcome to the Tavern! Stay a while and meet the locals. If you need to rest (going on vacation? sudden illness?), I'll set you up at the inn - Dailies won't hurt you while you're resting. + =env.t('danielText') div button.btn.btn-large.btn-success(ng-class='{active: user.preferences.sleep}', ng-click='User.user.ops.sleep({})') - span(ng-show='user.preferences.sleep') Check Out of Inn - span(ng-hide='user.preferences.sleep') Rest in the Inn + span(ng-show='user.preferences.sleep')=env.t('innCheckOut') + span(ng-hide='user.preferences.sleep')=env.t('innCheckIn') .alert.alert-info(ng-show='user.preferences.sleep') - | Whilst resting, your dailies are saved and aren't affected by day turn-over. Whether you check out tomorrow or in a week's time, you'll continue in the same state as when you checked in. Beware, though: if you are in a Quest, Bosses will still punish you for your fellow party members' mistakes! + =env.t('innText') // Resources .modal(style='position: relative;top: auto;left: auto;right: auto;margin: 0 auto 20px;z-index: 1;max-width: 100%;') .modal-header - h3 Resources + h3=env.t('resources') .modal-body table.table.table-striped tr td - a(target='_blank', href='http://habitrpg.wikia.com/wiki/Board:Looking_for_a_Group_(LFG)') Looking for Group (Party Wanted) Posts + a(target='_blank', href='http://habitrpg.wikia.com/wiki/Board:Looking_for_a_Group_(LFG)')=env.t('lfgPosts') tr td - a(target='_blank', href='https://vimeo.com/57654086') Tutorial + a(target='_blank', href='https://vimeo.com/57654086')=env.t('tutorial') tr td - a(target='_blank', href='http://habitrpg.wikia.com/wiki/FAQ') FAQ + a(target='_blank', href='http://habitrpg.wikia.com/wiki/FAQ')=env.t('FAQ') tr td - a(target='_blank', href='http://habitrpg.wikia.com/wiki/Glossary') Glossary + a(target='_blank', href='http://habitrpg.wikia.com/wiki/Glossary')=env.t('glossary') tr td - a(target='_blank', href='https://github.com/HabitRPG/habitrpg/issues') Report a Problem + a(target='_blank', href='https://github.com/HabitRPG/habitrpg/issues')=env.t('reportAP') tr td - a(target='_blank', href='https://trello.com/c/8gzGlle8') Request a Feature + a(target='_blank', href='https://trello.com/c/8gzGlle8')=env.t('requestAF') tr td - a(target='_blank', href='http://habitrpg.wikia.com/wiki/Special:Forum') Community Forum + a(target='_blank', href='http://habitrpg.wikia.com/wiki/Special:Forum')=env.t('community') // Player Tiers - .modal(style='position: relative;top: auto;left: auto;right: auto;margin: 0 auto 20px;z-index: 1;max-width: 100%;', popover="Click tier labels for details.", popover-trigger="mouseenter", popover-placement="right") + .modal(style='position: relative;top: auto;left: auto;right: auto;margin: 0 auto 20px;z-index: 1;max-width: 100%;', popover=env.t('tierPop'), popover-trigger="mouseenter", popover-placement="right") .modal-header - h3 Player Tiers + h3=env.t('playerTiers') .modal-body - small. - Visit the Hall of Heroes (contributors and backers)
- Learn more about contributor rewards
- Learn how to contribute to HabitRPG + small + | + =env.t('visitHeroes') + |
+ | + =env.t('conLearn') + |
+ | + =env.t('conLearnHow') + | table.table.table-striped tr td - a.label.label-contributor-1(ng-click='toggleUserTier($event)') Friend (1-2) + a.label.label-contributor-1(ng-click='toggleUserTier($event)')=env.t('friendBadge') div(style='display:none;') - p. - When your first submission is deployed, you will receive the HabitRPG Contributor's badge. Your name in Tavern chat will proudly display that you are a contributor. As a bounty for your work, you will also receive 2 Gems. + p + != ' ' + env.t('friendText') + ' ' + env.t('first') + ' ' + env.t('friend1Text') + ' ' + env.t('2gems') + '.' hr - p. - When your second submission is deployed, the Crystal Armor will be available for purchase in the Rewards shop. As a bounty for your continued work, you will also receive 2 Gems. + p + != ' ' + env.t('friendText') + ' ' + env.t('second') + ' ' + env.t('friendText2') + ' ' + env.t('crystalArmor') + ' ' + env.t('friendText3') + '' + env.t('2gems') + '.' tr td - a.label.label-contributor-3(ng-click='toggleUserTier($event)') Elite (3-4) + a.label.label-contributor-3(ng-click='toggleUserTier($event)')=env.t('eliteBadge') div(style='display:none;') - p. - When your third submission is deployed, the Crystal Helmet will be available for purchase in the Rewards shop. As a bounty for your great work, you will also receive 2 Gems. + p + != ' ' + env.t('friendText') + ' ' + env.t('third') + ' ' + env.t('friendText2') + ' ' + env.t('crystalHelmet') + ' ' + env.t('friendText3') + ' ' + env.t('2gems') + '.' hr - p. - When your fourth submission is deployed, the Crystal Sword will be available for purchase in the Rewards shop. You will once again receive a bounty of 2 Gems. + p + != ' ' + env.t('friendText') + ' ' + env.t('fourth') + ' ' + env.t('friendText2') + ' ' + env.t('crystalSword') + ' ' + env.t('friendText3') + ' ' + env.t('2gems') + '.' tr td - a.label.label-contributor-5(ng-click='toggleUserTier($event)') Champion (5-6) + a.label.label-contributor-5(ng-click='toggleUserTier($event)')=env.t('championBadge') div(style='display:none;') - p. - When your fifth submission is deployed, the Crystal Shield will be available for purchase in the Rewards shop. You will also receive 2 Gems. + p + != ' ' + env.t('friendText') + ' ' + env.t('fifth') + ' ' + env.t('friendText2') + ' ' + env.t('crystalShield') + ' ' + env.t('friendText3') + ' ' + env.t('2gems') + '.' hr - p. -
When your sixth submission is deployed, you will receive a Hydra Pet. You will also receive 2 Gems. + p + != '
' + env.t('friendText') + ' ' + env.t('sixth') + ' ' + env.t('friendText2b') + ' ' + env.t('hydraPet') + ' ' + env.t('friendText3b') + ' ' + env.t('2gems') + '.' tr td - a.label.label-contributor-7(ng-click='toggleUserTier($event)') Legendary (7) + a.label.label-contributor-7(ng-click='toggleUserTier($event)')=env.t('legendaryBadge') div(style='display:none;') - p. - When your seventh submission is deployed, you will receive 2 Gems and become a member of the honored Contributor's Guild and be privy to the behind-the-scenes details of HabitRPG! Further contributions do not increase your level, but you may continue to earn Gem bounties and titles. + p + != env.t('friendText') + ' ' + env.t('seventh') + ' ' + env.t('friendText2c') + ' ' + env.t('2gems') + ' ' + env.t('friendText3c') tr td - a.label.label-contributor-8(ng-click='toggleUserTier($event)') Heroic + a.label.label-contributor-8(ng-click='toggleUserTier($event)')=env.t('heroicBadge') div(style='display:none;') - p The Heroic level contains HabitRPG staff and staff-level contributors. If you have this title, you were appointed to it (or hired!). + p=env.t('heroicText') tr td - a.label.label-npc(ng-click='toggleUserTier($event)') NPC + a.label.label-npc(ng-click='toggleUserTier($event)')=env.t('npcBadge') div(style='display:none;') - p NPCs backed HabitRPG's Kickstarter at the highest tier. You can find their avatars watching over site features! + p=env.t('npcText') include ./challenge-box .span8(ng-controller='ChatCtrl') - h3 Tavern Talk + 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. - Note: if you're reporting a bug, the developers won't see it here. Please use Github instead. + alert.alert-info + !=env.t('tavernalert1') + ' ' + env.t('tavernalert2') + '.' ul.unstyled.tavern-chat include ./chat-message diff --git a/views/shared/header/avatar.jade b/views/shared/header/avatar.jade index eb90fa239a..0c11e8f0c2 100644 --- a/views/shared/header/avatar.jade +++ b/views/shared/header/avatar.jade @@ -44,6 +44,7 @@ figure.herobox(ng-click='spell ? castEnd(profile, "user", $event) : clickMember( // FIXME handle @minimal, this might have to be a directive span.current-pet(class='Pet-{{profile.items.currentPet}}', ng-show='profile.items.currentPet && !minimal') .avatar-level(ng-class='userLevelStyle(profile,"label")') - 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='Buffed', style='margin-right:5px;') - | Lvl {{profile.stats.lvl}} - i.icon-plus-sign.icon-white(ng-show='profile.achievements.rebirths', tooltip='Reborn, max level {{profile.achievements.rebirthLevel}}', style='margin-left:5px') + 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')