Merge branch 'develop' of https://github.com/HabitRPG/habitrpg into merchant-button-fix
2
.gitignore
vendored
|
|
@ -16,7 +16,7 @@ newrelic_agent.log
|
|||
.bower-cache
|
||||
.vagrant
|
||||
Vagrantfile
|
||||
|
||||
TODO
|
||||
*.log
|
||||
src/*/*.map
|
||||
src/*/*/*.map
|
||||
|
|
|
|||
2
.nvmrc
|
|
@ -1 +1 @@
|
|||
0.10.40
|
||||
0.10.40
|
||||
12
.travis.yml
|
|
@ -1,17 +1,15 @@
|
|||
language: node_js
|
||||
node_js:
|
||||
- '4.1'
|
||||
- '0.10'
|
||||
before_install:
|
||||
- "npm install -g npm@3"
|
||||
- "sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10"
|
||||
- "sudo wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.4.tgz -O /tmp/mongodb.tgz"
|
||||
- "sudo tar -xvf /tmp/mongodb.tgz"
|
||||
- "sudo mkdir /tmp/data"
|
||||
- "sudo ${PWD}/mongodb-linux-x86_64-3.0.4/bin/mongod --dbpath /tmp/data --bind_ip 127.0.0.1 &> /dev/null &"
|
||||
- "echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list"
|
||||
- "sudo apt-get update"
|
||||
- "sudo apt-get install mongodb-org-server"
|
||||
before_script:
|
||||
- 'npm install -g grunt-cli mocha'
|
||||
- cp config.json.example config.json
|
||||
- "until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done"
|
||||
- "export DISPLAY=:99"
|
||||
after_script:
|
||||
- "./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js"
|
||||
- "./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js"
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
<a name="">HabitRPG</a>
|
||||
# (2014-01-28)
|
||||
|
||||
|
||||
## Documentation
|
||||
|
||||
- **rebirth:** Bullet point about repurchase of limited ed gear after Rebirth
|
||||
([d3f4a561](https://github.com/habitrpg/habitrpg/commits/d3f4a561fdf137e5d8f406bae03be4fef1caff22))
|
||||
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
- **#2003:** healer gear not showing
|
||||
([949cd97b](https://github.com/habitrpg/habitrpg/commits/949cd97b91b42e9450eba559bbfea17e239ab100))
|
||||
- **#2375:** merge in @SabreCat's stats.jade changes "More elegant show/hide setup for attribute bonuses"
|
||||
([518f200a](https://github.com/habitrpg/habitrpg/commits/518f200a8fc7373b44ed7d7b5f016d921b0746bd))
|
||||
- **beastmaster:** fixes #2557, adds opacity to previously-owned pets after they're mounted. You can earn them back again
|
||||
([5caaff1c](https://github.com/habitrpg/habitrpg/commits/5caaff1cea1a68fe572e7ddf4aac50248b13df5d))
|
||||
- **bosses:** don't reset progress.up when starting a new quest. We want to be able to carry over damage from the same day a boss battle begins, even if the dailies were completed before battle-start. Fixes #2168
|
||||
([4efd0f5e](https://github.com/habitrpg/habitrpg/commits/4efd0f5ed8708f2491dd483f93e3d7a268a6337d))
|
||||
- **classes:**
|
||||
- misc fixes
|
||||
([d2121a85](https://github.com/habitrpg/habitrpg/commits/d2121a858716cb5a532a53ee9c5a1adaa74a7f69))
|
||||
- misc class fixes (not @snicker, ng-if on item store since we dynamically swap it sometimes)
|
||||
([478be611](https://github.com/habitrpg/habitrpg/commits/478be6111337cd200374f7f31b959725c6a0b945))
|
||||
- **find_uniq_user:** fix
|
||||
([ecbe780e](https://github.com/habitrpg/habitrpg/commits/ecbe780e70549b1470504efe052f238c89a9db14))
|
||||
- **mounts:** Move avatar upward when mounted regardless of pet
|
||||
([bc1adeb1](https://github.com/habitrpg/habitrpg/commits/bc1adeb1277103a5ca1f756e175ed68bbe837a2f))
|
||||
- **nodemon:** ignore CHANGELOG.md on watch
|
||||
([d6c55952](https://github.com/habitrpg/habitrpg/commits/d6c55952da8b49f36e9d8e4570d80931d081343d))
|
||||
- **party:** Round boss health up instead of to nearest integer
|
||||
([626da568](https://github.com/habitrpg/habitrpg/commits/626da5681f5ea95700f8ddf40587c7184926971c),
|
||||
[#2504](https://github.com/habitrpg/habitrpg/issues/2504))
|
||||
- **paypal:** fixes #2492, remove environment check for now, only have production-mode option. revisit
|
||||
([1dc68112](https://github.com/habitrpg/habitrpg/commits/1dc68112d131e4ebdec32ddff938eb6311d6565f))
|
||||
- **profile:** fix bug where empty profile displayed on username click
|
||||
([0579c432](https://github.com/habitrpg/habitrpg/commits/0579c432489c4a038e8c9f95ea3b285f5abc146f),
|
||||
[#2465](https://github.com/habitrpg/habitrpg/issues/2465))
|
||||
- **quests:**
|
||||
- bug fix to multi-drop
|
||||
([f478d10c](https://github.com/habitrpg/habitrpg/commits/f478d10c20f816cd104b3f0da814c189957f45f5))
|
||||
- list multiple rewards in dialog
|
||||
([e48c7277](https://github.com/habitrpg/habitrpg/commits/e48c7277f8256cf827790aece51e897fe0439374))
|
||||
- **settings:** reintroduce space between captions and help bubbles stripped during localization
|
||||
([5ddf09fe](https://github.com/habitrpg/habitrpg/commits/5ddf09fe13c7f8d844c8c47be0fb8f8b2fd1df33))
|
||||
- **spells:**
|
||||
- more $rootScope spell-casting bug fixes
|
||||
([47bd6dcb](https://github.com/habitrpg/habitrpg/commits/47bd6dcb79778d90d6f3ddeb003c3d8e45433333))
|
||||
- add some spells tests, don't send up body to spell paths
|
||||
([e0646bb9](https://github.com/habitrpg/habitrpg/commits/e0646bb98d44b6874b5259107c9be5fa34c58933))
|
||||
- some $rootScope.applying action fixes so cast-ending is immediate instead of waiting on response. Also, slim down party population to the essentials to avoid RequestEntityTooLarge
|
||||
([c6f7ab8a](https://github.com/habitrpg/habitrpg/commits/c6f7ab8a5c6f4e382208a928b90ba5f4eba9cd37))
|
||||
- <ESC> to cancel spell-casting
|
||||
([a1df41ad](https://github.com/habitrpg/habitrpg/commits/a1df41ad8165cd9eb6d2d5d59c7fe404edde716c))
|
||||
- **stable:** show hatchable combo when petOwned>0 (fyi @deilann)
|
||||
([51bff238](https://github.com/habitrpg/habitrpg/commits/51bff23885ca0080e7e71ff752daa0950ae923ae))
|
||||
- **stats:** Better layout for attribute point allocation
|
||||
([d782fc6b](https://github.com/habitrpg/habitrpg/commits/d782fc6b6a3cd7e90d327c93a5764626b2990c74))
|
||||
- **tests:**
|
||||
- include select2 in test manifest
|
||||
([38b4cea7](https://github.com/habitrpg/habitrpg/commits/38b4cea73299f51c4db7f6b2eb12533d219745f8))
|
||||
- don't use cluster in tests, else we get "connection refused"
|
||||
([7a479098](https://github.com/habitrpg/habitrpg/commits/7a479098dc6535654e322c737d80813790967941)
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
<a name="">My app - Changelog</a>
|
||||
# (2015-05-08)
|
||||
|
||||
## Bug Fixes
|
||||
|
||||
- **Spring:** WHO IS LESLIE
|
||||
([6685e935](watch/commits/6685e93554a1274dedb55dae054e787fb80eb440))
|
||||
- **invite-friends:** text should be valid for both parties and guilds
|
||||
([54e82a14](watch/commits/54e82a14a252c3b9923449a7ef7cee6033a5d160))
|
||||
- **mystery:** It's 2015 now, Sabe
|
||||
([00252f20](watch/commits/00252f200481f06de9bccd1e55275d5366b03919))
|
||||
- **scoring:** move gainMP into score
|
||||
([2fc0cb8f](watch/commits/2fc0cb8fa1b3b5975c16653cb110be2f03b5427e))
|
||||
- **slimes:** Tweaks and missing sprite
|
||||
([7d1a58ca](watch/commits/7d1a58ca002af9dac19aba65d6465bd23b28d649))
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
- **Spring:** Flung
|
||||
([d50d4ad8](watch/commits/d50d4ad8bb0f89e39ceb6562e0f8f392f94b5444))
|
||||
- **emails:** add support for weekly recap emails
|
||||
([37f7db3c](watch/commits/37f7db3c4e3859d03fd55a44e63819e273a06442))
|
||||
- **i18n:** upload japanese, serbian and chinese (taiwan)
|
||||
([ee7ba19e](watch/commits/ee7ba19ed17e72b33cbef8a324266617d384f852))
|
||||
- **mystery:** April Subscribee Items
|
||||
([7a7fc968](watch/commits/7a7fc96818ffd7f92738e8c6cc8a59e48d60597d))
|
||||
- **pets:** Slime Quest
|
||||
([f13c6cba](watch/commits/f13c6cba0026c645b19a0b1355ba2c5b27f80878))
|
||||
- **quests:** Boss damage from Habits
|
||||
([43dcded0](watch/commits/43dcded051b602d8a4efc30eef45365abfd238b4))
|
||||
- **scoring:** MP gain from Habits and Dailies
|
||||
([7b22244f](watch/commits/7b22244f0123cf649c9f2aada0811f35a565688d))
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# What's This?
|
||||
|
||||
I'm consolidating @litenull's rewrite branch with the old code, and removing files from both sources once they've been
|
||||
successfully merged into the new platform. While @litenull's "from scratch" approach was really clean, it will take
|
||||
us longer to implemente all the original features. This approach will (1) let us leverage code we already have, (2) merge
|
||||
in litenull's hard work from the last few weeks.
|
||||
|
||||
Once this archive/ directory is completely empty, we should be fully merged and ready to deploy the rewrite!
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
_ = require 'lodash'
|
||||
moment = require 'moment'
|
||||
|
||||
###
|
||||
Loads JavaScript files from public/vendor/*
|
||||
Use require() to min / concatinate for faster page load
|
||||
###
|
||||
loadJavaScripts = (model) ->
|
||||
|
||||
# Turns out you can't have expressions in browserify require() statements
|
||||
#vendor = '../../public/vendor'
|
||||
#require "#{vendor}/jquery-ui-1.10.2/jquery-1.9.1"
|
||||
|
||||
###
|
||||
Internal Scripts
|
||||
###
|
||||
require "../vendor/jquery.cookie.min.js"
|
||||
require "../vendor/bootstrap/js/bootstrap.min.js"
|
||||
require "../vendor/datepicker/js/bootstrap-datepicker"
|
||||
require "../vendor/bootstrap-tour/bootstrap-tour"
|
||||
|
||||
unless (model.get('_mobileDevice') is true)
|
||||
require "../vendor/sticky"
|
||||
|
||||
# note: external script loading is handled in app.on('render') near the bottom of this file (see https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/x8FwdTLEuXo)
|
||||
|
||||
|
||||
# jquery sticky header on scroll, no need for position fixed
|
||||
initStickyHeader = (model) ->
|
||||
$('.header-wrap').sticky({topSpacing:0})
|
||||
|
||||
|
||||
module.exports.app = (appExports, model, app) ->
|
||||
|
||||
app.on 'render', (ctx) ->
|
||||
#restoreRefs(model)
|
||||
unless model.get('_mobileDevice')
|
||||
setupTooltips(model)
|
||||
initStickyHeader(model)
|
||||
setupSortable(model)
|
||||
|
||||
$('.datepicker').datepicker({autoclose:true, todayBtn:true})
|
||||
.on 'changeDate', (ev) ->
|
||||
#for some reason selecting a date doesn't fire a change event on the field, meaning our changes aren't saved
|
||||
model.at(ev.target).set 'date', moment(ev.date).format('MM/DD/YYYY')
|
||||
|
||||
|
|
@ -1,239 +0,0 @@
|
|||
_ = require 'lodash'
|
||||
{helpers} = require 'habitrpg-shared'
|
||||
async = require 'async'
|
||||
|
||||
module.exports.app = (app) ->
|
||||
|
||||
###
|
||||
Sync any updates to challenges since last refresh. Do it after cron, so we don't punish them for new tasks
|
||||
This is challenge->user sync. user->challenge happens when user interacts with their tasks
|
||||
###
|
||||
app.on 'ready', (model) ->
|
||||
window.setTimeout ->
|
||||
_.each model.get('groups'), (g) ->
|
||||
if (@uid in g.members) and g.challenges
|
||||
_.each(g.challenges, ->app.challenges.syncChalToUser g)
|
||||
true
|
||||
, 500
|
||||
|
||||
###
|
||||
Sync user to challenge (when they score, add to statistics)
|
||||
###
|
||||
app.model.on "change", "_page.user.priv.tasks.*.value", (id, value, previous, passed) ->
|
||||
### Sync to challenge, but do it later ###
|
||||
async.nextTick =>
|
||||
model = app.model
|
||||
ctx = {model: model}
|
||||
task = model.at "_page.user.priv.tasks.#{id}"
|
||||
tobj = task.get()
|
||||
pub = model.get "_page.user.pub"
|
||||
|
||||
if (chalTask = helpers.taskInChallenge.call ctx, tobj)? and chalTask.get()
|
||||
chalTask.increment "value", value - previous
|
||||
chal = model.at "groups.#{tobj.group.id}.challenges.#{tobj.challenge}"
|
||||
chalUser = -> helpers.indexedAt.call(ctx, chal.path(), 'members', {id:pub.id})
|
||||
cu = chalUser()
|
||||
unless cu?.get()
|
||||
chal.push "members", {id: pub.id, name: model.get(pub.profile.name)}
|
||||
cu = model.at chalUser()
|
||||
else
|
||||
cu.set 'name', pub.profile.name # update their name incase it changed
|
||||
cu.set "#{tobj.type}s.#{tobj.id}",
|
||||
value: tobj.value
|
||||
history: tobj.history
|
||||
|
||||
###
|
||||
Render graphs for user scores when the "Challenges" tab is clicked
|
||||
###
|
||||
|
||||
###
|
||||
TODO
|
||||
1) on main tab click or party
|
||||
* sort & render graphs for party
|
||||
2) guild -> all guilds
|
||||
3) public -> all public
|
||||
###
|
||||
|
||||
|
||||
###
|
||||
$('#profile-challenges-tab-link').on 'shown', ->
|
||||
async.each _.toArray(model.get('groups')), (g) ->
|
||||
async.each _.toArray(g.challenges), (chal) ->
|
||||
async.each _.toArray(chal.tasks), (task) ->
|
||||
async.each _.toArray(chal.members), (member) ->
|
||||
if (history = member?["#{task.type}s"]?[task.id]?.history) and !!history
|
||||
data = google.visualization.arrayToDataTable _.map(history, (h)-> [h.date,h.value])
|
||||
options =
|
||||
backgroundColor: { fill:'transparent' }
|
||||
width: 150
|
||||
height: 50
|
||||
chartArea: width: '80%', height: '80%'
|
||||
axisTitlePosition: 'none'
|
||||
legend: position: 'bottom'
|
||||
hAxis: gridlines: color: 'transparent' # since you can't seem to *remove* gridlines...
|
||||
vAxis: gridlines: color: 'transparent'
|
||||
chart = new google.visualization.LineChart $(".challenge-#{chal.id}-member-#{member.id}-history-#{task.id}")[0]
|
||||
chart.draw(data, options)
|
||||
###
|
||||
|
||||
app.fn
|
||||
challenges:
|
||||
|
||||
###
|
||||
Create
|
||||
###
|
||||
create: (e,el) ->
|
||||
[type, gid] = [$(el).attr('data-type'), $(el).attr('data-gid')]
|
||||
cid = @model.id()
|
||||
@model.set '_page.new.challenge',
|
||||
id: cid
|
||||
name: ''
|
||||
habits: []
|
||||
dailys: []
|
||||
todos: []
|
||||
rewards: []
|
||||
user:
|
||||
uid: @uid
|
||||
name: @pub.get('profile.name')
|
||||
group: {type, id:gid}
|
||||
timestamp: +new Date
|
||||
|
||||
###
|
||||
Save
|
||||
###
|
||||
save: ->
|
||||
newChal = @model.get('_page.new.challenge')
|
||||
[gid, cid] = [newChal.group.id, newChal.id]
|
||||
@model.push "_page.lists.challenges.#{gid}", newChal, ->
|
||||
app.browser.growlNotification('Challenge Created','success')
|
||||
app.challenges.discard()
|
||||
app.browser.resetDom() # something is going absolutely haywire here, all model data at end of reflist after chal created
|
||||
|
||||
###
|
||||
Toggle Edit
|
||||
###
|
||||
toggleEdit: (e, el) ->
|
||||
path = "_page.editing.challenges.#{$(el).attr('data-id')}"
|
||||
@model.set path, !@model.get(path)
|
||||
|
||||
###
|
||||
Discard
|
||||
###
|
||||
discard: ->
|
||||
@model.del '_page.new.challenge'
|
||||
|
||||
###
|
||||
Delete
|
||||
###
|
||||
delete: (e) ->
|
||||
return unless confirm("Delete challenge, are you sure?") is true
|
||||
e.at().remove()
|
||||
|
||||
###
|
||||
Add challenge name as a tag for user
|
||||
###
|
||||
syncChalToUser: (chal) ->
|
||||
return unless chal
|
||||
### Sync tags ###
|
||||
tags = @priv.get('tags') or []
|
||||
idx = _.findIndex tags, {id: chal.id}
|
||||
if ~idx and (tags[idx].name isnt chal.name)
|
||||
### update the name - it's been changed since ###
|
||||
@priv.set "tags.#{idx}.name", chal.name
|
||||
else
|
||||
@priv.push 'tags', {id: chal.id, name: chal.name, challenge: true}
|
||||
|
||||
tags = {}; tags[chal.id] = true
|
||||
_.each chal.habits.concat(chal.dailys.concat(chal.todos.concat(chal.rewards))), (task) =>
|
||||
_.defaults task, { tags, challenge: chal.id, group: {id: chal.group.id, type: chal.group.type} }
|
||||
path = "tasks.#{task.id}"
|
||||
if @priv.get path
|
||||
@priv.set path, _.defaults(@priv.get(path), task)
|
||||
else
|
||||
@model.push "_page.lists.tasks.#{@uid}.#{task.type}s", task
|
||||
true
|
||||
|
||||
###
|
||||
Subscribe
|
||||
###
|
||||
subscribe: (e) ->
|
||||
chal = e.get()
|
||||
### Add all challenge's tasks to user's tasks ###
|
||||
currChallenges = @pub.get('challenges')
|
||||
@pub.unshift('challenges', chal.id) unless currChallenges and ~currChallenges.indexOf(chal.id)
|
||||
e.at().push "members",
|
||||
id: @uid
|
||||
name: @pub.get('profile.name')
|
||||
app.challenges.syncChalToUser(chal)
|
||||
|
||||
###
|
||||
--------------------------
|
||||
Unsubscribe functions
|
||||
--------------------------
|
||||
###
|
||||
|
||||
unsubscribe: (chal, keep=true) ->
|
||||
|
||||
### Remove challenge from user ###
|
||||
i = @pub.get('challenges')?.indexOf(chal.id)
|
||||
if i? and ~i
|
||||
@pub.remove("challenges", i, 1)
|
||||
|
||||
### Remove user from challenge ###
|
||||
if ~(i = _.findIndex chal.members, {id: @uid})
|
||||
@model.remove "groups.#{chal.group.id}.challenges.#{chal.id}.members", i, 1
|
||||
|
||||
### Remove tasks from user ###
|
||||
async.each chal.habits.concat(chal.dailys.concat(chal.todos.concat(chal.rewards))), (task) =>
|
||||
if keep is true
|
||||
@priv.del "tasks.#{task.id}.challenge"
|
||||
else
|
||||
path = "_page.lists.tasks.#{@uid}.#{task.type}s"
|
||||
if ~(i = _.findIndex(@model.get(path), {id:task.id}))
|
||||
@model.remove(path, i, 1)
|
||||
true
|
||||
|
||||
taskUnsubscribe: (e, el) ->
|
||||
|
||||
###
|
||||
since the challenge was deleted, we don't have its data to unsubscribe from - but we have the vestiges on the task
|
||||
FIXME this is a really dumb way of doing this
|
||||
###
|
||||
tasks = @priv.get('tasks')
|
||||
tobj = tasks[$(el).attr("data-tid")]
|
||||
deletedChal =
|
||||
id: tobj.challenge
|
||||
members: [@uid]
|
||||
habits: _.where tasks, {type: 'habit', challenge: tobj.challenge}
|
||||
dailys: _.where tasks, {type: 'daily', challenge: tobj.challenge}
|
||||
todos: _.where tasks, {type: 'todo', challenge: tobj.challenge}
|
||||
rewards: _.where tasks, {type: 'reward', challenge: tobj.challenge}
|
||||
|
||||
switch $(el).attr('data-action')
|
||||
when 'keep'
|
||||
@priv.del "tasks.#{tobj.id}.challenge"
|
||||
@priv.del "tasks.#{tobj.id}.group"
|
||||
when 'keep-all'
|
||||
app.challenges.unsubscribe.call @, deletedChal, true
|
||||
when 'remove'
|
||||
path = "_page.lists.tasks.#{@uid}.#{tobj.type}s"
|
||||
if ~(i = _.findIndex @model.get(path), {id: tobj.id})
|
||||
@model.remove path, i
|
||||
when 'remove-all'
|
||||
app.challenges.unsubscribe.call @, deletedChal, false
|
||||
|
||||
challengeUnsubscribe: (e, el) ->
|
||||
$(el).popover('destroy').popover({
|
||||
html: true
|
||||
placement: 'top'
|
||||
trigger: 'manual'
|
||||
title: 'Unsubscribe From Challenge And:'
|
||||
content: """
|
||||
<a class=challenge-unsubscribe-and-remove>Remove Tasks</a><br/>
|
||||
<a class=challenge-unsubscribe-and-keep>Keep Tasks</a><br/>
|
||||
<a class=challenge-unsubscribe-cancel>Cancel</a><br/>
|
||||
"""
|
||||
}).popover('show')
|
||||
$('.challenge-unsubscribe-and-remove').click => app.challenges.unsubscribe.call @, e.get(), false
|
||||
$('.challenge-unsubscribe-and-keep').click => app.challenges.unsubscribe.call @, e.get(), true
|
||||
$('[class^=challenge-unsubscribe]').click => $(el).popover('destroy')
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
_ = require 'lodash'
|
||||
|
||||
module.exports.app = (appExports, model) ->
|
||||
user = model.at('_user')
|
||||
|
||||
appExports.filtersDeleteTag = (e, el) ->
|
||||
tags = user.get('tags')
|
||||
tag = e.at "_user.tags." + $(el).attr('data-index')
|
||||
tagId = tag.get('id')
|
||||
|
||||
###something got corrupted, let's clear the corrupt tags###
|
||||
unless tagId
|
||||
user.set 'tags', _.filter( tags, ((t)-> t?.id) )
|
||||
user.set 'filters', {}
|
||||
return
|
||||
|
||||
model.del "_user.filters.#{tagId}"
|
||||
tag.remove()
|
||||
|
||||
### remove tag from all tasks###
|
||||
_.each user.get("tasks"), (task) -> user.del "tasks.#{task.id}.tags.#{tagId}"; true
|
||||
|
||||
|
|
@ -1,139 +0,0 @@
|
|||
_ = require('lodash')
|
||||
helpers = require('habitrpg-shared/script/helpers')
|
||||
|
||||
module.exports.app = (appExports, model, app) ->
|
||||
browser = require './browser'
|
||||
|
||||
_currentTime = model.at '_currentTime'
|
||||
_currentTime.setNull +new Date
|
||||
# Every 60 seconds, reset the current time so that the chat can update relative times
|
||||
setInterval (->_currentTime.set +new Date), 60000
|
||||
|
||||
appExports.groupCreate = (e,el) ->
|
||||
type = $(el).attr('data-type')
|
||||
newGroup =
|
||||
name: model.get("_new.group.name")
|
||||
description: model.get("_new.group.description")
|
||||
leader: user.get('id')
|
||||
members: [user.get('id')]
|
||||
type: type
|
||||
|
||||
# parties - free
|
||||
if type is 'party'
|
||||
return model.add 'groups', newGroup, ->location.reload()
|
||||
|
||||
# guilds - 4G
|
||||
unless user.get('balance') >= 1
|
||||
return $('#more-gems-modal').modal 'show'
|
||||
if confirm "Create Guild for 4 Gems?"
|
||||
newGroup.privacy = (model.get("_new.group.privacy") || 'public') if type is 'guild'
|
||||
newGroup.balance = 1 # they spent $ to open the guild, it goes into their guild bank
|
||||
model.add 'groups', newGroup, ->
|
||||
user.incr 'balance', -1, ->location.reload()
|
||||
|
||||
appExports.toggleGroupEdit = (e, el) ->
|
||||
path = "_editing.groups.#{$(el).attr('data-gid')}"
|
||||
model.set path, !model.get(path)
|
||||
|
||||
appExports.toggleLeaderMessageEdit = (e, el) ->
|
||||
path = "_editing.leaderMessage.#{$(el).attr('data-gid')}"
|
||||
model.set path, !model.get(path)
|
||||
|
||||
appExports.groupAddWebsite = (e, el) ->
|
||||
test = e.get()
|
||||
e.at().unshift 'websites', model.get('_newGroupWebsite')
|
||||
model.del '_newGroupWebsite'
|
||||
|
||||
appExports.groupInvite = (e,el) ->
|
||||
uid = model.get('_groupInvitee').replace(/[\s"]/g, '')
|
||||
model.set '_groupInvitee', ''
|
||||
return if _.isEmpty(uid)
|
||||
|
||||
model.query('users').publicInfo([uid]).fetch (err, profiles) ->
|
||||
throw err if err
|
||||
profile = profiles.at(0).get()
|
||||
return model.set("_groupError", "User with id #{uid} not found.") unless profile
|
||||
model.query('groups').withMember(uid).fetch (err, g) ->
|
||||
throw err if err
|
||||
group = e.get(); groups = g.get()
|
||||
{type, name} = group; gid = group.id
|
||||
groupError = (msg) -> model.set("_groupError", msg)
|
||||
invite = ->
|
||||
$.bootstrapGrowl "Invitation Sent."
|
||||
switch type
|
||||
when 'guild' then model.push "users.#{uid}.invitations.guilds", {id:gid, name}, ->location.reload()
|
||||
when 'party' then model.set "users.#{uid}.invitations.party", {id:gid, name}, ->location.reload()
|
||||
|
||||
switch type
|
||||
when 'guild'
|
||||
if profile.invitations?.guilds and _.find(profile.invitations.guilds, {id:gid})
|
||||
return groupError("User already invited to that group")
|
||||
else if uid in group.members
|
||||
return groupError("User already in that group")
|
||||
else invite()
|
||||
when 'party'
|
||||
if profile.invitations?.party
|
||||
return groupError("User already pending invitation.")
|
||||
else if _.find(groups, {type:'party'})
|
||||
return groupError("User already in a party.")
|
||||
else invite()
|
||||
|
||||
|
||||
appExports.acceptInvitation = (e,el) ->
|
||||
gid = e.get('id')
|
||||
if $(el).attr('data-type') is 'party'
|
||||
user.set 'invitations.party', null, ->joinGroup(gid)
|
||||
else
|
||||
e.at().remove ->joinGroup(gid)
|
||||
|
||||
appExports.rejectInvitation = (e, el) ->
|
||||
clear = -> browser.resetDom(model)
|
||||
if e.at().path().indexOf('party') != -1
|
||||
model.del e.at().path(), clear
|
||||
else e.at().remove clear
|
||||
|
||||
appExports.groupLeave = (e,el) ->
|
||||
if confirm("Leave this group, are you sure?") is true
|
||||
uid = user.get('id')
|
||||
group = model.at "groups.#{$(el).attr('data-id')}"
|
||||
index = group.get('members').indexOf(uid)
|
||||
if index != -1
|
||||
group.remove 'members', index, 1, ->
|
||||
updated = group.get()
|
||||
# last member out, delete the party
|
||||
if _.isEmpty(updated.members) and (updated.type is 'party')
|
||||
group.del ->location.reload()
|
||||
# assign new leader, so the party is editable #TODO allow old leader to assign new leader, this is just random
|
||||
else if (updated.leader is uid)
|
||||
group.set "leader", updated.members[0], ->location.reload()
|
||||
else location.reload()
|
||||
|
||||
###
|
||||
Chat Functionality
|
||||
###
|
||||
|
||||
model.on 'unshift', '_party.chat', -> $('.chat-message').tooltip()
|
||||
model.on 'unshift', '_habitrpg.chat', -> $('.chat-message').tooltip()
|
||||
|
||||
appExports.chatKeyup = (e, el, next) ->
|
||||
return next() unless e.keyCode is 13
|
||||
appExports.sendChat(e, el)
|
||||
|
||||
appExports.deleteChatMessage = (e) ->
|
||||
if confirm("Delete chat message?") is true
|
||||
e.at().remove() #requires the {#with}
|
||||
|
||||
app.on 'render', (ctx) ->
|
||||
$('#party-tab-link').on 'shown', (e) ->
|
||||
messages = model.get('_party.chat')
|
||||
return false unless messages?.length > 0
|
||||
model.set '_user.party.lastMessageSeen', messages[0].id
|
||||
|
||||
appExports.gotoPartyChat = ->
|
||||
model.set '_gamePane', true, ->
|
||||
$('#party-tab-link').tab('show')
|
||||
|
||||
appExports.assignGroupLeader = (e, el) ->
|
||||
newLeader = model.get('_new.groupLeader')
|
||||
if newLeader and (confirm("Assign new leader, you sure?") is true)
|
||||
e.at().set('leader', newLeader, ->browser.resetDom(model)) if newLeader
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
i18n = require 'derby-i18n'
|
||||
|
||||
i18n.plurals.add 'he', (n) -> n
|
||||
i18n.plurals.add 'bg', (n) -> n
|
||||
i18n.plurals.add 'nl', (n) -> n
|
||||
|
||||
module.exports = i18n
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
# Translations
|
||||
i18n = require './i18n'
|
||||
i18n.localize app,
|
||||
availableLocales: ['en', 'he', 'bg', 'nl']
|
||||
defaultLocale: 'en'
|
||||
urlScheme: false
|
||||
checkHeader: true
|
||||
|
||||
|
||||
# ========== CONTROLLER FUNCTIONS ==========
|
||||
|
||||
ready (model) ->
|
||||
misc.fixCorruptUser(model) # https://github.com/lefnire/habitrpg/issues/634
|
||||
|
||||
# used for things like remove website, chat, etc
|
||||
exports.removeAt = (e, el) ->
|
||||
if (confirmMessage = $(el).attr 'data-confirm')?
|
||||
return unless confirm(confirmMessage) is true
|
||||
e.at().remove()
|
||||
browser.resetDom(model) if $(el).attr('data-refresh')
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
items = require 'habitrpg-shared/script/items'
|
||||
_ = require 'lodash'
|
||||
|
||||
updateStore = (model) ->
|
||||
nextItems = items.updateStore(model.get('_user'))
|
||||
_.each nextItems, (v,k) -> model.set("_items.next.#{k}",v); true
|
||||
|
||||
###
|
||||
server exports
|
||||
###
|
||||
module.exports.server = (model) ->
|
||||
model.set '_items', items.items
|
||||
updateStore(model)
|
||||
|
||||
###
|
||||
app exports
|
||||
###
|
||||
module.exports.app = (appExports, model) ->
|
||||
misc = require './misc'
|
||||
|
||||
model.on "set", "_user.items.*", -> updateStore(model)
|
||||
|
||||
appExports.buyItem = (e, el) ->
|
||||
misc.batchTxn model, (uObj, paths) ->
|
||||
ret = items.buyItem uObj, $(el).attr('data-type'), {paths}
|
||||
alert("Not enough GP") if ret is false
|
||||
|
||||
appExports.activateRewardsTab = ->
|
||||
model.set '_activeTabRewards', true
|
||||
model.set '_activeTabPets', false
|
||||
appExports.activatePetsTab = ->
|
||||
model.set '_activeTabPets', true
|
||||
model.set '_activeTabRewards', false
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,152 +0,0 @@
|
|||
_ = require 'lodash'
|
||||
algos = require 'habitrpg-shared/script/algos'
|
||||
items = require('habitrpg-shared/script/items').items
|
||||
helpers = require('habitrpg-shared/script/helpers')
|
||||
|
||||
#TODO put this in habitrpg-shared
|
||||
###
|
||||
We can't always use refLists, but we often still need to get a positional path by id: eg, users.1234.tasks.5678.value
|
||||
For arrays (which use indexes, not id-paths), here's a helper function so we can run indexedPath('users',:user.id,'tasks',:task.id,'value)
|
||||
###
|
||||
indexedPath = ->
|
||||
_.reduce arguments, (m,v) =>
|
||||
return v if !m #first iteration
|
||||
return "#{m}.#{v}" if _.isString v #string paths
|
||||
return "#{m}." + _.findIndex(@model.get(m),v)
|
||||
, ''
|
||||
|
||||
taskInChallenge = (task) ->
|
||||
return undefined unless task?.challenge
|
||||
@model.at indexedPath.call(@, "groups.#{task.group.id}.challenges", {id:task.challenge}, "#{task.type}s", {id:task.id})
|
||||
|
||||
###
|
||||
algos.score wrapper for habitrpg-helpers to work in Derby. We need to do model.set() instead of simply setting the
|
||||
object properties, and it's very difficult to diff the two objects and find dot-separated paths to set. So we to first
|
||||
clone our user object (if we don't do that, it screws with model.on() listeners, ping Tyler for an explaination),
|
||||
perform the updates while tracking paths, then all the values at those paths
|
||||
###
|
||||
module.exports.score = (model, taskId, direction, allowUndo=false) ->
|
||||
drop = undefined
|
||||
delta = batchTxn model, (uObj, paths) ->
|
||||
tObj = uObj.tasks[taskId]
|
||||
|
||||
# Stuff for undo
|
||||
if allowUndo
|
||||
tObjBefore = _.cloneDeep tObj
|
||||
tObjBefore.completed = !tObjBefore.completed if tObjBefore.type in ['daily', 'todo']
|
||||
previousUndo = model.get('_undo')
|
||||
clearTimeout(previousUndo.timeoutId) if previousUndo?.timeoutId
|
||||
timeoutId = setTimeout (-> model.del('_undo')), 20000
|
||||
model.set '_undo', {stats:_.cloneDeep(uObj.stats), task:tObjBefore, timeoutId: timeoutId}
|
||||
|
||||
delta = algos.score(uObj, tObj, direction, {paths})
|
||||
model.set('_streakBonus', uObj._tmp.streakBonus) if uObj._tmp?.streakBonus
|
||||
drop = uObj._tmp?.drop
|
||||
|
||||
# Update challenge statistics
|
||||
# FIXME put this in it's own batchTxn, make batchTxn model.at() ref aware (not just _user)
|
||||
# FIXME use reflists for users & challenges
|
||||
if (chalTask = taskInChallenge.call({model}, tObj)) and chalTask?.get()
|
||||
model._dontPersist = false
|
||||
chalTask.incr "value", delta
|
||||
chal = model.at indexedPath.call({model}, "groups.#{tObj.group.id}.challenges", {id:tObj.challenge})
|
||||
chalUser = -> indexedPath.call({model}, chal.path(), 'users', {id:uObj.id})
|
||||
cu = model.at chalUser()
|
||||
unless cu?.get()
|
||||
chal.push "users", {id: uObj.id, name: helpers.username(uObj.auth, uObj.profile?.name)}
|
||||
cu = model.at chalUser()
|
||||
else
|
||||
cu.set 'name', helpers.username(uObj.auth, uObj.profile?.name) # update their name incase it changed
|
||||
cu.set "#{tObj.type}s.#{tObj.id}",
|
||||
value: tObj.value
|
||||
history: tObj.history
|
||||
model._dontPersist = true
|
||||
, done:->
|
||||
if drop and $?
|
||||
model.set '_drop', drop
|
||||
$('#item-dropped-modal').modal 'show'
|
||||
|
||||
delta
|
||||
|
||||
###
|
||||
Cleanup task-corruption (null tasks, rogue/invisible tasks, etc)
|
||||
Obviously none of this should be happening, but we'll stop-gap until we can find & fix
|
||||
Gotta love refLists! see https://github.com/lefnire/habitrpg/issues/803 & https://github.com/lefnire/habitrpg/issues/6343
|
||||
###
|
||||
module.exports.fixCorruptUser = (model) ->
|
||||
user = model.at('_user')
|
||||
tasks = user.get('tasks')
|
||||
|
||||
## Remove corrupted tasks
|
||||
_.each tasks, (task, key) ->
|
||||
unless task?.id? and task?.type?
|
||||
user.del("tasks.#{key}")
|
||||
delete tasks[key]
|
||||
true
|
||||
resetDom = false
|
||||
batchTxn model, (uObj, paths, batch) ->
|
||||
## fix https://github.com/lefnire/habitrpg/issues/1086
|
||||
uniqPets = _.uniq(uObj.items.pets)
|
||||
batch.set('items.pets', uniqPets) if !_.isEqual(uniqPets, uObj.items.pets)
|
||||
|
||||
if uObj.invitations?.guilds
|
||||
uniqInvites = _.uniq(uObj.invitations.guilds)
|
||||
batch.set('invitations.guilds', uniqInvites) if !_.isEqual(uniqInvites, uObj.invitations.guilds)
|
||||
|
||||
## Task List Cleanup
|
||||
['habit','daily','todo','reward'].forEach (type) ->
|
||||
|
||||
# 1. remove duplicates
|
||||
# 2. restore missing zombie tasks back into list
|
||||
idList = uObj["#{type}Ids"]
|
||||
taskIds = _.pluck( _.where(tasks, {type}), 'id')
|
||||
union = _.union idList, taskIds
|
||||
|
||||
# 2. remove empty (grey) tasks
|
||||
preened = _.filter union, (id) -> id and _.contains(taskIds, id)
|
||||
|
||||
# There were indeed issues found, set the new list
|
||||
if !_.isEqual(idList, preened)
|
||||
batch.set("#{type}Ids", preened)
|
||||
console.error uObj.id + "'s #{type}s were corrupt."
|
||||
true
|
||||
resetDom = !_.isEmpty(paths)
|
||||
require('./browser').resetDom(model) if resetDom
|
||||
|
||||
module.exports.viewHelpers = (view) ->
|
||||
|
||||
#misc
|
||||
view.fn "percent", (x, y) ->
|
||||
x=1 if x==0
|
||||
Math.round(x/y*100)
|
||||
view.fn 'indexOf', (str1, str2) ->
|
||||
return false unless str1 && str2
|
||||
str1.indexOf(str2) != -1
|
||||
view.fn "round", Math.round
|
||||
view.fn "floor", Math.floor
|
||||
view.fn "ceil", Math.ceil
|
||||
view.fn "truarr", (num) -> num-1
|
||||
view.fn 'count', (arr) -> arr?.length or 0
|
||||
view.fn 'int',
|
||||
get: (num) -> num
|
||||
set: (num) -> [parseInt(num)]
|
||||
view.fn 'indexedPath', indexedPath
|
||||
|
||||
|
||||
#iCal
|
||||
view.fn "encodeiCalLink", helpers.encodeiCalLink
|
||||
|
||||
#User
|
||||
view.fn "gems", (balance) -> balance * 4
|
||||
|
||||
#Challenges
|
||||
view.fn 'taskInChallenge', (task) ->
|
||||
taskInChallenge.call(@,task)?.get()
|
||||
view.fn 'taskAttrFromChallenge', (task, attr) ->
|
||||
taskInChallenge.call(@,task)?.get(attr)
|
||||
view.fn 'brokenChallengeLink', (task) ->
|
||||
task?.challenge and !(taskInChallenge.call(@,task)?.get())
|
||||
|
||||
view.fn 'challengeMemberScore', (member, tType, tid) ->
|
||||
Math.round(member["#{tType}s"]?[tid]?.value)
|
||||
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
_ = require 'lodash'
|
||||
{ randomVal } = require 'habitrpg-shared/script/helpers'
|
||||
{ pets, hatchingPotions } = require('habitrpg-shared/script/items').items
|
||||
|
||||
###
|
||||
app exports
|
||||
###
|
||||
module.exports.app = (appExports, model) ->
|
||||
user = model.at '_user'
|
||||
|
||||
appExports.chooseEgg = (e, el) ->
|
||||
model.ref '_hatchEgg', e.at()
|
||||
|
||||
appExports.hatchEgg = (e, el) ->
|
||||
hatchingPotionName = $(el).children('select').val()
|
||||
myHatchingPotion = user.get 'items.hatchingPotions'
|
||||
egg = model.get '_hatchEgg'
|
||||
eggs = user.get 'items.eggs'
|
||||
myPets = user.get 'items.pets'
|
||||
|
||||
hatchingPotionIdx = myHatchingPotion.indexOf hatchingPotionName
|
||||
eggIdx = eggs.indexOf egg
|
||||
|
||||
return alert "You don't own that hatching potion yet, complete more tasks!" if hatchingPotionIdx is -1
|
||||
return alert "You don't own that egg yet, complete more tasks!" if eggIdx is -1
|
||||
return alert "You already have that pet, hatch a different combo." if myPets and myPets.indexOf("#{egg.name}-#{hatchingPotionName}") != -1
|
||||
|
||||
user.push 'items.pets', egg.name + '-' + hatchingPotionName, ->
|
||||
eggs.splice eggIdx, 1
|
||||
myHatchingPotion.splice hatchingPotionIdx, 1
|
||||
user.set 'items.eggs', eggs
|
||||
user.set 'items.hatchingPotions', myHatchingPotion
|
||||
|
||||
alert 'Your egg hatched! Visit your stable to equip your pet.'
|
||||
|
||||
#FIXME Bug: this removes from the array properly in the browser, but on refresh is has removed all items from the arrays
|
||||
# user.remove 'items.hatchingPotions', hatchingPotionIdx, 1
|
||||
# user.remove 'items.eggs', eggIdx, 1
|
||||
|
||||
appExports.choosePet = (e, el, next) ->
|
||||
petStr = $(el).attr('data-pet')
|
||||
|
||||
return next() if user.get('items.pets').indexOf(petStr) == -1
|
||||
# If user's pet is already active, deselect it
|
||||
return user.set 'items.currentPet', {} if user.get('items.currentPet.str') is petStr
|
||||
|
||||
[name, modifier] = petStr.split('-')
|
||||
pet = _.find pets, {name: name}
|
||||
pet.modifier = modifier
|
||||
pet.str = petStr
|
||||
user.set 'items.currentPet', pet
|
||||
|
||||
appExports.buyHatchingPotion = (e, el) ->
|
||||
name = $(el).attr 'data-hatchingPotion'
|
||||
newHatchingPotion = _.find hatchingPotions, {name: name}
|
||||
gems = user.get('balance') * 4
|
||||
if gems >= newHatchingPotion.value
|
||||
if confirm "Buy this hatching potion with #{newHatchingPotion.value} of your #{gems} Gems?"
|
||||
user.push 'items.hatchingPotions', newHatchingPotion.name
|
||||
user.set 'balance', (gems - newHatchingPotion.value) / 4
|
||||
else
|
||||
$('#more-gems-modal').modal 'show'
|
||||
|
||||
appExports.buyEgg = (e, el) ->
|
||||
name = $(el).attr 'data-egg'
|
||||
newEgg = _.find pets, {name: name}
|
||||
gems = user.get('balance') * 4
|
||||
if gems >= newEgg.value
|
||||
if confirm "Buy this egg with #{newEgg.value} of your #{gems} Gems?"
|
||||
user.push 'items.eggs', newEgg
|
||||
user.set 'balance', (gems - newEgg.value) / 4
|
||||
else
|
||||
$('#more-gems-modal').modal 'show'
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
algos = require 'habitrpg-shared/script/algos'
|
||||
helpers = require 'habitrpg-shared/script/helpers'
|
||||
_ = require 'lodash'
|
||||
moment = require 'moment'
|
||||
misc = require './misc'
|
||||
|
||||
appExports.clearCompleted = (e, el) ->
|
||||
completedIds = _.pluck( _.where(model.get('_todoList'), {completed:true}), 'id')
|
||||
todoIds = user.get('todoIds')
|
||||
_.each completedIds, (id) -> user.del "tasks.#{id}"; true
|
||||
user.set 'todoIds', _.difference(todoIds, completedIds)
|
||||
|
||||
|
||||
###
|
||||
Undo
|
||||
###
|
||||
appExports.undo = () ->
|
||||
undo = model.get '_undo'
|
||||
clearTimeout(undo.timeoutId) if undo?.timeoutId
|
||||
model.del '_undo'
|
||||
_.each undo.stats, (val, key) -> user.set "stats.#{key}", val; true
|
||||
taskPath = "tasks.#{undo.task.id}"
|
||||
_.each undo.task, (val, key) ->
|
||||
return true if key in ['id', 'type'] # strange bugs in this world: https://workflowy.com/shared/a53582ea-43d6-bcce-c719-e134f9bf71fd/
|
||||
if key is 'completed'
|
||||
user.pass({cron:true}).set("#{taskPath}.completed",val)
|
||||
else
|
||||
user.set "#{taskPath}.#{key}", val
|
||||
true
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
_ = require 'lodash'
|
||||
{ randomVal } = require 'habitrpg-shared/script/helpers'
|
||||
{ pets, hatchingPotions } = require('habitrpg-shared/script/items').items
|
||||
|
||||
###
|
||||
Listeners to enabled flags, set notifications to the user when they've unlocked features
|
||||
###
|
||||
|
||||
module.exports.app = (appExports, model) ->
|
||||
user = model.at('_user')
|
||||
|
||||
alreadyShown = (before, after) -> !(!before and after is true)
|
||||
|
||||
showPopover = (selector, title, html, placement='bottom') ->
|
||||
$(selector).popover('destroy')
|
||||
html += " <a href='#' onClick=\"$('#{selector}').popover('hide');return false;\">[Close]</a>"
|
||||
$(selector).popover({
|
||||
title: title
|
||||
placement: placement
|
||||
trigger: 'manual'
|
||||
html: true
|
||||
content: html
|
||||
}).popover 'show'
|
||||
|
||||
|
||||
user.on 'set', 'flags.customizationsNotification', (after, before) ->
|
||||
return if alreadyShown(before,after)
|
||||
$('.main-herobox').popover('destroy') #remove previous popovers
|
||||
html = "Click your avatar to customize your appearance."
|
||||
showPopover '.main-herobox', 'Customize Your Avatar', html, 'bottom'
|
||||
|
||||
user.on 'set', 'flags.itemsEnabled', (after, before) ->
|
||||
return if alreadyShown(before,after)
|
||||
html = """
|
||||
<img src='/vendor/BrowserQuest/client/img/1/chest.png' />
|
||||
Congratulations, you have unlocked the Item Store! You can now buy weapons, armor, potions, etc. Read each item's comment for more information.
|
||||
"""
|
||||
showPopover 'div.rewards', 'Item Store Unlocked', html, 'left'
|
||||
|
||||
user.on 'set', 'flags.petsEnabled', (after, before) ->
|
||||
return if alreadyShown(before,after)
|
||||
html = """
|
||||
<img src='/img/sprites/wolf_border.png' style='width:30px;height:30px;float:left;padding-right:5px' />
|
||||
You have unlocked Pets! You can now buy pets with Gems (note, you replenish Gems with real-life money - so chose your pets wisely!)
|
||||
"""
|
||||
showPopover '#rewardsTabs', 'Pets Unlocked', html, 'left'
|
||||
|
||||
user.on 'set', 'flags.partyEnabled', (after, before) ->
|
||||
return if user.get('party.current') or alreadyShown(before,after)
|
||||
html = """
|
||||
Be social, join a party and play Habit with your friends! You'll be better at your habits with accountability partners. Click User -> Options -> Party, and follow the instructions. LFG anyone?
|
||||
"""
|
||||
showPopover '.user-menu', 'Party System', html, 'bottom'
|
||||
|
||||
user.on 'set', 'flags.dropsEnabled', (after, before) ->
|
||||
return if alreadyShown(before,after)
|
||||
|
||||
egg = randomVal pets
|
||||
|
||||
dontPersist = model._dontPersist
|
||||
|
||||
model._dontPersist = false
|
||||
user.push 'items.eggs', egg
|
||||
model._dontPersist = dontPersist
|
||||
|
||||
$('#drops-enabled-modal').modal 'show'
|
||||
|
||||
user.on 'push', 'items.pets', (after, before) ->
|
||||
return if user.get('achievements.beastMaster')
|
||||
if before >= 90 # evidently before is the count?
|
||||
dontPersist = model._dontPersist; model._dontPersist = false
|
||||
user.set 'achievements.beastMaster', true, (-> model._dontPersist = dontPersist)
|
||||
$('#beastmaster-achievement-modal').modal('show')
|
||||
|
||||
user.on 'set', 'items.*', (after, before) ->
|
||||
return if user.get('achievements.ultimateGear')
|
||||
items = user.get('items')
|
||||
if parseInt(items.weapon) >= 6 and parseInt(items.armor) >= 5 and parseInt(items.head) >= 5 and parseInt(items.shield) >= 5
|
||||
dontPersist = model._dontPersist; model._dontPersist = false
|
||||
user.set 'achievements.ultimateGear', true, (->model._dontPersist = dontPersist)
|
||||
$('#max-gear-achievement-modal').modal('show')
|
||||
|
||||
user.on 'set', 'tasks.*.streak', (id, after, before) ->
|
||||
if after > 0
|
||||
|
||||
# 21-day streak, as per the old philosophy of doign a thing 21-days in a row makes a habit
|
||||
if (after % 21) is 0
|
||||
dontPersist = model._dontPersist; model._dontPersist = false
|
||||
user.incr 'achievements.streak', 1, (-> model._dontPersist = dontPersist)
|
||||
$('#streak-achievement-modal').modal('show')
|
||||
|
||||
# they're undoing a task at the 21 mark, take back their badge
|
||||
else if (before - after is 1) and (before % 21 is 0)
|
||||
dontPersist = model._dontPersist; model._dontPersist = false
|
||||
user.incr 'achievements.streak', -1, (-> model._dontPersist = dontPersist)
|
||||
2
common/dist/sprites/habitrpg-shared.css
vendored
2
common/dist/sprites/spritesmith-main-5.css
vendored
|
|
@ -283,7 +283,7 @@
|
|||
.npc_bailey {
|
||||
background-image: url(spritesmith-main-5.png);
|
||||
background-position: -1642px -182px;
|
||||
width: 60px;
|
||||
width: 54px;
|
||||
height: 72px;
|
||||
}
|
||||
.npc_daniel {
|
||||
|
|
|
|||
BIN
common/dist/sprites/spritesmith-main-5.png
vendored
|
Before Width: | Height: | Size: 387 KiB After Width: | Height: | Size: 392 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 893 B After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 6.2 KiB |
|
|
@ -60,6 +60,6 @@
|
|||
"noPermissionEditChallenge": "Nemáš oprávnění k upravování této výzvy",
|
||||
"noPermissionDeleteChallenge": "Nemáš oprávnění ke smazání této výzvy",
|
||||
"noPermissionCloseChallenge": "Nemáš oprávnění k ukončení této výzvy",
|
||||
"noChallengeOwner": "no owner",
|
||||
"noChallengeOwnerPopover": "This challenge does not have an owner because the person who created the challenge deleted their account."
|
||||
"noChallengeOwner": "bez majitele",
|
||||
"noChallengeOwnerPopover": "Tato Výzva nemá majitele, jelikož uživatel, který ji vytvořil, si smazal účet."
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Bonus třídy",
|
||||
"battleGear": "Bojová výzbroj",
|
||||
"battleGearText": "Tohle je tvé vybavení, které máš na sobě do bitvy; ovlivňuje čísla, když pracuješ se svými úkoly.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Kostým",
|
||||
"costumeText": "Pokud se ti více líbí vzhled jiného vybavení, než toho, které máš na sobě, zaškrtni \"použít kostým\". Kostým se ti zobrazí na tvém právě používaném vybavení, které tak hezky schová.",
|
||||
"useCostume": "Použít kostým",
|
||||
|
|
@ -80,7 +81,7 @@
|
|||
"noMoreAllocate": "Nyní, když jsi dosáhl úrovně 100, už nebudeš dostávat žádné body atributů. Můžeš pokračovat v dosahování dalších úrovní, nebo můžeš začít nové dobrodružství na úrovni 1, když použiješ <a href='http://habitica.wikia.com/wiki/Orb_of_Rebirth' target='_blank'>Orb Znovuzrození</a>, který nyní najdeš zdarma na Trhu.",
|
||||
"stats": "Statistiky",
|
||||
"strength": "Síla",
|
||||
"strengthText": "Síla zvyšuje šanci náhodných \"kritických zásahů\" a díky tomu i bonus ke zlaťákům, zkušenosti a nalézání předmětů. Také ovlivňuje vážnost zranění bosse.",
|
||||
"strengthText": "Síla zvyšuje šanci náhodných \"kritických zásahů\" a díky tomu i bonus ke zlaťákům, zkušenosti a nalézání předmětů. Také ovlivňuje vážnost zranění příšery.",
|
||||
"constitution": "Obrana",
|
||||
"conText": "Obrana snižuje újmu ze zlozvyků a nesplněných denních úkolů.",
|
||||
"perception": "Vnímání",
|
||||
|
|
@ -116,7 +117,7 @@
|
|||
"taskAllocationPop": "Přiřadí body podle Fyzické (síla), Mentální (Inteligence), Sociální (Obrana) a Další (Vnímání) kategorie přiřazené k úkolům, které splníš.",
|
||||
"distributePoints": "Přiřaď nevyužité body.",
|
||||
"distributePointsPop": "Přiřadí všechny nepřidělené body v závislosti na zvoleném režimu přidělování.",
|
||||
"warriorText": "Válečníci získávají lepší \"kritické zásahy\", které náhodně dávají bonusové zlaťáky a zkušenosti a zvyšují šanci na nalezení předmětů při splnění úkolu. Také způsobují větší újmu bossům. Hraj za válečníka, pokud tě motivují nepředvídatelné odměny nebo to chceš pořádně nandat bossům při Výpravách!",
|
||||
"warriorText": "Válečníci získávají lepší \"kritické zásahy\", které náhodně dávají bonusové zlaťáky a zkušenosti a zvyšují šanci na nalezení předmětů při splnění úkolu. Také způsobují větší újmu příšerám. Hraj za válečníka, pokud tě motivují nepředvídatelné odměny nebo to chceš pořádně nandat příšerám při Výpravách!",
|
||||
"mageText": "Mágové se rychle učí, získávají zkušenosti a postupují na vyšší úrovně rychleji než ostatní povolání. Mají také opravdu hodně many na používání speciálních schopností. Hraj za Mága, pokud si chceš užít taktický aspekt Habitica, nebo pokud tě motivuje postup na vyšší úrovně a odemykání nových pokročilých funkcí.",
|
||||
"rogueText": "Zloděj miluje střádání bohatství, získávání více zlata než mají ostatní, a je adeptem na nalezení náhodných předmětů. Jeho pověstná lstivost mu umožňuje uniknout důsledkům promeškání Denních úkolů. Buď zlodějem, pokud nacházíš silnou motivaci v odměnách a úspěších a usiluješ o kořist a ocenění!",
|
||||
"healerText": "Léčitel je nezranitelný a ochraňuje i ostatní. Promeškané Denní úkoly a špatné Zvyky jim moc neublíží a mají možnosti jak se zahojit. Buď léčitelem a užij si pomoc ostatním v družině, nebo pokud tě inspiruje myšlenka ošidit smrt tak, že budeš pořádně dřít!",
|
||||
|
|
|
|||
|
|
@ -95,9 +95,9 @@
|
|||
"questEggHorseText": "kůň",
|
||||
"questEggHorseMountText": "kůň",
|
||||
"questEggHorseAdjective": "cválající",
|
||||
"questEggFrogText": "Frog",
|
||||
"questEggFrogMountText": "Frog",
|
||||
"questEggFrogAdjective": "a princely",
|
||||
"questEggFrogText": "žabák",
|
||||
"questEggFrogMountText": "žabák",
|
||||
"questEggFrogAdjective": "princ",
|
||||
"eggNotes": "Najdi líhnoucí lektvar, nalij ho na vejce a to se vylíhne v <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
|
||||
"hatchingPotionBase": "Základní",
|
||||
"hatchingPotionWhite": "Bílý",
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@
|
|||
"faqQuestion11": "Jak mohu nahlásit chybu nebo zažádat o funkci?",
|
||||
"iosFaqAnswer11": "Můžeš nahlásit chybu, zažádat o funkci, nebo poslat zpětnou vazbu přes Menu > Nahlásit chybu a Menu > Poslat zpětnou vazbu! Uděláme vše co můžeme, abychom ti pomohli.",
|
||||
"webFaqAnswer11": "Zprávy o chybách se shromažďují na GitHub. Jdi na [Nápověda > Nahlásit chybu](https://github.com/HabitRPG/habitrpg/issues/2760) a pokračuj podle instrukcí. Neboj, brzo to spravíme!\n<br><br>\nŽádosti o nové funkce se shromažďují na Trello. Jdi na [Nápověda > Zažádat o funkci](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) a pokračuj podle instrukcí. Tadá!",
|
||||
"faqQuestion12": "How do I battle a World Boss?",
|
||||
"iosFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.",
|
||||
"webFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and skills will damage the Boss as usual.\n<br><br>\n You can also be in a normal Quest at the same time. Your tasks and skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n<br><br>\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n<br><br>\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.",
|
||||
"faqQuestion12": "Jak mám bojovat se Světovou příšerou?",
|
||||
"iosFaqAnswer12": "Světové příšery jsou speciální příšery, které se objevují v Krčmě. Všichni aktivní uživatelé automaticky s touto příšerou bojují a jejich úkoly a dovednosti příšeře ublíží jako vždy.\n\nV té době se také můžete vydat na normální výpravu. Tvé úkoly a dovednosti se budou počítat do obou bojů, jak na výpravě, tak se světovou příšerou.\n\nSvětová příšera ti nikdy nijak neublíží. Místo toho má lištu vzteku, která se plní, když uživatelé neplní své Denní úkoly. Když se lišta vzteku naplní, příšera zaútočí na jednu z postav v naší zemi a její obrázek se změní.\n\nPokud se chceš dočíst něco o [minulých světových příšerách](http://habitica.wikia.com/wiki/World_Bosses), koukni na wiki.",
|
||||
"webFaqAnswer12": "Světové příšery jsou speciální příšery, které se objevují v Krčmě. Všichni aktivní uživatelé automaticky s touto příšerou bojují a jejich úkoly a dovednosti příšeře ublíží jako vždy.\n<br><br>\nV té době se také můžete vydat na normální výpravu. Tvé úkoly a dovednosti se budou počítat do obou bojů, jak na výpravě, tak se světovou příšerou.\n<br><br>\nSvětová příšera ti nikdy nijak neublíží. Místo toho má lištu vzteku, která se plní, když uživatelé neplní své Denní úkoly. Když se lišta vzteku naplní, příšera zaútočí na jednu z postav v naší zemi a její obrázek se změní.\n<br><br>\nPokud se chceš dočíst něco o [minulých světových příšerách](http://habitica.wikia.com/wiki/World_Bosses), koukni na wiki.",
|
||||
"iosFaqStillNeedHelp": "Pokud máš otázku, kterou jsme nezodpověděli, přijď se zeptat do Krčmy v Menu > Krčma! Rádi ti pomůžeme.",
|
||||
"webFaqStillNeedHelp": "Pokud máš otázku, kterou jsme nezodpověděli, přijď se zeptat do [Cechu pro nováčky - Newbies Guild](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Rádi ti pomůžeme."
|
||||
}
|
||||
|
|
@ -102,8 +102,8 @@
|
|||
"marketing1Lead3Title": "Najdi náhodné ceny",
|
||||
"marketing2Header": "Soutěž s přáteli. Připoj se do zájmových skupin.",
|
||||
"marketing2Lead1": "I když se můžeš toulat zemí Habitica sám, dostane to grády až když začneš spolupracovat a soutěžit s ostatními a svalovat vinu jeden na druhého. Nejefektivnější část jakéhokoliv sebezlepšovacího programu je sociální odpovědnost. A jaké je lepší prostředí pro odpovědnost a soutěživost než video hra?",
|
||||
"marketing2Lead2": "<strong>Bojuj s bossy</strong>. Co by byla hra bez bojů? Bojuj s bossy se svou družinou. Bossové jsou \"super odpovědný mód\" - den, kdy prošvihneš posilovnu je dnem, kdy Boss uškodí <em>všem</em>.",
|
||||
"marketing2Lead2Title": "Bossové",
|
||||
"marketing2Lead2": "<strong>Bojuj s příšerami</strong>. Co by byla hra bez bojů? Bojuj s příšerami se svou družinou. Příšery jsou \"super odpovědný mód\" - den, kdy prošvihneš posilovnu je dnem, kdy Boss uškodí <em>všem</em>.",
|
||||
"marketing2Lead2Title": "Příšery",
|
||||
"marketing2Lead3": "<strong>Výzvy</strong> ti umožňují soutěžit s přáteli a neznámými lidmi. Ten, kdo ze sebe při výzvě vydá to nejlepší, vyhrává speciální ceny.",
|
||||
"marketing3Header": "Aplikace",
|
||||
"marketing3Lead1": "Aplikace pro <strong>iPhone a Android</strong> ti umožňují postarat se o vše na cestách. Uvědomujeme si, že přihlášení se na stránku, abys odklikal úkoly, může být otrava.",
|
||||
|
|
|
|||
|
|
@ -592,8 +592,8 @@
|
|||
"backMystery201504Notes": "Bzzzz! Poctivě od úkolu k úkolu. Nepřináší žádný benefit. Předmět pro předplatitele Duben 2015.",
|
||||
"backMystery201507Text": "Čupr surfařské prkno",
|
||||
"backMystery201507Notes": "Zasurfuj si od Svědomitých doků a prožeň vlny v Zátoce Nekompletnosti! Nepřináší žádný benefit. Předmět pro předplatitele červenec 2015.",
|
||||
"backMystery201510Text": "Goblin Tail",
|
||||
"backMystery201510Notes": "Prehensile and powerful! Confers no benefit. October 2015 Subscriber Item.",
|
||||
"backMystery201510Text": "Ocas goblina",
|
||||
"backMystery201510Notes": "Chápavý a mocný! Nepřináší žádný bonus. Výbava pro předplatitele říjen 2015.",
|
||||
"backSpecialWonderconRedText": "Mocná kápě",
|
||||
"backSpecialWonderconRedNotes": "Skví se silou a krásou. Speciální edice běžné zbroje. Nepřináší žádný benefit.",
|
||||
"backSpecialWonderconBlackText": "Záludná kápě",
|
||||
|
|
@ -664,8 +664,8 @@
|
|||
"headAccessoryMystery201409Notes": "Toto mocné paroží mění barvu stejně jako listí. Nepřináší žádný benefit. Výbava pro předplatitele září 2014.",
|
||||
"headAccessoryMystery201502Text": "Křídla myšlenky",
|
||||
"headAccessoryMystery201502Notes": "Nech svou představivost létat! Nepřináší žádný benefit. Předmět pro předplatitele únor 2015.",
|
||||
"headAccessoryMystery201510Text": "Goblin Horns",
|
||||
"headAccessoryMystery201510Notes": "These fearsome horns are slightly slimy. Confers no benefit. October 2015 Subscriber Item.",
|
||||
"headAccessoryMystery201510Text": "Rohy goblina",
|
||||
"headAccessoryMystery201510Notes": "Tyto strašlivé rohy jsou trochu od slizu. Nepřináší žádný bonus. Výbava pro předplatitele říjen 2015.",
|
||||
"headAccessoryMystery301405Text": "Brýle na čele",
|
||||
"headAccessoryMystery301405Notes": "\"Brýle jsou na oči,\" říkali. \"Nikdo nechce nosit brýle na čele,\" říkali. Ha! Teď jsi jim to natřel! Nepřináší žádný benefit. Předmět pro předplatitele srpen 3015.",
|
||||
"eyewear": "Brýle",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Trh",
|
||||
"subscriberItem": "Záhadný předmět",
|
||||
"newSubscriberItem": "Nový záhadný předmět",
|
||||
"subscriberItemText": "Předplatitelé obdrží každý měsíc záhadný předmět. Ten je zpravidla představen týden před koncem měsíce. Podívej se na stránku 'Mystery Item' na wiki, pokud chceš znát přesný termín.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Vše",
|
||||
"none": "Žádné",
|
||||
"or": "Nebo",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "CHYBA:",
|
||||
"newPassSent": "Nové heslo odesláno.",
|
||||
"serverUnreach": "Server je momentálně nedostupný.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Pokud chyba přetrvává, prosíme, nahlaš jí přes Nápověda > Nahlásit chybu. Pokud znáš konzoli svého prohlížeče, prosíme, připoj k hlášení všechny chybové hlášky z ní,",
|
||||
"error": "Chyba",
|
||||
"menu": "Menu",
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
"tavern": "Krčma",
|
||||
"innCheckOut": "Odhlásit se z hostince",
|
||||
"innCheckIn": "Odpočívat v hostinci",
|
||||
"innText": "Odpočíváš v Hostinci! Zatímco tu budeš, tvé Denní úkoly ti na konci dne nijak neublíží, ale vždy se resetují. Ale pozor: pokud jsi v boji s Bossem, ublíží ti nesplněné úkoly tvých přátel v družině, pokud také nejsou v Hostinci! Navíc, jakákoliv újma, kterou uštědříš Bossovi (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš.",
|
||||
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
|
||||
"innText": "Odpočíváš v Hostinci! Zatímco tu budeš, tvé Denní úkoly ti na konci dne nijak neublíží, ale vždy se resetují. Ale pozor: pokud jsi v boji s příšerou, ublíží ti nesplněné úkoly tvých přátel v družině, pokud také nejsou v Hostinci! Navíc, jakákoliv újma, kterou uštědříš příšeře (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš.",
|
||||
"innTextBroken": "Odpočíváš v Hostinci, asi... Zatímco tu budeš, tvé Denní úkoly ti na konci dne nijak neublíží, ale vždy se resetují... Pokud jsi v boji s příšerou, ublíží ti nesplněné úkoly tvých přátel v družině... Pokud také nejsou v Hostinci... Navíc, jakákoliv újma, kterou uštědříš příšeře (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš... Jsem tak unavený...",
|
||||
"lfgPosts": "Hledá se skupina (družina)",
|
||||
"tutorial": "Průvodce",
|
||||
"glossary": "Slovník",
|
||||
|
|
@ -147,5 +147,5 @@
|
|||
"partyChatEmpty": "Chat tvé družiny je prázdný! Napiš zprávu do okna nahoře a začni si povídat.",
|
||||
"guildChatEmpty": "Chat této družiny je prázdný! Napiš zprávu do okna nahoře a začni si povídat.",
|
||||
"possessiveParty": "Družina <%= name %>",
|
||||
"requestAcceptGuidelines": "If you would like to post messages in the Tavern or any party or guild chat, please first read our <%= linkStart %>Communit Guidelines<%= linkEnd %> and then click the button below to indicate that you accept them."
|
||||
"requestAcceptGuidelines": "Pokud chceš přidávat zprávy v Krčmě nebo v chatu v jakékoliv družině nebo cechu, prosíme, nejprve si přečti <%= linkStart %>Zásady komunity<%= linkEnd %> a poté klikni na tlačítko \"Přijmout zásady\" níže na znamení, že jim rozumíš."
|
||||
}
|
||||
|
|
@ -28,9 +28,9 @@
|
|||
"seasonalShopTitle": "<%= linkStart %>Sezónní mudrci<%= linkEnd %>",
|
||||
"seasonalShopClosedText": "Sezónní obchod je momentálně zavřený!! Nevím, kde se momentálně Sezonní Kouzelnice nachází, ale vsadím se, že bude zpět na další <a href='http://habitica.wikia.com/wiki/Grand_Galas' target='_blank'>Velkolepé Gala</a>!",
|
||||
"seasonalShopText": "Vítej v Sezonním obchodě! Zrovna tu máme jarní <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>Sezonní edici</a> zboží. Všechno zde je možné zakoupit v průběhu Jarního flámu každý rok, ale máme otevřeno pouze do 30. dubna, tak si nakup teď nebo budeš muset čekat další rok!",
|
||||
"seasonalShopSummerText": "Vítej v Sezonním obchodě! Zrovna tu máme jarní <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>Sezonní edici</a> zboží. Všechno zde je možné zakoupit v průběhu Letního šplouchání každý rok, ale máme otevřeno pouze do 31. července, tak si nakup teď, nebo budeš muset čekat další rok!",
|
||||
"seasonalShopSummerText": "Vítej v Sezonním obchodě! Zrovna tu máme letní <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>Sezonní edici</a> zboží. Všechno zde je možné zakoupit v průběhu Letního šplouchání každý rok, ale máme otevřeno pouze do 31. července, tak si nakup teď, nebo budeš muset čekat další rok!",
|
||||
"seasonalShopFallText": "Vítej v Sezonním obchodě! Zrovna tu máme podzimní <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>Sezonní edici</a> zboží. Všechno zde je možné zakoupit v průběhu Podzimního estivalu každý rok, ale máme otevřeno pouze do 31. října, tak si nakup teď, nebo budeš muset čekat další rok!",
|
||||
"seasonalShopFallTextBroken": "Oh.... Welcome to the Seasonal Shop... We're stocking autumn Seasonal Edition goodies, or something... Everything here will be available to purchase during the Fall Festival event each year, but we're only open until October 31... I guess you should to stock up now, or you'll have to wait... and wait... and wait... <strong>*sigh*</strong>",
|
||||
"seasonalShopFallTextBroken": "Eh... vítej v Sezonním obchodě... Zrovna tu máme podzimní Sezonní edici zboží nebo tak... Všechno zde je možné zakoupit v průběhu Podzimního estivalu každý rok, ale máme otevřeno pouze do 31. října... asi si nakup teď, nebo budeš muset čekat... a čekat... a čekat <strong>*ugh*</strong>",
|
||||
"seasonalShopRebirth": "Pokud jsi použil Kouli znovuzrození, můžeš si znovu zakoupit toto vybavení ve sloupci s odměnami, jakmile odemkneš Obchod. Ze začátku si budeš moci koupit pouze vybavení pro tvou momentální třídu (výchozí je Válečník), ale neboj, další vybavení pro další třídy bude přístupné jakmile si tuto třídu vybereš.",
|
||||
"candycaneSet": "Cukrátková hůl (mág)",
|
||||
"skiSet": "Lyžovrah (zloděj)",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Tento předmět už máš. Vybav se jím na stránce s Vybavením.",
|
||||
"armoireEquipment": "<%= image %> Ve zbrojnici jsi našel kus vzácného vybavení ve Zbrojnici: <%= dropText %>! Skvělé!",
|
||||
"armoireFood": "<%= image %> Prohledáváš zbrojnici a nacházíš <%= dropArticle %><%= dropText %>. Co to tu dělá?",
|
||||
"armoireExp": "Zápasíš se Zbrojnicí a získáváš zkušenost. To jsi jí to nandal!"
|
||||
"armoireExp": "Zápasíš se Zbrojnicí a získáváš zkušenost. To jsi jí to nandal!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -6,9 +6,9 @@
|
|||
"mattBochText1": "Vítej ve Stáji! Jsem Matt, Pán šelem. Až dosáhneš úrovně 3, budeš moci pomocí lektvarů líhnout vajíčka. Když se ti na Trhu vylíhne mazlíček, objeví se tady! Klikni na něj a objeví se u tvé postavy. Krm ho jídlem, které budeš nacházet, a on pak vyroste a budeš se na něm moci projet.",
|
||||
"daniel": "Daniel",
|
||||
"danielText": "Vítej v krčmě. Chvilku se zdrž a poznej místní. Pokud si potřebuješ odpočinout (jedeš na dovolenou? náhlá nemoc?), nabízím ti pokoj v Hostinci. Zatímco tu budeš přihlášen, tvé denní úkoly ti na konci dne neublíží, ale klidně si je můžeš odškrtnout .",
|
||||
"danielText2": "Dej pozor: Pokud se účastníš boje s bossem, ublíží ti i za nesplněné denní úkoly ostatních členů tvé družiny! Navíc, jakákoliv újma, kterou uštědříš Bossovi (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš.",
|
||||
"danielTextBroken": "Welcome to the Tavern... I guess... If you need to rest, I'll set you up at the Inn... While checked-in, your Dailies won't hurt you at the day's end, but you can still check them off... if you have the energy...",
|
||||
"danielText2Broken": "Oh... If you are participating in a boss quest, the boss will still damage you for your party mates' missed Dailies... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn...",
|
||||
"danielText2": "Dej pozor: Pokud se účastníš boje s příšerou, ublíží ti i za nesplněné denní úkoly ostatních členů tvé družiny! Navíc, jakákoliv újma, kterou uštědříš příšeře (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš.",
|
||||
"danielTextBroken": "Tak asi vítej v krčmě... Pokud si potřebuješ odpočinout, nabízím ti pokoj v Hostinci... Zatímco tu budeš přihlášen, tvé denní úkoly ti na konci dne neublíží, ale klidně si je můžeš odškrtnout... Jestli na to máš energii",
|
||||
"danielText2Broken": "Eh... Jestli se účastníš boje s příšerou, ublíží ti i za nesplněné denní úkoly ostatních členů tvé družiny... Navíc, jakákoliv újma, kterou uštědříš příšeře (nebo nasbírané předměty) se ti nepřipíšou dokud se z Hostince neodhlásíš...",
|
||||
"alexander": "Obchodník Alexander",
|
||||
"welcomeMarket": "Vítej na trhu! Kup si vzácná vejce a lektvary! Prodej, co máš navíc! Objednej si užitečné služby! Přijď se podívat, co všechno nabízíme.",
|
||||
"sellForGold": "Prodej <%= item %> za <%= gold %> zlaťáků",
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
"justin": "Justin",
|
||||
"ian": "Ian",
|
||||
"ianText": "Vítej v obchodě s Výpravami! Můžeš tu s přáteli využít svitky s výpravami k bojům s monstry. V klidu si prohlédni všechny Výpravy, které tu prodáváme!",
|
||||
"ianBrokenText": "Welcome to the Quest Shop... Here you can use Quest Scrolls to battle monsters with your friends... Be sure to check out our fine array of Quest Scrolls for purchase on the right...",
|
||||
"ianBrokenText": "Vítej v obchodě s Výpravami... Můžeš tu s přáteli využít svitky s výpravami k bojům s monstry... V klidu si prohlédni všechny Výpravy, které tu prodáváme...",
|
||||
"USD": "dolar/ů",
|
||||
"newStuff": "Nové věci",
|
||||
"cool": "Připomeň mi to později",
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"youReceived": "Získal jsi",
|
||||
"dropQuestCongrats": "Blahopřejeme ti k tomuto svitku s Výpravou! Můžeš pozvat svou družinu a začít s ní hned, nebo se k ní můžeš kdykoliv vrátit v Inventář > Výpravy.",
|
||||
"questSend": "Kliknutí na \"Pozvat\" odešle pozvánku členům Družiny. Poté, co všichni členové přijali nebo odmítli, může výprava začít. Stav si můžeš zobrazit v Možnosti > Komunita > Družina.",
|
||||
"questSendBroken": "Clicking \"Invite\" will send an invitation to your party members... When all members have accepted or denied, the quest begins... See status under Social > Party...",
|
||||
"questSendBroken": "Kliknutí na \"Pozvat\" odešle pozvánku členům Družiny... Poté, co všichni členové přijali nebo odmítli, může výprava začít... Stav si můžeš zobrazit v Možnosti > Komunita > Družina...",
|
||||
"inviteParty": "Přizvi družinu k Výpravě",
|
||||
"questInvitation": "Pozvánka na výpravu:",
|
||||
"questInvitationTitle": "Pozvánka na Výpravu",
|
||||
|
|
@ -25,25 +25,25 @@
|
|||
"rejected": "Odmítnuto",
|
||||
"pending": "Nerozhodnuto",
|
||||
"questStart": "Výprava začíná jakmile všichni členové výzvu přijmou či odmítnou. Pouze ti, kteří klikli na \"Přijmout\" se mohou výpravy zúčastnit a obdrží ceny. Pokud to některým uživatelům trvá příliš dlouho (nejsou aktivní?), majitel výpravy může začít bez nich kliknutím na \"Začít\". Majitel výpravy začal také může výpravu přerušit a získat tak zpět svitek výpravy kliknutím na \"Zrušit\".",
|
||||
"questStartBroken": "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 receive the drops... If members are pending too long (inactive?), the quest owner can start the quest without them by clicking \"Begin\"... The quest owner can also cancel the quest and regain the quest scroll by clicking \"Cancel\"...",
|
||||
"questStartBroken": "Výprava začíná jakmile všichni členové výzvu přijmou či odmítnou... Pouze ti, kteří klikli na \"Přijmout\" se mohou výpravy zúčastnit a obdrží ceny... Pokud to některým uživatelům trvá příliš dlouho (nejsou aktivní?), majitel výpravy může začít bez nich kliknutím na \"Začít\"... Majitel výpravy začal také může výpravu přerušit a získat tak zpět svitek výpravy kliknutím na \"Zrušit\"...",
|
||||
"begin": "Začít",
|
||||
"bossHP": "Zdraví bosse",
|
||||
"bossStrength": "Síla bosse",
|
||||
"bossHP": "Zdraví příšery",
|
||||
"bossStrength": "Síla příšery",
|
||||
"rage": "Zuřivost",
|
||||
"collect": "Sbírat",
|
||||
"collected": "Získáno",
|
||||
"collectionItems": "<%= number %> <%= items %>",
|
||||
"itemsToCollect": "Předměty ke sbírání",
|
||||
"bossDmg1": "Každý splnění Denní úkol, úkol z Úkolníčku a každý pozitivní zvyk zraní Bosse. Zraň ho víc červenějšími úkoly nebo Brutální ranou nebo Vzplanutím ohňů. Boss zraní každého účastníka výpravy za každý nesplněný Denní úkol (újma je násobena jeho Silou) navíc k normálnímu zranění, takže udržuj skupinu zdravou plněním úkolů. <strong>Veškerá zranění bossovi i vám se přičítají na kronu (na konci dne).</strong>",
|
||||
"bossDmg2": "Jen ti, kteří přijmou pozvání, budou bojovat proti bossovi a rozdělí si odměnu za výpravu.",
|
||||
"bossDmg1Broken": "Each completed Daily and To-Do and each positive Habit hurts the boss... Hurt it more with redder tasks or Brutal Smash and Burst of Flames... The boss will deal damage to every quest participant for every Daily you've missed (multiplied by the boss's Strength) in addition to your regular damage, so keep your party healthy by completing your Dailies... <strong>All damage to and from a boss is tallied on cron (your day roll-over)...</strong>",
|
||||
"bossDmg2Broken": "Only participants will fight the boss and share in the quest loot...",
|
||||
"tavernBossInfo": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss! Incomplete Dailies fill the Exhaust Strike Bar. When the Exhaust Strike bar is full, the World Boss will attack an NPC. A World Boss will never damage individual players or accounts in any way. Only active accounts not resting in the Inn will have their tasks tallied.",
|
||||
"tavernBossInfoBroken": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss... Incomplete Dailies fill the Exhaust Strike Bar... When the Exhaust Strike bar is full, the World Boss will attack an NPC... A World Boss will never damage individual players or accounts in any way... Only active accounts not resting in the Inn will have their tasks tallied...",
|
||||
"bossDmg1": "Každý splnění Denní úkol, úkol z Úkolníčku a každý pozitivní zvyk zraní Bosse. Zraň ho víc červenějšími úkoly nebo Brutální ranou nebo Vzplanutím ohňů. Boss zraní každého účastníka výpravy za každý nesplněný Denní úkol (újma je násobena jeho Silou) navíc k normálnímu zranění, takže udržuj skupinu zdravou plněním úkolů. <strong>Veškerá zranění příšeře i vám se přičítají na kronu (na konci dne).</strong>",
|
||||
"bossDmg2": "Jen ti, kteří přijmou pozvání, budou bojovat proti příšeře a rozdělí si odměnu za výpravu.",
|
||||
"bossDmg1Broken": "Každý splnění Denní úkol, úkol z Úkolníčku a každý pozitivní zvyk zraní příšeru... Zraň jí víc červenějšími úkoly nebo Brutální ranou nebo Vzplanutím ohňů... Příšera zraní každého účastníka výpravy za každý nesplněný Denní úkol (újma je násobena jeho Silou) navíc k normálnímu zranění, takže udržuj skupinu zdravou plněním úkolů. <strong>Veškerá zranění příšeře i vám se přičítají na kronu (na konci dne).</strong>",
|
||||
"bossDmg2Broken": "Jen ti, kteří přijmou pozvání, budou bojovat proti příšeře a rozdělí si odměnu za výpravu...",
|
||||
"tavernBossInfo": "Splň denní úkoly a úkoly v Úkolníčku a zraň tak Světovou příšeru! Nesplněné denní úkoly naplní lištu Výpadu. Když se tato lišta naplní, příšera zaútočí na nějakou nehráčskou postavu. Světová příšera nikdy nezraní jednotlivé hráče. Pouze aktivní hráči, kteří neodpočívají v Hostinci se mohou podílet na zranění příšery.",
|
||||
"tavernBossInfoBroken": "Splň denní úkoly a úkoly v Úkolníčku a zraň tak Světovou příšeru... Nesplněné denní úkoly naplní lištu Výpadu... Když se tato lišta naplní, příšera zaútočí na nějakou nehráčskou postavu... Světová příšera nikdy nezraní jednotlivé hráče... Pouze aktivní hráči, kteří neodpočívají v Hostinci se mohou podílet na zranění příšery...",
|
||||
"bossColl1": "Pro získání předmětů plň své pozitivní úkoly. Předměty z výpravy budeš nacházet stejně jako normální předměty, uvidíš je však až další den, kdy se vše, co jste našli, shromáždí a přidá na hromadu.",
|
||||
"bossColl2": "Jen ti, kteří přijmou pozvání, mohou sbírat předměty a rozdělit si odměnu za výpravu.",
|
||||
"bossColl1Broken": "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...",
|
||||
"bossColl2Broken": "Only participants can collect items and share in the quest loot...",
|
||||
"bossColl1Broken": "Pro získání předmětů plň své pozitivní úkoly... Předměty z výpravy budeš nacházet stejně jako normální předměty, uvidíš je však až další den, kdy se vše, co jste našli, shromáždí a přidá na hromadu...",
|
||||
"bossColl2Broken": "Jen ti, kteří přijmou pozvání, mohou sbírat předměty a rozdělit si odměnu za výpravu...",
|
||||
"abort": "Ukončit",
|
||||
"leaveQuest": "Opustit Výpravu",
|
||||
"sureLeave": "Jsi si jistý, že chceš opustit aktivní výpravu? Ztratíš v ní všechen svůj pokrok.",
|
||||
|
|
@ -70,9 +70,9 @@
|
|||
"sureAbort": "Jsi si jistý, že chceš ukončit výpravu? Bude ukončena pro všechny v družině a všechen pokrok bude ztracen. Svitek bude navrácen svému majiteli.",
|
||||
"doubleSureAbort": "Jsi si určitě jistý? Ujisti se, že tě pak ostatní nebudou do smrti nenávidět!",
|
||||
"questWarning": "Pokud se před začátkem výpravy do družiny připojí noví hráči, dostanou také pozvánku. Jakmile však výprava začne, žádní noví členové družiny se nemohou k výpravě připojit.",
|
||||
"questWarningBroken": "If new players join the party before the quest starts, they will also receive an invitation... However once the quest has started, no new party members can join the quest...",
|
||||
"questWarningBroken": "Pokud se k družině přidají noví hráči před tím, než začne výprava, tito hráči také obdrží pozvánku... Avšak jakmile výprava začne, žádní noví hráči se k ní přidat nemohou...",
|
||||
"bossRageTitle": "Zuřivost",
|
||||
"bossRageDescription": "Když se tato lišta naplní, boss předvede speciální útok!",
|
||||
"bossRageDescription": "Když se tato lišta naplní, příšera předvede speciální útok!",
|
||||
"startAQuest": "VYDEJ SE NA VÝPRAVU",
|
||||
"startQuest": "Začít Výpravu",
|
||||
"whichQuestStart": "Na kterou výpravu se chceš vydat?",
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@
|
|||
"questPenguinDropPenguinEgg": "Tučňák (vejce)",
|
||||
"questPenguinUnlockText": "Odemyká vejce tučňáka na Trhu",
|
||||
"questStressbeastText": "Zavrženíhodná Strespříšera ze Stoïkalmských stepí",
|
||||
"questStressbeastNotes": "Splň své Denní úkoly a úkoly z Úkolníčku aby jsi ublížil světovému bossovi! Nedokončené Denní úkoly naplní lištu stresového útoku. Když je lišta stresového útoku plná, světový boss zaútočí na nějakou herní postavu. Světový boss nikdy neublíží jednotlivým hráčům nebo účtům. Pouze aktivní účty, které zrovna neodpočívají v Krčmě, mohou být započítány do celkové újmy. <br><br>~*~<br><br> První věc, kterou slyšíme, jsou kroky, pomalejší a více hřmící než dusot kopyt splašeného stáda. jeden za druhým, Habiťané vykukují ze dveří a jsou úplně oněmělí. .<br><br> Už jsme pár Stresoblud viděli, samozřejmě - malá zákeřná stvoření, jež útočí v krušných časech. Ale tohle? Toto se tyčí nad budovy, s tlapami, které by lehce rozdrtily draka. Led se houpá na rousech smrdící srsti a s každým řevem trhá mrazivý útok střechy z domů. Monstrum takového stupně je známo pouze z legend. .<br><br> \"Mějte se na pozoru, Habiťané!\" křičí SabreCat. \"Zabarikádujte se doma - toto je Zavrženíhodná Stresobluda!\" .<br><br> \"Ta věc musí být z celých století stresu!\" říká Kiwibot a zamyká dveře ke Krčmě a zavírá okenice..<br><br> \"Stoïkalmské stepi\" říká Lemoness se zachmuřenou tváří. \"Celou tu dobu jsme mysleli, že jsou klidné a bez problémů, ale nejspíš svůj stres dobře schovávaly. Po generace rostl do této podoby a nyní utekl a napadl je - a nás!\" <br><br> Je pouze jediný způsob jak Stresobludu odehnat, Zavrženíhodnou nebo ne, a to je zaútočit na ní dokončenými Denními úkoly a úkoly z Úkolníčku! Spojme se a společně poražme tohoto proklatého nepřítele - ale pozor, ať neflákáte úkoly, nebo ho naše nesplněné úkoly naštvou a zaútočí na nás znovu...",
|
||||
"questStressbeastNotes": "Splň své Denní úkoly a úkoly z Úkolníčku aby jsi ublížil světovému příšeře! Nedokončené Denní úkoly naplní lištu stresového útoku. Když je lišta stresového útoku plná, světový příšera zaútočí na nějakou herní postavu. Světový příšera nikdy neublíží jednotlivým hráčům nebo účtům. Pouze aktivní účty, které zrovna neodpočívají v Krčmě, mohou být započítány do celkové újmy. <br><br>~*~<br><br> První věc, kterou slyšíme, jsou kroky, pomalejší a více hřmící než dusot kopyt splašeného stáda. jeden za druhým, Habiťané vykukují ze dveří a jsou úplně oněmělí. .<br><br> Už jsme pár Stresoblud viděli, samozřejmě - malá zákeřná stvoření, jež útočí v krušných časech. Ale tohle? Toto se tyčí nad budovy, s tlapami, které by lehce rozdrtily draka. Led se houpá na rousech smrdící srsti a s každým řevem trhá mrazivý útok střechy z domů. Monstrum takového stupně je známo pouze z legend. .<br><br> \"Mějte se na pozoru, Habiťané!\" křičí SabreCat. \"Zabarikádujte se doma - toto je Zavrženíhodná Stresobluda!\" .<br><br> \"Ta věc musí být z celých století stresu!\" říká Kiwibot a zamyká dveře ke Krčmě a zavírá okenice..<br><br> \"Stoïkalmské stepi\" říká Lemoness se zachmuřenou tváří. \"Celou tu dobu jsme mysleli, že jsou klidné a bez problémů, ale nejspíš svůj stres dobře schovávaly. Po generace rostl do této podoby a nyní utekl a napadl je - a nás!\" <br><br> Je pouze jediný způsob jak Stresobludu odehnat, Zavrženíhodnou nebo ne, a to je zaútočit na ní dokončenými Denními úkoly a úkoly z Úkolníčku! Spojme se a společně poražme tohoto proklatého nepřítele - ale pozor, ať neflákáte úkoly, nebo ho naše nesplněné úkoly naštvou a zaútočí na nás znovu...",
|
||||
"questStressbeastBoss": "Zavrženíhodná Stresobluda",
|
||||
"questStressbeastBossRageTitle": "Stresútok",
|
||||
"questStressbeastBossRageDescription": "Pokud se tahle lišta naplní, Zavrženíhodná Stresobluda na nás zaútočí Stresútokem!",
|
||||
|
|
@ -262,10 +262,10 @@
|
|||
"questBurnoutBossRageQuests": "`Vyhoření použilo VYČERPANÝ ÚDER!`\n\nAle ne! I přes naše nejlepší snahy nám uniklo několik denních úkolů a nyní je Vyhoření posilněno jejich energií! S chraplavým úšklebkem se zmocní Iana, pána Výprav, kterého zachvátí přízračné plameny. Popel ze svitků výprav se usadí, kouř se rozplyne a vidíte, že z Iana byla vysáta všechna energie a stal se z něj Vyčerpaný duch!\n\nPouze poražením Vyhoření můžete zlomit toto kouzlo a vrátit našeho milovaného pána Výprav mezi živé. Splňme všechny denní úkoly a poražme tuto příšeru dřív, než stihne znovu zaútočit!",
|
||||
"questBurnoutBossRageSeasonalShop": "`Vyhoření použilo VYČERPANÝ ÚDER!`\n\nÁáá!!! Naše nesplněné denní úkoly přiživují plamen Vyhoření a znovu načerpal dostatek síly k úderu! Zapaluje Sezonní obchod. Vyděšeně přihlížíte jak jsou Sezonní mudrci přeměněni na Vyčerpané duchy.\n\nMusíme naše nehráčské postavy zachránit! Rychle Habiťané, splňte své úkoly a přemožte Vyhoření dřív, než zaútočí potřetí!",
|
||||
"questBurnoutBossRageTavern": "`Vyhoření použilo VYČERPANÝ ÚDER!`\n\nMnoho Habiťanů se před Vyhořením schovávalo v Krčmě, ale už ne! S hrozivým řevem vezme Vyhoření Krčmu do svých doběla rozpálených pařátů. Všichni utíkají, ale Daniel je chycen ve spárech té obludy a přemění se ve Vyčerpaného ducha přímo před tebou!\n\nTento zbrklý horor trvá již příliš dlouho. Nevzdávej to... jsme už tak blízko jeho poražení navždy!",
|
||||
"questFrogText": "Swamp of the Clutter Frog",
|
||||
"questFrogNotes": "As you and your friends are slogging through the Swamps of Stagnation, @starsystemic points at a large sign. \"Stay on the path -- if you can.\"<br><br>\"Surely that isn't hard!\" @RosemonkeyCT says. \"It's broad and clear.\"<br><br>But as you continue, you notice that path is gradually overtaken by the muck of the swamp, laced with bits of strange blue debris and clutter, until it's impossible to proceed.<br><br>As you look around, wondering how it got this messy, @Jon Arjinborn shouts, \"Look out!\" An angry frog leaps from the sludge, clad in dirty laundry and lit by blue fire. You will have to overcome this poisonous Clutter Frog to progress!",
|
||||
"questFrogCompletion": "The frog cowers back into the muck, defeated. As it slinks away, the blue slime fades, leaving the way ahead clear.<br><br>Sitting in the middle of the path are three pristine eggs. \"You can even see the tiny tadpoles and through the clear casing!\" @Breadstrings says. \"Here, you should take them.\"",
|
||||
"questFrogBoss": "Clutter Frog",
|
||||
"questFrogDropFrogEgg": "Frog (Egg)",
|
||||
"questFrogUnlockText": "Unlocks purchasable Frog eggs in the Market"
|
||||
"questFrogText": "Bažina nepořádného žabáka",
|
||||
"questFrogNotes": "Když se s přáteli brodíte bažinami Stagnace, @starsystemic ukáže na velkou ceduli. \"Držte se vyznačené cesty - pokud můžete\"<br><br>\"To přeci nebude těžké!\" říká @RosemonkeyCT. \"Je široká a přehledná.\"<br><br>Ale jak po cestě pokračujete, začíná se cesta zaplňovat bahnem z bažiny, ve kterém vidíte modrou suť a harampádí, a zanedlouho je nemožné v cestě pokračovat.<br><br>Rozhlížíte se kolem přemýšlejíc jak se z téhle šlamastiky dostanete, když v tom @Jon Arjinborn zakřičí \"Pozor!\" Nazlobený žabák pokrytý špinavým prádlem a žhnoucí modrým plamenem vyskočí z bažiny. Abyste mohli pokračovat, musíte tohoto nepořádného žabáka přemoci!",
|
||||
"questFrogCompletion": "Poražený žabák se vrátí zpět do bažiny. Spolu s ním se z cesty stáhne i modrý sliz a cesta vpřed je volná.<br><br>Uprostřed cesty sedí tři dokonale čistá vejce. \"Jé, dokonce jsou v něm vidět pulci!\" říká @Breadstrings. \"Na, vezmi si je.\"",
|
||||
"questFrogBoss": "Nepořádný žabák",
|
||||
"questFrogDropFrogEgg": "Žabák (vejce)",
|
||||
"questFrogUnlockText": "Odemyká vejce žabáka na Trhu"
|
||||
}
|
||||
|
|
@ -119,25 +119,25 @@
|
|||
"promoCodeApplied": "Promo kód zadán! Koukni do Inventáře",
|
||||
"promoPlaceholder": "Vlož promo kód",
|
||||
"displayInviteToPartyWhenPartyIs1": "Zobrazit tlačítko \"Pozvat do družiny\", když má družina 1 člena.",
|
||||
"saveCustomDayStart": "Save Custom Day Start",
|
||||
"registration": "Registration",
|
||||
"addLocalAuth": "Add local authentication:",
|
||||
"generateCodes": "Generate Codes",
|
||||
"generate": "Generate",
|
||||
"getCodes": "Get Codes",
|
||||
"saveCustomDayStart": "Uložit vlastní začátek dne",
|
||||
"registration": "Registrace",
|
||||
"addLocalAuth": "Přidat lokální ověření:",
|
||||
"generateCodes": "Generovat kódy",
|
||||
"generate": "Generovat",
|
||||
"getCodes": "Získat kódy",
|
||||
"webhooks": "Webhooks",
|
||||
"enabled": "Enabled",
|
||||
"enabled": "Povoleno",
|
||||
"webhookURL": "Webhook URL",
|
||||
"add": "Add",
|
||||
"buyGemsGoldCap": "Cap raised to <%= amount %>",
|
||||
"mysticHourglass": "<%= amount %> Mystic Hourglass",
|
||||
"mysticHourglassText": "Mystic Hourglasses allow purchasing a previous month's Mystery Item set.",
|
||||
"purchasedPlanId": "Recurring $<%= price %> each <%= months %> Month(s) (<%= plan %>)",
|
||||
"purchasedPlanExtraMonths": "You have <%= months %> months of subscription credit.",
|
||||
"consecutiveSubscription": "Consecutive Subscription",
|
||||
"consecutiveMonths": "Consecutive Months:",
|
||||
"gemCapExtra": "Gem Cap Extra:",
|
||||
"mysticHourglasses": "Mystic Hourglasses:",
|
||||
"add": "Přidat",
|
||||
"buyGemsGoldCap": "Strop zvýšen na <%= amount %>",
|
||||
"mysticHourglass": "<%= amount %> Mystických přesýpacích hodin",
|
||||
"mysticHourglassText": "Mystické přesýpací hodiny ti umožní koupit si záhadné sety předmětů z předchozích měsíců.",
|
||||
"purchasedPlanId": "Opakovaně $<%= price %> každý/é <%= months %> měsíc(e) (<%= plan %>)",
|
||||
"purchasedPlanExtraMonths": "Máš <%= months %> měsíců kreditu předplatného.",
|
||||
"consecutiveSubscription": "Nepřetržité předplatné",
|
||||
"consecutiveMonths": "Počet po sobě jdoucích měsíců:",
|
||||
"gemCapExtra": "Strop drahokamů extra:",
|
||||
"mysticHourglasses": "Mystické přesýpací hodiny:",
|
||||
"paypal": "PayPal",
|
||||
"amazonPayments": "Amazon Payments"
|
||||
"amazonPayments": "Amazon platby"
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"spellWizardFireballText": "Vzplanutí ohňů",
|
||||
"spellWizardFireballNotes": "Plameny ti vyšlehnou z rukou. Získáš zkušenostní body a uštědříš extra zásah Bossovi! Klikni na úkol, na který toto kouzlo chceš seslat. (vypočteno na základě: INT)",
|
||||
"spellWizardFireballNotes": "Plameny ti vyšlehnou z rukou. Získáš zkušenostní body a uštědříš extra zásah příšeře! Klikni na úkol, na který toto kouzlo chceš seslat. (vypočteno na základě: INT)",
|
||||
"spellWizardMPHealText": "Éterický příval",
|
||||
"spellWizardMPHealNotes": "Obětuješ manu, abys pomohl svým přátelům. Ostatní členové družiny získají manu! (vypočteno na základě: INT)",
|
||||
"spellWizardEarthText": "Zemětřesení",
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
"timeTravelersTitleNoSub": "<%= linkStartTyler %>Tyler<%= linkEnd %> a <%= linkStartVicky %>Vicky<%= linkEnd %>",
|
||||
"timeTravelersTitle": "Záhadní cestovatelé časem",
|
||||
"timeTravelersPopoverNoSub": "Abys svolal záhadné cestovatele časem, potřebuješ mystické přesýpací hodiny! <%= linkStart %>Předplatitelé<%= linkEnd %> dostanou jedny mystické přesýpací hodiny za každé tři měsíce nepřetržitého předplaceného období. Vrať se až budeš mít mystické přesýpací hodiny a cestovatelé časem ti přinesou vzácného mazlíčka, zvíře, nebo se předmětů pro předplatitele z minulosti.... anebo i z budoucnosti.",
|
||||
"timeTravelersPopover": "We see you have a Mystic Hourglass, so we will happily travel back in time for you! Please choose the pet, mount, or Mystery Item Set you would like. You can see a list of the past item sets <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>here</a>! If those don't satisfy you, perhaps you'd be interested in one of our fashionably futuristic Steampunk Item Sets?",
|
||||
"timeTravelersPopover": "Vidíme, že máš mystické přesýpací hodiny, tak pro Tebe rádi budeme cestovat časem! Prosím, vyber si mazlíčka, zvíře, nebo záhadný set předmětů, který se ti líbí. Můžeš si vybrat z minulých setů <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>tady</a>! Pokud se ti nelíbí, možná by sis vybral z našich trendy futuristických setů Steampunk předmětů?",
|
||||
"timeTravelersAlreadyOwned": "Gratulujeme! Teď máš vše, co cestovatelé časem nabízejí. Děkujeme za podporu stránek!",
|
||||
"mysticHourglassPopover": "Díky Mystickým Přesýpacím hodinám si můžeš koupit limitované předměty, jako záhadné předměty měsíce nebo odměny z boje se světovými příšerami, z minulosti!",
|
||||
"subUpdateCard": "Karta s aktualizacemi",
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Klassebonus",
|
||||
"battleGear": "Kampudstyr",
|
||||
"battleGearText": "Dette er den udrustning du bærer i kamp. Den påvirker resultaterne når du interagerer med dine opgaver.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Kostume",
|
||||
"costumeText": "Hvis du foretrækker udseendet af andet udstyr end hvad du bærer, tjek \"Brug Kostume\"-feltet for at visuelt bære et kostume, mens du bærer dit kampudstyr nedenunder.",
|
||||
"useCostume": "Brug kostume",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Marked",
|
||||
"subscriberItem": "Mystisk Vare",
|
||||
"newSubscriberItem": "Ny Mystisk Vare",
|
||||
"subscriberItemText": "Hver måned får abonnenter en mystisk vare. Denne bliver normalt frigivet ca. en uge før slutningen af måneden. Se 'Mystery Item' siden på Wikien for den præcise dato.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Alle",
|
||||
"none": "Ingen",
|
||||
"or": "Eller",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "FEJL:",
|
||||
"newPassSent": "Nyt kodeord tilsendt.",
|
||||
"serverUnreach": "Serveren er p.t. utilgængelig.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Rapporter under Hjælp > Rapporter en Fejl, hvis fejlen fortsætter. Hvis du er vant til konsollen i din browser, må du gerne inkludere eventuelle fejlbeskeder.",
|
||||
"error": "Fejl",
|
||||
"menu": "Menu",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Du ejer allerede denne ting. Tag det på ved at gå til udstyrssiden.",
|
||||
"armoireEquipment": "<%= image %> Du har fundet sjældent Udstyr i Klædeskabet: <%= dropText %>! Fantastisk!",
|
||||
"armoireFood": "<%= image %> Du roder rundt i bunden af Klædeskabet. Pludselig finder du <%= dropText %>. Gad vide hvad den laver her?",
|
||||
"armoireExp": "Du kæmper med Klædeskabet og får Erfaring. Sådan!"
|
||||
"armoireExp": "Du kæmper med Klædeskabet og får Erfaring. Sådan!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Klassenbonus",
|
||||
"battleGear": "Kampfausrüstung",
|
||||
"battleGearText": "Das ist deine Kampfausrüstung; sie beeinflusst Zahlen, wenn du mit deinen Aufgaben interagierst.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Verkleidung",
|
||||
"costumeText": "Wenn Du das Aussehen einer anderen Ausrüstung Deiner Kampfausrüstung vorziehst, dann klicke auf die \"Verkleidung tragen\" Box um über Deiner Kampfausrüstung andere Ausrüstungsgegenstände zu tragen.",
|
||||
"useCostume": "Verkleidung tragen",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Marktplatz",
|
||||
"subscriberItem": "Überraschungsgegenstand",
|
||||
"newSubscriberItem": "Neuer Überraschungsgegenstand",
|
||||
"subscriberItemText": "Abonnenten erhalten jeden Monat einen Überraschungsgegenstand. Der Gegenstand wird üblicherweise ungefähr eine Woche vor Monatsende veröffentlicht. Das genaue Datum gibt es auf der 'Mystery Item' Seite des Wikis.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Alle",
|
||||
"none": "Keine",
|
||||
"or": "Oder",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "FEHLER:",
|
||||
"newPassSent": "Neues Passwort wurde gesendet.",
|
||||
"serverUnreach": "Der Server ist momentan nicht erreichbar.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Tritt der Fehler weiterhin auf, bitte berichte ihn bei Hilfe > Berichte einen Bug. Falls du weißt, wie du die Konsole deines Internetbrowsers einsehen kannst, füge die entsprechenden Fehlernachrichten bei.",
|
||||
"error": "Fehler",
|
||||
"menu": "Menü",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"innCheckOut": "Das Gasthaus verlassen",
|
||||
"innCheckIn": "Im Gasthaus erholen",
|
||||
"innText": "Du erholst dich im Gasthaus! Während du dort verweilst, werden dir deine täglichen Aufgaben keinen Schaden zufügen, aber trotzdem täglich aktualisiert werden. Vorsicht: Wenn du an einem Bosskampf teilnimmst, erhältst du weiterhin Schaden für die verpassten Aufgaben deiner Gruppenmitglieder, sofern sich diese nicht auch im Gasthaus befinden! Außerdem wird der Schaden, den Du dem Boss zufügst, (und gefundene Gegenstände) erst angewendet, wenn du das Gasthaus verlässt.",
|
||||
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
|
||||
"innTextBroken": "Du erholst dich im Gasthaus, schätze ich... Während du dort verweilst, werden dir deine täglichen Aufgaben keinen Schaden zufügen, aber trotzdem täglich aktualisiert... Wenn du an einem Bosskampf teilnimmst, erhältst du weiterhin Schaden für die verpassten Aufgaben deiner Gruppenmitglieder... sofern sich diese nicht auch im Gasthaus befinden... Außerdem wird dein Schaden am Boss (oder gesammelte Gegenstände) nicht berücksichtigt, bis du das Gasthaus verlässt.... So müde...",
|
||||
"lfgPosts": "Nach Gruppeneinträgen suchen",
|
||||
"tutorial": "Anleitung",
|
||||
"glossary": "Nomenklatur",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Du besitzt den Gegenstand schon. Gehe zur Ausrüstungsseite, um ihn anzulegen.",
|
||||
"armoireEquipment": "<%= image %> Du hast ein Stück seltener Ausrüstung im verzauberten Schrank gefunden: <%= dropText %>! Wow!",
|
||||
"armoireFood": "<%= image %> Du wühlst im verzauberten Schrank herum und findest <%= dropArticle %><%= dropText %>. Was macht das denn da drin?",
|
||||
"armoireExp": "Du ringst mit dem verzauberten Schrank und gewinnst Erfahrung. Nimm das!"
|
||||
"armoireExp": "Du ringst mit dem verzauberten Schrank und gewinnst Erfahrung. Nimm das!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -32,5 +32,30 @@
|
|||
|
||||
"armoireEquipment": "<%= image %> You found a piece of rare Equipment in the Armoire: <%= dropText %>! Awesome!",
|
||||
"armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropArticle %><%= dropText %>. What's that doing in here?",
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!"
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!",
|
||||
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageGroupChatBlankMessage": "You cannot send a blank message",
|
||||
"messageGroupChatLikeOwnMessage": "Can't like your own message. Don't be that person.",
|
||||
"messageGroupChatFlagOwnMessage": "Can't report your own message.",
|
||||
"messageGroupChatFlagAlreadyReported": "You have already reported this message",
|
||||
"messageGroupChatNotFound": "Message not found!",
|
||||
"messageGroupChatAdminClearFlagCount": "Only an admin can clear the flag count!",
|
||||
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Class Bonus",
|
||||
"battleGear": "Battle Gear",
|
||||
"battleGearText": "This be th' gear ye wear into battle; it affects numbers when interactin' with ye tasks.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Costume",
|
||||
"costumeText": "If ye prefer th' look 'o other gear to what ye have equipped, check th' \"Use Costume\" box to visually don a costume while wearin' ye battle gear underneath.",
|
||||
"useCostume": "Use Costume",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Market",
|
||||
"subscriberItem": "Mystery Item",
|
||||
"newSubscriberItem": "New Mystery Item",
|
||||
"subscriberItemText": "Each month, subscriberrrs'll get a mystery item. This be usually released 'bout one week afore the end 'o the month. Cast yer eyes upon the wiki's 'Mystery Item' page fer the exact date.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "All",
|
||||
"none": "None",
|
||||
"or": "Or",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "ERROR:",
|
||||
"newPassSent": "New passcode sent.",
|
||||
"serverUnreach": "Th' server be unreachable at the mo'.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "If the error be persistin', report it at Help > Report a Bug. If ye be familiar with yer browser's console, please include any error messages.",
|
||||
"error": "Error",
|
||||
"menu": "Menu",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Ye already own this item. Equip it by going to th' equipment page.",
|
||||
"armoireEquipment": "<%= image %> Ye found a piece of rare Equipment in th' Armoire: <%= dropText %>! Awesome!",
|
||||
"armoireFood": "<%= image %> Ye rummage in the Armoire an' find <%= dropArticle %><%= dropText %>. What's tha' doin' in here?",
|
||||
"armoireExp": "Ye wrestle wi' th' Armoire an' gain Experience. Take that!"
|
||||
"armoireExp": "Ye wrestle wi' th' Armoire an' gain Experience. Take that!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Class Bonus",
|
||||
"battleGear": "Battle Gear",
|
||||
"battleGearText": "This is the gear you wear into battle; it affects numbers when interacting with your tasks.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Costume",
|
||||
"costumeText": "If you prefer the look of other gear to what you have equipped, check the \"Use Costume\" box to visually don a costume while wearing your battle gear underneath.",
|
||||
"useCostume": "Use Costume",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Market",
|
||||
"subscriberItem": "Mystery Item",
|
||||
"newSubscriberItem": "New Mystery Item",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for the exact date.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "All",
|
||||
"none": "None",
|
||||
"or": "Or",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "ERROR:",
|
||||
"newPassSent": "New password sent.",
|
||||
"serverUnreach": "Server currently unreachable.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "If the error persists, please report it at Help > Report a Bug. If you're familiar with your browser's console, please include any error messages.",
|
||||
"error": "Error",
|
||||
"menu": "Menu",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "You already own this item. Equip it by going to the equipment page.",
|
||||
"armoireEquipment": "<%= image %> You found a piece of rare Equipment in the Armoire: <%= dropText %>! Awesome!",
|
||||
"armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropArticle %><%= dropText %>. What's that doing in here?",
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!"
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Bonus de Clase",
|
||||
"battleGear": "Equipo de Batalla",
|
||||
"battleGearText": "Este es el equipo que llevarás en batalla; los puntos que otorguen se tendrán en cuenta cuando interactúes con tus tareas.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Disfraz",
|
||||
"costumeText": "Si prefieres el aspecto de otro equipo al que estás usando, marca la casilla «Usar Disfraz» para llevarlo como disfraz mientras usas tu equipo de batalla debajo.",
|
||||
"useCostume": "Llevar Disfraz",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Mercado",
|
||||
"subscriberItem": "Objeto Misterioso",
|
||||
"newSubscriberItem": "Nuevo Objeto Misterioso",
|
||||
"subscriberItemText": "Cada mes, los suscriptores recibirán un objeto misterioso. Esto normalmente sucede aproximadamente una semana antes del final de mes. Revisa la página de la wiki sobre \"Objetos Misteriosos\" para ver la fecha exacta.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Todo",
|
||||
"none": "Ninguno",
|
||||
"or": "O",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "ERROR:",
|
||||
"newPassSent": "Nueva contraseña enviada.",
|
||||
"serverUnreach": "Error en la conexión al servidor.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Si el eror persiste, por favor reportelo en Ayuda> Notificar un error. Si eres familiar con la consola de tu navegador, por favor incluye los mensajes de error.",
|
||||
"error": "Error",
|
||||
"menu": "Menú",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Ya posees este objeto. Para equiparlo has de ir a la página de equipo.",
|
||||
"armoireEquipment": "<%= image %> Has encontrado un objeto de equipamiento raro en el armario: <%= dropText %>! ¡Genial!",
|
||||
"armoireFood": "<%= image %> Hurgas en el Ropero y encuentras <%= dropArticle %><%= dropText %>. ¿Qué hace eso aquí?",
|
||||
"armoireExp": "Luchas con el Ropero y ganas Experiencia. ¡Toma eso!"
|
||||
"armoireExp": "Luchas con el Ropero y ganas Experiencia. ¡Toma eso!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Bono por Equipamiento de clase",
|
||||
"battleGear": "Equipamiento de combate",
|
||||
"battleGearText": "Este es el equipamiento que usas en combate, afecta los resultados cuando interactúas con tus tareas.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Disfraz",
|
||||
"costumeText": "Si prefieres el aspecto de otro equipo al que estás usando, marca la casilla \"Usar Disfraz\" para llevarlo como disfraz mientras usas tu equipo de batalla por debajo.",
|
||||
"useCostume": "Llevar disfraz",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Mercado",
|
||||
"subscriberItem": "Objeto misterio",
|
||||
"newSubscriberItem": "Nuevo objeto misterio",
|
||||
"subscriberItemText": "Cada mes, los suscriptores recibirán un objeto misterio. Normalmente este se revela una semana antes del fin de mes. Ve a la página wiki de 'Mystery Item' para la fecha exacta.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Todo",
|
||||
"none": "Ninguno",
|
||||
"or": "O",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "ERROR:",
|
||||
"newPassSent": "Nueva contraseña enviada.",
|
||||
"serverUnreach": "Error en la conexión al servidor.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Si el error persiste, por favor reportalo en Ayuda > Reportar un error. Si estas familiarizado con la consola de tu navegador, por favor incluye cualquier mensaje de error.",
|
||||
"error": "Error",
|
||||
"menu": "Menú",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Ya posees este item. Equípalo yendo a la página de equipamiento.",
|
||||
"armoireEquipment": "<%= image %> Hallaste una pieza de Equipamiento raro en el Armario: <%= dropText %> ¡Genial!",
|
||||
"armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropArticle %><%= dropText %>. What's that doing in here?",
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!"
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Bonus de Classe",
|
||||
"battleGear": "Équipement de combat",
|
||||
"battleGearText": "Voici l'équipement que vous portez au combat ; il affecte les chiffres obtenus lorsque vous interagissez avec vos tâches.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Costume",
|
||||
"costumeText": "Si vous préférez l'apparence d'un équipement différent de celui que vous avez équipé, choisissez \"Utiliser un Costume\" pour le porter en costume tout en conservant les bonus de votre équipement.",
|
||||
"useCostume": "Utiliser un Costume",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Marché",
|
||||
"subscriberItem": "Objet mystère",
|
||||
"newSubscriberItem": "Nouvel Objet Mystère",
|
||||
"subscriberItemText": "Les Abonnés recevront chaque mois un objet mystère. Celui-ci est généralement dévoilé une semaine avant la fin du mois. Consultez la page \"Mystery Item\" du wiki pour connaître la date exacte.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Tous",
|
||||
"none": "Aucun",
|
||||
"or": "Ou",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "ERREUR :",
|
||||
"newPassSent": "Nouveau mot de passe envoyé.",
|
||||
"serverUnreach": "Serveur inaccessible.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Si l'erreur persiste, veuillez la signaler à Aide > Signaler un Bug. Si vous avez connaissance de la console de votre navigateur, veuillez inclure les messages d'erreur de celle-ci.",
|
||||
"error": "Erreur",
|
||||
"menu": "Menu",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Vous possédez déjà cet objet. Équipez le depuis la page d'équipement.",
|
||||
"armoireEquipment": "<%= image %> Vous avez trouvé une pièce d'équipement rare dans l'Armoire : <%= dropText %> ! Génial !",
|
||||
"armoireFood": "<%= image %> Vous farfouillez dans l'Armoire et trouvez du/de la <%= dropArticle %><%= dropText %>. Qu'est-ce que ça fait là ?",
|
||||
"armoireExp": "Vous luttez contre l'Armoire et gagnez de l'Expérience. Prends ça !"
|
||||
"armoireExp": "Vous luttez contre l'Armoire et gagnez de l'Expérience. Prends ça !",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
"youReceived": "Vous remportez",
|
||||
"dropQuestCongrats": "Félicitations d'avoir gagné ce parchemin de quête ! Vous pouvez inviter votre équipe à commencer la quête maintenant, ou y revenir à n'importe quel moment dans votre Inventaire > Quêtes.",
|
||||
"questSend": "En cliquant sur \"Inviter\", vous enverrez une invitation aux membres de votre équipe. Lorsque tous les membres auront accepté ou refusé, la quête commencera. Vous pouvez suivre le statut de l'invitation sous Social > Équipe.",
|
||||
"questSendBroken": "Clicking \"Invite\" will send an invitation to your party members... When all members have accepted or denied, the quest begins... See status under Social > Party...",
|
||||
"questSendBroken": "En cliquant sur \"Inviter\", vous enverrez une invitation aux membres de votre équipe. Lorsque tous les membres auront accepté ou refusé, la quête commencera. Vous pouvez suivre le statut de l'invitation sous Social > Équipe.",
|
||||
"inviteParty": "Inviter l’Equipe dans une Quête",
|
||||
"questInvitation": "Invitation à une Quête :",
|
||||
"questInvitationTitle": "Invitation à une Quête",
|
||||
|
|
@ -38,12 +38,12 @@
|
|||
"bossDmg2": "Seuls les participants pourront combattre le boss et partager le butin de la quête.",
|
||||
"bossDmg1Broken": "Each completed Daily and To-Do and each positive Habit hurts the boss... Hurt it more with redder tasks or Brutal Smash and Burst of Flames... The boss will deal damage to every quest participant for every Daily you've missed (multiplied by the boss's Strength) in addition to your regular damage, so keep your party healthy by completing your Dailies... <strong>All damage to and from a boss is tallied on cron (your day roll-over)...</strong>",
|
||||
"bossDmg2Broken": "Only participants will fight the boss and share in the quest loot...",
|
||||
"tavernBossInfo": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss! Incomplete Dailies fill the Exhaust Strike Bar. When the Exhaust Strike bar is full, the World Boss will attack an NPC. A World Boss will never damage individual players or accounts in any way. Only active accounts not resting in the Inn will have their tasks tallied.",
|
||||
"tavernBossInfo": "Complétez les Quotidiennes et les Tâches À faire et mainenez vous bonnes habitudes pour blesser le Boss Mondial! Les Quotidiennes incomplètes remplissent la jauge d'Attaques d'Echappement. Lorsque la jauge d'Attaques d'échappement est pleine, le Boss Mondial attaquera un PNJ. Un Boss Mondial ne blessera jamais de joueurs individiels ou leurs comptes d'aucune façon. Seules les tâches des comptes actifs ne reposant pas à l'Auberge seront compabilisées.",
|
||||
"tavernBossInfoBroken": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss... Incomplete Dailies fill the Exhaust Strike Bar... When the Exhaust Strike bar is full, the World Boss will attack an NPC... A World Boss will never damage individual players or accounts in any way... Only active accounts not resting in the Inn will have their tasks tallied...",
|
||||
"bossColl1": "Pour obtenir des objets, accomplissez vos tâches positives. Vous trouvez les objets de quêtes de la même façon que vous trouvez les objets normaux mais vous ne les verrez que le jour suivant. À ce moment, tous les objets de quêtes que vous aurez trouvés seront comptabilisés et s'ajouteront à la pile.",
|
||||
"bossColl2": "Seuls les participants peuvent collecter des objets et partager le butin de la quête.",
|
||||
"bossColl1Broken": "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...",
|
||||
"bossColl2Broken": "Only participants can collect items and share in the quest loot...",
|
||||
"bossColl1Broken": "Pour collectionnner des objets, accomplissez vos tâches positives... Vous trouverez les objets de quête exactement comme les objets normaux, mais vous ne les verrez que le jour suivant, lorsque tous les objets trouvés seront comptabilisés dans votre collection...",
|
||||
"bossColl2Broken": "Seuls les participants peuvent collectioner des objets et partager le butin de la quête",
|
||||
"abort": "Abandonner",
|
||||
"leaveQuest": "Quitter la Quête",
|
||||
"sureLeave": "Êtes-vous sûr de vouloir quitter la quête en cours ? Tout votre progrès dans cette quête sera perdu.",
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
"sureAbort": "Êtes-vous sûr de vouloir abandonner cette mission ? Elle sera abandonnée pour tous les membres de votre groupe et toute la progression sera perdue. Le lanceur de quête reprendra possession du parchemin de quête.",
|
||||
"doubleSureAbort": "Êtes-vous sûr(e) et certain(e) ? Assurez-vous qu'ils ne vont pas vous détester pour le reste de votre vie !",
|
||||
"questWarning": "Si de nouveaux joueurs rejoignent le groupe avant que la quête ne soit lancée, il recevront également une invitation. Cependant, une fois la quête débutée aucun nouveau membre du groupe ne pourra rejoindre celle-ci.",
|
||||
"questWarningBroken": "If new players join the party before the quest starts, they will also receive an invitation... However once the quest has started, no new party members can join the quest...",
|
||||
"questWarningBroken": "Si de nouveaux joueur rejoignent le groupe avant que la quête ne commence, ils recevront également une invitation... Mais une fois la quête lancée, aucun nouveau membre du groupe ne peut rejoindre la quête",
|
||||
"bossRageTitle": "Rage",
|
||||
"bossRageDescription": "Quand cette jauge sera remplie, le boss réalisera une attaque spéciale !",
|
||||
"startAQuest": "COMMENCER UNE QUÊTE",
|
||||
|
|
|
|||
|
|
@ -120,24 +120,24 @@
|
|||
"promoPlaceholder": "Entrez le Code promotionnel",
|
||||
"displayInviteToPartyWhenPartyIs1": "Afficher le bouton Inviter Dans L'équipe lorsque l'équipe a 1 seul membre.",
|
||||
"saveCustomDayStart": "Save Custom Day Start",
|
||||
"registration": "Registration",
|
||||
"addLocalAuth": "Add local authentication:",
|
||||
"generateCodes": "Generate Codes",
|
||||
"generate": "Generate",
|
||||
"registration": "S'enregistrer",
|
||||
"addLocalAuth": "Ajouter authentification locale",
|
||||
"generateCodes": "Générer Codes",
|
||||
"generate": "Générer",
|
||||
"getCodes": "Get Codes",
|
||||
"webhooks": "Webhooks",
|
||||
"enabled": "Enabled",
|
||||
"enabled": "Activé",
|
||||
"webhookURL": "Webhook URL",
|
||||
"add": "Add",
|
||||
"add": "Ajouter",
|
||||
"buyGemsGoldCap": "Cap raised to <%= amount %>",
|
||||
"mysticHourglass": "<%= amount %> Mystic Hourglass",
|
||||
"mysticHourglassText": "Mystic Hourglasses allow purchasing a previous month's Mystery Item set.",
|
||||
"purchasedPlanId": "Recurring $<%= price %> each <%= months %> Month(s) (<%= plan %>)",
|
||||
"purchasedPlanExtraMonths": "You have <%= months %> months of subscription credit.",
|
||||
"consecutiveSubscription": "Consecutive Subscription",
|
||||
"consecutiveMonths": "Consecutive Months:",
|
||||
"mysticHourglass": "<%= amount %> Sablier Mystique ",
|
||||
"mysticHourglassText": "Un Sablier Mystique vous permet d'acheter des Sets d'Objets Mystère d'un mois passé.",
|
||||
"purchasedPlanId": "$<%= price %> tous les <%= months %> mois() (<%= plan %>)",
|
||||
"purchasedPlanExtraMonths": "Il vous reste <%= months %> mois de crédit d' abonnement ",
|
||||
"consecutiveSubscription": "Abonnement consécutif",
|
||||
"consecutiveMonths": "Mois consécutifs",
|
||||
"gemCapExtra": "Gem Cap Extra:",
|
||||
"mysticHourglasses": "Mystic Hourglasses:",
|
||||
"mysticHourglasses": "Sablier Mystique",
|
||||
"paypal": "PayPal",
|
||||
"amazonPayments": "Amazon Payments"
|
||||
"amazonPayments": "Paiments Amazon"
|
||||
}
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
"timeTravelersTitleNoSub": "<%= linkStartTyler %>Tyler<%= linkEnd %> et <%= linkStartVicky %>Vicky<%= linkEnd %>",
|
||||
"timeTravelersTitle": "Mystérieux Voyageurs Temporels",
|
||||
"timeTravelersPopoverNoSub": "Vous aurez besoin d'un Sablier Mystique pour invoquer les mystérieux Voyageurs Temporels ! <%= linkStart %>Les Abonnés<%= linkEnd %> reçoivent un Sablier Mystique par tranche de trois mois consécutifs d'abonnement. Revenez lorsque vous aurez un Sablier Mystique, et les Voyageurs Temporels vous fourniront un Familier ou une Monture rare, un Ensemble d'Équipement d'Abonné du passé... ou peut-être même du futur.",
|
||||
"timeTravelersPopover": "We see you have a Mystic Hourglass, so we will happily travel back in time for you! Please choose the pet, mount, or Mystery Item Set you would like. You can see a list of the past item sets <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>here</a>! If those don't satisfy you, perhaps you'd be interested in one of our fashionably futuristic Steampunk Item Sets?",
|
||||
"timeTravelersPopover": "Vous avez un Sablier Mystique! C'est une joie de voyager dans le temps pour vous! Veuillez choisir le familier, la monture ou Set d'Objets Mystère que vous désirez. Vous trouverez une liste d'objets passés <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'> ici</a>! Si ceux-ci ne vous satisfont pas, peut-être seriez vous intéressés par l'un de nos convoités Set d'objets Steampunk?",
|
||||
"timeTravelersAlreadyOwned": "Félicitations ! Vous possédez déjà tout ce que les Voyageurs Temporels ont à offrir. Merci de soutenir le site !",
|
||||
"mysticHourglassPopover": "Un Sablier Mystique vous permet d'acheter certains objets dont l'achat est limité dans le temps, comme les ensembles d'objets Mystère des mois précédents et des récompenses passées de Boss mondiaux.",
|
||||
"subUpdateCard": "Mettre à jour la Carte",
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "תוסף מקצוע",
|
||||
"battleGear": "ציוד לחימה",
|
||||
"battleGearText": "זהו הציוד שאתה נושא עמך אל הקרב! הציוד משפיע על ערכי התכונות שלך כשאתה מבצע משימות.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "תחפושת",
|
||||
"costumeText": "אם אתה מעדיף להיראות אחרת מהדרך בה ציידת את דמותך, סמן את האפשרות \"השתמש בתחפושת\" כדי לעטות תחפושת מגניבה ומטריפת חושים, בעוד שהציוד האמיתי שלך יישאר חבוי מתחתיה.",
|
||||
"useCostume": "שימוש בתחפושת",
|
||||
|
|
@ -155,4 +156,4 @@
|
|||
"con": "חוסן",
|
||||
"per": "תפיסה",
|
||||
"int": "תבונה"
|
||||
}
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "שוק",
|
||||
"subscriberItem": "חפץ מסתורי",
|
||||
"newSubscriberItem": "חפץ מסתורי חדש",
|
||||
"subscriberItemText": "בכל חודש, התורמים שלנו יקבלו חפץ מסתורי. הוא בדרך כלל משוחרר כשבוע לפני סוף החודש, ניתן לראות תאריך ספציפי בעמוד הוויקי של חפצי המסתורין.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "הכל",
|
||||
"none": "כלום",
|
||||
"or": "או",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "שגיאה:",
|
||||
"newPassSent": "סיסמא חדשה נשלחה",
|
||||
"serverUnreach": "השרת אינו זמין כרגע.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "אם התקלה נמשכת, בבקשה דווח על כך בעזרה > דווח על באג. אם אתה יודע להשתמש בקונסלת הדפדפן שלך, בבקשה הוסף כל הודעות שגיאה.",
|
||||
"error": "שגיאה",
|
||||
"menu": "תפריט",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "You already own this item. Equip it by going to the equipment page.",
|
||||
"armoireEquipment": "<%= image %> You found a piece of rare Equipment in the Armoire: <%= dropText %>! Awesome!",
|
||||
"armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropArticle %><%= dropText %>. What's that doing in here?",
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!"
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Kaszt Tárgy Bónusz",
|
||||
"battleGear": "Harci felszerelés",
|
||||
"battleGearText": "Ez itt a felszerelésed, amit a csatákban viselsz; hatással van számokra, amikor a feladataidat teljesíted.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Ruha",
|
||||
"costumeText": "Ha tetszenek a ruhák, amiket hordasz, akkor pipáld ki a \"Ruha használata\" gombot, hogy felöltsd őket és a harci felszereléseid felett látszódjanak.",
|
||||
"useCostume": "Ruha használata",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Piac",
|
||||
"subscriberItem": "Rejtélyes tárgy",
|
||||
"newSubscriberItem": "Új rejtélyes tárgy",
|
||||
"subscriberItemText": "Minden hónapban az előfizetők egy rejtélyes tárgyat kapnak. Ezt általában egy héttel a hónap vége előtt adjuk ki. A wiki 'Mystery item' aloldalán megtalálhatod a pontos dátumot.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Összes",
|
||||
"none": "Semelyik",
|
||||
"or": "vagy",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "HIBA:",
|
||||
"newPassSent": "Új jelszó elküldve.",
|
||||
"serverUnreach": "A kiszolgáló jelenleg nem elérhető.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Ha a hiba továbbra is fennáll, akkor jelentsd itt: Súgó > Hiba jelentése. Ha ismered a böngésződ konzolját, akkor csatold a hibaüzeneteket is.",
|
||||
"error": "Hiba",
|
||||
"menu": "Menü",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "You already own this item. Equip it by going to the equipment page.",
|
||||
"armoireEquipment": "<%= image %> You found a piece of rare Equipment in the Armoire: <%= dropText %>! Awesome!",
|
||||
"armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropArticle %><%= dropText %>. What's that doing in here?",
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!"
|
||||
"armoireExp": "You wrestle with the Armoire and gain Experience. Take that!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -60,6 +60,6 @@
|
|||
"noPermissionEditChallenge": "Non hai i permessi per modificare questa sfida",
|
||||
"noPermissionDeleteChallenge": "Non hai i permessi per eliminare questa sfida",
|
||||
"noPermissionCloseChallenge": "Non hai i permessi per concludere questa sfida",
|
||||
"noChallengeOwner": "no owner",
|
||||
"noChallengeOwnerPopover": "This challenge does not have an owner because the person who created the challenge deleted their account."
|
||||
"noChallengeOwner": "nessun proprietario",
|
||||
"noChallengeOwnerPopover": "Questa sfida non ha un proprietario perché la persona che ha creato la sfida ha eliminato il suo account."
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Bonus classe",
|
||||
"battleGear": "Assetto di battaglia",
|
||||
"battleGearText": "Questo è l'equipaggiamento che indossi in battaglia, esso modifica alcuni valori quando interagisci con le tue attività.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Costume",
|
||||
"costumeText": "Se preferisci il look di oggetti diversi da quelli equipaggiati, metti una spunta su \"Usa costume\" per visualizzare un costume anzichè l'equipaggiamento da battaglia (nonostante il cambio di aspetto, rimangono tutti i bonus delle armi e delle armature).",
|
||||
"useCostume": "Usa costume",
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
"faqQuestion7": "Come faccio a diventare un Guerriero, un Mago, un'Assassino o un Guaritore?",
|
||||
"iosFaqAnswer7": "Al livello 10, puoi scegliere di diventare un Guerriero, un Mago, un Assassino, o un Guaritore. (Tutti i giocatori iniziano come Guerrieri per impostazione predefinita.) Ogni classe ha diverse opzioni di equipaggiamento, diverse abilità che possono lanciare dopo il livello 11, e diversi vantaggi. I Guerrieri possono facilmente danneggiare i Boss, sopportare più danni dalle loro attività, e contribuire a rendere la loro squadra più forte. Anche i Maghi possono facilmente danneggiare i Boss, così come possono salire di livello velocemente e ripristinare mana per la loro squadra. Gli Assassini guadagnano più oro e trovano più item drop, e possono aiutare la loro squadra a fare lo stesso. Infine, i Guaritori possono curare loro stessi e i loro compagni di squadra.\n\nSe non vuoi scegliere subito una Classe -- per esempio, se stai ancora lavorando per comprare tutto l'equipaggiamento della tua classe attuale -- puoi cliccare \"Decidi più tardi\" e riattivarla successivamente in Menu > Scegli Classe.",
|
||||
"webFaqAnswer7": "At level 10, you can choose to become a Warrior, Mage, Rogue, or Healer. (All players start as Warriors by default.) Each Class has different equipment options, different Skills that they can cast after level 11, and different advantages. Warriors can easily damage Bosses, withstand more damage from their tasks, and help make their party tougher. Mages can also easily damage Bosses, as well as level up quickly and restore Mana for their party. Rogues earn the most Gold and find the most item drops, and they can help their party do the same. Finally, Healers can heal themselves and their party members.\n<br><br>\n If you don't want to choose a Class immediately -- for example, if you are still working to buy all the gear of your current class -- you can click \"Opt Out\" and re-enable it later under User > Stats.",
|
||||
"faqQuestion8": "What is the blue stat bar that appears in the Header after level 10?",
|
||||
"iosFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 under Menu > Use Skills. Unlike your health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete Good Habits, Dailies, and To-Dos, and lost when you indulge bad Habits. You'll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.",
|
||||
"faqQuestion8": "Cos'è la barra blu che appare nell'intestazione dopo il livello 10? ",
|
||||
"iosFaqAnswer8": "La barra blu che appare nell'intestazione quando raggiungi il livello 10 e scegli une Classe e la barra di Mana. Quando avanzi di livello, potrai scegliere delle Abilita' speciali che costano Mana ad ogni uso. Ogni Classe ha Abilita' diverse che appaiono dopo il livello 11, sotto Menu> Usare Abilita'. All'opposto della barra Salute, la barra Mana non si ripiena quando avanzi di livello, invece, si riempie ogni volta che completi buone Habit, Dailies e Da-Fare, e si svuota quando cedi ad una cattiva abitudine. Puoi anche guadagnare un po' di Mana durante la notte-- più Dailies hai completato, più Mana guadagni. ",
|
||||
"webFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 in a special section in the Rewards Column. Unlike your Health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete Good Habits, Dailies, and To-Dos, and lost when you indulge bad Habits. You’ll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.",
|
||||
"faqQuestion9": "Come faccio a combattere i mostri e andare in Missione?",
|
||||
"iosFaqAnswer9": "First, you need to join or start a Party (see above). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party on the [website](https://habitica.com/#/options/groups/party), you'll be rewarded with the Basi-List Scroll! (We will add this feature to the app in a future update.)\n - You can buy Quests from the Quests Page on the [website](https://habitica.com/#/options/inventory/quests) for gold and gems. (We will add this feature to the app in a future update.)\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.",
|
||||
|
|
@ -35,10 +35,10 @@
|
|||
"webFaqAnswer10": "Gems are [purchased with real money](https://habitica.com/#/options/settings/subscription), although [subscribers](https://habitica.com/#/options/settings/subscription) can purchase them with Gold. When people subscribe or buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n<br><br>\n In addition to buying Gems directly or becoming a subscriber, there are two other ways players can gain Gems:\n<br><br>\n * Win a Challenge that has been set up by another player under Social > Challenges.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica)\n<br><br>\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the site without them!",
|
||||
"faqQuestion11": "Come posso segnalare un bug o dare dei suggerimenti?",
|
||||
"iosFaqAnswer11": "Puoi segnalare un bug, richiedere una funzione, o inviare commenti in Menu > Segnala un Bug e Menu > Invia Commenti! Faremo tutto il possibile per aiutarti.",
|
||||
"webFaqAnswer11": "Bug reports are collected on GitHub. Go to [Help > Report a Bug](https://github.com/HabitRPG/habitrpg/issues/2760) and follow the instructions. Don't worry, we'll get you fixed up soon!\n<br><br>\n Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!",
|
||||
"faqQuestion12": "How do I battle a World Boss?",
|
||||
"webFaqAnswer11": "Errori vengono raggruppati su GitHub. Vai su [Aiuto> denuncia Errore] (https://github.com/HabitRPG/habitrpg/issues/2760) e segui le istruzioni. non ti preoccupare, ripareremo tutto presto.\n<br><br>\nRichieste per funzioni nuove vengono consegnate su Trello. Vai su [Aiuto> Richiesta funzione] (https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) e segui le istruzioni. Ta-da!",
|
||||
"faqQuestion12": "Come combatto un Boss Mondiale?",
|
||||
"iosFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.",
|
||||
"webFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and skills will damage the Boss as usual.\n<br><br>\n You can also be in a normal Quest at the same time. Your tasks and skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n<br><br>\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n<br><br>\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.",
|
||||
"webFaqAnswer12": "I Boss Mondiali sono mostri speciali che appaiono nella Taverna. Gli utenti attivi Automaticamente combattono il Boss e le loro attività danneggiano il Boss come al solito. \n<br><br> \nPuoi anche essere in una missione normale contemporaneamente e le tue attività e abilita' conteranno contro entrambi il Boss mondiale e il Boss/Missione nella tua squadra. \n<br><br>\nUn Boss Mondiale non danneggerà mai il tuo conto in qualsiasi modo. Invece, ha una sbarra Rabbia che si riempe quando utenti saltano Dailies. Se la sbarra rabbia e piena , attaccherà uno dei personaggi non giocatori e le loro immagini cambieranno.\n<br><br>\nPuoi leggere di più su precedenti boss mondiali [qui] (http://habitica.wikia.com/wiki/World_Bosses)",
|
||||
"iosFaqStillNeedHelp": "Se hai una domanda non presente in questa lista, vieni a chiedere nella chat della Taverna in Social > Taverna! Saremo felici di aiutarti.",
|
||||
"webFaqStillNeedHelp": "Se hai una domanda non presente in questa lista, se conosci l'inglese vieni a chiedere nella [Newbies Guild](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Saremo felici di aiutarti."
|
||||
}
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Mercato",
|
||||
"subscriberItem": "Oggetto misterioso",
|
||||
"newSubscriberItem": "Nuovo oggetto misterioso!",
|
||||
"subscriberItemText": "Ogni mese, gli abbonati riceveranno un oggetto misterioso. Questo in genere viene rivelato circa una settimana prima della fine del mese. Leggi la pagina 'Mystery Item' nella wiki per conoscere le date esatte.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Tutto",
|
||||
"none": "Nessuno",
|
||||
"or": "Oppure",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "ERRORE:",
|
||||
"newPassSent": "Nuova password inviata.",
|
||||
"serverUnreach": "Il server non è attualmente raggiungibile.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Se l'errore persiste, per favore segnalalo in Aiuto > Segnala un bug. Se sai come utilizzare la console del tuo browser, per favore allega eventuali messaggi di errore.",
|
||||
"error": "Errore",
|
||||
"menu": "Menù",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Possiedi già questo oggetto. Equipaggialo andando in Inventario > Equipaggiamento.",
|
||||
"armoireEquipment": "<%= image %> Hai trovato dell'equipaggiamento raro nello Scrigno: <%= dropText %>! Fantastico!",
|
||||
"armoireFood": "<%= image %> Frughi nello Scrigno e trovi <%= dropArticle %><%= dropText %>. Cosa ci fa qui dentro?",
|
||||
"armoireExp": "Fai a botte con lo Scrigno e ottieni Esperienza. Prendi questo!"
|
||||
"armoireExp": "Fai a botte con lo Scrigno e ottieni Esperienza. Prendi questo!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
"webhookURL": "Webhook URL",
|
||||
"add": "Add",
|
||||
"buyGemsGoldCap": "Cap raised to <%= amount %>",
|
||||
"mysticHourglass": "<%= amount %> Mystic Hourglass",
|
||||
"mysticHourglass": "<%= amount %> Clessidra Mistica",
|
||||
"mysticHourglassText": "Mystic Hourglasses allow purchasing a previous month's Mystery Item set.",
|
||||
"purchasedPlanId": "Recurring $<%= price %> each <%= months %> Month(s) (<%= plan %>)",
|
||||
"purchasedPlanExtraMonths": "You have <%= months %> months of subscription credit.",
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
"timeTravelersTitleNoSub": "<%= linkStartTyler %>Tyler<%= linkEnd %> e <%= linkStartVicky %>Vicky<%= linkEnd %>",
|
||||
"timeTravelersTitle": "Misteriosi viaggiatori del tempo",
|
||||
"timeTravelersPopoverNoSub": "Hai bisogno di una Clessidra Mistica per evocare i misteriosi viaggiatori del tempo! Gli <%= linkStart %>abbonati<%= linkEnd %> ne ottengono una ogni tre mesi di abbonamento consecutivi. Torna qui quando avrai una Clessidra Mistica, e i viaggiatori del tempo ti porteranno un raro animale, cavalcatura o set di Oggetti Misteriosi dal passato...o forse persino dal futuro!",
|
||||
"timeTravelersPopover": "We see you have a Mystic Hourglass, so we will happily travel back in time for you! Please choose the pet, mount, or Mystery Item Set you would like. You can see a list of the past item sets <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>here</a>! If those don't satisfy you, perhaps you'd be interested in one of our fashionably futuristic Steampunk Item Sets?",
|
||||
"timeTravelersPopover": "Abbiamo notato che possiedi una Clessidra Mistica, quindi saremo felici di tornare indietro nel tempo per te! Scegli l'animale, la cavalcatura o il set di Oggetti Misteriosi che desideri. Puoi vedere una lista degli oggetti dei set passati <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>qui</a>! Se questi non ti soddisfano, forse preferiresti uno dei nostri raffinati e futuristici Set di Oggetti Steampunk?",
|
||||
"timeTravelersAlreadyOwned": "Congratulazioni! Possiedi già tutto ciò che i Viaggiatori del Tempo possono attualmente offrire. Grazie per il tuo supporto al sito!",
|
||||
"mysticHourglassPopover": "La Clessidra Mistica ti permette di acquistare alcuni oggetti a disponibilità limitata, come i set mensili di Oggetti Misteriosi le ricompense degli eventi mondiali, dal passato!",
|
||||
"subUpdateCard": "Aggiorna Carta",
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "クラスボーナス",
|
||||
"battleGear": "バトルギア",
|
||||
"battleGearText": "これは身につけるバトル用の道具です。タスクに接するときの数字に影響を及ぼす。",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "衣装",
|
||||
"costumeText": "もし装備中のギアより他のギアの見た目が好ましい場合、「衣装する」のボックスをチェックしてください。そうすると、バトルギアを着たまま衣装が表れます。",
|
||||
"useCostume": "衣装する",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "市場",
|
||||
"subscriberItem": "不思議なアイテム",
|
||||
"newSubscriberItem": "新しい不思議なアイテム",
|
||||
"subscriberItemText": "毎月、加入者はミステリーアイテムを受け取ることになります。これは通常、月末までに1週間ほどリリースされています。確定期日については、wikiの「ミステリーアイテム」ページを参照してください。",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "全ての",
|
||||
"none": "なし",
|
||||
"or": "または",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "エラー:",
|
||||
"newPassSent": "新しいパスワードを送信しました。",
|
||||
"serverUnreach": "現在サーバ側の反応がありません。",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "もしエラーがずっと続くなら、どうか\"Help > Report a Bug\"からお伝えください。もしあなたが使っているブラウザコンソールに詳しいのであれば、どんなエラーメッセージでも含めてお願いします。",
|
||||
"error": "エラー",
|
||||
"menu": "メニュー",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "このアイテムはもう有します。装備ページに行って装備して下さい。",
|
||||
"armoireEquipment": "<%= image %>戸棚で珍しい装備を見つけました:<%= dropText %>! 素晴らしい!",
|
||||
"armoireFood": "<%= image %>戸棚で漁って <%= dropArticle %><%= dropText %>. を見つけます。何でこの所に?",
|
||||
"armoireExp": "戸棚と組み付いてエクスペリエンスを得ます。持ってけ!"
|
||||
"armoireExp": "戸棚と組み付いてエクスペリエンスを得ます。持ってけ!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -60,6 +60,6 @@
|
|||
"noPermissionEditChallenge": "Je hebt geen toestemming om deze uitdaging te bewerken",
|
||||
"noPermissionDeleteChallenge": "Je hebt geen toestemming om deze uitdaging te verwijderen",
|
||||
"noPermissionCloseChallenge": "Je hebt geen toestemming om deze uitdaging te sluiten",
|
||||
"noChallengeOwner": "no owner",
|
||||
"noChallengeOwnerPopover": "This challenge does not have an owner because the person who created the challenge deleted their account."
|
||||
"noChallengeOwner": "geen eigenaar",
|
||||
"noChallengeOwnerPopover": "Deze uitdaging heeft geen eigenaar, omdat de eigenaar zijn account heeft verwijdert."
|
||||
}
|
||||
|
|
@ -52,6 +52,7 @@
|
|||
"classEquipBonus": "Klassebonus",
|
||||
"battleGear": "Strijduitrusting",
|
||||
"battleGearText": "Dit is de uitrusting die je in de strijd draagt. Het beïnvloedt scores als je met taken bezig bent.",
|
||||
"autoEquipBattleGear": "Auto-equip new gear",
|
||||
"costume": "Kostuum",
|
||||
"costumeText": "Als een andere uitrusting mooier vindt dan de uitrusting die je gebruikt, vink dan \"Kostuum gebruiken\" aan om een andere uitrusting zichtbaar te maken terwijl je je strijduitrusting eronder draagt.",
|
||||
"useCostume": "Kostuum gebruiken",
|
||||
|
|
|
|||
|
|
@ -95,9 +95,9 @@
|
|||
"questEggHorseText": "Paard",
|
||||
"questEggHorseMountText": "Paard",
|
||||
"questEggHorseAdjective": "een galopperend",
|
||||
"questEggFrogText": "Frog",
|
||||
"questEggFrogMountText": "Frog",
|
||||
"questEggFrogAdjective": "a princely",
|
||||
"questEggFrogText": "Kikker",
|
||||
"questEggFrogMountText": "Kikker",
|
||||
"questEggFrogAdjective": "een prinselijke",
|
||||
"eggNotes": "Vind een uitbroedtoverdrank om over dit ei te gieten en er zal een <%= eggAdjective(locale) %> <%= eggText(locale) %> uitkomen.",
|
||||
"hatchingPotionBase": "Normale",
|
||||
"hatchingPotionWhite": "Witte",
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
"faqQuestion11": "Hoe rapporteer ik een bug of vraag ik een feature aan?",
|
||||
"iosFaqAnswer11": "Je kunt een bug rapporteren, een functionaliteit aan vragen of feedback versturen onder Menu > Fout melden en Menu > Stuur feedback! We zullen alles doen wat we kunnen om je te helpen.",
|
||||
"webFaqAnswer11": "Rapporten van bugs worden verzameld op GitHub. Ga naar [Help > Fout melden](https://github.com/HabitRPG/habitrpg/issues/2760) en volg de instructies. Maak je geen zorgen, we zullen het snel maken!\n<br><br>\nVerzoeken voor functies zijn verzameld op Trello. ga naar [Help > Functie aanvragen](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) en volg de instructies. Ta-da!",
|
||||
"faqQuestion12": "How do I battle a World Boss?",
|
||||
"faqQuestion12": "Hoe strijd ik tegen een Wereldbaas?",
|
||||
"iosFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.",
|
||||
"webFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and skills will damage the Boss as usual.\n<br><br>\n You can also be in a normal Quest at the same time. Your tasks and skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n<br><br>\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n<br><br>\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.",
|
||||
"iosFaqStillNeedHelp": "Als je een vraag hebt die niet in deze lijst staat, vraag het in de herberg-chat onder Sociaal > Herberg! We zijn blij dat we kunnen helpen.",
|
||||
|
|
|
|||
|
|
@ -592,8 +592,8 @@
|
|||
"backMystery201504Notes": "Bzzz bzzz bzzz! Vlieg van taak naar taak. Verleent geen voordelen. Abonnee-uitrusting april 2015.",
|
||||
"backMystery201507Text": "Koele Surfplank",
|
||||
"backMystery201507Notes": "Surf uit de IJverige Havens en berijd de golven in Baai Incompleet! Verleent geen voordelen. Abonnee-uitrusting juli 2015.",
|
||||
"backMystery201510Text": "Goblin Tail",
|
||||
"backMystery201510Notes": "Prehensile and powerful! Confers no benefit. October 2015 Subscriber Item.",
|
||||
"backMystery201510Text": "Kobolt staart",
|
||||
"backMystery201510Notes": "Grijpgraag en krachtig! Geeft geen voordeel. Abonnee-uitrusting oktober 2015.",
|
||||
"backSpecialWonderconRedText": "Machtige cape",
|
||||
"backSpecialWonderconRedNotes": "Zwiept met kracht en schoonheid. Verleent geen voordelen. Speciale congresuitrusting.",
|
||||
"backSpecialWonderconBlackText": "Sluiperscape",
|
||||
|
|
@ -664,8 +664,8 @@
|
|||
"headAccessoryMystery201409Notes": "Dit krachtige gewei verkleurt gelijk met de bladeren. Verleent geen voordelen. Abonnee-uitrusting september 2014.",
|
||||
"headAccessoryMystery201502Text": "Gevleugelde gedachten",
|
||||
"headAccessoryMystery201502Notes": "Geef je fantasie de vrije vlucht! Verleent geen voordelen. Abonnee-uitrusting februari 2015.",
|
||||
"headAccessoryMystery201510Text": "Goblin Horns",
|
||||
"headAccessoryMystery201510Notes": "These fearsome horns are slightly slimy. Confers no benefit. October 2015 Subscriber Item.",
|
||||
"headAccessoryMystery201510Text": "Kobolt hoorns",
|
||||
"headAccessoryMystery201510Notes": "Deze angstaanjagende hoorns zijn een beetje slijmerig. Geeft geen voordeel. Abonnee-uitrusting oktober 2015.",
|
||||
"headAccessoryMystery301405Text": "Veiligheidsbril voor op je hoofd",
|
||||
"headAccessoryMystery301405Notes": "\"Veiligheidsbrillen zijn voor je ogen,\" zeiden ze. \"Niemand wil een veiligheidsbril die je alleen maar op je hoofd kunt dragen,\" zeiden ze. Ha! Jij hebt ze laten zien hoe het echt moet! Verleent geen voordelen. Abonnee-uitrusting augustus 3015.",
|
||||
"eyewear": "Oogaccessoire",
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
"market": "Markt",
|
||||
"subscriberItem": "Verrassingsartikel",
|
||||
"newSubscriberItem": "Nieuw verrassingsartikel",
|
||||
"subscriberItemText": "Elke maand ontvangen abonnees een verrassingsartikel. Meestal gebeurt dat ongeveer een week voor het eind van de maand. Bekijk de 'Mystery Item'-pagina op de wiki voor de exacte datum.",
|
||||
"subscriberItemText": "Each month, subscribers will receive a mystery item. This is usually released about one week before the end of the month. See the wiki's 'Mystery Item' page for more information.",
|
||||
"all": "Alle",
|
||||
"none": "Geen",
|
||||
"or": "Of",
|
||||
|
|
@ -79,6 +79,7 @@
|
|||
"errorUpCase": "FOUT:",
|
||||
"newPassSent": "Nieuw wachtwoord verstuurd.",
|
||||
"serverUnreach": "Server momenteel niet bereikbaar.",
|
||||
"requestError": "Yikes, an error occurred! <strong>Please reload the page,</strong> your last action may not have been saved correctly.",
|
||||
"seeConsole": "Als de fout blijft optreden, geef dat dan door via Help > Fout melden. Als je de console van je browser kunt vinden, geef dan alsjeblieft de foutmeldingen mee door.",
|
||||
"error": "Fout",
|
||||
"menu": "Menu",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"innCheckOut": "Uitchecken bij de herberg",
|
||||
"innCheckIn": "Rusten in de herberg",
|
||||
"innText": "Je ben aan het uitrusten in de herberg! Zolang je hier verblijft, zullen je dagelijkse taken je geen pijn doen aan het eind van de dag, maar ze zullen wel elke dag verversen. Wees gewaarschuwd: als je meedoet aan een queeste met een eindbaas, zal de eindbaas je nog steeds pijn doen voor de dagelijkse taken die je groepsgenoten missen, tenzij ze ook in de herberg verblijven! Je zult zelf ook geen schade toebrengen aan de eindbaas (of voorwerpen krijgen) totdat je de herberg verlaat.",
|
||||
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
|
||||
"innTextBroken": "Je ben aan het uitrusten in de herberg... Waarschijnlijk.. Zolang je hier verblijft, zullen je dagelijkse taken je geen pijn doen aan het eind van de dag, maar ze zullen wel elke dag verversen... Wees gewaarschuwd: als je meedoet aan een queeste met een eindbaas, zal de eindbaas je nog steeds pijn doen voor de dagelijkse taken die je groepsgenoten missen... tenzij ze ook in de herberg verblijven... Je zult zelf ook geen schade toebrengen aan de eindbaas (of voorwerpen krijgen) totdat je de herberg verlaat... Ik ben zo moe...",
|
||||
"lfgPosts": "Berichten: groep gezocht",
|
||||
"tutorial": "Handleiding",
|
||||
"glossary": "Woordenlijst",
|
||||
|
|
@ -147,5 +147,5 @@
|
|||
"partyChatEmpty": "Je groepschat is leeg! Typ een bericht in het bovenstaande vak om een conversatie te beginnen.",
|
||||
"guildChatEmpty": "De gildechat is leeg! Typ een bericht in het bovenstaande vak om een conversatie te beginnen.",
|
||||
"possessiveParty": "<%= name %>s groep",
|
||||
"requestAcceptGuidelines": "If you would like to post messages in the Tavern or any party or guild chat, please first read our <%= linkStart %>Communit Guidelines<%= linkEnd %> and then click the button below to indicate that you accept them."
|
||||
"requestAcceptGuidelines": "Als je berichten in de Herberg of een groep- of gildechat wilt plaatsen, lees dan eerst onze <%= linkStart %>Gemeenschapsrichtlijnen<%= linkEnd %> en klik dan op de knop onderaan om aan te geven dat je ze accepteert."
|
||||
}
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
"seasonalShopText": "Welkom in de Seizoenswinkel! We hebben op dit moment <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>seizoensgoederen</a> uit de lente-editie op voorraad. Alles wat je hier ziet is te koop tijdens het jaarlijkse Lente-evenement, maar we zijn slechts open tot 30 april! Koop nu wat je wilt hebben, want anders moet je een jaar wachten tot deze artikelen weer te krijgen zijn!",
|
||||
"seasonalShopSummerText": "Welkom in de Seizoenswinkel!! We hebben nu <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>seizoensspulletjes</a> uit de zomereditie in het assortiment. Alles hier is ieder jaar te koop tijdens het Zomerspetterevenement, maar we zijn slechts open tot 31 juli. Zorg er dus voor dat je nu inslaat of je moet een jaar wachten om deze voorwerpen te kunnen kopen!",
|
||||
"seasonalShopFallText": "Welkom in de Seizoenswinkel! We hebben op het moment najaars <a href='http://habitica.wikia.com/wiki/Item_Availability' target='_blank'>seizoenseditie</a> spullen in voorraad. Alles is te koop tijdens het Najaars Volksfeest-evenement ieder jaar, maar we zijn maar open tot 31 oktober. Dus zorg dat je nu inslaat of je moet een jaar wachten voordat je deze voorwerpen weer kunt kopen!",
|
||||
"seasonalShopFallTextBroken": "Oh.... Welcome to the Seasonal Shop... We're stocking autumn Seasonal Edition goodies, or something... Everything here will be available to purchase during the Fall Festival event each year, but we're only open until October 31... I guess you should to stock up now, or you'll have to wait... and wait... and wait... <strong>*sigh*</strong>",
|
||||
"seasonalShopFallTextBroken": "Oh... Welkom in de Seizoenswinkel... We hebben op het moment najaars spullen in voorraad, ofzo... Alles is te koop tijdens het Najaars Volksfeest-evenement ieder jaar, maar we zijn maar open tot 31 oktober... Zorg maar dat je inslaat anders zou je moeten wachten... wachten... en nog een wachten... <strong>*zucht*</strong>",
|
||||
"seasonalShopRebirth": "Als je een Bol der Hergeboorte gebruikt hebt, kun je deze uitrustingsstukken weer kopen in de beloningen kolom. In het begin kun je alleen de uitrustingsstukken van je huidige klasse kopen (dat is standaard Krijger), maar vrees niet, de uitrustingsstukken die bij een andere klasse horen komen weer beschikbaar als je die klasse kiest.",
|
||||
"candycaneSet": "Zuurstok (Magiër)",
|
||||
"skiSet": "Skimoordenaar (Dief)",
|
||||
|
|
|
|||
|
|
@ -30,5 +30,20 @@
|
|||
"messageAlreadyOwnGear": "Je hebt dit uitrustingsstuk al. Je kunt het aantrekken op de uitrustingspagina.",
|
||||
"armoireEquipment": "<%= image %> Je hebt een zeldzaam uitrustingsstuk gevonden in het kabinet: <%= dropText %>! Super!",
|
||||
"armoireFood": "<%= image %> Je rommelt wat in het kabinet en vindt <%= dropText %>. Hoe komt dat nou hier?",
|
||||
"armoireExp": "Je worstelt met het kabinet en krijgt er ervaringspunten bij. Daar met je!"
|
||||
"armoireExp": "Je worstelt met het kabinet en krijgt er ervaringspunten bij. Daar met je!",
|
||||
"messageInsufficientGems": "Not enough gems!",
|
||||
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
|
||||
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
|
||||
"messageAuthUsernameTaken": "Username already taken",
|
||||
"messageAuthEmailTaken": "Email already taken",
|
||||
"messageAuthNoUserFound": "No user found.",
|
||||
"messageAuthMustBeLoggedIn": "You must be logged in.",
|
||||
"messageAuthMustIncludeTokens": "You must include a token and uid (user id) in your request",
|
||||
"messageGroupNotFound": "Group not found or you don't have access.",
|
||||
"messageGroupAlreadyInParty": "Already in a party, try refreshing.",
|
||||
"messageGroupOnlyLeaderCanUpdate": "Only the group leader can update the group!",
|
||||
"messageGroupRequiresInvite": "Can't join a group you're not invited to.",
|
||||
"messageGroupCannotRemoveSelf": "You cannot remove yourself!",
|
||||
"messageUserOperationProtected": "path `<%= operation %>` was not saved, as it's a protected path.",
|
||||
"messageUserOperationNotFound": "<%= operation %> operation not found"
|
||||
}
|
||||
|
|
@ -7,8 +7,8 @@
|
|||
"daniel": "Daniël",
|
||||
"danielText": "Welkom in de Herberg! Blijf en tijdje en ontmoet de stamgasten. Als je wat rust nodig hebt (vakantie? ziekte?), zal ik je een kamer geven in de herberg. Terwijl je ingecheckt bent, zullen je Dagelijkse Taken je geen pijn doen aan het einde van de dag, maar je kunt ze nog steeds afkruisen.",
|
||||
"danielText2": "Wees gewaarschuwd: Als je meedoet aan een queeste met een eindbaas, zal de eindbaas je nog steeds pijn doen voor de gemiste dagelijkse taken van je groepsgenoten, tenzij ze ook in de herberg verblijven! Je zult zelf ook geen schade toebrengen aan de eindbaas (of voorwerpen krijgen) totdat je de Herberg verlaat.",
|
||||
"danielTextBroken": "Welcome to the Tavern... I guess... If you need to rest, I'll set you up at the Inn... While checked-in, your Dailies won't hurt you at the day's end, but you can still check them off... if you have the energy...",
|
||||
"danielText2Broken": "Oh... If you are participating in a boss quest, the boss will still damage you for your party mates' missed Dailies... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn...",
|
||||
"danielTextBroken": "Welkom in de herberg... Denk ik... Als je rust nodig hebt, zal ik je onderbrengen in de herberg... Zolang je ingecheckt bent, zullen je dagelijkse taken je geen pijn doen aan het eind van de dag... Je kunt ze nog wel afvinken... Als je daar de energie voor hebt...",
|
||||
"danielText2Broken": "Oh... Als je meedoet aan een queeste met een eindbaas, zal de eindbaas je nog steeds pijn doen voor de gemiste dagelijkse taken van je groepsgenoten... Je zult zelf ook geen schade toebrengen aan de eindbaas (of voorwerpen krijgen) totdat je de Herberg verlaat...",
|
||||
"alexander": "Alexander de Koopman",
|
||||
"welcomeMarket": "Welkom op de markt! Koop zeldzame eieren en drankjes! Verkoop je overschot! Gebruik nuttige diensten! Kom langs en bekijk zelf wat we voor je hebben.",
|
||||
"sellForGold": "Verkoop <%= item %> voor <%= gold %> goud",
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
"justin": "Justin",
|
||||
"ian": "Ian",
|
||||
"ianText": "Welkom in de queestenwinkel! Hier kun je queesten inzetten om samen met je vrienden monsters te verslaan. Neem een kijkje aan de rechterkant om te bekijken welke prachtige queesten te koop zijn!",
|
||||
"ianBrokenText": "Welcome to the Quest Shop... Here you can use Quest Scrolls to battle monsters with your friends... Be sure to check out our fine array of Quest Scrolls for purchase on the right...",
|
||||
"ianBrokenText": "Welkom in de queestenwinkel... Hier kun je queesten inzetten om samen met je vrienden monsters te verslaan... Neem een kijkje aan de rechterkant om te bekijken welke prachtige queesten te koop zijn...",
|
||||
"USD": "USD ($)",
|
||||
"newStuff": "Nieuwe informatie",
|
||||
"cool": "Een andere keer lezen",
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
"youReceived": "Je hebt ontvangen",
|
||||
"dropQuestCongrats": "Gefeliciteerd, je hebt een queeste-perkamentrol gevonden! Je kunt je groep uitnodigen om er direct mee te beginnen, of er later alsnog mee starten via Boedel > Queesten.",
|
||||
"questSend": "Op \"Uitnodigen\" klikken stuurt een uitnodiging naar de groepsleden. Wanneer alle leden hebben geaccepteerd of geweigerd, begint de queeste. Zie de status onder Sociaal > Groep.",
|
||||
"questSendBroken": "Clicking \"Invite\" will send an invitation to your party members... When all members have accepted or denied, the quest begins... See status under Social > Party...",
|
||||
"questSendBroken": "Op \"Uitnodigen\" klikken stuurt een uitnodiging naar de groepsleden... Wanneer alle leden hebben geaccepteerd of geweigerd, begint de queeste... Zie de status onder Sociaal > Groep...",
|
||||
"inviteParty": "Groep uitnodigen voor queeste",
|
||||
"questInvitation": "Uitnodiging voor queeste:",
|
||||
"questInvitationTitle": "Uitnodiging voor queeste",
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
"rejected": "Geweigerd",
|
||||
"pending": "In afwachting",
|
||||
"questStart": "De queeste begint wanneer alle groepsleden de uitnodiging ofwel geaccepteerd ofwel geweigerd hebben. Alleen de leden die geaccepteerd hebben, nemen deel aan de queeste en ontvangen de daarbij horende vondsten. Als groepsleden te lang in afwachting zijn (inactief?), kan de eigenaar van de queeste zonder hen beginnen door op 'Starten' te klikken. De eigenaar van de queeste kan de queeste-perkamentrol terugkrijgen en de queeste annuleren door op 'Annuleren' te klikken.",
|
||||
"questStartBroken": "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 receive the drops... If members are pending too long (inactive?), the quest owner can start the quest without them by clicking \"Begin\"... The quest owner can also cancel the quest and regain the quest scroll by clicking \"Cancel\"...",
|
||||
"questStartBroken": "De queeste begint wanneer alle groepsleden de uitnodiging ofwel geaccepteerd ofwel geweigerd hebben... Alleen de leden die geaccepteerd hebben, nemen deel aan de queeste en ontvangen de daarbij horende vondsten... Als groepsleden te lang in afwachting zijn (inactief?), kan de eigenaar van de queeste zonder hen beginnen door op 'Starten' te klikken... De eigenaar van de queeste kan de queeste-perkamentrol terugkrijgen en de queeste annuleren door op 'Annuleren' te klikken...",
|
||||
"begin": "Starten",
|
||||
"bossHP": "Gezondheid eindbaas",
|
||||
"bossStrength": "Kracht eindbaas",
|
||||
|
|
@ -36,14 +36,14 @@
|
|||
"itemsToCollect": "Objecten om te verzamelen",
|
||||
"bossDmg1": "Elke voltooide Dagelijkse Taak en To-do en elke positieve Gewoonte brengt schade toe aan de eindbaas. Breng meer schade toe met rodere taken of Wrede Slag en Uiteenspatting van Vlammen. De eindbaas brengt iedereen die meedoet aan de queeste schade toe voor iedere Dagelijkse Taak die je gemist hebt (vermenigvuldigd met de Kracht van de eindbaas), bovenop je normale schade, dus houd je groep gezond door je dagelijkse taken te doen! <strong>Alle schade van en aan een eindbaas wordt verrekend tijdens cron (je dagelijkse nieuwe start).</strong>",
|
||||
"bossDmg2": "Alleen deelnemers bevechten de eindbaas en delen de buit.",
|
||||
"bossDmg1Broken": "Each completed Daily and To-Do and each positive Habit hurts the boss... Hurt it more with redder tasks or Brutal Smash and Burst of Flames... The boss will deal damage to every quest participant for every Daily you've missed (multiplied by the boss's Strength) in addition to your regular damage, so keep your party healthy by completing your Dailies... <strong>All damage to and from a boss is tallied on cron (your day roll-over)...</strong>",
|
||||
"bossDmg2Broken": "Only participants will fight the boss and share in the quest loot...",
|
||||
"tavernBossInfo": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss! Incomplete Dailies fill the Exhaust Strike Bar. When the Exhaust Strike bar is full, the World Boss will attack an NPC. A World Boss will never damage individual players or accounts in any way. Only active accounts not resting in the Inn will have their tasks tallied.",
|
||||
"tavernBossInfoBroken": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss... Incomplete Dailies fill the Exhaust Strike Bar... When the Exhaust Strike bar is full, the World Boss will attack an NPC... A World Boss will never damage individual players or accounts in any way... Only active accounts not resting in the Inn will have their tasks tallied...",
|
||||
"bossDmg1Broken": "Elke voltooide Dagelijkse Taak en To-do en elke positieve Gewoonte brengt schade toe aan de eindbaas... Breng meer schade toe met rodere taken of Wrede Slag en Uiteenspatting van Vlammen... De eindbaas brengt iedereen die meedoet aan de queeste schade toe voor iedere Dagelijkse Taak die je gemist hebt (vermenigvuldigd met de Kracht van de eindbaas), bovenop je normale schade, dus houd je groep gezond door je dagelijkse taken te doen... <strong>Alle schade van en aan een eindbaas wordt verrekend tijdens cron (je dagelijkse nieuwe start)...</strong>",
|
||||
"bossDmg2Broken": "Alleen deelnemers bevechten de eindbaas en delen de buit...",
|
||||
"tavernBossInfo": "Voltooi dagelijkse taken en to-do's en vink positieve gewoontes af om de Wereldbaas schade toe te brengen! Onvoltooide dagelijkse taken vullen de 'Oncontroleerbare Furie'-balk. Als de 'Oncontroleerbare Furie'-balk vol is, valt de Wereldbaas een NPC aan. Een Wereldbaas zal nooit schade doen aan individuele spelers of accounts. Alleen de taken van actieve accounts, die niet verblijven in de herberg, worden meegerekend.",
|
||||
"tavernBossInfoBroken": "Voltooi dagelijkse taken en to-do's en vink positieve gewoontes af om de Wereldbaas schade toe te brengen... Onvoltooide dagelijkse taken vullen de 'Oncontroleerbare Furie'-balk... Als de 'Oncontroleerbare Furie'-balk vol is, valt de Wereldbaas een NPC aan... Een Wereldbaas zal nooit schade doen aan individuele spelers of accounts... Alleen de taken van actieve accounts, die niet verblijven in de herberg, worden meegerekend...",
|
||||
"bossColl1": "Om vondsten te verzamelen moet je positieve taken doen. De vondsten van de queeste werken hetzelfde als normale vondsten; je zult de vondsten echter niet zien tot de volgende dag, wanneer alles wat je hebt gevonden wordt opgeteld en aan de buit wordt toegevoegd.",
|
||||
"bossColl2": "Alleen deelnemers kunnen vondsten verzamelen en de buit delen.",
|
||||
"bossColl1Broken": "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...",
|
||||
"bossColl2Broken": "Only participants can collect items and share in the quest loot...",
|
||||
"bossColl1Broken": "Om vondsten te verzamelen moet je positieve taken doen... De vondsten van de queeste werken hetzelfde als normale vondsten; je zult de vondsten echter niet zien tot de volgende dag, wanneer alles wat je hebt gevonden wordt opgeteld en aan de buit wordt toegevoegd...",
|
||||
"bossColl2Broken": "Alleen deelnemers kunnen vondsten verzamelen en de buit delen...",
|
||||
"abort": "Afbreken",
|
||||
"leaveQuest": "Queeste verlaten",
|
||||
"sureLeave": "Weet je zeker dat je de queeste wilt verlaten? Al jouw vooruitgang binnen de queeste zal verloren raken.",
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
"sureAbort": "Weet je zeker dat je deze missie wilt afbreken? De missie wordt afgebroken voor iedereen in jouw groep; alle vorderingen gaan verloren. De queeste-perkamentrol wordt teruggegeven aan de eigenaar van de queeste.",
|
||||
"doubleSureAbort": "Weet je het echt heel zeker? Zorg ervoor dat ze niet voor altijd een hekel aan je krijgen!",
|
||||
"questWarning": "Als nieuwe spelers bij de groep komen voordat de queeste begint, krijgen ze ook een uitnodiging. Als de queeste eenmaal begonnen is, kunnen nieuwe groepsleden zich echter niet bij de queeste aansluiten.",
|
||||
"questWarningBroken": "If new players join the party before the quest starts, they will also receive an invitation... However once the quest has started, no new party members can join the quest...",
|
||||
"questWarningBroken": "Als nieuwe spelers bij de groep komen voordat de queeste begint, krijgen ze ook een uitnodiging... Als de queeste eenmaal begonnen is, kunnen nieuwe groepsleden zich echter niet bij de queeste aansluiten...",
|
||||
"bossRageTitle": "Woede",
|
||||
"bossRageDescription": "Als deze balk vol is, zal de eindbaas een speciale aanval ontketenen.",
|
||||
"startAQuest": "START EEN QUEESTE",
|
||||
|
|
|
|||
|
|
@ -262,10 +262,10 @@
|
|||
"questBurnoutBossRageQuests": "'Burnout gebruikt ONTLADINGS AANVAL!'\n\nOh nee! Ondanks onze beste pogingen hebben we wat dagelijkse taken laten ontsnappen en nu is Burnout ontstoken met energie! Met een kakelende sneer overspoelt hij Ian de queeste-meester met een golf van spectraal vuur. Terwijl de gevallen queeste-rollen smeulen, lost de rook op en je ziet dat de energie uit Ian gezogen is en dat hij verandert is in een ontladingsgeest!\n\nAlleen het verslaan van Burnout kan de betovering doorbreken en onze geliefde queeste-meester terugbrengen. Laten we onze dagelijkse taken in toom houden en dit wonster verslaan voor het weer aanvalt!",
|
||||
"questBurnoutBossRageSeasonalShop": "'Burnout gebruikt ONTLADINGS AANVAL!'\n\nAh! Onze onafgemaakte dagelijkse taken hebben de vlammen van Burnout gevoed en nu heeft hij genoeg energie om opnieuw aan te vallen! Hij laat een pilaar van spectrale vlammen los die de seizoenswinkel verschroeit. Je bent verschrikt te zien dat de vrolijke Tovenares der Seizoenen verandert is in een lijzige Ontladingsgeest.\n\nWe moeten onze NPC's redden! Haast je, Habiticanen, voltooi je taken en versla Burnout voordat hij voor een derde keer toeslaat!",
|
||||
"questBurnoutBossRageTavern": "'Burnout gebruikt ONTLADINGS AANVAL!'\n\nVeel Habicitanen hebben zich verstopt voor Burnout in de herberg, maar niet langer! Met een schelle huil harkt Burnout de herberg omver met zijn withete handen. Terwijl de gasten van de herberg vluchten, wordt Daniel gevangen in de greep van Burnout en verandert voor je neus in een Ontladingsgeest!\n\nDeze heethoofdige nachtmerrie heeft te lang geduurd. Geef niet op... we zijn er zo dichtbij Burnout voor eens en voor altijd te verslaan!",
|
||||
"questFrogText": "Swamp of the Clutter Frog",
|
||||
"questFrogNotes": "As you and your friends are slogging through the Swamps of Stagnation, @starsystemic points at a large sign. \"Stay on the path -- if you can.\"<br><br>\"Surely that isn't hard!\" @RosemonkeyCT says. \"It's broad and clear.\"<br><br>But as you continue, you notice that path is gradually overtaken by the muck of the swamp, laced with bits of strange blue debris and clutter, until it's impossible to proceed.<br><br>As you look around, wondering how it got this messy, @Jon Arjinborn shouts, \"Look out!\" An angry frog leaps from the sludge, clad in dirty laundry and lit by blue fire. You will have to overcome this poisonous Clutter Frog to progress!",
|
||||
"questFrogCompletion": "The frog cowers back into the muck, defeated. As it slinks away, the blue slime fades, leaving the way ahead clear.<br><br>Sitting in the middle of the path are three pristine eggs. \"You can even see the tiny tadpoles and through the clear casing!\" @Breadstrings says. \"Here, you should take them.\"",
|
||||
"questFrogBoss": "Clutter Frog",
|
||||
"questFrogDropFrogEgg": "Frog (Egg)",
|
||||
"questFrogUnlockText": "Unlocks purchasable Frog eggs in the Market"
|
||||
"questFrogText": "Moeras van de belemmerende kikker",
|
||||
"questFrogNotes": "Nu je vrienden en jij door de het Moeras van Sagnatie aan het ploeteren zijn, wijst @starsystemic naar een grote spin. \"Blijf op het pad -- als je kan.\"<br><br> \"Dat is toch niet moeilijk!\" zegt @RosemonkeyCT, \"Het is breed en vrij.\"<br><br>Maar terwijl je doorgaat, merk je dat het pad langzamerhand wordt overgenomen door drek van het moeras, doorspekt met stukjes van vreemde blauwe puin en rommel, totdat het is onmogelijk om verder te gaan.<br><br>Als je om je heen kijkt en afvraagt hoe dit zo is gekomen roept @Jon Arjinborn: \"Kijk uit!\" Een boze kikker springt uit het slib, bekeeld met vuile was en verlicht door blauw vuur. Je moet de giftige belemmerende kikker overwinnen om vooruitgang te boeken!",
|
||||
"questFrogCompletion": "De kikker krimpt ineen en verdwijnt in de drek, verslagen. Als het weg ebt, verdwijnt ook de blauwe slijm en maakt de weg vooruit vrij.<br><br>In het midden van het pad liggen drie zuivere eieren. \"Je kunt de kleine kikkervisjes zien door de heldere omhulsel!\" zegt @Breadstring, \"Hier, neem jij ze maar.\"",
|
||||
"questFrogBoss": "Belemmerende kikker",
|
||||
"questFrogDropFrogEgg": "Kikker (ei)",
|
||||
"questFrogUnlockText": "Maakt het kopen van kikkereieren in de markt mogelijk"
|
||||
}
|
||||
|
|
@ -119,25 +119,25 @@
|
|||
"promoCodeApplied": "Promotiecode toegepast! Kijk in je boedel",
|
||||
"promoPlaceholder": "Voer promotiecode in",
|
||||
"displayInviteToPartyWhenPartyIs1": "Toon de 'Uitnodigen voor groep'-knop wanneer de groep 1 lid heeft.",
|
||||
"saveCustomDayStart": "Save Custom Day Start",
|
||||
"registration": "Registration",
|
||||
"addLocalAuth": "Add local authentication:",
|
||||
"generateCodes": "Generate Codes",
|
||||
"generate": "Generate",
|
||||
"getCodes": "Get Codes",
|
||||
"saveCustomDayStart": "Begin van de dag opslaan",
|
||||
"registration": "Registratie",
|
||||
"addLocalAuth": "Voeg plaatselijke authenticatie toe:",
|
||||
"generateCodes": "Genereer codes",
|
||||
"generate": "Genereer",
|
||||
"getCodes": "Verkrijg codes",
|
||||
"webhooks": "Webhooks",
|
||||
"enabled": "Enabled",
|
||||
"enabled": "Ingeschakeld",
|
||||
"webhookURL": "Webhook URL",
|
||||
"add": "Add",
|
||||
"buyGemsGoldCap": "Cap raised to <%= amount %>",
|
||||
"mysticHourglass": "<%= amount %> Mystic Hourglass",
|
||||
"mysticHourglassText": "Mystic Hourglasses allow purchasing a previous month's Mystery Item set.",
|
||||
"purchasedPlanId": "Recurring $<%= price %> each <%= months %> Month(s) (<%= plan %>)",
|
||||
"purchasedPlanExtraMonths": "You have <%= months %> months of subscription credit.",
|
||||
"consecutiveSubscription": "Consecutive Subscription",
|
||||
"consecutiveMonths": "Consecutive Months:",
|
||||
"gemCapExtra": "Gem Cap Extra:",
|
||||
"mysticHourglasses": "Mystic Hourglasses:",
|
||||
"add": "Voeg toe",
|
||||
"buyGemsGoldCap": "Capaciteit verheven naar <%= amount %>",
|
||||
"mysticHourglass": "<%= amount %> mystieke zandloper",
|
||||
"mysticHourglassText": "Mystieke zandlopers laat je de abonnee-uitrustingssets uit voorgaande maanden kopen.",
|
||||
"purchasedPlanId": "Terugkerende $<%= price %> elke <%= months %> Maand(en) (<%= plan %>)",
|
||||
"purchasedPlanExtraMonths": "Je hebt <%= months %> maanden abonnement krediet.",
|
||||
"consecutiveSubscription": "Opeenvolgende abonnementen: ",
|
||||
"consecutiveMonths": "Opeenvolgende maanden:",
|
||||
"gemCapExtra": "Edelsteen capaciteit extra:",
|
||||
"mysticHourglasses": "Mystieke zandlopers:",
|
||||
"paypal": "PayPal",
|
||||
"amazonPayments": "Amazon Payments"
|
||||
"amazonPayments": "Amazon betalingen"
|
||||
}
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
"timeTravelersTitleNoSub": "<%= linkStartTyler %>Tyler<%= linkEnd %> en <%= linkStartVicky %>Vicky<%= linkEnd %>",
|
||||
"timeTravelersTitle": "Mysterieuze tijdreizigers",
|
||||
"timeTravelersPopoverNoSub": "Je hebt een mystieke zandloper nodig om de mysterieuze Tijdreizigers te ontbieden! <%= linkStart %>Abonnees<%= linkEnd %> verdienen een mystieke zandloper voor elke drie maanden van achtereenvolgend lidmaatschap. Kom terug wanneer je een mystieke zandloper hebt en de Tijdreizigers zullen een zeldzaam huisdier, rijdier of set abonnee-artikelen voor je ophalen uit het verleden... of misschien zelfs de toekomst.",
|
||||
"timeTravelersPopover": "We see you have a Mystic Hourglass, so we will happily travel back in time for you! Please choose the pet, mount, or Mystery Item Set you would like. You can see a list of the past item sets <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>here</a>! If those don't satisfy you, perhaps you'd be interested in one of our fashionably futuristic Steampunk Item Sets?",
|
||||
"timeTravelersPopover": "We zien dat je een mystieke zandloper hebt, dus we reizen graag terug in de tijd voor je! Kies het huisdier, rijdier of de verrassingsvoorwerpset die je wilt. Je kunt <a href='http://habitica.wikia.com/wiki/Mystery_Item' target='_blank'>hier</a> een lijst zien van de voorwerpsets uit het verleden! Als deze je niet bevallen, ben je dan misschien meer geïnteresseerd in een van onze modebewuste futuristische Steampunk voorwerpsets?",
|
||||
"timeTravelersAlreadyOwned": "Gefeliciteerd! Je bezit alles al dat de Tijdreizigers op dit moment aanbieden. Dankjewel voor het steunen van de site!",
|
||||
"mysticHourglassPopover": "Met een mystieke zandloper kun je sommige voorwerpen met een beperkte oplage kopen, zoals maandelijkse verrassingsvoorwerpsets en beloningen van Wereldbazen uit het verleden!",
|
||||
"subUpdateCard": "Creditcard aanpassen",
|
||||
|
|
|
|||