Merge branch 'develop' into release

This commit is contained in:
Sabe Jones
2020-07-16 14:58:25 -05:00
319 changed files with 5149 additions and 2796 deletions

View File

@@ -22,6 +22,7 @@ jobs:
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run lint-no-fix
apidoc:
runs-on: ubuntu-latest
@@ -42,6 +43,7 @@ jobs:
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run apidoc
sanity:
runs-on: ubuntu-latest
@@ -62,6 +64,7 @@ jobs:
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run test:sanity
common:
@@ -83,6 +86,7 @@ jobs:
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run test:common
content:
runs-on: ubuntu-latest
@@ -103,6 +107,7 @@ jobs:
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run test:content
api-unit:
@@ -110,6 +115,7 @@ jobs:
strategy:
matrix:
node-version: [12.x]
mongodb-version: [4.2]
steps:
- uses: actions/checkout@v1
with:
@@ -118,13 +124,18 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo:4.2
- name: Start MongoDB ${{ matrix.mongodb-version }} Replica Set
uses: supercharge/mongodb-github-action@1.3.0
with:
mongodb-version: ${{ matrix.mongodb-version }}
mongodb-replica-set: rs
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run test:api:unit
env:
REQUIRES_SERVER=true: true
@@ -133,6 +144,7 @@ jobs:
strategy:
matrix:
node-version: [12.x]
mongodb-version: [4.2]
steps:
- uses: actions/checkout@v1
with:
@@ -141,13 +153,18 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo:4.2
- name: Start MongoDB ${{ matrix.mongodb-version }} Replica Set
uses: supercharge/mongodb-github-action@1.3.0
with:
mongodb-version: ${{ matrix.mongodb-version }}
mongodb-replica-set: rs
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run test:api-v3:integration
env:
REQUIRES_SERVER=true: true
@@ -156,6 +173,7 @@ jobs:
strategy:
matrix:
node-version: [12.x]
mongodb-version: [4.2]
steps:
- uses: actions/checkout@v1
with:
@@ -164,13 +182,18 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: sudo docker run --name mongo -d -p 27017:27017 mongo:4.2
- name: Start MongoDB ${{ matrix.mongodb-version }} Replica Set
uses: supercharge/mongodb-github-action@1.3.0
with:
mongodb-version: ${{ matrix.mongodb-version }}
mongodb-replica-set: rs
- run: cp config.json.example config.json
- name: npm install
run: |
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run test:api-v4:integration
env:
REQUIRES_SERVER=true: true
@@ -194,5 +217,6 @@ jobs:
npm ci
env:
CI: true
NODE_ENV: test
- run: npm run test:unit
working-directory: ./website/client

4
.gitignore vendored
View File

@@ -42,3 +42,7 @@ yarn.lock
# webstorm fake webpack for path intellisense
webpack.webstorm.config
# mongodb replica set for local dev
mongodb-*.tgz
/mongodb-data

View File

@@ -32,7 +32,8 @@
"LOGGLY_SUBDOMAIN": "example-subdomain",
"LOGGLY_TOKEN": "example-token",
"MAINTENANCE_MODE": "false",
"NODE_DB_URI": "mongodb://localhost:27017/habitrpg",
"NODE_DB_URI": "mongodb://localhost:27017/habitica-dev?replicaSet=rs",
"TEST_DB_URI": "mongodb://localhost:27017/habitica-test?replicaSet=rs",
"MONGODB_POOL_SIZE": "10",
"NODE_ENV": "development",
"PATH": "bin:node_modules/.bin:/usr/local/bin:/usr/bin:/bin",
@@ -70,7 +71,6 @@
"SLACK_URL": "https://hooks.slack.com/services/some-url",
"STRIPE_API_KEY": "aaaabbbbccccddddeeeeffff00001111",
"STRIPE_PUB_KEY": "22223333444455556666777788889999",
"TEST_DB_URI": "mongodb://localhost:27017/habitrpg_test",
"TRANSIFEX_SLACK_CHANNEL": "transifex",
"WEB_CONCURRENCY": 1,
"SKIP_SSL_CHECK_KEY": "key",

View File

