Merge branch 'develop' into release
|
|
@ -1 +1 @@
|
|||
Subproject commit 8d63ff55e5c63872f95a3c9106d0b5f90af9ab6f
|
||||
Subproject commit ce1e117dc94ac4b1757f144e6897e332ccdaf119
|
||||
1091
package-lock.json
generated
|
|
@ -5,7 +5,7 @@
|
|||
"main": "./website/server/index.js",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.18.13",
|
||||
"@babel/preset-env": "^7.18.10",
|
||||
"@babel/preset-env": "^7.19.1",
|
||||
"@babel/register": "^7.18.9",
|
||||
"@google-cloud/trace-agent": "^5.1.6",
|
||||
"@parse/node-apn": "^5.1.3",
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
"accepts": "^1.3.8",
|
||||
"amazon-payments": "^0.2.9",
|
||||
"amplitude": "^6.0.0",
|
||||
"apidoc": "^0.52.0",
|
||||
"apidoc": "^0.53.0",
|
||||
"apple-auth": "^1.0.7",
|
||||
"bcrypt": "^5.0.1",
|
||||
"body-parser": "^1.20.0",
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
"paypal-rest-sdk": "^1.8.1",
|
||||
"pp-ipn": "^1.1.0",
|
||||
"ps-tree": "^1.0.0",
|
||||
"rate-limiter-flexible": "^2.3.7",
|
||||
"rate-limiter-flexible": "^2.3.10",
|
||||
"redis": "^3.1.2",
|
||||
"regenerator-runtime": "^0.13.9",
|
||||
"remove-markdown": "^0.5.0",
|
||||
|
|
|
|||
|
|
@ -13,11 +13,6 @@ function getUser () {
|
|||
username: 'username',
|
||||
email: 'email@email',
|
||||
},
|
||||
facebook: {
|
||||
emails: [{
|
||||
value: 'email@facebook',
|
||||
}],
|
||||
},
|
||||
google: {
|
||||
emails: [{
|
||||
value: 'email@google',
|
||||
|
|
@ -62,30 +57,12 @@ describe('emails', () => {
|
|||
expect(data).to.have.property('canSend', true);
|
||||
});
|
||||
|
||||
it('returns correct user data [facebook users]', () => {
|
||||
const attachEmail = requireAgain(pathToEmailLib);
|
||||
const { getUserInfo } = attachEmail;
|
||||
const user = getUser();
|
||||
delete user.profile.name;
|
||||
delete user.auth.local.email;
|
||||
delete user.auth.google.emails;
|
||||
delete user.auth.apple.emails;
|
||||
|
||||
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
|
||||
|
||||
expect(data).to.have.property('name', user.auth.local.username);
|
||||
expect(data).to.have.property('email', user.auth.facebook.emails[0].value);
|
||||
expect(data).to.have.property('_id', user._id);
|
||||
expect(data).to.have.property('canSend', true);
|
||||
});
|
||||
|
||||
it('returns correct user data [google users]', () => {
|
||||
const attachEmail = requireAgain(pathToEmailLib);
|
||||
const { getUserInfo } = attachEmail;
|
||||
const user = getUser();
|
||||
delete user.profile.name;
|
||||
delete user.auth.local.email;
|
||||
delete user.auth.facebook.emails;
|
||||
delete user.auth.apple.emails;
|
||||
|
||||
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
|
||||
|
|
@ -103,7 +80,6 @@ describe('emails', () => {
|
|||
delete user.profile.name;
|
||||
delete user.auth.local.email;
|
||||
delete user.auth.google.emails;
|
||||
delete user.auth.facebook.emails;
|
||||
|
||||
const data = getUserInfo(user, ['name', 'email', '_id', 'canSend']);
|
||||
|
||||
|
|
@ -118,7 +94,6 @@ describe('emails', () => {
|
|||
const { getUserInfo } = attachEmail;
|
||||
const user = getUser();
|
||||
delete user.auth.local.email;
|
||||
delete user.auth.facebook;
|
||||
delete user.auth.google;
|
||||
delete user.auth.apple;
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ describe('Password Utilities', () => {
|
|||
it('returns false if the user has no local auth', async () => {
|
||||
const user = await generateUser({
|
||||
auth: {
|
||||
facebook: {},
|
||||
google: {},
|
||||
},
|
||||
});
|
||||
const res = await validatePasswordResetCodeAndFindUser(encrypt(JSON.stringify({
|
||||
|
|
|
|||
|
|
@ -289,45 +289,6 @@ describe('DELETE /user', () => {
|
|||
});
|
||||
});
|
||||
|
||||
context('user with Facebook auth', async () => {
|
||||
beforeEach(async () => {
|
||||
user = await generateUser({
|
||||
auth: {
|
||||
facebook: {
|
||||
id: 'facebook-id',
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error if confirmation phrase is wrong', async () => {
|
||||
await expect(user.del('/user', {
|
||||
password: 'just-do-it',
|
||||
})).to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('incorrectDeletePhrase', { magicWord: 'DELETE' }),
|
||||
});
|
||||
});
|
||||
|
||||
it('returns an error if confirmation phrase is not supplied', async () => {
|
||||
await expect(user.del('/user', {
|
||||
password: '',
|
||||
})).to.eventually.be.rejected.and.eql({
|
||||
code: 400,
|
||||
error: 'BadRequest',
|
||||
message: t('missingPassword'),
|
||||
});
|
||||
});
|
||||
|
||||
it('deletes a Facebook user', async () => {
|
||||
await user.del('/user', {
|
||||
password: DELETE_CONFIRMATION,
|
||||
});
|
||||
await expect(checkExistence('users', user._id)).to.eventually.eql(false);
|
||||
});
|
||||
});
|
||||
|
||||
context('user with Google auth', async () => {
|
||||
beforeEach(async () => {
|
||||
user = await generateUser({
|
||||
|
|
|
|||
|
|
@ -20,44 +20,6 @@ describe('DELETE social registration', () => {
|
|||
});
|
||||
});
|
||||
|
||||
context('Facebook', () => {
|
||||
it('fails if user does not have an alternative registration method', async () => {
|
||||
await user.update({
|
||||
'auth.facebook.id': 'some-fb-id',
|
||||
'auth.local': { ok: true },
|
||||
});
|
||||
await expect(user.del('/user/auth/social/facebook')).to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('cantDetachSocial'),
|
||||
});
|
||||
});
|
||||
|
||||
it('succeeds if user has a local registration', async () => {
|
||||
await user.update({
|
||||
'auth.facebook.id': 'some-fb-id',
|
||||
});
|
||||
|
||||
const response = await user.del('/user/auth/social/facebook');
|
||||
expect(response).to.eql({});
|
||||
await user.sync();
|
||||
expect(user.auth.facebook).to.be.undefined;
|
||||
});
|
||||
|
||||
it('succeeds if user has a google registration', async () => {
|
||||
await user.update({
|
||||
'auth.facebook.id': 'some-fb-id',
|
||||
'auth.google.id': 'some-google-id',
|
||||
'auth.local': { ok: true },
|
||||
});
|
||||
|
||||
const response = await user.del('/user/auth/social/facebook');
|
||||
expect(response).to.eql({});
|
||||
await user.sync();
|
||||
expect(user.auth.facebook).to.be.undefined;
|
||||
});
|
||||
});
|
||||
|
||||
context('Google', () => {
|
||||
it('fails if user does not have an alternative registration method', async () => {
|
||||
await user.update({
|
||||
|
|
@ -81,19 +43,6 @@ describe('DELETE social registration', () => {
|
|||
await user.sync();
|
||||
expect(user.auth.google).to.be.undefined;
|
||||
});
|
||||
|
||||
it('succeeds if user has a facebook registration', async () => {
|
||||
await user.update({
|
||||
'auth.google.id': 'some-google-id',
|
||||
'auth.facebook.id': 'some-facebook-id',
|
||||
'auth.local': { ok: true },
|
||||
});
|
||||
|
||||
const response = await user.del('/user/auth/social/google');
|
||||
expect(response).to.eql({});
|
||||
await user.sync();
|
||||
expect(user.auth.goodl).to.be.undefined;
|
||||
});
|
||||
});
|
||||
|
||||
context('Apple', () => {
|
||||
|
|
@ -119,18 +68,5 @@ describe('DELETE social registration', () => {
|
|||
await user.sync();
|
||||
expect(user.auth.apple).to.be.undefined;
|
||||
});
|
||||
|
||||
it('succeeds if user has a facebook registration', async () => {
|
||||
await user.update({
|
||||
'auth.apple.id': 'some-apple-id',
|
||||
'auth.facebook.id': 'some-facebook-id',
|
||||
'auth.local': { ok: true },
|
||||
});
|
||||
|
||||
const response = await user.del('/user/auth/social/apple');
|
||||
expect(response).to.eql({});
|
||||
await user.sync();
|
||||
expect(user.auth.goodl).to.be.undefined;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ describe('POST /user/auth/social', () => {
|
|||
let user;
|
||||
const endpoint = '/user/auth/social';
|
||||
let randomAccessToken = '123456';
|
||||
let randomFacebookId = 'facebookId';
|
||||
let randomGoogleId = 'googleId';
|
||||
let network = 'NoNetwork';
|
||||
|
||||
|
|
@ -33,146 +32,6 @@ describe('POST /user/auth/social', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('facebook', () => {
|
||||
beforeEach(async () => {
|
||||
randomFacebookId = generateUUID();
|
||||
const expectedResult = {
|
||||
id: randomFacebookId,
|
||||
displayName: 'a facebook user',
|
||||
emails: [
|
||||
{ value: `${user.auth.local.username}+facebook@example.com` },
|
||||
],
|
||||
};
|
||||
sandbox.stub(passport._strategies.facebook, 'userProfile').yields(null, expectedResult);
|
||||
network = 'facebook';
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
passport._strategies.facebook.userProfile.restore();
|
||||
});
|
||||
|
||||
it('registers a new user', async () => {
|
||||
const response = await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
|
||||
expect(response.apiToken).to.exist;
|
||||
expect(response.id).to.exist;
|
||||
expect(response.newUser).to.be.true;
|
||||
expect(response.username).to.exist;
|
||||
|
||||
await expect(getProperty('users', response.id, 'profile.name')).to.eventually.equal('a facebook user');
|
||||
await expect(getProperty('users', response.id, 'auth.local.lowerCaseUsername')).to.exist;
|
||||
await expect(getProperty('users', response.id, 'auth.local.email')).to.eventually.equal(`${user.auth.local.username}+facebook@example.com`);
|
||||
await expect(getProperty('users', response.id, 'auth.facebook.id')).to.eventually.equal(randomFacebookId);
|
||||
});
|
||||
|
||||
it('logs an existing user in', async () => {
|
||||
const registerResponse = await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
|
||||
const response = await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
|
||||
expect(response.apiToken).to.eql(registerResponse.apiToken);
|
||||
expect(response.id).to.eql(registerResponse.id);
|
||||
expect(response.newUser).to.be.false;
|
||||
expect(registerResponse.newUser).to.be.true;
|
||||
});
|
||||
|
||||
it('logs an existing user in if they have local auth with matching email', async () => {
|
||||
passport._strategies.facebook.userProfile.restore();
|
||||
const expectedResult = {
|
||||
id: randomFacebookId,
|
||||
displayName: 'a facebook user',
|
||||
emails: [
|
||||
{ value: user.auth.local.email },
|
||||
],
|
||||
};
|
||||
sandbox.stub(passport._strategies.facebook, 'userProfile').yields(null, expectedResult);
|
||||
|
||||
const response = await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
|
||||
expect(response.apiToken).to.eql(user.apiToken);
|
||||
expect(response.id).to.eql(user._id);
|
||||
expect(response.newUser).to.be.false;
|
||||
});
|
||||
|
||||
it('logs an existing user into their social account if they have local auth with matching email', async () => {
|
||||
const registerResponse = await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
expect(registerResponse.newUser).to.be.true;
|
||||
// This is important for existing accounts before the new social handling
|
||||
passport._strategies.facebook.userProfile.restore();
|
||||
const expectedResult = {
|
||||
id: randomFacebookId,
|
||||
displayName: 'a facebook user',
|
||||
emails: [
|
||||
{ value: user.auth.local.email },
|
||||
],
|
||||
};
|
||||
sandbox.stub(passport._strategies.facebook, 'userProfile').yields(null, expectedResult);
|
||||
|
||||
const response = await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
|
||||
expect(response.apiToken).to.eql(registerResponse.apiToken);
|
||||
expect(response.id).to.eql(registerResponse.id);
|
||||
expect(response.apiToken).not.to.eql(user.apiToken);
|
||||
expect(response.id).not.to.eql(user._id);
|
||||
expect(response.newUser).to.be.false;
|
||||
});
|
||||
|
||||
it('add social auth to an existing user', async () => {
|
||||
const response = await user.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
|
||||
expect(response.apiToken).to.eql(user.apiToken);
|
||||
expect(response.id).to.eql(user._id);
|
||||
expect(response.newUser).to.be.false;
|
||||
});
|
||||
|
||||
it('does not log into other account if social auth already exists', async () => {
|
||||
const registerResponse = await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
expect(registerResponse.newUser).to.be.true;
|
||||
|
||||
await expect(user.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
})).to.eventually.be.rejected.and.eql({
|
||||
code: 401,
|
||||
error: 'NotAuthorized',
|
||||
message: t('socialAlreadyExists'),
|
||||
});
|
||||
});
|
||||
|
||||
xit('enrolls a new user in an A/B test', async () => {
|
||||
await api.post(endpoint, {
|
||||
authResponse: { access_token: randomAccessToken }, // eslint-disable-line camelcase
|
||||
network,
|
||||
});
|
||||
|
||||
await expect(getProperty('users', user._id, '_ABtests')).to.eventually.be.a('object');
|
||||
});
|
||||
});
|
||||
|
||||
describe('google', () => {
|
||||
beforeEach(async () => {
|
||||
randomGoogleId = generateUUID();
|
||||
|
|
|
|||
|
|
@ -25,6 +25,19 @@ describe('POST /user/reset-password', async () => {
|
|||
expect(user.auth.local.hashed_password).to.not.eql(previousPassword);
|
||||
});
|
||||
|
||||
it('resets password for social users', async () => {
|
||||
const email = `${user.auth.local.username}+google@example.com`;
|
||||
await user.update({ 'auth.google.emails': [{ value: email }] });
|
||||
await user.sync();
|
||||
const previousPassword = user.auth.local.passwordResetCode;
|
||||
const response = await user.post(endpoint, {
|
||||
email,
|
||||
});
|
||||
expect(response).to.eql({ data: {}, message: t('passwordReset') });
|
||||
await user.sync();
|
||||
expect(user.auth.local.passwordResetCode).to.not.eql(previousPassword);
|
||||
});
|
||||
|
||||
it('same message on error as on success', async () => {
|
||||
const response = await user.post(endpoint, {
|
||||
email: 'nonExistent@email.com',
|
||||
|
|
|
|||
75
website/client/package-lock.json
generated
|
|
@ -30,9 +30,9 @@
|
|||
}
|
||||
},
|
||||
"@amplitude/types": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@amplitude/types/-/types-1.10.0.tgz",
|
||||
"integrity": "sha512-xN0gnhutztv6kqHaZ2bre18anQV5GDmMXOeipTvI670g2VjNbPfOzMwu1LN4p1NadYq+GqYI223UcZrXR+R4Pw=="
|
||||
"version": "1.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@amplitude/types/-/types-1.10.2.tgz",
|
||||
"integrity": "sha512-I8qenRI7uU6wKNb9LiZrAosSHVoNHziXouKY81CrqxH9xhVTEIJFXeuCV0hbtBr0Al/8ejnGjQRx+S2SvU/pPg=="
|
||||
},
|
||||
"@amplitude/ua-parser-js": {
|
||||
"version": "0.7.31",
|
||||
|
|
@ -40,12 +40,19 @@
|
|||
"integrity": "sha512-+z8UGRaj13Pt5NDzOnkTBy49HE2CX64jeL0ArB86HAtilpnfkPB7oqkigN7Lf2LxscMg4QhFD7mmCfedh3rqTg=="
|
||||
},
|
||||
"@amplitude/utils": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@amplitude/utils/-/utils-1.10.0.tgz",
|
||||
"integrity": "sha512-/R8j8IzFH0GYfA6ehQDm5IEzt71gIeMdiYYFIzZp6grERQlgJcwNJMAiza0o2JwwTDIruzqdB3c/vLVjuakp+w==",
|
||||
"version": "1.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@amplitude/utils/-/utils-1.10.2.tgz",
|
||||
"integrity": "sha512-tVsHXu61jITEtRjB7NugQ5cVDd4QDzne8T3ifmZye7TiJeUfVRvqe44gDtf55A+7VqhDhyEIIXTA1iVcDGqlEw==",
|
||||
"requires": {
|
||||
"@amplitude/types": "^1.10.0",
|
||||
"tslib": "^1.9.3"
|
||||
"@amplitude/types": "^1.10.2",
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"tslib": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/code-frame": {
|
||||
|
|
@ -13127,13 +13134,13 @@
|
|||
"integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
|
||||
},
|
||||
"amplitude-js": {
|
||||
"version": "8.18.5",
|
||||
"resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-8.18.5.tgz",
|
||||
"integrity": "sha512-s43q4qKd7kvhYESQhYvyKDKUM1PpyAyoOFFlyMuFfQHRxyeDmZRhcfzrKnOhbrLhFxSWtPc0VEeh9tajJRNe5Q==",
|
||||
"version": "8.21.0",
|
||||
"resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-8.21.0.tgz",
|
||||
"integrity": "sha512-kC01TmmCdDrtms8LhvC/r65FtbmCbNHZ1/jiezXmTH82TsWI/SkN47jKs8CCwjZNakqTBN/hmficiZBUKv4myw==",
|
||||
"requires": {
|
||||
"@amplitude/analytics-connector": "1.4.4",
|
||||
"@amplitude/ua-parser-js": "0.7.31",
|
||||
"@amplitude/utils": "^1.0.5",
|
||||
"@amplitude/utils": "^1.10.1",
|
||||
"@babel/runtime": "^7.3.4",
|
||||
"blueimp-md5": "^2.10.0",
|
||||
"query-string": "5"
|
||||
|
|
@ -16812,9 +16819,9 @@
|
|||
}
|
||||
},
|
||||
"dompurify": {
|
||||
"version": "2.3.10",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.10.tgz",
|
||||
"integrity": "sha512-o7Fg/AgC7p/XpKjf/+RC3Ok6k4St5F7Q6q6+Nnm3p2zGWioAY6dh0CbbuwOhH2UcSzKsdniE/YnE2/92JcsA+g=="
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.0.tgz",
|
||||
"integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA=="
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.7.0",
|
||||
|
|
@ -20668,9 +20675,9 @@
|
|||
}
|
||||
},
|
||||
"jquery": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
|
||||
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
|
||||
"integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
|
||||
},
|
||||
"js-message": {
|
||||
"version": "1.0.5",
|
||||
|
|
@ -28306,23 +28313,23 @@
|
|||
"integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk="
|
||||
},
|
||||
"vue": {
|
||||
"version": "2.7.8",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.8.tgz",
|
||||
"integrity": "sha512-ncwlZx5qOcn754bCu5/tS/IWPhXHopfit79cx+uIlLMyt3vCMGcXai5yCG5y+I6cDmEj4ukRYyZail9FTQh7lQ==",
|
||||
"version": "2.7.10",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.7.10.tgz",
|
||||
"integrity": "sha512-HmFC70qarSHPXcKtW8U8fgIkF6JGvjEmDiVInTkKZP0gIlEPhlVlcJJLkdGIDiNkIeA2zJPQTWJUI4iWe+AVfg==",
|
||||
"requires": {
|
||||
"@vue/compiler-sfc": "2.7.8",
|
||||
"@vue/compiler-sfc": "2.7.10",
|
||||
"csstype": "^3.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/parser": {
|
||||
"version": "7.18.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz",
|
||||
"integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg=="
|
||||
"version": "7.18.13",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz",
|
||||
"integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg=="
|
||||
},
|
||||
"@vue/compiler-sfc": {
|
||||
"version": "2.7.8",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.8.tgz",
|
||||
"integrity": "sha512-2DK4YWKfgLnW9VDR9gnju1gcYRk3flKj8UNsms7fsRmFcg35slVTZEkqwBtX+wJBXaamFfn6NxSsZh3h12Ix/Q==",
|
||||
"version": "2.7.10",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.10.tgz",
|
||||
"integrity": "sha512-55Shns6WPxlYsz4WX7q9ZJBL77sKE1ZAYNYStLs6GbhIOMrNtjMvzcob6gu3cGlfpCR4bT7NXgyJ3tly2+Hx8Q==",
|
||||
"requires": {
|
||||
"@babel/parser": "^7.18.4",
|
||||
"postcss": "^8.4.14",
|
||||
|
|
@ -28340,9 +28347,9 @@
|
|||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.4.14",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
|
||||
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
|
||||
"version": "8.4.16",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz",
|
||||
"integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==",
|
||||
"requires": {
|
||||
"nanoid": "^3.3.4",
|
||||
"picocolors": "^1.0.0",
|
||||
|
|
@ -28676,9 +28683,9 @@
|
|||
}
|
||||
},
|
||||
"vue-template-compiler": {
|
||||
"version": "2.7.8",
|
||||
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.8.tgz",
|
||||
"integrity": "sha512-eQqdcUpJKJpBRPDdxCNsqUoT0edNvdt1jFjtVnVS/LPPmr0BU2jWzXlrf6BVMeODtdLewB3j8j3WjNiB+V+giw==",
|
||||
"version": "2.7.10",
|
||||
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.10.tgz",
|
||||
"integrity": "sha512-QO+8R9YRq1Gudm8ZMdo/lImZLJVUIAM8c07Vp84ojdDAf8HmPJc7XB556PcXV218k2AkKznsRz6xB5uOjAC4EQ==",
|
||||
"requires": {
|
||||
"de-indent": "^1.0.2",
|
||||
"he": "^1.2.0"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
"@vue/cli-plugin-unit-mocha": "^4.5.15",
|
||||
"@vue/cli-service": "^4.5.15",
|
||||
"@vue/test-utils": "1.0.0-beta.29",
|
||||
"amplitude-js": "^8.18.5",
|
||||
"amplitude-js": "^8.21.0",
|
||||
"axios": "^0.25.0",
|
||||
"axios-progress-bar": "^1.2.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
"bootstrap-vue": "^2.22.0",
|
||||
"chai": "^4.3.6",
|
||||
"core-js": "^3.24.1",
|
||||
"dompurify": "^2.3.10",
|
||||
"dompurify": "^2.4.0",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-habitrpg": "^6.2.0",
|
||||
"eslint-plugin-mocha": "^5.3.0",
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
"hellojs": "^1.19.5",
|
||||
"inspectpack": "^4.7.1",
|
||||
"intro.js": "^5.1.0",
|
||||
"jquery": "^3.6.0",
|
||||
"jquery": "^3.6.1",
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.29.4",
|
||||
"nconf": "^0.12.0",
|
||||
|
|
@ -55,11 +55,11 @@
|
|||
"svgo-loader": "^2.2.1",
|
||||
"uuid": "^8.3.2",
|
||||
"validator": "^13.7.0",
|
||||
"vue": "^2.7.8",
|
||||
"vue": "^2.7.10",
|
||||
"vue-cli-plugin-storybook": "2.1.0",
|
||||
"vue-mugen-scroll": "^0.2.6",
|
||||
"vue-router": "^3.5.4",
|
||||
"vue-template-compiler": "^2.7.8",
|
||||
"vue-template-compiler": "^2.7.10",
|
||||
"vuedraggable": "^2.24.3",
|
||||
"vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#153d339e4dbebb73733658aeda1d5b7fcc55b0a0",
|
||||
"webpack": "^4.46.0"
|
||||
|
|
|
|||
|
|
@ -22875,6 +22875,26 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2022Healer.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_special_fall2022Mage {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2022Mage.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2022Rogue.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fall2022Warrior.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.broad_armor_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_fallHealer.png');
|
||||
width: 90px;
|
||||
|
|
@ -23045,6 +23065,26 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.head_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2022Healer.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.head_special_fall2022Mage {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2022Mage.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.head_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2022Rogue.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.head_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fall2022Warrior.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.head_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_fallHealer.png');
|
||||
width: 90px;
|
||||
|
|
@ -23170,6 +23210,21 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.shield_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fall2022Healer.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.shield_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fall2022Rogue.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.shield_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fall2022Warrior.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.shield_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_fallHealer.png');
|
||||
width: 90px;
|
||||
|
|
@ -23325,6 +23380,26 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2022Healer.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_special_fall2022Mage {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2022Mage.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2022Rogue.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fall2022Warrior.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_armor_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_fallHealer.png');
|
||||
width: 68px;
|
||||
|
|
@ -23495,6 +23570,26 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_head_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2022Healer.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_head_special_fall2022Mage {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2022Mage.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_head_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2022Rogue.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_head_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fall2022Warrior.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_head_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_fallHealer.png');
|
||||
width: 68px;
|
||||
|
|
@ -23620,6 +23715,21 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_shield_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fall2022Healer.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_shield_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fall2022Rogue.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_shield_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fall2022Warrior.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_shield_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_fallHealer.png');
|
||||
width: 68px;
|
||||
|
|
@ -23775,6 +23885,26 @@
|
|||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2022Healer.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_special_fall2022Mage {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2022Mage.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2022Rogue.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fall2022Warrior.png');
|
||||
width: 68px;
|
||||
height: 68px;
|
||||
}
|
||||
.shop_weapon_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_fallHealer.png');
|
||||
width: 68px;
|
||||
|
|
@ -23935,6 +24065,26 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2022Healer.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_special_fall2022Mage {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2022Mage.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2022Rogue.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fall2022Warrior.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.slim_armor_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_fallHealer.png');
|
||||
width: 90px;
|
||||
|
|
@ -24095,6 +24245,26 @@
|
|||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_special_fall2022Healer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2022Healer.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_special_fall2022Mage {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2022Mage.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_special_fall2022Rogue {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2022Rogue.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_special_fall2022Warrior {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fall2022Warrior.png');
|
||||
width: 114px;
|
||||
height: 90px;
|
||||
}
|
||||
.weapon_special_fallHealer {
|
||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_fallHealer.png');
|
||||
width: 90px;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="8" height="16" viewBox="0 0 8 16">
|
||||
<path fill-rule="evenodd" d="M7.145 8.006H4.903V16H1.58V8.006H0V5.182h1.58V3.354C1.58 2.045 2.202 0 4.933 0l2.461.01v2.742H5.608c-.291 0-.705.145-.705.77v1.66h2.533l-.291 2.824z"/>
|
||||
<svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M20,0H4C1.79,0,0,1.79,0,4V20c0,2.21,1.79,4,4,4H20c2.21,0,4-1.79,4-4V4c0-2.21-1.79-4-4-4Zm-3.72,6.66h-1.26c-1.24,0-1.63,.77-1.63,1.56v1.88h2.78l-.44,2.9h-2.33v7h-3.13v-7h-2.54v-2.9h2.54v-2.21c0-2.51,1.5-3.9,3.78-3.9,1.1,0,2.24,.2,2.24,.2v2.47Z" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 354 B |
|
|
@ -1,3 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill-rule="evenodd" d="M8 0c2.173 0 2.445.01 3.298.048.852.04 1.433.174 1.942.372.526.205.973.478 1.418.922.444.445.717.892.922 1.418.198.509.333 1.09.372 1.942C15.99 5.555 16 5.827 16 8s-.01 2.445-.048 3.298c-.04.852-.174 1.433-.372 1.942a3.924 3.924 0 0 1-.922 1.418 3.924 3.924 0 0 1-1.418.922c-.509.198-1.09.333-1.942.372-.853.04-1.125.048-3.298.048s-2.445-.009-3.298-.048c-.852-.04-1.433-.174-1.942-.372a3.924 3.924 0 0 1-1.418-.922A3.924 3.924 0 0 1 .42 13.24c-.198-.509-.333-1.09-.372-1.942C.01 10.445 0 10.173 0 8s.01-2.445.048-3.298C.088 3.85.222 3.269.42 2.76c.205-.526.478-.973.922-1.418A3.924 3.924 0 0 1 2.76.42C3.269.222 3.85.087 4.702.048 5.555.01 5.827 0 8 0zm0 3.892a4.108 4.108 0 1 0 0 8.216 4.108 4.108 0 0 0 0-8.216zm5.23-.162a.96.96 0 1 0-1.92 0 .96.96 0 0 0 1.92 0zM8 10.667a2.666 2.666 0 1 1 0-5.333 2.666 2.666 0 0 1 0 5.333z"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M14.67,12A2.67,2.67,0,1,1,12,9.33,2.67,2.67,0,0,1,14.67,12Zm3.89,0c0,1.16.1,3.66-.32,4.71a2.7,2.7,0,0,1-1.52,1.52c-1.06.42-3.55.33-4.72.33s-3.66.09-4.71-.33a2.65,2.65,0,0,1-1.52-1.52c-.42-1.05-.33-3.55-.33-4.71s-.09-3.67.33-4.72A2.65,2.65,0,0,1,7.29,5.76c1-.42,3.55-.32,4.71-.32a18,18,0,0,1,4.72.32,2.7,2.7,0,0,1,1.52,1.52C18.66,8.34,18.56,10.83,18.56,12ZM16.1,12A4.1,4.1,0,1,0,12,16.1,4.09,4.09,0,0,0,16.1,12Zm1.13-4.27a1,1,0,1,0-1,1A1,1,0,0,0,17.23,7.73ZM24,4V20a4,4,0,0,1-4,4H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H20A4,4,0,0,1,24,4ZM19.94,8.7a4.71,4.71,0,0,0-1.29-3.35A4.71,4.71,0,0,0,15.3,4.06C14,4,10,4,8.7,4.06A4.76,4.76,0,0,0,5.35,5.34,4.75,4.75,0,0,0,4.06,8.7C4,10,4,14,4.06,15.3a4.73,4.73,0,0,0,1.29,3.35A4.77,4.77,0,0,0,8.7,19.94c1.32.08,5.28.08,6.6,0a4.71,4.71,0,0,0,3.35-1.29,4.73,4.73,0,0,0,1.29-3.35C20,14,20,10,19.94,8.7Z" />
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 954 B After Width: | Height: | Size: 914 B |
3
website/client/src/assets/svg/tumblr.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M20,0H4A4,4,0,0,0,0,4V20a4,4,0,0,0,4,4H20a4,4,0,0,0,4-4V4A4,4,0,0,0,20,0ZM16.68,19a4.47,4.47,0,0,1-3,1C9.86,20,9,17.22,9,15.61v-4.5H7.56a.31.31,0,0,1-.31-.32V8.67a.52.52,0,0,1,.35-.5,4,4,0,0,0,2.63-3.66c0-.34.21-.51.51-.51H13a.31.31,0,0,1,.32.31v3.6h2.59a.31.31,0,0,1,.31.31v2.55a.31.31,0,0,1-.31.32H13.25v4.16c0,1.07.74,1.67,2.13,1.12a.67.67,0,0,1,.4-.07.36.36,0,0,1,.23.25l.68,2C16.75,18.71,16.8,18.89,16.68,19Z" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 516 B |
|
|
@ -1,3 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="13" viewBox="0 0 16 13">
|
||||
<path fill-rule="evenodd" d="M14.362 3.238c.007.141.01.281.01.424 0 4.338-3.302 9.34-9.34 9.34A9.284 9.284 0 0 1 0 11.527c.257.029.518.045.783.045a6.576 6.576 0 0 0 4.076-1.404 3.288 3.288 0 0 1-3.065-2.28 3.312 3.312 0 0 0 1.481-.056A3.288 3.288 0 0 1 .642 4.613v-.041c.444.246.949.393 1.488.41A3.28 3.28 0 0 1 .67 2.25c0-.602.162-1.166.444-1.651a9.315 9.315 0 0 0 6.766 3.43A3.28 3.28 0 0 1 11.078 0c.943 0 1.797.398 2.395 1.035a6.565 6.565 0 0 0 2.085-.797 3.289 3.289 0 0 1-1.443 1.816A6.543 6.543 0 0 0 16 1.539a6.665 6.665 0 0 1-1.638 1.699"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path d="M20,0H4A4,4,0,0,0,0,4V20a4,4,0,0,0,4,4H20a4,4,0,0,0,4-4V4A4,4,0,0,0,20,0ZM18.36,8.74c0,.14,0,.29,0,.43A9.34,9.34,0,0,1,4,17a6.85,6.85,0,0,0,.79,0,6.57,6.57,0,0,0,4.07-1.4A3.29,3.29,0,0,1,5.8,13.39a4.1,4.1,0,0,0,.62,0,3.49,3.49,0,0,0,.86-.11,3.28,3.28,0,0,1-2.63-3.22v0a3.35,3.35,0,0,0,1.48.42A3.29,3.29,0,0,1,4.67,7.76,3.22,3.22,0,0,1,5.12,6.1a9.3,9.3,0,0,0,6.76,3.43,3.67,3.67,0,0,1-.08-.75,3.28,3.28,0,0,1,5.67-2.24,6.54,6.54,0,0,0,2.08-.79,3.22,3.22,0,0,1-1.44,1.8A6.67,6.67,0,0,0,20,7.05,7.31,7.31,0,0,1,18.36,8.74Z" fill-rule="evenodd"/>
|
||||
</svg>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 645 B After Width: | Height: | Size: 622 B |
|
|
@ -1,21 +1,5 @@
|
|||
<template>
|
||||
<div class="form">
|
||||
<div class="form-group row text-center">
|
||||
<div class="col-12">
|
||||
<div
|
||||
class="btn btn-secondary social-button"
|
||||
@click="socialAuth('facebook')"
|
||||
>
|
||||
<div
|
||||
class="svg-icon social-icon"
|
||||
v-html="icons.facebookIcon"
|
||||
></div>
|
||||
<span>{{ registering
|
||||
? $t('signUpWithSocial', {social: 'Facebook'})
|
||||
: $t('loginWithSocial', {social: 'Facebook'}) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row text-center">
|
||||
<div class="col-12">
|
||||
<div
|
||||
|
|
@ -243,7 +227,6 @@ import debounce from 'lodash/debounce';
|
|||
import isEmail from 'validator/lib/isEmail';
|
||||
import { setUpAxios, buildAppleAuthUrl } from '@/libs/auth';
|
||||
import { MINIMUM_PASSWORD_LENGTH } from '@/../../common/script/constants';
|
||||
import facebookSquareIcon from '@/assets/svg/facebook-square.svg';
|
||||
import googleIcon from '@/assets/svg/google.svg';
|
||||
import appleIcon from '@/assets/svg/apple_black.svg';
|
||||
|
||||
|
|
@ -260,7 +243,6 @@ export default {
|
|||
};
|
||||
|
||||
data.icons = Object.freeze({
|
||||
facebookIcon: facebookSquareIcon,
|
||||
googleIcon,
|
||||
appleIcon,
|
||||
});
|
||||
|
|
@ -308,8 +290,6 @@ export default {
|
|||
},
|
||||
mounted () {
|
||||
hello.init({
|
||||
facebook: process.env.FACEBOOK_KEY, // eslint-disable-line
|
||||
// windows: WINDOWS_CLIENT_ID,
|
||||
google: process.env.GOOGLE_CLIENT_ID, // eslint-disable-line
|
||||
});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -621,7 +621,6 @@ import { MINIMUM_PASSWORD_LENGTH } from '@/../../common/script/constants';
|
|||
import exclamation from '@/assets/svg/exclamation.svg';
|
||||
import gryphon from '@/assets/svg/gryphon.svg';
|
||||
import habiticaIcon from '@/assets/svg/habitica-logo.svg';
|
||||
import facebookSquareIcon from '@/assets/svg/facebook-square.svg';
|
||||
import googleIcon from '@/assets/svg/google.svg';
|
||||
import appleIcon from '@/assets/svg/apple_black.svg';
|
||||
|
||||
|
|
@ -644,7 +643,6 @@ export default {
|
|||
exclamation,
|
||||
gryphon,
|
||||
habiticaIcon,
|
||||
facebookIcon: facebookSquareIcon,
|
||||
googleIcon,
|
||||
appleIcon,
|
||||
});
|
||||
|
|
@ -734,8 +732,6 @@ export default {
|
|||
},
|
||||
mounted () {
|
||||
hello.init({
|
||||
facebook: process.env.FACEBOOK_KEY, // eslint-disable-line
|
||||
// windows: WINDOWS_CLIENT_ID,
|
||||
google: process.env.GOOGLE_CLIENT_ID, // eslint-disable-line
|
||||
});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -92,7 +92,6 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="box payment-providers">
|
||||
<h3>Choose your payment method</h3>
|
||||
<payments-buttons
|
||||
:stripe-fn="() => pay(PAYMENTS.STRIPE)"
|
||||
:amazon-data="pay(PAYMENTS.AMAZON)"
|
||||
|
|
@ -241,7 +240,6 @@
|
|||
class="col-12"
|
||||
>
|
||||
<div class="text-center">
|
||||
<h3>Choose your payment method</h3>
|
||||
<payments-buttons
|
||||
:stripe-fn="() => pay(PAYMENTS.STRIPE)"
|
||||
:amazon-data="pay(PAYMENTS.AMAZON)"
|
||||
|
|
@ -266,6 +264,11 @@
|
|||
|
||||
.purple-box {
|
||||
color: #bda8ff;
|
||||
border-top-right-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
border-top-left-radius: 8px;
|
||||
border-bottom-left-radius: 8px;
|
||||
box-shadow: 0 2px 2px 0 rgba(26, 24, 29, 0.16), 0 1px 4px 0 rgba(26, 24, 29, 0.12);
|
||||
}
|
||||
|
||||
.number {
|
||||
|
|
@ -279,6 +282,8 @@
|
|||
|
||||
.payment-providers {
|
||||
width: 350px;
|
||||
border-top-right-radius: 8px;
|
||||
border-bottom-right-radius: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -398,6 +403,10 @@
|
|||
.payment-options {
|
||||
margin-bottom: 4em;
|
||||
|
||||
h4 {
|
||||
color: #34313a;
|
||||
}
|
||||
|
||||
.purple-box {
|
||||
background-color: #4f2a93;
|
||||
color: #fff;
|
||||
|
|
|
|||
|
|
@ -153,14 +153,6 @@
|
|||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row text-center">
|
||||
<h4
|
||||
v-once
|
||||
class="col-12 text-payment mb-3"
|
||||
>
|
||||
{{ $t('choosePaymentMethod') }}
|
||||
</h4>
|
||||
</div>
|
||||
<payments-buttons
|
||||
:disabled="!selectedGemsBlock"
|
||||
:stripe-fn="() => redirectToStripe({ gemsBlock: selectedGemsBlock })"
|
||||
|
|
|
|||
|
|
@ -387,9 +387,7 @@
|
|||
{{ $t('saveAndConfirm') }}
|
||||
</button>
|
||||
</div>
|
||||
<h5
|
||||
v-if="user.auth.local.email"
|
||||
>
|
||||
<h5 v-if="user.auth.local.has_password">
|
||||
{{ $t('changeEmail') }}
|
||||
</h5>
|
||||
<div
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<div class="container-fluid">
|
||||
<h1>Privacy Notice</h1>
|
||||
<p class="strong pagemeta">
|
||||
Last Updated: December 10, 2021
|
||||
Last Updated September 19, 2022: Removed reference to Facebook login, which is no longer supported.
|
||||
</p>
|
||||
<p>
|
||||
HabitRPG, Inc. (“HabitRPG,” “we,” “us,” or “our”) welcomes you. This privacy notice (the “Privacy
|
||||
|
|
@ -39,8 +39,8 @@
|
|||
In connection with the creation of an account on our Platforms, we collect account credentials such as
|
||||
your email, username, and password. We use this account information to create your account, including to
|
||||
verify your identity. We also use this information to manage your account, including your transactions. If
|
||||
you choose to log into your account through Google, Apple or Facebook, we capture and store the User
|
||||
ID and email address connected to the respective account, so we can verify your identity when you log in.
|
||||
you choose to log into your account through Google or Apple, we capture and store the User ID and email
|
||||
address connected to the respective account, so we can verify your identity when you log in.
|
||||
</p>
|
||||
<h3>User Content</h3>
|
||||
<p>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
@import '~@/assets/scss/colors.scss';
|
||||
|
||||
.home-header {
|
||||
background: #6133b4 !important;
|
||||
background: $purple-300 !important;
|
||||
position: static;
|
||||
box-shadow: none !important;
|
||||
height: 100px !important;
|
||||
|
|
@ -46,13 +46,13 @@
|
|||
|
||||
.nav-item a {
|
||||
font-size: 14px !important;
|
||||
color: #d5c8ff !important;
|
||||
color: $purple-600 !important;
|
||||
padding-top: 2.8em !important;
|
||||
}
|
||||
|
||||
.nav-item a:hover {
|
||||
background: transparent !important;
|
||||
color: #fff !important;
|
||||
color: $white !important;
|
||||
}
|
||||
|
||||
.nav-item .nav-link {
|
||||
|
|
@ -73,20 +73,20 @@
|
|||
}
|
||||
|
||||
.white-header {
|
||||
background: #fff !important;
|
||||
background-color: #fff !important;
|
||||
background: $white !important;
|
||||
background-color: $white !important;
|
||||
|
||||
a {
|
||||
color: #271b3d !important;
|
||||
color: $header-dark-background !important;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #fff !important;
|
||||
color: $white !important;
|
||||
}
|
||||
}
|
||||
|
||||
#purple-footer {
|
||||
background-color: #271b3d;
|
||||
background-color: $header-dark-background;
|
||||
|
||||
.row {
|
||||
margin: 0;
|
||||
|
|
@ -94,19 +94,91 @@
|
|||
|
||||
footer, footer a {
|
||||
background: transparent;
|
||||
color: #d5c8ff;
|
||||
color: $purple-500;
|
||||
&:hover {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: $purple-400;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-top-color: $purple-100;
|
||||
}
|
||||
|
||||
.donate-text {
|
||||
color: $purple-500;
|
||||
}
|
||||
|
||||
.logo {
|
||||
color: #bda8ff;
|
||||
color: $purple-300;
|
||||
}
|
||||
|
||||
.social-circle, .btn-contribute {
|
||||
background: #36205d;
|
||||
color: #bda8ff;
|
||||
.colophon {
|
||||
color: $purple-500;
|
||||
}
|
||||
|
||||
.svg-icon {
|
||||
color: #bda8ff;
|
||||
.social-circle {
|
||||
background: $purple-50;
|
||||
color: $purple-500;
|
||||
|
||||
.instagram svg {
|
||||
background-color: $purple-50;
|
||||
fill: $purple-500;
|
||||
&:hover {
|
||||
fill: $white;
|
||||
}
|
||||
}
|
||||
|
||||
.twitter svg {
|
||||
background-color: $purple-50;
|
||||
fill: $purple-500;
|
||||
&:hover {
|
||||
fill: $white;
|
||||
}
|
||||
}
|
||||
|
||||
.facebook svg {
|
||||
background-color: $purple-50;
|
||||
fill: $purple-500;
|
||||
&:hover {
|
||||
fill: $white;
|
||||
}
|
||||
}
|
||||
|
||||
.tumblr svg {
|
||||
background-color: $purple-50;
|
||||
fill: $purple-500;
|
||||
&:hover {
|
||||
fill: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn-contribute {
|
||||
background: $white;
|
||||
box-shadow: none;
|
||||
border-radius: 2px;
|
||||
width: 175px;
|
||||
height: 32px;
|
||||
color: $gray-50;
|
||||
text-align: center;
|
||||
line-height: 1.71;
|
||||
font-weight: bold;
|
||||
font-size: 0.875rem;
|
||||
vertical-align: middle;
|
||||
padding: 0;
|
||||
margin: 32px 0 32px 24px;
|
||||
box-shadow: 0 1px 3px 0 rgba(26, 24, 29, 0.12), 0 1px 2px 0 rgba(26, 24, 29, 0.24);
|
||||
|
||||
a {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.text{
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -142,7 +214,7 @@
|
|||
|
||||
<style lang="scss" scoped>
|
||||
#bottom-wrap.purple-4 {
|
||||
background-color: #271b3d;
|
||||
background-color: #271B3D;
|
||||
}
|
||||
|
||||
#bottom-wrap {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ const envVars = [
|
|||
'BASE_URL',
|
||||
'GA_ID',
|
||||
'STRIPE_PUB_KEY',
|
||||
'FACEBOOK_KEY',
|
||||
'GOOGLE_CLIENT_ID',
|
||||
'APPLE_AUTH_CLIENT_ID',
|
||||
'AMPLITUDE_KEY',
|
||||
|
|
|
|||
|
|
@ -492,5 +492,6 @@
|
|||
"backgroundParkWithStatueText": "Park med Statue",
|
||||
"backgroundDojoNotes": "Lær nye teknikker i en Dojo.",
|
||||
"backgroundDojoText": "Dojo",
|
||||
"backgrounds052019": "SET 60: Frigivet Maj 2019"
|
||||
"backgrounds052019": "SET 60: Frigivet Maj 2019",
|
||||
"hideLockedBackgrounds": "Skjul låste baggrunde"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,5 +103,6 @@
|
|||
"selectParticipant": "Vælg en deltager",
|
||||
"filters": "Filtre",
|
||||
"wonChallengeDesc": "<%= challengeName %> udvalgte dig som vinder! Din sejr er noteret i dine Præstationer.",
|
||||
"yourReward": "Din Belønning"
|
||||
"yourReward": "Din Belønning",
|
||||
"removeTasks": "Fjern opgaver"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,25 +2,25 @@
|
|||
"tavernCommunityGuidelinesPlaceholder": "Venlig påmindelse: Det her er en chat for alle aldre, så hold venligst en passende tone og vær opmærksom på indholdet af dine beskeder! Læs Retningslinjer for fællesskabet i sidepanelet, hvis du har spørgsmål.",
|
||||
"lastUpdated": "Sidst opdateret:",
|
||||
"commGuideHeadingWelcome": "Velkommen til Habitica!",
|
||||
"commGuidePara001": "Vær hilset, eventyrer! Velkommen til Habitica, et land af produktivitet, sund levemåde, og til tider en enkelt hærgende grif. Vi er et muntert fællesskab fuld af hjælpsomme folk der støtter op om hinanden på deres vej til at forbedre sig selv. For at passe ind har du kun brug for en positiv attitude, respektfuld opførsel, og forståelse for at alle har forskellige evner of begrænsninger -- inklusiv dig! Habiticanere er tålmodige med hinanden og forsøger at hjælpe hvor de kan.",
|
||||
"commGuidePara002": "For at sikre at alle er trygge, glade, og produktive i vores fællesskab, har vi nogle retningslinjer. Vi har omhyggeligt konstrueret dem så de er så venlige og letlæselige som muligt. Brug venligt et øjeblik på at læse dem inden du begynder at chatte.",
|
||||
"commGuidePara003": "Disse regler gælder alle de sociale områder vi bruger, inklusiv (men ikke nødvendigvis begrænset til) Trello, GitHub, Weblate og Wikia (wiki'en). Sommetider vil der opstå uforudsete situationer, eksempelvis en ny kilde til konflikt eller en ondskabsfuld åndemaner. Når det sker, kan moderatorer reagere ved at ændre disse retningslinjer for at beskytte fællesskabet mod ny trusler. Frygt ikke: Du vil blive gjort opmærksom på ændringer i retningslinjerne via en påmindelse fra Bailey.",
|
||||
"commGuidePara001": "Vær hilset, eventyrer! Velkommen til Habitica, et land af produktivitet, sund levemåde, og til tider en enkelt hærgende grif. Vi er et muntert fællesskab fuld af hjælpsomme folk der støtter op om hinanden på deres vej til at forbedre sig selv. For at passe ind har du kun brug for en positiv attitude, respektfuld opførsel, og forståelse for at alle har forskellige evner of begrænsninger - inklusiv dig! Habiticanere er tålmodige med hinanden og forsøger at hjælpe hvor de kan.",
|
||||
"commGuidePara002": "For at sikre at alle er trygge, glade, og produktive i vores fællesskab, har vi nogle retningslinjer. Vi har omhyggeligt konstrueret dem så de er så venlige og letlæselige som muligt. Brug venligst et øjeblik på at læse dem inden du begynder at chatte.",
|
||||
"commGuidePara003": "Disse regler gælder alle de sociale områder vi bruger, inklusiv (men ikke nødvendigvis begrænset til) Trello, GitHub, Weblate og Habitica wiki'en på fandom.com. Efterhånden som Habitica vokser og forandres, kan det ske at vores regler bliver ændret. Når der er sket bemærkelsesværdige ændringer af retningslinjerne for fællesskabet, vil du kunne høre om det i en meddelelse fra Bailey og/eller på vores sociale medier!",
|
||||
"commGuideHeadingInteractions": "Interaktioner i Habitica",
|
||||
"commGuidePara015": "Habitica har to slags sociale rum: offentlige og private. Offentlige rum inkluderer Værtshuset, Offentlige klaner, GitHub, Trello og Wiki'en. Private rum er Private klaner, Holdchatten og Private beskeder. Alle display names skal følge retningslinjerne for offentlige rum. Gå til Bruger > Indstillinger > Side for at ændre dit brugernavn.",
|
||||
"commGuidePara016": "Når du navigerer rundt i de offentlige steder af Habitica, er der nogle generelle regler for at sørge for, at alle er sikre og glade. De burde være lette for eventyrere som dig!",
|
||||
"commGuideList02A": "<strong>Respekter hinanden</strong>. Vær høflig, venlig og hjælpsom. Husk: Habiticanere kommer fra alle baggrunde og har haft vildt skiftende oplevelser og erfaringer. Det er en del af det, der gør Habitica så cool! At bygge et fællesskab betyder at vi respekterer og fejrer vores forskelle såvel som vores ligheder. Her er nogle nemme måder at vise respekt for hinanden på:",
|
||||
"commGuideList02B": "<strong>Adlyd alt i <a href='/static/terms' target='_blank'>Vilkår og betingelser</a></strong>.",
|
||||
"commGuideList02C": "<strong>Læg ikke billeder eller tekst op, der er voldeligt, truende eller seksuelt eksplicit/antydende, eller som promoverer diskrimination, fordomme, racisme, sexisme, had, chikane eller skade mod et individ eller en gruppe</strong>. Ikke engang som en joke. Dette inkluderer skældsord såvel som udtalelser. Ikke alle har den samme form for humor, så noget du anser som en joke er muligvis sårende for en anden. Angrib jeres Daglige opgaver, ikke hinanden.",
|
||||
"commGuideList02D": "<strong>Hold diskussioner passende for alle aldre</strong>. Vi har mange unge Habiticanere der bruger hjemmesiden! Lad os ikke genere nogen uskyldige eller forhindre nogen Habiticanere i at opnår deres mål.",
|
||||
"commGuideList02E": "<strong>Undgå bandeord. Dette inkluderer mildere, religiøst baserede bandeord der kan være acceptable andre steder</strong>. Vi har folk fra alle religiøse og kulturelle baggrunde, og vi vil gerne sørge for at de alle føler sig trygge i offentlige rum. <strong>Hvis en moderator eller medarbejder fortæller dig at et udtryk ikke er tilladt i Habitica, selvom det er et udtryk, du ikke vidste var problematisk, er den beslutning endegyldig</strong>. Der vil blive slået særlig hårdt ned på skældsord, da de også går imod vores Vilkår og betingelser.",
|
||||
"commGuideList02F": "<strong>Undgå lange diskussioner af opsplittende emner i Værtshuset og hvor det ellers ikke ville være et passende emne</strong>. Hvis du føler nogen har sagt noget uhøfligt eller sårende, så svar dem ikke. Hvis nogen nævner noget der er tilladt ifølge retningslinjerne, men sårende for dig, er det okay høfligt at sige det til dem. Hvis det er imod retningslinjerne eller Vilkår og betingelser, så rapporter det og lad en moderator håndtere det. Hvis du er i tvivl, så rapporter beskeden.",
|
||||
"commGuideList02G": "<strong>Overhold omgående enhver anmodning fra en Moderator.</strong>. Dette kan inkludere, men er ikke begrænset til, at bede dig begrænse antallet af dine beskeder i et bestemt rum, at fjerne upassende indhold fra din profil, at bede dig om at tage din diskussion et mere passende sted osv.",
|
||||
"commGuideList02J": "<strong>Spam ikke</strong>. Spam inkluderer, men er ikke begrænset til: at skrive den samme kommentar eller spørgsmål flere steder, at lægge links op uden forklaring eller kontekst, at skrive meningsløse beskeder, at skrive adskillige promoverende beskeder om en Klan, Hold eller Udfordring, eller at skrive mange beskeder på én gang. At tigge om ædelsten eller et abonnement i ethvert chatrum eller via Privatbesked betragtes også som spam.<br/><br/>Det er op til moderatorerne at beslutte om noget er spam eller kan føre til spam, selv hvis du ikke mener du har spammet. For eksempel er det i orden at reklamere for en Klan en enkelt eller to gange, men adskillige beskeder samme da ville sikkert blive betragtet som spam, uanset hvor nyttig Klanen er!",
|
||||
"commGuidePara015": "Habitica har to slags sociale rum: offentlige og private. Offentlige rum inkluderer Værtshuset, offentlige klaner, GitHub, Trello og wiki'en. Private rum tæller private klaner, Holdchatten og private beskeder. Alle displaynavne og @brugernavne skal følge retningslinjerne for offentlige rum. Gå til Menu > Indstillinger > Profil for at ændre dit displaynavn eller @brugernavn i app'en. På Habiticas hjemmeside skal du gå til Bruger > Indstillinger.",
|
||||
"commGuidePara016": "Når du navigerer rundt i de offentlige rum af Habitica, er der nogle generelle regler for at sørge for, at alle er sikre og glade.",
|
||||
"commGuideList02A": "<strong>Respekter hinanden</strong>. Vær høflig, venlig og hjælpsom. Husk: Habiticanere kommer fra alle baggrunde og har haft vildt skiftende oplevelser og erfaringer. Det er en del af det, der gør Habitica så cool! At bygge et fællesskab betyder at vi respekterer og fejrer vores forskelle såvel som vores ligheder.",
|
||||
"commGuideList02B": "<strong>Adlyd alt i <a href='/static/terms' target='_blank'>Vilkår og betingelser</a></strong> i både offentlige og private rum.",
|
||||
"commGuideList02C": "<strong>Læg ikke billeder eller tekst op, der er voldeligt, truende eller seksuelt eksplicit/antydende, eller som promoverer diskrimination, fordomme, racisme, sexisme, had, chikane eller skade mod et individ eller en gruppe</strong>. Ikke engang som en joke. Dette inkluderer skældsord såvel som udtalelser. Ikke alle har den samme form for humor, så noget du anser som en joke er muligvis sårende for en anden.",
|
||||
"commGuideList02D": "<strong>Hold diskussioner passende for alle aldre</strong>. Dette betyder at 18+ emner ikke bør diskuteres i offentlige rum. Vi har mange unge Habiticanere der bruger hjemmesiden, og vores brugere kommer fra mange steder i verden. Vi vil gerne have, at Habitica er så rart og inkluderende et sted som muligt.",
|
||||
"commGuideList02E": "<strong>Undgå bandeord. Dette inkluderer mildere, religiøst baserede bandeord der kan være acceptable andre steder, og forkortede eller forklædte bandeord.</strong> Vi har folk fra alle religiøse og kulturelle baggrunde, og vi vil gerne sørge for at de alle føler sig trygge i offentlige rum. <strong>Hvis en moderator eller medarbejder fortæller dig at et udtryk ikke er tilladt i Habitica, selvom det er et udtryk, du ikke vidste var problematisk, er den beslutning endegyldig.</strong> Der vil blive slået særlig hårdt ned på skældsord, da de også går imod vores Vilkår og betingelser.",
|
||||
"commGuideList02F": "Undgå lange diskussioner af opsplittende emner i Værtshuset og hvor det ellers ikke ville være et passende emne. Hvis nogen siger noget der er tilladt under vores retningslinjer, men som er sårende for dig, er det okay høfligt at sige det til dem. Hvis nogen siger til dig, at du har gjort dem ubehageligt til mode, så tag et øjeblik til at tænke over dine ord frem for at svare i vrede. Hvis du føler, at en samtale er ved at blive overophedet, følelsesladet eller sårende, <strong>så hold op med at svare. Rapportér i stedet de relevante beskeder for at sende besked til os.</strong> Moderatorerne vil se på det, så hurtigt de kan. Du kan også sende en email til <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a> og er velkommen til at sende screenshots, hvis det ville hjælpe os med at forstå sagen.",
|
||||
"commGuideList02G": "<strong>Overhold omgående enhver anmodning fra en Moderator.</strong> Dette kan inkludere, men er ikke begrænset til, at bede dig begrænse antallet af dine beskeder i et bestemt rum, at fjerne upassende indhold fra din profil, at bede dig om at tage din diskussion et mere passende sted osv. Begynd ikke at diskutere med moderatorerne. Hvis du har kommentarer til Habiticas moderering, så send en email til <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a> for at komme i kontakt med vores community manager.",
|
||||
"commGuideList02J": "<strong>Spam ikke</strong>. Spam inkluderer, men er ikke begrænset til: at skrive den samme kommentar eller spørgsmål flere steder, <strong>at lægge links op uden forklaring eller kontekst</strong>, at skrive meningsløse beskeder, at skrive adskillige promoverende beskeder om en Klan, Hold eller Udfordring, eller at skrive mange beskeder på én gang. Hvis det at andre brugere følger et link vil give nogen form for afkast eller fordel til dig, skal det stå i beskeden, ellers vil det også blive regnet for spam. Det er op til moderatorerne at beslutte om noget er spam.",
|
||||
"commGuideList02K": "<strong>Undgå at skrive store overskrifter i offentlige chatrum, især Værtshuset</strong>. Ligesom ALL CAPS læses det som om du råber, og forstyrrer den behagelige stemning.",
|
||||
"commGuideList02L": "<strong>Vi fraråder kraftigt deling af personlig information -- især information der kan bruges til at identificere dig - i offentlige chatrum</strong>. Identificerende personlig information inkluderer, men er ikke begrænset til: din adresse, emailadresse og din API token/password. Det er for din sikkerheds skyld! Medarbejdere eller moderatorer kan fjerne sådanne beskeder efter forgodtbefindende. Hvis du bliver bedt om personlig information i en privat Klan, Hold eller Besked, anbefaler vi kraftigt at du høfligt afviser og gør medarbejderne og moderatorerne opmærksomme ved enten 1) at rapportere beskeden hvis det er i chatten tilhørende et Hold eller privat Klan, eller 2) at udfylde <a href='https://contact.habitica.com/' target='_blank'>Moderatorkontaktformularen</a> og vedlægger screenshots.",
|
||||
"commGuideList02L": "<strong>Vi fraråder kraftigt deling af personlig information -- især information der kan bruges til at identificere dig - i offentlige chatrum</strong>. Identificerende personlig information inkluderer, men er ikke begrænset til: din adresse, emailadresse og din API token/password. Det er for din sikkerheds skyld! Medarbejdere eller moderatorer kan fjerne sådanne beskeder efter forgodtbefindende. Hvis du bliver bedt om personlig information i en privat Klan, Hold eller Besked, anbefaler vi kraftigt at du høfligt afviser og gør medarbejderne og moderatorerne opmærksomme ved enten 1) at rapportere beskeden, eller 2) at sende en email til <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a> og vedhæfte screenshots.",
|
||||
"commGuidePara019": "<strong>I private rum</strong> har brugere mere frihed til at diskutere hvilke emner de har lyst til, men de må stadig ikke gå imod Vilkår og betingelser, inklusiv at skrive nedværdigende skældsord eller noget diskriminerende, voldeligt eller truende indhold. Bemærk, at fordi navne på Udfordringer kan ses i vinderens offentlige profil skal ALLE navne på Udfrodringer adlyde retningslinjerne for offentlige rum, selv hvis de foregår i et privat rum.",
|
||||
"commGuidePara020": "<strong>Privatbeskeder</strong> har nogle ekstra retningslinjer. Hvis nogen har blokeret dig må du ikke kontakte dem på andre måder for at bede dem om at fjerne blokeringen. Derudover må du ikke sende privatbeskeder til andre for at bede om hjælp (fordi offentlige svar til spørgsmål om hjælp også kan hjælpe resten af fællesskabet). Sidst men ikke mindst må du ikke sende privatbeskeder til nogen for at tigge om ædelsten eller et abonnement, da dette kan anses som spamming.",
|
||||
"commGuidePara020A": "<strong>Hvis du ser et indlæg eller en privatbesked, du mener går imod retningslinjerne for offenlige rum, beskrevet ovenfor, eller hvis du ser indlæg eller privatbeskeder, der bekymrer dig eller gør dig utryg, kan du gøre Moderatorer og Medarbejdere opmærksomme på den ved at klikke på flag-ikonet for at rapportere det</strong>. En Medarbejder eller Moderator vil tage sig af situationen, så snart de kan. Bemærk venligst, at det at rapportere uskyldige indlæg går imod disse Retningslinjer (se \"Overtrædelser\" nedenunder). Du kan også kontakte Moderatorerne via formularen “<a href='https://contact.habitica.com/' target='_blank'>Kontakt Moderatorerne</a>.” Det kan være det bedste at gøre dette hvis der er flere problematiske indlæg af den samme person i forskellige Klaner, eller hvis situationen kræver en forklaring. Du kan kontakte os på dit eget sprog hvis det er lettere for dig. Vi bliver muligvis nødt til at bruge Google Translate, men vi vil gerne have at du føler dig tryg ved at tage kontakt til os, hvis du har et problem.",
|
||||
"commGuidePara020": "<strong>Privatbeskeder</strong> har nogle ekstra retningslinjer. Hvis nogen har blokeret dig må du ikke kontakte dem på andre måder for at bede dem om at fjerne blokeringen. Derudover må du ikke sende privatbeskeder til andre for at bede om hjælp (fordi offentlige svar til spørgsmål om hjælp også kan hjælpe resten af fællesskabet). Sidst men ikke mindst må du ikke sende privatbeskeder til nogen for at tigge om nogen form for service, der koster rigtige penge.",
|
||||
"commGuidePara020A": "<strong>Hvis du ser et indlæg eller en privatbesked, du mener går imod retningslinjerne for offentlige rum, beskrevet ovenfor, eller hvis du ser indlæg eller privatbeskeder, der bekymrer dig eller gør dig utryg, kan du gøre Moderatorer og Medarbejdere opmærksomme på den ved at klikke på flag-ikonet for at rapportere det</strong>. En Medarbejder eller Moderator vil tage sig af situationen, så snart de kan. Bemærk venligst, at det at rapportere uskyldige indlæg går imod disse retningslinjer (se \"Overtrædelser\" nedenunder). Du kan også kontakte Moderatorerne ved at emaile <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a>. Det kan være det bedste at gøre dette, hvis der er flere problematiske indlæg af den samme person i forskellige Klaner, eller hvis situationen kræver en forklaring. Du kan kontakte os på dit eget sprog hvis det er lettere for dig. Vi bliver muligvis nødt til at bruge Google Translate, men vi vil gerne have at du føler dig tryg ved at tage kontakt til os, hvis du har et problem.",
|
||||
"commGuidePara021": "Herudover har nogen offentlige steder i Habitica ekstra retningslinjer.",
|
||||
"commGuideHeadingTavern": "Værtshuset",
|
||||
"commGuidePara022": "Værtshuset er det primære sted Habiticanere hænger ud. Kroværten Daniel holder stedet funklende rent, og Lemoness vil med glæde fremtrylle dig et glas lemonade mens du sidder og snakker. Bare husk…",
|
||||
|
|
@ -31,8 +31,8 @@
|
|||
"commGuidePara029": "<strong>Offentlige Klaner er meget ligesom Værtshuset, bortset fra at de i stedet for at være til generelle samtaler har et bestemt tema</strong>. Chat i offentlige Klaner bør have fokus på dette tema. For eksempel ville medlemmer af Klanen Wordsmiths måske blive fornærmede, hvis samtalen pludselig handler om havearbejde, og Klanen for Dragefans har nok ikke meget interesse i at tyde oldtidens runer. Nogle Klaner er meget afslappede om dette end andre, men forsøg generelt <strong>at holde dig til emnet</strong>!",
|
||||
"commGuidePara031": "I nogle offentlige Klaner omtales der følsomme emner som depression, religion, politik osv. Dette er helt i orden, så længe samtalerne i Klanen ikke bryder nogle Vilkår og betingelser eller Regler for offentlige rum, og så længe de holder sig til Klanens emne.",
|
||||
"commGuidePara033": "<strong>Offentlige Klaner må IKKE indeholde indhold for aldersgruppen 18+. Hvis de planlægger jævnligt at diskutere følsomt indhold, skal dette stå i Klanens beskrivelse</strong>. Dette er for at holde Habitica sikkert of trygt for alle.",
|
||||
"commGuidePara035": "<strong>Hvis en Klan omhandler flere forskellige følsomme emner, er det hensynsfuldt over for dine med-Habiticanere at skrive din kommentar efter en advarsel (fx \"Advarsel: Omtaler selvskade\")</strong>. Disse kan karakteriseres som trigger warnings og/eller noter om indholdet, og Klaner kan have deres egne regler om disse udover dem, der er givet her. Hvis det er muligt, så brug venligst <a href='http://habitica.fandom.com/wiki/Markdown_Cheat_Sheet' target='_blank'>markdown</a> for at gemme det potentielt følsomme indhold under flere linjeskift, så de, der ikke ønsker at læse det, kan scrolle forbi uden at se indholdet. Habiticas medarbejdere og moderatorer kan stadig fjerne dette indhold efter eget skøn.",
|
||||
"commGuidePara036": "Desuden bør følsomt indhold stadig være aktuelt for Klanens emne - at tale om selvskade i en Klan hvor fokus er på at kæmpe mod depression giver mening, men er mindre passende i en Klan for musik. Hvis du ser nogen, som gentagne gange går imod denne retningslinje, især efter at være blevet bedt om at stoppe flere gange, så rapportér venligst deres indlæg og gør moderatorerne opmærksom på dette via <a href='https://contact.habitica.com/' target='_blank'>Moderatorkontaktformularen</a>.",
|
||||
"commGuidePara035": "<strong>Hvis en Klan omhandler flere forskellige følsomme emner, er det hensynsfuldt over for dine med-Habiticanere at skrive din kommentar efter en advarsel (fx \"Advarsel: Omtaler selvskade\")</strong>. Disse kan karakteriseres som trigger warnings og/eller noter om indholdet, og Klaner kan have deres egne regler om disse udover dem, der er givet her. Hvis det er muligt, så brug venligst <a href='https://habitica.fandom.com/wiki/Markdown_Cheat_Sheet' target='_blank'>markdown</a> for at gemme det potentielt følsomme indhold under flere linjeskift, så de, der ikke ønsker at læse det, kan scrolle forbi uden at se indholdet. Habiticas medarbejdere og moderatorer kan stadig fjerne dette indhold efter eget skøn.",
|
||||
"commGuidePara036": "Desuden bør følsomt indhold stadig være aktuelt for Klanens emne - at tale om selvskade i en Klan hvor fokus er på at kæmpe mod depression giver mening, men er mindre passende i en Klan for musik. Hvis du ser nogen, som gentagne gange går imod denne retningslinje, især efter at være blevet bedt om at stoppe flere gange, så rapportér deres beskeder.",
|
||||
"commGuidePara037": "<strong>Ingen Klaner, hverken Offentlige eller Private, bør oprettes med det formål at angribe en gruppe eller et individ</strong>. At oprette en sådan Klan er grundlæg for øjeblikkelig bortvisning fra Habitica. Nedkæmp dårlige vaner, ikke dine med-eventyrere!",
|
||||
"commGuidePara038": "<strong>Alle Udfordringer i Værtshuset og Offentlige Klaner skal også følge disse regler</strong>.",
|
||||
"commGuideHeadingInfractionsEtc": "Overtrædelser, Konsekvenser og Genskabelse",
|
||||
|
|
@ -44,24 +44,24 @@
|
|||
"commGuidePara053": "De følgende er eksempler på større overtrædelser. Listen er ikke fyldestgørende.",
|
||||
"commGuideList05A": "Brud på Betingelser og Vilkår",
|
||||
"commGuideList05B": "Hadtale/billeder, Chikane/stalking, Cyber-mobning, Flaming og Trolling",
|
||||
"commGuideList05C": "Brud på Prøvetid",
|
||||
"commGuideList05D": "At udgive sig for at være Ansat eller Moderator",
|
||||
"commGuideList05E": "Gentagne Moderate Overtrædelser",
|
||||
"commGuideList05C": "Brud på prøvetid",
|
||||
"commGuideList05D": "At udgive sig for at være Ansat eller Moderator - dette inkluderer at påstå, at brugerskabte platforme, der ikke at associerede med Habitica, er officielle og/eller modereret af Habitica eller deres mods/medarbejdere",
|
||||
"commGuideList05E": "Gentagne moderate overtrædelser",
|
||||
"commGuideList05F": "Oprettelse af en ekstra konto for at undgå konsekvenser (for eksempel at oprette en ny konto til at chatte med, efter at have fået frataget ens chat-privilegier)",
|
||||
"commGuideList05G": "Bevidst bedrag af Ansatte eller Moderatorer med det formål at undgå konsekvenser eller bringe en anden bruger i vanskeligheder",
|
||||
"commGuideHeadingModerateInfractions": "Moderate Overtrædelser",
|
||||
"commGuideHeadingModerateInfractions": "Moderate overtrædelser",
|
||||
"commGuidePara054": "Moderate overtrædelser gør ikke fællesskabet usikkert, men de gør det ubehageligt. Disse overtrædelser har moderate konsekvenser. Når de står sammen med andre overtrædelser, kan konsekvenserne blive større.",
|
||||
"commGuidePara055": "De følgende er eksempler på Moderate Overtrædelser. Listen er ikke endelig.",
|
||||
"commGuidePara055": "De følgende er eksempler på moderate overtrædelser. Listen er ikke fyldestgørende.",
|
||||
"commGuideList06A": "At ignorere, opføre respektløst overfor, eller skændes med en Moderator. Dette inkluderer offentlige at klage over moderatorer eller andre brugere, offentligt at forherlige eller forsvare bortviste brugere, eller at debatterer hvorvidt en moderators handlinger var passende. Hvis du er bekymret om en af reglerne eller en Moderators opførsel, så kontakt venligst de ansatte via email (<a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a>).",
|
||||
"commGuideList06B": "Backseat Modding. For at tydeliggøre en relevant pointe: En venlig påmindelse om reglerne er helt fint. Backseat modding består i at fortælle, kræve, og/eller stærkt antyde at nogen bør gøre som du siger for at rette op på en fejl. Du kan gøre nogen opmærksom på at de har begået en overtrædelse, men forlang venligst ikke at de skal gøre noget - for eksempel er det bedre at sige \"Bare så du ved det er det ikke så godt at bande i Værtshuset, så det kan være du skulle slette det\" end \"Jeg er nødt til at bede dig slette det indlæg.\"",
|
||||
"commGuideList06C": "At rapportere uskyldige indlæg med vilje.",
|
||||
"commGuideList06D": "Gentagne gange at bryde Retningslinjerne for offentlige rum",
|
||||
"commGuideList06E": "Gentagne gange at begå mindre overtrædelser",
|
||||
"commGuideHeadingMinorInfractions": "Mindre Overtrædelser",
|
||||
"commGuideHeadingMinorInfractions": "Mindre overtrædelser",
|
||||
"commGuidePara056": "Mindre overtrædelser har kun mindre konsekvenser, men er stadig ikke anbefalede. Hvis de sker gentagne gange kan det føre til større konsekvenser.",
|
||||
"commGuidePara057": "De følgende er eksempler på Mindre Overtrædelser. Listen er ikke fyldestgørende.",
|
||||
"commGuidePara057": "De følgende er eksempler på mindre overtrædelser. Listen er ikke fyldestgørende.",
|
||||
"commGuideList07A": "Førstegangsbrud på Retningslinjer for Offentlige Steder",
|
||||
"commGuideList07B": "Alle udsagn eller handlinger, som udløser et \"Lad venligst være\". Når en Moderator er nødt til at sige \"Lad venligst være med det\" til en bruger, kan det tælle som en meget lille overtrædelse for den bruger. Et eksempel kunne være \"Lad venligst være med at blive ved med at argumentere for indførslen af den funktion, når vi har sgat til dig adskillige gange at det ikke kan lade sig gøre.\" I mange tilfælde vil 'Lad venligst være' blot være konsekvensen af overtrædelsen, men hvis Moderatorerne er nødt til at bede den samme bruger flere gange om at holde op, vil de Mindre Overtrædelser begynde at tælle som Moderate Overtrædelser.",
|
||||
"commGuideList07B": "Alle udsagn eller handlinger, som udløser et \"lad venligst være\" fra en moderator. Når du offentligt bliver bedt om at stoppe en handling, kan dette i sig selv tælle som en mindre overtrædelse. Hvis mods er nødt til gentagne gange at irettesætte den samme person, kan det komme til at tælle som en grovere overtrædelse",
|
||||
"commGuidePara057A": "Nogle indlæg kan blive skjult fordi de indeholder følsom information eller kan give folk det forkerte indtryk. Typisk gælder dette ikke som en overtrædelser, især ikke den første gang det sker!",
|
||||
"commGuideHeadingConsequences": "Konsekvenser",
|
||||
"commGuidePara058": "I Habitica - som i virkeligheden - har alle handlinger også konsekvenser, hvad enten det er at komme i bedre form fordi du har løbet, få huller i tænderne fordi du har spist for meget sukker, eller bestå et fag fordi du har studeret.",
|
||||
|
|
@ -71,53 +71,63 @@
|
|||
"commGuideList08B": "hvad konsekvensen er",
|
||||
"commGuideList08C": "hvad der skal til for at rette fejlen og genoprette din status, hvis muligt.",
|
||||
"commGuidePara060A": "Hvis situationen påkræver det kan du også modtage en PM eller email plus et indlæg i det forum, hvor overtrædelsen blev begået. I nogle tilfælde bliver du slet ikke irettesat offentligt.",
|
||||
"commGuidePara060B": "Hvis din konto bortvises (en alvorlig konsekvens), vil du ikke være i stand til at logge på Habitica, og vil få en fejl-besked når du prøver. <strong>Hvis du ønsker at undskylde eller argumentere for genoprettelse af din konto, så skriv venligst en email til de ansatte på <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a> med dit UUID (unikke bruger-ID)</strong> (som vil blive oplyst i fejl-beskeden). Det er <strong>dit</strong> ansvar at tage kontakt, hvis du ønsker en genovervejelse af situationen, eller genoprettelse.",
|
||||
"commGuideHeadingSevereConsequences": "Eksempler på Større Konsekvenser",
|
||||
"commGuidePara060B": "Hvis din konto bortvises (en alvorlig konsekvens), vil du ikke være i stand til at logge på Habitica, og vil få en fejl-besked når du prøver. <strong>Hvis du ønsker at undskylde eller argumentere for genoprettelse af din konto, så skriv venligst en email til de ansatte på <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a> med dit bruger-ID</strong> (som vil blive oplyst i fejlbeskeden) eller @brugernavn. Det er <strong>dit</strong> ansvar at tage kontakt, hvis du ønsker en genovervejelse af situationen, eller genoprettelse.",
|
||||
"commGuideHeadingSevereConsequences": "Eksempler på større konsekvenser",
|
||||
"commGuideList09A": "Kontoudelukkelser (se ovenstående)",
|
||||
"commGuideList09C": "Permanent deaktivering (\"indefrysning\") af fremskridt i Bidragsyder-niveauer",
|
||||
"commGuideHeadingModerateConsequences": "Eksempler på Moderate Konsekvenser",
|
||||
"commGuideHeadingModerateConsequences": "Eksempler på moderate konsekvenser",
|
||||
"commGuideList10A": "Begrænsede offentlige og/eller private chatprivilegier",
|
||||
"commGuideList10A1": "Hvis dine handlinger resulterer i fradragelse af dine rettigheder til chatten, vil en Moderator eller Ansat sende dig en privatbesked og/eller et indlæg i det forum du blev suspenderet fra for at fortælle dig grunden til og længden af din suspendering. Efter denne periode vil du få dine chatrettigheder tilbage, forudsat at du er villig til at ændre ved den opførsel du blev suspenderet for og overholde Fællesskabets Retningslinjer.",
|
||||
"commGuideList10A1": "Hvis dine handlinger resulterer i fradragelse af dine rettigheder til chatten, vil en Moderator eller Ansat sende dig en privatbesked og/eller et indlæg i det forum du blev suspenderet fra for at fortælle dig grunden til og længden af din suspendering, og/eller hvad du skal gøre for at få dine chatprivilegier tilbage. Du vil få dem igen, hvis du høfligt følger de anvisninger du får, og erklærer dig villig til at følge vores Retningslinjer for Fællesskabet og Betingelser & Vilkår",
|
||||
"commGuideList10C": "Begrænsede Klan/Udfordringsoprettelsesprivilegier",
|
||||
"commGuideList10D": "Midlertidig deaktivering (\"indefrysning\") af fremskridt i Bidragsyder-niveauer",
|
||||
"commGuideList10E": "Degradering af Bidragsyder-niveauer",
|
||||
"commGuideList10F": "Sætte brugere på \"Prøvetid\"",
|
||||
"commGuideHeadingMinorConsequences": "Eksempler på Mindre Konsekvenser",
|
||||
"commGuideList10F": "At sætte brugere på \"prøvetid\"",
|
||||
"commGuideHeadingMinorConsequences": "Eksempler på mindre konsekvenser",
|
||||
"commGuideList11A": "Påmindelser om Retningslinjer for Offentlige Steder",
|
||||
"commGuideList11B": "Advarsler",
|
||||
"commGuideList11C": "Anmodninger",
|
||||
"commGuideList11D": "Slettelser (Moderatorer/Ansatte kan slette problematisk indhold)",
|
||||
"commGuideList11E": "Rettelser (Moderatorer/Ansatte kan slette problematisk indhold)",
|
||||
"commGuideList11E": "Rettelser (Moderatorer/Ansatte kan redigere problematisk indhold)",
|
||||
"commGuideHeadingRestoration": "Genoprettelse",
|
||||
"commGuidePara061": "Habitica er en land dedikeret til forbedring, og vi tror på at give en chance til <strong>Hvis du begår en overtrædelse og bliver udsat for en konsekvens som følge, så se det som en mulighed for at evaluere dine handlinger og forbedre din opførsel som medlem af fællesskabet</strong>.",
|
||||
"commGuidePara062": "Den bekendtgørelse, besked og/eller email du modtager, der forklarer konsekvenserne af dine handlinger, er en god kilde til information. Hold dig til de begrænsninger der er blevet påført, og bestræb dig på at møde de krav, der kan få eventuelle straffe ophævet.",
|
||||
"commGuidePara063": "Hvis du ikke forstår konsekvenserne eller arten af din overtrædelse, så bed Medarbejderne/Moderatorerne om hjælp, så du kan undgå at begå overtrædelser i fremtiden. Hvis du føler at en bestemt beslutning var uretfærdig, kan du kontakte de ansatte for at diskutere det på <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a>.",
|
||||
"commGuideHeadingMeet": "Mød de Ansatte og Moderatorerne!",
|
||||
"commGuidePara006": "Habitica har nogle utrættelige omvandrende riddere, der kæmper sammen med de ansatta for at holde fællesskabet roligt, tilfreds, og frit for trolde. Hver har et specifikt domæne, men vil sommetider blive kaldt ind for at hjælpe i andre sociale sfærer.",
|
||||
"commGuidePara006": "Habitica har nogle utrættelige omvandrende riddere, der kæmper sammen med de ansatte for at holde fællesskabet roligt, tilfreds, og frit for trolde. Hver har et specifikt domæne, men vil sommetider blive kaldt ind for at hjælpe i andre sociale sfærer.",
|
||||
"commGuidePara007": "Ansatte har lilla tags markeret med kroner. Deres titel er \"Heltemodig\".",
|
||||
"commGuidePara008": "Moderatorer har mørkeblå tags markeret med stjerner. Deres titel er \"Beskytter\". Den eneste undtagelse er Bailey, der som NPC har et sort og grønt tag markeret med en stjerne.",
|
||||
"commGuidePara009": "De nuværende Ansatte er (fra venstre mod højre):",
|
||||
"commGuideAKA": "<%= habitName %> aka <%= realName %>",
|
||||
"commGuidePara008": "Moderatorer har mørkeblå tags markeret med stjerner. Deres titel er \"Beskytter\".",
|
||||
"commGuidePara009": "De nuværende ansatte er (fra venstre mod højre):",
|
||||
"commGuideAKA": "<%= habitName %>, aka <%= realName %>",
|
||||
"commGuideOnTrello": "<%= trelloName %> på Trello",
|
||||
"commGuideOnGitHub": "<%= gitHubName %> på GitHub",
|
||||
"commGuidePara010": "Der er også flere Moderatorer, der hjælper de ansatte. Disse er omhyggeligt udvalgt, så vis dem respekt og lyt til deres forslag.",
|
||||
"commGuidePara011": "De nuværende Moderatorer er (fra venstre mod højre):",
|
||||
"commGuidePara011b": "På GitHub/Wikia",
|
||||
"commGuidePara011c": "på Wikia",
|
||||
"commGuidePara011": "De nuværende moderatorer er (fra venstre mod højre):",
|
||||
"commGuidePara011b": "på GitHub/Fandom",
|
||||
"commGuidePara011c": "på wiki'en",
|
||||
"commGuidePara011d": "på GitHub",
|
||||
"commGuidePara012": "Hvis du har et problem eller bekymring, der drejer sig om en bestemt Moderator, så send venligst en email til vores Medarbejdere (<a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a>).",
|
||||
"commGuidePara013": "Brugere kommer og går i et fællesskab så stort som Habitica. Sommetider bliver en medarbejder eller moderator nødt til at fralægge sig deres ædle kappe, og slappe lidt af. De følgende er Ansatte og Moderatorer Emeritus. De løfter ikke længere et ansvar som Ansat eller Moderator, men vi vil stadig gerne mindes deres indsats!",
|
||||
"commGuidePara014": "Ansatte og Moderatorer Emeritus:",
|
||||
"commGuideHeadingFinal": "Den Sidste Sektion",
|
||||
"commGuidePara067": "Det var så det, modige Habiticaner - Retningslinjerne for fællesskabet! Tør sveden af panden og giv dig selv nogle Erfaringpoint for at læse det hele. Hvis du har nogle spørgsmål om disse Retningslinjer for fællesskabet, så tag venligst fat i os via <a href='https://contact.habitica.com/' target='_blank'>Moderatorkontaktformularen</a>, og vi vil med glæde forsøge at gøre tingene klart for dig.",
|
||||
"commGuidePara068": "Tag afsted, modige eventyrer, og bekæmp nogle Daglige!",
|
||||
"commGuidePara014": "Ansatte og Moderatorer emeritus:",
|
||||
"commGuideHeadingFinal": "Den sidste sektion",
|
||||
"commGuidePara067": "Det var så det, modige Habiticaner - Retningslinjerne for fællesskabet! Tør sveden af panden og giv dig selv nogle Erfaringpoint for at læse det hele. Hvis du har nogle spørgsmål om disse Retningslinjer for fællesskabet, så tag venligst fat i os via <a href='mailto:admin@habitica.com' target='_blank'>admin@habitica.com</a>, og vi vil med glæde forsøge at gøre tingene klart for dig.",
|
||||
"commGuidePara068": "Tag afsted, modige eventyrer, og nedkæmp nogle Daglige!",
|
||||
"commGuideHeadingLinks": "Nyttige links",
|
||||
"commGuideLink01": "<a href='/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a' target='_blank'>Habitica Help: Ask a Question</a>: en Klan hvor brugere kan stille spørgsmål!",
|
||||
"commGuideLink02": "<a href='http://habitica.fandom.com/wiki/Habitica_Wiki' target='_blank'>Wiki'en</a>: den største samling af information om Habitica.",
|
||||
"commGuideLink03": "<a href='https://github.com/HabitRPG/habitica' target='_blank'>GitHub</a>: til bug-rapporter eller hjælp med kodning!",
|
||||
"commGuideLink02": "<a href='https://habitica.fandom.com/wiki/Habitica_Wiki' target='_blank'>Wiki'en</a>: den største samling af information om Habitica.",
|
||||
"commGuideLink03": "<a href='https://github.com/HabitRPG/habitica' target='_blank'>GitHub</a>: for at hjælpe med kodning!",
|
||||
"commGuideLink04": "<a href='https://docs.google.com/forms/d/e/1FAIpQLScPhrwq_7P1C6PTrI3lbvTsvqGyTNnGzp1ugi1Ml0PFee_p5g/viewform?usp=sf_link' target='_blank'>Feedbackformularen</a>: til forslag til hjemmesiden og app'en.",
|
||||
"commGuideLink05": "<a href='https://trello.com/b/mXK3Eavg/' target='_blank'>Den mobile Trello</a>: til at bede om funktioner til vores apps.",
|
||||
"commGuideLink06": "<a href='https://trello.com/b/vwuE9fbO/' target='_blank'>Kunst-Trello</a>: til at indsende pixel art.",
|
||||
"commGuideLink07": "<a href='https://trello.com/b/nnv4QIRX/' target='_blank'>Quest-Trello</a>: til at indsende tekst til quests.",
|
||||
"commGuidePara069": "Følgende talentfulde kunstnere har bidraget med disse illustrationer:"
|
||||
"commGuidePara069": "Følgende talentfulde kunstnere har bidraget med disse illustrationer:",
|
||||
"commGuidePara017": "Her er den hurtige version, men vi opfordrer dig til at læse den mere detaljerede udgave nedenunder:",
|
||||
"commGuideList01A": "Vores Betingelser & Vilkår gælder alle steder i Habitica, inklusiv private klaner, holdchatten og private beskeder.",
|
||||
"commGuideList02M": "Bed eller tig ikke andre om at give dig ædelsten, et abonnement eller medlemskab i gruppeplaner. Dette er ikke tilladt at gøre i hverken Værtshuset, offentlige eller private rum, eller i privatbeskeder. Hvis du får en besked med en anmodning om ting, der koster rigtige penge, så rapportér dem venligst. Gentaget eller groft tiggeri, især efter en advarsel er blevet udstedt, kan resulterer i en blokering af din konto.",
|
||||
"commGuideList01B": "Forbudt: Al kommunikation der er voldeligt, truende, opfordrer til diskrimination osv., inklusiv memes, billeder og jokes.",
|
||||
"commGuideList01C": "Al samtale skal være passende for enhver aldersgruppe og ikke indeholde skælds- ellers bandeord.",
|
||||
"commGuideList01D": "Følg venligst moderatorernes anvisninger.",
|
||||
"commGuideList01E": "Start og deltag ikke i diskussioner i Værtshuset, der kan føre til skænderier.",
|
||||
"commGuideList01F": "Bed ikke andre om at give dig ting der koster rigtige penge, spam ikke, og skriv ikke beskeder i all caps eller stor overskriftstekst.",
|
||||
"commGuideList05H": "Grove eller gentagne forsøg på at bedrage eller presse andre spillere til at give dig genstande/services, der koster rigtige penge",
|
||||
"commGuideList09D": "Fjernelse af Bidragsyder-niveauer"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@
|
|||
"hatchingPotionEmber": "Glødende",
|
||||
"hatchingPotionThunderstorm": "Tordenvejr",
|
||||
"hatchingPotionGhost": "Spøgelse",
|
||||
"hatchingPotionRoyalPurple": "Royal lilla",
|
||||
"hatchingPotionRoyalPurple": "Purpur",
|
||||
"hatchingPotionHolly": "Kristtorn",
|
||||
"hatchingPotionCupid": "Amor",
|
||||
"hatchingPotionShimmer": "Glimmer",
|
||||
|
|
|
|||
|
|
@ -49,9 +49,10 @@
|
|||
"balance": "Balance",
|
||||
"playerTiers": "Spillertrin",
|
||||
"tier": "Trin",
|
||||
"conRewardsURL": "http://habitica.fandom.com/wiki/Contributor_Rewards",
|
||||
"conRewardsURL": "https://habitica.fandom.com/wiki/Contributor_Rewards",
|
||||
"surveysSingle": "Hjalp Habitica med at vokse ved at udfylde et spørgeskema eller var en stor hjælp ved test. Tusind tak!",
|
||||
"surveysMultiple": "Hjalp Habitica med at vokse ved <%= count %> lejligheder, enten ved at udfylde et spørgeskema eller hjalp med et større test-arbejde. Tusind tak!",
|
||||
"blurbHallPatrons": "Dette er Protektorernes Sal, hvor vi ærer de ædle eventyrere, der støttede Habiticas originale Kickstarter. Vi takker dem for at hjælpe os med at vække Habitica til live!",
|
||||
"blurbHallContributors": "Dette er Bidragsydernes Sal, hvor dem, der har bidraget med open-source materiale til Habitica, bliver æret. Om det er gennem kode, grafik, musik, tekst eller bare generel hjælpsomhed, har de modtaget <a href='http://habitica.fandom.com/wiki/Contributor_Rewards' target='_blank'> ædelsten, eksklusivt udstyr</a>, og <a href='http://habitica.fandom.com/wiki/Contributor_Titles' target='_blank'>prestigefyldte titler</a>. Du kan også bidrage til Habitica! <a href='http://habitica.fandom.com/wiki/Contributing_to_Habitica' target='_blank'> Find ud af mere her. </a>"
|
||||
"blurbHallContributors": "Dette er Bidragsydernes Sal, hvor dem, der har bidraget med open-source materiale til Habitica, bliver æret. Om det er gennem kode, grafik, musik, tekst eller bare generel hjælpsomhed, har de modtaget <a href='https://habitica.fandom.com/wiki/Contributor_Rewards' target='_blank'> ædelsten, eksklusivt udstyr</a>, og <a href='https://habitica.fandom.com/wiki/Contributor_Titles' target='_blank'>prestigefyldte titler</a>. Du kan også bidrage til Habitica! <a href='https://habitica.fandom.com/wiki/Contributing_to_Habitica' target='_blank'> Find ud af mere her. </a>",
|
||||
"noPrivAccess": "Du har ikke de påkrævede rettigheder."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"dontDespair": "Bare rolig!",
|
||||
"deathPenaltyDetails": "Du mistede et Niveau, dit Guld og et stykke Udstyr, men du kan få det hele igen med hårdt arbejde! Held og lykke - du skal nok klare den.",
|
||||
"refillHealthTryAgain": "Genfyld Liv og Prøv Igen",
|
||||
"dyingOftenTips": "Sker dette ofte? <a href='http://habitica.fandom.com/wiki/Death_Mechanics#Strategies_for_Staying_Alive' target='_blank'>Her er nogle fif!</a>",
|
||||
"dyingOftenTips": "Sker dette ofte? <a href='https://habitica.fandom.com/wiki/Death_Mechanics#Strategies_for_Staying_Alive' target='_blank'>Her er nogle fif!</a>",
|
||||
"losingHealthWarning": "Pas på - du mister Liv!",
|
||||
"losingHealthWarning2": "Lad ikke dit Liv falde til nul! Hvis du gør det vil du tabe et niveau, alt dit guld og et stykke udstyr.",
|
||||
"toRegainHealth": "For at genopfylde Liv:",
|
||||
|
|
@ -14,4 +14,4 @@
|
|||
"lowHealthTips4": "Hvis en Daglig ikke er forfalden på en given dag, kan du deaktivere den ved at klikke på blyanten.",
|
||||
"goodLuck": "Held og lykke!",
|
||||
"cannotRevive": "Du kan ikke genoplive hvis du ikke er død"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
"defaultHabit2Text": "Spis junk food (Klik på blyanten for at redigere)",
|
||||
"defaultHabit3Text": "Tag trapperne/elevatoren (Klik på blyanten for at redigere)",
|
||||
"defaultHabit4Text": "Tilføj en opgave til Habitica",
|
||||
"defaultHabit4Notes": "Enten en Vane, en Daglig eller en To-Do",
|
||||
"defaultHabit4Notes": "Enten en Vane, en Daglig eller en To Do",
|
||||
"defaultTodo1Text": "Begynd at bruge Habitica (Markér mig som færdig!)",
|
||||
"defaultTodoNotes": "Du kan enten færdiggøre denne To-Do, ændre den, eller fjerne den.",
|
||||
"defaultTodoNotes": "Du kan enten færdiggøre denne To Do, ændre den eller fjerne den.",
|
||||
"defaultReward1Text": "15 minutters pause",
|
||||
"defaultReward2Text": "Beløn dig selv",
|
||||
"defaultReward2Notes": "Se fjernsyn, spil et spil, spis noget guf, det er op til dig!",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"accept2Terms": "og",
|
||||
"chores": "Pligter",
|
||||
"clearBrowserData": "Ryd browserdata",
|
||||
"communityExtensions": "<a href='http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations' target='_blank'>Tilføjelser og udvidelser</a>",
|
||||
"communityExtensions": "<a href='https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations' target='_blank'>Tilføjelser og udvidelser</a>",
|
||||
"communityFacebook": "Facebook",
|
||||
"companyAbout": "Hvordan det virker",
|
||||
"companyBlog": "Blog",
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
"companyDonate": "Donér",
|
||||
"forgotPassword": "Glemt kodeord?",
|
||||
"emailNewPass": "E-mail et nulstillings-link til kodeord",
|
||||
"forgotPasswordSteps": "Skriv den e-mail adresse du benyttede til at registrere din Habitica-konto.",
|
||||
"forgotPasswordSteps": "Skriv dit @brugernavn eller den e-mail adresse, du benyttede til at registrere din Habitica-konto.",
|
||||
"sendLink": "Send link",
|
||||
"featuredIn": "Omtalt i",
|
||||
"footerDevs": "Udviklere",
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
"marketing3Header": "Apps og Udvidelser",
|
||||
"marketing3Lead1": "**iPhone & Android** apps lader dig klare dine ting på farten. Vi ved, at det nogen gange er for meget at skulle logge ind på websiden for at klikke på knapper.",
|
||||
"marketing3Lead2Title": "Integrationer",
|
||||
"marketing3Lead2": "Andre **tredjepartsværktøjer** kan binde Habitica sammen med andre dele af dit liv. Vores API muliggør integrationer som [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), med hvilken du mister point ved at bruge unyttige hjemmesider, og optjener point når du browser de nyttige i stedet. [Se mere her](http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).",
|
||||
"marketing3Lead2": "Andre **tredjepartsværktøjer** kan binde Habitica sammen med andre dele af dit liv. Vores API muliggør integrationer som [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), med hvilken du mister point ved at bruge unyttige hjemmesider, og optjener point når du browser de nyttige i stedet. [Se mere her](https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).",
|
||||
"marketing4Header": "Organisatorisk brug",
|
||||
"marketing4Lead1": "Uddannelse er en af de bedste områder at bruge spilelementer. Vi ved alle, hvordan studerende nærmest er limet til deres telefon disse dage, så brug dette! Sæt dine elever til at kæmpe mod hinanden som hyggelig konkurrence. Beløn god opførsel med sjældne præmier. Se deres karakterer og opførsel blive forbedret.",
|
||||
"marketing4Lead1Title": "Brug af Spilelementer i Undervisning",
|
||||
|
|
@ -184,5 +184,6 @@
|
|||
"mobileApps": "Mobile apps",
|
||||
"learnMore": "Lær mere",
|
||||
"communityInstagram": "Instagram",
|
||||
"minPasswordLength": "Kodeord skal bestå af 8 eller flere tegn."
|
||||
"minPasswordLength": "Kodeord skal bestå af 8 eller flere tegn.",
|
||||
"enterHabitica": "Spil Habitica"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"sortByStr": "STY",
|
||||
"sortByInt": "INT",
|
||||
"weapon": "våben",
|
||||
"weaponCapitalized": "Main-Hand Item",
|
||||
"weaponCapitalized": "Primær hånd",
|
||||
"weaponBase0Text": "Intet våben",
|
||||
"weaponBase0Notes": "Intet våben.",
|
||||
"weaponWarrior0Text": "Træningssværd",
|
||||
|
|
@ -892,7 +892,7 @@
|
|||
"headSpecialDandyHatNotes": "Sikke en herlig hat! Den vil klæde dig så nydeligt på en gåtur. Forøger Konstitution med <%= con %>.",
|
||||
"headSpecialKabutoText": "Samuraihjelm",
|
||||
"headSpecialKabutoNotes": "Denne hjelm er funktionel og smuk! Dine fjender vil være helt distraherede af den. Forøger Intelligens med <%= int %>.",
|
||||
"headSpecialNamingDay2017Text": "Royal lilla grifhjelm",
|
||||
"headSpecialNamingDay2017Text": "Purpurfarvet grifhjelm",
|
||||
"headSpecialNamingDay2017Notes": "Glædelig Navngivningsdag! Ifør dig denne truende og fjerklædte hjelm for at fejre Habitica. Giver ingen bonusser.",
|
||||
"headSpecialTurkeyHelmBaseText": "Kalkunhjelm",
|
||||
"headSpecialTurkeyHelmBaseNotes": "Dit Thanksgiving-look vil være fuldendt med denne næbbede hjelm! Giver ingen bonusser.",
|
||||
|
|
@ -1599,7 +1599,7 @@
|
|||
"bodySpecialSummer2015MageNotes": "Dette spænde giver ingen krafter overhovedet, men det er pænt. Giver ingen bonusser. Specielt 2015 Sommerudstyr.",
|
||||
"bodySpecialSummer2015HealerText": "Matrostørklæde",
|
||||
"bodySpecialSummer2015HealerNotes": "Hiv Ohøj? Nej nej nej! Giver ingen bonusser. Specielt 2015 Sommerudstyr.",
|
||||
"bodySpecialNamingDay2018Text": "Royal Purple Gryphon Cloak",
|
||||
"bodySpecialNamingDay2018Text": "Purpurfarvet grif-kappe",
|
||||
"bodySpecialNamingDay2018Notes": "Happy Naming Day! Wear this fancy and feathery cloak as you celebrate Habitica. Confers no benefit.",
|
||||
"bodyMystery201705Text": "Folded Feathered Fighter Wings",
|
||||
"bodyMystery201705Notes": "These folded wings don't just look snazzy: they will give you the speed and agility of a gryphon! Confers no benefit. May 2017 Subscriber Item.",
|
||||
|
|
@ -1873,5 +1873,6 @@
|
|||
"headSpecialNye2020Notes": "Du har modtaget en Ekstravagant Festhat! Bær den med stolthed imens du byder det nye år velkommen! Giver ingen fordele.",
|
||||
"headSpecialNye2020Text": "Ekstravagant Festhat",
|
||||
"weaponSpecialWinter2021MageNotes": "Dette mægtige våben er bestemt mere end en fase. Kanalisér din energi, fokusér på en måneds flow, og studér tid og rum. Øger Intelligens med <%= int %> og Opfattelse med <%= per %>. Begrænset 2020-2021 Vinterudstyr.",
|
||||
"weaponSpecialWinter2021MageText": "Magisk Måne-faser"
|
||||
"weaponSpecialWinter2021MageText": "Magisk Måne-faser",
|
||||
"backSpecialNamingDay2020Text": "Purpurfarvet grifhale"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
"contributing": "Sådan bidrager du",
|
||||
"faq": "FAQ",
|
||||
"tutorial": "Vejledning",
|
||||
"glossary": "<a target='_blank' href='http://habitica.fandom.com/wiki/Glossary'>Ordliste (EN)</a>",
|
||||
"glossary": "<a target='_blank' href='https://habitica.fandom.com/wiki/Glossary'>Ordliste (EN)</a>",
|
||||
"wiki": "Wiki",
|
||||
"requestAF": "Anmod om en funktion",
|
||||
"dataTool": "Datavisningsværktøj",
|
||||
|
|
@ -324,7 +324,7 @@
|
|||
"gettingStarted": "Kom i gang",
|
||||
"congratsOnGroupPlan": "Tillykke med oprettelsen af din nye Gruppe! Her er nogle svar på flere af de mest almindelige spørgsmål.",
|
||||
"whatsIncludedGroup": "Hvad er inkluderet i abonnementet",
|
||||
"whatsIncludedGroupDesc": "Alle medlemmer af Gruppen får alle fordele ved et abonnement, inklusiv de månedlige abonnentgenstande, evnen til at købe Ædelsten for Guld, og det Royale Lilla Jackalope-ridedyr, som er en eksklusiv belønning for medlemmer af en Gruppeplan.",
|
||||
"whatsIncludedGroupDesc": "Alle medlemmer af Gruppen får alle fordele ved et abonnement, inklusiv de månedlige abonnentgenstande, evnen til at købe Ædelsten for Guld, og det purpur Jackalope-ridedyr, som er en eksklusiv belønning for medlemmer af en Gruppeplan.",
|
||||
"howDoesBillingWork": "Hvordan fungerer betalingen?",
|
||||
"howDoesBillingWorkDesc": "Gruppeledere faktureres baseret på antallet af gruppemedlemmer på en månedlig basis. Regningen omfatter prisen for Gruppelederens abonnement ($9 USD) plus $3 USD for hvert ekstra gruppemedlem. Fx: En gruppe af fire brugere vil koste $18 USD om måneden, da gruppen består af 1 Gruppeleder + 3 gruppemedlemmer.",
|
||||
"howToAssignTask": "Hvordan tildeler du en Opgave?",
|
||||
|
|
@ -339,5 +339,6 @@
|
|||
"recurringCompletion": "Ingen - Gruppeopgave kan ikke udføres",
|
||||
"singleCompletion": "Single - Completes when any assigned user finishes",
|
||||
"allAssignedCompletion": "All - Completes when all assigned users finish",
|
||||
"pmReported": "Tak, fordi du rapporterede denne besked."
|
||||
"pmReported": "Tak, fordi du rapporterede denne besked.",
|
||||
"features": "Funktioner"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@
|
|||
"seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>",
|
||||
"seasonalShopTitle": "<%= linkStart %>Sæson-heksen<%= linkEnd %>",
|
||||
"seasonalShopClosedText": "Sæson-markedet er lukket lige nu!! Det er kun åbent under Habiticas fire Grandiøse Gallaer.",
|
||||
"seasonalShopSummerText": "Glædeligt Sommerplask!! Vil du købe nogle sjældne genstande? De vil kun være tilgængelige indtil 31. juli!",
|
||||
"seasonalShopFallText": "Glædelig Efterårsfestival!! Vil du købe nogle sjældne genstande? De vil kun være tilgængelige indtil 31. oktober!",
|
||||
"seasonalShopWinterText": "Velkommen til Vintereventyret!! Vil du købe nogle sjældne genstande? De vil kun være tilgængelige indtil 31. januar!",
|
||||
"seasonalShopSpringText": "Glædelig Forårsfest!! Vil du købe nogle sjældne genstande? De vil kun være tilgængelige indtil 30. april!",
|
||||
"seasonalShopSummerText": "Glædeligt Sommerplask!! Vil du købe nogle sjældne genstande? Sørg for at købe dem før Gallaen slutter!",
|
||||
"seasonalShopFallText": "Glædelig Efterårsfestival!! Vil du købe nogle sjældne genstande? Sørg for at købe dem før Gallaen slutter!",
|
||||
"seasonalShopWinterText": "Velkommen til Vintereventyret!! Vil du købe nogle sjældne genstande? Sørg for at købe dem før Gallaen slutter!",
|
||||
"seasonalShopSpringText": "Glædelig Forårsfest!! Vil du købe nogle sjældne genstande? Sørg for at købe dem før Gallaen slutter!",
|
||||
"seasonalShopFallTextBroken": "Åh.... Velkommen til Sæson-markedet... Vi har efterårs-sæson varer, eller noget... Alting her kan købes under Efterårsfestival-eventet hvert år, men vi har kun åbent indtil den 31. oktober... Du burde nok købe ind nu, ellers vil du skulle vente... og vente... og vente... <strong>*suk*</strong>",
|
||||
"seasonalShopBrokenText": "Min pavillon!!!!!!! Mine dekorationer!!!! Åh, den Dysheartener har ødelagt det hele :( Hjælp med at bekæmpe den i Værtshuset, så jeg kan genopbygge!",
|
||||
"seasonalShopRebirth": "Hvis du har købt noget af detteudstyr før, men ikke ejer det i øjeblikket, kan du genkøbe det i Belønningskolonnen. I starten vil du kun kunne købe de ting der passer til din nuværende klasse (Kriger som standard), men frygt ej, de andre klasse-specifikke varer bliver tilgængelige hvis du skifter til den klasse.",
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
"snowDaySet": "Snedagskriger (Kriger)",
|
||||
"snowboardingSet": "Snowboardende Sortkunstner (Magiker)",
|
||||
"festiveFairySet": "Festlig Fe (Helbreder)",
|
||||
"cocoaSet": "Kakao Slyngel (Slyngel)",
|
||||
"cocoaSet": "Kakao (Slyngel)",
|
||||
"toAndFromCard": "Til: <%= toName %>, Fra: <%= fromName %>",
|
||||
"nyeCard": "Nytårskort",
|
||||
"nyeCardExplanation": "Da I har fejret nytår sammen, modtager I begge \"Gammel Kending\"-emblemet!",
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
"nye0": "Godt Nytår! Må du overvinde mange dårlige Vaner.",
|
||||
"nye1": "Godt Nytår! Må du modtage mange Belønninger.",
|
||||
"nye2": "Godt Nytår! Må du udføre mange Perfekte Dage.",
|
||||
"nye3": "Godt Nytår! Må din To-Do-liste forblive kort og overskuelig.",
|
||||
"nye3": "Godt nytår! Må din To-Do-liste forblive kort og overskuelig.",
|
||||
"nye4": "Godt nytår! Må du undgå at blive angrebet af vrede Hippogriffer.",
|
||||
"mightyBunnySet": "Kraftfuld Kanin (Kriger)",
|
||||
"magicMouseSet": "Magisk Mus (Magiker)",
|
||||
|
|
@ -74,11 +74,11 @@
|
|||
"magicianBunnySet": "Tryllekunstners Kanin (Magiker)",
|
||||
"comfortingKittySet": "Trøstende Kat (Helbreder)",
|
||||
"sneakySqueakerSet": "Pibende Sniger (Slyngel)",
|
||||
"sunfishWarriorSet": "Solfiskekriger (Kriger)",
|
||||
"sunfishWarriorSet": "Solfisk (Kriger)",
|
||||
"shipSoothsayerSet": "Skibs-sandsigerske (Magiker)",
|
||||
"strappingSailorSet": "Spændstig Sømand (Helbreder)",
|
||||
"reefRenegadeSet": "Røver på Revet (Slyngel)",
|
||||
"scarecrowWarriorSet": "Fægtende Fugleskræmsel (Kriger)",
|
||||
"scarecrowWarriorSet": "Fugleskræmsel (Kriger)",
|
||||
"stitchWitchSet": "Skrædderheks (Magiker)",
|
||||
"potionerSet": "Eleksirmager (Helbreder)",
|
||||
"battleRogueSet": "Flager-Fusker (Slyngel)",
|
||||
|
|
@ -86,40 +86,40 @@
|
|||
"grandMalkinSet": "Mester-malkin (Magiker)",
|
||||
"cleverDogSet": "Kløgtig Hund (Slyngel)",
|
||||
"braveMouseSet": "Modig Mus (Kriger)",
|
||||
"summer2016SharkWarriorSet": "Hajkriger (Kriger)",
|
||||
"summer2016DolphinMageSet": "Delfinmagiker (Magiker)",
|
||||
"summer2016SeahorseHealerSet": "Søhesthelbreder (Helbreder)",
|
||||
"summer2016EelSet": "Åleslyngel (Slyngel)",
|
||||
"summer2016SharkWarriorSet": "Haj (Kriger)",
|
||||
"summer2016DolphinMageSet": "Delfin (Magiker)",
|
||||
"summer2016SeahorseHealerSet": "Søhest (Helbreder)",
|
||||
"summer2016EelSet": "Ål (Slyngel)",
|
||||
"fall2016SwampThingSet": "Sump-ting (Kriger)",
|
||||
"fall2016WickedSorcererSet": "Skummel Sortkunstner (Magiker)",
|
||||
"fall2016GorgonHealerSet": "Gorgon-helbreder (Helbreder)",
|
||||
"fall2016BlackWidowSet": "Sort Enke-slyngel (Slyngel)",
|
||||
"fall2016GorgonHealerSet": "Gorgon (Helbreder)",
|
||||
"fall2016BlackWidowSet": "Sort enke (Slyngel)",
|
||||
"winter2017IceHockeySet": "Ishockey (Kriger)",
|
||||
"winter2017WinterWolfSet": "Vinterulv (Magiker)",
|
||||
"winter2017SugarPlumSet": "Sukkerblomme-helbreder (Helbreder)",
|
||||
"winter2017FrostyRogueSet": "Sukkerslyngel (Slyngel)",
|
||||
"spring2017FelineWarriorSet": "Kattekriger (Kriger)",
|
||||
"winter2017SugarPlumSet": "Sukkerblomme (Helbreder)",
|
||||
"winter2017FrostyRogueSet": "Frost (Slyngel)",
|
||||
"spring2017FelineWarriorSet": "Kattedyr (Kriger)",
|
||||
"spring2017CanineConjurorSet": "Hundehekser (Magiker)",
|
||||
"spring2017FloralMouseSet": "Blomstermus (Helbreder)",
|
||||
"spring2017SneakyBunnySet": "Krybende Kanin (Slyngel)",
|
||||
"summer2017SandcastleWarriorSet": "Sandslotskriger (Kriger)",
|
||||
"summer2017WhirlpoolMageSet": "Malstrømsmagiker (Magiker)",
|
||||
"summer2017SandcastleWarriorSet": "Sandslot (Kriger)",
|
||||
"summer2017WhirlpoolMageSet": "Malstrøm(Magiker)",
|
||||
"summer2017SeashellSeahealerSet": "Havmuslingehelbreder (Helbreder)",
|
||||
"summer2017SeaDragonSet": "Sødrage (Slyngel)",
|
||||
"fall2017HabitoweenSet": "Habitoweenkriger (Kriger)",
|
||||
"fall2017MasqueradeSet": "Maskerademagiker (Magiker)",
|
||||
"fall2017HauntedHouseSet": "Spøgelseshuslæge (Helbreder)",
|
||||
"fall2017TrickOrTreatSet": "Ballademagerbandit (Slyngel)",
|
||||
"winter2018ConfettiSet": "Konfettimagiker (Magiker)",
|
||||
"winter2018GiftWrappedSet": "Indpakket Kriger (Kriger)",
|
||||
"winter2018MistletoeSet": "Misteltenshelbreder (Helbreder)",
|
||||
"winter2018ReindeerSet": "Rendsdyrslyngel (Slyngel)",
|
||||
"spring2018SunriseWarriorSet": "Solopgangskriger (Kriger)",
|
||||
"spring2018TulipMageSet": "Tulipanmagiker (Magiker)",
|
||||
"spring2018GarnetHealerSet": "Granatrød Helbreder (Helbreder)",
|
||||
"spring2018DucklingRogueSet": "Ællingeslyngel (Slyngel)",
|
||||
"summer2018BettaFishWarriorSet": "Kampfiskkriger (Kriger)",
|
||||
"summer2018LionfishMageSet": "Dragefiskmagiker (Magiker)",
|
||||
"fall2017HabitoweenSet": "Habitoween (Kriger)",
|
||||
"fall2017MasqueradeSet": "Maskerade(Magiker)",
|
||||
"fall2017HauntedHouseSet": "Spøgelseshus (Helbreder)",
|
||||
"fall2017TrickOrTreatSet": "Ballademager (Slyngel)",
|
||||
"winter2018ConfettiSet": "Konfetti (Magiker)",
|
||||
"winter2018GiftWrappedSet": "Gavepapir (Kriger)",
|
||||
"winter2018MistletoeSet": "Mistelten (Helbreder)",
|
||||
"winter2018ReindeerSet": "Rensdyr (Slyngel)",
|
||||
"spring2018SunriseWarriorSet": "Solopgang (Kriger)",
|
||||
"spring2018TulipMageSet": "Tulipan (Magiker)",
|
||||
"spring2018GarnetHealerSet": "Granatrød (Helbreder)",
|
||||
"spring2018DucklingRogueSet": "Ælling (Slyngel)",
|
||||
"summer2018BettaFishWarriorSet": "Kampfisk (Kriger)",
|
||||
"summer2018LionfishMageSet": "Dragefisk (Magiker)",
|
||||
"summer2018MerfolkMonarchSet": "Havfruehertug(inde) (Helbreder)",
|
||||
"summer2018FisherRogueSet": "Fiskerslyngel (Slyngel)",
|
||||
"fall2018MinotaurWarriorSet": "Minotaur (Kriger)",
|
||||
|
|
@ -131,21 +131,98 @@
|
|||
"winter2019WinterStarSet": "Vinterstjerne (Helbreder)",
|
||||
"winter2019PoinsettiaSet": "Julestjerne (Slyngel)",
|
||||
"eventAvailability": "Tilgændelig til køb indtil <%= date(locale) %>.",
|
||||
"dateEndMarch": "April 30",
|
||||
"dateEndApril": "19. april",
|
||||
"dateEndMay": "May 31",
|
||||
"dateEndJune": "Juni 14",
|
||||
"dateEndJuly": "July 31",
|
||||
"dateEndAugust": "August 31",
|
||||
"dateEndSeptember": "September 21",
|
||||
"dateEndOctober": "October 31",
|
||||
"dateEndNovember": "December 3",
|
||||
"dateEndJanuary": "January 31",
|
||||
"dateEndFebruary": "February 28",
|
||||
"winterPromoGiftHeader": "GIFT A SUBSCRIPTION AND GET ONE FREE!",
|
||||
"winterPromoGiftDetails1": "Til og med 15. januar vil du få det samme abonnement med til dig selv, når du køber et abonnement til nogen i gave!",
|
||||
"dateEndMarch": "31. marts",
|
||||
"dateEndApril": "30. april",
|
||||
"dateEndMay": "31. maj",
|
||||
"dateEndJune": "30. juni",
|
||||
"dateEndJuly": "31. juli",
|
||||
"dateEndAugust": "31. august",
|
||||
"dateEndSeptember": "30. september",
|
||||
"dateEndOctober": "31. oktober",
|
||||
"dateEndNovember": "30. november",
|
||||
"dateEndJanuary": "31. januar",
|
||||
"dateEndFebruary": "28. februar",
|
||||
"winterPromoGiftHeader": "GIV ET ABONNEMENT I GAVE, OG FÅ ET GRATIS!",
|
||||
"winterPromoGiftDetails1": "Til og med 6. januar vil du få det samme abonnement med til dig selv, når du køber et abonnement til nogen i gave!",
|
||||
"winterPromoGiftDetails2": "Bemærk venligst, at hvis du eller modtageren af din gave allerede har et tilbagevendende abonnement, vil gave-abonnementet kun starte efter det tilbagevendende er blevet opsagt eller er udløbet. Tusind tak for din støtte! <3",
|
||||
"discountBundle": "pakke",
|
||||
"g1g1Announcement": "<strong>Giv et abonnement, få et abonnement gratis!</strong> Tilbuddet gælder lige nu!",
|
||||
"g1g1Details": "Send et gave-abonnement til en ven fra deres profil, og du vil få det samme abonnement til dig selv gratis!"
|
||||
"g1g1Announcement": "<strong>Giv et abonnement og få et abonnement gratis!</strong> Tilbuddet gælder lige nu!",
|
||||
"g1g1Details": "Send et gave-abonnement til en ven, og du vil få det samme abonnement til dig selv gratis!",
|
||||
"g1g1": "Send et, få et",
|
||||
"winter2020EvergreenSet": "Stedsegrøn (Kriger)",
|
||||
"winter2020CarolOfTheMageSet": "Magisk julesang (Magiker)",
|
||||
"winter2020WinterSpiceSet": "Vinterkrydderi (Helbreder)",
|
||||
"spring2020IrisHealerSet": "Iris (Helbreder)",
|
||||
"spring2019OrchidWarriorSet": "Orkidé (Kriger)",
|
||||
"spring2019AmberMageSet": "Rav (Magiker)",
|
||||
"summer2020OarfishMageSet": "Sildekonge (Magiker)",
|
||||
"spring2019RobinHealerSet": "Rødhals (Helbreder)",
|
||||
"summer2020SeaGlassHealerSet": "Havglas (Helbreder)",
|
||||
"spring2019CloudRogueSet": "Sky (Slyngel)",
|
||||
"fall2020DeathsHeadMothHealerSet": "Dødningehovednatsværmer (Helbreder)",
|
||||
"summer2019SeaTurtleWarriorSet": "Havskildpadde (Kriger)",
|
||||
"winter2021IceFishingWarriorSet": "Isfisker (Kriger)",
|
||||
"summer2019WaterLilyMageSet": "Åkande (Magiker)",
|
||||
"winter2021WinterMoonMageSet": "Vintermåne (Magiker)",
|
||||
"summer2019ConchHealerSet": "Konkylie (Helbreder)",
|
||||
"spring2021SwanMageSet": "Svane (Magiker)",
|
||||
"summer2019HammerheadRogueSet": "Hammerhaj (Slyngel)",
|
||||
"fall2019CyclopsSet": "Kyklop (Magiker)",
|
||||
"summer2021NautilusMageSet": "Nautilus (Magiker)",
|
||||
"summer2021ParrotHealerSet": "Papegøje (Helbreder)",
|
||||
"summer2021ClownfishRogueSet": "Klovnefisk (Slyngel)",
|
||||
"fall2020TwoHeadedRogueSet": "Tohovedet (Slyngel)",
|
||||
"spring2020PuddleMageSet": "Vandpyt (Magiker)",
|
||||
"fall2020WraithWarriorSet": "Genfærd (Kriger)",
|
||||
"summer2021FlyingFishWarriorSet": "Flyvefisk (Kriger)",
|
||||
"spring2021SunstoneWarriorSet": "Solsten (Kriger)",
|
||||
"summer2020RainbowTroutWarriorSet": "Regnbueørred (Kriger)",
|
||||
"fall2020ThirdEyeMageSet": "Treøjet (Magiker)",
|
||||
"fall2019RavenSet": "Ravn (Kriger)",
|
||||
"spring2021TwinFlowerRogueSet": "Kaprifolie (Slyngel)",
|
||||
"spring2021WillowHealerSet": "Piletræ (Helbreder)",
|
||||
"winter2020LanternSet": "Lanterne (Slyngel)",
|
||||
"spring2020BeetleWarriorSet": "Næsehornsbille (Kriger)",
|
||||
"summer2020CrocodileRogueSet": "Krokodille (Slyngel)",
|
||||
"winter2021HollyIvyRogueSet": "Kristtjørn og vedbend (Slyngel)",
|
||||
"winter2021ArcticExplorerHealerSet": "Arktisk udforsker (Helbreder)",
|
||||
"spring2020LapisLazuliRogueSet": "Lapis lazuli (Slyngel)",
|
||||
"fall2019OperaticSpecterSet": "Operaspøgelse (Slyngel)",
|
||||
"g1g1Limitations": "Dette er et tidsbegrænset tilbud der begynder d. 16. december kl. 14:00 (UTC+1), og slutter d. 6. januar kl. 02:00 (UTC+1). Dette tilbud gælder kun, når du giver et gave-abonnement til en anden Habiticaner. Hvis du eller modtageren allerede har et abonnement, vil gave-abonnementet tilføje yderligere tid, der kun vil blive brugt så snart det nuværende abonnement opsiges eller udløber.",
|
||||
"mayYYYY": "maj <%= year %>",
|
||||
"limitations": "Begrænsninger",
|
||||
"summer2022CrabRogueSet": "Krabbe (Slyngel)",
|
||||
"summer2022WaterspoutWarriorSet": "Vandsøjle (Kriger)",
|
||||
"summer2022MantaRayMageSet": "Djævlerokke (Magiker)",
|
||||
"summer2022AngelfishHealerSet": "Englefisk (Helbreder)",
|
||||
"dateEndDecember": "31. december",
|
||||
"februaryYYYY": "februar <%= year %>",
|
||||
"julyYYYY": "juli <%= year %>",
|
||||
"octoberYYYY": "oktober <%= year %>",
|
||||
"howItWorks": "Sådan virker det",
|
||||
"noLongerAvailable": "Denne genstand er ikke længere tilgængelig.",
|
||||
"spring2022MagpieRogueSet": "Skade (Slyngel)",
|
||||
"spring2022RainstormWarriorSet": "Uvejr (Kriger)",
|
||||
"spring2022ForsythiaMageSet": "Forsythia (Magiker)",
|
||||
"g1g1HowItWorks": "Skriv brugernavnet på den konto, du vil sende gave-abonnementet til. Derefter skal du vælge længden på abonnementet, og så checke ud. Din konto vil automatisk få tildelt den samme type abonnement, du lige har givet en anden.",
|
||||
"fall2021OozeRogueSet": "Slim (Slyngel)",
|
||||
"fall2021HeadlessWarriorSet": "Hovedløs (Kriger)",
|
||||
"fall2021BrainEaterMageSet": "Hjerneæder (Magiker)",
|
||||
"fall2021FlameSummonerHealerSet": "Flammehidkalder (Helbreder)",
|
||||
"eventAvailabilityReturning": "Kan købes indtil <%= availableDate(locale) %>. Denne eliksir var sidst tilgængelig <%= previousDate(locale) %>.",
|
||||
"septemberYYYY": "september <%= year %>",
|
||||
"marchYYYY": "marts <%= year %>",
|
||||
"juneYYYY": "juni <%= year %>",
|
||||
"novemberYYYY": "november <%= year %>",
|
||||
"decemberYYYY": "december <%= year %>",
|
||||
"augustYYYY": "august <%= year %>",
|
||||
"winter2022FireworksRogueSet": "Fyrværkeri (Slyngel)",
|
||||
"winter2022StockingWarriorSet": "Julesok (Kriger)",
|
||||
"winter2022PomegranateMageSet": "Granatæble (Magiker)",
|
||||
"winter2022IceCrystalHealerSet": "Iskrystal (Helbreder)",
|
||||
"g1g1Event": "Send et, få et - tilbuddet gælder nu!",
|
||||
"g1g1Returning": "For at fejre nytåret bringer vi et ganske særligt tilbud tilbage. Lige nu, når du køber et abonnement som gave, får du det samme abonnement selv!",
|
||||
"januaryYYYY": "januar <%= year %>",
|
||||
"aprilYYYY": "april <%= year %>",
|
||||
"royalPurpleJackolantern": "Purpur Græskarlygte"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,9 +17,9 @@
|
|||
"mattBochText1": "Velkommen til Stalden! Jeg er Staldmesteren Matt. Hver gang du færdiggør en opgave, vil du have en chance for at modtage et tilfældigt Æg eller Udklækningseliksir til at udklække Kæledyr. Når du udruger et Kæledyr, vil det dukke op her! Klik på billedet af Kæledyret for at føje det til din Avatar. Giv dem det Dyrefoder du finder, og de vil vokse sig til kraftfulde Ridedyr.",
|
||||
"welcomeToTavern": "Velkommen til Værtshuset!",
|
||||
"sleepDescription": "Har du brug for en pause? Check ind i Daniels Værtshus for at sætte nogle af Habiticas svære elementer på pause:",
|
||||
"sleepBullet1": "Missede Daglige vil ikke skade dig",
|
||||
"sleepBullet2": "Opgavers stribe-præstation vil ikke blive tabt",
|
||||
"sleepBullet3": "Bosser vil ikke skade dig på grund af dine egne missede Daglige",
|
||||
"sleepBullet1": "Dine missede Daglige vil ikke skade dig (bosser vil stadig kunne skade dig baseret på andre Holdmedlemmers missede Daglige)",
|
||||
"sleepBullet2": "Dagliges stribe-præstation og Vanetæller vil ikke blive nulstillet",
|
||||
"sleepBullet3": "Den skade, du vil påføre bossen, eller dine indsamlede questgenstande, vil først tælle med i questen, når du checker ud af Værtshuset",
|
||||
"sleepBullet4": "Du vil beholde din afventende skade til bosser eller indsamlede questgenstande indtil du checker ud",
|
||||
"pauseDailies": "Sæt skade på pause",
|
||||
"unpauseDailies": "Skade er ikke længere på pause",
|
||||
|
|
@ -129,5 +129,6 @@
|
|||
"cannotUnpinItem": "Denne genstand kan ikke frigøres.",
|
||||
"nMonthsSubscriptionGift": "<%= nMonths %> Måned(ers) Abonnement (Gave)",
|
||||
"nGemsGift": "<%= nGems %> Ædelsten (Gave)",
|
||||
"nGems": "<%= nGems %> Ædelsten"
|
||||
"nGems": "<%= nGems %> Ædelsten",
|
||||
"amountExp": "<%= amount %> Exp"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"needTips": "Brug for noget hjælp til at starte? Her er en enkel guide!",
|
||||
"step1": "Trin 1: Indtast opgaver",
|
||||
"webStep1Text": "Habitica er intet uden mål i det virkelige liv, så opret et par opgaver. Du kan altid tilføje flere! Alle opgaver kan tilføjes ved at klikke på den grønne 'Opret' knap.\n* **Opret [To-Dos](http://habitica.fandom.com/wiki/To-Dos):** Tilføj opgaver, du kun skal gøre én gang, eller sjældent, i kolonnen 'To-Dos', en af gangen. Du kan klikke på opgaverne for at redigere dem og tilføje checklister, forfaldsdag og mere!\n* **Opret [Daglige](http://habitica.fandom.com/wiki/Dailies):** Tilføj aktiviteter, du skal klare hver dag, eller på en bestemt dag i ugen, måneden, eller året i kolonnen 'Daglige'. Klik på en opgaver for at ændre, hvornår den skal være forfalden og/eller fastsætte en startdato. Du kan også sætte den til at være forfalden med jævne mellemrum, for eksempel hver tredje dag.\n* **Opret [Vaner](http://habitica.fandom.com/wiki/Habits):** Tilføj vaner, du gerne vil tillægge dig, i kolonnen 'Vaner'. Du kan ændre Vanen for kun at gøre den til en god vane :heavy_plus_sign: eller en dårlig vane :heavy_minus_sign:\n* **Opret [Belønninger](http://habitica.fandom.com/wiki/Rewards):** Udover de Belønninger, der tilbydes i spillet, kan du tilføje aktiviteter eller små gaver/lækkerier, du kan bruge som motivation, i kolonnen 'Belønninger'. Det er vigtigt at give dig selv en pause eller tillade en lille luksus sommetider!\n* Hvis du har brug for inspiration til dine opgaver, kan du se [eksempler på Vaner](http://habitica.fandom.com/wiki/Sample_Habits), [eksempler på Daglige](http://habitica.fandom.com/wiki/Sample_Dailies), [eksempler på To-Dos](http://habitica.fandom.com/wiki/Sample_To-Dos), og [eksempler på Belønninger](http://habitica.fandom.com/wiki/Sample_Custom_Rewards) på wiki'en (engelsk).",
|
||||
"webStep1Text": "Habitica er intet uden mål i det virkelige liv, så opret et par opgaver. Du kan altid tilføje flere! Alle opgaver kan tilføjes ved at klikke på den grønne 'Opret' knap.\n* **Opret [To Do's](https://habitica.fandom.com/wiki/To_Do%27s):** Tilføj opgaver, du kun skal gøre én gang, eller sjældent, i kolonnen To Do's, en af gangen. Du kan klikke på opgaverne for at redigere dem og tilføje checklister, forfaldsdag og mere!\n* **Opret [Daglige](https://habitica.fandom.com/wiki/Dailies):** Tilføj aktiviteter, du skal klare hver dag, eller på en bestemt dag i ugen, måneden, eller året i kolonnen 'Daglige'. Klik på en opgaver for at ændre, hvornår den skal være forfalden og/eller fastsætte en startdato. Du kan også sætte den til at være forfalden med jævne mellemrum, for eksempel hver tredje dag.\n* **Opret [Vaner](https://habitica.fandom.com/wiki/Habits):** Tilføj vaner, du gerne vil tillægge dig, i kolonnen 'Vaner'. Du kan ændre Vanen for kun at gøre den til en god vane :heavy_plus_sign: eller en dårlig vane :heavy_minus_sign:\n* **Opret [Belønninger](https://habitica.fandom.com/wiki/Rewards):** Udover de Belønninger, der tilbydes i spillet, kan du tilføje aktiviteter eller små gaver/lækkerier, du kan bruge som motivation, i kolonnen 'Belønninger'. Det er vigtigt at give dig selv en pause eller tillade en lille luksus sommetider!\n* Hvis du har brug for inspiration til dine opgaver, kan du se [eksempler på Vaner](https://habitica.fandom.com/wiki/Sample_Habits), [eksempler på Daglige](https://habitica.fandom.com/wiki/Sample_Dailies), [eksempler på To Do's](https://habitica.fandom.com/wiki/Sample_To_Do%27s), og [eksempler på Belønninger](https://habitica.fandom.com/wiki/Sample_Custom_Rewards) på wiki'en (engelsk).",
|
||||
"step2": "Trin 2: Optjen Point ved at gøre ting i det virkelig liv",
|
||||
"webStep2Text": "Begynd nu på dine mål fra listen! Efterhånden som du fuldfører opgaver og krydser dem af i Habitica vil du få [Erfaring](http://habitica.fandom.com/wiki/Experience_Points), som vil lade dig stige i niveau, og [Guld](http://habitica.fandom.com/wiki/Gold_Points), som du kan købe Belønninger for. Hvis du giver efter for dårlige vaner eller misser dine Daglige, vil du miste [Liv](http://habitica.fandom.com/wiki/Health_Points). På denne måde vil Habiticas Erfarings- og Helbredsbjælker være en morsom indikater for fremskridt mod dine mål. Du vil begynde at se forbedringer i dit virkelige liv mens din karakter avancerer i spillet.",
|
||||
"webStep2Text": "Begynd nu på dine mål fra listen! Efterhånden som du fuldfører opgaver og krydser dem af i Habitica vil du få [Erfaring](https://habitica.fandom.com/wiki/Experience_Points), som vil lade dig stige i niveau, og [Guld](https://habitica.fandom.com/wiki/Gold_Points), som du kan købe Belønninger for. Hvis du giver efter for dårlige vaner eller misser dine Daglige, vil du miste [Liv](https://habitica.fandom.com/wiki/Health_Points). På denne måde vil Habiticas Erfarings- og Helbredsbjælker være en morsom indikator for fremskridt mod dine mål. Du vil begynde at se forbedringer i dit virkelige liv, mens din karakter avancerer i spillet.",
|
||||
"step3": "Trin 3: Brugerdefiner og udforsk Habitica",
|
||||
"webStep3Text": "Når du er blevet tryg ved nøglefunktionerne, kan du få endnu mere ud af Habitica med de følgende fikse detaljer:\n * Hold styr på dine opgaver med [tags](http://habitica.fandom.com/wiki/Tags) (rediger en opgave for at tilføje dem).\n * Tilpas din [avatar](http://habitica.fandom.com/wiki/Avatar) ved at klikke på brugerikonet i øverste højre hjørne.\n * Køb [Udstyr](http://habitica.fandom.com/wiki/Equipment) under Belønninger eller fra [Butikkerne](<%= shopUrl %>), og skift det ud under [Inventar > Udstyr](<%= equipUrl %>).\n * Sig hej til andre brugere i [Værtshuset](http://habitica.fandom.com/wiki/Tavern).\n * Fra niveau 3 kan du udklække [Kæledyr](http://habitica.fandom.com/wiki/Pets) ved at samle [æg](http://habitica.fandom.com/wiki/Eggs) og [udrugningseliksirer](http://habitica.fandom.com/wiki/Hatching_Potions). [Fodr](http://habitica.fandom.com/wiki/Food) dem for at få [Ridedyr](http://habitica.fandom.com/wiki/Mounts).\n * Fra niveau 10 kan du vælge en [klasse](http://habitica.fandom.com/wiki/Class_System), og får adgang til specielle [evner](http://habitica.fandom.com/wiki/Skills) (låses op fra niveau 11 til 14).\n * Lav et hold med dine venner (ved at klikke på [Hold](<%= partyUrl %>) i navigationsbarren), for at blive holdt ansvarlig og få en Questskriftrulle.\n * Du kan besejre monstre og indsamle genstande på [quests](http://habitica.fandom.com/wiki/Quests) (du vil få en quest på niveau 15).",
|
||||
"webStep3Text": "Når du er blevet tryg ved nøglefunktionerne, kan du få endnu mere ud af Habitica med de følgende fikse detaljer:\n * Hold styr på dine opgaver med [tags](https://habitica.fandom.com/wiki/Tags) (rediger en opgave for at tilføje dem).\n * Tilpas din [avatar](https://habitica.fandom.com/wiki/Avatar) ved at klikke på brugerikonet i øverste højre hjørne.\n * Køb [udstyr](https://habitica.fandom.com/wiki/Equipment) under Belønninger eller fra [Butikkerne](<%= shopUrl %>), og skift det ud under [Inventar > Udstyr](<%= equipUrl %>).\n * Sig hej til andre brugere i [Værtshuset](https://habitica.fandom.com/wiki/Tavern).\n * Udklæk [kæledyr](https://habitica.fandom.com/wiki/Pets) ved at samle [æg](https://habitica.fandom.com/wiki/Eggs) og [udrugningseliksirer](https://habitica.fandom.com/wiki/Hatching_Potions). [Fodr](https://habitica.fandom.com/wiki/Food) dem for at få [ridedyr](https://habitica.fandom.com/wiki/Mounts).\n * Fra niveau 10 kan du vælge en [klasse](https://habitica.fandom.com/wiki/Class_System), og får adgang til specielle [evner](https://habitica.fandom.com/wiki/Skills) (låses op fra niveau 11 til 14).\n * Lav et hold med dine venner (ved at klikke på [Hold](<%= partyUrl %>) i navigationsbarren), for at blive holdt ansvarlig og få en Questskriftrulle.\n * Du kan besejre monstre og indsamle genstande på [quests](https://habitica.fandom.com/wiki/Quests) (du vil få en quest på niveau 15).",
|
||||
"overviewQuestions": "Har du flere spørgsmål? Læs vores [FAQ](<%= faqUrl %>)! Hvis du ikke kan finde et svar der, kan du bede om hjælp i Klanen [Habitica Help](<%= helpGuildUrl %>).\n\nHeld og lykke med dine opgaver!"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,12 +23,12 @@
|
|||
"mantisShrimp": "Knælerreje",
|
||||
"mammoth": "Ulden mammut",
|
||||
"orca": "Spækhugger",
|
||||
"royalPurpleGryphon": "Royal Lilla Grif",
|
||||
"royalPurpleGryphon": "Purpur Grif",
|
||||
"phoenix": "Føniks",
|
||||
"magicalBee": "Magisk bi",
|
||||
"hopefulHippogriffPet": "Håbefuld hippogrif",
|
||||
"hopefulHippogriffMount": "Håbefuld hippogrif",
|
||||
"royalPurpleJackalope": "Royal Lilla Jackalope",
|
||||
"royalPurpleJackalope": "Purpur Jackalope",
|
||||
"invisibleAether": "Usynlig æter",
|
||||
"potion": "<%= potionType %> eliksir",
|
||||
"egg": "<%= eggType %> æg",
|
||||
|
|
@ -44,8 +44,8 @@
|
|||
"noFoodAvailable": "Du har ikke noget Dyrefoder.",
|
||||
"noSaddlesAvailable": "Du har ikke nogle sadler.",
|
||||
"noFood": "Du har hverken mad eller sadler.",
|
||||
"dropsExplanation": "Du kan få fat i disse ting hurtigere med ædelsten, hvis du ikke længere vil vente på at finde dem når du gennemfører en opgave. <a href=\"http://habitica.fandom.com/wiki/Drops\">Lær mere om drop-systemet.</a>",
|
||||
"dropsExplanationEggs": "Brug Ædelsten for hurtigere at få æg, hvis du ikke vil vente på at få standard-æg som drops, eller gentage Quests for at vinde Quest-æg. <a href=\"http://habitica.fandom.com/wiki/Drops\">Læs mere om dropsystemet her.</a>",
|
||||
"dropsExplanation": "Du kan få fat i disse ting hurtigere med ædelsten, hvis du ikke længere vil vente på at finde dem når du gennemfører en opgave. <a href=\"https://habitica.fandom.com/wiki/Drops\">Lær mere om drop-systemet.</a>",
|
||||
"dropsExplanationEggs": "Brug Ædelsten for hurtigere at få æg, hvis du ikke vil vente på at få standard-æg som drops, eller gentage Quests for at vinde Quest-æg. <a href=\"https://habitica.fandom.com/wiki/Drops\">Læs mere om dropsystemet her.</a>",
|
||||
"premiumPotionNoDropExplanation": "Magiske udrugningseliksirer kan ikke blive brugt på æg, der er modtaget fra quests. Den eneste måde at få en magisk udrugningseliksir på, er ved at købe dem nedenfor, ikke fra tilfældige drop.",
|
||||
"beastMasterProgress": "Dyretæmmerfremskridt",
|
||||
"beastAchievement": "Du har opnået \"Dyretæmmer\"-præstationen ved at samle alle kæledyr!",
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@
|
|||
"mustComplete": "Du skal færdiggøre <%= quest %> først.",
|
||||
"mustLvlQuest": "Du skal være niveau <%= level %> for at købe denne quest!",
|
||||
"unlockByQuesting": "For at låse op for denne quest, skal du fuldføre <%= title %>.",
|
||||
"questConfirm": "Er du sikker? Kun <%= questmembers %> af dine <%= totalmembers %> holdmedlemmer har valgt at deltage i denne quest! Quests begynder automatisk, når alle spillere enten har accepteret eller afvist invitationen.",
|
||||
"sureCancel": "Er du sikker på at du vil afbryde denne quest? Alle invitation-accepter vil gå tabt. Quest-lederen vil beholde quest-skriftrullen.",
|
||||
"sureAbort": "Er du sikker på at du vil afbryde missionen? Det vil afbryde den for alle i gruppen og al fremskridt vil gå tabt. Quest-skriftrullen vil blive returneret til quest-lederen.",
|
||||
"questConfirm": "Er du sikker på at du vil starte denne quest? Ikke alle holdmedlemmer har accepteret invitationen. Quests begynder automatisk, når alle medlemmer har svaret.",
|
||||
"sureCancel": "Er du sikker på at du vil afbryde denne quest? Hvis du afbryder, vil alle accepterede og åbne invitationer blive afvist. Quest-lederen vil få skriftrullen igen.",
|
||||
"sureAbort": "Er du sikker på at du vil afbryde missionen? Al fremskridt vil gå tabt. Quest-lederen vil få skriftrullen igen.",
|
||||
"doubleSureAbort": "Er du helt sikker? Tjek lige at de ikke vil hade dig for evigt!",
|
||||
"bossRageTitle": "Vrede",
|
||||
"bossRageDescription": "Når denne bar bliver fyldt vil bossen udføre et specielt angreb!",
|
||||
|
|
@ -85,5 +85,9 @@
|
|||
"questAlreadyStarted": "Questen er allerede begyndt.",
|
||||
"bossDamage": "Du har skadet bossen!",
|
||||
"questInvitationNotificationInfo": "Du har fået en invitation til at deltage i en quest",
|
||||
"hatchingPotionQuests": "Magisk Udrugningseliksirquest"
|
||||
"hatchingPotionQuests": "Magisk Udrugningseliksirquest",
|
||||
"questItemsPending": "<%= amount %> genstande fundet",
|
||||
"sureLeaveInactive": "Er du sikker på, du vil forlade questen? Du vil ikke kunne deltage igen.",
|
||||
"selectQuest": "Vælg quest",
|
||||
"yourPartyIsNotOnQuest": "Dit hold er ikke på en quest"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
"questEvilSantaCompletion": "Pelsjægerjulemanden skriger i vrede og løber bort i natten. Den taknemmelige hunbjørn forsøger gennem brøl og knurren at fortælle dig noget. Du tager hende med tilbage til stalden hvor Matt Boch, Hviskeren, lytter til hendes historie med et rædselsslagent gisp. Hun har en unge! Han løb ud på issletterne da bjørnemor blev fanget. Hjælp med at redde hendes barn!",
|
||||
"questEvilSantaBoss": "Pelsjægerjulemand",
|
||||
"questEvilSantaDropBearCubPolarMount": "Isbjørn (Ridedyr)",
|
||||
"questEvilSanta2Text": "Find Bjørneungen",
|
||||
"questEvilSanta2Text": "Find bjørneungen",
|
||||
"questEvilSanta2Notes": "Da pelsjægeren fangede Isbjørneridedyret, løb hendes unge ud på issletterne. Du kan høre grene knække og sne knirke gennem den krystalklare lyd af skoven. Poteaftryk! I begynder begge at løbe for at følge sporet. Find alle sporene og de brækkede grene, og hent ungen!<br><br><strong>Bemærk</strong>: “Find isbjørneungen” belønnes med en stackable quest-præstation, men giver et sjældent Kæledyr, som kun kan tilføjes til din Stald en enkelt gang.",
|
||||
"questEvilSanta2Completion": "Du har fundet ungen! Den vil holde dig med selskab til evig tid.",
|
||||
"questEvilSanta2CollectTracks": "Spor",
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
"rebirthOrb": "Brugte en Genfødselskugle til at starte forfra efter at have opnået Niveau <%= level %>.",
|
||||
"rebirthOrb100": "Brugte en Genfødselskugle til at starte forfra efter at have opnået Niveau 100 eller mere.",
|
||||
"rebirthOrbNoLevel": "Brugte en Genfødselskugle til at starte forfra.",
|
||||
"rebirthPop": "Genstart omgående din karakter som Niveau 1 Kriger, men behold præstationer, samlerobjekter og udstyr. Du vil beholde dine opgaver og deres historie, men de vil blive nulstillet til gul. Dine striber vil blive fjernet, bortset fra opgaver tilhørende aktive Udfordringer og Gruppeplaner. Dit Guld, Erfaring, Mana, og alle effekter fra Evner vil blive fjernet. Alt dette vil ske omgående. For mere information, se siden <a href='http://habitica.fandom.com/wiki/Orb_of_Rebirth' target='_blank'>Orb of Rebirth</a> på wiki'en (engelsk).",
|
||||
"rebirthPop": "Genstart omgående din karakter som Niveau 1 Kriger, men behold præstationer, samlerobjekter og udstyr. Du vil beholde dine opgaver og deres historie, men de vil blive nulstillet til gul. Dine striber vil blive fjernet, bortset fra opgaver tilhørende aktive Udfordringer og Gruppeplaner. Dit Guld, Erfaring, Mana, og alle effekter fra Evner vil blive fjernet. Alt dette vil ske omgående. For mere information, se siden <a href='https://habitica.fandom.com/wiki/Orb_of_Rebirth' target='_blank'>Orb of Rebirth</a> på wiki'en (engelsk).",
|
||||
"rebirthName": "Genfødselskugle",
|
||||
"rebirthComplete": "Du er blevet genfødt!",
|
||||
"nextFreeRebirth": "<strong><%= days %> dage</strong> til <strong>GRATIS</strong> Genfødselskugle"
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
"sureChangeCustomDayStartTime": "Er du sikker på, at du vil ændre dit brugerdefinerede starttidspunkt? Dine Daglige vil blive opdateret næste gang du bruger Habitica efter <%= time %>. Vær sikker på, at du har udført dine Daglige før da!",
|
||||
"customDayStartHasChanged": "Dit brugerdefinerede starttidspunkt er ændret.",
|
||||
"nextCron": "Dine Daglige vil blive nulstillet første gang du bruger Habitica efter <%= time %>. Vær sikker på, at du har færdiggjort dine Daglige før dette tidspunkt!",
|
||||
"customDayStartInfo1": "Som udgangspunkt vil Habitica tjekke og nulstille dine Daglige ved midnat hver dag. Du kan ændre dette her.",
|
||||
"customDayStartInfo1": "Habitica tjekke og nulstille dine Daglige ved midnat hver dag i din egen tidszone. Du kan ændre det til et andet tidspunkt efter midnat her.",
|
||||
"misc": "Diverse",
|
||||
"showHeader": "Vis sidehoved",
|
||||
"changePass": "Skift kodeord",
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
"newUsername": "Nyt brugernavn",
|
||||
"dangerZone": "Farezone",
|
||||
"resetText1": "ADVARSEL! Dette nulstiller mange dele af din konto. Vi fraråder på det kraftigste dette, men nogen finder det brugbart i begyndelsen efter at have eksperimenteret med Habitica i et kort stykke tid.",
|
||||
"resetText2": "Du vil miste alle niveauer, Guld, og Erfaringspoint. Alle dine Opgaver (bortset fra dem fra Udfordringer) vil blive slettet permanent, og du vil miste al deres historik. Du vil miste alt dit udstyr, men du vil være i stand til at købe det hele igen, inklusiv tidsbegrænset udstyr eller Mystiske abonnentsgenstande, som du allerede ejer (du vil være nødt til at være den rigtige klasse for at kunne købe klasse-udstyr igen). Du vil beholde din nuværende klasse og dine kæle- og ridedyr. Du ville måske foretrække at bruge en Genfødselskugle i stedet. Det er en meget sikrere mulighed, og du vil beholde dine opgaver og udstyr.",
|
||||
"resetText2": "Du vil miste alle niveauer, Guld, og Erfaringspoint. Alle dine Opgaver (bortset fra dem fra Udfordringer) vil blive slettet permanent, og du vil miste al deres historik. Du vil miste alt dit udstyr, undtagen gratis gave-udstyr eller Mystiske abonnentsgenstande. Du vil være i stand til at købe alle de mistede genstand igen, inklusiv tidsbegrænset udstyr (du skal være den korrekte klasse for at købe klasse-begrænset udstyr). Du vil beholde din nuværende klasse, præstationer og dine kæle- og ridedyr. Du ville måske foretrække at bruge en Genfødselskugle i stedet. Det er en meget sikrere mulighed, og du vil beholde dine opgaver og udstyr.",
|
||||
"deleteLocalAccountText": "Er du sikker? Dette vil slette din konto for evigt, og den kan aldrig gendannes! Du skal registrere en ny konto for at kunne bruge Habitica igen. Ædelsten du har brugt eller har på lager vil ikke blive refunderet. Hvis du er fuldstændig sikker, så skriv dit kodeord i boksen herunder.",
|
||||
"deleteSocialAccountText": "Er du sikker? Dette vil slette din brugerkonto for evigt, og den kan aldrig gendannes! Du vil være nødt til at oprette en ny konto for at bruge Habitica igen. Ædelsten i en Klanbank eller som er blevet brugt vil ikke blive refunderet. Hvis du virkelig er helt sikker, så indtast \"<%= magicWord %>\" i tekstboksen nedenunder.",
|
||||
"API": "API",
|
||||
|
|
@ -189,5 +189,7 @@
|
|||
"suggestMyUsername": "Foreslå mit brugernavn",
|
||||
"mentioning": "Nævne",
|
||||
"displaynameIssueNewline": "Displaynavne må ikke indeholde backslashes efterfulgt af bogstavet N.",
|
||||
"bannedWordUsedInProfile": "Dit Displaynavn eller Om-tekst indeholder upassende sprog."
|
||||
"bannedWordUsedInProfile": "Dit Displaynavn eller Om-tekst indeholder upassende sprog.",
|
||||
"adjustment": "Tilpasning",
|
||||
"dayStartAdjustment": "Tilpasning af starttidspunkt"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"buyGemsGold": "Køb Ædelsten med Guld",
|
||||
"mustSubscribeToPurchaseGems": "Skal abonnere for at kunne købe ædelsten med GP",
|
||||
"reachedGoldToGemCap": "Du har nået Guld => Ædelstens-maksimum <%= convCap %> for denne måned. Vi har dettee for at undgå misbrug/farming. Vekselmaksimummet nulstiller inden for de tre første dage af hver måned.",
|
||||
"reachedGoldToGemCapQuantity": "Det antal Ædelsten du har anmodet om, <%= quantity %>, overstiger Guld => Ædelstens-vekselmaksimummet <%= convCap %> for denne måned. Vi har denne begrænsning for at forhindre misbrug/farming. Begrænsningen nulstilles inden for de første tre dage i hver måned.",
|
||||
"reachedGoldToGemCapQuantity": "Det antal Ædelsten du har anmodet om, <%= quantity %>, overstiger det antal du kan købe denne måned <%= convCap %>. Begrænsningen nulstilles inden for de første tre dage i hver måned. Tak, fordi du abonnerer!",
|
||||
"mysteryItem": "Eksklusive månedlige genstande",
|
||||
"mysteryItemText": "Hver måned modtager alle abonnenter en unik kosmetisk ting til deres avatar! Derudover vil de Mystiske Tidsrejsende give dig adgang til yderligere historisk (og futuristisk!) kosmetisk udstyr for hver tre måneders fortsat abonnement.",
|
||||
"exclusiveJackalopePet": "Eksklusivt kæledyr",
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
"subscribe": "Abonnér",
|
||||
"nowSubscribed": "Du abonnerer nu på Habitica!",
|
||||
"cancelSub": "Opsig abonnement",
|
||||
"cancelSubInfoGroupPlan": "Fordi du har fået et gratis abonnement gennem en Gruppeplan, kan du ikke opsige det. Det vil ophøre, når du ikke længere er i Gruppen. Hvis du er Gruppelederen, og vil opsige hele Gruppeplanen, kan du gøre det fra fanen 'Betalingsoplysninger' på gruppens side.",
|
||||
"cancelSubInfoGroupPlan": "Fordi du har fået et gratis abonnement gennem en Gruppeplan, kan du ikke opsige det. Det vil ophøre, når du ikke længere er medlem af Gruppeplanen. Hvis du er Gruppelederen, og vil opsige hele Gruppeplanen, kan du gøre det fra fanen 'Betaling' på gruppens side.",
|
||||
"cancelingSubscription": "Annullerer abonnementet",
|
||||
"contactUs": "Kontakt os",
|
||||
"checkout": "Til kassen",
|
||||
|
|
@ -129,7 +129,7 @@
|
|||
"subscriptionBenefit1": "Købmanden Alexander vil sælge dig Ædelsten for 20 Guld pr. styk!",
|
||||
"subscriptionBenefit3": "Opdag flere genstande i Habitica med en fordoblet drop-cap.",
|
||||
"subscriptionBenefit4": "Unikke, dekorative genstande til din avatar hver måned.",
|
||||
"subscriptionBenefit5": "Modtag det eksklusive royale lilla Jackalopekæledyr!",
|
||||
"subscriptionBenefit5": "Modtag det purpur Jackalopekæledyr, når du bliver abonnenent.",
|
||||
"subscriptionBenefit6": "Optjen mystiske timeglas du kan bruge på de Tidsrejsendes marked!",
|
||||
"purchaseAll": "Køb sæt",
|
||||
"gemsRemaining": "ædelsten tilbage",
|
||||
|
|
@ -151,5 +151,13 @@
|
|||
"mysterySet201905": "Dramatisk dragesæt",
|
||||
"mysterySet201904": "Overdådigt opalsæt",
|
||||
"mysterySet201903": "Æg-cellent sæt",
|
||||
"mysterySet201902": "Kryptisk kærlighedssæt"
|
||||
"mysterySet201902": "Kryptisk kærlighedssæt",
|
||||
"organization": "Organisation",
|
||||
"howManyGemsPurchase": "Hvor mange Ædelsten vil du gerne købe?",
|
||||
"howManyGemsSend": "Hvor mange Ædelsten vil du gerne sende?",
|
||||
"needToPurchaseGems": "Vil du købe Ædelsten som en gave til nogen?",
|
||||
"wantToSendOwnGems": "Vil du sende dine egne Ædelsten?",
|
||||
"giftASubscription": "Giv et abonnement",
|
||||
"cancelSubInfoGoogle": "Gå venligst til sektionen Konto > Abonnementer i Google Play Store app'en for at afmelde dit abonnement, eller for at se hvornår det udløber, hvis du allerede har opsagt det. Denne skærm kan ikke fortælle dig, hvorvidt dit abonnement er blevet afmeldt.",
|
||||
"cancelSubInfoApple": "Følg venligst <a href=\"https://support.apple.com/en-us/HT202039\">Apples officielle instruktioner</a> for at opsige dit abonnement, eller for at se hvornår det udløber, hvis du allerede har afmeldt det. Denne skærm kan ikke vise dig, hvorvidt dit abonnement er blevet afmeldt."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"clearCompleted": "Slet færdiggjorte",
|
||||
"clearCompletedDescription": "Færdiggjorte To-Do's bliver slettet efter 30 dage for ikke-abonnenter og 90 dage for abonnenter.",
|
||||
"clearCompletedConfirm": "Er du sikker på, du vil slette dine færdiggjorte to-dos?",
|
||||
"clearCompletedDescription": "Færdiggjorte To Do's bliver slettet efter 30 dage for ikke-abonnenter og 90 dage for abonnenter.",
|
||||
"clearCompletedConfirm": "Er du sikker på, du vil slette dine færdiggjorte To Do's?",
|
||||
"addMultipleTip": "<strong>Tip:</strong> For at tilføje flere <%= taskType %>, så adskil dem ved at bruge linjeskift (Shift+Enter) og tryk enter igen, når du er klar.",
|
||||
"addATask": "Tilføj en <%= type %>",
|
||||
"editATask": "Ret en <%= type %>",
|
||||
"editATask": "Rediger <%= type %>",
|
||||
"createTask": "Opret <%= type %>",
|
||||
"addTaskToUser": "Tilføj opgave",
|
||||
"scheduled": "Planlagt",
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
"notes": "Noter",
|
||||
"advancedSettings": "Avancerede indstillinger",
|
||||
"difficulty": "Sværhedsgrad",
|
||||
"difficultyHelp": "Sværhedsgraden beskriver, hvor udfordrende en Vane, Daglig eller To-Do er for dig at fuldføre. En højere sværhedsgrad resulterer i højere gevinster, når en opgave er fuldført, men det gør også højere skade når en Daglig opgave bliver sprunget over, eller hvis en negativ Vane udføres.",
|
||||
"difficultyHelp": "Sværhedsgraden beskriver, hvor udfordrende en Vane, Daglig eller To Do er for dig at fuldføre. En højere sværhedsgrad resulterer i højere gevinster, når en opgave er fuldført, men det gør også højere skade når en Daglig opgave bliver sprunget over, eller hvis en negativ Vane udføres.",
|
||||
"trivial": "Triviel",
|
||||
"easy": "Let",
|
||||
"medium": "Middel",
|
||||
|
|
@ -46,9 +46,9 @@
|
|||
"days": "Dage",
|
||||
"restoreStreak": "Ret stribe",
|
||||
"resetStreak": "Nulstil stribe",
|
||||
"todo": "To-Do",
|
||||
"todos": "To-Dos",
|
||||
"todosDesc": "To-Do's skal kun færdiggøres en gang. Tilføje Tjeklister til dine To-Dos for at øge deres værdi.",
|
||||
"todo": "To Do",
|
||||
"todos": "To Do's",
|
||||
"todosDesc": "To Do's skal kun færdiggøres en gang. Tilføje tjeklister til dine To Do's for at øge deres værdi.",
|
||||
"dueDate": "Forfaldsdato",
|
||||
"remaining": "Aktive",
|
||||
"complete": "Færdige",
|
||||
|
|
@ -127,5 +127,11 @@
|
|||
"checkOffYesterDailies": "Markér de daglige opgaver du udførte i går:",
|
||||
"yesterDailiesCallToAction": "Start min nye dag!",
|
||||
"sessionOutdated": "Din session er forældet. Genindlæs din browser eller synkronisér.",
|
||||
"errorTemporaryItem": "Denne genstand er midlertidig og kan ikke fastgøres."
|
||||
"errorTemporaryItem": "Denne genstand er midlertidig og kan ikke fastgøres.",
|
||||
"adjustCounter": "Justér tæller",
|
||||
"addATitle": "Tilføj en titel",
|
||||
"addNotes": "Tilføj noter",
|
||||
"counter": "Tæller",
|
||||
"resetCounter": "Nulstil tæller",
|
||||
"tomorrow": "I morgen"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@
|
|||
"onlyCreatorOrAdminCanDeleteChat": "Keine Berechtigung diese Nachricht zu löschen!",
|
||||
"onlyGroupLeaderCanEditTasks": "Nicht berechtigt, Aufgaben zu bearbeiten!",
|
||||
"onlyGroupTasksCanBeAssigned": "Nur Team-Aufgaben können verteilt werden",
|
||||
"assignedTo": "Zuweisen an",
|
||||
"assignedTo": "Zugewiesen an",
|
||||
"assignedToUser": "<strong><%- userName %></strong> zugewiesen",
|
||||
"assignedToMembers": "<strong><%= userCount %></strong> Mitgliedern zugewiesen",
|
||||
"assignedToYouAndMembers": "Dir und <strong><%= userCount %> Mitliedern</strong> zugewiesen",
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@
|
|||
"termsAndAgreement": "By clicking the button below, you are indicating that you have read and agree to the <a href='/static/terms'>Terms of Service</a> and <a href='/static/privacy'>Privacy Policy</a>.",
|
||||
"chores": "Chores",
|
||||
"clearBrowserData": "Clear Browser Data",
|
||||
"communityExtensions": "<a href='https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations' target='_blank'>Add-ons & Extensions</a>",
|
||||
"communityExtensions": "Add-ons & Extensions",
|
||||
"communityFacebook": "Facebook",
|
||||
"communityInstagram": "Instagram",
|
||||
"companyAbout": "How It Works",
|
||||
"companyBlog": "Blog",
|
||||
"companyContribute": "Contribute",
|
||||
"companyDonate": "Donate",
|
||||
"companyContribute": "Contributing to Habitica",
|
||||
"companyDonate": "Donate to Habitica",
|
||||
"forgotPassword": "Forgot Password?",
|
||||
"emailNewPass": "Email a Password Reset Link",
|
||||
"forgotPasswordSteps": "Enter your username or the email address you used to register your Habitica account.",
|
||||
|
|
@ -18,6 +18,7 @@
|
|||
"footerCommunity": "Community",
|
||||
"footerCompany": "Company",
|
||||
"footerMobile": "Mobile",
|
||||
"footerProduct": "Product",
|
||||
"footerSocial": "Social",
|
||||
"free": "Join for free",
|
||||
"guidanceForBlacksmiths": "Guidance for Blacksmiths",
|
||||
|
|
@ -51,8 +52,8 @@
|
|||
"marketing4Lead3-1": "Want to gamify your life?",
|
||||
"marketing4Lead3-2": "Interested in running a group in education, wellness, and more?",
|
||||
"marketing4Lead3Title": "Gamify Everything",
|
||||
"mobileAndroid": "Android",
|
||||
"mobileIOS": "iOS",
|
||||
"mobileAndroid": "Android App",
|
||||
"mobileIOS": "iOS App",
|
||||
"oldNews": "News",
|
||||
"newsArchive": "News archive on Wikia (multilingual)",
|
||||
"setNewPass": "Set New Password",
|
||||
|
|
|
|||
|
|
@ -447,6 +447,15 @@
|
|||
"weaponSpecialSpring2022HealerText": "Peridot Wand",
|
||||
"weaponSpecialSpring2022HealerNotes": "Use this wand to tap into peridot’s healing properties, whether it be to bring calm, positivity, or kindheartedness. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.",
|
||||
|
||||
"weaponSpecialFall2022RogueText": "Cucumber Blade",
|
||||
"weaponSpecialFall2022RogueNotes": "Not only can you defend yourself with this cucumber, it also makes for a tasty meal. Increases Strength by <%= str %>. Limited Edition 2022 Fall Gear.",
|
||||
"weaponSpecialFall2022WarriorText": "Orcish Ripsword",
|
||||
"weaponSpecialFall2022WarriorNotes": "Maybe more suited for cutting logs or crusty loaves of bread than enemy armor, but RAWR! It sure looks fearsome! Increases Strength by <%= str %>. Limited Edition 2022 Fall Gear.",
|
||||
"weaponSpecialFall2022MageText": "Wind Blasts",
|
||||
"weaponSpecialFall2022MageNotes": "These mighty gusts remain in your wake as you take off toward the skies. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2022 Fall Gear.",
|
||||
"weaponSpecialFall2022HealerText": "Right Peeker Eye",
|
||||
"weaponSpecialFall2022HealerNotes": "To claim victory, hold it forth and utter the words of command: 'Eye One!' Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.",
|
||||
|
||||
"weaponMystery201411Text": "Pitchfork of Feasting",
|
||||
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
|
||||
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
|
||||
|
|
@ -1083,6 +1092,15 @@
|
|||
"armorSpecialSummer2022HealerText": "Angelfish Tail",
|
||||
"armorSpecialSummer2022HealerNotes": "Use your colorful fins to scoot about the reef and help those in need of rest and healing. Increases Constitution by <%= con %>. Limited Edition 2022 Summer Gear.",
|
||||
|
||||
"armorSpecialFall2022RogueText": "Kappa Armor",
|
||||
"armorSpecialFall2022RogueNotes": "Whether you’re swimming, sneaking, or wrestling, you will be safe in this armor. Increases Perception by <%= per %>. Limited Edition 2022 Fall Gear.",
|
||||
"armorSpecialFall2022WarriorText": "Orcish Armor",
|
||||
"armorSpecialFall2022WarriorNotes": "RAWR! BIG SHOULDERS mean you are BIG STRONG! Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.",
|
||||
"armorSpecialFall2022MageText": "Harpy Armor",
|
||||
"armorSpecialFall2022MageNotes": "Fly as fast as the wind with these wonderful wings and hold what you care most about tight in these terrifying talons. Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.",
|
||||
"armorSpecialFall2022HealerText": "Profusion of Peeker Pods",
|
||||
"armorSpecialFall2022HealerNotes": "How many peeps could a Peeker peep, if a Peeker could peep peeps? Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.",
|
||||
|
||||
"armorMystery201402Text": "Messenger Robes",
|
||||
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
|
||||
"armorMystery201403Text": "Forest Walker Armor",
|
||||
|
|
@ -1793,6 +1811,15 @@
|
|||
"headSpecialSpring2022HealerText": "Peridot Helmet",
|
||||
"headSpecialSpring2022HealerNotes": "This mysterious helmet preserves your privacy as you tackle your tasks. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.",
|
||||
|
||||
"headSpecialFall2022RogueText": "Kappa Mask",
|
||||
"headSpecialFall2022RogueNotes": "With this metal cap upon your head, you will have extra protection when you venture onto land. Increases Perception by <%= per %>. Limited Edition 2022 Fall Gear.",
|
||||
"headSpecialFall2022WarriorText": "Orc Mask",
|
||||
"headSpecialFall2022WarriorNotes": "Tusks tough and sharp enough to pierce pumpkins! RAWR! Increases Strength by <%= str %>. Limited Edition 2022 Fall Gear.",
|
||||
"headSpecialFall2022MageText": "Harpy Mask",
|
||||
"headSpecialFall2022MageNotes": "Entrance and lure others close with this magical maiden mask. Increases Perception by <%= per %>. Limited Edition 2022 Fall Gear.",
|
||||
"headSpecialFall2022HealerText": "Peeker Mask",
|
||||
"headSpecialFall2022HealerNotes": "Beauty is in there. Somewhere! Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.",
|
||||
|
||||
"headSpecialGaymerxText": "Rainbow Warrior Helm",
|
||||
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
|
||||
|
||||
|
|
@ -2345,6 +2372,11 @@
|
|||
"shieldSpecialSummer2022HealerText": "Remedial Ripples",
|
||||
"shieldSpecialSummer2022HealerNotes": "Send out restorative magic in gentle ripples through the reef. Increases Constitution by <%= con %>. Limited Edition 2022 Summer Gear.",
|
||||
|
||||
"shieldSpecialFall2022WarriorText": "Orc Shield",
|
||||
"shieldSpecialFall2022WarriorNotes": "RAWR or TREAT! Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.",
|
||||
"shieldSpecialFall2022HealerText": "Left Peeker Eye",
|
||||
"shieldSpecialFall2022HealerNotes": "Eye Two, look upon this costume and tremble. Increases Constitution by <%= con %>. Limited Edition 2022 Fall Gear.",
|
||||
|
||||
"shieldMystery201601Text": "Resolution Slayer",
|
||||
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
|
||||
"shieldMystery201701Text": "Time-Freezer Shield",
|
||||
|
|
|
|||
|
|
@ -187,6 +187,10 @@
|
|||
"summer2022WaterspoutWarriorSet": "Waterspout (Warrior)",
|
||||
"summer2022MantaRayMageSet": "Manta Ray (Mage)",
|
||||
"summer2022AngelfishHealerSet": "Angelfish (Healer)",
|
||||
"fall2022KappaRogueSet": "Kappa (Rogue)",
|
||||
"fall2022OrcWarriorSet": "Orc (Warrior)",
|
||||
"fall2022HarpyMageSet": "Harpy (Mage)",
|
||||
"fall2022WatcherHealerSet": "Watcher (Healer)",
|
||||
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
|
||||
"eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.",
|
||||
"dateEndJanuary": "January 31",
|
||||
|
|
|
|||
|
|
@ -85,7 +85,8 @@
|
|||
"newBaileyUpdate": "New Bailey Update!",
|
||||
"tellMeLater": "Tell Me Later",
|
||||
"dismissAlert": "Dismiss This Alert",
|
||||
"donateText3": "Habitica is an open source project that depends on our users for support. The money you spend on gems helps us keep the servers running, maintain a small staff, develop new features, and provide incentives for our volunteer programmers. Thank you for your generosity!",
|
||||
"donateText3": "Habitica is an open source project that depends on our users for support. The money you spend on gems helps us keep the servers running, maintain a small staff, develop new features, and provide incentives for our volunteers",
|
||||
"helpSupportHabitica": "Help Support Habitica",
|
||||
"card": "Credit Card",
|
||||
"paymentMethods": "Purchase using",
|
||||
"paymentSuccessful": "Your payment was successful!",
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@
|
|||
"couponCodeRequired": "The coupon code is required.",
|
||||
"subCanceledTitle": "Subscription Canceled",
|
||||
"choosePaymentMethod": "Choose your payment method",
|
||||
"support": "SUPPORT",
|
||||
"support": "Support",
|
||||
"supportHabitica": "Support Habitica",
|
||||
"gemBenefitLeadin": "What can you buy with Gems?",
|
||||
"gemBenefit1": "Unique and fashionable costumes for your avatar.",
|
||||
|
|
|
|||
|
|
@ -987,39 +987,39 @@
|
|||
"headSpecialSummer2016RogueText": "Casco de Anguila",
|
||||
"headSpecialSummer2016RogueNotes": "Espía por entre las grietas de las rocas mientras usas este sigiloso casco. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de verano 2016.",
|
||||
"headSpecialSummer2016WarriorText": "Casco Tiburón",
|
||||
"headSpecialSummer2016WarriorNotes": "¡Muerde esas tareas difíciles con este temible casco! Incrementa fuerza en <%= str %>. Edición Limitada 2016 Equipamiento de Verano.",
|
||||
"headSpecialSummer2016WarriorNotes": "¡Muerde esas tareas difíciles con este temible casco! Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de verano 2016.",
|
||||
"headSpecialSummer2016MageText": "Sombrero Espiráculo",
|
||||
"headSpecialSummer2016MageNotes": "Agua mágica rocía constantemente de este sombrero. Incrementa Percepción en <%= per %>. Edición Limitada 2016 Equipamiento de Verano.",
|
||||
"headSpecialSummer2016MageNotes": "Agua mágica rocía constantemente de este sombrero. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de verano 2016.",
|
||||
"headSpecialSummer2016HealerText": "Casco de Caballito de Mar",
|
||||
"headSpecialSummer2016HealerNotes": "Este sombrero indica que su usuario fue entrenado por los Caballitos de Mar sanadores de Dilatory. Incrementa Inteligencia en <%= int %>. Edición Limitada 2016 Equipamiento de Verano.",
|
||||
"headSpecialSummer2016HealerNotes": "Este sombrero indica que su usuario fue entrenado por los Caballitos de Mar sanadores de Dilatory. Aumenta la Inteligencia en <%= int %>. Equipamiento de edición limitada de verano 2016.",
|
||||
"headSpecialFall2016RogueText": "Casco Viuda Negra",
|
||||
"headSpecialFall2016RogueNotes": "Las patas en este casco están crispando constantemente. Incrementa la Percepción por <%= per %>. Equipamiento de Edición Limitada de Otoño 2016.",
|
||||
"headSpecialFall2016RogueNotes": "Las patas en este casco están crispando constantemente. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de otoño 2016.",
|
||||
"headSpecialFall2016WarriorText": "Casco de Corteza Nudosa",
|
||||
"headSpecialFall2016WarriorNotes": "Este casco empapado en agua de pantano está cubierto con trocitos de ciénaga. Incrementa la Fuerza en <%= str %>. Equipamiento de Otoño Edición Limitada 2016.",
|
||||
"headSpecialFall2016WarriorNotes": "Este casco empapado en agua de pantano está cubierto con trocitos de ciénaga. Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de otoño 2016.",
|
||||
"headSpecialFall2016MageText": "Capucha de Maldad",
|
||||
"headSpecialFall2016MageNotes": "Oculta tus planes bajo esta capucha sombría. Incrementa la Percepción en <%= per %>. Equipamiento de Otoño, Edición Limitada 2016.",
|
||||
"headSpecialFall2016MageNotes": "Oculta tus planes bajo esta capucha sombría. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de otoño 2016.",
|
||||
"headSpecialFall2016HealerText": "Corona de Medusa",
|
||||
"headSpecialFall2016HealerNotes": "Miseria a cualquiera te mire en los ojos... Incrementa la Inteligencia por <%= int %>. Equipamiento de Otoño Edición Limitada 2016.",
|
||||
"headSpecialFall2016HealerNotes": "Miseria a cualquiera te mire en los ojos... Aumenta la Inteligencia en <%= int %>. Equipamiento de edición limitada de otoño 2016.",
|
||||
"headSpecialNye2016Text": "Sombrero Extravagante de Fiesta",
|
||||
"headSpecialNye2016Notes": "¡Has recibido el Sombrero Extravagante de Fiesta! ¡Llévalo con orgullo en el Nuevo Año! No proporciona ventajas.",
|
||||
"headSpecialNye2016Notes": "¡Has recibido el Sombrero Extravagante de Fiesta! ¡Llévalo con orgullo en el año nuevo! No otorga ningún beneficio.",
|
||||
"headSpecialWinter2017RogueText": "Yelmo Helado",
|
||||
"headSpecialWinter2017RogueNotes": "Hecho a partir de cristales de hielo, este yelmo te ayudará a pasar desapercibido por los paisajes invernales. Aumenta la Percepción en <%= per %>. Equipamiento Invernal Edición Limitada 2016-2017.",
|
||||
"headSpecialWinter2017RogueNotes": "Hecho a partir de cristales de hielo, este yelmo te ayudará a pasar desapercibido por los paisajes invernales. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de invierno 2016-2017.",
|
||||
"headSpecialWinter2017WarriorText": "Yelmo de Hockey",
|
||||
"headSpecialWinter2017WarriorNotes": "¡Este yelmo es duro y duradero, hecho para soportar impactos de hielo o incluso de las tareas Diarias de color rojo oscuro! Aumenta la Fuerza en <%= str %>. Equipamiento Invernal Edición Limitada 2016-2017.",
|
||||
"headSpecialWinter2017WarriorNotes": "¡Este yelmo es duro y duradero, hecho para soportar impactos de hielo o incluso de las tareas Diarias de color rojo oscuro! Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de invierno 2016-2017.",
|
||||
"headSpecialWinter2017MageText": "Yelmo de Lobo Invernal",
|
||||
"headSpecialWinter2017MageNotes": "Este yelmo, hecho a imagen del legendario Lobo Invernal, mantendrá tu cabeza caliente y tu visión aguda. Aumenta la Percepción en <%= per %>. Equipamiento Invernal Edición Limitada 2016-2017.",
|
||||
"headSpecialWinter2017MageNotes": "Este yelmo, hecho a imagen del legendario Lobo Invernal, mantendrá tu cabeza caliente y tu visión aguda. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de invierno 2016-2017.",
|
||||
"headSpecialWinter2017HealerText": "Yelmo de Flor Chispeante",
|
||||
"headSpecialWinter2017HealerNotes": "¡Estos brillantes pétalos focalizan tu poder cerebral! Aumenta la Inteligencia en <%= int %>. Equipamiento Invernal Edición Limitada 2016-2017.",
|
||||
"headSpecialWinter2017HealerNotes": "¡Estos brillantes pétalos focalizan tu poder cerebral! Aumenta la Inteligencia en <%= int %>. Equipamiento de edición limitada de invierno 2016-2017.",
|
||||
"headSpecialSpring2017RogueText": "Yelmo de Conejo Furtivo",
|
||||
"headSpecialSpring2017RogueNotes": "¡Esta máscara impedirá que tu monería te traicione mientras te aproximas furtivamente a tus Diarias (o a los tréboles)! Aumenta la Percepción en <%= per %>. Equipamiento de Edición Limitada de primavera de 2017.",
|
||||
"headSpecialSpring2017RogueNotes": "¡Esta máscara impedirá que tu monería te traicione mientras te aproximas furtivamente a tus Diarias (o a los tréboles)! Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de primavera 2017.",
|
||||
"headSpecialSpring2017WarriorText": "Yelmo Felino",
|
||||
"headSpecialSpring2017WarriorNotes": "Proteje tu adorable y confusa cabeza con este yelmo finamente decorado. Aumenta la Fuerza en <%= str %>. Equipamiento de Edición Limitada de primavera de 2017.",
|
||||
"headSpecialSpring2017WarriorNotes": "Proteje tu adorable y confusa cabeza con este yelmo finamente decorado. Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de primavera 2017.",
|
||||
"headSpecialSpring2017MageText": "Sombrero de Hechicero Canino",
|
||||
"headSpecialSpring2017MageNotes": "Este sombrero puede ayudarte a lanzar poderosos hechizos... O simplemente puedes usarlo para invocar pelotas de tenis. A tu elección. Aumenta la Percepción en <%= per %>. Equipamiento de Edición Limitada de primavera de 2017.",
|
||||
"headSpecialSpring2017MageNotes": "Este sombrero puede ayudarte a lanzar poderosos hechizos... O simplemente puedes usarlo para invocar pelotas de tenis. A tu elección. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de primavera 2017.",
|
||||
"headSpecialSpring2017HealerText": "Diadema de Pétalos",
|
||||
"headSpecialSpring2017HealerNotes": "Esta delicada corona emite el aroma reconfortante de las nuevas flores de primavera. Aumenta la inteligencia en <%= int %>. Equipamiento de Edición Limitada de primavera de 2017.",
|
||||
"headSpecialSpring2017HealerNotes": "Esta delicada corona emite el aroma reconfortante de las nuevas flores de primavera. Aumenta la Inteligencia en <%= int %>. Equipamiento de edición limitada de primavera 2017.",
|
||||
"headSpecialSummer2017RogueText": "Yelmo de Dragón Marino",
|
||||
"headSpecialSummer2017RogueNotes": "Este yelmo cambia de color ayudándote a camuflarte con el entorno. Aumenta la Percepción en <%= per %>. Equipo de Edición Limitada Verano 2017.",
|
||||
"headSpecialSummer2017RogueNotes": "Este yelmo cambia de color ayudándote a camuflarte con el entorno. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de verano 2017.",
|
||||
"headSpecialSummer2017WarriorText": "Yelmo Castilloarena",
|
||||
"headSpecialSummer2017WarriorNotes": "El más fino yelmo que podrías esperar vestir... al menos, hasta que suba la marea. Aumenta la Fuerza en <%= str %>. Equipo de Edición Limitada Verano 2017.",
|
||||
"headSpecialSummer2017MageText": "Sombrero Torbellino",
|
||||
|
|
|
|||
|
|
@ -721,5 +721,12 @@
|
|||
"backgroundRainbowEucalyptusText": "Eucalipto Arcobaleno",
|
||||
"backgroundByACampfireText": "Accanto ad un Falò",
|
||||
"backgroundRainbowEucalyptusNotes": "Ammira un boschetto di Eucalipto Arcobaleno.",
|
||||
"backgroundMessyRoomNotes": "Riordina una Stanza Disordinata."
|
||||
"backgroundMessyRoomNotes": "Riordina una Stanza Disordinata.",
|
||||
"backgrounds092022": "SET 100: Rilasciato a settembre 2022",
|
||||
"backgroundTheatreStageText": "Palcoscenico Teatrale",
|
||||
"backgroundTheatreStageNotes": "Esibisciti su di un Palcoscenico Teatrale.",
|
||||
"backgroundAutumnPicnicText": "Picnic Autunnale",
|
||||
"backgroundAutumnPicnicNotes": "Goditi un Picnic Autunnale.",
|
||||
"backgroundOldPhotoText": "Vecchia Foto",
|
||||
"backgroundOldPhotoNotes": "Mettiti in posa in una Vecchia Foto."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2694,5 +2694,9 @@
|
|||
"weaponMystery202209Text": "Manuale di Magia",
|
||||
"weaponMystery202209Notes": "Questo libro ti guiderà lungo il viaggio di apprendimento nella creazione di magie. Non conferisce alcun bonus. Oggetto abbonati settembre 2022.",
|
||||
"shieldMystery202209Notes": "Accrescere la tua conoscenza sulla magia richiede molto studio, ma puoi esser certo che apprezzerai la tua istruzione. Oggetto abbonati settembre 2022.",
|
||||
"shieldMystery202209Text": "Pila di Libri Magici"
|
||||
"shieldMystery202209Text": "Pila di Libri Magici",
|
||||
"eyewearArmoireComedyMaskText": "Maschera della Commedia",
|
||||
"eyewearArmoireTragedyMaskText": "Maschera della Tragedia",
|
||||
"eyewearArmoireComedyMaskNotes": "Urrà! Ecco una maschera pittoresca per il vostro cuor contento, ludico, che esprime gaiezza ed ilarità sul palco. Aumenta la Costituzione di <%= con %>. Scrigno Incantato: Set Maschere Teatrali (oggetto 1 di 2).",
|
||||
"eyewearArmoireTragedyMaskNotes": "Ahimè! Ecco una maschera gravosa per il vostro povero attore, impettito, afflitto, che esprime affanno e rammarico sul palco. Aumenta l'Intelligenza di <%= int %>. Scrigno Incantato: Set Maschere Teatrali (oggetto 2 di 2)."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -721,5 +721,12 @@
|
|||
"backgroundByACampfireText": "キャンプファイアのかたわらで",
|
||||
"backgroundByACampfireNotes": "キャンプファイアの火にあたりましょう。",
|
||||
"backgroundRainbowEucalyptusText": "虹のユーカリ",
|
||||
"backgroundRainbowEucalyptusNotes": "虹のユーカリの木立を鑑賞しましょう。"
|
||||
"backgroundRainbowEucalyptusNotes": "虹のユーカリの木立を鑑賞しましょう。",
|
||||
"backgrounds092022": "セット100:2022年9月リリース",
|
||||
"backgroundTheatreStageText": "劇場の大舞台",
|
||||
"backgroundTheatreStageNotes": "劇場の大舞台でパフォーマンスしよう。",
|
||||
"backgroundAutumnPicnicText": "秋のピクニック",
|
||||
"backgroundAutumnPicnicNotes": "秋のピクニックを楽しもう。",
|
||||
"backgroundOldPhotoText": "古写真",
|
||||
"backgroundOldPhotoNotes": "古写真風にポーズを決めよう。"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2694,5 +2694,9 @@
|
|||
"weaponMystery202209Text": "魔法マニュアル",
|
||||
"weaponMystery202209Notes": "魔法使いへの道のりへと、あなたを導くのがこの本です。効果なし。2022年9月の有料会員アイテム。",
|
||||
"shieldMystery202209Notes": "魔術の知識を身につけるには多くの本を読まなければいけませんが、その過程はきっと楽しいはず。効果なし。2022年9月有料会員アイテム。",
|
||||
"shieldMystery202209Text": "山積みの魔法書"
|
||||
"shieldMystery202209Text": "山積みの魔法書",
|
||||
"eyewearArmoireComedyMaskText": "喜劇の仮面",
|
||||
"eyewearArmoireComedyMaskNotes": "さあ陽気に!この古風な仮面は、汝の幸せな心のためにある。その陽気さと賑わいを演じ、歓待し、舞台の上で表現しよう。体質が<%= con %>上がります。ラッキー宝箱:演劇の仮面セット(2個中1個目のアイテム)。",
|
||||
"eyewearArmoireTragedyMaskText": "悲劇の仮面",
|
||||
"eyewearArmoireTragedyMaskNotes": "何たる悲しみ!ここにあるのは重厚な仮面。汝は哀れを演じる者。舞台上で気取って歩き、頭を抱え、苦悩と悲痛を表現しよう。知能が<%= int %>上がります。ラッキー宝箱:演劇の仮面セット(2個中2個目のアイテム)。"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -175,8 +175,8 @@
|
|||
"self_care": "セルフケア",
|
||||
"habitica_official": "Habitica 公式",
|
||||
"academics": "学術分野",
|
||||
"advocacy_causes": "主張・提言",
|
||||
"entertainment": "エンタメ",
|
||||
"advocacy_causes": "主義主張",
|
||||
"entertainment": "エンターテイメント",
|
||||
"finance": "ファイナンス",
|
||||
"health_fitness": "健康・フィットネス",
|
||||
"hobbies_occupations": "ホビー・趣味",
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
"invitedToQuest": "<span class=\"notification-bold-blue\"><%= quest %></span> クエストに招待されました",
|
||||
"askLater": "あとで答える",
|
||||
"buyQuest": "クエストを買う",
|
||||
"accepted": "承認しました",
|
||||
"accepted": "承認済み",
|
||||
"declined": "辞退済み",
|
||||
"rejected": "拒否しました",
|
||||
"pending": "保留",
|
||||
|
|
|
|||
|
|
@ -717,5 +717,12 @@
|
|||
"backgroundByACampfireNotes": "Aqueça-se na faísca Perto de uma Fogueira.",
|
||||
"backgrounds082022": "Conjunto 99: Lançado em Agosto de 2022",
|
||||
"backgroundRainbowEucalyptusText": "Eucalipto Arco-íris",
|
||||
"backgroundRainbowEucalyptusNotes": "Admire um bosque de Eucalipto Arco-íris."
|
||||
"backgroundRainbowEucalyptusNotes": "Admire um bosque de Eucalipto Arco-íris.",
|
||||
"backgrounds092022": "CONJUNTO 100: Lançado em setembro de 2022",
|
||||
"backgroundOldPhotoNotes": "Faça uma pose em um Retrato Antigo.",
|
||||
"backgroundOldPhotoText": "Retrato Antigo",
|
||||
"backgroundAutumnPicnicNotes": "Aproveite um Piquenique de Outono.",
|
||||
"backgroundAutumnPicnicText": "Piquenique de Outono",
|
||||
"backgroundTheatreStageText": "Palco de Teatro",
|
||||
"backgroundTheatreStageNotes": "Performe em um Palco de Teatro."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2694,5 +2694,9 @@
|
|||
"weaponMystery202209Notes": "Este livro irá te guiar durante sua jornada de mágicas. Não confere benefícios. Item de Assinante de setembro de 2022",
|
||||
"shieldMystery202209Text": "Monte dos Livros Mágicos",
|
||||
"shieldMystery202209Notes": "Construir seu conhecimento sobre feitiçaria precisa de muita leitura, mas com certeza irá aproveitar sua educação. Não confere benefícios. Item de Assinante de setembro de 2022.",
|
||||
"weaponMystery202209Text": "Manual Mágico"
|
||||
"weaponMystery202209Text": "Manual Mágico",
|
||||
"eyewearArmoireComedyMaskText": "Máscara da Comédia",
|
||||
"eyewearArmoireComedyMaskNotes": "Com alegria! Aqui está uma máscara pitoresca para seu coração feliz, tocando, anunciando e expressando alegria no palco. Aumenta Constituição em <%= con %>. Armário Encantado: Conjunto Máscaras de Teatro (Item 1 de 2).",
|
||||
"eyewearArmoireTragedyMaskText": "Máscara da Tragédia",
|
||||
"eyewearArmoireTragedyMaskNotes": "Com lástima! Aqui está uma máscara pesada para seu pobre personagem, se escorando, se preocupando e expressando aflição e tristeza no palco. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto Máscaras de Teatro (Item 2 de 2)."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -721,5 +721,12 @@
|
|||
"backgroundMountainWaterfallNotes": "Полюбуйтесь горным водопадом.",
|
||||
"backgroundSailboatAtSunsetText": "Парусник на закате",
|
||||
"backgroundSailboatAtSunsetNotes": "Насладитесь красотой парусника на закате.",
|
||||
"backgrounds062022": "Набор 97: Выпущен в июне 2022"
|
||||
"backgrounds062022": "Набор 97: Выпущен в июне 2022",
|
||||
"backgrounds092022": "Набор 100 : Выпущен в сентябре 2022",
|
||||
"backgroundTheatreStageText": "Театральная сцена",
|
||||
"backgroundTheatreStageNotes": "Выступайте на театральной сцене.",
|
||||
"backgroundAutumnPicnicText": "Осенний пикник",
|
||||
"backgroundAutumnPicnicNotes": "Насладитесь осенним пикником.",
|
||||
"backgroundOldPhotoText": "Старая фотография",
|
||||
"backgroundOldPhotoNotes": "Примите таинственную позу на старом фото."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,11 +162,11 @@
|
|||
"onlyCreatorOrAdminCanDeleteChat": "Вы не авторизованы чтобы удаить это сообщение!",
|
||||
"onlyGroupLeaderCanEditTasks": "Вы не авторизованы, чтобы редактировать задачи!",
|
||||
"onlyGroupTasksCanBeAssigned": "Можно назначать только командные задачи",
|
||||
"assignedTo": "Назначить",
|
||||
"assignedToUser": "Назначено для <strong><%- userName %></strong>",
|
||||
"assignedToMembers": "Назначено <strong><%= userCount %> участникам</strong>",
|
||||
"assignedToYouAndMembers": "Назначено вам и <strong><%= userCount %> участникам</strong>",
|
||||
"youAreAssigned": "Назначено вам",
|
||||
"assignedTo": "Назначено",
|
||||
"assignedToUser": "Назначено для: <strong>@<%- userName %></strong>",
|
||||
"assignedToMembers": "<%= userCount %> пользователям",
|
||||
"assignedToYouAndMembers": "<strong>Вам</strong>, <%= userCount %> пользователям",
|
||||
"youAreAssigned": "Назначено: <strong>вам</strong>",
|
||||
"taskIsUnassigned": "Эта задача не назначена",
|
||||
"confirmUnClaim": "Вы уверены, что хотите освободить эту задачу?",
|
||||
"confirmNeedsWork": "Вы уверены, что хотите пометить эту задачу как нуждающуюся в работе?",
|
||||
|
|
@ -183,7 +183,7 @@
|
|||
"removeClaim": "Удалить претензию",
|
||||
"onlyGroupLeaderCanManageSubscription": "Только предводитель группы может управлять общей подпиской",
|
||||
"yourTaskHasBeenApproved": "Ваше задание <span class=\"notification-green notification-bold\"><%- taskText %></span> было одобрено.",
|
||||
"taskNeedsWork": "<span class=\"notification-bold\"><%- managerName %></span> отметил <span class=\"notification-bold\"><%- taskText %></span> как требующей дополнительной работы.",
|
||||
"taskNeedsWork": "<span class=\"notification-bold\"><%- taskText %></span> отправлено на доработку <span class=\"notification-bold\">@<%- managerName %></span>. Ваши награды за выполнение задачи были аннулированы.",
|
||||
"userHasRequestedTaskApproval": "<span class=\"notification-bold\"><%- user %></span> просит одобрить <span class=\"notification-bold\"><%- taskName %></span>",
|
||||
"approve": "Одобрить",
|
||||
"approveTask": "Одобрить задание",
|
||||
|
|
@ -361,14 +361,14 @@
|
|||
"assignedDateOnly": "Назначено на <strong><%= date %></strong>",
|
||||
"cannotRemoveQuestOwner": "Вы не можете удалить владельца активного задания. Сначала отмените задание.",
|
||||
"blockYourself": "Вы не можете заблокировать себя",
|
||||
"assignedDateAndUser": "Назначено <strong>@<%- username %></strong> на <strong><%= date %></strong>",
|
||||
"assignedDateAndUser": "Назначено @<%- username %> на <%= date %>",
|
||||
"bannedWordsAllowedDetail": "Выбрав эту опцию, вы разрешаете использование запрещенных слов в этой гильдии.",
|
||||
"bannedWordsAllowed": "Разрешить запрещенные слова",
|
||||
"thisTaskApproved": "Это задание было одобрено",
|
||||
"giftMessageTooLong": "Максимальная длина поздравительных сообщений <%= maxGiftMessageLength %>.",
|
||||
"onlyPrivateGuildsCanUpgrade": "Только приватные гильдии могут быть улучшены до группы.",
|
||||
"managerNotes": "Заметки менеджера",
|
||||
"chooseTeamMember": "Выберете члена команды",
|
||||
"chooseTeamMember": "Найдите члена команды",
|
||||
"unassigned": "Не назначено",
|
||||
"viewDetails": "Посмотреть детали",
|
||||
"upgradeToGroup": "Улучшить до группы",
|
||||
|
|
@ -390,5 +390,9 @@
|
|||
"newGroupsWelcome": "Добро пожаловать в новый общий список задач!",
|
||||
"newGroupsWhatsNew": "Посмотрите, что нового:",
|
||||
"newGroupsBullet01": "Взаимодействуйте с задачами непосредственно через общий список задач",
|
||||
"newGroupsBullet05": "Цвет общих задач будет меняться, если они не были завершены, чтобы было легче отслеживать прогресс"
|
||||
"newGroupsBullet05": "Цвет общих задач будет меняться, если они не были завершены, чтобы было легче отслеживать прогресс",
|
||||
"lastCompleted": "Последнее выполненное",
|
||||
"newGroupsBullet06": "Просмотр статуса задания позволяет быстро увидеть, кто его выполнил",
|
||||
"newGroupsBullet07": "Включите функцию отображения общих задач на вашей персональной доске задач",
|
||||
"newGroupsBullet08": "Лидер группы и менеджеры могут быстро добавлять задачи из верхней части столбцов задач"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,5 +216,6 @@
|
|||
"noGemTransactions": "У вас пока что нет переводов самоцветов.",
|
||||
"noHourglassTransactions": "У вас пока что нет переводов песочных часов.",
|
||||
"transaction_debug": "Действие по отладке",
|
||||
"passwordSuccess": "Пароль успешно изменен"
|
||||
"passwordSuccess": "Пароль успешно изменен",
|
||||
"giftSubscriptionRateText": "<strong>$<%= price %> долларов США</strong> за <strong><%= months %> месяц(-а/-ев)</strong>"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -211,5 +211,7 @@
|
|||
"mysterySet202204": "Набор виртуального искателя приключений",
|
||||
"mysterySet202205": "Набор крылатого сумеречного дракона",
|
||||
"mysterySet202206": "Набор Морской Феи",
|
||||
"mysterySet202208": "Набор Задорный хвостик"
|
||||
"mysterySet202208": "Набор Задорный хвостик",
|
||||
"mysterySet202209": "Набор магического учёного",
|
||||
"mysterySet202207": "Набор желейной медузы"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -717,5 +717,12 @@
|
|||
"backgroundByACampfireNotes": "Грійтеся в сяйві поблизу багаття.",
|
||||
"backgrounds082022": "Набір 99: серпень 2022",
|
||||
"backgroundMessyRoomNotes": "Наведіть порядок у безладній кімнаті.",
|
||||
"backgroundByACampfireText": "Біля багаття"
|
||||
"backgroundByACampfireText": "Біля багаття",
|
||||
"backgrounds092022": "Набір 100: вересень 2022",
|
||||
"backgroundTheatreStageText": "Театральна сцена",
|
||||
"backgroundTheatreStageNotes": "Зіграйте на театральній сцені.",
|
||||
"backgroundAutumnPicnicText": "Осінній пікнік",
|
||||
"backgroundAutumnPicnicNotes": "З'їздіть на осінній пікнік.",
|
||||
"backgroundOldPhotoText": "Старе фото",
|
||||
"backgroundOldPhotoNotes": "Прийміть загадкову позу на старому фото."
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
"equipmentType": "Тип",
|
||||
"klass": "Клас",
|
||||
"groupBy": "Групувати по <%= type %>",
|
||||
"classBonus": "",
|
||||
"classBonus": "(Цей предмет відповідає вашому класу, тому він отримує додатковий множник характеристик 1.5)",
|
||||
"classArmor": "Класова броня",
|
||||
"featuredset": "Рекомандований комплект <%= name %>",
|
||||
"mysterySets": "Містичний комплект",
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
"noGearItemsOfType": "Ви не володієте жодним з цих предметів.",
|
||||
"noGearItemsOfClass": "Ви вже зібрали все спорядження для свого класу! Більше буде випущено до Великих Свят, під час сонцестояння та рівнодення.",
|
||||
"classLockedItem": "This item is only available to a specific class. Change your class under the User icon > Settings > Character Build!",
|
||||
"tierLockedItem": "",
|
||||
"tierLockedItem": "Цей товар доступний лише після того, як ви купите попередні товари з послідовності. Продовжуйте працювати!",
|
||||
"sortByType": "Тип",
|
||||
"sortByPrice": "Ціна",
|
||||
"sortByCon": "ВИТ",
|
||||
|
|
@ -79,19 +79,19 @@
|
|||
"weaponHealer6Text": "Золотий скіпетр",
|
||||
"weaponHealer6Notes": "Заспокоює біль тих, хто дивиться на нього. Збільшує Інтеллект на <%= int %>.",
|
||||
"weaponSpecial0Text": "Клинок чорних душ",
|
||||
"weaponSpecial0Notes": "",
|
||||
"weaponSpecial0Notes": "Поїдає життєву силу ворогів, щоб посилити свої злі удари. Збільшує силу на <%= str %>.",
|
||||
"weaponSpecial1Text": "Кришталевий клинок",
|
||||
"weaponSpecial1Notes": "",
|
||||
"weaponSpecial1Notes": "Його блискучі грані розповідають про героя. Збільшує всі характеристики на <%= attrs %>.",
|
||||
"weaponSpecial2Text": "Патериця дракона Стефана Вебера",
|
||||
"weaponSpecial2Notes": "Відчуйте могутність сили дракона! Збільшує силу та спритність на <%= attrs %>.",
|
||||
"weaponSpecial3Text": "Моргенштерн неперевної послідовності",
|
||||
"weaponSpecial3Notes": "",
|
||||
"weaponSpecial3Notes": "Із зустрічами, монстрами, нездужанням - покінчено! Стерто в пил! Збільшує силу, інтелект та витривалість на <%= attrs %>.",
|
||||
"weaponSpecialCriticalText": "Убивчий молот Баґо-руба",
|
||||
"weaponSpecialCriticalNotes": "",
|
||||
"weaponSpecialCriticalNotes": "Цей чемпіон убив критичного ворога GitHub, де полягло багато воїнів. Цей молот, виготовлений із кісток Жука, завдає потужного критичного удару. Збільшує силу та спритність на <%= attrs %>.",
|
||||
"weaponSpecialTakeThisText": "Візьміть Цей Меч",
|
||||
"weaponSpecialTakeThisNotes": "",
|
||||
"weaponSpecialTridentOfCrashingTidesText": "",
|
||||
"weaponSpecialTridentOfCrashingTidesNotes": "",
|
||||
"weaponSpecialTakeThisNotes": "Цей меч було отримано за участь у випробуванні, спонсорованому кампанією Take This. Щиро вітаємо! Збільшує всі характеристики на <%= attrs %>.",
|
||||
"weaponSpecialTridentOfCrashingTidesText": "Тризуб руйнівних приливів",
|
||||
"weaponSpecialTridentOfCrashingTidesNotes": "Дає вам можливість керувати рибами, а також наносити кілька могутніх ударів під час ваших завдань. Збільшує інтелект на <%= int %>.",
|
||||
"weaponSpecialTaskwoodsLanternText": "",
|
||||
"weaponSpecialTaskwoodsLanternNotes": "",
|
||||
"weaponSpecialBardInstrumentText": "Лютня Барда",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"questEvilSantaText": "Санта-Звіролов",
|
||||
"questEvilSantaText": "Санта-Мисливець",
|
||||
"questEvilSantaNotes": "Ви чуєте агонізований рев глибоко в крижаних полях. Ви слідуєте за гарчанням, перерваним гудінням, - до галявини в лісі, де ви бачите повністю дорослого білого ведмедя. Він перебуває в клітках і в кайданах, бореться за своє життя. Танцює на верхній частині клітини злісний маленький чорт, одягнений у порваний костюм. Переможіть Санта-звіролова та рятуйте звіра! <br><br> <strong> Примітка </strong>: „Санта-звіролов” нагороджує досягнення, яке можна скласти, але дає рідкісне кріплення, яке можна додати до вашої стайні лише один раз.",
|
||||
"questEvilSantaCompletion": "Санта-звіролов сердито кричить і тікає в ніч. Вдячна ведмедиця крізь рев і гарчання намагається вам щось сказати. Ви повертаєте її до стайні, де Матвей, доглядач тварин, слухає її розповідь, зітхнувши від жаху. У неї є дитинча! Воно втекло на крижані поля, коли маму-ведмедицю схопили.",
|
||||
"questEvilSantaBoss": "Санта Звіролов",
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
"questGryphonDropGryphonEgg": "Яйце ґрифона",
|
||||
"questGryphonUnlockText": "Відкриває покупні яйця грифона на ринку",
|
||||
"questHedgehogText": "Тинозвір",
|
||||
"questHedgehogNotes": "",
|
||||
"questHedgehogNotes": "Їжаки - веселі тваринки. Вони є одними з найбільш ласкавих домашніх улюбленців, які можуть бути у габітиканців. Але подейкують, якщо погодувати їх молоком після опівночі, вони стають досить дратівливими. І в п’ятдесят разів більшими. На жаль, <strong>InspectorCaracal</strong> зробив саме це. Ой-йой.",
|
||||
"questHedgehogCompletion": "Ваш гурт успішно заспокоїв Їжачиху! Вона зменшилася до нормального розміру та пошкутильгала до своїх яєць. Вона щось пищить та викочує деякі свої яйця до Вашого гурту. Будемо сподіватися, що ці їжачки полюблять молочко!",
|
||||
"questHedgehogBoss": "Тинозвір",
|
||||
"questHedgehogDropHedgehogEgg": "Яйце їжака",
|
||||
|
|
@ -29,14 +29,14 @@
|
|||
"questGhostStagDropDeerEgg": "Яйце оленя",
|
||||
"questGhostStagUnlockText": "Розблоковує оленячі яйця для придбання на ринку",
|
||||
"questRatText": "Щурячий король",
|
||||
"questRatNotes": "",
|
||||
"questRatCompletion": "",
|
||||
"questRatNotes": "Сміття! Величезні купи невиконаних щоденок лежать по всій Габітиці. Проблема стала настільки серйозною, що натовпи пацюків тепер можна побачити повсюди. Ви помітили, як @Pandah ніжно гладить одного з них. Вона пояснює, що щури — це ніжні істоти, які харчуються невиконаними щоденками. Справжня проблема полягає в тому, що щоденки впали в каналізацію, утворивши небезпечний затор, який потрібно розчистити. Коли ви спускаєтесь у каналізацію, величезний щур із криваво-червоними очима та кривими жовтими зубами нападає на вас, захищаючи свою гору сміття. Чи вистачить вам сміливості, щоб зіткнутись з легендарним Щурячим королем?",
|
||||
"questRatCompletion": "Ваш останній удар позбавив гігантського щура сили, його очі стали тьмяно-сірими. Звір розпадається на безліч крихітних мишенят, які злякано тікають геть. Ви помічаєте @Pandah, яка стоїть позаду вас і дивиться на колись могутню істоту. Вона пояснює, що жителі Habitica надихнулися вашою мужністю і швидко виконують усі свої щоденки. Вона попереджає вас, що ми повинні бути пильними, бо якщо ми ослабимо пильність, Щурячий король повернеться. В якості оплати @Pandah пропонує вам кілька щурячих яєць. Помітивши ваш неспокійний вираз обличчя, вона посміхається: «З них вилупляться чудові домашні тварини».",
|
||||
"questRatBoss": "Щурячий король",
|
||||
"questRatDropRatEgg": "Яйце щура",
|
||||
"questRatUnlockText": "Розблоковує щурячі яйця для придбання на ринку",
|
||||
"questOctopusText": "Поклик Октотулу",
|
||||
"questOctopusNotes": "@Urse, банькатий молодий писар, попрохав вас допомогти з оглядом таємничої печери на морському узбережжі. Серед напівтемних припливних озерцят стоїть величезна брама зі сталактитів та сталагмітів. Коли ви підходите ближче, унизу воріт починає кружляти темний вир. Ви з подивом дивитесь, як звідти вилазить спрутоподібний дракон. „Липке чадо зірок прокинулося“, — несамовито реве @Urse. „Через вігинтильйони років великий Октотулу знову вільний і спраглий до насолод!“",
|
||||
"questOctopusCompletion": "",
|
||||
"questOctopusCompletion": "З останнім ударом істота вислизає у вир, з якого вона прийшла. Ви не можете сказати, чи @Urse радий вашій перемозі чи засмучений тим, що звір йде. Ваш напарник без слів показує на три слизькі гігантські яйця в сусідній ямі, покладені в гніздо із золотими монетами. «Мабуть, це яйця восьминога», — нервово кажете ви. Коли ви повертаєтеся додому, @Urse несамовито строчить у щоденнику, і ви підозрюєте, що це не востаннє, коли ви чуєте про великого Октотулу.",
|
||||
"questOctopusBoss": "Октотулу",
|
||||
"questOctopusDropOctopusEgg": "Яйце спрута",
|
||||
"questOctopusUnlockText": "Відкриває покупні яйця восьминогів на ринку",
|
||||
|
|
@ -47,14 +47,14 @@
|
|||
"questHarpyDropParrotEgg": "Яйце папуги",
|
||||
"questHarpyUnlockText": "Розблоковує яйця папуг для придбання на ринку",
|
||||
"questRoosterText": "Півняче шаленство",
|
||||
"questRoosterNotes": "",
|
||||
"questRoosterNotes": "Протягом багатьох років фермер @extrajordanary використовував півнів як будильник. Але тепер з’явився гігантський когут, який кукурікає голосніше, ніж будь-хто раніше – і будить усіх в Габітиці! Позбавлені сну габітиканці важко справляються зі своїми повсякденними завданнями. @Pandoro вирішує, що настав час покласти цьому край. — Будь ласка, чи є хтось, хто навчить того Півника тихо кукурікати? Одного ранку ви вирушаєте добровольцем, щоб вгомонити півня, але він обертається, змахуючи гігантськими крилами й показуючи гострі пазурі, і кричить бойовий клич.",
|
||||
"questRoosterCompletion": "Силою та вправністю вам вдалося приборкати цю знавіснілу тварину. Вуха півня були забиті пір'ям та напівзабутими завданнями, але тепер вони чисті, як віночок. Він тихенько до вас сокоче, притулившись дзьобом до вашого плеча. Наступного дня ви якраз були зібралися в дорогу, аж підбігає до вас @EmeraldOx з укритим кошичком. „Стривайте! Сьогодні вранці півень припхав оце до дверей, де ви спали. Гадаю, він хоче, аби ви їх узяли.“ Ви розкриваєте кошик і бачите три охайні яєчка.",
|
||||
"questRoosterBoss": "Півень",
|
||||
"questRoosterDropRoosterEgg": "Яйце півня",
|
||||
"questRoosterUnlockText": "Розблоковує купівлю півнячих яєць на ринку",
|
||||
"questSpiderText": "Льодяний Арахнід",
|
||||
"questSpiderNotes": "Як тільки наступили холода, легенький іній почав з'являтись у хабітчанських вікнах у вигляді кружева павутинь... окрім Аркосінових, чиї вікна є повністю заморожені Морозяним Павуком, який зараз вирішує поселитись в його домі.",
|
||||
"questSpiderCompletion": "",
|
||||
"questSpiderCompletion": "Морозний павук падає, залишаючи за собою невелику купу інею та кілька зачарованих яєць. @Arcosine пропонує їх вам як нагороду — можливо, ви можете виростити небезпечних павуків як домашніх тварин?",
|
||||
"questSpiderBoss": "Павук",
|
||||
"questSpiderDropSpiderEgg": "Яйце павука",
|
||||
"questSpiderUnlockText": "Розблоковує купівлю павука в яйці на ринку",
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
"questGoldenknight1Text": "Золотий лицар (частина 1): Сувора догана",
|
||||
"questGoldenknight1Notes": "Золотий Лицар завжди незадоволена бідними жителями Габітики. Не впоралися з усіма щоденними завданнями? Піддалися негативній звичці? Для неї це привід нагадати Вам, що Ви повинні наслідувати її. Вона – яскравий приклад ідеального габітиканця, а Ви - невдаха. Що ж, це зовсім не чемно! Усі роблять помилки, тому ви не повинні терпіти подібних обвинувачень. Напевно, настав час Вам зібрати скарги скривджених жителів країни Габітика і винести Золотому Лицареві сувору догану!",
|
||||
"questGoldenknight1CollectTestimony": "Скарги",
|
||||
"questGoldenknight1Completion": "",
|
||||
"questGoldenknight1Completion": "Подивіться на всі ці догани! Напевно, цього буде достатньо, щоб переконати Золотого Лицаря. Тепер все, що вам потрібно зробити, це знайти її.",
|
||||
"questGoldenknight1DropGoldenknight2Quest": "Золотий лицар (частина 2): Золотий лицар (сувій)",
|
||||
"questGoldenknight2Text": "Золотий лицар (частина 2): Золотий лицар",
|
||||
"questGoldenknight2Notes": "Озброївшись десятками скарг від габітиканців, Ви нарешті стоїте навпроти Золотого лицаря. Ви починаєте декламувати їй скарги жителів Габітики, одну за одною. «І @Pfeffernusse каже про твої постійні хвастощі…» Лицар піднімає руку, щоб змусити Вас замовкнути, і насміхається: «Будь ласка, ці люди просто заздрять моїм успіхам. Замість того, щоб скаржитися, вони повинні просто працювати так само наполегливо, як я! Можливо, мені варто показати вам силу, яку ви можете отримати завдяки працьовитості, як у мене!» Вона піднімає свій моргенштерн і готується напасти на Вас!",
|
||||
|
|
@ -114,11 +114,11 @@
|
|||
"questGroupEarnable": "Зароблені квести",
|
||||
"questBasilistText": "Спискозмій",
|
||||
"questBasilistNotes": "На ринку панує переполох — такий, що мав би змусити Вас тікати. Однак будучи сміливим шукачем пригод, Ви замість цього біжите назустріч і зустрічаєте Спискозмія, що утворений зі списків невиконаних справ! Габітиканці, що знаходяться поруч, паралізовані від страху довжиною Спискозмія. Вони не можуть почати працювати. Звідкись неподалік ви чуєте, як @Arcosine кричить: \"Швидко! Виконуйте свої завдання та щоденки, щоб знешкодити монстра, перш ніж він встигне порізати когось папером!\". Бийте швидко, шукачу пригод, і викреслюйте завдання, але будьте обережні - якщо Ви не виконаєте які-небудь щоденки, Спискозмій атакуватиме Вас і Вашу групу!",
|
||||
"questBasilistCompletion": "",
|
||||
"questBasilistCompletion": "Спискозмій розсипався на папірці всіх кольорів веселки. \"Вау!\" каже @Arcosine. — Добре, що ви були тут!\" Відчуваючи себе більш досвідченим, ніж раніше, ви знаходите трохи золота серед паперів.",
|
||||
"questBasilistBoss": "Спискозмій",
|
||||
"questEggHuntText": "Яйцелови",
|
||||
"questEggHuntNotes": "За ніч дивні яйця з’явилися скрізь: у стайні у Матвея, за прилавком у таверні і навіть серед яєць домашніх тварин на Ринку! Яка неприємність! \"Ніхто не знає, звідки вони з'явилися і що з них може вилупитися, - каже Меган, - але ми не можемо просто залишити їх валятися ось так! Наполегливо працюйте і шукайте, щоб допомогти мені зібрати ці таємничі яйця. Можливо, якщо Ви зберете достатньо, то щось знайдеться і для Вас...\"",
|
||||
"questEggHuntCompletion": "",
|
||||
"questEggHuntCompletion": "Ви зробили це! На знак подяки <strong>Меган</strong> дарує вам десять яєць. «Б’юся об заклад, що зілля вилуплення пофарбує їх у прекрасні кольори! І мені цікаво, що станеться, коли вони перетворяться на верхових тварин…»",
|
||||
"questEggHuntCollectPlainEgg": "Прості яйця",
|
||||
"questEggHuntDropPlainEgg": "Просте яйце",
|
||||
"questDilatoryText": "Жахливий Драк'он Неквапливості",
|
||||
|
|
@ -143,7 +143,7 @@
|
|||
"questAtom1Notes": "Ви добралися до берегів Чистого озера, щоб заслужено відпочити... Але озеро забруднене немитим посудом! Як таке могло трапитись? Що ж, Ви просто не дозволите, щоб озеро було у такому стані. Існує лише один вихід: помити посуд і врятувати це місце відпочинку! Варто пошукати якогось мила, щоб усе це перемити. Багато мила...",
|
||||
"questAtom1CollectSoapBars": "Брусочки мила",
|
||||
"questAtom1Drop": "Чудовисько озера Недої-Десс (сувій)",
|
||||
"questAtom1Completion": "",
|
||||
"questAtom1Completion": "Після ретельного миття весь посуд безпечно складений на березі! Ви стоїте осторонь і з гордістю оглядаєте свою важку роботу.",
|
||||
"questAtom2Text": "Битва з Буденністю (частина 2): Чудовисько озера Недої-Десс",
|
||||
"questAtom2Notes": "Хух, тут значно краще, коли увесь посуд чистий. Може, нарешті Ви можете трохи розважитися. Гей, по озері, здається, плаває коробка від піци. Залишилось прибрати ще її, еге ж? Однак, це не проста коробка від піци! Раптом коробка швидко підіймається і виявляється, що це голова чудовиська. Неймовірно! Легендарне чудовисько Недоїдессі?! Кажуть, начебто воно переховується в озері з прадавніх часів: істота, яка виникла із залишків їжі та сміття давніх габітиканців. Фе!",
|
||||
"questAtom2Boss": "Чудовисько Недоїдессі",
|
||||
|
|
@ -222,10 +222,10 @@
|
|||
"questKrakenCompletion": "",
|
||||
"questKrakenDropCuttlefishEgg": "Яйце каракатиці",
|
||||
"questKrakenUnlockText": "Яйця каракатиць розблоковуються для придбання на ринку",
|
||||
"questWhaleText": "",
|
||||
"questWhaleNotes": "",
|
||||
"questWhaleText": "Стогін кита",
|
||||
"questWhaleNotes": "Ви прибуваєте в Diligent Docks, сподіваючись сісти на підводний човен, щоб подивитися «Повільне дербі». Раптом оглушливий стогін змушує вас зупинитися й затулити вуха. \"Так вона голосить!\" — кричить капітан @krazjega, вказуючи на величезного кита, що ридає. «Небезпечно відправляти підводні човни, поки вона там!»<br><br>«Швидко», закликає @UncommonCriminal. «Допоможи мені заспокоїти бідолашну істоту, щоб ми могли зрозуміти, чому вона так шумить!»",
|
||||
"questWhaleBoss": "Плач Кита",
|
||||
"questWhaleCompletion": "",
|
||||
"questWhaleCompletion": "Після важкої праці кит нарешті припинила свій громовий рев. «Схоже, вона потонула у хвилях негативних звичок», — пояснює @zoebeagle. «Завдяки вашим послідовним зусиллям ми змогли переламати ситуацію!» Коли ви входите в підводний човен, кілька китових яєць підкочуються до вас, і ви їх підіймаєте.",
|
||||
"questWhaleDropWhaleEgg": "Яйце кита",
|
||||
"questWhaleUnlockText": "Розблоковує китові яйця для придбання на ринку",
|
||||
"questGroupDilatoryDistress": "Затяжна біда",
|
||||
|
|
@ -258,10 +258,10 @@
|
|||
"questCheetahBoss": "Гепард",
|
||||
"questCheetahDropCheetahEgg": "Яйце гепарда",
|
||||
"questCheetahUnlockText": "Відкриває яйця гепардів для придбання на ринку",
|
||||
"questHorseText": "",
|
||||
"questHorseNotes": "",
|
||||
"questHorseCompletion": "",
|
||||
"questHorseBoss": "",
|
||||
"questHorseText": "КІНецЬ світу",
|
||||
"questHorseNotes": "Під час відпочинку в таверні з @beffymaroo та @JessicaChase розмова перетворюється на добродушне вихваляння вашими пригодницькими досягненнями. Пишаючись своїми вчинками, і, можливо, трохи захопившись, ви хвалитеся тим, що можете приборкати будь-яке завдання. Незнайомець повертається до вас і посміхається. Одне око блищить, коли він запрошує вас довести свої слова, осідлавши його коня.\nКоли ви всі прямуєте до хліву, @UncommonCriminal шепоче: «Можливо, ви відкусили більше, ніж можете проковтнути. Це не кінь, а справжній КІН-ец-Ь!» Чуючи його тупіт копит, ви починаєте шкодувати про свої слова...",
|
||||
"questHorseCompletion": "Від вас потрібні були всі ваші навички, але нарешті кінь тупоче своїми копитами і тикає вас носом у плече, перш ніж дозволити вам сісти верхи. Ви коротко, але гордо катаєтеся по території поблизу таверни, поки ваші друзі споглядають за вами. Незнайомець широко посміхається.\n«Я бачу, що це не було пустим вихвалянням! Ваша рішучість справді вражає. Візьміть ці яйця, щоб мати змогу виростити своїх коней, і, можливо, ми одного разу зустрінемося». Ви берете яйця, незнайомець знімає капелюх в знак пошани... і зникає.",
|
||||
"questHorseBoss": "КІНецЬ",
|
||||
"questHorseDropHorseEgg": "Яйце коня",
|
||||
"questHorseUnlockText": "Розблоковує коні яйця для придбання на ринку",
|
||||
"questBurnoutText": "",
|
||||
|
|
@ -347,7 +347,7 @@
|
|||
"questTurtleText": "",
|
||||
"questTurtleNotes": "",
|
||||
"questTurtleCompletion": "",
|
||||
"questTurtleBoss": "",
|
||||
"questTurtleBoss": "Засмічене море",
|
||||
"questTurtleDropTurtleEgg": "Яйце черпахи",
|
||||
"questTurtleUnlockText": "Розблоковує купівлю черепахи в яйці на ринку",
|
||||
"questArmadilloText": "",
|
||||
|
|
|
|||
|
|
@ -717,5 +717,12 @@
|
|||
"backgroundMessyRoomNotes": "收拾一间散乱房间。",
|
||||
"backgroundByACampfireText": "在硬货旁边",
|
||||
"backgrounds082022": "第99组:2022年8月推出",
|
||||
"backgroundByACampfireNotes": "晒营火旁边的光。"
|
||||
"backgroundByACampfireNotes": "晒营火旁边的光。",
|
||||
"backgrounds092022": "第100组:2022年9月推出",
|
||||
"backgroundTheatreStageText": "剧场舞台",
|
||||
"backgroundTheatreStageNotes": "在剧场舞台上表演。",
|
||||
"backgroundAutumnPicnicText": "秋季野餐",
|
||||
"backgroundAutumnPicnicNotes": "享受秋季野餐。",
|
||||
"backgroundOldPhotoText": "老照片",
|
||||
"backgroundOldPhotoNotes": "在老照片里摆好姿势。"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,5 +54,6 @@
|
|||
"webFaqAnswer12": "世界Boss是出现在酒馆的特殊怪物。所有活跃的玩家都会自动参战,玩家们的完成的任务和技能都会对Boss造成伤害。你可以同时像平时那样开副本。你完成的任务和放的技能会同时被算入世界Boss以及你队伍副本的进度当中。世界Boss并不会对你或者你的号造成伤害。它会有一个怒气值,随着用户没完成的日常任务数量而增加。如果怒气槽满了,它会攻击一个本站的NPC并使这个NPC的形象发生变化。你可以前往维基了解更多关于[过去的世界Boss](https://habitica.fandom.com/zh/wiki/世界Boss)的信息。",
|
||||
"iosFaqStillNeedHelp": "如果[Wiki FAQ](https://habitica.fandom.com/zh/wiki/FAQ)不能解决你的问题,请在酒馆聊天中咨询。进入方式:菜单 > 酒馆!我们很乐意为你提供帮助。",
|
||||
"androidFaqStillNeedHelp": "如果[Wiki FAQ](https://habitica.fandom.com/zh/wiki/FAQ)不能解决你的问题,请在酒馆聊天中咨询。进入方式:菜单 > 酒馆!我们很乐意为你提供帮助。",
|
||||
"webFaqStillNeedHelp": "如果问题列表和[Wiki FAQ](https://habitica.fandom.com/zh/wiki/FAQ)不能解决你的问题,请在[Habitica 帮助公会](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)中咨询。我们很乐意为你提供帮助。"
|
||||
"webFaqStillNeedHelp": "如果问题列表和[Wiki FAQ](https://habitica.fandom.com/zh/wiki/FAQ)不能解决你的问题,请在[Habitica 帮助公会](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)中咨询。我们很乐意为你提供帮助。",
|
||||
"faqQuestion13": "什么是团体计划?"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2690,5 +2690,13 @@
|
|||
"eyewearMystery202208Text": "闪亮眼睛",
|
||||
"headMystery202208Text": "活泼马尾",
|
||||
"headMystery202208Notes": "享受炫耀这丰盈蓬松的头发 — 迫不得已的时候也可以是一根鞭子!没有属性加成。2022年8月订阅者物品。",
|
||||
"eyewearMystery202208Notes": "用这双可爱到令人发指的眼睛让你的敌人产生一种虚假的安全感。没有属性加成。2022年8月订阅者物品。"
|
||||
"eyewearMystery202208Notes": "用这双可爱到令人发指的眼睛让你的敌人产生一种虚假的安全感。没有属性加成。2022年8月订阅者物品。",
|
||||
"weaponMystery202209Text": "魔法手册",
|
||||
"weaponMystery202209Notes": "这本书将会指导你完成魔术的制作。没有属性加成。2022年9月订阅者物品。",
|
||||
"shieldMystery202209Notes": "你必须大量的阅读书籍才能完成魔法的学习,但这个你会享受这个过程。没有属性加成。2022年9月订阅者物品。",
|
||||
"eyewearArmoireComedyMaskNotes": "哦呼!这是一个为快乐心灵制作的古朴面具,让我们在舞台上表演,玩乐,表现出快乐和欢笑吧!增加<%= con %>点体质。魔法衣橱:剧院面具套装(1/2)。",
|
||||
"eyewearArmoireTragedyMaskText": "悲剧面具",
|
||||
"eyewearArmoireTragedyMaskNotes": "呜啊!为可怜的表演者戴上沉重的面具,在舞台上昂首阔步,痛苦,悲伤,表达出所有的难过吧。增加<%= int %>点智力。魔法衣橱:剧院面具套装(2/2)。",
|
||||
"shieldMystery202209Text": "山脉魔法书",
|
||||
"eyewearArmoireComedyMaskText": "喜剧面具"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
"welcomeToTavern": "欢迎来到酒馆!",
|
||||
"sleepDescription": "需要休息吗?来逛逛Daniel的客栈,当你遇到困难时,能暂停Habitica的游戏机制:",
|
||||
"sleepBullet1": "错过每日任务不会对你造成伤害",
|
||||
"sleepBullet2": "任务不会失去连击数",
|
||||
"sleepBullet3": "Boss不会因你错过每日任务而造成伤害",
|
||||
"sleepBullet2": "您的任务连胜和习惯计数器不会重置",
|
||||
"sleepBullet3": "在您退出客栈之前,您对副本boss的伤害和找到的手机项目将会一直保持等待状态",
|
||||
"sleepBullet4": "结算前这里会预测你对boss造成的伤害以及收集到的物品数量",
|
||||
"pauseDailies": "暂停伤害",
|
||||
"unpauseDailies": "解除暂停",
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ export const CHAT_FLAG_FROM_SHADOW_MUTE = 10;
|
|||
// @TODO use those constants to replace hard-coded numbers
|
||||
|
||||
export const SUPPORTED_SOCIAL_NETWORKS = [
|
||||
{ key: 'facebook', name: 'Facebook' },
|
||||
{ key: 'google', name: 'Google' },
|
||||
{ key: 'apple', name: 'Apple' },
|
||||
];
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ export default prefill({
|
|||
setPrice: 5, availableFrom: '2022-04-14T08:00-05:00', availableUntil: '2022-04-30T20:00-05:00', text: t('shimmerColors'),
|
||||
},
|
||||
hauntedHairColors: {
|
||||
setPrice: 5, availableFrom: '2021-09-28T08:00-04:00', availableUntil: '2021-10-31T20:00-04:00', text: t('hauntedColors'),
|
||||
setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('hauntedColors'),
|
||||
},
|
||||
winteryHairColors: {
|
||||
setPrice: 5, availableFrom: '2021-12-23T08:00-05:00', availableUntil: '2022-01-31T20:00-05:00', text: t('winteryColors'),
|
||||
|
|
@ -27,7 +27,7 @@ export default prefill({
|
|||
},
|
||||
spookySkins: { setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins') },
|
||||
supernaturalSkins: {
|
||||
setPrice: 5, availableFrom: '2021-09-28T08:00-04:00', availableUntil: '2021-10-31T20:00-04:00', text: t('supernaturalSkins'),
|
||||
setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('supernaturalSkins'),
|
||||
},
|
||||
splashySkins: {
|
||||
setPrice: 5, availableFrom: '2022-07-05T08:00-05:00', availableUntil: EVENTS.summer2022.end, text: t('splashySkins'),
|
||||
|
|
|
|||
|
|
@ -9,17 +9,28 @@ const gemsPromo = {
|
|||
};
|
||||
|
||||
export const EVENTS = {
|
||||
noCurrentEvent: {
|
||||
start: '2022-09-30T20:00-04:00',
|
||||
afterGala: {
|
||||
start: '2022-10-31T20:00-04:00',
|
||||
end: '2022-12-21T08:00-04:00',
|
||||
season: 'normal',
|
||||
npcImageSuffix: '',
|
||||
},
|
||||
fall2022: {
|
||||
start: '2022-09-20T08:00-04:00',
|
||||
end: '2022-10-31T20:00-04:00',
|
||||
npcImageSuffix: '_fall',
|
||||
season: 'fall',
|
||||
gear: true,
|
||||
},
|
||||
beforeGala: {
|
||||
start: '2022-07-31T20:00-04:00',
|
||||
end: '2022-09-20T08:00-04:00',
|
||||
season: 'normal',
|
||||
npcImageSuffix: '',
|
||||
},
|
||||
bundle202209: {
|
||||
start: '2022-09-13T08:00-04:00',
|
||||
end: '2022-09-30T20:00-04:00',
|
||||
season: 'normal',
|
||||
npcImageSuffix: '',
|
||||
},
|
||||
potions202208: {
|
||||
start: '2022-08-16T08:00-04:00',
|
||||
|
|
|
|||
|
|
@ -188,6 +188,11 @@ const SEASONAL_SETS = {
|
|||
'fall2021HeadlessWarriorSet',
|
||||
'fall2021BrainEaterMageSet',
|
||||
'fall2021FlameSummonerHealerSet',
|
||||
|
||||
'fall2022KappaRogueSet',
|
||||
'fall2022OrcWarriorSet',
|
||||
'fall2022HarpyMageSet',
|
||||
'fall2022WatcherHealerSet',
|
||||
],
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -702,15 +702,19 @@ const armor = {
|
|||
},
|
||||
fall2021Rogue: {
|
||||
set: 'fall2021OozeRogueSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Warrior: {
|
||||
set: 'fall2021HeadlessWarriorSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Mage: {
|
||||
set: 'fall2021BrainEaterMageSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Healer: {
|
||||
set: 'fall2021FlameSummonerHealerSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
winter2022Rogue: {
|
||||
set: 'winter2022FireworksRogueSet',
|
||||
|
|
@ -754,6 +758,18 @@ const armor = {
|
|||
summer2022Healer: {
|
||||
set: 'summer2022AngelfishHealerSet',
|
||||
},
|
||||
fall2022Rogue: {
|
||||
set: 'fall2022KappaRogueSet',
|
||||
},
|
||||
fall2022Warrior: {
|
||||
set: 'fall2022OrcWarriorSet',
|
||||
},
|
||||
fall2022Mage: {
|
||||
set: 'fall2022HarpyMageSet',
|
||||
},
|
||||
fall2022Healer: {
|
||||
set: 'fall2022WatcherHealerSet',
|
||||
},
|
||||
};
|
||||
|
||||
const armorStats = {
|
||||
|
|
@ -1792,15 +1808,19 @@ const head = {
|
|||
},
|
||||
fall2021Rogue: {
|
||||
set: 'fall2021OozeRogueSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Warrior: {
|
||||
set: 'fall2021HeadlessWarriorSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Mage: {
|
||||
set: 'fall2021BrainEaterMageSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Healer: {
|
||||
set: 'fall2021FlameSummonerHealerSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
winter2022Rogue: {
|
||||
set: 'winter2022FireworksRogueSet',
|
||||
|
|
@ -1844,6 +1864,18 @@ const head = {
|
|||
summer2022Healer: {
|
||||
set: 'summer2022AngelfishHealerSet',
|
||||
},
|
||||
fall2022Rogue: {
|
||||
set: 'fall2022KappaRogueSet',
|
||||
},
|
||||
fall2022Warrior: {
|
||||
set: 'fall2022OrcWarriorSet',
|
||||
},
|
||||
fall2022Mage: {
|
||||
set: 'fall2022HarpyMageSet',
|
||||
},
|
||||
fall2022Healer: {
|
||||
set: 'fall2022WatcherHealerSet',
|
||||
},
|
||||
};
|
||||
|
||||
const headStats = {
|
||||
|
|
@ -2592,12 +2624,15 @@ const shield = {
|
|||
},
|
||||
fall2021Rogue: {
|
||||
set: 'fall2021OozeRogueSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Warrior: {
|
||||
set: 'fall2021HeadlessWarriorSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Healer: {
|
||||
set: 'fall2021FlameSummonerHealerSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
winter2022Rogue: {
|
||||
set: 'winter2022FireworksRogueSet',
|
||||
|
|
@ -2626,6 +2661,15 @@ const shield = {
|
|||
summer2022Healer: {
|
||||
set: 'summer2022AngelfishHealerSet',
|
||||
},
|
||||
fall2022Rogue: {
|
||||
set: 'fall2022KappaRogueSet',
|
||||
},
|
||||
fall2022Warrior: {
|
||||
set: 'fall2022OrcWarriorSet',
|
||||
},
|
||||
fall2022Healer: {
|
||||
set: 'fall2022WatcherHealerSet',
|
||||
},
|
||||
};
|
||||
|
||||
const shieldStats = {
|
||||
|
|
@ -3288,15 +3332,19 @@ const weapon = {
|
|||
},
|
||||
fall2021Rogue: {
|
||||
set: 'fall2021OozeRogueSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Warrior: {
|
||||
set: 'fall2021HeadlessWarriorSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Mage: {
|
||||
set: 'fall2021BrainEaterMageSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
fall2021Healer: {
|
||||
set: 'fall2021FlameSummonerHealerSet',
|
||||
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'fall',
|
||||
},
|
||||
winter2022Rogue: {
|
||||
set: 'winter2022FireworksRogueSet',
|
||||
|
|
@ -3334,6 +3382,18 @@ const weapon = {
|
|||
summer2022Healer: {
|
||||
set: 'summer2022AngelfishHealerSet',
|
||||
},
|
||||
fall2022Rogue: {
|
||||
set: 'fall2022KappaRogueSet',
|
||||
},
|
||||
fall2022Warrior: {
|
||||
set: 'fall2022OrcWarriorSet',
|
||||
},
|
||||
fall2022Mage: {
|
||||
set: 'fall2022HarpyMageSet',
|
||||
},
|
||||
fall2022Healer: {
|
||||
set: 'fall2022WatcherHealerSet',
|
||||
},
|
||||
};
|
||||
|
||||
const weaponStats = {
|
||||
|
|
|
|||
|
|
@ -161,13 +161,13 @@ const premium = {
|
|||
value: 2,
|
||||
text: t('hatchingPotionGhost'),
|
||||
limited: true,
|
||||
event: EVENTS.fall2020,
|
||||
event: EVENTS.fall2022,
|
||||
canBuy () {
|
||||
return moment().isBefore('2020-11-02');
|
||||
return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end);
|
||||
},
|
||||
_addlNotes: t('eventAvailabilityReturning', {
|
||||
availableDate: t('dateEndOctober'),
|
||||
previousDate: t('septemberYYYY', { year: 2018 }),
|
||||
previousDate: t('novemberYYYY', { year: 2020 }),
|
||||
}),
|
||||
},
|
||||
Holly: {
|
||||
|
|
@ -337,13 +337,13 @@ const premium = {
|
|||
value: 2,
|
||||
text: t('hatchingPotionShadow'),
|
||||
limited: true,
|
||||
event: EVENTS.fall2020,
|
||||
event: EVENTS.fall2022,
|
||||
canBuy () {
|
||||
return moment().isBefore('2020-11-02');
|
||||
return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end);
|
||||
},
|
||||
_addlNotes: t('eventAvailabilityReturning', {
|
||||
availableDate: t('dateEndOctober'),
|
||||
previousDate: t('septemberYYYY', { year: 2019 }),
|
||||
previousDate: t('novemberYYYY', { year: 2020 }),
|
||||
}),
|
||||
},
|
||||
Amber: {
|
||||
|
|
@ -424,13 +424,13 @@ const premium = {
|
|||
value: 2,
|
||||
text: t('hatchingPotionVampire'),
|
||||
limited: true,
|
||||
event: EVENTS.fall2021,
|
||||
event: EVENTS.fall2022,
|
||||
_addlNotes: t('eventAvailabilityReturning', {
|
||||
availableDate: t('dateEndOctober'),
|
||||
previousDate: t('septemberYYYY', { year: 2020 }),
|
||||
previousDate: t('octoberYYYY', { year: 2021 }),
|
||||
}),
|
||||
canBuy () {
|
||||
return moment().isBefore(EVENTS.fall2021.end);
|
||||
return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end);
|
||||
},
|
||||
},
|
||||
AutumnLeaf: {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { EVENTS } from './constants';
|
|||
// path: 'premiumHatchingPotions.Rainbow',
|
||||
const featuredItems = {
|
||||
market () {
|
||||
if (moment().isBetween(EVENTS.potions202208.start, EVENTS.potions202208.end)) {
|
||||
if (moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end)) {
|
||||
return [
|
||||
{
|
||||
type: 'armoire',
|
||||
|
|
@ -13,15 +13,15 @@ const featuredItems = {
|
|||
},
|
||||
{
|
||||
type: 'premiumHatchingPotion',
|
||||
path: 'premiumHatchingPotions.Moonglow',
|
||||
path: 'premiumHatchingPotions.Vampire',
|
||||
},
|
||||
{
|
||||
type: 'premiumHatchingPotion',
|
||||
path: 'premiumHatchingPotions.Porcelain',
|
||||
path: 'premiumHatchingPotions.Ghost',
|
||||
},
|
||||
{
|
||||
type: 'food',
|
||||
path: 'food.Milk',
|
||||
type: 'premiumHatchingPotion',
|
||||
path: 'premiumHatchingPotions.Shadow',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -325,7 +325,7 @@ spells.special = {
|
|||
target: 'user',
|
||||
notes: t('spellSpecialSpookySparklesNotes'),
|
||||
canOwn () {
|
||||
return moment().isBetween('2021-10-12T08:00-04:00', EVENTS.fall2021.end);
|
||||
return moment().isBetween('2021-10-11T08:00-04:00', EVENTS.fall2022.end);
|
||||
},
|
||||
cast (user, target, req) {
|
||||
if (!user.items.special.spookySparkles) throw new NotAuthorized(t('spellNotOwned')(req.language));
|
||||
|
|
|
|||
|
|
@ -30,16 +30,15 @@ export default {
|
|||
|
||||
pinnedSets: SHOP_OPEN
|
||||
? {
|
||||
healer: 'summer2022AngelfishHealerSet',
|
||||
rogue: 'summer2022CrabRogueSet',
|
||||
warrior: 'summer2022WaterspoutWarriorSet',
|
||||
wizard: 'summer2022MantaRayMageSet',
|
||||
healer: 'fall2022WatcherHealerSet',
|
||||
rogue: 'fall2022KappaRogueSet',
|
||||
warrior: 'fall2022OrcWarriorSet',
|
||||
wizard: 'fall2022HarpyMageSet',
|
||||
}
|
||||
: {},
|
||||
|
||||
availableSpells: SHOP_OPEN && moment().isBetween('2022-07-12T08:00-05:00', CURRENT_EVENT.end)
|
||||
availableSpells: SHOP_OPEN && moment().isBetween('2022-10-04T08:00-05:00', CURRENT_EVENT.end)
|
||||
? [
|
||||
'seafoam',
|
||||
'spookySparkles',
|
||||
]
|
||||
: [],
|
||||
|
||||
|
|
@ -49,5 +48,5 @@ export default {
|
|||
]
|
||||
: [],
|
||||
|
||||
featuredSet: 'summer2021NautilusMageSet',
|
||||
featuredSet: 'fall2021BrainEaterMageSet',
|
||||
};
|
||||
|
|
|
|||
|
|
@ -161,13 +161,16 @@ async function registerLocal (req, res, { isV3 = false }) {
|
|||
};
|
||||
|
||||
if (existingUser) {
|
||||
const hasSocialAuth = common.constants.SUPPORTED_SOCIAL_NETWORKS.find(network => {
|
||||
const networks = common.constants.SUPPORTED_SOCIAL_NETWORKS;
|
||||
// need to insert FB here to allow users who only have FB auth to connect local auth.
|
||||
networks.push({ key: 'facebook', name: 'Facebook' });
|
||||
const hasSocialAuth = networks.find(network => {
|
||||
if (existingUser.auth.hasOwnProperty(network.key)) { // eslint-disable-line no-prototype-builtins, max-len
|
||||
return existingUser.auth[network.key].id;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
if (!hasSocialAuth) throw new NotAuthorized(res.t('onlySocialAttachLocal'));
|
||||
if (!hasSocialAuth && existingUser.auth.local.hashed_password) throw new NotAuthorized(res.t('onlySocialAttachLocal'));
|
||||
existingUser.auth.local = newUser.auth.local;
|
||||
newUser = existingUser;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -60,11 +60,6 @@ export async function loginSocial (req, res) { // eslint-disable-line import/pre
|
|||
[`auth.${network}.id`]: profile.id,
|
||||
}, { _id: 1, apiToken: 1, auth: 1 }).exec();
|
||||
|
||||
let email;
|
||||
if (profile.emails && profile.emails[0] && profile.emails[0].value) {
|
||||
email = profile.emails[0].value.toLowerCase();
|
||||
}
|
||||
|
||||
// User already signed up
|
||||
if (user) {
|
||||
if (existingUser) {
|
||||
|
|
@ -79,6 +74,11 @@ export async function loginSocial (req, res) { // eslint-disable-line import/pre
|
|||
return loginRes(user, req, res);
|
||||
}
|
||||
|
||||
let email;
|
||||
if (profile.emails && profile.emails[0] && profile.emails[0].value) {
|
||||
email = profile.emails[0].value.toLowerCase();
|
||||
}
|
||||
|
||||
if (!existingUser && email) {
|
||||
existingUser = await User.findOne({ 'auth.local.email': email }).exec();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import passport from 'passport';
|
||||
import nconf from 'nconf';
|
||||
import { Strategy as FacebookStrategy } from 'passport-facebook';
|
||||
import { Strategy as GoogleStrategy } from 'passport-google-oauth20';
|
||||
|
||||
// Passport session setup.
|
||||
|
|
@ -13,20 +12,6 @@ import { Strategy as GoogleStrategy } from 'passport-google-oauth20';
|
|||
passport.serializeUser((user, done) => done(null, user));
|
||||
passport.deserializeUser((obj, done) => done(null, obj));
|
||||
|
||||
// TODO remove?
|
||||
// This auth strategy is no longer used.
|
||||
// It's just kept around for auth.js#loginFacebook() (passport._strategies.facebook.userProfile)
|
||||
// The proper fix would be to move to a general OAuth module simply to verify accessTokens
|
||||
passport.use(new FacebookStrategy({
|
||||
clientID: nconf.get('FACEBOOK_KEY'),
|
||||
clientSecret: nconf.get('FACEBOOK_SECRET'),
|
||||
profileFields: ['id', 'email', 'displayName'],
|
||||
profileURL: 'https://graph.facebook.com/v2.8/me',
|
||||
authorizationURL: 'https://www.facebook.com/v2.8/dialog/oauth',
|
||||
tokenURL: 'https://graph.facebook.com/v2.8/oauth/access_token',
|
||||
// callbackURL: nconf.get("BASE_URL") + "/auth/facebook/callback"
|
||||
}, (accessToken, refreshToken, profile, done) => done(null, profile)));
|
||||
|
||||
passport.use(new GoogleStrategy({
|
||||
clientID: nconf.get('GOOGLE_CLIENT_ID'),
|
||||
clientSecret: nconf.get('GOOGLE_CLIENT_SECRET'),
|
||||
|
|
|
|||