@@ -1,5 +1,10 @@
import gulp from 'gulp';
import path from 'path';
import babel from 'gulp-babel';
import os from 'os';
import fs from 'fs';
import spawn from 'cross-spawn'; // eslint-disable-line import/no-extraneous-dependencies
import clean from 'rimraf';
gulp.task('build:babel:server', () => gulp.src('website/server/**/*.js')
.pipe(babel())
@@ -24,10 +29,67 @@ gulp.task('build:prod', gulp.series(
done => done(),
));
// Due to this issue https://github.com/vkarpov15/run-rs/issues/45
// When used on windows `run-rs` must first be run without the `--keep` option
// in order to be setup correctly, afterwards it can be used.
const MONGO_PATH = path.join(__dirname, '/../mongodb-data/');
gulp.task('build:prepare-mongo', async () => {
if (fs.existsSync(MONGO_PATH)) {
// console.log('MongoDB data folder exists, skipping setup.');
return;
}
if (os.platform() !== 'win32') {
// console.log('Not on Windows, skipping MongoDB setup.');
return;
}
console.log('MongoDB data folder is missing, setting up.');
// use run-rs without --keep, kill it as soon as the replica set starts
const runRsProcess = spawn('run-rs', ['-v', '4.2.8', '-l', 'ubuntu1804', '--dbpath', 'mongodb-data', '--number', '1', '--quiet']);
for await (const chunk of runRsProcess.stdout) {
const stringChunk = chunk.toString();
console.log(stringChunk);
// kills the process after the replica set is setup
if (stringChunk.includes('Started replica set')) {
console.log('MongoDB setup correctly.');
runRsProcess.kill();
}
}
let error = '';
for await (const chunk of runRsProcess.stderr) {
const stringChunk = chunk.toString();
error += stringChunk;
}
const exitCode = await new Promise(resolve => {
runRsProcess.on('close', resolve);
});
if (exitCode || error.length > 0) {
// remove any leftover files
clean.sync(MONGO_PATH);
throw new Error(`Error running run-rs: ${error}`);
}
});
gulp.task('build:dev', gulp.series(
'build:prepare-mongo',
done => done(),
));
const buildArgs = [];
if (process.env.NODE_ENV === 'production') { // eslint-disable-line no-process-env
buildArgs.push('build:prod');
} else if (process.env.NODE_ENV !== 'test') { // eslint-disable-line no-process-env
buildArgs.push('build:dev');
}
gulp.task('build', gulp.series(buildArgs, done => {

View File

@@ -3,6 +3,10 @@ import nconf from 'nconf';
import repl from 'repl';
import gulp from 'gulp';
import logger from '../website/server/libs/logger';
import {
getDevelopmentConnectionUrl,
getDefaultConnectionOptions,
} from '../website/server/libs/mongodb';
// Add additional properties to the repl's context
const improveRepl = context => {
@@ -26,13 +30,14 @@ const improveRepl = context => {
context.Group = require('../website/server/models/group').model; // eslint-disable-line global-require
context.User = require('../website/server/models/user').model; // eslint-disable-line global-require
const isProd = nconf.get('NODE_ENV') === 'production';
const mongooseOptions = !isProd ? {} : {
keepAlive: 1,
connectTimeoutMS: 30000,
};
const IS_PROD = nconf.get('NODE_ENV') === 'production';
const NODE_DB_URI = nconf.get('NODE_DB_URI');
const mongooseOptions = getDefaultConnectionOptions();
const connectionUrl = IS_PROD ? NODE_DB_URI : getDevelopmentConnectionUrl(NODE_DB_URI);
mongoose.connect(
nconf.get('NODE_DB_URI'),
connectionUrl,
mongooseOptions,
err => {
if (err) throw err;

View File

@@ -6,6 +6,10 @@ import nconf from 'nconf';
import {
pipe,
} from './taskHelper';
import {
getDevelopmentConnectionUrl,
getDefaultConnectionOptions,
} from '../website/server/libs/mongodb';
// TODO rewrite
@@ -44,7 +48,10 @@ gulp.task('test:nodemon', gulp.series(done => {
}, 'nodemon'));
gulp.task('test:prepare:mongo', cb => {
mongoose.connect(TEST_DB_URI, err => {
const mongooseOptions = getDefaultConnectionOptions();
const connectionUrl = getDevelopmentConnectionUrl(TEST_DB_URI);
mongoose.connect(connectionUrl, mongooseOptions, err => {
if (err) return cb(`Unable to connect to mongo database. Are you sure it's running? \n\n${err}`);
return mongoose.connection.dropDatabase(err2 => {
if (err2) return cb(err2);
@@ -176,7 +183,7 @@ gulp.task('test:api:unit:run', done => {
gulp.task('test:api:unit:watch', () => gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit:run', done => done())));
gulp.task('test:api-v3:integration', done => {
gulp.task('test:api-v3:integration', gulp.series('test:prepare:mongo', done => {
const runner = exec(
testBin('istanbul cover --dir coverage/api-v3-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v3/integration --recursive --require ./test/helpers/start-server'),
{ maxBuffer: 500 * 1024 },
@@ -189,7 +196,7 @@ gulp.task('test:api-v3:integration', done => {
);
pipe(runner);
});
}));
gulp.task('test:api-v3:integration:watch', () => gulp.watch([
'website/server/controllers/api-v3/**/*', 'common/script/ops/*', 'website/server/libs/*.js',
@@ -206,7 +213,7 @@ gulp.task('test:api-v3:integration:separate-server', done => {
pipe(runner);
});
gulp.task('test:api-v4:integration', done => {
gulp.task('test:api-v4:integration', gulp.series('test:prepare:mongo', done => {
const runner = exec(
testBin('istanbul cover --dir coverage/api-v4-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v4 --recursive --require ./test/helpers/start-server'),
{ maxBuffer: 500 * 1024 },
@@ -219,7 +226,7 @@ gulp.task('test:api-v4:integration', done => {
);
pipe(runner);
});
}));
gulp.task('test:api-v4:integration:separate-server', done => {
const runner = exec(
@@ -231,11 +238,16 @@ gulp.task('test:api-v4:integration:separate-server', done => {
pipe(runner);
});
gulp.task('test:api:unit', gulp.series(
'test:prepare:mongo',
'test:api:unit:run',
done => done(),
));
gulp.task('test', gulp.series(
'test:sanity',
'test:content',
'test:common',
'test:prepare:mongo',
'test:api:unit:run',
'test:api-v3:integration',
'test:api-v4:integration',
@@ -243,14 +255,7 @@ gulp.task('test', gulp.series(
));
gulp.task('test:api-v3', gulp.series(
'test:prepare:mongo',
'test:api:unit:run',
'test:api:unit',
'test:api-v3:integration',
done => done(),
));
gulp.task('test:api:unit', gulp.series(
'test:prepare:mongo',
'test:api:unit:run',
done => done(),
));

2130
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -30,7 +30,7 @@
"express-basic-auth": "^1.1.5",
"express-validator": "^5.2.0",
"glob": "^7.1.6",
"got": "^11.3.0",
"got": "^11.5.0",
"gulp": "^4.0.0",
"gulp-babel": "^8.0.0",
"gulp-imagemin": "^7.1.0",
@@ -43,15 +43,15 @@
"js2xmlparser": "^4.0.1",
"jsonwebtoken": "^8.5.1",
"jwks-rsa": "^1.8.1",
"lodash": "^4.17.15",
"lodash": "^4.17.19",
"merge-stream": "^2.0.0",
"method-override": "^3.0.0",
"moment": "^2.27.0",
"moment-recur": "^1.0.7",
"mongoose": "^5.9.20",
"mongoose": "^5.9.23",
"morgan": "^1.10.0",
"nconf": "^0.10.0",
"node-gcm": "^1.0.2",
"node-gcm": "^1.0.3",
"on-headers": "^1.0.2",
"passport": "^0.4.1",
"passport-facebook": "^3.0.0",
@@ -66,7 +66,7 @@
"short-uuid": "^3.0.0",
"stripe": "^7.15.0",
"superagent": "^5.3.1",
"universal-analytics": "^0.4.17",
"universal-analytics": "^0.4.23",
"useragent": "^2.1.9",
"uuid": "^8.2.0",
"validator": "^13.1.1",
@@ -102,6 +102,7 @@
"client:unit": "cd website/client && npm run test:unit",
"start": "gulp nodemon",
"debug": "gulp nodemon --inspect",
"mongo:dev": "run-rs -v 4.2.8 -l ubuntu1804 --keep --dbpath mongodb-data --number 1 --quiet",
"postinstall": "gulp build && cd website/client && npm install",
"apidoc": "gulp apidoc"
},
@@ -110,11 +111,13 @@
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"chalk": "^4.1.0",
"cross-spawn": "^7.0.3",
"expect.js": "^0.3.1",
"istanbul": "^1.1.0-alpha.1",
"mocha": "^5.1.1",
"monk": "^7.3.0",
"require-again": "^2.0.0",
"run-rs": "^0.6.2",
"sinon": "^9.0.2",
"sinon-chai": "^3.5.0",
"sinon-stub-promise": "^4.0.0"

View File

@@ -0,0 +1,50 @@
import os from 'os';
import nconf from 'nconf';
import requireAgain from 'require-again';
const pathToMongoLib = '../../../../website/server/libs/mongodb';
describe('mongodb', () => {
afterEach(() => {
sandbox.restore();
});
describe('getDevelopmentConnectionUrl', () => {
it('returns the original connection url if not on windows', () => {
sandbox.stub(os, 'platform').returns('linux');
const mongoLibOverride = requireAgain(pathToMongoLib);
const originalString = 'mongodb://localhost:3030';
const string = mongoLibOverride.getDevelopmentConnectionUrl(originalString);
expect(string).to.equal(originalString);
});
it('replaces localhost with hostname on windows', () => {
sandbox.stub(os, 'platform').returns('win32');
sandbox.stub(os, 'hostname').returns('hostname');
const mongoLibOverride = requireAgain(pathToMongoLib);
const originalString = 'mongodb://localhost:3030';
const string = mongoLibOverride.getDevelopmentConnectionUrl(originalString);
expect(string).to.equal('mongodb://hostname:3030');
});
});
describe('getDefaultConnectionOptions', () => {
it('returns development config when IS_PROD is false', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(false);
const mongoLibOverride = requireAgain(pathToMongoLib);
const options = mongoLibOverride.getDefaultConnectionOptions();
expect(options).to.have.all.keys(['useNewUrlParser', 'useUnifiedTopology']);
});
it('returns production config when IS_PROD is true', () => {
sandbox.stub(nconf, 'get').withArgs('IS_PROD').returns(true);
const mongoLibOverride = requireAgain(pathToMongoLib);
const options = mongoLibOverride.getDefaultConnectionOptions();
expect(options).to.have.all.keys(['useNewUrlParser', 'useUnifiedTopology', 'keepAlive', 'keepAliveInitialDelay']);
});
});
});

View File

@@ -21,7 +21,7 @@ describe('cors middleware', () => {
expect(res.set).to.have.been.calledWith({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS,GET,POST,PUT,HEAD,DELETE',
'Access-Control-Allow-Headers': 'Content-Type,Accept,Content-Encoding,X-Requested-With,x-api-user,x-api-key,x-client',
'Access-Control-Allow-Headers': 'Authorization,Content-Type,Accept,Content-Encoding,X-Requested-With,x-api-user,x-api-key,x-client',
});
expect(res.sendStatus).to.not.have.been.called;
expect(next).to.have.been.calledOnce;
@@ -33,7 +33,7 @@ describe('cors middleware', () => {
expect(res.set).to.have.been.calledWith({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS,GET,POST,PUT,HEAD,DELETE',
'Access-Control-Allow-Headers': 'Content-Type,Accept,Content-Encoding,X-Requested-With,x-api-user,x-api-key,x-client',
'Access-Control-Allow-Headers': 'Authorization,Content-Type,Accept,Content-Encoding,X-Requested-With,x-api-user,x-api-key,x-client',
});
expect(res.sendStatus).to.have.been.calledWith(200);
expect(next).to.not.have.been.called;

View File

@@ -35,6 +35,33 @@ describe('Challenge Model', () => {
notes: 'test notes',
},
};
const tasks2ToTest = {
habit: {
text: 'test habit 2',
type: 'habit',
up: false,
down: true,
notes: 'test notes',
},
todo: {
text: 'test todo 2',
type: 'todo',
notes: 'test notes',
},
daily: {
text: 'test daily 2',
type: 'daily',
frequency: 'daily',
everyX: 5,
startDate: new Date(),
notes: 'test notes',
},
reward: {
text: 'test reward 2',
type: 'reward',
notes: 'test notes',
},
};
beforeEach(async () => {
guild = new Group({
@@ -146,6 +173,60 @@ describe('Challenge Model', () => {
expect(syncedTask.attribute).to.eql('str');
});
it('should add challenge tag back to user upon syncing challenge tasks to a user with challenge tag removed', async () => {
await challenge.addTasks([task]);
const newMember = new User({
guilds: [guild._id],
});
await newMember.save();
await challenge.syncTasksToUser(newMember);
let updatedNewMember = await User.findById(newMember._id).exec();
const updatedNewMemberId = updatedNewMember._id;
updatedNewMember.tags = [];
await updatedNewMember.save();
const taskValue2 = tasks2ToTest[taskType];
const task2 = new Tasks[`${taskType}`](Tasks.Task.sanitize(taskValue2));
task2.challenge.id = challenge._id;
await challenge.addTasks([task2]);
await challenge.syncTasksToUser(updatedNewMember);
updatedNewMember = await User.findById(updatedNewMemberId).exec();
expect(updatedNewMember.tags.length).to.equal(1);
expect(updatedNewMember.tags[0].id).to.equal(challenge._id);
expect(updatedNewMember.tags[0].name).to.equal(challenge.shortName);
});
it('should not add a duplicate challenge tag to user upon syncing challenge tasks to a user with existing challenge tag', async () => {
await challenge.addTasks([task]);
const newMember = new User({
guilds: [guild._id],
});
await newMember.save();
await challenge.syncTasksToUser(newMember);
let updatedNewMember = await User.findById(newMember._id).exec();
const updatedNewMemberId = updatedNewMember._id;
const taskValue2 = tasks2ToTest[taskType];
const task2 = new Tasks[`${taskType}`](Tasks.Task.sanitize(taskValue2));
task2.challenge.id = challenge._id;
await challenge.addTasks([task2]);
await challenge.syncTasksToUser(updatedNewMember);
updatedNewMember = await User.findById(updatedNewMemberId);
expect(updatedNewMember.tags.length).to.equal(8);
expect(updatedNewMember.tags[7].id).to.equal(challenge._id);
expect(updatedNewMember.tags[7].name).to.equal(challenge.shortName);
expect(updatedNewMember.tags.filter(tag => tag.id === challenge._id).length).to.equal(1);
});
it('syncs challenge tasks to a user with the existing task', async () => {
await challenge.addTasks([task]);

View File

@@ -203,6 +203,16 @@ describe('POST /group/:groupId/join', () => {
await expect(invitedUser.get('/user')).to.eventually.have.nested.property('party._id', party._id);
});
it('Issue #12291: accepting a redundant party invite will let the user stay in the party', async () => {
await invitedUser.update({
'party._id': party._id,
});
await expect(invitedUser.get('/user')).to.eventually.have.nested.property('party._id', party._id);
await invitedUser.post(`/groups/${party._id}/join`);
await expect(invitedUser.get('/user')).to.eventually.have.nested.property('party._id', party._id);
});
it('notifies inviting user that their invitation was accepted', async () => {
await invitedUser.post(`/groups/${party._id}/join`);

View File

@@ -41,6 +41,29 @@ describe('POST /user/feed/:pet/:food', () => {
expect(user.items.pets['Wolf-Base']).to.equal(7);
});
it('bulk feeding pet with non-preferred food', async () => {
await user.update({
'items.pets.Wolf-Base': 5,
'items.food.Milk': 3,
});
const food = content.food.Milk;
const pet = content.petInfo['Wolf-Base'];
const res = await user.post('/user/feed/Wolf-Base/Milk?amount=2');
await user.sync();
expect(res).to.eql({
data: user.items.pets['Wolf-Base'],
message: t('messageDontEnjoyFood', {
egg: pet.text(),
foodText: food.textThe(),
}),
});
expect(user.items.food.Milk).to.eql(1);
expect(user.items.pets['Wolf-Base']).to.equal(9);
});
context('sending user activity webhooks', () => {
before(async () => {
await server.start();
@@ -77,5 +100,33 @@ describe('POST /user/feed/:pet/:food', () => {
expect(body.pet).to.eql('Wolf-Base');
expect(body.message).to.eql(res.message);
});
it('sends user activity webhook (mount raised after full bulk feeding)', async () => {
const uuid = generateUUID();
await user.post('/user/webhook', {
url: `http://localhost:${server.port}/webhooks/${uuid}`,
type: 'userActivity',
enabled: true,
options: {
mountRaised: true,
},
});
await user.update({
'items.pets.Wolf-Base': 47,
'items.food.Milk': 3,
});
const res = await user.post('/user/feed/Wolf-Base/Milk?amount=2');
await sleep();
const body = server.getWebhookData(uuid);
expect(user.achievements.allYourBase).to.not.equal(true);
expect(body.type).to.eql('mountRaised');
expect(body.pet).to.eql('Wolf-Base');
expect(body.message).to.eql(res.message);
});
});
});

View File

@@ -127,19 +127,26 @@ describe('PUT /user/webhook/:id', () => {
it('can update taskActivity options', async () => {
const type = 'taskActivity';
const options = {
checklistScored: true,
updated: false,
deleted: true,
scored: false,
};
const webhook = await user.put(`/user/webhook/${webhookToUpdate.id}`, { type, options });
expect(webhook.options).to.eql({
checklistScored: false, // starting value
const expected = {
checklistScored: true,
created: true, // starting value
updated: false,
deleted: true,
scored: true, // default value
});
deleted: false, // starting value
scored: false,
};
const returnedWebhook = await user.put(`/user/webhook/${webhookToUpdate.id}`, { type, options });
await user.sync();
const savedWebhook = user.webhooks.find(hook => webhookToUpdate.id === hook.id);
expect(returnedWebhook.options).to.eql(expected);
expect(savedWebhook.options).to.eql(expected);
});
it('errors if taskActivity option is not a boolean', async () => {

View File

@@ -113,6 +113,30 @@ describe('shared.ops.feed', () => {
done();
}
});
it('does not allow bulk-feeding query amount above food owned', done => {
user.items.pets['Wolf-Base'] = 5;
user.items.food.Meat = 6;
try {
feed(user, { params: { pet: 'Wolf-Base', food: 'Meat' }, query: { amount: 8 } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('notEnoughFood'));
done();
}
});
it('does not allow bulk-over-feeding pet', done => {
user.items.pets['Wolf-Base'] = 45;
user.items.food.Meat = 3;
try {
feed(user, { params: { pet: 'Wolf-Base', food: 'Meat' }, query: { amount: 2 } });
} catch (err) {
expect(err).to.be.an.instanceof(NotAuthorized);
expect(err.message).to.equal(i18n.t('tooMuchFood'));
done();
}
});
});
context('successful feeding', () => {
@@ -188,6 +212,61 @@ describe('shared.ops.feed', () => {
expect(user.items.pets['Wolf-Base']).to.equal(7);
});
it('evolves the pet into a mount when feeding user.items.pets[pet] >= 50 preferred food (bulk)', () => {
user.items.pets['Wolf-Base'] = 5;
user.items.food.Meat = 10;
user.items.currentPet = 'Wolf-Base';
const pet = content.petInfo['Wolf-Base'];
const [data, message] = feed(user, { params: { pet: 'Wolf-Base', food: 'Meat' }, query: { amount: 9 } });
expect(data).to.eql(user.items.pets['Wolf-Base']);
expect(message).to.eql(i18n.t('messageEvolve', {
egg: pet.text(),
}));
expect(user.items.food.Meat).to.equal(1);
expect(user.items.pets['Wolf-Base']).to.equal(-1);
expect(user.items.mounts['Wolf-Base']).to.equal(true);
expect(user.items.currentPet).to.equal('');
});
it('evolves the pet into a mount when feeding user.items.pets[pet] >= 50 wrong food (bulk)', () => {
user.items.pets['Wolf-Base'] = 5;
user.items.food.Milk = 25;
user.items.currentPet = 'Wolf-Base';
const pet = content.petInfo['Wolf-Base'];
const [data, message] = feed(user, { params: { pet: 'Wolf-Base', food: 'Milk' }, query: { amount: 23 } });
expect(data).to.eql(user.items.pets['Wolf-Base']);
expect(message).to.eql(i18n.t('messageEvolve', {
egg: pet.text(),
}));
expect(user.items.food.Milk).to.equal(2);
expect(user.items.pets['Wolf-Base']).to.equal(-1);
expect(user.items.mounts['Wolf-Base']).to.equal(true);
expect(user.items.currentPet).to.equal('');
});
it('does not like the food (bulk low food) ', () => {
user.items.pets['Wolf-Base'] = 5;
user.items.food.Milk = 5;
const food = content.food.Milk;
const pet = content.petInfo['Wolf-Base'];
const [data, message] = feed(user, { params: { pet: 'Wolf-Base', food: 'Milk' }, query: { amount: 5 } });
expect(data).to.eql(user.items.pets['Wolf-Base']);
expect(message).to.eql(i18n.t('messageDontEnjoyFood', {
egg: pet.text(),
foodText: food.textThe(),
}));
expect(user.items.food.Milk).to.equal(0);
expect(user.items.pets['Wolf-Base']).to.equal(15);
});
it('awards All Your Base achievement', () => {
user.items.pets['Wolf-Spooky'] = 5;
user.items.food.Milk = 2;

View File

@@ -5,9 +5,9 @@
"requires": true,
"dependencies": {
"@amplitude/ua-parser-js": {
"version": "0.7.20",
"resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.20.tgz",
"integrity": "sha512-bmW++BLt1Hg+4HCExLXP+0Jhgy2eTsEevqkVc5o4yYbgwdP/gV3gEQXzyVrMVlWWNLgph/tFIkf5PVlSpCELEg=="
"version": "0.7.24",
"resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.24.tgz",
"integrity": "sha512-VbQuJymJ20WEw0HtI2np7EdC3NJGUWi8+Xdbc7uk8WfMIF308T0howpzkQ3JFMN7ejnrcSM/OyNGveeE3TP3TA=="
},
"@babel/code-frame": {
"version": "7.5.5",
@@ -5859,11 +5859,11 @@
"integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
},
"amplitude-js": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-6.2.0.tgz",
"integrity": "sha512-l+00XubD0ZJHcWUBMzV6JrtXs1JhsqO/qGoDbYLtljtgup/cCclOAuirwQJMtYLRP6vEmstGjZtq1Ew9nWnzug==",
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-7.1.0.tgz",
"integrity": "sha512-X2Jf4piKGhoPcGow1AZAw73s5tzP6OZLiUkLsnus6Mrx7zZwmCsxIuvhzB8VRnNGUE71m1zemSu0gEmf8A4qnw==",
"requires": {
"@amplitude/ua-parser-js": "0.7.20",
"@amplitude/ua-parser-js": "0.7.24",
"blueimp-md5": "^2.10.0",
"query-string": "5"
},
@@ -13253,9 +13253,9 @@
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
"version": "4.17.19",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
"integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ=="
},
"lodash.debounce": {
"version": "4.0.8",
@@ -17161,9 +17161,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sass": {
"version": "1.26.9",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.26.9.tgz",
"integrity": "sha512-t8AkRVi+xvba4yZiLWkJdgJHBFCB3Dh4johniQkPy9ywkgFHNasXFEFP+RG/F6LhQ+aoE4aX+IorIWQjS0esVw==",
"version": "1.26.10",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.26.10.tgz",
"integrity": "sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==",
"requires": {
"chokidar": ">=2.0.0 <4.0.0"
}
@@ -19791,9 +19791,9 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw=="
},
"vuedraggable": {
"version": "2.23.2",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.23.2.tgz",
"integrity": "sha512-PgHCjUpxEAEZJq36ys49HfQmXglattf/7ofOzUrW2/rRdG7tu6fK84ir14t1jYv4kdXewTEa2ieKEAhhEMdwkQ==",
"version": "2.24.0",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.0.tgz",
"integrity": "sha512-IlslPpc+iZ2zPNSJbydFZIDrE+don5u+Nc/bjT2YaF+Azidc+wxxJKfKT0NwE68AKk0syb0YbZneAcnynqREZQ==",
"requires": {
"sortablejs": "^1.10.1"
}

View File

@@ -24,7 +24,7 @@
"@vue/cli-plugin-unit-mocha": "^4.4.6",
"@vue/cli-service": "^4.4.6",
"@vue/test-utils": "1.0.0-beta.29",
"amplitude-js": "^6.2.0",
"amplitude-js": "^7.1.0",
"axios": "^0.19.2",
"axios-progress-bar": "^1.2.0",
"babel-eslint": "^10.1.0",
@@ -41,10 +41,10 @@
"inspectpack": "^4.5.2",
"intro.js": "^2.9.3",
"jquery": "^3.5.1",
"lodash": "^4.17.15",
"lodash": "^4.17.19",
"moment": "^2.27.0",
"nconf": "^0.10.0",
"sass": "^1.26.9",
"sass": "^1.26.10",
"sass-loader": "^8.0.2",
"smartbanner.js": "^1.16.0",
"svg-inline-loader": "^0.8.2",
@@ -58,7 +58,7 @@
"vue-mugen-scroll": "^0.2.6",
"vue-router": "^3.3.4",
"vue-template-compiler": "^2.6.11",
"vuedraggable": "^2.23.2",
"vuedraggable": "^2.24.0",
"vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#5d237615463a84a23dd6f3f77c6ab577d68593ec",
"webpack": "^4.43.0"
}

View File

@@ -369,7 +369,6 @@ export default {
const isApiCall = url.indexOf('api/v4') !== -1;
const userV = response.data && response.data.userV;
const isCron = url.indexOf('/api/v4/cron') === 0 && method === 'post';
if (this.isUserLoaded && isApiCall && userV) {
const oldUserV = this.user._v;
@@ -381,9 +380,14 @@ export default {
// exclude chat seen requests because with real time chat they would be too many
const isChatSeen = url.indexOf('/chat/seen') !== -1 && method === 'post';
// exclude POST /api/v4/cron because the user is synced automatically after cron runs
const isCron = url.indexOf('/api/v4/cron') === 0 && method === 'post';
// exclude skills casting as they already return the synced user
const isCast = url.indexOf('/api/v4/user/class/cast') !== -1 && method === 'post';
// Something has changed on the user object that was not tracked here, sync the user
if (userV - oldUserV > 1 && !isCron && !isChatSeen && !isUserSync && !isTasksSync) {
if (
userV - oldUserV > 1 && !isCron && !isChatSeen && !isUserSync && !isTasksSync && !isCast
) {
Promise.all([
this.$store.dispatch('user:fetch', { forceLoad: true }),
this.$store.dispatch('tasks:fetchUserTasks', { forceLoad: true }),

View File

@@ -521,9 +521,12 @@ export default {
categories () {
if (this.shop.categories) {
this.shop.categories.forEach(category => {
this.$set(this.viewOptions, category.identifier, {
selected: false,
});
// do not reset the viewOptions if already set once
if (typeof this.viewOptions[category.identifier] === 'undefined') {
this.$set(this.viewOptions, category.identifier, {
selected: false,
});
}
});
return this.shop.categories;

View File

@@ -379,9 +379,12 @@ export default {
normalGroups.push(setCategory);
normalGroups.forEach(category => {
this.$set(this.viewOptions, category.identifier, {
selected: false,
});
// do not reset the viewOptions if already set once
if (typeof this.viewOptions[category.identifier] === 'undefined') {
this.$set(this.viewOptions, category.identifier, {
selected: false,
});
}
});
return normalGroups;

View File

@@ -137,6 +137,11 @@ export default {
targetId,
pinType: spell.pinType,
});
if (apiResult.data.data.user) {
Object.assign(this.$store.state.user.data, apiResult.data.data.user);
}
let msg = '';
switch (type) {
@@ -166,12 +171,6 @@ export default {
break;
}
if (spell.pinType === 'card') {
const newUserGp = apiResult.data.data.user.stats.gp;
this.$store.state.user.data.stats.gp = newUserGp;
}
this.markdown(msg); // @TODO: mardown directive?
const questProgress = this.questProgress() - beforeQuestProgress;

View File

@@ -656,6 +656,7 @@ export default {
backer: data.backer,
contributor: data.contributor,
userStyles: data.userStyles,
canReceive: true,
};
this.$store.state.privateMessageOptions = {};
@@ -896,6 +897,7 @@ export default {
username: this.user.auth.local.username,
contributor: this.user.contributor,
backer: this.user.backer,
canReceive: true,
});
// Remove the placeholder message

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Bought <%= itemText %>",
"messageEquipped": "<%= itemText %> equipped.",
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "You're missing either that egg or that potion",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Bought <%= itemText %>",
"messageEquipped": "<%= itemText %> equipped.",
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "You're missing either that egg or that potion",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -156,7 +156,7 @@
"backgroundDeepMineNotes": "اعثر علي معادن ثمينة من المنغم الغويط",
"backgroundRainforestText": "الغابة الإستوائية",
"backgroundRainforestNotes": "إستكشف الغابة الإستوائية",
"backgroundStoneCircleText": "دائرة الحجر ",
"backgroundStoneCircleText": "دائرة الحجر",
"backgroundStoneCircleNotes": "ألقي تعويذة في دائرة الحجر",
"backgrounds042016": "طقم 23: صدر في أبريل 2016",
"backgroundArcheryRangeText": "مدى الرماية بالأسهم",
@@ -200,7 +200,7 @@
"backgroundFarmhouseNotes": "قل مرحبا للحيوانات في طريقك إلى البيت الريفي.",
"backgroundOrchardText": "بستان",
"backgroundOrchardNotes": "اقطف فاكهة ناضجة من البستان.",
"backgrounds102016": " طقم 29: صدر في أكتوبر 2016",
"backgrounds102016": "طقم 29: صدر في أكتوبر 2016",
"backgroundSpiderWebText": "شبكة عنكبوت",
"backgroundSpiderWebNotes": "اعلق في شبكة عنكبوت",
"backgroundStrangeSewersText": "مجاري غريبة",
@@ -227,7 +227,7 @@
"backgroundRedNotes": "خلفية حمراء خطيرة.",
"backgroundYellowText": "أصفر",
"backgroundYellowNotes": "خلفية صفراء لذيذة.",
"backgrounds122016": " طقم 31: صدر فى ديسمبر 2016",
"backgrounds122016": "طقم 31: صدر فى ديسمبر 2016",
"backgroundShimmeringIcePrismText": "بلورات الثلج المتلألئة",
"backgroundShimmeringIcePrismNotes": "الرقص خلال بلورات الثلج المتلألئة.",
"backgroundWinterFireworksText": "ألعاب نارية لفصل الشتاء",
@@ -241,7 +241,7 @@
"backgroundSparklingSnowflakeNotes": "تزلق على ندفة ثلج متلألئة.",
"backgroundStoikalmVolcanoesText": "براكين ستويكالم",
"backgroundStoikalmVolcanoesNotes": "استكشف براكين ستويكالم.",
"backgrounds022017": " طقم 33: صدر في فبراير 2017",
"backgrounds022017": "طقم 33: صدر في فبراير 2017",
"backgroundBellTowerText": "برج الجرس",
"backgroundBellTowerNotes": "تسلق برج الجرس.",
"backgroundTreasureRoomText": "غرفة الكنز",
@@ -262,7 +262,7 @@
"backgroundGiantBirdhouseNotes": "إجثم في العش الضخم.",
"backgroundMistShroudedMountainText": "الجبل الضبابي",
"backgroundMistShroudedMountainNotes": "اصعد قمة الجبل الضبابي.",
"backgrounds052017": " طقم 36: صدر في مايو 2017",
"backgrounds052017": "طقم 36: صدر في مايو 2017",
"backgroundGuardianStatuesText": "تمثال القيم",
"backgroundGuardianStatuesNotes": "قف معترضاً اما تمثال القيم.",
"backgroundHabitCityStreetsText": "شوارع مدينة العادة",
@@ -276,35 +276,35 @@
"backgroundOceanSunriseNotes": "تعجب من شروق المحيط.",
"backgroundSandcastleText": "قلعة رملية",
"backgroundSandcastleNotes": "احكم قلعة رملية.",
"backgrounds072017": " طقم 38: صدر في يوليو 2017",
"backgrounds072017": "طقم 38: صدر في يوليو 2017",
"backgroundGiantSeashellText": "صدفة بحر عملاقة",
"backgroundGiantSeashellNotes": "استلقِ في صدفة بحر عملاقة.",
"backgroundKelpForestText": "غابة عشب البحر",
"backgroundKelpForestNotes": "اسبح خلال غابة عشب البحر.",
"backgroundMidnightLakeText": "بحيرة منتصف الليل",
"backgroundMidnightLakeNotes": "استرخي بجانب بحيرة منتصف الليل.",
"backgrounds082017": " طقم 39: صدر في أغسطس 2017",
"backgrounds082017": "طقم 39: صدر في أغسطس 2017",
"backgroundBackOfGiantBeastText": "ظهر وحش عملاق",
"backgroundBackOfGiantBeastNotes": "اركب على ظهر وحش عملاق",
"backgroundDesertDunesText": "كثبان صحراوية",
"backgroundDesertDunesNotes": "اكتشف كثبان الصحراء بجرأة.",
"backgroundSummerFireworksText": "الالعاب النارية الصيفية",
"backgroundSummerFireworksNotes": "احتفل بيوم تسمية Habitica بالألعاب النارية الصيفية!",
"backgrounds092017": " طقم 40: صدر في سبتمبر 2017",
"backgrounds092017": "طقم 40: صدر في سبتمبر 2017",
"backgroundBesideWellText": "بجانب البئر",
"backgroundBesideWellNotes": " تنزه بجانب بئر.",
"backgroundBesideWellNotes": "تنزه بجانب بئر.",
"backgroundGardenShedText": "سقيفة الحديقة",
"backgroundGardenShedNotes": "إعمل في كوخ الحديقة.",
"backgroundPixelistsWorkshopText": "Pixelist's Workshop",
"backgroundPixelistsWorkshopNotes": "Create masterpieces in the Pixelist's Workshop.",
"backgrounds102017": " طقم 41: صدر في أكتوبر 2017",
"backgrounds102017": "طقم 41: صدر في أكتوبر 2017",
"backgroundMagicalCandlesText": "شموع سحرية",
"backgroundMagicalCandlesNotes": "تدفأ في وهج شموع سحرية.",
"backgroundSpookyHotelText": "قندق مرعب",
"backgroundSpookyHotelNotes": "تسلل قاعة فندق مرعب.",
"backgroundTarPitsText": "حفر قطران",
"backgroundTarPitsNotes": "امش على رؤوس أصابعك في حفر قطران.",
"backgrounds112017": " طقم 42: صدر في نوفمبر 2017",
"backgrounds112017": "طقم 42: صدر في نوفمبر 2017",
"backgroundFiberArtsRoomText": "غرفة فنون الخياطة",
"backgroundFiberArtsRoomNotes": "إعزل النسيج في غرفة فنون الخياطة.",
"backgroundMidnightCastleText": "قلعة منتصف الليل",

View File

@@ -2,7 +2,7 @@
"challenge": "تحدي",
"challengeDetails": "Challenges are community events in which players compete and earn prizes by completing a group of related tasks.",
"brokenChaLink": "رابط التحدي لا يعمل",
"brokenTask": "رابط التحدي معطل: هذة المهمة كانت جزء من التحدي ولكن تم حذفها. ماذا تريد ان تفعل؟ ",
"brokenTask": "رابط التحدي معطل: هذة المهمة كانت جزء من التحدي ولكن تم حذفها. ماذا تريد ان تفعل؟",
"keepIt": "الاحتفاظ به",
"removeIt": "حذفه",
"brokenChallenge": "رابط التحدي لا يعمل: هذه المهمة كانت تتبع لتحد، ولكن تم حذف التحدي (أو المجموعة). ما المراد فعله بالمهمات اليتيمة؟",
@@ -21,7 +21,7 @@
"deleteOrSelect": "حذف أو اختيار الفائز",
"endChallenge": "إنهاء التحدي",
"challengeDiscription": "تلك هى مهمات التحدى التى ستضاف إلى لوحة مهماتك عند انضمامك للتحدى. عَيّنة مهمات التحدى فى الاسفل سوف تغير الألوان وتحصل على رسوم بيانية لتظهر لك التقدم العام للمجموعة.",
"hows": "رؤية ما يعمله المتبقون.",
"hows": "رؤية ما يعمله المتبقون?",
"filter": "ترشيح",
"groups": "المجموعات",
"noNone": "لا شيء",

View File

@@ -125,8 +125,8 @@
"characterBuild": "بنية شخصية",
"class": "فئة",
"experience": "الخبرة",
"warrior": "مقاتلـ/ـة",
"healer": "معالجـ/ـة",
"warrior": "مقاتل/ة",
"healer": "معالج/ة",
"rogue": "وغد",
"mage": "حاوي",
"wizard": "Mage",

View File

@@ -67,7 +67,7 @@
"questEggOwlAdjective": "حكيم",
"questEggPenguinText": "بطريق",
"questEggPenguinMountText": "بطريق",
"questEggPenguinAdjective": " حاد الذّهن‏",
"questEggPenguinAdjective": "حاد الذّهن‏",
"questEggTRexText": "تيرانوصور",
"questEggTRexMountText": "تيرانوصور",
"questEggTRexAdjective": "صغير الذراع",

View File

@@ -31,7 +31,7 @@
"modalContribAchievement": "إنجاز مساهم!",
"contribModal": "<%= name %>, you awesome person! You're now a tier <%= level %> contributor for helping Habitica.",
"contribLink": "See what prizes you've earned for your contribution!",
"contribName": "مساهمـ/ـة",
"contribName": "مساهم/ة",
"contribText": "Has contributed to Habitica, whether via code, art, music, writing, or other methods. To learn more, join the Aspiring Legends Guild!",
"readMore": "قراءة المزيد",
"kickstartName": "Kickstarter Backer - $<%= key %> Tier",
@@ -65,7 +65,7 @@
"tier": "Tier",
"visitHeroes": "زيارة صالة الأبطال (المساهمون والأنصار)",
"conLearn": "<a href='http://habitica.wikia.com/wiki/Contributor_Rewards' target='_blank'>Learn more about contributor rewards</a>",
"conLearnHow": "تعلم كيفية المساهمة لـHabitica",
"conLearnHow": "تعلم كيفية المساهمة لHabitica",
"conLearnURL": "http://habitica.wikia.com/wiki/Contributing_to_Habitica",
"conRewardsURL": "http://habitica.wikia.com/wiki/Contributor_Rewards",
"surveysSingle": "Helped Habitica grow, either by filling out a survey or helping with a major testing effort. Thank you!",

View File

@@ -133,13 +133,13 @@
"weaponSpecialSummerRogueText": "السيف المقوس للقراصنة",
"weaponSpecialSummerRogueNotes": "توقف! ستجعل اليوميات تقفز من لوح الخشب. يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لصيف 2014.",
"weaponSpecialSummerWarriorText": "قطّاع الملاحة البحرية",
"weaponSpecialSummerWarriorNotes": " لا توجد أي مهمة في أي لستة ما-علي-فعله تريد الاعتراض مع هذه السكينة الخشنة. تزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لصيف 2014.",
"weaponSpecialSummerWarriorNotes": "لا توجد أي مهمة في أي لستة ما-علي-فعله تريد الاعتراض مع هذه السكينة الخشنة. تزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لصيف 2014.",
"weaponSpecialSummerMageText": "مصيدة عشب البحر",
"weaponSpecialSummerMageNotes": "يستخدم هذا الترايدنت في نحر طحالب البحر ببراعة، من أجل الحصاد المنتج لأعشاب البحر! يزيد الذكاء بقدر <%= int %> والإدراك بقدر <%= per %>. معدات الطبعة المحدودة لصيف 2014.",
"weaponSpecialSummerHealerText": "عصا المياه الضحلة السحرية",
"weaponSpecialSummerHealerNotes": " هذه العصا السحرية، المكونة من الزبرجد والمرجان الحي، مثيرة جداً للأسماك. تزيد الذكاء بقدر <%= int %>. معدات الطبعة المحدودة لصيف 2014.",
"weaponSpecialSummerHealerNotes": "هذه العصا السحرية، المكونة من الزبرجد والمرجان الحي، مثيرة جداً للأسماك. تزيد الذكاء بقدر <%= int %>. معدات الطبعة المحدودة لصيف 2014.",
"weaponSpecialFallRogueText": "عمود فضي",
"weaponSpecialFallRogueNotes": " يبعد الأموات. أيضاً يمنح قوة زائدة ضد المستذئبين، لأنكم لا تستطيعون أن تكونوا حريصين بما يكفي. يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لخريف 2014.",
"weaponSpecialFallRogueNotes": "يبعد الأموات. أيضاً يمنح قوة زائدة ضد المستذئبين، لأنكم لا تستطيعون أن تكونوا حريصين بما يكفي. يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لخريف 2014.",
"weaponSpecialFallWarriorText": "مخلب العلوم الممسك",
"weaponSpecialFallWarriorNotes": "هذا المخلب الممسك يُعد من أرقى الاختراعات التكنلوجية. يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لخريف 2014.",
"weaponSpecialFallMageText": "مكنسة سحرية",
@@ -153,13 +153,13 @@
"weaponSpecialWinter2015MageText": "قضيب تنور الشتاء",
"weaponSpecialWinter2015MageNotes": "الضوء المشع من هذا القضيب الكرستالي يملأ القلب بهجةً وسروراً يزيد الذكاء بقدر <%= int %> ولاإدراك بقدر <%= per %>. معدات الطبعة المحدودة لشتاء 2014-2015.",
"weaponSpecialWinter2015HealerText": "صولجان ملطف",
"weaponSpecialWinter2015HealerNotes": " معدات الطبعة المحدودة لشتاء 2014-2015.",
"weaponSpecialWinter2015HealerNotes": "معدات الطبعة المحدودة لشتاء 2014-2015.",
"weaponSpecialSpring2015RogueText": "صرير متفجر",
"weaponSpecialSpring2015RogueNotes": " معدات الطبعة المحدودة لربيع 2015.",
"weaponSpecialSpring2015RogueNotes": "معدات الطبعة المحدودة لربيع 2015.",
"weaponSpecialSpring2015WarriorText": "هراوة عظمية",
"weaponSpecialSpring2015WarriorNotes": "هذه هراوة عظمية حقيقية صالحة للكلاب الحقيقية وهي بالتأكيد ليست لعبة مضغ أعطتك إياها ساحرة المواسم لأنك كلبٌ صالح؟ منننن هو كلب صالح؟؟ إنه أنت!!! أنت كلب صالح!!! تزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لربيع 2015.",
"weaponSpecialSpring2015MageText": "عصا الساحر",
"weaponSpecialSpring2015MageNotes": " احضر لنفسك جزرة مع هذه العصا السحرية. تزيد الإدراك بقدر <%= per %>. معدات الطبعة المحدودة لربيع 2015.",
"weaponSpecialSpring2015MageNotes": "احضر لنفسك جزرة مع هذه العصا السحرية. تزيد الإدراك بقدر <%= per %>. معدات الطبعة المحدودة لربيع 2015.",
"weaponSpecialSpring2015HealerText": "خشخاشة قطة",
"weaponSpecialSpring2015HealerNotes": "عندما تهزها، تصنع صوت خشخشة رائع بإمكانه إرضاء أي شخص لساعات. تزيد الذكاء بقدر <%= int %>. معدات الطبعة المحدودة لربيع 2015.",
"weaponSpecialSummer2015RogueText": "مرجان رامي",
@@ -171,15 +171,15 @@
"weaponSpecialSummer2015HealerText": "عصا الأمواج السحرية",
"weaponSpecialSummer2015HealerNotes": "يشفي دوار البحر واشتياق البحر! تزيد الذكاء بقدر <%= int %>. معدات الطبعة المحدودة لصيف 2015.",
"weaponSpecialFall2015RogueText": "فأس حرب",
"weaponSpecialFall2015RogueNotes": " معدات الطبعة المحدودة لخريف 2015.",
"weaponSpecialFall2015RogueNotes": "معدات الطبعة المحدودة لخريف 2015.",
"weaponSpecialFall2015WarriorText": "لوح خشبي",
"weaponSpecialFall2015WarriorNotes": " معدات الطبعة المحدودة لخريف 2015.",
"weaponSpecialFall2015WarriorNotes": "معدات الطبعة المحدودة لخريف 2015.",
"weaponSpecialFall2015MageText": "خيط سحري",
"weaponSpecialFall2015MageNotes": " معدات الطبعة المحدودة لخريف 2015.",
"weaponSpecialFall2015MageNotes": "معدات الطبعة المحدودة لخريف 2015.",
"weaponSpecialFall2015HealerText": "جرعة وحل المستنقع",
"weaponSpecialFall2015HealerNotes": "معتقة إلى درجة مثالية. والآن فقط عليكم الاقتناع بشربهاز تزيد الذكاء بقدر <%= int %>. معدات الطبعة المحدودة لخريف 2015.",
"weaponSpecialWinter2016RogueText": "كوب الكاكاو الحارة",
"weaponSpecialWinter2016RogueNotes": " شرابٌ مُدفئ، أم قذيفة حارقة؟ أنت الذي تختار... يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لشتاء 2015-2016.",
"weaponSpecialWinter2016RogueNotes": "شرابٌ مُدفئ، أم قذيفة حارقة؟ أنت الذي تختار... يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لشتاء 2015-2016.",
"weaponSpecialWinter2016WarriorText": "مجرفة ثابتة",
"weaponSpecialWinter2016WarriorNotes": "اجرف المهمات المهملة بعيداً عن الطريق! تزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لشتاء 2015-2016.",
"weaponSpecialWinter2016MageText": "لوحة تزلج مسحورة",
@@ -1445,7 +1445,7 @@
"shieldArmoireGladiatorShieldText": "Gladiator Shield",
"shieldArmoireGladiatorShieldNotes": "لكي تكون مجالداً يجب عليك أن.... ها، أي شيء، اضربهم بدرعك. يزيد البنية الجسدية بقدر <%= con %> والقوة بقدر <%= str %>. الدولاب المسحور: طقم الجلاد (غرض 3 من 3).",
"shieldArmoireMidnightShieldText": "Midnight Shield",
"shieldArmoireMidnightShieldNotes": " هذا الدرع يتمتع بأقصى قوته عند منتصف الليل! يزيد البنية الجسدية بقدر <%= con %> والقوة بقدر <%= str %>. الصندوق المسحر: غرض مستقل.",
"shieldArmoireMidnightShieldNotes": "هذا الدرع يتمتع بأقصى قوته عند منتصف الليل! يزيد البنية الجسدية بقدر <%= con %> والقوة بقدر <%= str %>. الصندوق المسحر: غرض مستقل.",
"shieldArmoireRoyalCaneText": "خيزران ملكي",
"shieldArmoireRoyalCaneNotes": "يا هلا بالحاكم، الذي يستحق الشعرأم يكتب في حقه! يزيد كل من البنية الجسدية، والذكاء، والإدراك بقدر <%= attrs %>. الدولاب المسحور: الطقم الملكي (غرض 2 من 3).",
"shieldArmoireDragonTamerShieldText": "درقة مروض النتين",

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -1,34 +1,33 @@
{
"habiticaBackSoon": "لا تقلق، سوف يعود Habitica قريباً!",
"importantMaintenance": "اننا نقوم بصيانة مهمة ونحن نقدرأن تستمر حتى 10 مساءاً (5 صباحا بتوقيت UTC)",
"maintenance": "الصيانة",
"maintenanceMoreInfo": "هل تريد المزيد من المعلومات حول صيانة؟ <%= linkStart %>تفحص صفحة معلومات<%= linkEnd %>.",
"noDamageKeepStreaks": "You will NOT take damage or lose streaks!",
"thanksForPatience": "شكرا على صبرك!",
"twitterMaintenanceUpdates": "لأخر التحديثات, شاهد<a href='https://twitter.com/habitica'>تويتر</a>, المكان الذي ننشر فيه معلومات التحديثات.",
"veteranPetAward": "في النهاية سوف تحصل على حيوان أليف متمرس!",
"maintenanceInfoTitle": علومات عن صيانة Habitica القادمة",
"maintenanceInfoWhat": "مالذي حدث؟",
"maintenanceInfoWhatText": "On May 21, Habitica will be down for maintenance for most of the day. You will not take any damage or have your account harmed during that weekend, even if you cant log in to check off your Dailies in time! We will be working very hard to make the downtime as short as possible, and will be posting regular updates on <a href='https://twitter.com/habitica' target='_blank'>our Twitter account</a>. At the end of the downtime, to thank everyone for their patience, you will all receive a rare pet!",
"maintenanceInfoWhy": "ما الذي حدث؟",
"maintenanceInfoWhyText": "خلال الأشهر العديدة الماضية أجرينا إصلاحًا شاملًا لـHabitica خلف الكواليس، لقد أعدنا كتابة الـAPI على وجه الخصوص. في حين أنه قد لا يبدو مختلفاً كثيراً من الخارج إلا أنه عالم جديد تمامًا من تحت. سيتيح لنا هذا المزيد من المرونة عندما نريد بناء ميزات في المستقبل، وسيؤدي إلى أداء أفضل!",
"maintenanceInfoTechDetails": "تريد المزيد من التفاصيل عن الجانب الفني من العملية؟ قم بزيارة <a href='http://devs.habitica.com/' target='_blank'>The Forge مدونة التطورات الخاصة بنا</a>.",
"maintenanceInfoMore": "المزيد من المعلومات",
"maintenanceInfoAccountChanges": "ما هي التغييرات التي سوف أراها على حسابي بعد إنتهاء اعادة الكتابة؟",
"maintenanceInfoAccountChangesText": "At first, there wont be any notable changes aside from performance improvements for features such as Challenges. If you notice any changes that shouldnt be there, email us at <%= hrefTechAssistanceEmail %> and we will investigate them for you!",
"maintenanceInfoAddFeatures": "ما هي أنواع المميزات التي سيسمح لـHabitica بإضافتها؟",
"maintenanceInfoAddFeaturesText": "Completing this rewrite will allow us to start building out improved chat and Guilds, plans for organizations and families, and additional productivity features like Monthlies and the ability to record yesterdays activity! Those are all involved features on their own, so it will take time to build them, but until we were finished with this rewrite, there was no way we could start them.",
"maintenanceInfoHowLong": "كم ستستغرق الصيانة؟",
"maintenanceInfoHowLongText": "يجب علينا نقل المهام والبيانات لجميع مستخدمي Habitica البالغ عددهم ١،٣ مليون شخص - ليست مهمة سهلة! نتوقع أن يتم ذلك تقريباً ما بين الساعة الواحدة ظهراً بتوقيت المحيط الهادئ (الساعة ٨ مساءاً بتوقيت UTC) و١٠ مساءاً بتوقيت المحيط الهادئ (الساعة ٥ صباحاً بتوقيت UTC). كن مطمئناً أننا نبذل كل ما في وسعنا لجعله يسير في أسرع وقت ممكن! يمكنك متابعة <a href='https://twitter.com/habitica' target='_blank'>التحديثات على حساب تويتر الخاص بنا</a>.",
"maintenanceInfoStatsAffected": "How will my Dailies, Streaks, Buffs, and Quests be affected?",
"maintenanceInfoStatsAffectedText1": "You will NOT take any damage or lose any streaks that weekend, but otherwise, your day will reset normally! Dailies that you checked will become unchecked, buffs will reset, etc. If you are in a Collection Quest, you will still find items. If you are in a Boss Battle, you will still deal damage to the Boss, but the Boss will not deal damage to you. (Even monsters need a break!)",
"maintenanceInfoStatsAffectedText2": "After a lot of thought, our team concluded that this was the most fair way to handle the fact that many users will not be able to check off their Dailies normally during the maintenance. Were sorry for any inconvenience this causes!",
"maintenanceInfoSeeTasks": "ماذا لو كنت بحاجة لرؤية قائمة المهام الخاصة بي؟",
"maintenanceInfoSeeTasksText": "إذا كنت تعلم أنك ستحتاج إلى رؤية قائمة المهام الخاصة بك يوم السبت لتذكير نفسك بما يجب عليك القيام به، فنحن نوصي قبل بدء الصيانة بأخذ لقطة شاشة لمهامك بحيث يمكنك استخدامها كمرجع.",
"maintenanceInfoRarePet": "أي نوع من الحيوانات الأليفة النادرة سوف أتلقى؟",
"maintenanceInfoRarePetText": "لنشكركم على صبركم خلال فترة التوقف، سيحصل الجميع على حيوان نادر متمرس. إذا لم تستلم حيواناً أليفاً متمرساً قط فستحصل على ذئب متمرس. إذا كان لديك بالفعل ذئب متمرس فسوف تتلقى نمراً متمرساً. وإذا كان لديك بالفعل ذئب ونمر قدامى متمرسين فستحصل على حيوان أليف متمرس لم يسبق وأن رآه أحد! بعد اكتمال عملية التحويل قد يستغرق الأمر عدة ساعات حتى يظهر حيوانك الأليف، لكن لا تخف أبدًا، فكل شخص سيحصل على واحدة.",
"maintenanceInfoWho": "من الذي عمل على هذا المشروع الضخم؟",
"maintenanceInfoWhoText": "نحن سعداء لأنك سألت! وقد ترأسها المساهم المذهل لدينا paglias، مع الكثير من المساعدة منBlade ، TheHollidayInn ،SabreCa ،Victor Pudeyev ،TheUnknown، وAlys.",
"maintenanceInfoTesting": "كما تم اختبار الإصدار الجديد بلا كلل من قبل مجموعة من المتطوعين المذهلين في برامج مفتوحة المصدر. شكرًا لكم - لم نكن لنتمكن من فعل هذا بدونكم."
"habiticaBackSoon": "لا تقلق، سوف يعود Habitica قريباً!",
"importantMaintenance": "اننا نقوم بصيانة مهمة ونحن نقدرأن تستمر حتى 10 مساءاً (5 صباحا بتوقيت UTC)",
"maintenance": "الصيانة",
"maintenanceMoreInfo": "هل تريد المزيد من المعلومات حول صيانة؟ <%= linkStart %>تفحص صفحة معلومات<%= linkEnd %>.",
"noDamageKeepStreaks": "You will NOT take damage or lose streaks!",
"thanksForPatience": "شكرا على صبرك!",
"twitterMaintenanceUpdates": "لأخر التحديثات, شاهد<a href='https://twitter.com/habitica'>تويتر</a>, المكان الذي ننشر فيه معلومات التحديثات.",
"veteranPetAward": "في النهاية سوف تحصل على حيوان أليف متمرس!",
"maintenanceInfoTitle": "معلومات عن صيانة Habitica القادمة",
"maintenanceInfoWhat": الذي حدث؟",
"maintenanceInfoWhatText": "On May 21, Habitica will be down for maintenance for most of the day. You will not take any damage or have your account harmed during that weekend, even if you cant log in to check off your Dailies in time! We will be working very hard to make the downtime as short as possible, and will be posting regular updates on <a href='https://twitter.com/habitica' target='_blank'>our Twitter account</a>. At the end of the downtime, to thank everyone for their patience, you will all receive a rare pet!",
"maintenanceInfoWhy": "ما الذي حدث؟",
"maintenanceInfoWhyText": "خلال الأشهر العديدة الماضية أجرينا إصلاحًا شاملًا لHabitica خلف الكواليس، لقد أعدنا كتابة الAPI على وجه الخصوص. في حين أنه قد لا يبدو مختلفاً كثيراً من الخارج إلا أنه عالم جديد تمامًا من تحت. سيتيح لنا هذا المزيد من المرونة عندما نريد بناء ميزات في المستقبل، وسيؤدي إلى أداء أفضل!",
"maintenanceInfoTechDetails": "تريد المزيد من التفاصيل عن الجانب الفني من العملية؟ قم بزيارة <a href='http://devs.habitica.com/' target='_blank'>The Forge مدونة التطورات الخاصة بنا</a>.",
"maintenanceInfoMore": "المزيد من المعلومات",
"maintenanceInfoAccountChanges": "ما هي التغييرات التي سوف أراها على حسابي بعد إنتهاء اعادة الكتابة؟",
"maintenanceInfoAccountChangesText": "At first, there wont be any notable changes aside from performance improvements for features such as Challenges. If you notice any changes that shouldnt be there, email us at <%= hrefTechAssistanceEmail %> and we will investigate them for you!",
"maintenanceInfoAddFeatures": "ما هي أنواع المميزات التي سيسمح لHabitica بإضافتها؟",
"maintenanceInfoAddFeaturesText": "Completing this rewrite will allow us to start building out improved chat and Guilds, plans for organizations and families, and additional productivity features like Monthlies and the ability to record yesterdays activity! Those are all involved features on their own, so it will take time to build them, but until we were finished with this rewrite, there was no way we could start them.",
"maintenanceInfoHowLong": "كم ستستغرق الصيانة؟",
"maintenanceInfoHowLongText": "يجب علينا نقل المهام والبيانات لجميع مستخدمي Habitica البالغ عددهم ١،٣ مليون شخص - ليست مهمة سهلة! نتوقع أن يتم ذلك تقريباً ما بين الساعة الواحدة ظهراً بتوقيت المحيط الهادئ (الساعة ٨ مساءاً بتوقيت UTC) و١٠ مساءاً بتوقيت المحيط الهادئ (الساعة ٥ صباحاً بتوقيت UTC). كن مطمئناً أننا نبذل كل ما في وسعنا لجعله يسير في أسرع وقت ممكن! يمكنك متابعة <a href='https://twitter.com/habitica' target='_blank'>التحديثات على حساب تويتر الخاص بنا</a>.",
"maintenanceInfoStatsAffected": "How will my Dailies, Streaks, Buffs, and Quests be affected?",
"maintenanceInfoStatsAffectedText1": "You will NOT take any damage or lose any streaks that weekend, but otherwise, your day will reset normally! Dailies that you checked will become unchecked, buffs will reset, etc. If you are in a Collection Quest, you will still find items. If you are in a Boss Battle, you will still deal damage to the Boss, but the Boss will not deal damage to you. (Even monsters need a break!)",
"maintenanceInfoStatsAffectedText2": "After a lot of thought, our team concluded that this was the most fair way to handle the fact that many users will not be able to check off their Dailies normally during the maintenance. Were sorry for any inconvenience this causes!",
"maintenanceInfoSeeTasks": "ماذا لو كنت بحاجة لرؤية قائمة المهام الخاصة بي؟",
"maintenanceInfoSeeTasksText": "إذا كنت تعلم أنك ستحتاج إلى رؤية قائمة المهام الخاصة بك يوم السبت لتذكير نفسك بما يجب عليك القيام به، فنحن نوصي قبل بدء الصيانة بأخذ لقطة شاشة لمهامك بحيث يمكنك استخدامها كمرجع.",
"maintenanceInfoRarePet": "أي نوع من الحيوانات الأليفة النادرة سوف أتلقى؟",
"maintenanceInfoRarePetText": "لنشكركم على صبركم خلال فترة التوقف، سيحصل الجميع على حيوان نادر متمرس. إذا لم تستلم حيواناً أليفاً متمرساً قط فستحصل على ذئب متمرس. إذا كان لديك بالفعل ذئب متمرس فسوف تتلقى نمراً متمرساً. وإذا كان لديك بالفعل ذئب ونمر قدامى متمرسين فستحصل على حيوان أليف متمرس لم يسبق وأن رآه أحد! بعد اكتمال عملية التحويل قد يستغرق الأمر عدة ساعات حتى يظهر حيوانك الأليف، لكن لا تخف أبدًا، فكل شخص سيحصل على واحدة.",
"maintenanceInfoWho": "من الذي عمل على هذا المشروع الضخم؟",
"maintenanceInfoWhoText": "نحن سعداء لأنك سألت! وقد ترأسها المساهم المذهل لدينا paglias، مع الكثير من المساعدة منBlade ، TheHollidayInn ،SabreCa ،Victor Pudeyev ،TheUnknown، وAlys.",
"maintenanceInfoTesting": "كما تم اختبار الإصدار الجديد بلا كلل من قبل مجموعة من المتطوعين المذهلين في برامج مفتوحة المصدر. شكرًا لكم - لم نكن لنتمكن من فعل هذا بدونكم."
}

View File

@@ -1,20 +1,14 @@
{
"merch" : "بضائع",
"merchandiseDescription": "هل تبحث عن قمصان أو أكواب أو ملصقات لإظهار فخرك بـHabitica؟ انقر هنا!",
"merch-teespring-summary" : "Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-goto" : "احصل على قميص Habitica",
"merch-teespring-mug-summary" : "Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-mug-goto" : "احصل على كوب Habitica",
"merch-teespring-eu-summary" : "إصدار أوروبي: Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-eu-goto" : "احصل على قميص Habitica (EU)",
"merch-teespring-mug-eu-summary" : "إصدار أوروبي: Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-mug-eu-goto" : "احصل على كوب Habitica (EU)",
"merch-stickermule-summary" : "الصق Melior فخور أينما تكون أنت (أو شخص آخر) بحاجة إلى تذكير بالإنجازات الحالية والمستقبلية!",
"merch-stickermule-goto" : "احصل على ملصقات Habitica"
"merch": "بضائع",
"merchandiseDescription": "هل تبحث عن قمصان أو أكواب أو ملصقات لإظهار فخرك بHabitica؟ انقر هنا!",
"merch-teespring-summary": "Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-goto": "احصل على قميص Habitica",
"merch-teespring-mug-summary": "Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-mug-goto": "احصل على كوب Habitica",
"merch-teespring-eu-summary": "إصدار أوروبي: Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-eu-goto": "احصل على قميص Habitica (EU)",
"merch-teespring-mug-eu-summary": "إصدار أوروبي: Teespring هو نظام أساسي يُسَهل على أي شخص صنع وبيع منتجات عالية الجودة يحبها الناس دون تكلفة أو مخاطرة.",
"merch-teespring-mug-eu-goto": "احصل على كوب Habitica (EU)",
"merch-stickermule-summary": "الصق Melior فخور أينما تكون أنت (أو شخص آخر) بحاجة إلى تذكير بالإنجازات الحالية والمستقبلية!",
"merch-stickermule-goto": "احصل على ملصقات Habitica"
}

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> يحب <%= foodText %> كثيراً!",
"messageDontEnjoyFood": "<%= egg %> يأكل <%= foodText %> ولكنه لا يبدو مستمتعاً.",
"messageBought": "لقد اشتريت <%= itemText %>",
"messageEquipped": "<%= itemText %> equipped.",
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "تفتقد أيًا من تلك البيضة أو جرعة الفقس.",
"messageInvalidEggPotionCombo": "لا يمكنك فقس بيض حيوانات التنقيب مع جرع فقس سحرية! جرب بيضة أخرى.",

View File

@@ -47,13 +47,13 @@
"questHarpyDropParrotEgg": "ببغاء (بيضة)",
"questHarpyUnlockText": "Unlocks purchasable Parrot eggs in the Market",
"questRoosterText": "اهتياج الديك",
"questRoosterNotes": "لسنوات عديدة المزارع extrajordanary@ قد استخدم الديكة كمنبه. ولكن الآن فإن ديكاً عملاقاً قد ظهر، يصيح بصوت أعلى من كل ما سبقه - يستيقظ كل من في Habitica! والـHabiticans المحرومون من النوم الآن يواجهون يومياتهم بصعوبة. Pandoro@ يقرر أن الوقت قد حان لوضع حدٍ لهذا. \"من فضلكم، هل من أحدٍ يمكن أن يعلم هذا الديك الصياح بهدوء؟\" أنت تتطوع، وتقترب من الديك في الصباح التالي - ولكن الديك يلتف إليك، يرفرف جناحيه العملاقة ويظهر مخالبه الحادة، ويصيح صرخة حرب.",
"questRoosterNotes": "لسنوات عديدة المزارع extrajordanary@ قد استخدم الديكة كمنبه. ولكن الآن فإن ديكاً عملاقاً قد ظهر، يصيح بصوت أعلى من كل ما سبقه - يستيقظ كل من في Habitica! والHabiticans المحرومون من النوم الآن يواجهون يومياتهم بصعوبة. Pandoro@ يقرر أن الوقت قد حان لوضع حدٍ لهذا. \"من فضلكم، هل من أحدٍ يمكن أن يعلم هذا الديك الصياح بهدوء؟\" أنت تتطوع، وتقترب من الديك في الصباح التالي - ولكن الديك يلتف إليك، يرفرف جناحيه العملاقة ويظهر مخالبه الحادة، ويصيح صرخة حرب.",
"questRoosterCompletion": "مع براعة وقوة، تروض الوحش البري. أذنيه، التي كانت بالسابق مليئة بالريش والمهام المنسية، هي الآن خالية تماماً. يصيح إليك بهدوء، ويتحاضن منقاره في كتفك. في اليوم التالي كنت مستعداً للرحيل، ولكن EmeraldOx@ يركض إليك مع سلة مغطية. \"انتظر! عندما ذهبت إلى بيت المزرعة هذا الصباح، وكان الديك قد دفع هذه عند الباب في الموقع الذي كنت نائماً فيه. اعتقد انه يريدك أنه تأخذها هدية.\" تكشف عن السلة لترى ثلاث بيضات رقيقة.",
"questRoosterBoss": "ديك",
"questRoosterDropRoosterEgg": "ديك (بيضة)",
"questRoosterUnlockText": "Unlocks purchasable Rooster eggs in the Market",
"questSpiderText": "العنكبوت الجليدي",
"questSpiderNotes": "مع تهدئة الطقس، يبدأ صقيعاً حساساً يظهر على زجاج نوافذ الـHabiticans على شكل شبكات مترابطة... باستثناء Arcosine@، الذي نوافذه تجمدت بشكل كامل من قبل العنكبوت الجليدي الذي يقيم حالياً في منزله. وامصيبتاه.",
"questSpiderNotes": "مع تهدئة الطقس، يبدأ صقيعاً حساساً يظهر على زجاج نوافذ الHabiticans على شكل شبكات مترابطة... باستثناء Arcosine@، الذي نوافذه تجمدت بشكل كامل من قبل العنكبوت الجليدي الذي يقيم حالياً في منزله. وامصيبتاه.",
"questSpiderCompletion": "ينهار العنكبوت الجليدي، تاركاً وراءه كومة صغيرة من الصقيع وعدد قليل من حويصلات البيض الفاتنة. Arcosine@ يقدمها لكم كمكافأة -- ربما تستطيع أن تربي بعض العناكب الغير مهددة كحيوانات أليفة خاصة بك؟",
"questSpiderBoss": "عنكبوت",
"questSpiderDropSpiderEgg": "عنكبوت (بيضة)",
@@ -113,7 +113,7 @@
"questGoldenknight3DropWeapon": "Mustaine's Milestone Mashing Morning Star (Off-hand Weapon)",
"questGroupEarnable": "Earnable Quests",
"questBasilistText": "قائمة-الباسي",
"questBasilistNotes": "هناك ضجة في السوق - من النوع الذي من المفترض أن يجعلك تهرب. ولكن كونك مغامر شجاع، تركض باتجاهها بدلاً من ذلك، وتكتشف باسي-لسته، قد تكتل من مجموعة من الأشياء التي يجب فعلها التي لم يتم إكمالها! بالقرب الـHabiticans مشلولين خوفاً من طول قائمة الباسي-لسته، غير قادرين على بدء العمل. من مكانٍ في المنطقة المجاورة، تسمع Arcosine@ يصرخ: \"بسرعة، اكتملوا يمياتكم والأشياء التي يجب عليكم فعلها حتى نستطيع إزالة أنياب هذا الوحش، قبل أن يحصل شخص على جرح من الورق!\" اضرب سريعاً، أيها المغامر، وحقق شيئاً ما - ولكن احذر! إذا تركت أي من اليوميات ولم تفعلها، الباسي-لسته سوف يهاجم عليك وعلى حزبك!",
"questBasilistNotes": "هناك ضجة في السوق - من النوع الذي من المفترض أن يجعلك تهرب. ولكن كونك مغامر شجاع، تركض باتجاهها بدلاً من ذلك، وتكتشف باسي-لسته، قد تكتل من مجموعة من الأشياء التي يجب فعلها التي لم يتم إكمالها! بالقرب الHabiticans مشلولين خوفاً من طول قائمة الباسي-لسته، غير قادرين على بدء العمل. من مكانٍ في المنطقة المجاورة، تسمع Arcosine@ يصرخ: \"بسرعة، اكتملوا يمياتكم والأشياء التي يجب عليكم فعلها حتى نستطيع إزالة أنياب هذا الوحش، قبل أن يحصل شخص على جرح من الورق!\" اضرب سريعاً، أيها المغامر، وحقق شيئاً ما - ولكن احذر! إذا تركت أي من اليوميات ولم تفعلها، الباسي-لسته سوف يهاجم عليك وعلى حزبك!",
"questBasilistCompletion": "قائمة الباسي-لسته تتشتت إلى قصاصات ورق، التي تميض بلطف بألوان القوس قزح. \"يا للعجب!\" يقول Arcosine@. \"من الجيد أنكم كنتم موجودين هنا يا رفاق!\" مع الشعور بالمزيد من الخبرة من قبل، تجمع لك بعض من الذهب الساقط ما بين الأوراق.",
"questBasilistBoss": "قائمة-الباسي",
"questEggHuntText": "البحث على البيض",
@@ -131,7 +131,7 @@
"questDilatoryBossRageTavern": "`تنين الفزع يطلق ضربة الإهمال!`\n\nاوه لا! على الرغم من أننا نبذل قصارى جهدنا، لقد غفلنا عن بعض اليوميات ولم نكملها، ولونها الأحمر الداكن قد اغضب التنين! مع ضربة الإهمال المخيفة، لقد دمر الحانة! لحسن الحظ، لقد انشأنا حانة أخرى في مدينة قريبة، وأنتم تستطيعون الاستمرار على الدردشة على الشاطئ... ولكن Daniel جرسون الحانةالمسكين قد رأى مبناه المحبوب ينهار من حوله!\n\nنآمل أن لا يهاجم الوحش مرة أخرى!",
"questDilatoryBossRageStables": "`تنين الفزع يطلق ضربة الإهمال!`\n\nيايكس! مرة أخرى لقد تركنا الكثير من اليوميات تفلت من عندنا. لقد أطلق التنين ضربة الإهمال ضد Matt والاسطبلات! الحيوانات الأليفة تفر من كل جانب. لحسن الحظ يبدو أن كل حيواناتك في آمان!\n\nيا Habitica يا مسكينة! نآمل أن لا يحدث هذا مرة أخرى. عجل واتمم كل المهام الخاصة بك!",
"questDilatoryBossRageMarket": "`تنين الفزع يطلق ضربة الإهمال!`\n\nآآآه!! لقد تم تحطيم دكان Alex التاجر ولم يبقَ منه إلا القطع الصغيرة بسبب ضربة الإهمال الخاصة بالتنين! ولكن يبدو وكأننا حقاً نؤذي ونضعف هذا الوحش. أشك أن لديه ما يكفي من الطاقة للقيام بضربة أخرى.\n\nلا تترددي، Habitica! دعونا نبعد هذا الوحش عن شواطئنا!",
"questDilatoryCompletion": "`هزيمة تنين الفزع الخاص بدِلاتوري!`\n\nلقد فعلناها! مع هدير نهائي، تنين الفزع ينهار ويسبح بعيداً، بعيداً. حشود من الـHabiticans الهتاف يخطون الشواطئ! لقد ساعدنا Matt، وDaniel، وAlex في إعادة بناء مبانيهم. ولكن ما هذا؟ \n\n`عودة المواطنون!`\n\nالآن بعد فرار التنين، الآلاف من الألوان البراقة تتصاعد خلال البحر. إنه قوس قزح من الروبيان السرعوف... وفيما بينها، المئات من حور البحر! \n\n\"نحن مواطنو دِلاتوري الضائعون!\" يوضح زعيمهم، Manta. \"عندما غرقت دِلاتوري، الروبيان السرعوف الذي يعيش في هذه المياه استخدم موجة من السحر ليحوّلنا إلى حور البحر حتى نتمكن من البقاء على قيد الحياة. ولكن بسبب غضبه، فإن تنين الفزع قد حاصرنا جميعاً في صدع الظلام. لقد بقينا مسجونين هناك منذ مئات السنين - ولكن الآن نحن أحرار في إعادة بناء مدينتنا أخيراً!\"\n\n\"كشكرٍ لكم،\" يقول صديقهOttl@، \"أرجو أن تتقبلوا هذا الروبيان السرعوف الأليف وهذا الروبيان السرعوف المركب، وكذلك XP، وذهب، وامتناننا الأبدي.\"\n\n`المكافآت`\n* روبيان سرعوف أليف\n* روبيان سرعوف مركب\n* الشوكولاته، حلوى القطن الأزرق، حلوى القطن الوردي، سمكة، عسل، لحم، حليب، بطاطا، لحم فاسد، فراولة",
"questDilatoryCompletion": "`هزيمة تنين الفزع الخاص بدِلاتوري!`\n\nلقد فعلناها! مع هدير نهائي، تنين الفزع ينهار ويسبح بعيداً، بعيداً. حشود من الHabiticans الهتاف يخطون الشواطئ! لقد ساعدنا Matt، وDaniel، وAlex في إعادة بناء مبانيهم. ولكن ما هذا؟ \n\n`عودة المواطنون!`\n\nالآن بعد فرار التنين، الآلاف من الألوان البراقة تتصاعد خلال البحر. إنه قوس قزح من الروبيان السرعوف... وفيما بينها، المئات من حور البحر! \n\n\"نحن مواطنو دِلاتوري الضائعون!\" يوضح زعيمهم، Manta. \"عندما غرقت دِلاتوري، الروبيان السرعوف الذي يعيش في هذه المياه استخدم موجة من السحر ليحوّلنا إلى حور البحر حتى نتمكن من البقاء على قيد الحياة. ولكن بسبب غضبه، فإن تنين الفزع قد حاصرنا جميعاً في صدع الظلام. لقد بقينا مسجونين هناك منذ مئات السنين - ولكن الآن نحن أحرار في إعادة بناء مدينتنا أخيراً!\"\n\n\"كشكرٍ لكم،\" يقول صديقهOttl@، \"أرجو أن تتقبلوا هذا الروبيان السرعوف الأليف وهذا الروبيان السرعوف المركب، وكذلك XP، وذهب، وامتناننا الأبدي.\"\n\n`المكافآت`\n* روبيان سرعوف أليف\n* روبيان سرعوف مركب\n* الشوكولاته، حلوى القطن الأزرق، حلوى القطن الوردي، سمكة، عسل، لحم، حليب، بطاطا، لحم فاسد، فراولة",
"questSeahorseText": "سباق خيل دِلاتوري",
"questSeahorseNotes": "إنه يوم الدِربي، وHabiticans من جميع أنحاء القارة قد أتوا إلى دِلاتوري لمسباقة حيواناتهم الأليفة فرسان البحر! فجأةً، زمجرة ودفقات ماء كبيرة تندلع في مضمار السباق، وتسمع حارس فرسان البحر Kiwibot@ يصيح فوق هدير الأمواج. \"قد تسبب تجمع فرس البحر في جذب فحل بحر عنيف!\" تقول بقلق. \"إنه يحطم الاسطبلات ويدمر المضمار القديم! هل يمكن على أحد تهدئته؟\"",
"questSeahorseCompletion": "فحل البحر المهدئ يتسبح إلى جانبك بلطف. \"انظر!\" Kiwibot تقول. واضافت \"يريد منا رعاية أطفاله\". تعطيك ثلاث بيضات. \"ربهم بشكل جيد\"، تقول لك. \"نحن نرحب بك في الدِلاتوري دِربي أي وقت!\"",
@@ -145,7 +145,7 @@
"questAtom1Drop": "The SnackLess Monster (Scroll)",
"questAtom1Completion": "After some thorough scrubbing, all the dishes are stacked safely on the shore! You stand back and proudly survey your hard work.",
"questAtom2Text": "هجوم الخط الممل، الجزء 2: وحش السناكْلِس",
"questAtom2Notes": "وأخيراً، هذا المكان يبدو أجمل بكثير بعد تنظيف كل هذه الأطباق. ربما، يمكنك الاستمتاع الآن. أوه - يبدو أن هناك كرتون بيتزا يطفو في البحيرة. حسناً، هو فقط شيء آخر محتاجاً إلى التنظيف؟ ولكن، هذا ليس مجرد كرتون بيتزا! مع اندفاع مفاجئ الكرتون يرتفع من الماء ليكشف عن نفسه أنه رأس وحش. لا يمكن أن يكون! وحش سناكلِس الأسطوري؟! يقال أنه قائم مخفي في هذه البحيرة منذ عصور ما قبل التاريخ: مخلوق ولد من بقايا الطعام والقمامة من الـHabiticans القدم. ويع!",
"questAtom2Notes": "وأخيراً، هذا المكان يبدو أجمل بكثير بعد تنظيف كل هذه الأطباق. ربما، يمكنك الاستمتاع الآن. أوه - يبدو أن هناك كرتون بيتزا يطفو في البحيرة. حسناً، هو فقط شيء آخر محتاجاً إلى التنظيف؟ ولكن، هذا ليس مجرد كرتون بيتزا! مع اندفاع مفاجئ الكرتون يرتفع من الماء ليكشف عن نفسه أنه رأس وحش. لا يمكن أن يكون! وحش سناكلِس الأسطوري؟! يقال أنه قائم مخفي في هذه البحيرة منذ عصور ما قبل التاريخ: مخلوق ولد من بقايا الطعام والقمامة من الHabiticans القدم. ويع!",
"questAtom2Boss": "وحش السناكْلِس",
"questAtom2Drop": "The Laundromancer (Scroll)",
"questAtom2Completion": "With a deafening cry, and five delicious types of cheese bursting from its mouth, the Snackless Monster falls to pieces. Well done, brave adventurer! But wait... is there something else wrong with the lake?",
@@ -162,12 +162,12 @@
"questOwlUnlockText": "Unlocks purchasable Owl eggs in the Market",
"questPenguinText": "الصقيع الخبيث",
"questPenguinNotes": "على الرغم من أنه يوم حار من الصيف في الطرف الجنوبي من Habitica، لقد نزل برد قارص غير طبيعي على بحيرة لايفلي. رياح قوية، شديدة البرودة تندفع ويبدأ الشاطئ بالتجمد. ارتفاعات من الثلج تندفع من الأرض، مما يدفع العشب والتراب بعيداً. Melynnrose@ وBreadstrings@ يركضون إليك.<br><br>\"ساعدنا!\" تقول Melynnrose@. \"جئنا ببطريق عملاق حتى يجمد لنا البحيرة حتى نتمكن جميعاً من الذهاب للتزلج على الجليد، ولكن نفد منا السمك لإطعامه!\"br><br\"غضب علينا وهو الآن يستخدم نفس الجليد الخاص به على كل شيء يراه!\" Breadstrings@ يقول. \"ارجوك، سيطر عليه قبل أن يغطينا جميعاً بالثلج!\" يبدو أنك بحاجة لهذا البطريق أن... <em>يبرد على أعصابه.</em>",
"questPenguinCompletion": "على هزيمة البطريق، الجليد يذوب. البطريق العملاق يستقر في ضوء الشمس، ويلتهم دلو الأسماك التي عثرت عليه أنت. ثم يتزلج على الجليد عبر البحيرة، وهو يهف بلطف إلى الأسفل لينتج جليد سلس، لمّاع. يا له من طير غريب!\" يبدو أنه ترك القليل من البيض، كذلك،\" يقول Painter de Cluster@ـ. <br><br> يضحك Rattify@. وقال \"ربما ستكون هذه البطاريق أكثر... برودة؟\"",
"questPenguinCompletion": "على هزيمة البطريق، الجليد يذوب. البطريق العملاق يستقر في ضوء الشمس، ويلتهم دلو الأسماك التي عثرت عليه أنت. ثم يتزلج على الجليد عبر البحيرة، وهو يهف بلطف إلى الأسفل لينتج جليد سلس، لمّاع. يا له من طير غريب!\" يبدو أنه ترك القليل من البيض، كذلك،\" يقول Painter de Cluster@. <br><br> يضحك Rattify@. وقال \"ربما ستكون هذه البطاريق أكثر... برودة؟\"",
"questPenguinBoss": "بطريق الصقيع",
"questPenguinDropPenguinEgg": "بطريق (بيضة)",
"questPenguinUnlockText": "Unlocks purchasable Penguin eggs in the Market",
"questStressbeastText": "وحش التوتر الفظيع في سهوب ستويكالم",
"questStressbeastNotes": "اتمم اليوميات والتو-دوز حتى تؤذي الزعيم العالمي! اليوميات الغير مكتملة يملئ من شريط ضربة التوتر. عندما يكون شريط ضربة التوتر كاملاً، سوف يهاجم الزعيم العالمي شخصية رئيسية لللعبة. الزعيم العالمي لن يضر اللاعبين العاديين أو أي من الحسابات بأي شكل من الأشكال. فقط الحسابات النشطة التابعة للذين لا يستريحون في النزل هي التي تُجصى يومياتها الغير مكتملة.<br><br>~*~<br><br>أول شيء نسمعه هي الخطى، أبطأ وأكثر صوتاً من فرار جماعي لحيوانات البرية. واحداً يلو الآخر، الـHabiticans ينظرون خارج أبوابهم، ويتخلاهم الكلام.<br><br>كل منا قد رأى وحوش التوتر من قبل، وبطبيعة الحال - مخلوقات صغيرة طالحة تهجم خلال الأوقات الصعبة. لكن هذا؟ هذا المخلوق اطول من المباني، مع كفوف يمكنها سحق تنين بكل سهولة. الصقيع يتأرجح من فراءه الذي يتصف بالرائحة كريهة، وعندما يزمجر، فإن الانفجار الجليدي يقلع الأسطح من منازلنا. لم يُعرف وحش بهذا الحجم إلا في إطار الأسطورات العتيقة.<br><br>\"احذروا، يا Habiticansـ!\" يصيح SabreCat. \"سدوا أنفسكم في الداخل - فهذا هو وحش التوتر البغيض نفسه!\"<br><br>\"من المؤكد أن هذا الشيء مكوّن من قرون من التوتر!\" يقول Kiwibot، وهو يقفل أبواب الحانة بإحكام ويغلق النوافذ.<br><br>\"سهوب ستويكالم،\" Lemoness تقول، بوجه كالح. \"كل هذا الوقت، كنا نظن أنهم كانوا يعيشون بهدوء وسكون، ولكن الظاهر أنهم كانوا يخفون توترهم في مكان ما. وعلى مدى الأجيال، نما الى هذا الشيء، والآن قد تحرر وهاجمهم - ونحن أيضاً!\"<br><br>هناك طريقة واحدة فقط لإبعاد وحش توتر، بغيضاً كان أو غير ذلك، وهذا هو بمهاجمته مع اليوميات والتو-دوز المنجزة! دعونا جميعا نتحد معاً، ونحارب هذا العدو المخيف - لكن تأكد من عدم الترخي ولا تهمل المهام الخاصة بك، لأن يومياتنا الغير مكتملة المتراكمة قد تغضبه كثيراً بحيث يهاجم...",
"questStressbeastNotes": "اتمم اليوميات والتو-دوز حتى تؤذي الزعيم العالمي! اليوميات الغير مكتملة يملئ من شريط ضربة التوتر. عندما يكون شريط ضربة التوتر كاملاً، سوف يهاجم الزعيم العالمي شخصية رئيسية لللعبة. الزعيم العالمي لن يضر اللاعبين العاديين أو أي من الحسابات بأي شكل من الأشكال. فقط الحسابات النشطة التابعة للذين لا يستريحون في النزل هي التي تُجصى يومياتها الغير مكتملة.<br><br>~*~<br><br>أول شيء نسمعه هي الخطى، أبطأ وأكثر صوتاً من فرار جماعي لحيوانات البرية. واحداً يلو الآخر، الHabiticans ينظرون خارج أبوابهم، ويتخلاهم الكلام.<br><br>كل منا قد رأى وحوش التوتر من قبل، وبطبيعة الحال - مخلوقات صغيرة طالحة تهجم خلال الأوقات الصعبة. لكن هذا؟ هذا المخلوق اطول من المباني، مع كفوف يمكنها سحق تنين بكل سهولة. الصقيع يتأرجح من فراءه الذي يتصف بالرائحة كريهة، وعندما يزمجر، فإن الانفجار الجليدي يقلع الأسطح من منازلنا. لم يُعرف وحش بهذا الحجم إلا في إطار الأسطورات العتيقة.<br><br>\"احذروا، يا Habiticans!\" يصيح SabreCat. \"سدوا أنفسكم في الداخل - فهذا هو وحش التوتر البغيض نفسه!\"<br><br>\"من المؤكد أن هذا الشيء مكوّن من قرون من التوتر!\" يقول Kiwibot، وهو يقفل أبواب الحانة بإحكام ويغلق النوافذ.<br><br>\"سهوب ستويكالم،\" Lemoness تقول، بوجه كالح. \"كل هذا الوقت، كنا نظن أنهم كانوا يعيشون بهدوء وسكون، ولكن الظاهر أنهم كانوا يخفون توترهم في مكان ما. وعلى مدى الأجيال، نما الى هذا الشيء، والآن قد تحرر وهاجمهم - ونحن أيضاً!\"<br><br>هناك طريقة واحدة فقط لإبعاد وحش توتر، بغيضاً كان أو غير ذلك، وهذا هو بمهاجمته مع اليوميات والتو-دوز المنجزة! دعونا جميعا نتحد معاً، ونحارب هذا العدو المخيف - لكن تأكد من عدم الترخي ولا تهمل المهام الخاصة بك، لأن يومياتنا الغير مكتملة المتراكمة قد تغضبه كثيراً بحيث يهاجم...",
"questStressbeastBoss": "وحش التوتر الفظيع",
"questStressbeastBossRageTitle": "ضربة توتر",
"questStressbeastBossRageDescription": "عندما يمتلئ هذا العيار، فإن وحش التوتر الفظيع سوف يطلق ضربة توتر على Habitica!",
@@ -176,9 +176,9 @@
"questStressbeastBossRageStables": "`وحش التوتر البغيض يستخدم ضربة الإجهاد!`\n\nموجة التوتر تشفي وحش التوتر البغيض!\n\nاوه لا! على الرغم من أننا نبذل اقصى جهدنا، لقد تركنا بعض اليوميات ولم نكملها، ولونها الأحمر الداكن قد اغضب وحش التوتر البغيض وسبب ذلك إستعادته بعض صحته! المخلوق الفظيع يهجم على الإسطبلات، ولكن Matt مروض الوحوش يتعرض له ببطولة لحماية الحيوانات الأليفة والمراكب. وقد امسك وحش التوتر البغيض Matt في قبضته الشريرة، ولكن على الأقل أنه لاه في هذه اللحظة. بسرعة! دعونا نحافظ على يومياتنا ولنهزم هذا الوحش قبل أن يهاجم مرة أخرى!",
"questStressbeastBossRageBailey": "`وحش التوتر البغيض يستخدم ضربة الإجهاد!`\n\nموجة التوتر تشفي وحش التوتر البغيض!\n\nآه!!! قد تسببت يومياتنا الناقصة في ازدياد غضب وحش التوتر البغيض ليصبح احنق من أي وقت مضى، وقد استعاد بعض من عافيته! مؤذنة البلدة Bailey كانت تصرخ للمواطنين حتى يهربوا إلى الأمان، والآن قد استولى عليها ومسك بها في يده الأخرى! انظر إليها، وهي تقدم لنا الأخبار ببسالة ووحش التوتر البغيض يأرجحها بشراسة... لنكن جديرين بشجاعتها من خلال زيادة أنتاجيتنا بكل ما في وسعنا من أجل إنقاذ الشخصيات الرئيسية!",
"questStressbeastBossRageGuide": "`وحش التوتر البغيض يستخدم ضربة الإجهاد!`\n\nموجة التوتر تشفي وحش التوتر البغيض!\n\nانتبه! الدليل Justin يحاول تشتيت انتباه وحش التوتر من خلال الركض حول كاحليه، وهو يصيح بنصائح إنتاجية! وحش التوتر البغيض يتدوس بجنون، ويبدو أننا نرهق هذا الوحش شيئاً بعد شيء. أشك في أن لديه ما يكفي من الطاقة لضربة أخرى. لا تستسلموا... نحن قريبين جداً من القضاء عليه!",
"questStressbeastDesperation": "`وحش التوتر البغيض تصل صحته إلى 500K! وحش التوتر البغيض يستخدم الدفاع اليائس!`\n\nنحن اقتربنا من الهدف، أيها الـHabiticans! مع الحرص ومع متابعة اليوميات، نحن قد فككنا صحة وحش التوتر ووصلناها إلى 500K فقط! المخلوق يهدر ويرجف بيأس وغضبه يتزايد أسرع من أي وقت مضى. Bailey وMatt يصيحان بخوف وهو يأرجحهم بسرعة مرعبة، مما يثير عاصفة ثلجية تسبب العمى وتصعب علينا ضربه.\n\nعلينا أن نضاعف جهودنا، ولكن تشجع - هذه علامة على أن وحش التوتر يعلم أنه على وشك أن يهزم. لا تستسلموا الآن!",
"questStressbeastCompletion": "<strong> لقد انهزم وحش التوتر البغيض!</strong>ـ<br><br>لقد فعلناها! مع صرخة نهائية عالية، وحش التوتر يتبدد إلى سحابة من الثلج. رقائق من الثلج تتومض وهي تسقط مع الهواء مع هتاف الـHabiticans وهم يحتضنون حيواناتهم الأليفة ومراكبهم. حيواناتنا والشخصيات الرئيسية لدينا هي في آمان من جديد!<br><br>ـ <strong> لقد انقذنا ستويكالم!</strong>ـ<br><br> وSabreCat يتكلم بلطف إلى سيبرتوث صغير. \"يرجى الإطلاع على مواطني سهول ستويكالم والأتيان بهم إلينا،\" يقول. بعد عدة ساعات، يعود السيبرتوث، مع قطيع من الماموثات تمشي وراءه ببطء. يتبين لك أن في مقدمتهم السيدة Glaciate، رئيسة ستويكالم.<br><br> \"أيها الـHabiticans القديرين\"، تقول، \"أنا ومواطني مدينون لكم، ونقدم لكم الشكر الكثير وخالص الاعتذار. في محاولة لحماية السهوب من الاضطراب، بدأنا في إبعاد كل إجهادنا وتوترنا سراً إلى الجبال الجليدية. لم يخطر على بالنا أنه سوف ينمو على مدى الأجيال إلى وحش التوتر الذي رأيتموه! عندما حرر نفسه، حبس كل واحد منا في الجبال في مكانه وبدأ يهجم على حيواناتنا المحبوبة.\" نظرتها الحزينة تتابع تساقط الثلوج. \"لقد عرضنا الجميع للخطر مع جهالتنا. وتأكدوا أن في المستقبل، سوف نأتيكم بمشاكلنا قبل أن تأتي مشاكلنا إليكم.\"<br><br> تحوّل نظرتها إلى حيث Baconsaur@ يتحاضن مع بعض الماموث الأطفال. \"لقد جلبنا بعض المواد الغذائية لحيواناتكم كقربان للاعتذار لهم على إخافتهم، وكرمز للثقة، سنترك بعض من الحيوانات الأليفة والمراكب معكم. نحن نعلم بأنكم سوف تراعونهم رعاية جيدة.\"",
"questStressbeastCompletionChat": "`لقد انهزم وحش التوتر البغيض!`\n\nلقد فعلناها! مع صرخة نهائية عالية، وحش التوتر يتبدد إلى سحابة من الثلج. رقائق من الثلج تتومض وهي تسقط مع الهواء مع هتاف الـHabiticans وهم يحتضنون حيواناتهم الأليفة ومراكبهم. حيواناتنا والشخصيات الرئيسية لدينا هي في آمان من جديد!\n\n`لقد انقذنا ستويكالم!` \n\nSabreCat يتكلم بلطف إلى سيبرتوث صغير. \"يرجى الإطلاع على مواطني سهول ستويكالم والأتيان بهم إلينا،\" يقول. بعد عدة ساعات، يعود السيبرتوث، مع قطيع من الماموثات تمشي وراءه ببطء. يتبين لك أن في مقدمتهم السيدة Glaciate، رئيسة ستويكالم.\n\n\"أيها الـHabiticans القديرين\"، تقول، \"أنا ومواطني مدينون لكم، ونقدم لكم الشكر الكثير وخالص الاعتذار. في محاولة لحماية السهوب من الاضطراب، بدأنا في إبعاد كل إجهادنا وتوترنا سراً إلى الجبال الجليدية. لم يخطر على بالنا أنه سوف ينمو على مدى الأجيال إلى وحش التوتر الذي رأيتموه! عندما حرر نفسه، حبس كل واحد منا في الجبال في مكانه وبدأ يهجم على حيواناتنا المحبوبة.\" نظرتها الحزينة تتابع تساقط الثلوج. \"لقد عرضنا الجميع للخطر مع جهالتنا. وتأكدوا أن في المستقبل، سوف نأتيكم بمشاكلنا قبل أن تأتي مشاكلنا إليكم.\"\n\nتحوّل نظرتها إلى حيث Baconsaur@ يتحاضن مع بعض الماموث الأطفال. \"لقد جلبنا بعض المواد الغذائية لحيواناتكم كقربان للاعتذار لهم على إخافتهم، وكرمز للثقة، سنترك بعض من الحيوانات الأليفة والمراكب معكم. نحن نعلم بأنكم سوف تراعونهم رعاية جيدة.\"",
"questStressbeastDesperation": "`وحش التوتر البغيض تصل صحته إلى 500K! وحش التوتر البغيض يستخدم الدفاع اليائس!`\n\nنحن اقتربنا من الهدف، أيها الHabiticans! مع الحرص ومع متابعة اليوميات، نحن قد فككنا صحة وحش التوتر ووصلناها إلى 500K فقط! المخلوق يهدر ويرجف بيأس وغضبه يتزايد أسرع من أي وقت مضى. Bailey وMatt يصيحان بخوف وهو يأرجحهم بسرعة مرعبة، مما يثير عاصفة ثلجية تسبب العمى وتصعب علينا ضربه.\n\nعلينا أن نضاعف جهودنا، ولكن تشجع - هذه علامة على أن وحش التوتر يعلم أنه على وشك أن يهزم. لا تستسلموا الآن!",
"questStressbeastCompletion": "<strong> لقد انهزم وحش التوتر البغيض!</strong><br><br>لقد فعلناها! مع صرخة نهائية عالية، وحش التوتر يتبدد إلى سحابة من الثلج. رقائق من الثلج تتومض وهي تسقط مع الهواء مع هتاف الHabiticans وهم يحتضنون حيواناتهم الأليفة ومراكبهم. حيواناتنا والشخصيات الرئيسية لدينا هي في آمان من جديد!<br><br> <strong> لقد انقذنا ستويكالم!</strong><br><br> وSabreCat يتكلم بلطف إلى سيبرتوث صغير. \"يرجى الإطلاع على مواطني سهول ستويكالم والأتيان بهم إلينا،\" يقول. بعد عدة ساعات، يعود السيبرتوث، مع قطيع من الماموثات تمشي وراءه ببطء. يتبين لك أن في مقدمتهم السيدة Glaciate، رئيسة ستويكالم.<br><br> \"أيها الHabiticans القديرين\"، تقول، \"أنا ومواطني مدينون لكم، ونقدم لكم الشكر الكثير وخالص الاعتذار. في محاولة لحماية السهوب من الاضطراب، بدأنا في إبعاد كل إجهادنا وتوترنا سراً إلى الجبال الجليدية. لم يخطر على بالنا أنه سوف ينمو على مدى الأجيال إلى وحش التوتر الذي رأيتموه! عندما حرر نفسه، حبس كل واحد منا في الجبال في مكانه وبدأ يهجم على حيواناتنا المحبوبة.\" نظرتها الحزينة تتابع تساقط الثلوج. \"لقد عرضنا الجميع للخطر مع جهالتنا. وتأكدوا أن في المستقبل، سوف نأتيكم بمشاكلنا قبل أن تأتي مشاكلنا إليكم.\"<br><br> تحوّل نظرتها إلى حيث Baconsaur@ يتحاضن مع بعض الماموث الأطفال. \"لقد جلبنا بعض المواد الغذائية لحيواناتكم كقربان للاعتذار لهم على إخافتهم، وكرمز للثقة، سنترك بعض من الحيوانات الأليفة والمراكب معكم. نحن نعلم بأنكم سوف تراعونهم رعاية جيدة.\"",
"questStressbeastCompletionChat": "`لقد انهزم وحش التوتر البغيض!`\n\nلقد فعلناها! مع صرخة نهائية عالية، وحش التوتر يتبدد إلى سحابة من الثلج. رقائق من الثلج تتومض وهي تسقط مع الهواء مع هتاف الHabiticans وهم يحتضنون حيواناتهم الأليفة ومراكبهم. حيواناتنا والشخصيات الرئيسية لدينا هي في آمان من جديد!\n\n`لقد انقذنا ستويكالم!` \n\nSabreCat يتكلم بلطف إلى سيبرتوث صغير. \"يرجى الإطلاع على مواطني سهول ستويكالم والأتيان بهم إلينا،\" يقول. بعد عدة ساعات، يعود السيبرتوث، مع قطيع من الماموثات تمشي وراءه ببطء. يتبين لك أن في مقدمتهم السيدة Glaciate، رئيسة ستويكالم.\n\n\"أيها الHabiticans القديرين\"، تقول، \"أنا ومواطني مدينون لكم، ونقدم لكم الشكر الكثير وخالص الاعتذار. في محاولة لحماية السهوب من الاضطراب، بدأنا في إبعاد كل إجهادنا وتوترنا سراً إلى الجبال الجليدية. لم يخطر على بالنا أنه سوف ينمو على مدى الأجيال إلى وحش التوتر الذي رأيتموه! عندما حرر نفسه، حبس كل واحد منا في الجبال في مكانه وبدأ يهجم على حيواناتنا المحبوبة.\" نظرتها الحزينة تتابع تساقط الثلوج. \"لقد عرضنا الجميع للخطر مع جهالتنا. وتأكدوا أن في المستقبل، سوف نأتيكم بمشاكلنا قبل أن تأتي مشاكلنا إليكم.\"\n\nتحوّل نظرتها إلى حيث Baconsaur@ يتحاضن مع بعض الماموث الأطفال. \"لقد جلبنا بعض المواد الغذائية لحيواناتكم كقربان للاعتذار لهم على إخافتهم، وكرمز للثقة، سنترك بعض من الحيوانات الأليفة والمراكب معكم. نحن نعلم بأنكم سوف تراعونهم رعاية جيدة.\"",
"questTRexText": "ملك الدينصورات",
"questTRexNotes": "الآن بما أن المخلوقات القديمة والمنقرضة من سهوب ستويكالم تتجول في كل أنحاء Habitica، قرر Urse@ تبني تيرانوصورس كامل النمو. ما الغلط في ذلك؟ <br><br>كل شيء.",
"questTRexCompletion": "الديناصور البري أخيراً يتوقف هياجه ويستقر ليكوّن صداقات مع الديكة العملاقة. Urse@ يبتسم ويهو ينظر إلى الديناصور. \"إنها ليست حيوانات أليفة سيئة بالمرة، بعد نهاية الأمر! هي فقط بحاجة إلى القليل من التهذيب. تفضل، خذ بعض من بيض التيرانوصورس لنفسك.\"",
@@ -193,7 +193,7 @@
"questTRexDropTRexEgg": "تيرانوصورس ريكس (بيضة)",
"questTRexUnlockText": "Unlocks purchasable Tyrannosaur eggs in the Market",
"questRockText": "الهروب من مخلوق الكهف",
"questRockNotes": "عند عبورك جبال التسكع الخاصة بـHabitica مع بعض من أصدقائك، ليلة من الليالي تقررون المبات في كهف جميل مرصع بالمعادن والبلورات المشرقة. ولكن عندما تستيقظون صباح اليوم التالي، تجدون أن المدخل قد اختفى، وأرضية الكهف تتحرك من تحتكم. <br><br>\"الجبل على قيد الحياة!\" يصرخ صاحبك pfeffernusse@. \"هذه ليست بلورات - هذه أسنان!\"<br><br> يأخذ بيدك Painter de Cluster@. \"علينا أن نجد مخرجاً آخر - ابقى معي ولا يتشتت انتباهك، أو قد نظل محبوسين في هذا المكان إلى الأبد!\"",
"questRockNotes": "عند عبورك جبال التسكع الخاصة بHabitica مع بعض من أصدقائك، ليلة من الليالي تقررون المبات في كهف جميل مرصع بالمعادن والبلورات المشرقة. ولكن عندما تستيقظون صباح اليوم التالي، تجدون أن المدخل قد اختفى، وأرضية الكهف تتحرك من تحتكم. <br><br>\"الجبل على قيد الحياة!\" يصرخ صاحبك pfeffernusse@. \"هذه ليست بلورات - هذه أسنان!\"<br><br> يأخذ بيدك Painter de Cluster@. \"علينا أن نجد مخرجاً آخر - ابقى معي ولا يتشتت انتباهك، أو قد نظل محبوسين في هذا المكان إلى الأبد!\"",
"questRockBoss": "الكريستال العملاق",
"questRockCompletion": "جهدكم العظيم أدى إلى العثور على مسار آمن للخروج من خلال الجبل الحيّ. وهو يقف تحت أشعة الشمس، صديقك intune@ يلاحظ شيئاً وهو يومض على الأرض بجنب مخرج الكهف. تنحني لتأخذه من الأرض، وترى أنه صخرة صغيرة يمر فيها وريد من الذهب . بجانبها عدد من الصخور الأخرى أشكالها غريبة نوعاً ما. إنها تبدو وكأنها... بيض؟",
"questRockDropRockEgg": "صخرة (بيضة)",
@@ -205,7 +205,7 @@
"questBunnyDropBunnyEgg": "أرنب (بيضة)",
"questBunnyUnlockText": "Unlocks purchasable Bunny eggs in the Market",
"questSlimeText": "الهلام الوصي",
"questSlimeNotes": "وأنت تعمل على المهام الخاصة بك، تلاحظ أنك تتحرك أبطأ وأبطأ. \"إنها تشبه محاولة المشي من خلال الدبس،\" Leephon@ يتذمر. \"لا، بل مثل المشي من خلال الهلام!\" يقول starsystemic@. \"لقد نشر ذلك الهلام الوصي اللزج أشياءه في جميع أنحاء Habitica. إنها تعطل كل شيء. الجميع يتباطأ.\" تنظر حولك. الشوارع تمتلئ ببطء مع الناز شفاف ملون، والـHabiticans يكافحون وهم يحاولون إتمام الشغل الذي يقومون به. مع فرار الآخرين من المنطقة، أنت تمسك ممسحة وتستعد للمعركة!",
"questSlimeNotes": "وأنت تعمل على المهام الخاصة بك، تلاحظ أنك تتحرك أبطأ وأبطأ. \"إنها تشبه محاولة المشي من خلال الدبس،\" Leephon@ يتذمر. \"لا، بل مثل المشي من خلال الهلام!\" يقول starsystemic@. \"لقد نشر ذلك الهلام الوصي اللزج أشياءه في جميع أنحاء Habitica. إنها تعطل كل شيء. الجميع يتباطأ.\" تنظر حولك. الشوارع تمتلئ ببطء مع الناز شفاف ملون، والHabiticans يكافحون وهم يحاولون إتمام الشغل الذي يقومون به. مع فرار الآخرين من المنطقة، أنت تمسك ممسحة وتستعد للمعركة!",
"questSlimeBoss": "هلام وصي",
"questSlimeCompletion": "مع الطعنة النهائية، أنت تحبس الهلام الوصي في دونات كبير جداً، أتوا به كل من Overomega ،@LordDarkly، و Shaner@، أصحاب التفكير السريع وقادة نادي المعجنات. مع تهنئة الجميع لك وهم يضربون ظهرك بفرح، تشعر بأن شخصاً قد وضع شيئاً في جيبك. إنها مكافأة لنجاحك الحلو: ثلاث بيضات وحل خطمي.",
"questSlimeDropSlimeEgg": "وحل خطمي (بيضة)",
@@ -230,7 +230,7 @@
"questWhaleUnlockText": "Unlocks purchasable Whale eggs in the Market",
"questGroupDilatoryDistress": "Dilatory Distress",
"questDilatoryDistress1Text": "استغاثة دِلاتوري، الجزء 1: رسالة في زجاجة",
"questDilatoryDistress1Notes": "وصلت رسالة في زجاجة من مدينة دِلاتوري التي أُعيد بناؤها حديثاً! تُقرأ: \"أعزائي الـHabiticans، نحن بحاجة إلى مساعدتكم مرة أخرى. قد اختفت الأميرة ومدينتنا تحت حصار من قبل بعض الشياطين المائية الغير معروفة! روبيانات السرعوف تحتجز المهاجمين ولا تسمح لهم الاقتراب. الرجاء ساعدونا!\" من أجل خوض الرحلة الطويلة إلى المدينة الغارقة، يجب أن يكون الشخص قادراً على التنفس تحت المياه. لحسن الحظ، فإن الكيميائيون Benga@ وhazel@ يمكنهم جعل ذلك ممكناً! فقط عليك العثور على المكونات الصحيحة.",
"questDilatoryDistress1Notes": "وصلت رسالة في زجاجة من مدينة دِلاتوري التي أُعيد بناؤها حديثاً! تُقرأ: \"أعزائي الHabiticans، نحن بحاجة إلى مساعدتكم مرة أخرى. قد اختفت الأميرة ومدينتنا تحت حصار من قبل بعض الشياطين المائية الغير معروفة! روبيانات السرعوف تحتجز المهاجمين ولا تسمح لهم الاقتراب. الرجاء ساعدونا!\" من أجل خوض الرحلة الطويلة إلى المدينة الغارقة، يجب أن يكون الشخص قادراً على التنفس تحت المياه. لحسن الحظ، فإن الكيميائيون Benga@ وhazel@ يمكنهم جعل ذلك ممكناً! فقط عليك العثور على المكونات الصحيحة.",
"questDilatoryDistress1Completion": "تدون درع ذات الزعانف وتسبح إلى دِلاتوري بأسرع ما يمكن. حور البحر وحلفائهم الروبيان السرعوف تمكنوا من إبقاء الوحوش خارج المدينة حتى الآن، لكنهم يخسرون. باللحظة التي تعدي جدران القلعة وتدخل فإن الحصار المرعب يتزايد!",
"questDilatoryDistress1CollectFireCoral": "مرجان النار",
"questDilatoryDistress1CollectBlueFins": "زعانف زرقاء",
@@ -247,7 +247,7 @@
"questDilatoryDistress2DropHeadgear": "دائرة مرجان النار (لبس رأس)",
"questDilatoryDistress3Text": "استغاثة دِلاتوري، الجزء 3: ليس مجرد خادمة",
"questDilatoryDistress3Notes": "تتبع الروبيان السرعوف عميقاً في داخل الأخدود، وتكتشف كوتاً تحت الماء. الأميرة Adva، ترافقها الجماجم المائية، تنتظركم داخل القاعة الرئيسية. \"قد أرسلكم والدي، أليس كذلك؟ قل له أني أرفض العودة. أنا راضية بالبقاء هنا لكي استمر في ممارسة سحري. اذهب الآن أو ستشعر بغضب ملكة المحيطات الجديدة!\" Adva تبدو متعنتة جداً، ولكن وهي تتحدث تلاحظ قلادة ياقوت، غريبة تتعلق على رقبتها وهي تتوهج بطريقة مشؤومة... هل من الممكن أن تتوقف أوهام الأميرة إن كسرتها؟",
"questDilatoryDistress3Completion": "أخيراً، استطعت أن تسحب القلادة المشؤومة من رقبة Adva وترميها بعيداً. Adva تمسك برأسها. \"أين أنا؟ ما الذي حدث هنا؟\" بعد سماع قصتك، تعبس وجهها. \"هذه القلادة أُعطيت لي من قبل سفيرٍ غريب - سيدة تدعى 'Tzina'. ولا أتذكر شيئاً بعد ذلك!\"<br><br>عندما تعودون إلى دِلاتوري، ترى Manta سعيداً جداً بنجاحكم. \"اسمحوا لي أن اجزيكم بهذا الترايدنت وهذا الدرع! لقد طلبتهما من aiseant@ وstarsystemic@ كهدية لـAdva، ولكن... أنا أفضل عدم وضع الأسلحة تحت سيطرتها في أي وقت قريب.\"",
"questDilatoryDistress3Completion": "أخيراً، استطعت أن تسحب القلادة المشؤومة من رقبة Adva وترميها بعيداً. Adva تمسك برأسها. \"أين أنا؟ ما الذي حدث هنا؟\" بعد سماع قصتك، تعبس وجهها. \"هذه القلادة أُعطيت لي من قبل سفيرٍ غريب - سيدة تدعى 'Tzina'. ولا أتذكر شيئاً بعد ذلك!\"<br><br>عندما تعودون إلى دِلاتوري، ترى Manta سعيداً جداً بنجاحكم. \"اسمحوا لي أن اجزيكم بهذا الترايدنت وهذا الدرع! لقد طلبتهما من aiseant@ وstarsystemic@ كهدية لAdva، ولكن... أنا أفضل عدم وضع الأسلحة تحت سيطرتها في أي وقت قريب.\"",
"questDilatoryDistress3Boss": "أدفا، حورية البحر مغتصبة الحكم",
"questDilatoryDistress3DropFish": "سمك (طعام)",
"questDilatoryDistress3DropWeapon": "ترايدنت الأمواج المحطمة (سلاح)",

View File

@@ -113,7 +113,7 @@
"perfectText": "Completed all active Dailies on <%= count %> days. With this achievement you get a +level/2 buff to all Stats for the next day. Levels greater than 100 don't have any additional effects on buffs.",
"perfectSingular": "يوم مثالي",
"perfectSingularText": "Completed all active Dailies in one day. With this achievement you get a +level/2 buff to all Stats for the next day. Levels greater than 100 don't have any additional effects on buffs.",
"streakerAchievement": "لقد حصلت على إنجاز \"أخصائي شرائط\"! هدف الـ 21 يوم معلم هام لتكوين العادات. يمكن الاستمرار بالحصول على هذا الإنجاز لكل 21 يوم إضافي، على هذه اليومية أو غيرها!",
"streakerAchievement": "لقد حصلت على إنجاز \"أخصائي شرائط\"! هدف ال 21 يوم معلم هام لتكوين العادات. يمكن الاستمرار بالحصول على هذا الإنجاز لكل 21 يوم إضافي، على هذه اليومية أو غيرها!",
"fortifyName": "جرعة تحصين",
"fortifyPop": "إرجاع جميع المهام إلى القيمة المحايدة (اللون الأصفر)، وإسترجاع جميع نقاط الصحة المفقودة.",
"fortify": "تحصين",
@@ -160,7 +160,7 @@
"cantMoveCompletedTodo": "لا يمكن نقل مهمة تم إكمالها.",
"directionUpDown": "\"direction\" is required and must be 'up' or 'down'.",
"alreadyTagged": "The task is already tagged with given tag.",
"strengthExample": "متعلقاً بالممارسة والنشاط \n",
"strengthExample": "متعلقاً بالممارسة والنشاط",
"intelligenceExample": "Relating to academic or mentally challenging pursuits",
"perceptionExample": "متعلقاً بالعمل أو المهام المالية .",
"constitutionExample": "متعلقاً بالصحة والعافية والتفاعل الإجتماعى ",

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Bought <%= itemText %>",
"messageEquipped": "<%= itemText %> equipped.",
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "You're missing either that egg or that potion",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -1,9 +1,9 @@
{
"achievement": "Achievement",
"share": "Share",
"onwards": "Onwards!",
"levelup": "By accomplishing your real life goals, you leveled up and are now fully healed!",
"reachedLevel": "You Reached Level <%= level %>",
"achievementLostMasterclasser": "Quest Completionist: Masterclasser Series",
"achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!"
"achievement": "অর্জন",
"share": "Share",
"onwards": "Onwards!",
"levelup": "By accomplishing your real life goals, you leveled up and are now fully healed!",
"reachedLevel": "You Reached Level <%= level %>",
"achievementLostMasterclasser": "Quest Completionist: Masterclasser Series",
"achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!"
}

View File

@@ -1,5 +1,5 @@
{
"challenge": "Challenge",
"challenge": "চ্যালেঞ্জ",
"challengeDetails": "Challenges are community events in which players compete and earn prizes by completing a group of related tasks.",
"brokenChaLink": "Broken Challenge Link",
"brokenTask": "Broken Challenge Link: this task was part of a challenge, but has been removed from it. What would you like to do?",

View File

@@ -1 +1,39 @@
{}
{
"healthSample2": "গাম চিবুন/ধূমপান করুন",
"healthSample1": "পানি/সোডা পান করুন",
"wellness": "স্বাস্থ্য",
"goalSample4": "ডুয়োলিঙ্গোতে জাপানিজ শিখুন",
"goalSample3": "ব্লগ পোস্টের জন্য কাজ করুন",
"goalSample1": "এক ঘন্টা পিয়ানো শিখুন",
"free": "ফ্রিতে জয়েন করুন",
"forgotPass": "পাসওয়ার্ড মনে নেই",
"footerSocial": "সোশ্যাল",
"footerMobile": "মোবাইল",
"footerCompany": "কোম্পানি",
"footerCommunity": "কমিউনিটি",
"footerDevs": "ডেভেলপাররা",
"featureAchievementByline": "অসাধারণ কিছু করেছেন? ব্যাজ অর্জন করুন এবং সকলকে দেখান!",
"sendLink": "লিংক পাঠান",
"forgotPassword": "পাসওয়ার্ড মনে নেই?",
"companyVideos": "ভিডিওসমূহ",
"companyTerms": "শর্ত",
"companyPrivacy": "গোপনীয়তা",
"companyDonate": "দান করুন",
"devBlog": "ডেভেলপার ব্লগ",
"companyBlog": "ব্লগ",
"companyAbout": "কীভাবে কাজ করে",
"communityReddit": "রেডিট",
"communityKickstarter": "কিকস্টার্টার",
"communityForum": "<a target='_blank' href='http://habitica.fandom.com/wiki/Special:Forum'>ফোরাম</a>",
"communityFeature": "ফিচারের জন্য আবেদন করুন",
"communityInstagram": "ইন্সটাগ্রাম",
"communityFacebook": "ফেসবুক",
"choreSample4": "একটি রুম পরিষ্কার করো",
"choreSample3": "বাসনকোসন ধোও",
"choreSample2": "২০ মিনিটের ঘরের কাজ",
"choreSample1": " নোংরা কাপড় ঝুড়িতে রাখো",
"businessText": "আপনার ব্যবসায়ে Habitica ব্যবহার করুন",
"businessSample2": "২০ মিনিটের ফাইলিং",
"termsAndAgreement": "নিচের বাটনটি ক্লিক করে, আপনি ইঙ্গিত দিচ্ছেন যে আপনি <a href='/static/terms'>শর্তাবলী</a> এবং <a href='/static/privacy'>গোপনীয়তা নীতি</a> পড়েছেন এবং সম্মতি দিয়েছেন।",
"FAQ": "বেশি জিজ্ঞাসিত প্রশ্ন"
}

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Bought <%= itemText %>",
"messageEquipped": "<%= itemText %> equipped.",
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "You're missing either that egg or that potion",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -1 +1,6 @@
{}
{
"rarePets": "বিরল পশু",
"petsFound": "পোষা প্রাণী পাওয়া গেছে",
"pets": "পোষা প্রাণী",
"stable": "গোয়াল"
}

View File

@@ -1,7 +1,7 @@
{
"clearCompleted": "সমাপ্ত কাজগুলো মুছুন",
"clearCompletedDescription": "সম্পন্ন হওয়া কাজ গুলো নন-সাবস্ক্রাইবারদের ৩০ দিন এবং সাবস্ক্রাইবারদের ৯০ দিন পর মুছে ফেলা হয়।",
"clearCompletedConfirm": "Are you sure you want to delete your completed To-Dos?",
"clearCompletedDescription": "সমাপ্ত হওয়া কাজ গুলো নন-সাবস্ক্রাইবারদের ৩০ দিন এবং সাবস্ক্রাইবারদের ৯০ দিন পর মুছে ফেলা হয়।",
"clearCompletedConfirm": "আপনি কি নিশ্চিত আপনি নিজের সম্পন্ন কাজগুলো মুছে ফেলতে চান?",
"sureDeleteCompletedTodos": "Are you sure you want to delete your completed To-Dos?",
"lotOfToDos": "Your most recent 30 completed To-Dos are shown here. You can see older completed To-Dos from Data > Data Display Tool or Data > Export Data > User Data.",
"deleteToDosExplanation": "If you click the button below, all of your completed To-Dos and archived To-Dos will be permanently deleted, except for To-Dos from active challenges and Group Plans. Export them first if you want to keep a record of them.",

View File

@@ -2,7 +2,7 @@
"challenge": "Izazov",
"challengeDetails": "Challenges are community events in which players compete and earn prizes by completing a group of related tasks.",
"brokenChaLink": "Broken Challenge Link",
"brokenTask": "Broken Challenge Link: ovaj zadatak je bio dio izazova, ali je uklonjen. Sta biste zeljeli da uradite? ",
"brokenTask": "Broken Challenge Link: ovaj zadatak je bio dio izazova, ali je uklonjen. Sta biste zeljeli da uradite?",
"keepIt": "Zadrži",
"removeIt": "Ukloni",
"brokenChallenge": "Broken Challenge Link: Ovaj zadatak je bio dio izazova, ali je izazov (ili grupa) obrisan. Sta raditi sa aktivnim zadacima na tabli?",

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Bought <%= itemText %>",
"messageEquipped": "<%= itemText %> equipped.",
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "You're missing either that egg or that potion",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Comprat <%= itemText %>",
"messageEquipped": "<%= itemText %> equipat.",
"messageEquipped": " <%= itemText %> equipat.",
"messageUnEquipped": "<%= itemText %> desequipat.",
"messageMissingEggPotion": "No tens la poció o ou requerits.",
"messageInvalidEggPotionCombo": "No pots eclosionar Ous de mascotes de missió amb Pocions Màgiques! Prova amb un altre ou.",

View File

@@ -108,7 +108,7 @@
"challengeDescription": "Popis výzvy",
"selectChallengeWinnersDescription": "Vyber výherce z účastníků výzvy",
"awardWinners": "Odměň výherce",
"doYouWantedToDeleteChallenge": "Chceš odstranit tuto výzvu",
"doYouWantedToDeleteChallenge": "Chceš odstranit tuto výzvu?",
"deleteChallenge": "Odstranit výzvu",
"challengeNamePlaceholder": "Jak se jmenuje tvoje výzva?",
"challengeSummary": "Souhrn",

View File

@@ -156,8 +156,8 @@
"optOutOfClasses": "Odhlásit",
"optOutOfPMs": "Odhlásit",
"chooseClass": "Vyber si své povolání",
"chooseClassLearnMarkdown": "[Zjisti více o systému povolání Habitice](http://habitica.fandom.com/wiki/Class_System)",
"optOutOfClassesText": "Nechceš se obtěžovat s povoláními? Chceš se rozhodnout později? Nech to - budeš válečníkem bez speciálních schopností. O systému povolání si můžeš přečíst na wiki a povolit si povolání kdykoliv v Uživatel -> Statistiky.",
"chooseClassLearnMarkdown": "[Zjisti více o systému povolání v Habitice](https://habitica.fandom.com/wiki/Class_System)",
"optOutOfClassesText": "Nechceš teď řešit povolání? Chceš se rozhodnout později? Nech to být, budeš válečníkem bez speciálních schopností. O systému povolání si můžeš přečíst na wiki a povolit si povolání kdykoliv v Uživatel -> Nastavení.",
"selectClass": "Vyber <%= heroClass %>",
"select": "Vybrat",
"stealth": "Lstivost",

View File

@@ -353,5 +353,9 @@
"hatchingPotionShadow": "Stín",
"premiumPotionUnlimitedNotes": "Nepoužitelné na vejce z výprav.",
"hatchingPotionAurora": "Polární záře",
"hatchingPotionAmber": "Jantar"
"hatchingPotionAmber": "Jantar",
"hatchingPotionFluorite": "Kazivcový",
"hatchingPotionSandSculpture": "Písková socha",
"hatchingPotionBirchBark": "Březová kůra",
"hatchingPotionRuby": "Rubín"
}

View File

@@ -12,7 +12,7 @@
"tierNPC": "NPC",
"friend": "Přítel",
"friendFirst": "Když je tvůj <strong>první</strong> set zlepšováků zaveden, obdržíš odznak přispěvatele programu Habitica. Tvoje jméno v chatu v krčme bude pyšně ukazovat, že jsi přispěvatel. Jako kořist za svou práci také obdržíš <strong>3 drahokamy</strong>.",
"friendSecond": "Když je tvůj <strong>druhý</strong> set zlepšováků zaveden, budeš mít možnost koupit si <strong>Křišťálové brnění</strong> v obchodě s Odměnami. Jako kořist za svou práci také obdržíš <strong>3 drahokamy</strong>.",
"friendSecond": "Když je tvůj <strong>druhý</strong> set zlepšováků zaveden, budeš mít možnost koupit si <strong>Křišťálové brnění</strong> v obchodě s Odměnami. Jako kořist za svou práci také obdržíš <strong>3 drahokamy.</strong>",
"elite": "Elita",
"eliteThird": "Když je tvůj <strong>třetí</strong> set zlepšováků zaveden, budeš mít možnost koupit si <strong>Křišťálovou helmu</strong> v obchodě s Odměnami. Jako kořist za svou práci také obdržíš <strong>3 drahokamy</strong>.",
"eliteFourth": "Když je tvůj <strong>čtvrtý</strong> set zlepšováků zaveden, budeš mít možnost koupit si <strong>Křišťálový meč</strong> v obchodě s Odměnami. Jako kořist za svou práci také obdržíš <strong>4 drahokamy</strong>.",

View File

@@ -61,7 +61,7 @@
"newGroupTitle": "Nová skupina",
"subscriberItem": "Záhadný předmět",
"newSubscriberItem": "Máš nové <span class=\"notification-bold-blue\">Záhadné předměty</span>",
"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. Pro více informací mrkni na stránku 'Mystery Item' na wiki.",
"subscriberItemText": "Předplatitelé obdrží každý měsíc záhadný předmět. Tento bude k mání na začátku měsíce. Pro více informací mrkni na stránku 'Mystery Item' na wiki.",
"all": "Vše",
"none": "Žádné",
"more": "<%= count %> více",

View File

@@ -1,8 +1,8 @@
{
"noItemsAvailableForType": "Nemáš žádný <%= type %>.",
"foodItemType": "Jídlo",
"eggsItemType": "Vejce",
"hatchingPotionsItemType": "Líhnoucí lektvary",
"specialItemType": "Speciální předměty",
"lockedItem": "Zamčený předmět"
"noItemsAvailableForType": "Nemáš žádné <%= type %>.",
"foodItemType": "Jídlo",
"eggsItemType": "Vejce",
"hatchingPotionsItemType": "Líhnoucí lektvary",
"specialItemType": "Speciální předměty",
"lockedItem": "Zamčený předmět"
}

View File

@@ -1,29 +1,29 @@
{
"unlockedReward": "Obdržel/a jsi <%= reward %>",
"earnedRewardForDevotion": "Získal jsi <%= reward %> díky tvému odhodlání si vylepšit život.",
"nextRewardUnlocksIn": "Přihlášení do tvé další odměny: <%= numberOfCheckinsLeft %>",
"awesome": "Super!",
"totalCount": "<%= count %> celkový počet",
"countLeft": "Přihlášení do další odměny: <%= count %>",
"incentivesDescription": "Když přijde na vytváření zvyků, pravidelnost je klíčem. Každý den, kdy se přihlásíš, budeš blíž k odměně.",
"totalCheckins": "<%= count %> přihlášení",
"checkinEarned": "Tvoje počítadlo přihlášení se zvedlo!",
"unlockedCheckInReward": "Odemknul jsi odměnu za přihlášení!",
"totalCheckinsTitle": "Celkové přihlášení",
"checkinProgressTitle": "Postup k dalšímu",
"incentiveBackgroundsUnlockedWithCheckins": "Zamknuté Obyčejné Pozadí se odemknou pomocí denních přihlášení",
"checkinReceivedAllRewardsMessage": "Obdržel jsi všechny možné odměny za přihlášení! Gratulujeme!",
"oneOfAllPetEggs": "jedno vajíčko od každého standartního mazlíčka",
"twoOfAllPetEggs": "dvě vajíčka od každého standartního mazlíčka",
"threeOfAllPetEggs": "tři vajíčka od každého standartního mazlíčka",
"oneOfAllHatchingPotions": "každý standartní Líhnoucí lektvar",
"threeOfEachFood": "tři kusy od každého standartního jídla",
"fourOfEachFood": "čtyři kusy od každého standartního jídla",
"twoSaddles": "dvě sedla",
"threeSaddles": "tři sedla",
"incentiveAchievement": "úspěch Královsky Oddaný",
"royallyLoyal": "Královsky Oddaný",
"royallyLoyalText": "Tento uživatel se přihlásil více než 500 krát a získal všechny odměny za přihlášení",
"checkInRewards": "odměny za přihlášení",
"backloggedCheckInRewards": "Obdržel jsi odměnu za přihlášení! Podívej se do tvého inventáře a vybavení, aby ses podíval, co je nového."
"unlockedReward": "Obdržel/a jsi <%= reward %>",
"earnedRewardForDevotion": "Získal/a jsi <%= reward %> díky tvému odhodlání si vylepšit život.",
"nextRewardUnlocksIn": "Přihlášení do tvé další odměny: <%= numberOfCheckinsLeft %>",
"awesome": "Super!",
"totalCount": "<%= count %> celkový počet",
"countLeft": "Přihlášení do další odměny: <%= count %>",
"incentivesDescription": "Když přijde na vytváření zvyků, pravidelnost je klíčem. Každý den, kdy se přihlásíš, budeš blíž k odměně.",
"totalCheckins": "<%= count %> přihlášení",
"checkinEarned": "Tvoje počítadlo přihlášení se zvedlo!",
"unlockedCheckInReward": "Odemknul jsi odměnu za přihlášení!",
"totalCheckinsTitle": "Celkové přihlášení",
"checkinProgressTitle": "Postup k dalšímu",
"incentiveBackgroundsUnlockedWithCheckins": "Zamknuté Obyčejné Pozadí se odemknou pomocí denních přihlášení.",
"checkinReceivedAllRewardsMessage": "Obdržel jsi všechny možné odměny za přihlášení! Gratulujeme!",
"oneOfAllPetEggs": "jedno vajíčko od každého standartního mazlíčka",
"twoOfAllPetEggs": "dvě vajíčka od každého standartního mazlíčka",
"threeOfAllPetEggs": "tři vajíčka od každého standartního mazlíčka",
"oneOfAllHatchingPotions": "každý standartní Líhnoucí lektvar",
"threeOfEachFood": "tři kusy od každého standartního jídla",
"fourOfEachFood": "čtyři kusy od každého standartního jídla",
"twoSaddles": "dvě sedla",
"threeSaddles": "tři sedla",
"incentiveAchievement": "úspěch Královsky Oddaný",
"royallyLoyal": "Královsky Oddaný",
"royallyLoyalText": "Tento uživatel se přihlásil více než 500 krát a získal všechny odměny za přihlášení!",
"checkInRewards": "odměny za přihlášení",
"backloggedCheckInRewards": "Obdržel jsi odměnu za přihlášení! Podívej se do tvého inventáře a vybavení, aby ses podíval, co je nového."
}

View File

@@ -51,7 +51,7 @@
"messageGroupChatFlagAlreadyReported": "Již jsi tento příspěvek nahlásil",
"messageGroupChatNotFound": "Zpráva nenalezena!",
"messageGroupChatAdminClearFlagCount": "Pouze admin může smazat počet označení!",
"messageCannotFlagSystemMessages": "Nemůžeš nahlásit systémovou zprávu. Pokud potřebuješ nahlásit porušení Zásad Komunity, které se vztahuje na tuto zprávu, prosím, pošlete emailem screenshot a vysvětlení na Lemoness na <%= communityManagerEmail %>",
"messageCannotFlagSystemMessages": "Nemůžeš nahlásit systémovou zprávu. Pokud potřebuješ nahlásit porušení Zásad Komunity, které se vztahuje na tuto zprávu, prosím, pošlete emailem screenshot a vysvětlení našemu Community Manažerovi na <%= communityManagerEmail %>.",
"messageGroupChatSpam": "Ups, vypadá to, že posíláš moc zpráv! Počkej prosím minutku a zkus to znovu. Chat v Krčmě může mít jenom 200 zpráv v jeden čas, takže Habitica podporuje posílání delších, více promyšlených zpráv a odpovědí. Nemůžeme se dočkat, až se s námi podělíš o tom, co máš na srdci. :)",
"messageCannotLeaveWhileQuesting": "Nemůžeš přijmout tuto pozvánku do družiny, během účasti ve výpravě. Pokud se chceš připojit k této družině, musíš nejdříve ukončit aktuální výpravu, což můžeš učinit v záložce \"Družina\". Svitek výpravy ti bude vrácen zpět.",
"messageUserOperationProtected": "cesta `<%= operation %>` nebyla uložena, protože je chráněná.",
@@ -59,10 +59,11 @@
"messageNotificationNotFound": "Oznámení nenalezeno.",
"messageNotAbleToBuyInBulk": "Tento předmět nelze nakoupit v množství větším, než je 1.",
"notificationsRequired": "Id upozornění je potřeba.",
"unallocatedStatsPoints": "Máš <span class=\"notification-bold-blue\"><%= points %>nepřidělených vlastnostních bodů</span>",
"beginningOfConversation": "Toto je začátek tvé konverzace s uživatelem <%= userName %>. Nezapomeň být milý, ucitvý a drž se směrnic komunity!",
"unallocatedStatsPoints": "Máš <span class=\"notification-bold-blue\"><%= points %> nepřidělený(ch) vlastnostní(ch) bod(ů)</span>",
"beginningOfConversation": "Toto je začátek tvé konverzace s uživatelem <%= userName %>.",
"messageDeletedUser": "Omlouváme se, ale tento uživatel smazal svůj účet.",
"messageMissingDisplayName": "Chybí zobrazované jméno.",
"canDeleteNow": "Nyní můžete zprávu smazat.",
"reportedMessage": "Tuto zprávu jste nahlásili moderátorům."
"reportedMessage": "Tuto zprávu jste nahlásili moderátorům.",
"beginningOfConversationReminder": "Nezapomeňte být milí, taktní a respektujte Zásady komunity!"
}

View File

@@ -72,7 +72,7 @@
"scrollsText2": "vytvoř si prázdnou družinu",
"scrollsPre": "Tuto Výpravu jsi ještě neodemkl!",
"alreadyEarnedQuestLevel": "Tuto Výpravu jsi si již vysloužil dosažením Úrovně <%= level %>. ",
"alreadyEarnedQuestReward": "Tuto Výpravu sis již vysloužil dokončením Výpravy <%= priorQuest %>. ",
"alreadyEarnedQuestReward": "Tuto Výpravu sis již vysloužil dokončením Výpravy <%= priorQuest %>.",
"completedQuests": "Dokončil následující výpravy",
"mustComplete": "Nejdříve musíš dokončit <%= quest %>.",
"mustLevel": "Musíš být na Úrovni <%= level %>, abys mohl začít tuto Výpravu.",

View File

@@ -2,7 +2,7 @@
"settings": "Nastavení",
"language": "Jazyk",
"americanEnglishGovern": "V případě rozdílu v překladech používáme verzi americké angličtiny.",
"helpWithTranslation": "Chceš nám pomoci program Habitica přeložit? Super! Tak se koukni na <a href=\"https://trello.com/c/SvTsLdRF/12-translations\" target=\"_blank\">tuhle</a> Trello kartu.",
"helpWithTranslation": "Chceš nám pomoci program Habitica přeložit? Super! Tak navštiv <a href=\"/groups/guild/7732f64c-33ee-4cce-873c-fc28f147a6f7\">the Aspiring Linguists Guild</a>!",
"showHeaderPop": "Zobrazuje tvou postavu, zdraví/zkušenosti a družinu.",
"stickyHeader": "Přilnavé záhlaví",
"stickyHeaderPop": "Zafixuje horní panel na obrazovce. Pokud je nezaškrtnuto, panel se posouvá se stránkou.",
@@ -54,13 +54,13 @@
"misc": "Ostatní",
"showHeader": "Zobrazit horní info panel",
"changePass": "Změnit heslo",
"changeUsername": "Change Username",
"changeUsername": "Změnit uživatelské jméno",
"changeEmail": "Změnit emailovou adresu",
"newEmail": "Nová emailová adresa",
"oldPass": "Staré heslo",
"newPass": "Nové heslo",
"confirmPass": "Potvrď nové heslo",
"newUsername": "New Username",
"newUsername": "Nové uživatelské jméno",
"dangerZone": "Nebezpečná zóna",
"resetText1": "POZOR! Tímto resetujete mnoho částí svého účtu. Silně nedoporučujeme tuto možnost používat, ale vyhovuje to některým uživatelům, kteří si se stránkou na začátku trochu hrají.",
"resetText2": "You will lose all your levels, Gold, and Experience points. All your tasks (except those from challenges) will be deleted permanently and you will lose all of their historical data. You will lose all your equipment but you will be able to buy it all back, including all limited edition equipment or subscriber Mystery items that you already own (you will need to be in the correct class to re-buy class-specific gear). You will keep your current class and your pets and mounts. You might prefer to use an Orb of Rebirth instead, which is a much safer option and which will preserve your tasks and equipment.",
@@ -76,7 +76,7 @@
"thirdPartyApps": "Programy třetí strany",
"dataToolDesc": "Webová stránka, která zobrazuje určité informace z tvého Habitica účtu, jako statistiky o tvých úkolech, vybavení a schopnostech.",
"beeminder": "Beeminder",
"beeminderDesc": "Nech Beeminder aby automaticky monitoroval tvoje úkoly v Habitice. Můžeš se rozhodnout pro udržení určitého čísla udělaných úkolů za den nebo týden nebo se můžeš rozhodnout pro postupné plnění nedokončených úkolů. (Použití Beeminder je pod hrozbou placení opravdových peněz. Ale jenom možná máš rád Beeminder krásné grafy.)",
"beeminderDesc": "Nech Beeminder aby automaticky monitoroval tvoje úkoly v Habitice. Můžeš se zavázat k udržení cíleného počtu splněných úkolů za den nebo týden, nebo se můžeš zavázat k postupnému snižování nedokončených úkolů. (\"Zavázek\" v Beeminder znamená \"pod hrozbou placení opravdových peněz\"! Ale možná stejně tak oceníš v Beeminder efektní grafy.)",
"chromeChatExtension": "Přídavek chatu pro Chrome",
"chromeChatExtensionDesc": "The Chrome Chat Extension pro program Habitica přidává chytrý chat do habitica.com. Dovoluje uživatelům chatovat v Krčmě, jejich Družině, a jakémukoliv Cechu, v kterém jsou.",
"otherExtensions": "<a target='blank' href='http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations'>Other Extensions</a>",
@@ -137,7 +137,7 @@
"unsubscribeAllEmailsText": "Zaškrtnutím toho políčka potvrzuji, že rozumím tomu, že kvůli odhlášení se z emailů mě nebude moci nikdy nikdo kontaktovat emailem o důležitých změnách na stránce nebo v mém účtu ze země Habitica.",
"unsubscribeAllPush": "Check to Unsubscribe from all Push Notifications",
"correctlyUnsubscribedEmailType": "Úspěšně ses odhlásil z \"<%= emailType %>\" emailů.",
"subscriptionRateText": "Opakovaně $<%= price %> každý/é <%= months %> měsíc(e)",
"subscriptionRateText": "Opakovaně <strong>$<%= price %> USD</strong> každý/é <%= months %> měsíc(e)",
"recurringText": "opakující se",
"benefits": "Benefity",
"coupon": "Kupón",
@@ -173,11 +173,11 @@
"pushDeviceAlreadyAdded": "The user already has the push device",
"pushDeviceNotFound": "The user has no push device with this id.",
"pushDeviceRemoved": "Push device removed successfully.",
"buyGemsGoldCap": "Strop zvýšen na <%= amount %>",
"buyGemsGoldCap": "Strop pro drahokamy 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íce (<%= plan %>)",
"purchasedPlanExtraMonths": "Máš <%= months %> měsíců dalšího kreditu předplatného.",
"purchasedPlanExtraMonths": "Máš <strong><%= months %> měsícůs</strong> extra předplaceného kreditu.",
"consecutiveSubscription": "Nepřetržité předplatné",
"consecutiveMonths": "Počet po sobě jdoucích měsíců:",
"gemCapExtra": "Strop drahokamů extra:",
@@ -191,24 +191,27 @@
"timezoneInfo": "If that time zone is wrong, first reload this page using your browser's reload or refresh button to ensure that Habitica has the most recent information. If it is still wrong, adjust the time zone on your PC and then reload this page again.<br><br> <strong>If you use Habitica on other PCs or mobile devices, the time zone must be the same on them all.</strong> If your Dailies have been resetting at the wrong time, repeat this check on all other PCs and on a browser on your mobile devices.",
"push": "Push",
"about": "About",
"setUsernameNotificationTitle": "Confirm your username!",
"setUsernameNotificationTitle": "Potvrď své uživatelské jméno!",
"setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
"usernameIssueSlur": "Usernames may not contain inappropriate language.",
"usernameIssueForbidden": "Usernames may not contain restricted words.",
"usernameIssueLength": "Usernames must be between 1 and 20 characters.",
"usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
"currentUsername": "Current username:",
"displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
"displaynameIssueSlur": "Display Names may not contain inappropriate language.",
"goToSettings": "Go to Settings",
"usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
"usernameNotVerified": "Please confirm your username.",
"changeUsernameDisclaimer": "Tato přezdívka bude použita pro pozvánky a chat.",
"verifyUsernameVeteranPet": "One of these Veteran Pets will be waiting for you after you've finished confirming!",
"usernameIssueSlur": "Uživatelské jméno nesmí obsahovat nevhodná slova.",
"usernameIssueForbidden": "Uživatelská jména nesmí obsahovat zakázaná slova.",
"usernameIssueLength": "Uživatelská jména musí být 1 až 20 znaků dlouhá.",
"usernameIssueInvalidCharacters": "Uživatelská jména mohou obsahovat pouze písmena a z, čísla 0 9, pomlčky nebo podtržítka.",
"currentUsername": "Aktuální uživatelské jméno:",
"displaynameIssueLength": "Zobrazované jméno musí být 1 až 30 znaků dlouhé.",
"displaynameIssueSlur": "Zobrazovaná jména nesmí obsahovat nevhodná slova.",
"goToSettings": "Jdi do Nastavení",
"usernameVerifiedConfirmation": "Tvé uživatelské jméno, <%= username %>, je potvrzeno!",
"usernameNotVerified": "Prosím, potvrď své uživatelské jméno.",
"changeUsernameDisclaimer": "Tvé uživatelské jméno bude použito pro pozvánky, @označení v chatu a ve zprávách. Musí být 1 až 20 znaků dlouhé, obsahovat pouze písmena a až z, čísla 0 až 9, pomlčku nebo podtržítko a nemůže obsahovat žádná nemístná slova.",
"verifyUsernameVeteranPet": "Jeden z těchto mazlíčků veteránů na tebe bude čekat, poté co dokončíš potvrzení!",
"subscriptionReminders": "Připomenutí pro předplatitele",
"newPMNotificationTitle": "Nová zpráva od <%= name %>",
"newPMNotificationTitle": "Nová zpráva od <%=name%>",
"everywhere": "Kdekoliv",
"onlyPrivateSpaces": "Pouze soukromá místa",
"suggestMyUsername": "Navrhnout moji přezdívku",
"mentioning": "Zmínění"
"mentioning": "Zmínka",
"buyGemsGoldCapBase": "Drahokamy zastropovány na <%= amount %>",
"chatExtensionDesc": "Rozšíření Chat pro Habitica přidává intuitivní chatovací okno do habitica.com. To umožňuje uživatelům povídat si v Taverně, s jejich družinou a každém cechu, ve které jsou členy.",
"chatExtension": "<a target='blank' href='https://chrome.google.com/webstore/detail/habitrpg-chat-client/hidkdfgonpoaiannijofifhjidbnilbb'>Rozšíření Chrome Chat</a> a <a target='blank' href='https://addons.mozilla.org/en-US/firefox/addon/habitica-chat-client-2/'>Rozšíření Firefox Chat</a>"
}

View File

@@ -7,7 +7,7 @@
"spellWizardEarthNotes": "Din mentale kraft ryster jorden og booster dit Holds Intelligens! (Baseret på: Ikke-boostet INT)",
"spellWizardFrostText": "Isnende Frost",
"spellWizardFrostNotes": "Med en enkelt besværgelse fryser alle dine stribepræstationer til med is, så de ikke nulstilles i morgen! ",
"spellWizardFrostAlreadyCast": " Du har allerede brugt denne evne i dag. Din stribe er frossen, og der er ingen grund til at bruge den igen.",
"spellWizardFrostAlreadyCast": "Du har allerede brugt denne evne i dag. Din stribe er frossen, og der er ingen grund til at bruge den igen.",
"spellWarriorSmashText": "Brutalt Slag",
"spellWarriorSmashNotes": "Du gør en opgave mere blå/mindre rød, og påfører Bosser ekstra skade! (Baseret på: STY)",
"spellWarriorDefensiveStanceText": "Defensiv Stilling",
@@ -25,7 +25,7 @@
"spellRogueStealthText": "Snigen",
"spellRogueStealthNotes": "Hver gang du bruger denne evne, vil nogle få af dine ufærdige Daglige ikke skade dig i løbet af natten. Deres striber og farver vil ikke ændre sig. (Baseret på: OPF)",
"spellRogueStealthDaliesAvoided": "<%= originalText %> Antal daglige opgaver undgået: <%= number %>.",
"spellRogueStealthMaxedOut": " Du har allerede undgået alle dine daglige opgaver; der er ingen grund til at bruge denne evne igen.",
"spellRogueStealthMaxedOut": "Du har allerede undgået alle dine daglige opgaver; der er ingen grund til at bruge denne evne igen.",
"spellHealerHealText": "Helende Lys",
"spellHealerHealNotes": "Et skinnende lys genskaber dit liv! (Baseret på: KON og INT)",
"spellHealerBrightnessText": "Blændende Lys",

View File

@@ -530,7 +530,16 @@
"backgroundHotAirBalloonNotes": "Schwebe über der Landschaft in einem Heißluftballon.",
"backgroundVikingShipNotes": "Setze die Segel für Abenteuer an Bord eines Wikingerschiffes.",
"backgroundVikingShipText": "Wikingerschiff",
"backgroundSaltLakeText": "Salzwassersee",
"backgroundSaltLakeText": "Salzsee",
"backgroundRelaxationRiverText": "Freizeitfluss",
"backgrounds062020": "Set 73: Veröffentlicht im Juni 2020"
"backgrounds062020": "Set 73: Veröffentlicht im Juni 2020",
"backgroundUnderwaterRuinsNotes": "Erkunde seit langem versunkene Unterwasserruinen.",
"backgroundUnderwaterRuinsText": "Unterwasserruinen",
"backgroundSwimmingAmongJellyfishText": "Schwimmen unter Quallen",
"backgroundBeachCabanaNotes": "Entspanne im Schatten einer Strandhütte.",
"backgroundBeachCabanaText": "Strandhütte",
"backgrounds072020": "Set 74: Veröffentlicht im Juli 2020",
"backgroundSwimmingAmongJellyfishNotes": "Nervenkitzel mit Schönheit und Gefahr beim Schwimmen unter Quallen.",
"backgroundRelaxationRiverNotes": "Treibe träge den Freizeitfluss hinunter.",
"backgroundSaltLakeNotes": "Bestaune die erstaunlich roten Wellen eines Salzsees."
}

View File

@@ -116,7 +116,7 @@
"questEggFalconText": "Falkenküken",
"questEggFalconMountText": "Falken-Reittier",
"questEggFalconAdjective": "ein flinkes",
"questEggTreelingText": "Bäumchen",
"questEggTreelingText": "Bäumling",
"questEggTreelingMountText": "Baum-Reittier",
"questEggTreelingAdjective": "ein blättriges",
"questEggAxolotlText": "Axolotl-Jungtier",

View File

@@ -11,7 +11,7 @@
"defaultHabit5Notes": "Oder lösche es über die Bearbeitungs-Ansicht",
"defaultDaily1Text": "Nutze Habitica, um Deine Aufgaben im Blick zu behalten",
"defaultTodo1Text": "Habitica beitreten (Hake mich ab!)",
"defaultTodoNotes": "Du kannst dieses To-Do entweder abhaken, es bearbeiten, oder löschen.",
"defaultTodoNotes": "Du kannst dieses To-Do entweder abhaken, es bearbeiten oder löschen.",
"defaultTodo2Text": "Beende Justins Aufgaben-Tutorial",
"defaultTodo2Notes": "Besuche alle Abschnitte des Balkens am unteren Bildschirmrand",
"defaultReward1Text": "15 Minuten Pause",

View File

@@ -33,9 +33,9 @@
"androidFaqAnswer7": "Wenn Du Level 10 erreichst, kannst Du wählen, ob Du Krieger, Magier, Schurke oder Heiler werden möchtest. (Alle Spieler beginnen standardmäßig als Krieger.) Jede Klasse hat unterschiedliche Ausrüstungsoptionen, unterschiedliche Fähigkeiten, die sie ab Level 11 verwenden können, und unterschiedliche Vorteile. Krieger fügen Bossen leichter Schaden zu, halten mehr Schaden von ihren Aufgaben aus und helfen ihrer Party widerstandsfähiger zu werden. Magier schaden Bossen ebenfalls leichter, steigen schnell Level auf und können Mana für ihre Party wieder auffüllen. Schurken erhalten das meiste Gold, finden die meiste Beute und können ihrer Party helfen, dies ebenfalls zu tun. Heiler können sich selbst und ihre Party heilen. \n\nWenn Du nicht sofort eine Klasse auswählen möchtest -- zum Beispiel, wenn Du gerade dabei bist die gesamte Ausrüstung für Deine aktuelle Klasse zu kaufen -- kannst Du \"Später entscheiden\" klicken und die Klasse unter Menü > Klasse wählen später auswählen.",
"webFaqAnswer7": "Wenn Du Level 10 erreichst, kannst Du wählen, ob Du Krieger, Magier, Schurke oder Heiler werden möchtest. (Alle Spieler beginnen standardmäßig als Krieger). Jede Klasse hat unterschiedliche Ausrüstungsoptionen, unterschiedliche Fähigkeiten, die sie ab Level 11 verwenden können, und unterschiedliche Vorteile. Krieger fügen Bossen leichter Schaden zu, halten mehr Schaden von ihren Aufgaben aus und helfen ihrer Party widerstandsfähiger zu werden. Magier schaden Bossen ebenfalls leichter, steigen schnell Level auf und können Mana für ihre Party wieder auffüllen. Schurken erhalten das meiste Gold, finden die meiste Beute und können ihrer Party helfen, dies ebenfalls zu tun. Heiler können sich selbst und ihre Party heilen.\nWenn Du nicht sofort eine Klasse auswählen möchtest -- zum Beispiel, wenn Du gerade dabei bist die gesamte Ausrüstung für Deine aktuelle Klasse zu kaufen -- kannst Du \"Später entscheiden\" klicken und die Klasse unter Menü > Einstellungen später aktivieren.",
"faqQuestion8": "Was ist das für eine blaue Status-Leiste, die in der Kopfzeile nach Level 10 erscheint?",
"iosFaqAnswer8": "Der blaue Balken, der erschienen ist, als Du Level 10 erreicht hast und eine Klasse gewählt hast, ist Dein Manabalken. Mit dem Erreichen weiterer Level wirst Du spezielle Fähigkeiten freischalten, die Dich Mana kosten. Jede Klasse hat verschiedene Fähigkeiten, die nach Level 11 unter Ausrüstung & Fähigkeiten erscheinen. Im Gegensatz zu Deinem Lebensbalken füllt sich Dein Mana nicht automatisch beim Stufenanstieg wieder auf. Stattdessen füllt sich Dein Mana durch das Erfüllen von Gewohnheiten, Tagesaufgaben und To-Dos wieder auf. Gehst Du schlechten Gewohnheiten nach, verlierst Du dafür Mana. Außerdem regenerierst Du etwas Mana über Nacht -- abhängig von der Anzahl der Tagesaufgaben, die Du erfüllt hast. Je mehr Aufgaben, desto mehr Mana regenerierst Du.",
"androidFaqAnswer8": "Der blaue Balken, der erschienen ist, als Du Level 10 erreicht hast und eine Klasse gewählt hast, ist Dein Manabalken. Mit dem Erreichen weiterer Level wirst Du spezielle Fähigkeiten freischalten, die Dich Mana kosten. Jede Klasse hat verschiedene Fähigkeiten, die nach Level 11 unter Menü > Ausrüstung & Fähigkeiten erscheinen. Im Gegensatz zu Deinem Lebensbalken füllt sich Dein Mana nicht automatisch beim Stufenanstieg wieder auf. Stattdessen füllt sich Dein Mana durch das Erfüllen von Gewohnheiten, Tagesaufgaben und To-Dos wieder auf. Gehst Du schlechten Gewohnheiten nach, verlierst Du dafür Mana. Außerdem regenerierst Du etwas Mana über Nacht -- abhängig von der Anzahl der Tagesaufgaben, die Du erfüllt hast. Je mehr Aufgaben, desto mehr Mana regenerierst Du.",
"webFaqAnswer8": "Die blaue Leiste, die erschien als Du Level 10 erreicht hast und eine Klasse gewählt hast, ist Deine Manaleiste. Während Du weiter im Level aufsteigst, wirst Du spezielle Fähigkeiten freischalten, die Dich beim Benutzen Mana kosten. Jede Klasse hat verschiedene Fähigkeiten, die nach dem 11. Levelaufstieg in der Aktionsleiste unter der Belohnungsspalte erscheinen. Im Gegensatz zu Deiner Lebensleiste füllt sich Dein Mana nicht automatisch beim Stufenanstieg wieder auf. Stattdessen füllt sich Mana durch das Erfüllen Deiner Gewohnheiten, Tagesaufgaben und To-Tos wieder auf, und sie geht verloren, wenn Du schlechten Gewohnheiten nachgehst. Außerdem regenerierst Du etwas Mana über Nacht -- abhängig von der Anzahl der Tagesaufgaben, die Du erfüllt hast. Je mehr Aufgaben, desto mehr Mana regenerierst Du.",
"iosFaqAnswer8": "Der blaue Balken, der erschienen ist, als Du Level 10 erreicht hast und eine Klasse gewählt hast, ist Dein Manabalken. Mit dem Erreichen weiterer Level wirst Du spezielle Fähigkeiten freischalten, die Dich Mana kosten. Jede Klasse hat verschiedene Fähigkeiten, die nach Level 11 unter Ausrüstung & Fähigkeiten erscheinen. Im Gegensatz zu Deinem Lebensbalken füllt sich Dein Mana nicht automatisch beim Stufenanstieg wieder auf. Stattdessen füllt sich Dein Mana durch das Erfüllen von Gewohnheiten, Tagesaufgaben und To-Dos wieder auf. Gehst Du schlechten Gewohnheiten nach, verlierst Du dafür Mana. Außerdem regenerierst Du etwas Mana über Nacht abhängig von der Anzahl der Tagesaufgaben, die Du erfüllt hast. Je mehr Aufgaben, desto mehr Mana regenerierst Du.",
"androidFaqAnswer8": "Der blaue Balken, der erschienen ist, als Du Level 10 erreicht hast und eine Klasse gewählt hast, ist Dein Manabalken. Mit dem Erreichen weiterer Level wirst Du spezielle Fähigkeiten freischalten, die Dich Mana kosten. Jede Klasse hat verschiedene Fähigkeiten, die nach Level 11 unter Menü > Ausrüstung & Fähigkeiten erscheinen. Im Gegensatz zu Deinem Lebensbalken füllt sich Dein Mana nicht automatisch beim Stufenanstieg wieder auf. Stattdessen füllt sich Dein Mana durch das Erfüllen von Gewohnheiten, Tagesaufgaben und To-Dos wieder auf. Gehst Du schlechten Gewohnheiten nach, verlierst Du dafür Mana. Außerdem regenerierst Du etwas Mana über Nacht abhängig von der Anzahl der Tagesaufgaben, die Du erfüllt hast. Je mehr Aufgaben, desto mehr Mana regenerierst Du.",
"webFaqAnswer8": "Der blaue Blaken, der erschienen ist, als Du Level 10 erreicht hast und eine Klasse gewählt hast, ist Dein Manabalken. Mit dem Erreichen weiterer Level wirst Du spezielle Fähigkeiten freischalten, die Dich Mana kosten. Jede Klasse hat verschiedene Fähigkeiten, die nach Level 11 in der Aktionsleiste unter der Belohnungsspalte erscheinen. Im Gegensatz zu Deinem Lebensbalken füllt sich Dein Mana nicht automatisch beim Stufenanstieg wieder auf. Stattdessen füllt sich Mana durch das Erfüllen von Gewohnheiten, Tagesaufgaben und To-Dos wieder auf. Gehst Du schlechten Gewohnheiten nach, verliert Du dafür Mana. Außerdem regenerierst Du etwas Mana über Nacht abhängig von der Anzahl der Tagesaufgaben, die Du erfüllt hast. Je mehr Aufgaben, desto mehr Mana regenerierst Du.",
"faqQuestion9": "Wie bekämpfe ich Monster und gehe auf Quests?",
"iosFaqAnswer9": "Zuerst musst Du eine Party gründen oder einer Party beitreten (siehe oben). Obwohl Du Monster auch alleine bekämpfen kannst, empfehlen wir in einer Party mit anderen Mitspielern zu spielen, da dies die Quests viel einfacher macht. Zusätzlich ist es sehr motivierend einen Freund zu haben, der einen anspornt seine Aufgaben zu erledigen.\n\nAls nächstes benötigst Du eine Questrolle, welche unter Menü > Gegenstände gelagert wird. Es gibt drei Möglichkeiten an Schriftrollen zu kommen: \n\n- Bei Erreichen von Level 15 erhältst Du eine Questreihe, d.h. drei zusammenhängende Quests. Weitere Questreihen werden bei den Leveln 30, 40 und 60 freigeschaltet. \n- Wenn Du Leute in Deine Party einlädst, bekommst Du als Belohnung die Basi-List-Schriftrolle!\n- Du kannst Quests im Quest Shop für Gold und Edelsteine kaufen.\n\nUm den Boss zu bekämpfen oder Gegenstände bei einer Sammelquest zu sammeln, musst Du einfach Deine Aufgaben normal erledigen und sie werden über Nacht in Schaden umgerechnet. (Möglicherweise ist es erforderlich die Seite neu zu laden, um den Effekt auf den Lebensbalken des Bosses zu sehen.) Wenn Du einen Boss bekämpfst und Tagesaufgaben nicht erledigst, wird der Boss eurer Party zur gleichen Zeit Schaden zufügen wie ihr dem Boss.\n\nAb Level 11 erhalten Magier und Krieger Fähigkeiten, welche dem Boss zusätzlichen Schaden zufügen, also sind dies ab Level 10 ausgezeichnete Klassen zu wählen, wenn Du großen Schaden anrichten willst.",
"androidFaqAnswer9": "Zuerst musst Du eine Party gründen oder einer Party beitreten (siehe oben). Obwohl Du Monster auch alleine bekämpfen kannst, empfehlen wir in einer Party mit anderen Mitspielern zu spielen, da dies die Quests viel einfacher macht. Zusätzlich ist es sehr motivierend einen Freund zu haben, der einen anspornt seine Aufgaben zu erledigen.\n\nAls nächstes benötigst Du eine Questrolle, welche unter Menü > Gegenstände gelagert wird. Es gibt drei Möglichkeiten an Schriftrollen zu kommen: \n\n- Bei Erreichen von Level 15 erhältst Du eine Questreihe, d.h. drei zusammenhängende Quests. Weitere Questreihen werden bei den Leveln 30, 40 und 60 freigeschaltet. \n- Wenn Du Leute in Deine Party einlädst, bekommst Du als Belohnung die Basi-List-Schriftrolle!\n- Du kannst Quests im Quest Shop für Gold und Edelsteine kaufen.\n\nUm den Boss zu bekämpfen oder Gegenstände bei einer Sammelquest zu sammeln, musst Du einfach Deine Aufgaben normal erledigen und sie werden über Nacht in Schaden umgerechnet. (Möglicherweise ist es erforderlich die Seite neu zu laden, um den Effekt auf den Lebensbalken des Bosses zu sehen.) Wenn Du einen Boss bekämpfst und Tagesaufgaben nicht erledigst, wird der Boss eurer Party zur gleichen Zeit Schaden zufügen wie ihr dem Boss.\n\nAb Level 11 erhalten Magier und Krieger Fähigkeiten, welche dem Boss zusätzlichen Schaden zufügen, also sind dies ab Level 10 ausgezeichnete Klassen zu wählen, wenn Du großen Schaden anrichten willst.",
@@ -51,7 +51,7 @@
"faqQuestion12": "Wie bekämpfe ich einen Weltboss?",
"iosFaqAnswer12": "Weltbosse sind spezielle Monster, die in der Taverne erscheinen. Alle aktiven Nutzer kämpfen automatisch gegen den Boss und ihre Aufgaben und Fähigkeiten werden dem Boss wie üblich schaden. \n\nDu kannst Dich gleichzeitig in einer normalen Quest befinden. Deine Aufgaben und Fähigkeiten zählen sowohl dem Weltboss wie auch dem Boss/der Sammelquest gegenüber.\n\nEin Weltboss wird niemals Dich oder Deinen Account verletzen. Stattdessen gibt es einen Raserei-Balken, welcher sich füllt, wenn Benutzer ihre Tagesaufgaben auslassen. Wenn der Raserei-Balken gefüllt ist, wird der Weltboss einen der Nicht-Spieler-Charakter der Seite angreifen und ihr Aussehen wird sich verändern. \n\nErfahre mehr über [vergangene Weltbosse](http://habitica.fandom.com/wiki/World_Bosses) im Wiki.",
"androidFaqAnswer12": "Weltbosse sind spezielle Monster, die in der Taverne erscheinen. Alle aktiven Nutzer kämpfen automatisch gegen den Boss und ihre Aufgaben und Fähigkeiten werden dem Boss wie üblich schaden. \n\nDu kannst Dich gleichzeitig in einer normalen Quest befinden. Deine Aufgaben und Fähigkeiten zählen sowohl dem Weltboss wie auch dem Boss/der Sammelquest gegenüber.\n\nEin Weltboss wird niemals Dich oder Deinen Account verletzen. Stattdessen gibt es einen Raserei-Balken, welcher sich füllt, wenn Benutzer ihre Tagesaufgaben auslassen. Wenn der Raserei-Balken gefüllt ist, wird der Weltboss einen der Nicht-Spieler-Charakter der Seite angreifen und ihr Aussehen wird sich verändern. \n\nErfahre mehr über [vergangene Weltbosse](http://habitica.fandom.com/wiki/World_Bosses) im Wiki.",
"webFaqAnswer12": "Weltbosse sind spezielle Monster, die in der Taverne erscheinen. Alle aktiven Benutzer kämpfen automatisch gegen den Boss und ihre Aufgaben und Fähigkeiten werden dem Boss wie üblich schaden. \n\nDu kannst Dich gleichzeitig in einer normalen Quest befinden. Deine Aufgaben und Fähigkeiten zählen sowohl dem Weltboss wie auch dem Boss/der Sammelquest gegenüber. \n\nEin Weltboss wird niemals Dich oder Deinen Account verletzen. Stattdessen hat dieser einen Raserei-Balken, welcher sich füllt, wenn Benutzer ihre Tagesaufgaben nicht erfüllen. Wenn der Raserei-Balken gefüllt ist, wird der Weltboss einen der Nicht-Spieler-Charakter der Seite angreifen und ihr Aussehen wird sich verändern.\n\nDu kannst mehr über [frühere Weltbosse](http://habitica.fandom.com/wiki/World_Bosses) im Wiki erfahren.",
"webFaqAnswer12": "Weltbosse sind spezielle Monster, die in der Taverne erscheinen. Alle aktiven Benutzer kämpfen automatisch gegen den Boss und ihre Aufgaben und Fähigkeiten werden dem Boss wie üblich schaden. Du kannst Dich gleichzeitig in einer normalen Quest befinden. Deine Aufgaben und Fähigkeiten zählen sowohl dem Weltboss wie auch dem Boss/der Sammelquest gegenüber. Ein Weltboss wird niemals Dich oder Deinen Account verletzen. Stattdessen hat dieser einen Raserei-Balken, welcher sich füllt, wenn Benutzer ihre Tagesaufgaben nicht erfüllen. Wenn der Raserei-Balken gefüllt ist, wird der Weltboss einen der Nicht-Spieler-Charakter der Seite angreifen und ihr Aussehen wird sich verändern. Du kannst mehr über [frühere Weltbosse](https://habitica.fandom.com/de/wiki/Weltbosse) im Wiki erfahren.",
"iosFaqStillNeedHelp": "Wenn Du eine Frage hast, die hier oder im [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ) nicht beantwortet wurde, stelle sie in der Taverne unter Menü > Tavernen-Chat! Wir helfen Dir gerne.",
"androidFaqStillNeedHelp": "Wenn Du eine Frage hast, die hier oder im [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ) nicht beantwortet wurde, stelle sie in der Taverne unter Menü > Tavernen-Chat! Wir helfen Dir gerne.",
"webFaqStillNeedHelp": "Wenn Du eine Frage hast, die hier oder im [Wiki-FAQ](http://habitica.fandom.com/wiki/FAQ) nicht beantwortet wurde, stelle sie in der [Habitica-Hilfe-Gilde](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Wir helfen Dir gerne."

View File

@@ -4,7 +4,7 @@
"accept1Terms": "Durch Klicken auf diesen Knopf, stimme ich den",
"accept2Terms": "zu, sowie der",
"alexandraQuote": "Ich konnte während meiner Rede in Madrid nicht NICHT über [Habitica] reden. Ein absolutes Muss für Freiberufler, die trotzdem einen Chef brauchen.",
"althaireQuote": "Kontinuierlich eine Quest zu haben, motiviert mich dazu alle meine Tagesaufgaben und To-Dos zu erledigen. Meine größte Motivation ist, meine Party nicht im Stich zu lassen.",
"althaireQuote": "Kontinuierlich eine Quest zu haben, motiviert mich dazu, alle meine Tagesaufgaben und To-Dos zu erledigen. Meine größte Motivation ist, meine Party nicht im Stich zu lassen.",
"andeeliaoQuote": "Großartiges Produkt, ich habe gerade erst vor einigen Tagen angefangen und gehe jetzt schon bewusster und produktiver mit meiner Zeit um!",
"autumnesquirrelQuote": "Ich schiebe bei der Arbeit und im Haushalt weniger auf und zahle meine Rechnungen rechtzeitig.",
"businessSample1": "1 Seite des Inventars überprüfen",
@@ -311,7 +311,7 @@
"gamifyYourLife": "Mach Dein Leben zum Spiel",
"aboutHabitica": "Habitica ist eine kostenlose Anwendung zur Gewohnheitsbildung und Steigerung der Produktivität, die Dein Leben wie ein Spiel behandelt. Mit Belohnungen und Bestrafungen als Motivation und einem starken sozialen Netzwerk als Inspiration kann Habitica Dir helfen, Deine Ziele zu erreichen und gesund, fleißig und glücklich zu werden.",
"trackYourGoals": "Behalte den Überblick über Deine Gewohnheiten und Ziele",
"trackYourGoalsDesc": "Bleibe verantwortungsbewusst indem Du Deine Gewohnheiten, Tagesaufgaben und To-Dos mit Habiticas benutzerfreundlichen Mobile Apps und der Webseite trackst und organisierst.",
"trackYourGoalsDesc": "Bleibe verantwortungsbewusst, indem Du Deine Gewohnheiten, Tagesaufgaben und To-Dos mit Habiticas benutzerfreundlichen Mobile Apps und der Webseite trackst und organisierst.",
"earnRewards": "Verdiene Belohnungen für Deine Ziele",
"earnRewardsDesc": "Erledige Aufgaben um Deinen Avatar aufzuleveln und schalte Spielfunktionen wie zum Beispiel Schlacht-Rüstungen, mysteriöse Haustiere, magische Fähigkeiten und sogar Quests frei!",
"battleMonsters": "Bezwinge Monster mit Freunden",

View File

@@ -228,7 +228,7 @@
"weaponSpecialSpring2017HealerNotes": "Die eigentliche Magie dieses Zauberstabs ist das Geheimnis neuen Lebens in der farbenfrohen Schale. Erhöht Intelligenz um <%= int %>. Limitierte Ausgabe 2017 Frühlingsausrüstung.",
"weaponSpecialSummer2017RogueText": "Seedrachenflosse",
"weaponSpecialSummer2017RogueNotes": "Der Rand dieser Flosse ist rasiermesserscharf. Erhöht Stärke um <%= str %>. Limitierte Ausgabe 2017 Sommerausrüstung.",
"weaponSpecialSummer2017WarriorText": "Der Mächtigste Sonnenschirm",
"weaponSpecialSummer2017WarriorText": "Mächtigster Sonnenschirm",
"weaponSpecialSummer2017WarriorNotes": "Alle fürchten ihn. Erhöht Stärke um <%= str %>. Limitierte Ausgabe 2017 Sommerausrüstung.",
"weaponSpecialSummer2017MageText": "Whirlpool-Peitschen",
"weaponSpecialSummer2017MageNotes": "Beschwöre magische Peitschen aus blubberndem Wasser, um Deine Aufgaben zu züchtigen! Erhöht Intelligenz um <%= int %> und Wahrnehmung um <%= per %>. Limitierte Ausgabe 2017 Sommerausrüstung.",
@@ -2123,5 +2123,11 @@
"headSpecialSummer2020RogueText": "Krokodilhelm",
"armorSpecialSummer2020MageText": "Riemenfisch",
"armorSpecialSummer2020WarriorText": "Regenbogenforellenschwanz",
"armorSpecialSummer2020RogueNotes": "Ein Krokodil ist ein geborener Schurke, so wie es auf den perfekten Moment wartet, um zuzuschlagen. Leihe Dir ihre Fähigkeiten - und ihre explosive Geschwindigkeit. Erhöht Wahrnehmung um <%= per %>. Limitierte Ausgabe 2020 Sommerausrüstung."
"armorSpecialSummer2020RogueNotes": "Ein Krokodil ist ein geborener Schurke, so wie es auf den perfekten Moment wartet, um zuzuschlagen. Leihe Dir ihre Fähigkeiten - und ihre explosive Geschwindigkeit. Erhöht Wahrnehmung um <%= per %>. Limitierte Ausgabe 2020 Sommerausrüstung.",
"headMystery202007Text": "Spektakulärer Schwertwalhelm",
"armorMystery202007Text": "Spektakuläres Schwertwalkostüm",
"shieldArmoirePiratesCompanionNotes": "Perfekt, wenn Du Deine Gegner totquatschen willst, denn dieser Papagei hält nie den Schnabel. Vielleicht wird er Dich auch an Deine Aufgaben erinnern! Erhöht Wahrnehmung um <%= per %>. Verzauberter Schrank: Piraten-Set (Gegenstand 3 von 3).",
"shieldArmoirePiratesCompanionText": "Piratenkamerad",
"armorArmoirePirateOutfitText": "Piraten Montur",
"weaponArmoireHandyHookText": "Handlicher Haken"
}

View File

@@ -45,7 +45,7 @@
"icicleDrakeSet": "Eiszapfendrache (Schurke)",
"soothingSkaterSet": "Beruhigender Eisläufer (Heiler)",
"gingerbreadSet": "Lebkuchen (Krieger)",
"snowDaySet": "Schneetag-Krieger (Krieger)",
"snowDaySet": "Schneetag (Krieger)",
"snowboardingSet": "Snowboard-Hexer (Magier)",
"festiveFairySet": "Festliche Fee (Heiler)",
"cocoaSet": "Kakao (Schurke)",

View File

@@ -122,7 +122,7 @@
"skillsTitle": "Fertigkeiten",
"toDo": "To-Do",
"moreClass": "Mehr Informationen zu dem Klassen-System erhältst du auf <a href='http://habitica.fandom.com/wiki/Class_System' target='_blank'>Wikia</a>.",
"tourWelcome": "Willkommen in Habitica! Dies ist Deine Aufgabenliste. Hake eine Aufgabe ab, um weiterzumachen!",
"tourWelcome": "Willkommen in Habitica! Dies ist Deine To-Do-Liste. Hake ein To-Do ab, um weiterzumachen!",
"tourExp": "Gut gemacht! Eine Aufgabe abzuhaken bringt Dir Erfahrung und Gold ein!",
"tourDailies": "Diese Spalte ist für Tagesaufgaben. Um weiterzumachen füge eine Aufgabe hinzu, die Du jeden Tag erledigen möchtest. <strong>Beispiele für Tagesaufgaben sind</strong>: <strong>Das Bett machen</strong>, <strong>Zahnseide benutzen</strong>, <strong>Geschäfts-E-Mails durchschauen</strong>",
"tourCron": "Großartig! Deine Tagesaufgaben werden jeden Tag zurückgesetzt.",

View File

@@ -49,8 +49,8 @@
"bossDmg2": "Nur Teilnehmer kämpfen gegen den Boss und bekommen ihren Anteil an der Beute.",
"bossDmg1Broken": "Jede erledigte Tagesaufgabe, jedes To-Do und jede positive Gewohnheit fügt dem Boss Schaden zu… Mit röteren Aufgaben, Gewaltschlag oder Flammenstoß kannst Du ihm noch stärkeren Schaden zufügen… Für jede Tagesaufgabe, die Du nicht erledigt hast, wird der Boss jedem Teilnehmer der Quest Schaden zufügen (multipliziert mit der Stärke des Bosses) der zu Deinem normalen Schaden noch dazukommt. Sorge deshalb dafür, dass Deine Gruppe gesund bleibt, indem Du Deine Tagesaufgaben erledigst… <strong>Jeder Schaden, der dem Boss zugefügt wird und den er zufügt, wird zu Cron berechnet (Dein individueller Tagesbeginn)…</strong>",
"bossDmg2Broken": "Nur Teilnehmer kämpfen gegen den Boss und erhalten ihren Anteil an der Beute…",
"tavernBossInfo": "Erledige Tagesaufgaben und To-Dos und punkte mit guten Gewohnheiten, um dem Weltboss zu schaden! Unerledigte Tagesaufgaben füllen die Rasereileiste. Wenn sie voll ist, greift der Weltboss einen NPC an. Ein Weltboss wird niemals einzelnen Spielern oder Accounts auf irgendeine Weise schaden. Nur die Aufgaben aktiver Accounts, welche sich nicht im Gasthaus erholen, werden aufsummiert.",
"tavernBossInfoBroken": "Erledige Tagesaufgaben und To-Dos und punkte mit guten Gewohnheiten, um dem Weltboss zu schaden… Unerledigte Tagesaufgaben füllen die Erschöpfungsschlagleiste… Wenn sie voll ist, greift der Weltboss einen NPC an… Ein Weltboss wird niemals einzelnen Spielern oder Accounts auf irgendeine Weise schaden… Nur die Aufgaben aktiver Accounts, welche sich nicht im Gasthaus erholen, werden aufsummiert…",
"tavernBossInfo": "Erledige Tagesaufgaben und To-Dos und punkte mit guten Gewohnheiten, um dem Weltboss zu schaden! Unerledigte Tagesaufgaben füllen den Raserei-Balken. Wenn er voll ist, greift der Weltboss einen NPC an. Ein Weltboss wird niemals einzelnen Spielern oder Accounts auf irgendeine Weise schaden. Nur die Aufgaben aktiver Accounts, welche sich nicht im Gasthaus erholen, werden aufsummiert.",
"tavernBossInfoBroken": "Erledige Tagesaufgaben und To-Dos und punkte mit guten Gewohnheiten, um dem Weltboss zu schaden… Unerledigte Tagesaufgaben füllen den Erschöpfungsschlagbalken… Wenn er voll ist, greift der Weltboss einen NPC an… Ein Weltboss wird niemals einzelnen Spielern oder Accounts auf irgendeine Weise schaden… Nur die Aufgaben aktiver Accounts, welche sich nicht im Gasthaus erholen, werden aufsummiert…",
"bossColl1": "Erledige Deine positiven Aufgaben, um Gegenstände zu sammeln. Quest-Gegenstände erhältst Du so wie normale Gegenstände; Du kannst Deine Quest-Gegenstände betrachten, indem Du mit der Maus über den Quest-Fortschritt fährst.",
"bossColl2": "Nur Teilnehmer können Gegenstände sammeln und erhalten ihren Anteil an der Beute.",
"bossColl1Broken": "Erledige Deine positiven Aufgaben, um Gegenstände zu sammeln… Quest-Gegenstände erhältst Du so wie normale Gegenstände; Du kannst Deine Quest-Gegenstände betrachten, indem Du mit der Maus über den Quest-Fortschritt fährst…",

View File

@@ -24,7 +24,7 @@
"spellRogueToolsOfTradeNotes": "Deine listigen Talente heben die Wahrnehmung der gesamten Party! (Basiert auf: Wahrnehmung ohne Boni)",
"spellRogueStealthText": "Schleichen",
"spellRogueStealthNotes": "Mit jeder Anwendung werden einige Deiner unerledigten Tagesaufgaben keinen Schaden verursachen. Ihre Strähnen und Farben bleiben erhalten. (Basiert auf: Wahrnehmung)",
"spellRogueStealthDaliesAvoided": "<%= originalText %> <%= number %> Tagesaufgaben ausgewichen.",
"spellRogueStealthDaliesAvoided": "<%= originalText %> <%= number %> Tagesaufgaben wird ausgewichen.",
"spellRogueStealthMaxedOut": "Du bist all Deinen Tagesaufgaben bereits ausgewichen; Du brauchst diese Fähigkeit nicht erneut anzuwenden.",
"spellHealerHealText": "Heilendes Licht",
"spellHealerHealNotes": "Gleißendes Licht heilt Dich! (Basiert auf: Ausdauer und Intelligenz)",

View File

@@ -250,5 +250,6 @@
"mysterySet202003": "Stachliges Streitgewandset",
"mysterySet202004": "Mächtiger-Monarch-Set",
"mysterySet202005": "Wunderliches Wyvern-Set",
"mysterySet202006": "Mehrfarbiges Meermenschenset"
"mysterySet202006": "Mehrfarbiges Meermenschenset",
"mysterySet202007": "Spektakuläres Schwertwalset"
}

View File

@@ -211,5 +211,7 @@
"sessionOutdated": "Deine Sitzung ist abgelaufen. Bitte lade oder synchronisiere die Seite neu.",
"errorTemporaryItem": "Dieser Gegenstand ist nur temporär verfügbar und kann nicht gepinnt werden.",
"addNotes": "Notizen hinzufügen",
"addATitle": "Überschrift hinzufügen"
"addATitle": "Überschrift hinzufügen",
"sureDeleteType": "Möchtest Du diese <%= type %> wirklich löschen?",
"deleteTaskType": "Diese <%= type %> löschen"
}

View File

@@ -126,9 +126,9 @@
"backgrounds112015": "ΣΕΤ 18: Κυκλοφόρησε Νοέμβριο 2015",
"backgroundFloatingIslandsText": "Ιπτάμενα νησιά",
"backgroundFloatingIslandsNotes": "Χοροπήδα απέναντι στα Ιπτάμενα νησιά",
"backgroundNightDunesText": "Βραδινοί αμμόλοφοι ",
"backgroundNightDunesText": "Βραδινοί αμμόλοφοι",
"backgroundNightDunesNotes": "Πέρνα ήρεμα μέσα από τους Βραδινούς Αμμόλοφους",
"backgroundSunsetOasisText": "Όαση Ηλιοβασιλέματος ",
"backgroundSunsetOasisText": "Όαση Ηλιοβασιλέματος",
"backgroundSunsetOasisNotes": "Απόλαυσε την όαση ηλιοβασιλέματος.",
"backgrounds122015": "ΣΕΤ 19: Κυκλοφόρησε Δεκέμβριο 2015",
"backgroundAlpineSlopesText": "Αλπικές Πλαγιές",
@@ -139,20 +139,20 @@
"backgroundWinterTownNotes": "Πέρνα από την Χειμερινή Πόλη.",
"backgrounds012016": "ΣΕΤ 20: Κυκλοφόρησε Ιανουάριο 2016",
"backgroundFrozenLakeText": "Παγωμένη Λίμνη",
"backgroundFrozenLakeNotes": "κάνετε πατινάζ σε μια παγωμένη λίμνη ",
"backgroundFrozenLakeNotes": "κάνετε πατινάζ σε μια παγωμένη λίμνη",
"backgroundSnowmanArmyText": "στρατός από χιονάνθρωπους",
"backgroundSnowmanArmyNotes": "Οδήγησε τον Στρατό Χιονανθρώπων.",
"backgroundWinterNightText": "Χειμωνιάτικη Νύχτα ",
"backgroundWinterNightNotes": "Κοιτάξτε τα αστέρια μια χειμωνιάτικη νύχτα ",
"backgroundWinterNightText": "Χειμωνιάτικη Νύχτα",
"backgroundWinterNightNotes": "Κοιτάξτε τα αστέρια μια χειμωνιάτικη νύχτα",
"backgrounds022016": "ΣΕΤ 21: Κυκλοφόρησε Φεβρουάριο 2016",
"backgroundBambooForestText": "Δάσος με μπαμπού",
"backgroundBambooForestNotes": "Κάνε βόλτα μέσα από το Δάσος Bamboo. ",
"backgroundBambooForestNotes": "Κάνε βόλτα μέσα από το Δάσος Bamboo.",
"backgroundCozyLibraryText": "Χουχουλιάρικη Βιβλιοθήκη",
"backgroundCozyLibraryNotes": "Διάβασε στην Χουχουλιάρικη Βιβλιοθήκη.",
"backgroundGrandStaircaseText": "Μεγαλοπρεπή Σκάλα",
"backgroundGrandStaircaseNotes": "Τσούλα στην Μεγαλοπρεπή Σκάλα.",
"backgrounds032016": "ΣΕΤ 22: Κυκλοφόρησε Μάρτιο 2016",
"backgroundDeepMineText": "Βαθύ Ορυχείο ",
"backgroundDeepMineText": "Βαθύ Ορυχείο",
"backgroundDeepMineNotes": "Βρες πολύτιμα μέταλλα στο Βαθύ Ορυχείο.",
"backgroundRainforestText": "Τροπικό Δάσος",
"backgroundRainforestNotes": "Εξόρμα σε ένα Τροπικό Δάσος",
@@ -180,10 +180,10 @@
"backgroundWaterfallRockText": "Καταρρακτώδες Βράχος",
"backgroundWaterfallRockNotes": "Πλατσούρισε σε ένα Βραχώδη Καταρράχτη",
"backgrounds072016": "ΣΕΤ 26: Κυκλοφόρησε Ιούλιος 2016",
"backgroundAquariumText": "Ενυδρείο ",
"backgroundAquariumText": "Ενυδρείο",
"backgroundAquariumNotes": "Ο μπομπ σε ένα ενυδρείο.",
"backgroundDeepSeaText": "Βαθιά Θάλασσα ",
"backgroundDeepSeaNotes": "Βούτα στην Βαθιά Θάλασσα ",
"backgroundDeepSeaText": "Βαθιά Θάλασσα",
"backgroundDeepSeaNotes": "Βούτα στην Βαθιά Θάλασσα",
"backgroundDilatoryCastleText": "Κάστρο της Αναβολίας",
"backgroundDilatoryCastleNotes": "Κολύμπησε μπροστά στο Κάστρο της Αναβολίας",
"backgrounds082016": "Σετ 27: Κυκλοφόρησε τον Αύγουστο 2016",
@@ -191,21 +191,21 @@
"backgroundIdyllicCabinNotes": "Υποχώρησε σε μια ειδυλλιακή καμπίνα.",
"backgroundMountainPyramidText": "Πυραμιδώδες Βουνό",
"backgroundMountainPyramidNotes": "Σκαρφάλωσε τα πολλά σκαλιά ενός Πυραμιδώδες Βουνού.",
"backgroundStormyShipText": "Πλοίο Καταιγίδων ",
"backgroundStormyShipText": "Πλοίο Καταιγίδων",
"backgroundStormyShipNotes": "Κράτα γερά ενάντια του αέρα και κυμάτων στο κατάστρωμα ενός Πλοίου Καταιγίδων.",
"backgrounds092016": "ΣΕΤ 28: Κυκλοφόρησε τον Σεπτέμβριο 2016",
"backgroundCornfieldsText": "Καλαμποκοχώραφα",
"backgroundCornfieldsNotes": "Απόλαυσε μία όμορφη μέρα έξω στα καλαμποκοχώραφα.",
"backgroundFarmhouseText": "Φάρμα ",
"backgroundFarmhouseText": "Φάρμα",
"backgroundFarmhouseNotes": "Χαιρέτα τα ζώα στο δρόμο σου προς την φάρμα.",
"backgroundOrchardText": "Οπωρώνας ",
"backgroundOrchardText": "Οπωρώνας",
"backgroundOrchardNotes": "Μάζεψε τα ώριμα φρούτα σε έναν οπωρώνα.",
"backgrounds102016": "ΣΕΤ 29: Κυκλοφόρησε τον Οκτώβριο 2016",
"backgroundSpiderWebText": "Ιστός Αράχνης ",
"backgroundSpiderWebText": "Ιστός Αράχνης",
"backgroundSpiderWebNotes": "Ξέσκισε τον Ιστό της Αράχνης",
"backgroundStrangeSewersText": "Περίεργοι Υπόνομοι",
"backgroundStrangeSewersNotes": "Γλίστρα μέσα απο τους Περίεργους Υπόνομους",
"backgroundRainyCityText": "Βροχώδες Πόλη ",
"backgroundRainyCityText": "Βροχώδες Πόλη",
"backgroundRainyCityNotes": "Πλατσούρισε στη Βροχερή Πόλη",
"backgrounds112016": "ΣΕΤ 30: Κυκλοφόρησε τον Νοέμβριο 2016",
"backgroundMidnightCloudsText": "Μεσονύκτια σύννεφα",
@@ -229,7 +229,7 @@
"backgroundYellowNotes": "Ένα νόστιμο κίτρινο φόντο.",
"backgrounds122016": "ΣΕΤ 31: Κυκλοφόρησε τον Δεκέμβριο 2016",
"backgroundShimmeringIcePrismText": "Αστραφτερά Παγοπρίσματα",
"backgroundShimmeringIcePrismNotes": "Χόρεψε μέσα από τα Αστραφτερά Παγοπρίσματα ",
"backgroundShimmeringIcePrismNotes": "Χόρεψε μέσα από τα Αστραφτερά Παγοπρίσματα",
"backgroundWinterFireworksText": "Χειμερινά Πυροτεχνήματα",
"backgroundWinterFireworksNotes": "Άναψε τα Χειμερινά Πυροτεχνήματα.",
"backgroundWinterStorefrontText": "Χειμερινό Μαγαζί",
@@ -349,7 +349,7 @@
"backgrounds052018": "ΣΕΤ 48: Κυκλοφόρησε Μάιο 2018",
"backgroundTerracedRiceFieldText": "Βαθμιδωτό Χωράφι Ρυζιού",
"backgroundTerracedRiceFieldNotes": "Απολαύστε ένα Βαθμιδωτό Χωράφι Ρυζιού στην περίοδο της καλλιέργειας.",
"backgroundFantasticalShoeStoreText": "Φανταστικό Υποδηματοπωλείο ",
"backgroundFantasticalShoeStoreText": "Φανταστικό Υποδηματοπωλείο",
"backgroundFantasticalShoeStoreNotes": "Αναζητήστε για διασκεδαστικά νέα υποδήματα στο Φανταστικό Υποδηματοπωλείο.",
"backgroundChampionsColosseumText": "Το Κολοσσαίο των Πρωταθλητών",
"backgroundChampionsColosseumNotes": "Απολαύστε το μεγαλείο του Κολοσσαίου των Πρωταθλητών.",

View File

@@ -27,7 +27,7 @@
"commGuidePara020A": "<strong>Εάν δείτε μια δημοσίευση που πιστεύετε παραβιάζει τους κανονισμούς δημοσίων χώρων που παραθέτονται παραπάνω ή αν δείτε κάποια ανάρτηση που σας προβληματίζει ή σας κάνει να νιώθετε άβολα, μπορείτε να το επιστήσετε στην προσοχή των Διαχειριστών ή του Προσωπικού πατώντας το εικονίδιο της σημαίας για να τον αναφέρετε</strong>. Κάποιο μέλος του Προσωπικού ή κάποιος Διαχειριστής θα ανταποκριθεί στην υπόθεση το συντομότερο δυνατόν. Παρακαλώ να σημειωθεί πως εσκεμμένη αναφορά αθώων αναρτήσεων είναι παράβαση αυτών των κανονισμών (δείτε παρακάτω στις \"Παραβάσεις\"). Τα ΠΜ δε μπορούν να αναφερθούν αυτή τη δεδομένη στιγμή, έτσι αν χρειαστεί να αναφέρετε ένα ΠΜ, παρακαλώ επικοινωνήστε με τους Διαχειριστές μέσω της φόρμας στη σελίδα \"Επικοινωνήστε μαζί μας\", στην οποία μπορείτε να έχετε πρόσβαση μέσω του μενού βοήθειας κάνοντας κλικ στο \"<a href='http://contact.habitica.com/' target='_blank'>Επικοινωνήστε με την Ομάδα Διαχείρισης</a>\". Αυτό θα θέλατε να το κάνετε στη περίπτωση που υπάρχουν πολλές προβληματικές αναρτήσεις από το ίδιο άτομο σε διαφορετικές Συντεχνίες ή αν η περίπτωση χρειάζεται κάποια περαιτέρω επεξήγηση. Μπορείτε να επικοινωνήσετε μαζί μας στη μητρική σας γλώσσα αν σας είναι πιο εύκολο: ίσως χρειαστεί να χρησιμοποιήσουμε το Google Translate, αλλά θέλουμε να μπορείτε να επικοινωνήσετε μαζί μας με άνεση αν έχετε οποιοδήποτε πρόβλημα.",
"commGuidePara021": "Επιπλέον, κάποιοι δημόσιοι χώροι στη Habitica έχουν επιπρόσθετους κανονισμούς.",
"commGuideHeadingTavern": "Η Ταβέρνα",
"commGuidePara022": "Η Ταβέρνα είναι το κύριο σημείο για να σμίξουν οι Χαμπιτικανοί. Ο Daniel ο Πανδοχέας κρατάει το μέρος πεντακάθαρο και η Lemoness θα εμφανίσει, με ευχαρίστηση, λεμονάδα, ως δια μαγείας, όσο κάθεστε και συζητάτε. Απλά να θυμάστε...",
"commGuidePara022": "Η Ταβέρνα είναι το κύριο σημείο για να σμίξουν οι Χαμπιτικανοί. Ο Daniel ο Πανδοχέας κρατάει το μέρος πεντακάθαρο και η Lemoness θα εμφανίσει, με ευχαρίστηση, λεμονάδα, ως δια μαγείας, όσο κάθεστε και συζητάτε. Απλά να θυμάστε",
"commGuidePara023": "<strong>Η συζήτηση τείνει να περιστρέφεται γύρω από χαλαρές συνομιλίες και από συμβουλές για τη βελτίωση της παραγωγικότητας ή της ζωής</strong>. Επειδή η συνομιλία της Ταβέρνας μπορεί να συγκρατήσει μόνο 200 μηνύματα, <strong>δεν είναι καλό μέρος για παρατεταμένες συζητήσεις πάνω σε θέματα, ιδιαίτερα αν είναι ευαίσθητα</strong> (π.χ. πολιτική, θρησκεία, κατάθλιψη, αν πρέπει να απαγορευτεί ή όχι το κυνήγι καλικάντζαρων, κλπ.). Αυτές οι συζητήσεις θα πρέπει να γίνονται σε κάποια σχετική Συντεχνία. Ένας διαχειριστής μπορεί να σας κατευθύνει σε μια κατάλληλη Συντεχνία, αλλά τελικώς είναι δική σας υπευθυνότητα να βρείτε το αρμόζον μέρος και να αναρτήσετε.",
"commGuidePara024": "<strong>Μην συζητάτε για οτιδήποτε εθιστικό στη Ταβέρνα</strong>. Πολλοί άνθρωποι χρησιμοποιούν τη Habitica στην προσπάθεια να κόψουν τις κακές τους Συνήθειες. Το να ακούν ανθρώπους να συζητούν για εθιστικές/παράνομες ουσίες μπορεί να τους το κάνει πολύ πιο δύσκολο! Σεβαστείτε τους υπόλοιπους συντρόφους και θαμώνες της Ταβέρνας και λάβετε κι αυτό υπόψιν. Αυτό συμπεριλαμβάνει, αλλά όχι αποκλειστικά: το κάπνισμα, το αλκοόλ, την πορνογραφία, τον τζόγο και τη χρήση/κατάχρηση ναρκωτικών.",
"commGuidePara027": "<strong>Όταν ένας διαχειριστής σας κατευθύνει να μεταφέρετε τη συζήτηση σας κάπου αλλού, αν δεν υπάρχει σχετική Συντεχνία, μπορεί να σας προτείνουν να χρησιμοποιήσετε τη Πίσω Γωνία</strong>. Η Συντεχνία της Πίσω Γωνίας είναι ένας ελεύθερος δημόσιος χώρος για τη συζήτηση εν δυνάμει ευαίσθητων θεμάτων που μπορεί να χρησιμοποιηθεί μόνο όταν σας κατευθύνει κάποιος διαχειριστής. Παρακολουθείται προσεκτικά από την ομάδα διαχείρισης. Δεν είναι μέρος για γενικές συζητήσεις ή διάλογο και θα κατευθύνεστε εκεί από κάποιον διαχειριστή μονό όταν κριθεί απαραίτητο.",

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "Το <%= foodText %> πραγματικά άρεσε στο <%= egg %>!",
"messageDontEnjoyFood": "Το <%= egg %> έφαγε το <%= foodText %> αλλά δε φαίνεται να του άρεσε.",
"messageBought": "Ο/Η/Το <%= itemText %> αγοράστηκε",
"messageEquipped": "<%= itemText %> εξοπλίστηκς.",
"messageEquipped": " <%= itemText %> εξοπλίστηκς.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "Σου λείπει είτε αυτό το αυγό ή αυτό το φίλτρο",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -141,5 +141,8 @@
"clickOnPotionToHatch": "Click on a hatching potion to use it on your <%= eggName %> and hatch a new pet!",
"notEnoughPets": "You have not collected enough pets",
"notEnoughMounts": "You have not collected enough mounts",
"notEnoughPetsMounts": "You have not collected enough pets and mounts"
"notEnoughPetsMounts": "You have not collected enough pets and mounts",
"notEnoughFood": "You don't have enough food",
"tooMuchFood": "You're trying to feed too much food to your pet, action cancelled",
"invalidAmount": "Invalid amount of food, must be a positive integer"
}

View File

@@ -439,17 +439,17 @@
"managerRemoved": "Manager removed successfully",
"leaderChanged": "Leader has been changed",
"groupNoNotifications": "This Fleet does nah 'ave notifications due t' hand size. Be sure t' check back often fer replies t' yer messages!",
"whatIsWorldBoss": "What is a World Boss?",
"worldBossDesc": "A World Boss is a special event that brings the Habitica community together to take down a powerful monster with their tasks! All Habitica users are rewarded upon its defeat, even those who have been resting in the Inn or have not used Habitica for the entirety of the quest.",
"worldBossLink": "Read more about the previous World Bosses of Habitica on the Wiki.",
"worldBossBullet1": "Complete tasks to damage the World Boss",
"worldBossBullet2": "The World Boss wont damage you for missed tasks, but its Rage meter will go up. If the bar fills up, the Boss will attack one of Habiticas shopkeepers!",
"worldBossBullet3": "You can continue with normal Quest Bosses, damage will apply to both",
"whatIsWorldBoss": "What be a World Boss?",
"worldBossDesc": "A World Boss be a special event that brings th' Habitica community tagether t' take down a pow'rful monster with their tasks! All Habitica users are rewarded upon its defeat, e'en those who've been restin' in th' Inn or 'ave not used Habitica fer the entirety o' th' quest.",
"worldBossLink": "Read more about th' previous World Bosses o' Habitica on th' Wiki.",
"worldBossBullet1": "Complete tasks ta damage th' World Boss",
"worldBossBullet2": "Th' World Boss wont damage ye fer missed tasks, but its Rage meter'll go up. Iffen th' bar fills up, th' Boss'll attack one o' Habiticas shopkeepers!",
"worldBossBullet3": "Ye kin continue wiv normal Quest Bosses, an' damage'll apply ta both",
"worldBossBullet4": "Check th' Pub regularly t' see World Boss progress 'n Rage attacks",
"worldBoss": "World Boss",
"groupPlanTitle": "Need more for your crew?",
"groupPlanDesc": "Managing a small team or organizing household chores? Our group plans grant you exclusive access to a private task board and chat area dedicated to you and your group members!",
"billedMonthly": "*billed as a monthly subscription",
"groupPlanTitle": "Need more fer yer crew?",
"groupPlanDesc": "Managin' a small team or organizin' household chores? Our group plans grant ye exclusive access t' a private task board an' chat area dedicated ta ye an' yer group members!",
"billedMonthly": "*billed as a monthly sub-scription",
"teamBasedTasksList": "Team-Based Task List",
"teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!",
"groupManagementControls": "Group Management Controls",

View File

@@ -7,7 +7,7 @@
"spellWizardEarthNotes": "Yer mental power shakes th' seas n' buffs yer Crew's Intelligence! (Based on: Unbuffed INT)",
"spellWizardFrostText": "Chillin' Frost",
"spellWizardFrostNotes": "With one cast, ice freezes all yer streaks so they won't reset t' zero tomorrow! ",
"spellWizardFrostAlreadyCast": " Ye 'ave already cast this today. Yer streaks are frozen, n' there's no need t' cast this again.",
"spellWizardFrostAlreadyCast": "Ye 'ave already cast this today. Yer streaks are frozen, n' there's no need t' cast this again.",
"spellWarriorSmashText": "Dead Men Tell No Tales",
"spellWarriorSmashNotes": "Ye make a task more blue/less red n' deal extra damage t' Bosses! (Based on: STR)",
"spellWarriorDefensiveStanceText": "Parryin' Stance",
@@ -25,7 +25,7 @@
"spellRogueStealthText": "Stealth",
"spellRogueStealthNotes": "Wit' each cast, a few o' yer undone Dailies won't cause damage tonight. Their streaks n' colors won't change. (Based on: PER)",
"spellRogueStealthDaliesAvoided": "<%= originalText %> Number o' dailies avoided: <%= number %>.",
"spellRogueStealthMaxedOut": " Ye 'ave already avoided all yer dailies; there's no need t' cast this again.",
"spellRogueStealthMaxedOut": "Ye 'ave already avoided all yer dailies; there's no need t' cast this again.",
"spellHealerHealText": "Patch Yerself Up",
"spellHealerHealNotes": "Shinin' light restores yer health! (Based on: CON and INT)",
"spellHealerBrightnessText": "Head Mirror",

View File

@@ -534,5 +534,12 @@
"backgroundSaltLakeText": "Salt Lake",
"backgroundRelaxationRiverNotes": "Drift languorously down the Relaxation River.",
"backgroundRelaxationRiverText": "Relaxation River",
"backgrounds062020": "SET 73: Released June 2020"
"backgrounds062020": "SET 73: Released June 2020",
"backgroundUnderwaterRuinsNotes": "Explore Underwater Ruins sunk long ago.",
"backgroundUnderwaterRuinsText": "Underwater Ruins",
"backgroundSwimmingAmongJellyfishNotes": "Thrill with beauty and danger Swimming Among Jellyfish.",
"backgroundSwimmingAmongJellyfishText": "Swimming Among Jellyfish",
"backgroundBeachCabanaNotes": "Relax in the shade of a Beach Cabana.",
"backgroundBeachCabanaText": "Beach Cabana",
"backgrounds072020": "SET 74: Released July 2020"
}

View File

@@ -228,7 +228,7 @@
"weaponSpecialSpring2017HealerNotes": "The true magic of this wand is the secret of new life inside the colourful shell. Increases Intelligence by <%= int %>. Limited Edition 2017 Spring Gear.",
"weaponSpecialSummer2017RogueText": "Sea Dragon Fins",
"weaponSpecialSummer2017RogueNotes": "The edges of these fins are razor-sharp. Increases Strength by <%= str %>. Limited Edition 2017 Summer Gear.",
"weaponSpecialSummer2017WarriorText": "The Mightiest Beach Umbrella",
"weaponSpecialSummer2017WarriorText": "Mightiest Beach Umbrella",
"weaponSpecialSummer2017WarriorNotes": "All fear it. Increases Strength by <%= str %>. Limited Edition 2017 Summer Gear.",
"weaponSpecialSummer2017MageText": "Whirlpool Whips",
"weaponSpecialSummer2017MageNotes": "Summon up magical whips of boiling water to smite your tasks! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017 Summer Gear.",
@@ -2139,5 +2139,15 @@
"weaponSpecialSummer2020WarriorNotes": "If your foes mock your choice of weapon, don't take the bait. This wicked hook is the reel deal! Increases Strength by <%= str %>. Limited Edition 2020 Summer Gear.",
"weaponSpecialSummer2020WarriorText": "Fish Hook",
"weaponSpecialSummer2020RogueNotes": "Your enemies don't see you coming, but your Fangs are inescapable! Increases Strength by <%= str %>. Limited Edition 2020 Summer Gear.",
"weaponSpecialSummer2020RogueText": "Fang Blade"
"weaponSpecialSummer2020RogueText": "Fang Blade",
"headMystery202007Notes": "This helm will tune you in to the complex and beautiful songs of your fellow cetaceans. Confers no benefit. July 2020 Subscriber Item.",
"headMystery202007Text": "Outstanding Orca Helm",
"armorMystery202007Notes": "Swim, flip, dive, and race with this handsome and powerful tail! Confers no benefit. July 2020 Subscriber Item.",
"armorMystery202007Text": "Outstanding Orca Costume",
"shieldArmoirePiratesCompanionNotes": "Perfect if you want to talk your enemies to death, this parrot never shuts up. Maybe it'll remind you about your tasks too! Increases Perception by <%= per %>. Enchanted Armoire: Pirate Set (Item 3 of 3).",
"shieldArmoirePiratesCompanionText": "Pirate's Companion",
"armorArmoirePirateOutfitNotes": "Avast, ye landlubbers! The perfect outfit for swabbing the deck and counting your spoils. Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Pirate Set (Item 2 of 3).",
"armorArmoirePirateOutfitText": "Pirate Outfit",
"weaponArmoireHandyHookNotes": "Who needs opposable thumbs? This hook is “handy” enough for anyone. Increases Strength by <%= str %>. Enchanted Armoire: Pirate Set (Item 1 of 3).",
"weaponArmoireHandyHookText": "Handy Hook"
}

View File

@@ -183,5 +183,6 @@
"summer2020CrocodileRogueSet": "Crocodile (Rogue)",
"summer2020SeaGlassHealerSet": "Sea Glass (Healer)",
"summer2020OarfishMageSet": "Oarfish (Mage)",
"summer2020RainbowTroutWarriorSet": "Rainbow Trout (Warrior)"
"summer2020RainbowTroutWarriorSet": "Rainbow Trout (Warrior)",
"juneYYYY": "June <%= year %>"
}

View File

@@ -24,7 +24,7 @@
"spellRogueToolsOfTradeNotes": "Your tricky talents buff your whole Party's Perception! (Based on: Unbuffed PER)",
"spellRogueStealthText": "Stealth",
"spellRogueStealthNotes": "With each cast, a few of your undone Dailies won't cause damage tonight. Their streaks and colours won't change. (Based on: PER)",
"spellRogueStealthDaliesAvoided": "<%= originalText %> Number of dailies avoided: <%= number %>.",
"spellRogueStealthDaliesAvoided": "<%= originalText %> Number of dailies that will be avoided: <%= number %>.",
"spellRogueStealthMaxedOut": "You have already avoided all your dailies; there's no need to cast this again.",
"spellHealerHealText": "Healing Light",
"spellHealerHealNotes": "Shining light restores your health! (Based on: CON and INT)",

View File

@@ -250,5 +250,6 @@
"mysterySet202003": "Barbed Battler Set",
"mysterySet202004": "Mighty Monarch Set",
"mysterySet202005": "Wondrous Wyvern Set",
"mysterySet202006": "Multichrome Merfolk Set"
"mysterySet202006": "Multichrome Merfolk Set",
"mysterySet202007": "Outstanding Orca Set"
}

View File

@@ -211,5 +211,7 @@
"sessionOutdated": "Your session is outdated. Please refresh or sync.",
"errorTemporaryItem": "This item is temporary and cannot be pinned.",
"addNotes": "Add notes",
"addATitle": "Add a title"
"addATitle": "Add a title",
"sureDeleteType": "Are you sure you want to delete this <%= type %>?",
"deleteTaskType": "Delete this <%= type %>"
}

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Vi aĉetis <%= itemText %>",
"messageEquipped": "<%= itemText %> ekipiĝis.",
"messageEquipped": " <%= itemText %> ekipiĝis.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "Mankas al vi aŭ tiu ovo, aŭ tiu pocio",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -515,5 +515,10 @@
"backgroundTeaPartyNotes": "Participa en una elegante fiesta de té.",
"backgrounds052020": "Conjunto 72: lanzado en mayo de 2020",
"backgroundHeatherFieldNotes": "Disfruta del aroma de un campo de brezo.",
"backgroundHeatherFieldText": "Campo de brezo"
"backgroundHeatherFieldText": "Campo de brezo",
"backgroundRelaxationRiverText": "Río de relajación",
"backgrounds062020": "Conjunto 73: lanzado en junio de 2020",
"backgroundStrawberryPatchText": "Parcela de fresas",
"backgroundHotAirBalloonNotes": "Sobrevuela el paisaje en un globo aerostático.",
"backgroundHotAirBalloonText": "Globo aerostático"
}

View File

@@ -27,7 +27,7 @@
"commGuidePara020A": "<strong>Si ves una publicación que crees que supone una violación de las Normas de Espacios Públicos, o si ves una publicación que te preocupa o incomoda, puedes llamar la atención de los Moderadores y del Personal sobre esa publicación haciendo click en el icono de la bandera roja para reportarlo</strong>. Un miembro del Personal o un Moderador responderá a la situación lo más pronto posible. Por favor, ten en cuenta que reportar intencionadamente publicaciones inocentes es una infracción de estas Normas (mira debajo en \"Infracciones\"). Mensajes Directos no pueden ser marcados, así que si necesitas reportar uno, por favor contacta a los Moderadores mediante el formulario de la página de \"Contáctanos\", a la que también puedes acceder mediante el menú de ayuda haciendo click en \"<a href='https://contact.habitica.com/' target='_blank'>Contactar al Equipo de Moderación</a>.\" Es preferible hacer esto si hay varias publicaciones problemáticas de la misma persona en distintos Gremios, o si la situación necesita explicación. Puedes contactarnos en tu idioma nativo si te resulta más fácil: es posible que tengamos que usar el Traductor de Google, pero queremos que te sientas cómodo contactando con nosotros si tienes un problema.",
"commGuidePara021": "Además, algunos espacios públicos de Habitica tienen normas adicionales.",
"commGuideHeadingTavern": "La Taberna",
"commGuidePara022": "La Taberna es el lugar principal para que los Habiticanos socialicen. Daniel el tabernero mantiene el lugar limpio y ordenado, y, con gusto, Lemoness hará aparecer limonada mientras tú te sientas y charlas. Tan solo ten en cuenta...",
"commGuidePara022": "La Taberna es el lugar principal para que los Habiticanos socialicen. Daniel el tabernero mantiene el lugar limpio y ordenado, y, con gusto, Lemoness hará aparecer limonada mientras tú te sientas y charlas. Tan solo ten en cuenta",
"commGuidePara023": "<strong>La conversación tiende a girar en torno a charlas casuales y consejos sobre productividad o cómo mejorar a vida</strong>. Debido a que la sala de chat de la Taberna solo puede contener 200 mensajes, <strong>no es un lugar apropiado para conversaciones prolongadas sobre algunos temas, especialmente los más delicados</strong> (por ejemplo: política, religión, depresión, si se debe prohibir o no la caza de trasgos, etc.). Estas conversaciones deben llevarse a un Gremio de temática aplicable. Un Mod puede dirigirte a un Gremio adecuado, pero en última instancia es tu responsabilidad buscar y publicar en el lugar apropiado.",
"commGuidePara024": "<strong>No converses sobre nada adictivo en la Taberna</strong>. Mucha gente usa Habitica para intentar dejar sus Malos Hábitos. ¡Escuchar a otros hablar de sustancias adictivas/ilegales puede hacer más difícil su propósito! Respeta a tus compañeros de la Taberna, y ten en cuenta esto. Incluye, pero no exclusivamente: fumar, alcohol, pornografía, juegos de apuesta, y uso/abuso de drogas.",
"commGuidePara027": "<strong>Cuando un moderador te indica que lleves una conversación a otro lugar, si no hay un Gremio relacionado, es posible que te sugiera utilizar el Rincón Trasero</strong>. El \"Back Corner Guild\" es un espacio público gratuito para debatir sobre temas potencialmente delicados que solo debería usarse cuando un moderador lo dirija. Es monitoreado cuidadosamente por el equipo de moderación. No es un lugar para discusiones generales o conversaciones, y un mod te dirigirá allí solo cuando sea apropiado.",

View File

@@ -1928,5 +1928,7 @@
"weaponArmoireBaseballBatNotes": "¡Consigue un jonrón con esos buenos hábitos! Aumenta la Constitución en <% = con%>. Armario encantado: conjunto de béisbol (artículo 3 de 4).",
"weaponSpecialSpring2020HealerText": "Bastón de lirio de espada",
"weaponSpecialSpring2020MageNotes": "¡Siguen cayendo sobre tu cabeza! Pero nunca los detendrás quejándote. Aumenta la inteligencia en <% = int%> y la percepción en <% = per%>. Edición limitada 2020 Spring Gear.",
"weaponSpecialSpring2020WarriorNotes": "¡Lucha o huye, esta ala te servirá bien! Aumenta la fuerza en <%= str %>. Equipamiento de Edición limitada primavera 2020."
"weaponSpecialSpring2020WarriorNotes": "¡Lucha o huye, esta ala te servirá bien! Aumenta la fuerza en <%= str %>. Equipamiento de Edición limitada primavera 2020.",
"weaponSpecialSummer2020WarriorText": "Anzuelo",
"weaponSpecialSummer2020RogueText": "Espada de colmillo"
}

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completado <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "¿Quieres recompensar a <%= username %> por completar esta tarea?",
"groupSubscriptionPrice": "9$ cada mes + 3$ mensuales por cada miembro adicional del grupo",
"groupAdditionalUserCost": "+3,00$/mes/usuario",
"groupAdditionalUserCost": " +3,00$/mes/usuario",
"groupBenefitsTitle": "Cómo puede ayudarte un plan para grupos",
"groupBenefitsDescription": "¡Hemos lanzado la versión beta de nuestros planes para grupos! Actualizar a un plan para grupos desbloquea características únicas que optimizan la faceta social de Habitica.",
"groupBenefitOneTitle": "Crea listas de tareas compartidas",
@@ -329,7 +329,7 @@
"approvalRequested": "Aprobación Solicitada",
"refreshApprovals": "Actualizar las Aprobaciones",
"refreshGroupTasks": "Actualizar las Tareas del Grupo",
"claimedBy": "Reclamada por: <%= claimingUsers %>",
"claimedBy": "\n\nReclamada por: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "No puedes borrar tareas de grupo que tienes asignadas.",
"confirmGuildPlanCreation": "¿Crear este grupo?",
"groupPlanUpgraded": "¡A <strong><%= groupName %></strong>se le mejoró a un Plan de Grupo! ",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "¡A <%= egg %> le gusta mucho<%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> se come <%= foodText %> pero no parece que lo disfrute.",
"messageBought": "Has comprado <%= itemText %>",
"messageEquipped": "<%= itemText %> equipado.",
"messageEquipped": " <%= itemText %> equipado.",
"messageUnEquipped": "Te has quitado <%= itemText %>.",
"messageMissingEggPotion": "No tienes ese huevo o poción",
"messageInvalidEggPotionCombo": "¡No puedes hacer eclosionar a un huevo mascota de misión con una poción de eclosión mágica! Inténtalo con un huevo diferente.",

View File

@@ -232,5 +232,7 @@
"mysterySet202001": "Conjunto de Zorro Legendario",
"mysticHourglassNeededNoSub": "Este artículo requiere un Reloj de arena místico. Los Relojes de arena místicos se obtienen estando suscripto a Habitica.",
"giftASubscription": "Obsequia una Suscripción",
"viewSubscriptions": "Ver Suscripciones"
"viewSubscriptions": "Ver Suscripciones",
"mysterySet202004": "Conjunto poderoso de monarca",
"mysterySet202002": "Conjunto elegante de novia"
}

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

View File

@@ -12,7 +12,7 @@
"messageLikesFood": "<%= egg %> really likes <%= foodText %>!",
"messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.",
"messageBought": "Bought <%= itemText %>",
"messageEquipped": "<%= itemText %> equipped.",
"messageEquipped": " <%= itemText %> equipped.",
"messageUnEquipped": "<%= itemText %> unequipped.",
"messageMissingEggPotion": "You're missing either that egg or that potion",
"messageInvalidEggPotionCombo": "You can't hatch Quest Pet Eggs with Magic Hatching Potions! Try a different egg.",

View File

@@ -23,7 +23,7 @@
"legSeventh": "When your <strong>seventh</strong> set of submissions is deployed, you will receive <strong>4 Gems</strong> and become a member of the honored Contributor's Guild and be privy to the behind-the-scenes details of Habitica! Further contributions do not increase your tier, but you may continue to earn Gem bounties and titles.",
"moderator": "مدیر",
"guardian": "محافظ",
"guardianText": " مدیران با دقت بالا از بین داوطلبان فعال انتخاب شده اند ، پس بهشون احترام بگذارید و حرف هاشون رو گوش کنید",
"guardianText": "مدیران با دقت بالا از بین داوطلبان فعال انتخاب شده اند ، پس بهشون احترام بگذارید و حرف هاشون رو گوش کنید.",
"staff": "کارکنان",
"heroic": "قهرمانی",
"heroicText": "درجه قهرمانی در هبیتیکا مختص کارمندان یا داوطلبان با فعالیت بالاست، اگر شما این درجه را دارید یعنی که برایش زحمت کشیده اید (یا استخدام شده اید).",

View File

@@ -290,7 +290,7 @@
"approvalTitle": "<%= userName %> has completed <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Do you want to reward <%= username %> for completing this task?",
"groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member",
"groupAdditionalUserCost": "+$3.00/month/user",
"groupAdditionalUserCost": " +$3.00/month/user",
"groupBenefitsTitle": "How a group plan can help you",
"groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.",
"groupBenefitOneTitle": "Create a shared task list",
@@ -329,7 +329,7 @@
"approvalRequested": "Approval Requested",
"refreshApprovals": "Refresh Approvals",
"refreshGroupTasks": "Refresh Group Tasks",
"claimedBy": "Claimed by: <%= claimingUsers %>",
"claimedBy": "\n\nClaimed by: <%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.",
"confirmGuildPlanCreation": "Create this group?",
"groupPlanUpgraded": "<strong><%= groupName %></strong> was upgraded to a Group Plan!",

Some files were not shown because too many files have changed in this diff Show More