diff --git a/config.json.example b/config.json.example index 3875097d6c..9872fad88f 100644 --- a/config.json.example +++ b/config.json.example @@ -86,5 +86,6 @@ "RATE_LIMITER_ENABLED": "false", "REDIS_HOST": "aaabbbcccdddeeefff", "REDIS_PORT": "1234", - "REDIS_PASSWORD": "12345678" + "REDIS_PASSWORD": "12345678", + "TRUSTED_DOMAINS": "https://localhost,https://habitica.com" } diff --git a/habitica-images b/habitica-images index e2108645aa..306496f9de 160000 --- a/habitica-images +++ b/habitica-images @@ -1 +1 @@ -Subproject commit e2108645aad014a416dcd4fcfe258655f79cab2b +Subproject commit 306496f9de18e68e81041764ec0cdc895a24a885 diff --git a/migrations/archive/2023/20230123_habit_birthday.js b/migrations/archive/2023/20230123_habit_birthday.js new file mode 100644 index 0000000000..618664e0b8 --- /dev/null +++ b/migrations/archive/2023/20230123_habit_birthday.js @@ -0,0 +1,88 @@ +/* eslint-disable no-console */ +import { v4 as uuid } from 'uuid'; +import { model as User } from '../../../website/server/models/user'; + +const MIGRATION_NAME = '20230123_habit_birthday'; +const progressCount = 1000; +let count = 0; + +async function updateUser (user) { + count += 1; + + const inc = { 'balance': 5 }; + const set = {}; + const push = {}; + + set.migration = MIGRATION_NAME; + + if (typeof user.items.gear.owned.armor_special_birthday2022 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2023'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday2021 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2022'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday2020 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2021'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday2019 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2020'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday2018 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2019'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday2017 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2018'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday2016 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2017'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday2015 !== 'undefined') { + set['items.gear.owned.armor_special_birthday2016'] = true; + } else if (typeof user.items.gear.owned.armor_special_birthday !== 'undefined') { + set['items.gear.owned.armor_special_birthday2015'] = true; + } else { + set['items.gear.owned.armor_special_birthday'] = true; + } + + push.notifications = { + type: 'ITEM_RECEIVED', + data: { + icon: 'notif_head_special_nye', + title: 'Birthday Bash Day 1!', + text: 'Enjoy your new Birthday Robe and 20 Gems on us!', + destination: 'equipment', + }, + seen: false, + }; + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return await User.update({_id: user._id}, {$inc: inc, $set: set, $push: push}).exec(); +} + +export default async function processUsers () { + let query = { + migration: {$ne: MIGRATION_NAME}, + 'auth.timestamps.loggedin': {$gt: new Date('2022-12-23')}, + }; + + const fields = { + _id: 1, + items: 1, + }; + + while (true) { // eslint-disable-line no-constant-condition + const users = await User // eslint-disable-line no-await-in-loop + .find(query) + .limit(250) + .sort({_id: 1}) + .select(fields) + .lean() + .exec(); + + if (users.length === 0) { + console.warn('All appropriate users found and modified.'); + console.warn(`\n${count} users processed\n`); + break; + } else { + query._id = { + $gt: users[users.length - 1], + }; + } + + await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop + } +}; diff --git a/migrations/archive/2023/20230127_habit_birthday_day5.js b/migrations/archive/2023/20230127_habit_birthday_day5.js new file mode 100644 index 0000000000..a6ad5f49fd --- /dev/null +++ b/migrations/archive/2023/20230127_habit_birthday_day5.js @@ -0,0 +1,69 @@ +/* eslint-disable no-console */ +import { v4 as uuid } from 'uuid'; +import { model as User } from '../../../website/server/models/user'; + +const MIGRATION_NAME = '20230127_habit_birthday_day5'; +const progressCount = 1000; +let count = 0; + +async function updateUser (user) { + count += 1; + + const set = {}; + const push = {}; + + set.migration = MIGRATION_NAME; + + set['items.gear.owned.back_special_anniversary'] = true; + set['items.gear.owned.body_special_anniversary'] = true; + set['items.gear.owned.eyewear_special_anniversary'] = true; + + push.notifications = { + type: 'ITEM_RECEIVED', + data: { + icon: 'notif_head_special_nye', + title: 'Birthday Bash Day 5!', + text: 'Come celebrate by wearing your new Habitica Hero Cape, Collar, and Mask!', + destination: 'equipment', + }, + seen: false, + }; + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return await User.update({_id: user._id}, {$set: set, $push: push}).exec(); +} + +export default async function processUsers () { + let query = { + migration: {$ne: MIGRATION_NAME}, + 'auth.timestamps.loggedin': {$gt: new Date('2022-12-23')}, + }; + + const fields = { + _id: 1, + items: 1, + }; + + while (true) { // eslint-disable-line no-constant-condition + const users = await User // eslint-disable-line no-await-in-loop + .find(query) + .limit(250) + .sort({_id: 1}) + .select(fields) + .lean() + .exec(); + + if (users.length === 0) { + console.warn('All appropriate users found and modified.'); + console.warn(`\n${count} users processed\n`); + break; + } else { + query._id = { + $gt: users[users.length - 1], + }; + } + + await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop + } +}; diff --git a/migrations/archive/2023/20230201_habit_birthday_day10.js b/migrations/archive/2023/20230201_habit_birthday_day10.js new file mode 100644 index 0000000000..9743c6b91f --- /dev/null +++ b/migrations/archive/2023/20230201_habit_birthday_day10.js @@ -0,0 +1,79 @@ +/* eslint-disable no-console */ +import { v4 as uuid } from 'uuid'; +import { model as User } from '../../../website/server/models/user'; + +const MIGRATION_NAME = '20230201_habit_birthday_day10'; +const progressCount = 1000; +let count = 0; + +async function updateUser (user) { + count += 1; + + const set = { + migration: MIGRATION_NAME, + 'purchased.background.birthday_bash': true, + }; + const push = { + notifications: { + type: 'ITEM_RECEIVED', + data: { + icon: 'notif_head_special_nye', + title: 'Birthday Bash Day 10!', + text: 'Join in for the end of our birthday celebrations with 10th Birthday background, Cake, and achievement!', + destination: 'backgrounds', + }, + seen: false, + }, + }; + const inc = { + 'items.food.Cake_Skeleton': 1, + 'items.food.Cake_Base': 1, + 'items.food.Cake_CottonCandyBlue': 1, + 'items.food.Cake_CottonCandyPink': 1, + 'items.food.Cake_Shade': 1, + 'items.food.Cake_White': 1, + 'items.food.Cake_Golden': 1, + 'items.food.Cake_Zombie': 1, + 'items.food.Cake_Desert': 1, + 'items.food.Cake_Red': 1, + 'achievements.habitBirthdays': 1, + }; + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return await User.update({_id: user._id}, {$set: set, $push: push, $inc: inc }).exec(); +} + +export default async function processUsers () { + let query = { + migration: {$ne: MIGRATION_NAME}, + 'auth.timestamps.loggedin': {$gt: new Date('2022-12-23')}, + }; + + const fields = { + _id: 1, + items: 1, + }; + + while (true) { // eslint-disable-line no-constant-condition + const users = await User // eslint-disable-line no-await-in-loop + .find(query) + .limit(250) + .sort({_id: 1}) + .select(fields) + .lean() + .exec(); + + if (users.length === 0) { + console.warn('All appropriate users found and modified.'); + console.warn(`\n${count} users processed\n`); + break; + } else { + query._id = { + $gt: users[users.length - 1], + }; + } + + await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop + } +}; diff --git a/migrations/archive/2023/20230522_pet_group_achievements.js b/migrations/archive/2023/20230522_pet_group_achievements.js new file mode 100644 index 0000000000..59c6fe7d1d --- /dev/null +++ b/migrations/archive/2023/20230522_pet_group_achievements.js @@ -0,0 +1,158 @@ +/* eslint-disable no-console */ +const MIGRATION_NAME = '20230522_pet_group_achievements'; +import { model as User } from '../../../website/server/models/user'; + +const progressCount = 1000; +let count = 0; + +async function updateUser (user) { + count++; + + const set = { + migration: MIGRATION_NAME, + }; + + if (user && user.items && user.items.pets) { + const pets = user.items.pets; + if (pets['Parrot-Base'] + && pets['Parrot-CottonCandyBlue'] + && pets['Parrot-CottonCandyPink'] + && pets['Parrot-Desert'] + && pets['Parrot-Golden'] + && pets['Parrot-Red'] + && pets['Parrot-Shade'] + && pets['Parrot-Skeleton'] + && pets['Parrot-White'] + && pets['Parrot-Zombie'] + && pets['Rooster-Base'] + && pets['Rooster-CottonCandyBlue'] + && pets['Rooster-CottonCandyPink'] + && pets['Rooster-Desert'] + && pets['Rooster-Golden'] + && pets['Rooster-Red'] + && pets['Rooster-Shade'] + && pets['Rooster-Skeleton'] + && pets['Rooster-White'] + && pets['Rooster-Zombie'] + && pets['Triceratops-Base'] + && pets['Triceratops-CottonCandyBlue'] + && pets['Triceratops-CottonCandyPink'] + && pets['Triceratops-Desert'] + && pets['Triceratops-Golden'] + && pets['Triceratops-Red'] + && pets['Triceratops-Shade'] + && pets['Triceratops-Skeleton'] + && pets['Triceratops-White'] + && pets['Triceratops-Zombie'] + && pets['TRex-Base'] + && pets['TRex-CottonCandyBlue'] + && pets['TRex-CottonCandyPink'] + && pets['TRex-Desert'] + && pets['TRex-Golden'] + && pets['TRex-Red'] + && pets['TRex-Shade'] + && pets['TRex-Skeleton'] + && pets['TRex-White'] + && pets['TRex-Zombie'] + && pets['Pterodactyl-Base'] + && pets['Pterodactyl-CottonCandyBlue'] + && pets['Pterodactyl-CottonCandyPink'] + && pets['Pterodactyl-Desert'] + && pets['Pterodactyl-Golden'] + && pets['Pterodactyl-Red'] + && pets['Pterodactyl-Shade'] + && pets['Pterodactyl-Skeleton'] + && pets['Pterodactyl-White'] + && pets['Pterodactyl-Zombie'] + && pets['Owl-Base'] + && pets['Owl-CottonCandyBlue'] + && pets['Owl-CottonCandyPink'] + && pets['Owl-Desert'] + && pets['Owl-Golden'] + && pets['Owl-Red'] + && pets['Owl-Shade'] + && pets['Owl-Skeleton'] + && pets['Owl-White'] + && pets['Owl-Zombie'] + && pets['Velociraptor-Base'] + && pets['Velociraptor-CottonCandyBlue'] + && pets['Velociraptor-CottonCandyPink'] + && pets['Velociraptor-Desert'] + && pets['Velociraptor-Golden'] + && pets['Velociraptor-Red'] + && pets['Velociraptor-Shade'] + && pets['Velociraptor-Skeleton'] + && pets['Velociraptor-White'] + && pets['Velociraptor-Zombie'] + && pets['Penguin-Base'] + && pets['Penguin-CottonCandyBlue'] + && pets['Penguin-CottonCandyPink'] + && pets['Penguin-Desert'] + && pets['Penguin-Golden'] + && pets['Penguin-Red'] + && pets['Penguin-Shade'] + && pets['Penguin-Skeleton'] + && pets['Penguin-White'] + && pets['Penguin-Zombie'] + && pets['Falcon-Base'] + && pets['Falcon-CottonCandyBlue'] + && pets['Falcon-CottonCandyPink'] + && pets['Falcon-Desert'] + && pets['Falcon-Golden'] + && pets['Falcon-Red'] + && pets['Falcon-Shade'] + && pets['Falcon-Skeleton'] + && pets['Falcon-White'] + && pets['Falcon-Zombie'] + && pets['Peacock-Base'] + && pets['Peacock-CottonCandyBlue'] + && pets['Peacock-CottonCandyPink'] + && pets['Peacock-Desert'] + && pets['Peacock-Golden'] + && pets['Peacock-Red'] + && pets['Peacock-Shade'] + && pets['Peacock-Skeleton'] + && pets['Peacock-White'] + && pets['Peacock-Zombie']) { + set['achievements.dinosaurDynasty'] = true; + } + } + + if (count % progressCount === 0) console.warn(`${count} ${user._id}`); + + return await User.update({ _id: user._id }, { $set: set }).exec(); +} + +export default async function processUsers () { + let query = { + // migration: { $ne: MIGRATION_NAME }, + 'auth.timestamps.loggedin': { $gt: new Date('2023-04-15') }, + }; + + const fields = { + _id: 1, + items: 1, + }; + + while (true) { // eslint-disable-line no-constant-condition + const users = await User // eslint-disable-line no-await-in-loop + .find(query) + .limit(250) + .sort({_id: 1}) + .select(fields) + .lean() + .exec(); + + if (users.length === 0) { + console.warn('All appropriate users found and modified.'); + console.warn(`\n${count} users processed\n`); + break; + } else { + query._id = { + $gt: users[users.length - 1]._id, + }; + } + + await Promise.all(users.map(updateUser)); // eslint-disable-line no-await-in-loop + } +}; diff --git a/migrations/users/pi-day.js b/migrations/users/pi-day.js index f4af8ff143..dd3f7d4f3f 100644 --- a/migrations/users/pi-day.js +++ b/migrations/users/pi-day.js @@ -3,7 +3,7 @@ import { v4 as uuid } from 'uuid'; import { model as User } from '../../website/server/models/user'; -const MIGRATION_NAME = '20220314_pi_day'; +const MIGRATION_NAME = '20230314_pi_day'; const progressCount = 1000; let count = 0; @@ -54,7 +54,7 @@ async function updateUser (user) { export default async function processUsers () { const query = { migration: { $ne: MIGRATION_NAME }, - 'auth.timestamps.loggedin': { $gt: new Date('2022-02-15') }, + 'auth.timestamps.loggedin': { $gt: new Date('2023-02-15') }, }; const fields = { diff --git a/package-lock.json b/package-lock.json index 956f081ed3..50c83a52ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "habitica", - "version": "4.255.0", + "version": "4.274.0", "lockfileVersion": 1, "requires": true, "dependencies": { "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "requires": { - "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" } }, @@ -22,107 +22,65 @@ } }, "@babel/compat-data": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.1.tgz", - "integrity": "sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==" }, "@babel/core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", - "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-module-transforms": "^7.20.2", - "@babel/helpers": "^7.20.5", - "@babel/parser": "^7.20.5", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5", + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", + "json5": "^2.2.2", "semver": "^6.3.0" }, "dependencies": { "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/generator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", - "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", - "requires": { - "@babel/types": "^7.20.5", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" + "@babel/highlight": "^7.22.5" } }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", - "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==" - }, - "@babel/traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", - "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.5", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.5", - "@babel/types": "^7.20.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, "@babel/types": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", - "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -141,146 +99,278 @@ } }, "@babel/generator": { - "version": "7.20.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.4.tgz", - "integrity": "sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", "requires": { - "@babel/types": "^7.20.2", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } } } }, "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" + }, + "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.5" }, "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } } } }, "@babel/helper-compilation-targets": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", - "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", "requires": { - "@babel/compat-data": "^7.20.0", - "@babel/helper-validator-option": "^7.18.6", + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "dependencies": { - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" }, - "caniuse-lite": { - "version": "1.0.30001431", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", - "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==" + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz", - "integrity": "sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", + "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "semver": "^6.3.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", + "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", + "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", "requires": { "@babel/helper-compilation-targets": "^7.17.7", "@babel/helper-plugin-utils": "^7.16.7", @@ -298,373 +388,132 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" }, "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.5" }, "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } } } }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, "@babel/helper-module-transforms": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", - "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.1", - "@babel/types": "^7.20.2" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "requires": { - "@babel/types": "^7.20.2" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "requires": { - "@babel/types": "^7.20.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - }, - "@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "dependencies": { - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helpers": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", - "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", - "requires": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "dependencies": { "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" } }, - "@babel/generator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", - "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "requires": { - "@babel/types": "^7.20.5", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" + "@babel/types": "^7.22.5" } }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", - "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" }, - "@babel/traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", - "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.5", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.5", - "@babel/types": "^7.20.5", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/types": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", - "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -677,6 +526,304 @@ } } }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "requires": { + "@babel/types": "^7.22.5" + }, + "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", + "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-wrap-function": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "requires": { + "@babel/types": "^7.22.5" + }, + "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", + "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@babel/helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, "@babel/highlight": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", @@ -700,162 +847,32 @@ } }, "@babel/parser": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.3.tgz", - "integrity": "sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz", - "integrity": "sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", - "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==" }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", @@ -907,11 +924,27 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-json-strings": { @@ -986,327 +1019,782 @@ "@babel/helper-plugin-utils": "^7.14.5" } }, - "@babel/plugin-transform-arrow-functions": { + "@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz", - "integrity": "sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", - "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.19.1", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", - "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", + "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", + "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "requires": { + "@babel/highlight": "^7.22.5" + } + }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", - "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", - "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "requires": { - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-simple-access": "^7.19.4" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "dependencies": { + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", - "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" }, "dependencies": { + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "to-fast-properties": "^2.0.0" + } } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", + "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-transform-parameters": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz", - "integrity": "sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.1" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", + "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1316,59 +1804,86 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.5", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", "semver": "^6.3.0" }, "dependencies": { + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + }, + "@babel/helper-validator-option": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" }, "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, @@ -1392,9 +1907,9 @@ } }, "@babel/register": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", - "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", + "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", "requires": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", @@ -1403,61 +1918,59 @@ "source-map-support": "^0.5.16" } }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, "@babel/runtime": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz", - "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "requires": { - "regenerator-runtime": "^0.13.10" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" - } + "regenerator-runtime": "^0.13.11" } }, "@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "dependencies": { "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" } }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, @@ -1474,52 +1987,97 @@ } }, "@babel/traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.1.tgz", - "integrity": "sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.1", - "@babel/types": "^7.20.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" } }, + "@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "requires": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, - "@babel/types": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.2.tgz", - "integrity": "sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==", + "@babel/parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + }, + "@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + } + }, + "@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, @@ -1572,15 +2130,135 @@ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" }, "@esbuild/android-arm": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.12.tgz", - "integrity": "sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==", + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", "optional": true }, "@esbuild/linux-loong64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.12.tgz", - "integrity": "sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==", + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", "optional": true }, "@google-cloud/common": { @@ -1648,12 +2326,13 @@ } }, "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, "@jridgewell/resolve-uri": { @@ -1915,6 +2594,42 @@ "ms": "2.1.2" } }, + "jsonwebtoken": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", + "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^5.6.0" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "node-forge": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz", @@ -1938,32 +2653,43 @@ "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" }, "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "requires": { "type-detect": "4.0.8" } }, "@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.1.0.tgz", + "integrity": "sha512-w1qd368vtrwttm1PRJWPW1QHlbmHrVDGs1eBH/jZvRPUFS4MNXV9Q33EQdjOdeAxZ7O8+3wM7zxztm2nfUSyKw==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0" + "@sinonjs/commons": "^3.0.0" } }, "@sinonjs/samsam": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-7.0.1.tgz", - "integrity": "sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", "dev": true, "requires": { "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", "type-detect": "^4.0.8" + }, + "dependencies": { + "@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + } } }, "@sinonjs/text-encoding": { @@ -2052,9 +2778,9 @@ } }, "@types/eslint": { - "version": "8.4.7", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.7.tgz", - "integrity": "sha512-ehM7cCt2RSFs42mb+lcmhFT9ouIlV92PuaeRGn8N8c98oMjG4Z5pJHA9b1QiCcuqnbPSHcyfiD3mlhqMaHsQIw==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.0.tgz", + "integrity": "sha512-35EhHNOXgxnUgh4XCJsGhE7zdlDhYDN/aMG6UbkByCFFNgQ7b3U+uVoqBpicFydR8JEfgdjCF7SJ7MiJfzuiTA==", "requires": { "@types/estree": "*", "@types/json-schema": "*" @@ -2192,6 +2918,11 @@ "@types/node": "*" } }, + "@types/triple-beam": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz", + "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==" + }, "@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", @@ -2541,9 +3272,9 @@ } }, "apidoc": { - "version": "0.53.1", - "resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.53.1.tgz", - "integrity": "sha512-ijiLtIVEzTMdF29B/QzkvR4weMatgcElMsYKP1asszrImWYwzlZ9x0ZMLTXZrCe7GVMtkGSwQdugdLTZMZ+lww==", + "version": "0.54.0", + "resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.54.0.tgz", + "integrity": "sha512-VCOdwkAaFK7bDLbiAiFKqX8SVlAnk7sQCXDARwshBQpVRqRGDNY993kAMPkWmSD1RCVBDMFIOgOfOR9mcISNZQ==", "requires": { "bootstrap": "3.4.1", "commander": "^8.3.0", @@ -2568,9 +3299,9 @@ }, "dependencies": { "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2734,13 +3465,13 @@ } }, "apple-auth": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/apple-auth/-/apple-auth-1.0.7.tgz", - "integrity": "sha512-vfJqy4KtT5KHflxBSemc0mkWuy2GU2wHWaZ6xVWUjPmiXkJcLj5jB3IeCbDLF4wN+ZStjOQXZWfGwccBjclVlA==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/apple-auth/-/apple-auth-1.0.9.tgz", + "integrity": "sha512-nm3h/sXpwA6kyBWa1l8Sl3c8nusIQMnUklBL8eTUDb++LpF2k2GZ66OaDj5lba7Arw9JpHfuzewBF92mh9lNPQ==", "requires": { "axios": "^0.21.1", "express": "^4.17.1", - "jsonwebtoken": "^8.5.1" + "jsonwebtoken": "^9.0.0" }, "dependencies": { "axios": { @@ -2750,6 +3481,44 @@ "requires": { "follow-redirects": "^1.14.0" } + }, + "jsonwebtoken": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", + "requires": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -3057,9 +3826,9 @@ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==" }, "axios": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", - "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz", + "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==", "dev": true, "requires": { "follow-redirects": "^1.15.0", @@ -3168,12 +3937,12 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", + "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", "requires": { "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", + "@babel/helper-define-polyfill-provider": "^0.4.0", "semver": "^6.1.1" }, "dependencies": { @@ -3185,20 +3954,20 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", + "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.4.0", + "core-js-compat": "^3.30.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", + "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.4.0" } }, "babel-runtime": { @@ -3827,12 +4596,12 @@ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" }, "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "requires": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -3840,11 +4609,16 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, "dependencies": { + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3881,6 +4655,17 @@ "requires": { "side-channel": "^1.0.4" } + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } } } }, @@ -3980,20 +4765,25 @@ "dev": true }, "browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "requires": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "dependencies": { "electron-to-chromium": { - "version": "1.4.192", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.192.tgz", - "integrity": "sha512-8nCXyIQY9An88NXAp+PuPy5h3/w5ZY7Iu2lag65Q0XREprcat5F8gKhoHsBUnQcFuCRnmevpR8yEBYRU3d2HDw==" + "version": "1.4.295", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz", + "integrity": "sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw==" + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" } } }, @@ -4151,9 +4941,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001367", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz", - "integrity": "sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw==" + "version": "1.0.30001451", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001451.tgz", + "integrity": "sha512-XY7UbUpGRatZzoRft//5xOa69/1iGJRBlrieH6QYrkKLIFn3m7OVEJ81dSrKoy2BnKsdbX5cLrOispZNYo9v2w==" }, "caseless": { "version": "0.12.0", @@ -4784,9 +5574,9 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" }, "cookies": { "version": "0.8.0", @@ -4832,38 +5622,11 @@ "dev": true }, "core-js-compat": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.0.tgz", - "integrity": "sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", "requires": { - "browserslist": "^4.21.4" - }, - "dependencies": { - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "caniuse-lite": { - "version": "1.0.30001431", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz", - "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==" - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - } + "browserslist": "^4.21.5" } }, "core-util-is": { @@ -5622,11 +6385,6 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, - "electron-to-chromium": { - "version": "1.4.254", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz", - "integrity": "sha512-Sh/7YsHqQYkA6ZHuHMy24e6TE4eX6KZVsZb9E/DvU1nQRIrH4BflO/4k+83tfdYvDl+MObvlqHPRICzEdC9c6Q==" - }, "emitter-listener": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", @@ -5664,9 +6422,9 @@ } }, "enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -5776,167 +6534,47 @@ } }, "esbuild": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.12.tgz", - "integrity": "sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==", + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", "requires": { - "@esbuild/android-arm": "0.15.12", - "@esbuild/linux-loong64": "0.15.12", - "esbuild-android-64": "0.15.12", - "esbuild-android-arm64": "0.15.12", - "esbuild-darwin-64": "0.15.12", - "esbuild-darwin-arm64": "0.15.12", - "esbuild-freebsd-64": "0.15.12", - "esbuild-freebsd-arm64": "0.15.12", - "esbuild-linux-32": "0.15.12", - "esbuild-linux-64": "0.15.12", - "esbuild-linux-arm": "0.15.12", - "esbuild-linux-arm64": "0.15.12", - "esbuild-linux-mips64le": "0.15.12", - "esbuild-linux-ppc64le": "0.15.12", - "esbuild-linux-riscv64": "0.15.12", - "esbuild-linux-s390x": "0.15.12", - "esbuild-netbsd-64": "0.15.12", - "esbuild-openbsd-64": "0.15.12", - "esbuild-sunos-64": "0.15.12", - "esbuild-windows-32": "0.15.12", - "esbuild-windows-64": "0.15.12", - "esbuild-windows-arm64": "0.15.12" + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" } }, - "esbuild-android-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.12.tgz", - "integrity": "sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==", - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.12.tgz", - "integrity": "sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==", - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.12.tgz", - "integrity": "sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==", - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.12.tgz", - "integrity": "sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==", - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.12.tgz", - "integrity": "sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==", - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.12.tgz", - "integrity": "sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==", - "optional": true - }, - "esbuild-linux-32": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.12.tgz", - "integrity": "sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==", - "optional": true - }, - "esbuild-linux-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.12.tgz", - "integrity": "sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==", - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.12.tgz", - "integrity": "sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==", - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.12.tgz", - "integrity": "sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==", - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.12.tgz", - "integrity": "sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==", - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.12.tgz", - "integrity": "sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==", - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.12.tgz", - "integrity": "sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==", - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.12.tgz", - "integrity": "sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==", - "optional": true - }, "esbuild-loader": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.20.0.tgz", - "integrity": "sha512-dr+j8O4w5RvqZ7I4PPB4EIyVTd679EBQnMm+JBB7av+vu05Zpje2IpK5N3ld1VWa+WxrInIbNFAg093+E1aRsA==", + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.21.0.tgz", + "integrity": "sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==", "requires": { - "esbuild": "^0.15.6", + "esbuild": "^0.16.17", "joycon": "^3.0.1", "json5": "^2.2.0", "loader-utils": "^2.0.0", "tapable": "^2.2.0", - "webpack-sources": "^2.2.0" + "webpack-sources": "^1.4.3" } }, - "esbuild-netbsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.12.tgz", - "integrity": "sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==", - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.12.tgz", - "integrity": "sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==", - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.12.tgz", - "integrity": "sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==", - "optional": true - }, - "esbuild-windows-32": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.12.tgz", - "integrity": "sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==", - "optional": true - }, - "esbuild-windows-64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.12.tgz", - "integrity": "sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==", - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.12.tgz", - "integrity": "sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==", - "optional": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -6904,12 +7542,6 @@ "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz", "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==" }, - "fast-xml-parser": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", - "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", - "optional": true - }, "fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -7223,9 +7855,9 @@ } }, "formidable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.1.tgz", - "integrity": "sha512-0EcS9wCFEzLvfiks7omJ+SiYJAiD+TzK4Pcw1UlUoGnhUxDcMKjt0P7x8wEb0u6OHu8Nb98WG3nxtlF5C7bvUQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", "requires": { "dezalgo": "^1.0.4", "hexoid": "^1.0.0", @@ -7234,9 +7866,9 @@ }, "dependencies": { "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", "requires": { "side-channel": "^1.0.4" } @@ -7634,9 +8266,9 @@ "dev": true }, "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7654,9 +8286,9 @@ } }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } @@ -9300,12 +9932,23 @@ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" }, "is-svg": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.1.tgz", - "integrity": "sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.4.0.tgz", + "integrity": "sha512-v+AgVwiK5DsGtT9ng+m4mClp6zDAmwrW8nZi6Gg15qzvBnRWWdfWA1TGaXyCDnWq5g5asofIgMVl3PjKxvk1ug==", "optional": true, "requires": { - "fast-xml-parser": "^3.19.0" + "fast-xml-parser": "^4.1.3" + }, + "dependencies": { + "fast-xml-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.4.tgz", + "integrity": "sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==", + "optional": true, + "requires": { + "strnum": "^1.0.5" + } + } } }, "is-symbol": { @@ -9609,9 +10252,9 @@ "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==" }, "jquery": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz", - "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==" + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", + "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==" }, "js-tokens": { "version": "4.0.0", @@ -9689,9 +10332,9 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonfile": { "version": "6.1.0", @@ -9703,20 +10346,14 @@ } }, "jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", "requires": { "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", + "lodash": "^4.17.21", "ms": "^2.1.1", - "semver": "^5.6.0" + "semver": "^7.3.8" }, "dependencies": { "jwa": { @@ -9737,6 +10374,14 @@ "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -10040,37 +10685,37 @@ "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "log-driver": { "version": "1.2.7", @@ -10100,11 +10745,12 @@ } }, "logform": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz", - "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz", + "integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==", "requires": { "@colors/colors": "1.5.0", + "@types/triple-beam": "^1.3.2", "fecha": "^4.2.0", "ms": "^2.1.1", "safe-stable-stringify": "^2.3.1", @@ -11301,36 +11947,25 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "nise": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.3.tgz", - "integrity": "sha512-U597iWTTBBYIV72986jyU382/MMZ70ApWcRmkoF1AZ75bpqOtI3Gugv/6+0jLgoDOabmcSwYBkSSAWIp1eA5cg==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", + "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", "dev": true, "requires": { "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^7.0.4", + "@sinonjs/fake-timers": "^10.0.2", "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", "path-to-regexp": "^1.7.0" }, "dependencies": { - "@sinonjs/fake-timers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", - "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "requires": { - "@sinonjs/commons": "^1.7.0" - }, - "dependencies": { - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - } + "type-detect": "4.0.8" } }, "isarray": { @@ -11412,11 +12047,6 @@ "request": ">=2.76.0 <3.0.0" } }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, "nodemon": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.4.tgz", @@ -12715,9 +13345,9 @@ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "requires": { "@babel/runtime": "^7.8.4" } @@ -12742,16 +13372,16 @@ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" }, "regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "requires": { + "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" } }, "registry-auth-token": { @@ -12770,11 +13400,6 @@ "rc": "^1.2.8" } }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" - }, "regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", @@ -13172,9 +13797,9 @@ } }, "safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==" + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" }, "safer-buffer": { "version": "2.1.2", @@ -13356,9 +13981,9 @@ } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "requires": { "randombytes": "^2.1.0" } @@ -13517,9 +14142,9 @@ } }, "simple-update-notifier": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.0.7.tgz", - "integrity": "sha512-BBKgR84BJQJm6WjWFMHgLVuo61FBDSj1z/xSFUIozqO6wO7ii0JxCqlIud7Enr/+LhlbNI0whErq96P2qHNWew==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", "requires": { "semver": "~7.0.0" }, @@ -13532,16 +14157,16 @@ } }, "sinon": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.1.tgz", - "integrity": "sha512-PZXKc08f/wcA/BMRGBze2Wmw50CWPiAH3E21EOi4B49vJ616vW4DQh4fQrqsYox2aNR/N3kCqLuB0PwwOucQrg==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.1.2.tgz", + "integrity": "sha512-uG1pU54Fis4EfYOPoEi13fmRHgZNg/u+3aReSEzHsN52Bpf+bMVfsBQS5MjouI+rTuG6UBIINlpuuO2Epr7SiA==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "10.0.2", - "@sinonjs/samsam": "^7.0.1", - "diff": "^5.0.0", - "nise": "^5.1.2", + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^10.1.0", + "@sinonjs/samsam": "^8.0.0", + "diff": "^5.1.0", + "nise": "^5.1.4", "supports-color": "^7.2.0" }, "dependencies": { @@ -14191,24 +14816,30 @@ } }, "stripe": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/stripe/-/stripe-11.4.0.tgz", - "integrity": "sha512-8feL70RhzN6i8rpUG5SC4ZN5KcPYCUfRYRk/yUcnHG8uLdS26AgKXAEozqddDGUUufRPKYuqs44kPg21/P5JRg==", + "version": "12.9.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-12.9.0.tgz", + "integrity": "sha512-stYtrWetRYUsEbsUVyJaPG9Sppt0ds2szBqXsuDG6KZPPuUmCccbpceLrhoOBwNl1RziEfNB7oG9wg1n2eW+EQ==", "requires": { "@types/node": ">=8.1.0", "qs": "^6.11.0" }, "dependencies": { "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "requires": { "side-channel": "^1.0.4" } } } }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "optional": true + }, "stubs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", @@ -14220,16 +14851,16 @@ "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==" }, "superagent": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.6.tgz", - "integrity": "sha512-HqSe6DSIh3hEn6cJvCkaM1BLi466f1LHi4yubR0tpewlMpk4RUFFy35bKz8SsPBwYfIIJy5eclp+3tCYAuX0bw==", + "version": "8.0.9", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz", + "integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==", "requires": { "component-emitter": "^1.3.0", - "cookiejar": "^2.1.3", + "cookiejar": "^2.1.4", "debug": "^4.3.4", "fast-safe-stringify": "^2.1.1", "form-data": "^4.0.0", - "formidable": "^2.1.1", + "formidable": "^2.1.2", "methods": "^1.1.2", "mime": "2.6.0", "qs": "^6.11.0", @@ -14245,17 +14876,17 @@ } }, "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", "requires": { "side-channel": "^1.0.4" } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "requires": { "lru-cache": "^6.0.0" } @@ -14505,9 +15136,9 @@ "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==" }, "terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", + "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", "requires": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -14516,9 +15147,9 @@ }, "dependencies": { "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, "commander": { "version": "2.20.3", @@ -14886,23 +15517,28 @@ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, "tsconfig-paths": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", - "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.1", - "minimist": "^1.2.0", + "minimist": "^1.2.6", "strip-bom": "^3.0.0" }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" } } }, @@ -15086,9 +15722,9 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" }, "unicode-property-aliases-ecmascript": { "version": "2.1.0", @@ -15210,9 +15846,9 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "update-browserslist-db": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", - "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -15414,9 +16050,9 @@ } }, "validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", + "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==" }, "value-or-function": { "version": "3.0.0", @@ -15682,9 +16318,9 @@ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "webpack": { - "version": "5.74.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", - "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", @@ -15713,9 +16349,9 @@ }, "dependencies": { "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, "eslint-scope": { "version": "5.1.1", @@ -15802,12 +16438,12 @@ } }, "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -15885,9 +16521,9 @@ "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" }, "winston": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.2.tgz", - "integrity": "sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.9.0.tgz", + "integrity": "sha512-jW51iW/X95BCW6MMtZWr2jKQBP4hV5bIDq9QrIjfDk6Q9QuxvTKEAlpUNAzP+HYHFFCeENhph16s0zEunu4uuQ==", "requires": { "@colors/colors": "1.5.0", "@dabh/diagnostics": "^2.0.2", @@ -16049,9 +16685,9 @@ } }, "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", + "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", "requires": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" diff --git a/package.json b/package.json index e880bffd80..2a27d16926 100644 --- a/package.json +++ b/package.json @@ -1,22 +1,22 @@ { "name": "habitica", "description": "A habit tracker app which treats your goals like a Role Playing Game.", - "version": "4.255.0", + "version": "4.274.0", "main": "./website/server/index.js", "dependencies": { - "@babel/core": "^7.20.5", - "@babel/preset-env": "^7.20.2", - "@babel/register": "^7.18.9", + "@babel/core": "^7.22.5", + "@babel/preset-env": "^7.22.5", + "@babel/register": "^7.22.5", "@google-cloud/trace-agent": "^7.1.2", "@parse/node-apn": "^5.1.3", "@slack/webhook": "^6.1.0", "accepts": "^1.3.8", "amazon-payments": "^0.2.9", "amplitude": "^6.0.0", - "apidoc": "^0.53.1", - "apple-auth": "^1.0.7", + "apidoc": "^0.54.0", + "apple-auth": "^1.0.9", "bcrypt": "^5.1.0", - "body-parser": "^1.20.1", + "body-parser": "^1.20.2", "bootstrap": "^4.6.0", "compression": "^1.7.4", "cookie-session": "^2.0.0", @@ -30,7 +30,7 @@ "express": "^4.18.2", "express-basic-auth": "^1.2.1", "express-validator": "^5.2.0", - "glob": "^8.0.3", + "glob": "^8.1.0", "got": "^11.8.3", "gulp": "^4.0.0", "gulp-babel": "^8.0.0", @@ -42,7 +42,7 @@ "image-size": "^1.0.2", "in-app-purchase": "^1.11.3", "js2xmlparser": "^5.0.0", - "jsonwebtoken": "^8.5.1", + "jsonwebtoken": "^9.0.0", "jwks-rsa": "^2.1.5", "lodash": "^4.17.21", "merge-stream": "^2.0.0", @@ -67,16 +67,16 @@ "remove-markdown": "^0.5.0", "rimraf": "^3.0.2", "short-uuid": "^4.2.2", - "stripe": "^11.4.0", - "superagent": "^8.0.6", + "stripe": "^12.9.0", + "superagent": "^8.0.9", "universal-analytics": "^0.5.3", "useragent": "^2.1.9", "uuid": "^9.0.0", - "validator": "^13.7.0", + "validator": "^13.9.0", "vinyl-buffer": "^1.0.1", - "winston": "^3.8.2", + "winston": "^3.9.0", "winston-loggly-bulk": "^3.2.1", - "xml2js": "^0.4.23" + "xml2js": "^0.6.0" }, "private": true, "engines": { @@ -110,7 +110,7 @@ "apidoc": "gulp apidoc" }, "devDependencies": { - "axios": "^1.2.1", + "axios": "^1.3.6", "chai": "^4.3.7", "chai-as-promised": "^7.1.1", "chai-moment": "^0.1.0", @@ -122,7 +122,7 @@ "monk": "^7.3.4", "require-again": "^2.0.0", "run-rs": "^0.7.7", - "sinon": "^15.0.1", + "sinon": "^15.1.2", "sinon-chai": "^3.7.0", "sinon-stub-promise": "^4.0.0" }, diff --git a/test/api/unit/libs/cron.test.js b/test/api/unit/libs/cron.test.js index eb15119ee1..6757228033 100644 --- a/test/api/unit/libs/cron.test.js +++ b/test/api/unit/libs/cron.test.js @@ -231,13 +231,16 @@ describe('cron', async () => { }, }); // user1 has a 1-month recurring subscription starting today - user1.purchased.plan.customerId = 'subscribedId'; - user1.purchased.plan.dateUpdated = moment().toDate(); - user1.purchased.plan.planId = 'basic'; - user1.purchased.plan.consecutive.count = 0; - user1.purchased.plan.consecutive.offset = 0; - user1.purchased.plan.consecutive.trinkets = 0; - user1.purchased.plan.consecutive.gemCapExtra = 0; + beforeEach(async () => { + user1.purchased.plan.customerId = 'subscribedId'; + user1.purchased.plan.dateUpdated = moment().toDate(); + user1.purchased.plan.planId = 'basic'; + user1.purchased.plan.consecutive.count = 0; + user1.purchased.plan.perkMonthCount = 0; + user1.purchased.plan.consecutive.offset = 0; + user1.purchased.plan.consecutive.trinkets = 0; + user1.purchased.plan.consecutive.gemCapExtra = 0; + }); it('does not increment consecutive benefits after the first month', async () => { clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months') @@ -271,6 +274,24 @@ describe('cron', async () => { expect(user1.purchased.plan.consecutive.gemCapExtra).to.equal(0); }); + it('increments consecutive benefits after the second month if they also received a 1 month gift subscription', async () => { + user1.purchased.plan.perkMonthCount = 1; + clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(2, 'months') + .add(2, 'days') + .toDate()); + // Add 1 month to simulate what happens a month after the subscription was created. + // Add 2 days so that we're sure we're not affected by any start-of-month effects + // e.g., from time zone oddness. + await cron({ + user: user1, tasksByType, daysMissed, analytics, + }); + expect(user1.purchased.plan.perkMonthCount).to.equal(0); + expect(user1.purchased.plan.consecutive.count).to.equal(2); + expect(user1.purchased.plan.consecutive.offset).to.equal(0); + expect(user1.purchased.plan.consecutive.trinkets).to.equal(1); + expect(user1.purchased.plan.consecutive.gemCapExtra).to.equal(5); + }); + it('increments consecutive benefits after the third month', async () => { clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(3, 'months') .add(2, 'days') @@ -315,6 +336,30 @@ describe('cron', async () => { expect(user1.purchased.plan.consecutive.trinkets).to.equal(3); expect(user1.purchased.plan.consecutive.gemCapExtra).to.equal(15); }); + + it('initializes plan.perkMonthCount if necessary', async () => { + user.purchased.plan.perkMonthCount = undefined; + clock = sinon.useFakeTimers(moment(user.purchased.plan.dateUpdated) + .utcOffset(0) + .startOf('month') + .add(1, 'months') + .add(2, 'days') + .toDate()); + await cron({ + user, tasksByType, daysMissed, analytics, + }); + expect(user.purchased.plan.perkMonthCount).to.equal(1); + user.purchased.plan.perkMonthCount = undefined; + user.purchased.plan.consecutive.count = 8; + clock.restore(); + clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(2, 'months') + .add(2, 'days') + .toDate()); + await cron({ + user, tasksByType, daysMissed, analytics, + }); + expect(user.purchased.plan.perkMonthCount).to.equal(2); + }); }); describe('for a 3-month recurring subscription', async () => { @@ -330,13 +375,16 @@ describe('cron', async () => { }, }); // user3 has a 3-month recurring subscription starting today - user3.purchased.plan.customerId = 'subscribedId'; - user3.purchased.plan.dateUpdated = moment().toDate(); - user3.purchased.plan.planId = 'basic_3mo'; - user3.purchased.plan.consecutive.count = 0; - user3.purchased.plan.consecutive.offset = 3; - user3.purchased.plan.consecutive.trinkets = 1; - user3.purchased.plan.consecutive.gemCapExtra = 5; + beforeEach(async () => { + user3.purchased.plan.customerId = 'subscribedId'; + user3.purchased.plan.dateUpdated = moment().toDate(); + user3.purchased.plan.planId = 'basic_3mo'; + user3.purchased.plan.perkMonthCount = 0; + user3.purchased.plan.consecutive.count = 0; + user3.purchased.plan.consecutive.offset = 3; + user3.purchased.plan.consecutive.trinkets = 1; + user3.purchased.plan.consecutive.gemCapExtra = 5; + }); it('does not increment consecutive benefits in the first month of the first paid period that they already have benefits for', async () => { clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months') @@ -390,6 +438,21 @@ describe('cron', async () => { expect(user3.purchased.plan.consecutive.gemCapExtra).to.equal(10); }); + it('keeps existing plan.perkMonthCount intact when incrementing consecutive benefits', async () => { + user3.purchased.plan.perkMonthCount = 2; + user3.purchased.plan.consecutive.trinkets = 1; + user3.purchased.plan.consecutive.gemCapExtra = 5; + clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(4, 'months') + .add(2, 'days') + .toDate()); + await cron({ + user: user3, tasksByType, daysMissed, analytics, + }); + expect(user3.purchased.plan.perkMonthCount).to.equal(2); + expect(user3.purchased.plan.consecutive.trinkets).to.equal(2); + expect(user3.purchased.plan.consecutive.gemCapExtra).to.equal(10); + }); + it('does not increment consecutive benefits in the second month of the second period that they already have benefits for', async () => { clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(5, 'months') .add(2, 'days') @@ -456,13 +519,16 @@ describe('cron', async () => { }, }); // user6 has a 6-month recurring subscription starting today - user6.purchased.plan.customerId = 'subscribedId'; - user6.purchased.plan.dateUpdated = moment().toDate(); - user6.purchased.plan.planId = 'google_6mo'; - user6.purchased.plan.consecutive.count = 0; - user6.purchased.plan.consecutive.offset = 6; - user6.purchased.plan.consecutive.trinkets = 2; - user6.purchased.plan.consecutive.gemCapExtra = 10; + beforeEach(async () => { + user6.purchased.plan.customerId = 'subscribedId'; + user6.purchased.plan.dateUpdated = moment().toDate(); + user6.purchased.plan.planId = 'google_6mo'; + user6.purchased.plan.perkMonthCount = 0; + user6.purchased.plan.consecutive.count = 0; + user6.purchased.plan.consecutive.offset = 6; + user6.purchased.plan.consecutive.trinkets = 2; + user6.purchased.plan.consecutive.gemCapExtra = 10; + }); it('does not increment consecutive benefits in the first month of the first paid period that they already have benefits for', async () => { clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(1, 'months') @@ -503,6 +569,19 @@ describe('cron', async () => { expect(user6.purchased.plan.consecutive.gemCapExtra).to.equal(20); }); + it('keeps existing plan.perkMonthCount intact when incrementing consecutive benefits', async () => { + user6.purchased.plan.perkMonthCount = 2; + clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(7, 'months') + .add(2, 'days') + .toDate()); + await cron({ + user: user6, tasksByType, daysMissed, analytics, + }); + expect(user6.purchased.plan.perkMonthCount).to.equal(2); + expect(user6.purchased.plan.consecutive.trinkets).to.equal(4); + expect(user6.purchased.plan.consecutive.gemCapExtra).to.equal(20); + }); + it('increments consecutive benefits the month after the third paid period has started', async () => { clock = sinon.useFakeTimers(moment().utcOffset(0).startOf('month').add(13, 'months') .add(2, 'days') diff --git a/test/api/unit/libs/payments/amazon/checkout.test.js b/test/api/unit/libs/payments/amazon/checkout.test.js index 02402b14a9..12013e26a1 100644 --- a/test/api/unit/libs/payments/amazon/checkout.test.js +++ b/test/api/unit/libs/payments/amazon/checkout.test.js @@ -17,7 +17,7 @@ describe('Amazon Payments - Checkout', () => { let closeOrderReferenceSpy; let paymentBuyGemsStub; - let paymentCreateSubscritionStub; + let paymentCreateSubscriptionStub; let amount = gemsBlock.price / 100; function expectOrderReferenceSpy () { @@ -85,8 +85,8 @@ describe('Amazon Payments - Checkout', () => { paymentBuyGemsStub = sinon.stub(payments, 'buyGems'); paymentBuyGemsStub.resolves({}); - paymentCreateSubscritionStub = sinon.stub(payments, 'createSubscription'); - paymentCreateSubscritionStub.resolves({}); + paymentCreateSubscriptionStub = sinon.stub(payments, 'createSubscription'); + paymentCreateSubscriptionStub.resolves({}); sinon.stub(common, 'uuid').returns('uuid-generated'); sandbox.stub(gems, 'validateGiftMessage'); @@ -109,6 +109,7 @@ describe('Amazon Payments - Checkout', () => { user, paymentMethod, headers, + sku: undefined, }; if (gift) { expectedArgs.gift = gift; @@ -215,13 +216,14 @@ describe('Amazon Payments - Checkout', () => { }); gift.member = receivingUser; - expect(paymentCreateSubscritionStub).to.be.calledOnce; - expect(paymentCreateSubscritionStub).to.be.calledWith({ + expect(paymentCreateSubscriptionStub).to.be.calledOnce; + expect(paymentCreateSubscriptionStub).to.be.calledWith({ user, paymentMethod: amzLib.constants.PAYMENT_METHOD_GIFT, headers, gift, gemsBlock: undefined, + sku: undefined, }); expectAmazonStubs(); }); diff --git a/test/api/unit/libs/payments/apple.test.js b/test/api/unit/libs/payments/apple.test.js index 1aefe2cb51..2f01fef793 100644 --- a/test/api/unit/libs/payments/apple.test.js +++ b/test/api/unit/libs/payments/apple.test.js @@ -12,10 +12,10 @@ const { i18n } = common; describe('Apple Payments', () => { const subKey = 'basic_3mo'; - describe('verifyGemPurchase', () => { + describe('verifyPurchase', () => { let sku; let user; let token; let receipt; let headers; - let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let paymentBuyGemsStub; let + let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let paymentBuySkuStub; let iapGetPurchaseDataStub; let validateGiftMessageStub; beforeEach(() => { @@ -29,14 +29,15 @@ describe('Apple Payments', () => { .resolves(); iapValidateStub = sinon.stub(iap, 'validate') .resolves({}); - iapIsValidatedStub = sinon.stub(iap, 'isValidated') - .returns(true); + iapIsValidatedStub = sinon.stub(iap, 'isValidated').returns(true); + sinon.stub(iap, 'isExpired').returns(false); + sinon.stub(iap, 'isCanceled').returns(false); iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') .returns([{ productId: 'com.habitrpg.ios.Habitica.21gems', transactionId: token, }]); - paymentBuyGemsStub = sinon.stub(payments, 'buyGems').resolves({}); + paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({}); validateGiftMessageStub = sinon.stub(gems, 'validateGiftMessage'); }); @@ -44,8 +45,10 @@ describe('Apple Payments', () => { iap.setup.restore(); iap.validate.restore(); iap.isValidated.restore(); + iap.isExpired.restore(); + iap.isCanceled.restore(); iap.getPurchaseData.restore(); - payments.buyGems.restore(); + payments.buySkuItem.restore(); gems.validateGiftMessage.restore(); }); @@ -54,7 +57,7 @@ describe('Apple Payments', () => { iapIsValidatedStub = sinon.stub(iap, 'isValidated') .returns(false); - await expect(applePayments.verifyGemPurchase({ user, receipt, headers })) + await expect(applePayments.verifyPurchase({ user, receipt, headers })) .to.eventually.be.rejected.and.to.eql({ httpCode: 401, name: 'NotAuthorized', @@ -66,7 +69,7 @@ describe('Apple Payments', () => { iapGetPurchaseDataStub.restore(); iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData').returns([]); - await expect(applePayments.verifyGemPurchase({ user, receipt, headers })) + await expect(applePayments.verifyPurchase({ user, receipt, headers })) .to.eventually.be.rejected.and.to.eql({ httpCode: 401, name: 'NotAuthorized', @@ -76,7 +79,7 @@ describe('Apple Payments', () => { it('errors if the user cannot purchase gems', async () => { sinon.stub(user, 'canGetGems').resolves(false); - await expect(applePayments.verifyGemPurchase({ user, receipt, headers })) + await expect(applePayments.verifyPurchase({ user, receipt, headers })) .to.eventually.be.rejected.and.to.eql({ httpCode: 401, name: 'NotAuthorized', @@ -94,14 +97,16 @@ describe('Apple Payments', () => { productId: 'badProduct', transactionId: token, }]); + paymentBuySkuStub.restore(); - await expect(applePayments.verifyGemPurchase({ user, receipt, headers })) + await expect(applePayments.verifyPurchase({ user, receipt, headers })) .to.eventually.be.rejected.and.to.eql({ - httpCode: 401, - name: 'NotAuthorized', + httpCode: 400, + name: 'BadRequest', message: applePayments.constants.RESPONSE_INVALID_ITEM, }); + paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({}); user.canGetGems.restore(); }); @@ -138,7 +143,7 @@ describe('Apple Payments', () => { }]); sinon.stub(user, 'canGetGems').resolves(true); - await applePayments.verifyGemPurchase({ user, receipt, headers }); + await applePayments.verifyPurchase({ user, receipt, headers }); expect(iapSetupStub).to.be.calledOnce; expect(iapValidateStub).to.be.calledOnce; @@ -148,13 +153,13 @@ describe('Apple Payments', () => { expect(iapGetPurchaseDataStub).to.be.calledOnce; expect(validateGiftMessageStub).to.not.be.called; - expect(paymentBuyGemsStub).to.be.calledOnce; - expect(paymentBuyGemsStub).to.be.calledWith({ + expect(paymentBuySkuStub).to.be.calledOnce; + expect(paymentBuySkuStub).to.be.calledWith({ user, - paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, - gemsBlock: common.content.gems[gemTest.gemsBlock], - headers, gift: undefined, + paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, + sku: gemTest.productId, + headers, }); expect(user.canGetGems).to.be.calledOnce; user.canGetGems.restore(); @@ -173,7 +178,7 @@ describe('Apple Payments', () => { }]); const gift = { uuid: receivingUser._id }; - await applePayments.verifyGemPurchase({ + await applePayments.verifyPurchase({ user, gift, receipt, headers, }); @@ -187,18 +192,16 @@ describe('Apple Payments', () => { expect(validateGiftMessageStub).to.be.calledOnce; expect(validateGiftMessageStub).to.be.calledWith(gift, user); - expect(paymentBuyGemsStub).to.be.calledOnce; - expect(paymentBuyGemsStub).to.be.calledWith({ + expect(paymentBuySkuStub).to.be.calledOnce; + expect(paymentBuySkuStub).to.be.calledWith({ user, - paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, - headers, gift: { - type: 'gems', - gems: { amount: 4 }, - member: sinon.match({ _id: receivingUser._id }), uuid: receivingUser._id, + member: sinon.match({ _id: receivingUser._id }), }, - gemsBlock: common.content.gems['4gems'], + paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, + sku: 'com.habitrpg.ios.Habitica.4gems', + headers, }); }); }); @@ -218,6 +221,7 @@ describe('Apple Payments', () => { headers = {}; receipt = `{"token": "${token}"}`; nextPaymentProcessing = moment.utc().add({ days: 2 }); + user = new User(); iapSetupStub = sinon.stub(iap, 'setup') .resolves(); @@ -228,14 +232,17 @@ describe('Apple Payments', () => { iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') .returns([{ expirationDate: moment.utc().subtract({ day: 1 }).toDate(), + purchaseDate: moment.utc().valueOf(), productId: sku, transactionId: token, }, { expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().valueOf(), productId: 'wrongsku', transactionId: token, }, { expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().valueOf(), productId: sku, transactionId: token, }]); @@ -250,21 +257,12 @@ describe('Apple Payments', () => { if (payments.createSubscription.restore) payments.createSubscription.restore(); }); - it('should throw an error if sku is empty', async () => { - await expect(applePayments.subscribe('', user, receipt, headers, nextPaymentProcessing)) - .to.eventually.be.rejected.and.to.eql({ - httpCode: 400, - name: 'BadRequest', - message: i18n.t('missingSubscriptionCode'), - }); - }); - it('should throw an error if receipt is invalid', async () => { iap.isValidated.restore(); iapIsValidatedStub = sinon.stub(iap, 'isValidated') .returns(false); - await expect(applePayments.subscribe(sku, user, receipt, headers, nextPaymentProcessing)) + await expect(applePayments.subscribe(user, receipt, headers, nextPaymentProcessing)) .to.eventually.be.rejected.and.to.eql({ httpCode: 401, name: 'NotAuthorized', @@ -295,13 +293,15 @@ describe('Apple Payments', () => { iap.getPurchaseData.restore(); iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') .returns([{ - expirationDate: moment.utc().add({ day: 1 }).toDate(), + expirationDate: moment.utc().add({ day: 2 }).toDate(), + purchaseDate: new Date(), productId: option.sku, transactionId: token, + originalTransactionId: token, }]); sub = common.content.subscriptionBlocks[option.subKey]; - await applePayments.subscribe(option.sku, user, receipt, headers, nextPaymentProcessing); + await applePayments.subscribe(user, receipt, headers, nextPaymentProcessing); expect(iapSetupStub).to.be.calledOnce; expect(iapValidateStub).to.be.calledOnce; @@ -321,21 +321,253 @@ describe('Apple Payments', () => { nextPaymentProcessing, }); }); + if (option !== subOptions[3]) { + const newOption = subOptions[3]; + it(`upgrades a subscription from ${option.sku} to ${newOption.sku}`, async () => { + const oldSub = common.content.subscriptionBlocks[option.subKey]; + oldSub.logic = 'refundAndRepay'; + user.profile.name = 'sender'; + user.purchased.plan.paymentMethod = applePayments.constants.PAYMENT_METHOD_APPLE; + user.purchased.plan.customerId = token; + user.purchased.plan.planId = option.subKey; + user.purchased.plan.additionalData = receipt; + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 2 }).toDate(), + purchaseDate: moment.utc().valueOf(), + productId: newOption.sku, + transactionId: `${token}new`, + originalTransactionId: token, + }]); + sub = common.content.subscriptionBlocks[newOption.subKey]; + + await applePayments.subscribe(user, + receipt, + headers, + nextPaymentProcessing); + + expect(iapSetupStub).to.be.calledOnce; + expect(iapValidateStub).to.be.calledOnce; + expect(iapValidateStub).to.be.calledWith(iap.APPLE, receipt); + expect(iapIsValidatedStub).to.be.calledOnce; + expect(iapIsValidatedStub).to.be.calledWith({}); + expect(iapGetPurchaseDataStub).to.be.calledOnce; + + expect(paymentsCreateSubscritionStub).to.be.calledOnce; + expect(paymentsCreateSubscritionStub).to.be.calledWith({ + user, + customerId: token, + paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, + sub, + headers, + additionalData: receipt, + nextPaymentProcessing, + updatedFrom: oldSub, + }); + }); + } + if (option !== subOptions[0]) { + const newOption = subOptions[0]; + it(`downgrades a subscription from ${option.sku} to ${newOption.sku}`, async () => { + const oldSub = common.content.subscriptionBlocks[option.subKey]; + user.profile.name = 'sender'; + user.purchased.plan.paymentMethod = applePayments.constants.PAYMENT_METHOD_APPLE; + user.purchased.plan.customerId = token; + user.purchased.plan.planId = option.subKey; + user.purchased.plan.additionalData = receipt; + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 2 }).toDate(), + purchaseDate: moment.utc().valueOf(), + productId: newOption.sku, + transactionId: `${token}new`, + originalTransactionId: token, + }]); + sub = common.content.subscriptionBlocks[newOption.subKey]; + + await applePayments.subscribe(user, + receipt, + headers, + nextPaymentProcessing); + + expect(iapSetupStub).to.be.calledOnce; + expect(iapValidateStub).to.be.calledOnce; + expect(iapValidateStub).to.be.calledWith(iap.APPLE, receipt); + expect(iapIsValidatedStub).to.be.calledOnce; + expect(iapIsValidatedStub).to.be.calledWith({}); + expect(iapGetPurchaseDataStub).to.be.calledOnce; + + expect(paymentsCreateSubscritionStub).to.be.calledOnce; + expect(paymentsCreateSubscritionStub).to.be.calledWith({ + user, + customerId: token, + paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, + sub, + headers, + additionalData: receipt, + nextPaymentProcessing, + updatedFrom: oldSub, + }); + }); + } }); - it('errors when a user is already subscribed', async () => { - payments.createSubscription.restore(); - user = new User(); - await user.save(); + it('uses the most recent subscription data', async () => { + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 4 }).toDate(), + purchaseDate: moment.utc().subtract({ day: 5 }).toDate(), + productId: 'com.habitrpg.ios.habitica.subscription.3month', + transactionId: `${token}oldest`, + originalTransactionId: `${token}evenOlder`, + }, { + expirationDate: moment.utc().add({ day: 2 }).toDate(), + purchaseDate: moment.utc().subtract({ day: 1 }).toDate(), + productId: 'com.habitrpg.ios.habitica.subscription.12month', + transactionId: `${token}newest`, + originalTransactionId: `${token}newest`, + }, { + expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().subtract({ day: 2 }).toDate(), + productId: 'com.habitrpg.ios.habitica.subscription.6month', + transactionId: token, + originalTransactionId: token, + }]); + sub = common.content.subscriptionBlocks.basic_12mo; - await applePayments.subscribe(sku, user, receipt, headers, nextPaymentProcessing); + await applePayments.subscribe(user, receipt, headers, nextPaymentProcessing); - await expect(applePayments.subscribe(sku, user, receipt, headers, nextPaymentProcessing)) - .to.eventually.be.rejected.and.to.eql({ - httpCode: 401, - name: 'NotAuthorized', - message: applePayments.constants.RESPONSE_ALREADY_USED, - }); + expect(paymentsCreateSubscritionStub).to.be.calledOnce; + expect(paymentsCreateSubscritionStub).to.be.calledWith({ + user, + customerId: `${token}newest`, + paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, + sub, + headers, + additionalData: receipt, + nextPaymentProcessing, + }); + }); + + describe('does not apply multiple times', async () => { + it('errors when a user is using the same subscription', async () => { + payments.createSubscription.restore(); + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().toDate(), + productId: sku, + transactionId: token, + originalTransactionId: token, + }]); + + await applePayments.subscribe(user, receipt, headers, nextPaymentProcessing); + + await expect(applePayments.subscribe(user, receipt, headers, nextPaymentProcessing)) + .to.eventually.be.rejected.and.to.eql({ + httpCode: 401, + name: 'NotAuthorized', + message: applePayments.constants.RESPONSE_ALREADY_USED, + }); + }); + + it('errors when a user is using a rebill of the same subscription', async () => { + user = new User(); + await user.save(); + payments.createSubscription.restore(); + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().toDate(), + productId: sku, + transactionId: `${token}renew`, + originalTransactionId: token, + }]); + + await applePayments.subscribe(user, receipt, headers, nextPaymentProcessing); + + await expect(applePayments.subscribe(user, receipt, headers, nextPaymentProcessing)) + .to.eventually.be.rejected.and.to.eql({ + httpCode: 401, + name: 'NotAuthorized', + message: applePayments.constants.RESPONSE_ALREADY_USED, + }); + }); + + it('errors when a different user is using the subscription', async () => { + user = new User(); + await user.save(); + payments.createSubscription.restore(); + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().toDate(), + productId: sku, + transactionId: token, + originalTransactionId: token, + }]); + + await applePayments.subscribe(user, receipt, headers, nextPaymentProcessing); + + const secondUser = new User(); + await secondUser.save(); + await expect(applePayments.subscribe( + secondUser, receipt, headers, nextPaymentProcessing, + )) + .to.eventually.be.rejected.and.to.eql({ + httpCode: 401, + name: 'NotAuthorized', + message: applePayments.constants.RESPONSE_ALREADY_USED, + }); + }); + + it('errors when a multiple users exist using the subscription', async () => { + user = new User(); + await user.save(); + payments.createSubscription.restore(); + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().toDate(), + productId: sku, + transactionId: token, + originalTransactionId: token, + }]); + + await applePayments.subscribe(user, receipt, headers, nextPaymentProcessing); + const secondUser = new User(); + secondUser.purchased.plan = user.purchased.plan; + secondUser.purchased.plan.dateTerminate = new Date(); + secondUser.save(); + + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ + expirationDate: moment.utc().add({ day: 1 }).toDate(), + purchaseDate: moment.utc().toDate(), + productId: sku, + transactionId: `${token}new`, + originalTransactionId: token, + }]); + + const thirdUser = new User(); + await thirdUser.save(); + await expect(applePayments.subscribe( + thirdUser, receipt, headers, nextPaymentProcessing, + )) + .to.eventually.be.rejected.and.to.eql({ + httpCode: 401, + name: 'NotAuthorized', + message: applePayments.constants.RESPONSE_ALREADY_USED, + }); + }); }); }); @@ -360,9 +592,9 @@ describe('Apple Payments', () => { }); iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') .returns([{ expirationDate: expirationDate.toDate() }]); - iapIsValidatedStub = sinon.stub(iap, 'isValidated') - .returns(true); - + iapIsValidatedStub = sinon.stub(iap, 'isValidated').returns(true); + sinon.stub(iap, 'isCanceled').returns(false); + sinon.stub(iap, 'isExpired').returns(true); user = new User(); user.profile.name = 'sender'; user.purchased.plan.paymentMethod = applePayments.constants.PAYMENT_METHOD_APPLE; @@ -377,6 +609,8 @@ describe('Apple Payments', () => { iap.setup.restore(); iap.validate.restore(); iap.isValidated.restore(); + iap.isExpired.restore(); + iap.isCanceled.restore(); iap.getPurchaseData.restore(); payments.cancelSubscription.restore(); }); @@ -396,6 +630,8 @@ describe('Apple Payments', () => { iap.getPurchaseData.restore(); iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') .returns([{ expirationDate: expirationDate.add({ day: 1 }).toDate() }]); + iap.isExpired.restore(); + sinon.stub(iap, 'isExpired').returns(false); await expect(applePayments.cancelSubscribe(user, headers)) .to.eventually.be.rejected.and.to.eql({ @@ -418,7 +654,38 @@ describe('Apple Payments', () => { }); }); - it('should cancel a user subscription', async () => { + it('should cancel a cancelled subscription with termination date in the future', async () => { + const futureDate = expirationDate.add({ day: 1 }); + iap.getPurchaseData.restore(); + iapGetPurchaseDataStub = sinon.stub(iap, 'getPurchaseData') + .returns([{ expirationDate: futureDate }]); + iap.isExpired.restore(); + sinon.stub(iap, 'isExpired').returns(false); + + iap.isCanceled.restore(); + sinon.stub(iap, 'isCanceled').returns(true); + + await applePayments.cancelSubscribe(user, headers); + + expect(iapSetupStub).to.be.calledOnce; + expect(iapValidateStub).to.be.calledOnce; + expect(iapValidateStub).to.be.calledWith(iap.APPLE, receipt); + expect(iapIsValidatedStub).to.be.calledOnce; + expect(iapIsValidatedStub).to.be.calledWith({ + expirationDate: futureDate, + }); + expect(iapGetPurchaseDataStub).to.be.calledOnce; + + expect(paymentCancelSubscriptionSpy).to.be.calledOnce; + expect(paymentCancelSubscriptionSpy).to.be.calledWith({ + user, + paymentMethod: applePayments.constants.PAYMENT_METHOD_APPLE, + nextBill: futureDate.toDate(), + headers, + }); + }); + + it('should cancel an expired subscription', async () => { await applePayments.cancelSubscribe(user, headers); expect(iapSetupStub).to.be.calledOnce; diff --git a/test/api/unit/libs/payments/google.test.js b/test/api/unit/libs/payments/google.test.js index 7df7f273ef..eb9b3574ba 100644 --- a/test/api/unit/libs/payments/google.test.js +++ b/test/api/unit/libs/payments/google.test.js @@ -12,11 +12,11 @@ const { i18n } = common; describe('Google Payments', () => { const subKey = 'basic_3mo'; - describe('verifyGemPurchase', () => { + describe('verifyPurchase', () => { let sku; let user; let token; let receipt; let signature; let - headers; const gemsBlock = common.content.gems['21gems']; + headers; let iapSetupStub; let iapValidateStub; let iapIsValidatedStub; let - paymentBuyGemsStub; let validateGiftMessageStub; + paymentBuySkuStub; let validateGiftMessageStub; beforeEach(() => { sku = 'com.habitrpg.android.habitica.iap.21gems'; @@ -27,11 +27,10 @@ describe('Google Payments', () => { iapSetupStub = sinon.stub(iap, 'setup') .resolves(); - iapValidateStub = sinon.stub(iap, 'validate') - .resolves({}); + iapValidateStub = sinon.stub(iap, 'validate').resolves({ productId: sku }); iapIsValidatedStub = sinon.stub(iap, 'isValidated') .returns(true); - paymentBuyGemsStub = sinon.stub(payments, 'buyGems').resolves({}); + paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({}); validateGiftMessageStub = sinon.stub(gems, 'validateGiftMessage'); }); @@ -39,7 +38,7 @@ describe('Google Payments', () => { iap.setup.restore(); iap.validate.restore(); iap.isValidated.restore(); - payments.buyGems.restore(); + payments.buySkuItem.restore(); gems.validateGiftMessage.restore(); }); @@ -48,7 +47,7 @@ describe('Google Payments', () => { iapIsValidatedStub = sinon.stub(iap, 'isValidated') .returns(false); - await expect(googlePayments.verifyGemPurchase({ + await expect(googlePayments.verifyPurchase({ user, receipt, signature, headers, })) .to.eventually.be.rejected.and.to.eql({ @@ -60,21 +59,25 @@ describe('Google Payments', () => { it('should throw an error if productId is invalid', async () => { receipt = `{"token": "${token}", "productId": "invalid"}`; + iapValidateStub.restore(); + iapValidateStub = sinon.stub(iap, 'validate').resolves({}); - await expect(googlePayments.verifyGemPurchase({ + paymentBuySkuStub.restore(); + await expect(googlePayments.verifyPurchase({ user, receipt, signature, headers, })) .to.eventually.be.rejected.and.to.eql({ - httpCode: 401, - name: 'NotAuthorized', + httpCode: 400, + name: 'BadRequest', message: googlePayments.constants.RESPONSE_INVALID_ITEM, }); + paymentBuySkuStub = sinon.stub(payments, 'buySkuItem').resolves({}); }); it('should throw an error if user cannot purchase gems', async () => { sinon.stub(user, 'canGetGems').resolves(false); - await expect(googlePayments.verifyGemPurchase({ + await expect(googlePayments.verifyPurchase({ user, receipt, signature, headers, })) .to.eventually.be.rejected.and.to.eql({ @@ -88,7 +91,7 @@ describe('Google Payments', () => { it('purchases gems', async () => { sinon.stub(user, 'canGetGems').resolves(true); - await googlePayments.verifyGemPurchase({ + await googlePayments.verifyPurchase({ user, receipt, signature, headers, }); @@ -101,15 +104,17 @@ describe('Google Payments', () => { signature, }); expect(iapIsValidatedStub).to.be.calledOnce; - expect(iapIsValidatedStub).to.be.calledWith({}); + expect(iapIsValidatedStub).to.be.calledWith( + { productId: sku }, + ); - expect(paymentBuyGemsStub).to.be.calledOnce; - expect(paymentBuyGemsStub).to.be.calledWith({ + expect(paymentBuySkuStub).to.be.calledOnce; + expect(paymentBuySkuStub).to.be.calledWith({ user, - paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE, - gemsBlock, - headers, gift: undefined, + paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE, + sku, + headers, }); expect(user.canGetGems).to.be.calledOnce; user.canGetGems.restore(); @@ -120,7 +125,7 @@ describe('Google Payments', () => { await receivingUser.save(); const gift = { uuid: receivingUser._id }; - await googlePayments.verifyGemPurchase({ + await googlePayments.verifyPurchase({ user, gift, receipt, signature, headers, }); @@ -134,20 +139,20 @@ describe('Google Payments', () => { signature, }); expect(iapIsValidatedStub).to.be.calledOnce; - expect(iapIsValidatedStub).to.be.calledWith({}); + expect(iapIsValidatedStub).to.be.calledWith( + { productId: sku }, + ); - expect(paymentBuyGemsStub).to.be.calledOnce; - expect(paymentBuyGemsStub).to.be.calledWith({ + expect(paymentBuySkuStub).to.be.calledOnce; + expect(paymentBuySkuStub).to.be.calledWith({ user, - paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE, - gemsBlock, - headers, gift: { - type: 'gems', - gems: { amount: 21 }, - member: sinon.match({ _id: receivingUser._id }), uuid: receivingUser._id, + member: sinon.match({ _id: receivingUser._id }), }, + paymentMethod: googlePayments.constants.PAYMENT_METHOD_GOOGLE, + sku, + headers, }); }); }); diff --git a/test/api/unit/libs/payments/payments.test.js b/test/api/unit/libs/payments/payments.test.js index 65b42b42f3..438b8def23 100644 --- a/test/api/unit/libs/payments/payments.test.js +++ b/test/api/unit/libs/payments/payments.test.js @@ -203,6 +203,28 @@ describe('payments/index', () => { expect(recipient.purchased.plan.dateCreated).to.exist; }); + it('sets plan.dateCurrentTypeCreated if it did not previously exist', async () => { + expect(recipient.purchased.plan.dateCurrentTypeCreated).to.not.exist; + + await api.createSubscription(data); + + expect(recipient.purchased.plan.dateCurrentTypeCreated).to.exist; + }); + + it('keeps plan.dateCreated when changing subscription type', async () => { + await api.createSubscription(data); + const initialDate = recipient.purchased.plan.dateCreated; + await api.createSubscription(data); + expect(recipient.purchased.plan.dateCreated).to.eql(initialDate); + }); + + it('sets plan.dateCurrentTypeCreated when changing subscription type', async () => { + await api.createSubscription(data); + const initialDate = recipient.purchased.plan.dateCurrentTypeCreated; + await api.createSubscription(data); + expect(recipient.purchased.plan.dateCurrentTypeCreated).to.not.eql(initialDate); + }); + it('does not change plan.customerId if it already exists', async () => { recipient.purchased.plan = plan; data.customerId = 'purchaserCustomerId'; @@ -213,6 +235,116 @@ describe('payments/index', () => { expect(recipient.purchased.plan.customerId).to.eql('customer-id'); }); + it('sets plan.perkMonthCount to 1 if user is not subscribed', async () => { + recipient.purchased.plan = plan; + recipient.purchased.plan.perkMonthCount = 1; + recipient.purchased.plan.customerId = undefined; + data.sub.key = 'basic_earned'; + data.gift.subscription.key = 'basic_earned'; + data.gift.subscription.months = 1; + + expect(recipient.purchased.plan.perkMonthCount).to.eql(1); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(1); + }); + + it('sets plan.perkMonthCount to 1 if field is not initialized', async () => { + recipient.purchased.plan = plan; + recipient.purchased.plan.perkMonthCount = -1; + recipient.purchased.plan.customerId = undefined; + data.sub.key = 'basic_earned'; + data.gift.subscription.key = 'basic_earned'; + data.gift.subscription.months = 1; + + expect(recipient.purchased.plan.perkMonthCount).to.eql(-1); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(1); + }); + + it('sets plan.perkMonthCount to 1 if user had previous count but lapsed subscription', async () => { + recipient.purchased.plan = plan; + recipient.purchased.plan.perkMonthCount = 2; + recipient.purchased.plan.customerId = undefined; + data.sub.key = 'basic_earned'; + data.gift.subscription.key = 'basic_earned'; + data.gift.subscription.months = 1; + + expect(recipient.purchased.plan.perkMonthCount).to.eql(2); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(1); + }); + + it('adds to plan.perkMonthCount if user is already subscribed', async () => { + recipient.purchased.plan = plan; + recipient.purchased.plan.perkMonthCount = 1; + data.sub.key = 'basic_earned'; + data.gift.subscription.key = 'basic_earned'; + data.gift.subscription.months = 1; + + expect(recipient.purchased.plan.perkMonthCount).to.eql(1); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(2); + }); + + it('awards perks if plan.perkMonthCount reaches 3 with existing subscription', async () => { + recipient.purchased.plan = plan; + recipient.purchased.plan.perkMonthCount = 2; + data.sub.key = 'basic_earned'; + data.gift.subscription.key = 'basic_earned'; + data.gift.subscription.months = 1; + + expect(recipient.purchased.plan.perkMonthCount).to.eql(2); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(0); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(0); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(0); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(1); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(5); + }); + + it('awards perks if plan.perkMonthCount reaches 3 without existing subscription', async () => { + recipient.purchased.plan.perkMonthCount = 0; + expect(recipient.purchased.plan.perkMonthCount).to.eql(0); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(0); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(0); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(0); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(1); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(5); + }); + + it('awards perks if plan.perkMonthCount reaches 3 without initialized field', async () => { + expect(recipient.purchased.plan.perkMonthCount).to.eql(-1); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(0); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(0); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(0); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(1); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(5); + }); + + it('awards perks if plan.perkMonthCount goes over 3', async () => { + recipient.purchased.plan = plan; + recipient.purchased.plan.perkMonthCount = 2; + data.sub.key = 'basic_earned'; + + expect(recipient.purchased.plan.perkMonthCount).to.eql(2); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(0); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(0); + await api.createSubscription(data); + + expect(recipient.purchased.plan.perkMonthCount).to.eql(2); + expect(recipient.purchased.plan.consecutive.trinkets).to.eql(1); + expect(recipient.purchased.plan.consecutive.gemCapExtra).to.eql(5); + }); + it('sets plan.customerId to "Gift" if it does not already exist', async () => { expect(recipient.purchased.plan.customerId).to.not.exist; @@ -379,6 +511,7 @@ describe('payments/index', () => { expect(user.purchased.plan.customerId).to.eql('customer-id'); expect(user.purchased.plan.dateUpdated).to.exist; expect(user.purchased.plan.gemsBought).to.eql(0); + expect(user.purchased.plan.perkMonthCount).to.eql(0); expect(user.purchased.plan.paymentMethod).to.eql('Payment Method'); expect(user.purchased.plan.extraMonths).to.eql(0); expect(user.purchased.plan.dateTerminated).to.eql(null); @@ -386,6 +519,63 @@ describe('payments/index', () => { expect(user.purchased.plan.dateCreated).to.exist; }); + it('sets plan.dateCreated if it did not previously exist', async () => { + expect(user.purchased.plan.dateCreated).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.dateCreated).to.exist; + }); + + it('sets plan.dateCurrentTypeCreated if it did not previously exist', async () => { + expect(user.purchased.plan.dateCurrentTypeCreated).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.dateCurrentTypeCreated).to.exist; + }); + + it('keeps plan.dateCreated when changing subscription type', async () => { + await api.createSubscription(data); + const initialDate = user.purchased.plan.dateCreated; + await api.createSubscription(data); + expect(user.purchased.plan.dateCreated).to.eql(initialDate); + }); + + it('sets plan.dateCurrentTypeCreated when changing subscription type', async () => { + await api.createSubscription(data); + const initialDate = user.purchased.plan.dateCurrentTypeCreated; + await api.createSubscription(data); + expect(user.purchased.plan.dateCurrentTypeCreated).to.not.eql(initialDate); + }); + + it('keeps plan.perkMonthCount when changing subscription type', async () => { + await api.createSubscription(data); + user.purchased.plan.perkMonthCount = 2; + await api.createSubscription(data); + expect(user.purchased.plan.perkMonthCount).to.eql(2); + }); + + it('sets plan.perkMonthCount to zero when creating new monthly subscription', async () => { + user.purchased.plan.perkMonthCount = 2; + await api.createSubscription(data); + expect(user.purchased.plan.perkMonthCount).to.eql(0); + }); + + it('sets plan.perkMonthCount to zero when creating new 3 month subscription', async () => { + user.purchased.plan.perkMonthCount = 2; + await api.createSubscription(data); + expect(user.purchased.plan.perkMonthCount).to.eql(0); + }); + + it('updates plan.consecutive.offset when changing subscription type', async () => { + await api.createSubscription(data); + expect(user.purchased.plan.consecutive.offset).to.eql(3); + data.sub.key = 'basic_6mo'; + await api.createSubscription(data); + expect(user.purchased.plan.consecutive.offset).to.eql(6); + }); + it('awards the Royal Purple Jackalope pet', async () => { await api.createSubscription(data); @@ -465,6 +655,89 @@ describe('payments/index', () => { }, }); }); + + context('Upgrades subscription', () => { + it('from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + const created = user.purchased.plan.dateCreated; + const updated = user.purchased.plan.dateUpdated; + + data.sub.key = 'basic_6mo'; + data.updatedFrom = { key: 'basic_earned' }; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.dateCreated).to.eql(created); + expect(user.purchased.plan.dateUpdated).to.not.eql(updated); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + }); + + it('from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + const created = user.purchased.plan.dateCreated; + const updated = user.purchased.plan.dateUpdated; + + data.sub.key = 'basic_12mo'; + data.updatedFrom = { key: 'basic_3mo' }; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.dateCreated).to.eql(created); + expect(user.purchased.plan.dateUpdated).to.not.eql(updated); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + }); + }); + + context('Downgrades subscription', () => { + it('from basic_6mo to basic_earned', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + const created = user.purchased.plan.dateCreated; + const updated = user.purchased.plan.dateUpdated; + + data.sub.key = 'basic_earned'; + data.updatedFrom = { key: 'basic_6mo' }; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.dateCreated).to.eql(created); + expect(user.purchased.plan.dateUpdated).to.not.eql(updated); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + }); + + it('from basic_12mo to basic_3mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + data.sub.key = 'basic_12mo'; + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + const created = user.purchased.plan.dateCreated; + const updated = user.purchased.plan.dateUpdated; + + data.sub.key = 'basic_3mo'; + data.updatedFrom = { key: 'basic_12mo' }; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.dateCreated).to.eql(created); + expect(user.purchased.plan.dateUpdated).to.not.eql(updated); + expect(user.purchased.plan.customerId).to.eql('customer-id'); + }); + }); }); context('Block subscription perks', () => { @@ -475,9 +748,19 @@ describe('payments/index', () => { }); it('does not add to plans.consecutive.offset if 1 month subscription', async () => { + data.sub.key = 'basic_earned'; await api.createSubscription(data); - expect(user.purchased.plan.extraMonths).to.eql(0); + expect(user.purchased.plan.consecutive.offset).to.eql(0); + }); + + it('resets plans.consecutive.offset if 1 month subscription', async () => { + user.purchased.plan.consecutive.offset = 1; + await user.save(); + data.sub.key = 'basic_earned'; + await api.createSubscription(data); + + expect(user.purchased.plan.consecutive.offset).to.eql(0); }); it('adds 5 to plan.consecutive.gemCapExtra for 3 month block', async () => { @@ -488,7 +771,6 @@ describe('payments/index', () => { it('adds 10 to plan.consecutive.gemCapExtra for 6 month block', async () => { data.sub.key = 'basic_6mo'; - await api.createSubscription(data); expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(10); @@ -496,7 +778,6 @@ describe('payments/index', () => { it('adds 20 to plan.consecutive.gemCapExtra for 12 month block', async () => { data.sub.key = 'basic_12mo'; - await api.createSubscription(data); expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(20); @@ -532,6 +813,532 @@ describe('payments/index', () => { expect(user.purchased.plan.consecutive.trinkets).to.eql(4); }); + + context('Upgrades subscription', () => { + context('Using payDifference logic', () => { + beforeEach(async () => { + data.updatedFrom = { logic: 'payDifference' }; + }); + it('Adds 10 to plan.consecutive.gemCapExtra from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(10); + }); + + it('Adds 15 to plan.consecutive.gemCapExtra when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(5); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(20); + }); + + it('Adds 2 to plan.consecutive.trinkets from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + }); + + it('Adds 2 to plan.consecutive.trinkets when upgrading from basic_6mo to basic_12mo', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_6mo'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + }); + + it('Adds 3 to plan.consecutive.trinkets when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(1); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + }); + }); + + context('Using payFull logic', () => { + beforeEach(async () => { + data.updatedFrom = { logic: 'payFull' }; + }); + it('Adds 10 to plan.consecutive.gemCapExtra from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(10); + }); + + it('Adds 20 to plan.consecutive.gemCapExtra when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(5); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(25); + }); + + it('Adds 2 to plan.consecutive.trinkets from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + }); + + it('Adds 4 to plan.consecutive.trinkets when upgrading from basic_6mo to basic_12mo', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_6mo'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(6); + }); + + it('Adds 4 to plan.consecutive.trinkets when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(1); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(5); + }); + }); + + context('Using refundAndRepay logic', () => { + let clock; + beforeEach(async () => { + clock = sinon.useFakeTimers(new Date('2022-01-01')); + data.updatedFrom = { logic: 'refundAndRepay' }; + }); + context('Upgrades within first half of subscription', () => { + it('Adds 10 to plan.consecutive.gemCapExtra from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-01-10')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(10); + }); + + it('Adds 15 to plan.consecutive.gemCapExtra when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(5); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-02-05')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(20); + }); + + it('Adds 2 to plan.consecutive.trinkets from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-01-08')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + }); + + it('Adds 3 to plan.consecutive.trinkets when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(1); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-01-31')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + }); + + it('Adds 2 to plan.consecutive.trinkets when upgrading from basic_6mo to basic_12mo', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_6mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-01-28')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + }); + + it('Adds 2 to plan.consecutive.trinkets from basic_earned to basic_6mo after initial cycle', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2024-01-08')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + }); + + it('Adds 2 to plan.consecutive.trinkets when upgrading from basic_6mo to basic_12mo after initial cycle', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_6mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-08-28')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + }); + + it('Adds 3 to plan.consecutive.trinkets when upgrading from basic_3mo to basic_12mo after initial cycle', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(1); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-07-31')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + }); + }); + context('Upgrades within second half of subscription', () => { + it('Adds 10 to plan.consecutive.gemCapExtra from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-01-20')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(10); + }); + + it('Adds 20 to plan.consecutive.gemCapExtra when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(5); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-02-24')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(25); + }); + + it('Adds 2 to plan.consecutive.trinkets from basic_earned to basic_6mo', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-01-28')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + }); + + it('Adds 4 to plan.consecutive.trinkets when upgrading from basic_6mo to basic_12mo', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_6mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-05-28')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(6); + }); + + it('Adds 4 to plan.consecutive.trinkets when upgrading from basic_3mo to basic_12mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(1); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-03-03')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(5); + }); + + it('Adds 2 to plan.consecutive.trinkets from basic_earned to basic_6mo after initial cycle', async () => { + data.sub.key = 'basic_earned'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(0); + + data.sub.key = 'basic_6mo'; + data.updatedFrom.key = 'basic_earned'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2022-05-28')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + }); + + it('Adds 4 to plan.consecutive.trinkets when upgrading from basic_6mo to basic_12mo after initial cycle', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_6mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2023-05-28')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(6); + }); + + it('Adds 4 to plan.consecutive.trinkets when upgrading from basic_3mo to basic_12mo after initial cycle', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_3mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(1); + + data.sub.key = 'basic_12mo'; + data.updatedFrom.key = 'basic_3mo'; + clock.restore(); + clock = sinon.useFakeTimers(new Date('2023-09-03')); + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(5); + }); + }); + afterEach(async () => { + if (clock !== null) clock.restore(); + }); + }); + }); + + context('Downgrades subscription', () => { + it('does not remove from plan.consecutive.gemCapExtra from basic_6mo to basic_earned', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(10); + + data.sub.key = 'basic_earned'; + data.updatedFrom = { key: 'basic_6mo' }; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(10); + }); + + it('does not remove from plan.consecutive.gemCapExtra from basic_12mo to basic_3mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + data.sub.key = 'basic_12mo'; + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(20); + + data.sub.key = 'basic_3mo'; + data.updatedFrom = { key: 'basic_12mo' }; + await api.createSubscription(data); + expect(user.purchased.plan.consecutive.gemCapExtra).to.eql(20); + }); + + it('does not remove from plan.consecutive.trinkets from basic_6mo to basic_earned', async () => { + data.sub.key = 'basic_6mo'; + expect(user.purchased.plan.planId).to.not.exist; + + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_6mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + + data.sub.key = 'basic_earned'; + data.updatedFrom = { key: 'basic_6mo' }; + await api.createSubscription(data); + expect(user.purchased.plan.planId).to.eql('basic_earned'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(2); + }); + + it('does not remove from plan.consecutive.trinkets from basic_12mo to basic_3mo', async () => { + expect(user.purchased.plan.planId).to.not.exist; + + data.sub.key = 'basic_12mo'; + await api.createSubscription(data); + + expect(user.purchased.plan.planId).to.eql('basic_12mo'); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + + data.sub.key = 'basic_3mo'; + data.updatedFrom = { key: 'basic_12mo' }; + await api.createSubscription(data); + expect(user.purchased.plan.consecutive.trinkets).to.eql(4); + }); + }); }); context('Mystery Items', () => { diff --git a/test/api/unit/libs/payments/skuItem.test.js b/test/api/unit/libs/payments/skuItem.test.js new file mode 100644 index 0000000000..41aa180faf --- /dev/null +++ b/test/api/unit/libs/payments/skuItem.test.js @@ -0,0 +1,40 @@ +import { + canBuySkuItem, +} from '../../../../../website/server/libs/payments/skuItem'; +import { model as User } from '../../../../../website/server/models/user'; + +describe('payments/skuItems', () => { + let user; + let clock; + + beforeEach(() => { + user = new User(); + clock = null; + }); + afterEach(() => { + if (clock !== null) clock.restore(); + }); + + describe('#canBuySkuItem', () => { + it('returns true for random sku', () => { + expect(canBuySkuItem('something', user)).to.be.true; + }); + + describe('#gryphatrice', () => { + const sku = 'Pet-Gryphatrice-Jubilant'; + it('returns true during birthday week', () => { + clock = sinon.useFakeTimers(new Date('2023-01-31')); + expect(canBuySkuItem(sku, user)).to.be.true; + }); + it('returns false outside of birthday week', () => { + clock = sinon.useFakeTimers(new Date('2023-01-20')); + expect(canBuySkuItem(sku, user)).to.be.false; + }); + it('returns false if user already owns it', () => { + clock = sinon.useFakeTimers(new Date('2023-02-01')); + user.items.pets['Gryphatrice-Jubilant'] = 5; + expect(canBuySkuItem(sku, user)).to.be.false; + }); + }); + }); +}); diff --git a/test/api/unit/middlewares/cronMiddleware.js b/test/api/unit/middlewares/cronMiddleware.js index fea4384c26..9df810c9fd 100644 --- a/test/api/unit/middlewares/cronMiddleware.js +++ b/test/api/unit/middlewares/cronMiddleware.js @@ -242,7 +242,7 @@ describe('cron middleware', () => { sandbox.spy(cronLib, 'recoverCron'); - sandbox.stub(User, 'update') + sandbox.stub(User, 'updateOne') .withArgs({ _id: user._id, $or: [ diff --git a/test/api/unit/models/group.test.js b/test/api/unit/models/group.test.js index fd5cea9b05..77a535fd0b 100644 --- a/test/api/unit/models/group.test.js +++ b/test/api/unit/models/group.test.js @@ -1359,6 +1359,7 @@ describe('Group Model', () => { describe('#sendChat', () => { beforeEach(() => { sandbox.spy(User, 'update'); + sandbox.spy(User, 'updateMany'); }); it('formats message', () => { @@ -1413,8 +1414,8 @@ describe('Group Model', () => { it('updates users about new messages in party', () => { party.sendChat({ message: 'message' }); - expect(User.update).to.be.calledOnce; - expect(User.update).to.be.calledWithMatch({ + expect(User.updateMany).to.be.calledOnce; + expect(User.updateMany).to.be.calledWithMatch({ 'party._id': party._id, _id: { $ne: '' }, }); @@ -1427,8 +1428,8 @@ describe('Group Model', () => { group.sendChat({ message: 'message' }); - expect(User.update).to.be.calledOnce; - expect(User.update).to.be.calledWithMatch({ + expect(User.updateMany).to.be.calledOnce; + expect(User.updateMany).to.be.calledWithMatch({ guilds: group._id, _id: { $ne: '' }, }); @@ -1437,8 +1438,8 @@ describe('Group Model', () => { it('does not send update to user that sent the message', () => { party.sendChat({ message: 'message', user: { _id: 'user-id', profile: { name: 'user' } } }); - expect(User.update).to.be.calledOnce; - expect(User.update).to.be.calledWithMatch({ + expect(User.updateMany).to.be.calledOnce; + expect(User.updateMany).to.be.calledWithMatch({ 'party._id': party._id, _id: { $ne: 'user-id' }, }); @@ -1731,7 +1732,7 @@ describe('Group Model', () => { }); it('updates participting members (not including user)', async () => { - sandbox.spy(User, 'update'); + sandbox.spy(User, 'updateMany'); await party.startQuest(nonParticipatingMember); @@ -1739,7 +1740,7 @@ describe('Group Model', () => { questLeader._id, participatingMember._id, sleepingParticipatingMember._id, ]; - expect(User.update).to.be.calledWith( + expect(User.updateMany).to.be.calledWith( { _id: { $in: members } }, { $set: { @@ -1752,11 +1753,11 @@ describe('Group Model', () => { }); it('updates non-user quest leader and decrements quest scroll', async () => { - sandbox.spy(User, 'update'); + sandbox.spy(User, 'updateOne'); await party.startQuest(participatingMember); - expect(User.update).to.be.calledWith( + expect(User.updateOne).to.be.calledWith( { _id: questLeader._id }, { $inc: { @@ -1818,29 +1819,29 @@ describe('Group Model', () => { }; it('doesn\'t retry successful operations', async () => { - sandbox.stub(User, 'update').returns(successfulMock); + sandbox.stub(User, 'updateOne').returns(successfulMock); await party.finishQuest(quest); - expect(User.update).to.be.calledThrice; + expect(User.updateOne).to.be.calledThrice; }); it('stops retrying when a successful update has occurred', async () => { - const updateStub = sandbox.stub(User, 'update'); + const updateStub = sandbox.stub(User, 'updateOne'); updateStub.onCall(0).returns(failedMock); updateStub.returns(successfulMock); await party.finishQuest(quest); - expect(User.update.callCount).to.equal(4); + expect(User.updateOne.callCount).to.equal(4); }); it('retries failed updates at most five times per user', async () => { - sandbox.stub(User, 'update').returns(failedMock); + sandbox.stub(User, 'updateOne').returns(failedMock); await expect(party.finishQuest(quest)).to.eventually.be.rejected; - expect(User.update.callCount).to.eql(15); // for 3 users + expect(User.updateOne.callCount).to.eql(15); // for 3 users }); }); @@ -2087,17 +2088,17 @@ describe('Group Model', () => { context('Party quests', () => { it('updates participating members with rewards', async () => { - sandbox.spy(User, 'update'); + sandbox.spy(User, 'updateOne'); await party.finishQuest(quest); - expect(User.update).to.be.calledThrice; - expect(User.update).to.be.calledWithMatch({ + expect(User.updateOne).to.be.calledThrice; + expect(User.updateOne).to.be.calledWithMatch({ _id: questLeader._id, }); - expect(User.update).to.be.calledWithMatch({ + expect(User.updateOne).to.be.calledWithMatch({ _id: participatingMember._id, }); - expect(User.update).to.be.calledWithMatch({ + expect(User.updateOne).to.be.calledWithMatch({ _id: sleepingParticipatingMember._id, }); }); @@ -2172,11 +2173,11 @@ describe('Group Model', () => { }); it('updates all users with rewards', async () => { - sandbox.spy(User, 'update'); + sandbox.spy(User, 'updateMany'); await party.finishQuest(tavernQuest); - expect(User.update).to.be.calledOnce; - expect(User.update).to.be.calledWithMatch({}); + expect(User.updateMany).to.be.calledOnce; + expect(User.updateMany).to.be.calledWithMatch({}); }); it('sets quest completed to the world quest key', async () => { diff --git a/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js b/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js index 4bb99cc33f..9f98d73d85 100644 --- a/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js +++ b/test/api/v3/integration/chat/POST-groups_id_chat_id_clear_flags.test.js @@ -66,7 +66,7 @@ describe('POST /groups/:id/chat/:id/clearflags', () => { type: 'party', privacy: 'private', }, - members: 1, + members: 2, }); await members[0].update({ 'auth.timestamps.created': new Date('2022-01-01') }); @@ -76,12 +76,17 @@ describe('POST /groups/:id/chat/:id/clearflags', () => { await admin.post(`/groups/${group._id}/chat/${privateMessage.id}/flag`); // first test that the flag was actually successful + // author always sees own message; flag count is hidden from non-admins let messages = await members[0].get(`/groups/${group._id}/chat`); - expect(messages[0].flagCount).to.eql(5); + expect(messages[0].flagCount).to.eql(0); + messages = await members[1].get(`/groups/${group._id}/chat`); + expect(messages.length).to.eql(0); + // admin cannot directly request private group chat, but after unflag, + // message should be revealed again and still have flagCount of 0 await admin.post(`/groups/${group._id}/chat/${privateMessage.id}/clearflags`); - - messages = await members[0].get(`/groups/${group._id}/chat`); + messages = await members[1].get(`/groups/${group._id}/chat`); + expect(messages.length).to.eql(1); expect(messages[0].flagCount).to.eql(0); }); diff --git a/test/api/v3/integration/groups/POST-groups_groupId_join.test.js b/test/api/v3/integration/groups/POST-groups_groupId_join.test.js index 92acf9023f..2c6313154b 100644 --- a/test/api/v3/integration/groups/POST-groups_groupId_join.test.js +++ b/test/api/v3/integration/groups/POST-groups_groupId_join.test.js @@ -2,7 +2,6 @@ import { v4 as generateUUID } from 'uuid'; import { generateUser, createAndPopulateGroup, - checkExistence, translate as t, } from '../../../../helpers/api-integration/v3'; @@ -258,47 +257,6 @@ describe('POST /group/:groupId/join', () => { await expect(user.get('/user')).to.eventually.have.nested.property('items.quests.basilist', 2); }); - it('deletes previous party where the user was the only member', async () => { - const userToInvite = await generateUser(); - const oldParty = await userToInvite.post('/groups', { // add user to a party - name: 'Another Test Party', - type: 'party', - }); - - await expect(checkExistence('groups', oldParty._id)).to.eventually.equal(true); - await user.post(`/groups/${party._id}/invite`, { - uuids: [userToInvite._id], - }); - await userToInvite.post(`/groups/${party._id}/join`); - - await expect(user.get('/user')).to.eventually.have.nested.property('party._id', party._id); - await expect(checkExistence('groups', oldParty._id)).to.eventually.equal(false); - }); - - it('does not allow user to leave a party if a quest was active and they were the only member', async () => { - const userToInvite = await generateUser(); - const oldParty = await userToInvite.post('/groups', { // add user to a party - name: 'Another Test Party', - type: 'party', - }); - - await userToInvite.update({ - [`items.quests.${PET_QUEST}`]: 1, - }); - await userToInvite.post(`/groups/${oldParty._id}/quests/invite/${PET_QUEST}`); - - await expect(checkExistence('groups', oldParty._id)).to.eventually.equal(true); - await user.post(`/groups/${party._id}/invite`, { - uuids: [userToInvite._id], - }); - - await expect(userToInvite.post(`/groups/${party._id}/join`)).to.eventually.be.rejected.and.eql({ - code: 401, - error: 'NotAuthorized', - message: t('messageCannotLeaveWhileQuesting'), - }); - }); - it('invites joining member to active quest', async () => { await user.update({ [`items.quests.${PET_QUEST}`]: 1, diff --git a/test/api/v3/integration/groups/POST-groups_invite.test.js b/test/api/v3/integration/groups/POST-groups_invite.test.js index 02f8c5e20c..179e6dfdee 100644 --- a/test/api/v3/integration/groups/POST-groups_invite.test.js +++ b/test/api/v3/integration/groups/POST-groups_invite.test.js @@ -1,6 +1,7 @@ import { v4 as generateUUID } from 'uuid'; import nconf from 'nconf'; import { + createAndPopulateGroup, generateUser, generateGroup, translate as t, @@ -581,20 +582,7 @@ describe('Post /groups/:groupId/invite', () => { }); }); - it('allow inviting a user to a party if they are partying solo', async () => { - const userToInvite = await generateUser(); - await userToInvite.post('/groups', { // add user to a party - name: 'Another Test Party', - type: 'party', - }); - - await inviter.post(`/groups/${party._id}/invite`, { - uuids: [userToInvite._id], - }); - expect((await userToInvite.get('/user')).invitations.parties[0].id).to.equal(party._id); - }); - - it('allow inviting a user to 2 different parties', async () => { + it('allows inviting a user to 2 different parties', async () => { // Create another inviter const inviter2 = await generateUser(); @@ -635,29 +623,48 @@ describe('Post /groups/:groupId/invite', () => { }); expect((await userToInvite.get('/user')).invitations.parties[0].id).to.equal(party._id); }); + }); + + describe('party size limits', () => { + let party; + let partyLeader; + + beforeEach(async () => { + group = await createAndPopulateGroup({ + groupDetails: { + name: 'Test Party', + type: 'party', + privacy: 'private', + }, + // Generate party with 20 members + members: PARTY_LIMIT_MEMBERS - 10, + }); + party = group.group; + partyLeader = group.groupLeader; + }); it('allows 30 members in a party', async () => { const invitesToGenerate = []; - // Generate 29 users to invite (29 + leader = 30 members) - for (let i = 0; i < PARTY_LIMIT_MEMBERS - 1; i += 1) { + // Generate 10 new invites + for (let i = 1; i < 10; i += 1) { invitesToGenerate.push(generateUser()); } const generatedInvites = await Promise.all(invitesToGenerate); // Invite users - expect(await inviter.post(`/groups/${party._id}/invite`, { + expect(await partyLeader.post(`/groups/${party._id}/invite`, { uuids: generatedInvites.map(invite => invite._id), })).to.be.an('array'); }).timeout(10000); - it('does not allow 30+ members in a party', async () => { + it('does not allow >30 members in a party', async () => { const invitesToGenerate = []; - // Generate 30 users to invite (30 + leader = 31 members) - for (let i = 0; i < PARTY_LIMIT_MEMBERS; i += 1) { + // Generate 11 invites + for (let i = 1; i < 11; i += 1) { invitesToGenerate.push(generateUser()); } const generatedInvites = await Promise.all(invitesToGenerate); // Invite users - await expect(inviter.post(`/groups/${party._id}/invite`, { + await expect(partyLeader.post(`/groups/${party._id}/invite`, { uuids: generatedInvites.map(invite => invite._id), })) .to.eventually.be.rejected.and.eql({ diff --git a/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js b/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js index faf5f0e6ea..5a9aa456e7 100644 --- a/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js +++ b/test/api/v3/integration/payments/apple/POST-payments_apple_subscribe.test.js @@ -45,11 +45,10 @@ describe('payments : apple #subscribe', () => { }); expect(subscribeStub).to.be.calledOnce; - expect(subscribeStub.args[0][0]).to.eql(sku); - expect(subscribeStub.args[0][1]._id).to.eql(user._id); - expect(subscribeStub.args[0][2]).to.eql('receipt'); - expect(subscribeStub.args[0][3]['x-api-key']).to.eql(user.apiToken); - expect(subscribeStub.args[0][3]['x-api-user']).to.eql(user._id); + expect(subscribeStub.args[0][0]._id).to.eql(user._id); + expect(subscribeStub.args[0][1]).to.eql('receipt'); + expect(subscribeStub.args[0][2]['x-api-key']).to.eql(user.apiToken); + expect(subscribeStub.args[0][2]['x-api-user']).to.eql(user._id); }); }); }); diff --git a/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js b/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js index d142fe2a24..0400eedcf3 100644 --- a/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js +++ b/test/api/v3/integration/payments/apple/POST-payments_apple_verifyiap.js @@ -21,11 +21,11 @@ describe('payments : apple #verify', () => { let verifyStub; beforeEach(async () => { - verifyStub = sinon.stub(applePayments, 'verifyGemPurchase').resolves({}); + verifyStub = sinon.stub(applePayments, 'verifyPurchase').resolves({}); }); afterEach(() => { - applePayments.verifyGemPurchase.restore(); + applePayments.verifyPurchase.restore(); }); it('makes a purchase', async () => { diff --git a/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js b/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js index ecdf17dfc0..3bfcb08b8a 100644 --- a/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js +++ b/test/api/v3/integration/payments/google/POST-payments_google_verifyiap.js @@ -21,11 +21,11 @@ describe('payments : google #verify', () => { let verifyStub; beforeEach(async () => { - verifyStub = sinon.stub(googlePayments, 'verifyGemPurchase').resolves({}); + verifyStub = sinon.stub(googlePayments, 'verifyPurchase').resolves({}); }); afterEach(() => { - googlePayments.verifyGemPurchase.restore(); + googlePayments.verifyPurchase.restore(); }); it('makes a purchase', async () => { diff --git a/test/api/v3/integration/world-state/GET-world-state.test.js b/test/api/v3/integration/world-state/GET-world-state.test.js index ef2f9aca46..cec7086d6f 100644 --- a/test/api/v3/integration/world-state/GET-world-state.test.js +++ b/test/api/v3/integration/world-state/GET-world-state.test.js @@ -35,13 +35,6 @@ describe('GET /world-state', () => { }); }); - it('returns a string representing the current season for NPC sprites', async () => { - const res = await requester().get('/world-state'); - - expect(res).to.have.nested.property('npcImageSuffix'); - expect(res.npcImageSuffix).to.be.a('string'); - }); - context('no current event', () => { beforeEach(async () => { sinon.stub(worldState, 'getCurrentEvent').returns(null); diff --git a/test/api/v4/user/POST-user_class_cast_spellId.test.js b/test/api/v4/user/POST-user_class_cast_spellId.test.js index 8602cb7c2a..dd2ccd21da 100644 --- a/test/api/v4/user/POST-user_class_cast_spellId.test.js +++ b/test/api/v4/user/POST-user_class_cast_spellId.test.js @@ -202,18 +202,86 @@ describe('POST /user/class/cast/:spellId', () => { await group.groupLeader.post('/user/class/cast/mpheal'); promises = []; + promises.push(group.groupLeader.sync()); promises.push(group.members[0].sync()); promises.push(group.members[1].sync()); promises.push(group.members[2].sync()); promises.push(group.members[3].sync()); await Promise.all(promises); + expect(group.groupLeader.stats.mp).to.be.equal(170); // spell caster expect(group.members[0].stats.mp).to.be.greaterThan(0); // warrior expect(group.members[1].stats.mp).to.equal(0); // wizard expect(group.members[2].stats.mp).to.be.greaterThan(0); // rogue expect(group.members[3].stats.mp).to.be.greaterThan(0); // healer }); + const spellList = [ + { + className: 'warrior', + spells: [['smash', 'task'], ['defensiveStance'], ['valorousPresence'], ['intimidate']], + }, + { + className: 'wizard', + spells: [['fireball', 'task'], ['mpheal'], ['earth'], ['frost']], + }, + { + className: 'healer', + spells: [['heal'], ['brightness'], ['protectAura'], ['healAll']], + }, + { + className: 'rogue', + spells: [['pickPocket', 'task'], ['backStab', 'task'], ['toolsOfTrade'], ['stealth']], + }, + ]; + + spellList.forEach(async habitClass => { + describe(`For a ${habitClass.className}`, async () => { + habitClass.spells.forEach(async spell => { + describe(`Using ${spell[0]}`, async () => { + it('Deducts MP from spell caster', async () => { + const { groupLeader } = await createAndPopulateGroup({ + groupDetails: { type: 'party', privacy: 'private' }, + members: 3, + }); + await groupLeader.update({ + 'stats.mp': 200, 'stats.class': habitClass.className, 'stats.lvl': 20, 'stats.hp': 40, + }); + // need this for task spells and for stealth + const task = await groupLeader.post('/tasks/user', { + text: 'test habit', + type: 'daily', + }); + if (spell.length === 2 && spell[1] === 'task') { + await groupLeader.post(`/user/class/cast/${spell[0]}?targetId=${task._id}`); + } else { + await groupLeader.post(`/user/class/cast/${spell[0]}`); + } + await groupLeader.sync(); + expect(groupLeader.stats.mp).to.be.lessThan(200); + }); + it('works without a party', async () => { + await user.update({ + 'stats.mp': 200, 'stats.class': habitClass.className, 'stats.lvl': 20, 'stats.hp': 40, + }); + // need this for task spells and for stealth + const task = await user.post('/tasks/user', { + text: 'test habit', + type: 'daily', + }); + if (spell.length === 2 && spell[1] === 'task') { + await user.post(`/user/class/cast/${spell[0]}?targetId=${task._id}`); + } else { + await user.post(`/user/class/cast/${spell[0]}`); + } + await user.sync(); + expect(user.stats.mp).to.be.lessThan(200); + }); + }); + }); + }); + }); + it('cast bulk', async () => { let { group, groupLeader } = await createAndPopulateGroup({ // eslint-disable-line prefer-const groupDetails: { type: 'party', privacy: 'private' }, diff --git a/test/common/libs/cron.test.js b/test/common/libs/cron.test.js index d082e1e7b0..e8be92fceb 100644 --- a/test/common/libs/cron.test.js +++ b/test/common/libs/cron.test.js @@ -215,6 +215,7 @@ describe('cron utility functions', () => { it('monthly plan, next date in 3 months', () => { const user = baseUserData(60, 0, 'group_plan_auto'); + user.purchased.plan.perkMonthCount = 0; const planContext = getPlanContext(user, now); @@ -224,6 +225,7 @@ describe('cron utility functions', () => { it('monthly plan, next date in 1 month', () => { const user = baseUserData(62, 0, 'group_plan_auto'); + user.purchased.plan.perkMonthCount = 2; const planContext = getPlanContext(user, now); @@ -248,5 +250,15 @@ describe('cron utility functions', () => { expect(planContext.nextHourglassDate) .to.be.sameMoment('2022-07-10T02:00:00.144Z'); }); + + it('multi-month plan with perk count', () => { + const user = baseUserData(60, 1, 'basic_3mo'); + user.purchased.plan.perkMonthCount = 2; + + const planContext = getPlanContext(user, now); + + expect(planContext.nextHourglassDate) + .to.be.sameMoment('2022-07-10T02:00:00.144Z'); + }); }); }); diff --git a/test/helpers/api-integration/external-server.js b/test/helpers/api-integration/external-server.js index 5b199d058d..5f02eb03c3 100644 --- a/test/helpers/api-integration/external-server.js +++ b/test/helpers/api-integration/external-server.js @@ -12,8 +12,9 @@ const webhookData = {}; app.use(bodyParser.urlencoded({ extended: true, + limit: '10mb', })); -app.use(bodyParser.json()); +app.use(bodyParser.json({ limit: '10mb' })); app.post('/webhooks/:id', (req, res) => { const { id } = req.params; diff --git a/test/helpers/api-integration/requester.js b/test/helpers/api-integration/requester.js index ad01f35978..61c0b2fabf 100644 --- a/test/helpers/api-integration/requester.js +++ b/test/helpers/api-integration/requester.js @@ -53,7 +53,8 @@ function _requestMaker (user, method, additionalSets = {}) { if (user && user._id && user.apiToken) { request .set('x-api-user', user._id) - .set('x-api-key', user.apiToken); + .set('x-api-key', user.apiToken) + .set('x-client', 'habitica-web'); } if (!isEmpty(additionalSets)) { diff --git a/website/client/package-lock.json b/website/client/package-lock.json index b721fe0f43..f04b688bba 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -373,84 +373,90 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz", - "integrity": "sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg==", + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", + "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==", "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3" + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.18.6" } }, "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.20.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.18.6" } }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "requires": { + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.6.tgz", - "integrity": "sha512-trGNYSfwq5s0SgM1BMEB8hX3NDmO7EP2wsDGDexiaKMB92BaRpS+qZfpkMqUBhcsOTBwNy9B/jieo4ad/t/z2g==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/types": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.6.tgz", - "integrity": "sha512-wqz7pgWMIrht3gquyEFPVXeXCti72Rm8ep9b5tQKz9Yg9LzJA3HxosF1SB3Kc81KD1A3XBkkVYtJvCKS2Z/QrA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } } @@ -793,20 +799,25 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.20.7" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, "@babel/types": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.6.tgz", - "integrity": "sha512-wqz7pgWMIrht3gquyEFPVXeXCti72Rm8ep9b5tQKz9Yg9LzJA3HxosF1SB3Kc81KD1A3XBkkVYtJvCKS2Z/QrA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } } @@ -978,20 +989,25 @@ } }, "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.18.6" }, "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, "@babel/types": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.6.tgz", - "integrity": "sha512-wqz7pgWMIrht3gquyEFPVXeXCti72Rm8ep9b5tQKz9Yg9LzJA3HxosF1SB3Kc81KD1A3XBkkVYtJvCKS2Z/QrA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } } @@ -1032,109 +1048,115 @@ } }, "@babel/helper-replace-supers": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", - "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" }, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.18.6" } }, "@babel/generator": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.6.tgz", - "integrity": "sha512-4bpOR5ZBz+wWcMeVtcf7FbjcFzCp+817z2/gHNncIRcM9MmKzUhtWCYAq27RAfUrAFwb+OCG1s9WEaVxfi6cjg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", "requires": { - "@babel/types": "^7.8.6", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" } }, "@babel/helper-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", - "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.18.6" } }, "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "requires": { - "@babel/types": "^7.8.3" + "@babel/types": "^7.18.6" } }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "requires": { + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.6.tgz", - "integrity": "sha512-trGNYSfwq5s0SgM1BMEB8hX3NDmO7EP2wsDGDexiaKMB92BaRpS+qZfpkMqUBhcsOTBwNy9B/jieo4ad/t/z2g==" + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" }, "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/traverse": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", - "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.6", - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.6.tgz", - "integrity": "sha512-wqz7pgWMIrht3gquyEFPVXeXCti72Rm8ep9b5tQKz9Yg9LzJA3HxosF1SB3Kc81KD1A3XBkkVYtJvCKS2Z/QrA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } } @@ -1475,12 +1497,19 @@ } }, "@babel/plugin-proposal-class-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", - "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + } } }, "@babel/plugin-proposal-decorators": { @@ -1813,39 +1842,40 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==" + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" } }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, "@babel/types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz", - "integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==", + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } } @@ -2247,17 +2277,17 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.18.6" }, "dependencies": { "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" } } }, @@ -3247,203 +3277,153 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.0.tgz", - "integrity": "sha512-zlPf1/XFn5+vWdve3AAhf+Sxl+MVa5VlwTwWgnLx23u4GlatSRQJ3Eoo9vllf0a9il3woQsT4SK+5Z7c06h8ag==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", "requires": { - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.3", - "babel-plugin-polyfill-corejs3": "^0.3.0", - "babel-plugin-polyfill-regenerator": "^0.2.3", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", - "requires": { - "@babel/highlight": "^7.16.0" - } + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==" }, - "@babel/generator": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", - "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", "requires": { - "@babel/types": "^7.16.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz", - "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" } }, - "@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", - "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", - "requires": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", - "requires": { - "@babel/types": "^7.16.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", - "requires": { - "@babel/types": "^7.16.0" - } - }, "@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", - "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.18.6" } }, "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" - }, - "@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", - "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", - "requires": { - "@babel/types": "^7.16.0" - } + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, - "@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", - "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.16.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", - "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==" - }, - "@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", - "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" - } - }, - "@babel/traverse": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz", - "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==", - "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - } + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" }, "@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", - "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, "babel-plugin-polyfill-corejs2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", - "integrity": "sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.4", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz", - "integrity": "sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.4", - "core-js-compat": "^3.18.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz", - "integrity": "sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.4" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "caniuse-lite": { + "version": "1.0.30001446", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", + "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==" + }, "core-js-compat": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz", - "integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==", + "version": "3.27.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", + "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==", "requires": { - "browserslist": "^4.17.6", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - } + "browserslist": "^4.21.4" } }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "has": "^1.0.3" + } + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "semver": { @@ -4297,12 +4277,12 @@ } }, "@babel/runtime-corejs2": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.16.0.tgz", - "integrity": "sha512-PICpXRloQQ7AtgN+8xYbOxaopQ1vMB9RV0tsVe5ikx5/6y7iO8tYQiyAf3hIYxwz8AohnSXBuXorBacFOs21xg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.20.7.tgz", + "integrity": "sha512-SrtIxfjwLkUFljufH1GeqYlIYzdyxP2IoCb3tVjcrTdMyB7RQyRCdkyMzvw3k/h+CStnSf2SvvQicS1Rf/fuGQ==", "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" + "core-js": "^2.6.12", + "regenerator-runtime": "^0.13.11" }, "dependencies": { "core-js": { @@ -4311,9 +4291,9 @@ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" } } }, @@ -4999,9 +4979,9 @@ } }, "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" }, "@sideway/pinpoint": { "version": "2.0.0", @@ -10931,6 +10911,11 @@ } } }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, "@types/body-parser": { "version": "1.19.1", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", @@ -10970,6 +10955,29 @@ "@types/node": "*" } }, + "@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -11282,10 +11290,15 @@ } } }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" + }, "@vue/babel-helper-vue-jsx-merge-props": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", - "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==" }, "@vue/babel-helper-vue-transform-on": { "version": "1.0.2", @@ -11309,20 +11322,20 @@ }, "dependencies": { "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" } } }, "@vue/babel-plugin-transform-vue-jsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", - "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", "html-tags": "^2.0.0", "lodash.kebabcase": "^4.1.1", "svg-tags": "^1.0.0" @@ -11331,130 +11344,369 @@ "html-tags": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=" + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==" } } }, "@vue/babel-preset-app": { - "version": "4.5.15", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.5.15.tgz", - "integrity": "sha512-J+YttzvwRfV1BPczf8r3qCevznYk+jh531agVF+5EYlHF4Sgh/cGXTz9qkkiux3LQgvhEGXgmCteg1n38WuuKg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz", + "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==", "requires": { - "@babel/core": "^7.11.0", - "@babel/helper-compilation-targets": "^7.9.6", - "@babel/helper-module-imports": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/core": "^7.12.16", + "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-decorators": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-jsx": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.11.0", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.0", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", + "@babel/runtime": "^7.12.13", "@vue/babel-plugin-jsx": "^1.0.3", - "@vue/babel-preset-jsx": "^1.2.4", + "@vue/babel-preset-jsx": "^1.1.2", "babel-plugin-dynamic-import-node": "^2.3.3", - "core-js": "^3.6.5", - "core-js-compat": "^3.6.5", - "semver": "^6.1.0" + "core-js": "^3.8.3", + "core-js-compat": "^3.8.3", + "semver": "^7.3.4" }, "dependencies": { - "@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", - "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "requires": { - "@babel/types": "^7.16.0" + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==" + }, + "@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" } }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + }, + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" + }, + "@babel/plugin-proposal-decorators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz", + "integrity": "sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/plugin-syntax-decorators": "^7.19.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz", + "integrity": "sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } }, "@babel/runtime": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.0.tgz", - "integrity": "sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", - "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "caniuse-lite": { + "version": "1.0.30001446", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", + "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "@vue/babel-preset-jsx": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", - "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", "requires": { - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", - "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", - "@vue/babel-sugar-functional-vue": "^1.2.2", - "@vue/babel-sugar-inject-h": "^1.2.2", - "@vue/babel-sugar-v-model": "^1.2.3", - "@vue/babel-sugar-v-on": "^1.2.3" + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" } }, "@vue/babel-sugar-composition-api-inject-h": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", - "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", "requires": { "@babel/plugin-syntax-jsx": "^7.2.0" } }, "@vue/babel-sugar-composition-api-render-instance": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", - "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", "requires": { "@babel/plugin-syntax-jsx": "^7.2.0" } }, "@vue/babel-sugar-functional-vue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", - "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", "requires": { "@babel/plugin-syntax-jsx": "^7.2.0" } }, "@vue/babel-sugar-inject-h": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", - "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", "requires": { "@babel/plugin-syntax-jsx": "^7.2.0" } }, "@vue/babel-sugar-v-model": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", - "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", "requires": { "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", "camelcase": "^5.0.0", "html-tags": "^2.0.0", "svg-tags": "^1.0.0" @@ -11463,17 +11715,17 @@ "html-tags": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=" + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==" } } }, "@vue/babel-sugar-v-on": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", - "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", "requires": { "@babel/plugin-syntax-jsx": "^7.2.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", "camelcase": "^5.0.0" } }, @@ -11483,48 +11735,711 @@ "integrity": "sha512-0zI0kANAVmjFO2LWGUIzdGPMeE3+9k+KeRDXsUqB30YfRF7abjfiiRPq5BU9pOzlJbVdpRkisschBrvdJqDuDg==" }, "@vue/cli-plugin-babel": { - "version": "4.5.15", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.15.tgz", - "integrity": "sha512-hBLrwYfFkHldEe34op/YNgPhpOWI5n5DB2Qt9I/1Epeif4M4iFaayrgjvOR9AVM6WbD3Yx7WCFszYpWrQZpBzQ==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz", + "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==", "requires": { - "@babel/core": "^7.11.0", - "@vue/babel-preset-app": "^4.5.15", - "@vue/cli-shared-utils": "^4.5.15", - "babel-loader": "^8.1.0", - "cache-loader": "^4.1.0", - "thread-loader": "^2.1.3", - "webpack": "^4.0.0" + "@babel/core": "^7.12.16", + "@vue/babel-preset-app": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "babel-loader": "^8.2.2", + "thread-loader": "^3.0.0", + "webpack": "^5.54.0" }, "dependencies": { - "@vue/cli-shared-utils": { - "version": "4.5.15", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz", - "integrity": "sha512-SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==", + "@achrinza/node-ipc": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.6.tgz", + "integrity": "sha512-ULSIYPy4ZPM301dfCxRz0l2GJjOwIo/PqmWonIu1bLml7UmnVQmH+juJcoyXp6E8gIRRNAjGYftJnNQlfy4vPg==", "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" } }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==" + }, + "@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + }, + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", + "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + }, + "@vue/cli-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz", + "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", + "requires": { + "@achrinza/node-ipc": "^9.2.5", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "joi": "^17.4.0", + "launch-editor": "^2.2.1", + "lru-cache": "^6.0.0", + "node-fetch": "^2.6.7", + "open": "^8.0.2", + "ora": "^5.3.0", + "read-pkg": "^5.1.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "caniuse-lite": { + "version": "1.0.30001446", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", + "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -11532,6 +12447,104 @@ "requires": { "ansi-regex": "^5.0.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "terser": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + } + }, + "thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "requires": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -11952,33 +12965,43 @@ } }, "@vue/cli-plugin-unit-mocha": { - "version": "4.5.15", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-mocha/-/cli-plugin-unit-mocha-4.5.15.tgz", - "integrity": "sha512-ZCUnZynnSe69zyEdPa7VLMR/4IpMykGTkZQHmvqP9KYlz0QtM7UkCxYcL5xqRcnh4lda8rmKasMVnLPD0NUbPw==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-unit-mocha/-/cli-plugin-unit-mocha-5.0.8.tgz", + "integrity": "sha512-t8eN1ttbSkHg+U7AjCKwpuhpV2OBsP35RjBkdSrcAPjoX3MxVwoWyqGPeYI+jWbPGX3tFxM/uMQwN0U3lmzH7A==", "requires": { - "@vue/cli-shared-utils": "^4.5.15", - "jsdom": "^15.2.1", + "@vue/cli-shared-utils": "^5.0.8", + "jsdom": "^18.0.1", "jsdom-global": "^3.0.2", - "mocha": "^6.2.2", - "mochapack": "^1.1.15" + "mocha": "^8.3.0", + "mochapack": "^2.1.0" }, "dependencies": { - "@vue/cli-shared-utils": { - "version": "4.5.15", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz", - "integrity": "sha512-SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==", + "@achrinza/node-ipc": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.6.tgz", + "integrity": "sha512-ULSIYPy4ZPM301dfCxRz0l2GJjOwIo/PqmWonIu1bLml7UmnVQmH+juJcoyXp6E8gIRRNAjGYftJnNQlfy4vPg==", "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + } + }, + "@vue/cli-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz", + "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", + "requires": { + "@achrinza/node-ipc": "^9.2.5", + "chalk": "^4.1.2", "execa": "^1.0.0", + "joi": "^17.4.0", "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", + "lru-cache": "^6.0.0", + "node-fetch": "^2.6.7", + "open": "^8.0.2", + "ora": "^5.3.0", "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", + "semver": "^7.3.4", "strip-ansi": "^6.0.0" } }, @@ -11987,10 +13010,144 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==" + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } }, "strip-ansi": { "version": "6.0.1", @@ -11999,6 +13156,19 @@ "requires": { "ansi-regex": "^5.0.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -12148,11 +13318,31 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -12184,6 +13374,35 @@ "ansi-regex": "^5.0.1" } }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.8.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", + "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -12446,6 +13665,28 @@ "@webassemblyjs/ast": "1.9.0" } }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + }, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" + } + } + }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", @@ -12568,9 +13809,9 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" }, "accepts": { "version": "1.3.7", @@ -12587,29 +13828,49 @@ "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" }, "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } } }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==" + }, "acorn-jsx": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==" }, "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, "address": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -12866,11 +14127,6 @@ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" - }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -15645,9 +16901,9 @@ } }, "core-js": { - "version": "3.26.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.26.1.tgz", - "integrity": "sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==" + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", + "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==" }, "core-js-compat": { "version": "3.11.0", @@ -16044,9 +17300,9 @@ } }, "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" }, "cssstyle": { "version": "2.3.0", @@ -16091,13 +17347,24 @@ } }, "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "dependencies": { + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } + } } }, "de-indent": { @@ -16118,6 +17385,11 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, "decode-uri-component": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", @@ -16526,9 +17798,9 @@ } }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" }, "diffie-hellman": { "version": "5.0.3", @@ -16664,11 +17936,11 @@ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", "requires": { - "webidl-conversions": "^4.0.2" + "webidl-conversions": "^7.0.0" } }, "domhandler": { @@ -16680,9 +17952,9 @@ } }, "dompurify": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.1.tgz", - "integrity": "sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.3.tgz", + "integrity": "sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==" }, "domutils": { "version": "1.7.0", @@ -16965,6 +18237,11 @@ } } }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, "es-shim-unscopables": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", @@ -17009,17 +18286,22 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", + "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", "requires": { "esprima": "^4.0.1", - "estraverse": "^4.2.0", + "estraverse": "^5.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1", "source-map": "~0.6.1" }, "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -18081,19 +19363,9 @@ } }, "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "requires": { - "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - } - } + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" }, "flat-cache": { "version": "2.0.1", @@ -19429,9 +20701,9 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "hellojs": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/hellojs/-/hellojs-1.19.5.tgz", - "integrity": "sha512-hFlublej5rHFWjGe6MMMmj78otSIXBbrfvtWPZSSRmXKFoLMFlL41PJ1JPS8xwiSIZca2ve8uHoPZUDwU+/8gg==" + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/hellojs/-/hellojs-1.20.0.tgz", + "integrity": "sha512-zfZGRt0J0OpJHnw2GJz4uh+rzMNAMWpIymiaRbSmCqCvqDMLSx2/qR5JucqnHPsZHUEjyKj5aLJ8K54kyHHjLQ==" }, "hex-color-regex": { "version": "1.1.0", @@ -19493,11 +20765,11 @@ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" }, "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", "requires": { - "whatwg-encoding": "^1.0.1" + "whatwg-encoding": "^2.0.0" } }, "html-entities": { @@ -19571,9 +20843,9 @@ } }, "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==" }, "html-void-elements": { "version": "1.0.5", @@ -19672,6 +20944,16 @@ "requires-port": "^1.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "http-proxy-middleware": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", @@ -19744,6 +21026,15 @@ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -19780,6 +21071,11 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -20140,9 +21436,9 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "intro.js": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/intro.js/-/intro.js-6.0.0.tgz", - "integrity": "sha512-ZUiR6BoLSvPSlLG0boewnWVgji1fE1gBvP/pyw5pgCKXEDQz1mMeUxarggClPNs71UTq364LwSk9zxz17A9gaQ==" + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/intro.js/-/intro.js-7.0.1.tgz", + "integrity": "sha512-1oqz6aOz9cGQ3CrtVYhCSo6AkjnXUn302kcIWLaZ3TI4kKssRXDwDSz4VRoGcfC1jN+WfaSJXRBrITz+QVEBzg==" }, "invariant": { "version": "2.2.4", @@ -20495,6 +21791,11 @@ "isobject": "^3.0.1" } }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -20717,9 +22018,9 @@ } }, "jquery": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz", - "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz", + "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==" }, "js-message": { "version": "1.0.5", @@ -21153,49 +22454,60 @@ } }, "jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-18.1.1.tgz", + "integrity": "sha512-NmJQbjQ/gpS/1at/ce3nCx89HbXL/f5OcenBe8wU1Eik0ROhyUc3LtmG3567dEHAGXkN8rmILW/qtCOPxPHQJw==", "requires": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", + "abab": "^2.0.5", + "acorn": "^8.5.0", + "acorn-globals": "^6.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^3.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", + "xml-name-validator": "^4.0.0" }, "dependencies": { "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } } } }, "jsdom-global": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz", - "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=" + "integrity": "sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==" }, "jsesc": { "version": "2.5.2", @@ -21473,7 +22785,7 @@ "lodash.kebabcase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", - "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==" }, "lodash.mapvalues": { "version": "4.6.0", @@ -21485,11 +22797,6 @@ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" - }, "lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", @@ -22125,55 +23432,191 @@ } }, "mocha": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz", - "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", + "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", "requires": { - "ansi-colors": "3.2.3", + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "2.2.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.4", - "ms": "2.1.1", - "node-environment-flags": "1.0.5", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" }, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "ms": "^2.1.1" + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "requires": { - "locate-path": "^3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -22183,68 +23626,195 @@ "path-is-absolute": "^1.0.0" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "is-glob": "^4.0.1" } }, - "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "requires": { - "minimist": "^1.2.5" + "binary-extensions": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "js-yaml": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "log-symbols": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "requires": { + "chalk": "^4.0.0" } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "requires": { - "p-limit": "^2.0.0" + "p-limit": "^3.0.2" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } }, "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" } } }, "mochapack": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/mochapack/-/mochapack-1.1.15.tgz", - "integrity": "sha512-/gOsgJk3CWlNiOdef7hrNhp37VpatB9IiWzSCxS2p8pG21R7NAKJBBsU5T0eUWT9oz1NQhyubXdQgh51U7oVZA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/mochapack/-/mochapack-2.1.4.tgz", + "integrity": "sha512-qoZYT8ibht6z35e936P6Y/3nynFX843Jm+2l/pNWB3Sue63IHBfqZeAnF6Ypez85kUll7HtapMogfO2hGb2N2Q==", "requires": { "@babel/runtime-corejs2": "^7.0.0", "chalk": "^2.4.2", - "chokidar": "^2.0.0", - "glob-parent": "5.1.0", + "chokidar": "^3.5.2", + "glob-parent": "5.1.2", "globby": "^10.0.1", "interpret": "^1.2.0", "is-glob": "^4.0.1", @@ -22265,11 +23835,25 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, "array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -22278,6 +23862,21 @@ "fill-range": "^7.0.1" } }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -22287,25 +23886,15 @@ } }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } } }, "fill-range": { @@ -22324,10 +23913,16 @@ "locate-path": "^3.0.0" } }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, "glob-parent": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } @@ -22348,9 +23943,17 @@ } }, "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==" + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } }, "is-number": { "version": "7.0.0", @@ -22367,12 +23970,19 @@ } }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "dependencies": { + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + } } }, "p-limit": { @@ -22401,10 +24011,13 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } }, "slash": { "version": "3.0.0", @@ -22692,15 +24305,6 @@ "minimatch": "^3.0.2" } }, - "node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - } - }, "node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -22851,9 +24455,9 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" }, "nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" }, "oauth-sign": { "version": "0.9.0", @@ -23356,9 +24960,9 @@ } }, "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, "parse5-htmlparser2-tree-adapter": { "version": "6.0.1", @@ -23576,11 +25180,6 @@ } } }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" - }, "pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", @@ -25586,35 +27185,6 @@ } } }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -25796,17 +27366,19 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.63.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.4.tgz", + "integrity": "sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==", "requires": { - "chokidar": ">=3.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" }, "dependencies": { "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -25826,18 +27398,18 @@ } }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "fill-range": { @@ -25876,9 +27448,9 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "requires": { "picomatch": "^2.2.1" } @@ -25927,11 +27499,11 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "requires": { - "xmlchars": "^2.1.1" + "xmlchars": "^2.2.0" } }, "scheduler": { @@ -26230,9 +27802,9 @@ } }, "smartbanner.js": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/smartbanner.js/-/smartbanner.js-1.19.1.tgz", - "integrity": "sha512-x3alFTlk6pLuqrm9PrYQv1E+86CrEIgPf/KJ+nP5342BmOWstbdR8OwD3TPmM56zHQm4MEr/eoqbEcfTKdvdKw==" + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/smartbanner.js/-/smartbanner.js-1.19.2.tgz", + "integrity": "sha512-hwcGNp5Hza5PJHTmqP6H8q0XBYhloIQyJgdzv0ldz3HQSeEuKB2riVraQXdKuquE6ZU/0M0yubno53xJ/ZiQQg==" }, "snapdragon": { "version": "0.8.2", @@ -26603,15 +28175,10 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" - }, "stopword": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stopword/-/stopword-2.0.5.tgz", - "integrity": "sha512-MgmxgmVs0Uo9G4mMqRc/QBXdPePZUnVNYqnNiv8QdCXTqHmGRw36mrjToCeNxhu/7Ifa7RxAtd/KR/GLZdnN9g==" + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/stopword/-/stopword-2.0.8.tgz", + "integrity": "sha512-btlEC2vEuhCuvshz99hSGsY8GzaP5qzDPQm56j6rR/R38p8xdsOXgU5a6tIgvU/4hcCta1Vlo/2FVXA9m0f8XA==" }, "store2": { "version": "2.10.0", @@ -27332,9 +28899,9 @@ "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==" }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "style-loader": { "version": "1.3.0", @@ -27449,7 +29016,7 @@ "svg-tags": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=" + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==" }, "svg-url-loader": { "version": "7.1.1", @@ -27988,24 +29555,32 @@ "toposort": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" }, "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", + "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } } }, "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", "requires": { - "punycode": "^2.1.0" + "punycode": "^2.1.1" } }, "trim": { @@ -28251,9 +29826,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==" }, "uc.micro": { "version": "1.0.6", @@ -28697,9 +30272,9 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" }, "uuid-browser": { "version": "3.1.0", @@ -28721,9 +30296,9 @@ } }, "validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", + "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==" }, "vary": { "version": "1.1.2", @@ -29055,76 +30630,6 @@ } } }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.8.3", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", - "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "vue-mugen-scroll": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/vue-mugen-scroll/-/vue-mugen-scroll-0.2.6.tgz", @@ -29190,13 +30695,11 @@ } }, "w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", "requires": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" + "xml-name-validator": "^4.0.0" } }, "warning": { @@ -29349,9 +30852,9 @@ "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" }, "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" }, "webpack": { "version": "4.46.0", @@ -29676,11 +31179,21 @@ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" }, "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", "requires": { - "iconv-lite": "0.4.24" + "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, "whatwg-fetch": { @@ -29689,18 +31202,17 @@ "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" }, "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" }, "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" } }, "which": { @@ -29853,6 +31365,11 @@ "microevent.ts": "~0.1.1" } }, + "workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==" + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -29899,9 +31416,9 @@ } }, "ws": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==" }, "x-default-browser": { "version": "0.4.0", @@ -29912,9 +31429,9 @@ } }, "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" }, "xmlchars": { "version": "2.2.0", @@ -30021,13 +31538,31 @@ } }, "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + } } }, "yocto-queue": { diff --git a/website/client/package.json b/website/client/package.json index 3e86c2a45e..329074b24c 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -19,10 +19,10 @@ "@storybook/addon-notes": "5.3.21", "@storybook/addons": "6.5.9", "@storybook/vue": "6.5.14", - "@vue/cli-plugin-babel": "^4.5.15", + "@vue/cli-plugin-babel": "^5.0.8", "@vue/cli-plugin-eslint": "^4.5.19", "@vue/cli-plugin-router": "^5.0.8", - "@vue/cli-plugin-unit-mocha": "^4.5.15", + "@vue/cli-plugin-unit-mocha": "^5.0.8", "@vue/cli-service": "^4.5.15", "@vue/test-utils": "1.0.0-beta.29", "amplitude-js": "^8.21.3", @@ -32,30 +32,30 @@ "bootstrap": "^4.6.0", "bootstrap-vue": "^2.23.1", "chai": "^4.3.7", - "core-js": "^3.26.1", - "dompurify": "^2.4.1", + "core-js": "^3.31.0", + "dompurify": "^3.0.3", "eslint": "^6.8.0", "eslint-config-habitrpg": "^6.2.0", "eslint-plugin-mocha": "^5.3.0", "eslint-plugin-vue": "^6.2.2", "habitica-markdown": "^3.0.0", - "hellojs": "^1.19.5", + "hellojs": "^1.20.0", "inspectpack": "^4.7.1", - "intro.js": "^6.0.0", - "jquery": "^3.6.1", + "intro.js": "^7.0.1", + "jquery": "^3.7.0", "lodash": "^4.17.21", "moment": "^2.29.4", "nconf": "^0.12.0", - "sass": "^1.34.0", + "sass": "^1.63.4", "sass-loader": "^8.0.2", - "smartbanner.js": "^1.19.1", - "stopword": "^2.0.5", + "smartbanner.js": "^1.19.2", + "stopword": "^2.0.8", "svg-inline-loader": "^0.8.2", "svg-url-loader": "^7.1.1", "svgo": "^1.3.2", "svgo-loader": "^2.2.1", - "uuid": "^8.3.2", - "validator": "^13.7.0", + "uuid": "^9.0.0", + "validator": "^13.9.0", "vue": "^2.7.10", "vue-cli-plugin-storybook": "2.1.0", "vue-mugen-scroll": "^0.2.6", @@ -66,6 +66,6 @@ "webpack": "^4.46.0" }, "devDependencies": { - "@babel/plugin-proposal-optional-chaining": "^7.18.9" + "@babel/plugin-proposal-optional-chaining": "^7.21.0" } } diff --git a/website/client/src/app.vue b/website/client/src/app.vue index e9afbb2515..95cb2ba425 100644 --- a/website/client/src/app.vue +++ b/website/client/src/app.vue @@ -35,6 +35,8 @@ + + @@ -296,10 +295,6 @@ width: 50%; } - .challenge-link, .user-link { - color: $blue-10 !important; - } - .entry-action { b { text-transform: uppercase; diff --git a/website/client/src/components/userLink.vue b/website/client/src/components/userLink.vue index a0591754e6..1715a13893 100644 --- a/website/client/src/components/userLink.vue +++ b/website/client/src/components/userLink.vue @@ -2,13 +2,13 @@ {{ displayName }}
@@ -37,10 +37,15 @@ color: $gray-50; } + &[class*="tier"] .svg-icon { + margin-top: 5px; + } + &.npc .svg-icon { + margin-top: 4px; + } + .svg-icon { - width: 10px; - display: inline-block; - margin-left: .5em; + margin-left: 6px; &:empty { display: none; diff --git a/website/client/src/components/userMenu/profile.vue b/website/client/src/components/userMenu/profile.vue index 51818f9122..d228a5769b 100644 --- a/website/client/src/components/userMenu/profile.vue +++ b/website/client/src/components/userMenu/profile.vue @@ -759,6 +759,7 @@ import challenge from '@/assets/svg/challenge.svg'; import member from '@/assets/svg/member-icon.svg'; import staff from '@/assets/svg/tier-staff.svg'; import error404 from '../404'; +import externalLinks from '../../mixins/externalLinks'; import { userCustomStateMixin } from '../../mixins/userState'; // @TODO: EMAILS.COMMUNITY_MANAGER_EMAIL const COMMUNITY_MANAGER_EMAIL = 'admin@habitica.com'; @@ -772,7 +773,7 @@ export default { profileStats, error404, }, - mixins: [userCustomStateMixin('userLoggedIn')], + mixins: [externalLinks, userCustomStateMixin('userLoggedIn')], props: ['userId', 'startingPage'], data () { return { @@ -862,8 +863,12 @@ export default { mounted () { this.loadUser(); this.oldTitle = this.$store.state.title; + this.handleExternalLinks(); this.selectPage(this.startingPage); }, + updated () { + this.handleExternalLinks(); + }, beforeDestroy () { if (this.oldTitle) { this.$store.dispatch('common:setTitle', { diff --git a/website/client/src/components/userMenu/profileStats.vue b/website/client/src/components/userMenu/profileStats.vue index 3b6efae101..3e983a2b2b 100644 --- a/website/client/src/components/userMenu/profileStats.vue +++ b/website/client/src/components/userMenu/profileStats.vue @@ -190,14 +190,10 @@ class="col-12 col-md-6" >
-
- +
{{ totalStatPoints(stat) | floorWholeNumber }}
+
  • @@ -355,7 +358,7 @@ export default { }, allocateStatsList: { - str: { title: 'allocateStr', popover: 'strengthText', allocatepop: 'allocateStrPop' }, + str: { title: 'allocateStr', popover: 'strText', allocatepop: 'allocateStrPop' }, int: { title: 'allocateInt', popover: 'intText', allocatepop: 'allocateIntPop' }, con: { title: 'allocateCon', popover: 'conText', allocatepop: 'allocateConPop' }, per: { title: 'allocatePer', popover: 'perText', allocatepop: 'allocatePerPop' }, @@ -364,7 +367,7 @@ export default { stats: { str: { title: 'strength', - popover: 'strengthText', + popover: 'strText', }, int: { title: 'intelligence', diff --git a/website/client/src/components/userMenu/stats.vue b/website/client/src/components/userMenu/stats.vue index d104f1804c..823918db0b 100644 --- a/website/client/src/components/userMenu/stats.vue +++ b/website/client/src/components/userMenu/stats.vue @@ -146,17 +146,19 @@ :key="stat" class="row" > -
    - - {{ $t(statInfo.title) }} - +
    + {{ $t(statInfo.title)}} : {{ statsComputed[stat] }} +
      @@ -183,27 +185,38 @@
    -
    +
    {{ $t('stealth') }} : {{ user.stats.buffs.stealth }}  +
    -
    +
    - - {{ $t('streaksFrozen') }} + + {{ $t('streaksFrozen') }} + +
    @@ -237,19 +250,27 @@ > {{ $t('noMoreAllocate') }}

    -

    +

    {{ user.stats.points }}  - {{ $t('unallocated') }} + {{ $t('unallocated') }} +

    -
    +
    -
    +
    -
    +
    -
    +
    +
    @@ -346,28 +395,35 @@ :key="stat" class="row" > -
    - +
    {{ $t(statInfo.title) + user.stats[stat] }} +
    - +
diff --git a/website/client/src/main.js b/website/client/src/main.js index f3587c5c12..7a9e39a2f3 100644 --- a/website/client/src/main.js +++ b/website/client/src/main.js @@ -33,9 +33,15 @@ setUpLogging(); setupAnalytics(); // just create queues for analytics, no scripts loaded at this time const store = getStore(); -export default new Vue({ +const vueInstance = new Vue({ el: '#app', router, store, render: h => h(AppComponent), }); + +export default vueInstance; + +window.externalLink = url => { + vueInstance.$root.$emit('habitica:external-link', url); +}; diff --git a/website/client/src/mixins/externalLinks.js b/website/client/src/mixins/externalLinks.js new file mode 100644 index 0000000000..40895cd4f9 --- /dev/null +++ b/website/client/src/mixins/externalLinks.js @@ -0,0 +1,36 @@ +import some from 'lodash/some'; + +export default { + methods: { + handleExternalLinks () { + const { TRUSTED_DOMAINS } = process.env; + const allLinks = document.getElementsByTagName('a'); + + for (let i = 0; i < allLinks.length; i += 1) { + const link = allLinks[i]; + let domainIndex = link.href.indexOf('www'); + if (domainIndex !== -1 && domainIndex < 9) { + domainIndex += 4; + } else { + domainIndex = link.href.indexOf('//') + 2; + } + + if ((link.classList.value.indexOf('external-link') === -1) + && (!link.offsetParent || link.offsetParent.classList.value.indexOf('link-exempt') === -1) + && domainIndex !== 1 + && !some(TRUSTED_DOMAINS.split(','), domain => link.href.indexOf(domain) === domainIndex)) { + link.classList.add('external-link'); + link.addEventListener('click', e => { + if (e.ctrlKey || e.metaKey) { + return; + } + e.stopPropagation(); + e.preventDefault(); + + window.externalLink(link.href); + }); + } + } + }, + }, +}; diff --git a/website/client/src/mixins/foolPet.js b/website/client/src/mixins/foolPet.js index 6a2c74f9a2..6c36bb00bd 100644 --- a/website/client/src/mixins/foolPet.js +++ b/website/client/src/mixins/foolPet.js @@ -26,6 +26,7 @@ export default { 'Fox-Veteran', 'JackOLantern-Glow', 'Gryphon-Gryphatrice', + 'Gryphatrice-Jubilant', 'JackOLantern-RoyalPurple', ]; const BASE_PETS = [ @@ -39,15 +40,15 @@ export default { 'Dragon', 'Cactus', ]; - if (!pet) return 'Pet-Cactus-Virtual'; + if (!pet) return 'Pet-TigerCub-TeaShop'; if (SPECIAL_PETS.indexOf(pet) !== -1) { - return 'Pet-Wolf-Virtual'; + return 'Pet-Dragon-TeaShop'; } const species = pet.slice(0, pet.indexOf('-')); if (includes(BASE_PETS, species)) { - return `Pet-${species}-Virtual`; + return `Pet-${species}-TeaShop`; } - return 'Pet-Fox-Virtual'; + return 'Pet-BearCub-TeaShop'; }, }, }; diff --git a/website/client/src/mixins/numberInvalid.js b/website/client/src/mixins/numberInvalid.js index 74db1d8be5..e8b0e14cc8 100644 --- a/website/client/src/mixins/numberInvalid.js +++ b/website/client/src/mixins/numberInvalid.js @@ -1,7 +1,9 @@ export default { computed: { numberInvalid () { - return this.selectedAmountToBuy < 1 || !Number.isInteger(this.selectedAmountToBuy); + const inputNumber = Number(this.selectedAmountToBuy); + return inputNumber < 1 + || !Number.isInteger(inputNumber); }, }, }; diff --git a/website/client/src/mixins/payments.js b/website/client/src/mixins/payments.js index f22c5ffc5f..65af65e5aa 100644 --- a/website/client/src/mixins/payments.js +++ b/website/client/src/mixins/payments.js @@ -9,7 +9,6 @@ import { CONSTANTS, setLocalSetting } from '@/libs/userlocalManager'; const { STRIPE_PUB_KEY } = process.env; -// const habiticaUrl = `${window.location.protocol}//${window.location.host}`; let stripeInstance = null; export default { @@ -70,6 +69,7 @@ export default { type, giftData, gemsBlock, + sku, } = data; let { url } = data; @@ -93,6 +93,11 @@ export default { url += `?gemsBlock=${gemsBlock.key}`; } + if (type === 'sku') { + appState.sku = sku; + url += `?sku=${sku}`; + } + setLocalSetting(CONSTANTS.savedAppStateValues.SAVED_APP_STATE, JSON.stringify(appState)); window.open(url, '_blank'); @@ -129,6 +134,7 @@ export default { if (data.group || data.groupToCreate) paymentType = 'groupPlan'; if (data.gift && data.gift.type === 'gems') paymentType = 'gift-gems'; if (data.gift && data.gift.type === 'subscription') paymentType = 'gift-subscription'; + if (data.sku) paymentType = 'sku'; let url = '/stripe/checkout-session'; const postData = {}; @@ -148,6 +154,7 @@ export default { if (data.coupon) postData.coupon = data.coupon; if (data.groupId) postData.groupId = data.groupId; if (data.demographics) postData.demographics = data.demographics; + if (data.sku) postData.sku = data.sku; const response = await axios.post(url, postData); @@ -250,6 +257,7 @@ export default { if (data.type === 'single') { this.amazonPayments.gemsBlock = data.gemsBlock; + this.amazonPayments.sku = data.sku; } if (data.gift) { diff --git a/website/client/src/mixins/spells.js b/website/client/src/mixins/spells.js index a34b69836e..0b2c445b02 100644 --- a/website/client/src/mixins/spells.js +++ b/website/client/src/mixins/spells.js @@ -114,7 +114,7 @@ export default { this.castCancel(); // the selected member doesn't have the flags property which sets `cardReceived` - if (spell.pinType !== 'card') { + if (spell.pinType !== 'card' && spell.bulk !== true) { try { spell.cast(this.user, target, {}); } catch (e) { diff --git a/website/client/src/router/index.js b/website/client/src/router/index.js index 1a5fc4e99d..57828f998d 100644 --- a/website/client/src/router/index.js +++ b/website/client/src/router/index.js @@ -1,5 +1,6 @@ import Vue from 'vue'; import VueRouter from 'vue-router'; +import * as Analytics from '@/libs/analytics'; import getStore from '@/store'; import handleRedirect from './handleRedirect'; @@ -72,13 +73,14 @@ const ItemsPage = () => import(/* webpackChunkName: "inventory" */'@/components/ const EquipmentPage = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/equipment/index'); const StablePage = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/stable/index'); -// Guilds +// Guilds & Parties const GuildIndex = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/index'); const TavernPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/tavern'); const MyGuilds = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/myGuilds'); const GuildsDiscoveryPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/discovery'); const GroupPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/group'); const GroupPlansAppPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/groupPlan'); +const LookingForParty = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/lookingForParty'); // Group Plans const GroupPlanIndex = () => import(/* webpackChunkName: "group-plans" */ '@/components/group-plans/index'); @@ -157,6 +159,7 @@ const router = new VueRouter({ ], }, { name: 'party', path: '/party', component: GroupPage }, + { name: 'lookingForParty', path: '/looking-for-party', component: LookingForParty }, { name: 'groupPlan', path: '/group-plans', component: GroupPlansAppPage }, { name: 'groupPlanDetail', @@ -272,6 +275,11 @@ const router = new VueRouter({ name: 'transactions', path: 'transactions', component: Transactions, + meta: { + privilegeNeeded: [ + 'userSupport', + ], + }, }, { name: 'notifications', @@ -316,11 +324,6 @@ const router = new VueRouter({ { name: 'front', path: 'front', component: HomePage, meta: { requiresLogin: false }, }, - // Commenting out merch page see - // https://github.com/HabitRPG/habitica/issues/12039 - // { - // name: 'merch', path: 'merch', component: MerchPage, meta: { requiresLogin: false }, - // }, { name: 'news', path: 'new-stuff', component: NewsPage, meta: { requiresLogin: false }, }, @@ -433,6 +436,19 @@ router.beforeEach(async (to, from, next) => { } } + if (to.name === 'party') { + router.app.$root.$emit('update-party'); + } + + if (to.name === 'lookingForParty') { + Analytics.track({ + hitType: 'event', + eventName: 'View Find Members', + eventAction: 'View Find Members', + eventCategory: 'behavior', + }, { trackOnClient: true }); + } + // Redirect old guild urls if (to.hash.indexOf('#/options/groups/guilds/') !== -1) { const splits = to.hash.split('/'); diff --git a/website/client/src/store/actions/members.js b/website/client/src/store/actions/members.js index 4d045b9743..85e44251a2 100644 --- a/website/client/src/store/actions/members.js +++ b/website/client/src/store/actions/members.js @@ -1,8 +1,5 @@ import axios from 'axios'; -// import omit from 'lodash/omit'; -// import findIndex from 'lodash/findIndex'; - const apiv4Prefix = '/api/v4'; export async function getGroupMembers (store, payload) { @@ -117,38 +114,3 @@ export async function getPurchaseHistory (store, payload) { const response = await axios.get(`${apiv4Prefix}/members/${payload.memberId}/purchase-history`); return response.data.data; } - -// export async function selectMember (uid) { -// let memberIsReady = _checkIfMemberIsReady(members[uid]); -// -// if (memberIsReady) { -// _prepareMember(members[uid], self); -// return -// } else { -// fetchMember(uid) -// .then(function (response) { -// var member = response.data.data; -// addToMembersList(member); // lazy load for later -// _prepareMember(member, self); -// deferred.resolve(); -// }); -// } -// } - -// function addToMembersList (member) { -// if (member._id) { -// members[member._id] = member; -// } -// } - -// function _checkIfMemberIsReady (member) { -// return member && member.items && member.items.weapon; -// } -// -// function _prepareMember(member, self) { -// self.selectedMember = members[member._id]; -// } -// -// $rootScope.$on('userUpdated', function(event, user){ -// addToMembersList(user); -// }) diff --git a/website/client/src/store/actions/party.js b/website/client/src/store/actions/party.js index 37d9122add..0f095dd715 100644 --- a/website/client/src/store/actions/party.js +++ b/website/client/src/store/actions/party.js @@ -1,3 +1,4 @@ +import axios from 'axios'; import { loadAsyncResource } from '@/libs/asyncResource'; export function getMembers (store, forceLoad = false) { @@ -23,3 +24,14 @@ export function getParty (store, forceLoad = false) { forceLoad, }); } + +export async function lookingForParty (store, payload) { + let response; + if (payload && payload.page) { + response = await axios.get(`api/v4/looking-for-party?page=${payload.page}`); + } else { + response = await axios.get('api/v4/looking-for-party'); + } + + return response.data.data; +} diff --git a/website/client/tests/unit/components/tasks/column.spec.js b/website/client/tests/unit/components/tasks/column.spec.js index 2fbea418ef..a44bf4be4d 100644 --- a/website/client/tests/unit/components/tasks/column.spec.js +++ b/website/client/tests/unit/components/tasks/column.spec.js @@ -21,6 +21,18 @@ describe('Task Column', () => { getters: { 'tasks:getFilteredTaskList': () => [], }, + + state: { + user: { + data: { + preferences: { + tasks: { + activeFilter: {}, + }, + }, + }, + }, + }, }, mocks, stubs, @@ -76,7 +88,20 @@ describe('Task Column', () => { 'tasks:getFilteredTaskList': () => () => habits, }; - const store = new Store({ getters }); + const store = new Store({ + getters, + state: { + user: { + data: { + preferences: { + tasks: { + activeFilter: {}, + }, + }, + }, + }, + }, + }); wrapper = makeWrapper({ store }); }); diff --git a/website/client/tests/unit/components/tasks/task.spec.js b/website/client/tests/unit/components/tasks/task.spec.js deleted file mode 100644 index 9349d7ea2f..0000000000 --- a/website/client/tests/unit/components/tasks/task.spec.js +++ /dev/null @@ -1,88 +0,0 @@ -import { shallowMount, createLocalVue } from '@vue/test-utils'; -import moment from 'moment'; - -import Task from '@/components/tasks/task.vue'; -import Store from '@/libs/store'; - -const localVue = createLocalVue(); -localVue.use(Store); - -describe('Task', () => { - let wrapper; - - function makeWrapper (additionalTaskData = {}, additionalUserData = {}) { - return shallowMount(Task, { - propsData: { - task: { - group: {}, - ...additionalTaskData, - }, - }, - store: { - state: { - user: { - data: { - preferences: {}, - ...additionalUserData, - }, - }, - }, - getters: { - 'tasks:getTaskClasses': () => ({}), - 'tasks:canEdit': () => ({}), - 'tasks:canDelete': () => ({}), - }, - }, - mocks: { $t: (key, params) => key + (params ? JSON.stringify(params) : '') }, - directives: { 'b-tooltip': {} }, - localVue, - }); - } - - it('returns a vue instance', () => { - wrapper = makeWrapper(); - expect(wrapper.isVueInstance()).to.be.true; - }); - - describe('Due date calculation', () => { - let clock; - - function setClockTo (time) { - const now = moment(time); - clock = sinon.useFakeTimers(now.toDate()); - return now; - } - - afterEach(() => { - clock.restore(); - }); - - it('formats due date to today if due today', () => { - const now = setClockTo('2019-09-17T17:57:00+02:00'); - wrapper = makeWrapper({ date: now }); - - expect(wrapper.vm.formatDueDate()).to.equal('dueIn{"dueIn":"today"}'); - }); - - it('formats due date to tomorrow if due tomorrow', () => { - const now = setClockTo('2012-06-12T14:17:28Z'); - wrapper = makeWrapper({ date: now.add(1, 'day') }); - - expect(wrapper.vm.formatDueDate()).to.equal('dueIn{"dueIn":"in a day"}'); - }); - - it('formats due date to 5 days if due in 5 days', () => { - const now = setClockTo(); - wrapper = makeWrapper({ date: now.add(5, 'days') }); - - expect(wrapper.vm.formatDueDate()).to.equal('dueIn{"dueIn":"in 5 days"}'); - }); - - it('formats due date to tomorrow if today but before dayStart', () => { - const now = setClockTo('2019-06-12T04:23:37+02:00'); - wrapper = makeWrapper({ date: now.add(8, 'hours') }, { preferences: { dayStart: 7 } }); - - expect(wrapper.vm.formatDueDate()).to.equal('dueIn{"dueIn":"in a day"}'); - }); - }); -}); diff --git a/website/client/vue.config.js b/website/client/vue.config.js index fd9f24185f..42ecd094e5 100644 --- a/website/client/vue.config.js +++ b/website/client/vue.config.js @@ -27,6 +27,7 @@ const envVars = [ 'APPLE_AUTH_CLIENT_ID', 'AMPLITUDE_KEY', 'LOGGLY_CLIENT_TOKEN', + 'TRUSTED_DOMAINS', // TODO necessary? if yes how not to mess up with vue cli? 'NODE_ENV' ]; diff --git a/website/common/locales/ace/achievements.json b/website/common/locales/ace/achievements.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/achievements.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/backgrounds.json b/website/common/locales/ace/backgrounds.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/backgrounds.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/challenge.json b/website/common/locales/ace/challenge.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/challenge.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/character.json b/website/common/locales/ace/character.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/character.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/communityguidelines.json b/website/common/locales/ace/communityguidelines.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/communityguidelines.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/content.json b/website/common/locales/ace/content.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/content.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/contrib.json b/website/common/locales/ace/contrib.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/contrib.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/death.json b/website/common/locales/ace/death.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/death.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/defaulttasks.json b/website/common/locales/ace/defaulttasks.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/defaulttasks.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/faq.json b/website/common/locales/ace/faq.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/faq.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/front.json b/website/common/locales/ace/front.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/front.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/gear.json b/website/common/locales/ace/gear.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/gear.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/generic.json b/website/common/locales/ace/generic.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/generic.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/groups.json b/website/common/locales/ace/groups.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/groups.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/inventory.json b/website/common/locales/ace/inventory.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/inventory.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/limited.json b/website/common/locales/ace/limited.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/limited.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/loginincentives.json b/website/common/locales/ace/loginincentives.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/loginincentives.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/merch.json b/website/common/locales/ace/merch.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/merch.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/messages.json b/website/common/locales/ace/messages.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/messages.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/noscript.json b/website/common/locales/ace/noscript.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/noscript.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/npc.json b/website/common/locales/ace/npc.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/npc.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/overview.json b/website/common/locales/ace/overview.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/overview.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/pets.json b/website/common/locales/ace/pets.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/pets.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/quests.json b/website/common/locales/ace/quests.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/quests.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/questscontent.json b/website/common/locales/ace/questscontent.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/questscontent.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/rebirth.json b/website/common/locales/ace/rebirth.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/rebirth.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/settings.json b/website/common/locales/ace/settings.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/settings.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/spells.json b/website/common/locales/ace/spells.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/spells.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/subscriber.json b/website/common/locales/ace/subscriber.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/subscriber.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ace/tasks.json b/website/common/locales/ace/tasks.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/website/common/locales/ace/tasks.json @@ -0,0 +1 @@ +{} diff --git a/website/common/locales/ach/groups.json b/website/common/locales/ach/groups.json index dc8fe6cf15..a7787ef6af 100755 --- a/website/common/locales/ach/groups.json +++ b/website/common/locales/ach/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/af/groups.json b/website/common/locales/af/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/af/groups.json +++ b/website/common/locales/af/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ar/achievements.json b/website/common/locales/ar/achievements.json index 3b843b0743..cc051a2681 100755 --- a/website/common/locales/ar/achievements.json +++ b/website/common/locales/ar/achievements.json @@ -127,16 +127,25 @@ "achievementReptacularRumbleModalText": "لقد جمعت كل الزواحف الأليفة!", "achievementReptacularRumbleText": "لقد فقس جميع الألوان القياسية للحيوانات الأليفة الزواحف: التمساح، الزاحف المجنح، الأفعى، ترايسيراتوبس، السلحفاة، التيرانوصور ريكس وفيلوسيرابتور!", "achievementBirdsOfAFeather": "أصدقاء الطيران", - "achievementZodiacZookeeper": "حارس حديقة الحيوانات الفلكية", - "achievementShadyCustomerText": "جمع كل حيوانات الظل الأليفة.", - "achievementShadyCustomerModalText": "لقد جمعت كل حيوانات الظل الأليفة!", - "achievementZodiacZookeeperModalText": "لقد جمعت كل الحيوانات الأليفة الفلكية!", + "achievementZodiacZookeeper": "حارس البروج", + "achievementShadyCustomerText": "جمعت كل الحيوانات الأليفة السوداء.", + "achievementShadyCustomerModalText": "لقد جمعت كل الحيوانات الأليفة السوداء!", + "achievementZodiacZookeeperModalText": "لقد جمعت كل حيوانات البروج الأليفة!", "achievementBirdsOfAFeatherText": "لقد فقس جميع الألوان القياسية للحيوانات الأليفة الطائرة: الخنزير الطائر، البومة، الببغاء، الزاحف المجنح، الجرايفون، فالكون، الطاووس والديك!", - "achievementShadeOfItAllModalText": "قمت بترويض كل الحيوانات السوداء", - "achievementShadyCustomer": "عميل الظل", - "achievementShadeOfItAll": "الظل فوق كل شيء", - "achievementShadeOfItAllText": "روض كل حيوانات الظل السوداء.", + "achievementShadeOfItAllModalText": "لقد قمت بترويض كل الركوبات السوداء!", + "achievementShadyCustomer": "عميل مشبوه", + "achievementShadeOfItAll": "كل شيء في الظلام", + "achievementShadeOfItAllText": "قام بترويض كل الركوبات السوداء.", "achievementWoodlandWizard": "ساحر الغابة", "achievementWoodlandWizardText": "لقد فقس جميع الألوان القياسية لمخلوقات الغابة: الغرير، الدب، الغزال، الثعلب، الضفدع، القنفذ، البومة، الأفعى، السنجاب والشجيرة!", - "achievementWoodlandWizardModalText": "لقد جمعت كل حيوانات الغابة الأليفة!" + "achievementWoodlandWizardModalText": "لقد جمعت كل حيوانات الغابة الأليفة!", + "achievementPolarPro": "المحترف القطبي", + "achievementPolarProText": "فقست جميع الحيوانات الأليفة القطبية في الألوان القياسية: الدب ، الثعلب ، البطريق ، الحوت ، والذئب!", + "achievementPolarProModalText": "لقد جمعت كل الحيوانات الأليفة القطبية!", + "achievementBoneToPick": "جامع العظام", + "achievementBoneToPickText": "فقست جميع الحيوانات الأليفة الهيكلية المغامرة والكلاسيكية!", + "achievementBoneToPickModalText": "لقد جمعت كل الحيوانات الأليفة الهيكلية المغامرة والكلاسيكية!", + "achievementPlantParent": "والد النبات", + "achievementPlantParentText": "فقست جميع الحيوانات الأليفة النباتية في الألوان القياسية: الصبار والتريلنج!", + "achievementPlantParentModalText": "لقد جمعت كل الحيوانات الأليفة النباتية!" } diff --git a/website/common/locales/ar/backgrounds.json b/website/common/locales/ar/backgrounds.json index 07dce4ccfc..20623b214f 100755 --- a/website/common/locales/ar/backgrounds.json +++ b/website/common/locales/ar/backgrounds.json @@ -411,7 +411,7 @@ "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop.", "backgrounds022019": "مجموعة 57: تم إصدارها في فبراير 2019", "backgroundBirthdayPartyText": "حفلة عيد ميلاد", - "backgrounds012020": "مجموعة 68: تم طرحه في يناير 2020", + "backgrounds012020": "المجموعة 68: صدرت في يناير 2020", "backgroundMedievalKitchenText": "مطبخ القرون الوسطى", "backgroundMedievalKitchenNotes": "اطبخ العاصفة في مطبخ القرون الوسطى.", "backgroundBirthdayPartyNotes": "احتفل بعيد ميلاد ال Habitican المفضل لديك.", @@ -422,5 +422,245 @@ "backgroundDuckPondNotes": "أطعم الطيور المائية في بركة البط.", "backgroundValentinesDayFeastingHallNotes": "اشعر بالحب في قاعة احتفالات عيد الحب.", "hideLockedBackgrounds": "إخفاء الخلفيات المقفلة", - "backgrounds032019": "SET 58: تم إصداره في مارس 2019" + "backgrounds032019": "SET 58: تم إصداره في مارس 2019", + "backgroundFieldWithColoredEggsNotes": "ابحث عن كنز الربيع في حقل به بيض ملون.", + "backgroundFlowerMarketNotes": "اعثر على الزهور المثالية لباقة أو حديقة في سوق الزهور.", + "backgrounds052019": "المجموعة 60: صدرت في مايو 2019", + "backgroundHalflingsHouseNotes": "قم بزيارة منزل هافلينج الساحر.", + "backgroundBirchForestText": "غابة البتولا", + "backgroundBlossomingDesertNotes": "شاهد إزهارًا هائلًا نادرًا في الصحراء المزهرة.", + "backgroundDojoText": "دوجو", + "backgroundBlossomingDesertText": "الصحراء المزهرة", + "backgroundHalflingsHouseText": "منزل هافلينج", + "backgroundFlowerMarketText": "سوق الزهور", + "backgroundBirchForestNotes": "اقضِ بعض الوقت في غابة البتولا الهادئة.", + "backgroundFieldWithColoredEggsText": "حقل به بيض ملون", + "backgrounds042019": "المجموعة 59: صدرت في أبريل 2019", + "backgroundRainbowMeadowNotes": "ابحث عن وعاء الذهب حيث ينتهي قوس قزح في مرج.", + "backgrounds062019": "المجموعة 61: صدرت في يونيو 2019", + "backgroundUnderwaterVentsNotes": "غص في الأعماق حيث تكمن الفتحات المائية الحرارية.", + "backgroundRainbowMeadowText": "مرج قوس قزح", + "backgroundSeasideCliffsNotes": "قف على الشاطئ وسط جمال المنحدرات الساحلية المحيطة.", + "backgroundSchoolOfFishNotes": "اسبح بين سرب من الأسماك.", + "backgroundUnderwaterVentsText": "الفتحات الحرارية المائية", + "backgroundSeasideCliffsText": "المنحدرات الساحلية", + "backgroundParkWithStatueText": "حديقة بها تمثال", + "backgroundDojoNotes": "تعلم حركات جديدة في دوجو.", + "backgroundSchoolOfFishText": "سرب من الأسماك", + "backgrounds072019": "المجموعة 62: صدرت في يوليو 2019", + "backgroundParkWithStatueNotes": "اتبع مسارًا تصطف على جانبيه الأزهار عبر حديقة بها تمثال.", + "backgroundFlyingOverTropicalIslandsText": "التحليق فوق الجزر الاستوائية", + "backgroundFlyingOverTropicalIslandsNotes": "دع المنظر يذهلك وأنت تحلق فوق الجزر الاستوائية.", + "backgrounds082019": "المجموعة 63: صدرت في أغسطس 2019", + "backgroundLakeWithFloatingLanternsNotes": "شاهد النجوم من بحيرة احتفالية عليها فوانيس عائمة.", + "backgroundLakeWithFloatingLanternsText": "بحيرة عليها فوانيس عائمة", + "backgroundTreehouseNotes": "استرخ بمفردك في منزل الشجرة الخاص بك.", + "backgrounds092019": "المجموعة 64: صدرت في سبتمبر 2019", + "backgroundAutumnFlowerGardenText": "حديقة الزهور الخريفية", + "backgroundInAnAncientTombText": "قبر قديم", + "backgroundAmidAncientRuinsNotes": "قف بوقار لماضٍ غامض بين الآثار القديمة.", + "backgroundGiantDandelionsText": "الهندباء العملاقة", + "backgroundAmongGiantAnemonesText": "بين شقائق النعمان العملاقة", + "backgroundInAnAncientTombNotes": "واجه الأسرار من قبر قديم.", + "backgroundAutumnFlowerGardenNotes": "تشمس في دفء حديقة الزهور الخريفية.", + "backgroundTreehouseText": "منزل الشجرة", + "backgroundAmongGiantAnemonesNotes": "استكشف الشعاب المرجانية بينما أنت محمي\\ة من الحيوانات المفترسة البحرية بين شقائق النعمان العملاقة.", + "backgroundAmidAncientRuinsText": "بين الأطلال القديمة", + "backgroundGiantDandelionsNotes": "اقضِ بعض الوقت بين الهندباء العملاقة.", + "backgroundInAClassroomText": "صف", + "backgroundInAClassroomNotes": "اكتسب المعرفة من معلميك في صف.", + "backgrounds102019": "المجموعة 65: صدرت في اكتوبر 2019", + "backgroundFoggyMoorText": "مستنقع ضبابي", + "backgroundFoggyMoorNotes": "كن حذرًا أثناء عبور المستنقع الضبابي.", + "backgroundPumpkinCarriageText": "عربة اليقطين", + "backgroundPumpkinCarriageNotes": "اركب في عربة اليقطين المسحورة قبل وصول منتصف الليل.", + "backgroundMonsterMakersWorkshopText": "ورشة عمل صانع الوحش", + "backgroundMonsterMakersWorkshopNotes": "تجربة مع علوم مشوهة في ورشة عمل صانع الوحش.", + "backgrounds112019": "المجموعة 66: صدرت في نوفمبر 2019", + "backgroundFarmersMarketText": "سوق المزارعين", + "backgroundFarmersMarketNotes": "تسوق للحصول على الطعام الطازج في سوق المزارعين.", + "backgroundFlyingInAThunderstormText": "عاصفة رعدية مضطربة", + "backgroundFlyingInAThunderstormNotes": "تابع عاصفة رعدية مضطربة إذا كنت تجرؤ.", + "backgroundPotionShopNotes": "اعثر على إكسير لأي مرض في متجر الجرعات السحرية.", + "backgroundPotionShopText": "متجر الجرعات السحرية", + "backgrounds122019": "المجموعة 67: صدرت في ديسمبر 2019", + "backgroundWinterNocturneText": "ليلة شتاء", + "backgroundWinterNocturneNotes": "تشمس في ضوء النجوم في ليلة شتاء.", + "backgroundElegantBallroomText": "قاعة رقص أنيقة", + "backgroundDesertWithSnowText": "صحراء ثلجية", + "backgrounds022020": "المجموعة 69: صدرت في فبراير 2020", + "backgroundHallOfHeroesText": "قاعة الأبطال", + "backgrounds032020": "المجموعة 70: صدرت في مارس 2020", + "backgroundButterflyGardenText": "حديقة الفراشات", + "backgroundSnowglobeNotes": "هز كرة ثلجية واستقر في صورة مصغرة لمنظر طبيعي شتوي.", + "backgroundAmongGiantFlowersText": "بين الزهور العملاقة", + "backgroundHallOfHeroesNotes": "اقترب من قاعة الأبطال بتقدير وتقديس.", + "backgroundDesertWithSnowNotes": "شاهد الجمال النادر والهادئ للصحراء الثلجية.", + "backgroundTeaPartyNotes": "شارك في حفلة شاي فاخرة.", + "backgroundAnimalCloudsText": "غيوم على شكل حيوانات", + "backgrounds042020": "المجموعة 71: صدرت في أبريل 2020", + "backgroundAnimalCloudsNotes": "مارس خيالك بالعثور على أشكال حيوانات في الغيوم.", + "backgroundHolidayMarketText": "سوق العطلات", + "backgroundTeaPartyText": "حفلة شاي", + "backgroundElegantBallroomNotes": "ارقص طوال الليل في قاعة رقص أنيقة.", + "backgroundHolidayMarketNotes": "اعثر على الهدايا والزخارف المثالية في سوق العطلات.", + "backgroundSnowglobeText": "كرة الثلج", + "backgroundSucculentGardenNotes": "قدّر جمال حديقة النباتات النضرة.", + "backgroundButterflyGardenNotes": "احتفل مع الملقحات في حديقة الفراشات.", + "backgroundSucculentGardenText": "حديقة النباتات النضرة", + "backgroundHolidayWreathText": "إكليل الصنوبر", + "backgroundHolidayWreathNotes": "تزيين صورتك الرمزية مع إكليل عطر من الصنوبر.", + "backgroundAmongGiantFlowersNotes": "اقض بعض الوقت بين الزهور العملاقة.", + "backgroundHotAirBalloonText": "منطاد الهواء الساخن", + "backgroundRelaxationRiverText": "نهر الاسترخاء", + "backgroundHotAirBalloonNotes": "احلق فوق الأرض في منطاد الهواء الساخن.", + "backgroundStrawberryPatchText": "حقل الفراولة", + "backgroundHeatherFieldNotes": "استمتع برائحة حقل الخلنج.", + "backgroundHabitCityRooftopsText": "أسطح المنازل في مدينة حابيت", + "backgroundHabitCityRooftopsNotes": "خذ قفزات جريئة بين أسطح المنازل في مدينة حابيت.", + "backgroundHeatherFieldText": "حقل الخلنج", + "backgroundRainyBarnyardNotes": "تجول في مزرعة ممطرة.", + "backgroundRainyBarnyardText": "مزرعة ممطرة", + "backgrounds052020": "المجموعة 72: صدرت في مايو 2020", + "backgroundStrawberryPatchNotes": "جمع التوت الطازج من حقل الفراولة.", + "backgrounds062020": "المجموعة 73: صدرت في يونيو 2020", + "backgroundRelaxationRiverNotes": "انجرف ببطء على طول نهر الاسترخاء.", + "backgroundSaltLakeText": "بحيرة مالحة", + "backgroundVikingShipText": "سفينة فايكنغ", + "backgroundSaltLakeNotes": "شاهد التموجات الحمراء المذهلة لبحيرة مالحة.", + "backgroundBeachCabanaNotes": "استرخِ في ظل كوخ الشاطئ.", + "backgroundSwimmingAmongJellyfishText": "السباحة بين قناديل البحر", + "backgrounds072020": "المجموعة 74: صدرت في يوليو 2020", + "backgroundBeachCabanaText": "كوخ الشاطئ", + "backgroundVikingShipNotes": "أبحر على متن سفينة فايكنغ بحثًا عن المغامرة.", + "backgrounds082020": "المجموعة 75: صدرت في أغسطس 2020", + "backgroundSwimmingAmongJellyfishNotes": "اشعر بالجمال والخطر وأنت تسبح بين قناديل البحر.", + "backgroundUnderwaterRuinsText": "أطلال تحت الماء", + "backgroundCampingOutNotes": "استمتع بالهواء الطلق أثناء رحلة التخييم.", + "backgroundUnderwaterRuinsNotes": "اِسْتَكْشِفْ الأطلال تحت الماء التي غرقت منذ فترة طويلة.", + "backgroundCampingOutText": "رحلة تخييم", + "backgroundProductivityPlazaText": "ساحة الإنتاجية", + "backgroundJungleCanopyText": "رؤوس الأشجار الاستوائية", + "backgroundJungleCanopyNotes": "تشمس في الروعة الساخنة في رؤوس الأشجار الاستوائية.", + "backgroundProductivityPlazaNotes": "قم بنزهة ملهمة في ساحة الإنتاجية في مدينة حابيت.", + "backgroundFlyingOverAnAutumnForestNotes": "انظر إلى الألوان الرائعة أسفلك أثناء التحليق فوق الغابة الخريفية.", + "backgroundFlyingOverAnAutumnForestText": "التحليق فوق الغابة الخريفية", + "backgrounds092020": "المجموعة 76: صدرت في سبتمبر 2020", + "backgroundGiantAutumnLeafNotes": "اجثم على ورقة عملاقة قبل أن تسقط.", + "backgroundGiantAutumnLeafText": "ورقة عملاقة", + "backgroundHerdingSheepInAutumnNotes": "اختلط بالقطيع من الأغنام.", + "backgroundHerdingSheepInAutumnText": "قطيع من الأغنام", + "backgrounds102020": "المجموعة 77: صدرت في اكتوبر 2020", + "backgroundGingerbreadHouseText": "بيت كعك الزنجبيل", + "backgroundSpookyScarecrowFieldText": "حقل الفزاعة المخيفة", + "backgroundRiverOfLavaText": "نهر من الحمم البركانية", + "backgroundMysticalObservatoryText": "مرصد باطني", + "backgroundCrescentMoonNotes": "قم بعمل الأحلام وأنت جالس على الهلال.", + "backgroundHauntedForestText": "غابة مسكونة", + "backgroundRiverOfLavaNotes": "تحدى الحمل الحراري وتجول على طول نهر الحمم البركانية.", + "backgroundHauntedForestNotes": "حاول ألا تضيع في الغابة المسكونة.", + "backgroundCrescentMoonText": "هلال", + "backgroundSpookyScarecrowFieldNotes": "أثبت أنك أكثر شجاعة من الطائر بالذهاب إلى حقل الفزاعة المخيفة.", + "backgrounds112020": "المجموعة 78: صدرت في نوفمبر 2020", + "backgroundMysticalObservatoryNotes": "اقرأ مصيرك في النجوم من المرصد الباطني.", + "backgroundRestingInTheInnNotes": "اعمل براحة وأمان في غرفتك أثناء الراحة في النزل.", + "backgroundRestingInTheInnText": "الراحة في النزل", + "backgrounds122020": "المجموعة 79: صدرت في ديسمبر 2020", + "backgroundGingerbreadHouseNotes": "تحيط علما بالمشاهد والروائح و(إن كنت تجرؤ) النكهات بيت كعك الزنجبيل.", + "backgroundIcicleBridgeNotes": "اعبر الجسر الجليدي بحذر.", + "backgroundIcicleBridgeText": "جسر جليدي", + "backgroundInsideAnOrnamentText": "داخل حلية العطلة", + "backgroundWintryCastleNotes": "انظر إلى القلعة الشتوية التي تقع داخل الضباب البارد.", + "backgroundHolidayHearthText": "مدفأة احتفالية", + "backgrounds022021": "المجموعة 81: صدرت في فبراير 2021", + "backgroundFlyingOverGlacierText": "تحلق فوق نهر جليدي", + "backgrounds012021": "المجموعة 80: صدرت في يناير 2021", + "backgroundWintryCastleText": "قلعة شتوية", + "backgroundHotSpringNotes": "تخلص من همومك عن طريق الراحة في ينبوع حار.", + "backgroundHotSpringText": "ينبوع حار", + "backgroundHolidayHearthNotes": "استرخ ، دفئ نفسكَ وجفف نفسك بجانب مدفأة احتفالية.", + "backgroundInsideAnOrnamentNotes": "دع روح العطلة الخاصة بك تتألق من داخل حلية العطلة.", + "backgroundFlyingOverGlacierNotes": "شاهد المشهد المهيب وأنت تحلق فوق نهر جليدي.", + "backgroundHeartShapedBubblesText": "فقاعات على شكل قلب", + "backgroundHeartShapedBubblesNotes": "اطف بمرح بين الفقاعات على شكل قلب.", + "backgrounds032021": "المجموعة 82: صدرت في مارس 2021", + "backgroundThroneRoomText": "غرفة العرش", + "backgroundThroneRoomNotes": "امنح جمهورًا في غرفة العرش الفاخرة الخاصة بك.", + "backgroundInTheArmoryText": "في مستودع الأسلحة", + "backgroundSplashInAPuddleNotes": "استمتع بآثار العاصفة بالرش في بركة.", + "backgroundSpringThawText": "ذوبـان الثلوج في فصل الربيع", + "backgroundSpringThawNotes": "شاهد الشتاء يختفي مع ذوبان الثلوج في فصل الربيع.", + "backgrounds042021": "المجموعة 83: صدرت في أبريل 2021", + "backgroundInTheArmoryNotes": "جهز نفسك في مستودع الأسلحة.", + "backgroundSplashInAPuddleText": "الرش في بركة", + "backgroundAmongCattailsText": "بين القصب", + "backgroundElegantGardenText": "حديقة أنيقة", + "backgroundAmongCattailsNotes": "انظر إلى الحياة البرية في الأراضي الرطبة بين القصب.", + "backgroundCottageConstructionNotes": "ساعد في, أو على الأقل الإشراف على كوخ قيد الإنشاء.", + "backgroundCottageConstructionText": "كوخ قيد الانشاء", + "backgroundForestedLakeshoreText": "شاطئ البحيرة الحرجي", + "backgroundDragonsLairText": "عرين التنين", + "backgroundWaterMillNotes": "شاهد عجلة الطاحونة المائية تدور.", + "backgroundGhostShipText": "سفينة الأشباح", + "backgrounds062021": "المجموعة 85: صدرت في يونيو 2021", + "backgroundWindmillsText": "طواحين الهواء", + "backgroundAfternoonPicnicNotes": "استمتع بنزهة بعد الظهر بمفردك أو مع حيوانك الأليف.", + "backgroundClotheslineText": "حبل الغسيل", + "backgroundUnderwaterAmongKoiNotes": "أبهر وانبهر بالمخلوقات المتلألئة تحت الماء بين أسماك كوي.", + "backgrounds052021": "المجموعة 84: صدرت في مايو 2021", + "backgrounds072021": "المجموعة 86: صدرت في يوليو 2021", + "backgroundGhostShipNotes": "أثبت صحة القصص والأساطير عندما تصعد على متن سفينة الأشباح.", + "backgroundElegantGardenNotes": "تجول على طول المسارات المشذبة الجميلة لحديقة أنيقة.", + "backgroundForestedLakeshoreNotes": "كن موضع حسد فريقك من خلال موقعك المتميز على شاطئ البحيرة الحرجي.", + "backgroundDragonsLairNotes": "حاول ألا تزعج ساكن عرين التنين.", + "backgroundAfternoonPicnicText": "نزهة بعد الظهر", + "backgroundWaterMillText": "طاحونة مائية", + "backgroundClotheslineNotes": "استرخِ بينما تجف الملابس على حبل الغسيل.", + "backgroundWindmillsNotes": "استعد لمحاربة أعداء غير مرئيين في طواحين الهواء.", + "backgroundUnderwaterAmongKoiText": "تحت الماء بين أسماك كوي", + "backgroundRagingRiverText": "نهر هائج", + "backgroundRagingRiverNotes": "قف وسط التيار العظيم لنهر هائج.", + "backgrounds082021": "المجموعة 87: صدرت في أغسطس 2021", + "backgroundStoneTowerText": "برج حجري", + "backgroundStoneTowerNotes": "انظر من حاجز البرج الحجري إلى آخر.", + "backgroundRopeBridgeText": "جسر الحبل", + "backgroundDaytimeMistyForestText": "غابة ضبابية", + "backgroundRopeBridgeNotes": "أظهر للمشككين أن جسر الحبل هذا آمن تمامًا.", + "backgrounds092021": "المجموعة 88: صدرت في سبتمبر 2021", + "backgroundVineyardText": "مزرعة العنب", + "backgroundAutumnPoplarsText": "غابة الحور الخريفية", + "backgroundDaytimeMistyForestNotes": "تشمس بأشعة الضوء المشرقة من خلال الغابة الضبابية.", + "backgroundVineyardNotes": "استكشف مساحة من مزرعة العنب المثمرة.", + "backgroundAutumnLakeshoreText": "شاطئ البحيرة الخريفية", + "backgrounds102021": "المجموعة 89: صدرت في اكتوبر 2021", + "backgroundAutumnLakeshoreNotes": "توقف عند شاطئ البحيرة الخريفية لتقدير انعكاس الغابة على الماء.", + "backgroundAutumnPoplarsNotes": "استمتع بالدرجات اللامعة من اللون البني والذهبي في غابة الحور الخريفية.", + "backgrounds122021": "المجموعة 91: صدرت في ديسمبر 2021", + "backgrounds112021": "المجموعة 90: صدرت في نوفمبر 2021", + "backgroundFortuneTellersShopText": "محل العرافة", + "backgroundFortuneTellersShopNotes": "ابحث عن تلميحات مغرية لمستقبلك في محل العرافة.", + "backgroundInsideAPotionBottleText": "داخل زجاجة الجرعة السحرية", + "backgroundInsideAPotionBottleNotes": "انظر عبر الزجاج بينما تأمل في الإنقاذ من داخل زجاجة الجرعة السحرية.", + "backgroundSpiralStaircaseText": "درج حلزوني", + "backgroundSpiralStaircaseNotes": "اصعد ، انزل ، واذهب حول الدرج الحلزوني.", + "backgroundCrypticCandlesText": "شموع خفية", + "backgroundCrypticCandlesNotes": "استدع قوى غامضة بين الشموع الخفية.", + "backgroundHauntedPhotoText": "صورة مسكونة", + "backgroundHauntedPhotoNotes": "تجد نفسك محاصرًا في عالم أحادي اللون لصورة مسكونة.", + "backgroundUndeadHandsText": "أيدي الزومبي", + "backgroundUndeadHandsNotes": "حاول الهروب من براثن أيدي الزومبي.", + "backgrounds022022": "المجموعة 93: صدرت في فبراير 2022", + "backgroundFrozenPolarWatersText": "المياه القطبية المجمدة", + "backgroundFrozenPolarWatersNotes": "استكشف المياه القطبية المجمدة.", + "backgroundWinterCanyonText": "وادي شتوي", + "backgroundWinterCanyonNotes": "اذهب في مغامرة في وادي شتوي!", + "backgroundIcePalaceText": "قصر الجليد", + "backgrounds012022": "المجموعة 92: صدرت في يناير 2022", + "backgroundSnowyFarmText": "مزرعة ثلجية", + "backgroundMeteorShowerText": "دش النيزك", + "backgroundMeteorShowerNotes": "شاهد العرض الليلي المبهر لدش النيزك.", + "backgroundPalmTreeWithFairyLightsText": "شجرة نخيل مع أضواء زخرفية", + "backgroundSnowyFarmNotes": "تأكد من أن الجميع آمنون ودافئون في مزرعتك الثلجية.", + "backgroundIcePalaceNotes": "احكم في قصر الجليد.", + "backgroundPalmTreeWithFairyLightsNotes": "قف بجانب شجرة نخيل ملفوفة بأضواء زخرفية." } diff --git a/website/common/locales/ar/communityguidelines.json b/website/common/locales/ar/communityguidelines.json index 67097cfa74..913f75bab4 100755 --- a/website/common/locales/ar/communityguidelines.json +++ b/website/common/locales/ar/communityguidelines.json @@ -1,5 +1,4 @@ { - "tavernCommunityGuidelinesPlaceholder": "Friendly reminder: this is an all-ages chat, so please keep content and language appropriate! Consult the Community Guidelines in the sidebar if you have questions.", "lastUpdated": "آخر تحديث:", "commGuideHeadingWelcome": "أهلاً وسهلاً بك في Habitica!", @@ -7,7 +6,7 @@ "commGuidePara002": "To help keep everyone safe, happy, and productive in the community, we do have some guidelines. We have carefully crafted them to make them as friendly and easy-to-read as possible. Please take the time to read them before you start chatting.", "commGuidePara003": "تنطبق هذه القواعد على جميع المساحات الإجتماعية التي نستخدمها، بما في ذلك (ولكن لا تقتصر على) Trello، GitHub، Transifex و Wikia (أي الwiki). في بعض الأحيان، سوف تنشأ حالات غير متوقعة، مثل مصدراً جديداً من الصراع أو ظهور مستحضراً للأرواح الشرية. عندما يحدث ذلك، يجوز للمشرفين تعديل هذه المبادئ التوجيهية للحفاظ على سلامة المجتمع من التهديدات الجديدة. ولكن لا تخف: سيتم إعلامك عن طريق إعلان من الآنسة Bailey إذا تغيرت المبادئ التوجيهية.", "commGuideHeadingInteractions": "التفاعل في Habitica", - "commGuidePara015": "Habitica has two kinds of social spaces: public, and private. Public spaces include the Tavern, Public Guilds, GitHub, Trello, and the Wiki. Private spaces are Private Guilds, Party chat, and Private Messages. All Display Names must comply with the public space guidelines. To change your Display Name, go on the website to User > Profile and click on the \"Edit\" button.", + "commGuidePara015": "يحتوي Habitica على نوعين من الفضاءات الاجتماعية: العامة والخاصة. تشمل الفضاءات العامة التي يمكن الوصول إليها الحانوت والمنتديات العامة و GitHub و Trello والويكي. الفضاءات الخاصة هي الأندية الخاصة والدردشة الجماعية والرسائل الخاصة. يجب على جميع أسماء العرض وأسماء المستخدمين @ اتباع إرشادات الفضاء العام. لتغيير اسم العرض و / أو اسم المستخدم @ ، انتقل إلى القائمة> الإعدادات> الملف الشخصي على الهاتف المحمول. على الويب ، انتقل إلى المستخدم> الإعدادات.", "commGuidePara016": "عند التنقل ما بين الأماكن العامة في Habitica، هناك بعض القواعد العامة للحفاظ على سعادة وسلامة الجميع. ستكون هذه القواعد سهلة عليك أيها المغامر!", "commGuideList02A": "Respect each other. Be courteous, kind, friendly, and helpful. Remember: Habiticans come from all backgrounds and have had wildly divergent experiences. This is part of what makes Habitica so cool! Building a community means respecting and celebrating our differences as well as our similarities. Here are some easy ways to respect each other:", "commGuideList02B": "التزم بجميع الشروط والأحكام.", diff --git a/website/common/locales/ar/faq.json b/website/common/locales/ar/faq.json index 920398b920..6e9fb84014 100755 --- a/website/common/locales/ar/faq.json +++ b/website/common/locales/ar/faq.json @@ -1,11 +1,11 @@ { "frequentlyAskedQuestions": "الأسئلة الأكثر تكراراً", "faqQuestion0": "أنا محتار. من أين استطيع أن احصل على نظرة عامة؟", - "iosFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn experience and gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as Pets, Skills, and Quests! You can customize your character under Menu > Customize Avatar.\n\n Some basic ways to interact: click the (+) in the upper-right-hand corner to add a new task. Tap on an existing task to edit it, and swipe left on a task to delete it. You can sort tasks using Tags in the upper-left-hand corner, and expand and contract checklists by clicking on the checklist bubble.", + "iosFaqAnswer0": "أولاً ، ستقوم بإعداد المهام التي تريد القيام بها في حياتك اليومية. ثم ، بمجرد الانتهاء من المهام في الحياة الحقيقية وتحققها ، ستكسب الخبرة والذهب. يتم استخدام الذهب لشراء المعدات وبعض العناصر ، بالإضافة إلى المكافآت المخصصة. يؤدي الخبرة إلى صعود شخصيتك وفتح محتوى مثل الحيوانات الأليفة والمهارات والمهام! يمكنك تخصيص شخصيتك في القائمة> تخصيص الصورة الرمزية.\n\n بعض الطرق الأساسية للتفاعل: انقر على (+) في الزاوية العلوية اليمنى لإضافة مهمة جديدة. انقر فوق المهمة الموجودة لتحريرها ، واسحب إلى اليسار على المهمة لحذفها. يمكنك فرز المهام باستخدام العلامات في الزاوية العلوية اليسرى ، وتوسيع وطي قوائم الاختيار عن طريق النقر على فقاعة قائمة الاختيارات.", "androidFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn experience and gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as Pets, Skills, and Quests! You can customize your character under Menu > [Inventory >] Avatar.\n\n Some basic ways to interact: click the (+) in the lower-right-hand corner to add a new task. Tap on an existing task to edit it, and swipe left on a task to delete it. You can sort tasks using Tags in the upper-right-hand corner, and expand and contract checklists by clicking on the checklist count box.", "webFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn Experience and Gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as pets, skills, and quests! For more detail, check out a step-by-step overview of the game at [Help -> Overview for New Users](https://habitica.com/static/overview).", "faqQuestion1": "كيف أضيف مهماتي؟", - "iosFaqAnswer1": "Good Habits (the ones with a +) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a -) are tasks that you should avoid, like biting nails. Habits with a + and a - have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award experience and gold. Bad Habits subtract health.\n\n Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by tapping to edit it. If you skip a Daily that is due, your avatar will take damage overnight. Be careful not to add too many Dailies at once!\n\n To-Dos are your To-Do list. Completing a To-Do earns you gold and experience. You never lose health from To-Dos. You can add a due date to a To-Do by tapping to edit.", + "iosFaqAnswer1": "العادات الجيدة (تلك التي تحتوي على علامة \"+\") هي المهام التي يمكنك القيام بها عدة مرات في اليوم، مثل تناول الخضروات. العادات السيئة (تلك التي تحتوي على علامة \"-\") هي المهام التي يجب عليك تجنبها، مثل عض الأظافر. والعادات التي تحتوي على علامة \"+\" و \"-\" لديها خيار جيد وخيار سيئ، مثل استخدام الدرج بدلاً من المصعد.\n\nالعادات الجيدة تمنحك خبرة وذهب. والعادات السيئة تقلل من صحتك.\n\nالمهام اليومية هي المهام التي يجب عليك القيام بها كل يوم، مثل تنظيف أسنانك أو التحقق من بريدك الإلكتروني. يمكنك تعديل تواريخ المهام اليومية بالنقر لتحريرها. إذا تخطيت مهمة يومية محددة، فسيتلقى أفاتارك ضررًا خلال الليل. كن حذرًا من عدم إضافة العديد من المهام اليومية في وقت واحد!\n\nالمهام التي يجب القيام بها هي قائمة المهام الخاصة بك. إكمال المهام يمنحك الذهب والخبرة. لن تفقد أبدًا صحتك بسبب هذه المهام. يمكنك إضافة تاريخ استحقاق للمهام التي يجب القيام بها بالنقر لتحريرها.", "androidFaqAnswer1": "Good Habits (the ones with a +) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a -) are tasks that you should avoid, like biting nails. Habits with a + and a - have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award experience and gold. Bad Habits subtract health.\n\n Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by tapping to edit it. If you skip a Daily that is due, your character will take damage overnight. Be careful not to add too many Dailies at once!\n\n To-Dos are your To-Do list. Completing a To-Do earns you gold and experience. You never lose health from To-Dos. You can add a due date to a To-Do by tapping to edit.", "webFaqAnswer1": "* Good Habits (the ones with a :heavy_plus_sign:) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a :heavy_minus_sign:) are tasks that you should avoid, like biting nails. Habits with a :heavy_plus_sign: and a :heavy_minus_sign: have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award Experience and Gold. Bad Habits subtract Health.\n* Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by clicking the pencil item to edit it. If you skip a Daily that is due, your avatar will take damage overnight. Be careful not to add too many Dailies at once!\n* To-Dos are your To-Do list. Completing a To-Do earns you Gold and Experience. You never lose Health from To-Dos. You can add a due date to a To-Do by clicking the pencil icon to edit.", "faqQuestion2": "ما هي أمثلة المهمات؟", diff --git a/website/common/locales/ar/gear.json b/website/common/locales/ar/gear.json index 42643a0cad..68dedcde31 100755 --- a/website/common/locales/ar/gear.json +++ b/website/common/locales/ar/gear.json @@ -91,7 +91,7 @@ "weaponSpecialTakeThisText": "Take This Sword", "weaponSpecialTakeThisNotes": "This sword was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all Stats by <%= attrs %>.", "weaponSpecialTridentOfCrashingTidesText": "ترايدنت الأمواج المتضاربة", - "weaponSpecialTridentOfCrashingTidesNotes": "يمنحك القدرة على التحكم بالأسماك، وكذلك القدرة على تقديم بعض الطعنات القوية لمهماتك. يزيد الذكاء بقدر <%= int %>.", + "weaponSpecialTridentOfCrashingTidesNotes": "يمنحك القدرة على التحكم بالأسماك، وكذلك القدرة على توجيه بعض الطعنات القوية لمهماتك. يزيد الذكاء بقدر <%= int %>.", "weaponSpecialTaskwoodsLanternText": "Taskwoods Lantern", "weaponSpecialTaskwoodsLanternNotes": "Given at the dawn of time to the guardian ghost of the Taskwood Orchards, this lantern can illuminate the deepest darkness and weave powerful spells. Increases Perception and Intelligence by <%= attrs %> each.", "weaponSpecialBardInstrumentText": "Bardic Lute", @@ -117,7 +117,7 @@ "weaponSpecialYetiText": "رمح مروض اليتي", "weaponSpecialYetiNotes": "هذا الرمح يسمح لمستخدمه الصيطرة على أي يتي. يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لشتاء 2013-2014.", "weaponSpecialSkiText": "عمود المتزلج القاتل", - "weaponSpecialSkiNotes": "سلاح قادر على تدمير المجموعات الكبيرة من الأعداء. وأيضاً يساعد مستخدمه على الانعطافات المتوازية. يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لشتاء 2013-2014.", + "weaponSpecialSkiNotes": "سلاح قادر على تدمير المجموعات الكبيرة من الأعداء. وأيضاً يساعد مستخدمه على الانعطافات المتوازية. يزيد القوة بقدر <%= str %>. معدات الطبعة المحدودة لشتاء 2013-2014.", "weaponSpecialCandycaneText": "قضيب حلوى القصب", "weaponSpecialCandycaneNotes": "A powerful mage's staff. Powerfully DELICIOUS, we mean! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2013-2014 Winter Gear.", "weaponSpecialSnowflakeText": "العصا السحرية ذات ندفة الثلج", diff --git a/website/common/locales/ar/groups.json b/website/common/locales/ar/groups.json index bae6fe9703..5bfd5f3ac0 100755 --- a/website/common/locales/ar/groups.json +++ b/website/common/locales/ar/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ar/messages.json b/website/common/locales/ar/messages.json index 963d60b7c9..0656ddcebb 100755 --- a/website/common/locales/ar/messages.json +++ b/website/common/locales/ar/messages.json @@ -11,7 +11,7 @@ "messageLikesFood": "<%= egg %> يحب <%= foodText %> كثيراً!", "messageDontEnjoyFood": "<%= egg %> يأكل <%= foodText %> ولكنه لا يبدو مستمتعاً.", "messageBought": "لقد اشتريت <%= itemText %>", - "messageUnEquipped": "<%= itemText %> unequipped.", + "messageUnEquipped": "<%= itemText %> غير مجهز/ة.", "messageMissingEggPotion": "تفتقد أيًا من تلك البيضة أو جرعة الفقس.", "messageInvalidEggPotionCombo": "لا يمكنك فقس بيض حيوانات التنقيب مع جرع فقس سحرية! جرب بيضة أخرى.", "messageAlreadyPet": "لديك ذلك الحيوان الأليف. حاول فقس تركيبة مختلفة!", @@ -50,5 +50,7 @@ "unallocatedStatsPoints": "You have <%= points %> unallocated Stat Points", "beginningOfConversation": "هذه هي بداية محادثتك مع <%= userName %>. تذكر أن تكون لطيفاً محترماً، واتبع إرشادات المنتدى!", "messageDeletedUser": "عذراً، لقد حذف هذا المستخدم حسابه.", - "messageMissingDisplayName": "Missing display name." + "messageMissingDisplayName": "Missing display name.", + "messageBattleGearUnEquipped": "المعدات القتالية غير مجهزة.", + "messageCostumeUnEquipped": "الزي غير مجهز." } diff --git a/website/common/locales/ar/quests.json b/website/common/locales/ar/quests.json index b9a582f21c..055ee295c4 100755 --- a/website/common/locales/ar/quests.json +++ b/website/common/locales/ar/quests.json @@ -1,14 +1,14 @@ { - "quests": "التناقيب", - "quest": "تنقيب", - "petQuests": "Pet and Mount Quests", - "unlockableQuests": "Unlockable Quests", - "goldQuests": "Masterclasser Quest Lines", + "quests": "مغامرات", + "quest": "مغامرة", + "petQuests": "مغامرات للحصول على حيوانات الأليفة ومطايا", + "unlockableQuests": "مغامرات غير قابلة للفتح", + "goldQuests": "مغامرات ماستركلاسر", "questDetails": "تفاصيل المغامرة", - "questDetailsTitle": "Quest Details", + "questDetailsTitle": "تفاصيل المغامرة", "questDescription": "Quests allow players to focus on long-term, in-game goals with the members of their party.", "invitations": "الدعوات", - "completed": "\t\nمنتهى!", + "completed": "اكتملت المغامرة!", "rewardsAllParticipants": "Rewards for all Quest Participants", "rewardsQuestOwner": "Additional Rewards for Quest Owner", "inviteParty": "Invite Party to Quest", @@ -71,5 +71,6 @@ "bossHealth": "<%= currentHealth %> / <%= maxHealth %> Health", "rageAttack": "Rage Attack:", "bossRage": "<%= currentRage %> / <%= maxRage %> Rage", - "rageStrikes": "Rage Strikes" + "rageStrikes": "Rage Strikes", + "hatchingPotionQuests": "مغامرات للحصول على جرعات سحرية" } diff --git a/website/common/locales/ar/questscontent.json b/website/common/locales/ar/questscontent.json index d607986b96..b36197c771 100755 --- a/website/common/locales/ar/questscontent.json +++ b/website/common/locales/ar/questscontent.json @@ -1,11 +1,11 @@ { "questEvilSantaText": "سانتا الموقع بالفخ", - "questEvilSantaNotes": "You hear agonized roars deep in the icefields. You follow the growls - punctuated by the sound of cackling - to a clearing in the woods, where you see a fully-grown polar bear. She's caged and shackled, fighting for her life. Dancing atop the cage is a malicious little imp wearing a castaway costume. Vanquish Trapper Santa, and save the beast!", + "questEvilSantaNotes": "تسمع زئيرًا متألمة في عمق حقول الجليد. تتبع النموات - المفصولة بصوت الضحك - إلى مساحة صافية في الغابة ، حيث ترى دبًا قطبيًا ناضجًا تمامًا. إنها مسجونة ومقيدة ، تحارب من أجل حياتها. يرقص فوق القفص عفريت صغيرة شريرة ترتدي زي الناجي. اهزم صياد سانتا وانقذ الوحش!

ملاحظة : \"صياد سانتا\" يمنح إنجازًا قابلًا للتكديس للمهمة ولكنه يعطي جبلًا نادرًا يمكن إضافته إلى طاولة الخيل الخاصة بك مرة واحدة.", "questEvilSantaCompletion": "Trapper Santa squeals in anger, and bounces off into the night. The grateful she-bear, through roars and growls, tries to tell you something. You take her back to the stables, where Matt Boch the Beast Master listens to her tale with a gasp of horror. She has a cub! He ran off into the icefields when mama bear was captured.", "questEvilSantaBoss": "سانتا الموقع بالفخ", "questEvilSantaDropBearCubPolarMount": "دب قطبي (مركب)", - "questEvilSanta2Text": "البحث عن الشبل", - "questEvilSanta2Notes": "When Trapper Santa captured the polar bear mount, her cub ran off into the icefields. You hear twig-snaps and snow crunch through the crystalline sound of the forest. Paw prints! You start racing to follow the trail. Find all the prints and broken twigs, and retrieve the cub!", + "questEvilSanta2Text": "ابحث عن الشبل", + "questEvilSanta2Notes": "عندما اعتقل صياد السانتا الدب القطبي، هرب صغيرها إلى حقول الجليد. تسمع صوت تكسر أغصان الشجر وصوت الثلج يتكسر بينما تجوب الغابة. آثار بصمات الكفوف! تبدأ بالجري لمتابعة الأثر. ابحث عن جميع الأثر والأغصان المكسورة واسترد الصغير!

ملاحظة: تمنح \"البحث عن الصغير\" إنجازًا لمهمة يمكن تراكمه ولكن يمنح حيوانًا أليفًا نادرًا يمكن إضافته إلى مستودعك مرة واحدة فقط.", "questEvilSanta2Completion": "You've found the cub! It will keep you company forever.", "questEvilSanta2CollectTracks": "مسارات", "questEvilSanta2CollectBranches": "أغصان مكسورة", diff --git a/website/common/locales/ar/subscriber.json b/website/common/locales/ar/subscriber.json index 5fde7ebd68..69de672b61 100755 --- a/website/common/locales/ar/subscriber.json +++ b/website/common/locales/ar/subscriber.json @@ -136,5 +136,8 @@ "cancelSubInfoGoogle": "الرجاء الانتقال إلى \"الحساب\"> قسم \"الاشتراكات\" في متجر Google Play لإلغاء اشتراكك أو لمعرفة تاريخ انتهاء إشتراكك إذا كنت قد ألغيته بالفعل. هذه الشاشة غير قادرة على إظهار ما إذا كان قد تم إلغاء اشتراكك.", "organization": "منظمة", "giftASubscription": "إهداء إشتراك", - "viewSubscriptions": "عرض الإشتراكات" + "viewSubscriptions": "عرض الإشتراكات", + "howManyGemsSend": "كم عدد الجواهر التي ترغب في إرسالها؟", + "howManyGemsPurchase": "كم عدد الأحجار الكريمة التي ترغب في شرائها؟", + "needToPurchaseGems": "هل تحتاج إلى شراء جواهر كهدية؟" } diff --git a/website/common/locales/be/achievements.json b/website/common/locales/be/achievements.json index 00216fc700..04d212a256 100755 --- a/website/common/locales/be/achievements.json +++ b/website/common/locales/be/achievements.json @@ -1,8 +1,8 @@ { - "achievement": "Achievement", - "onwards": "Onwards!", - "levelup": "By accomplishing your real life goals, you leveled up and are now fully healed!", - "reachedLevel": "You Reached Level <%= level %>", - "achievementLostMasterclasser": "Quest Completionist: Masterclasser Series", - "achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!" + "achievement": "Дасягненьне", + "onwards": "Наперад!", + "levelup": "By accomplishing your real life goals, you leveled up and are now fully healed!", + "reachedLevel": "You Reached Level <%= level %>", + "achievementLostMasterclasser": "Quest Completionist: Masterclasser Series", + "achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!" } diff --git a/website/common/locales/be/groups.json b/website/common/locales/be/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/be/groups.json +++ b/website/common/locales/be/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/be/settings.json b/website/common/locales/be/settings.json index 5d40853b70..d3427585c4 100755 --- a/website/common/locales/be/settings.json +++ b/website/common/locales/be/settings.json @@ -1,6 +1,6 @@ { - "settings": "Settings", - "language": "Language", + "settings": "Налады", + "language": "Мова", "americanEnglishGovern": "In the event of a discrepancy in the translations, the American English version governs.", "helpWithTranslation": "Would you like to help with the translation of Habitica? Great! Then visit the Aspiring Linguists Guild!", "stickyHeader": "Sticky header", diff --git a/website/common/locales/bg/achievements.json b/website/common/locales/bg/achievements.json index a3b99d546a..6bfabf74bb 100644 --- a/website/common/locales/bg/achievements.json +++ b/website/common/locales/bg/achievements.json @@ -1,8 +1,8 @@ { "achievement": "Постижение", "onwards": "Напред!", - "levelup": "Изпълнявайки целите си в истинския живот, Вие качихте ниво и здравето Ви беше запълнено!", - "reachedLevel": "Достигнахте ниво <%= level %>", + "levelup": "Изпълнявайки целите си в истинския живот, Вие се качихте ниво и здравето Ви беше запълнено!", + "reachedLevel": "Достигнахте Ниво <%= level %>", "achievementLostMasterclasser": "Изпълнител на Мисии: Серия на Класовите Повелители", "achievementLostMasterclasserText": "Завършихте шестнадесетте мисии от Серията на Класовите Повелители и разрешихте загадката на Изгубената Класова Повелителка!", "achievementUndeadUndertaker": "Нежив Погребален Директор", @@ -59,13 +59,13 @@ "foundNewItemsExplanation": "Завършека на задачи ви дава шанс да намерите предмети като Яйца, Излюпващи Отвари и Животинска Храна.", "foundNewItems": "Намерихте нови предмети!", "hideAchievements": "Скрий <%= category %>", - "showAllAchievements": "Покажи Всички", - "onboardingCompleteDescSmall": "Ако желаете още повече, отидете в Постижения и започнете събирането!", + "showAllAchievements": "Покажи Всички <%=category %>", + "onboardingCompleteDescSmall": "Ако желаете още повече, отидете в Постижения и започнете колекционирането!", "onboardingCompleteDesc": "Получихте 5 Постижения и 100 Злато за завършения списък.", - "onboardingComplete": "Завършихте задачите си!", + "onboardingComplete": "Завършихте уводните си задачи!", "earnedAchievement": "Получихте постижение!", "yourProgress": "Вашият Напредък", - "gettingStartedDesc": "Изпълнете задачите и ще получите 5 Постижения и 100 Злато при завършване!", + "gettingStartedDesc": "Изпълнете тези уводни задачи и ще получите 5 Постижения и 100 Злато при завършване!", "achievementPrimedForPaintingModalText": "Събрахте всички Бели Животни!", "achievementPearlyProModalText": "Опитомихте всички Бели Оседлани Зверове!", "achievementPearlyProText": "Опетомили са всички Оседлани Зверове.", @@ -75,13 +75,13 @@ "achievementFedPet": "Нахрани Животно", "achievementHatchedPetModalText": "Отиди в инвентара си и смеси излюпваща отвара с Яйце", "achievementHatchedPet": "Излюпи Животно", - "viewAchievements": "Постижения", + "viewAchievements": "Прегледай Постижения", "letsGetStarted": "Нека да започнем!", "onboardingProgress": "<%= percentage %>% напредък", "achievementBareNecessitiesModalText": "Завършихте мисиите за Маймуна, Ленивец и Фиданка!", "achievementBareNecessitiesText": "Завършили са всички мисии за Маймуна, Ленивец и Фиданка.", "achievementBareNecessities": "От първа необходимост", - "achievementBoneCollectorText": "Събрали сте всички Скелети домашни любимци.", + "achievementBoneCollectorText": "Събрали са всички Скелетни Любимци.", "achievementBoneCollector": "Колекционер на кости", "achievementAllThatGlittersModalText": "Събрахте всички оседлани Златни животни!", "achievementAllThatGlittersText": "Събрали сте всички оседлани Златни животни.", @@ -92,5 +92,19 @@ "achievementFreshwaterFriendsModalText": "Завършихте мисиите за аксолотъла, жабата и хипопотама!", "achievementFreshwaterFriendsText": "Завършили сте мисиите за домашни любимци за аксолотъла, жабата и хипопотама.", "achievementFreshwaterFriends": "Сладководни приятели", - "yourRewards": "Вашите възнаграждения" + "yourRewards": "Вашите Награди", + "achievementBoneCollectorModalText": "Събрали сте всичките Скелетни Любимци!", + "achievementRedLetterDay": "Червен Празник", + "achievementLegendaryBestiary": "Легендарен Бестиарий", + "achievementLegendaryBestiaryText": "Излюпили са всички стандартни цветови разновидности на Митичните животни: Дракон, Летящо прасе, Грифон, Водна змия и Еднорог!", + "achievementLegendaryBestiaryModalText": "Събрали сте всички Митичн любимци!", + "achievementSkeletonCrewModalText": "Събрали сте всички Скелетни животни!", + "achievementSeeingRed": "Виждам червено", + "achievementSkeletonCrew": "Скелетен екипаж", + "achievementSeeingRedText": "Събрали са всичк Червени любимци.", + "achievementRedLetterDayModalText": "Събрали сте всички Червени животни!", + "achievementSeasonalSpecialist": "Сезонен експерт", + "achievementRedLetterDayText": "Са събрали всички Червени животни.", + "achievementSeeingRedModalText": "Събрали сте всички Червени любимци!", + "achievementSkeletonCrewText": "Събрали са всички Скелетни животни." } diff --git a/website/common/locales/bn/groups.json b/website/common/locales/bn/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/bn/groups.json +++ b/website/common/locales/bn/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ca/groups.json b/website/common/locales/ca/groups.json index d6ec243743..51b312b769 100755 --- a/website/common/locales/ca/groups.json +++ b/website/common/locales/ca/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ceb/achievements.json b/website/common/locales/ceb/achievements.json index 0967ef424b..12aceee6d9 100644 --- a/website/common/locales/ceb/achievements.json +++ b/website/common/locales/ceb/achievements.json @@ -1 +1,7 @@ -{} +{ + "achievement": "Kadaugan", + "onwards": "Padayon!", + "levelup": "Sa pagbuhat sa imong tumong sa kinabuhi, mitaas ang imong nibel ug nahanaw ang imong sakit nga gibati.", + "reachedLevel": "Nakamtan mo ang Nibel <%= level %>", + "yourRewards": "Imong Daog" +} diff --git a/website/common/locales/cs/achievements.json b/website/common/locales/cs/achievements.json index 02889481c5..e7e1a5ae03 100644 --- a/website/common/locales/cs/achievements.json +++ b/website/common/locales/cs/achievements.json @@ -106,5 +106,14 @@ "achievementLegendaryBestiaryModalText": "Posbíral/a jsi všechny mytické mazlíčky!", "achievementLegendaryBestiaryText": "Posbíral/a všechny mytické mazlíčky: draka, létající prase, gryfona, mořského hada a jednorožce!", "achievementLegendaryBestiary": "Legendární bestiář", - "achievementSeasonalSpecialist": "Sezónní specialista" + "achievementSeasonalSpecialist": "Sezónní specialista", + "achievementVioletsAreBlueText": "Posbíral/a všechny mazlíčky z Modré Cukrové Vaty.", + "achievementVioletsAreBlue": "Fialky jsou Modré", + "achievementVioletsAreBlueModalText": "Posbíral/a jsi všechny mazlíčky z Modré Cukrové Vaty.", + "achievementSeasonalSpecialistModalText": "Dokončl/a jsi všechny sezónní úkoly!", + "achievementDomesticatedModalText": "Sesbíral/a jsi všechna domácí zvířata!", + "achievementSeasonalSpecialistText": "Dokončil/a jsi všechny Jarní a Zimní sezónní úkoly: Honba za vajíčky, Pastičkář Santa, a najdi Cuba!", + "achievementWildBlueYonderText": "Ochočil/a všechny zvířata z Modré Cukrové Vaty.", + "achievementWildBlueYonderModalText": "Ochočil/a jsi všechny mazlíčky z Modré Cukrové Vaty!", + "achievementDomesticatedText": "Vylíhl/a všechna standardní zbarvení domácích zvířat: Fretka, morče, kohout, létající prasátko, krysa, králík, kůň a kráva!" } diff --git a/website/common/locales/cs/groups.json b/website/common/locales/cs/groups.json index a716163f12..b1e4900ee1 100644 --- a/website/common/locales/cs/groups.json +++ b/website/common/locales/cs/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/da/groups.json b/website/common/locales/da/groups.json index 818783f149..97142e2667 100644 --- a/website/common/locales/da/groups.json +++ b/website/common/locales/da/groups.json @@ -340,5 +340,23 @@ "singleCompletion": "Single - Completes when any assigned user finishes", "allAssignedCompletion": "All - Completes when all assigned users finish", "pmReported": "Tak, fordi du rapporterede denne besked.", - "features": "Funktioner" + "features": "Funktioner", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> har inviteret dig til holdet <%- party %>", + "PMUserDoesNotReceiveMessages": "Denne bruger modtager ikke længere private beskeder", + "blockedToSendToThisUser": "Du kan ikke sende til denne spiller da du har blokeret denne spiller.", + "blockYourself": "Du kan ikke blokere dig selv", + "selectGift": "Vælg Gave", + "sendGiftToWhom": "Hvem vil du gerne sende en gave til?", + "PMDisabled": "Slå Private Beskeder fra", + "editGuild": "Rediger Klan", + "sendGiftTotal": "I alt:", + "usernameOrUserId": "Indtast @brugernavn eller Bruger ID", + "sendGiftLabel": "Vil du gerne sende en gavebesked?", + "giftMessageTooLong": "Maximum længe for gavebeskeden er <%= maxGiftMessageLength %>.", + "userWithUsernameOrUserIdNotFound": "Brugernavn eller Bruger ID findes ikke.", + "editParty": "Rediger Hold", + "leaveGuild": "Forlad Klan", + "joinGuild": "Tilslut Klan", + "PMUnblockUserToSendMessages": "Fjern denne brugers blokering for at sende og modtage beskeder.", + "selectSubscription": "Vælg Abonnement" } diff --git a/website/common/locales/de/achievements.json b/website/common/locales/de/achievements.json index 7fa729c548..4e0b38fbf9 100644 --- a/website/common/locales/de/achievements.json +++ b/website/common/locales/de/achievements.json @@ -141,5 +141,14 @@ "achievementWoodlandWizardText": "Du hast alle Standard-Farben der Waldkreaturen ausgebrütet: Dachs, Bär, Hirsch, Fuchs, Frosch, Igel, Eule, Schnecke, Eichhörnchen und Bäumling!", "achievementBoneToPickModalText": "Du hast alle klassischen und Quest-Skeletthaustiere gesammelt!", "achievementBoneToPick": "Ein harter Knochen", - "achievementBoneToPickText": "Hat alle klassischen und Quest-Skeletthaustiere ausgebrütet!" + "achievementBoneToPickText": "Hat alle klassischen und Quest-Skeletthaustiere ausgebrütet!", + "achievementPolarProText": "Hat alle Standardfarben der Polar-Haustiere ausgebrütet: Bär, Fuchs, Pinguin, Wal und Wolf!", + "achievementPolarPro": "Polar-Profi", + "achievementPolarProModalText": "Du hast alle Polar-Haustiere gesammelt!", + "achievementPlantParent": "Pflanzenzüchter", + "achievementPlantParentModalText": "Du hast alle Pflanzen-Haustiere gesammelt!", + "achievementPlantParentText": "Hat alle Standardfarben der Pflanzen-Haustiere ausgebrütet: Kaktus und Baumchen!", + "achievementDinosaurDynastyText": "Hat alle Standardfarben der Vogel- und Dinosaurier-Haustiere ausgebrütet: Falke, Eule, Papagei, Pinguin, Hahn, Flugfinger, T-Rex, Triceratops, und Velociraptor!", + "achievementDinosaurDynastyModalText": "Du hast alle Vogel- und Dinosaurier-Haustiere gesammelt!", + "achievementDinosaurDynasty": "Dinosaurier Dynastie" } diff --git a/website/common/locales/de/backgrounds.json b/website/common/locales/de/backgrounds.json index 4d20860a38..0e5fa212a7 100644 --- a/website/common/locales/de/backgrounds.json +++ b/website/common/locales/de/backgrounds.json @@ -570,7 +570,7 @@ "backgroundMysticalObservatoryNotes": "Deine Bestimmung steht in den Sternen; vom Mystischen Observatorium aus kannst Du sie lesen.", "backgroundMysticalObservatoryText": "Mystisches Observatorium", "backgrounds112020": "Set 78: Veröffentlicht im November 2020", - "backgroundHolidayHearthNotes": "Entspanne, trockne und wärme Deine Glieder an einem Feierlichen Feuer.", + "backgroundHolidayHearthNotes": "Entspanne, wärme und trockne deine Körperteile an einem Feierlichen Feuer.", "backgroundHolidayHearthText": "Feierliches Feuer", "backgroundInsideAnOrnamentNotes": "Lasse Deine Festtagsstimmung aus dem Inneren dieses Baumschmuckes erstrahlen.", "backgroundInsideAnOrnamentText": "Im Baumschmuck", @@ -745,5 +745,54 @@ "backgroundAutumnBridgeNotes": "Bewundere die Schönheit einer Brücke im Herbst.", "backgrounds122022": "Set 103: Veröffentlicht im Dezember 2022", "backgroundBranchesOfAHolidayTreeText": "Äste eines Festtagsbaums", - "backgroundBranchesOfAHolidayTreeNotes": "Baumle auf den Ästen eines Festtagsbaums." + "backgroundBranchesOfAHolidayTreeNotes": "Baumle auf den Ästen eines Festtagsbaums.", + "backgrounds032023": "SET 106: Veröffentlicht im März 2023", + "backgrounds022023": "SET 195: Veröffentlicht im Februar 2023", + "backgroundGoldenBirdcageText": "Goldener Vogelkäfig", + "backgroundGoldenBirdcageNotes": "Verstecken in einem goldenen Vogelkäfig.", + "backgrounds012023": "SET 104: Veröffentlicht Januar 2023", + "backgroundRimeIceText": "Raureif", + "backgroundRimeIceNotes": "Bewundere funkelnden Raureif.", + "backgroundSnowyTempleText": "Verschneiter Tempel", + "backgroundSnowyTempleNotes": "Einen ruhigen verschneiten Tempel anschauen.", + "backgroundSnowyVillageText": "Verschneites Dorf", + "backgroundSnowyVillageNotes": "Ein verschneites Dorf bewundern.", + "backgroundOldTimeyBasketballCourtText": "Altmodischer Basketballplatz", + "backgroundOldTimeyBasketballCourtNotes": "Wirf Körbe auf einem altmodischen Basketballplatz.", + "backgroundJungleWateringHoleText": "Dschungel-Wasserstelle", + "backgroundJungleWateringHoleNotes": "Halte inne, um von der Dschungelwasserstelle zu trinken.", + "backgroundMangroveForestText": "Mangrovenwald", + "backgroundMangroveForestNotes": "Erkunde den Rand des Mangrovenwaldes.", + "backgrounds052023": "Set 108: Veröffentlicht im Mai 2023", + "backgroundInAPaintingText": "In einem Gemälde", + "backgroundInAPaintingNotes": "Genieße die kreative Aktivität in einem Gemälde.", + "backgroundFlyingOverHedgeMazeText": "Fliegen über Heckenlabyrinth", + "backgroundFlyingOverHedgeMazeNotes": "Staune beim Fliegen über ein Heckenlabyrinth.", + "backgroundCretaceousForestNotes": "Erlebe das uralte Grün eines Kreidewaldes.", + "backgroundCretaceousForestText": "Kreidewald", + "backgrounds042023": "Set 107: Veröffentlicht im April 2023", + "backgroundLeafyTreeTunnelText": "Blättriger Baumtunnel", + "backgroundSpringtimeShowerText": "Frühlingsschauer", + "backgroundSpringtimeShowerNotes": "Sieh einen blühenden Frühlingsschauer.", + "backgroundUnderWisteriaText": "Unter der Glyzinize", + "backgroundUnderWisteriaNotes": "Entspanne unter der Glyzinie.", + "backgroundInFrontOfFountainText": "Vor einem Sprinnbrunnen", + "backgroundInFrontOfFountainNotes": "Schnlendere vor einem Springbrunnen.", + "backgroundFancyBedroomText": "Schickes Schlafzimmer", + "backgroundWinterLakeWithSwansNotes": "Genieße die Natur am winterlichen See mit Schwänen.", + "backgroundWinterLakeWithSwansText": "winterlicher See mit Schwänen", + "backgrounds062023": "Set 109: Veröffentlicht im Juni 2023", + "backgroundInAnAquariumNotes": "Schwimme ein paar friedliche Runden mit den Fischen im Aquarium.", + "backgroundInsideAdventurersHideoutText": "Das Versteck eines Abenteurers", + "backgroundCraterLakeText": "Kratersee", + "backgroundCraterLakeNotes": "Bewundere einen schönen Kratersee.", + "backgroundInsideACrystalText": "In einem Kristall", + "backgroundFancyBedroomNotes": "Schwelge in einem schicken Schlafzimmer.", + "backgroundLeafyTreeTunnelNotes": "Wandere durch den bläätrigen Baumtunnel.", + "backgroundInAnAquariumText": "In einem Aquarium", + "backgroundInsideAdventurersHideoutNotes": "Plane eine Reise in ein Abenteurerversteck.", + "backgroundBirthdayBashNotes": "Habitica feiert eine Geburtstagsparty und alle sind eingeladen!", + "eventBackgrounds": "Ereignis-Hintergründe", + "backgroundBirthdayBashText": "Geburtstagsparty", + "backgroundInsideACrystalNotes": "Schaue aus einem Kristall hinaus." } diff --git a/website/common/locales/de/communityguidelines.json b/website/common/locales/de/communityguidelines.json index ffd45181bd..604fde673b 100644 --- a/website/common/locales/de/communityguidelines.json +++ b/website/common/locales/de/communityguidelines.json @@ -4,12 +4,12 @@ "commGuideHeadingWelcome": "Willkommen in Habitica!", "commGuidePara001": "Sei gegrüßt, Abenteurer! Willkommen in Habitica, dem Land der Produktivität, des gesunden Lebens und des gelegentlich randalierenden Greifs. Wir sind eine fröhliche Gemeinschaft voller hilfreicher Menschen, die sich auf ihrem Weg der persönlichen Entwicklung gegenseitig unterstützen. Alles was dazu gehört, ist eine positive Einstellung, ein respektvoller Umgang miteinander und etwas Verständnis dafür, dass jeder unterschiedliche Fähigkeiten und Grenzen hat - auch Du! Habiticaner gehen geduldig miteinander um und versuchen zu helfen, wo immer sie können.", "commGuidePara002": "Damit sich hier jeder sicher fühlen, glücklich und produktiv sein kann, gibt es ein paar Richtlinien. Wir haben uns große Mühe gegeben, sie möglichst nett und leicht verständlich zu formulieren. Bitte nimm Dir die Zeit, sie durchzulesen, bevor Du anfängst zu chatten.", - "commGuidePara003": "Diese Regeln gelten an allen sozialen Orten, die wir verwenden, bezogen (aber nicht unbedingt eingeschränkt) auf Trello, GitHub, Weblate und dem Habitica Wiki auf Fandom. Wenn Gemeinschaften wachsen und sich verändern, passen sich manchmal ihre Regeln von Zeit zu Zeit an. Wenn es wesentliche Änderungen dieser Richtlinien gibt, wirst Du dies durch eine Bailey-Ankündigung und/oder in unseren sozialen Medien hören!", + "commGuidePara003": "Diese Regeln gelten an allen sozialen Orten, die wir verwenden, einschließlich (aber nicht nur) Trello, GitHub, Weblate und des Habitica Wiki auf Fandom. Wenn Gemeinschaften wachsen und sich verändern, können sich ihre Regeln von Zeit zu Zeit ändern. Bei wesentlichen Änderungen dieser Richtlinien wirst Du durch eine Bailey-Ankündigung und/oder in unseren sozialen Medien davon erfahren!", "commGuideHeadingInteractions": "Interaktionen in Habitica", "commGuidePara015": "Habitica hat zwei Arten sozialer Orte: öffentliche und private. Öffentliche Orte sind die Taverne, öffentliche Gilden, GitHub, Trello und das Wiki. Private Orte sind private Gilden, der Partychat und private Nachrichten. Alle Anzeigenamen und @Usernamen müssen den Community-Richtlinien für öffentliche Orte entsprechen. Um Deinen Anzeigenamen oder @Usernamen zu ändern, wähle in der mobilen App Menü > Einstellungen > Profil. Und wähle auf der Webseite Benutzer Icon > Profil und klicke auf den \"Bearbeiten\"-Knopf.", "commGuidePara016": "Wenn Du Dich durch die öffentlichen Orte in Habitica bewegst, gibt es ein paar allgemeine Regeln, damit jeder sicher und glücklich ist.", "commGuideList02A": "Respektiert einander. Sei höflich, freundlich und hilfsbereit. Vergiss nicht: Habiticaner kommen aus den verschiedensten Hintergründen und haben sehr unterschiedliche Erfahrungen gemacht. Das macht Habitica so eigenartig! Es ist wichtig, dass man beim Aufbauen einer Community seine Unterschiede und Ähnlichkeiten respektieren, aber natürlich auch feiern kann.", - "commGuideList02B": "Halte Dich an die allgemeinen Geschäftsbedingungen, sowohl in öffentlichen als auch in privaten Umgebungen.", + "commGuideList02B": "Halte Dich an die allgemeinen Geschäftsbedingungen, sowohl in öffentlichen als auch in privaten Bereichen.", "commGuideList02C": "Poste keine Bilder oder Texte, die Gewalt darstellen, andere einschüchtern, oder eindeutig/indirekt sexuell sind, die Diskriminierung, Fanatismus, Rassismus, Sexismus, Hass, Belästigungen oder Hetze gegen jedwede Individuen oder Gruppen beinhalten. Auch nicht als Scherz oder Meme. Das bezieht sowohl Sprüche als auch Stellungnahmen mit ein. Nicht jeder hat den gleichen Humor, etwas, was Du als Witz wahrnimmst, kann für jemand anderen verletzend sein.", "commGuideList02D": "Halte die Diskussionen für alle Altersgruppen angemessen. Das heißt, Erwachsenenthemen in öffentlichen Bereichen zu vermeiden. Viele junge Habiticaner und Menschen mit verschiedenen Hintergründen nutzen diese Seite. Wir wollen unsere Gemeinschaft so angenehm und inklusiv wie möglich gestalten.", "commGuideList02E": "Vermeide vulgäre Ausdrücke. Dazu gehören auch mildere, religiöse Ausdrücke, die anderswo möglicherweise akzeptiert werden, oder verschleierte Schimpfwörter. Unter uns sind Menschen aus allen religiösen und kulturellen Hintergründen und wir wollen, dass sich alle im öffentlichen Raum wohl fühlen. Wenn Dir ein Moderator oder Mitarbeiter mitteilt, dass ein bestimmter Ausdruck in Habitica nicht erlaubt ist, selbst wenn er Dir vielleicht nicht problematisch vorkommt, ist diese Entscheidung endgültig. Zusätzlich werden verbale Angriffe jeder Art strenge Konsequenzen haben, da sie auch unsere Nutzungsbedingungen verletzen.", @@ -129,5 +129,6 @@ "commGuidePara017": "Hier ist die Kurzfassung, aber wir möchten Dich ermutigen, weiter unten mehr Details zu erfahren:", "commGuideList02M": "Frage nicht nach oder bettle nicht um Edelsteine, Abonnements oder die Mitgliedschaft in Gruppenplänen. Nachrichten dieser Art sind weder in der Taverne, noch in öffentlichen oder privaten Chaträumen, und auch nicht in Privatnachrichten erlaubt. Wenn Du Nachrichten erhältst, in denen man Dich um bezahlte Artikel fragt, melde sie bitte über das Fähnchen. Wiederholte oder extreme Betteleien nach Edelsteinen oder Abonnements, vor allem nachdem bereits eine Warnung ausgesprochen wurde, können zu einer Kontosperre führen.", "commGuideList09D": "Entfernung oder Herabstufung des Mitwirkenden-Ranges", - "commGuideList05H": "Schwerwiegende oder wiederholte Versuche, andere Spielende zu betrügen oder zu bedrängen, um an Gegenstände zu kommen, die echtes Geld kosten" + "commGuideList05H": "Schwerwiegende oder wiederholte Versuche, andere Spielende zu betrügen oder zu bedrängen, um an Gegenstände zu kommen, die echtes Geld kosten", + "commGuideList02N": "Markiere und melde Nachrichten, in denen diese Richtlinien oder die Nutzungsbedingungen nicht eingehalten werden. Wir werden uns so schnell wie möglich darum kümmern. Alternativ kannst du Mitarbeiter:innen über admin@habitica.com benachrichtigen, doch die Markierung ist der schnellste Weg, um Hilfe zu erhalten." } diff --git a/website/common/locales/de/faq.json b/website/common/locales/de/faq.json index e33961ea9a..0e5d960d45 100644 --- a/website/common/locales/de/faq.json +++ b/website/common/locales/de/faq.json @@ -56,5 +56,14 @@ "androidFaqStillNeedHelp": "Wenn Du eine Frage hast, die hier oder im [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ) nicht beantwortet wurde, stelle sie in der Taverne unter Menü > Tavernen-Chat! Wir helfen Dir gerne.", "webFaqStillNeedHelp": "Wenn Du eine Frage hast, die hier oder im [Wiki-FAQ](https://habitica.fandom.com/wiki/FAQ) nicht beantwortet wurde, stelle sie in der [Habitica-Hilfe-Gilde](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Wir helfen Dir gerne.", "faqQuestion13": "Was ist ein Gruppenplan?", - "webFaqAnswer13": "## Wie funktionieren Gruppenpläne?\n\nEin [Gruppenplan](/group-plans) gewährt Deiner Party oder Gilde Zugriff auf eine geteilte Aufgabenliste, die Deiner persönlichen Aufgabenliste ähnelt! Er ist eine geteilte Habitica Erfahrung, bei der jedes Gruppenmitglied Aufgaben erstellen oder abschließen kann.\n\nEs gibt auch Funktionen wie Mitgliederrollen, eine Statusanzeige, und Aufgabenzuweisungen, was Dir bessere Kontrolle ermöglicht. Besuche unser [Wiki](https://habitica.fandom.com/wiki/Group_Plans), um mehr über die Funktionen unseres Gruppenplans zu erfahren!\n\n## Wer profitiert von einem Gruppenplan?\n\nGruppenpläne funktionieren am besten, wenn Du ein kleines Team von Menschen hast, die zusammenarbeiten möchten. Wir empfehlen 2-5 Mitglieder.\n\nGruppenpläne sind gut geeignet für Familien, ob es sich dabei um Eltern und Kinder handelt oder um Dich und einen Partner. Geteilte Ziele, Hausarbeiten oder Verantwortlichkeiten sind auf einer Anzeige leicht im Überblick zu behalten.\n\nGruppenpläne können auch nützlich sein vor Teams unter Kollegen mit geteilten Zielen, oder für Führungskräfte, die ihren Mitarbeitern Spielifizierung näherbringen wollen.\n\n## Schnelle Tipps zur Verwendung von Gruppen\n\nHier sind einige schnelle Tipps, damit Du mit Deiner neuen Gruppe loslegen kannst. Wir stellen in den folgenden Abschnitten mehr Details zur Verfügung:\n\n* Mache ein Mitglied zum Manager, um ihm die Möglichkeit zu geben, Aufgaben zu erstellen und zu bearbeiten\n* Weise Aufgaben niemandem zu, wenn sie von jedem abgeschlossen werden können und nur einmal abgeschlossen werden müssen\n* Weise Aufgaben einem Mitglied zu, wenn Du sicherstellen möchtest, dass die Aufgabe von niemand Anderem abgeschlossen werden kann\n* Weise Aufgaben mehreren Mitgliedern zu, wenn sie von allen diesen Mitgliedern abgeschlossen werden müssen\n* Schalte ein oder aus, dass geteilte Aufgaben auf Deiner persönlichen Liste angezeigt werden, um nichts zu verpassen\n* Du wirst belohnt für alle Aufgaben, die Du abschließt, auch wenn sie mehreren Mitgliedern zugewiesen sind\n* Belohnungen für das Abschießen von Aufgaben werden nicht zwischen Mitgliedern aufgeteilt\n* Nutze die Farben der Aufgaben um zu prüfen, wie die durchschnittliche Abschlussrate von Aufgaben ist\n* Prüfe regelmäßig die Aufgaben auf der Teamanzeige um sicherzugehen, dass sie noch relevant sind\n* Eine Tagesaufgabe nicht zu erledigen schadet Deinem Team oder Dir nicht, die Aufgabe wird aber ihre Farbe ändern\n\n## Wie können Andere in der Gruppe Aufgaben erstellen?\n\nNur der Gruppenleiter und die Manager können Aufgaben erstellen. Willst Du, dass ein Gruppenmitglied Aufgaben erstellen kann, befördere es zum Manager indem Du auf den Gruppentab gehst, dann die Mitgliederliste anzeigst und das Punkt-Symbol neben seinem Namen anklickst. \n\n## Wie funktioniert das Zuweisen der Aufgaben?\n\nGruppenpläne geben Dir die einmalige Möglichkeit, Aufgaben anderen Gruppenmitgliedern zuzuweisen. Das Zuweisen von Aufgaben ist eine gute Möglichkeit, diese zu delegieren. Weist Du jemandem eine Aufgabe zu, können andere Mitglieder diese nicht abschließen. \n\nDu kannst eine Aufgabe auch mehreren Mitgliedern zuweisen, wenn sie von mehreren Mitgliedern abgeschlossen werden muss. Wenn beispielsweise alle Mitglieder ihre Zähne putzen müssen, kannst Du eine entsprechende Aufgabe erstelle und sie jedem Mitglied zuweisen. Die Mitglieder können die Aufgabe abchließen und erhalten dafür individuell Belohnungen. Die Hauptaufgabe wird als abgeschlossen angezeigt, sobald sie von allen abgeschlossen wurde.\n\n## Wie funktionieren nicht zugewiesene Aufgaben?\n\nNicht zugewiesene Aufgaben können von jedem Gruppenmitglied abgeschlossen werden, weise eine Aufgabe also niemandem zu, um jedem Mitglied zu ermöglichen, sie abzuschließen. Zum Beispiel Müll rausbringen. Wer den Müll rausbringt, kann die nicht zugewiesene Aufgabe abhaken und sie wird anschließend für alle als abgeschlossen angezeigt.\n\n## Wie funtioniert der synchronisierte Tagesstart?\n\nGeteilte Aufgaben werden für alle zur selben Zeit zurückgesetzt, um die geteilte Aufgabenliste synchron zu halten. Diese Zeit ist auf der geteilten Aufgabenliste sichtbar und richtet sich nach dem Tagesstart des Gruppenleiters. Da geteilte Aufgaben automatisch zurückgesetzt werden, kannst Du die geteilten Aufgaben des Vortags nicht mehr als erledigt markieren, wenn Du dich am nächsten Tag anmeldest.\n\nGeteilte Tagesaufgaben fügen keinen Schaden zu, wenn sie unerledigt bleiben. Ihre Farbe ändert sich jedoch, um den Fortschritt sichtbar zu machen. Wir wollen nicht, dass die geteilte Erfahrung eine Negative ist!\n\n## Wie nutze ich meinen Gruppenplan über die mobilen Apps?\n\nObwohl die mobilen Apps derzeit noch nicht alle Funktionen von Gruppenplänen unterstützen, kannst Du geteilte Aufgaben in der iOS oder Android App abschließen. In der Browser Version von Habitica kannst Du auf die geteilte Aufgabenliste Deiner Gruppe gehen und den Schalter zum Kopieren der Aufgaben umlegen. Nun werden alle offenen und zugewiesenen geteilten Aufgaben auf allen Plattformen auf Deiner persönlichen Aufgabenliste erscheinen.\n\n## Was ist der Unterschied zwischen den geteilten Aufgaben einer Gruppe und Herausforderungen?\n\nDie geteilten Aufgabenlisten der Gruppenpläne sind dynamischer als Herausforderungen, da sie durchgehend aktualisiert werden können und jederzeit eine Interaktion ermöglichen. Herausforderungen sind dazu geeignet, vielen Menschen die gleichen Aufgaben zur Verfügung zu stellen.\n\nGruppenpläne sind eine kostenpflichtige Funktion, während Herausforderungen für alle gratis verfügbar sind.\n\nDu kannst in Herausforderungen keine bestimmten Aufgaben einzeln zuweisen, und Herausforderungen haben keinen geteilten Tagesstart. Allgemein bieten Herausforderungen weniger Möglichkeiten der Kontrolle und der direkten Interaktion." + "webFaqAnswer13": "## Wie funktionieren Gruppenpläne?\n\nEin [Gruppenplan](/group-plans) gewährt Deiner Party oder Gilde Zugriff auf eine geteilte Aufgabenliste, die Deiner persönlichen Aufgabenliste ähnelt! Er ist eine geteilte Habitica Erfahrung, bei der jedes Gruppenmitglied Aufgaben erstellen oder abschließen kann.\n\nEs gibt auch Funktionen wie Mitgliederrollen, eine Statusanzeige, und Aufgabenzuweisungen, was Dir bessere Kontrolle ermöglicht. Besuche unser [Wiki](https://habitica.fandom.com/wiki/Group_Plans), um mehr über die Funktionen unseres Gruppenplans zu erfahren!\n\n## Wer profitiert von einem Gruppenplan?\n\nGruppenpläne funktionieren am besten, wenn Du ein kleines Team von Menschen hast, die zusammenarbeiten möchten. Wir empfehlen 2-5 Mitglieder.\n\nGruppenpläne sind gut geeignet für Familien, ob es sich dabei um Eltern und Kinder handelt oder um Dich und einen Partner. Geteilte Ziele, Hausarbeiten oder Verantwortlichkeiten sind auf einer Anzeige leicht im Überblick zu behalten.\n\nGruppenpläne können auch nützlich sein vor Teams unter Kollegen mit geteilten Zielen, oder für Führungskräfte, die ihren Mitarbeitern Spielifizierung näherbringen wollen.\n\n## Schnelle Tipps zur Verwendung von Gruppen\n\nHier sind einige schnelle Tipps, damit Du mit Deiner neuen Gruppe loslegen kannst. Wir stellen in den folgenden Abschnitten mehr Details zur Verfügung:\n\n* Mache ein Mitglied zum Manager, um ihm die Möglichkeit zu geben, Aufgaben zu erstellen und zu bearbeiten\n* Weise Aufgaben niemandem zu, wenn sie von jedem abgeschlossen werden können und nur einmal abgeschlossen werden müssen\n* Weise Aufgaben einem Mitglied zu, wenn Du sicherstellen möchtest, dass die Aufgabe von niemand Anderem abgeschlossen werden kann\n* Weise Aufgaben mehreren Mitgliedern zu, wenn sie von allen diesen Mitgliedern abgeschlossen werden müssen\n* Schalte ein oder aus, dass geteilte Aufgaben auf Deiner persönlichen Liste angezeigt werden, um nichts zu verpassen\n* Du wirst belohnt für alle Aufgaben, die Du abschließt, auch wenn sie mehreren Mitgliedern zugewiesen sind\n* Belohnungen für das Abschießen von Aufgaben werden nicht zwischen Mitgliedern aufgeteilt\n* Nutze die Farben der Aufgaben um zu prüfen, wie die durchschnittliche Abschlussrate von Aufgaben ist\n* Prüfe regelmäßig die Aufgaben auf der Teamanzeige um sicherzugehen, dass sie noch relevant sind\n* Eine Tagesaufgabe nicht zu erledigen schadet Deinem Team oder Dir nicht, die Aufgabe wird aber ihre Farbe ändern\n\n## Wie können Andere in der Gruppe Aufgaben erstellen?\n\nNur der Gruppenleiter und die Manager können Aufgaben erstellen. Willst Du, dass ein Gruppenmitglied Aufgaben erstellen kann, befördere es zum Manager indem Du auf den Gruppentab gehst, dann die Mitgliederliste anzeigst und das Punkt-Symbol neben seinem Namen anklickst. \n\n## Wie funktioniert das Zuweisen der Aufgaben?\n\nGruppenpläne geben Dir die einmalige Möglichkeit, Aufgaben anderen Gruppenmitgliedern zuzuweisen. Das Zuweisen von Aufgaben ist eine gute Möglichkeit, diese zu delegieren. Weist Du jemandem eine Aufgabe zu, können andere Mitglieder diese nicht abschließen. \n\nDu kannst eine Aufgabe auch mehreren Mitgliedern zuweisen, wenn sie von mehreren Mitgliedern abgeschlossen werden muss. Wenn beispielsweise alle Mitglieder ihre Zähne putzen müssen, kannst Du eine entsprechende Aufgabe erstelle und sie jedem Mitglied zuweisen. Die Mitglieder können die Aufgabe abchließen und erhalten dafür individuell Belohnungen. Die Hauptaufgabe wird als abgeschlossen angezeigt, sobald sie von allen abgeschlossen wurde.\n\n## Wie funktionieren nicht zugewiesene Aufgaben?\n\nNicht zugewiesene Aufgaben können von jedem Gruppenmitglied abgeschlossen werden, weise eine Aufgabe also niemandem zu, um jedem Mitglied zu ermöglichen, sie abzuschließen. Zum Beispiel Müll rausbringen. Wer den Müll rausbringt, kann die nicht zugewiesene Aufgabe abhaken und sie wird anschließend für alle als abgeschlossen angezeigt.\n\n## Wie funtioniert der synchronisierte Tagesstart?\n\nGeteilte Aufgaben werden für alle zur selben Zeit zurückgesetzt, um die geteilte Aufgabenliste synchron zu halten. Diese Zeit ist auf der geteilten Aufgabenliste sichtbar und richtet sich nach dem Tagesstart des Gruppenleiters. Da geteilte Aufgaben automatisch zurückgesetzt werden, kannst Du die geteilten Aufgaben des Vortags nicht mehr als erledigt markieren, wenn Du dich am nächsten Tag anmeldest.\n\nGeteilte Tagesaufgaben fügen keinen Schaden zu, wenn sie unerledigt bleiben. Ihre Farbe ändert sich jedoch, um den Fortschritt sichtbar zu machen. Wir wollen nicht, dass die geteilte Erfahrung eine Negative ist!\n\n## Wie nutze ich meinen Gruppenplan über die mobilen Apps?\n\nObwohl die mobilen Apps derzeit noch nicht alle Funktionen von Gruppenplänen unterstützen, kannst Du geteilte Aufgaben in der iOS oder Android App abschließen. In der Browser Version von Habitica kannst Du auf die geteilte Aufgabenliste Deiner Gruppe gehen und den Schalter zum Kopieren der Aufgaben umlegen. Nun werden alle offenen und zugewiesenen geteilten Aufgaben auf allen Plattformen auf Deiner persönlichen Aufgabenliste erscheinen.\n\n## Was ist der Unterschied zwischen den geteilten Aufgaben einer Gruppe und Herausforderungen?\n\nDie geteilten Aufgabenlisten der Gruppenpläne sind dynamischer als Herausforderungen, da sie durchgehend aktualisiert werden können und jederzeit eine Interaktion ermöglichen. Herausforderungen sind dazu geeignet, vielen Menschen die gleichen Aufgaben zur Verfügung zu stellen.\n\nGruppenpläne sind eine kostenpflichtige Funktion, während Herausforderungen für alle gratis verfügbar sind.\n\nDu kannst in Herausforderungen keine bestimmten Aufgaben einzeln zuweisen, und Herausforderungen haben keinen geteilten Tagesstart. Allgemein bieten Herausforderungen weniger Möglichkeiten der Kontrolle und der direkten Interaktion.", + "iosFaqAnswer13": "## Wie funktionieren Gruppenpläne?\n\nEin [Gruppenplan](/group-plans) gibt deiner Gruppe oder Gilde Zugang zu einer gemeinsamen Aufgabentafel, die deiner persönlichen Aufgabentafel ähnlich ist! Es ist ein gemeinsames Habitica-Erlebnis, bei dem Aufgaben von jedem in der Gruppe erstellt und abgehakt werden können.\n\nEs gibt auch Funktionen wie Mitgliederrollen, Statusanzeige und Aufgabenzuweisung, die dir eine bessere Kontrolle ermöglichen. [Besuchen Sie unser Wiki](https://habitica.fandom.com/wiki/Group_Plans), um mehr über die Funktionen unserer Gruppenpläne zu erfahren!\n\n## Wer profitiert von einem Gruppenplan?\n\nGruppenpläne eignen sich am besten für ein kleines Team, das zusammenarbeiten möchte. Wir empfehlen 2-5 Mitglieder.\n\nGruppenpläne sind ideal für Familien, ob Eltern und Kinder oder Sie und Ihr Partner. Gemeinsame Ziele, Aufgaben oder Verantwortlichkeiten lassen sich leicht auf einer Tafel festhalten.\n\nGruppenpläne können auch für Teams von Kollegen nützlich sein, die gemeinsame Ziele haben, oder für Manager, die ihre Mitarbeiter in die Gamification einführen möchten.\n\n## Kurztipps zur Verwendung von Gruppen\n\nHier finden Sie einige Kurztipps für den Start mit Ihrer neuen Gruppe. In den folgenden Abschnitten werden wir mehr Details dazu geben:\n\n* Machen Sie ein Mitglied zum Manager, um ihm die Möglichkeit zu geben, Aufgaben zu erstellen und zu bearbeiten.\n* Aufgaben nicht zuweisen, wenn jeder sie erledigen kann und sie nur einmal erledigt werden müssen\n* Einer Person eine Aufgabe zuweisen, um sicherzustellen, dass niemand anderes die Aufgabe erledigen kann\n* eine Aufgabe mehreren Personen zuweisen, wenn sie alle erledigt werden müssen\n* Schalten Sie die Möglichkeit ein, gemeinsame Aufgaben auf Ihrer persönlichen Pinnwand anzuzeigen, um nichts zu verpassen.\n* Sie werden für die erledigten Aufgaben belohnt, auch wenn Sie mehreren Personen eine Aufgabe zuweisen.\n* Die Belohnungen für die Erledigung von Aufgaben werden nicht zwischen den Teammitgliedern geteilt oder aufgeteilt.\n* Verwenden Sie die Aufgabenfarbe auf der Teamtafel, um die durchschnittliche Erledigungsrate von Aufgaben zu beurteilen.\n* Überprüfen Sie regelmäßig die Aufgaben auf Ihrer Teamtafel, um sicherzustellen, dass sie noch relevant sind.\n* Wenn Sie eine tägliche Aufgabe verpassen, schadet das weder Ihnen noch Ihrem Team, aber die Farbe der Aufgabe wird herabgesetzt.\n\n## Wie können andere in der Gruppe Aufgaben erstellen?\n\nNur der Gruppenleiter und die Manager können Aufgaben erstellen. Wenn Sie möchten, dass ein Gruppenmitglied Aufgaben erstellen kann, sollten Sie es zum Manager ernennen, indem Sie auf die Registerkarte Gruppeninformationen gehen, die Mitgliederliste anzeigen und auf das Punktsymbol neben dem Namen des Mitglieds klicken.\n\n## Wie funktioniert das Zuweisen einer Aufgabe?\n\nGruppenpläne bieten Ihnen die einzigartige Möglichkeit, anderen Gruppenmitgliedern Aufgaben zuzuweisen. Das Zuweisen einer Aufgabe ist ideal zum Delegieren. Wenn Sie eine Aufgabe jemandem zuweisen, werden andere Mitglieder daran gehindert, sie zu erledigen.\n\nSie können eine Aufgabe auch mehreren Personen zuweisen, wenn sie von mehr als einem Mitglied erledigt werden muss. Wenn sich zum Beispiel alle die Zähne putzen müssen, erstellen Sie eine Aufgabe und weisen sie jedem Gruppenmitglied zu. Alle können die Aufgabe abhaken und erhalten dafür ihre individuelle Belohnung. Die Hauptaufgabe wird als erledigt angezeigt, sobald alle sie abgehakt haben.\n\n## Wie funktionieren nicht zugewiesene Aufgaben?\n\nNicht zugewiesene Aufgaben können von jedem Mitglied der Gruppe erledigt werden, also lassen Sie eine Aufgabe frei, damit jedes Mitglied sie erledigen kann. Ein Beispiel: Den Müll rausbringen. Derjenige, der den Müll rausbringt, kann die nicht zugewiesene Aufgabe abhaken und sie wird für alle als erledigt angezeigt.\n\n## Wie funktioniert die synchronisierte Tagesrückstellung?\n\nGemeinsame Aufgaben werden für alle zur gleichen Zeit zurückgesetzt, um die gemeinsame Aufgabentafel synchron zu halten. Diese Zeit ist auf der gemeinsamen Aufgabentafel sichtbar und wird durch die Startzeit des Tages des Gruppenleiters bestimmt. Da die gemeinsamen Aufgaben automatisch zurückgesetzt werden, haben Sie keine Chance, die unerledigten Dailies von gestern zu erledigen, wenn Sie am nächsten Morgen einchecken.\n\nGeteilte Dailies richten keinen Schaden an, wenn sie verpasst werden, aber sie werden farblich degradiert, um den Fortschritt zu visualisieren. Wir wollen nicht, dass die gemeinsame Erfahrung eine negative ist!\n\n## Wie verwende ich meine Gruppe in den mobilen Anwendungen?\n\nAuch wenn die mobilen Apps noch nicht alle Funktionen der Gruppenpläne unterstützen, können Sie dennoch gemeinsame Aufgaben in der iOS- und Android-App erledigen, indem Sie die Aufgaben auf Ihre persönliche Aufgabentafel kopieren. Sie können diese Einstellung über die Einstellungen in den mobilen Apps oder über die Gruppenaufgabentafel in der Browserversion einschalten. Offene und zugewiesene gemeinsame Aufgaben werden nun auf allen Plattformen auf Ihrer persönlichen Aufgabentafel angezeigt.\n\n## Was ist der Unterschied zwischen den gemeinsamen Aufgaben einer Gruppe und den Herausforderungen?\n\nDie gemeinsame Aufgabentafel von Gruppenplänen ist dynamischer als Herausforderungen, da sie ständig aktualisiert werden kann und man mit ihr interagieren kann. Herausforderungen sind ideal, wenn Sie eine Reihe von Aufgaben an viele Personen senden möchten.\n\nGruppenpläne sind außerdem eine kostenpflichtige Funktion, während Herausforderungen für alle kostenlos verfügbar sind.\n\nIn Herausforderungen können Sie keine spezifischen Aufgaben zuweisen, und es gibt keine Möglichkeit, einen gemeinsamen Tag zurückzusetzen. Im Allgemeinen bieten Herausforderungen weniger Kontrolle und direkte Interaktion.", + "androidFaqAnswer13": "## Wie funktionieren Gruppenpläne?\n\nEin [Gruppenplan](/group-plans) gibt deiner Gruppe oder Gilde Zugang zu einer gemeinsamen Aufgabentafel, die deiner persönlichen Aufgabentafel ähnlich ist! Es ist ein gemeinsames Habitica-Erlebnis, bei dem Aufgaben von jedem in der Gruppe erstellt und abgehakt werden können.\n\nEs gibt auch Funktionen wie Mitgliederrollen, Statusanzeige und Aufgabenzuweisung, die dir eine bessere Kontrolle ermöglichen. [Besuchen Sie unser Wiki](https://habitica.fandom.com/wiki/Group_Plans), um mehr über die Funktionen unserer Gruppenpläne zu erfahren!\n\n## Wer profitiert von einem Gruppenplan?\n\nGruppenpläne eignen sich am besten für ein kleines Team, das zusammenarbeiten möchte. Wir empfehlen 2-5 Mitglieder.\n\nGruppenpläne sind ideal für Familien, ob Eltern und Kinder oder Sie und Ihr Partner. Gemeinsame Ziele, Aufgaben oder Verantwortlichkeiten lassen sich leicht auf einer Tafel festhalten.\n\nGruppenpläne können auch für Teams von Kollegen nützlich sein, die gemeinsame Ziele haben, oder für Manager, die ihre Mitarbeiter in die Gamification einführen möchten.\n\n## Kurztipps zur Verwendung von Gruppen\n\nHier finden Sie einige Kurztipps für den Start mit Ihrer neuen Gruppe. In den folgenden Abschnitten werden wir mehr Details dazu geben:\n\n* Machen Sie ein Mitglied zum Manager, um ihm die Möglichkeit zu geben, Aufgaben zu erstellen und zu bearbeiten.\n* Aufgaben nicht zuweisen, wenn jeder sie erledigen kann und sie nur einmal erledigt werden müssen\n* Einer Person eine Aufgabe zuweisen, um sicherzustellen, dass niemand anderes die Aufgabe erledigen kann\n* eine Aufgabe mehreren Personen zuweisen, wenn sie alle erledigt werden müssen\n* Schalten Sie die Möglichkeit ein, gemeinsame Aufgaben auf Ihrer persönlichen Pinnwand anzuzeigen, um nichts zu verpassen.\n* Sie werden für die erledigten Aufgaben belohnt, auch wenn Sie mehreren Personen eine Aufgabe zuweisen.\n* Die Belohnungen für die Erledigung von Aufgaben werden nicht zwischen den Teammitgliedern geteilt oder aufgeteilt.\n* Verwenden Sie die Aufgabenfarbe auf der Teamtafel, um die durchschnittliche Erledigungsrate von Aufgaben zu beurteilen.\n* Überprüfen Sie regelmäßig die Aufgaben auf Ihrer Teamtafel, um sicherzustellen, dass sie noch relevant sind.\n* Wenn Sie eine tägliche Aufgabe verpassen, schadet das weder Ihnen noch Ihrem Team, aber die Farbe der Aufgabe wird herabgesetzt.\n\n## Wie können andere in der Gruppe Aufgaben erstellen?\n\nNur der Gruppenleiter und die Manager können Aufgaben erstellen. Wenn Sie möchten, dass ein Gruppenmitglied Aufgaben erstellen kann, sollten Sie es zum Manager ernennen, indem Sie auf die Registerkarte Gruppeninformationen gehen, die Mitgliederliste anzeigen und auf das Punktsymbol neben dem Namen des Mitglieds klicken.\n\n## Wie funktioniert das Zuweisen einer Aufgabe?\n\nGruppenpläne bieten Ihnen die einzigartige Möglichkeit, anderen Gruppenmitgliedern Aufgaben zuzuweisen. Das Zuweisen einer Aufgabe ist ideal zum Delegieren. Wenn Sie eine Aufgabe jemandem zuweisen, werden andere Mitglieder daran gehindert, sie zu erledigen.\n\nSie können eine Aufgabe auch mehreren Personen zuweisen, wenn sie von mehr als einem Mitglied erledigt werden muss. Wenn sich zum Beispiel alle die Zähne putzen müssen, erstellen Sie eine Aufgabe und weisen sie jedem Gruppenmitglied zu. Alle können die Aufgabe abhaken und erhalten dafür ihre individuelle Belohnung. Die Hauptaufgabe wird als erledigt angezeigt, sobald alle sie abgehakt haben.\n\n## Wie funktionieren nicht zugewiesene Aufgaben?\n\nNicht zugewiesene Aufgaben können von jedem Mitglied der Gruppe erledigt werden, also lassen Sie eine Aufgabe frei, damit jedes Mitglied sie erledigen kann. Ein Beispiel: Den Müll rausbringen. Derjenige, der den Müll rausbringt, kann die nicht zugewiesene Aufgabe abhaken und sie wird für alle als erledigt angezeigt.\n\n## Wie funktioniert die synchronisierte Tagesrückstellung?\n\nGemeinsame Aufgaben werden für alle zur gleichen Zeit zurückgesetzt, um die gemeinsame Aufgabentafel synchron zu halten. Diese Zeit ist auf der gemeinsamen Aufgabentafel sichtbar und wird durch die Startzeit des Tages des Gruppenleiters bestimmt. Da die gemeinsamen Aufgaben automatisch zurückgesetzt werden, haben Sie keine Chance, die unerledigten Dailies von gestern zu erledigen, wenn Sie am nächsten Morgen einchecken.\n\nGeteilte Dailies richten keinen Schaden an, wenn sie verpasst werden, aber sie werden farblich degradiert, um den Fortschritt zu visualisieren. Wir wollen nicht, dass die gemeinsame Erfahrung eine negative ist!\n\n## Wie verwende ich meine Gruppe in den mobilen Anwendungen?\n\nAuch wenn die mobilen Apps noch nicht alle Funktionen der Gruppenpläne unterstützen, können Sie dennoch gemeinsame Aufgaben in der iOS- und Android-App erledigen, indem Sie die Aufgaben auf Ihre persönliche Aufgabentafel kopieren. Sie können diese Einstellung über die Einstellungen in den mobilen Apps oder über die Gruppenaufgabentafel in der Browserversion einschalten. Offene und zugewiesene gemeinsame Aufgaben werden nun auf allen Plattformen auf Ihrer persönlichen Aufgabentafel angezeigt.\n\n## Was ist der Unterschied zwischen den gemeinsamen Aufgaben einer Gruppe und den Herausforderungen?\n\nDie gemeinsame Aufgabentafel von Gruppenplänen ist dynamischer als Herausforderungen, da sie ständig aktualisiert werden kann und man mit ihr interagieren kann. Herausforderungen sind ideal, wenn Sie eine Reihe von Aufgaben an viele Personen senden möchten.\n\nGruppenpläne sind außerdem eine kostenpflichtige Funktion, während Herausforderungen für alle kostenlos verfügbar sind.\n\nIn Herausforderungen können Sie keine spezifischen Aufgaben zuweisen, und es gibt keine Möglichkeit, einen gemeinsamen Tag zurückzusetzen. Im Allgemeinen bieten Herausforderungen weniger Kontrolle und direkte Interaktion.", + "general": "Allgemein", + "parties": "Partys", + "faqQuestion14": "Wie finde ich eine Party, wenn ich nicht in einer bin?", + "faqQuestion15": "Wie funktioniert die Suche nach einer Party?", + "iosFaqAnswer14": "Wenn du Habitica mit anderen erleben möchtest, aber keine anderen Spieler kennst, ist die Suche nach einer Party die beste Option! Wenn du bereits andere Spieler kennst, die eine Party haben, kannst du deinen @Benutzernamen mit ihnen teilen, um eingeladen zu werden. Alternativ kannst du auch eine neue Party gründen und sie mit ihrem @Nutzernamen oder ihrer E-Mail-Adresse einladen.\n\nUm eine Party zu erstellen oder zu suchen, wähle \"Party\" im Navigationsmenü und wähle dann die Option, die dir am besten gefällt.", + "webFaqAnswer14": "Wenn du Habitica mit anderen erleben möchtest, aber keine anderen Spieler kennst, ist die Suche nach einer Party die beste Option! Wenn du bereits andere Spieler kennst, die eine Party haben, kannst du deinen @Benutzernamen mit ihnen teilen, um eingeladen zu werden. Alternativ kannst du auch eine neue Party gründen und sie mit ihrem @Nutzernamen oder ihrer E-Mail-Adresse einladen.\n\nUm eine Party zu erstellen oder zu suchen, wähle \"Party\" im Navigationsmenü und wähle dann die Option, die dir am besten gefällt.", + "androidFaqAnswer14": "Wenn du Habitica mit anderen erleben möchtest, aber keine anderen Spieler kennst, ist die Suche nach einer Party die beste Option! Wenn du bereits andere Spieler kennst, die eine Party haben, kannst du deinen @Benutzernamen mit ihnen teilen, um eingeladen zu werden. Alternativ kannst du auch eine neue Party gründen und sie mit ihrem @Nutzernamen oder ihrer E-Mail-Adresse einladen.\n\nUm eine Party zu erstellen oder zu suchen, wähle \"Party\" im Navigationsmenü und wähle dann die Option, die dir am besten gefällt." } diff --git a/website/common/locales/de/groups.json b/website/common/locales/de/groups.json index 7bb5b9ca75..61dfb5d938 100644 --- a/website/common/locales/de/groups.json +++ b/website/common/locales/de/groups.json @@ -166,7 +166,7 @@ "assignedToUser": "Zugewiesen: @<%- userName %>", "assignedToMembers": "<%= userCount %> Mitgliedern", "assignedToYouAndMembers": "Dir, <%= userCount %> Mitgliedern", - "youAreAssigned": "Dir zugewiesen", + "youAreAssigned": "Zugewiesen: Dir", "taskIsUnassigned": "Diese Aufgabe ist niemandem zugewiesen", "confirmUnClaim": "Bist Du sicher, dass Du diese Aufgabe abgeben möchtest?", "confirmNeedsWork": "Bist Du sicher, dass Du diese Aufgabe auf \"Benötigt Arbeit\" setzen möchtest?", diff --git a/website/common/locales/de/limited.json b/website/common/locales/de/limited.json index 8e1861afa0..610d695a5a 100644 --- a/website/common/locales/de/limited.json +++ b/website/common/locales/de/limited.json @@ -235,5 +235,12 @@ "fall2022HarpyMageSet": "Harpyie (Magier)", "fall2022WatcherHealerSet": "Beobachter (Heiler)", "gemSaleHow": "Kauf einfach zwischen <%= eventStartMonth %> <%= eventStartOrdinal %>und <%= eventEndOrdinal %> eines der Edelstein-Pakete wie normal und Deinem Konto werden automatisch die zusätzlichen Edelsteine gutgeschrieben. Das heißt insgesamt mehr Edelsteine zum ausgeben, teilen oder ansparen für zukünftige Veröffentlichungen!", - "gemSaleLimitations": "Dieses Sonderangebot gilt nur während der zeitlich beschränkten Aktion. Die Aktion startet am <%= eventStartOrdinal %>. <%= eventStartMonth %> um 8:00 EDT (12:00 UTC) und endet am <%= eventEndOrdinal %>. <%= eventStartMonth %> um 20:00 PM EDT (00:00 UTC). Das Sonderangebot ist nur verfügbar, wenn Du Edelsteine für Dich selbst kaufst." + "gemSaleLimitations": "Dieses Sonderangebot gilt nur während der zeitlich beschränkten Aktion. Die Aktion startet am <%= eventStartOrdinal %>. <%= eventStartMonth %> um 8:00 EDT (12:00 UTC) und endet am <%= eventEndOrdinal %>. <%= eventStartMonth %> um 20:00 PM EDT (00:00 UTC). Das Sonderangebot ist nur verfügbar, wenn Du Edelsteine für Dich selbst kaufst.", + "winter2023WalrusWarriorSet": "Walross (Krieger)", + "winter2023FairyLightsMageSet": "Feenlichter (Magier)", + "winter2023CardinalHealerSet": "Kardinal (Heiler)", + "dateStartFebruary": "8. Februar", + "anniversaryLimitedDates": "30. Januar bis 8. Februar", + "limitedEvent": "Limitiertes Event", + "winter2023RibbonRogueSet": "Schleife (Schurke)" } diff --git a/website/common/locales/de/pets.json b/website/common/locales/de/pets.json index 8c88045c68..7d9d09355d 100644 --- a/website/common/locales/de/pets.json +++ b/website/common/locales/de/pets.json @@ -113,5 +113,6 @@ "gryphatrice": "Greifatrice", "tooMuchFood": "Du versuchst zu viel Futter an Dein Haustier zu verfüttern, Aktion abgebrochen", "notEnoughFood": "Du hast nicht genug Futter", - "invalidAmount": "Ungültige Menge Futter, positiver Integer benötigt" + "invalidAmount": "Ungültige Menge Futter, positiver Integer benötigt", + "jubilantGryphatrice": "Jubelnder Greifatrice" } diff --git a/website/common/locales/el/groups.json b/website/common/locales/el/groups.json index 103c919b55..ccfdf7f45c 100755 --- a/website/common/locales/el/groups.json +++ b/website/common/locales/el/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/en/achievements.json b/website/common/locales/en/achievements.json index ad43c35688..7e4aba8355 100644 --- a/website/common/locales/en/achievements.json +++ b/website/common/locales/en/achievements.json @@ -143,6 +143,12 @@ "achievementBoneToPickText": "Has hatched all the Classic and Quest Skeleton Pets!", "achievementBoneToPickModalText": "You collected all the Classic and Quest Skeleton Pets!", "achievementPolarPro": "Polar Pro", - "achievementPolarProText": "Has hatched all Polar pets: Bear, Fox, Penguin, Whale, and Wolf!", - "achievementPolarProModalText": "You collected all the Polar Pets!" + "achievementPolarProText": "Has hatched all standard colors of Polar pets: Bear, Fox, Penguin, Whale, and Wolf!", + "achievementPolarProModalText": "You collected all the Polar Pets!", + "achievementPlantParent": "Plant Parent", + "achievementPlantParentText": "Has hatched all standard colors of Plant pets: Cactus and Treeling!", + "achievementPlantParentModalText": "You collected all the Plant Pets!", + "achievementDinosaurDynasty": "Dinosaur Dynasty", + "achievementDinosaurDynastyText": "Has hatched all standard colors of bird and dinosaur pets: Falcon, Owl, Parrot, Peacock, Penguin, Rooster, Pterodactyl, T-Rex, Triceratops, and Velociraptor!", + "achievementDinosaurDynastyModalText": "You collected all the bird and dinosaur pets!" } diff --git a/website/common/locales/en/backgrounds.json b/website/common/locales/en/backgrounds.json index 5c5af02f2c..157b4f8c48 100644 --- a/website/common/locales/en/backgrounds.json +++ b/website/common/locales/en/backgrounds.json @@ -843,11 +843,63 @@ "backgroundSnowyVillageText": "Snowy Village", "backgroundSnowyVillageNotes": "Admire a Snowy Village.", + "backgrounds012023": "SET 104: Released January 2023", + "backgroundRimeIceText": "Rime Ice", + "backgroundRimeIceNotes": "Admire sparkly Rime Ice.", + "backgroundSnowyTempleText": "Snowy Temple", + "backgroundSnowyTempleNotes": "View a serene Snowy Temple.", + "backgroundWinterLakeWithSwansText": "Winter Lake With Swans", + "backgroundWinterLakeWithSwansNotes": "Enjoy nature at a Winter Lake With Swans.", + + "backgrounds022023": "SET 105: Released February 2023", + "backgroundInFrontOfFountainText": "In Front of a Fountain", + "backgroundInFrontOfFountainNotes": "Stroll In Front of a Fountain.", + "backgroundGoldenBirdcageText": "Golden Birdcage", + "backgroundGoldenBirdcageNotes": "Hide out in a Golden Birdcage.", + "backgroundFancyBedroomText": "Fancy Bedroom", + "backgroundFancyBedroomNotes": "Luxuriate in a Fancy Bedroom.", + + "backgrounds032023": "SET 106: Released March 2023", + "backgroundOldTimeyBasketballCourtText": "Old Timey Basketball Court", + "backgroundOldTimeyBasketballCourtNotes": "Shoot hoops on an Old Timey BasketBall Court.", + "backgroundJungleWateringHoleText": "Jungle Watering Hole", + "backgroundJungleWateringHoleNotes": "Stop for a sip at a Jungle Watering Hole.", + "backgroundMangroveForestText": "Mangrove Forest", + "backgroundMangroveForestNotes": "Explore the edge of the Mangrove Forest.", + + "backgrounds042023": "SET 107: Released April 2023", + "backgroundLeafyTreeTunnelText": "Leafy Tree Tunnel", + "backgroundLeafyTreeTunnelNotes": "Wander through a Leafy Tree Tunnel.", + "backgroundSpringtimeShowerText": "Springtime Shower", + "backgroundSpringtimeShowerNotes": "See a Flowery Springtime Shower.", + "backgroundUnderWisteriaText": "Under Wisteria", + "backgroundUnderWisteriaNotes": "Relax Under Wisteria.", + + "backgrounds052023": "SET 108: Released May 2023", + "backgroundInAPaintingText": "In A Painting", + "backgroundInAPaintingNotes": "Enjoy creative pursuits Inside a Painting.", + "backgroundFlyingOverHedgeMazeText": "Flying Over Hedge Maze", + "backgroundFlyingOverHedgeMazeNotes": "Marvel while Flying over a Hedge Maze.", + "backgroundCretaceousForestText": "Cretaceous Forest", + "backgroundCretaceousForestNotes": "Take in the ancient greenery of a Cretaceous Forest.", + + "backgrounds062023": "SET 109: Released June 2023", + "backgroundInAnAquariumText": "In an Aquarium", + "backgroundInAnAquariumNotes": "Take a peaceful swim with the fish In an Aquarium.", + "backgroundInsideAdventurersHideoutText": "Inside an Adventurer's Hideout", + "backgroundInsideAdventurersHideoutNotes": "Plan a journey inside an Adventurer's Hideout.", + "backgroundCraterLakeText": "Crater Lake", + "backgroundCraterLakeNotes": "Admire a lovely Crater Lake.", + "timeTravelBackgrounds": "Steampunk Backgrounds", "backgroundAirshipText": "Airship", "backgroundAirshipNotes": "Become a sky sailor on board your very own Airship.", "backgroundSteamworksText": "Steamworks", "backgroundSteamworksNotes": "Build mighty contraptions of vapor and steel in a Steamworks.", "backgroundClocktowerText": "Clock Tower", - "backgroundClocktowerNotes": "Situate your secret lair behind the face of a Clock Tower." + "backgroundClocktowerNotes": "Situate your secret lair behind the face of a Clock Tower.", + + "eventBackgrounds": "Event Backgrounds", + "backgroundBirthdayBashText": "Birthday Bash", + "backgroundBirthdayBashNotes": "Habitica's having a birthday party, and everyone's invited!" } diff --git a/website/common/locales/en/communityGuidelines.json b/website/common/locales/en/communityGuidelines.json index 874f5a4ba4..83a4a36e9e 100644 --- a/website/common/locales/en/communityGuidelines.json +++ b/website/common/locales/en/communityGuidelines.json @@ -5,53 +5,55 @@ "commGuideHeadingWelcome": "Welcome to Habitica!", "commGuidePara001": "Greetings, adventurer! Welcome to Habitica, the land of productivity, healthy living, and the occasional rampaging gryphon. We have a cheerful community full of helpful people supporting each other on their way to self-improvement. To fit in, all it takes is a positive attitude, a respectful manner, and the understanding that everyone has different skills and limitations -- including you! Habiticans are patient with one another and try to help whenever they can.", "commGuidePara002": "To help keep everyone safe, happy, and productive in the community, we do have some guidelines. We have carefully crafted them to make them as friendly and easy-to-read as possible. Please take the time to read them before you start chatting.", - "commGuidePara003": "These rules apply to all of the social spaces we use, including (but not necessarily limited to) Trello, GitHub, Weblate, and the Habitica Wiki on Fandom. As communities grow and change, their rules may adapt from time to time. When there are substantive changes to these Guidelines, you'll hear about it in a Bailey announcement and/or our social media!", + "commGuidePara003": "These rules apply to all of the social spaces we use, including (but not necessarily limited to) Trello, GitHub, Weblate, and the Habitica Wiki on Fandom. As communities grow and change, their rules may adapt from time to time. When there are substantive changes to the community rules listed here, you'll hear about it in a Bailey announcement and/or our social media!", "commGuideHeadingInteractions": "Interactions in Habitica", "commGuidePara015": "Habitica has two kinds of social spaces: public, and private. Public spaces include the Tavern, Public Guilds, GitHub, Trello, and the Wiki. Private spaces are Private Guilds, Party chat, and Private Messages. All Display Names and @usernames must comply with the public space guidelines. To change your Display Name and/or @username, on mobile go to Menu > Settings > Profile. On web, go to User > Settings.", "commGuidePara016": "When navigating the public spaces in Habitica, there are some general rules to keep everyone safe and happy.", "commGuidePara017": "Here's the quick version, but we encourage you to read in more detail below:", + "commGuideList01F": "Please flag posts that break our Community Guidelines or TOS.", "commGuideList01A": "Terms & Conditions apply across all spaces, including private guilds, party chat, and messages.", "commGuideList01B": "Prohibited: Any communication that is violent, threatening, promoting of discrimination etc. including memes, images, and jokes.", "commGuideList01C": "All discussions must be appropriate for all ages and be free of profanity.", - "commGuideList01D": "Please comply with mod requests.", - "commGuideList01E": "Do not instigate or engage in contentious conversation in the Tavern.", + "commGuideList01D": "Please comply with staff requests.", + "commGuideList01E": "Do not instigate or engage in contentious conversation in the Tavern.", "commGuideList01F": "No begging for paid items, spamming, or large header text/all caps.", + "commGuideList02N": "Flag and report posts that break these Guidelines or the Terms of Service. We will handle them as quickly as possible. You may also notify staff via admin@habitica.com but flags are the fastest way to get help.", "commGuideList02A": "Respect each other. Be courteous, kind, friendly, and helpful. Remember: Habiticans come from all backgrounds and have had wildly divergent experiences. This is part of what makes Habitica so cool! Building a community means respecting and celebrating our differences as well as our similarities.", - "commGuideList02B": "Obey all of the Terms and Conditions in both public and private spaces.", - "commGuideList02G": "Comply immediately with any Mod request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, asking you to move your discussion to a more suitable space, etc. Do not argue with moderators. If you have concerns or comments about moderation, email admin@habitica.com to contact our community manager.", + "commGuideList02B": "Obey all of the Terms and Conditions in both public and private spaces.", + "commGuideList02G": "Comply immediately with any Staff request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, asking you to move your discussion to a more suitable space, etc. Do not argue with staff. If you have concerns or comments about staff actions, email admin@habitica.com to contact our community manager.", "commGuideList02C": "Do not post images or text that are violent, threatening, or sexually explicit/suggestive, or that promote discrimination, bigotry, racism, sexism, hatred, harassment or harm against any individual or group. Not even as a joke or meme. This includes slurs as well as statements. Not everyone has the same sense of humor, and so something that you consider a joke may be hurtful to another.", "commGuideList02D": "Keep discussions appropriate for all ages. This means avoiding adult topics in public spaces. We have many young Habiticans who use the site, and people come from all walks of life. We want our community to be as comfortable and inclusive as possible.", - "commGuideList02E": "Avoid profanity. This includes milder, religious-based oaths that may be acceptable elsewhere and abbreviated or obscured profanity. We have people from all religious and cultural backgrounds, and we want to make sure that all of them feel comfortable in public spaces. If a moderator or staff member tells you that a term is disallowed on Habitica, even if it is a term that you did not realize was problematic, that decision is final. Additionally, slurs will be dealt with very severely, as they are also a violation of the Terms of Service.", - "commGuideList02F": "Avoid extended discussions of divisive topics in the Tavern and where it would be off-topic. If someone mentions something that is allowed by the guidelines but which is hurtful to you, it's okay to politely let them know that. If someone tells you you've made them uncomfortable, take time to reflect instead of responding in anger. But if you feel that a conversation is getting heated, overly emotional, or hurtful, cease to engage. Instead, report the posts to let us know about it. Moderators will respond as quickly as possible. You may also email admin@habitica.com and include screenshots if they may be helpful.", + "commGuideList02E": "Avoid profanity. This includes abbreviated or obscured profanity. We have people from all religious and cultural backgrounds, and we want to make sure that all of them feel comfortable in public spaces. If a staff member tells you that a term is disallowed on Habitica, even if it is a term that you did not realize was problematic, that decision is final. Additionally, slurs will be dealt with very severely, as they are also a violation of the Terms of Service.", + "commGuideList02F": "Avoid extended discussions of divisive topics in the Tavern and where it would be off-topic. If someone mentions something that is allowed by the guidelines but which is hurtful to you, it's okay to politely let them know that. If someone tells you you've made them uncomfortable, take time to reflect instead of responding in anger. But if you feel that a conversation is getting heated, overly emotional, or hurtful, cease to engage. Instead, report the posts to let us know about it. Staff will respond as quickly as possible. You may also email admin@habitica.com and include screenshots if they may be helpful.", "commGuideList02M": "Do not ask or beg for gems, subscriptions or membership in Group Plans. This is not allowed in the Tavern, public or private chat spaces, or in PMs. If you receive messages asking for paid items, please report them by flagging. Repeated or severe gem or subscription begging, especially after a warning, may result in an account ban.", - "commGuideList02J": "Do not spam. Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, posting multiple promotional messages about a Guild, Party or Challenge, or posting many messages in a row. If people clicking on a link will result in any benefit to you, you need to disclose that in the text of your message or that will also be considered spam. Mods may decide what constitutes spam at their discretion.", + "commGuideList02J": "Do not spam. Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, posting multiple promotional messages about a Guild, Party or Challenge, or posting many messages in a row. If people clicking on a link will result in any benefit to you, you need to disclose that in the text of your message or that will also be considered spam. Staff may decide what constitutes spam at their discretion.", "commGuideList02K": "Avoid posting large header text in the public chat spaces, particularly the Tavern. Much like ALL CAPS, it reads as if you were yelling, and interferes with the comfortable atmosphere.", - "commGuideList02L": "We highly discourage the exchange of personal information -- particularly information that can be used to identify you -- in public chat spaces. Identifying information can include but is not limited to: your address, your email address, and your API token/password. This is for your safety! Staff or moderators may remove such posts at their discretion. If you are asked for personal information in a private Guild, Party, or PM, we highly recommend that you politely refuse and alert the staff and moderators by either 1) flagging the message, or 2) emailing admin@habitica.com and including screenshots.", + "commGuideList02L": "We highly discourage the exchange of personal information -- particularly information that can be used to identify you -- in public chat spaces. Identifying information can include but is not limited to: your address, your email address, and your API token/password. This is for your safety! Staff may remove such posts at their discretion. If you are asked for personal information in a private Guild, Party, or PM, we highly recommend that you politely refuse and alert the staff by either 1) flagging the message, or 2) emailing admin@habitica.com and including screenshots.", "commGuidePara019": "In private spaces, users have more freedom to discuss whatever topics they would like, but they still may not violate the Terms and Conditions, including posting slurs or any discriminatory, violent, or threatening content. Note that, because Challenge names appear in the winner's public profile, ALL Challenge names must obey the public space guidelines, even if they appear in a private space.", "commGuidePara020": "Private Messages (PMs) have some additional guidelines. If someone has blocked you, do not contact them elsewhere to ask them to unblock you. Additionally, you should not send PMs to someone asking for support (since public answers to support questions are helpful to the community). Finally, do not send anyone PMs begging for paid content of any kind.", - "commGuidePara020A": "If you see a post or private message that you believe is in violation of the public space guidelines outlined above, or if you see a post or private message that concerns you or makes you uncomfortable, you can bring it to the attention of Moderators and Staff by clicking the flag icon to report it. A Staff member or Moderator will respond to the situation as soon as possible. Please note that intentionally reporting innocent posts is an infraction of these Guidelines (see below in \"Infractions\"). You can also contact the Mods by emailing admin@habitica.com You may want to do this if there are multiple problematic posts by the same person in different Guilds, or if the situation requires some explanation. You may contact us in your native language if that is easier for you: we may have to use Google Translate, but we want you to feel comfortable about contacting us if you have a problem.", + "commGuidePara020A": "If you see a post or private message that you believe is in violation of the public space guidelines outlined above, or if you see a post or private message that concerns you or makes you uncomfortable, you can bring it to the attention of Staff by clicking the flag icon to report it. A Staff member will respond to the situation as soon as possible. Please note that intentionally reporting innocent posts is an infraction of these Guidelines (see below in \"Infractions\"). You can also contact the Staff by emailing admin@habitica.com You may want to do this if there are multiple problematic posts by the same person in different Guilds, or if the situation requires some explanation. You may contact us in your native language if that is easier for you: we may have to use Google Translate, but we want you to feel comfortable about contacting us if you have a problem.", "commGuidePara021": "Furthermore, some public spaces in Habitica have additional guidelines.", "commGuideHeadingTavern": "The Tavern", "commGuidePara022": "The Tavern is the main spot for Habiticans to mingle. Daniel the Innkeeper keeps the place spic-and-span, and Lemoness will happily conjure up some lemonade while you sit and chat. Just keep in mind…", - "commGuidePara023": "Conversation tends to revolve around casual chatting and productivity or life improvement tips. Because the Tavern chat can only hold 200 messages, it isn't a good place for prolonged conversations on topics, especially sensitive ones (ex. politics, religion, depression, whether or not goblin-hunting should be banned, etc.). These conversations should be taken to an applicable Guild. A Mod may direct you to a suitable Guild, but it is ultimately your responsibility to find and post in the appropriate place.", + "commGuidePara023": "Conversation tends to revolve around casual chatting and productivity or life improvement tips. Because the Tavern chat can only hold 200 messages, it isn't a good place for prolonged conversations on topics, especially sensitive or contentious ones (ex. politics, religion, depression, whether or not goblin-hunting should be banned, etc.). These conversations should be taken to an applicable Guild. Staff may direct you to a suitable Guild, but it is ultimately your responsibility to find and post in the appropriate place.", "commGuidePara024": "Don't discuss anything addictive in the Tavern. Many people use Habitica to try to quit their bad Habits. Hearing people talk about addictive/illegal substances may make this much harder for them! Respect your fellow Tavern-goers and take this into consideration. This includes, but is not exclusive to: smoking, alcohol, pornography, gambling, and drug use/abuse.", "commGuideHeadingPublicGuilds": "Public Guilds", "commGuidePara029": "Public Guilds are much like the Tavern, except that instead of being centered around general conversation, they have a focused theme. Public Guild chat should focus on this theme. For example, members of the Wordsmiths Guild might be cross if the conversation is suddenly focusing on gardening instead of writing, and a Dragon-Fanciers Guild might not have any interest in deciphering ancient runes. Some Guilds are more lax about this than others, but in general, try to stay on topic!", "commGuidePara031": "Some public Guilds will contain sensitive topics such as depression, religion, politics, etc. This is fine as long as the conversations therein do not violate any of the Terms and Conditions or Public Space Rules, and as long as they stay on topic.", "commGuidePara033": "Public Guilds may NOT contain 18+ content. If they plan to regularly discuss sensitive content, they should say so in the Guild description. This is to keep Habitica safe and comfortable for everyone.", - "commGuidePara035": "If the Guild in question has different kinds of sensitive issues, it is respectful to your fellow Habiticans to place your comment behind a warning (ex. \"Warning: references self-harm\"). These may be characterized as trigger warnings and/or content notes, and Guilds may have their own rules in addition to those given here. If possible, please use markdown to hide the potentially sensitive content below line breaks so that those who may wish to avoid reading it can scroll past it without seeing the content. Habitica staff and moderators may still remove this material at their discretion.", + "commGuidePara035": "If the Guild in question has different kinds of sensitive issues, it is respectful to your fellow Habiticans to include a warning (ex. \"Warning: references self-harm\"). These may be characterized as trigger warnings and/or content notes, and Guilds may have their own rules in addition to those given here. Habitica staff may still remove this material at their discretion.", "commGuidePara036": "Additionally, the sensitive material should be topical -- bringing up self-harm in a Guild focused on fighting depression may make sense, but is probably less appropriate in a music Guild. If you see someone who is repeatedly violating this guideline, especially after several requests, please report the posts.", "commGuidePara037": "No Guilds, Public or Private, should be created for the purpose of attacking any group or individual. Creating such a Guild is grounds for an instant ban. Fight bad habits, not your fellow adventurers!", "commGuidePara038": "All Tavern Challenges and Public Guild Challenges must comply with these rules as well.", "commGuideHeadingInfractionsEtc": "Infractions, Consequences, and Restoration", "commGuideHeadingInfractions": "Infractions", - "commGuidePara050": "Overwhelmingly, Habiticans assist each other, are respectful, and work to make the whole community fun and friendly. However, once in a blue moon, something that a Habitican does may violate one of the above guidelines. When this happens, the Mods will take whatever actions they deem necessary to keep Habitica safe and comfortable for everyone.", - "commGuidePara051": "There are a variety of infractions, and they are dealt with depending on their severity. These are not comprehensive lists, and the Mods can make decisions on topics not covered here at their own discretion. The Mods will take context into account when evaluating infractions.", + "commGuidePara050": "Overwhelmingly, Habiticans assist each other, are respectful, and work to make the whole community fun and friendly. However, once in a blue moon, something that a Habitican does may violate one of the above guidelines. When this happens, the Staff will take whatever actions they deem necessary to keep Habitica safe and comfortable for everyone.", + "commGuidePara051": "There are a variety of infractions, and they are dealt with depending on their severity. These are not comprehensive lists, and the Staff can make decisions on topics not covered here at their own discretion. The Staff will take context into account when evaluating infractions.", "commGuideHeadingSevereInfractions": "Severe Infractions", "commGuidePara052": "Severe infractions greatly harm the safety of Habitica's community and users, and therefore have severe consequences as a result.", @@ -59,16 +61,16 @@ "commGuideList05A": "Violation of Terms and Conditions", "commGuideList05B": "Hate Speech/Images, Harassment/Stalking, Cyber-Bullying, Flaming, and Trolling", "commGuideList05C": "Violation of Probation", - "commGuideList05D": "Impersonation of Staff or Moderators - this includes claiming user-created spaces not affiliated with Habitica are official and/or moderated by Habitica or its Mods/staff", + "commGuideList05D": "Impersonation of Staff - this includes claiming user-created spaces not affiliated with Habitica are official and/or moderated by Habitica or its Staff", "commGuideList05E": "Repeated Moderate Infractions", "commGuideList05F": "Creation of a duplicate account to avoid consequences (for example, making a new account to chat after having chat privileges revoked)", - "commGuideList05G": "Intentional deception of Staff or Moderators in order to avoid consequences or to get another user in trouble", + "commGuideList05G": "Intentional deception of Staff in order to avoid consequences or to get another user in trouble", "commGuideList05H": "Severe or repeated attempts to defraud or pressure other players for real-money items", "commGuideHeadingModerateInfractions": "Moderate Infractions", "commGuidePara054": "Moderate infractions do not make our community unsafe, but they do make it unpleasant. These infractions will have moderate consequences. When in conjunction with multiple infractions, the consequences may grow more severe.", "commGuidePara055": "The following are some examples of Moderate Infractions. This is not a comprehensive list.", - "commGuideList06A": "Ignoring, disrespecting or arguing with a Mod. This includes publicly complaining about moderators or other users, publicly glorifying or defending banned users, or debating whether or not a moderator action was appropriate. If you are concerned about one of the rules or the behaviour of the Mods, please contact the staff via email (admin@habitica.com).", + "commGuideList06A": "Ignoring, disrespecting or arguing with Staff. This includes publicly complaining about staff or other users, publicly glorifying or defending banned users, or debating whether or not a staff action was appropriate. If you are concerned about one of the rules or the behavior of the Staff, please contact us via email (admin@habitica.com).", "commGuideList06B": "Backseat Modding. To quickly clarify a relevant point: A friendly mention of the rules is fine. Backseat modding consists of telling, demanding, and/or strongly implying that someone must take an action that you describe to correct a mistake. You can alert someone to the fact that they have committed a transgression, but please do not demand an action -- for example, saying, \"Just so you know, profanity is discouraged in the Tavern, so you may want to delete that,\" would be better than saying, \"I'm going to have to ask you to delete that post.\"", "commGuideList06C": "Intentionally flagging innocent posts.", "commGuideList06D": "Repeatedly Violating Public Space Guidelines", @@ -78,14 +80,14 @@ "commGuidePara056": "Minor Infractions, while discouraged, still have minor consequences. If they continue to occur, they can lead to more severe consequences over time.", "commGuidePara057": "The following are some examples of Minor Infractions. This is not a comprehensive list.", "commGuideList07A": "First-time violation of Public Space Guidelines", - "commGuideList07B": "Any statements or actions that trigger a \"Please Don't\" from a Mod. When you are asked not to do something publicly, this in itself can be a consequence. If Mods have to issue many of these corrections to the same person, it may count as a larger infraction", + "commGuideList07B": "Any statements or actions that trigger a \"Please Don't\" from a Staff member. When you are asked not to do something publicly, this in itself can be a consequence. If Staff have to issue many of these corrections to the same person, it may count as a larger infraction", "commGuidePara057A": "Some posts may be hidden because they contain sensitive information or might give people the wrong idea. Typically this does not count as an infraction, particularly not the first time it happens!", "commGuideHeadingConsequences": "Consequences", "commGuidePara058": "In Habitica -- as in real life -- every action has a consequence, whether it is getting fit because you've been running, getting cavities because you've been eating too much sugar, or passing a class because you've been studying.", "commGuidePara059": "Similarly, all infractions have direct consequences. Some sample consequences are outlined below.", - "commGuidePara060": "If your infraction has a moderate or severe consequence, there will be a post from a staff member or moderator in the forum in which the infraction occurred explaining:", + "commGuidePara060": "If your infraction has a moderate or severe consequence, if appropriate for the circumstances, there will be a post from a staff member in the forum in which the infraction occurred explaining:", "commGuideList08A": "what your infraction was", "commGuideList08B": "what the consequence is", "commGuideList08C": "what to do to correct the situation and restore your status, if possible.", @@ -97,35 +99,29 @@ "commGuideList09D": "Removal or demotion of Contributor Tiers", "commGuideHeadingModerateConsequences": "Examples of Moderate Consequences", "commGuideList10A": "Restricted public and/or private chat privileges", - "commGuideList10A1": "If your actions result in revocation of your chat privileges, a Moderator or Staff member will PM you and/or post in the forum in which you were muted to notify you of the reason for your muting and the length of time for which you will be muted and/or the action required for reinstatement. You will be reinstated if you comply politely with the actions required and agree to abide by the Community Guidelines and ToS", - "commGuideList10C": "Restricted Guild/Challenge creation privileges", + "commGuideList10A1": "If your actions result in revocation of your chat privileges, you must email admin@habitica.com. You may be reinstated at staff discretion if you comply politely with the actions required and agree to abide by the Community Guidelines and ToS", "commGuideList10D": "Temporarily disabling (\"freezing\") progression through Contributor Tiers", "commGuideList10F": "Putting users on \"Probation\"", "commGuideHeadingMinorConsequences": "Examples of Minor Consequences", "commGuideList11A": "Reminders of Public Space Guidelines", "commGuideList11B": "Warnings", "commGuideList11C": "Requests", - "commGuideList11D": "Deletions (Mods/Staff may delete problematic content)", - "commGuideList11E": "Edits (Mods/Staff may edit problematic content)", + "commGuideList11D": "Deletions (Staff may delete problematic content)", + "commGuideList11E": "Edits (Staff may edit problematic content)", "commGuideHeadingRestoration": "Restoration", "commGuidePara061": "Habitica is a land devoted to self-improvement, and we believe in second chances. If you commit an infraction and receive a consequence, view it as a chance to evaluate your actions and strive to be a better member of the community.", "commGuidePara062": "The announcement, message, and/or email that you receive explaining the consequences of your actions is a good source of information. Cooperate with any restrictions which have been imposed, and endeavor to meet the requirements to have any penalties lifted.", - "commGuidePara063": "If you do not understand your consequences, or the nature of your infraction, ask the Staff/Moderators for help so you can avoid committing infractions in the future. If you feel a particular decision was unfair, you can contact the staff to discuss it at admin@habitica.com.", + "commGuidePara063": "If you do not understand your consequences, or the nature of your infraction, ask the Staff for help so you can avoid committing infractions in the future. If you feel a particular decision was unfair, you can contact the staff to discuss it at admin@habitica.com.", - "commGuideHeadingMeet": "Meet the Staff and Mods!", - "commGuidePara006": "Habitica has some tireless knights-errant who join forces with the staff members to keep the community calm, contented, and free of trolls. Each has a specific domain, but will sometimes be called to serve in other social spheres.", - "commGuidePara007": "Staff have purple tags marked with crowns. Their title is \"Heroic\".", - "commGuidePara008": "Mods have dark blue tags marked with stars. Their title is \"Guardian\".", + "commGuideHeadingMeet": "Meet the Staff", + "commGuidePara007": "The Habitica Staff keep the app and sites running and can act as chat moderators. They have purple tags marked with crowns. Their title is \"Heroic\".", "commGuidePara009": "The current Staff Members are (from left to right):", "commGuideAKA": "<%= habitName %> aka <%= realName %>", "commGuideOnGitHub": "<%= gitHubName %> on GitHub", - "commGuidePara010": "There are also several Moderators who assist the staff members. They were selected carefully, so please give them your respect and listen to their suggestions.", - "commGuidePara011": "The current Moderators are (from left to right):", "commGuidePara011b": "on GitHub/Fandom", "commGuidePara011c": "on the Wiki", "commGuidePara011d": "on GitHub", - "commGuidePara012": "If you have an issue or concern about a particular Mod, please send an email to our Staff (admin@habitica.com).", "commGuidePara013": "In a community as big as Habitica, users come and go, and sometimes a staff member or moderator needs to lay down their noble mantle and relax. The following are Staff and Moderators Emeritus. They no longer act with the power of a Staff member or Moderator, but we would still like to honor their work!", "commGuidePara014": "Staff and Moderators Emeritus:", diff --git a/website/common/locales/en/content.json b/website/common/locales/en/content.json index 2b0fe859ce..d7be693d2f 100644 --- a/website/common/locales/en/content.json +++ b/website/common/locales/en/content.json @@ -310,6 +310,8 @@ "hatchingPotionOnyx": "Onyx", "hatchingPotionVirtualPet": "Virtual Pet", "hatchingPotionPorcelain": "Porcelain", + "hatchingPotionPinkMarble": "Pink Marble", + "hatchingPotionTeaShop": "Tea Shop", "hatchingPotionNotes": "Pour this on an egg, and it will hatch as a <%= potText(locale) %> pet.", "premiumPotionAddlNotes": "Not usable on quest pet eggs. Available for purchase until <%= date(locale) %>.", diff --git a/website/common/locales/en/faq.json b/website/common/locales/en/faq.json index 3e53eb7327..ce5194df2c 100644 --- a/website/common/locales/en/faq.json +++ b/website/common/locales/en/faq.json @@ -1,5 +1,6 @@ { "frequentlyAskedQuestions": "Frequently Asked Questions", + "general": "General", "faqQuestion0": "I'm confused. Where do I get an overview?", "iosFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn experience and gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as Pets, Skills, and Quests! You can customize your character under Menu > Customize Avatar.\n\n Some basic ways to interact: click the (+) in the upper-right-hand corner to add a new task. Tap on an existing task to edit it, and swipe left on a task to delete it. You can sort tasks using Tags in the upper-left-hand corner, and expand and contract checklists by clicking on the checklist bubble.", @@ -26,10 +27,10 @@ "androidFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you tap a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your Party and one of your Party mates did not complete all their Dailies, the Boss will attack you.\n\n The main way to heal is to gain a level, which restores all your health. You can also buy a Health Potion with gold from the Rewards tab on the Tasks page. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. If you are in a Party with a Healer, they can heal you as well.", "webFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you click a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your party and one of your party mates did not complete all their Dailies, the Boss will attack you. The main way to heal is to gain a level, which restores all your Health. You can also buy a Health Potion with Gold from the Rewards column. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. Other Healers can heal you as well if you are in a Party with them. Learn more by clicking \"Party\" in the navigation bar.", - "faqQuestion5": "How do I play Habitica with my friends?", + "faqQuestion5": "Can I play Habitica with others?", "iosFaqAnswer5": "The best way is to invite them to a Party with you! Parties can go on Quests, battle monsters, and cast skills to support each other.\n\nIf you want to start your own Party, go to Menu > [Party](https://habitica.com/party) and tap \"Create New Party\". Then scroll down and tap \"Invite a Member\" to invite your friends by entering their @username. If you want to join someone else’s Party, just give them your @username and they can invite you!\n\nYou and your friends can also join Guilds, which are public chat rooms that bring people together based on shared interests! There are a lot of helpful and fun communities, be sure to check them out.\n\nIf you’re feeling more competitive, you and your friends can create or join Challenges to take on a set of tasks. There are all sorts of public Challenges available that span a wide array of interests and goals. Some public Challenges will even award Gem prizes if you’re selected as the winner.", "androidFaqAnswer5": "The best way is to invite them to a Party with you! Parties can go on quests, battle monsters, and cast skills to support each other. Go to the [website](https://habitica.com/) to create one if you don't already have a Party. You can also join guilds together (Social > Guilds). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many guilds as you'd like, but only one party.\n\n For more detailed info, check out the wiki pages on [Parties](https://habitica.fandom.com/wiki/Party) and [Guilds](https://habitica.fandom.com/wiki/Guilds).", - "webFaqAnswer5": "The best way is to invite them to a Party with you by clicking \"Party\" in the navigation bar! Parties can go on quests, battle monsters, and cast skills to support each other. You can also join Guilds together (click on \"Guilds\" in the navigation bar). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many Guilds as you'd like, but only one Party. For more detailed info, check out the wiki pages on [Parties](https://habitica.fandom.com/wiki/Party) and [Guilds](https://habitica.fandom.com/wiki/Guilds).", + "webFaqAnswer5": "Yes, with Parties! You can start your own Party or join an existing one. Partying with other Habitica players is a great way to take on Quests, receive buffs from Party members’ skills, and boost your motivation with additional accountability.", "faqQuestion6": "How do I get a Pet or Mount?", "iosFaqAnswer6": "Every time you complete a task, you'll have a random chance at receiving an Egg, a Hatching Potion, or a piece of Pet Food. They will be stored in Menu > Items.\n\nTo hatch a Pet, you'll need an Egg and a Hatching Potion. Tap on the Egg to determine the species you want to hatch, and select \"Hatch Egg.\" Then choose a Hatching Potion to determine its color! Go to Menu > Pets and click your new Pet to equip it to your Avatar. \n\n You can also grow your Pets into Mounts by feeding them under Menu > Pets. Tap on a Pet, and select \"Feed Pet\"! You'll have to feed a Pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](https://habitica.fandom.com/wiki/Food#Food_Preferences). Once you have a Mount, go to Menu > Mounts and tap on it to equip it to your Avatar.\n\nYou can also get Eggs for Quest Pets by completing certain Quests (to learn more about Quests, see [How do I fight monsters and go on Quests](https://habitica.com/static/faq/9)).", @@ -46,10 +47,10 @@ "androidFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 under Menu > Skills. Unlike your health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete Good Habits, Dailies, and To Do's, and lost when you indulge bad Habits. You'll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.", "webFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 in the action bar at the bottom of the screen. Unlike your Health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete good Habits, Dailies, and To Do's, and lost when you indulge bad Habits. You'll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.", - "faqQuestion9": "How do I fight monsters and go on Quests?", - "iosFaqAnswer9": "First, you need to join or start a Party (see [How to play Habitica with my friends](https://habitica.com/static/faq/5)). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n - You can buy Quests from the Quests Shop for Gold and Gems.\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", - "androidFaqAnswer9": "First, you need to join or start a Party (see above). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n - You can buy Quests from the Quests Shop for Gold and Gems.\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", - "webFaqAnswer9": "First, you need to join or start a Party by clicking \"Party\" in the navigation bar. Although you can battle monsters alone, we recommend playing in a group, because this will make quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating! Next, you need a Quest Scroll, which are stored under Inventory > Quests. There are four ways to get a scroll:\n * When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n * At level 15, you get a Quest-line, i.e., three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively.\n * You can buy Quests from the Quests Shop (Shops > Quests) for Gold and Gems.\n * When you check in to Habitica a certain number of times, you'll be rewarded with Quest Scrolls. You earn a Scroll during your 1st, 7th, 22nd, and 40th check-ins.\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading may be required to see the Boss's Health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", + "faqQuestion9": "How do I take on Quests?", + "iosFaqAnswer9": "First, you need to join or start a Party by selecting \"Party\" in the navigation menu. Although you can take on Quests alone, we recommend playing with others to make the Quest faster and boost your motivation with extra accountability.\n\nOnce you’re in a Party, you can invite Party members to any Quest scrolls in your Inventory. After everyone accepts, the Quest will begin. To progress, complete your tasks as you normally would! You’ll either build up damage against a monster if you’re taking on a Boss Quest, or have a chance to find items if you’re taking on a Collection Quest. All pending progress is applied the next day.\n\nWhen your Party members do enough damage or collect all items, the Quest ends and everyone will receive their rewards!", + "androidFaqAnswer9": "First, you need to join or start a Party by selecting \"Party\" in the navigation menu. Although you can take on Quests alone, we recommend playing with others to make the Quest faster and boost your motivation with extra accountability.\n\nOnce you’re in a Party, you can invite Party members to any Quest scrolls in your Inventory. After everyone accepts, the Quest will begin. To progress, complete your tasks as you normally would! You’ll either build up damage against a monster if you’re taking on a Boss Quest, or have a chance to find items if you’re taking on a Collection Quest. All pending progress is applied the next day.\n\nWhen your Party members do enough damage or collect all items, the Quest ends and everyone will receive their rewards!", + "webFaqAnswer9": "First, you need to join or start a Party by selecting \"Party\" in the navigation menu. Although you can take on Quests alone, we recommend playing with others to make the Quest faster and boost your motivation with extra accountability.\n\nOnce you’re in a Party, you can invite Party members to any Quest scrolls in your Inventory. After everyone accepts, the Quest will begin. To progress, complete your tasks as you normally would! You’ll either build up damage against a monster if you’re taking on a Boss Quest, or have a chance to find items if you’re taking on a Collection Quest. All pending progress is applied the next day.\n\nWhen your Party members do enough damage or collect all items, the Quest ends and everyone will receive their rewards!", "faqQuestion10": "What are Gems, and how do I get them?", "iosFaqAnswer10": "Gems are purchased with real money from Menu > Purchase Gems. When you buy Gems, you are helping us to keep Habitica running. We’re very grateful for every bit of support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Menu > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](https://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", @@ -71,6 +72,63 @@ "androidFaqAnswer13": "## How do Group Plans work?\n\nA [Group Plan](/group-plans) gives your Party or Guild access to a shared task board that’s similar to your personal task board! It’s a shared Habitica experience where tasks can be created and checked off by anyone in the group.\n\nThere are also features available like member roles, status view, and task assigning that give you a more controlled experience. [Visit our wiki](https://habitica.fandom.com/wiki/Group_Plans) to learn more about our Group Plans’ features!\n\n## Who benefits from a Group Plan?\n\nGroup Plans work best when you have a small team of people who want to collaborate together. We recommend 2-5 members.\n\nGroup Plans are great for families, whether it’s a parent and child or you and a partner. Shared goals, chores, or responsibilities are easy to keep track of on one board.\n\nGroup Plans can also be useful for teams of colleagues that have shared goals, or managers that want to introduce their employees to gamification.\n\n## Quick tips for using Groups\n\nHere are some quick tips to get you started with your new Group. We’ll provide more details in the following sections:\n\n* Make a member a manager to give them the ability to create and edit tasks\n* Leave tasks unassigned if anyone can complete it and it only needs done once\n* Assign a task to one person to make sure no one else can complete their task\n* Assign a task to multiple people if they all need to complete it\n* Toggle the ability to display shared tasks on your personal board to not miss anything\n* You get rewarded for the tasks you complete, even multi-assigned\n* Task completion rewards aren’t shared or split between Team members\n* Use task color on the team board to judge the average completion rate of tasks\n* Regularly review the tasks on your Team Board to make sure they are still relevant\n* Missing a Daily won’t damage you or your team, but the task will degrade in color\n\n## How can others in the group create tasks?\n\nOnly the group leader and managers can create tasks. If you’d like a group member to be able to create tasks, then you should promote them to be a manager by going to the Group Information tab, viewing the member list, and clicking the dot icon by their name.\n\n## How does assigning a task work?\n\nGroup Plans give you the unique ability to assign tasks to other group members. Assigning a task is great for delegating. If you assign a task to someone, then other members are prevented from completing it.\n\nYou can also assign a task to multiple people if it needs to be completed by more than one member. For example, if everyone has to brush their teeth, create a task and assign it to each group member. They will all be able to check it off and get their individual rewards for doing so. The main task will show as complete once everyone checks it off.\n\n## How do unassigned tasks work?\n\nUnassigned tasks can be completed by anyone in the group, so leave a task unassigned to allow any member to complete it. For example, taking out the trash. Whoever takes out the trash can check off the unassigned task and it will show as completed for everyone.\n\n## How does the synchronized day reset work?\n\nShared tasks will reset at the same time for everyone to keep the shared task board in sync. This time is visible on the shared task board and is determined by the group leader’s day start time. Because shared tasks reset automatically, you will not get a chance to complete yesterday’s uncompleted shared Dailies when you check in the next morning.\n\nShared Dailies will not do damage if they are missed, however they will degrade in color to help visualize progress. We don’t want the shared experience to be a negative one!\n\n## How do I use my Group on the mobile apps?\n\nWhile the mobile apps don’t fully support all Group Plans functionality yet, you can still complete shared tasks from the iOS and Android app by copying the tasks onto your personal task board. You can switch this preference on from Settings in the mobile apps or from the group task board on the browser version. Now open and assigned shared tasks will display on your personal task board across all platforms.\n\n## What’s the difference between a Group’s shared tasks and Challenges?\n\nGroup Plan shared task boards are more dynamic than Challenges, in that they can constantly be updated and interacted with. Challenges are great if you have one set of tasks to send out to many people.\n\nGroup Plans are also a paid feature, while Challenges are available free to everyone.\n\nYou cannot assign specific tasks in Challenges, and Challenges do not have a shared day reset. In general, Challenges offer less control and direct interaction.", "webFaqAnswer13": "## How do Group Plans work?\n\nA [Group Plan](/group-plans) gives your Party or Guild access to a shared task board that’s similar to your personal task board! It’s a shared Habitica experience where tasks can be created and checked off by anyone in the group.\n\nThere are also features available like member roles, status view, and task assigning that give you a more controlled experience. [Visit our wiki](https://habitica.fandom.com/wiki/Group_Plans) to learn more about our Group Plans’ features!\n\n## Who benefits from a Group Plan?\n\nGroup Plans work best when you have a small team of people who want to collaborate together. We recommend 2-5 members.\n\nGroup Plans are great for families, whether it’s a parent and child or you and a partner. Shared goals, chores, or responsibilities are easy to keep track of on one board.\n\nGroup Plans can also be useful for teams of colleagues that have shared goals, or managers that want to introduce their employees to gamification.\n\n## Quick tips for using Groups\n\nHere are some quick tips to get you started with your new Group. We’ll provide more details in the following sections:\n\n* Make a member a manager to give them the ability to create and edit tasks\n* Leave tasks unassigned if anyone can complete it and it only needs done once\n* Assign a task to one person to make sure no one else can complete their task\n* Assign a task to multiple people if they all need to complete it\n* Toggle the ability to display shared tasks on your personal board to not miss anything\n* You get rewarded for the tasks you complete, even multi-assigned\n* Task completion rewards aren’t shared or split between Team members\n* Use task color on the team board to judge the average completion rate of tasks\n* Regularly review the tasks on your Team Board to make sure they are still relevant\n* Missing a Daily won’t damage you or your team, but the task will degrade in color\n\n## How can others in the group create tasks?\n\nOnly the group leader and managers can create tasks. If you’d like a group member to be able to create tasks, then you should promote them to be a manager by going to the Group Information tab, viewing the member list, and clicking the dot icon by their name.\n\n## How does assigning a task work?\n\nGroup Plans give you the unique ability to assign tasks to other group members. Assigning a task is great for delegating. If you assign a task to someone, then other members are prevented from completing it.\n\nYou can also assign a task to multiple people if it needs to be completed by more than one member. For example, if everyone has to brush their teeth, create a task and assign it to each group member. They will all be able to check it off and get their individual rewards for doing so. The main task will show as complete once everyone checks it off.\n\n## How do unassigned tasks work?\n\nUnassigned tasks can be completed by anyone in the group, so leave a task unassigned to allow any member to complete it. For example, taking out the trash. Whoever takes out the trash can check off the unassigned task and it will show as completed for everyone.\n\n## How does the synchronized day reset work?\n\nShared tasks will reset at the same time for everyone to keep the shared task board in sync. This time is visible on the shared task board and is determined by the group leader’s day start time. Because shared tasks reset automatically, you will not get a chance to complete yesterday’s uncompleted shared Dailies when you check in the next morning.\n\nShared Dailies will not do damage if they are missed, however they will degrade in color to help visualize progress. We don’t want the shared experience to be a negative one!\n\n## How do I use my Group on the mobile apps?\n\nWhile the mobile apps don’t fully support all Group Plans functionality yet, you can still complete shared tasks from the iOS and Android app by copying the tasks onto your personal task board. You can switch this preference on from Settings in the mobile apps or from the group task board on the browser version. Now open and assigned shared tasks will display on your personal task board across all platforms.\n\n## What’s the difference between a Group’s shared tasks and Challenges?\n\nGroup Plan shared task boards are more dynamic than Challenges, in that they can constantly be updated and interacted with. Challenges are great if you have one set of tasks to send out to many people.\n\nGroup Plans are also a paid feature, while Challenges are available free to everyone.\n\nYou cannot assign specific tasks in Challenges, and Challenges do not have a shared day reset. In general, Challenges offer less control and direct interaction.", + "parties": "Parties", + + "faqQuestion14": "How do I find a Party when I'm not in one?", + "iosFaqAnswer14": "If you want to experience Habitica with others but don’t know other players, searching for a Party is your best option! If you already know other players that have a Party, you can share your @username with them to be invited. Alternatively, you can create a new Party and invite them with their @username or email address.\n\nTo create or search for a Party, select “Party” in the navigation menu, then choose the option that works for you.", + "androidFaqAnswer14": "If you want to experience Habitica with others but don’t know other players, searching for a Party is your best option! If you already know other players that have a Party, you can share your @username with them to be invited. Alternatively, you can create a new Party and invite them with their @username or email address.\n\nTo create or search for a Party, select “Party” in the navigation menu, then choose the option that works for you.", + "webFaqAnswer14": "If you want to experience Habitica with others but don’t know other players, searching for a Party is your best option! If you already know other players that have a Party, you can share your @username with them to be invited. Alternatively, you can create a new Party and invite them with their @username or email address.\n\nTo create or search for a Party, select “Party” in the navigation menu, then choose the option that works for you.", + + "faqQuestion15": "How does searching for a Party work?", + "iosFaqAnswer15": "After selecting “Look for a Party”, you’ll be added to a list of players that want to join a Party. Party leaders can view this list and send invitations. Once you receive an invitation, you can accept it from your notifications to join the Party of your choosing!\n\nYou may get multiple invitations to different Parties. However, you can only be a member of one Party at a time.", + "androidFaqAnswer15": "After selecting “Look for a Party”, you’ll be added to a list of players that want to join a Party. Party leaders can view this list and send invitations. Once you receive an invitation, you can accept it from your notifications to join the Party of your choosing!\n\nYou may get multiple invitations to different Parties. However, you can only be a member of one Party at a time.", + "webFaqAnswer15": "After selecting “Look for a Party”, you’ll be added to a list of players that want to join a Party. Party leaders can view this list and send invitations. Once you receive an invitation, you can accept it from your notifications to join the Party of your choosing!\n\nYou may get multiple invitations to different Parties. However, you can only be a member of one Party at a time.", + + "faqQuestion16": "How long can I search for a Party after joining the list?", + "iosFaqAnswer16": "You will remain in the list until you accept an invite to a Party or don’t login for 7 days, whichever comes first. If you log in after being inactive for 7 days, we’ll automatically add you back to the list as long as you don't have a pending invite.", + "androidFaqAnswer16": "You will remain in the list until you accept an invite to a Party or don’t login for 7 days, whichever comes first. If you log in after being inactive for 7 days, we’ll automatically add you back to the list as long as you don't have a pending invite.", + "webFaqAnswer16": "You will remain in the list until you accept an invite to a Party or don’t login for 7 days, whichever comes first. If you log in after being inactive for 7 days, we’ll automatically add you back to the list as long as you don't have a pending invite.", + + "faqQuestion17": "Can I stop searching for a Party?", + "iosFaqAnswer17": "If you no longer want to find a Party, you can stop searching at any time.\n\nTo stop searching for a Party on Habitica’s website:\n\n1. Select the “Party” link in the navigation.\n2. Click “Leave” in the pop-up.\n\nTo stop searching for a Party on the Android app:\n1. Tap on “Party” from the menu.\n2. Tap “Leave” at the bottom of the screen.", + "androidFaqAnswer17": "If you no longer want to find a Party, you can stop searching at any time.\n\nTo stop searching for a Party on Habitica’s website:\n\n1. Select the “Party” link in the navigation.\n2. Click “Leave” in the pop-up.\n\nTo stop searching for a Party on the Android app:\n1. Tap on “Party” from the menu.\n2. Tap “Leave” at the bottom of the screen.", + "webFaqAnswer17": "If you no longer want to find a Party, you can stop searching at any time.\n\nTo stop searching for a Party on Habitica’s website:\n\n1. Select the “Party” link in the navigation.\n2. Click “Leave” in the pop-up.\n\nTo stop searching for a Party on the Android app:\n1. Tap on “Party” from the menu.\n2. Tap “Leave” at the bottom of the screen.", + + "faqQuestion18": "I have a Party, how do I find more members?", + "iosFaqAnswer18": "If you are using Habitica’s website, select “Find Members” from the Party dropdown. If you’re using the Android app, tap “Find Members” above your Party’s member list. This will display a list of players that are actively looking for a Party and can be invited to join.\n\nTo help find a good fit for your Party, you'll see some information, such as language, class, level, and how many days they have used Habitica. If you’d like to chat with someone before sending an invite, you can view their Profile and send a message.", + "androidFaqAnswer18": "If you are using Habitica’s website, select “Find Members” from the Party dropdown. If you’re using the Android app, tap “Find Members” above your Party’s member list. This will display a list of players that are actively looking for a Party and can be invited to join.\n\nTo help find a good fit for your Party, you'll see some information, such as language, class, level, and how many days they have used Habitica. If you’d like to chat with someone before sending an invite, you can view their Profile and send a message.", + "webFaqAnswer18": "If you are using Habitica’s website, select “Find Members” from the Party dropdown. If you’re using the Android app, tap “Find Members” above your Party’s member list. This will display a list of players that are actively looking for a Party and can be invited to join.\n\nTo help find a good fit for your Party, you'll see some information, such as language, class, level, and how many days they have used Habitica. If you’d like to chat with someone before sending an invite, you can view their Profile and send a message.", + + "faqQuestion19": "How many members can I invite to my Party?", + "iosFaqAnswer19": "Parties have a maximum limit of 30 members and a minimum of 1 member. Pending invites count towards the member count. For example, 29 members and 1 pending invite would count as 30 members. To clear a pending invite, the invited player must accept or decline, or the Party leader must cancel the invite.", + "androidFaqAnswer19": "Parties have a maximum limit of 30 members and a minimum of 1 member. Pending invites count towards the member count. For example, 29 members and 1 pending invite would count as 30 members. To clear a pending invite, the invited player must accept or decline, or the Party leader must cancel the invite.", + "webFaqAnswer19": "Parties have a maximum limit of 30 members and a minimum of 1 member. Pending invites count towards the member count. For example, 29 members and 1 pending invite would count as 30 members. To clear a pending invite, the invited player must accept or decline, or the Party leader must cancel the invite.", + + "faqQuestion20": "Can I invite someone I already know?", + "iosFaqAnswer20": "Yes! If you already have a Habitica player’s username or email address, you can invite them to join your Party. Here’s how to send an invite on the different platforms:\n\nOn Habitica’s website:\n\nNavigate to your Party and click “Invite to Party” on the right-hand side of the page.\n\nOn the Android app:\n\nTap “Party” from the Menu. Scroll to the Members section and tap “Find Members” then tap the “By Invite” tab.\n\nOn the iOS app:\n\nTap “Party” from the Menu. Scroll to the Members section and tap “Invite a Member”.", + "androidFaqAnswer20": "Yes! If you already have a Habitica player’s username or email address, you can invite them to join your Party. Here’s how to send an invite on the different platforms:\n\nOn Habitica’s website:\n\nNavigate to your Party and click “Invite to Party” on the right-hand side of the page.\n\nOn the Android app:\n\nTap “Party” from the Menu. Scroll to the Members section and tap “Find Members” then tap the “By Invite” tab.\n\nOn the iOS app:\n\nTap “Party” from the Menu. Scroll to the Members section and tap “Invite a Member”.", + "webFaqAnswer20": "Yes! If you already have a Habitica player’s username or email address, you can invite them to join your Party. Here’s how to send an invite on the different platforms:\n\nOn Habitica’s website:\n\nNavigate to your Party and click “Invite to Party” on the right-hand side of the page.\n\nOn the Android app:\n\nTap “Party” from the Menu. Scroll to the Members section and tap “Find Members” then tap the “By Invite” tab.\n\nOn the iOS app:\n\nTap “Party” from the Menu. Scroll to the Members section and tap “Invite a Member”.", + + "faqQuestion21": "How do I cancel a pending invitation to my Party?", + "iosFaqAnswer21": "To cancel a pending invitation on Habitica’s website:\n\n1. Click on Member list when viewing your Party.\n2. Click the “Invites” tab.\n3. Click the three dots beside the user’s invite you wish to cancel.\n4. Choose “Cancel Invite”\n\nTo cancel a pending invitation on the Android app:\n\n1. Scroll down to your Member list when viewing your Party.\n2. At the bottom of the list, you’ll see your pending invites.\n3. Tap the “Cancel invitation” button.\n\nYou’ll be able to cancel a pending invitation from the iOS app soon as well!", + "androidFaqAnswer21": "To cancel a pending invitation on Habitica’s website:\n\n1. Click on Member list when viewing your Party.\n2. Click the “Invites” tab.\n3. Click the three dots beside the user’s invite you wish to cancel.\n4. Choose “Cancel Invite”\n\nTo cancel a pending invitation on the Android app:\n\n1. Scroll down to your Member list when viewing your Party.\n2. At the bottom of the list, you’ll see your pending invites.\n3. Tap the “Cancel invitation” button.\n\nYou’ll be able to cancel a pending invitation from the iOS app soon as well!", + "webFaqAnswer21": "To cancel a pending invitation on Habitica’s website:\n\n1. Click on Member list when viewing your Party.\n2. Click the “Invites” tab.\n3. Click the three dots beside the user’s invite you wish to cancel.\n4. Choose “Cancel Invite”\n\nTo cancel a pending invitation on the Android app:\n\n1. Scroll down to your Member list when viewing your Party.\n2. At the bottom of the list, you’ll see your pending invites.\n3. Tap the “Cancel invitation” button.\n\nYou’ll be able to cancel a pending invitation from the iOS app soon as well!", + + "faqQuestion22": "How do I stop unwanted invitations?", + "iosFaqAnswer22": "Once you join a Party you’ll stop receiving any more invitations. If you want to prevent invites and future communications from a specific player, view their profile and click the Block button. On mobile profiles, tap the three dots in the top corner then select “Block”.\n\nIf you encounter a situation where you believe another player has broken our Community Guidelines in their name, profile, or a message they sent, please report any messages or reach out to us at admin@habitica.com.", + "androidFaqAnswer22": "Once you join a Party you’ll stop receiving any more invitations. If you want to prevent invites and future communications from a specific player, view their profile and click the Block button. On mobile profiles, tap the three dots in the top corner then select “Block”.\n\nIf you encounter a situation where you believe another player has broken our Community Guidelines in their name, profile, or a message they sent, please report any messages or reach out to us at admin@habitica.com.", + "webFaqAnswer22": "Once you join a Party you’ll stop receiving any more invitations. If you want to prevent invites and future communications from a specific player, view their profile and click the Block button. On mobile profiles, tap the three dots in the top corner then select “Block”.\n\nIf you encounter a situation where you believe another player has broken our Community Guidelines in their name, profile, or a message they sent, please report any messages or reach out to us at admin@habitica.com.", + + "faqQuestion23": "How do I filter the list of members searching for a Party?", + "iosFaqAnswer23": "At the moment there is no way to filter the list of members searching for a Party. However, we have plans to introduce filters in the future, such as class, level, and language.", + "androidFaqAnswer23": "At the moment there is no way to filter the list of members searching for a Party. However, we have plans to introduce filters in the future, such as class, level, and language.", + "webFaqAnswer23": "At the moment there is no way to filter the list of members searching for a Party. However, we have plans to introduce filters in the future, such as class, level, and language.", + + "faqQuestion24": "How do I search for a Party on Android or iOS?", + "iosFaqAnswer24": "We added the ability to look for a Party and find Party members in Android version 4.2! Be sure you’re updated to the latest version to check it out. Solo players can look for a Party from the Party screen when they aren’t in one. Party leaders can browse the list of players looking for an invite by tapping “Find Members” above their Party’s member list.\n\nSupport for the feature is coming to iOS in version 3.8, so keep an eye out soon!", + "androidFaqAnswer24": "We added the ability to look for a Party and find Party members in Android version 4.2! Be sure you’re updated to the latest version to check it out. Solo players can look for a Party from the Party screen when they aren’t in one. Party leaders can browse the list of players looking for an invite by tapping “Find Members” above their Party’s member list.\n\nSupport for the feature is coming to iOS in version 3.8, so keep an eye out soon!", + "webFaqAnswer24": "We added the ability to look for a Party and find Party members in Android version 4.2! Be sure you’re updated to the latest version to check it out. Solo players can look for a Party from the Party screen when they aren’t in one. Party leaders can browse the list of players looking for an invite by tapping “Find Members” above their Party’s member list.\n\nSupport for the feature is coming to iOS in version 3.8, so keep an eye out soon!", + "iosFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", "androidFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ), come ask in the [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We're happy to help." diff --git a/website/common/locales/en/front.json b/website/common/locales/en/front.json index 2f9b23eb38..434ea56177 100644 --- a/website/common/locales/en/front.json +++ b/website/common/locales/en/front.json @@ -65,7 +65,7 @@ "pkQuestion1": "What inspired Habitica? How did it start?", "pkAnswer1": "If you’ve ever invested time in leveling up a character in a game, it’s hard not to wonder how great your life would be if you put all of that effort into improving your real-life self instead of your avatar. We starting building Habitica to address that question.
Habitica officially launched with a Kickstarter in 2013, and the idea really took off. Since then, it’s grown into a huge project, supported by our awesome open-source volunteers and our generous users.", "pkQuestion2": "Why does Habitica work?", - "pkAnswer2": "Forming a new habit is hard because people really need that obvious, instant reward. For example, it’s tough to start flossing, because even though our dentist tells us that it's healthier in the long run, in the immediate moment it just makes your gums hurt.
Habitica's gamification adds a sense of instant gratification to everyday objectives by rewarding a tough task with experience, gold… and maybe even a random prize, like a dragon egg! This helps keep people motivated even when the task itself doesn't have an intrinsic reward, and we've seen people turn their lives around as a result. You can check out success stories here: https://habitversary.tumblr.com", + "pkAnswer2": "Forming a new habit is hard because people really need that obvious, instant reward. For example, it’s tough to start flossing, because even though our dentist tells us that it's healthier in the long run, in the immediate moment it just makes your gums hurt.
Habitica's gamification adds a sense of instant gratification to everyday objectives by rewarding a tough task with experience, gold… and maybe even a random prize, like a dragon egg! This helps keep people motivated even when the task itself doesn't have an intrinsic reward, and we've seen people turn their lives around as a result.", "pkQuestion3": "Why did you add social features?", "pkAnswer3": "Social pressure is a huge motivating factor for a lot of people, so we knew that we wanted to have a strong community that would hold each other accountable for their goals and cheer for their successes. Luckily, one of the things that multiplayer video games do best is foster a sense of community among their users! Habitica’s community structure borrows from these types of games; you can form a small Party of close friends, but you can also join a larger, shared-interest groups known as a Guild. Although some users choose to play solo, most decide to form a support network that encourages social accountability through features such as Quests, where Party members pool their productivity to battle monsters together.", "pkQuestion4": "Why does skipping tasks remove your avatar’s health?", @@ -177,7 +177,8 @@ "joinToday": "Join Habitica Today", "featuredIn": "Featured in", "signup": "Sign Up", - "getStarted": "Get Started!", + "getStarted": "Get Started", "mobileApps": "Mobile Apps", - "learnMore": "Learn More" + "learnMore": "Learn More", + "translateHabitica": "Translate Habitica" } diff --git a/website/common/locales/en/gear.json b/website/common/locales/en/gear.json index 54e027996d..35dbaaad38 100644 --- a/website/common/locales/en/gear.json +++ b/website/common/locales/en/gear.json @@ -438,8 +438,8 @@ "headSpecialNye2021Text": "Preposterous Party Hat", "headSpecialNye2021Notes": "You've received a Preposterous Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.", - "headSpecialNye2022Text": "Fantastic Party Hat", - "headSpecialNye2022Notes": "You've received a Fantastic Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.", + "headSpecialNye2022Text": "Fabulous Party Hat", + "headSpecialNye2022Notes": "You've received a Fabulous Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.", "weaponSpecialSpring2022RogueText": "Giant Earring Stud", "weaponSpecialSpring2022RogueNotes": "A shiny! It’s so shiny and gleaming and pretty and nice and all yours! Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.", @@ -460,7 +460,7 @@ "weaponSpecialFall2022HealerNotes": "To claim victory, hold it forth and utter the words of command: 'Eye One!' Increases Intelligence by <%= int %>. Limited Edition 2022 Fall Gear.", "weaponSpecialWinter2023RogueText": "Green Satin Sash", - "weaponSpecialWinter2023RogueNotes": "Legends tell of Rogues who snare their opponents' weapons, disarm them, then gift the item back just to be cute. Incrases Strength by <%= str %>. Limited Edition 2022-2023 Winter Gear.", + "weaponSpecialWinter2023RogueNotes": "Legends tell of Rogues who snare their opponents' weapons, disarm them, then gift the item back just to be cute. Increases Strength by <%= str %>. Limited Edition 2022-2023 Winter Gear.", "weaponSpecialWinter2023WarriorText": "Tusk Spear", "weaponSpecialWinter2023WarriorNotes": "The two prongs of this spear are shaped like walrus tusks but are twice as powerful. Jab at doubts and at silly poems until they back off! Increases Strength by <%= str %>. Limited Edition 2022-2023 Winter Gear.", "weaponSpecialWinter2023MageText": "Foxfire", @@ -468,6 +468,24 @@ "weaponSpecialWinter2023HealerText": "Throwing Wreath", "weaponSpecialWinter2023HealerNotes": "Watch this festive, prickly wreath spin through the air toward your enemy or obstacles and return to you like a boomerang for another throw. Increases Intelligence by <%= int %>. Limited Edition 2022-2023 Winter Gear.", + "weaponSpecialSpring2023RogueText": "Nibbled Leaf", + "weaponSpecialSpring2023RogueNotes": "Slash! Swat! Snack! Get strong and ready for your coming metamorphosis. Increases Strength by <%= str %>. Limited Edition 2023 Spring Gear.", + "weaponSpecialSpring2023WarriorText": "Hummingbird Foil", + "weaponSpecialSpring2023WarriorNotes": "En garde! Fend off foes from your flowers with this foil! Increases Strength by <%= str %>. Limited Edition 2023 Spring Gear.", + "weaponSpecialSpring2023MageText": "Moonstone Magic", + "weaponSpecialSpring2023MageNotes": "The greater their glow, the more potent is their power. Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.", + "weaponSpecialSpring2023HealerText": "Lilium Pollen", + "weaponSpecialSpring2023HealerNotes": "With a puff and a sparkle, you deploy new growth, joy, and color. Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.", + + "weaponSpecialSummer2023RogueText": "Guppy Fan", + "weaponSpecialSummer2023RogueNotes": "No gup, these things are tricky to learn. But impressive when you do! Increases Strength by <%= str %>. Limited Edition 2023 Summer Gear.", + "weaponSpecialSummer2023WarriorText": "Water Elemental Sword", + "weaponSpecialSummer2023WarriorNotes": "Summon powerful sprays of water to clear your path of obstacles. Increases Strength by <%= str %>. Limited Edition 2023 Summer Gear.", + "weaponSpecialSummer2023MageText": "Fish", + "weaponSpecialSummer2023MageNotes": "These friendly fish will stay by your side as the best accountability buddies in the ocean. Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.", + "weaponSpecialSummer2023HealerText": "Swaying Kelp", + "weaponSpecialSummer2023HealerNotes": "They may look frondly, but they get quite grumpy if you call them 'plants'. Increases Intelligence by <%= int %>. Limited Edition 2023 Summer 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", @@ -497,7 +515,9 @@ "weaponMystery202211Text": "Electromancer Staff", "weaponMystery202211Notes": "Harness the awesome power of a lightning storm with this staff. Confers no benefit. November 2022 Subscriber Item.", "weaponMystery202212Text": "Glacial Wand", - "weaponMystery202212Notes": "The glowing snowflake in this wand holds the power to warm hearts on even the coldest winter night! Confers no benefit. December 2022 Subscriber Item.", + "weaponMystery202212Notes": "The glowing snowflake in this wand holds the power to warm hearts on even the coldest winter night! Confers no benefit. December 2022 Subscriber Item.", + "weaponMystery202306Text": "Rainbow Umbrella", + "weaponMystery202306Notes": "Shine proud and bring a shimmering prism of color wherever you go! Confers no benefit. June 2023 Subscriber Item.", "weaponMystery301404Text": "Steampunk Cane", "weaponMystery301404Notes": "Excellent for taking a turn about town. March 3015 Subscriber Item. Confers no benefit.", @@ -685,6 +705,8 @@ "weaponArmoireMagicSpatulaNotes": "Watch your food fly and flip in the air. You get good luck for the day if it magically flips over three times and then lands back on your spatula. Increases Perception by <%= per %>. Enchanted Armoire: Cooking Implements Set (Item 1 of 2).", "weaponArmoireFinelyCutGemText": "Finely Cut Gem", "weaponArmoireFinelyCutGemNotes": "What a find! This stunning, precision-cut gem will be the prize of your collection. And it might contain some special magic, just waiting for you to tap into it. Increases Constitution by <%= con %>. Enchanted Armoire: Jeweler Set (Item 4 of 4).", + "weaponArmoirePaintbrushText": "Paintbrush", + "weaponArmoirePaintbrushNotes": "A jolt of pure inspiration rushes through you when you pick up this brush, allowing you to paint anything you can imagine. Increases Intelligence by <%= int %>. Enchanted Armoire: Painter Set (Item 3 of 4).", "armor": "armor", "armorCapitalized": "Armor", @@ -801,7 +823,8 @@ "armorSpecialBirthday2021Notes": "Happy Birthday, Habitica! Wear these Extravagant Party Robes to celebrate this wonderful day. Confers no benefit.", "armorSpecialBirthday2022Text": "Preposterous Party Robes", "armorSpecialBirthday2022Notes": "Happy Birthday, Habitica! Wear these Proposterous Party Robes to celebrate this wonderful day. Confers no benefit.", - + "armorSpecialBirthday2023Text": "Fabulous Party Robes", + "armorSpecialBirthday2023Notes": "Happy Birthday, Habitica! Wear these Fabulous Party Robes to celebrate this wonderful day. Confers no benefit.", "armorSpecialGaymerxText": "Rainbow Warrior Armor", "armorSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special armor is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.", @@ -1130,6 +1153,24 @@ "armorSpecialWinter2023HealerText": "Cardinal Suit", "armorSpecialWinter2023HealerNotes": "This bright cardinal suit is perfect for flying high above your problems. Increases Constitution by <%= con %>. Limited Edition 2022-2023 Winter Gear.", + "armorSpecialSpring2023RogueText": "Caterpillar Cape", + "armorSpecialSpring2023RogueNotes": "You may only have four limbs to work with, but you can climb and crawl with the greatest of grubs. Increases Perception by <%= per %>. Limited Edition 2023 Spring Gear.", + "armorSpecialSpring2023WarriorText": "Hummingbird Armor", + "armorSpecialSpring2023WarriorNotes": "That humming sound you hear is your wings beating faster than you can imagine. Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.", + "armorSpecialSpring2023MageText": "Moonstone Suit", + "armorSpecialSpring2023MageNotes": "This snazzy spring suit magnifies moonstone magic. Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.", + "armorSpecialSpring2023HealerText": "Lily Leaf Gown", + "armorSpecialSpring2023HealerNotes": "A sweep of verdant glory to make you the envy of the Party. Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.", + + "armorSpecialSummer2023RogueText": "Guppy Wrap", + "armorSpecialSummer2023RogueNotes": "Gup top! Down low! Too slow... Increases Perception by <%= per %>. Limited Edition 2023 Summer Gear.", + "armorSpecialSummer2023WarriorText": "Goldfish Armor", + "armorSpecialSummer2023WarriorNotes": "Goldfish Warriors actually have excellent memories because they always keep their Dailies and To Do's organized in lists. Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.", + "armorSpecialSummer2023MageText": "Coral Robes", + "armorSpecialSummer2023MageNotes": "Feel protected and comfortable in these flowing robes, perfectly colored for underwater adventures. Increases Intelligence by <%= int %>. Limited Edition 2023 Summer Gear.", + "armorSpecialSummer2023HealerText": "Kelp Kirtle", + "armorSpecialSummer2023HealerNotes": "Hold fast to your goals and convictions in this elegant green gown. Increases Constitution by <%= con %>. Limited Edition 2023 Summer 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", @@ -1244,6 +1285,13 @@ "armorMystery202210Notes": "Try slithering for a change, you may find it's quite an efficient mode of transportation! Confers no benefit. October 2022 Subscriber Item.", "armorMystery202212Text": "Glacial Dress", "armorMystery202212Notes": "The universe can be cold, but this charming dress will keep you cozy as you fly. Confers no benefit. December 2022 Subscriber Item.", + "armorMystery202304Text": "Tiptop Teapot Armor", + "armorMystery202304Notes": "Here is your handle and here is your spout! Confers no benefit. April 2023 Subscriber Item.", + "armorMystery202306Text": "Rainbow Parka", + "armorMystery202306Notes": "No one’s going to rain on your parade! And if they try, you’ll stay colorful and dry! Confers no benefit. June 2023 Subscriber Item.", + "armorMystery202307Text": "Kraken's Tentacles", + "armorMystery202307Notes": "Suction cups have the best traction on the sea floor and on the sides of wayward ships. Confers no benefit. July 2023 Subscriber Item.", + "armorMystery301404Text": "Steampunk Suit", "armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.", "armorMystery301703Text": "Steampunk Peacock Gown", @@ -1425,6 +1473,18 @@ "armorArmoireSheetGhostCostumeNotes": "Boo! This is the scariest costume in all of Habitica, so wear it wisely... and watch your step so you don’t trip. Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.", "armorArmoireJewelersApronText": "Jeweler's Apron", "armorArmoireJewelersApronNotes": "This heavy-duty apron is just the thing to wear when you feel creative. Best of all, there are dozens of small pockets to hold everything you need. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweler Set (Item 1 of 4).", + "armorArmoireShawlCollarCoatText": "Shawl-Collar Coat", + "armorArmoireShawlCollarCoatNotes": "A wise wizard once said there’s nothing better than being both cozy and productive! Wear this warm and stylish coat as you conquer the year’s challenges. Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.", + "armorArmoireTeaGownText": "Tea Party Gown", + "armorArmoireTeaGownNotes": "You’re resilient, creative, brilliant, and so fashionable! Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Tea Party Set (Item 1 of 3).", + "armorArmoireBasketballUniformText": "Basketball Uniform", + "armorArmoireBasketballUniformNotes": "Wondering what’s printed on the back of this uniform? It’s your lucky number, of course! Increases Perception by <% per %>. Enchanted Armoire: Old Timey Basketball Set (Item 1 of 2).", + "armorArmoirePaintersApronText": "Painter's Apron", + "armorArmoirePaintersApronNotes": "This apron can protect your clothes from paint and your creative projects from harsh critiques. Increases Constitution by <%= con %>. Enchanted Armoire: Painter Set (Item 1 of 4).", + "armorArmoireStripedRainbowShirtText": "Striped Rainbow Shirt", + "armorArmoireStripedRainbowShirtNotes": "The colors of the rainbow have never looked so good before. Be bold! Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Rainbow Set (Item 1 of 2).", + "armorArmoireDiagonalRainbowShirtText": "Diagonal Rainbow Shirt", + "armorArmoireDiagonalRainbowShirtNotes": "A splash of color with a dash of style. Be joyful! Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Rainbow Set (Item 2 of 2).", "headgear": "helm", "headgearCapitalized": "Headgear", @@ -1866,6 +1926,24 @@ "headSpecialWinter2023HealerText": "Cardinal Helm", "headSpecialWinter2023HealerNotes": "This cardinal helm is perfect for whistling and singing to herald the winter season. Increases Intelligence by <%= int %>. Limited Edition 2022-2023 Winter Gear.", + "headSpecialSpring2023RogueText": "Caterpillar Cowl", + "headSpecialSpring2023RogueNotes": "Be sure to tuck in those tempting antennae when birds are hunting overhead! Increases Perception by <%= per %>. Limited Edition 2023 Spring Gear.", + "headSpecialSpring2023WarriorText": "Hummingbird Helmet", + "headSpecialSpring2023WarriorNotes": "Cover your visage in iridescent feathers when you fly into battle. Increases Strength by <%= str %>. Limited Edition 2023 Spring Gear.", + "headSpecialSpring2023MageText": "Moonstone Visor", + "headSpecialSpring2023MageNotes": "You’ll want to wear these glasses at night so you can see clearly by the light of the moon. Increases Perception by <%= per %>. Limited Edition 2023 Spring Gear.", + "headSpecialSpring2023HealerText": "Lily Bloom", + "headSpecialSpring2023HealerNotes": "This brilliant and colorful display shares a color scheme with the Orb of Rebirth! How symbolic! Increases Intelligence by <%= int %>. Limited Edition 2023 Spring Gear.", + + "headSpecialSummer2023RogueText": "Guppy Cap", + "headSpecialSummer2023RogueNotes": "Gup, two, three, four! Can't get eaten, got tasks to score! Increases Perception by <%= per %>. Limited Edition 2023 Summer Gear.", + "headSpecialSummer2023WarriorText": "Goldfish Fin", + "headSpecialSummer2023WarriorNotes": "This fabulous fin provides stability as you swim toward troublesome tasks ahead of you. Increases Strength by <%= str %>. Limited Edition 2023 Summer Gear.", + "headSpecialSummer2023MageText": "Coral Antlers", + "headSpecialSummer2023MageNotes": "The wisdom of an entire ecosystem is with you when you work your marine magic. Increases Perception by <%= per %>. Limited Edition 2023 Summer Gear.", + "headSpecialSummer2023HealerText": "Kelp Crown", + "headSpecialSummer2023HealerNotes": "They're not snakes! You can open your eyes, it's safe! Increases Intelligence by <%= int %>. Limited Edition 2023 Summer 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.", @@ -2011,6 +2089,11 @@ "headMystery202211Notes": "Be careful with this powerful hat, its effect on admirers can be quite shocking! Confers no benefit. November 2022 Subscriber Item.", "headMystery202301Text": "Valiant Vulpine Ears", "headMystery202301Notes": "Your hearing will be so sharp you'll hear the dawn breaking and the dew sparkling. Confers no benefit. January 2023 Subscriber Item.", + "headMystery202303Text": "Mane Character Hair", + "headMystery202303Notes": "What better way to let everyone know you’re the star of this tale than to have blue and improbably spiky hair? Confers no benefit. March 2023 Subscriber Item.", + "headMystery202304Text": "Tiptop Teapot Lid", + "headMystery202304Notes": "Wear this helm for your own safe-tea. Confers no benefit. April 2023 Subscriber Item.", + "headMystery301404Text": "Fancy Top Hat", "headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.", "headMystery301405Text": "Basic Top Hat", @@ -2186,6 +2269,12 @@ "headArmoireStrawRainHatNotes": "You’ll be able to spot every obstacle in your path when you wear this water-resistant, conical hat. Increases Perception by <%= per %>. Enchanted Armoire: Straw Raincoat Set (Item 2 of 2).", "headArmoireFancyPirateHatText": "Fancy Pirate Hat", "headArmoireFancyPirateHatNotes": "Be protected from the sun and any seagulls flying overhead as you drink tea on the deck of your ship. Increases Perception by <%= per %>. Enchanted Armoire: Fancy Pirate Set (Item 2 of 3).", + "headArmoireTeaHatText": "Tea Party Hat", + "headArmoireTeaHatNotes": "This elegant hat is both fancy and functional. Increases Perception by <%= per %>. Enchanted Armoire: Tea Party Set (Item 2 of 3).", + "headArmoireBeaniePropellerHatText": "Beanie Propeller Hat", + "headArmoireBeaniePropellerHatNotes": "This isn’t the time to keep your feet on the ground! Spin this little propeller and rise as high as your ambitions will take you. Increases all stats by <%= attrs %>. Enchanted Armoire: Independent Item.", + "headArmoirePaintersBeretText": "Painter's Beret", + "headArmoirePaintersBeretNotes": "See the world with a more artistic eye when you wear this jaunty beret. Increases Perception by <%= per %>. Enchanted Armoire: Painter Set (Item 2 of 4).", "offhand": "off-hand item", "offHandCapitalized": "Off-Hand Item", @@ -2433,6 +2522,16 @@ "shieldSpecialWinter2023HealerText": "Cool Jams", "shieldSpecialWinter2023HealerNotes": "Your song of frost and snow will soothe the spirits of all who hear. Increases Constitution by <%= con %>. Limited Edition 2022-2023 Winter Gear.", + "shieldSpecialSpring2023WarriorText": "Flower Bunch", + "shieldSpecialSpring2023WarriorNotes": "Collect the spring’s best flowers into this brightly colored floral bunch. Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.", + "shieldSpecialSpring2023HealerText": "Lily Corsage", + "shieldSpecialSpring2023HealerNotes": "An accent for a healing visit, or part of a ritual for attending a springtime dance! Increases Constitution by <%= con %>. Limited Edition 2023 Spring Gear.", + + "shieldSpecialSummer2023WarriorText": "Goldfish Spirit", + "shieldSpecialSummer2023WarriorNotes": "Summon this goldfish spirit for an extra burst of reassurance and companionship during a fight. Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.", + "shieldSpecialSummer2023HealerText": "Sea Urchin", + "shieldSpecialSummer2023HealerNotes": "You conceal and shelter it. It dissuades nosy monsters from coming too close. Perfect symbiosis! Increases Constitution by <%= con %>. Limited Edition 2023 Summer 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", @@ -2592,7 +2691,12 @@ "shieldArmoireBubblingCauldronNotes": "The perfect cauldron for brewing up a productivity potion or cooking a savory soup. In fact, there is little difference between the two! Increases Constitution by <%= con %>. Enchanted Armoire: Cooking Implements Set (Item 2 of 2).", "shieldArmoireJewelersPliersText": "Jeweler's Pliers", "shieldArmoireJewelersPliersNotes": "They cut, twist, pinch, and more. This tool can help you create whatever you can imagine. Increases Strength by <%= str %>. Enchanted Armoire: Jeweler Set (Item 3 of 4).", - + "shieldArmoireTeaKettleText": "Tea Kettle", + "shieldArmoireTeaKettleNotes": "All your favorite, flavorful teas can be brewed in this kettle. Are you in the mood for black tea, green tea, oolong, or perhaps an herbal infusion? Increases Constitution by <%= con %>. Enchanted Armoire: Tea Party Set (Item 3 of 3).", + "shieldArmoireBasketballText": "Basketball", + "shieldArmoireBasketballNotes": "Swish! Whenever you shoot this magic basketball, there will be nothing but net. Increases Constitution and Strength by <%= attrs %> each. Enchanted Armoire: Old Timey Basketball Set (Item 2 of 2).", + "shieldArmoirePaintersPaletteText": "Painter's Palette", + "shieldArmoirePaintersPaletteNotes": "Paints in all colors of the rainbow are at your disposal. Is it magic that makes them so vivid when you use them, or is it your talent? Increases Strength by <%= str %>. Enchanted Armoire: Painter Set (Item 4 of 4).", "back": "Back Accessory", "backBase0Text": "No Back Accessory", @@ -2660,7 +2764,11 @@ "backMystery202206Text": "Sea Sprite Wings", "backMystery202206Notes": "Whimsical wings made of water and waves! Confers no benefit. June 2022 Subscriber Item.", "backMystery202301Text": "Five Tails of Valor", - "backMystery202301Notes": "These fluffy tails contain ethereal power and also a high level of charm! Confers no benefit. January 2023 Subscriber Item.", + "backMystery202301Notes": "These fluffy tails contain ethereal power and also a high level of charm! Confers no benefit. January 2023 Subscriber Item.", + "backMystery202302Text": "Trickster Tabby Tail", + "backMystery202302Notes": "Anytime you wear this tail it's sure to be a frabjous day! Callooh! Callay! Confers no benefit. February 2023 Subscriber Item.", + "backMystery202305Text": "Eventide Wings", + "backMystery202305Notes": "Catch the sparkle of the evening star and soar to strange realms on these wings. Confers no benefit. May 2023 Subscriber Item.", "backSpecialWonderconRedText": "Mighty Cape", "backSpecialWonderconRedNotes": "Swishes with strength and beauty. Confers no benefit. Special Edition Convention Item.", @@ -2678,6 +2786,9 @@ "backSpecialTurkeyTailGildedNotes": "Plumage fit for a parade! Confers no benefit.", "backSpecialNamingDay2020Text": "Royal Purple Gryphon Tail", "backSpecialNamingDay2020Notes": "Happy Naming Day! Swish this fiery, pixely tail about as you celebrate Habitica. Confers no benefit.", + "backSpecialAnniversaryText": "Habitica Hero Cape", + "backSpecialAnniversaryNotes": "Let this proud cape fly in the wind and tell everyone that you're a Habitica Hero. Confers no benefit. Special Edition 10th Birthday Bash Item.", + "backBearTailText": "Bear Tail", "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.", "backCactusTailText": "Cactus Tail", @@ -2709,6 +2820,8 @@ "bodySpecialTakeThisNotes": "These pauldrons were earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all Stats by <%= attrs %>.", "bodySpecialAetherAmuletText": "Aether Amulet", "bodySpecialAetherAmuletNotes": "This amulet has a mysterious history. Increases Constitution and Strength by <%= attrs %> each.", + "bodySpecialAnniversaryText": "Habitica Hero Collar", + "bodySpecialAnniversaryNotes": "Perfectly complement your royal purple ensemble! Confers no benefit. Special Edition 10th Birthday Bash Item.", "bodySpecialSummerMageText": "Shining Capelet", "bodySpecialSummerMageNotes": "Neither salt water nor fresh water can tarnish this metallic capelet. Confers no benefit. Limited Edition 2014 Summer Gear.", @@ -2865,6 +2978,13 @@ "headAccessoryMystery202205Notes": "These dazzling horns are as bright as a desert sunset. Confers no benefit. May 2022 Subscriber Item.", "headAccessoryMystery202212Text": "Glacial Tiara", "headAccessoryMystery202212Notes": "Magnify your warmth and friendship to new heights with this ornate golden tiara. Confers no benefit. December 2022 Subscriber Item.", + "headAccessoryMystery202302Text": "Trickster Tabby Ears", + "headAccessoryMystery202302Notes": "The purr-fect accessory to set off your enchanting grin. Confers no benefit. February 2023 Subscriber Item.", + "headAccessoryMystery202305Text": "Eventide Horns", + "headAccessoryMystery202305Notes": "These horns glow with reflected moonlight. Confers no benefit. May 2023 Subscriber Item.", + "headAccessoryMystery202307Text": "Kraken's Crown", + "headAccessoryMystery202307Notes": "This mighty circlet summons cyclones and stormy weather! Confers no benefit. July 2023 Subscriber Item.", + "headAccessoryMystery301405Text": "Headwear Goggles", "headAccessoryMystery301405Notes": "\"Goggles are for your eyes,\" they said. \"Nobody wants goggles that you can only wear on your head,\" they said. Hah! You sure showed them! Confers no benefit. August 3015 Subscriber Item.", @@ -2911,6 +3031,8 @@ "eyewearSpecialAetherMaskNotes": "This mask has a mysterious history. Increases Intelligence by <%= int %>.", "eyewearSpecialKS2019Text": "Mythic Gryphon Visor", "eyewearSpecialKS2019Notes": "Bold as a gryphon's... hmm, gryphons don't have visors. It reminds you to... oh, who are we kidding, it just looks cool! Confers no benefit.", + "eyewearSpecialAnniversaryText": "Habitica Hero Mask", + "eyewearSpecialAnniversaryNotes": "Look through the eyes of a Habitica Hero - you! Confers no benefit. Special Edition 10th Birthday Bash Item.", "eyewearSpecialSummerRogueText": "Roguish Eyepatch", "eyewearSpecialSummerRogueNotes": "It doesn't take a scallywag to see how stylish this is! Confers no benefit. Limited Edition 2014 Summer Gear.", @@ -2951,6 +3073,8 @@ "eyewearMystery202204BNotes": "What's your mood today? Express yourself with these fun screens. Confers no benefit. April 2022 Subscriber Item.", "eyewearMystery202208Text": "Sparkly Eyes", "eyewearMystery202208Notes": "Lull your enemies into a false sense of security with these terrifyingly cute peepers. Confers no benefit. August 2022 Subscriber Item.", + "eyewearMystery202303Text": "Dreamy Eyes", + "eyewearMystery202303Notes": "Let your nonchalant expression lure your enemies into a false sense of security. Confers no benefit. March 2023 Subscriber Item.", "eyewearMystery301404Text": "Eyewear Goggles", "eyewearMystery301404Notes": "No eyewear could be fancier than a pair of goggles - except, perhaps, for a monocle. Confers no benefit. April 3015 Subscriber Item.", "eyewearMystery301405Text": "Monocle", diff --git a/website/common/locales/en/generic.json b/website/common/locales/en/generic.json index 67b27d5633..167627413c 100644 --- a/website/common/locales/en/generic.json +++ b/website/common/locales/en/generic.json @@ -208,9 +208,13 @@ "userSentMessage": "<%- user %> sent you a message", "letsgo": "Let's Go!", "selected": "Selected", - "howManyToBuy": "How many would you like to buy?", + "howManyToBuy": "How many would you like to purchase?", "contactForm": "Contact the Moderation Team", "loadEarlierMessages": "Load Earlier Messages", "askQuestion": "Ask a Question", - "emptyReportBugMessage": "Report Bug Message missing" + "emptyReportBugMessage": "Report Bug Message missing", + "refreshList": "Refresh List", + "leaveHabitica": "You are about to leave Habitica.com", + "leaveHabiticaText": "Habitica is not responsible for the content of any linked website that is not owned or operated by HabitRPG.
Please note that these websites' practices may differ from Habitica’s community guidelines.", + "skipExternalLinkModal": "Hold CTRL (Windows) or Command (Mac) when clicking a link to skip this modal." } diff --git a/website/common/locales/en/groups.json b/website/common/locales/en/groups.json index e6ab1a4db2..8c6a50a333 100644 --- a/website/common/locales/en/groups.json +++ b/website/common/locales/en/groups.json @@ -25,6 +25,7 @@ "invite": "Invite", "leave": "Leave", "invitedToParty": "You were invited to join the Party <%- party %>", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> has invited you to join the Party <%- party %>", "invitedToPrivateGuild": "You were invited to join the private Guild <%- guild %>", "invitedToPublicGuild": "You were invited to join the Guild <%- guild %>", "invitationAcceptedHeader": "Your Invitation has been Accepted", @@ -129,7 +130,7 @@ "sendGiftHeading": "Send Gift to <%= name %>", "sendGiftGemsBalance": "From <%= number %> Gems", "sendGiftCost": "Total: $<%= cost %> USD", - "sendGiftTotal": "Total:", + "sendTotal": "Total:", "sendGiftFromBalance": "From Balance", "sendGiftPurchase": "Purchase", "sendGiftLabel": "Would you like to send a gift message?", @@ -137,7 +138,9 @@ "sendGiftSubscription": "<%= months %> Month(s): $<%= price %> USD", "gemGiftsAreOptional": "Please note that Habitica will never require you to gift gems to other players. Begging people for gems is a violation of the Community Guidelines, and all such instances should be reported to <%= hrefTechAssistanceEmail %>.", "giftMessageTooLong": "The maximum length for gift messages is <%= maxGiftMessageLength %>.", - "battleWithFriends": "Battle Monsters With Friends", + "battleWithFriends": "Play Habitica with Others", + "questWithOthers": "Take on Quests with Others", + "startPartyDetail": "Start your own Party or join an existing one
to take on Quests and boost your motivation!", "startAParty": "Start a Party", "partyUpName": "Party Up", "partyOnName": "Party On", @@ -173,6 +176,7 @@ "usernamesMustBeAnArray": "Username invites must be an array.", "canOnlyInviteMaxInvites": "You can only invite \"<%= maxInvites %>\" at a time", "partyExceedsMembersLimit": "Party size is limited to <%= maxMembersParty %> members", + "partyExceedsInvitesLimit": "A Party may only have up to <%= maxInvites %> pending invitations.", "onlyCreatorOrAdminCanDeleteChat": "Not authorized to delete this message!", "onlyGroupLeaderCanEditTasks": "Not authorized to manage tasks!", "onlyGroupTasksCanBeAssigned": "Only group tasks can be assigned", @@ -288,17 +292,20 @@ "noGuildsParagraph2": "Click the Discover tab to see recommended Guilds based on your interests, browse Habitica's public Guilds, or create your own Guild.", "noGuildsMatchFilters": "We couldn't find any matching Guilds.", "privateDescription": "A private Guild will not be displayed in Habitica's Guild directory. New members can be added by invitation only.", - "removeInvite": "Remove Invitation", + "removeInvite": "Cancel Invite", "removeMember": "Remove Member", "sendMessage": "Send Message", "promoteToLeader": "Transfer Ownership", - "inviteFriendsParty": "Inviting friends to your Party will grant you an exclusive
Quest Scroll to battle the Basi-List together!", + "inviteFriendsParty": "Invite another player to your Party
and receive the exclusive Basi-List Quest Scroll.", "createParty": "Create a Party", "inviteMembersNow": "Would you like to invite members now?", "playInPartyTitle": "Play Habitica in a Party!", - "playInPartyDescription": "Take on amazing quests with friends or on your own. Battle monsters, create Challenges, and help yourself stay accountable through Parties.", - "wantToJoinPartyTitle": "Want to join a Party?", + "playInPartyDescription": "Take on amazing Quests with friends or on your own. Battle monsters, create Challenges, and help yourself stay accountable through Parties.", + "wantToJoinPartyTitle": "Looking for a Party?", "wantToJoinPartyDescription": "Give your username to a friend who already has a Party, or head to the Party Wanted Guild to meet potential comrades!", + "lookForParty": "Look for a Party", + "currentlyLookingForParty": "You’re looking for a Party!", + "partyFinderDescription": "Want to join a Party with others but don’t know any other players? Let Party leaders know you’re looking for an invite!", "copy": "Copy", "questOwnerRewards": "Quest Owner Rewards", "updateParty": "Update Party", @@ -334,7 +341,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", @@ -402,5 +409,13 @@ "newGroupsBullet10b": "Assign a task to one member so only they can complete it", "newGroupsBullet10c": "Assign a task to multiple members if they all need to complete it", "newGroupsVisitFAQ": "Visit the FAQ from the Help dropdown for more guidance.", - "newGroupsEnjoy": "We hope you enjoy the new Group Plans experience!" + "newGroupsEnjoy": "We hope you enjoy the new Group Plans experience!", + "checkinsLabel": "Check-ins:", + "classLabel": "Class:", + "languageLabel": "Language:", + "invitedToYourParty": "Invited to Your Party!  Click to Undo", + "lookingForPartyTitle": "Find Members", + "findMorePartyMembers": "Find More Members", + "findPartyMembers": "Find Party Members", + "noOneLooking": "There’s no one looking for a Party right now.
You can check back later!" } diff --git a/website/common/locales/en/limited.json b/website/common/locales/en/limited.json index 44b213e424..cdd9f893fa 100644 --- a/website/common/locales/en/limited.json +++ b/website/common/locales/en/limited.json @@ -194,7 +194,15 @@ "winter2023WalrusWarriorSet": "Walrus (Warrior)", "winter2023FairyLightsMageSet": "Fairy Lights (Mage)", "winter2023CardinalHealerSet": "Cardinal (Healer)", - "winter2023RibbonRogueSet": "Ribbon (Rogue)", + "winter2023RibbonRogueSet": "Ribbon (Rogue)", + "spring2023CaterpillarRogueSet": "Caterpillar (Rogue)", + "spring2023HummingbirdWarriorSet": "Hummingbird (Warrior)", + "spring2023MoonstoneMageSet": "Moonstone (Mage)", + "spring2023LilyHealerSet": "Lily (Healer)", + "summer2023GoldfishWarriorSet": "Goldfish (Warrior)", + "summer2023GuppyRogueSet": "Guppy (Rogue)", + "summer2023KelpHealerSet": "Kelp (Healer)", + "summer2023CoralMageSet": "Coral (Mage)", "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", @@ -209,6 +217,7 @@ "dateEndOctober": "October 31", "dateEndNovember": "November 30", "dateEndDecember": "December 31", + "dateStartFebruary": "February 8", "januaryYYYY": "January <%= year %>", "februaryYYYY": "February <%= year %>", "marchYYYY": "March <%= year %>", @@ -236,5 +245,33 @@ "g1g1Limitations": "This is a limited time event that starts on December 15th at 8:00 AM ET (13:00 UTC) and will end January 8th at 11:59 PM ET (January 9th 04:59 UTC). This promotion only applies when you gift to another Habitican. If you or your gift recipient already have a subscription, the gifted subscription will add months of credit that will only be used after the current subscription is canceled or expires.", "noLongerAvailable": "This item is no longer available.", "gemSaleHow": "Between <%= eventStartMonth %> <%= eventStartOrdinal %> and <%= eventEndOrdinal %>, simply purchase any Gem bundle like usual and your account will be credited with the promotional amount of Gems. More Gems to spend, share, or save for any future releases!", - "gemSaleLimitations": "This promotion only applies during the limited time event. This event starts on <%= eventStartMonth %> <%= eventStartOrdinal %> at 8:00 AM EDT (12:00 UTC) and will end <%= eventStartMonth %> <%= eventEndOrdinal %> at 8:00 PM EDT (00:00 UTC). The promo offer is only available when buying Gems for yourself." -} + "gemSaleLimitations": "This promotion only applies during the limited time event. This event starts on <%= eventStartMonth %> <%= eventStartOrdinal %> at 8:00 AM EDT (12:00 UTC) and will end <%= eventStartMonth %> <%= eventEndOrdinal %> at 8:00 PM EDT (00:00 UTC). The promo offer is only available when buying Gems for yourself.", + "anniversaryLimitations": "This is a limited time event that starts on January 30th at 8:00 AM ET (13:00 UTC) and will end February 8th at 11:59 PM ET (04:59 UTC). The Limited Edition Jubilant Gryphatrice and ten Magic Hatching Potions will be available to buy during this time. The other Gifts listed in the Four for Free section will be automatically delivered to all accounts that were active in the 30 days prior to day the gift is sent. Accounts created after the gifts are sent will not be able to claim them.", + "anniversaryLimitedDates": "January 30th to February 8th", + "limitedEvent": "Limited Event", + "celebrateAnniversary": "Celebrate Habitica's 10th Birthday with gifts and exclusive items below!", + "celebrateBirthday": "Celebrate Habitica's 10th Birthday with gifts and exclusive items!", + "jubilantGryphatricePromo": "Animated Jubilant Gryphatrice Pet", + "limitedEdition": "Limited Edition", + "anniversaryGryphatriceText": "The rare Jubilant Gryphatrice joins the birthday celebrations! Don't miss your chance to own this exclusive animated Pet.", + "anniversaryGryphatricePrice": "Own it today for $9.99 or 60 gems", + "buyNowMoneyButton": "Buy Now for $9.99", + "buyNowGemsButton": "Buy Now for 60 Gems", + "wantToPayWithGemsText": "Want to pay with Gems?", + "wantToPayWithMoneyText": "Want to pay with Stripe, Paypal, or Amazon?", + "ownJubilantGryphatrice": "You own the Jubilant Gryphatrice! Visit the Stable to equip!", + "jubilantSuccess": "You've successfully purchased the Jubilant Gryphatrice!", + "stableVisit": "Visit the Stable to equip!", + "takeMeToStable": "Take me to the Stable", + "plentyOfPotions": "Plenty of Potions", + "plentyOfPotionsText": "We're bringing back 10 of the community's favorite Magic Hatching potions. Head over to The Market to fill out your collection!", + "visitTheMarketButton": "Visit the Market", + "fourForFree": "Four for Free", + "fourForFreeText": "To keep the party going, we'll be giving away Party Robes, 20 Gems, and a limited edition birthday Background and item set that includes a Cape, Pauldrons, and an Eyemask.", + "dayOne": "Day 1", + "dayFive": "Day 5", + "dayTen": "Day 10", + "partyRobes": "Party Robes", + "twentyGems": "20 Gems", + "birthdaySet": "Birthday Set" +} \ No newline at end of file diff --git a/website/common/locales/en/npc.json b/website/common/locales/en/npc.json index 0ebe1a9b7f..694ff6f972 100644 --- a/website/common/locales/en/npc.json +++ b/website/common/locales/en/npc.json @@ -31,6 +31,7 @@ "howManyToSell": "How many would you like to sell?", "yourBalance": "Your balance:", "sell": "Sell", + "sellItems": "Sell Items", "buyNow": "Buy Now", "sortByNumber": "Number", "featuredItems": "Featured Items!", @@ -108,7 +109,7 @@ "toDo": "To Do", "tourStatsPage": "This is your Stats page! Earn achievements by completing the listed tasks.", "tourTavernPage": "Welcome to the Tavern, an all-ages chat room! You can keep your Dailies from hurting you in case of illness or travel by clicking \"Pause Damage\". Come say hi!", - "tourPartyPage": "Your Party will help you stay accountable. Invite friends to unlock a Quest Scroll!", + "tourPartyPage": "Welcome to your new Party! You can invite other players to your Party by username, email, or from a list of players looking for a Party to earn the exclusive Basi-List Quest Scroll.

Select FAQ from the Help dropdown to learn more about how Parties work.", "tourGuildsPage": "Guilds are common-interest chat groups created by the players, for the players. Browse through the list and join the Guilds that interest you. Be sure to check out the popular Habitica Help: Ask a Question guild, where anyone can ask questions about Habitica!", "tourChallengesPage": "Challenges are themed task lists created by users! Joining a Challenge will add its tasks to your account. Compete against other users to win Gem prizes!", "tourMarketPage": "Every time you complete a task, you'll have a random chance at receiving an Egg, a Hatching Potion, or a piece of Pet Food. You can also buy these items here.", diff --git a/website/common/locales/en/pets.json b/website/common/locales/en/pets.json index 5b2cd13a1a..001ed2ad8c 100644 --- a/website/common/locales/en/pets.json +++ b/website/common/locales/en/pets.json @@ -32,6 +32,7 @@ "royalPurpleJackalope": "Royal Purple Jackalope", "invisibleAether": "Invisible Aether", "gryphatrice": "Gryphatrice", + "jubilantGryphatrice": "Jubilant Gryphatrice", "potion": "<%= potionType %> Potion", "egg": "<%= eggType %> Egg", "eggs": "Eggs", diff --git a/website/common/locales/en/questsContent.json b/website/common/locales/en/questsContent.json index 440a2910b1..fdde384328 100644 --- a/website/common/locales/en/questsContent.json +++ b/website/common/locales/en/questsContent.json @@ -365,7 +365,7 @@ "questSnailUnlockText": "Unlocks Snail Eggs for purchase in the Market", "questBewilderText": "The Be-Wilder", - "questBewilderNotes": "The party begins like any other.

The appetizers are excellent, the music is swinging, and even the dancing elephants have become routine. Habiticans laugh and frolic amid the overflowing floral centerpieces, happy to have a distraction from their least-favorite tasks, and the April Fool whirls among them, eagerly providing an amusing trick here and a witty twist there.

As the Mistiflying clock tower strikes midnight, the April Fool leaps onto the stage to give a speech.

“Friends! Enemies! Tolerant acquaintances! Lend me your ears.” The crowd chuckles as animal ears sprout from their heads, and they pose with their new accessories.

“As you know,” the Fool continues, “my confusing illusions usually only last a single day. But I’m pleased to announce that I’ve discovered a shortcut that will guarantee us non-stop fun, without having to deal with the pesky weight of our responsibilities. Charming Habiticans, meet my magical new friend... the Be-Wilder!”

Lemoness pales suddenly, dropping her hors d'oeuvres. “Wait! Don’t trust--”

But suddenly mists are pouring into the room, glittering and thick, and they swirl around the April Fool, coalescing into cloudy feathers and a stretching neck. The crowd is speechless as an monstrous bird unfolds before them, its wings shimmering with illusions. It lets out a horrible screeching laugh.

“Oh, it has been ages since a Habitican has been foolish enough to summon me! How wonderful it feels, to have a tangible form at last.”

Buzzing in terror, the magic bees of Mistiflying flee the floating city, which sags from the sky. One by one, the brilliant spring flowers wither up and wisp away.

“My dearest friends, why so alarmed?” crows the Be-Wilder, beating its wings. “There’s no need to toil for your rewards any more. I’ll just give you all the things that you desire!”

A rain of coins pours from the sky, hammering into the ground with brutal force, and the crowd screams and flees for cover. “Is this a joke?” Baconsaur shouts, as the gold smashes through windows and shatters roof shingles.

PainterProphet ducks as lightning bolts crackle overhead, and fog blots out the sun. “No! This time, I don’t think it is!”

Quickly, Habiticans, don’t let this World Boss distract us from our goals! Stay focused on the tasks that you need to complete so we can rescue Mistiflying -- and hopefully, ourselves.", + "questBewilderNotes": "The party begins like any other.

The appetizers are excellent, the music is swinging, and even the dancing elephants have become routine. Habiticans laugh and frolic amid the overflowing floral centerpieces, happy to have a distraction from their least-favorite tasks, and the April Fool whirls among them, eagerly providing an amusing trick here and a witty twist there.

As the Mistiflying clock tower strikes midnight, the April Fool leaps onto the stage to give a speech.

“Friends! Enemies! Tolerant acquaintances! Lend me your ears.” The crowd chuckles as animal ears sprout from their heads, and they pose with their new accessories.

“As you know,” the Fool continues, “my confusing illusions usually only last a single day. But I’m pleased to announce that I’ve discovered a shortcut that will guarantee us non-stop fun, without having to deal with the pesky weight of our responsibilities. Charming Habiticans, meet my magical new friend... the Be-Wilder!”

Lemoness pales suddenly, dropping her hors d'oeuvres. “Wait! Don’t trust--”

But suddenly mists are pouring into the room, glittering and thick, and they swirl around the April Fool, coalescing into cloudy feathers and a stretching neck. The crowd is speechless as a monstrous bird unfolds before them, its wings shimmering with illusions. It lets out a horrible screeching laugh.

“Oh, it has been ages since a Habitican has been foolish enough to summon me! How wonderful it feels, to have a tangible form at last.”

Buzzing in terror, the magic bees of Mistiflying flee the floating city, which sags from the sky. One by one, the brilliant spring flowers wither up and wisp away.

“My dearest friends, why so alarmed?” crows the Be-Wilder, beating its wings. “There’s no need to toil for your rewards any more. I’ll just give you all the things that you desire!”

A rain of coins pours from the sky, hammering into the ground with brutal force, and the crowd screams and flees for cover. “Is this a joke?” Baconsaur shouts, as the gold smashes through windows and shatters roof shingles.

PainterProphet ducks as lightning bolts crackle overhead, and fog blots out the sun. “No! This time, I don’t think it is!”

Quickly, Habiticans, don’t let this World Boss distract us from our goals! Stay focused on the tasks that you need to complete so we can rescue Mistiflying -- and hopefully, ourselves.", "questBewilderCompletion": "The Be-Wilder is DEFEATED!

We've done it! The Be-Wilder lets out a ululating cry as it twists in the air, shedding feathers like falling rain. Slowly, gradually, it coils into a cloud of sparkling mist. As the newly-revealed sun pierces the fog, it burns away, revealing the coughing, mercifully human forms of Bailey, Matt, Alex.... and the April Fool himself.

Mistiflying is saved!

The April Fool has enough shame to look a bit sheepish. “Oh, hm,” he says. “Perhaps I got a little…. carried away.”

The crowd mutters. Sodden flowers wash up on sidewalks. Somewhere in the distance, a roof collapses with a spectacular splash.

“Er, yes,” the April Fool says. “That is. What I meant to say was, I’m dreadfully sorry.” He heaves a sigh. “I suppose it can’t all be fun and games, after all. It might not hurt to focus occasionally. Maybe I’ll get a head start on next year’s pranking.”

Redphoenix coughs meaningfully.

“I mean, get a head start on this year’s spring cleaning!” the April Fool says. “Nothing to fear, I’ll have Habit City in spit-shape soon. Luckily nobody is better than I at dual-wielding mops.”

Encouraged, the marching band starts up.

It isn’t long before all is back to normal in Habit City. Plus, now that the Be-Wilder has evaporated, the magical bees of Mistiflying bustle back to work, and soon the flowers are blooming and the city is floating once more.

As Habiticans cuddle the magical fuzzy bees, the April Fool’s eyes light up. “Oho, I’ve had a thought! Why don’t you all keep some of these fuzzy Bee Pets and Mounts? It’s a gift that perfectly symbolizes the balance between hard work and sweet rewards, if I’m going to get all boring and allegorical on you.” He winks. “Besides, they don’t have stingers! Fool’s honor.”", "questBewilderCompletionChat": "`The Be-Wilder is DEFEATED!`\n\nWe've done it! The Be-Wilder lets out a ululating cry as it twists in the air, shedding feathers like falling rain. Slowly, gradually, it coils into a cloud of sparkling mist. As the newly-revealed sun pierces the fog, it burns away, revealing the coughing, mercifully human forms of Bailey, Matt, Alex.... and the April Fool himself.\n\n`Mistiflying is saved!`\n\nThe April Fool has enough shame to look a bit sheepish. “Oh, hm,” he says. “Perhaps I got a little…. carried away.”\n\nThe crowd mutters. Sodden flowers wash up on sidewalks. Somewhere in the distance, a roof collapses with a spectacular splash.\n\n“Er, yes,” the April Fool says. “That is. What I meant to say was, I’m dreadfully sorry.” He heaves a sigh. “I suppose it can’t all be fun and games, after all. It might not hurt to focus occasionally. Maybe I’ll get a head start on next year’s pranking.”\n\nRedphoenix coughs meaningfully.\n\n“I mean, get a head start on this year’s spring cleaning!” the April Fool says. “Nothing to fear, I’ll have Habit City in spit-shape soon. Luckily nobody is better than I at dual-wielding mops.”\n\nEncouraged, the marching band starts up.\n\nIt isn’t long before all is back to normal in Habit City. Plus, now that the Be-Wilder has evaporated, the magical bees of Mistiflying bustle back to work, and soon the flowers are blooming and the city is floating once more.\n\nAs Habiticans cuddle the magical fuzzy bees, the April Fool’s eyes light up. “Oho, I’ve had a thought! Why don’t you all keep some of these fuzzy Bee Pets and Mounts? It’s a gift that perfectly symbolizes the balance between hard work and sweet rewards, if I’m going to get all boring and allegorical on you.” He winks. “Besides, they don’t have stingers! Fool’s honor.”", "questBewilderBossRageTitle": "Beguilement Strike", @@ -586,7 +586,7 @@ "questNudibranchUnlockText": "Unlocks Nudibranch Eggs for purchase in the Market", "splashyPalsText": "Splashy Pals Quest Bundle", - "splashyPalsNotes": "Contains 'The Dilatory Derby', 'Guide the Turtle', and 'Wail of the Whale'. Available until July 31.", + "splashyPalsNotes": "Contains 'The Dilatory Derby', 'Guide the Turtle', and 'Wail of the Whale'. Available until June 30.", "questHippoText": "What a Hippo-Crite", "questHippoNotes": "You and @awesomekitty collapse into the shade of a palm tree, exhausted. The sun beats down over the Sloensteadi Savannah, scorching the ground below. It’s been a productive day so far, conquering your Dailies, and this oasis looks like a nice place to take a break and refresh. Stooping near the water to get a drink, you stumble back in shock as a massive hippopotamus rises. “Resting so soon? Don’t be so lazy, get back to work.” You try and protest that you’ve been working hard and need a break, but the hippo isn’t having any of it.

@khdarkwolf whispers to you, “Notice how it’s lounging around all day but has the nerve to call you lazy? It’s the Hippo-Crite!”

Your friend @jumorales nods. “Let’s show it what hard work looks like!”", @@ -877,5 +877,15 @@ "questVirtualPetRageDescription": "This bar fills when you don't complete your Dailies. When it is full, the Wotchimon will take away some of your party's pending damage!", "questVirtualPetRageEffect": "`Wotchimon uses Bothersome Beep!` Wotchimon sounds a bothersome beep, and its happiness bar suddenly disappears! Pending damage reduced.", "questVirtualPetDropVirtualPetPotion": "Virtual Pet Hatching Potion", - "questVirtualPetUnlockText": "Unlocks Virtual Pet Hatching Potion for purchase in the Market" + "questVirtualPetUnlockText": "Unlocks Virtual Pet Hatching Potion for purchase in the Market", + + "questPinkMarbleText": "Calm the Corrupted Cupid", + "questPinkMarbleNotes": "After hearing rumors about a cave in the Meandering Mountains that has pink rocks and dust shooting out of it, your party starts to investigate. As you approach the cave, there is indeed a huge pink dust cloud – and strangely, you hear a tiny voice's battle cry, followed by the sound of shattering rock.

@Empress42 accidentally inhales some of the dust and suddenly feels dreamy and less productive. “Same here!” says @QuartzFox, “I'm suddenly fantasizing about a person that I barely know!”

@a_diamond peeks into the cave and finds a little being zipping around and smashing pink marbled rock to dust. “Take cover! This Cupid has been corrupted and is using his magic to cause limerence and unrealistic infatuations! We have to subdue him!”", + "questPinkMarbleCompletion": "You manage to pin the little guy down at last – he was much tougher and faster than expected. Before he stirs again, you take away his quiver of glowing arrows. He blinks and suddenly looks around in surprise. “To escape my own sorrow and heartbreak for a while I pricked myself with one of my arrows… I don't remember anything after that!”

He is just about to flee the cave, notices that @Loremi has taken a sample of the marble dust and grins. “Try using some of this pink marble dust in a potion! Nurture the pets that hatch from it and you will find that real relationships are born from communication, mutual trust and care. I wish you luck, and I wish you love!”", + "questPinkMarbleBoss": "Cupido", + "questPinkMarbleRageTitle": "Pink Punch", + "questPinkMarbleRageDescription": "This bar fills when you don't complete your Dailies. When it is full, Cupido will take away some of your party's pending damage!", + "questPinkMarbleRageEffect": "`Cupido uses Pink Punch!` That wasn't affectionate at all! Your partymates are taken aback. Pending damage reduced.", + "questPinkMarbleDropPinkMarblePotion": "Pink Marble Hatching Potion", + "QuestPinkMarbleUnlockText": "Unlocks Pink Marble Hatching Potions for purchase in the Market." } diff --git a/website/common/locales/en/settings.json b/website/common/locales/en/settings.json index 5c459545de..7dba6eca24 100644 --- a/website/common/locales/en/settings.json +++ b/website/common/locales/en/settings.json @@ -5,8 +5,6 @@ "helpWithTranslation": "Would you like to help with the translation of Habitica? Great! Then visit the Aspiring Linguists Guild!", "stickyHeader": "Sticky header", "newTaskEdit": "Open new tasks in edit mode", - "dailyDueDefaultView": "Set Dailies default to 'due' tab", - "dailyDueDefaultViewPop": "With this option set, the Dailies tasks will default to 'due' instead of 'all'", "reverseChatOrder": "Show chat messages in reverse order", "startAdvCollapsed": "Advanced Settings in tasks start collapsed", "startAdvCollapsedPop": "With this option set, Advanced Settings will be hidden when you first open a task for editing.", @@ -75,6 +73,7 @@ "chatExtensionDesc": "The Chat Extension for Habitica adds an intuitive chat box to all of habitica.com. It allows users to chat in the Tavern, their party, and any guilds they are in.", "otherExtensions": "Other Extensions", "otherDesc": "Find other apps, extensions, and tools on the Habitica wiki.", + "thirdPartyTools": "Find third party apps, extensions, and all kinds of other tools you can use with your account on the Habitica wiki.", "resetDo": "Do it, reset my account!", "resetComplete": "Reset complete!", "fixValues": "Fix Values", diff --git a/website/common/locales/en/subscriber.json b/website/common/locales/en/subscriber.json index daba1d6947..2df5502815 100644 --- a/website/common/locales/en/subscriber.json +++ b/website/common/locales/en/subscriber.json @@ -146,6 +146,12 @@ "mysterySet202211": "Electromancer Set", "mysterySet202212": "Glacial Guardian Set", "mysterySet202301": "Valiant Vulpine Set", + "mysterySet202302": "Trickster Tabby Set", + "mysterySet202303": "Mane Character Set", + "mysterySet202304": "Tiptop Teapot Set", + "mysterySet202305": "Eventide Dragon Set", + "mysterySet202306": "Razzle Dazzle Rainbow Set", + "mysterySet202307": "Perilous Kraken Set", "mysterySet301404": "Steampunk Standard Set", "mysterySet301405": "Steampunk Accessories Set", "mysterySet301703": "Peacock Steampunk Set", @@ -190,8 +196,8 @@ "subscriptionBenefit5": "Receive the Royal Purple Jackalope pet when you become a new subscriber.", "subscriptionBenefit6": "Earn Mystic Hourglasses to purchase items in the Time Traveler’s Shop!", "purchaseAll": "Purchase Set", - "gemsRemaining": "Gems remaining", - "notEnoughGemsToBuy": "You are unable to buy that amount of Gems", + "gemsRemaining": "remaining", + "notEnoughGemsToBuy": "No more Gems available for purchase this month. More will become available within the first 3 days of each month.", "subscribersReceiveBenefits": "Subscribers receive these useful benefits!", "monthlyMysteryItems": "Monthly Mystery Items", "doubleDropCap": "Double the Drops", @@ -202,12 +208,17 @@ "lookingForMoreItems": "Looking for More Items?", "dropCapSubs": "Habitica subscribers can find double the random items each day and receive monthly mystery items!", "subscriptionCanceled": "Your subscription is canceled", - "subscriptionInactiveDate": "Your subscription benefits will become inactive on <%= date %>", + "subscriptionInactiveDate": "Your subscription benefits will become inactive on
<%= date %>", "subscriptionStats": "Subscription Stats", "subMonths": "Sub Months", "needToUpdateCard": "Need to update your card?", "readyToResubscribe": "Are you ready to resubscribe?", "cancelYourSubscription": "Cancel your subscription?", "cancelSubAlternatives": "If you're having technical problems or Habitica doesn't seem to be working out for you, please consider contacting us. We want to help you get the most from Habitica.", - "sendAGift": "Send Gift" + "sendAGift": "Send Gift", + "haveNonRecurringSub": "You have a non-recurring gift subscription.", + "switchToRecurring": "Switch to a recurring subscription?", + "continueGiftSubBenefits": "Want to continue your benefits? You can start a new subscription before your gifted one runs out to keep your benefits active.", + "subscriptionCreditConversion": "Starting a new subscription will convert any remaining months to credit that will be used after the recurring subscription is canceled.", + "monthlyGems": "Monthly Gems:" } diff --git a/website/common/locales/en/tasks.json b/website/common/locales/en/tasks.json index 77551f11a6..48859cd848 100644 --- a/website/common/locales/en/tasks.json +++ b/website/common/locales/en/tasks.json @@ -133,5 +133,7 @@ "addTags": "Add tags...", "enterTag": "Enter a tag", "pressEnterToAddTag": "Press Enter to add tag: '<%= tagName %>'", - "taskSummary": "<%= type %> Summary" + "taskSummary": "<%= type %> Summary", + "scoreUp": "Score up", + "scoreDown": "Score down" } diff --git a/website/common/locales/en@lolcat/groups.json b/website/common/locales/en@lolcat/groups.json index 9b1fed53ba..c22686bcbd 100755 --- a/website/common/locales/en@lolcat/groups.json +++ b/website/common/locales/en@lolcat/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/en@pirate/achievements.json b/website/common/locales/en@pirate/achievements.json index 8853555d11..8282504474 100644 --- a/website/common/locales/en@pirate/achievements.json +++ b/website/common/locales/en@pirate/achievements.json @@ -122,5 +122,6 @@ "achievementZodiacZookeeper": "12 Zodiac Zookeeper", "achievementZodiacZookeeperModalText": "You collected all the 12 zodiac pets!", "achievementShadyCustomer": "shadow man", - "achievementShadeOfItAll": "The Beginning of the Shade" + "achievementShadeOfItAll": "The Beginning of the Shade", + "achievementDomesticatedModalText": "Ye gathered ev'ry critter matey!" } diff --git a/website/common/locales/en@pirate/groups.json b/website/common/locales/en@pirate/groups.json index 4d8c8c7665..87c73e1920 100644 --- a/website/common/locales/en@pirate/groups.json +++ b/website/common/locales/en@pirate/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Squadron members git an exclusive Jackalope Steed, as well as full subscr'ption benefits, includin' special monthly equipment sets an' th' ability t' buy sapphires wit' gold.", "inspireYourParty": "Inspire yer crew, gamify life togeth'r.", diff --git a/website/common/locales/en_GB/groups.json b/website/common/locales/en_GB/groups.json index d4149b13cb..ad83edfeac 100644 --- a/website/common/locales/en_GB/groups.json +++ b/website/common/locales/en_GB/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/eo/groups.json b/website/common/locales/eo/groups.json index 69cf278e3e..7c9d5ebe87 100755 --- a/website/common/locales/eo/groups.json +++ b/website/common/locales/eo/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/es/achievements.json b/website/common/locales/es/achievements.json index 00075ee6f3..c284ead317 100644 --- a/website/common/locales/es/achievements.json +++ b/website/common/locales/es/achievements.json @@ -138,5 +138,17 @@ "achievementReptacularRumble": "Rumble reptacular", "achievementWoodlandWizard": "Mago del bosque", "achievementWoodlandWizardModalText": "¡Has recogido todas las mascotas del bosque!", - "achievementWoodlandWizardText": "Ha incubado todos los colores estándar de las criaturas del bosque: Tejón, Oso, Ciervo, Zorro, Rana, Erizo, Búho, Caracol, Ardilla y Treeling!" + "achievementWoodlandWizardText": "Ha incubado todos los colores estándar de las criaturas del bosque: Tejón, Oso, Ciervo, Zorro, Rana, Erizo, Búho, Caracol, Ardilla y Treeling!", + "achievementBoneToPick": "Hueso para recoger", + "achievementBoneToPickText": "¡Ha eclosionado todas las mascotas Clásicas y de Misión Esqueléticas!", + "achievementPolarPro": "Experto Polar", + "achievementPolarProModalText": "¡Has coleccionado todas las mascotas Polares!", + "achievementBoneToPickModalText": "¡Has coleccionado todas las mascotas clásicas y de misiones esqueléticas!", + "achievementPolarProText": "¡Ha eclosionado todos los colores estándar para mascotas Polares: Osos, Zorros, Pinguinos, Ballenas y Lobos!", + "achievementPlantParent": "Progenitor de las Plantas", + "achievementPlantParentText": "¡Ha eclosionado todos los colores estándar para las mascotas Planta: Cáctus y Esqueje de árbol!", + "achievementPlantParentModalText": "¡Has coleccionado todas las Mascotas Planta!", + "achievementDinosaurDynasty": "Dinastía de Dinosaurios", + "achievementDinosaurDynastyModalText": "¡Has recogido todas las mascotas de pájaros y dinosaurios!", + "achievementDinosaurDynastyText": "Ha incubado todos los colores estándar de mascotas, de aves y dinosaurios: halcón, búho, loro, pavo real, pingüino, gallo, pterodáctilo, tiranosaurio rex, triceratops y velociraptor!" } diff --git a/website/common/locales/es/backgrounds.json b/website/common/locales/es/backgrounds.json index 38793edf54..ac5b69184d 100644 --- a/website/common/locales/es/backgrounds.json +++ b/website/common/locales/es/backgrounds.json @@ -7,8 +7,8 @@ "backgrounds062014": "1.ª serie: publicada en junio de 2014", "backgroundBeachText": "Playa", "backgroundBeachNotes": "Relájate en una cálida playa.", - "backgroundFairyRingText": "Anillo de hada", - "backgroundFairyRingNotes": "Baila en un anillo de hada.", + "backgroundFairyRingText": "Anillo de hadas", + "backgroundFairyRingNotes": "Baila en un anillo de hadas.", "backgroundForestText": "Bosque", "backgroundForestNotes": "Pasea por un bosque estival.", "backgrounds072014": "2.ª serie: publicada en julio de 2014", @@ -17,7 +17,7 @@ "backgroundOpenWatersText": "Aguas abiertas", "backgroundOpenWatersNotes": "Disfruta de las aguas abiertas.", "backgroundSeafarerShipText": "Bajel de marineros", - "backgroundSeafarerShipNotes": "Navega a bordo de un barco de marineros.", + "backgroundSeafarerShipNotes": "Navega a bordo de un barco marinero.", "backgrounds082014": "3.ª serie: publicada en agosto de 2014", "backgroundCloudsText": "Nubes", "backgroundCloudsNotes": "Planea entre las nubes.", @@ -27,7 +27,7 @@ "backgroundVolcanoNotes": "Entra en calor dentro de un volcán.", "backgrounds092014": "4.ª serie: publicada en septiembre de 2014", "backgroundThunderstormText": "Tormenta eléctrica", - "backgroundThunderstormNotes": "Dirige un rayo en la tormenta eléctrica.", + "backgroundThunderstormNotes": "Conduce rayos en la tormenta eléctrica.", "backgroundAutumnForestText": "Bosque otoñal", "backgroundAutumnForestNotes": "Pasea por un bosque otoñal.", "backgroundHarvestFieldsText": "Campos de cultivo", @@ -675,7 +675,7 @@ "backgroundOrangeGroveText": "Naranjal", "backgroundOrangeGroveNotes": "Deambula por un naranjal fragante.", "backgrounds022022": "93.ª serie: publicada en febrero de 2022", - "backgrounds032022": "94.ª serie: publiccada en marzo de 2022", + "backgrounds032022": "94.ª serie: publicada en marzo de 2022", "backgroundBrickWallWithIvyText": "Pared de Ladrillo con Hiedra", "backgroundBrickWallWithIvyNotes": "Admira una Pared de Ladrillo con Hiedra.", "backgrounds042022": "95ª. serie: publicada en abril de 2022", @@ -689,7 +689,7 @@ "backgroundFloweringPrairieText": "Pradera floreciente", "backgroundSpringtimeLakeText": "Lago de Primavera", "backgroundSpringtimeLakeNotes": "Disfruta las vistas a orillas de un Lago de Primavera.", - "hideLockedBackgrounds": "Esconde fondos cerrados", + "hideLockedBackgrounds": "Ocultar fondos bloqueados", "backgroundBioluminescentWavesText": "Olas Bioluminiscentes", "backgroundBioluminescentWavesNotes": "Admira el resplandor de Olas Bioluminiscentes.", "backgroundUnderwaterCaveNotes": "Explora una Cueva Subacuática.", @@ -724,5 +724,48 @@ "backgroundAutumnPicnicText": "Picnic otoñal", "backgroundAutumnPicnicNotes": "Disfruta un picnic otoñal.", "backgroundOldPhotoText": "Foto antigua", - "backgroundOldPhotoNotes": "Posa en una foto antigua." + "backgroundOldPhotoNotes": "Posa en una foto antigua.", + "backgrounds022023": "105ª serie: publicada en febrero del 2023", + "backgroundInFrontOfFountainText": "Frente a una fuente", + "backgroundInFrontOfFountainNotes": "Pasea frente a una fuente.", + "backgroundGoldenBirdcageText": "Jaula de pájaros dorada", + "backgroundFancyBedroomText": "Dormitorio elegante", + "backgroundFancyBedroomNotes": "Deléitate con un dormitorio elegante.", + "backgroundGoldenBirdcageNotes": "Escóndete en una jaula de pájaros dorada.", + "backgrounds012023": "104ª serie: publicada en enero del 2023", + "backgroundRimeIceText": "Hielo escarchado", + "backgroundRimeIceNotes": "Admira el brillante hielo escarchado.", + "backgroundSnowyTempleText": "Templo nevado", + "backgroundSnowyTempleNotes": "Contempla un sereno templo nevado.", + "backgroundWinterLakeWithSwansText": "Lago invernal con cisnes", + "backgroundWinterLakeWithSwansNotes": "Disfruta de la naturaleza en un lago invernal con cisnes.", + "eventBackgrounds": "Fondos de Evento", + "backgroundBirthdayBashText": "Fiesta de cumpleaños", + "backgroundBirthdayBashNotes": "Habitica está celebrando una fiesta de cumpleaños, ¡y todos están invitados!", + "backgroundMistyAutumnForestText": "Bosque otoñal brumoso", + "backgroundMistyAutumnForestNotes": "Camina a través de un brumoso bosque otoñal.", + "backgroundAutumnBridgeText": "Puente en otoño", + "backgroundAutumnBridgeNotes": "Admira la belleza de un puente en otoño.", + "backgrounds102022": "101ª serie: publicada en octubre de 2022", + "backgroundSpookyRuinsText": "Ruinas espeluznantes", + "backgroundMaskMakersWorkshopNotes": "Prueba una nueva cara en el taller del fabricante de máscaras.", + "backgroundMaskMakersWorkshopText": "Taller del fabricante de máscaras", + "backgroundCemeteryGateText": "Puerta del cementerio", + "backgroundCemeteryGateNotes": "Ronda la puerta del cementerio.", + "backgrounds122022": "103ª serie: publicada en diciembre del 2022", + "backgroundBranchesOfAHolidayTreeText": "Ramas de un árbol navideño", + "backgroundBranchesOfAHolidayTreeNotes": "Retoza en las ramas de un árbol navideño.", + "backgroundInsideACrystalText": "Dentro de un cristal", + "backgroundInsideACrystalNotes": "Asómate desde el interior desde un cristal.", + "backgroundSnowyVillageText": "Pueblo nevado", + "backgroundSpookyRuinsNotes": "Explora unas ruinas espeluznantes.", + "backgrounds112022": "102ª serie: publicada en noviembre del 2022", + "backgroundAmongGiantMushroomsText": "Entre setas gigantes", + "backgroundAmongGiantMushroomsNotes": "Maravillate con las setas gigantes.", + "backgroundSnowyVillageNotes": "Admira un pueblo nevado.", + "backgroundOldTimeyBasketballCourtNotes": "Echa unas canastas en una cancha de baloncesto antigua.", + "backgroundMangroveForestText": "Bosque de Manglares", + "backgroundMangroveForestNotes": "Explora las lindes del Bosque de Manglares.", + "backgrounds032023": "106.ª serie: publicada en marzo de 2023", + "backgroundOldTimeyBasketballCourtText": "Cancha de Baloncesto Antigua" } diff --git a/website/common/locales/es/communityguidelines.json b/website/common/locales/es/communityguidelines.json index b2ce5ca42c..40dd4caa98 100644 --- a/website/common/locales/es/communityguidelines.json +++ b/website/common/locales/es/communityguidelines.json @@ -1,5 +1,5 @@ { - "tavernCommunityGuidelinesPlaceholder": "Recordatorio amistoso: este es un chat para todas las edades así que, por favor, ¡mantén un lenguaje apropiado! Consulta las Guías de la Comunidad en la barra lateral si tienes alguna duda.", + "tavernCommunityGuidelinesPlaceholder": "Recordatorio: este es un chat para todas las edades, así que, por favor, ¡mantén un lenguaje apropiado! Consulta las Reglas de la Comunidad en la barra lateral si tienes alguna duda.", "lastUpdated": "Última actualización:", "commGuideHeadingWelcome": "¡Bienvenido a Habitica!", "commGuidePara001": "¡Saludos, aventurero! Bienvenido a Habitica, la tierra de la productividad, vida sana y algún que otro grifo desmadrado ocasional. Tenemos una alegre comunidad llena de gente apoyándose los unos a los otros en su camino hacia la mejora personal. Para encajar, todo lo que se necesita es una actitud positiva, formas respetuosas y la comprensión de que todos tienen diferentes habilidades y limitaciones, ¡lo que te incluye a ti! Los Habiticanos son pacientes los unos con los otros y tratan de ayudar cuando pueden.", @@ -9,50 +9,50 @@ "commGuidePara015": "En Habitica hay dos tipos de espacios para socializar: públicos y privados. Los públicos incluyen la Taberna, los gremios públicos, GitHub, Trello y la Wiki. Los espacios privados incluyen los gremios privados, el chat de grupo y los mensajes privados. Todos los nombres de usuario y nombres públicos deben cumplir con las normas de uso de foros públicos. Si quieres cambiar tu nombre de usuario o nombre público, puedes hacerlo desde el submenú \"Usuario > Perfil\".", "commGuidePara016": "Al recorrer los espacios públicos de Habitica, hay algunas reglas generales para mantener a todo el mundo seguro y feliz.", "commGuideList02A": "Respetaos los unos a los otros. Se cortés, amable, amigable y útil. Recuerda: Los Habiticanos vienen de todo tipo de entornos y han tenido multitud de experiencias diferentes. ¡Eso es parte de lo que hace Habitica tan sensacional! Formar una comunidad significa respetar y celebrar nuestras diferencias tanto como nuestras similitudes.", - "commGuideList02B": "Obedece todos los términos y condiciones tanto en espacios públicos como privados.", + "commGuideList02B": "Obedece todos los Términos y Condiciones tanto en espacios públicos como privados.", "commGuideList02C": "No publiques imágenes o texto que sean violentos, amenazantes, o sexualmente explícitos/insinuantes, o que promuevan discriminación, intolerancia, racismo, sexismo, odio, abuso o daño contra cualquier persona o grupo. Ni siquiera como broma o meme. Esto incluye tanto insultos como cualquier tipo de declaración. No todo el mundo tiene el mismo sentido del humor, así que algo que tú consideras un chiste puede herir a otra persona.", "commGuideList02D": "Mantened únicamente discusiones aptas para todas las edades. Deben evitarse los temas de conversación para adultos en todos los espacios públicos. Contamos con muchos habiticanos menores de edad que usan la página y personas con todo tipo de sensibilidades. Por ello, queremos que nuestra comunidad sea lo más confortable e inclusiva posible para todos.", - "commGuideList02E": "Evita blasfemar. Esto incluye difamaciones leves, abreviadas, camufladas en los mensajes o comentarios basados en la religión que pueden ser aceptables en otras circunstancias. Sin embargo, aquí hay gente con trasfondos culturales y religiosos de todo tipo y queremos asegurarnos de que todos ellos puedan sentirse cómodos en los espacios públicos. Si un moderador o miembro del personal te dice que un término no está aceptado en Habitica, incluso si no te habías dado cuenta de que es un término controvertido, esa decisión es definitiva . Además, las faltas de respeto serán tratadas con severidad, ya que son una violación de los términos de servicio.", - "commGuideList02F": "Evita las discusiones extensas de temas divisivos en la Taberna y allí donde estén fuera de lugar. Si alguien menciona algo que está permitido por las pautas, pero que te ha resultado hiriente, está bien comunicárselo educadamente. Si alguien te dice que les has hecho sentir incomodo, tómate un tiempo para reflexionar en lugar de responder airadamente. Pero si crees que la conversación se está caldeando, volviendose demasiado emotiva o dañina, deja de participar. En su lugar, reporta la publicación para hacernosla llegar. Los moderadores responderan tan rápidamente como sea posible. También puedes envíar un email a admin@habitica.com e incluir capturas de pantalla si fuesen de ayuda.", - "commGuideList02G": "Cumple inmediatamente con cualquier solicitud de un mod. Esto podría incluir, entre otras cosas, que te pida limitar tus publicaciones en un espacio en particular, editar tu perfil para eliminar contenido inadecuado, pedirte que traslades un debate a un espacio más adecuado, etc. No discutas con los moderadores. Si tienes alguna preocupación o comentario sobre la moderación, envía un email a admin@habitica.com para contactar con nuestro community manager.", - "commGuideList02J": "No mandes correo no deseado. Esto puede incluir, entre otros: publicar el mismo comentario o consulta en varios lugares, publicar enlaces sin explicación ni contexto, publicar mensajes sin sentido, publicar varios mensajes promocionales sobre un Gremio, Equipo o Desafío, o publicar muchos mensajes seguidos. Si te beneficias de que la gente haga clic en un enlace, debes explicarlo en el texto del mensaje o también se considerará correo no deseado. Los mods pueden decidir qué constituye correo no deseado a su discreción.", + "commGuideList02E": "Evita lenguaje vulgar. Esto incluye abreviaciones o vulgaridad camuflada. Tenemos personas de todos los transfondos religiosos y culturales, y queremos asegurarnos de que todos ellos puedan sentirse cómodos en los espacios públicos. Si un moderador o miembro del personal te dice que un término no está aceptado en Habitica, incluso si no te habías dado cuenta de que es un término controvertido, esa decisión es definitiva . Además, las faltas de respeto serán tratadas con severidad, ya que son una violación de los términos de servicio.", + "commGuideList02F": "Evita las discusiones extensas de temas divisivos en la Taberna y donde estén fuera de lugar. Si alguien menciona algo que está permitido por las pautas, pero que te ha resultado hiriente, está bien comunicárselo educadamente. Si alguien te dice que les has hecho sentir incomodo, tómate un tiempo para reflexionar en lugar de responder de manera agresiva. Pero si crees que la conversación se está caldeando, volviéndose demasiado emotiva o dañina, deja de participar. En su lugar, reporta la publicación para hacérnosla llegar. Los moderadores responderán tan rápido como sea posible. También puedes enviar un email a admin@habitica.com e incluir capturas de pantalla si fuesen de ayuda.", + "commGuideList02G": "Cumple inmediatamente con cualquier solicitud de un mod. Esto podría incluir, entre otras cosas, que te pida limitar tus publicaciones en un espacio en particular, editar tu perfil para eliminar contenido inadecuado, pedirte que traslades un debate a un espacio más adecuado, etc. No discutas con la Administración. Si tienes alguna preocupación o comentario sobre la moderación, envía un email a admin@habitica.com para contactar con nuestro community manager.", + "commGuideList02J": "No mandes correo no deseados. Esto puede incluir, entre otros: publicar el mismo comentario o consulta en varios lugares, publicar enlaces sin explicación ni contexto, publicar mensajes sin sentido, publicar varios mensajes promocionales sobre un Gremio, Grupo o Desafío, o publicar muchos mensajes seguidos. Si te beneficias de que la gente haga clic en un enlace, debes explicarlo en el texto del mensaje o también se considerará correo no deseado. Los mods pueden decidir qué constituye correo no deseado a su discreción.", "commGuideList02K": "Evita publicar encabezados grandes en los espacios públicos, especialmente en la Taberna. Al igual que TODO EN MAYÚSCULA, se lee como si estuvieras gritando, e interfiere con un ambiente cómodo.", - "commGuideList02L": "Desaconsejamos encarecidamente el intercambio de información personal, en particular, información que pueda utilizarse para identificarte, en espacios públicos. La información identificadora puede incluir, entre otros: tu dirección personal, tu dirección de correo electrónico y tu token de API/contraseña. ¡Esto es por tu seguridad! El personal o los moderadores pueden eliminar tales publicaciones a su discreción. Si se te solicita información personal en un Gremio, Equipo o MP, recomendamos encarecidamente que lo rechaces educadamente y avises al personal y a los moderadores de alguna de las siguientes maneras: 1) marcando el mensaje, o 2) enviando un correo a admin@habitica.com e incluyendo capturas de pantalla.", + "commGuideList02L": "Desaconsejamos encarecidamente el intercambio de información personal, en particular, información que pueda utilizarse para identificarte, en espacios públicos. La información identificadora puede incluir, entre otros: tu dirección personal, tu dirección de correo electrónico y tu token de API/contraseña. ¡Esto es por tu seguridad! El personal puede eliminar tales publicaciones a su discreción. Si se te solicita información personal en un Gremio, Equipo o MP, recomendamos encarecidamente que lo rechaces educadamente y avises al personal de cualquiera de las siguientes maneras: 1) marcando el mensaje, o 2) enviando un correo a admin@habitica.com e incluyendo capturas de pantalla.", "commGuidePara019": "En espacios privados, los usuarios tienen más libertada para debatir los temas que deseen, pero aun así no deben violar los Términos y Condiciones, incluyendo colgar insultos o cualquier contenido discriminatorio, violento o amenazante. Tened en cuenta que, dado que los nombres de los Desafíos aparecen en el perfil público del ganador, TODOS los desafíos deben obedecer las Normas de Espacios Públicos, incluso si aparecen en espacios privados.", "commGuidePara020": "Mensajes privados (PMs) tienen algunas reglas adicionales. Si alguien te ha bloqueado, no contactes con él a través de otro medio para pedir que te desbloquee. Tampoco envíes mensajes privados pidiendo ayuda (ya que las respuestas públicas a dudas o preguntas pueden ser de utilidad para toda la comunidad). Por último, no envíes mensajes privados mendigando contenido de pago de ningún tipo.", - "commGuidePara020A": "Si ves una publicación o un mensaje directo que crees que supone una violación de las Normas de Espacios Públicos, o si ves una publicación o un mensaje directo que te preocupa o incomoda, puedes llamar la atención de los Moderadores y del Personal sobre esa publicación haciendo click en el icono de la bandera roja para reportarlo. Un miembro del Personal o un Moderador responderá a la situación lo más pronto posible. Por favor, ten en cuenta que reportar intencionadamente publicaciones inocentes es una infracción de estas Normas (mira debajo en \"Infracciones\"). También puedes contactar a los Moderadores enviando un correo electrónico a admin@habitica.com. Es preferible hacer esto si hay varias publicaciones problemáticas de la misma persona en distintos Gremios, o si la situación necesita explicación. Puedes contactarnos en tu idioma nativo si te resulta más fácil: es posible que tengamos que usar el Traductor de Google, pero queremos que te sientas cómodo contactando con nosotros si tienes un problema.", + "commGuidePara020A": "Si ves una publicación o un mensaje directo que crees que supone una violación de las Normas de Espacios Públicos, o si ves una publicación o un mensaje directo que te preocupa o incomoda, puedes llamar la atención del Personal sobre esa publicación haciendo click en el icono de la bandera roja para reportarlo. Un miembro del Personal responderá a la situación lo más pronto posible. Por favor, ten en cuenta que reportar intencionadamente publicaciones inocentes es una infracción de estas Normas (mira debajo en \"Infracciones\"). También puedes contactar al Personal enviando un correo electrónico a admin@habitica.com. Es preferible hacer esto si hay varias publicaciones problemáticas de la misma persona en distintos Gremios, o si la situación necesita explicación. Puedes contactarnos en tu idioma nativo si te resulta más fácil: es posible que tengamos que usar el Traductor de Google, pero queremos que te sientas cómodo contactando con nosotros si tienes un problema.", "commGuidePara021": "Además, algunos espacios públicos de Habitica tienen normas adicionales.", "commGuideHeadingTavern": "La Taberna", "commGuidePara022": "La Taberna es el lugar principal para que los Habiticanos socialicen. Daniel el tabernero mantiene el lugar limpio y ordenado, y, con gusto, Lemoness hará aparecer limonada mientras tú te sientas y charlas. Tan solo ten en cuenta…", - "commGuidePara023": "La conversación tiende a girar en torno a charlas casuales y consejos sobre productividad o cómo mejorar a vida. Debido a que la sala de chat de la Taberna solo puede contener 200 mensajes, no es un lugar apropiado para conversaciones prolongadas sobre algunos temas, especialmente los más delicados (por ejemplo: política, religión, depresión, si se debe vetar o no la caza de trasgos, etc.). Estas conversaciones deben llevarse a un Gremio de temática aplicable. Un Mod puede dirigirte a un Gremio adecuado, pero en última instancia es tu responsabilidad buscar y publicar en el lugar apropiado.", + "commGuidePara023": "La conversación tiende a girar en torno a charlas casuales y consejos sobre productividad o cómo mejorar a vida. Debido a que la sala de chat de la Taberna solo puede contener 200 mensajes, no es un lugar apropiado para conversaciones prolongadas sobre algunos temas, especialmente los más delicados o polémicos (por ejemplo: política, religión, depresión, si se debe vetar o no la caza de trasgos, etc.). Estas conversaciones deben llevarse a un Gremio de temática aplicable. El Personal puede dirigirte a un Gremio adecuado, pero en última instancia es tu responsabilidad buscar y publicar en el lugar apropiado.", "commGuidePara024": "No converses sobre nada adictivo en la Taberna. Mucha gente usa Habitica para intentar dejar sus Malos Hábitos. ¡Escuchar a otros hablar de sustancias adictivas/ilegales puede hacer más difícil su propósito! Respeta a tus compañeros de la Taberna, y ten en cuenta esto. Incluye, pero no exclusivamente: fumar, alcohol, pornografía, juegos de apuesta, y uso/abuso de drogas.", "commGuidePara027": "Cuando un moderador te indica que lleves una conversación a otro lugar, si no hay un Gremio relacionado, es posible que te sugiera utilizar el Rincón Trasero. El \"Back Corner Guild\" es un espacio público gratuito para debatir sobre temas potencialmente delicados que solo debería usarse cuando un moderador lo dirija. Es monitoreado cuidadosamente por el equipo de moderación. No es un lugar para discusiones generales o conversaciones, y un mod te dirigirá allí solo cuando sea apropiado.", "commGuideHeadingPublicGuilds": "Gremios Públicos", "commGuidePara029": "Los Gremios Públicos se parecen mucho a la Taberna, con la excepción de que en lugar de centrarse en conversaciones generales, tienen un tema central. La sala de chat de los Gremios Públicos deben enfocarse en estos temas. Por ejemplo, los miembros del gremio de \"Wordsmiths Guild\" podrían enfadarse si la conversación se centra repentinamente en la jardinería en lugar de en la escritura, y un gremio de Fanáticos del Dragón podría no mostrar interés en descifrar runas antiguas. Algunos Gremios se muestran más permisivos con este tema que otros, pero en general, ¡trata de no salirte del tema!", "commGuidePara031": "En algunos Gremios públicos se tratan temas delicados como la depresión, la religión, la política, etc. Esto no supone un problema siempre que las conversaciones no infrinjan los Términos y Condiciones ni las Normas de Espacios Públicos, y siempre que lo que se hable sea relevante.", "commGuidePara033": "Los Gremios Públicos NO pueden contener contenidos para 18+. Si planean debatir regularmente contenido sensible, deberían decirlo en la descripción del Gremio. Esto sirve para mantener Habitica segura y cómoda para todos.", - "commGuidePara035": "Si en el Gremio en cuestión se tratan cuestiones delicadas de cualquier tipo, es respetuoso para con tus compañeros Habiticanos publicar tu comentario a continuación de una advertencia (por ejemplo: \"Advertencia: referencias a autolesión\"). Estas pueden presentarse como mensajes de advertencia y/o notas sobre el contenido, y los Gremios pueden tener sus propias reglas además de las que se dan aquí. Si es posible, utiliza lenguaje de marcado para ocultar el contenido potencialmente sensible bajo varios saltos de línea, de modo que aquellos que deseen evitar leerlo puedan pasarlo por alto sin ver el contenido. En cualquier caso, el personal de Habitica y los moderadores pueden decidir eliminar este material a su discreción.", + "commGuidePara035": "Si en el Gremio en cuestión se tratan cuestiones delicadas de cualquier tipo, es respetuoso para con tus compañeros Habiticanos incluir una advertencia (por ejemplo: \"Advertencia: referencias a autolesión\"). Estas pueden presentarse como mensajes de advertencia y/o notas sobre el contenido, y los Gremios pueden tener sus propias reglas además de las que se dan aquí. En cualquier caso, el personal de Habitica puede decidir eliminar este material a su discreción.", "commGuidePara036": "Además, el material sensible debe estar relacionado la temática del Gremio: sacar el tema de la autolesión en un Gremio centrado en la lucha contra la depresión puede tener sentido, pero probablemente sea menos apropiado en un Gremio musical. Si ves que alguien infringe reiteradamente esta directriz, especialmente después de haberle llamado la atención, te rogamos que reportes la publicación.", "commGuidePara037": "Ningún Gremio, ni Público ni Privado, debe ser creado con el propósito de atacar a un grupo o individuo. La creación de un Gremio así es razón para ser expulsado inmediatamente. ¡Lucha contra los malos hábitos, no contra tus compañeros de aventura!", "commGuidePara038": "Todos los Retos de Taberna y los Retos de los Gremios Públicos deben ceñirse a estas reglas asímismo.", "commGuideHeadingInfractionsEtc": "Infracciones, Consecuencias y Restauración", "commGuideHeadingInfractions": "Infracciones", - "commGuidePara050": "Una mayoría abrumadora de Habiticanos se ayudan entre sí, son respetuosos, y procuran que la comunidad entera sea divertida y amistosa. Sin embargo, muy raramente, algo de lo que hace un Habiticano puede violar una de los normas anteriores. Cuando esto sucede, los Moderadores tomarán cualquier acción que crean necesaria para asegurar que Habitica es un lugar seguro y cómodo para todos.", - "commGuidePara051": "Hay varios tipos de infracciones, y se tratan dependiendo de su gravedad. Estas no son listas exhaustivas, y los Mods pueden tomar decisiones en temas no registrados aquí bajo su discreción. Los Mods tendrán en cuenta el contexto al evaluar las infracciones.", + "commGuidePara050": "Una mayoría abrumadora de Habiticanos se ayudan entre sí, son respetuosos, y procuran que la comunidad entera sea divertida y amistosa. Sin embargo, muy raramente, algo de lo que hace un Habiticano puede violar una de los normas anteriores. Cuando esto sucede, el Personal tomará cualquier acción que crea necesaria para asegurar que Habitica es un lugar seguro y cómodo para todos.", + "commGuidePara051": "Hay varios tipos de infracciones, y se tratan dependiendo de su gravedad. Estas no son listas exhaustivas, y los Mods pueden tomar decisiones en temas no registrados aquí bajo su discreción. El Personal tendrá en cuenta el contexto al evaluar las infracciones.", "commGuideHeadingSevereInfractions": "Infracciones graves", "commGuidePara052": "Infracciones graves dañan enormemente la seguridad de la comunidad y usuarios de Habitica, y por lo tanto llevan consecuencias graves como resultado.", "commGuidePara053": "Los siguientes son algunos ejemplos de infracciones graves. Esta no es una lista completa.", "commGuideList05A": "Violación de los Términos y Condiciones", "commGuideList05B": "Discursos de odio/imágenes , acoso, cyber-bullying , mensaje abusivos/repetitivos y trolear", "commGuideList05C": "Violación de Libertad Condicional", - "commGuideList05D": "Suplantar al Personal o a los Moderadores - esto incluye hacer pasar como reales espacios no afiliados oficialmente a Habitica o moderados por sus administradores ni personal", + "commGuideList05D": "Suplantar al Personal - esto incluye hacer pasar como reales espacios no afiliados oficialmente a Habitica o moderados por su Personal", "commGuideList05E": "Infracciones moderadas repetidas", "commGuideList05F": "Creación de una cuenta duplicada para evitar consecuencias (por ejemplo, crear una cuenta para hablar por chat después de que los privilegios de chat hayan sido revocados)", - "commGuideList05G": "Engaño intencionado al Personal o a los Moderadores para evitar consecuencias o para meter en problemas a otro usuario", + "commGuideList05G": "Engaño intencionado al Personal para evitar consecuencias o para meter en problemas a otro usuario", "commGuideHeadingModerateInfractions": "Infracciones moderadas", "commGuidePara054": "Infracciones moderadas no hacen a nuestra comunidad insegura, pero la hacen desagradable. Estas infracciones tendrán consecuencias moderadas. En relación con infracciones múltiples, las consecuencias pueden ser más graves.", "commGuidePara055": "Los siguientes son algunos ejemplos de infracciones moderadas. Esto no es una lista completa.", - "commGuideList06A": "Ignorar, faltar al respeto o discutir con un Moderador. Esto incluye protestar públicamente acerca de moderadores u otros usuarios, glorificar o defender públicamente a usuarios vetados, o debatir si las medidas tomadas por un moderador son apropiadas o no. Si estás preocupado por alguna norma o el comportamiento de los Mods, por favor, contacta el personal por correo (admin@habitica.com).", + "commGuideList06A": "Ignorar, faltar al respeto o discutir con el Personal. Esto incluye protestar públicamente acerca del personal u otros usuarios, glorificar o defender públicamente a usuarios vetados, o debatir si las medidas tomadas por el personal son apropiadas o no. Si estás preocupado por alguna norma o el comportamiento del Personal, por favor, contacta con nosotros por correo electrónico (admin@habitica.com).", "commGuideList06B": "Modificación en segundo plano. Vamos a aclarar rápidamente un punto relevante: Una mención amistosa de las normas está bien. La modificación en segundo plano consiste en decir, demandar, y/o insinuar con insistencia que alguien debe hacer algo que tú describes para corregir un error. Puedes alertar a otras personas sobre el hecho de que han cometido una transgresión, pero, por favor, no exijas una actuación; como por ejemplo, decir: \"Debes saber que se desaconseja blasfemar en la Taberna, por lo que es posible que quieras eliminar eso\", sería mejor opción que decir: \"voy a tener que pedirte que borres ese mensaje.\"", "commGuideList06C": "Marcar intencionadamente publicaciones inocentes.", "commGuideList06D": "Violar repetidamente de las Normas de Espacios Públicos", @@ -61,12 +61,12 @@ "commGuidePara056": "Las Infracciones menores, si bien son desaconsejadas, tienen consecuencias menores. Si continúan ocurriendo, con el tiempo pueden conducir a consecuencias más severas.", "commGuidePara057": "Los siguientes son algunos ejemplos de infracciones menores. Esta no es una lista completa.", "commGuideList07A": "Primera Violación de las Normas de Espacios Públicos", - "commGuideList07B": "Cualquier declaración o acción que provoque un \"Por favor, no...\". Cuando se te pida que no hagas algo públicamente, este hecho en sí mismo puede ser una consecuencia. Si los moderadores teiene que emitir varias de estas correcciones a la misma persona, podrán contar como una infracción más grave", + "commGuideList07B": "Cualquier declaración o acción que provoque un \"Por favor, no...\" por parte del Personal. Cuando se te pida que no hagas algo públicamente, este hecho en sí mismo puede ser una consecuencia. Si el Personal tiene que emitir varias de estas correcciones a la misma persona, podrán contar como una infracción más grave", "commGuidePara057A": "Algunas publicaciones pueden estar ocultas porque contienen información sensible o pueden dar a las personas una idea equivocada. Por lo general, esto no cuenta como una infracción, ¡sobre todo no si es la primera vez que ocurre!", "commGuideHeadingConsequences": "Consecuencias", "commGuidePara058": "En Habitica -- así como en la vida real -- cada acción tiene su consecuencia, si se trata de ponerse en forma por correr, tener caries por comer demasiado asúcar, o sobresaliendo en una clase por estudiar.", "commGuidePara059": "Del mismo modo, cada infracción tiene consecuencias directas. Algunos ejemplos se resumen abajo.", - "commGuidePara060": "Si su infracción tiene una consecuencia moderada o severa, habrá una publicación de los miembros del personal o de los moderadores en el foro en el que ha ocurrido la infracción que explicará:", + "commGuidePara060": "Si su infracción tiene una consecuencia moderada o severa y es adecuado a las circunstancias, habrá una publicación de los miembros del personal en el foro en el que ha ocurrido la infracción que explicará:", "commGuideList08A": "En qué consistió tu infracción", "commGuideList08B": "cuál es su consecuencia", "commGuideList08C": "qué hacer para corregir la situación y restablecer tu status, si es posible.", @@ -77,7 +77,7 @@ "commGuideList09C": "Desabilitando permanentemente (\"congelando\") progreso por Niveles de Colaboradores", "commGuideHeadingModerateConsequences": "Ejemplos de Consecuencias Moderadas", "commGuideList10A": "Privilegios restringidos en las salas de chat públicas y/o privadas", - "commGuideList10A1": "Si sus acciones resultan en la revocación de sus privilegios de la sala chat, un Moderador o Miembro del personal te enviará un PM y/o publicará en el foro en el que te silenciaron para notificarte el motivo por el que se te ha silenciado y el período de tiempo durante el cual estarás silenciado y/o la acción requerida para que ser restituído. Serás restituido si cumples educadamente con las acciones requeridas y te comprometes a cumplir con las Normas de la Comunidad y los Términos de Servicio (ToS)", + "commGuideList10A1": "Si sus acciones resultan en la revocación de sus privilegios de la sala chat deberás enviar un correco electrónico a you must email admin@habitica.com. Tus privilegios podrán restituirse si el Personal decide que cumples educadamente con las acciones requeridas y te comprometes a cumplir con las Normas de la Comunidad y los Términos de Servicio (ToS)", "commGuideList10C": "Privilegios restringidos en la creación de Gremios/Desafíos", "commGuideList10D": "Desabilitando temporalmente (\"congelando\") progreso por Niveles de Colaboradores", "commGuideList10E": "Descenso de Nivel de Contribuyente", @@ -86,15 +86,15 @@ "commGuideList11A": "Recordatorios de las Normas de Espacios Públicos", "commGuideList11B": "Advertencias", "commGuideList11C": "Peticiones", - "commGuideList11D": "Eliminación (Puede que los Moderadores/Personal borren contenido controvertido)", - "commGuideList11E": "Ediciones (Puede que los Moderadores/Personal editen contenido controvertido)", + "commGuideList11D": "Eliminación (Puede que el Personal borre contenido controvertido)", + "commGuideList11E": "Ediciones (Puede que el Personal edite contenido controvertido)", "commGuideHeadingRestoration": "Restauración", "commGuidePara061": "Habitica es una tierra dedicada a la superación personal, y creemos en las segundas oportunidades. Si cometes una infracción y sufres las consecuencia, visualízala como una oportunidad para evaluar tus acciones y para esforzarte por ser un mejor miembro de la comunidad.", "commGuidePara062": "El anuncio, mensaje y/o correo electrónico que recibes explicando las consecuencias de tus acciones es una buena fuente de información. Coopera con cualquier restricción que se te haya impuesto y trata de cumplir con los requisitos para que se eliminen las sanciones.", - "commGuidePara063": "Si no comprendes las consecuencias o la naturaleza de tus infracciones, pregunta al Personal/Moderador para que te ayuden y así evitar cometer infracciones en el futuro. Si sientes que una decision en particular ha sido injusta, puedes ponerte en contacto con el personal para debatirlo en admin@habitica.com.", - "commGuideHeadingMeet": "¡Conoce al Personal y a los Moderadores!", + "commGuidePara063": "Si no comprendes las consecuencias o la naturaleza de tus infracciones, pregunta al Personal para que te ayude y así evitar cometer infracciones en el futuro. Si sientes que una decisión en particular ha sido injusta, puedes ponerte en contacto con el personal para debatirlo en admin@habitica.com.", + "commGuideHeadingMeet": "¡Conoce al Personal!", "commGuidePara006": "Habitica cuenta con algunos paladines errantes incansables que unen sus fuerzas a los miembros del personal para mantener la comunidad en calma, contenta y libre de trolls. Cada uno cuenta con un dominio específico, pero a veces se les llama a servir en otras esferas sociales.", - "commGuidePara007": "El personal de Habitica tiene etiquetas violetas marcadas con coronas. Su titulo es \"Heroico\".", + "commGuidePara007": "El Personal de Habitica se ocupa de que la app y las páginas funcionen bien, y además cumple la función de moderación del chat. Tiene etiquetas violetas marcadas con coronas. Su titulo es \"Heroico\".", "commGuidePara008": "Los moderadores tienen etiquetas azul oscuro acompañadas de una estrella. Su título es \"Guardián\".", "commGuidePara009": "Los actuales miembros del personal son (de izquierda a derecha):", "commGuideAKA": "<%= habitName %> también conocido como <%= realName %>", @@ -124,10 +124,11 @@ "commGuideList01A": "Los términos y condiciones se aplican en todos los espacios, incluyendo gremios privados, chats de grupo y mensajes.", "commGuideList01B": "Prohibido: mensajes amenazantes, violentos, que promocionen la discriminación, etc. incluyendo memes, imágenes y bromas.", "commGuideList01C": "Todas las discusiones deben ser aptas para todas las edades y estar libres de palabras ofensivas.", - "commGuideList01D": "Por favor, cumple con las indicaciones de los moderadores.", - "commGuideList01E": "No inicies o te unas a conversaciones polémicas en la Taberna.", + "commGuideList01D": "Por favor, cumple con las indicaciones de la administración.", + "commGuideList01E": " No inicies o te unas a conversaciones polémicas/acaloradas en la Taberna. ", "commGuideList01F": "No mendigues objetos de pago, hagas spam o escribas mensajes kilométricos/completamente en mayúsculas.", "commGuideList02M": "No pidas o mendigues gemas, suscripciones o membresía en Planes de Grupo. No está permitido en la Taberna, chats públicos ni privados, ni en mensajes privados. Si observas mensajes de este tipo, repórtalos con el icono de la bandera. Comportamientos reiterados del tipo de los citados, especialmente después de una advertencia, podrán suponer la suspensión de tu cuenta.", "commGuideList05H": "Intentos de fraude severos o repetidos a otros jugadores con la intención de cambiar objetos por dinero real", - "commGuideList09D": "Degradación o eliminación de los rangos de colaborador" + "commGuideList09D": "Degradación o eliminación de los rangos de colaborador", + "commGuideList02N": " Marca y reporta publicaciones que rompan con los términos de servicio. Nosotros nos encargaremos de ellos lo más rápido posible. También puedes notificar a la Administración a través de admin@habitica.com pero marcar/señalar una publicación es la manera más rapida de obtener ayuda." } diff --git a/website/common/locales/es/content.json b/website/common/locales/es/content.json index 1c0ffa933a..42a8fb6bb1 100644 --- a/website/common/locales/es/content.json +++ b/website/common/locales/es/content.json @@ -372,5 +372,6 @@ "hatchingPotionSolarSystem": "Sistema solar", "hatchingPotionOnyx": "Ónice", "hatchingPotionVirtualPet": "Mascota virtual", - "hatchingPotionPorcelain": "Porcelana" + "hatchingPotionPorcelain": "Porcelana", + "hatchingPotionPinkMarble": "Mármol Rosa" } diff --git a/website/common/locales/es/front.json b/website/common/locales/es/front.json index 4f89c625ba..48c1989629 100644 --- a/website/common/locales/es/front.json +++ b/website/common/locales/es/front.json @@ -56,7 +56,7 @@ "mobileAndroid": "Aplicación de Android", "mobileIOS": "Aplicación de iOS", "oldNews": "Noticias", - "newsArchive": "Archivo de noticias en Wikia (multilingüe)", + "newsArchive": "Archivo de noticias en Fandom(multilenguaje)", "setNewPass": "Establecer nueva contraseña", "password": "Contraseña", "playButton": "Jugar", @@ -188,5 +188,6 @@ "enterHabitica": "Adéntrate en Habitica", "emailUsernamePlaceholder": "p.e., habitrabbit o gryphon@example.com", "socialAlreadyExists": "Esta identificación social ya está vinculado a una cuenta Habitica existente.", - "footerProduct": "Producto" + "footerProduct": "Producto", + "translateHabitica": "Traduce Habitica" } diff --git a/website/common/locales/es/gear.json b/website/common/locales/es/gear.json index 375a6b3889..1b99698e04 100644 --- a/website/common/locales/es/gear.json +++ b/website/common/locales/es/gear.json @@ -1543,63 +1543,63 @@ "backMystery201812Notes": "Tu lujosa cola resplandce como un carámbano, moviéndose feliz mientras caminas suavemente sobre los montículos de nieve. No otorga ningún beneficio. Artículo de Suscriptor de diciembre de 2018.", "backMystery201805Text": "Cola de pavo real fenómeno", "backMystery201805Notes": "¡Esta hermosa cola emplumada es perfecta para pasear por un hermoso sendero en el jardín! No otorga ningún beneficio. Artículo del suscriptor de mayo del 2018.", - "backSpecialWonderconRedText": "Capa del poder", - "backSpecialWonderconRedNotes": "Castañea con fuerza y belleza. No confiere beneficio. Artículo Edición Especial Convención.", + "backSpecialWonderconRedText": "Capa Poderosa", + "backSpecialWonderconRedNotes": "Castañea con fuerza y belleza. No otorga ningún beneficio. Artículo de edición especial de convención.", "backSpecialWonderconBlackText": "Capa Sigilosa", - "backSpecialWonderconBlackNotes": "Hilada de sombras y suspiros. No otorga ningún beneficio. Artículo de Convención Edición especial.", + "backSpecialWonderconBlackNotes": "Hilada de sombras y suspiros. No otorga ningún beneficio. Artículo de edición especial de convención.", "backSpecialTakeThisText": "Alas 'Take This'", "backSpecialTakeThisNotes": "Estas alas se consiguieron al participar en un Desafío patrocinado por \"Take This\". ¡Felicidades! Aumenta todos los Atributos en <%= attrs %>.", "backSpecialSnowdriftVeilText": "Velo Derrapanieves", - "backSpecialSnowdriftVeilNotes": "¡Este translúcido velo te hará parecer que estás rodeado por una elegante ráfaga de nieve! No proporciona ningún beneficio.", + "backSpecialSnowdriftVeilNotes": "¡Este translúcido velo te hará parecer que estás rodeado por una elegante ráfaga de nieve! No otorga ningún beneficio.", "backSpecialAetherCloakText": "Capa Etérea", "backSpecialAetherCloakNotes": "Esta capa perteneció una vez a la mismísima \"Lost Masterclasser\". Aumenta la Percepción en <%= per %>.", "backSpecialTurkeyTailBaseText": "Cola de Pavo", "backSpecialTurkeyTailBaseNotes": "¡Viste tu honorable Cola de Pavo con orgullo mientras lo celebras! No otorga ningún beneficio.", "backSpecialTurkeyTailGildedText": "Cola de Pavo Dorado", "backSpecialTurkeyTailGildedNotes": "!Este plumaje es perfecto para desfilar! No otorga ningún beneficio.", - "backBearTailText": "Cola de oso", - "backBearTailNotes": "¡Esta cola hace que parezcas un valiente oso! No confiere beneficio.", - "backCactusTailText": "Cola de cactus", - "backCactusTailNotes": "¡Esta cola hace que parezcas un puntiagudo cactus! No confiere beneficio.", - "backFoxTailText": "Cola de zorro", - "backFoxTailNotes": "¡Esta cola hace que parezcas un astuto zorro! No confiere beneficio.", - "backLionTailText": "Cola de león", - "backLionTailNotes": "¡Esta cola hace que parezcas un majestuoso león! No confiere beneficio.", - "backPandaTailText": "Cola de panda", - "backPandaTailNotes": "¡Esta cola hace que parezcas un agradable panda! No confiere beneficio.", - "backPigTailText": "Cola de cerdo", - "backPigTailNotes": "¡Esta cola hace que parezcas un extravagante cerdo! No confiere beneficio.", - "backTigerTailText": "Cola de tigre", - "backTigerTailNotes": "¡Esta cola hace que parezcas un fiero tigre! No confiere beneficio.", - "backWolfTailText": "Cola de lobo", - "backWolfTailNotes": "¡Esta cola hace que parezcas un leal lobo! No confiere beneficio.", - "body": "Accesorio para el cuerpo", + "backBearTailText": "Cola de Oso", + "backBearTailNotes": "¡Esta cola hace que parezcas un valiente oso! No otorga ningún beneficio.", + "backCactusTailText": "Cola de Cactus", + "backCactusTailNotes": "¡Esta cola hace que parezcas un puntiagudo cactus! No otorga ningún beneficio.", + "backFoxTailText": "Cola de Zorro", + "backFoxTailNotes": "¡Esta cola hace que parezcas un astuto zorro! No otorga ningún beneficio.", + "backLionTailText": "Cola de León", + "backLionTailNotes": "¡Esta cola hace que parezcas un majestuoso león! No otorga ningún beneficio.", + "backPandaTailText": "Cola de Panda", + "backPandaTailNotes": "¡Esta cola hace que parezcas un agradable panda! No otorga ningún beneficio.", + "backPigTailText": "Cola de Cerdo", + "backPigTailNotes": "¡Esta cola hace que parezcas un extravagante cerdo! No otorga ningún beneficio.", + "backTigerTailText": "Cola de Tigre", + "backTigerTailNotes": "¡Esta cola hace que parezcas un fiero tigre! No otorga ningún beneficio.", + "backWolfTailText": "Cola de Lobo", + "backWolfTailNotes": "¡Esta cola hace que parezcas un leal lobo! No otorga ningún beneficio.", + "body": "Accesorio del Cuerpo", "bodyCapitalized": "Accesorio para el Cuerpo", - "bodyBase0Text": "Sin accesorio en el cuerpo", - "bodyBase0Notes": "Sin accesorio en el cuerpo.", - "bodySpecialWonderconRedText": "Collar de rubí", - "bodySpecialWonderconRedNotes": "¡Un precioso collar de Rubí! No otorga ningún beneficio. Artículo de Congreso Edición Especial.", - "bodySpecialWonderconGoldText": "Collar de oro", - "bodySpecialWonderconGoldNotes": "¡Un precioso collar de Oro! No otorga ningún beneficio. Artículo de Congreso Edición Especial.", - "bodySpecialWonderconBlackText": "Collar de ébano", - "bodySpecialWonderconBlackNotes": "¡Un precioso collar de Ébano! No otorga ningún beneficio. Artículo de Congreso Edición Especial.", + "bodyBase0Text": "Sin Accesorio del Cuerpo", + "bodyBase0Notes": "Sin Accesorio del Cuerpo.", + "bodySpecialWonderconRedText": "Collar de Rubí", + "bodySpecialWonderconRedNotes": "¡Un precioso collar de rubí! No otorga ningún beneficio. Artículo de edición especial de convención.", + "bodySpecialWonderconGoldText": "Collar de Oro", + "bodySpecialWonderconGoldNotes": "¡Un precioso collar de oro! No otorga ningún beneficio. Artículo de edición especial de convención.", + "bodySpecialWonderconBlackText": "Collar de Ébano", + "bodySpecialWonderconBlackNotes": "¡Un precioso collar de ébano! No otorga ningún beneficio. Artículo de edición especial de convención.", "bodySpecialTakeThisText": "Hombreras 'Take This'", "bodySpecialTakeThisNotes": "Estas hombreras se consiguieron al participar en un Desafío patrocinado por \"Take This\". ¡Felicidades! Aumenta todos los Atributos en <%= attrs %>.", "bodySpecialAetherAmuletText": "Amuleto Etéreo", "bodySpecialAetherAmuletNotes": "Este amuleto tiene una historia misteriosa. Aumenta la Constitución y la Fuerza en <%= attrs %> cada uno.", "bodySpecialSummerMageText": "Poncho Reluciente", - "bodySpecialSummerMageNotes": "Ni el agua salada ni el agua fresca pueden deslustrar este metálico poncho. No otorga ningún beneficio. Equipamiento de Primavera 2014, Edición Limitada.", - "bodySpecialSummerHealerText": "Collar de coral", - "bodySpecialSummerHealerNotes": "¡Un elegante collar de Coral vivo! No otorga ningún beneficio. Equipo de Verano, Edición Limitada del 2014.", - "bodySpecialSummer2015RogueText": "Banda de rebelde", - "bodySpecialSummer2015RogueNotes": "No se puede ser rebelde si no se tiene garbo... ni una banda. No otorga ningún beneficio. Equipo de edición limitada, verano de 2015.", - "bodySpecialSummer2015WarriorText": "Espinas oceánicas", - "bodySpecialSummer2015WarriorNotes": "Cada espina despide veneno de medusa para proteger a quien las lleva. No otorga ningún beneficio. Artículo de Edición Limitada, verano del 2015.", - "bodySpecialSummer2015MageText": "Hebilla dorada", - "bodySpecialSummer2015MageNotes": "Esta hebilla no ofrece ningún poder: solo brilla. No otorga ningún beneficio. Artículo de Edición Limitada, verano de 2015.", - "bodySpecialSummer2015HealerText": "Pañoleta de marinero", - "bodySpecialSummer2015HealerNotes": "Arr... digo ¡ay! No otorga ningún beneficio. Equipo de edición limitada, verano de 2015.", - "bodySpecialNamingDay2018Text": "Capa de Grifo púrpura real", + "bodySpecialSummerMageNotes": "Ni el agua salada ni el agua fresca pueden deslustrar este metálico poncho. No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2014.", + "bodySpecialSummerHealerText": "Collar de Coral", + "bodySpecialSummerHealerNotes": "¡Un elegante collar de coral vivo! No otorga ningún beneficio. Equipamiento de edición limitada de verano 2014.", + "bodySpecialSummer2015RogueText": "Banda de Rebelde", + "bodySpecialSummer2015RogueNotes": "No se puede ser rebelde si no se tiene garbo... ni una banda. No otorga ningún beneficio. Equipamiento de edición limitada de verano 2015.", + "bodySpecialSummer2015WarriorText": "Espinas Oceánicas", + "bodySpecialSummer2015WarriorNotes": "Cada espina despide veneno de medusa para proteger a quien las lleva. No otorga ningún beneficio. Equipamiento de edición limitada de verano 2015.", + "bodySpecialSummer2015MageText": "Hebilla Dorada", + "bodySpecialSummer2015MageNotes": "Esta hebilla no ofrece ningún poder: solo brilla. No otorga ningún beneficio. Equipamiento de edición limitada de verano 2015.", + "bodySpecialSummer2015HealerText": "Pañoleta de Marinero", + "bodySpecialSummer2015HealerNotes": "Arr... digo ¡ay! No otorga ningún beneficio. Equipamiento de edición limitada de verano 2015.", + "bodySpecialNamingDay2018Text": "Capa de Grifo Púrpura Real", "bodySpecialNamingDay2018Notes": "¡Feliz día del nombramiento! Viste esta capa elegante y emplumada mientras celebras Habitica. No otorga ningún beneficio.", "bodyMystery201705Text": "Alas Plumosas Plegadas de Combate", "bodyMystery201705Notes": "Estas alas plegadas no solo lucen elegantes: ¡te concederán la velocidad y agilidad de un grifo! No proporciona ningún beneficio. Artículo del suscriptor Mayo 2017.", @@ -1618,68 +1618,68 @@ "headAccessoryBase0Text": "Sin accesorio en la cabeza", "headAccessoryBase0Notes": "Sin accesorio en la cabeza.", "headAccessorySpecialSpringRogueText": "Orejas de Gato Moradas", - "headAccessorySpecialSpringRogueNotes": "Estas orejas felinas se retuercen para detectar amenzas. No otorga ningún beneficio. Equipo de Primavera Edición Limitada 2014.", + "headAccessorySpecialSpringRogueNotes": "Estas orejas felinas se retuercen para detectar amenzas. No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2014.", "headAccessorySpecialSpringWarriorText": "Orejas de Conejito Verde", - "headAccessorySpecialSpringWarriorNotes": "Orejas de conejito que detectan eficazmente cada crujido de zanahoria. No otorga ningún beneficio. Equipamiento de Primavera 2014, Edición Limitada.", + "headAccessorySpecialSpringWarriorNotes": "Orejas de conejito que detectan eficazmente cada crujido de zanahoria. No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2014.", "headAccessorySpecialSpringMageText": "Orejas de Ratón Azul", - "headAccessorySpecialSpringMageNotes": "Estás redondas orejas de ratón son suaves como la seda. No otorgan ningún beneficio. Equipo de Primavera Edición Limitada 2014.", + "headAccessorySpecialSpringMageNotes": "Estás redondas orejas de ratón son suaves como la seda. No otorgan ningún beneficio. Equipamiento de edición limitada de primavera 2014.", "headAccessorySpecialSpringHealerText": "Orejas de Perro Amarillas", "headAccessorySpecialSpringHealerNotes": "Flexible pero adorable. ¿Quieres jugar? No otorgan ningún beneficio. Equipo de Primavera Edición Limitada 2014.", "headAccessorySpecialSpring2015RogueText": "Orejas de Ratón Amarillas", - "headAccessorySpecialSpring2015RogueNotes": "Estás orejas son de acero contra el sonido de explosivos. No confieren ningún beneficio. Equipo de Primavera Edición Limitada 2015.", + "headAccessorySpecialSpring2015RogueNotes": "Estás orejas son de acero contra el sonido de explosivos. No confieren ningún beneficio. Equipamiento de edición limitada de primavera 2015.", "headAccessorySpecialSpring2015WarriorText": "Orejas de Perro Morado", - "headAccessorySpecialSpring2015WarriorNotes": "Son moradas, son orejas de perro. No pierdas el tiempo con mas insensateces. No otorgan ningún beneficio. Equipo de Primavera Edición Especial 2015.", + "headAccessorySpecialSpring2015WarriorNotes": "Son moradas, son orejas de perro. No pierdas el tiempo con mas insensateces. No otorgan ningún beneficio. Equipamiento de edición limitada de primavera 2015.", "headAccessorySpecialSpring2015MageText": "Orejas de Conejito Azul", - "headAccessorySpecialSpring2015MageNotes": "Estas orejas escuchan atentamente, en el caso de que algún mago esté revelando algún secreto. No confieren ningún beneficio. Equipamiento de Primavera 2015 Edición limitada.", + "headAccessorySpecialSpring2015MageNotes": "Estas orejas escuchan atentamente, en el caso de que algún mago esté revelando algún secreto. No confieren ningún beneficio. Equipamiento de edición limitada de primavera 2015.", "headAccessorySpecialSpring2015HealerText": "Orejas de Gatito Verdes", - "headAccessorySpecialSpring2015HealerNotes": "Estas adorables orejas harán que los demás se pongan verdes de envidia. No otorga ningún beneficio. Equipamiento de Verano Edición Limitada del 2015.", + "headAccessorySpecialSpring2015HealerNotes": "Estas adorables orejas harán que los demás se pongan verdes de envidia. No otorga ningún beneficio. Equipamiento de edición limitada de verano 2015.", "headAccessorySpecialSpring2016RogueText": "Orejas de Perro Verdes", - "headAccessorySpecialSpring2016RogueNotes": "¡Con éstas podrás mantener a astutos magos en la mira aunque se vuelvan invisibles! No otorgan ningún beneficio. Equipamiento de Edición Limitada de Primavera 2016.", + "headAccessorySpecialSpring2016RogueNotes": "¡Con éstas podrás mantener a astutos magos en la mira aunque se vuelvan invisibles! No otorgan ningún beneficio. Equipamiento de edición limitada de primavera 2016.", "headAccessorySpecialSpring2016WarriorText": "Orejas de Ratón Rojas", - "headAccessorySpecialSpring2016WarriorNotes": "Para que puedas escuchar mejor tu banda sonora en los ruidosos campos de batalla. No confieren ningún beneficio. Equipamiento de Edición Limitada de Primavera 2016.", + "headAccessorySpecialSpring2016WarriorNotes": "Para que puedas escuchar mejor tu banda sonora en los ruidosos campos de batalla. No confieren ningún beneficio. Equipamiento de edición limitada de primavera 2016.", "headAccessorySpecialSpring2016MageText": "Orejas de Gato Amarillas", - "headAccessorySpecialSpring2016MageNotes": "Estas puntiagudas orejas pueden detectar el insignificante zumbido del Mana ambiente, o las silenciosas pisadas de un Pícaro. No otorga ningún beneficio. Equipamiento Edición Limitada de Primavera 2016.", + "headAccessorySpecialSpring2016MageNotes": "Estas puntiagudas orejas pueden detectar el insignificante zumbido del Mana ambiente, o las silenciosas pisadas de un Pícaro. No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2016.", "headAccessorySpecialSpring2016HealerText": "Orejas de Conejito Moradas", - "headAccessorySpecialSpring2016HealerNotes": "Altas como banderas en una batalla, permiten a otros ver dónde conseguir ayuda. No confieren ningún beneficio. Equipamiento de Edición Limitada de Primavera 2016.", + "headAccessorySpecialSpring2016HealerNotes": "Altas como banderas en una batalla, permiten a otros ver dónde conseguir ayuda. No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2016.", "headAccessorySpecialSpring2017RogueText": "Orejas de Conejito Rojas", - "headAccessorySpecialSpring2017RogueNotes": "No se te escapará ningún sonido gracias a estas orejas. No proporciona ningún beneficio. Equipo de Edición Limitada Primavera 2017.", + "headAccessorySpecialSpring2017RogueNotes": "No se te escapará ningún sonido gracias a estas orejas. No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2017.", "headAccessorySpecialSpring2017WarriorText": "Orejas de Gatito Azul", - "headAccessorySpecialSpring2017WarriorNotes": "¡Estas orejas pueden oír el sonido de una bolsa de golosinas gatunas abriéndose incluso en el ardor de la batalla! No proporciona ningún beneficio. Equipo de Edición Limitada Primavera 2017.", + "headAccessorySpecialSpring2017WarriorNotes": "¡Estas orejas pueden oír el sonido de una bolsa de golosinas gatunas abriéndose incluso en el ardor de la batalla! No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2017.", "headAccessorySpecialSpring2017MageText": "Orejas de Perro Verde Mar", - "headAccessorySpecialSpring2017MageNotes": "¡Puedes oír la magia del aire! No proporciona ningún beneficio. Equipo de Edición Limitada Primavera 2017.", + "headAccessorySpecialSpring2017MageNotes": "¡Puedes oír la magia del aire! No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2017.", "headAccessorySpecialSpring2017HealerText": "Orejas de Ratón Moradas", - "headAccessorySpecialSpring2017HealerNotes": "Estas orejas te permitirán escuchar secretos. No proporcionan ningún beneficio. Equipamiento de Edición Limitada Primavera 2017.", - "headAccessoryBearEarsText": "Orejas de oso", + "headAccessorySpecialSpring2017HealerNotes": "Estas orejas te permitirán escuchar secretos. No otorga ningún beneficio. Equipamiento de edición limitada de primavera 2017.", + "headAccessoryBearEarsText": "Orejas de Oso", "headAccessoryBearEarsNotes": "¡Estas orejas te hacen parecer un oso valiente! No otorga ningún beneficio.", - "headAccessoryCactusEarsText": "Orejas de cactus", + "headAccessoryCactusEarsText": "Orejas de Cactus", "headAccessoryCactusEarsNotes": "¡Estas orejas te hacen parecer un cactus espinoso! No otorga ningún beneficio.", "headAccessoryFoxEarsText": "Orejas de Zorro", - "headAccessoryFoxEarsNotes": "Con estas orejas, parecerás un astuto zorro. No aportan ningún beneficio.", + "headAccessoryFoxEarsNotes": "Con estas orejas, parecerás un astuto zorro. No otorga ningún beneficio.", "headAccessoryLionEarsText": "Orejas de Leon", - "headAccessoryLionEarsNotes": "Con estas orejas, parecerás un majestuoso león. No aportan ningún beneficio.", + "headAccessoryLionEarsNotes": "Con estas orejas, parecerás un majestuoso león. No otorga ningún beneficio.", "headAccessoryPandaEarsText": "Orejas de Panda", - "headAccessoryPandaEarsNotes": "Con estas orejas, parecerás un amable panda. No aportan ningún beneficio.", + "headAccessoryPandaEarsNotes": "Con estas orejas, parecerás un amable panda. No otorga ningún beneficio.", "headAccessoryPigEarsText": "Orejas de Cerdo", - "headAccessoryPigEarsNotes": "Con estas orejas, parecerás un caprichoso porcino. No aportan ningún beneficio.", + "headAccessoryPigEarsNotes": "Con estas orejas, parecerás un caprichoso porcino. No otorga ningún beneficio.", "headAccessoryTigerEarsText": "Orejas de Tigre", - "headAccessoryTigerEarsNotes": "Con estas orejas, parecerás un feroz tigre. No aportan ningún beneficio.", + "headAccessoryTigerEarsNotes": "Con estas orejas, parecerás un feroz tigre. No otorga ningún beneficio.", "headAccessoryWolfEarsText": "Orejas de Lobo", - "headAccessoryWolfEarsNotes": "Con estas orejas, parecerás un leal lobo. No aportan ningún beneficio.", - "headAccessoryBlackHeadbandText": "Diadema negra", + "headAccessoryWolfEarsNotes": "Con estas orejas, parecerás un leal lobo. No otorga ningún beneficio.", + "headAccessoryBlackHeadbandText": "Diadema Negra", "headAccessoryBlackHeadbandNotes": "Una diadema negra sencilla. No otorga ningún beneficio.", - "headAccessoryBlueHeadbandText": "Diadema azul", + "headAccessoryBlueHeadbandText": "Diadema Azul", "headAccessoryBlueHeadbandNotes": "Una diadema azul sencilla. No otorga ningún beneficio.", - "headAccessoryGreenHeadbandText": "Diadema verde", + "headAccessoryGreenHeadbandText": "Diadema Verde", "headAccessoryGreenHeadbandNotes": "Una diadema verde sencilla. No otorga ningún beneficio.", - "headAccessoryPinkHeadbandText": "Diadema rosa", + "headAccessoryPinkHeadbandText": "Diadema Rosa", "headAccessoryPinkHeadbandNotes": "Una diadema rosa sencilla. No otorga ningún beneficio.", - "headAccessoryRedHeadbandText": "Diadema roja", + "headAccessoryRedHeadbandText": "Diadema Roja", "headAccessoryRedHeadbandNotes": "Una diadema roja sencilla. No otorga ningún beneficio.", - "headAccessoryWhiteHeadbandText": "Diadema blanca", + "headAccessoryWhiteHeadbandText": "Diadema Blanca", "headAccessoryWhiteHeadbandNotes": "Una diadema blanca sencilla. No otorga ningún beneficio.", - "headAccessoryYellowHeadbandText": "Diadema amarilla", + "headAccessoryYellowHeadbandText": "Diadema Amarilla", "headAccessoryYellowHeadbandNotes": "Una diadema amarilla sencilla. No otorga ningún beneficio.", - "headAccessoryMystery201403Text": "Astas del caminante del bosque", + "headAccessoryMystery201403Text": "Astas del Caminante del Bosque", "headAccessoryMystery201403Notes": "Estos cuernos brillan con musgo y líquenes. No otorga ningún beneficio. Artículo de suscriptor. Marzo 2014.", "headAccessoryMystery201404Text": "Antenas de mariposa crepuscular", "headAccessoryMystery201404Notes": "¡Esta antena ayuda a su portador a sentir distracciones peligrosas! No confiere beneficio. Artículo de Suscriptor Abril 2014.", @@ -1705,38 +1705,38 @@ "eyewearCapitalized": "Gafas", "eyewearBase0Text": "Sin Gafas", "eyewearBase0Notes": "Sin Gafas.", - "eyewearSpecialBlackTopFrameText": "Gafas simples negras", - "eyewearSpecialBlackTopFrameNotes": "Gafas con un marco negro sobre las lentes. No confieren beneficios.", - "eyewearSpecialBlueTopFrameText": "Gafas simples azules", - "eyewearSpecialBlueTopFrameNotes": "Gafas con un marco azul sobre las lentes. No confieren beneficios.", - "eyewearSpecialGreenTopFrameText": "Gafas simples verdes", - "eyewearSpecialGreenTopFrameNotes": "Gafas con un marco verde sobre las lentes. No confieren beneficios.", - "eyewearSpecialPinkTopFrameText": "Gafas simples rosas", - "eyewearSpecialPinkTopFrameNotes": "Gafas con un marco rosa sobre las lentes. No confieren beneficios.", - "eyewearSpecialRedTopFrameText": "Gafas simples rojas", - "eyewearSpecialRedTopFrameNotes": "Gafas con un marco rojo sobre las lentes. No confieren beneficios.", - "eyewearSpecialWhiteTopFrameText": "Gafas simples blancas", - "eyewearSpecialWhiteTopFrameNotes": "Gafas con un marco blanco sobre las lentes. No confieren beneficios.", - "eyewearSpecialYellowTopFrameText": "Gafas simples amarillas", - "eyewearSpecialYellowTopFrameNotes": "Gafas con un marco amarillo sobre las lentes. No confieren beneficios.", + "eyewearSpecialBlackTopFrameText": "Gafas Simples Negras", + "eyewearSpecialBlackTopFrameNotes": "Gafas con un marco negro sobre las lentes. No otorga ningún beneficio.", + "eyewearSpecialBlueTopFrameText": "Gafas Simples Azules", + "eyewearSpecialBlueTopFrameNotes": "Gafas con un marco azul sobre las lentes. No otorga ningún beneficio.", + "eyewearSpecialGreenTopFrameText": "Gafas Simples Verdes", + "eyewearSpecialGreenTopFrameNotes": "Gafas con un marco verde sobre las lentes. No otorga ningún beneficio.", + "eyewearSpecialPinkTopFrameText": "Gafas Simples Rosas", + "eyewearSpecialPinkTopFrameNotes": "Gafas con un marco rosa sobre las lentes. No otorga ningún beneficio.", + "eyewearSpecialRedTopFrameText": "Gafas Simples Rojas", + "eyewearSpecialRedTopFrameNotes": "Gafas con un marco rojo sobre las lentes. No otorga ningún beneficio.", + "eyewearSpecialWhiteTopFrameText": "Gafas Simples Blancas", + "eyewearSpecialWhiteTopFrameNotes": "Gafas con un marco blanco sobre las lentes. No otorga ningún beneficio.", + "eyewearSpecialYellowTopFrameText": "Gafas Simples Amarillas", + "eyewearSpecialYellowTopFrameNotes": "Gafas con un marco amarillo sobre las lentes. No otorga ningún beneficio.", "eyewearSpecialAetherMaskText": "Máscara Etérea", - "eyewearSpecialAetherMaskNotes": "Esta máscara tiene un misterioso pasado. Aumenta la inteligencia en <%= int %>.", + "eyewearSpecialAetherMaskNotes": "Esta máscara tiene un misterioso pasado. Aumenta la Inteligencia en <%= int %>.", "eyewearSpecialSummerRogueText": "Parche Picaresco", - "eyewearSpecialSummerRogueNotes": "¡No hace falta ser un diablillo para apreciar lo distinguido que es! No otorga ningún beneficio. Equipo de Verano 2014 Edición Limitada.", + "eyewearSpecialSummerRogueNotes": "¡No hace falta ser un diablillo para apreciar lo distinguido que es! No otorga ningún beneficio. Equipamiento de edición limitada de verano 2014.", "eyewearSpecialSummerWarriorText": "Parche Apuesto", - "eyewearSpecialSummerWarriorNotes": "¡No hace falta ser un diablillo para apreciar lo distinguido que es esto! No otorga ningún beneficio. Equipamiento de Verano 2014 Edición Limitada.", + "eyewearSpecialSummerWarriorNotes": "¡No hace falta ser un diablillo para apreciar lo distinguido que es esto! No otorga ningún beneficio. Equipamiento de edición limitada de verano 2014.", "eyewearSpecialWonderconRedText": "Máscara Poderosa", - "eyewearSpecialWonderconRedNotes": "¡Qué accesorio tan poderoso para el rostro! No otorga ningún beneficio. Artículo de Congreso Edición Especial.", + "eyewearSpecialWonderconRedNotes": "¡Qué accesorio tan poderoso para el rostro! No otorga ningún beneficio. Artículo de edición especial de convención.", "eyewearSpecialWonderconBlackText": "Máscara Sigilosa", - "eyewearSpecialWonderconBlackNotes": "Tus motivos son indudablemente legítimos. No otorga ningún beneficio. Artículo de Congreso Edición Especial.", - "eyewearMystery201503Text": "Gafas de aguamarina", + "eyewearSpecialWonderconBlackNotes": "Tus motivos son indudablemente legítimos. No otorga ningún beneficio. Artículo de edición especial de convención.", + "eyewearMystery201503Text": "Gafas de Aguamarina", "eyewearMystery201503Notes": "¡Cuidado no te metas estas gemas brillantes en un ojo! No otorga ningún beneficio. Artículo de suscriptor marzo 2015.", - "eyewearMystery201506Text": "Gafas de buceo neón", - "eyewearMystery201506Notes": "Con estas gafas neón para bucear, se ve debajo del agua. No aportan ningún beneficio. Artículo del suscriptor de junio del 2015.", - "eyewearMystery201507Text": "Gafas de sol guays", - "eyewearMystery201507Notes": "Con estas gafas de sol, molarás aunque el tiempo no mole. No aportan ningún beneficio. Artículo del suscriptor de julio del 2015.", - "eyewearMystery201701Text": "Gafas de sol atemporales", - "eyewearMystery201701Notes": "¡Estas gafas de sol protegerán tus ojos de los rayos más dañinos y te verás elegante sin importar en qué momento del tiempo te encuentres! No proporciona ventajas. Artículo de Suscriptor de enero de 2017.", + "eyewearMystery201506Text": "Gafas de Buceo Neón", + "eyewearMystery201506Notes": "Con estas gafas neón para bucear, se ve debajo del agua. No otorga ningún beneficio. Artículo del suscriptor de junio del 2015.", + "eyewearMystery201507Text": "Gafas de Sol Guays", + "eyewearMystery201507Notes": "Con estas gafas de sol, molarás aunque el tiempo no mole. No otorga ningún beneficio. Artículo del suscriptor de julio del 2015.", + "eyewearMystery201701Text": "Gafas de Sol Atemporales", + "eyewearMystery201701Notes": "¡Estas gafas de sol protegerán tus ojos de los rayos más dañinos y te verás elegante sin importar en qué momento del tiempo te encuentres! No otorga ningún beneficio. Artículo de Suscriptor de enero de 2017.", "eyewearMystery301404Text": "Gafas Protectoras para los ojos", "eyewearMystery301404Notes": "No hay ningún accesorio facial tan sofisticado como unos buenos anteojos - excepto a lo mejor, un monóculo. No otorga ningún beneficio. Artículo de Suscriptor de Abril del 2015.", "eyewearMystery301405Text": "Monóculo", @@ -1819,7 +1819,7 @@ "weaponMystery201911Text": "Bastón de cristal encantado", "weaponArmoireFloridFanNotes": "Te encariñan los pliegues de seda cuando no están en uso. Incrementa la Constitución en <%= con %>. Armario Encantado: Objeto Independiente.", "weaponArmoireFloridFanText": "Abanico Florido", - "eyewearMystery201907Notes": "¡Luce asombroso mientras proteges tus ojos de los dañinos rayos UV! No confiere beneficios. Equipamiento de suscripción de julio del 2019.", + "eyewearMystery201907Notes": "¡Luce asombroso mientras proteges tus ojos de los dañinos rayos UV! No otorga ningún beneficio. Equipamiento de suscripción de julio del 2019.", "weaponSpecialWinter2020WarriorNotes": "¡Atrás, ardillas! ¡No os llevaréis ni un poco de esto! ... Pero si todas vosotras queréis pasar el rato y tomar chocolate caliente, está guay. Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de invierno 2019-2020.", "weaponSpecialWinter2020RogueText": "Varilla de Linterna", "shieldSpecialPiDayText": "Escudo Pi", @@ -1951,7 +1951,7 @@ "weaponSpecialSummer2020MageText": "Remo Poderoso", "weaponSpecialSummer2020WarriorNotes": "Si tus enemigos se mofan de tu elección de armamento, no piques. ¡Este anzuelo es atrautentico! Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de verano 2020.", "weaponSpecialSummer2020RogueNotes": "¡Tus enemigos no te ven venir, pero tus garras son ineludibles! Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de verano 2020.", - "backSpecialNamingDay2020Text": "Cola de Grifo púrpura real", + "backSpecialNamingDay2020Text": "Cola de Grifo Púrpura Real", "armorSpecialSpring2019MageNotes": "Este atuendo acumula poder de la resina mágica embebida en las fibras de corteza antigua que componen el tejido. Aumenta la Inteligencia en <%= int %>. Equipamiento de edición limitada de primavera 2019.", "armorSpecialSummer2019HealerNotes": "Deslízate impecablemente por cálidas aguas costeras con esta elegante cola. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de verano 2019.", "armorSpecialFall2019RogueNotes": "Este atuendo viene completo con guantes blancos, y es ideal para pavonearte en tu palco privado sobre el escenario o hacer entradas impactantes bajando por grandes escalinatas. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de otoño 2019.", @@ -2069,7 +2069,7 @@ "shieldArmoireBirthdayBannerText": "Banner de cumpleaños", "shieldArmoireMasteredShadowText": "Sombra dominada", "shieldMystery202011Text": "Bastón foliado", - "shieldSpecialWinter2021HealerText": "Guardabrazos árticos", + "shieldSpecialWinter2021HealerText": "Guardabrazos Árticos", "shieldSpecialKS2019Notes": "Brillando como la cáscara de un huevo de grifo, este magnífico escudo te muestra cómo estar listo para ayudar cuando tus propias cargas son ligeras. Aumenta la Percepción en <%= per %>.", "shieldSpecialKS2019Text": "Escudo de Grifo Mítico", "shieldSpecialPiDayNotes": "¡Te desafiamos a que calcules la relación entre la circunferencia de este escudo y su delicia! No otorga ningún beneficio.", @@ -2093,7 +2093,7 @@ "weaponArmoireJadeGlaiveText": "Guja de Jade", "shieldSpecialWinter2021WarriorText": "Pez Gordo", "shieldArmoirePolishedPocketwatchText": "Reloj de bolsillo pulido", - "shieldSpecialFall2020WarriorText": "Escudo del espíritu", + "shieldSpecialFall2020WarriorText": "Escudo del Espíritu", "weaponSpecialSpring2021RogueNotes": "¿Sabes que es mejor que dos flores? ¡CUATRO flores! Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de primavera 2021.", "weaponSpecialSpring2021RogueText": "Brote de Flores Gemelas", "weaponSpecialSpring2021WarriorNotes": "Aprovecha el poder del sol hacia tus enemigos, ¡Y que la piedra solar te de suerte! Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de primavera 2021.", @@ -2313,46 +2313,46 @@ "headArmoireClownsWigText": "Peluca de payaso", "headArmoireMedievalLaundryCapNotes": "No es que sea un gorro muy elaborado, pero para lavar la ropa... servirá. Aumenta la inteligencia en <%= int %>. Armario Encantado: Conjunto de lavanderos medievales (artículo 3 de 6).", "headArmoireClownsWigNotes": "¡Ninguna mala tarea podrá morderte ahora! Sabrás raro. Aumenta la constitución en <%= con %>. Armario Encantado: Conjunto de payaso (artículo 3 de 5).", - "shieldSpecialSpring2021HealerNotes": "Un bulto de hojas verdes que presagia refugio y compasión. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de primavera 2021.", - "shieldSpecialFall2019HealerText": "Grimorio grotesco", - "shieldSpecialFall2020RogueNotes": "Será mejor que seas rápido con tu juego de pies mientras usas este katar... Esta daga te servirá bien si eres rápido golpeando, ¡pero no te sobresfuerces! Aumenta la fuerza en <%= str %>. Equipamiento de edición limitada de otoño 2020.", - "shieldSpecialFall2020HealerNotes": "¿Otra de tus polillas sigue en proceso de metamorfosis? ¿O es simplemente un bolso de seda que contiene tus herramientas de sanación y profecía? Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de otoño 2020.", - "shieldSpecialWinter2020HealerNotes": "¿Sientes que eres demasiado bueno para este mundo, demasiado puro? Si es así, solo estará a tu altura la belleza de este elemento. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de invierno 2019-2020.", - "shieldSpecialSpring2021WarriorNotes": "La belleza de esta piedra solar de forma tosca brillará incluso en las cuevas más profundas y las mazmorras más oscuras. ¡Mantenlo bien alto! Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de primavera 2021.", - "shieldSpecialSummer2019MageNotes": "¿Sudando bajo el sol de verano? ¡No! Realiza un simple conjuro elementar para el estanque de nenúfares. Aumenta la percepción en <%= per %>. Equipamiento de edición limitada de verano 2019.", - "shieldSpecialSummer2020HealerText": "Égida de vidrio caído", - "shieldSpecialWinter2021HealerNotes": "Detén las armas con tus propias manos con estos poderosos guantes. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de invierno 2020-2021.", - "shieldSpecialSpring2020WarriorText": "Escudo iridiscente", - "shieldSpecialFall2020RogueText": "Katar veloz", - "shieldSpecialSpring2020HealerNotes": "Protégete de esos mustiamente viejas tareas pendientes con este perfumadamente dulce escudo. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de primavera 2020.", - "shieldSpecialSpring2021HealerText": "Escudo salicílico", - "shieldSpecialFall2020WarriorNotes": "Puede parecer insustancial, pero este escudo espectral puede mantenerte a salvo de todo tipo de daños. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de otoño 2020.", - "shieldSpecialSpring2020WarriorNotes": "¡No dejes que sus brillantes colores te engañen!¡Este escudo te dará gran protección! Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de primavera 2020.", - "shieldSpecialSpring2020HealerText": "Escudo perfumado", - "shieldSpecialFall2020HealerText": "Capullo llevatodo", - "shieldSpecialFall2019WarriorNotes": "El oscuro brillo de la pluma de un cuervo solidificada, este escudo frustrará todos los ataques. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de otoño 2019.", - "shieldSpecialSummer2020WarriorNotes": "Aquel pez que pescaste era TAN GRANDE, ¡que una sola de sus escama fue suficiente para fabricar este imponente escudo! Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de verano 2020.", - "shieldSpecialSummer2020HealerNotes": "Así como el movimiento de la arena y el agua convierte la basura en un tesoro, tu magia convertirá las heridas en fuerza. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de verano 2020.", - "shieldSpecialSummer2020WarriorText": "Escama de trucha enorme", - "shieldSpecialSummer2021WarriorNotes": "Esta gota de agua encantada absorbe magia y resiste los golpes de las tareas diarias más rojas. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de verano 2021.", - "shieldSpecialSummer2021WarriorText": "Escudo acuático", - "shieldSpecialWinter2020WarriorText": "Cono conífero redondo", - "shieldSpecialWinter2020WarriorNotes": "Úselo como un escudo hasta que se le caigan las semillas, ¡y luego puedes ponerlo en una corona! Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de invierno 2019-2020.", - "shieldSpecialSpring2021WarriorText": "Escudo solar", - "shieldSpecialWinter2021WarriorNotes": "¡Cuéntales a todos tus amigos el pez EXTREMADAMENTE grande que has cogido! Ahora bien, el contarles que en realidad está hecho de plástico y te canta canciones ya depende de ti. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de invierno 2020-2021.", - "shieldSpecialFall2019HealerNotes": "¡Haz uso del lado oscuro de las artes del sanador con este grimorio! Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de otoño 2019.", + "shieldSpecialSpring2021HealerNotes": "Un bulto de hojas verdes que presagia refugio y compasión. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de primavera 2021.", + "shieldSpecialFall2019HealerText": "Grimorio Grotesco", + "shieldSpecialFall2020RogueNotes": "Será mejor que seas rápido con tu juego de pies mientras usas este katar... Esta daga te servirá bien si eres rápido golpeando, ¡pero no te sobresfuerces! Aumenta la Fuerza en <%= str %>. Equipamiento de edición limitada de otoño 2020.", + "shieldSpecialFall2020HealerNotes": "¿Otra de tus polillas sigue en proceso de metamorfosis? ¿O es simplemente un bolso de seda que contiene tus herramientas de sanación y profecía? Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de otoño 2020.", + "shieldSpecialWinter2020HealerNotes": "¿Sientes que eres demasiado bueno para este mundo, demasiado puro? Si es así, solo estará a tu altura la belleza de este elemento. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de invierno 2019-2020.", + "shieldSpecialSpring2021WarriorNotes": "La belleza de esta piedra solar de forma tosca brillará incluso en las cuevas más profundas y las mazmorras más oscuras. ¡Mantenlo bien alto! Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de primavera 2021.", + "shieldSpecialSummer2019MageNotes": "¿Sudando bajo el sol de verano? ¡No! Realiza un simple conjuro elementar para el estanque de nenúfares. Aumenta la Percepción en <%= per %>. Equipamiento de edición limitada de verano 2019.", + "shieldSpecialSummer2020HealerText": "Égida de Vidrio Caído", + "shieldSpecialWinter2021HealerNotes": "Detén las armas con tus propias manos con estos poderosos guantes. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de invierno 2020-2021.", + "shieldSpecialSpring2020WarriorText": "Escudo Iridiscente", + "shieldSpecialFall2020RogueText": "Katar Veloz", + "shieldSpecialSpring2020HealerNotes": "Protégete de esos mustiamente viejas tareas pendientes con este perfumadamente dulce escudo. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de primavera 2020.", + "shieldSpecialSpring2021HealerText": "Escudo Salicílico", + "shieldSpecialFall2020WarriorNotes": "Puede parecer insustancial, pero este escudo espectral puede mantenerte a salvo de todo tipo de daños. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de otoño 2020.", + "shieldSpecialSpring2020WarriorNotes": "¡No dejes que sus brillantes colores te engañen!¡Este escudo te dará gran protección! Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de primavera 2020.", + "shieldSpecialSpring2020HealerText": "Escudo Perfumado", + "shieldSpecialFall2020HealerText": "Capullo Llevatodo", + "shieldSpecialFall2019WarriorNotes": "El oscuro brillo de la pluma de un cuervo solidificada, este escudo frustrará todos los ataques. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de otoño 2019.", + "shieldSpecialSummer2020WarriorNotes": "Aquel pez que pescaste era TAN GRANDE, ¡que una sola de sus escama fue suficiente para fabricar este imponente escudo! Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de verano 2020.", + "shieldSpecialSummer2020HealerNotes": "Así como el movimiento de la arena y el agua convierte la basura en un tesoro, tu magia convertirá las heridas en fuerza. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de verano 2020.", + "shieldSpecialSummer2020WarriorText": "Escama de Trucha Enorme", + "shieldSpecialSummer2021WarriorNotes": "Esta gota de agua encantada absorbe magia y resiste los golpes de las tareas diarias más rojas. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de verano 2021.", + "shieldSpecialSummer2021WarriorText": "Escudo Acuático", + "shieldSpecialWinter2020WarriorText": "Cono Conífero Redondo", + "shieldSpecialWinter2020WarriorNotes": "Úselo como un escudo hasta que se le caigan las semillas, ¡y luego puedes ponerlo en una corona! Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de invierno 2019-2020.", + "shieldSpecialSpring2021WarriorText": "Escudo Solar", + "shieldSpecialWinter2021WarriorNotes": "¡Cuéntales a todos tus amigos el pez EXTREMADAMENTE grande que has cogido! Ahora bien, el contarles que en realidad está hecho de plástico y te canta canciones ya depende de ti. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de invierno 2020-2021.", + "shieldSpecialFall2019HealerNotes": "¡Haz uso del lado oscuro de las artes del sanador con este grimorio! Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de otoño 2019.", "shieldArmoireMasteredShadowNotes": "Tus poderes han traído a tu presencia estas sombras arremolinadas para que cumplan tus órdenes. Aumenta la percepción y la constitución en <%= attrs %> cada una. Armario Encantado: Conjunto de maestro de las sombras (artículo 4 de 4).", - "shieldSpecialSummer2021HealerNotes": "¡Tanto potencial en este escudo! Pero por ahora puedes usarlo para proteger a tus amigos. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de verano 2021.", + "shieldSpecialSummer2021HealerNotes": "¡Tanto potencial en este escudo! Pero por ahora puedes usarlo para proteger a tus amigos. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de verano 2021.", "shieldMystery202011Notes": "Aprovecha el poder del viento otoñal con este bastón. Úsalo para magia arcana o para hacer increíbles montones de hojas, ¡tú decides! No otorga ningún beneficio. Artículo de suscriptor de noviembre 2020.", "shieldArmoireAlchemistsScaleNotes": "Asegúrate de que tus ingredientes místicos estén correctamente medidos con este preciso equipo. Aumenta la inteligencia en <%= int %>. Armario Encantado: conjunto de alquimista (artículo 4 de 4).", "shieldArmoireBirthdayBannerNotes": "¡Celebra tu día especial, el de alguien que amaa, o guarda un trozo para el cumpleaños de Habitica que es el 31 de enero! Aumenta la fuerza en <%= str %>. Armario Encantado: conjunto cumpleañero (artículo 4 de 4).", - "shieldSpecialSummer2021HealerText": "Escudo de semillas de girasol", + "shieldSpecialSummer2021HealerText": "Escudo de Semillas de Girasol", "shieldArmoireTrustyUmbrellaNotes": "Los misterios suelen ir acompañados de inclemencias climáticas, ¡así que prepárate! Aumenta la inteligencia en <%= int %>. Armario Encantado: conjunto de detective (artículo 4 de 4).", "shieldArmoirePolishedPocketwatchNotes": "El tiempo es tuyo. Y te queda muy bien. Aumenta la inteligencia en <%= int %>. Armario Encantado: artículo independiente.", - "shieldSpecialFall2021WarriorText": "Escudo de linterna de calabaza", - "shieldSpecialFall2021HealerNotes": "Un ser etéreo surge de entre tus llamas mágicas para otorgarte protección adicional. Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de otoño 2021.", - "shieldSpecialFall2021WarriorNotes": "Este festivo escudo de sonrisa torcida te protegerá e iluminará tu camino en la noche oscura. ¡También puede servirte como cabeza, si la necesitas! Aumenta la constitución en <%= con %>. Equipamiento de edición limitada de otoño 2021.", - "shieldSpecialFall2021HealerText": "Criatura invocada", + "shieldSpecialFall2021WarriorText": "Escudo de Linterna de Calabaza", + "shieldSpecialFall2021HealerNotes": "Un ser etéreo surge de entre tus llamas mágicas para otorgarte protección adicional. Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de otoño 2021.", + "shieldSpecialFall2021WarriorNotes": "Este festivo escudo de sonrisa torcida te protegerá e iluminará tu camino en la noche oscura. ¡También puede servirte como cabeza, si la necesitas! Aumenta la Constitución en <%= con %>. Equipamiento de edición limitada de otoño 2021.", + "shieldSpecialFall2021HealerText": "Criatura Invocada", "shieldArmoireHoneyFoodText": "Miel decorativa", "bodyMystery202003Notes": "Son como almohadillas para los hombros pero a otro nivel. No otorga ningún beneficio. Artículo de suscriptor de marzo 2020.", "shieldArmoireFiddleNotes": "Un instrumento perfecto que siempre dará la nota correcta ante el público. Aumenta la inteligencia en <%= int %>. Armario Encantado: conjunto de violinista (artículo 4 de 4).", @@ -2361,7 +2361,7 @@ "backMystery202009Notes": "¡Deja que estas enormes alas te lleven a nuevas alturas! No otorga ningún beneficio. Artículo de suscriptor de septiembre 2020.", "bodyMystery202107Text": "Exuberante flamenco flotante", "eyewearMystery202108Notes": "Mira con ellos fijamente a tus enemigos (¡o a tus tareas más poderosas!) y no tendrán ninguna oportunidad. No otorga ningún beneficio. Artículo de suscriptor de agosto 2021.", - "eyewearMystery201907Text": "Gafas de sol azucaradas", + "eyewearMystery201907Text": "Gafas de Sol Azucaradas", "headAccessoryMystery202009Notes": "Estos plumosos apéndices te ayudarán a encontrar tu camino incluso en la oscuridad de la noche. No otorga ningún beneficio. Artículo de suscriptor de septiembre 2020.", "shieldArmoireBouncyBubblesNotes": "¡Completa tu relajante baño con estas exuberantes burbujas! Aumenta la fuerza en <%= str %>. Armario Encantado: conjunto de baño de burbujas (artículo 4 de 4).", "bodyArmoireClownsBowtieNotes": "Una buena pajarita no es ninguna broma, incluso para un payaso. Aumenta la fuerza, inteligencia, constitución y percepción en <%= attrs %> cada uno. Armario Encantado: conjunto de payaso (artículo 5 de 5).", @@ -2375,12 +2375,12 @@ "headAccessoryMystery201906Notes": "Cuenta la leyenda, que estas pequeñas orejas permiten a los tritones a escuchar las llamadas y canciones de todos los habitantes de las profundidades. No otorga ningún beneficio. Artículo de suscriptor de junio 2019.", "bodyMystery202008Text": "Manto de buhoráculo", "eyewearSpecialKS2019Notes": "Audaces como un grifo... hmm, los hipogrifos no llevan viseras. Eso te recuerda que... báh, a quién intentas engañar, ¡las llevas porque molan! No otorga ningún beneficio.", - "eyewearSpecialKS2019Text": "Visor de hipogrifo legendario", + "eyewearSpecialKS2019Text": "Visor de Hipogrifo Legendario", "shieldArmoireBagpipesNotes": "Los más envidiosos dirán que estás planeas despertar a los muertos con tus gaitas, ¡pero tú sabes que lo haces para llevar tu grupo al éxito! Aumenta la fuerza en <%= str %>. Armario Encantado: conjunto de gaitero (artículo 3 de 3).", "backMystery202009Text": "Maravillosas alas de polilla", "backMystery202005Text": "Maravillosas alas de wyverno", "headAccessoryMystery202105Text": "Cuernos de dragón nebular", - "eyewearSpecialGreenHalfMoonText": "Gafas de medialuna verdes", + "eyewearSpecialGreenHalfMoonText": "Gafas de Medialuna Verdes", "eyewearSpecialYellowHalfMoonNotes": "Gafas de montura amarilla y lentes de luna creciente. No otorga ningún beneficio.", "shieldArmoirePiratesCompanionText": "Compañero pirata", "backMystery202109Notes": "Deslízate suavemente por el aire del crepúsculo sin hacer ruido. No otorga ningún beneficio. Artículo de suscriptor de septiembre 2021.", @@ -2389,7 +2389,7 @@ "bodyMystery202003Text": "Espaldares espinosos", "shieldArmoireHeraldsMessageScrollText": "Pergamino de anuncios heráldico", "shieldArmoireBlueMoonSaiText": "Sai de brillo lunar", - "eyewearSpecialFall2019RogueText": "Media-máscara de blancohueso", + "eyewearSpecialFall2019RogueText": "Media-Máscara de Blancohueso", "shieldArmoireBlueCottonCandyFoodNotes": "Una dulce golosina para las mascotas más golosas. ¿A cuál le gustará más? Aumenta la constitución en <%= con %>. Armario Encantado: conjunto de comida para mascotas (artículo 9 de 10).", "shieldArmoireSoftPinkPillowText": "Almohada rosa pálido", "shieldArmoireHobbyHorseText": "Caballo de juguete", @@ -2403,7 +2403,7 @@ "shieldArmoireMilkFoodNotes": "Existen muchos refranes sobre los beneficios para la salud de la leche, pero a las mascotas únicamente les gusta por su cremoso sabor. Aumenta la constitución y la fuerza en <%= attrs %> cada uno. Armario Encantado: conjunto de comida para mascotas (artículo 10 de 10)", "shieldArmoireDarkAutumnFlameText": "Llama oscura otoñal", "shieldArmoirePotatoFoodNotes": "Las patatas son el alimento básico de muchas dietas, pero algo algunas mascotas viven exclusivamente de ello... Aumenta la percepción en <%= per %>. Armario Encantado: conjunto de comida para mascotas (artículo 3 de 10).", - "eyewearSpecialBlackHalfMoonText": "Gafas de medialuna negras", + "eyewearSpecialBlackHalfMoonText": "Gafas de Medialuna Negras", "shieldArmoireHoneyFoodNotes": "¡Cuidado con las patas pegajosas cuando hayas alimentado a tus mascotas con esta miel! Algunas mascotas anhelan esta dulzura natural; ¿puedes adivinar cuáles? Aumenta la percepción y la inteligencia en <%= attrs %> cada uno. Armario Encantado: conjunto de comida para mascotas (artículo 6 de 10).", "bodyArmoireLifeguardWhistleNotes": "¡Llama al orden a ese hábito que no se está comportando!¡Debe cumplir las normas! Aumenta la inteligencia en <%= int %>. Armario Encantado: conjunto de socorrista (artículo 3 de 3).", "headAccessoryMystery202109Text": "Antenas de lepidóptero lunar", @@ -2414,7 +2414,7 @@ "shieldArmoirePinkCottonCandyFoodNotes": "Una golosina para las mascotas más golosas. Pero, ¿a cuál le gustará más?. Aumenta la inteligencia en <%= int %>. Armario Encantado: conjunto de comida para mascotas (artículo 4 de 10).", "backMystery202105Text": "Alas de dragón nebular", "backMystery202109Text": "Alas de lepidóptero lunar", - "eyewearSpecialWhiteHalfMoonText": "Gafas de medialuna blancas", + "eyewearSpecialWhiteHalfMoonText": "Gafas de Medialuna Blancas", "shieldArmoireRottenMeatFoodNotes": "¡Tápate la nariz! Puede que a ti te resulte repugnante este trozo de carne podrida, ¡pero a algunas de tus mascotas les parece el plato perfecto! Aumenta la constitución en <%= con %>. Armario Encantado: conjunto de comida para mascotas (artículo 2 de 10).", "bodyMystery202002Notes": "Para cuando tu corazón esté caliente pero las brisas de febrero son gélidas. No otorga ningún beneficio. Artículo de suscriptor de febrero 2020.", "shieldArmoireChocolateFoodText": "Chocolate decorativo", @@ -2426,7 +2426,7 @@ "shieldArmoireMortarAndPestleText": "Maja y mortero", "bodyArmoireLifeguardWhistleText": "Silbato de socorrista", "backMystery202005Notes": "A pesar de estar llenas de agujeros, estas alas siguen pudiendo llevarte donde necesites. No otorga ningún beneficio. Artículo de suscriptor de mayo 2020.", - "eyewearSpecialBlueHalfMoonText": "Gafas de medialuna azules", + "eyewearSpecialBlueHalfMoonText": "Gafas de Medialuna Azules", "headAccessoryMystery202004Text": "Poderosas antenas de mariposa monarca", "backMystery202001Notes": "¡Estas esponjosas colas contienen poder celestial y también un alto nivel de adorabilidad! No otorga ningún beneficio. Artículo de suscriptor de enero 2020.", "eyewearSpecialPinkHalfMoonNotes": "Gafas de montura rosa y lentes de luna creciente. No otorga ningún beneficio.", @@ -2437,17 +2437,17 @@ "backMystery201905Notes": "Vuela a parajes jamás visto con estas iridiscentes alas. No otorga ningún beneficio. Artículo de suscriptor de mayo 2019.", "headAccessoryMystery202102Text": "Tiara encantadora", "eyewearSpecialGreenHalfMoonNotes": "Gafas de montura verde y lentes de luna creciente. No otorga ningún beneficio.", - "eyewearSpecialPinkHalfMoonText": "Gafas de medialuna rosa", + "eyewearSpecialPinkHalfMoonText": "Gafas de Medialuna Rosa", "shieldArmoireMedievalLaundryText": "Ropa sucia", "shieldArmoireBlueCottonCandyFoodText": "Algodón de azúcar azul decorativo", "backMystery202004Text": "Poderosas alas de monarca", - "eyewearSpecialYellowHalfMoonText": "Gafas de medialuna amarillas", + "eyewearSpecialYellowHalfMoonText": "Gafas de Medialuna Amarillas", "shieldArmoireHobbyHorseNotes": "¡Cabalga tu hermoso caballo de juguete raudo hacia tus recompensas! Aumenta la percepción y la constitución en <%= attrs %> cada uno. Armario Encantado: conjunto de caballero de papel (artículo 2 de 3).", "bodyMystery202002Text": "Bufanda de cariñito estilosa", "headAccessoryMystery201906Text": "Orejas de tritón", "shieldArmoireMilkFoodText": "Leche decorativa", "shieldArmoireBouncyBubblesText": "Burbujas saltarinas", - "eyewearSpecialRedHalfMoonText": "Gafas de medialuna rojas", + "eyewearSpecialRedHalfMoonText": "Gafas de Medialuna Rojas", "shieldArmoireBaseballGloveText": "Guante de béisbol", "shieldArmoireStrawberryFoodNotes": "¡Una deliciosa y fresta fresa para alimentar a tus mascotas! ¿Sabes a cuáles les gustan más las fresas? Aumenta la fuerza en <%= str %>. Armario Encantado: conjunto de comida para mascotas (artículo 1 de 10).", "shieldArmoireMedievalLaundryNotes": "Va a ser difícil aclarar esto, pero ya sabes que puedes hacer cualquier cosa. Aumenta la percepción en <%= per %>. Armario Encantado: conjunto de lavanderos medievales (artículo 6 de 6).", @@ -2471,7 +2471,7 @@ "shieldArmoireClownsBalloonsNotes": "Ten cuidado: reemplazar estos globos si se te explotan te saldría un poco caro... ¡por la inflación! Aumenta la percepción en <%= per %>. Armario Encantado: conjunto de payaso (artículo 4 de 5).", "shieldArmoireRottenMeatFoodText": "Carne podrida decorativa", "headAccessoryMystery201905Text": "Temibles cuernos de dragón", - "eyewearSpecialFall2019HealerText": "Rostro negro", + "eyewearSpecialFall2019HealerText": "Rostro Negro", "shieldArmoireHeraldsMessageScrollNotes": "¿Qué emocionantes noticias contiene este pergamino? ¿Podría tratarse de una nueva mascota o de una buena racha cumpliendo hábitos? Aumenta la percepción en <%= per %>. Armario Encantado: conjunto de heraldo (artículo 4 de 4)", "backSpecialNamingDay2020Notes": "¡Feliz día del nombramiento! Mueve esta fiera cola pixelada mientras celebras el bautizo de Habitica. No otorga ningún beneficio.", "bodyMystery202107Notes": "¡Este fiel compañero nunca te defraudará y siempre mantendrá tu espíritu en alto! No otorga ningún beneficio. Artículo de suscriptor de julio 2021.", @@ -2616,5 +2616,11 @@ "weaponArmoireYellowKiteNotes": "Cayendo en picado y girando de un lado a otro, mira cómo va tu alegre cometa. Aumenta todas las estadisticas en <%= attrs %>. Armario Encantado: Colección de Cometas (Artículo 5 de 5)", "weaponArmoirePinkKiteText": "Cometa rosa", "weaponArmoirePushBroomText": "Escoba de empuje", - "headSpecialSummer2022RogueText": "Casco de Cangrejo" + "headSpecialSummer2022RogueText": "Casco de Cangrejo", + "weaponSpecialSummer2022WarriorText": "Ciclón Giratorio", + "weaponSpecialSummer2022WarriorNotes": "¡Está girando! ¡Se redirecciona! ¡Y trae a la tormenta! (Aumenta la fuerza en <%=str%>). Edición limitada de equipamiento de Verano 2022.", + "weaponSpecialSummer2022MageText": "Bastón de Mantarraya", + "weaponSpecialSummer2022MageNotes": "Magicamente limpia el agua en frente de tí con un movimiento de su bastón. Incrementa la inteligencia en <%=int %> y Percepción en <%=per %>. Edición limitada de equipamiento de Verano 2022.", + "weaponSpecialSummer2022HealerText": "Burbujas Beneficiosas", + "weaponSpecialSummer2022HealerNotes": "Estas burbujas liberan magia de curación en el agua con un satisfactorio Pop!. Incrementa la inteligencia en <%=int %>. Edición limitada de equipamiento de Verano 2022." } diff --git a/website/common/locales/es/generic.json b/website/common/locales/es/generic.json index 5edb6e893a..2e152ce976 100644 --- a/website/common/locales/es/generic.json +++ b/website/common/locales/es/generic.json @@ -3,14 +3,14 @@ "stringNotFound": "No se encontró la cadena '<%= string %>'.", "habitica": "Habitica", "onward": "¡Adelante!", - "done": "Hecho", + "done": "Completado", "gotIt": "¡Recibido!", "titleTimeTravelers": "Viajeros del tiempo", "titleSeasonalShop": "Tienda de temporada", "saveEdits": "Guardar cambios", "showMore": "Mostrar más", "showLess": "Mostrar menos", - "markdownHelpLink": "Ayuda con el formato Markdown", + "markdownHelpLink": "Ayuda con el formato Reducción", "bold": "**Negrita**", "markdownImageEx": "![texto alt obligatorio](https://habitica.com/cake.png \"título opcional al pasar el ratón\")", "code": "`código`", @@ -41,16 +41,16 @@ "continue": "Continuar", "accept": "Aceptar", "reject": "Rechazar", - "neverMind": "No importa", + "neverMind": "Olvídalo", "notEnoughGems": "No tienes suficientes gemas", - "alreadyHave": "Vaya, ya tienes este artículo. ¡No necesitas comprarlo otra vez!", + "alreadyHave": "Vaya! ya tienes este artículo. ¡No necesitas comprarlo otra vez!", "delete": "Eliminar", "gemsPopoverTitle": "Gemas", "gems": "Gemas", "needMoreGems": "¿Necesitas más gemas?", - "needMoreGemsInfo": "¡Compra Gemas ahora, o suscríbete para comprar Gemas con Oro, conseguir objetos misteriosos mensuales, disfrutar mayores botines y más!", + "needMoreGemsInfo": "¡Compra Gemas ahora, o suscríbete para comprar Gemas con Oro, recibe objetos misteriosos mensualmente, disfruta botines mas fréquentes y más!", "veteran": "Veterano", - "veteranText": "Ha sobrevivido a Habit The Grey (nuestro sito web pre-Angular) y se ha ganado muchas cicatrices por sus fallos.", + "veteranText": "Ha sobrevivido a Habit The Grey (nuestro sito web pre-Angular) y ha recibido muchas cicatrices de sus fallos.", "originalUser": "¡Usuario original!", "originalUserText": "Uno de los primerísimos usuarios... ¡Este sí que es un alpha tester!", "habitBirthday": "Fiesta de cumpleaños de Habitica", @@ -58,11 +58,11 @@ "habitBirthdayPluralText": "¡Participó en <%= count %> Fiestas de Cumpleaños de Habitica!", "habiticaDay": "Bautizo de Habitica", "habiticaDaySingularText": "¡Celebró el bautizo de Habitica! Gracias por ser un usuario magnífico.", - "habiticaDayPluralText": "¡Participó en <%= count %> onomásticas de Habitica! Gracias por ser un magnífico usuario.", + "habiticaDayPluralText": "¡Participó en <%= count %> bautizos de Habitica! Gracias por ser un magnífico usuario.", "achievementDilatory": "Salvador de Dilatoria", "achievementDilatoryText": "¡Ayudó a derrotar al Dread Drag'on de Dilatoria durante el evento Summer Splash del 2014!", "costumeContest": "Participante disfrazado", - "costumeContestText": "Has participado en el Concurso de Disfraces de Habitoween. ¡Mira algunas de las estupendas entradas en blog.habitrpg.com!", + "costumeContestText": "Participo en el Concurso de Disfraces de Habitoween. ¡Mira algunas de las estupendas entradas en blog.habitrpg.com!", "costumeContestTextPlural": "Has participado en <%= count %> Concursos de Disfraces de Habitoween. ¡Echa un vistazo a las estupendas entradas en blog.habitrpg.com!", "newPassSent": "Si tenemos constancia de tu correo electrónico, te hemos enviado un mensaje con las instrucciones a seguir para establecer una nueva contraseña.", "error": "Error", @@ -74,27 +74,27 @@ "audioTheme": "Tema de audio", "audioTheme_off": "Desactivado", "audioTheme_danielTheBard": "Daniel el Bardo", - "audioTheme_wattsTheme": "Tema Watts", - "audioTheme_gokulTheme": "Tema Gokul", - "audioTheme_luneFoxTheme": "Tema LuneFox", - "audioTheme_rosstavoTheme": "Tema Rosstavo", - "audioTheme_dewinTheme": "El tema de Dewin´s", - "audioTheme_airuTheme": "Tema Airu", - "audioTheme_beatscribeNesTheme": "Tema Beatscribe's NES", - "audioTheme_arashiTheme": "Tema Arashi", - "audioTheme_triumphTheme": "Tema del Triunfo", - "audioTheme_lunasolTheme": "Tema de Lunasol", - "audioTheme_spacePenguinTheme": "Tema del Pingüino Espacial", - "audioTheme_maflTheme": "Tema MAFL", - "audioTheme_pizildenTheme": "Tema de Pizilden", - "audioTheme_farvoidTheme": "Tema de Farvoid", - "reportBug": "Notificar un error", + "audioTheme_wattsTheme": "El tema de Watts", + "audioTheme_gokulTheme": "El tema de Gokul", + "audioTheme_luneFoxTheme": "El tema de LuneFox", + "audioTheme_rosstavoTheme": "El tema de Rosstavo", + "audioTheme_dewinTheme": "El tema de Dewin", + "audioTheme_airuTheme": "El tema de Airu", + "audioTheme_beatscribeNesTheme": "El tema de Beatscribe's NES", + "audioTheme_arashiTheme": "El tema de Arashi", + "audioTheme_triumphTheme": "El tema del Triunfo", + "audioTheme_lunasolTheme": "El tema de Lunasol", + "audioTheme_spacePenguinTheme": "El tema del Pingüino Espacial", + "audioTheme_maflTheme": "El tema de MAFL", + "audioTheme_pizildenTheme": "El tema de Pizilden", + "audioTheme_farvoidTheme": "El tema de Farvoid", + "reportBug": "Reportar un error", "overview": "Introducción para nuevos usuarios", "dateFormat": "Formato de fecha", "achievementStressbeast": "Salvador de Stoïkalm", - "achievementStressbeastText": "¡Ayudó a derrotar a la Abominable Bestia del Estrés durante el evento Winter Wonderland de 2014!", + "achievementStressbeastText": "¡Ayudó a derrotar a la Bestia Abominable del Estrés durante el evento Paraíso Invernal de 2014!", "achievementBurnout": "Salvador de los Campos Florecientes", - "achievementBurnoutText": "¡Ayudó a derrotar al Burnout y restaurar los Espíritus del Cansancio durante el evento Fall Festival de 2015!", + "achievementBurnoutText": "¡Ayudó a derrotar al Burnout y restaurar los Espíritus del Cansancio durante el evento Festival de Otoño de 2015!", "achievementBewilder": "Salvador de Calavuelos", "achievementBewilderText": "¡Ayudó a derrotar al Apa-bullador durante el Evento de Primavera de 2016!", "achievementDysheartener": "Salvador de los Destrozados", @@ -104,19 +104,19 @@ "cardReceived": "Recibiste una <%= card %>", "greetingCard": "Tarjeta de saludo", "greetingCardExplanation": "¡Ambos recibís el logro Alegres Amigotes!", - "greetingCardNotes": "Enviar una tarjeta para mandar un saludo a un miembro del equipo.", + "greetingCardNotes": "Enviar una tarjeta a un miembro del equipo.", "greeting0": "¡Hola!", "greeting1": "Solo quería saludar :)", "greeting2": "(saluda con emoción)", "greeting3": "¡Ey!", "greetingCardAchievementTitle": "Alegre Amigote", - "greetingCardAchievementText": "¡Eh! ¡Hola! ¿Qué tal? <%= count %> tarjetas de saludo enviadas o recibidas.", + "greetingCardAchievementText": "¡Eh! ¡Hola! ¿Qué tal? <%= count %> tarjetas enviadas o recibidas.", "thankyouCard": "Tarjeta de agradecimiento", "thankyouCardExplanation": "¡Ambos recibís el logro Agradablemente Agradecido!", "thankyouCardNotes": "Envía una tarjeta de agradecimiento a un miembro de tu equipo.", "thankyou0": "¡Muchas gracias!", "thankyou1": "¡Gracias, gracias, gracias!", - "thankyou2": "Te envío mil gracias.", + "thankyou2": "Envíando mil gracias.", "thankyou3": "Estoy muy agradecido: ¡gracias!", "thankyouCardAchievementTitle": "Agradablemente Agradecido", "thankyouCardAchievementText": "¡Gracias por ser agradecido! <%= count %> tarjetas de agradecimiento enviadas o recibidas.", @@ -126,31 +126,31 @@ "birthday0": "¡Feliz cumpleaños!", "birthdayCardAchievementTitle": "Prosperidad Cumpleañera", "birthdayCardAchievementText": "¡Muchas felicidades! <%= count %> tarjetas de cumpleaños enviadas o recibidas.", - "congratsCard": "Carta de Enhorabuena", + "congratsCard": "Carta de felicitaciónes", "congratsCardExplanation": "¡Ambos habéis recibido el logro de Compañero Felicitador!", - "congratsCardNotes": "Envía una Carta de Enhorabuena a un miembro del equipo.", - "congrats0": "¡Enhorabuena por tu éxito!", + "congratsCardNotes": "Envía una Carta de felicitaciónes a un miembro del equipo.", + "congrats0": "¡Felicitaciónes por tu éxito!", "congrats1": "¡Estoy orgulloso de ti!", "congrats2": "¡Bien hecho!", - "congrats3": "¡Un aplauso para ti!", + "congrats3": "¡Aplauso para ti!", "congrats4": "¡Disfruta de tu bien merecido éxito!", "congratsCardAchievementTitle": "Compañero Congratulatorio", - "congratsCardAchievementText": "¡Es genial celebrar los logros de tus amigos! Enviaste o recibiste <%= count %> cartas de enhorabuena.", - "getwellCard": "Carta de Ponte Bueno", + "congratsCardAchievementText": "¡Es genial celebrar los logros de tus amigos! Enviaste o recibiste <%= count %> cartas de felicitaciónes.", + "getwellCard": "Carta de recupérate pronto", "getwellCardExplanation": "¡Ambos habéis recibido el logro de Confidente Solícito!", - "getwellCardNotes": "Envía una carta de Ponte Bueno a un miembro del equipo.", + "getwellCardNotes": "Envía una carta de recupérate pronto a un miembro del equipo.", "getwell0": "¡Espero que te recuperes pronto!", "getwell1": "¡Cuídate! <3", "getwell2": "¡Te tengo en mis pensamientos!", "getwell3": "¡Siento que no te encuentres bien!", "getwellCardAchievementTitle": "Confidente Cuidadoso", - "getwellCardAchievementText": "Siempre son de agrado los deseos de mejoría. Enviaste o recibiste <%= count %> cartas de Ponte Bueno.", + "getwellCardAchievementText": "Siempre son de agradecidos los deseos de salud. Enviaste o recibiste <%= count %> cartas de recupérate pronto.", "goodluckCard": "Carta de Buena Suerte", "goodluckCardExplanation": "¡Ambos recibís el logro Carta de la Suerte!", "goodluckCardNotes": "Envía una carta de Buena Suerte a un miembro del equipo.", "goodluck0": "¡Que la suerte te acompañe!", "goodluck1": "¡Te deseo un montón de suerte!", - "goodluck2": "¡Espero que la suerte esté de lado hoy y siempre!", + "goodluck2": "¡Espero que la suerte esté a tu lado hoy y siempre!", "goodluckCardAchievementTitle": "Carta de la Suerte", "goodluckCardAchievementText": "¡Los deseos de buena suerte son un gran estímulo! Enviaste o recibiste <%= count %> cartas de Buena Suerte.", "streakAchievement": "¡Has obtenido un logro de racha!", @@ -163,8 +163,8 @@ "orderBy": "Ordenar por <%= item %>", "you": "(tú)", "loading": "Cargando...", - "userIdRequired": "Es necesaria un ID de usuario", - "resetFilters": "Limpiar todos los filtros", + "userIdRequired": "Es necesario un ID de usuario", + "resetFilters": "Borrar todos los filtros", "applyFilters": "Aplicar filtros", "wantToWorkOn": "Quiero trabajar en:", "categories": "Categorías", @@ -174,11 +174,11 @@ "health_wellness": "Salud y Bienestar", "self_care": "Cuidado de ti mismo", "habitica_official": "Oficial de Habitica", - "academics": "Académico", + "academics": "Académica", "advocacy_causes": "Defensa + Causas", "entertainment": "Entretenimiento", "finance": "Finanzas", - "health_fitness": "Salud + Ejercicios", + "health_fitness": "Salud + Ejercicio", "hobbies_occupations": "Aficiones + Ocupaciones", "location_based": "Basado en la localización", "mental_health": "Salud Mental + Cuidado de ti mismo", @@ -186,11 +186,11 @@ "self_improvement": "Autosuperación", "spirituality": "Espiritualidad", "time_management": "Manejo del Tiempo + Responsabilidad", - "recovery_support_groups": "Recuperación + Grupos de Ayuda", + "recovery_support_groups": "Recuperación + Grupos de Apoyo", "dismissAll": "Ignorar todas", "messages": "Mensajes", "emptyMessagesLine1": "No tienes ningún mensaje", - "emptyMessagesLine2": "Puedes enviar un nuevo mensaje a un usuario visitando su perfil y haciendo clic en el botón \"Mensaje\".", + "emptyMessagesLine2": "Puedes enviar un nuevo mensaje a un usuario visitando su perfil y presionando \"Mensaje\".", "userSentMessage": "<%- user %> te ha enviado un mensaje", "letsgo": "¡Vamos!", "selected": "Seleccionado", @@ -199,8 +199,8 @@ "options": "Opciones", "demo": "Demo", "loadEarlierMessages": "Cargar Mensajes Anteriores", - "finish": "Terminar", - "congratulations": "¡Enhorabuena!", + "finish": "Finalizar", + "congratulations": "¡Felicidades!", "onboardingAchievs": "Logros de incorporación", "reportEmailError": "Por favor, introduzca un correo electrónico válido", "reportDescription": "Descripción", @@ -212,6 +212,10 @@ "reportEmailText": "Esto solo se utilizará para contactar contigo en relación con el informe de error.", "reportEmailPlaceholder": "Tu correo electrónico", "reportDescriptionText": "Si lo crees conveniente, incluye capturas de pantalla o errores de la consola de Javascript.", - "reportSentDescription": "Nos pondremos en contacto contigo en cuanto nuestro equipo haya podido estudiarlo. Gracias por informarnos del problema.", - "askQuestion": "Haz una pregunta" + "reportSentDescription": "Nos pondremos en contacto contigo en cuanto nuestro equipo haya podido investigar. Gracias por informarnos del problema.", + "askQuestion": "Haz una pregunta", + "skipExternalLinkModal": "Mantenga presionada la tecla CTRL (Windows) o Comando (Mac) al hacer clic en un enlace para omitir este modal.", + "refreshList": "Actualizar lista", + "leaveHabitica": "Estás a punto de salir de Habitica.com", + "leaveHabiticaText": "Habitica no es responsable del contenido de ningún sitio web vinculado que no sea propiedad ni esté operado por HabitRPG.
Tenga en cuenta que las prácticas de estos sitios web pueden diferir de las pautas de la comunidad de Habitica." } diff --git a/website/common/locales/es/limited.json b/website/common/locales/es/limited.json index e8eb709888..eae8c47038 100644 --- a/website/common/locales/es/limited.json +++ b/website/common/locales/es/limited.json @@ -188,7 +188,7 @@ "fall2020WraithWarriorSet": "Espectro (Guerrero)", "royalPurpleJackolantern": "Calabaza de Halloween púrpura real", "novemberYYYY": "Noviembre <%= year %>", - "g1g1Limitations": "Este es un evento por tiempo limitado que comienza el 17 de Diciembre a las 8:00 AM ET (13:00 UTC) y termina el 7 de Enero a las 8:00 PM ET (1:00 UTC). Esta promoción sólo es válida cuando se hace un regalo a otro Habiticano. Si tu o el receptor de tu regalo ya tenéis una suscripción, la suscripción regalada añadirá meses de crédito que sólo se usarán cuando la suscripción actual sea cancelada o expire.", + "g1g1Limitations": "Este es un evento por tiempo limitado que comienza el 15 de Diciembre a las 8:00 AM ET (13:00 UTC) y termina el 8 de Enero a las 11:59 PM ET (9 de Enero a las 04:59 UTC). Esta promoción sólo es válida cuando se hace un regalo a otro Habiticano. Si tu o el receptor de tu regalo ya tenéis una suscripción, la suscripción regalada añadirá meses de crédito que sólo se usarán cuando la suscripción actual sea cancelada o expire.", "limitations": "Limitaciones", "g1g1HowItWorks": "Escribe el nombre de usuario de la cuenta a la que quieres hacerle el regalo. Desde ahí, selecciona la duración de la suscripción que quieres regalar y realiza el pago. Tu cuenta será automaticamente recompensada con el mismo nivel de suscripción que acabas de regalar.", "howItWorks": "Cómo funciona", @@ -235,5 +235,24 @@ "gemSaleLimitations": "Esta promoción solo aplica durante el tiempo limitado del evento. Este evento empieza el <%= eventStartOrdinal %> de <%= eventStartMonth %> a las 8:00 AM EDT (12:00 UTC) y acabará el <%= eventEndOrdinal %> de <%= eventStartMonth %> a las 8:00 PM EDT (00:00 UTC). Esta promoción solo está disponible cuando se compran Gemas para uno mismo.", "gemSaleHow": "Entre el <%= eventStartOrdinal %> y <%= eventEndOrdinal %> de <%= eventStartMonth %>, simplemente compra cualquier paquete de Gemas como normalmente, y se abonará en tu cuenta el número promocional de Gemas. ¡Más Gemas para gastar, compartir o guardar para futuras entregas!", "fall2022KappaRogueSet": "Kapa (Pícaro)", - "fall2022WatcherHealerSet": "Mirador (Sanador)" + "fall2022WatcherHealerSet": "Mirador (Sanador)", + "winter2023WalrusWarriorSet": "Morsa (Guerrero)", + "winter2023CardinalHealerSet": "Cardenal (Sanador)", + "spring2023CaterpillarRogueSet": "Oruga (Pícaro)", + "spring2023HummingbirdWarriorSet": "Colibrí (Guerrero)", + "spring2023LilyHealerSet": "Lirio (Sanador)", + "spring2023MoonstoneMageSet": "Piedra Luna (Mago)", + "celebrateAnniversary": "¡Celebra el 10.º Cumpleaños de Habitica con los siguientes regalos y objetos exclusivos!", + "celebrateBirthday": "¡Celebra el 10.º Cumpleaños de Habitica con regalos y objetos exclusivos!", + "limitedEdition": "Equipamiento de edición limitada", + "anniversaryGryphatricePrice": "Consíguelo hoy por $9.99 o 60 gemas", + "dayFive": "Día 5", + "dateStartFebruary": "8 de febrero", + "anniversaryLimitedDates": "Del 30 de enero al 8 de febrero", + "limitedEvent": "Evento limitado", + "dayOne": "Día 1", + "dayTen": "Día 10", + "twentyGems": "20 Gemas", + "birthdaySet": "Conjunto de Cumpleaños", + "winter2023RibbonRogueSet": "Lazo (Pícaro)" } diff --git a/website/common/locales/es/settings.json b/website/common/locales/es/settings.json index 2d1d002b18..fd97a6e9b3 100644 --- a/website/common/locales/es/settings.json +++ b/website/common/locales/es/settings.json @@ -199,14 +199,14 @@ "transaction_gift_send": "Regalado a", "transaction_create_challenge": "Desafío creado", "transaction_create_guild": "Gremio creado", - "transaction_change_class": "Clase cambiada", + "transaction_change_class": "Cambio de Clase", "transaction_rebirth": "Orbe de Renacimiento usado", "transaction_release_pets": "Mascotas soltadas", "transaction_reroll": "Poción de Fortalecimiento usada", "hourglassTransactions": "Transacciones de Relojes de Arena", "transaction_gift_receive": "Recibido de", "transaction_debug": "Depuración", - "transaction_contribution": "A través de contribuciones", + "transaction_contribution": "Cambio de Rango", "transaction_spend": "Gastado en", "transaction_release_mounts": "Monturas sueltas", "transaction_subscription_perks": "Beneficio de la suscripción", @@ -223,5 +223,7 @@ "passwordIssueLength": "Las contraseñas deben tener una longitud entre 8 y 64 caracteres.", "amount": "Cantidad", "action": "Acción", - "note": "Nota" + "note": "Nota", + "timestamp": "Registro de hora", + "remainingBalance": "Saldo Restante" } diff --git a/website/common/locales/es_419/content.json b/website/common/locales/es_419/content.json index f063a975d3..1a25dc8ab3 100644 --- a/website/common/locales/es_419/content.json +++ b/website/common/locales/es_419/content.json @@ -371,5 +371,6 @@ "hatchingPotionSolarSystem": "Sistema Solar", "hatchingPotionMoonglow": "Brillo de Luna", "hatchingPotionOnyx": "Ónice", - "hatchingPotionVirtualPet": "Mascota virtual" + "hatchingPotionVirtualPet": "Mascota virtual", + "hatchingPotionPorcelain": "Porcelana" } diff --git a/website/common/locales/et/achievements.json b/website/common/locales/et/achievements.json index 00216fc700..7ca736621f 100755 --- a/website/common/locales/et/achievements.json +++ b/website/common/locales/et/achievements.json @@ -1,8 +1,22 @@ { - "achievement": "Achievement", - "onwards": "Onwards!", - "levelup": "By accomplishing your real life goals, you leveled up and are now fully healed!", - "reachedLevel": "You Reached Level <%= level %>", - "achievementLostMasterclasser": "Quest Completionist: Masterclasser Series", - "achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!" + "achievement": "Saavutus", + "onwards": "Edasi!", + "levelup": "Saavutades endale päris elus seatud eesmärke, jõudsid uue tasemeni ning oled täielikult paranenud!", + "reachedLevel": "Jõudsid Tasemeni <%= level %>", + "achievementLostMasterclasser": "Quest Completionist: Masterclasser Series", + "achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!", + "yourProgress": "Sinu edasiminek", + "gettingStartedDesc": "Lõpeta need ülesanded ning teenid 5 Saavutust ja 100 kulda!", + "onboardingCompleteDesc": "Teenisid 5 Saavutust ja 100 kulda nimekirja lõpetamise eest.", + "letsGetStarted": "Alustame!", + "onboardingCompleteDescSmall": "Kui soovid rohkem, vaata Saavutusi ning alusta kogumist!", + "onboardingProgress": "<%= percentage %>% edasiminek", + "foundNewItems": "Leidsid uusi esemeid!", + "earnedAchievement": "Teenisid Saavutuse!", + "viewAchievements": "Vaata Saavutusi", + "showAllAchievements": "Näita kõiki <%= category %>", + "foundNewItemsExplanation": "Tehes ülesanded on sul võimalus leida esemeid nagu Munad, Nõiajoogid ja Lemmikloomade Toit.", + "onboardingComplete": "Lõpetasid kõik ülesanded!", + "yourRewards": "Sinu Tasu", + "hideAchievements": "Peida <%= category %>" } diff --git a/website/common/locales/et/groups.json b/website/common/locales/et/groups.json index 17504a3626..0bd43f4116 100755 --- a/website/common/locales/et/groups.json +++ b/website/common/locales/et/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/fa_IR/groups.json b/website/common/locales/fa_IR/groups.json index 0d3d60c7a9..6ccd5f29ec 100755 --- a/website/common/locales/fa_IR/groups.json +++ b/website/common/locales/fa_IR/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/fi/groups.json b/website/common/locales/fi/groups.json index 0577168ddf..8708e0e7eb 100755 --- a/website/common/locales/fi/groups.json +++ b/website/common/locales/fi/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/fil/backgrounds.json b/website/common/locales/fil/backgrounds.json index b4e11c8d78..67196af296 100755 --- a/website/common/locales/fil/backgrounds.json +++ b/website/common/locales/fil/backgrounds.json @@ -625,5 +625,7 @@ "backgroundGhostShipText": "Ghost Ship", "backgroundUnderwaterAmongKoiNotes": "Mangsilaw at masilaw ng mga kumikinang na carp, Sa Ilalim ng Tubig sa Gitna ng mga Koi.", "backgroundUnderwaterAmongKoiText": "Sa Ilalim ng Tubig sa Gitna ng mga Koi", - "backgrounds072021": "SET 86: Inilabas noong Hulyo 2021" + "backgrounds072021": "SET 86: Inilabas noong Hulyo 2021", + "backgroundMaskMakersWorkshopText": "Pagawaan ng Tagágawâ ng Panakíp sa Mukhâ", + "backgroundMaskMakersWorkshopNotes": "Sumubok ng panibagong mukhâ sa Pagawaan ng Tagágawâ ng Panakíp sa Mukhâ." } diff --git a/website/common/locales/fil/character.json b/website/common/locales/fil/character.json index 5f4b414993..5b5441d32c 100755 --- a/website/common/locales/fil/character.json +++ b/website/common/locales/fil/character.json @@ -148,38 +148,38 @@ "youCastTarget": "You cast <%= spell %> on <%= target %>.", "youCastParty": "You cast <%= spell %> for the party.", "critBonus": "Critical Hit! Bonus:", - "gainedGold": "You gained some Gold", - "gainedMana": "You gained some Mana", - "gainedHealth": "You gained some Health", - "gainedExperience": "You gained some Experience", - "lostGold": "You spent some Gold", - "lostMana": "You used some Mana", - "lostHealth": "You lost some Health", - "lostExperience": "You lost some Experience", + "gainedGold": "Nadágdagán ang Gintô mo", + "gainedMana": "Nadágdagán ang Mana mo", + "gainedHealth": "Nadágdagán ang Kalusugan mo", + "gainedExperience": "Nadágdagán ang Karanasán mo", + "lostGold": "Gumugol ka ng Gintô", + "lostMana": "Gumamit ka ng Mana", + "lostHealth": "Nabawasan ang iyóng Kalusugan", + "lostExperience": "Nabawasan ang iyóng Karanasán", "equip": "Equip", "unequip": "Unequip", "animalSkins": "Animal Skins", - "str": "STR", - "con": "CON", - "per": "PER", - "int": "INT", - "notEnoughAttrPoints": "You don't have enough Stat Points.", + "str": "LAK", + "con": "KAT", + "per": "UNA", + "int": "TAL", + "notEnoughAttrPoints": "Walá kang sapát na Stat Points.", "classNotSelected": "You must select Class before you can assign Stat Points.", - "style": "Style", + "style": "Tabas", "facialhair": "Facial", - "photo": "Photo", - "info": "Info", - "joined": "Joined", - "totalLogins": "Total Check Ins", - "latestCheckin": "Latest Check In", - "editProfile": "Edit Profile", - "challengesWon": "Challenges Won", - "questsCompleted": "Quests Completed", - "headAccess": "Head Access.", - "backAccess": "Back Access.", - "bodyAccess": "Body Access.", - "mainHand": "Main-Hand", - "offHand": "Off-Hand", + "photo": "Larawan", + "info": "Mga Nalalaman Natin", + "joined": "Lumahók", + "totalLogins": "Pangkalahatang Panunuluyan", + "latestCheckin": "Pinakahulíng Pagtulóy", + "editProfile": "Iakmâ ang Pagpapakilala", + "challengesWon": "Mga Napanalunang Hamon", + "questsCompleted": "Mga Natapos na Pakikipagsápalarán", + "headAccess": "Dagdág sa Ulo", + "backAccess": "Dagdág sa Likód", + "bodyAccess": "Dagdág sa Katawán", + "mainHand": "Pangunahing", + "offHand": "Pangalawang", "statPoints": "Stat Points", "pts": "pts", "chatCastSpellUser": "<%= username %> casts <%= spell %> sa <%= target %>.", diff --git a/website/common/locales/fil/content.json b/website/common/locales/fil/content.json index 2988acbfe3..cb7cde44ad 100755 --- a/website/common/locales/fil/content.json +++ b/website/common/locales/fil/content.json @@ -200,7 +200,7 @@ "hatchingPotionEmber": "Baga", "hatchingPotionThunderstorm": "Bagyó", "hatchingPotionGhost": "Multó", - "hatchingPotionRoyalPurple": "Maharlikáng Ube", + "hatchingPotionRoyalPurple": "Kulay Maharlikáng Ube", "hatchingPotionHolly": "Asebo", "hatchingPotionCupid": "Kúpidó", "hatchingPotionShimmer": "Makináng", @@ -303,9 +303,9 @@ "foodCandyRed": "Cinnamon Candy", "foodCandyRedThe": "the Cinnamon Candy", "foodCandyRedA": "Cinnamon Candy", - "foodSaddleText": "Siya", - "foodSaddleNotes": "Agád na pinapalakí ang isa sa iyong mga alaga.", - "foodSaddleSellWarningNote": "Uy! Medyo kapaki-pakinabang! Pamilyar ka ba kung papaano gumamit ng Siya sa iyong mga Alagà?", + "foodSaddleText": "Upuán", + "foodSaddleNotes": "Agád na pinalálakí ang isa sa iyóng mga alaga.", + "foodSaddleSellWarningNote": "Uy! Kapakípakinabang! May alám ka ba sa paggamit ng mga Upuán sa mga Alagà?", "foodNotes": "Feed this to a pet and it may grow into a sturdy steed.", "foodPieRedA": "isang hiwa ng Pulang Cherry Pie", "foodPieRedThe": "ang Pulang Cherry Pie", diff --git a/website/common/locales/fil/front.json b/website/common/locales/fil/front.json index 4ccd8424b0..ddbc6bc224 100644 --- a/website/common/locales/fil/front.json +++ b/website/common/locales/fil/front.json @@ -1,5 +1,5 @@ { - "FAQ": "FAQ", + "FAQ": "MKN (Mga Kadalasang Naitátanong)", "marketing1Lead1Title": "Buhay Mo, ang Role Playing Game", "marketing1Header": "Pabutihin ang Iyong mga Gawi sa pamamagitan ng Paglalaro", "logout": "Log Out", @@ -23,10 +23,10 @@ "companyAbout": "Paano Gumagana", "communityInstagram": "Instagram", "communityFacebook": "Facebook", - "communityExtensions": "Add-ons & Extensions", - "clearBrowserData": "Alisin ang Browser Data", + "communityExtensions": "Mga Pandagdág-Gamit at Pámpalawig-Gamit", + "clearBrowserData": "Burahín ang Alaala ng Tagahanap", "chores": "Mga Gawaing-Bahay", - "termsAndAgreement": "Sa pagpindot ng button sa ibaba, ipinapahiwatig mong nabasa at sumasang-ayon ka sa Terms of Service at Privacy Policy.", + "termsAndAgreement": "Sa pagpindót sa ibabà, ipinápahiwatig n'yo na nabasa at sumasang-ayon kayó sa Mga Alituntúnin sa Paglílingkód at Pátakarán sa Paglilihim.", "marketing3Lead1": "Ang **iPhone & Android** apps ay nakatutulong sa'yo upang makatapos ng gawain kahit saan. Napagtanto namin na ang pag-login gamit ang website ay nakakapagod.", "marketing3Header": "Apps at Extensions", "marketing2Lead3": "Isang uri ng pakikipagkumpitensya sa iyong mga kaibigan at sa mga hindi kakilala ang mga Hamon. Kung sino ang pinakamagaling sa pagtapos ng bawat hamon ay makatatanggap ng mga espesyal na premyo.", diff --git a/website/common/locales/fil/gear.json b/website/common/locales/fil/gear.json index de7ed87e04..7c7c93f28f 100755 --- a/website/common/locales/fil/gear.json +++ b/website/common/locales/fil/gear.json @@ -890,7 +890,7 @@ "headSpecialDandyHatNotes": "What a merry chapeau! You'll look quite fine enjoying a stroll in it. Nagtataás ng Pangangatawán ng <%= con %>.", "headSpecialKabutoText": "Kabuto", "headSpecialKabutoNotes": "This helm is functional and beautiful! Your enemies will become distracted admiring it. Nagtataás ng Katalinuhan ng <%= int %>.", - "headSpecialNamingDay2017Text": "Royal Purple Gryphon Helm", + "headSpecialNamingDay2017Text": "Kulay Maharlikáng Ube na Gryphon Helm", "headSpecialNamingDay2017Notes": "Happy Naming Day! Wear this fierce and feathery helm as you celebrate Habitica. Waláng pakinabang.", "headSpecialTurkeyHelmBaseText": "Turkey Helm", "headSpecialTurkeyHelmBaseNotes": "Your Turkey Day look will be complete when you don this beaked helm! Waláng pakinabang.", @@ -906,7 +906,7 @@ "headSpecialCandycaneNotes": "This is the most delicious hat in the world. It's also known to appear and disappear mysteriously. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2013-2014.", "headSpecialSnowflakeText": "Snowflake Crown", "headSpecialSnowflakeNotes": "The wearer of this crown is never cold. Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2013-2014.", - "headSpecialSpringRogueText": "Stealthy Kitty Mask", + "headSpecialSpringRogueText": "Alapusà na Malapusang Panakíp sa Mukhâ", "headSpecialSpringRogueNotes": "Nobody will EVER guess that you are a cat burglar! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2014.", "headSpecialSpringWarriorText": "Clover-steel Helmet", "headSpecialSpringWarriorNotes": "Welded from sweet meadow clover, this helmet can resist even the mightiest blow. Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2014.", @@ -932,7 +932,7 @@ "headSpecialFallHealerNotes": "Highly sanitary and very fashionable. Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2014.", "headSpecialNye2014Text": "Silly Party Hat", "headSpecialNye2014Notes": "You've received a Silly Party Hat! Wear it with pride while ringing in the New Year! Waláng pakinabang.", - "headSpecialWinter2015RogueText": "Icicle Drake Mask", + "headSpecialWinter2015RogueText": "Panakíp sa Mukhâ na Anyóng Dragón sa Yelo", "headSpecialWinter2015RogueNotes": "You are truly, definitely, absolutely a genuine Icicle Drake. You are not infiltrating the Icicle Drake hives. You have no interest at all in the hoards of riches rumored to lie in their frigid tunnels. Rawr. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2014-2015.", "headSpecialWinter2015WarriorText": "Gingerbread Helm", "headSpecialWinter2015WarriorNotes": "Think, think, think as hard as you can. Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2014-2015.", @@ -974,7 +974,7 @@ "headSpecialWinter2016MageNotes": "Keeps the snow out of your eyes while you're casting spells. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2015-2016.", "headSpecialWinter2016HealerText": "Fairy Wing Helm", "headSpecialWinter2016HealerNotes": "Thesewingsfluttersoquicklythattheyblur! Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2015-2016.", - "headSpecialSpring2016RogueText": "Good Doggy Mask", + "headSpecialSpring2016RogueText": "Panakíp sa Mukhâ na Anyóng Mabaít na Aso", "headSpecialSpring2016RogueNotes": "Aww, what a cute puppy! Come here and let me pet your head. ...Hey, where did all my Gold go? Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2016.", "headSpecialSpring2016WarriorText": "Mouse Guard Helm", "headSpecialSpring2016WarriorNotes": "Never again shall you be bopped on the head! Let them try! Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2016.", @@ -1009,7 +1009,7 @@ "headSpecialWinter2017HealerText": "Sparkling Blossom Helm", "headSpecialWinter2017HealerNotes": "These glittering petals focus brainpower! Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2016-2017.", "headSpecialSpring2017RogueText": "Sneaky Bunny Helm", - "headSpecialSpring2017RogueNotes": "This mask will prevent your cuteness from giving you away as you sneak up on Dailies (or clovers)! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2017.", + "headSpecialSpring2017RogueNotes": "Mapipigilan nitó na maibunyág ang kagigil-gigil na mukhâ mo sa sinumang makakakità habang pumupuslít ka sa iyóng mga Pang-Araw-Araw na Gawain (o clovers)! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2017.", "headSpecialSpring2017WarriorText": "Feline Helm", "headSpecialSpring2017WarriorNotes": "Protect your adorable, fuzzy noggin with this finely decorated helm. Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2017.", "headSpecialSpring2017MageText": "Canine Conjuror Hat", @@ -1059,9 +1059,9 @@ "headSpecialSummer2018HealerText": "Merfolk Monarch Crown", "headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2018.", "headSpecialFall2018RogueText": "Alter Ego Face", - "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2018.", + "headSpecialFall2018RogueNotes": "Itinatagò ng karamihan sa atin ang mga bagay-bagay na nagpápabalisâ sa atin. Ibinubunyág ng panakíp mukhâ na itó ang mga karanasáng lahát tayo ng pagdadalawáng isip sa pagitan ng ating mabubuti at masásamáng impulses. Plus it comes with a sweet hat! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2018.", "headSpecialFall2018WarriorText": "Minotaur Visage", - "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2018.", + "headSpecialFall2018WarriorNotes": "Nagpápakità ang katakot-takot na panakíp mukhâ na ito na bulugan at buóng tapang mong lúlupigin ang iyóng mga gawain! Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2018.", "headSpecialFall2018MageText": "Candymancer's Hat", "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2018..", "headSpecialFall2018HealerText": "Ravenous Helm", @@ -1098,7 +1098,7 @@ "headMystery201505Notes": "The green plume on this iron helm waves proudly. Waláng pakinabang. May 2015 Subscriber Item.", "headMystery201508Text": "Cheetah Hat", "headMystery201508Notes": "This cozy cheetah hat is very fuzzy! Waláng pakinabang. August 2015 Subscriber Item.", - "headMystery201509Text": "Werewolf Mask", + "headMystery201509Text": "Werewolf na Panakíp sa Mukhâ", "headMystery201509Notes": "This IS a mask, right? Waláng pakinabang. September 2015 Subscriber Item.", "headMystery201511Text": "Log Crown", "headMystery201511Notes": "Count the number of rings to learn how old this crown is. Waláng pakinabang. November 2015 Subscriber Item.", @@ -1220,7 +1220,7 @@ "headArmoireFalconerCapNotes": "This jaunty cap helps you better understand birds of prey. Nagtataás ng Katalinuhan ng <%= int %>. Mahiwagang Kabán: Falconer Set (Iká-2 ng 3).", "headArmoireVermilionArcherHelmText": "Vermilion Archer Helm", "headArmoireVermilionArcherHelmNotes": "The magic ruby in this helm will help you aim with laser focus! Nagtataás ng Pandamá ng <%= per %>. Mahiwagang Kabán: Vermilion Archer Set (Iká-3 ng 3).", - "headArmoireOgreMaskText": "Ogre Mask", + "headArmoireOgreMaskText": "Panakíp Mukhâ ng Ogre", "headArmoireOgreMaskNotes": "Your enemies will run for the hills when they see an Ogre coming their way! Nagtataás ng Pangangatawán at Lakás ng <%= attrs %> bawát isá. Mahiwagang Kabán: Ogre Outfit (Iká-1 ng 3).", "headArmoireIronBlueArcherHelmText": "Iron Blue Archer Helm", "headArmoireIronBlueArcherHelmNotes": "Hard-headed? No, you're just well protected. Nagtataás ng Pangangatawán ng <%= con %>. Mahiwagang Kabán: Iron Archer Set (Iká-1 ng 3).", @@ -1540,9 +1540,9 @@ "backMystery201805Text": "Phenomenal Peacock Tail", "backMystery201805Notes": "This gorgeous feathery tail is perfect for a strut down a lovely garden path! Waláng pakinabang. May 2018 Subscriber Item.", "backSpecialWonderconRedText": "Mighty Cape", - "backSpecialWonderconRedNotes": "Swishes with strength and beauty. Waláng pakinabang. Special Edition Convention Item.", + "backSpecialWonderconRedNotes": "Swishes with strength and beauty. Waláng pakinabang. Natatanging Tampók na Limbág na Kagamitán sa Isáng Kapulungan.", "backSpecialWonderconBlackText": "Sneaky Cape", - "backSpecialWonderconBlackNotes": "Spun of shadows and whispers. Waláng pakinabang. Special Edition Convention Item.", + "backSpecialWonderconBlackNotes": "Spun of shadows and whispers. Waláng pakinabang. Natatanging Tampók na Limbág na Kagamitán sa Isáng Kapulungan.", "backSpecialTakeThisText": "Take This Wings", "backSpecialTakeThisNotes": "These wings were earned by participating in a sponsored Challenge made by Take This. Congratulations! Nagtataás ng Lahát ng mga Katangian ng <%= attrs %>.", "backSpecialSnowdriftVeilText": "Snowdrift Veil", @@ -1574,11 +1574,11 @@ "bodyBase0Text": "No Body Accessory", "bodyBase0Notes": "No Body Accessory.", "bodySpecialWonderconRedText": "Ruby Collar", - "bodySpecialWonderconRedNotes": "An attractive ruby collar! Waláng pakinabang. Special Edition Convention Item.", + "bodySpecialWonderconRedNotes": "An attractive ruby collar! Waláng pakinabang. Natatanging Tampók na Limbág na Kagamitán sa Isáng Kapulungan.", "bodySpecialWonderconGoldText": "Gintóng Tubong", - "bodySpecialWonderconGoldNotes": "An attractive gold collar! Waláng pakinabang. Special Edition Convention Item.", + "bodySpecialWonderconGoldNotes": "An attractive gold collar! Waláng pakinabang. Natatanging Tampók na Limbág na Kagamitán sa Isáng Kapulungan.", "bodySpecialWonderconBlackText": "Ebony Collar", - "bodySpecialWonderconBlackNotes": "An attractive ebony collar! Waláng pakinabang. Special Edition Convention Item.", + "bodySpecialWonderconBlackNotes": "An attractive ebony collar! Waláng pakinabang. Natatanging Tampók na Limbág na Kagamitán sa Isáng Kapulungan.", "bodySpecialTakeThisText": "Take This Pauldrons", "bodySpecialTakeThisNotes": "These pauldrons were earned by participating in a sponsored Challenge made by Take This. Congratulations! Nagtataás ng Lahát ng mga Katangian ng <%= attrs %>.", "bodySpecialAetherAmuletText": "Aether Amulet", @@ -1595,7 +1595,7 @@ "bodySpecialSummer2015MageNotes": "This buckle adds no power at all, but it's shiny. Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2015.", "bodySpecialSummer2015HealerText": "Sailor's Neckerchief", "bodySpecialSummer2015HealerNotes": "Yo ho ho? No, no, no! Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2015.", - "bodySpecialNamingDay2018Text": "Royal Purple Gryphon Cloak", + "bodySpecialNamingDay2018Text": "Kulay Maharlikáng Ube na Gryphon Cloak", "bodySpecialNamingDay2018Notes": "Happy Naming Day! Wear this fancy and feathery cloak as you celebrate Habitica. Waláng pakinabang.", "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! Waláng pakinabang. May 2017 Subscriber Item.", @@ -1695,34 +1695,34 @@ "headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Nagtataás ng Lakás ng <%= str %>. Mahiwagang Kabán: Bukód na Kagamitán.", "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding", "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Nagtataás ng Pandamá ng <%= per %>. Mahiwagang Kabán: Bookbinder Set (Iká-1 ng 4).", - "eyewear": "Eyewear", + "eyewear": "Suót sa Matá", "eyewearCapitalized": "Eyewear", - "eyewearBase0Text": "No Eyewear", - "eyewearBase0Notes": "No Eyewear.", - "eyewearSpecialBlackTopFrameText": "Black Standard Eyeglasses", - "eyewearSpecialBlackTopFrameNotes": "Glasses with a black frame above the lenses. Waláng pakinabang.", - "eyewearSpecialBlueTopFrameText": "Blue Standard Eyeglasses", - "eyewearSpecialBlueTopFrameNotes": "Glasses with a blue frame above the lenses. Waláng pakinabang.", - "eyewearSpecialGreenTopFrameText": "Green Standard Eyeglasses", - "eyewearSpecialGreenTopFrameNotes": "Glasses with a green frame above the lenses. Waláng pakinabang.", - "eyewearSpecialPinkTopFrameText": "Pink Standard Eyeglasses", - "eyewearSpecialPinkTopFrameNotes": "Glasses with a pink frame above the lenses. Waláng pakinabang.", - "eyewearSpecialRedTopFrameText": "Red Standard Eyeglasses", - "eyewearSpecialRedTopFrameNotes": "Glasses with a red frame above the lenses. Waláng pakinabang.", - "eyewearSpecialWhiteTopFrameText": "White Standard Eyeglasses", - "eyewearSpecialWhiteTopFrameNotes": "Glasses with a white frame above the lenses. Waláng pakinabang.", - "eyewearSpecialYellowTopFrameText": "Yellow Standard Eyeglasses", - "eyewearSpecialYellowTopFrameNotes": "Glasses with a yellow frame above the lenses. Waláng pakinabang.", - "eyewearSpecialAetherMaskText": "Aether Mask", - "eyewearSpecialAetherMaskNotes": "This mask has a mysterious history. Nagtataás ng Katalinuhan ng <%= int %>.", - "eyewearSpecialSummerRogueText": "Roguish Eyepatch", - "eyewearSpecialSummerRogueNotes": "It doesn't take a scallywag to see how stylish this is! Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2014.", - "eyewearSpecialSummerWarriorText": "Dashing Eyepatch", - "eyewearSpecialSummerWarriorNotes": "It doesn't take a rapscallion to see how stylish this is! Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2014.", - "eyewearSpecialWonderconRedText": "Mighty Mask", - "eyewearSpecialWonderconRedNotes": "What a powerful face accessory! Waláng pakinabang. Special Edition Convention Item.", - "eyewearSpecialWonderconBlackText": "Sneaky Mask", - "eyewearSpecialWonderconBlackNotes": "Your motives are definitely legitimate. Waláng pakinabang. Special Edition Convention Item.", + "eyewearBase0Text": "Waláng Suót sa Matá", + "eyewearBase0Notes": "Waláng Suót sa Matá.", + "eyewearSpecialBlackTopFrameText": "Pamantayang Salamín sa Matá na Kulay Itím", + "eyewearSpecialBlackTopFrameNotes": "Salamín na may balangkás na kulay itím sa itaás ng mga lente. Waláng pakinabang.", + "eyewearSpecialBlueTopFrameText": "Pamantayang Salamín sa Matá na Kulay Bugháw", + "eyewearSpecialBlueTopFrameNotes": "Salamín na may balangkás na kulay bugháw sa itaás ng mga lente. Waláng pakinabang.", + "eyewearSpecialGreenTopFrameText": "Pamantayang Salamín sa Matá na Kulay Luntian", + "eyewearSpecialGreenTopFrameNotes": "Salamín na may balangkás na kulay luntian sa itaás ng mga lente. Waláng pakinabang.", + "eyewearSpecialPinkTopFrameText": "Pamantayang Salamín sa Matá na Kulay Kalimbahín", + "eyewearSpecialPinkTopFrameNotes": "Salamín na may balangkás na kulay kalimbahín sa itaás ng mga lente. Waláng pakinabang.", + "eyewearSpecialRedTopFrameText": "Pamantayang Salamín sa Matá na Kulay Pulá", + "eyewearSpecialRedTopFrameNotes": "Salamín na may balangkás na kulay pulá sa itaás ng mga lente. Waláng pakinabang.", + "eyewearSpecialWhiteTopFrameText": "Pamantayang Salamín sa Matá na Kulay Putî", + "eyewearSpecialWhiteTopFrameNotes": "Salamín na may balangkás na kulay putî sa itaás ng mga lente. Waláng pakinabang.", + "eyewearSpecialYellowTopFrameText": "Pamantayang Salamín sa Matá na Kulay Diláw", + "eyewearSpecialYellowTopFrameNotes": "Salamín na may balangkás na kulay diláw sa itaás ng mga lente. Waláng pakinabang.", + "eyewearSpecialAetherMaskText": "Panakíp Mukhâ ng Aether", + "eyewearSpecialAetherMaskNotes": "Ang panakíp mukhâ na ito ay may kasaysayang kataká-taká. Nagtataás ng Katalinuhan ng <%= int %>.", + "eyewearSpecialSummerRogueText": "Haragang Tapal sa Matá", + "eyewearSpecialSummerRogueNotes": "Hindí kinakailangáng magíng isáng balasubas upang makitang napakauso nitó! Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2014.", + "eyewearSpecialSummerWarriorText": "Magarang Tapal sa Mata", + "eyewearSpecialSummerWarriorNotes": "Hindí kinakailangáng magíng isáng walang hiyâ upang makitang napakauso nitó! Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2014.", + "eyewearSpecialWonderconRedText": "Panakíp Mukhâ na Matibay", + "eyewearSpecialWonderconRedNotes": "Napakalakás ng abubot na itó sa mukhá! Waláng pakinabang. Natatanging Tampók na Limbág na Kagamitán sa Isáng Kapulungan.", + "eyewearSpecialWonderconBlackText": "Panakíp Mukhâ na Mapanlinláng", + "eyewearSpecialWonderconBlackNotes": "Ang mga kadáhilanan mo ay tiyák na alínsunod sa batás. Waláng pakinabang. Natatanging Tampók na Limbág na Kagamitán sa Isáng Kapulungan.", "eyewearMystery201503Text": "Aquamarine Eyewear", "eyewearMystery201503Notes": "Don't get poked in the eye by these shimmering gems! Waláng pakinabang. March 2015 Subscriber Item.", "eyewearMystery201506Text": "Neon Snorkel", @@ -1735,9 +1735,9 @@ "eyewearMystery301404Notes": "No eyewear could be fancier than a pair of goggles - except, perhaps, for a monocle. Waláng pakinabang. April 3015 Subscriber Item.", "eyewearMystery301405Text": "Monocle", "eyewearMystery301405Notes": "No eyewear could be fancier than a monocle - except, perhaps, for a pair of goggles. Waláng pakinabang. July 3015 Subscriber Item.", - "eyewearMystery301703Text": "Peacock Masquerade Mask", + "eyewearMystery301703Text": "Panakíp Mukhâ ng Peacock Masquerade", "eyewearMystery301703Notes": "Perfect for a fancy masquerade or for stealthily moving through a particularly well-dressed crowd. Waláng pakinabang. March 3017 Subscriber Item.", - "eyewearArmoirePlagueDoctorMaskText": "Plague Doctor Mask", + "eyewearArmoirePlagueDoctorMaskText": "Panakíp Mukhâ ng Plague Doctor", "eyewearArmoirePlagueDoctorMaskNotes": "An authentic mask worn by the doctors who battle the Plague of Procrastination. Nagtataás ng Pangangatawán at Katalinuhan ng <%= attrs %> bawat isá. Mahiwagang Kabán: Plague Doctor Set (Iká-2 ng 3).", "eyewearArmoireGoofyGlassesText": "Goofy Glasses", "eyewearArmoireGoofyGlassesNotes": "Perfect for going incognito or just making your partymates giggle. Nagtataás ng Pandamá ng <%= per %>. Mahiwagang Kabán: Bukód na Kagamitán.", @@ -1893,7 +1893,7 @@ "armorSpecialSpring2022HealerNotes": "Drive away fears and nightmares simply by wearing this green gem garment. Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2022.", "headSpecialWinter2020RogueNotes": "A Rogue walks down the street in that hat, people know they're not afraid of anything. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2019-2020.", "headSpecialFall2020WarriorNotes": "The Warrior who once wore this never flinched from the weightiest tasks! But others may flinch from you when you wear it... Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2020.", - "headSpecialWinter2021RogueNotes": "A rogue can go unseen in the woods with a mask like this. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2020-2021.", + "headSpecialWinter2021RogueNotes": "Maaaring hindi matiktikán ang isang haragán na nasá kakahuyán kung siyá ay may suót panakíp mukhâ kagaya nitó. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2020-2021.", "headSpecialWinter2021MageNotes": "Let your mind get carried away, while you feel safely tucked in, under this huge homely hood. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2020-2021.", "headSpecialSpring2021WarriorNotes": "Don't fear! The sunstone in this helm will help you bring to light those deepest, darkest red to-dos. Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2021.", "headSpecialSpring2021HealerNotes": "Weep not, friends! A Healer is here to soothe your suffering! Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2021.", @@ -1901,13 +1901,13 @@ "headSpecialFall2021MageNotes": "The tentacles surrounding the mouth grab prey and hold its delicious thoughts close for you to savor. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2021.", "headSpecialSpring2022WarriorNotes": "Tut tut, it looks like rain! Stand tall and pull up your hood to stay dry. Nagtataás ng Lakás ng <%= str %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2022.", "headSpecialSpring2022HealerNotes": "This mysterious helmet preserves your privacy as you tackle your tasks. Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2022.", - "headSpecialFall2020RogueNotes": "Look twice, act once: this mask makes it easy. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2020.", + "headSpecialFall2020RogueNotes": "Tumingín ng dalawáng ulit; kumilos ng isá: pinápadalî ng panakíp mukhâ itó. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2020.", "headSpecialWinter2021HealerNotes": "A surprising amount of heat escapes through the head! Not if you're wearing this thick hood and goggles, though. There'll be no icicles on YOUR eyelashes! Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2020-2021.", "headSpecialSummer2021MageNotes": "The pinhole eyes set upon this speckled cap may not improve your underwater vision all that much, but they sure can unnerve your opponents. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2021.", "headSpecialFall2021RogueNotes": "Welp, you're stuck. Now you are doomed to roam dungeon corridors, collecting debris. DOOOOMED! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2021.", - "headSpecialSpring2022RogueNotes": "Be as clever as a magpie when wearing this mask. Maybe you’ll even be able to whistle, trill, and mimic as well as one, too. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2022.", + "headSpecialSpring2022RogueNotes": "Magíng kasíngtalino ang isáng uwák tuwíng suót mo ang panakíp mukhâ na itó. Marahil ay magagawà mo ring sumipol, magppabilís na pangínginíg ng dila, at gumaya tulad ng isá. Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2022.", "headSpecialSummer2021RogueNotes": "It's bold, bright, and funny. Just like you! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2021.", - "headSpecialFall2021HealerNotes": "Your own magic turns your hair into shocking, bright flames when you don this mask. Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2021.", + "headSpecialFall2021HealerNotes": "Ginágawáng nakasísindák na apóy na ubod ng liwanag ng iyóng sariling kapángyarihan ang iyóng buhók sa tuwíng suót mo ang panakíp mukhâ na itó. Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2021.", "headSpecialWinter2022HealerNotes": "Minute imperfections and impurities send the arms of this headdress branching out in unpredictable directions. It's symbolic! And also very, very pretty. Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2021-2022.", "headSpecialFall2020HealerNotes": "The dreadful pallor of this skull-like visage shines as a warning to all mortals: Time is fleeting! Attend to thy deadlines, before it is too late! Nagtataás ng Katalinuhan ng <%= int %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2020.", "headSpecialWinter2022RogueNotes": "What? Huh? There's a Rogue where? I'm sorry, I can't hear anything over these fireworks! Nagtataás ng Pandamá ng <%= per %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2021-2022.", @@ -1940,9 +1940,9 @@ "shieldSpecialSpring2020HealerNotes": "Ward off those musty old To Do's with this sweet-smelling shield. Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2020.", "shieldSpecialWinter2021WarriorNotes": "Tell all your friends about the REALLY big fish you've caught! But whether you tell them he's made of plastic and sings songs is up to you. Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Taglamíg ng 2020-2021.", "shieldSpecialSpring2021HealerNotes": "A leafy green bundle that heralds shelter and compassion. Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2021.", - "eyewearSpecialFall2019HealerNotes": "Steel yourself against the toughest foes with this inscrutable mask. Waláng pakinabang.Biláng na Limbág na Kasangkapan ng Taglagás ng 2019.", + "eyewearSpecialFall2019HealerNotes": "Pagtibayin mo ang iyóng sarilì laban sa mga pinakámahíhigpít na kalaban gamit ang hindi mawaring panakíp mukhâ na itó. Waláng pakinabang.Biláng na Limbág na Kasangkapan ng Taglagás ng 2019.", "shieldSpecialFall2021WarriorNotes": "This festive shield with its crooked smile will both protect you and light your way on a dark night. It nicely doubles for a head, should you need one! Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Taglagás ng 2021.", - "eyewearSpecialFall2019RogueNotes": "You'd think a full mask would protect your identity better, but people tend to be too awestruck by its stark design to take note of any identifying features left revealed. Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Taglagás ng 2019.", + "eyewearSpecialFall2019RogueNotes": "Áakalain mong higít pang makápagpapatagò ng pagkakakilanlan mo ang isang buong panakíp mukhâ, ngunit kadalasang nabíbighani ang mga tao sa matindíng pagkákabuó nito upang makápansin ng anumang tampok na pagkakakilanlan na naiwan. Waláng pakinabang. Biláng na Limbág na Kasangkapan ng Taglagás ng 2019.", "shieldSpecialSummer2021WarriorNotes": "This enchanted water droplet soaks up magic and resists the blows of the reddest Dailies. Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2021.", "shieldSpecialSpring2022WarriorNotes": "Ever had one of those days when it seems like a raincloud is following you around? Well, consider yourself lucky, because the prettiest flowers will soon be growing at your feet! Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Tagsiból ng 2022.", "shieldSpecialSummer2021HealerNotes": "So much potential in this shield! But for now you can use it to protect your friends. Nagtataás ng Pangangatawán ng <%= con %>. Biláng na Limbág na Kasangkapan ng Tag-aráw ng 2021.", @@ -2112,7 +2112,7 @@ "bodyMystery202002Notes": "For when your heart is warm but the breezes of February are brisk. Waláng pakinabang. February 2020 Subscriber Item.", "bodyMystery202003Notes": "They're like shoulder pads that are on a whole other level. Waláng pakinabang. March 2020 Subscriber Item.", "headAccessoryMystery202009Notes": "These feathery appendages will help you find your way even in the dark of night. Waláng pakinabang. September 2020 Subscriber Item.", - "eyewearSpecialBlackHalfMoonNotes": "Glasses with a black frame and crescent lenses. Waláng pakinabang.", + "eyewearSpecialBlackHalfMoonNotes": "Salamín na may balangkás na kulay itím at gasukláy na lente. Waláng pakinabang.", "eyewearMystery201902Notes": "This mysterious mask hides your identity but not your winning smile. Waláng pakinabang. February 2019 Subscriber Item.", "eyewearMystery202204BNotes": "What's your mood today? Express yourself with these fun screens. Waláng pakinabang. April 2022 Subscriber Item.", "headMystery201903Notes": "Some may call you an egghead, but that's OK because you know how to take a yolk. Waláng pakinabang. March 2019 Subscriber Item.", @@ -2124,7 +2124,7 @@ "backMystery202012Notes": "The snowy feathers of these wings will grant you the speed of a wintry gale. Waláng pakinabang. December 2020 Subscriber Item.", "backSpecialNamingDay2020Notes": "Happy Naming Day! Swish this fiery, pixely tail about as you celebrate Habitica. Waláng pakinabang.", "headAccessoryMystery201906Notes": "Legend has it these finny ears help merfolk hear the calls and songs of all the denizens of the deep! Waláng pakinabang. June 2019 Subscriber Item.", - "eyewearSpecialYellowHalfMoonNotes": "Glasses with a yellow frame and crescent lenses. Waláng pakinabang.", + "eyewearSpecialYellowHalfMoonNotes": "Salamín na may balangkás na kulay diláw at gasukláy na lente. Waláng pakinabang.", "weaponSpecialSummer2020RogueText": "Talim na Pangil", "weaponMystery202002Notes": "An accessory that lends you an air of mystery and romance. Sun protection is a bonus! Waláng pakinabang. February 2020 Subscriber Item.", "headMystery201912Notes": "This glittering snowflake grants you resistance to the biting cold no matter how high you fly! Waláng pakinabang. December 2019 Subscriber Item.", @@ -2166,10 +2166,10 @@ "headMystery202001Notes": "Your hearing will be so sharp, you'll hear the stars twinkling and the moon spinning. Waláng pakinabang. January 2020 Subscriber Item.", "weaponSpecialSpring2020RogueText": "Talim na Yarì sa Lapis Lazuli", "armorMystery201904Notes": "This shining garment has opals sewn into the front panel to grant you arcane powers and a fabulous look. Waláng pakinabang. April 2019 Subscriber Item.", - "eyewearSpecialPinkHalfMoonNotes": "Glasses with a pink frame and crescent lenses. Waláng pakinabang.", + "eyewearSpecialPinkHalfMoonNotes": "Salamín na may balangkás na kulay kalimbahín at gasukláy na lente. Waláng pakinabang.", "armorMystery201909Notes": "Your tough exterior is protective, but it's still best to keep an eye out for squirrels... Waláng pakinabang. September 2019 Subscriber Item.", "shieldMystery201902Notes": "This glittery paper forms magic hearts that slowly drift and dance in the air. Waláng pakinabang. February 2019 Subscriber Item.", - "eyewearSpecialBlueHalfMoonNotes": "Glasses with a blue frame and crescent lenses. Waláng pakinabang.", + "eyewearSpecialBlueHalfMoonNotes": "Salamín na may balangkás na kulay bugháw at gasukláy na lente. Waláng pakinabang.", "headMystery202108Notes": "You're looking super fresh, just sayin'. Waláng pakinabang. August 2021 Subscriber Item.", "armorMystery201906Notes": "We will spare you a pun about “playing koi.” Oh wait, oops. Waláng pakinabang. June 2019 Subscriber Item.", "armorSpecialBirthday2022Notes": "Happy Birthday, Habitica! Wear these Proposterous Party Robes to celebrate this wonderful day. Waláng pakinabang.", @@ -2178,10 +2178,10 @@ "headAccessoryMystery202005Notes": "With such mighty horns, what creature dares challenge you? Waláng pakinabang. May 2020 Subscriber Item.", "eyewearMystery202201Notes": "Ring in the new year with an air of mystery in this stylish feathered mask. Waláng pakinabang. January 2022 Subscriber Item.", "eyewearMystery202208Notes": "Lull your enemies into a false sense of security with these terrifyingly cute peepers. Waláng pakinabang. August 2022 Subscriber Item.", - "eyewearSpecialRedHalfMoonNotes": "Glasses with a red frame and crescent lenses. Waláng pakinabang.", + "eyewearSpecialRedHalfMoonNotes": "Salamín na may balangkás na kulay pulá at gasukláy na lente. Waláng pakinabang.", "headMystery202202Notes": "You gotta have blue hair! Waláng pakinabang. February 2022 Subscriber Item.", - "eyewearSpecialGreenHalfMoonNotes": "Glasses with a green frame and crescent lenses. Waláng pakinabang.", - "eyewearSpecialWhiteHalfMoonNotes": "Glasses with a white frame and crescent lenses. Waláng pakinabang.", + "eyewearSpecialGreenHalfMoonNotes": "Salamín na may balangkás na kulay luntian at gasukláy na lente. Waláng pakinabang.", + "eyewearSpecialWhiteHalfMoonNotes": "Salamín na may balangkás na kulay putî at gasukláy na lente. Waláng pakinabang.", "eyewearSpecialKS2019Notes": "Bold as a gryphon's... hmm, gryphons don't have visors. It reminds you to... oh, who are we kidding, it just looks cool! Waláng pakinabang.", "eyewearMystery201907Notes": "Look awesome while protecting your eyes from harmful UV rays! Waláng pakinabang. July 2019 Subscriber Item.", "armorMystery202207Notes": "This armor will have you looking glamorous and gelatinous. Waláng pakinabang. July 2022 Subscriber Item.", @@ -2227,5 +2227,39 @@ "weaponArmoirePotionGoldenText": "Panggayák Gintó na Mahiwagang Langís", "shieldArmoireTreasureMapNotes": "X marks the spot! You never know what you’ll find when you follow this handy map to fabled treasures: gold, jewels, relics, or perhaps a petrified orange? Increases Strength and Intelligence by <%= attrs %> each. Mahiwagang Kabán: Fancy Pirate Set (Iká-3 ng 3).", "weaponArmoirePushBroomNotes": "Take this tidying tool on your adventures and always be able to sweep a sooty stoop or clear cobwebs from corners. Increases Strength and Intelligence by <%= attrs %> each. Mahiwagang Kabán: Cleaning Supplies Set (Iká-1 ng 3)", - "weaponArmoireFeatherDusterNotes": "Let these fancy feathers fly over all your old objects to make them shine like new. Just beware of the disturbed dust so you don’t sneeze! Increases Constitution and Perception by <%= attrs %> each. Mahiwagang Kabán: Cleaning Supplies Set (Iká-2 ng 3)" + "weaponArmoireFeatherDusterNotes": "Let these fancy feathers fly over all your old objects to make them shine like new. Just beware of the disturbed dust so you don’t sneeze! Increases Constitution and Perception by <%= attrs %> each. Mahiwagang Kabán: Cleaning Supplies Set (Iká-2 ng 3)", + "eyewearSpecialRedHalfMoonText": "Salamín sa Matá na Hugis Kalahating Buwán at Kulay Pulá", + "eyewearSpecialWhiteHalfMoonText": "Salamín sa Matá na Hugis Kalahating Buwán at Kulay Putî", + "eyewearSpecialAnniversaryText": "Panakíp Mukhâ ng Bayani sa Habitica", + "eyewearSpecialAnniversaryNotes": "Magmasíd na parang isáng Bayani ng Habitica—ikáw! Waláng pakinabang. Natatanging Tampók na Limbág na Kasangkapan ng Iká-10ng Pagdiriwang ng Kaárawán.", + "eyewearSpecialPinkHalfMoonText": "Salamín sa Matá na Hugis Kalahating Buwán at Kulay Kalimbahín", + "eyewearSpecialBlackHalfMoonText": "Salamín sa Matá na Hugis Kalahating Buwán at Kulay Itím", + "eyewearSpecialBlueHalfMoonText": "Salamín sa Matá na Hugis Kalahating Buwán at Kulay Bugháw", + "eyewearSpecialYellowHalfMoonText": "Salamín sa Matá na Hugis Kalahating Buwán at Kulay Diláw", + "eyewearSpecialGreenHalfMoonText": "Salamín sa Matá na Hugis Kalahating Buwán at Kulay Luntian", + "backSpecialAnniversaryNotes": "Hayaang paliparín sa hangin ang mapagtaás-noóng balabal na itó at ipágmalakí sa lahát na isá kang Bayani ng Habitica. Waláng pakinabang. Natatanging Tampók na Limbág na Kasangkapan ng Iká-10ng Pagdiriwang ng Kaárawán.", + "bodySpecialAnniversaryNotes": "Ganapang hiyangán ang iyóng nagkákaakmá-akmáng kasuotan na kulay maharlikáng ube gamit itó! Waláng pakinabang. Natatanging Tampók na Limbág na Kasangkapan ng Iká-10ng Pagdiriwang ng Kaárawán.", + "backSpecialNamingDay2020Text": "Kulay Maharlikáng Ube na Gryphon Tail", + "eyewearSpecialFall2019RogueText": "Panakíp Mukhâ na Kulay Putíng Buto", + "eyewearMystery202201Text": "Panakíp Mukhâ ng Midnight Merrymaker", + "eyewearArmoireComedyMaskNotes": "", + "headSpecialFall2022MageText": "Harpy na Panakíp sa Mukhâ", + "headSpecialFall2021HealerText": "Panakíp Mukhâ ng Isáng Tagatawag ng mga Kaluluwà", + "headSpecialSpring2022RogueText": "Panakíp Mukhâ ng Magpie", + "headSpecialFall2019MageText": "Panakíp Mukhâ na Hugis Bungisngís", + "headSpecialFall2020RogueText": "Panakíp sa Mukhâ na Hugis Dalawáng Mukhâ", + "headSpecialFall2022WarriorText": "Panakíp Mukhâ ng Orc", + "headSpecialFall2022MageNotes": "Entrance and lure others close with this magical maiden mask. Increases Perception by <%= per %>. Limited Edition 2022 Fall Gear.", + "headSpecialFall2022HealerText": "Panakíp Mukhâ ng Naninilip", + "headSpecialFall2020HealerText": "Panakíp sa Mukhâ na Hugis Ulo ni Kamatayan", + "headSpecialSummer2021HealerText": "Panakíp Mukhâ na Hugis Kulasisi", + "eyewearMystery201902Text": "Panakíp Mukhâ ng Cryptic Crush", + "eyewearArmoireTragedyMaskNotes": "", + "eyewearArmoireTragedyMaskText": "Panakíp Mukhâ ng Tragedy", + "eyewearSpecialFall2019HealerText": "Itím na Pagmumukhà", + "headSpecialFall2021MageText": "Panakíp sa Mukhâ na Hugis ng Kumakain ng Utak", + "headSpecialWinter2021RogueText": "Panakíp Mukhâ na Hugis Hagnayà", + "headSpecialFall2022RogueText": "Panakíp Mukhâ na Hugis Siyokoy", + "headMystery202012Text": "Panakíp Mukhâ ng Frostfire", + "eyewearArmoireComedyMaskText": "Panakíp Mukhâ ng Comedy" } diff --git a/website/common/locales/fil/groups.json b/website/common/locales/fil/groups.json index 149ac6088f..09ad0a4ae6 100755 --- a/website/common/locales/fil/groups.json +++ b/website/common/locales/fil/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/fil/inventory.json b/website/common/locales/fil/inventory.json index 95e0b35667..d5d627930f 100755 --- a/website/common/locales/fil/inventory.json +++ b/website/common/locales/fil/inventory.json @@ -3,7 +3,7 @@ "foodItemType": "Pagkaing Pang-alagà", "eggsItemType": "Mga Itlóg", "hatchingPotionsItemType": "Mga Mahiwagang Langís na Pampápapisâ", - "specialItemType": "Mga Natatanging kagamitán", + "specialItemType": "Mga natatanging kagamitán", "lockedItem": "Nakakandadong Gamit", "allItems": "Lahát ng Kagamitán", "petAndMount": "Alagà at Lulaníng Alagà" diff --git a/website/common/locales/fil/limited.json b/website/common/locales/fil/limited.json index 4f4fcbf95a..75dcb007ed 100755 --- a/website/common/locales/fil/limited.json +++ b/website/common/locales/fil/limited.json @@ -179,7 +179,7 @@ "spring2019RobinHealerSet": "Robin (Manggagamot)", "spring2019AmberMageSet": "Amber (Salamangkero)", "spring2019OrchidWarriorSet": "Orchid (Mandirigma)", - "royalPurpleJackolantern": "Royal Purple Jack-O-Lantern", + "royalPurpleJackolantern": "Kulay Maharlikang Ube na Jack-O-Lantern", "noLongerAvailable": "Hindi na bukas ang gamit na ito.", "g1g1Limitations": "Ito ay isang limited time event na magsisimula sa ika-17 ng Disyembre 8:00 AM ET (13:00 UTC) at magtatapos sa ika-7 ng Enero 8:00 PM ET (1:00 UTC). Ang promosyong ito ay magagamit lamang tuwing nireregaluhan ang kapwang Habitican. Kung ikaw at ang iyong nais pagbigyan ay mayroon nang subscription, ang niregalong subscription ay magiging karagdagang buwan ng credit na magagamit lamang pagkatapos makansela o mag-expire ang kasalukuyang subscription.", "limitations": "Mga Limitasyon", diff --git a/website/common/locales/fil/loginincentives.json b/website/common/locales/fil/loginincentives.json index 5fcb019d1b..d1b562965c 100755 --- a/website/common/locales/fil/loginincentives.json +++ b/website/common/locales/fil/loginincentives.json @@ -15,8 +15,8 @@ "oneOfAllHatchingPotions": "tig-íisá ng bawat pangkaraniwang Mahiwagang Langís na Pampápapisâ", "threeOfEachFood": "tigtátatló ng bawat pángkaraniwang Pagkaing Pang-alagà", "fourOfEachFood": "tíg-aapat ng bawat pángkaraniwang Pagkaing Pang-alagà", - "twoSaddles": "two Saddles", - "threeSaddles": "three Saddles", + "twoSaddles": "dalawáng Upuán", + "threeSaddles": "tatlóng Upuán", "incentiveAchievement": "ang Kakaibang Kalakihan sa Katapatan na tagumpáy", "royallyLoyal": "Kakaibang Kalakihan sa Katapatan", "royallyLoyalText": "Limandaáng ulit ng nakapuntá ang tagagamit na itó dito, at napagkaloobán na ng bawat Gantimpalà ng maaaring matanggáp ukol sa dalás ng pagpuntá rito!", diff --git a/website/common/locales/fil/messages.json b/website/common/locales/fil/messages.json index 2dced88156..74298307e5 100755 --- a/website/common/locales/fil/messages.json +++ b/website/common/locales/fil/messages.json @@ -20,7 +20,7 @@ "messageTwoHandedEquip": "Wielding <%= twoHandedText %> takes two hands, so <%= offHandedText %> has been unequipped.", "messageTwoHandedUnequip": "Wielding <%= twoHandedText %> takes two hands, so it was unequipped when you armed yourself with <%= offHandedText %>.", "messageDropFood": "You've found <%= dropText %>!", - "messageDropEgg": "You've found a <%= dropText %> Egg!", + "messageDropEgg": "Nakahanap ka ng Itlóg ng <%= dropText %>!", "messageDropPotion": "You've found a <%= dropText %> Hatching Potion!", "messageDropMysteryItem": "You open the box and find <%= dropText %>!", "messageAlreadyOwnGear": "You already own this item. Equip it by going to the equipment page.", diff --git a/website/common/locales/fil/pets.json b/website/common/locales/fil/pets.json index 618e2025b9..4526d8de6c 100644 --- a/website/common/locales/fil/pets.json +++ b/website/common/locales/fil/pets.json @@ -24,12 +24,12 @@ "potion": "<%= potionType %> Potion", "gryphatrice": "Gryphatrice", "invisibleAether": "Invisible Aether", - "royalPurpleJackalope": "Royal Purple Jackalope", + "royalPurpleJackalope": "Kulay Maharlikáng Ube na Jackalope", "hopefulHippogriffMount": "Umaasang Hippogriff", "hopefulHippogriffPet": "Umaasang Hippogriff", "magicalBee": "Mahiwagang Bubuyog", "phoenix": "Fenix", - "royalPurpleGryphon": "Kulay Ube na Maharlikáng Leóng Lawin", + "royalPurpleGryphon": "Kulay Maharlikáng Ube na Leóng Lawin", "orca": "Orca", "mammoth": "Mabalahibong Mammoth", "mantisShrimp": "Tatampál", diff --git a/website/common/locales/fil/quests.json b/website/common/locales/fil/quests.json index 6d54cdfb7c..b3a109ce1c 100755 --- a/website/common/locales/fil/quests.json +++ b/website/common/locales/fil/quests.json @@ -85,5 +85,5 @@ "chatItemQuestFinish": "Nahanap ang lahat ng gamit! Natanggap ng partido ang kanilang gantimpala.", "chatFindItems": "Nakahanap si <%= username %> ng <%= items %>.", "chatBossDefeated": "Natalo mo ang <%= bossName %>! Natanggap ng mga miyembro ng mga kapartidong kasama sa quest ang mga gantimpala ng tagumpay.", - "bossDamage": "Nabawasan mo ng buhay ang boss!" + "bossDamage": "Napinsalà mo ang pinunò!" } diff --git a/website/common/locales/fil/questscontent.json b/website/common/locales/fil/questscontent.json index 66b3c6197d..fe5eca4cd0 100755 --- a/website/common/locales/fil/questscontent.json +++ b/website/common/locales/fil/questscontent.json @@ -528,7 +528,7 @@ "questLostMasterclasser2Notes": "The Joyful Reaper drums her bony fingers on some of the books that you brought. “Oh, dear,” the Master of Healers says. “There is a malevolent life essence at work. I might have guessed, considering the attacks by reanimated skulls during each incident.” Her assistant @tricksy.fox brings in a chest, and you are startled to see the contents that @beffymaroo unloads: the very same objects once used by this mysterious Tzina to possess people.

“I’m going to use resonant healing magic to try to make this creature manifest,” the Joyful Reaper says, reminding you that the skeleton is a somewhat unconventional Healer. “You’ll need to read the revealed information quickly, in case it breaks loose.”

As she concentrates, a twisting mist begins to siphon from the books and twine around the objects. Quickly, you flip through the pages, trying to read the new lines of text that are writhing into view. You catch only a few snippets: “Sands of the Timewastes” — “the Great Disaster” —“split into four”— “permanently corrupted”— before a single name catches your eye: Zinnya.

Abruptly, the pages wrench free from your fingers and shred themselves as a howling creature explodes into being, coalescing around the possessed objects.

“It’s an a’Voidant!” the Joyful Reaper shouts, throwing up a protection spell. “They’re ancient creatures of confusion and obscurity. If this Tzina can control one, she must have a frightening command over life magic. Quickly, attack it before it escapes back into the books!”

", "questLostMasterclasser2Completion": "The a’Voidant succumbs at last, and you share the snippets that you read.

“None of those references sound familiar, even for someone as old as I,” the Joyful Reaper says. “Except… the Timewastes are a distant desert at the most hostile edge of Habitica. Portals often fail nearby, but swift mounts could get you there in no time. Lady Glaciate will be glad to assist.” Her voice grows amused. “Which means that the enamored Master of Rogues will undoubtedly tag along.” She hands you the glimmering mask. “Perhaps you should try to track the lingering magic in these items to its source. I’ll go harvest some sustenance for your journey.”", "questLostMasterclasser2Boss": "The a'Voidant", - "questLostMasterclasser2DropEyewear": "Aether Mask (Eyewear)", + "questLostMasterclasser2DropEyewear": "Aether Panakíp Mukhâ (Suót sa Matá)", "questLostMasterclasser3Text": "The Mystery of the Masterclassers, Part 3: City in the Sands", "questLostMasterclasser3Notes": "As night unfurls over the scorching sands of the Timewastes, your guides @AnnDeLune, @Kiwibot, and @Katy133 lead you forward. Some bleached pillars poke from the shadowed dunes, and as you approach them, a strange skittering sound echoes across the seemingly-abandoned expanse.

“Invisible creatures!” says the April Fool, clearly covetous. “Oho! Just imagine the possibilities. This must be the work of a truly stealthy Rogue.”

“A Rogue who could be watching us,” says Lady Glaciate, dismounting and raising her spear. “If there’s a head-on attack, try not to irritate our opponent. I don’t want a repeat of the volcano incident.”

He beams at her. “But it was one of your most resplendent rescues.”

To your surprise, Lady Glaciate turns very pink at the compliment. She hastily stomps away to examine the ruins.

“Looks like the wreck of an ancient city,” says @AnnDeLune. “I wonder what…”

Before she can finish her sentence, a portal roars open in the sky. Wasn’t that magic supposed to be nearly impossible here? The hoofbeats of the invisible animals thunder as they flee in panic, and you steady yourself against the onslaught of shrieking skulls that flood the skies.", "questLostMasterclasser3Completion": "The April Fool surprises the final skull with a spray of sand, and it blunders backwards into Lady Glaciate, who smashes it expertly. As you catch your breath and look up, you see a single flash of someone’s silhouette moving on the other side of the closing portal. Thinking quickly, you snatch up the amulet from the chest of previously-possessed items, and sure enough, it’s drawn towards the unseen person. Ignoring the shouts of alarm from Lady Glaciate and the April Fool, you leap through the portal just as it snaps shut, plummeting into an inky swath of nothingness.", diff --git a/website/common/locales/fil/tasks.json b/website/common/locales/fil/tasks.json index f73b3fd1c6..b32a376e05 100755 --- a/website/common/locales/fil/tasks.json +++ b/website/common/locales/fil/tasks.json @@ -35,7 +35,7 @@ "attributes": "Stats", "progress": "Katayuan", "daily": "Pang-Araw-Araw", - "dailies": "Mga Pang-Araw-Araw", + "dailies": "Mga Pang-Araw-Araw na Gawain", "dailysDesc": "Madalás umuulit ang mga Pang-Araw-Araw. Piliin ang talatakdaán na pinakamainam para sa iyo!", "streakCounter": "Streak Counter", "repeat": "Ulitin", diff --git a/website/common/locales/fr/achievements.json b/website/common/locales/fr/achievements.json index 8ed334e34a..1d18b5a61e 100644 --- a/website/common/locales/fr/achievements.json +++ b/website/common/locales/fr/achievements.json @@ -143,6 +143,12 @@ "achievementBoneToPickText": "A fait éclore tous les familiers squelettes classiques et de quête !", "achievementBoneToPickModalText": "Vous avez collecté tous les familiers squelette classiques et de quête !", "achievementPolarPro": "Pro polaire", - "achievementPolarProText": "A fait éclore tous les familiers polaires : Ours, renard, pingouin, baleine et loup !", - "achievementPolarProModalText": "Vous avez collecté tous les familiers polaires !" + "achievementPolarProText": "A fait éclore toutes les couleurs standard de familiers polaires : Ours, renard, pingouin, baleine et loup !", + "achievementPolarProModalText": "Vous avez collecté tous les familiers polaires !", + "achievementPlantParent": "Protecteur des plantes", + "achievementPlantParentText": "A fait éclore toutes les couleurs standards de familiers plantes : Cactus et arbustes !", + "achievementPlantParentModalText": "Vous avec collecté tous les familiers plantes !", + "achievementDinosaurDynasty": "Dynastie des dinosaures", + "achievementDinosaurDynastyText": "A fait éclore toutes les couleurs standard d'oiseaux et de dinosaures : faucon, hibou, perroquet, paon, pingouin, coq, ptérodactyle, T-Rex, tricératops et vélociraptor !", + "achievementDinosaurDynastyModalText": "Vous avez collecté tous les animaux de compagnie d'oiseau et de dinosaure!" } diff --git a/website/common/locales/fr/backgrounds.json b/website/common/locales/fr/backgrounds.json index bd2055e314..b7855383d9 100644 --- a/website/common/locales/fr/backgrounds.json +++ b/website/common/locales/fr/backgrounds.json @@ -749,5 +749,29 @@ "backgroundInsideACrystalText": "L'intérieur d'un cristal", "backgroundInsideACrystalNotes": "Surveillez depuis l'intérieur d'un cristal.", "backgroundSnowyVillageText": "Village enneigé", - "backgroundSnowyVillageNotes": "Admirez un village enneigé." + "backgroundSnowyVillageNotes": "Admirez un village enneigé.", + "backgrounds012023": "Ensemble 104 : sorti en janvier 2023", + "backgroundRimeIceText": "Glace givrée", + "backgroundRimeIceNotes": "Admirez de la glace givrée scintillante.", + "backgroundSnowyTempleText": "Temple enneigé", + "backgroundSnowyTempleNotes": "Contemplez un temple enneigé serein.", + "backgroundWinterLakeWithSwansText": "Lac d'hiver avec des cygnes", + "backgroundWinterLakeWithSwansNotes": "Profitez de la nature près d'un lac d'hiver avec des cygnes.", + "eventBackgrounds": "Arrière-plans événementiels", + "backgroundBirthdayBashText": "Fête d'anniversaire", + "backgroundBirthdayBashNotes": "Habitica fait une fête d'anniversaire, et tout le monde est invité !", + "backgrounds022023": "Ensemble 105 : sorti en février 2023", + "backgroundInFrontOfFountainText": "Devant une fontaine", + "backgroundInFrontOfFountainNotes": "Baladez-vous devant une fontaine.", + "backgroundGoldenBirdcageText": "Cage à oiseau dorée", + "backgroundGoldenBirdcageNotes": "Cachez-vous dans une cage à oiseau dorée.", + "backgroundFancyBedroomText": "Chambre fantaisiste", + "backgroundFancyBedroomNotes": "Amusez-vous dans une chambre fantaisiste.", + "backgroundOldTimeyBasketballCourtNotes": "Faites des tirs sur un vieux terrain de basket.", + "backgroundJungleWateringHoleText": "Point d'eau dans la jungle", + "backgroundMangroveForestText": "Mangrove", + "backgrounds032023": "Ensemble 106 : sorti en mars 2023", + "backgroundOldTimeyBasketballCourtText": "Vieux terrain de basket", + "backgroundJungleWateringHoleNotes": "Arrêtez vous pour vous désaltérer à un point d'eau dans la jungle.", + "backgroundMangroveForestNotes": "Explorez les abords d'une mangrove." } diff --git a/website/common/locales/fr/communityguidelines.json b/website/common/locales/fr/communityguidelines.json index 07d4de47bb..16ae9c499b 100644 --- a/website/common/locales/fr/communityguidelines.json +++ b/website/common/locales/fr/communityguidelines.json @@ -4,55 +4,55 @@ "commGuideHeadingWelcome": "Bienvenue sur Habitica !", "commGuidePara001": "Salutations, aventuriers et aventurières ! Bienvenue en Habitica, le pays de la productivité, de la vie saine et de l'occasionnel griffon ravageur. Nous sommes une joyeuse communauté, faite de personnes serviables qui se soutiennent les unes les autres sur la voie de l’amélioration de soi. Pour s'intégrer, il suffit d'avoir une attitude positive, de respecter les autres, et de comprendre que chacun a différentes compétences et limites -- y compris vous ! Les habiticiens et habiticiennes sont patients avec autrui et essaient de s'entraider dès qu'ils le peuvent.", "commGuidePara002": "Afin que tout le monde se sente bien, heureux et productif dans la communauté, nous avons établi quelques règles de conduite. Nous les avons minutieusement forgées afin de les rendre aussi agréables et faciles à lire que possible. Nous vous enjoignons à prendre le temps de les lire.", - "commGuidePara003": "Ces règles s’appliquent à tous les espaces sociaux que nous utilisons, comprenant (mais pas forcément limités à) Trello, GitHub, Weblate et le wiki Habitica sur Fandom. Lorsque les communautés grandissent et changent, leurs règles doivent parfois s'adapter. Si ces règles devaient subir des changement substantiels, vous pourrez le lire sur une annonce de Bailey et/ou sur nos média sociaux !", + "commGuidePara003": "Ces règles s’appliquent à tous les espaces sociaux que nous utilisons, comprenant (mais pas forcément limités à) Trello, GitHub, Weblate et le wiki Habitica sur Fandom. Lorsque les communautés grandissent et changent, leurs règles doivent parfois s'adapter. Si les règles listées ici devaient subir des changement substantiels, vous pourrez le lire sur une annonce de Bailey et/ou sur nos média sociaux !", "commGuideHeadingInteractions": "Interactions dans Habitica", "commGuidePara015": "Habitica compte deux sortes d’espaces sociaux : publics et privés. Les espaces publics comprennent la taverne, les guildes publiques, GitHub, Trello et le Wiki. Les espaces privés sont les guildes privées, la messagerie d’équipe et les messages privés. Tous les identifiants et les @pseudos doivent se conformer au code de conduite en espace public. Pour changer votre identifiant et/ou votre @pseudo sur mobile, rendez-vous dans Menu > Paramètres > Profil. Sur le web, allez dans Utilisateur > Paramètres.", "commGuidePara016": "Lorsque vous naviguez dans les sphères publiques d’Habitica, il y a quelques règles générales à suivre afin que tout le monde se sente bien et heureux.", "commGuideList02A": "Respectez-vous les uns les autres. Faites preuve de courtoisie, de gentillesse et de soutien. Souvenez-vous : Les membres d'Habitica proviennent de tout milieu et ont des expériences très différentes. C'est en partie ce qui rend Habitica si sympathique ! Construire une communauté signifie respecter et célébrer nos différences, tout autant que nos similitudes.", - "commGuideList02B": "Respectez l'ensemble des Conditions d'utilisation. dans les espaces publics et privés.", + "commGuideList02B": "Respectez l'ensemble des Conditions d'utilisation. dans les espaces publics et privés.", "commGuideList02C": "Ne postez pas d'images ou de textes violents, menaçants, ou sexuellement explicites/suggestifs, ou qui encouragent à la discrimination, au sectarisme, au racisme, au sexisme, à la haine, au harcèlement ou visant à nuire à un quelconque individu ou groupe. Pas même en tant que plaisanterie ou meme. Cela inclut les injures aussi bien que les déclarations. Tout le monde n’a pas le même sens de l’humour, et ce que vous considérez comme une plaisanterie peut être blessant pour une autre personne.", "commGuideList02D": "Gardez les discussions à un niveau correct. Cela signifie entre autre d'éviter les sujets adultes sur les espaces publics. Beaucoup de jeunes utilisent le site, et chacun et chacune d'entre nous vient avec son propre bagage d'expériences. Nous souhaitons que notre communauté soit la plus confortable et la plus inclusive possible.", - "commGuideList02E": "Évitez les grossièretés. Cela comprend les petits jurons, les grossièretés religieuses qui pourraient être acceptées ailleurs et les insultes abrégées ou masquées. Nous accueillons des personnes de toutes religions et cultures et voulons nous assurer que toutes se sentent à l’aise dans les espaces publics. Si l'équipe de modération d'Habitica vous dit que ce terme est interdit sur le site, cette décision est définitive, même si ce terme ne vous apparaît pas problématique. De plus, les injures seront traitées très sévèrement car elles contreviennent aux conditions d’utilisation.", - "commGuideList02F": "Évitez les discussions longues ou polémiques en dehors de l'arrière-boutique. Si quelqu'un mentionne quelque chose qui est autorisé par les règles mais qui vous blesse, il est normal de le lui faire savoir poliment. Si quelqu'un vous dit que vous l'avez mis mal à l'aise, prenez le temps de réfléchir au lieu de répondre par la colère. Mais si vous sentez qu'une conversation s'enflamme, devient trop émotive ou est blessante, cessez de répondre. Au lieu de cela, signalez les messages pour nous en informer. Les modérateurs répondront aussi rapidement que possible. Vous pouvez aussi envoyer un courriel ) admin@habitica.com, et éventuellement inclure des copies d'écran si nécessaire.", - "commGuideList02G": "Obtempérez immédiatement aux demandes de l'équipe de modération. Ceci inclus, sans être limité à : quand elle demande à ce que vous publiiez votre message dans un espace particulier, modifiiez votre profil pour retirer un contenu inadapté, déplaciez la discussion dans un autre endroit, etc. N'essayez pas d'argumenter avec l'équipe de modération. Si vous avez des soucis ou des commentaires à propos de la modération, écrivez à admin@habitica.com pour contacter notre responsable de la communauté.", - "commGuideList02J": "Ne spammez pas. Le spam peut inclure, sans être limité à : poster le même commentaire ou la même demande dans de multiples endroits, poster des liens sans explication ou contexte, poster des messages incohérents, ou poster le même message à la chaîne. Si le fait que des personnes cliquant sur un lien vous est profitable, vous devez l'indiquer dans le texte de votre message, ou cela sera aussi considéré comme du spam. L'équipe de modération peut décider si quelque chose constitue du spam à sa propre discrétion.", + "commGuideList02E": "Évitez les grossièretés. Cela comprend les insultes abrégées ou masquées. Nous accueillons des personnes de toutes religions et cultures et voulons nous assurer que toutes se sentent à l’aise dans les espaces publics. Si l'équipe d'administration d'Habitica vous dit que ce terme est interdit sur le site, cette décision est définitive, même si ce terme ne vous apparaît pas problématique. De plus, les injures seront traitées très sévèrement car elles contreviennent aux conditions d’utilisation.", + "commGuideList02F": "Évitez les discussions longues ou polémiques en dehors de l'arrière-boutique. Si quelqu'un mentionne quelque chose qui est autorisé par les règles mais qui vous blesse, il est normal de le lui faire savoir poliment. Si quelqu'un vous dit que vous l'avez mis mal à l'aise, prenez le temps de réfléchir au lieu de répondre par la colère. Mais si vous sentez qu'une conversation s'enflamme, devient trop émotive ou est blessante, cessez de répondre. Au lieu de cela, signalez les messages pour nous en informer. L'équipe d'administration répondra aussi rapidement que possible. Vous pouvez aussi envoyer un courriel ) admin@habitica.com, et éventuellement inclure des copies d'écran si nécessaire.", + "commGuideList02G": "Obtempérez immédiatement aux demandes de l'équipe d'administration. Ceci inclus, sans être limité à : quand elle demande à ce que vous publiiez votre message dans un espace particulier, modifiiez votre profil pour retirer un contenu inadapté, déplaciez la discussion dans un autre endroit, etc. N'essayez pas d'argumenter avec l'équipe d'administration. Si vous avez des soucis ou des commentaires à propos des actions de l'équipe d'administration, écrivez à admin@habitica.com pour contacter notre responsable de la communauté.", + "commGuideList02J": "Ne spammez pas. Le spam peut inclure, sans être limité à : poster le même commentaire ou la même demande dans de multiples endroits, poster des liens sans explication ou contexte, poster des messages incohérents, ou poster le même message à la chaîne. Si le fait que des personnes cliquant sur un lien vous est profitable, vous devez l'indiquer dans le texte de votre message, ou cela sera aussi considéré comme du spam. L'équipe d'administration peut décider si quelque chose constitue du spam à sa propre discrétion.", "commGuideList02K": "Merci d'éviter de publier des textes de taille imposante dans les espaces de discussions publics, en particulier dans la taverne. Tout comme les messages EN MAJUSCULES, cela signifie que vous êtes en train de hurler, et cela parasite l'ambiance chaleureuse du lieu.", - "commGuideList02L": "Nous vous recommandons vivement de ne pas dévoiler d'informations personnelles – particulièrement des informations qui pourraient être utilisées pour vous identifier – dans les espaces de chat publics. Ceci inclut : votre adresse postale, votre adresse courriel, et votre jeton d'API/mot de passe ; mais n'y est pas limité. Cette recommandation est pour votre propre sécurité. L'équipe d'administration ou l'équipe de modération pourraient supprimer de tels messages à leur discrétion. Si l'on vous demande des informations personnelles dans une guilde, une équipe ou par message privé, nous recommandons vivement que vous refusiez poliment et alertiez l'équipe de modération soit 1) en rapportant le message, soit 2) en envoyant un message àadmin@habitica.com en y incluant des copies d'écran.", + "commGuideList02L": "Nous vous recommandons vivement de ne pas dévoiler d'informations personnelles – particulièrement des informations qui pourraient être utilisées pour vous identifier – dans les espaces de chat publics. Ceci inclut : votre adresse postale, votre adresse courriel, et votre jeton d'API/mot de passe ; mais n'y est pas limité. Cette recommandation est pour votre propre sécurité. L'équipe d'administration pourrait supprimer de tels messages à leur discrétion. Si l'on vous demande des informations personnelles dans une guilde, une équipe ou par message privé, nous recommandons vivement que vous refusiez poliment et alertiez l'équipe d'administration soit 1) en rapportant le message, soit 2) en envoyant un message àadmin@habitica.com en y incluant des copies d'écran.", "commGuidePara019": "Dans les espaces privés, une plus grande liberté est accordée pour discuter de ce dont vous avez envie, mais vous êtes toujours soumis aux conditions d'utilisation, notamment pour le contenu discriminatoire, violent ou menaçant. Notez que, parce que les noms de défis apparaissent dans le profil public du vainqueur, TOUS les noms de défis doivent obéir au code de conduite en espace public, même s'ils sont privés.", "commGuidePara020": "Les messages privés (MP) ont quelques règles additionnelles. Si une personne vous a bloqué, ne la contactez pas par un autre biais pour lui demander de vous débloquer. Vous ne devriez également pas envoyer des MP à quelqu'un en lui demandant de l'aide (dans la mesure où les réponses publiques aux questions sont utiles à la communauté). Enfin, n'envoyez à personne de message les priant de vous offrir des objets payants, quelle qu'en soit la sorte.", - "commGuidePara020A": "Si vous voyez un message ou une message privé que vous pensez être irrespectueux du code de conduite en espace public présenté ci-dessus, ou si vous voyez un message ou un message privé qui vous concerne ou qui vous place dans une situation inconfortable, vous pouvez attirer l’attention de l'équipe de modération en cliquant sur le drapeau pour le signaler. Un membre de l’équipe va résoudre la situation aussitôt que possible. Sachez cependant que le signalement intentionnel de messages innocents constitue une infraction à ce code de conduite (voir plus haut, dans la partie \"Infractions\"). Vous pouvez aussi contacter l'équipe de modération en envoyant un mail à admin@habitica.com. Vous pouvez le faire s’il y a plusieurs messages problématiques de la même personne dans différentes guildes, ou si la situation requiert d’être expliquée. Vous pouvez nous contacter dans votre langue natale si c’est plus facile pour vous : nous pourrions avoir à utiliser Google Traduction, mais nous voulons que vous soyez à l'aise pour nous contacter si vous avez un problème.", + "commGuidePara020A": "Si vous voyez un message ou une message privé que vous pensez être irrespectueux du code de conduite en espace public présenté ci-dessus, ou si vous voyez un message ou un message privé qui vous concerne ou qui vous place dans une situation inconfortable, vous pouvez attirer l’attention de l'équipe d'administration en cliquant sur le drapeau pour le signaler. Un membre de l’équipe va résoudre la situation aussitôt que possible. Sachez cependant que le signalement intentionnel de messages innocents constitue une infraction à ce code de conduite (voir plus haut, dans la partie \"Infractions\"). Vous pouvez aussi contacter l'équipe de modération en envoyant un mail à admin@habitica.com. Vous pouvez le faire s’il y a plusieurs messages problématiques de la même personne dans différentes guildes, ou si la situation requiert d’être expliquée. Vous pouvez nous contacter dans votre langue natale si c’est plus facile pour vous : nous pourrions avoir à utiliser Google Traduction, mais nous voulons que vous soyez à l'aise pour nous contacter si vous avez un problème.", "commGuidePara021": "De plus, certains lieux publics d’Habitica ont des règles supplémentaires.", "commGuideHeadingTavern": "La taverne", "commGuidePara022": "La taverne est le lieu de rendez-vous principal d’Habitica. Daniel l'aubergiste veille à la propreté des lieux, et Lemoness invoquera de la limonade avec plaisir pendant que vous discutez. Retenez cependant…", - "commGuidePara023": "La conversation tourne autour de sujets courants et d’astuces pour améliorer sa productivité ou sa vie. Comme la taverne ne peut contenir que 200 messages, ce n'est pas l'endroit pour des conversation prolongées sur des sujets, particulièrement les plus sensibles (par exemple : politique, religion, dépression, ou le fait que la chasse aux gobelins devrait être bannie, etc.). Ces conversations devraient avoir lieu dans une guilde appropriée. Une personne de l'équipe de modération peut vous diriger vers la guilde appropriée, mais c'est au final de votre responsabilité de la trouver et d'y écrire.", + "commGuidePara023": "La conversation tourne autour de sujets courants et d’astuces pour améliorer sa productivité ou sa vie. Comme la taverne ne peut contenir que 200 messages, ce n'est pas l'endroit pour des conversation prolongées sur des sujets, particulièrement les plus sensibles ou contentieux (par exemple : politique, religion, dépression, ou le fait que la chasse aux gobelins devrait être bannie, etc.). Ces conversations devraient avoir lieu dans une guilde appropriée. L'équipe d'administration peut vous diriger vers la guilde appropriée, mais c'est au final de votre responsabilité de la trouver et d'y écrire.", "commGuidePara024": "Ne discutez de rien d’addictif dans la taverne. De nombreuses personnes utilisent Habitica pour tenter de quitter leurs mauvaises habitudes. Entendre d’autres gens discuter de substances illégales ou addictives peut leur rendre la tâche bien plus difficile ! Respectez vos camarades de taverne et prenez cela en considération. Ceci inclut, mais pas seulement : le tabagisme, l’alcool, la pornographie, le jeu et l’usage/abus de drogues.", "commGuidePara027": "Lorsque l'équipe de modération vous propose de déplacer la conversation à un autre endroit, s'il n'y a pas de guilde à ce sujet, vous pouvez être dirigé vers l'arrière-boutique. L'arrière-boutique est un espace de discussion libre, pour aborder les sujets sensibles qui nécessitent l'accord de l'équipe de modération. Ce n'est pas le lieu pour les conversations ou discussions générales, et l'équipe de modération ne vous y dirigera que si cela s'avère nécessaire.", "commGuideHeadingPublicGuilds": "Les guildes publiques", "commGuidePara029": "Les guildes publiques ressemblent à la taverne, mais elles sont centrées autour d’un thème particulier et pas autour d'une conversation générale. La messagerie d’une guilde publique devrait se concentrer sur ce thème. Par exemple, les membres de la guilde des scribes pourraient être froissés si l’on découvrait une conversation sur le jardinage plutôt que sur l’écriture, et une guilde de fans de dragons ne trouverait que peu d’intérêt dans l’étude des runes anciennes. Certaines guildes sont plus ouvertes que d’autres mais de façon générale essayez de ne pas vous éloigner du sujet !", "commGuidePara031": "Certaines guildes publiques peuvent contenir des contenus sensibles comme la dépression, la religion, la politique, etc. Ceci est permis tant que les conversations ne brisent ni les conditions d'utilisation ni le code de conduite en espace public et qu’elles ne dérivent pas du sujet.", "commGuidePara033": "Les guildes publiques ne doivent PAS posséder de contenus réservés aux plus de 18 ans. Si une guilde prévoit de discuter régulièrement de contenu sensible, elle doit l'annoncer dans le titre de la guilde. Cela vise a rendre Habitica sûr et agréable pour tout le monde.", - "commGuidePara035": "Si la guilde en question a d'autres types de sujets sensibles, il est respectueux envers vos compagnons d'ajouter un avertissement à votre commentaire (par exemple : \"Attention : parle d'automutilation\"). Les guildes peuvent avoir établi leurs propres règles concernant ces avertissements, en plus de celles données ici. Si possible, merci d'utiliser la syntaxe markdown afin de cacher le contenu sensible sous des sauts de ligne, et permettre ainsi à ceux qui souhaiteraient ne pas lire vos propos de les contourner facilement, en faisant défiler leur écran. L'équipe de modération peut toujours décider de retirer votre contenu malgré tout : c'est à sa discrétion.", + "commGuidePara035": "Si la guilde en question a d'autres types de sujets sensibles, il est respectueux envers vos compagnons d'ajouter un avertissement à votre commentaire (par exemple : \"Attention : parle d'automutilation\"). Les guildes peuvent avoir établi leurs propres règles concernant ces avertissements, en plus de celles données ici. L'équipe d'administration peut toujours décider de retirer votre contenu malgré tout : c'est à sa discrétion.", "commGuidePara036": "De plus, les contenus sensibles doivent être appropriés au sujet – parler d'automutilation dans une guilde focalisée sur la lutte contre la dépression peut avoir du sens, mais sera moins approprié dans une guilde musicale. Si vous constatez qu'une personne transgresse régulièrement ces règles, même après plusieurs rappels à l'ordre, veuillez signaler ces messages.", "commGuidePara037": "Aucune guilde, publique ou privée, ne devrait être créée dans le but d’attaquer un groupe ou une personne. Créer une telle guilde est passible d’un bannissement immédiat. Combattez vos mauvaises habitudes, pas vos compagnons d’aventure !", "commGuidePara038": "Tous les défis de la taverne et des guildes publiques doivent aussi respecter ces règles.", "commGuideHeadingInfractionsEtc": "Infractions, conséquences et restauration", "commGuideHeadingInfractions": "Infractions", - "commGuidePara050": "La vaste majorité des Habiticiens et Habiticiennes est respectueuse, assiste les autres et travaille à faire de la communauté un espace agréable et amical. Cependant, il peut arriver qu’une personne enfreigne l’une des règles énoncées ci-dessus. Lorsque cela arrive, l'équipe de modération peut prendre les mesures qu’elle juge nécessaires pour que Habitica reste un endroit sain et agréable pour tout le monde.", - "commGuidePara051": "Il y a différents types d'infractions, et ils sont gérés en fonction de leur sévérité. Il n'y a pas de liste complète, et l'équipe de modération peut prendre des décisions sur des sujets qui ne sont pas couverts ici à sa propre discrétion. L'équipe de modération prendra en compte le contexte au moment d'évaluer les infractions.", + "commGuidePara050": "La vaste majorité des Habiticiens et Habiticiennes est respectueuse, assiste les autres et travaille à faire de la communauté un espace agréable et amical. Cependant, il peut arriver qu’une personne enfreigne l’une des règles énoncées ci-dessus. Lorsque cela arrive, l'équipe d'administration peut prendre les mesures qu’elle juge nécessaires pour que Habitica reste un endroit sain et agréable pour tout le monde.", + "commGuidePara051": "Il y a différents types d'infractions, et ils sont gérés en fonction de leur sévérité. Il n'y a pas de liste complète, et l'équipe d'administration peut prendre des décisions sur des sujets qui ne sont pas couverts ici à sa propre discrétion. L'équipe d'administration prendra en compte le contexte au moment d'évaluer les infractions.", "commGuideHeadingSevereInfractions": "Infractions graves", "commGuidePara052": "Les infractions graves sont très nocives pour la communauté d’Habitica et ses membres, et ont ainsi des conséquences sévères.", "commGuidePara053": "Les exemples suivants représentent des infractions graves. Cette liste n’est pas exhaustive.", "commGuideList05A": "Violation des conditions d'utilisation", "commGuideList05B": "Discours (ou images) haineux, harcèlement moral, harcèlement en ligne, dénigrement, trollage", "commGuideList05C": "Violation de la période de probation", - "commGuideList05D": "Usurpation de l'identité d'un membre de l'équipe d'administration ou de modération - cela inclus le fait de prétendre que des espaces non affiliés à Habitica serait officiels et/ou administrés par Habitica ou ses équipes", + "commGuideList05D": "Usurpation de l'identité d'un membre de l'équipe d'administration - cela inclus le fait de prétendre que des espaces non affiliés à Habitica serait officiels et/ou administrés par Habitica ou ses équipes", "commGuideList05E": "Répétition d’infractions modérées", "commGuideList05F": "Création d'un compte secondaire pour échapper aux sanctions (par exemple, créer un compte pour poster sur la messagerie après révocation des droits de participation aux discussions)", - "commGuideList05G": "Tromper intentionnellement l'équipe d'administration ou de modération afin d'échapper aux conséquences de ses actes, ou pour nuire à un autre utilisateur", + "commGuideList05G": "Tromper intentionnellement l'équipe d'administration afin d'échapper aux conséquences de ses actes, ou pour nuire à un autre utilisateur", "commGuideHeadingModerateInfractions": "Infractions modérées", "commGuidePara054": "Des infractions modérées n'affectent pas notre communauté, mais ne la rendent pas attractive. Ces infractions auront des conséquences modérées. Lorsqu'elles sont liées à d'autres infractions, les conséquences peuvent devenir plus importantes.", "commGuidePara055": "Les exemples suivants représentent des infractions modérées. Cette liste n’est pas exhaustive.", - "commGuideList06A": "Ignorer, contester ou manquer de respect à l'équipe de modération. Ceci inclut : se plaindre en public d'un modérateur ou d'un autre utilisateur, ou publiquement glorifier ou défendre des utilisateurs bannis, ou débattre si l'action d'un modérateur était ou non appropriée. Si une règle ou un modérateur vous pose un souci, veuillez contacter l'équipe par courriel (admin@habitica.com).", + "commGuideList06A": "Ignorer, contester ou manquer de respect à l'équipe d'administration. Ceci inclut : se plaindre en public de l'équipe d'administration ou d'un autre utilisateur, ou publiquement glorifier ou défendre des utilisateurs bannis, ou débattre si l'action de l'équipe d'administration était ou non appropriée. Si une règle ou le comportement de l'équipe d'administration vous pose un souci, veuillez contacter l'équipe par courriel (admin@habitica.com).", "commGuideList06B": "Modération abusive. Pour clarifier : un rappel sympathique des règles ne pose pas de problème. La modération abusive consiste à ordonner, demander et/ou sous-entendre fortement que quelqu’un doit vous écouter afin de corriger une erreur. Vous pouvez prévenir une personne qu’elle enfreint les règles, mais ne réclamez pas d’action particulière. Par exemple, dire « Juste pour que tu saches, il est déconseillé de jurer dans la taverne donc tu devrais retirer cela » est plus adéquat que dire « Je vais devoir te demander de retirer tes propos.»", "commGuideList06C": "Signalement intentionnel de messages innocents.", "commGuideList06D": "Violations répétées du code de conduite en espace public", @@ -61,12 +61,12 @@ "commGuidePara056": "Les infractions mineures, bien que découragées, n’ont que des conséquences minimes. Si elles persistent, elles peuvent mener à des conséquences plus sévères.", "commGuidePara057": "Les exemples suivants représentent des infractions mineures. Cette liste n’est pas exhaustive.", "commGuideList07A": "Première infraction au code de conduite en espace public", - "commGuideList07B": "Toute remarque ou action qui déclenche un « S’il te-plaît, ne fais pas ça » (ou « Please don’t » en anglais) de la part de l'équipe de modération. Quand il vous est demandé de faire quelque chose publiquement, cela peut être une conséquence en soi. Si l'équipe de modération a besoin de répéter ces corrections à une même personne, cela pourra compter comme une infraction plus importante", + "commGuideList07B": "Toute remarque ou action qui déclenche un « S’il te-plaît, ne fais pas ça » (ou « Please don’t » en anglais) de la part de l'équipe d'administration. Quand il vous est demandé de faire quelque chose publiquement, cela peut être une conséquence en soi. Si l'équipe d'administration a besoin de répéter ces corrections à une même personne, cela pourra compter comme une infraction plus importante", "commGuidePara057A": "Certains messages peuvent être masqués parce qu’ils contiennent des informations sensibles ou qu’ils pourraient donner aux lecteurs une mauvaise idée. Typiquement ceci ne compte pas comme une infraction, surtout la première fois que cela arrive !", "commGuideHeadingConsequences": "Conséquences", "commGuidePara058": "En Habitica – comme dans la vie réelle – toute action a une conséquence, que ce soit être en forme parce que vous avez fait de l'exercice, avoir des caries parce que vous avez mangé trop sucré ou réussir un examen parce que vous avez étudié.", "commGuidePara059": "De même, toute infraction aura des conséquences directes. Quelques exemples de ces sanctions sont exposés ci-dessous.", - "commGuidePara060": "Si votre infraction conduit à des conséquences modérées ou sévères, l'équipe d'administration ou de modération publiera un message dans le forum où l'infraction a eu lieu, expliquant :", + "commGuidePara060": "Si votre infraction conduit à des conséquences modérées ou sévères, et si cela s'avère approprié suivant les circonstances, l'équipe d'administration publiera un message dans le forum où l'infraction a eu lieu, expliquant :", "commGuideList08A": "la teneur de votre infraction", "commGuideList08B": "la conséquence qu’elle aura", "commGuideList08C": "ce que vous pouvez faire pour corriger la situation et restaurer votre statut initial, si c’est possible.", @@ -77,7 +77,7 @@ "commGuideList09C": "Désactivation permanente (« gel ») de la progression des échelons de contribution", "commGuideHeadingModerateConsequences": "Exemples de conséquences modérées", "commGuideList10A": "Privilèges de discussion publique et/ou privée restreints", - "commGuideList10A1": "Si vos actes conduisent à une révocation de vos droits de discussion, l'équipe de modération vous enverra un message privé et/ou un message dans le fil de discussion pour lequel vous avez été interdit de parole, dans lequel vous seront exposées les raisons de ce choix et la durée de cette révocation et/ou les actions requise pour votre rétablissement. Vous serez rétabli si vous consentez poliment aux actions requises et si vous acceptez de vous conformer aux règles de vie en communauté et aux conditions d'utilisation", + "commGuideList10A1": "Si vos actes conduisent à une révocation de vos droits de discussion, vous devez envoyer un mail à admin@habitica.com. Vous pourrez être rétabli (à la discrétion du staff) si vous consentez poliment aux actions requises et si vous acceptez de vous conformer aux règles de vie en communauté et aux conditions d'utilisation", "commGuideList10C": "Privilèges de création de guilde/défi restreints", "commGuideList10D": "Désactivation temporaire (« gel ») de la progression des échelons de contribution", "commGuideList10E": "Rétrogradation des échelons de contribution", @@ -86,15 +86,15 @@ "commGuideList11A": "Rappel du code de conduite en espace public", "commGuideList11B": "Avertissements", "commGuideList11C": "Requêtes", - "commGuideList11D": "Suppressions (l'équipe de modération peut supprimer du contenu problématique)", - "commGuideList11E": "Modifications (l'équipe de modération peut modifier du contenu problématique)", + "commGuideList11D": "Suppressions (le staff peut supprimer du contenu problématique)", + "commGuideList11E": "Modifications (le staff peut modifier du contenu problématique)", "commGuideHeadingRestoration": "Restauration", "commGuidePara061": "Habitica est un lieu dédié au développement personnel, et nous croyons aux secondes chances. Si vous commettez une infraction qui a eu une conséquence, voyez-le comme une chance d’évaluer vos actions et de travailler à devenir un meilleur membre de la communauté.", "commGuidePara062": "L'annonce, le message et/ou le courriel que vous recevez expliquant les conséquences de vos actions constitue une bonne source d’informations. Acceptez les restrictions qui vous sont imposées, et engagez-vous à faire ce qu’il faut pour voir vos sanctions levées.", - "commGuidePara063": "Si vous ne comprenez pas les conséquences ou la nature de votre infraction, demandez de l’aide à l'équipe de modération afin d'éviter de nouvelles infractions. Si vous trouvez qu'une décision spécifique était injuste, vous pouvez contacter l'équipe pour en discuter à admin@habitica.com.", - "commGuideHeadingMeet": "Rencontrez l'équipe de modération !", + "commGuidePara063": "Si vous ne comprenez pas les conséquences ou la nature de votre infraction, demandez de l’aide à l'équipe d'administration afin d'éviter de nouvelles infractions. Si vous trouvez qu'une décision spécifique était injuste, vous pouvez contacter l'équipe pour en discuter à admin@habitica.com.", + "commGuideHeadingMeet": "Rencontrez le staff", "commGuidePara006": "Habitica compte plusieurs chevaliers-errants qui unissent leurs forces avec celles des membres de l'équipe d'administration afin de préserver le calme et le contentement de la communauté et la protéger des trolls. Tous et toutes ont leur domaine spécifique, mais certains peuvent être parfois appelés à servir dans d'autres sphères sociales.", - "commGuidePara007": "Les membres du staff ont une étiquette de couleur pourpre, marquée d'une couronne. Ils portent le titre \"Héroïque\".", + "commGuidePara007": "L'équipe d'administration d'Habitica maintient le fonctionnement de l'application et des sites et peut agir en tant que modérateurs des discussions. Ils ont une étiquette de couleur pourpre, marquée d'une couronne. Ils portent le titre \"Héroïque\".", "commGuidePara008": "L'équipe de modération a une étiquette bleu foncé, marquée d'une étoile. Leur titre est \"Gardien\".", "commGuidePara009": "Les membres actuels de l'équipe d'administration sont (de gauche à droite) :", "commGuideAKA": "<%= habitName %> ou <%= realName %> dans la vie", @@ -121,13 +121,14 @@ "commGuideLink07": "Le Trello de quête : pour soumettre du contenu de quête.", "commGuidePara069": "Ces peintres de talent ont contribué aux illustrations :", "commGuideList01F": "Ne demandez pas des objets payants, ne spammez pas, ou n'écrivez pas des textes en grand/en majuscules.", - "commGuideList01E": "Ne démarrez pas et n'encouragez pas les discussions contentieuse à la taverne.", - "commGuideList01D": "Veuillez s'il vous plaît vous conformer aux requêtes de l'équipe de modération.", + "commGuideList01E": "Ne démarrez pas et n'encouragez pas les discussions contentieuse à la taverne.", + "commGuideList01D": "Veuillez s'il vous plaît vous conformer aux requêtes de l'équipe d'administration.", "commGuideList01C": "Toutes les discussions doivent être adaptées à tous les ages, et ne doivent pas contenir de jurons.", "commGuideList01B": "Interdit : Toute communication de nature violente, menaçante, discriminatoire, etc. y compris les memes, les images et les blagues.", "commGuideList01A": "Les conditions d'utilisations sont valables sur tous les espaces, y compris les guildes privées, les discussions d'équipe et les messages.", "commGuidePara017": "Voici le résumé, mais nous vous encourageons à lire plus en détail ci-dessous :", "commGuideList09D": "Le retrait ou la diminution des paliers de contribution accordés", "commGuideList05H": "Efforts répétés ou importants pour escroquer ou faire pression sur d'autres personnes pour obtenir des objets à valeur monétaire", - "commGuideList02M": "Veuillez ne pas demander à recevoir des gemmes, des abonnements, ou des participations à un plan de groupe. Ceci n'est pas autorisé à la taverne, dans les espaces publiques ou privés, et dans les messages privés. Si vous recevez des messages demandant des objets payants, veuillez les signaler. Des demandes répétées pour des gemmes ou des abonnements, en particulier après un avertissement, peuvent conduire au bannissement du compte." + "commGuideList02M": "Veuillez ne pas demander à recevoir des gemmes, des abonnements, ou des participations à un plan de groupe. Ceci n'est pas autorisé à la taverne, dans les espaces publiques ou privés, et dans les messages privés. Si vous recevez des messages demandant des objets payants, veuillez les signaler. Des demandes répétées pour des gemmes ou des abonnements, en particulier après un avertissement, peuvent conduire au bannissement du compte.", + "commGuideList02N": "Signalez et rapportez tout message qui déroge aux règles de vie en communauté et aux conditions d'utilisations. nous nous en occuperons aussi vite que possible. vous pouvez aussi notifier l'administration via admin@habitica.com mais le signalement est la méthode la plus rapide pour obtenir de l'aide." } diff --git a/website/common/locales/fr/content.json b/website/common/locales/fr/content.json index 22f645f2ac..90101a9e23 100644 --- a/website/common/locales/fr/content.json +++ b/website/common/locales/fr/content.json @@ -372,5 +372,7 @@ "hatchingPotionSolarSystem": "système solaire", "hatchingPotionOnyx": "onyx", "hatchingPotionVirtualPet": "Familier virtuel", - "hatchingPotionPorcelain": "porcelaine" + "hatchingPotionPorcelain": "porcelaine", + "hatchingPotionPinkMarble": "bille rose", + "hatchingPotionTeaShop": "Salon de thé" } diff --git a/website/common/locales/fr/front.json b/website/common/locales/fr/front.json index e236d87879..6909d787a4 100644 --- a/website/common/locales/fr/front.json +++ b/website/common/locales/fr/front.json @@ -66,7 +66,7 @@ "pkQuestion1": "Qu'est-ce qui a inspiré Habitica ? Comment cela a-t-il commencé ?", "pkAnswer1": "Si vous avez déjà passé du temps à améliorer un personnage dans un jeu, vous vous êtes sans doute déjà demandé à quel point votre vie serait épanouie si vous consacriez autant d'effort à améliorer votre propre vie, plutôt que celle de votre avatar. Nous avons commencé à construire Habitica pour répondre à cette question.
Habitica a été officiellement lancé en 2013 sur Kickstarter, et l'idée a vraiment pris. Depuis, cela est devenu un immense projet, soutenu par d'extraordinaires volontaires open-source et des contributeurs et contributrices généreuses.", "pkQuestion2": "Pourquoi Habitica fonctionne ?", - "pkAnswer2": "Acquérir de nouvelles habitudes est difficile parce que la plupart des gens ont vraiment besoin de cette récompense immédiate. Par exemple, utiliser du fil dentaire peut s'avérer compliqué même si notre dentiste nous dit que c'est efficace sur la durée, parce que sur l'instant, cela peut faire mal aux gencives.
L'aspect \"jeu\" d'Habitica ajoute une gratification immédiate à vos objectifs quotidiens en récompensant une tâche difficile avec de l'expérience, de l'or... et parfois un prix aléatoire, comme un œuf de dragon ! Cela aide chacun à rester motivé même lorsque la tâche elle-même n'a pas une récompense intrinsèque, et nous avons pu voir des personnes complètement changer leur vie de cette façon. Vous pouvez lire des témoignages de ces succès ici : https://habitversary.tumblr.com", + "pkAnswer2": "Acquérir de nouvelles habitudes est difficile parce que la plupart des gens ont vraiment besoin de cette récompense immédiate. Par exemple, utiliser du fil dentaire peut s'avérer compliqué même si notre dentiste nous dit que c'est efficace sur la durée, parce que sur l'instant, cela peut faire mal aux gencives.
L'aspect \"jeu\" d'Habitica ajoute une gratification immédiate à vos objectifs quotidiens en récompensant une tâche difficile avec de l'expérience, de l'or... et parfois un prix aléatoire, comme un œuf de dragon ! Cela aide chacun à rester motivé même lorsque la tâche elle-même n'a pas une récompense intrinsèque, et nous avons pu voir des personnes complètement changer leur vie de cette façon.", "pkQuestion3": "Pourquoi avoir ajouté des fonctionnalités sociales ?", "pkAnswer3": "La pression sociale est un énorme facteur de motivation pour beaucoup de personnes, donc nous savions que nous voulions avoir une communauté forte qui se tiendrait mutuellement responsable de ses objectifs et qui encouragerait ses succès. Heureusement, une des choses que les jeux vidéos multijoueurs font le mieux est de favoriser un sentiment de communauté parmi leurs utilisateurs ! La structure de la communauté Habitica vient de ces types de jeux ; vous pouvez former une petite équipe d'amis proches, mais vous pouvez également rejoindre un plus grand groupe d'intérêt commun connu sous le nom de guilde. Bien que certains utilisateurs choisissent de jouer en solo, la plupart décident de former un réseau de soutien qui encourage la responsabilité sociale à travers des fonctionnalités telles que les quêtes, où les membres du groupe mettent en commun leur productivité pour affronter des monstres ensemble.", "pkQuestion4": "Pourquoi ne pas accomplir vos tâches diminue la santé de votre avatar ?", @@ -188,5 +188,6 @@ "enterHabitica": "Entrez dans Habitica", "socialAlreadyExists": "Cet identifiant social est déjà lié à un compte Habitica existant.", "emailUsernamePlaceholder": "par exemple habitrabbit ou gryphon@example.com", - "footerProduct": "Produit" + "footerProduct": "Produit", + "translateHabitica": "Traduire Habitica" } diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json index 14b54261b1..94788b8395 100644 --- a/website/common/locales/fr/gear.json +++ b/website/common/locales/fr/gear.json @@ -2782,5 +2782,71 @@ "headSpecialWinter2023HealerNotes": "Ce heaume cardinal est parfait pour siffler et chanter pour annoncer la nouvelle saison. Augmente l'intelligence de <%= int %>. Équipement en édition limitée de l'hiver 2022-2023.", "shieldSpecialWinter2023WarriorText": "Bouclier huitre", "shieldSpecialWinter2023HealerText": "Chansonnette fraiche", - "shieldSpecialWinter2023HealerNotes": "Votre chanson de givre et de neige apaisera les esprits de ceux qui l'entendent. Augmente la constitution de <%= con %>. Équipement en édition limitée de l'hiver 2022-2023." + "shieldSpecialWinter2023HealerNotes": "Votre chanson de givre et de neige apaisera les esprits de ceux qui l'entendent. Augmente la constitution de <%= con %>. Équipement en édition limitée de l'hiver 2022-2023.", + "headSpecialNye2022Text": "Chapeau de fête fabuleux", + "headSpecialNye2022Notes": "Vous avez reçu un chapeau de soirée fabuleux ! Portez-le avec fierté en levant votre verre à cette nouvelle année ! Ne confère aucun bonus.", + "eyewearSpecialAnniversaryNotes": "Regardez à travers les yeux d'un Héro d'Habitica - vous ! Ne confère aucun avantage. Édition Spéciale Objet d'Anniversaire des 10 ans.", + "armorSpecialBirthday2023Text": "Tenue de soirée fabuleuse", + "armorSpecialBirthday2023Notes": "Joyeux anniversaire Habitica ! Portez cette Tenue de Soirée Fabuleuse pour fêter ce superbe jour. Ne confère aucun avantage.", + "armorArmoireShawlCollarCoatText": "Manteau à Col Retourné", + "armorArmoireShawlCollarCoatNotes": "Un sage sorcier a dit un jour \"Il n'y a rien de mieux que d'être confortable et productif !\" Portez ce manteau élégant et chaud en surmontant les défis de l'année. Augmente la Constitution de <%= con %>. Armoire Enchantée : Objet Indépendant.", + "headMystery202301Text": "Oreilles de Vulpin Vaillant", + "headMystery202301Notes": "Votr ouïe sera si fine que vous entendrez le jour se lever et la rosée scintiller. Ne confère aucun avantage. Objet d'abonné de Janvier 2023.", + "backMystery202301Text": "Cinq queues de valeur", + "backMystery202301Notes": "Ces Queues Moelleuses contiennent un pouvoir éthéré mais également une grande quantité de charme ! Ne confère aucun avantage. Objet d'abonné de Janvier 2023.", + "backSpecialAnniversaryText": "Cape de Héro d'Habitica", + "backSpecialAnniversaryNotes": "Laissez cette cape flotter dans le vent pour dire à tout le monde que vous êtes un héro d'Habitica. Ne confère aucun avantage. Édition spéciale Objet d'Anniversaire des 10 ans.", + "bodySpecialAnniversaryText": "Collier de Héro d'Habitica", + "bodySpecialAnniversaryNotes": "Complète parfaitement votre ensemble royal violet ! Ne confère aucun avantage. Édition Spéciale Objet d'Anniversaire des 10 ans.", + "eyewearSpecialAnniversaryText": "Masque de Héro d'Habitica", + "armorArmoireTeaGownText": "Blouse de salon de thé", + "armorArmoireTeaGownNotes": "Vous faites preuve de résilience, de créativité, d'intelligence et vous êtes tellement à la mode ! Augmente la force et l'intelligence de <%= attrs %> chacune. Armoire enchantée : ensemble de salon de thé (objet 1 de 3).", + "headMystery202303Text": "Chevelure crinière", + "headMystery202303Notes": "Quelle meilleure manière de montrer à tout le monde que vous êtes le personnage principal de cette aventure que d'avoir des cheveux bleus et ébouriffés ? Ne confère aucun bonus. Équipement d'abonnement de mars 2023.", + "headArmoireTeaHatText": "Chapeau de salon de thé", + "headArmoireTeaHatNotes": "Ce chapeau élégant est à la fois fantaisiste et fonctionnel. Augmente la perception de <%= per %>. Armoire enchantée : ensemble de salon de thé (objet 2 de 3).", + "shieldArmoireTeaKettleText": "Bouilloire à thé", + "shieldArmoireTeaKettleNotes": "Tous vos thés préférés et savoureux peuvent être infusés dans cette bouilloire. Vous avez envie d'un thé noir, d'un thé vert, d'un oolong ou d'une infusion ? Augmente la constitution de <%= con %>. Armoire enchantée : ensemble de salon de thé (objet 3 de 3).", + "backMystery202302Text": "Queue de chat-tigre rusé", + "backMystery202302Notes": "Chaque fois que vous portez cette queue, vous êtes sûr de passer une bonne journée ! Callooh ! Callay ! Ne confère aucun bonus. Équipement d'abonnement de Février 2023.", + "headAccessoryMystery202302Text": "Oreilles de chat-tigre rusé", + "headAccessoryMystery202302Notes": "L'accessoire parfait pour installer votre sourire enchanteur. Ne confère aucun bonus. Équipement d'abonnement de février 2023.", + "eyewearMystery202303Text": "Yeux réveurs", + "eyewearMystery202303Notes": "Laissez votre expression nonchalante tromper vos ennemis en un sens de sécurité mal placé. Ne confère aucun bonus. Équipement d'abonnement de mars 2023.", + "shieldArmoireBasketballText": "Balle de basket", + "shieldArmoireBasketballNotes": "Waow ! Quand vous tirez avec cette balle magique, vous ne ferez que des paniers. Augmente la constitution et la force de <%= attrs %> chacune. Armoire enchantée : ensemble de basket (objet 2 de 2).", + "armorArmoireBasketballUniformText": "Uniforme de basket", + "armorArmoireBasketballUniformNotes": "Vous vous demandez ce qui est écrit à l'arrière de cet uniforme ? Votre numéro porte-bonheur, bien sûr ! Augmente la perception de <%= per %>. Armoire enchantée : ensemble de basket (objet 1 de 2).", + "weaponSpecialSpring2023RogueText": "Feuille grignotée", + "weaponSpecialSpring2023RogueNotes": "Tranchez ! Coupez ! Mangez ! Prenez des forces pour votre prochaine métamorphose. Augmente la force de <%= str %>. Équipement en édition limitée du printemps 2023.", + "weaponSpecialSpring2023WarriorText": "Feuille de colibri", + "weaponSpecialSpring2023WarriorNotes": "En garde ! Éloignez les ennemis de vos fleurs avec cette feuille ! Augmente la force de <%= str %>. Équipement en édition limitée du printemps 2023.", + "weaponSpecialSpring2023MageText": "Magie de pierre de lune", + "weaponSpecialSpring2023HealerNotes": "Avec une bouffée d'air et une étincelle, vous déployez une nouvelle croissance, de la joie et de la couleur. Augmente l'intelligence de <%= int %>. Équipement en édition limitée du printemps 2023.", + "headSpecialSpring2023RogueText": "Cagoule de chenille", + "headSpecialSpring2023RogueNotes": "Ne manquez pas de rentrer ces antennes tentantes lorsque les oiseaux chassent au-dessus de votre tête ! Augmente la perception de <%= per %>. Équipement en édition limitée du printemps 2023.", + "headSpecialSpring2023MageNotes": "Vous voudrez porter ces lunettes de nuit pour pouvoir clairement à la lumière de la lune. Augmente la perception de <%= per %>. Équipement en édition limitée du printemps 2023.", + "shieldSpecialSpring2023WarriorText": "Bouquet de fleurs", + "shieldSpecialSpring2023HealerNotes": "Un accent pour une visite de guérison, ou une partie d'un rituel pour assister à une danse de printemps ! Augmente la constitution de <%= con %>. Équipement en édition limitée du printemps 2023.", + "shieldSpecialSpring2023WarriorNotes": "Rassemblez les plus belles fleurs du printemps dans ce bouquet aux couleurs vives. Augmente la constitution de <%= con %>. Équipement en édition limitée du printemps 2023.", + "weaponSpecialSpring2023MageNotes": "Plus ça brille fort, plus la puissance est élevée. Augmente l'intelligence de <%= int %>. Équipement en édition limitée du printemps 2023.", + "weaponSpecialSpring2023HealerText": "Pollen de lys", + "armorSpecialSpring2023RogueText": "Cape de chenille", + "armorSpecialSpring2023RogueNotes": "Vous n'avez peut-être que quatre membres pour travailler, mais vous pouvez grimper et ramper avec le plus grand des vers blancs. Augmente la perception de <%= per %>. Équipement en édition limitée du printemps 2023.", + "armorSpecialSpring2023WarriorText": "Armure de colibri", + "armorSpecialSpring2023WarriorNotes": "Le bourdonnement que vous entendez est celui de vos ailes qui battent plus vite que vous ne pouvez l'imaginer. Augmente la constitution de <%= con %>. Équipement en édition limitée du printemps 2023.", + "armorSpecialSpring2023MageText": "Costume de pierre de lune", + "armorSpecialSpring2023MageNotes": "Cet élégant costume de printemps magnifie la magie de pierre de lune. Augmente l'intelligence de <%= int %>. Équipement en édition limitée du printemps 2023.", + "armorSpecialSpring2023HealerText": "Robe de feuille de lys", + "armorSpecialSpring2023HealerNotes": "Un bouquet de gloire verdoyante qui déclenchera l'envie de toute l'équipe. Augmente la constitution de <%= con %>. Équipement en édition limitée du printemps 2023.", + "headSpecialSpring2023WarriorText": "Casque de colibri", + "headSpecialSpring2023WarriorNotes": "Couvrez votre visage de plumes iridescentes quand vous volez au combat. Augmente la force de <%= str %>. Équipement en édition limitée du printemps 2023.", + "headSpecialSpring2023MageText": "Visière de pierre de lune", + "headSpecialSpring2023HealerText": "Fleur de lys", + "headSpecialSpring2023HealerNotes": "Cet écrin brillant et coloré partage la même palette de couleurs que l'orbe de la résurrection ! Tout un symbole ! Augmente l'intelligence de <%= int %>. Équipement en édition limitée du printemps 2023.", + "shieldSpecialSpring2023HealerText": "Corsage de lys", + "armorMystery202304Notes": "Avec une bonne poignée et un bon bec verseur ! Ne confère aucun bonus. Équipement d'abonnement d'avril 2023.", + "armorMystery202304Text": "Armure théière", + "headMystery202304Text": "Casque théière", + "headMystery202304Notes": "Portez ce casque pour votre pro-thé-ction. Ne confère aucun bonus. Équipement d'abonnement d'avril 2023." } diff --git a/website/common/locales/fr/groups.json b/website/common/locales/fr/groups.json index df8a08e9ce..a3c8c184bd 100644 --- a/website/common/locales/fr/groups.json +++ b/website/common/locales/fr/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Liste de tâches pour l'équipe", "teamBasedTasksListDesc": "Créez une liste des tâches partagées facile à voir pour le groupe. Assignez des tâches aux autres membres du groupe, ou laissez les définir leurs propres tâches pour rendre clair qui travaille sur quoi !", "groupManagementControls": "Contrôles de gestion de groupe", - "groupManagementControlsDesc": "Utilisez l'approbation des tâches pour vérifier qu'une tâche a été effectivement réalisée, ajoutez des gestionnaires de groupes pour partager les responsabilités, et profiter d'une discussion de groupe privée pour tous les membres de l'équipe.", + "groupManagementControlsDesc": "Regardez l'état d'une tâche pour vérifier si elle a été réalisée, ajoutez des gestionnaires de groupes pour partager les responsabilités, et profiter d'une discussion de groupe privée pour tous les membres de l'équipe.", "inGameBenefits": "Bénéfices dans le jeu", "inGameBenefitsDesc": "Les membres du groupe reçoivent une monture Jackalope exclusive, ainsi que tous les bénéfices d'un abonnement complet, incluant l'équipement mensuel spécial et la capacité d'acheter des gemmes pour de l'or.", "inspireYourParty": "Inspirez votre équipe, ludifiez votre vie tous ensemble.", @@ -417,5 +417,6 @@ "groupTeacher": "Enseignant qui définit des tâches pour les étudiants", "nameStar": "Nom*", "nameStarText": "Ajouter un titre", - "descriptionOptional": "Description" + "descriptionOptional": "Description", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> vous a invité à rejoindre l'équipe <%- party %>" } diff --git a/website/common/locales/fr/limited.json b/website/common/locales/fr/limited.json index d10f0b7b46..97deaced38 100644 --- a/website/common/locales/fr/limited.json +++ b/website/common/locales/fr/limited.json @@ -188,7 +188,7 @@ "septemberYYYY": "Septembre <%= year %>", "royalPurpleJackolantern": "Citrouille d'Habitoween pourpre royal", "novemberYYYY": "Novembre <%= year %>", - "g1g1Limitations": "Il s'agit d'un événement limité dans le temps, qui démarre le 15 décembre à 08h00 ET (13h00 UTC) et qui finit le 8 janvier à 23h59 ET (9 janvier04h59 UTC). Cette promotion ne s'applique que lorsque vous offrez à quelqu'un d'autre. Si la personne désignée a déjà un abonnement, l'abonnement offert ajoutera des mois d'abonnement qui ne seront utilisés qu'après la fin de leur abonnement actuel.", + "g1g1Limitations": "Il s'agit d'un événement limité dans le temps, qui démarre le 15 décembre à 08h00 ET (13h00 UTC) et qui finit le 8 janvier à 23h59 ET (9 janvier04h59 UTC). Cette promotion ne s'applique que lorsque vous faites un cadeau à un autre Habiticien. Si la personne désignée a déjà un abonnement, la souscription offerte ajoutera des mois de crédit supplémentaires qui ne seront utilisés qu'après la fin de leur souscription actuelle.", "limitations": "Limitations", "g1g1HowItWorks": "Entrez l'identifiant du compte auquel vous voulez faire un cadeau. Puis choisissez la durée d'abonnement que vous voulez offrir et validez. Vous recevrez automatiquement la même durée d'abonnement que celle que vous venez d'offrir.", "howItWorks": "Comment ça marche", @@ -234,10 +234,44 @@ "fall2022HarpyMageSet": "Harpie (Mage)", "fall2022WatcherHealerSet": "Voyeur (Guérisseur)", "fall2022KappaRogueSet": "Kappa (Voleur)", - "gemSaleHow": "Entre le <%= eventStartOrdinal %> et le <%= eventEndOrdinal %> <%= eventStartMonth %>, achetez simplement n'importe quel ensemble de gemmes comme d'habitude et votre compte sera crédité avec le montant promotionnel de gemmes. Plus de gemmes à dépenser, à partager ou à conserver pour de nouveaux objets !", - "gemSaleLimitations": "Cette promotion s'applique uniquement pendant la durée de l'événement. L'événement démarre le <%= eventStartOrdinal %> <%= eventStartMonth %> à 8:00 EDT (12:00 UTC) et se terminera le <%= eventEndOrdinal %> <%= eventStartMonth %> à 20:00 EDT (00:00 UTC). Cette promotion n'est disponible que pour les gemmes que vous achetez pour vous.", + "gemSaleHow": "Entre le <%= eventStartOrdinal %> et le <%= eventEndOrdinal %> <%= eventStartMonth %>, achetez, comme d'habitude, n'importe quel ensemble de Gemmes et votre compte sera crédité avec le montant promotionnel. Plus de gemmes à dépenser, à partager ou à conserver pour de futures nouveautés !", + "gemSaleLimitations": "Cette promotion s'applique uniquement pendant la durée de l'événement. L'événement démarre le <%= eventStartOrdinal %> <%= eventStartMonth %> à 8:00 EDT (12:00 UTC) et se terminera le <%= eventEndOrdinal %> <%= eventStartMonth %> à 20:00 EDT (00:00 UTC). Cette promotion n'est disponible que pour les Gemmes que vous achetez pour vous.", "winter2023WalrusWarriorSet": "Morse (Guerrier)", - "winter2023FairyLightsMageSet": "Lumières féeriques (Mage)", + "winter2023FairyLightsMageSet": "Guirlandes lumineuses (Mage)", "winter2023CardinalHealerSet": "Cardinal (Guérisseur)", - "spring2023RibbonRogueSet": "Ruban (Voleur)" + "spring2023RibbonRogueSet": "Ruban (Voleur)", + "winter2023RibbonRogueSet": "Ruban (Voleur)", + "fourForFreeText": "Pour continuer la fête nous allons donner des Tenues de Soirée, 20 Gemmes et une édition limitée d'un Arrière-plan d'anniversaire et un ensemble d'objets qui inclut une Cape, des Épaulettes et un Masque.", + "anniversaryLimitations": "C'est un événement limité dans le temps qui commencera le 30 janvier à 8h00 ET (13h00 UTC) et se finira le 8 Février à 23h59 ET (04h59 UTC). L'Edition Limitée Gryphatrice Joyeux et dix Potions Magiques seront disponibles à l'achat à ce moment là. Les autres cadeaux listés dans la section \"Quatre gratuits\" seront automatiquement distribués à tous les comptes qui étaient actifs dans les 30 jours avant l'envoi des cadeaux. Les comptes créés après l'envoi des cadeaux ne pourront pas les réclamer.", + "dateStartFebruary": "Le 8 Février", + "anniversaryLimitedDates": "Du 30 Janvier au 8 Février", + "limitedEvent": "Événement Limité", + "celebrateAnniversary": "Célébrez les 10 ans d'Habitica avec des cadeaux et des objets exclusifs ci-dessous !", + "celebrateBirthday": "Célébrez les 10 ans d'Habitica avec des cadeaux et des objets exclusifs !", + "jubilantGryphatricePromo": "Familier Gryphatrice Joyeux animé", + "limitedEdition": "Édition limitée", + "anniversaryGryphatriceText": "Le Gryphatrice joyeux rare rejoint la fête ! Ne manquez pas votre chance d'adopter cet animal de compagnie animé exclusif.", + "anniversaryGryphatricePrice": "Achetez le aujourd'hui pour $9,99 ou 60 gemmes", + "buyNowMoneyButton": "Acheter pour $9,99", + "buyNowGemsButton": "Acheter pour 60 Gemmes", + "wantToPayWithGemsText": "Voulez-vous payer avec des Gemmes ?", + "wantToPayWithMoneyText": "Voulez-vous payer avec Stripe, Paypal ou Amazon ?", + "ownJubilantGryphatrice": "Vous avez acheté le Gryphatrice Joyeux ! Allez dans l'Écurie pour l'équiper !", + "jubilantSuccess": "Vous avez acheté le Gryphatrice Joyeux !", + "stableVisit": "Allez dans l'Écurie pour l'équipper !", + "takeMeToStable": "Emmenez-moi à l'Écurie", + "plentyOfPotions": "Beaucoup de Potions", + "plentyOfPotionsText": "Nous faisons revenir 10 des Potions Magiques préférées de la communauté. Rendez-vous au marché pour compléter votre collection !", + "visitTheMarketButton": "Aller au marché", + "fourForFree": "Quatre gratuits", + "dayOne": "Jour 1", + "dayFive": "Jour 5", + "dayTen": "Jour 10", + "partyRobes": "Tenue de soirée", + "twentyGems": "20 Gemmes", + "birthdaySet": "Ensemble d'Anniversaire", + "spring2023CaterpillarRogueSet": "Chenille (Voleur)", + "spring2023HummingbirdWarriorSet": "Colibri (Guerrier)", + "spring2023MoonstoneMageSet": "Pierre de lune (Mage)", + "spring2023LilyHealerSet": "Lys (Guérisseur)" } diff --git a/website/common/locales/fr/npc.json b/website/common/locales/fr/npc.json index 95f82fab82..f8219280e5 100644 --- a/website/common/locales/fr/npc.json +++ b/website/common/locales/fr/npc.json @@ -98,7 +98,7 @@ "toDo": "À faire", "tourStatsPage": "Ceci est votre page de statistiques ! Remportez des succès en complétant vos tâches.", "tourTavernPage": "Voici la taverne, un lieu de discussions pour tout âge ! Vous pouvez empêcher vos quotidiennes de vous faire du mal en cas de maladie ou de voyage en cliquant sur \"Désactiver les dégâts\". Venez dire bonjour !", - "tourPartyPage": "Votre équipe vous aidera à rester responsable. Invitez des amis pour déverrouiller un parchemin de quête !", + "tourPartyPage": "Bienvenue dans votre nouvelle équipe ! Vous pouvez inviter d'autres personnes à votre équipe en utilisant leur pseudo, leur email, ou en utilisant la liste des personnes cherchant une équipe, pour gagner le parchemin de quête exclusif de la Basi-liste.

Accédez à la FAQ dans le menu d'aide pour apprendre le fonctionnement des équipes.", "tourGuildsPage": "Les guildes sont des groupes de discussion autour de centres d'intérêts communs, créés par les joueurs et pour les joueurs. Naviguez dans la liste des guildes et rejoignez celles qui vous intéressent. Jetez un œil à la guilde la plus populaire, la guilde d'aide de Habitica (\"Habitica Help\"), où tout le monde peut poser des questions concernant Habitica !", "tourChallengesPage": "Les défis sont des listes de tâches à thème créées par des membres ! Rejoindre un défi ajoutera ses tâches à votre compte. Rivalisez avec d'autres membres pour gagner des gemmes !", "tourMarketPage": "Chaque fois que vous réalisez vos tâches, vous avez une chance d'obtenir un œuf, une potion d'éclosion ou de la nourriture de familier. Vous pouvez aussi acheter ces objets ici.", @@ -133,5 +133,6 @@ "amountExp": "<%= amount %> expérience", "helpSupportHabitica": "Contribuez à soutenir Habitica", "groupsPaymentSubBilling": "Votre prochaine date de facturation est <%= renewalDate %>.", - "groupsPaymentAutoRenew": "Cet abonnement se renouvellera automatiquement jusqu'à son annulation. Si vous devez l'annuler, vous pouvez le faire depuis l'onglet de facturation de groupe." + "groupsPaymentAutoRenew": "Cet abonnement se renouvellera automatiquement jusqu'à son annulation. Si vous devez l'annuler, vous pouvez le faire depuis l'onglet de facturation de groupe.", + "sellItems": "Vendre des objets" } diff --git a/website/common/locales/fr/pets.json b/website/common/locales/fr/pets.json index c4cd77918e..c9c81bc254 100644 --- a/website/common/locales/fr/pets.json +++ b/website/common/locales/fr/pets.json @@ -113,5 +113,6 @@ "gryphatrice": "Griffatrice", "invalidAmount": "Quantité invalide de nourriture, doit être un entier positif", "tooMuchFood": "Vous essayez de donner trop de nourriture à votre familier, action annulée", - "notEnoughFood": "Vous n'avez pas assez de nourriture" + "notEnoughFood": "Vous n'avez pas assez de nourriture", + "jubilantGryphatrice": "Gryphatrice jubilante" } diff --git a/website/common/locales/fr/questscontent.json b/website/common/locales/fr/questscontent.json index 67918a2a85..2c075728b9 100644 --- a/website/common/locales/fr/questscontent.json +++ b/website/common/locales/fr/questscontent.json @@ -753,5 +753,14 @@ "questVirtualPetDropVirtualPetPotion": "Potion d'éclosion de familier virtuel", "questVirtualPetUnlockText": "Déverrouille l'achat de potions d'éclosion de familier virtuel au marché", "questVirtualPetRageDescription": "Cette barre se remplit quand vous n'effectuez pas vos quotidiennes. Quand elle sera pleine, le Wotchimon fera disparaître une partie des dégâts en cours de votre équipe !", - "questVirtualPetCompletion": "Quelques pressions sur des boutons semblent avoir satisfait les besoins mystérieux de l'animal virtuel, qui s'est finalement calmé et semble content.

Soudain, dans une explosion de confettis, le poisson d'avril apparaît avec un panier rempli d'étranges potions émettant de doux bips.

\"Quel timing, poisson d'avril\", dit @Beffymaroo avec un sourire en coin. \"Je soupçonne que ce grand gaillard qui émet des bips est une de vos connaissances.\"

\"Euh, oui,\" dit-il, penaud. \"Je suis vraiment désolé, et je vous remercie tous les deux d'avoir pris soin de Wotchimon ! Prenez ces potions en guise de remerciement, elles peuvent faire retransformer vos animaux de façon virtuelle quand vous le souhaitez !\".

Vous doutez d'être 100% d'accord avec tous ces bips, mais comme ils sont mignons, ça vaut le coup d'essayer !" + "questVirtualPetCompletion": "Quelques pressions sur des boutons semblent avoir satisfait les besoins mystérieux de l'animal virtuel, qui s'est finalement calmé et semble content.

Soudain, dans une explosion de confettis, le poisson d'avril apparaît avec un panier rempli d'étranges potions émettant de doux bips.

\"Quel timing, poisson d'avril\", dit @Beffymaroo avec un sourire en coin. \"Je soupçonne que ce grand gaillard qui émet des bips est une de vos connaissances.\"

\"Euh, oui,\" dit-il, penaud. \"Je suis vraiment désolé, et je vous remercie tous les deux d'avoir pris soin de Wotchimon ! Prenez ces potions en guise de remerciement, elles peuvent faire retransformer vos animaux de façon virtuelle quand vous le souhaitez !\".

Vous doutez d'être 100% d'accord avec tous ces bips, mais comme ils sont mignons, ça vaut le coup d'essayer !", + "questPinkMarbleBoss": "Corrompidon", + "questPinkMarbleRageDescription": "Cette barre se remplit quand vous n'effectuez pas vos tâches quotidiennes. Lorsqu'elle est pleine, Corrompidon réduira une partie des dommages reçues de la part de votre équipe !", + "questPinkMarbleRageEffect": "`Corrompidon donne un coup rose-mantique !` Ce n'était pas du tout affectueux ! Vos compagnons et vous êtes pris par surprise. Les prochains dégâts seront réduits.", + "questPinkMarbleDropPinkMarblePotion": "Potion d'éclosion marbre rose", + "questPinkMarbleRageTitle": "Coup Rose-mantique", + "questPinkMarbleCompletion": "Vous réussissez finalement à épingler le petit gars – il était bien plus costaud et rapide qu'on aurait pu croire. Avant qu'il ne recommence à remuer, vous lui confisquez son carquois de flèches brillantes. Il cligne des yeux et regarde soudainement autour de lui avec un air surpris. \"Je me suis piqué avec une de mes propres flèches pour échapper à ma tristesse et à mon chagrin d'amour… Je ne me souviens de rien après ça !\"

Alors qu'il s'apprête à fuir la cave, il remarque que @Loremi a pris un échantillon de poussière de marbre rose et se met à sourire. \"Essayez d'utiliser un peu de cette poussière rose dans une potion ! Nourrissez les familiers qu'elle fera éclore et vous découvrirez que les vraies relations naissent de la communication, de la confiance mutuelle et du soin. Je vous souhaite bonne chance, et je vous souhaite de l'amour !\"", + "QuestPinkMarbleUnlockText": "Déverrouille l'achat de potions d'éclosion marbre rose au marché.", + "questPinkMarbleText": "Calmez le Corrupidon", + "questPinkMarbleNotes": "Après avoir avoir entendu des rumeurs à propos d'une grotte dans les Montagnes Méandreuses d'où sortent des rochers et de la poussière roses, votre groupe commence à enquêter. En s'approchant de la grotte, vous remarquez effectivement un énorme nuage de poussière rose - et étrangement, vous entendez le cri de guerre d'une petite voix, suivi du bruit d'un rocher qui se brise.

@Empress42 inhale accidentellement un peu de poussière et se sent soudain rêveuse et moins productive ! \"Pareil ici\" dit @QuartzFox, \"Je fantasme soudainement sur une personne que je connais à peine !\"

@a_diamond jette un coup d'œil dans la grotte et trouve un petit être qui virevolte et réduit en poussière des rochers marbrés de rose. \"Mettez-vous à l'abri ! Ce Cupidon a été corrompu et utilise sa magie pour provoquer de la limpidité et des engouements irréalistes ! Nous devons le maîtriser !\"" } diff --git a/website/common/locales/fr/settings.json b/website/common/locales/fr/settings.json index 2f05234005..f79ebbe191 100644 --- a/website/common/locales/fr/settings.json +++ b/website/common/locales/fr/settings.json @@ -226,5 +226,6 @@ "amount": "Montant", "action": "Action", "note": "Note", - "remainingBalance": "Crédit restant" + "remainingBalance": "Crédit restant", + "thirdPartyTools": "Trouvez des applications tierces, des extensions, et plein d'autres utilitaires que vous pourriez utiliser sur votre compte sur le Wiki d'Habitica." } diff --git a/website/common/locales/fr/subscriber.json b/website/common/locales/fr/subscriber.json index 80a3175378..c58fcf201e 100644 --- a/website/common/locales/fr/subscriber.json +++ b/website/common/locales/fr/subscriber.json @@ -159,7 +159,7 @@ "needToUpdateCard": "Besoin de mettre à jour votre carte ?", "subMonths": "Mois d'abonnement", "subscriptionStats": "Statistiques d'abonnement", - "subscriptionInactiveDate": "Les bénéfices de votre abonnement deviendront inactifs le <%= date %>", + "subscriptionInactiveDate": "Les bénéfices de votre abonnement deviendront inactifs le
<%= date %>", "subscriptionCanceled": "Votre abonnement est annulé", "youAreSubscribed": "Vous bénéficiez d'un abonnement à Habitica", "doubleDropCap": "Double le butin", @@ -216,5 +216,13 @@ "mysterySet202209": "Ensemble d'étude de magie", "mysterySet202210": "Ensemble ophidien inquiétant", "mysterySet202211": "Ensemble d'électromancie", - "mysterySet202212": "Ensemble de Garde des glaces" + "mysterySet202212": "Ensemble de garde des glaces", + "mysterySet202301": "Ensemble de vulpin vaillant", + "haveNonRecurringSub": "Vous avez un abonnement non récurrent cadeau.", + "switchToRecurring": "Passer à un abonnement récurrent ?", + "continueGiftSubBenefits": "Vous voulez faire perdurer vos avantages ? Vous pouvez commencer un nouvel abonnement avant que votre abonnement cadeau se termine pour conserver vos avantages.", + "subscriptionCreditConversion": "Commencer un nouvel abonnement convertira vos mois restants en crédit qui seront utilisés à l'annulation de votre abonnement récurrent.", + "mysterySet202302": "Ensemble de chat-tigré rusé", + "mysterySet202303": "Ensemble du perso principal", + "mysterySet202304": "Ensemble de théière tip-top" } diff --git a/website/common/locales/fy/groups.json b/website/common/locales/fy/groups.json index 774b9c8ce1..de4e7a2bb7 100755 --- a/website/common/locales/fy/groups.json +++ b/website/common/locales/fy/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ga/achievements.json b/website/common/locales/ga/achievements.json index 6026f400c0..d20791621e 100755 --- a/website/common/locales/ga/achievements.json +++ b/website/common/locales/ga/achievements.json @@ -108,5 +108,9 @@ "onboardingComplete": "Chuir tú do thascanna ar bord i gcrích!", "earnedAchievement": "Ghnóthaigh tú éacht!", "viewAchievements": "Féach ar Éachtaí", - "letsGetStarted": "Ar aghaidh linn!" + "letsGetStarted": "Ar aghaidh linn!", + "achievementMindOverMatter": "Aigne Thar Ábhar", + "achievementZodiacZookeeperText": "Tagtha amach gach dathanna caighdeánach de na peataí stoidiaca: Francach, Bó, Coinín, Nathair, Capall, Caoirigh, Moncaí, Coileach, Mac tíre, Tíogar, Muc ag Eitilt, agus Dragan!", + "achievementBirdsOfAFeather": "Éin Cleite", + "achievementBirdsOfAFeatherModalText": "Bhailigh tú na peataí eitilte go léir!" } diff --git a/website/common/locales/ga/death.json b/website/common/locales/ga/death.json index ffdde6730e..f1b56ebe28 100755 --- a/website/common/locales/ga/death.json +++ b/website/common/locales/ga/death.json @@ -1,6 +1,6 @@ { "lostAllHealth": "You ran out of Health!", - "dontDespair": "Don't despair!", + "dontDespair": "Ná éadóchas!", "deathPenaltyDetails": "You lost a Level, your Gold, and a piece of Equipment, but you can get them all back with hard work! Good luck--you'll do great.", "refillHealthTryAgain": "Refill Health & Try Again", "dyingOftenTips": "Is this happening often? Here are some tips!", @@ -14,4 +14,4 @@ "lowHealthTips4": "If a Daily isn't due on a certain day, you can disable it by clicking the pencil icon.", "goodLuck": "Good luck!", "cannotRevive": "Cannot revive if not dead" -} \ No newline at end of file +} diff --git a/website/common/locales/ga/defaulttasks.json b/website/common/locales/ga/defaulttasks.json index 27977ebc84..2026e0c30f 100755 --- a/website/common/locales/ga/defaulttasks.json +++ b/website/common/locales/ga/defaulttasks.json @@ -10,10 +10,11 @@ "defaultReward2Text": "Reward yourself", "defaultReward2Notes": "Watch TV, play a game, eat a treat, it's up to you!", "defaultTag1": "Work", - "defaultTag2": "Exercise", + "defaultTag2": "Aclaíocht", "defaultTag3": "Health + Wellness", - "defaultTag4": "School", + "defaultTag4": "Scoil", "defaultTag5": "Teams", "defaultTag6": "Chores", - "defaultTag7": "Creativity" + "defaultTag7": "Cruthaitheacht", + "workHabitMail": "Ríomhphost a phróiseáil" } diff --git a/website/common/locales/ga/gear.json b/website/common/locales/ga/gear.json index 3c71803a4f..50fa12c39b 100755 --- a/website/common/locales/ga/gear.json +++ b/website/common/locales/ga/gear.json @@ -1741,5 +1741,11 @@ "eyewearArmoirePlagueDoctorMaskNotes": "An authentic mask worn by the doctors who battle the Plague of Procrastination. Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Plague Doctor Set (Item 2 of 3).", "eyewearArmoireGoofyGlassesText": "Goofy Glasses", "eyewearArmoireGoofyGlassesNotes": "Perfect for going incognito or just making your partymates giggle. Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.", - "twoHandedItem": "Two-handed item." + "twoHandedItem": "Two-handed item.", + "eyewearArmoireTragedyMaskText": "Traigéide Masc", + "eyewearArmoireComedyMaskText": "masc coiméide", + "armorArmoirePirateOutfitText": "feisteas foghlaí mara", + "eyewearArmoireClownsNoseText": "srón bobaide", + "armorArmoireBlueMoonShozokuText": "Cathéide Ghorm Gealach", + "armorArmoireJadeArmorText": "Cathéide Séad" } diff --git a/website/common/locales/ga/generic.json b/website/common/locales/ga/generic.json index 8c09b2283e..47f4338e42 100755 --- a/website/common/locales/ga/generic.json +++ b/website/common/locales/ga/generic.json @@ -3,8 +3,8 @@ "stringNotFound": "Teaghrán '<%= string %>' Ní bhfuarthas an.", "habitica": "Habitica", "onward": "Onward!", - "done": "Done", - "gotIt": "Got it!", + "done": "Déanta", + "gotIt": "Fuair sé!", "titleTimeTravelers": "Time Travelers", "titleSeasonalShop": "Seasonal Shop", "saveEdits": "Save Edits", diff --git a/website/common/locales/ga/groups.json b/website/common/locales/ga/groups.json index 381bda387c..7c9bf3e04c 100755 --- a/website/common/locales/ga/groups.json +++ b/website/common/locales/ga/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ga/inventory.json b/website/common/locales/ga/inventory.json index f9730a68bd..4feb2cb517 100755 --- a/website/common/locales/ga/inventory.json +++ b/website/common/locales/ga/inventory.json @@ -1,8 +1,8 @@ { - "noItemsAvailableForType": "You have no <%= type %>.", - "foodItemType": "Food", - "eggsItemType": "Eggs", - "hatchingPotionsItemType": "Hatching Potions", - "specialItemType": "Special items", - "lockedItem": "Locked Item" + "noItemsAvailableForType": "You have no <%= type %>.", + "foodItemType": "Food", + "eggsItemType": "Uibheacha", + "hatchingPotionsItemType": "Hatching Potions", + "specialItemType": "Special items", + "lockedItem": "Locked Item" } diff --git a/website/common/locales/ga/merch.json b/website/common/locales/ga/merch.json index f6b6b3fecf..ac7f81253f 100755 --- a/website/common/locales/ga/merch.json +++ b/website/common/locales/ga/merch.json @@ -1,3 +1,3 @@ { - "merch" : "Merchandise" + "merch": "Earraí" } diff --git a/website/common/locales/ga/pets.json b/website/common/locales/ga/pets.json index 0967ef424b..14340742bd 100644 --- a/website/common/locales/ga/pets.json +++ b/website/common/locales/ga/pets.json @@ -1 +1,16 @@ -{} +{ + "pets": "Peataí", + "etherealLion": "Leon Ainglí", + "phoenix": "Fénics", + "eggs": "Ubheacha", + "eggSingular": "ubh", + "stable": "Stábla", + "veteranTiger": "Tíogar Seansaighdiúir", + "orca": "Cráin Dhubh", + "veteranFox": "Sionnach Seansaighdiúir", + "veteranLion": "Leon Seansaighdiúir", + "mantisShrimp": "Séacla Maintise", + "veteranBear": "Béar Seansaighdiúir", + "mammoth": "Mamat Lonrach", + "hydra": "Hiodra" +} diff --git a/website/common/locales/gl/achievements.json b/website/common/locales/gl/achievements.json index 1b49b362e6..a2c9f7aab5 100755 --- a/website/common/locales/gl/achievements.json +++ b/website/common/locales/gl/achievements.json @@ -1,21 +1,154 @@ { "achievement": "Logro", "onwards": "Adiante!", - "levelup": "", - "reachedLevel": "", - "achievementLostMasterclasser": "Quest Completionist: Masterclasser Series", - "achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!", - "showAllAchievements": "Mostrar Todo de <%= category %>", - "onboardingCompleteDesc": "Conseguiches 5 Logros e 100 Pezas de Oro por completar a lista.", - "onboardingCompleteDescSmall": "¡Se aínda queres máis, mira os Logros e empeza a coleccionar!", - "hideAchievements": "Ocultar <%= category %>", - "onboardingComplete": "¡Completaches as tarefas de iniciación!", - "earnedAchievement": "¡Conseguiches un Logro!", - "viewAchievements": "Ver Logros", - "letsGetStarted": "¡Empecemos!", - "yourProgress": "O teu Progreso", - "onboardingProgress": "<%= percentage %> % progreso", - "gettingStartedDesc": "¡Completa as tarefas de iniciación e conseguirás 5 Logros e 100 Pezas de Oro cando as termines!", - "yourRewards": "As túas Recompensas", - "achievementDomesticated": "Ía, ía, oh" + "levelup": "Ao cumprires as túas metas na realidade subiches de nivel e recuperaches toda a vida!", + "reachedLevel": "Acadaches o nivel <%= level %>", + "achievementLostMasterclasser": "Coleccionista de misións: serie de clase mestra", + "achievementLostMasterclasserText": "Completou as dezaseis misións da serie de misións de clase mestra e resolveu o misterio da clase mestra perdida!", + "showAllAchievements": "Amosalo todo de <%= category %>", + "onboardingCompleteDesc": "Gañaches 5 logros e 100 de ouro por completar a lista.", + "onboardingCompleteDescSmall": "Se aínda queres máis, mira os Logros e empeza a coleccionar!", + "hideAchievements": "Agochar <%= category %>", + "onboardingComplete": "Completaches as tarefas de iniciación!", + "earnedAchievement": "Gañaches un logro!", + "viewAchievements": "Ver os logros", + "letsGetStarted": "Comecemos!", + "yourProgress": "O teu progreso", + "onboardingProgress": "<%= percentage %>% de progreso", + "gettingStartedDesc": "Completa as tarefas de iniciación e conseguirás 5 logros e 100 de ouro cando remates!", + "yourRewards": "As túas recompensas", + "achievementDomesticated": "Ía, ía, oh", + "achievementSeeingRedText": "Reuniu todas as mascotas vermellas.", + "achievementUndeadUndertakerModalText": "Domaches todas as monturas zombi!", + "achievementAllThatGlittersModalText": "Domaches todas as monturas douradas!", + "achievementSkeletonCrewModalText": "Domaches todas as monturas esqueléticas!", + "achievementAllYourBase": "Toda a base", + "achievementGroupsBeta2022": "Proba interactiva", + "achievementGroupsBeta2022Text": "Ti e mailo teu grupo fornecestes información valiosa para axudar a probar Habitica.", + "achievementPolarPro": "Profesional polar", + "achievementPolarProModalText": "Reuniches todas as mascotas polares!", + "achievementWoodlandWizard": "Maxia forestal", + "achievementWoodlandWizardText": "Fixo nacer as criaturas forestais estándar: teixugo, oso, cervo, raposo, ra, ourizo, curuxa, caracol, esquío e arbusto!", + "achievementWoodlandWizardModalText": "Reuniches todas as mascotas forestais!", + "achievementPlantParent": "Coidado de plantas", + "achievementPlantParentText": "Fixo nacer todas as mascotas planta estándar: cacto e arbusto!", + "achievementPlantParentModalText": "Reuniches todas as mascotas planta!", + "achievementReptacularRumble": "Reptante", + "achievementReptacularRumbleModalText": "Reuniches todas as mascotas réptiles!", + "achievementReptacularRumbleText": "Fixo nacer todas as mascotas réptiles: caimán, pterodáctilo, serpe, triceratops, tartaruga, tiranosauro e velociraptor!", + "achievementLegendaryBestiary": "Bestiario lendario", + "achievementBackToBasicsModalText": "Reuniches todas as mascotas básicas!", + "achievementVioletsAreBlueText": "Reuniu todas as mascotas de cor azul algodón de azucre.", + "achievementWildBlueYonderModalText": "Domaches todas as monturas de cor azul algodón de azucre!", + "achievementDustDevilText": "Reuniu todas as mascotas do deserto.", + "achievementFedPetText": "Deu de comer á súa primeira mascota.", + "achievementUndeadUndertakerText": "Domou todas as monturas zombi.", + "achievementTickledPink": "Debilidade polo rosa", + "foundNewItems": "Atopaches obxectos novos!", + "achievementBareNecessitiesModalText": "Completaches as misións de mascotas de mono, preguiceiro e arbusto!", + "achievementWildBlueYonderText": "Domou todas as monturas de cor azul algodón de azucre.", + "achievementMindOverMatter": "A mente sobre a materia", + "achievementGoodAsGold": "A prezo de ouro", + "achievementAllYourBaseText": "Domou todas as monturas básicas.", + "achievementFedPet": "Dá de comer a unha mascota", + "achievementRosyOutlookText": "Domou todas as monturas de cor rosa algodón de azucre.", + "achievementVioletsAreBlue": "As violetas son azuis", + "achievementBugBonanza": "Bonanza de bichos", + "achievementJustAddWater": "Bótalle auga", + "achievementBackToBasics": "Volta aos fundamentos", + "achievementRedLetterDayText": "Domou todas as monturas vermellas.", + "achievementPurchasedEquipment": "Mercar unha peza de equipamento", + "achievementSkeletonCrewText": "Domou todas as monturas esqueléticas.", + "achievementMindOverMatterText": "Completou as misións de mascotas de rocha, baba e la.", + "achievementUndeadUndertaker": "Sepulcro non morto", + "achievementMonsterMagusModalText": "Reuniches todas as mascotas zombi!", + "achievementBugBonanzaText": "Completou as misións de mascotas de escaravello, bolboreta, caracol e araña.", + "achievementSkeletonCrew": "Banda esquelética", + "achievementCompletedTaskText": "Completou a súa primeira tarefa.", + "achievementFreshwaterFriends": "Amizades de auga doce", + "achievementSeasonalSpecialistText": "Completou todas as misións estacionais de primavera e inverno: caza de ovos, Apalpador trampulleiro e atopar a cría!", + "foundNewItemsExplanation": "Completar tarefas dáche a oportunidade de atopar obxectos, como ovos, pocións de eclosión e penso.", + "achievementMonsterMagusText": "Reuniu todas as mascotas zombi.", + "achievementLostMasterclasserModalText": "Completaches as dezaseis misións da serie de misións de clase mestra e resolviches o misterio da clase mestra perdida!", + "achievementFreshwaterFriendsModalText": "Completaches as misións de mascotas de axolote, ra e hipopótamo!", + "achievementGoodAsGoldText": "Reuniu todas as mascotas douradas.", + "achievementBoneCollector": "Colección de ósos", + "achievementGoodAsGoldModalText": "Reuniches todas as mascotas douradas!", + "achievementRosyOutlook": "Futuro rosa", + "achievementAllThatGlittersText": "Domou todas as monturas douradas.", + "achievementKickstarter2019": "Patrocinio en Kickstarter de broche", + "achievementAllThatGlitters": "Todo o que brilla", + "achievementBareNecessities": "Necesitades vitais", + "achievementRosyOutlookModalText": "Domaches todas as monturas de cor rosa algodón de azucre!", + "achievementAllYourBaseModalText": "Domaches todas as monturas básicas!", + "achievementDustDevil": "Control das areas", + "achievementCreatedTaskModalText": "Engade unha tarefa para algo que queiras conseguir esta semana", + "achievementMonsterMagus": "Maxia monstruosa", + "achievementCompletedTask": "Completar unha tarefa", + "achievementBoneCollectorText": "Reuniu todas as mascotas esqueléticas.", + "achievementPurchasedEquipmentText": "Mercou a súa primeira peza de equipamento.", + "achievementFedPetModalText": "Hai moitos tipos de penso, pero as mascotas poden ser esixentes", + "achievementHatchedPetModalText": "Vai ao teu inventario e proba a xuntar unha poción de eclosión e un ovo", + "achievementAridAuthority": "Autoridade árida", + "achievementJustAddWaterText": "Completou as misións de mascotas de polbo, cabalo de mar, lura, balea, tartaruga, lesma, serpe mariña e golfiño.", + "achievementPrimedForPaintingText": "Reuniu todas as mascotas brancas.", + "achievementRedLetterDayModalText": "Domaches todas as monturas vermellas!", + "achievementPearlyProText": "Domou todas as monturas brancas.", + "achievementBareNecessitiesText": "Completou as misións de mascotas de mono, preguiceiro e arbusto.", + "achievementCompletedTaskModalText": "Marca calquera tarefa para conseguir recompensas", + "achievementJustAddWaterModalText": "Completaches as misións de mascotas de polbo, cabalo de mar, lura, balea, tartaruga, lesma, serpe mariña e golfiño!", + "achievementPartyOn": "O teu equipo chegou ás 4 persoas!", + "achievementDomesticatedModalText": "Reuniches todas as mascotas domesticadas!", + "achievementSeasonalSpecialist": "Especialista estacional", + "achievementBirdsOfAFeather": "Peso pluma", + "achievementBirdsOfAFeatherModalText": "Reuniches todas as mascotas voadoras!", + "achievementHatchedPetText": "Fixo nacer a súa primeira mascota.", + "achievementHatchedPet": "Fai nacer unha mascota", + "achievementBirdsOfAFeatherText": "Reuniu todas as mascotas voadoras: porco voador, curuxa, papagaio, pterodáctilo, grifón, falcón, pavón e galo!", + "achievementWildBlueYonder": "De sangue azul", + "achievementBoneToPick": "Saco de ósos", + "achievementBoneToPickModalText": "Reuniches todas as mascotas esqueléticas clásicas e de misión!", + "achievementShadyCustomer": "Parasol", + "achievementShadyCustomerText": "Reuniu todas as mascotas de sombra.", + "achievementShadyCustomerModalText": "Reuniches todas as mascotas de sombra!", + "achievementShadeOfItAllText": "Domou todas as monturas de sombra.", + "achievementShadeOfItAllModalText": "Domaches todas as monturas de sombra!", + "foundNewItemsCTA": "Vai ao teu inventario e proba a xuntar a túa nova poción de eclosión e o teu novo ovo!", + "achievementMindOverMatterModalText": "Completaches as misións de mascotas de rocha, baba e la!", + "achievementBackToBasicsText": "Reuniu todas as mascotas básicas.", + "achievementDustDevilModalText": "Reuniches todas as mascotas do deserto!", + "achievementPartyUp": "Fixeches equipo cunha persoa!", + "achievementAridAuthorityText": "Domou todas as monturas do deserto.", + "achievementAridAuthorityModalText": "Domaches todas as monturas do deserto!", + "achievementKickstarter2019Text": "Patrocinou o proxecto en Kickstarter de broche de 2019", + "achievementCreatedTask": "Crea a túa primeira tarefa", + "achievementCreatedTaskText": "Creou a súa primeira tarefa.", + "achievementPurchasedEquipmentModalText": "O equipamento é unha forma de personalizar o teu avatar e mellorar a túa condición", + "achievementPrimedForPainting": "Listo para pintar", + "achievementPrimedForPaintingModalText": "Reuniches todas as mascotas brancas!", + "achievementPearlyPro": "Profesional das perlas", + "achievementPearlyProModalText": "Domaches todas as monturas brancas!", + "achievementTickledPinkText": "Reuniu todas as mascotas de cor rosa algodón de azucre.", + "achievementTickledPinkModalText": "Reuniches todas as mascotas de cor rosa algodón de azucre!", + "achievementBugBonanzaModalText": "Completaches as misións de mascotas de escaravello, bolboreta, caracol e araña!", + "achievementFreshwaterFriendsText": "Completou as misións de mascotas de axolote, ra e hipopótamo.", + "achievementBoneCollectorModalText": "Reuniches todas as mascotas esqueléticas!", + "achievementSeeingRed": "Todo vermello", + "achievementSeeingRedModalText": "Reuniches todas as mascotas vermellas!", + "achievementRedLetterDay": "Día das cartas vermellas", + "achievementLegendaryBestiaryText": "Fixo nacer todas as mascotas místicas estándar: dragón, porco voador, grifón, serpe mariña e unicornio!", + "achievementLegendaryBestiaryModalText": "Reuniches todas as mascotas míticas!", + "achievementSeasonalSpecialistModalText": "Completaches todas as misións estacionais!", + "achievementVioletsAreBlueModalText": "Reuniches todas as mascotas de cor azul algodón de azucre!", + "achievementDomesticatedText": "Fixo nacer todas as mascotas domesticadas estándar: tourón, cobaia, galo, porco voador, rata, coello, cabalo e vaca!", + "achievementShadeOfItAll": "A sombra de todo", + "achievementZodiacZookeeper": "Zoo do zodíaco", + "achievementZodiacZookeeperText": "Fixo nacer todas as mascotas do zodíaco: rata, vaca, coello, serpe, cabalo, ovella, mono, galo, lobo, tigre, porco voador e dragón!", + "achievementZodiacZookeeperModalText": "Reuniches todas as mascotas do zodíaco!", + "achievementGroupsBeta2022ModalText": "Ti e mailo teu grupo axudastes a Habitica probando e informando!", + "achievementBoneToPickText": "Fixo nacer todas as mascotas esqueléticas clásicas e de misión!", + "achievementPolarProText": "Fixo nacer todas as mascotas polares estándar: oso, raposo, pingüín, balea e lobo!", + "achievementDinosaurDynasty": "Dinastía de dinosauros", + "achievementDinosaurDynastyModalText": "Reuniches todas as mascotas aves e dinosauros!", + "achievementDinosaurDynastyText": "Fixo nacer todas as cores estándar de mascotas aves e dinosauros: falcón, curuxa, papagaio, pavón, pingüín, galo, pterodáctilo, tiranosauro, triceratops e velociraptor!" } diff --git a/website/common/locales/gl/backgrounds.json b/website/common/locales/gl/backgrounds.json index 0ee569968a..3e85e43999 100755 --- a/website/common/locales/gl/backgrounds.json +++ b/website/common/locales/gl/backgrounds.json @@ -192,7 +192,7 @@ "backgroundMountainPyramidText": "Pirámide Montaña", "backgroundMountainPyramidNotes": "Sube os numerosos escalóns dunha Pirámide Montaña.", "backgroundStormyShipText": "Nave Tormentosa", - "backgroundStormyShipNotes": "Agárrate firmemente contra o vento e monta a bordo dunha Nave Tormentosa", + "backgroundStormyShipNotes": "Agárrate firmemente contra o vento e monta a bordo dunha Nave Tormentosa.", "backgrounds092016": "LOTE 28: Saída en setembro de 2016", "backgroundCornfieldsText": "Campos de Millo", "backgroundCornfieldsNotes": "Goza dun bonito día nos Campos de Millo.", @@ -204,110 +204,110 @@ "backgroundSpiderWebText": "Tea de Araña", "backgroundSpiderWebNotes": "Queda atrapad@ nunha Tea de Araña.", "backgroundStrangeSewersText": "Sumidoiro Estraño", - "backgroundStrangeSewersNotes": "Deslízate polo Sumidoiro Estraño", + "backgroundStrangeSewersNotes": "Deslízate polo Sumidoiro Estraño.", "backgroundRainyCityText": "Vila Chuviosa", - "backgroundRainyCityNotes": "Salta nos charcos dunha Vila Chuviosa", - "backgrounds112016": "SET 30: Released November 2016", - "backgroundMidnightCloudsText": "Midnight Clouds", - "backgroundMidnightCloudsNotes": "Fly through the Midnight Clouds.", - "backgroundStormyRooftopsText": "Stormy Rooftops", - "backgroundStormyRooftopsNotes": "Creep across Stormy Rooftops.", - "backgroundWindyAutumnText": "Windy Autumn", - "backgroundWindyAutumnNotes": "Chase leaves during a Windy Autumn.", - "incentiveBackgrounds": "Plain Background Set", + "backgroundRainyCityNotes": "Salta nos charcos dunha Vila Chuviosa.", + "backgrounds112016": "", + "backgroundMidnightCloudsText": "", + "backgroundMidnightCloudsNotes": "", + "backgroundStormyRooftopsText": "", + "backgroundStormyRooftopsNotes": "", + "backgroundWindyAutumnText": "", + "backgroundWindyAutumnNotes": "", + "incentiveBackgrounds": "", "backgroundVioletText": "Violeta", - "backgroundVioletNotes": "A vibrant violet backdrop.", + "backgroundVioletNotes": "", "backgroundBlueText": "Azul", - "backgroundBlueNotes": "A basic blue backdrop.", + "backgroundBlueNotes": "", "backgroundGreenText": "Green", - "backgroundGreenNotes": "A great green backdrop.", + "backgroundGreenNotes": "", "backgroundPurpleText": "Púrpura", - "backgroundPurpleNotes": "A pleasant purple backdrop.", + "backgroundPurpleNotes": "", "backgroundRedText": "Red", - "backgroundRedNotes": "A rad red backdrop.", + "backgroundRedNotes": "", "backgroundYellowText": "Amarelo", - "backgroundYellowNotes": "A yummy yellow backdrop.", - "backgrounds122016": "SET 31: Released December 2016", - "backgroundShimmeringIcePrismText": "Shimmering Ice Prisms", - "backgroundShimmeringIcePrismNotes": "Dance through the Shimmering Ice Prisms.", - "backgroundWinterFireworksText": "Winter Fireworks", - "backgroundWinterFireworksNotes": "Set off Winter Fireworks.", - "backgroundWinterStorefrontText": "Winter Shop", - "backgroundWinterStorefrontNotes": "Purchase presents from a Winter Shop.", - "backgrounds012017": "SET 32: Released January 2017", + "backgroundYellowNotes": "", + "backgrounds122016": "", + "backgroundShimmeringIcePrismText": "", + "backgroundShimmeringIcePrismNotes": "", + "backgroundWinterFireworksText": "", + "backgroundWinterFireworksNotes": "", + "backgroundWinterStorefrontText": "", + "backgroundWinterStorefrontNotes": "", + "backgrounds012017": "", "backgroundBlizzardText": "Xistra", - "backgroundBlizzardNotes": "Brave a fierce Blizzard.", - "backgroundSparklingSnowflakeText": "Sparkling Snowflake", - "backgroundSparklingSnowflakeNotes": "Glide on a Sparkling Snowflake.", - "backgroundStoikalmVolcanoesText": "Stoïkalm Volcanoes", - "backgroundStoikalmVolcanoesNotes": "Explore the Stoïkalm Volcanoes.", - "backgrounds022017": "SET 33: Released February 2017", - "backgroundBellTowerText": "Bell Tower", - "backgroundBellTowerNotes": "Climb to the Bell Tower.", - "backgroundTreasureRoomText": "Treasure Room", - "backgroundTreasureRoomNotes": "Bask in the wealth of a Treasure Room.", - "backgroundWeddingArchText": "Wedding Arch", - "backgroundWeddingArchNotes": "Pose under the Wedding Arch.", - "backgrounds032017": "SET 34: Released March 2017", - "backgroundMagicBeanstalkText": "Magic Beanstalk", - "backgroundMagicBeanstalkNotes": "Ascend a Magic Beanstalk.", - "backgroundMeanderingCaveText": "Meandering Cave", - "backgroundMeanderingCaveNotes": "Explore the Meandering Cave.", - "backgroundMistiflyingCircusText": "Mistiflying Circus", - "backgroundMistiflyingCircusNotes": "Carouse in the Mistiflying Circus.", - "backgrounds042017": "SET 35: Released April 2017", - "backgroundBugCoveredLogText": "Bug-Covered Log", - "backgroundBugCoveredLogNotes": "Investigate a Bug-Covered Log.", - "backgroundGiantBirdhouseText": "Giant Birdhouse", - "backgroundGiantBirdhouseNotes": "Perch in a Giant Birdhouse.", - "backgroundMistShroudedMountainText": "Mist-Shrouded Mountain", - "backgroundMistShroudedMountainNotes": "Summit a Mist-Shrouded Mountain.", - "backgrounds052017": "SET 36: Released May 2017", - "backgroundGuardianStatuesText": "Guardian Statues", - "backgroundGuardianStatuesNotes": "Stand vigil in front of Guardian Statues.", - "backgroundHabitCityStreetsText": "Habit City Streets", - "backgroundHabitCityStreetsNotes": "Explore the Streets of Habit City.", - "backgroundOnATreeBranchText": "On a Tree Branch", - "backgroundOnATreeBranchNotes": "Perch On a Tree Branch.", - "backgrounds062017": "SET 37: Released June 2017", - "backgroundBuriedTreasureText": "Buried Treasure", - "backgroundBuriedTreasureNotes": "Unearth Buried Treasure.", - "backgroundOceanSunriseText": "Ocean Sunrise", - "backgroundOceanSunriseNotes": "Admire an Ocean Sunrise.", + "backgroundBlizzardNotes": "", + "backgroundSparklingSnowflakeText": "", + "backgroundSparklingSnowflakeNotes": "", + "backgroundStoikalmVolcanoesText": "", + "backgroundStoikalmVolcanoesNotes": "", + "backgrounds022017": "", + "backgroundBellTowerText": "", + "backgroundBellTowerNotes": "", + "backgroundTreasureRoomText": "", + "backgroundTreasureRoomNotes": "", + "backgroundWeddingArchText": "", + "backgroundWeddingArchNotes": "", + "backgrounds032017": "", + "backgroundMagicBeanstalkText": "", + "backgroundMagicBeanstalkNotes": "", + "backgroundMeanderingCaveText": "", + "backgroundMeanderingCaveNotes": "", + "backgroundMistiflyingCircusText": "", + "backgroundMistiflyingCircusNotes": "", + "backgrounds042017": "", + "backgroundBugCoveredLogText": "", + "backgroundBugCoveredLogNotes": "", + "backgroundGiantBirdhouseText": "", + "backgroundGiantBirdhouseNotes": "", + "backgroundMistShroudedMountainText": "", + "backgroundMistShroudedMountainNotes": "", + "backgrounds052017": "", + "backgroundGuardianStatuesText": "", + "backgroundGuardianStatuesNotes": "", + "backgroundHabitCityStreetsText": "", + "backgroundHabitCityStreetsNotes": "", + "backgroundOnATreeBranchText": "", + "backgroundOnATreeBranchNotes": "", + "backgrounds062017": "", + "backgroundBuriedTreasureText": "", + "backgroundBuriedTreasureNotes": "", + "backgroundOceanSunriseText": "", + "backgroundOceanSunriseNotes": "", "backgroundSandcastleText": "Castelo de area", - "backgroundSandcastleNotes": "Rule over a Sandcastle.", - "backgrounds072017": "SET 38: Released July 2017", - "backgroundGiantSeashellText": "Giant Seashell", - "backgroundGiantSeashellNotes": "Lounge in a Giant Seashell.", - "backgroundKelpForestText": "Kelp Forest", - "backgroundKelpForestNotes": "Swim through a Kelp Forest.", - "backgroundMidnightLakeText": "Midnight Lake", - "backgroundMidnightLakeNotes": "Rest by a Midnight Lake.", - "backgrounds082017": "SET 39: Released August 2017", - "backgroundBackOfGiantBeastText": "Back of a Giant Beast", - "backgroundBackOfGiantBeastNotes": "Ride on the Back of a Giant Beast.", - "backgroundDesertDunesText": "Desert Dunes", - "backgroundDesertDunesNotes": "Boldly explore the Desert Dunes.", - "backgroundSummerFireworksText": "Summer Fireworks", - "backgroundSummerFireworksNotes": "Celebrate Habitica's Naming Day with Summer Fireworks!", - "backgrounds092017": "SET 40: Released September 2017", - "backgroundBesideWellText": "Beside a Well", - "backgroundBesideWellNotes": "Stroll Beside a Well.", - "backgroundGardenShedText": "Garden Shed", - "backgroundGardenShedNotes": "Work in a Garden Shed.", - "backgroundPixelistsWorkshopText": "Pixelist's Workshop", - "backgroundPixelistsWorkshopNotes": "Create masterpieces in the Pixelist's Workshop.", - "backgrounds102017": "SET 41: Released October 2017", - "backgroundMagicalCandlesText": "Magical Candles", - "backgroundMagicalCandlesNotes": "Bask in the glow of Magical Candles.", - "backgroundSpookyHotelText": "Spooky Hotel", - "backgroundSpookyHotelNotes": "Sneak down the hall of a Spooky Hotel.", - "backgroundTarPitsText": "Tar Pits", - "backgroundTarPitsNotes": "Tiptoe through the Tar Pits.", - "backgrounds112017": "SET 42: Released November 2017", - "backgroundFiberArtsRoomText": "Fiber Arts Room", - "backgroundFiberArtsRoomNotes": "Spin thread in a Fiber Arts Room.", - "backgroundMidnightCastleText": "Midnight Castle", + "backgroundSandcastleNotes": "", + "backgrounds072017": "", + "backgroundGiantSeashellText": "", + "backgroundGiantSeashellNotes": "", + "backgroundKelpForestText": "", + "backgroundKelpForestNotes": "", + "backgroundMidnightLakeText": "", + "backgroundMidnightLakeNotes": "", + "backgrounds082017": "", + "backgroundBackOfGiantBeastText": "", + "backgroundBackOfGiantBeastNotes": "", + "backgroundDesertDunesText": "", + "backgroundDesertDunesNotes": "", + "backgroundSummerFireworksText": "", + "backgroundSummerFireworksNotes": "", + "backgrounds092017": "", + "backgroundBesideWellText": "", + "backgroundBesideWellNotes": "", + "backgroundGardenShedText": "", + "backgroundGardenShedNotes": "", + "backgroundPixelistsWorkshopText": "", + "backgroundPixelistsWorkshopNotes": "", + "backgrounds102017": "", + "backgroundMagicalCandlesText": "", + "backgroundMagicalCandlesNotes": "", + "backgroundSpookyHotelText": "", + "backgroundSpookyHotelNotes": "", + "backgroundTarPitsText": "", + "backgroundTarPitsNotes": "", + "backgrounds112017": "", + "backgroundFiberArtsRoomText": "", + "backgroundFiberArtsRoomNotes": "", + "backgroundMidnightCastleText": "", "backgroundMidnightCastleNotes": "Stroll by the Midnight Castle.", "backgroundTornadoText": "Tornado", "backgroundTornadoNotes": "Fly through a Tornado.", diff --git a/website/common/locales/gl/challenge.json b/website/common/locales/gl/challenge.json index 2d4ab72caa..79fbc1b100 100755 --- a/website/common/locales/gl/challenge.json +++ b/website/common/locales/gl/challenge.json @@ -1,93 +1,93 @@ { "challenge": "Desafío", - "challengeDetails": "Os Desafíos son eventos da comunidade nos que xugadores competen e ganan premios ao completar un grupo de tarefas relacionadas.", - "brokenChaLink": "O Enlace ao Desafío non funciona", - "brokenTask": "O Enlace ao Desafío non funciona: esta tarefa formaba parte dun desafío, pero quitárona. Que queres facer?", - "keepIt": "Gardala", - "removeIt": "Quitala", - "brokenChallenge": "O Enlace ao Desafío non funciona: esta tarefa formaba parte dun desafío, pero eliminouse o desafío (ou o grupo). Que queres facer coas tarefas orfas?", + "challengeDetails": "Os desafíos son eventos da comunidade nos que persoas compiten e gañan premios ao completar un grupo de tarefas relacionadas.", + "brokenChaLink": "A ligazón do desafío rompeu", + "brokenTask": "A ligazón do desafío rompeu: esta tarefa formaba parte dun desafío, pero retirárona del. Que queres facer?", + "keepIt": "Mantela", + "removeIt": "Retirala", + "brokenChallenge": "A ligazón do desafío rompeu: esta tarefa formaba parte dun desafío, pero o desafío (ou o grupo) eliminouse. Que facer coas tarefas orfas?", "keepThem": "Manter Tarefas", "removeThem": "Sacar Tarefas", - "challengeCompleted": "Este desafío completouse, e @ gañador(a) era <%- user %>! Que facemos coas tarefas orfas?", - "unsubChallenge": "O Enlace ao Desafío non funciona: esta tarefa formaba parte dun desafío, pero abandoaches o desafío. Que facemos coas tarefas orfas?", + "challengeCompleted": "Este desafío completouse, e gañou <%- user %>! Que facer coas tarefas orfas?", + "unsubChallenge": "A ligazón do desafío rompeu: esta tarefa formaba parte dun desafío, pero abandonaches o desafío. Que facer coas tarefas orfas?", "challenges": "Desafíos", "endDate": "Remata", - "selectWinner": "Selecciona @ gañador(a) e pecha o desafío:", - "endChallenge": "Acabar Desafío", + "selectWinner": "Selecciona quen gañou e pecha o desafío:", + "endChallenge": "Rematar o desafío", "filter": "Filtrar", "groups": "Grupos", "category": "Categoría", "membership": "Afiliación", "ownership": "Propiedade", "participating": "Participando", - "createChallenge": "Crear Desafío", - "createChallengeAddTasks": "Engadir Tarefas do Desafío", - "createChallengeCloneTasks": "Copiar Tarefas do Desafío", + "createChallenge": "Crear o desafío", + "createChallengeAddTasks": "Engadir tarefas ao desafío", + "createChallengeCloneTasks": "Clonar as tarefas do desafío", "addTaskToChallenge": "Engadir Tarefa", - "challengeTag": "Nome da Etiqueta", - "prize": "Prezo", + "challengeTag": "Nome da etiqueta", + "prize": "Premio", "prizePopTavern": "Se alguén pode \"gañar\" o teu desafío, podes darlle ao gañador un premio en Xemas. Máx = número de xemas que posúes. Nota: Este premio non pode modificarse logo e os desafíos da Taberna non serán reembolsados se o desafío se cancela.", - "publicChallengesTitle": "Desafíos Públicos", - "officialChallenge": "Desafío oficial Habitica", - "by": "por", - "participants": "<%= membercount %> Participantes", - "join": "Únete", + "publicChallengesTitle": "Desafíos públicos", + "officialChallenge": "Desafío oficial de Habitica", + "by": "de", + "participants": "<%= membercount %> participantes", + "join": "Unirse", "exportChallengeCSV": "Exportar a CSV", "challengeCreated": "Creouse o desafío", "sureDelCha": "Seguro que queres eliminar este desafío?", "sureDelChaTavern": "Seguro que queres eliminar este desafío? Non recuperarás as túas xemas.", - "keepTasks": "Gardar tarefas", - "owned": "Posuídas", - "not_owned": "De outros", + "keepTasks": "Manter as tarefas", + "owned": "Telo", + "not_owned": "Non o tes", "not_participating": "Non participas", "clone": "Clonar", "congratulations": "Noraboa!", "hurray": "Viva!", - "noChallengeOwner": "non ten dono", - "challengeMemberNotFound": "Usuari@ non atodpad@ entre os membros do desafío", - "onlyGroupLeaderChal": "Só pode crear desafíos o líder do grupo", - "tavChalsMinPrize": "O Premio dos Desafíos Públicos debe ser mínimo de 1 Xema.", + "noChallengeOwner": "de ninguén", + "challengeMemberNotFound": "Non se atopou entre as participantes do desafío", + "onlyGroupLeaderChal": "Só a persoa líder do grupo pode crear desafíos", + "tavChalsMinPrize": "Nos desafíos públicos o premio debe ser polo menos 1 xema.", "cantAfford": "Non podes permitirte este premio. Merca máis xemas ou baixa o importe do premio.", - "challengeIdRequired": "O \"challengeId\" debe ser un UUID válido.", - "winnerIdRequired": "O \"winnerId\" debe ser un UUID válido.", - "challengeNotFound": "Desafío non atopado ou non tes acceso.", - "onlyLeaderDeleteChal": "Só o líder do desafío pode eliminalo.", - "onlyLeaderUpdateChal": "Só o líder do desafío pode poñelo ao día.", - "winnerNotFound": "Gañador de id \"<%= userId %>\" non atopado ou non forma parte do desafío.", - "onlyChalLeaderEditTasks": "As tarefas pertencentes a un desafío só poden ser editadas polo líder.", - "userAlreadyInChallenge": "O usuario xa está participando neste desafío.", - "cantOnlyUnlinkChalTask": "Só se poden suprimir os vínculos dos desafíos se aqueles son non válidos.", - "joinedChallenge": "Uníuse a un Desafío", - "joinedChallengeText": "¡Este usuario púxose a proba uníndose a un Desafío!", - "myChallenges": "Os meus Desafíos", - "findChallenges": "Descubre Desafíos", - "noChallengeTitle": "Non tes Desafíos.", + "challengeIdRequired": "O «challengeId» debe ser un identificador único universal válido.", + "winnerIdRequired": "O «winnerId» debe ser un identificador único universal válido.", + "challengeNotFound": "Non se atopou o desafío ou non tes acceso.", + "onlyLeaderDeleteChal": "Só a persoa líder do desafío pode eliminalo.", + "onlyLeaderUpdateChal": "Só a persoa líder do desafío pode actualizalo.", + "winnerNotFound": "Non se atopou a persoa gañadora con identificador «<%= userId %>» ou non participa no desafío.", + "onlyChalLeaderEditTasks": "As tarefas pertencentes a un desafío só as pode editar a persoa líder.", + "userAlreadyInChallenge": "A persoa xa está participando neste desafío.", + "cantOnlyUnlinkChalTask": "Só se poden desligar as tarefas de desafíos rotos.", + "joinedChallenge": "Uniuse a un desafío", + "joinedChallengeText": "Esta persoa púxose a proba uníndose a un desafío!", + "myChallenges": "Os meus desafíos", + "findChallenges": "Descubrir desafíos", + "noChallengeTitle": "Non tes desafíos.", "challengeDescription1": "Os Desafíos son eventos da comunidade nos que xugadores competen e ganan premios ao completar un grupo de tarefas relacionadas.", - "challengeDescription2": "Atopa Desafíos recomendados en relación cos teus intereses, explora os Desafíos públicos de Habítica ou crea os teus propios Desafíos.", - "noChallengeMatchFilters": "No dimos encontrado ningún Desafío que coincida.", + "challengeDescription2": "Atopa desafíos recomendados segundo os teus intereses, explora os desafíos públicos de Habitica ou crea os teus propios desafíos.", + "noChallengeMatchFilters": "Non puidemos atopar ningún desafío que coincida.", "createdBy": "Creado por", - "joinChallenge": "Unirse ao Desafío", - "leaveChallenge": "Abandonar Desafío", - "addTask": "Engadir Tarefa", - "editChallenge": "Editar Desafío", - "challengeDescription": "Descrición do Desafío", - "selectChallengeWinnersDescription": "Elixe un ganador entre os participantes do Desafío", - "awardWinners": "Ganador do Premio", - "doYouWantedToDeleteChallenge": "¿Queres eliminar este Desafío?", - "deleteChallenge": "Borrar Desafío", - "challengeNamePlaceholder": "¿Cal é o nome do teu Desafío?", + "joinChallenge": "Unirse ao desafío", + "leaveChallenge": "Deixar o desafío", + "addTask": "Engadir a tarefa", + "editChallenge": "Editar o desafío", + "challengeDescription": "Descrición do desafío", + "selectChallengeWinnersDescription": "Escolle que participante do desafío gañou", + "awardWinners": "Persoa galardoada", + "doYouWantedToDeleteChallenge": "Queres eliminar este desafío?", + "deleteChallenge": "Eliminar o desafío", + "challengeNamePlaceholder": "Cal é o nome do teu desafío?", "challengeSummary": "Resumo", "challengeSummaryPlaceholder": "Escribe unha breve descrición para promover o teu desafío entre o resto de habitantes de Habitica. Cal é o propósito principal e por que debería unirse a xente? Procura incluír palabras clave útiles na descrición, para que a xente de Habitica poda atopalo facilmente ao buscar!", "challengeDescriptionPlaceholder": "Usa esta sección para dar máis detalles sobre o que a xente que participe debe saber sobre o desafío.", - "challengeGuild": "Add to", - "challengeMinimum": "Mínimo de 1 xema para os desafíos públicos (axuda a evitar o spam, de verdade).", + "challengeGuild": "Engadir a", + "challengeMinimum": "Mínimo de 1 xema para os desafíos públicos (axuda a evitar o contido non desexado, de verdade).", "participantsTitle": "Participantes", "shortName": "Nome curto", "shortNamePlaceholder": "Que etiqueta curta usar para identificar o teu desafío?", - "updateChallenge": "Update Challenge", + "updateChallenge": "Actualizar o desafío", "haveNoChallenges": "Este grupo non ten desafíos", "loadMore": "Cargar máis", - "exportChallengeCsv": "Export Challenge", + "exportChallengeCsv": "Exportar o desafío", "editingChallenge": "Editando o desafío", "nameRequired": "O nome é necesario", "tagTooShort": "O nome da etiqueta é curto de máis", @@ -96,13 +96,13 @@ "descriptionRequired": "A descrición é necesaria", "locationRequired": "O lugar do desafío é necesario («Engadir a»)", "categoiresRequired": "Debes seleccionar 1 ou máis categorías", - "viewProgressOf": "View Progress Of", - "viewProgress": "View Progress", + "viewProgressOf": "Ver o progreso de", + "viewProgress": "Ver o progreso", "selectMember": "Seleccionar da membresía", "confirmKeepChallengeTasks": "Queres manter as tarefas do desafío?", "selectParticipant": "Selecciona entre quen participa", - "yourReward": "A túa Recompensa", - "wonChallengeDesc": "¡<%= challengeName %> elixiute como ganador! A túa vitoria rexistrouse nos teus Logros.", + "yourReward": "A túa recompensa", + "wonChallengeDesc": "Gañaches <%= challengeName %>! A túa vitoria engadiuse aos teus logros.", "filters": "Filtros", - "removeTasks": "Sacar Tarefas" + "removeTasks": "Retirar as tarefas" } diff --git a/website/common/locales/gl/character.json b/website/common/locales/gl/character.json index 3804c1a1d5..356f86838f 100755 --- a/website/common/locales/gl/character.json +++ b/website/common/locales/gl/character.json @@ -1,185 +1,190 @@ { - "communityGuidelinesWarning": "", + "communityGuidelinesWarning": "Ten en conta que o teu nome visual, foto de perfil e introdución deben cumprir coas directrices da comunidade (p. ex. sen palabras malsoantes, temática adulta, insultos, etc.). Se non tes claro se algo é axeitado, podes enviar unha mensaxe de correo electrónico a <%= hrefBlankCommunityManagerEmail %>!", "profile": "Perfil", - "avatar": "Personalizar Avatar", + "avatar": "Personalizar o avatar", "editAvatar": "Editar o avatar", - "noDescription": "", - "noPhoto": "This Habitican hasn't added a photo.", - "other": "Outros", + "noDescription": "Esta persoa non engadiu unha descrición.", + "noPhoto": "Esta persoa non engadiu unha foto.", + "other": "Outras", "fullName": "Nome real", - "displayName": "Nome público", - "changeDisplayName": "Change Display Name", - "newDisplayName": "New Display Name", - "displayBlurbPlaceholder": "Preséntate, por favor", - "photoUrl": "Url da foto", - "imageUrl": "Url da imaxe", + "displayName": "Nome visual", + "changeDisplayName": "Cambiar o nome visual", + "newDisplayName": "Novo nome visual", + "displayBlurbPlaceholder": "Preséntate", + "photoUrl": "URL da foto", + "imageUrl": "URL da imaxe", "inventory": "Inventario", "social": "Social", - "lvl": "Nvl", - "buffed": "A tope", + "lvl": "Nivel", + "buffed": "Con bonificación", "bodyBody": "Corpo", "size": "Tamaño", "locked": "bloqueado", - "shirts": "Camisetas", + "shirts": "Camisas", "shirt": "Camisa", - "specialShirts": "Camisetas especiais", + "specialShirts": "Camisas especiais", "skin": "Pel", "color": "Cor", "hair": "Pelo", "bangs": "Floco", "hairBangs": "Franxa", "glasses": "Lentes", - "hairSet1": "Lote de Peiteados 1", - "hairSet2": "Lote de Peiteados 2", - "hairSet3": "Hairstyle Set 3", + "hairSet1": "Lote de peiteados 1", + "hairSet2": "Lote de peiteados 2", + "hairSet3": "Lote de peiteados 3", "bodyFacialHair": "Pelo facial", "beard": "Barba", "mustache": "Bigote", "flower": "Flor", - "accent": "Complemento", + "accent": "Acento", "headband": "Diadema", "wheelchair": "Cadeira de rodas", - "extra": "Extra", - "rainbowSkins": "Peles arcoiris", + "extra": "Adicional", + "rainbowSkins": "Peles coradas", "pastelSkins": "Peles pastel", - "spookySkins": "Peles terroríficas", - "supernaturalSkins": "Peles supernaturais", - "splashySkins": "Peles ostentosas", - "winterySkins": "Peles de inverno", - "rainbowColors": "Cores arcoiris", + "spookySkins": "Peles fantasmagóricas", + "supernaturalSkins": "Peles sobrenaturais", + "splashySkins": "Peles acuáticas", + "winterySkins": "Peles invernais", + "rainbowColors": "Cores variadas", "shimmerColors": "Cores brillantes", - "hauntedColors": "Cores Enmeigadas", + "hauntedColors": "Cores enmeigadas", "winteryColors": "Cores invernais", - "equipment": "Equipamentos", + "equipment": "Equipamento", "equipmentBonus": "Equipamento", - "classEquipBonus": "Bonus de Clase", - "battleGear": "Material de batalla", + "classEquipBonus": "Bonificación de clase", + "battleGear": "Equipamento de combate", "gear": "Equipamento", - "autoEquipBattleGear": "Equipar automaticamente novo material", - "costume": "Disfraz", - "useCostume": "Usar Disfraz", - "costumePopoverText": "Select \"Use Costume\" to equip items to your avatar without affecting the Stats from your Battle Gear! This means that you can dress up your avatar in whatever outfit you like while still having your best Battle Gear equipped.", - "autoEquipPopoverText": "Select this option to automatically equip gear as soon as you purchase it.", - "costumeDisabled": "You have disabled your costume.", - "gearAchievement": "Acabas de gañar o Logro \"Armadura Máxima\" por adquirires o lote máximo do material da túa clase! Acadaches os lotes completos seguintes:", - "gearAchievementNotification": "You have earned the \"Ultimate Gear\" Achievement for upgrading to the maximum gear set for a class!", - "moreGearAchievements": "To attain more Ultimate Gear badges, change classes on the Settings > Site page and buy your new class's gear!", - "armoireUnlocked": "For more equipment, check out the Enchanted Armoire! Click on the Enchanted Armoire Reward for a random chance at special Equipment! It may also give you random XP or food items.", - "ultimGearName": "Ultimate Gear - <%= ultClass %>", - "ultimGearText": "Has upgraded to the maximum weapon and armor set for the <%= ultClass %> class.", + "autoEquipBattleGear": "Equipar automaticamente novas pezas", + "costume": "Disfrace", + "useCostume": "Usar o disfrace", + "costumePopoverText": "Selecciona «Usar o disfrace» para equipar obxectos no teu avatar sen afectar á condición que te confire o equipamento de combate! Isto significa que podes vestir ao teu avatar como queiras ao tempo que mantés equipado o equipamento de combate.", + "autoEquipPopoverText": "Selecciona esta opción para equipar automaticamente pezas de equipamento ao compralas.", + "costumeDisabled": "Desactivaches o teu disfrace.", + "gearAchievement": "Acabas de gañar o logro «Equipamento definitivo» por adquirires o mellor lote de equipamento da túa clase! Levas conseguido os seguintes lotes completos:", + "gearAchievementNotification": "Acabas de gañar o logro «Equipamento definitivo» por adquirires o mellor lote de equipamento da túa clase!", + "moreGearAchievements": "Para conseguir máis medallas de «Equipamento definitivo», cambia de clase en Configuración → Sitio e merca o equipamento da túa nova clase!", + "armoireUnlocked": "Para máis equipamento, proba co armario encantado! Preme a recompensa do armario encantado para unha oportunidade aleatoria de conseguir equipamento especial! Tamén pode que consigas experiencia aleatoria ou penso.", + "ultimGearName": "Equipamento definitivo — <%= ultClass %>", + "ultimGearText": "Adquiriu o mellor lote de armas e armadura da clase <%= ultClass %>.", "level": "Nivel", "levelUp": "Subiches de nivel!", "gainedLevel": "Gañaches un nivel!", - "leveledUp": "Cumprindo os teus obxectivos na vida real, acabas de pasar ao Nivel <%= level %>!", + "leveledUp": "Cumprindo os teus obxectivos na realidade, acabas de pasar ao nivel <%= level %>!", "huzzah": "Viva!", "mana": "Maná", - "hp": "PS", - "mp": "PM", - "xp": "XP", - "health": "Saúde", - "allocateStr": "Puntos distribuídos á Forza:", - "allocateStrPop": "Add a Point to Strength", - "allocateCon": "Puntos distribuídos á Constitución:", - "allocateConPop": "Add a Point to Constitution", - "allocatePer": "Puntos distribuídos á Percepción:", - "allocatePerPop": "Add a Point to Perception", - "allocateInt": "Puntos distribuídos á Intelixencia:", - "allocateIntPop": "Add a Point to Intelligence", - "noMoreAllocate": "Now that you've hit level 100, you won't gain any more Stat Points. You can continue leveling up, or start a new adventure at level 1 by using the Orb of Rebirth, now available for free in the Market.", - "stats": "Estatísticas", + "hp": "Vida", + "mp": "Maná", + "xp": "Experiencia", + "health": "Vida", + "allocateStr": "Puntos asignados á forza:", + "allocateStrPop": "Engadir un punto á forza", + "allocateCon": "Puntos asignados á resistencia:", + "allocateConPop": "Engadir un punto á resistencia", + "allocatePer": "Puntos asignados á percepción:", + "allocatePerPop": "Engadir un punto á percepción", + "allocateInt": "Puntos asignados á intelixencia:", + "allocateIntPop": "Engadir un punto á intelixencia", + "noMoreAllocate": "Agora que chegaches ao nivel 100, non gañarás máis puntos de condición. Podes continuar subindo de nivel, ou empezar unha nova aventura no nivel 1 usando a orbe de renacemento, agora dispoñíbel de balde no mercado!", + "stats": "Condición", "achievs": "Logros", "strength": "Forza", - "strText": "Strength increases the chance of random \"critical hits\" and the Gold, Experience, and drop chance boost from them. It also helps deal damage to boss monsters.", - "constitution": "Constitución", - "conText": "A Constitución reduce o dano que recibes dos Hábitos negativos e dos Diarios faltados.", + "strText": "A forza aumenta a probabilidade de «golpes críticos» aleatorios coa súa correspondente bonificación de ouro, experiencia, e probabilidade de obxecto sorpresa. Tamén axuda a facer dano a monstros rivais.", + "constitution": "Resistencia", + "conText": "A resistencia reduce o dano que recibes dos malos hábitos e das tarefas diarias perdidas.", "perception": "Percepción", - "perText": "A Percepción aumenta o Ouro que gañas e, unha vez o Mercado desbloqueado, aumenta a probabilidade de atopar obxectos cando completas unha tarefa.", + "perText": "A percepción aumenta o ouro que gañas e, unha vez desbloqueado o mercado, aumenta a probabilidade de atopar obxectos cando completas unha tarefa.", "intelligence": "Intelixencia", - "intText": "A Intelixencia aumenta a Experiencia que gañas e, unha vez as Clases desbloqueadas, determina a cantidade máxima de Maná disponible para as capacidades da clase.", - "levelBonus": "Bonus de Nivel", - "allocatedPoints": "Puntos Distribuídos", - "allocated": "Distribuídos", - "buffs": "Bonus", - "characterBuild": "Construír Personaxe", + "intText": "A intelixencia aumenta a experiencia que gañas e, unha vez desbloqueadas as clases, determina a cantidade máxima de maná dispoñíbel para as habilidades da clase.", + "levelBonus": "Bonificación de nivel", + "allocatedPoints": "Puntos asignados", + "allocated": "Asignados", + "buffs": "Bonificación", + "characterBuild": "Cimentos da personaxe", "class": "Clase", "experience": "Experiencia", "warrior": "Pugnaz", - "healer": "Curandeir@", + "healer": "Albeite", "rogue": "Renarte", - "mage": "Mago", - "wizard": "Meigo", + "mage": "Maga", + "wizard": "Maga", "mystery": "Misterio", - "changeClass": "Change Class, Refund Stat Points", - "lvl10ChangeClass": "Para cambiar de clase tes que ser polo menos de nivel 10.", - "changeClassConfirmCost": "Are you sure you want to change your class for 3 Gems?", - "invalidClass": "Clase incorrecta. Escolla entre «pugnaz», «renarte», «mago» ou «sandador».", - "levelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options.", - "unallocated": "Unallocated Stat Points", - "autoAllocation": "Distribución automática", - "autoAllocationPop": "Places Points into Stats according to your preferences, when you level up.", - "evenAllocation": "Distribute Stat Points evenly", - "evenAllocationPop": "Assigns the same number of Points to each Stat.", - "classAllocation": "Distribute Points based on Class", - "classAllocationPop": "Assigns more Points to the Stats important to your Class.", - "taskAllocation": "Distribute Points based on task activity", - "taskAllocationPop": "Assigns Points based on the Strength, Intelligence, Constitution, and Perception categories associated with the tasks you complete.", - "distributePoints": "Distribuír Puntos non asignados", - "distributePointsPop": "Assigns all unallocated Stat Points according to the selected allocation scheme.", - "warriorText": "A xente pugnaz causa máis e mellores «golpes críticos», que ás veces conceden ouro, experiencia, e a probabilidade de atopar obxectos ao completar unha tarefa. Tamén inflixen moitas feridas aos monstros xefe. Escolle pugnaz se te motivan as recompensas sorpresa ou se queres repartir castañas nas misións contra xefes.", - "wizardText": "Mages learn swiftly, gaining Experience and Levels faster than other classes. They also get a great deal of Mana for using special abilities. Play a Mage if you enjoy the tactical game aspects of Habitica, or if you are strongly motivated by leveling up and unlocking advanced features!", - "mageText": "Mages learn swiftly, gaining Experience and Levels faster than other classes. They also get a great deal of Mana for using special abilities. Play a Mage if you enjoy the tactical game aspects of Habitica, or if you are strongly motivated by leveling up and unlocking advanced features!", - "rogueText": "É de renarte acumular riquezas; gañan máis ouro que ninguén, e atopan obxectos ao azar con facilidade. A súa icónica capacidade de disimulo permítelles evitar as consecuencias de tarefas diarias incompletas. Escolle renarte se te motivan as recompensas e os logros, e loitas polo botín e polas insignias!", - "healerText": "Os Curandeiros permanecen inmunes ante o perigo, e extenden a súa protección a outros. As tarefas Diarias incompletas e os malos Hábitos non lles afectan moito, e teñen maneiras de recuperaren Saúde cando fallan. Escolle o Curandeiro se gozas de axudar a outros no teu Equipo, ou se te inspira a idea de engañar a Morte traballando duro!", - "optOutOfClasses": "Retirarse", - "chooseClass": "Choose your Class", - "chooseClassLearnMarkdown": "[Learn more about Habitica's class system](http://habitica.wikia.com/wiki/Class_System)", - "optOutOfClassesText": "", - "selectClass": "Select <%= heroClass %>", + "changeClass": "Cambiar de clase, restabelecer os puntos de condición", + "lvl10ChangeClass": "Para cambiar de clase tes que ter polo menos nivel 10.", + "changeClassConfirmCost": "Seguro que queres cambiar de clase a cambio de 3 xemas?", + "invalidClass": "Clase incorrecta. Escolle entre «pugnaz», «renarte», «maga» e «albeite».", + "levelPopover": "Cada nivel dáche un punto para asignar a un aspecto a escoller. Podes facelo manualmente, ou deixar que o xogo o decida por ti usando unha das opcións de asignación automática.", + "unallocated": "Puntos de condición sen asignar", + "autoAllocation": "Asignación automática", + "autoAllocationPop": "Coloca os puntos segundo as túas preferencias, cando sobes de nivel.", + "evenAllocation": "Distribuír os puntos de maneira equilibrada", + "evenAllocationPop": "Asigna o mesmo número de puntos a cada aspecto.", + "classAllocation": "Distribuír os puntos segundo a clase", + "classAllocationPop": "Asigna máis puntos aos aspectos importantes para a túa clase.", + "taskAllocation": "Distribuír os puntos segundo a actividade das tarefas", + "taskAllocationPop": "Asigna puntos segundo as categorías de forza, intelixencia, resistencia e percepción asociadas coas tarefas que completas.", + "distributePoints": "Distribuír os puntos sen asignar", + "distributePointsPop": "Asigna todos os puntos de condición sen asignar segundo o esquema de asignación seleccionado.", + "warriorText": "A xente pugnaz causa máis e mellores «golpes críticos», que ás veces conceden ouro, experiencia, e a probabilidade de atopar obxectos ao completar unha tarefa. Tamén inflixen moitas feridas aos monstros xefe. Escolle pugnaz se te motivan as recompensas sorpresa ou se queres repartir castañas nas misións contra xefes!", + "wizardText": "As persoas magas aprenden rapidamente, gañando experiencia e niveis máis rápido que outras clases. Tamén reciben moito maná para usar as súas habilidades especiais. Faise persoa maga se te gustan os aspectos de xogo táctico de Habitica, ou se te motiva moito subir de nivel e desbloquear funcionalidades avanzadas!", + "mageText": "As persoas magas aprenden rapidamente, gañando experiencia e niveis máis rápido que outras clases. Tamén reciben moito maná para usar as súas habilidades especiais. Faise persoa maga se te gustan os aspectos de xogo táctico de Habitica, ou se te motiva moito subir de nivel e desbloquear funcionalidades avanzadas!", + "rogueText": "É de renarte acumular riquezas; gañan máis ouro que ninguén, e atopan obxectos ao azar con facilidade. A súa icónica capacidade de sixilo permítelles evitar as consecuencias de tarefas diarias incompletas. Escolle renarte se te motivan as recompensas e os logros, e loitas polo botín e polas insignias!", + "healerText": "As persoas albeites resisten o dano, e estenden esa protección a outras persoas. As tarefas diarias perdidas e os malos hábitos non lles preocupan moito, e teñen maneiras de recuperar vida dos erros. Xoga como albeite se gustas de axudar ao resto do equipo, ou se te inspira a idea de enganar á morte traballando duro!", + "optOutOfClasses": "Desactivar", + "chooseClass": "Escolle unha clase", + "chooseClassLearnMarkdown": "[Aprende máis sobre o sistema de clases de Habitica](https://habitica.fandom.com/wiki/Class_System) (en inglés)", + "optOutOfClassesText": "Non te importan as clases? Prefires escoller máis adiante? Desactiva o sistema de clases. Serás unha persoa pugnaz sen habilidades especiais. Podes ler sobre o sistema de clases máis adiante no wiki e activar as clases en calquera momento desde o menú de «Configuración» que aparece ao premer a túa icona persoal.", + "selectClass": "Seleccionar <%= heroClass %>", "select": "Seleccionar", - "stealth": "Discreción", - "stealthNewDay": "Cando comece un novo día, evitarás o dano inflixido por esta cantidade de tarefas Diarias incompletas.", - "streaksFrozen": "Rachas Conxeladas", - "streaksFrozenText": "Cando faltes unha tarefa Diaria, as rachas non se reinicializarán ao final do día.", - "purchaseFor": "Mercar a cambio de <%= cost %> Xemas?", - "purchaseForHourglasses": "Purchase for <%= cost %> Hourglasses?", - "notEnoughMana": "Non tes suficiente maná.", - "invalidTarget": "You can't cast a skill on that.", - "youCast": "Botas <%= spell %>.", - "youCastTarget": "Botas <%= spell %> a <%= target %>.", - "youCastParty": "Botas <%= spell %> para o equipo.", - "critBonus": "Golpe crítico! Bonus:", - "gainedGold": "You gained some Gold", - "gainedMana": "You gained some Mana", - "gainedHealth": "You gained some Health", - "gainedExperience": "You gained some Experience", - "lostGold": "You spent some Gold", - "lostMana": "You used some Mana", - "lostHealth": "You lost some Health", - "lostExperience": "You lost some Experience", + "stealth": "Sixilo", + "stealthNewDay": "Cando comece un novo día, evitarás o dano inflixido por esta cantidade de tarefas diarias incompletas.", + "streaksFrozen": "Conxelouse a serie", + "streaksFrozenText": "Cando te saltes unha tarefa diaria, as series non se reiniciarán ao final do día.", + "purchaseFor": "Mercar por <%= cost %> xemas?", + "purchaseForHourglasses": "Mercar por <%= cost %> reloxos de area?", + "notEnoughMana": "Non tes maná dabondo.", + "invalidTarget": "Non podes invocar unha habilidade niso.", + "youCast": "Invocas <%= spell %>.", + "youCastTarget": "Invocas <%= spell %> sobre <%= target %>.", + "youCastParty": "Invocas <%= spell %> para o equipo.", + "critBonus": "Golpe crítico! Bonificación: ", + "gainedGold": "Gañaches ouro", + "gainedMana": "Gañaches maná", + "gainedHealth": "Gañaches vida", + "gainedExperience": "Gañaches experiencia", + "lostGold": "Gastaches ouro", + "lostMana": "Usaches maná", + "lostHealth": "Perdiches vida", + "lostExperience": "Perdiches experiencia", "equip": "Equipar", - "unequip": "Quitar", + "unequip": "Desequipar", "animalSkins": "Peles de animais", "str": "FOR", - "con": "CON", + "con": "RES", "per": "PER", "int": "INT", - "notEnoughAttrPoints": "You don't have enough Stat Points.", - "classNotSelected": "You must select Class before you can assign Stat Points.", - "style": "Style", - "facialhair": "Barba", + "notEnoughAttrPoints": "Non tes puntos de condición dabondo.", + "classNotSelected": "Tes que seleccionar primeiro unha clase para poder asignar puntos de condición.", + "style": "Estilo", + "facialhair": "Facial", "photo": "Foto", - "info": "Info", + "info": "Información", "joined": "Uniuse", - "totalLogins": "Total Check Ins", - "latestCheckin": "Latest Check In", - "editProfile": "Edit Profile", - "challengesWon": "Challenges Won", - "questsCompleted": "Quests Completed", - "headAccess": "Head Access.", - "backAccess": "Back Access.", - "bodyAccess": "Body Access.", + "totalLogins": "Accesos totais", + "latestCheckin": "Último acceso", + "editProfile": "Editar o perfil", + "challengesWon": "Desafíos gañados", + "questsCompleted": "Misións completadas", + "headAccess": "Accesorio de cabeza", + "backAccess": "Accesorio de costas", + "bodyAccess": "Accesorio corporal", "mainHand": "Man dominante", "offHand": "Man non dominante", - "statPoints": "Stat Points", - "pts": "puntos" + "statPoints": "Puntos de condición", + "pts": "puntos", + "purchaseForGold": "Mercar por <%= cost %> de ouro?", + "purchasePetItemConfirm": "Esta compra superaría o número de obxectos que necesitas para facer nacer todas as mascotas de <%= itemText %> posíbeis. Seguro?", + "chatCastSpellParty": "<%= username %> invoca <%= spell %> para o equipo.", + "notEnoughGold": "Non tes ouro dabondo.", + "chatCastSpellUser": "<%= username %> invoca <%= spell %> sobre <%= target %>." } diff --git a/website/common/locales/gl/communityguidelines.json b/website/common/locales/gl/communityguidelines.json index 35d6088c6d..1ad93b9d30 100755 --- a/website/common/locales/gl/communityguidelines.json +++ b/website/common/locales/gl/communityguidelines.json @@ -1,123 +1,134 @@ { - "tavernCommunityGuidelinesPlaceholder": "", + "tavernCommunityGuidelinesPlaceholder": "Recordatorio amigábel: esta conversa é para xente de todas as idades, así que comparte contido e usa expresións axeitadas! Consulta as directrices da comunidade na barra lateral se ten dúbidas.", "lastUpdated": "Última actualización:", - "commGuideHeadingWelcome": "Benvid@ a Habitica!", - "commGuidePara001": "", - "commGuidePara002": "", - "commGuidePara003": "Estas regras aplícanse a todos os espazos sociais que usamos, incluídos (pero non exclusivamente) Trello, GitHub, Weblate, e o Wiki de Habitica en Fandom. A medida que as comunidades medran e cambian, as súas regras poden adaptarse de vez en cando. Cando se producen cambios significativos nestas directrices, anunciarémolo mediante Bailey ou nas nosas redes sociais!", - "commGuideHeadingInteractions": "Interactions in Habitica", - "commGuidePara015": "Habitica ten dous tipos de espazos sociais: os públicos e os privados. Entre os espazos públicos están a taberna, os gremios públicos, GitHub, Trello, e o wiki. Os espazos privados son os gremios privados, a conversa de grupo, e as mensaxes privadas. Todos os nomes públicos e os @alcumes deben cumprir as directrices de espazos públicos. Para cambiar o teu nome público ou o teu alcume, vai a «Menú → Configuración → Perfil» desde unha das aplicacións móbiles ou a «Eu → Configuración» desde a aplicación web.", + "commGuideHeadingWelcome": "Dámoste a benvida a Habitica!", + "commGuidePara001": "Saúdos! Dámoste a benvida a Habitica, a terra da produtividade, a vida saudábel, e o ataque ocasional de grifón. Temos unha comunidade positiva chea de xente disposta a axudar ao resto no camiño á mellora persoal. Para encaixar, todo o que necesitas é unha actitude positiva, un comportamento respectuoso, e o entendemento de que cada quen ten distintas habilidades e limitacións, incluíndote a ti! A xente de Habitica é paciente co resto e procura axudar cando pode.", + "commGuidePara002": "Para axudar a que toda a xente se sinta segura, feliz e produtiva na comunidade, si que temos algunhas directrices. Elaborámolas coidadosamente para que sexan todo o fáciles de ler e comprender posíbel. Dedica un tempo a lelas antes de unirte á conversa.", + "commGuidePara003": "Estas regras aplícanse a todos os espazos sociais que usamos, incluídos (pero non exclusivamente) Trello, GitHub, Weblate, e o wiki de Habitica en Fandom. A medida que as comunidades medran e cambian, as súas regras poden adaptarse de vez en cando. Cando se producen cambios significativos nas regras da comunidade listadas aquí, anunciarémolo mediante Baia ou nas nosas redes sociais!", + "commGuideHeadingInteractions": "Interaccións en Habitica", + "commGuidePara015": "Habitica ten dous tipos de espazos sociais: os públicos e os privados. Entre os espazos públicos están a taberna, os gremios públicos, GitHub, Trello, e o wiki. Os espazos privados son os gremios privados, a conversa de grupo, e as mensaxes privadas. Todos os nomes públicos e os @alcumes deben cumprir as directrices de espazos públicos. Para cambiar o teu nome visual ou o teu alcume, vai a «Menú → Configuración → Perfil» desde unha das aplicacións móbiles ou a «Eu → Configuración» desde a aplicación web.", "commGuidePara016": "Ao navegar polos espazos públicos de Habitica, hai algunhas regras xerais para manter á xente segura e contenta.", - "commGuideList02A": "Respect each other. Be courteous, kind, friendly, and helpful. Remember: Habiticans come from all backgrounds and have had wildly divergent experiences. This is part of what makes Habitica so cool! Building a community means respecting and celebrating our differences as well as our similarities. Here are some easy ways to respect each other:", - "commGuideList02B": "Obey all of the Terms and Conditions.", - "commGuideList02C": "Do not post images or text that are violent, threatening, or sexually explicit/suggestive, or that promote discrimination, bigotry, racism, sexism, hatred, harassment or harm against any individual or group. Not even as a joke. This includes slurs as well as statements. Not everyone has the same sense of humor, and so something that you consider a joke may be hurtful to another. Attack your Dailies, not each other.", - "commGuideList02D": "Keep discussions appropriate for all ages. We have many young Habiticans who use the site! Let's not tarnish any innocents or hinder any Habiticans in their goals.", - "commGuideList02E": "Avoid profanity. This includes milder, religious-based oaths that may be acceptable elsewhere. We have people from all religious and cultural backgrounds, and we want to make sure that all of them feel comfortable in public spaces. If a moderator or staff member tells you that a term is disallowed on Habitica, even if it is a term that you did not realize was problematic, that decision is final. Additionally, slurs will be dealt with very severely, as they are also a violation of the Terms of Service.", - "commGuideList02F": "Avoid extended discussions of divisive topics in the Tavern and where it would be off-topic. If you feel that someone has said something rude or hurtful, do not engage them. If someone mentions something that is allowed by the guidelines but which is hurtful to you, it’s okay to politely let someone know that. If it is against the guidelines or the Terms of Service, you should flag it and let a mod respond. When in doubt, flag the post.", - "commGuideList02G": "Comply immediately with any Mod request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, asking you to move your discussion to a more suitable space, etc.", - "commGuideList02J": "Do not spam. Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, posting multiple promotional messages about a Guild, Party or Challenge, or posting many messages in a row. Asking for gems or a subscription in any of the chat spaces or via Private Message is also considered spamming. If people clicking on a link will result in any benefit to you, you need to disclose that in the text of your message or that will also be considered spam.

It is up to the mods to decide if something constitutes spam or might lead to spam, even if you don’t feel that you have been spamming. For example, advertising a Guild is acceptable once or twice, but multiple posts in one day would probably constitute spam, no matter how useful the Guild is!", - "commGuideList02K": "Avoid posting large header text in the public chat spaces, particularly the Tavern. Much like ALL CAPS, it reads as if you were yelling, and interferes with the comfortable atmosphere.", - "commGuideList02L": "We highly discourage the exchange of personal information -- particularly information that can be used to identify you -- in public chat spaces. Identifying information can include but is not limited to: your address, your email address, and your API token/password. This is for your safety! Staff or moderators may remove such posts at their discretion. If you are asked for personal information in a private Guild, Party, or PM, we highly recommend that you politely refuse and alert the staff and moderators by either 1) flagging the message if it is in a Party or private Guild, or 2) filling out the Moderator Contact Form and including screenshots.", - "commGuidePara019": "In private spaces, users have more freedom to discuss whatever topics they would like, but they still may not violate the Terms and Conditions, including posting slurs or any discriminatory, violent, or threatening content. Note that, because Challenge names appear in the winner's public profile, ALL Challenge names must obey the public space guidelines, even if they appear in a private space.", - "commGuidePara020": "Private Messages (PMs) have some additional guidelines. If someone has blocked you, do not contact them elsewhere to ask them to unblock you. Additionally, you should not send PMs to someone asking for support (since public answers to support questions are helpful to the community). Finally, do not send anyone PMs begging for a gift of gems or a subscription, as this can be considered spamming.", - "commGuidePara020A": "If you see a post that you believe is in violation of the public space guidelines outlined above, or if you see a post that concerns you or makes you uncomfortable, you can bring it to the attention of Moderators and Staff by clicking the flag icon to report it. A Staff member or Moderator will respond to the situation as soon as possible. Please note that intentionally reporting innocent posts is an infraction of these Guidelines (see below in “Infractions”). PMs cannot be flagged at this time, so if you need to report a PM, please contact the Mods via the form on the “Contact Us” page, which you can also access via the help menu by clicking “Contact the Moderation Team.” You may want to do this if there are multiple problematic posts by the same person in different Guilds, or if the situation requires some explanation. You may contact us in your native language if that is easier for you: we may have to use Google Translate, but we want you to feel comfortable about contacting us if you have a problem.", + "commGuideList02A": "Respecta a outras persoas. Ten un trato cortés, amábel, amistoso, e ten disposición a axudar. Lembra que a xente de Habitica ten distintas realidades e ven de experiencias completamente distintas. Isto é parte do que fai a Habitica tan especial! Construír unha comunidade significa respectar e celebrar as nosas diferenzas e as nosas similitudes.", + "commGuideList02B": "Obedece todas as condicións do servizo tanto nos espazos públicos como nos privados.", + "commGuideList02C": "Non publiques imaxes ou texto violentos, ameazantes, sexualmente explícitos ou suxestivos, ou que promovan a discriminación, a intolerancia, o racismo, o sexismo, o odio, o acoso ou o dano contra calquera individuo ou grupo. Nin sequera en forma de chiste ou meme. Isto inclúe tanto palabras como expresións malsoantes. Non toda a xente ten o mesmo sentido do humor, algo que ti consideras un chiste pode ferir a outra persoa.", + "commGuideList02D": "Mantén as conversas axeitadas para xente de todas as idades. Isto significa evitar temáticas adultas en espazos públicos. Temos moita xente nova en Habitica, e xente que ven de todas partes. Queremos que a comunidade sexa o máis cómoda e inclusiva posíbel.", + "commGuideList02E": "Evita palabras malsoantes, incluídas abreviacións e formas de ocultalas. Temos xente de todo tipo de contextos relixiosos e culturais, e queremos asegurarnos de que todas as persoas se senten cómodas nos espazos públicos. Se alguén do equipo de Habitica te informa de que un termo non está permitido en Habitica, aínda que non te decatases de que era problemático, a decisión é definitiva. Ademais, teremos man dura co uso de insultos, que tamén incumpren as condicións do servizo.", + "commGuideList02F": "Evita as conversas prolongadas sobre temas divisorios na taberna e onde estea fóra de lugar. Se alguén menciona algo que as directrices permiten pero que te senta mal, podes dicirllo de boas maneiras. Se alguén te avisa de que lle provocaches incomodidade, reflexiona en vez de responder desde o enfado. Pero se te dá a sensación de que unha conversa está subindo de ton, é demasiado emocional ou é danosa, deixa de participar. No seu lugar, denuncia as publicacións para informarnos sobre elas. O equipo de Habitica responderá tan rápido como sexa posíbel. Tamén podes mandar unha mensaxe de correo electrónico a admin@habitica.com e incluír capturas de pantalla se poden axudar.", + "commGuideList02G": "Cumpre inmediatamente con calquera solicitude do equipo de Habitica. Estas poderían incluír, entre outras, solicitarche que limites as túas publicacións nun espazo concreto, editar o teu perfil para retirar contido non axeitado, pedirte que movas a túa conversa a un espazo máis axeitado, etc. Non discutas co equipo. Se tes preocupacións ou comentarios sobre as accións do equipo, envía unha mensaxe de correo electrónico a admin@habitica.com para contactar co equipo de xestión da comunidade.", + "commGuideList02J": "Non envíes contido non desexado. O contido non desexado inclúe, entre outras cousas: publicar o mesmo comentario ou consulta en varios lugares, publicar ligazóns sen explicalas ou sen contexto, publicar mensaxes sen sentido, publicar varias mensaxes promocionais sobre un gremio, equipo ou reto, ou publicar moitas mensaxes seguidas. Se que a xente siga unha ligazón te beneficia de algún modo, tes que declaralo previamente no texto da túa mensaxe, ou tamén será considerado contido non desexado. O equipo de Habitica pode decidir á súa discreción o que considera contido non desexado.", + "commGuideList02K": "Evita publicar texto longo de cabeceira nos espazos de conversa públicos, en especial na taberna. Igual que TODO EN MAIÚSCULAS, percíbese como se estiveses berrando, e fai difícil unha atmosfera cómoda.", + "commGuideList02L": "Desaconsellamos encarecidamente o intercambio de información persoal, en especial información que se poida usar para a identificación persoal, nos espazos de conversa públicos. A información de identificación pode incluír, entre outras cousas: o teu enderezo, o teu enderezo de correo electrónico e o teu contrasinal ou ficha de API. Isto é pola túa seguridade! O equipo de Habitica podería retirar publicacións con tal información se o consideran pertinente. Se te piden información persoal nun gremio privado, equipo ou mensaxe privada, recomendámosche encarecidamente que te negues amabelmente e avises ao equipo de Habitica ou (1) denunciando a mensaxe ou (2) enviando unha mensaxe a admin@habitica.com e incluíndo capturas de pantalla.", + "commGuidePara019": "Nos espazos privados, as persoas teñen máis liberdade para falar dos temas que queiras, pero poderían aínda así infrinxir as condicións do servizo, incluída a publicación de insultos ou calquera contido discriminatorio, violento ou ameazador. Ten en conta que, dado que os nomes de desafíos aparecen no perfil público de quen os gaña, TODOS os nomes de desafío deben cumprir coas directrices dos espazos públicos, aínda que aparezan nun espazo privado.", + "commGuidePara020": "As mensaxes privadas teñen directrices adicionais. Se alguén te bloqueou, non contactes con esa persoa por outras vías para pedirlle que te desbloquee. Ademais, non deberías enviar mensaxes privadas a xente para pedirlles axuda (dado que responder en público a peticións de asistencia axuda á comunidade). Por último, non envíes a ninguén mensaxes privadas pedindo contido de pago de ningún tipo.", + "commGuidePara020A": "Se ves unha publicación ou unha mensaxe privada que pensas que infrinxe as directrices de espazos públicos indicadas arriba, ou se ves unha publicación ou unha mensaxe privada que te preocupa ou te resulta incómoda, podes facérnolo saber ao equipo de Habitica premendo a icona de bandeira para denunciala. Unha persoa do equipo responderá sobre a situación o antes posíbel. Pero ten en conta que denunciar de maneira intencionada publicacións inocentes é unha infracción das directrices (consulta «Infraccións» máis abaixo). Tamén podes contactar co equipo cunha mensaxe a admin@habitica.com. Denunciar por correo electrónico pode ser axeitado cando o problema son varias publicacións dunha mesma persoa en distintos gremios, ou se a situación necesita unha explicación. Podes contactar connosco no teu idioma se te resulta máis doado; pode que usemos un servizo de tradución automática, pero queremos que te sintas coa comodidade necesaria para contactar connosco se tes un problema.", "commGuidePara021": "Ademais, algúns espazos públicos de Habitica teñen normas adicionais.", - "commGuideHeadingTavern": "A Taberna", - "commGuidePara022": "The Tavern is the main spot for Habiticans to mingle. Daniel the Innkeeper keeps the place spic-and-span, and Lemoness will happily conjure up some lemonade while you sit and chat. Just keep in mind…", - "commGuidePara023": "Conversation tends to revolve around casual chatting and productivity or life improvement tips. Because the Tavern chat can only hold 200 messages, it isn't a good place for prolonged conversations on topics, especially sensitive ones (ex. politics, religion, depression, whether or not goblin-hunting should be banned, etc.). These conversations should be taken to an applicable Guild. A Mod may direct you to a suitable Guild, but it is ultimately your responsibility to find and post in the appropriate place.", - "commGuidePara024": "Don't discuss anything addictive in the Tavern. Many people use Habitica to try to quit their bad Habits. Hearing people talk about addictive/illegal substances may make this much harder for them! Respect your fellow Tavern-goers and take this into consideration. This includes, but is not exclusive to: smoking, alcohol, pornography, gambling, and drug use/abuse.", + "commGuideHeadingTavern": "A taberna", + "commGuidePara022": "A taberna é o punto principal de reunión da xente de Habitica. Daniel “O pousadeiro” mantén o lugar limpo como unha patena, e Lía estará encantada de invocar limoada para ti mentres sentas a conversar. O único que tes que lembrar é que…", + "commGuidePara023": "As conversas adoitan tratar de temas casuais e consellos de mellora da produtividade ou para a vida. Como a conversa da taberna só permite 200 mensaxes, non é un bo lugar para conversas prolongadas, especialmente sobre temas sensíbeis ou divisorios (p. ex. política, relixión, depresión, se a caza de trasnos debería ilegalizarse, etc.). Estas conversar deberían manterse no gremio correspondente. O equipo de Habitica podería dirixirte a un gremio correspondente, pero en última instancia é responsabilidade túa atopar o lugar axeitado no que publicar.", + "commGuidePara024": "Non fales sobre nada aditivo na taberna. Moita xente usa Habitica para abandonar malos hábitos. Escoitar a xente falar de substancias aditivas ou ilegais podería poñerllo máis difícil! Teno en conta para respectar ao resto da xente na taberna. Estes temas inclúen, entre outros: fumar, alcol, pornografía, xogos de azar e uso ou abuso de drogas.", "commGuidePara027": "When a moderator directs you to take a conversation elsewhere, if there is no relevant Guild, they may suggest you use the Back Corner. The Back Corner Guild is a free public space to discuss potentially sensitive subjects that should only be used when directed there by a moderator. It is carefully monitored by the moderation team. It is not a place for general discussions or conversations, and you will be directed there by a mod only when it is appropriate.", - "commGuideHeadingPublicGuilds": "Gremios Públicos", - "commGuidePara029": "Public Guilds are much like the Tavern, except that instead of being centered around general conversation, they have a focused theme. Public Guild chat should focus on this theme. For example, members of the Wordsmiths Guild might be cross if the conversation is suddenly focusing on gardening instead of writing, and a Dragon-Fanciers Guild might not have any interest in deciphering ancient runes. Some Guilds are more lax about this than others, but in general, try to stay on topic!", - "commGuidePara031": "Some public Guilds will contain sensitive topics such as depression, religion, politics, etc. This is fine as long as the conversations therein do not violate any of the Terms and Conditions or Public Space Rules, and as long as they stay on topic.", - "commGuidePara033": "Public Guilds may NOT contain 18+ content. If they plan to regularly discuss sensitive content, they should say so in the Guild description. This is to keep Habitica safe and comfortable for everyone.", - "commGuidePara035": "If the Guild in question has different kinds of sensitive issues, it is respectful to your fellow Habiticans to place your comment behind a warning (ex. \"Warning: references self-harm\"). These may be characterized as trigger warnings and/or content notes, and Guilds may have their own rules in addition to those given here. If possible, please use markdown to hide the potentially sensitive content below line breaks so that those who may wish to avoid reading it can scroll past it without seeing the content. Habitica staff and moderators may still remove this material at their discretion.", - "commGuidePara036": "Additionally, the sensitive material should be topical -- bringing up self-harm in a Guild focused on fighting depression may make sense, but is probably less appropriate in a music Guild. If you see someone who is repeatedly violating this guideline, especially after several requests, please flag the posts and notify the moderators via the Moderator Contact Form.", - "commGuidePara037": "No Guilds, Public or Private, should be created for the purpose of attacking any group or individual. Creating such a Guild is grounds for an instant ban. Fight bad habits, not your fellow adventurers!", - "commGuidePara038": "All Tavern Challenges and Public Guild Challenges must comply with these rules as well.", - "commGuideHeadingInfractionsEtc": "Infraccións, Consecuencias e Restauración", + "commGuideHeadingPublicGuilds": "Gremios públicos", + "commGuidePara029": "Os gremios públicos son en gran medida como a taberna, só que en vez de estar centrados en conversas xerais teñen unha temática específica. A conversa dun gremio público debería centrarse na súa temática. Por exemplo, á xente do gremio de arte da palabra podería sentarlle mal que a conversa pasase a tratar sobre xardinaría en vez de sobre escritura, e o gremio de afección aos dragóns pode non estar interesado en descifrar runas antigas. Algúns gremios son máis laxos a este respecto que outros pero, en xeral, procura centrarte no tema que toca!", + "commGuidePara031": "Algúns gremios públicos conterán temas sensibles como a depresión, a relixión, a política, etc. Isto non é un problema mentres as conversas non incumpran as condicións do servizo ou as regras de espazos públicos, e mentres se centren na súa temática.", + "commGuidePara033": "Os gremios públicos NON poden ter contido para adultos. Se teñen pensado tratar contido sensíbel de maneira regular, deberían indicalo na descrición do gremio. Isto é para que Habitica continúe sendo segura e cómoda para toda a xente.", + "commGuidePara035": "Se o gremio en cuestión ten distintos tipos de temáticas sensíbeis, por respecto ao resto de xente de Habitica cómpre incluír un aviso (p. ex. «Aviso: referencias a automutilación»). Poden presentarse como avisos sobre temáticas sensíbeis ou notas sobre contidos, e cada gremio pode ter regras de seu a maiores das definidas aquí. O equipo de Habitica podería aínda así retirar este material se o considera oportuno.", + "commGuidePara036": "Ademais, o material sensíbel debería ir en liña coa temática. Por exemplo, sacar o tema da automutilación nun gremio sobre loita contra a depresión pode ter sentido, pero sacalo nun gremio musical probabelmente non. Se observas a unha persoa que se salta repetidamente esta directriz, especialmente despois de varias solicitudes, denuncia as súas publicacións.", + "commGuidePara037": "Non se deberían crear gremios, nin públicos nin privados, co propósito de atacar a un grupo ou individuo.. Crear un gremio así pode dar pe a unha expulsión inmediata. Loita contra os malos hábitos, non contra a xente!", + "commGuidePara038": "Todos os desafíos da taberna e dos gremios públicos deben cumprir tamén estas regras.", + "commGuideHeadingInfractionsEtc": "Infraccións, consecuencias e restauración", "commGuideHeadingInfractions": "Infraccións", - "commGuidePara050": "Como regra xera, os Habiticantes axúdanse mutuamente, son respectuosos, e traballar para facer que a comunidade sexa divertida e agradable. Con todo, moi de vez en cando, un Habiticante poderá transgredir unha das normas citadas arriba. Cando isto ocorra, os Moderadores tomarán as medidas que consideren necesarias para manter Habitica segura e cómoda para todos.", - "commGuidePara051": "There are a variety of infractions, and they are dealt with depending on their severity. These are not comprehensive lists, and the Mods can make decisions on topics not covered here at their own discretion. The Mods will take context into account when evaluating infractions.", + "commGuidePara050": "Como regra xera, a xente de Habitica axúdase mutuamente, é respectuosa, e traballar para facer que a comunidade sexa divertida e agradábel. Con todo, moi de vez en cando, alguén podería incumprir unha das directrices descritas arriba. Cando isto ocorra, o equipo de Habitica tomará as medidas que considere necesarias para manter Habitica segura e cómoda para toda a xente.", + "commGuidePara051": "Hai moitos tipos de infraccións, e respóndese a elas segundo a súa severidade. Estas listas non son exhaustivas, e o equipo de Habitica pode tomar decisións sobre temas non descritos aquí se o considera oportuno. O equipo terá en conta o contexto ao avaliar infraccións.", "commGuideHeadingSevereInfractions": "Infraccións graves", - "commGuidePara052": "As infraccións graves prexudican significativamente a seguridade da comunidade e dos usuarios de Habitica, e, polo tanto, teñen consecuencias graves como resultado.", + "commGuidePara052": "As infraccións graves prexudican de maneira significativa a seguridade da xente de Habitica, e, polo tanto, teñen consecuencias graves como resultado.", "commGuidePara053": "Velaquí algúns exemplos de infraccións graves. Esta lista non é exhaustiva.", - "commGuideList05A": "A transgresión dos Termos e Condicións", - "commGuideList05B": "Imaxes ou fala carraxentos, acoso, intimidación, provocación e troleo.", - "commGuideList05C": "Violación da liberdade condicional", - "commGuideList05D": "Impersonation of Staff or Moderators", + "commGuideList05A": "Infrinxir as condicións do servizo", + "commGuideList05B": "Imaxes ou fala carraxentos, acoso, intimidación, provocación e burla", + "commGuideList05C": "Violación da condicional", + "commGuideList05D": "Facerse pasar polo equipo de Habitica, incluído alegar que espazos creados por xente usuaria e non asociados con Habitica son oficiais ou están moderados por Habitica ou o seu equipo", "commGuideList05E": "Infraccións moderadas reiteradas", - "commGuideList05F": "Creation of a duplicate account to avoid consequences (for example, making a new account to chat after having chat privileges revoked)", - "commGuideList05G": "Intentional deception of Staff or Moderators in order to avoid consequences or to get another user in trouble", - "commGuideHeadingModerateInfractions": "Infraccións Moderadas", - "commGuidePara054": "As infraccións moderadas non volven insegura a nosa comunidade, pero si desagradable. Estas infraccións terán consecuencias moderadas. Cando as infraccións son numerosas, as consecuencias poden tornarse graves.", - "commGuidePara055": "Os exemplos seguintes son Infraccións Moderadas. Esta lista non é exhaustiva.", - "commGuideList06A": "Ignoring, disrespecting or arguing with a Mod. This includes publicly complaining about moderators or other users, publicly glorifying or defending banned users, or debating whether or not a moderator action was appropriate. If you are concerned about one of the rules or the behaviour of the Mods, please contact the staff via email (admin@habitica.com).", - "commGuideList06B": "Backseat Modding. To quickly clarify a relevant point: A friendly mention of the rules is fine. Backseat modding consists of telling, demanding, and/or strongly implying that someone must take an action that you describe to correct a mistake. You can alert someone to the fact that they have committed a transgression, but please do not demand an action -- for example, saying, \"Just so you know, profanity is discouraged in the Tavern, so you may want to delete that,\" would be better than saying, \"I'm going to have to ask you to delete that post.\"", - "commGuideList06C": "Intentionally flagging innocent posts.", - "commGuideList06D": "Repeatedly Violating Public Space Guidelines", - "commGuideList06E": "Repeatedly Committing Minor Infractions", - "commGuideHeadingMinorInfractions": "Infraccións Menores", - "commGuidePara056": "As infraccións menores, se ben están desaconselladas, teñen consecuencias pouco importantes. Se seguen ocorrendo, poden levar a consecuencias máis graves co tempo.", - "commGuidePara057": "Os exemplos seguintes son Infraccións Menores. Esta lista non é exhaustiva.", - "commGuideList07A": "A transgresión das Normas dos Espazos Públicos por primeira vez", - "commGuideList07B": "Any statements or actions that trigger a \"Please Don't\". When a Mod has to say \"Please don't do this\" to a user, it can count as a very minor infraction for that user. An example might be \"Please don't keep arguing in favor of this feature idea after we've told you several times that it isn't feasible.\" In many cases, the Please Don't will be the minor consequence as well, but if Mods have to say \"Please Don't\" to the same user enough times, the triggering Minor Infractions will start to count as Moderate Infractions.", - "commGuidePara057A": "Some posts may be hidden because they contain sensitive information or might give people the wrong idea. Typically this does not count as an infraction, particularly not the first time it happens!", + "commGuideList05F": "Creación de contas duplicadas para evitar consecuencias (p. ex. crear unha conta nova para conversar tras perder os privilexios de conversa)", + "commGuideList05G": "Enganar intencionadamente ao equipo de Habitica para evitar consecuencias ou para meter en problemas a outra persoa", + "commGuideHeadingModerateInfractions": "Infraccións moderadas", + "commGuidePara054": "As infraccións moderadas non volven insegura a nosa comunidade, pero si desagradábel. Estas infraccións terán consecuencias moderadas. En caso de moitas infraccións, as consecuencias poden tornarse graves.", + "commGuidePara055": "Estes son algúns exemplos de infraccións moderadas. Esta lista non é exhaustiva.", + "commGuideList06A": "Ignorar, faltar ao respecto ou discutir co equipo de Habitica. Isto inclúe queixarse publicamente sobre o equipo ou sobre outras persoas, glorificar ou defender publicamente a persoas expulsadas, ou debater se unha acción do equipo foi acertada. Se te preocupa unha das regras ou o comportamento do equipo, contacta connosco por correo electrónico (admin@habitica.com).", + "commGuideList06B": "Moderación de balcón. Para que quede claro: unha mención amistosa das regras está ben. A moderación de balcón consiste en esixir ou suxerir encarecidamente a unha persoa facer algo que ti describes para corrixir unha equivocación. Podes avisar a unha persoa do feito de que caeu nun incumprimento, pero non lle esixas ningunha acción. Por exemplo, mellor dicir «Que saibas que o uso de palabras malsoantes na taberna está desaconsellado, quizais te interese eliminar iso» que dicir «Vou ter que pedirte de elimines esa publicación».", + "commGuideList06C": "Denunciar a sabendas publicacións inocentes.", + "commGuideList06D": "Infrinxir repetidamente directrices de espazos públicos", + "commGuideList06E": "Cometer repetidamente infraccións menores", + "commGuideHeadingMinorInfractions": "Infraccións menores", + "commGuidePara056": "As infraccións menores, malia estar desaconselladas, teñen consecuencias pouco importantes. Se seguen ocorrendo, poden levar a consecuencias máis graves co tempo.", + "commGuidePara057": "Estes son algúns exemplos de infraccións menores. Esta lista non é exhaustiva.", + "commGuideList07A": "Infrinxir as directrices de espazos públicos por primeira vez", + "commGuideList07B": "Calquera declaración ou acción que leve a unha persoa do equipo de Habitica a pedirlle que non a faga. Cando se te solicita publicamente non facer algo, isto mesmo pode ser unha consecuencia. Se o equipo ten que emitir moitas correccións como esta a unha mesma persoa, poderían contar como unha infracción máis grave", + "commGuidePara057A": "Algunhas publicacións poderían estar agochadas porque conteñen información sensíbel ou poden confundir á xente. Isto non adoita contar como unha infracción, especialmente a primeira vez que ocorre!", "commGuideHeadingConsequences": "Consecuencias", - "commGuidePara058": "En Habitica, como na vida real, todas as accións teñen conseciencias, que sexa volverse san porque correches, ter caries porque comeches demasiado azucre, ou avanzar de classe porque estudaches.", + "commGuidePara058": "En Habitica, como na realidade, todas as accións teñen consecuencias, sexa mellorar en saúde por correr, sufrir caries por comer demasiado doce, ou aprobar por estudar.", "commGuidePara059": "De maneira similar, todas as infraccións teñen consecuencias directas. Algunhas consecuencias descríbense a continuación.", - "commGuidePara060": "If your infraction has a moderate or severe consequence, there will be a post from a staff member or moderator in the forum in which the infraction occurred explaining:", - "commGuideList08A": "cal foi a túa infracción", + "commGuidePara060": "Se a túa infracción ten unha consecuencia moderada ou severa, haberá unha publicación dunha persoa do equipo de Habitica, no foro no que tivo lugar a infracción, que explicará:", + "commGuideList08A": "cal foi a infracción", "commGuideList08B": "cal é a consecuencia", - "commGuideList08C": "que facer para corrixir a situación e recuperar a túa condición, se é posible.", - "commGuidePara060A": "If the situation calls for it, you may receive a PM or email as well as a post in the forum in which the infraction occurred. In some cases you may not be reprimanded in public at all.", - "commGuidePara060B": "If your account is banned (a severe consequence), you will not be able to log into Habitica and will receive an error message upon attempting to log in. If you wish to apologize or make a plea for reinstatement, please email the staff at admin@habitica.com with your UUID (which will be given in the error message). It is your responsibility to reach out if you desire reconsideration or reinstatement.", - "commGuideHeadingSevereConsequences": "Exemplos de Consecuencias Graves", - "commGuideList09A": "Account bans (see above)", - "commGuideList09C": "Inhabilitar permanentemente (\"conxelar\") o progreso a través do nivel dos contribuidores", - "commGuideHeadingModerateConsequences": "Exemplos de Consecuencias Moderadas", - "commGuideList10A": "Restricted public and/or private chat privileges", - "commGuideList10A1": "If your actions result in revocation of your chat privileges, a Moderator or Staff member will PM you and/or post in the forum in which you were muted to notify you of the reason for your muting and the length of time for which you will be muted. At the end of that period, you will receive your chat privileges back, provided you are willing to correct the behavior for which you were muted and comply with the Community Guidelines.", + "commGuideList08C": "que facer para corrixir a situación e recuperar a túa condición, se é posíbel.", + "commGuidePara060A": "Se a situación o require, pode que recibas unha mensaxe privada ou de correo electrónico ademais da publicación no foro no que tivo lugar a infracción. Nalgúns casos pode que nin sequera recibas unha reprimenda pública.", + "commGuidePara060B": "Se se expulsa a túa conta (unha consecuencia severa), non poderás acceder a Habitica e recibirás unha mensaxe de erro ao intentar acceder. Se queres desculparte ou conseguir a restauración, envía unha mensaxe de correo electrónico ao equipo de Habitica a admin@habitica.com co teu identificador de persoa usuaria (que se indicará na mensaxe de erro) ou o teu @alcume. É responsabilidade túa contactar connosco se queres que reconsideremos ou te readmitamos.", + "commGuideHeadingSevereConsequences": "Exemplos de consecuencias graves", + "commGuideList09A": "Expulsións de contas (máis información arriba)", + "commGuideList09C": "Desactivar permanentemente (“conxelar”) o progreso nos rangos de contribución", + "commGuideHeadingModerateConsequences": "Exemplos de consecuencias moderadas", + "commGuideList10A": "Privilexios restrinxidos de conversa pública ou privada", + "commGuideList10A1": "Se polas túas accións perdes os privilexios de conversa, debes enviar unha mensaxe a admin@habitica.com. Pode que se te readmita se cumpres cordialmente coas accións requiridas e aceptas cumprir coas directrices da comunidade e coas condicións do servizo", "commGuideList10C": "Restricted Guild/Challenge creation privileges", - "commGuideList10D": "Deshabilitar temporalmente (\"conxelar\") a progresión a través do nivel dos contribuidores.", + "commGuideList10D": "Desactivar temporalmente (“conxelar”) o progreso nos rangos de contribución", "commGuideList10E": "Degradación do Nivel dos Contribuidores", - "commGuideList10F": "Conceder aos usuarios a \"Liberdade condicional\"", - "commGuideHeadingMinorConsequences": "Exemplos de Consecuencias menores", - "commGuideList11A": "Recodatorios das Normas dos Espazos Públicos", + "commGuideList10F": "Conceder a “condicional”", + "commGuideHeadingMinorConsequences": "Exemplos de consecuencias menores", + "commGuideList11A": "Lembranzas das directrices para espazos públicos", "commGuideList11B": "Advertencias", "commGuideList11C": "Solicitudes", - "commGuideList11D": "Supresións (Os Moderadores ou o Persoal poden eliminar contido problemático)", - "commGuideList11E": "Edicións (Os Moderadores ou o Persoal poden editar contido problemático)", + "commGuideList11D": "Eliminacións (o equipo de Habitica pode eliminar contido problemático)", + "commGuideList11E": "Edicións (o equipo de Habitica pode editar contido problemático)", "commGuideHeadingRestoration": "Recuperación", - "commGuidePara061": "Habitica is a land devoted to self-improvement, and we believe in second chances. If you commit an infraction and receive a consequence, view it as a chance to evaluate your actions and strive to be a better member of the community.", - "commGuidePara062": "The announcement, message, and/or email that you receive explaining the consequences of your actions is a good source of information. Cooperate with any restrictions which have been imposed, and endeavor to meet the requirements to have any penalties lifted.", - "commGuidePara063": "If you do not understand your consequences, or the nature of your infraction, ask the Staff/Moderators for help so you can avoid committing infractions in the future. If you feel a particular decision was unfair, you can contact the staff to discuss it at admin@habitica.com.", - "commGuideHeadingMeet": "Meet the Staff and Mods!", + "commGuidePara061": "Habitica é unha terra devota da mellora persoal, e cremos nas segundas oportunidades. Se cometes unha infracción e recibes unha consecuencia, pensa nela como unha oportunidade para reflexionar sobre as túas accións e intentar mellorar a túa participación na comunidade.", + "commGuidePara062": "O anuncio ou mensaxe que recibes por Habitica ou por correo electrónico explicando as consecuencias das túas accións é unha boa fonte de información. Coopera coas restricións impostas, e procura cumprir cos requisitos para a retirada das penas.", + "commGuidePara063": "Se non entendes as consecuencias, ou a natureza da túa infracción, pide axuda ao equipo de Habitica para evitar cometer infraccións no futuro. Se consideras que unha decisión en concreto non foi xusta, podes escribir ao equipo de Habitica a admin@habitica.com para falalo.", + "commGuideHeadingMeet": "Coñece ao equipo", "commGuidePara006": "Habitica has some tireless knights-errant who join forces with the staff members to keep the community calm, contented, and free of trolls. Each has a specific domain, but will sometimes be called to serve in other social spheres.", - "commGuidePara007": "O persoal ten etiquetas violetas marcadas con coroas. Ten o título \"heroico\".", + "commGuidePara007": "O equipo de Habitica mantén a aplicación e os sitios en funcionamento e pode moderar conversas. Teñen etiquetas violetas marcadas con coroas. Teñen por título «Heroicidade».", "commGuidePara008": "Os moderadores teñen etiquetas azul escuro marcadas con estrelas. O seu título é \"Gardián\". A única excepción é Bailey, quen, como personaxe non xogable, ten unha etiqueta negra e verde marcada cunha estrela.", - "commGuidePara009": "Os membros do persoal actuais son (de esquerda a dereita):", - "commGuideAKA": "<%= habitName %> aka <%= realName %>", + "commGuidePara009": "O equipo fórmano as seguintes persoas (de esquerda a dereita):", + "commGuideAKA": "<%= habitName %> ou <%= realName %>", "commGuideOnTrello": "<%= trelloName %> on Trello", - "commGuideOnGitHub": "<%= gitHubName %> on GitHub", + "commGuideOnGitHub": "<%= gitHubName %> en GitHub", "commGuidePara010": "Tamén hai varios Moderadores que axudan aos membros do persoal. Seleccionáronse coidadosamente, así que por favor respéctaos e escoita as súas suxerencias.", "commGuidePara011": "Os Moderadores actuais son (de esquerda a dereita):", "commGuidePara011b": "en GitHub ou Fandom", - "commGuidePara011c": "en Wikia", + "commGuidePara011c": "no wiki", "commGuidePara011d": "en GitHub", "commGuidePara012": "If you have an issue or concern about a particular Mod, please send an email to our Staff (admin@habitica.com).", - "commGuidePara013": "In a community as big as Habitica, users come and go, and sometimes a staff member or moderator needs to lay down their noble mantle and relax. The following are Staff and Moderators Emeritus. They no longer act with the power of a Staff member or Moderator, but we would still like to honor their work!", - "commGuidePara014": "Staff and Moderators Emeritus:", - "commGuideHeadingFinal": "A Sección Final", - "commGuidePara067": "So there you have it, brave Habitican -- the Community Guidelines! Wipe that sweat off of your brow and give yourself some XP for reading it all. If you have any questions or concerns about these Community Guidelines, please reach out to us via the Moderator Contact Form and we will be happy to help clarify things.", - "commGuidePara068": "Agora avanza, valente aventureiro, e vai matar Diarios!", - "commGuideHeadingLinks": "Vínculos útiles", - "commGuideLink01": "Habitica Help: Ask a Question: a Guild for users to ask questions!", - "commGuideLink02": "The Wiki: the biggest collection of information about Habitica.", - "commGuideLink03": "GitHub: for bug reports or helping with code!", - "commGuideLink04": "The Main Trello: for site feature requests.", + "commGuidePara013": "Nunha comunidade tan grande como Habitica, a xente ven e vai, e ás veces alguén do equipo de Habitica ou do de moderación ten que gardar a capa e descansar. O que segue é unha lista de xente que outrora formou parte do equipo de Habitica ou de moderación. Xa non teñen ese rol, pero queremos facer honor ao traballo que fixeron!", + "commGuidePara014": "Antigo equipo de Habitica e de moderación:", + "commGuideHeadingFinal": "A sección final", + "commGuidePara067": "Velaquí as directrices de Habitica! Agora descansa e date unha ben merecida experiencia por lelas todas. Se tes calquera dúbida ou preocupación sobre as directrices da comunidade, contacta connosco por admin@habitica.com e de boa gana aclararemos o que necesites.", + "commGuidePara068": "Agora avanza, á aventura, derrota esas tarefas diarias!", + "commGuideHeadingLinks": "Ligazóns útiles", + "commGuideLink01": "Habitica Help: Ask a Question: un gremio para que as persoas usuarias de Habitica fagan preguntas!", + "commGuideLink02": "O wiki: a maior colección de información sobre Habitica (en inglés).", + "commGuideLink03": "GitHub: para axudar co código!", + "commGuideLink04": "O formulario de opinión: para solicitar funcionalidades no sitio ou nas aplicacións.", "commGuideLink05": "The Mobile Trello: for mobile feature requests.", - "commGuideLink06": "The Art Trello: for submitting pixel art.", - "commGuideLink07": "The Quest Trello: for submitting quest writing.", - "commGuidePara069": "Os artistas talentuosos seguintes contribuíron a estas ilustracións:" + "commGuideLink06": "O Trello de arte: para enviar arte de píxel.", + "commGuideLink07": "O Trello de misións: para enviar textos de misións.", + "commGuidePara069": "As seguintes persoas contribuíron coa súa arte a estas ilustracións:", + "commGuideList01F": "Non pedir obxectos de pago, enviar mensaxes non desexadas, ou uso abusivo de maiúsculas.", + "commGuideList01A": "AS condicións do servizo teñen aplicación en todos os espazos, incluídos os gremios privados, as conversas de equipo e as mensaxes.", + "commGuideList01E": "Non instigues ou participes en conversas contenciosas na taberna.", + "commGuidePara017": "Aquí tes un resumo, pero animámoste a ler a versión completa a continuación:", + "commGuideList01D": "Cumpre coas solicitudes do equipo de Habitica.", + "commGuideList01C": "Todas as discusións deben ser axeitadas para todas as idades e libres de palabras malsoantes.", + "commGuideList01B": "Prohíbese calquera comunicación violenta, ameazante, que promova a discriminación, etc. incluídos memes, imaxes e chistes.", + "commGuideList02N": "Denuncia e informa de publicacións que incumpren estas directrices ou as condicións do servizo. Xestionarémolo o máis rápido que poidamos. Tamén podes notificar ao equipo de Habitica mediante admin@habitica.com pero as denuncias desde a aplicación son a forma máis rápida de conseguir axuda.", + "commGuideList02M": "Non pidas xemas, subscricións ou ser parte de plans de grupo. Non está permitido na taberna, nos espazos de conversa públicos ou privados, nin en mensaxes privadas. Se recibes unha mensaxe pedíndote obxectos de pago, denúnciaa. A solicitude reiterada ou severa de xemas ou subscricións, especialmente tras un aviso, podería resultar en expulsión.", + "commGuideList09D": "Retirada ou degradación do rango de contribución", + "commGuideList05H": "Intentos severos ou repetidos de defraudar ou forzar a outras persoas procurando obxectos de valor monetario real" } diff --git a/website/common/locales/gl/content.json b/website/common/locales/gl/content.json index 4b16edb103..6ff2ccfed2 100755 --- a/website/common/locales/gl/content.json +++ b/website/common/locales/gl/content.json @@ -1,27 +1,27 @@ { - "potionText": "Poción de Saúde", - "potionNotes": "Recupera 15 de Saúde (uso instantáneo)", - "armoireText": "Armario Encantado", - "armoireNotesFull": "¡Abre o Armario Encantado e recibirás Equipo especial, Experiencia ou Comida! Pezas de Equipo restantes:", - "armoireLastItem": "Acabas de atopar o último elemento do Equipemento pouco frecuente no Armario Encantado.", - "armoireNotesEmpty": "O Armario Encantado terá novas pezas de Equipo na primeira semana de cada mes. Ata entón, ¡segue pulsando para obter Experiencia e Comida!", + "potionText": "Poción de vida", + "potionNotes": "Recupera 15 de vida (uso instantáneo)", + "armoireText": "Armario encantado", + "armoireNotesFull": "Abre o armario encantado e recibirás equipamento especial, experiencia ou penso! Pezas de equipamento restantes:", + "armoireLastItem": "Acabas de atopar o último elemento do equipamento singular no armario encantado.", + "armoireNotesEmpty": "O armario encantado terá novas pezas de equipamento na primeira semana de cada mes. Ata entón, segue premendo para obter experiencia e penso!", "dropEggWolfText": "Lobo", "dropEggWolfMountText": "Lobo", "dropEggWolfAdjective": "un leal", - "dropEggTigerCubText": "Cachorro de Tigre", + "dropEggTigerCubText": "Cachorro de tigre", "dropEggTigerCubMountText": "Tigre", - "dropEggTigerCubAdjective": "un fiero", - "dropEggPandaCubText": "Cachorro de Panda", + "dropEggTigerCubAdjective": "feroz", + "dropEggPandaCubText": "Cachorro de panda", "dropEggPandaCubMountText": "Panda", - "dropEggPandaCubAdjective": "un agradable", - "dropEggLionCubText": "Leonciño", + "dropEggPandaCubAdjective": "un agradábel", + "dropEggLionCubText": "Cachorro de león", "dropEggLionCubMountText": "León", - "dropEggLionCubAdjective": "un maxestuoso", + "dropEggLionCubAdjective": "un maxestoso", "dropEggFoxText": "Raposo", "dropEggFoxMountText": "Raposo", "dropEggFoxAdjective": "un astuto", - "dropEggFlyingPigText": "Porco Voador", - "dropEggFlyingPigMountText": "Porco Voador", + "dropEggFlyingPigText": "Porco voador", + "dropEggFlyingPigMountText": "Porco voador", "dropEggFlyingPigAdjective": "un extravagante", "dropEggDragonText": "Dragón", "dropEggDragonMountText": "Dragón", @@ -29,11 +29,11 @@ "dropEggCactusText": "Cacto", "dropEggCactusMountText": "Cacto", "dropEggCactusAdjective": "un espiñoso", - "dropEggBearCubText": "Cachorro de Oso", + "dropEggBearCubText": "Cachorro de oso", "dropEggBearCubMountText": "Oso", "dropEggBearCubAdjective": "un valente", - "questEggGryphonText": "Grifo", - "questEggGryphonMountText": "Grifo", + "questEggGryphonText": "Grifón", + "questEggGryphonMountText": "Grifón", "questEggGryphonAdjective": "un orgulloso", "questEggHedgehogText": "Ourizo", "questEggHedgehogMountText": "Ourizo", @@ -42,41 +42,41 @@ "questEggDeerMountText": "Cervo", "questEggDeerAdjective": "un elegante", "questEggEggText": "Ovo", - "questEggEggMountText": "Cesta de Ovos", + "questEggEggMountText": "Cesta de ovos", "questEggEggAdjective": "unha colorida", "questEggRatText": "Rato", "questEggRatMountText": "Rato", "questEggRatAdjective": "un amistoso", "questEggOctopusText": "Polbo", "questEggOctopusMountText": "Polbo", - "questEggOctopusAdjective": "un escurridizo", - "questEggSeahorseText": "Cabaliño de mar", - "questEggSeahorseMountText": "Cabaliño de mar", + "questEggOctopusAdjective": "un escorregadizo", + "questEggSeahorseText": "Cabalo de mar", + "questEggSeahorseMountText": "Cabalo de mar", "questEggSeahorseAdjective": "un excelente", - "questEggParrotText": "Loro", - "questEggParrotMountText": "Loro", + "questEggParrotText": "Papagaio", + "questEggParrotMountText": "Papagaio", "questEggParrotAdjective": "un animado", "questEggRoosterText": "Galo", "questEggRoosterMountText": "Galo", "questEggRoosterAdjective": "un pomposo", "questEggSpiderText": "Araña", "questEggSpiderMountText": "Araña", - "questEggSpiderAdjective": "un artístico", - "questEggOwlText": "Bufo", - "questEggOwlMountText": "Bufo", - "questEggOwlAdjective": "un sabio", - "questEggPenguinText": "Pingüino", - "questEggPenguinMountText": "Pingüino", + "questEggSpiderAdjective": "unha artística", + "questEggOwlText": "Curuxa", + "questEggOwlMountText": "Curuxa", + "questEggOwlAdjective": "unha sabia", + "questEggPenguinText": "Pingüín", + "questEggPenguinMountText": "Pingüín", "questEggPenguinAdjective": "un perspicaz", - "questEggTRexText": "Tiranosaurio", - "questEggTRexMountText": "Tiranosaurio", + "questEggTRexText": "Tiranosauro", + "questEggTRexMountText": "Tiranosauro", "questEggTRexAdjective": "un bracicurto", "questEggRockText": "Rocha", "questEggRockMountText": "Rocha", "questEggRockAdjective": "unha alegre", "questEggBunnyText": "Coello", "questEggBunnyMountText": "Coello", - "questEggBunnyAdjective": "un mimoso", + "questEggBunnyAdjective": "un agarimoso", "questEggSlimeText": "Baba de nube", "questEggSlimeMountText": "Baba de nube", "questEggSlimeAdjective": "unha doce", @@ -85,7 +85,7 @@ "questEggSheepAdjective": "unha laúda", "questEggCuttlefishText": "Chopo", "questEggCuttlefishMountText": "Chopo", - "questEggCuttlefishAdjective": "un adorable", + "questEggCuttlefishAdjective": "un adorábel", "questEggWhaleText": "Balea", "questEggWhaleMountText": "Balea", "questEggWhaleAdjective": "unha ostentosa", @@ -100,9 +100,9 @@ "questEggFrogAdjective": "unha principesca", "questEggSnakeText": "Serpe", "questEggSnakeMountText": "Serpe", - "questEggSnakeAdjective": "unha escurridiza", + "questEggSnakeAdjective": "unha escorregadiza", "questEggUnicornText": "Unicornio", - "questEggUnicornMountText": "Unicornio Alado", + "questEggUnicornMountText": "Unicornio alado", "questEggUnicornAdjective": "un máxico", "questEggSabretoothText": "Tigre de dentes de sable", "questEggSabretoothMountText": "Tigre de dentes de sable", @@ -160,7 +160,7 @@ "questEggHippoAdjective": "un hilarante", "questEggYarnText": "Fío", "questEggYarnMountText": "Alfombra máxica", - "questEggYarnAdjective": "de la", + "questEggYarnAdjective": "unha laúda", "questEggPterodactylText": "Pterodáctilo", "questEggPterodactylMountText": "Pterodáctilo", "questEggPterodactylAdjective": "un terso", @@ -175,138 +175,138 @@ "questEggSeaSerpentAdjective": "unha serpeante", "questEggKangarooText": "Canguro", "questEggKangarooMountText": "Canguro", - "questEggKangarooAdjective": "afervoado", + "questEggKangarooAdjective": "un afervoado", "questEggAlligatorText": "Caimán", "questEggAlligatorMountText": "Caimán", "questEggAlligatorAdjective": "un astuto", "questEggVelociraptorText": "Velociraptor", "questEggVelociraptorMountText": "Velociraptor", "questEggVelociraptorAdjective": "un enxeñoso", - "eggNotes": "Atopa unha poción de eclosión para verter neste ovo, e eclosionará para dar <%= eggAdjective(locale) %> <%= eggText(locale) %>.", - "hatchingPotionBase": "Básic@", - "hatchingPotionWhite": "Branc@", - "hatchingPotionDesert": "do Deserto", - "hatchingPotionRed": "Vermell@", - "hatchingPotionShade": "Escur@", - "hatchingPotionSkeleton": "Esquelétic@", + "eggNotes": "Atopa unha poción de eclosión para verter neste ovo, e del nacerá <%= eggAdjective(locale) %> <%= eggText(locale) %>.", + "hatchingPotionBase": "Base", + "hatchingPotionWhite": "Branca", + "hatchingPotionDesert": "Desértica", + "hatchingPotionRed": "Vermella", + "hatchingPotionShade": "Escura", + "hatchingPotionSkeleton": "Esquelética", "hatchingPotionZombie": "Zombi", - "hatchingPotionCottonCandyPink": "de Algodón de Azucre rosa", - "hatchingPotionCottonCandyBlue": "de Algodón de Azucre azul", - "hatchingPotionGolden": "Dourad@", - "hatchingPotionSpooky": "Horripilante", - "hatchingPotionPeppermint": "de Menta", + "hatchingPotionCottonCandyPink": "Rosa algodón de azucre", + "hatchingPotionCottonCandyBlue": "Azul algodón de azucre", + "hatchingPotionGolden": "Dourada", + "hatchingPotionSpooky": "Fantasmagórica", + "hatchingPotionPeppermint": "Mentolada", "hatchingPotionFloral": "Floral", "hatchingPotionAquatic": "Acuática", "hatchingPotionEmber": "Ardente", - "hatchingPotionThunderstorm": "Tormenta de Tronos", - "hatchingPotionGhost": "Pantasma", + "hatchingPotionThunderstorm": "Tormentosa", + "hatchingPotionGhost": "Fantasma", "hatchingPotionRoyalPurple": "Púrpura real", - "hatchingPotionHolly": "Acivro", - "hatchingPotionCupid": "Cupido", + "hatchingPotionHolly": "Acivreira", + "hatchingPotionCupid": "Amorosa", "hatchingPotionShimmer": "Relucente", - "hatchingPotionFairy": "Fada", - "hatchingPotionStarryNight": "Noite estrelada", - "hatchingPotionRainbow": "Arco da vella", - "hatchingPotionGlass": "Cristal", + "hatchingPotionFairy": "Imaxinaria", + "hatchingPotionStarryNight": "Estrelada", + "hatchingPotionRainbow": "Corada", + "hatchingPotionGlass": "Cristalina", "hatchingPotionGlow": "Fluorescente", "hatchingPotionFrost": "Xeada", - "hatchingPotionIcySnow": "Neve xeada", - "hatchingPotionNotes": "Vértea nun ovo e eclosionará para dar a mascota seguinte: <%= potText(locale) %>.", - "premiumPotionAddlNotes": "Non se pode usar nos ovos de mascota de misión.", + "hatchingPotionIcySnow": "Nevada", + "hatchingPotionNotes": "Vértea nun ovo e nacerá a seguinte mascota: <%= potText(locale) %>.", + "premiumPotionAddlNotes": "Non se pode usar nos ovos de mascota de misión. Límite para mercar: <%= date(locale) %>.", "foodMeat": "Carne", "foodMeatThe": "a carne", - "foodMeatA": "Carne", + "foodMeatA": "carne", "foodMilk": "Leite", "foodMilkThe": "o leite", - "foodMilkA": "Leite", + "foodMilkA": "leite", "foodPotatoe": "Pataca", - "foodPotatoeThe": "a patata", - "foodPotatoeA": "unha patata", - "foodStrawberry": "Fresa", + "foodPotatoeThe": "a pataca", + "foodPotatoeA": "unha pataca", + "foodStrawberry": "Amorodo", "foodStrawberryThe": "o amorodo", "foodStrawberryA": "un amorodo", "foodChocolate": "Chocolate", "foodChocolateThe": "o chocolate", - "foodChocolateA": "Chocolate", + "foodChocolateA": "chocolate", "foodFish": "Peixe", "foodFishThe": "o peixe", "foodFishA": "un peixe", - "foodRottenMeat": "Carne Podre", + "foodRottenMeat": "Carne podre", "foodRottenMeatThe": "a carne podre", "foodRottenMeatA": "carne podre", - "foodCottonCandyPink": "Algodón de Azucre rosa", - "foodCottonCandyPinkThe": "the Pink Cotton Candy", - "foodCottonCandyPinkA": "un caramelo de algodón de azucre rosa", - "foodCottonCandyBlue": "Algodón de Azucre azul", - "foodCottonCandyBlueThe": "the Blue Cotton Candy", - "foodCottonCandyBlueA": "un caramelo de algodón de azucre azul", + "foodCottonCandyPink": "Algodón de azucre rosa", + "foodCottonCandyPinkThe": "o algodón de azucre rosa", + "foodCottonCandyPinkA": "algodón de azucre rosa", + "foodCottonCandyBlue": "Algodón de azucre azul", + "foodCottonCandyBlueThe": "o algodón de azucre azul", + "foodCottonCandyBlueA": "algodón de azucre azul", "foodHoney": "Mel", "foodHoneyThe": "o mel", - "foodHoneyA": "Mel", - "foodCakeSkeleton": "Pastel de Ósos Nus", - "foodCakeSkeletonThe": "the Bare Bones Cake", - "foodCakeSkeletonA": "a Bare Bones Cake", - "foodCakeBase": "Pastel Básico", + "foodHoneyA": "mel", + "foodCakeSkeleton": "Torta nos ósos", + "foodCakeSkeletonThe": "a torta nos ósos", + "foodCakeSkeletonA": "unha torta nos ósos", + "foodCakeBase": "Torta básica", "foodCakeBaseThe": "a torta básica", "foodCakeBaseA": "unha torta básica", - "foodCakeCottonCandyBlue": "Pastel de Algodón azul", - "foodCakeCottonCandyBlueThe": "the Candy Blue Cake", - "foodCakeCottonCandyBlueA": "a Candy Blue Cake", - "foodCakeCottonCandyPink": "Pastel de Algodón rosa", - "foodCakeCottonCandyPinkThe": "the Candy Pink Cake", - "foodCakeCottonCandyPinkA": "a Candy Pink Cake", - "foodCakeShade": "Pastel de Chocolate", - "foodCakeShadeThe": "the Chocolate Cake", - "foodCakeShadeA": "a Chocolate Cake", - "foodCakeWhite": "Pastel de Crema", - "foodCakeWhiteThe": "the Cream Cake", - "foodCakeWhiteA": "a Cream Cake", - "foodCakeGolden": "Pastel de Mel", - "foodCakeGoldenThe": "the Honey Cake", - "foodCakeGoldenA": "a Honey Cake", - "foodCakeZombie": "Pastel Podre", - "foodCakeZombieThe": "the Rotten Cake", - "foodCakeZombieA": "a Rotten Cake", - "foodCakeDesert": "Pastel de Area", - "foodCakeDesertThe": "the Sand Cake", - "foodCakeDesertA": "a Sand Cake", - "foodCakeRed": "Pastel de Fresa", - "foodCakeRedThe": "the Strawberry Cake", - "foodCakeRedA": "a Strawberry Cake", - "foodCandySkeleton": "Caramelo de Ósos Nus", - "foodCandySkeletonThe": "the Bare Bones Candy", - "foodCandySkeletonA": "Bare Bones Candy", - "foodCandyBase": "Caramelo Básico", - "foodCandyBaseThe": "the Basic Candy", + "foodCakeCottonCandyBlue": "Torta de azucre azul", + "foodCakeCottonCandyBlueThe": "a torta de azucre azul", + "foodCakeCottonCandyBlueA": "unha torta de azucre azul", + "foodCakeCottonCandyPink": "Torta de azucre rosa", + "foodCakeCottonCandyPinkThe": "a torta de azucre rosa", + "foodCakeCottonCandyPinkA": "unha torta de azucre rosa", + "foodCakeShade": "Torta de chocolate", + "foodCakeShadeThe": "a torta de chocolate", + "foodCakeShadeA": "unha torta de chocolate", + "foodCakeWhite": "Torta de crema", + "foodCakeWhiteThe": "a torta de crema", + "foodCakeWhiteA": "unha torta de crema", + "foodCakeGolden": "Torta de mel", + "foodCakeGoldenThe": "a torta de mel", + "foodCakeGoldenA": "unha torta de mel", + "foodCakeZombie": "Torta podre", + "foodCakeZombieThe": "a torta podre", + "foodCakeZombieA": "unha torta podre", + "foodCakeDesert": "Torta de area", + "foodCakeDesertThe": "a torta de area", + "foodCakeDesertA": "unha torta de area", + "foodCakeRed": "Torta de amorodo", + "foodCakeRedThe": "a torta de amorodo", + "foodCakeRedA": "unha torta de amorodo", + "foodCandySkeleton": "Caramelo nos ósos", + "foodCandySkeletonThe": "o caramelo nos ósos", + "foodCandySkeletonA": "un caramelo nos ósos", + "foodCandyBase": "Caramelo básico", + "foodCandyBaseThe": "o caramelo básico", "foodCandyBaseA": "un caramelo básico", "foodCandyCottonCandyBlue": "Caramelo ácido azul", - "foodCandyCottonCandyBlueThe": "the Sour Blue Candy", - "foodCandyCottonCandyBlueA": "Sour Blue Candy", + "foodCandyCottonCandyBlueThe": "o caramelo ácido azul", + "foodCandyCottonCandyBlueA": "un caramelo ácido azul", "foodCandyCottonCandyPink": "Caramelo ácido rosa", - "foodCandyCottonCandyPinkThe": "the Sour Pink Candy", - "foodCandyCottonCandyPinkA": "Sour Pink Candy", - "foodCandyShade": "Caramelo de Chocolate", - "foodCandyShadeThe": "the Chocolate Candy", + "foodCandyCottonCandyPinkThe": "o caramelo ácido rosa", + "foodCandyCottonCandyPinkA": "un caramelo ácido rosa", + "foodCandyShade": "Caramelo de chocolate", + "foodCandyShadeThe": "o caramelo de chocolate", "foodCandyShadeA": "un caramelo de chocolate", - "foodCandyWhite": "Caramelo de Vainilla", - "foodCandyWhiteThe": "the Vanilla Candy", + "foodCandyWhite": "Caramelo de vainilla", + "foodCandyWhiteThe": "o caramelo de vainilla", "foodCandyWhiteA": "un caramelo de vainilla", - "foodCandyGolden": "Caramelo de Mel", - "foodCandyGoldenThe": "the Honey Candy", + "foodCandyGolden": "Caramelo de mel", + "foodCandyGoldenThe": "o caramelo de mel", "foodCandyGoldenA": "un caramelo de mel", - "foodCandyZombie": "Caramelo Podre", - "foodCandyZombieThe": "the Rotten Candy", + "foodCandyZombie": "Caramelo podre", + "foodCandyZombieThe": "o caramelo podre", "foodCandyZombieA": "un caramelo podre", - "foodCandyDesert": "Caramelo de Area", - "foodCandyDesertThe": "the Sand Candy", + "foodCandyDesert": "Caramelo de area", + "foodCandyDesertThe": "o caramelo de area", "foodCandyDesertA": "un caramelo de area", - "foodCandyRed": "Caramelo de Canela", - "foodCandyRedThe": "the Cinnamon Candy", + "foodCandyRed": "Caramelo de canela", + "foodCandyRedThe": "o caramelo de canela", "foodCandyRedA": "un caramelo de canela", "foodSaddleText": "Sela", - "foodSaddleNotes": "Converte instantáneamente unha das túas mascotas nunha montura.", - "foodSaddleSellWarningNote": "Hey! This is a pretty useful item! Are you familiar with how to use a Saddle with your Pets?", - "foodNotes": "Dálle isto de comer a unha mascota e converterase nun robusto individuo.", + "foodSaddleNotes": "Converte nun intre unha mascota nunha montura.", + "foodSaddleSellWarningNote": "Eh! Este obxecto é bastante útil! Sabes como usar unha sela coas túas mascotas?", + "foodNotes": "Dálle isto de comer a unha mascota e converterase nunha robusta cabalgadura.", "questEggDolphinMountText": "Delfín", "questEggDolphinText": "Delfín", "questEggDolphinAdjective": "un alegre", @@ -316,31 +316,63 @@ "hatchingPotionAmber": "Ámbar", "foodPieZombie": "Torta podre", "foodPieCottonCandyBlue": "Torta de arandos", - "hatchingPotionMoonglow": "Luz da lúa", + "hatchingPotionMoonglow": "Luar", "hatchingPotionTurquoise": "Turquesa", "hatchingPotionFluorite": "Fluorita", - "hatchingPotionSunset": "Solpor", + "hatchingPotionSunset": "Crepuscular", "hatchingPotionVampire": "Vampírica", - "hatchingPotionVeggie": "Xardín", + "hatchingPotionVeggie": "Xardineira", "hatchingPotionRuby": "Rubí", "hatchingPotionWatery": "Aguada", "hatchingPotionSilver": "Prateada", - "hatchingPotionWindup": "de Corda", + "hatchingPotionWindup": "Ventilada", "hatchingPotionOnyx": "Ónix", "hatchingPotionCelestial": "Celestial", "hatchingPotionSunshine": "Solar", "hatchingPotionShadow": "Sombría", - "hatchingPotionAurora": "Aurora", - "hatchingPotionDessert": "Confección", + "hatchingPotionAurora": "Auroral", + "hatchingPotionDessert": "Doce", "hatchingPotionBronze": "Bronce", - "hatchingPotionRoseQuartz": "Cuarzo rosa", - "hatchingPotionBirchBark": "Cortiza de bidueiro", - "hatchingPotionPolkaDot": "de lunares", - "hatchingPotionAutumnLeaf": "Folla de outono", - "hatchingPotionBlackPearl": "Perla negra", - "hatchingPotionSolarSystem": "Sistema solar", - "hatchingPotionMossyStone": "Pedra con musco", + "hatchingPotionRoseQuartz": "Rosa cuarzo", + "hatchingPotionBirchBark": "Bidueiral", + "hatchingPotionPolkaDot": "Manchada", + "hatchingPotionAutumnLeaf": "Outonal", + "hatchingPotionBlackPearl": "Perlada negra", + "hatchingPotionSolarSystem": "Solar", + "hatchingPotionMossyStone": "Carriceira", "hatchingPotionStainedGlass": "Vidreira", - "hatchingPotionSandSculpture": "Escultura de area", - "hatchingPotionVirtualPet": "Mascota virtual" + "hatchingPotionSandSculpture": "Areosa", + "hatchingPotionVirtualPet": "Virtual", + "foodPieBaseThe": "a torta de mazá básica", + "foodPieCottonCandyBlueA": "un pedazo de torta de arandos", + "foodPieWhiteA": "un pedazo de torta de pudin de vainilla", + "hatchingPotionPinkMarble": "Rosa mármore", + "foodPieSkeleton": "Empanada de miolo", + "foodPieBase": "Torta de mazá básica", + "foodPieCottonCandyPinkA": "un pedazo de torta de ruibarbo rosa", + "foodPieShadeThe": "a torta de chocolate negro", + "foodPieShadeA": "un pedazo de torta de chocolate negro", + "foodPieGolden": "Torta de crema de plátano dourada", + "foodPieRed": "Torta de cereixa vermella", + "foodPieRedThe": "a torta de cereixa vermella", + "foodPieDesert": "Torta de sobremesa do deserto", + "foodPieZombieA": "un pedazo de torta podre", + "premiumPotionUnlimitedNotes": "Non se pode usar nos ovos de mascota de misión.", + "foodPieBaseA": "un pedazo de torta de mazá básica", + "foodPieZombieThe": "a torta podre", + "foodPieCottonCandyBlueThe": "a torta de arandos", + "foodPieCottonCandyPinkThe": "a torta de ruibarbo rosa", + "foodPieRedA": "un pedazo de torta de cereixa vermella", + "foodPieGoldenThe": "a torta de crema de plátano dourada", + "foodPieDesertThe": "a torta de sobremesa do deserto", + "foodPieCottonCandyPink": "Torta de ruibarbo rosa", + "foodPieWhite": "Torta de pudin de vainilla", + "foodPieShade": "Torta de chocolate negro", + "foodPieWhiteThe": "a torta de pudin de vainilla", + "foodPieSkeletonThe": "a empanada de miolo", + "foodPieGoldenA": "un pedazo de torta de crema de plátano dourada", + "foodPieSkeletonA": "un pedazo de empanada de miolo", + "foodPieDesertA": "un pedazo de torta de sobremesa do deserto", + "hatchingPotionPorcelain": "Cerámica", + "hatchingPotionTeaShop": "Tenda de te" } diff --git a/website/common/locales/gl/contrib.json b/website/common/locales/gl/contrib.json index 129253da87..b7f9e40fb5 100755 --- a/website/common/locales/gl/contrib.json +++ b/website/common/locales/gl/contrib.json @@ -1,58 +1,58 @@ { - "playerTiersDesc": "", - "tier1": "Nivel 1 (amiga)", - "tier2": "Nivel 2 (amiga)", - "tier3": "Nivel 3 (elite)", - "tier4": "Nivel 4 (elite)", - "tier5": "Nivel 5 (campioa)", - "tier6": "Nivel 6 (campioa)", - "tier7": "Nivel 7 (lendaria)", + "playerTiersDesc": "Os alcumes corados na conversa indican o rango de contribución da persoa. A maior rango, máis contribuíu a persoa a Habitica mediante arte, código, na comunidade, e máis!", + "tier1": "Rango 1 (amizade)", + "tier2": "Rango 2 (amizade)", + "tier3": "Rango 3 (elite)", + "tier4": "Rango 4 (elite)", + "tier5": "Rango 5 (aristocracia)", + "tier6": "Rango 6 (aristocracia)", + "tier7": "Rango 7 (nobreza)", "tierModerator": "Moderación (garda)", - "tierStaff": "Equipo (heroica)", - "tierNPC": "NPC", - "friend": "Amigo", - "elite": "Élite", - "champion": "Campión", - "legendary": "Lendario", - "moderator": "Moderador", - "guardian": "Gardián", - "staff": "Persoal", - "heroic": "Heroico", - "modalContribAchievement": "Logro de Colaborador(a)!", - "contribModal": "<%= name %>, you awesome person! You're now a tier <%= level %> contributor for helping Habitica.", - "contribLink": "", - "contribName": "Colaborador(a)", - "contribText": "Has contributed to Habitica, whether via code, art, music, writing, or other methods. To learn more, join the Aspiring Legends Guild!", - "kickstartName": "", - "kickstartText": "Apoiou o Proxecto Kickstarter", + "tierStaff": "Equipo (realeza)", + "tierNPC": "Personaxe non xogábel", + "friend": "Amizade", + "elite": "Elite", + "champion": "Aristocracia", + "legendary": "Nobreza", + "moderator": "Moderación", + "guardian": "Garda", + "staff": "Equipo", + "heroic": "Realeza", + "modalContribAchievement": "Logro de colaboración!", + "contribModal": "Serás xenial, <%= name %>! Pasaches a ser unha persoa colaboradora de rango <%= level %> por axudar a Habitica.", + "contribLink": "Mira os premios que levaches pola túa achega!", + "contribName": "Contribución", + "contribText": "Contribuíu a Habitica con código, imaxes, música, texto, ou doutro xeito. Para máis información, únete ao gremio «Aspiring Legends»!", + "kickstartName": "Patrocinio en Kickstarter, rango de <%= key %> $", + "kickstartText": "Patrocinou o proxecto en Kickstarter", "helped": "Axudou a Habitica a medrar", - "hall": "Sala dos Heroes", + "hall": "Sala das xestas", "contribTitle": "Título de Colaborador(a) (ex: \"Ferreiro\")", - "contribLevel": "Rango de Colaborador(a)", + "contribLevel": "Rango de contribución", "contribHallText": "1-7 para os colaboradores normais, 8 para os moderadores, 9 para o persoal. Isto determina que obxectos, mascotas e monturas están dispoñibles. Tamén determina a cor das etiquetas. Os rangos 8 e 9 reciben automaticamente a condición de administradores.", - "hallContributors": "Sala dos Contribuidores", - "hallPatrons": "Sala dos Patróns", + "hallContributors": "Sala das achegas", + "hallPatrons": "Sala dos patrocinios", "rewardUser": "Recompensar ao Usuario", "UUID": "ID de Usuario", "loadUser": "Cargar Usuario", - "noAdminAccess": "Non tes acceso de administrador(a).", - "userNotFound": "Usuario non atopado.", + "noAdminAccess": "Non tes acceso de administración.", + "userNotFound": "Non se atopou a persoa.", "invalidUUID": "O UUID debe ser válido", "title": "Título", "moreDetails": "Máis detalles (1-7)", "moreDetails2": "máis detalles (8-9)", - "contributions": "Aportacións", - "admin": "Administrador(a)", + "contributions": "Achegas", + "admin": "Administración", "notGems": "En dólares americanos (USD), non en Xemas. É dicir que, se este número é 1, significa 4 xemas. Usa esta opción unicamente cando concedas obxectos aos xogadores manualmente, non a uses ao concederes rangos de colaboradores. Os rangos de colaboradores engadirán xemas automaticamente.", - "gamemaster": "Mestre do Xogo (persoal/moderador)", - "backerTier": "Rango de Patrocinador", + "gamemaster": "Dirección (equipo, moderación)", + "backerTier": "Rango de patrocinio", "balance": "Saldo", - "playerTiers": "Rangos dos Xogadores", + "playerTiers": "Rangos de participantes", "tier": "Rango", "conRewardsURL": "https://habitica.fandom.com/wiki/Contributor_Rewards", - "surveysSingle": "Axudou a Habitica a medrar, ao completar unha enquisa ou ao axudar cun gran intento de proba. Grazas!", - "surveysMultiple": "Helped Habitica grow on <%= count %> occasions, either by filling out a survey or helping with a major testing effort. Thank you!", - "blurbHallPatrons": "Esta é a Sala dos Patróns, onde honramos os nobres aventureiros que apoiaron o Kickstarter orixinal de Habitica. Agradecémoslles a súa axuda en facer nacer Habitica!", - "blurbHallContributors": "Esta é a Sala dos Colaboradores, onde honramos os colaboradores ao código aberto de Habitica. Que sexa a través do código, arte, música, escritura, ou incluso só axuda, gañaron xemas, equipamento exclusivo, e títulos prestixiosos. Ti tamén podes contribuír a Habitica! Descobre máis aquí. ", - "noPrivAccess": "Non ten os privilexios necesarios." + "surveysSingle": "Axudaches a Habitica a medrar, ben fose completando unha enquisa ou axudar nunhas probas importantes. Grazas!", + "surveysMultiple": "Axudaches a Habitica a medrar en <%= count %> ocasións, ben fose completando unha enquisa ou axudar nunhas probas importantes. Grazas!", + "blurbHallPatrons": "Esta é a sala dos patrocinios, onde honramos as nobres e aventureiras persoas que patrocinaron Habitica en Kickstarter. Agradecémoslles que nos axudasen a dar vida a Habitica!", + "blurbHallContributors": "Esta é a sala das achegas, onde honramos as contribucións libres a Habitica. Fose mediante código, arte, música, texto ou simplemente axuda, gañaron xemas, equipamento exclusivo e títulos prestixiosos. Ti tamén podes contribuír a Habitica! Descobre máis aquí. ", + "noPrivAccess": "Non tes os privilexios necesarios." } diff --git a/website/common/locales/gl/death.json b/website/common/locales/gl/death.json index b5c1337c1f..1e1d474658 100755 --- a/website/common/locales/gl/death.json +++ b/website/common/locales/gl/death.json @@ -1,17 +1,17 @@ { - "lostAllHealth": "Acabóuseche a Saúde!", + "lostAllHealth": "Quedaches sen vida!", "dontDespair": "Non desesperes!", - "deathPenaltyDetails": "Perdiches un Nivel, o teu Ouro, e un elemento do teu Equipamento, pero podes recuperalos con traballo duro! Boa sorte, faralo xenial.", - "refillHealthTryAgain": "Recupera a Saúde e volve a intentalo", - "dyingOftenTips": "Pasa isto a miúdo? Velaquí uns consellos!", - "losingHealthWarning": "Coidado, estás perdendo Saúde!", - "losingHealthWarning2": "Non deixes a túa Saúde descender ata cero! Se ocorre, perderás un nivel, o teu Ouro e un elemento do teu Equipamento.", - "toRegainHealth": "Para recuperar Saúde:", - "lowHealthTips1": "Sube de nivel para recuperarte completamente!", - "lowHealthTips2": "Merca unha Poción de Saúde na columna Recompensas para recuperar 15 Puntos de Saúde.", - "losingHealthQuickly": "Perdes Saúde rapidamente?", - "lowHealthTips3": "Os Diarios incompletos prexudícante pola noite, así que ten coidado de non engadir demasiados ao principio!", - "lowHealthTips4": "Se un Diario debe facerse ata un certo día, podes desactivalo pulsando no icono do lápiz.", - "goodLuck": "Boa sorte!", - "cannotRevive": "Non podes resucitar se non estás morto" + "deathPenaltyDetails": "Perdiches un nivel, o ouro, e unha peza de equipamento, pero con esforzo podes recuperalos. Ánimo!", + "refillHealthTryAgain": "Revivir e intentalo de novo", + "dyingOftenTips": "Pásache a miúdo? Velaquí uns consellos! (en inglés)", + "losingHealthWarning": "Coidado, estás perdendo vida!", + "losingHealthWarning2": "Non deixes que a vida te baixe a cero! Senón perderás un nivel, o ouro, e unha peza de equipamento.", + "toRegainHealth": "Para recuperar vida:", + "lowHealthTips1": "Sube de nivel para recuperar toda a vida!", + "lowHealthTips2": "Merca unha poción de vida na columna de recompensas para recuperar 15 puntos de vida.", + "losingHealthQuickly": "Perdes vida moi rápido?", + "lowHealthTips3": "As tarefas diarias sen completar dánante pola noite, así que ten coida de non engadir demasiadas ao principio!", + "lowHealthTips4": "Se unha tarefa diaria non toca un día concreto, podes desactivala premendo a icona de lapis.", + "goodLuck": "Sorte!", + "cannotRevive": "Non podes revivir se non morriches" } diff --git a/website/common/locales/gl/defaulttasks.json b/website/common/locales/gl/defaulttasks.json index 7c30decb5f..7872df017e 100755 --- a/website/common/locales/gl/defaulttasks.json +++ b/website/common/locales/gl/defaulttasks.json @@ -1,41 +1,56 @@ { - "defaultHabit1Text": "Traballo Productivo (Pulsa no lapis para editar)", - "defaultHabit2Text": "Comer Comida Basura (Pulsa o lapis para editar)", - "defaultHabit3Text": "Usar as escaleiras / o ascensor (Pulsa no lapis para editar)", + "defaultHabit1Text": "Traballo produtivo (preme o lapis para editar)", + "defaultHabit2Text": "Comer comida rápida (preme o lapis para editar)", + "defaultHabit3Text": "Usar as escaleiras ou o ascensor (preme o lapis para editar)", "defaultHabit4Text": "Engadir unha tarefa a Habitica", - "defaultHabit4Notes": "Unha Habitude, unha Tarefa Diaria ou unha Tarefa Pendente", - "defaultTodo1Text": "Unirse a Habitica (Conta comigo!)", - "defaultTodoNotes": "Podes completar esta Tarefa, editala ou sacala.", - "defaultReward1Text": "descanso de 15 minutos", + "defaultHabit4Notes": "Un hábito, unha tarefa diaria ou unha tarefa pendente", + "defaultTodo1Text": "Unirse a Habitica (márcame!)", + "defaultTodoNotes": "Podes completar esta tarefa pendente, editala ou retirala.", + "defaultReward1Text": "Descanso de 15 minutos", "defaultReward2Text": "Recompénsate", - "defaultReward2Notes": "Watch TV, play a game, eat a treat, it's up to you!", + "defaultReward2Notes": "Mira a tele, xoga, come doces, ti decides!", "defaultTag1": "Traballo", "defaultTag2": "Exercicio", - "defaultTag3": "Saúde + Benestar", - "defaultTag4": "Escola", + "defaultTag3": "Saúde e benestar", + "defaultTag4": "Estudos", "defaultTag5": "Equipos", "defaultTag6": "Quefaceres", "defaultTag7": "Creatividade", - "schoolTodoText": "Terminar traballo de clase", - "schoolDailyNotes": "¡Toca para elexir o teu horario para as tarefas!", - "schoolDailyText": "Terminar as tarefas", - "schoolHabit": "Estudar/Procastinar", - "healthTodoNotes": "¡Toca para engadir listas de tarefas!", - "healthTodoText": "Revisión do horario>> Pensa en un cambio saudábel", - "healthDailyNotes": "¡Toca para realizar cambios!", + "schoolTodoText": "Rematar o traballo de clase", + "schoolDailyNotes": "Toca para escoller o teu horario de deberes!", + "schoolDailyText": "Rematar os deberes", + "schoolHabit": "Estudar ou procrastinar", + "healthTodoNotes": "Toca para engadir listas de tarefas!", + "healthTodoText": "Revisión do horario >> Pensa nun cambio saudábel", + "healthDailyNotes": "Toca para facer cambios!", "healthDailyText": "Usar fío dental", - "healthHabit": "Comer comida saudábel/comida basura", - "exerciseTodoNotes": "¡Toca para engadir unha lista de tarefas!", - "exerciseTodoText": "Organizar programa de exercicio", - "exerciseDailyNotes": "¡Toca para elixir o teu horario e concretar exercicios!", - "exerciseDailyText": "Estirar>> Rutina de exercicio diario", - "exerciseHabit": "10 min cardio >> + 10 minutos de cardio", - "workTodoProjectNotes": "¡Toca para especificar o nome do teu proxecto actual + determinar unha data límite!", - "workTodoProject": "Proxecto de traballo >> Completar proxecto de traballo", - "workDailyImportantTaskNotes": "Toca para especificar a túa tarefa máis impotante", - "workDailyImportantTask": "Tarefa máis importante>> Traballei na tarefa máis importante de hoxe", - "workHabitMail": "Leer emails", + "healthHabit": "Comer comida saudábel ou rápida", + "exerciseTodoNotes": "Toca para engadir unha lista de tarefas!", + "exerciseTodoText": "Preparar un programa de exercicio", + "exerciseDailyNotes": "Toca para escoller o teu horario e indicar exercicios!", + "exerciseDailyText": "Estirar >> Rutina de exercicio diario", + "exerciseHabit": "10 minutos de cardio >> + 10 minutos de cardio", + "workTodoProjectNotes": "Toca para indicar o nome do teu proxecto actual e definir unha data límite!", + "workTodoProject": "Proxecto do traballo >> Completar un proxecto do traballo", + "workDailyImportantTaskNotes": "Toca para indicar a túa tarefa máis importante", + "workDailyImportantTask": "A tarefa máis importante>> Traballei na tarefa máis importante de hoxe", + "workHabitMail": "Ler o correo", "choresDailyText": "Lavar a louza", "choresHabit": "Limpar 10 minutos", - "creativityTodoText": "Rematar un proxecto creativo" + "creativityTodoText": "Rematar un proxecto creativo", + "schoolTodoNotes": "Toca para dar nome ao traballo e escoller unha data límite!", + "selfCareHabit": "Facer un pequeno descanso", + "selfCareDailyNotes": "Toca para escoller o teu horario!", + "selfCareTodoNotes": "Toca para indicar o que tes pensado facer!", + "choresTodoNotes": "Toca para indicar a zona desordenada!", + "creativityHabit": "Estudar unha mestra do oficio >> + Practiquei unha nova técnica creativa", + "creativityDailyNotes": "Toca para indicar o nome do teu proxecto actual e definir un horario!", + "creativityTodoNotes": "Toca para indicar o nome do teu proxecto", + "choresDailyNotes": "Toca para escoller o teu horario!", + "selfCareDailyText": "5 minutos de respiración pausada", + "defaultHabitNotes": "Ou elimina desde a pantalla de editar", + "choresTodoText": "Organizar o armario >> Ordenar", + "selfCareTodoText": "Facer algo divertido", + "defaultHabitText": "Preme aquí para facer disto un mal hábito que te gustaría deixar", + "creativityDailyText": "Traballar nun proxecto creativo" } diff --git a/website/common/locales/gl/faq.json b/website/common/locales/gl/faq.json index e8ef811cb6..bdb3cd22c9 100755 --- a/website/common/locales/gl/faq.json +++ b/website/common/locales/gl/faq.json @@ -1,58 +1,108 @@ { - "frequentlyAskedQuestions": "Preguntas Frecuentes", - "faqQuestion0": "Estou confus@. Onde podo atopar un resumo?", - "iosFaqAnswer0": "En primeiro lugar, vas configurar as tarefas que queres facer na túa vida cotiá. Despois, a medida que completes as tarefas e as marques, gañarás experiencia e ouro. O ouro úsase para mercar equipamento e algúns obxectos, así como recompensas personalizadas. A experiencia fai que o teu personaxe suba de nivel e desbloquea contido como Mascotas, Habilidades e Misións! Podes personalizar o teu personaxe en Menú > Personalizar Avatar.\n\nAlgunhas formas básicas de interacción: pulsa no botón (+) na esquina superior dereita para engadir unha nova tarefa. Preme nunha tarefa existente para editala, e despraza unha tarefa cara a esquerda nunha tarefa para eliminala. Podes clasificar as tarefas empregando etiquetas na esquina superior esquerda, e ampliar e ocultar as listas ao pulsares na burbulla da lista.", - "androidFaqAnswer0": "En primeiro lugar, vas configurar as tarefas que queres facer na túa vida cotiá. Despois, a medida que completes as tarefas e as marques, gañarás experiencia e ouro. O ouro úsase para mercar equipamento e algúns obxectos, así como recompensas personalizadas. A experiencia fai que o teu personaxe suba de nivel e desbloquea contido como Mascotas, Habilidades e Misións! Podes personalizar o teu personaxe en Menú > [Inventario >] Avatar.\n\nAlgunhas formas básicas de interacción: pulsa no botón (+) na esquina inferior dereita para engadir unha nova tarefa. Preme nunha tarefa existente para editala, e despraza unha tarefa cara a dereita para eliminala. Podes clasificar as tarefas empregando etiquetas na esquina superior esquerda, e ampliar e ocultar as listas ao pulsares no cadrado da lista.", - "webFaqAnswer0": "En primeiro lugar, vas configurar as tarefas que queres facer na túa vida cotiá. Despois, a medida que completes as tarefas e as marques, gañarás experiencia e ouro. O ouro úsase para mercar equipamento e algúns obxectos, así como recompensas personalizadas. A experiencia fai que o teu personaxe suba de nivel e desbloquea contido como Mascotas, Habilidades e Misións! Para máis detalles, bota un vistazo a un resumo do xogo paso a paso en [Axuda -> Resumo para Novos Usuarios](https://habitica.com/static/overview).", - "faqQuestion1": "Como configuro as miñas tarefas?", - "iosFaqAnswer1": "Os bos hábitos (aqueles cun +) son tarefas que podes facer moitas veces ao día, como comer vexetais. Os malos hábitos (aqueles cun -) son tarefas que tes que evitar, como morder as uñas. Os hábitos cun + e un - teñen unha boa e unha mala opción, como ir polas escaleiras fronte a usar o ascensor. Os bos hábitos dan experiencia e ouro. Os malos hábitos quitan vida.\n\nAs tarefas diarias son as que tes que facer todos os días, como lavar os dentes ou mirar o correo electrónico. Podes tocar unha tarefa diaria para editala e cambiar os días nos que toca. Se saltas unha tarefa diaria cando toca, o teu avatar danarase pola noite. Ten coidado de non engadir moitas tarefas diarias dunha vez!\n\nAs tarefas pendentes son as tarefas por facer. Completar unha tarefa pendente dáche ouro e experiencia. Nunca perdes vida polas tarefas pendentes. Podes engadir unha data de vencemento a unha tarefa pendente tocándoa para editala.", - "androidFaqAnswer1": "Os bos hábitos (aqueles cun +) son tarefas que podes facer moitas veces ao día, como comer vexetais. Os malos hábitos (aqueles cun -) son tarefas que tes que evitar, como morder as uñas. Os hábitos cun + e un - teñen unha boa e unha mala opción, como ir polas escaleiras fronte a usar o ascensor. Os bos hábitos dan experiencia e ouro. Os malos hábitos quitan vida.\n\nAs tarefas diarias son as que tes que facer todos os días, como lavar os dentes ou mirar o correo electrónico. Podes tocar unha tarefa diaria para editala e cambiar os días nos que toca. Se saltas unha tarefa diaria cando toca, o teu avatar danarase pola noite. Ten coidado de non engadir moitas tarefas diarias dunha vez!\n\nAs tarefas pendentes son as tarefas por facer. Completar unha tarefa pendente dáche ouro e experiencia. Nunca perdes vida polas tarefas pendentes. Podes engadir unha data de vencemento a unha tarefa pendente tocándoa para editala.", - "webFaqAnswer1": "* Good Habits (the ones with a :heavy_plus_sign:) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a :heavy_minus_sign:) are tasks that you should avoid, like biting nails. Habits with a :heavy_plus_sign: and a :heavy_minus_sign: have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award Experience and Gold. Bad Habits subtract Health.\n* Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by clicking the pencil item to edit it. If you skip a Daily that is due, your avatar will take damage overnight. Be careful not to add too many Dailies at once!\n* To-Dos are your To-Do list. Completing a To-Do earns you Gold and Experience. You never lose Health from To-Dos. You can add a due date to a To-Do by clicking the pencil icon to edit.", - "faqQuestion2": "Que tarefas pode haber, por exemplo?", - "iosFaqAnswer2": "A wiki ten catro listas de tarefas de mostra para usalas como inspiración:\n

\n* [Hábitos de mostra](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Tarefas Diarias de mostra](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Tarefas de mostra](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Recompensas Personalizadas de mostra](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", - "androidFaqAnswer2": "A wiki ten catro listas de tarefas de mostra para usalas como inspiración:\n

\n* [Hábitos de mostra](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Tarefas Diarias de mostra](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Tarefas de mostra](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Recompensas Personalizadas de mostra](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", - "webFaqAnswer2": "A wiki ten catro listas de tarefas de mostra para usalas como inspiración:\n* [Hábitos de mostra](http://habitica.wikia.com/wiki/Sample_Habits)\n* [Tarefas Diarias de mostra](http://habitica.wikia.com/wiki/Sample_Dailies)\n* [Tarefas de mostra](http://habitica.wikia.com/wiki/Sample_To-Dos)\n* [Recompensas Personalizadas de mostra](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", - "faqQuestion3": "Por que as miñas tarefas cambian de cor?", - "iosFaqAnswer3": "As túas tarefas cambian de cor en base a como esteas a realizalalas! Cada nova tarefa comeza sendo de cor amarelo neutro. Executa Diarias ou Hábitos positivos con máis frecuencia e cambian cara o azul. Falta unha Diaria ou cede a un mal Mábito e a tarefa cambia en dirección ao vermello. Canto máis vermella sexa unha tarefa, máis recompensas che dará, pero se é unha Diaria ou un mal Hábito, máis te danará! Isto axuda a motivarte para realizar as tarefas que che están causando problemas.", - "androidFaqAnswer3": "As túas tarefas cambian de cor en base a como esteas a realizalalas! Cada nova tarefa comeza sendo de cor amarelo neutro. Executa Diarias ou Hábitos positivos con máis frecuencia e cambian cara o azul. Falta unha Diaria ou cede a un mal Mábito e a tarefa cambia en dirección ao vermello. Canto máis vermella sexa unha tarefa, máis recompensas che dará, pero se é unha Diaria ou un mal Hábito, máis te danará! Isto axuda a motivarte para realizar as tarefas que che están causando problemas.", - "webFaqAnswer3": "As túas tarefas cambian de cor en base a como esteas a realizalalas! Cada nova tarefa comeza sendo de cor amarelo neutro. Executa Diarias ou Hábitos positivos con máis frecuencia e cambian cara o azul. Falta unha Diaria ou cede a un mal Mábito e a tarefa cambia en dirección ao vermello. Canto máis vermella sexa unha tarefa, máis recompensas che dará, pero se é unha Diaria ou un mal Hábito, máis te danará! Isto axuda a motivarte para realizar as tarefas que che están causando problemas.", - "faqQuestion4": "Por que perdeu saúde o meu avatar, e como a recupero?", - "iosFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you tap a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your Party and one of your Party mates did not complete all their Dailies, the Boss will attack you.\n\n The main way to heal is to gain a level, which restores all your health. You can also buy a Health Potion with gold from the Rewards column. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. If you are in a Party with a Healer, they can heal you as well.", - "androidFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you tap a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your Party and one of your Party mates did not complete all their Dailies, the Boss will attack you.\n\n The main way to heal is to gain a level, which restores all your health. You can also buy a Health Potion with gold from the Rewards tab on the Tasks page. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. If you are in a Party with a Healer, they can heal you as well.", - "webFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you click a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your party and one of your party mates did not complete all their Dailies, the Boss will attack you. The main way to heal is to gain a level, which restores all your Health. You can also buy a Health Potion with Gold from the Rewards column. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. Other Healers can heal you as well if you are in a Party with them. Learn more by clicking \"Party\" in the navigation bar.", - "faqQuestion5": "Como xogo a Habitica cos meus amig@s?", - "iosFaqAnswer5": "A mellor forma é convidándoos a un equipo contigo! Os equipos poden ir de misións, loitar contra monstros, e usar habilidades para apoiarse os uns aos outros. Vai a Menú > Equipo e preme en \"Crear novo Equipo\" se aínda non tes un equipo. Logo pulsa na lista de membros, e pulsa Invitar na esquina superior dereita para convidar os teus amigos escribindo o seu ID de Usuario (unha secuencia de números e letras que eles poden atopar en Configuración > Detalles da Conta na aplicación, e Configuración > API na páxina web). Na páxina web, tamén podes invitar amigos por e-mail, que engadiremos á aplicación nunha actualización futura.\n\nNa páxina web, os teus amig@s e mais ti tamén podedes unirvos a Gremios, que son salas de chat públicas. Os Gremios serán engadidos á aplicación nunha actualización futura.", - "androidFaqAnswer5": "The best way is to invite them to a Party with you! Parties can go on quests, battle monsters, and cast skills to support each other. Go to the [website](https://habitica.com/) to create one if you don't already have a Party. You can also join guilds together (Social > Guilds). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many guilds as you'd like, but only one party.\n\n For more detailed info, check out the wiki pages on [Parties](http://habitica.wikia.com/wiki/Party) and [Guilds](http://habitica.wikia.com/wiki/Guilds).", - "webFaqAnswer5": "The best way is to invite them to a Party with you by clicking \"Party\" in the navigation bar! Parties can go on quests, battle monsters, and cast skills to support each other. You can also join Guilds together (click on \"Guilds\" in the navigation bar). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many Guilds as you'd like, but only one Party. For more detailed info, check out the wiki pages on [Parties](http://habitica.wikia.com/wiki/Party) and [Guilds](http://habitica.wikia.com/wiki/Guilds).", - "faqQuestion6": "Como consigo unha Mascota ou Montura?", - "iosFaqAnswer6": "No nivel 3, desbloquearás o Sistema de Obxectos. Cada vez que completes unha tarefa, terás unha posibilidade aleatoria de recibir un ovo, unha poción de eclosión, ou unha porción de comida. Quedarán gardados en Menú > Obxectos.\n\nPara facer eclosionar unha mascota, precisas un ovo e unha poción de eclosión. Preme no ovo para determinar a especie que queres facer nacer, e selecciona \"Eclosionar Ovo\". A continuación, escolle unha poción de eclosión para determinar a súa cor! Vai a Menú > Mascotas para equipar o teu avatar da túa nova mascota, premendo sobre ela.\n\nTamén podes converter as túas mascotas en Monturas alimentándoas en Menú > Mascotas. Preme nunha mascota e, a continuación, selecciona \"Dar de comer á Mascota\"! Terás que dar de comer a unha mascota moitas veces antes de que se convirta nunha montura, pero se consegues descubrir o seu alimento favorito, medrará máis rápido. Usa o método de proba e erro, ou [mira os spoilers aquí](http://habitica.wikia.com/wiki/Food#Food_Preferences). Unha vez que teñas unha Montura, vai a Menú > Monturas e preme sobre ela para equipar o teu avatar.tocar nela para equipa-lo para o seu avatar.\n\nTamén podes obter ovos de animais de Misións ao completares determinadas Misións. (Mira abaixo para saber máis sobre as Misións.)", - "androidFaqAnswer6": "No nivel 3, desbloquearás o Sistema de atopar obxectos. Cada vez que completes unha tarefa, terás unha oportunidade aleatoria de recibir un ovo, unha poción de eclosión, ou un anaco de comida. Quadarán gardados en Menú > Obxectos.\n\nPara facer nacer unha mascota, necesitas un ovo e unha poción de eclosión. Preme no ovo para determinar as especies que queres facer nacer, e selecciona \"Eclosionar con poción.\" A continuación, escolle unha poción de incubación para determinar a súa cor! Para equipar a túa nova mascota, vai a Menú > Establo > Mascotas, selecciona unha especie, preme na Mascota desexada, e selecciona \"Usar\" (o teu avatar non se actualiza para mostrar a modificación).\n\nTamén pode converter as túas Mascotas en Monturas dándolles de comer en Menú > Establo [> Mascotas]. Preme nunha mascota e, a continuación, selecciona \"Dar de comer\"! Terás que alimentar unha mascota moitas veces antes de que se converta en Montura, pero se podes descubrir o seu alimento favorito, medrará máis rápido. Usa a proba e erro, ou [mira os spoilers aquí](http://habitica.wikia.com/wiki/Food#Food_Preferences). Para equiparte da túa Montura, vai a Menú > Establo > Monturas, selecciona unha especie, preme na Montura desexada, e selecciona \"Usar\"o teu avatar non se actualiza para mostrar o cambio).\n\nTamén podes obter ovos para Mascotas de Misións ao completares determinadas misións. (Mira abaixo para saber máis sobre Misións.)", - "webFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored under Inventory > Items. To hatch a Pet, you'll need an egg and a hatching potion. Once you have both an egg and a potion, go to Inventory > Stable to hatch your pet by clicking on its image. Once you've hatched a pet, you can equip it by clicking on it. You can also grow your Pets into Mounts by feeding them under Inventory > Stable. Drag a piece of food from the action bar at the bottom of the screen and drop it on a pet to feed it! You'll have to feed a Pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.wikia.com/wiki/Food#Food_Preferences). Once you have a Mount, click on it to equip it to your avatar. You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)", - "faqQuestion7": "Como me converto en pugnaz, mago, renarte ou sandador?", - "iosFaqAnswer7": "No nivel 10, podes optar por converterte nun Guerreiro, Mago, Ladrón ou Curandeiro. (Todos os xogadores comezan como Guerreiros por defecto). Cada clase ten diferentes opcións de equipamento, diferentes habilidades que poden botar desde o nivel 11, e diferentes vantaxes. Os guerreiros poden facilmente danar os Xefes, soportar máis danos provintes das súas tarefas, e volver o seu Equipo máis robusto. Os Magos tamén poden danar facilmente os Xefes, así como subir de nivel rapidamente e restaurar a Maná para o seu equipo. Os Ladróns gañan máis ouro e atopan máis obxectos, e poden axudar o seu Equipo a facer o mesmo. Finalmente, os Curandeiros poden curarse a si mesmos e aos membros do seu Equipo.\n\nSe non queres escoller unha clase inmediatamente - por exemplo, se aínda estás a traballar para mercar todo o equipamento da túa clase actual - podes pulsar en \"decidir máis tarde\" e escoller despois en Menú > Escoller Clase.", - "androidFaqAnswer7": "No nivel 10, podes optar por converterte nun Guerreiro, Mago, Ladrón ou Curandeiro. (Todos os xogadores comezan como Guerreiros por defecto). Cada clase ten diferentes opcións de equipamento, diferentes habilidades que poden botar desde o nivel 11, e diferentes vantaxes. Os guerreiros poden facilmente danar os Xefes, soportar máis danos provintes das súas tarefas, e volver o seu Equipo máis robusto. Os Magos tamén poden danar facilmente os Xefes, así como subir de nivel rapidamente e restaurar a Maná para o seu equipo. Os Ladróns gañan máis ouro e atopan máis obxectos, e poden axudar o seu Equipo a facer o mesmo. Finalmente, os Curandeiros poden curarse a si mesmos e aos membros do seu Equipo.\n\nSe non queres escoller unha clase inmediatamente - por exemplo, se aínda estás a traballar para mercar todo o equipamento da túa clase actual - podes pulsar en \"Deixalo\" e escoller despois en Menú > Escoller Clase.", - "webFaqAnswer7": "", - "faqQuestion8": "What is the blue Stat bar that appears in the Header after level 10?", - "iosFaqAnswer8": "A barra azul que apareceu cando checgaches ao nivel 10 e escolleches unha Clase é a túa barra de Maná. A medida que continúes a subir de nivel, desbloquearás habilidades especiais para as que usalas custa Maná. Cada Clase ten Habilidades diferentes, que aparecen despois do nivel 11 en Menú > Utilizar Habilidades. A diferenza da túa barra de saúde, a túa barra de Mana non se repón cando gañas un nivel. Pola contra, adquires Maná cando completas Bos Hábitos, tarefas Diarias, e Tarefas, e o perdes cando te consintes malos Hábitos. Tamén recuperarás algo de Maná pola noite - cantas máis tarefas Diarias completes, máis gañarás.", - "androidFaqAnswer8": "A barra azul que apareceu cando checgaches ao nivel 10 e escolleches unha Clase é a túa barra de Maná. A medida que continúes a subir de nivel, desbloquearás habilidades especiais para as que usalas custa Maná. Cada Clase ten Habilidades diferentes, que aparecen despois do nivel 11 en Menú > Utilizar Habilidades. A diferenza da túa barra de saúde, a túa barra de Mana non se repón cando gañas un nivel. Pola contra, adquires Maná cando completas Bos Hábitos, tarefas Diarias, e Tarefas, e o perdes cando te consintes malos Hábitos. Tamén recuperarás algo de Maná pola noite - cantas máis tarefas Diarias completes, máis gañarás.", - "webFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 in the action bar at the bottom of the screen. Unlike your Health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete good Habits, Dailies, and To-Dos, and lost when you indulge bad Habits. You'll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.", - "faqQuestion9": "Como loito contra monstros e vou de Misión?", - "iosFaqAnswer9": "First, you need to join or start a Party (see above). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n - You can buy Quests from the Quests Shop for Gold and Gems.\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", - "androidFaqAnswer9": "", - "webFaqAnswer9": "", - "faqQuestion10": "Que son as Xemas, e como as consigo?", - "iosFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", - "androidFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", - "webFaqAnswer10": "Gems are purchased with real money, although [subscribers](https://habitica.com/user/settings/subscription) can purchase them with Gold. When people subscribe or buy Gems, they are helping us to keep the site running. We're very grateful for their support! In addition to buying Gems directly or becoming a subscriber, there are two other ways players can gain Gems:\n* Win a Challenge that has been set up by another player. Go to Challenges > Discover Challenges to join some.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica). Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the site without them!", + "frequentlyAskedQuestions": "Preguntas frecuentes", + "faqQuestion0": "Non me queda claro, onde podo ler un resumo?", + "iosFaqAnswer0": "Para empezar prepararás as tarefas que queres facer na túa vida cotiá. Despois, a medida que completes as tarefas na realidade e as marques, gañarás experiencia e ouro. O ouro úsase para mercar equipamento e algúns obxectos, así como recompensas personalizadas. A experiencia fai que a túa personaxe suba de nivel e desbloquee contido como mascotas, habilidades e misións! Podes personalizar a túa personaxe desde «Menú → Personalizar o avatar».\n\nAlgunhas formas básicas de interacción: Preme (+) na esquina superior dereita para engadir unha nova tarefa. Toca unha tarefa existente para editala, e arrastra unha tarefa á esquerda para eliminala. Podes clasificar as tarefas usando etiquetas na esquina superior esquerda, e expandir e recoller as listas de tarefas premendo a súa burbulla.", + "androidFaqAnswer0": "Para empezar prepararás as tarefas que queres facer na túa vida cotiá. Despois, a medida que completes as tarefas na realidade e as marques, gañarás experiencia e ouro. O ouro úsase para mercar equipamento e algúns obxectos, así como recompensas personalizadas. A experiencia fai que a túa personaxe suba de nivel e desbloquee contido como mascotas, habilidades e misións! Podes personalizar a túa personaxe desde «Menú → [Inventario →] Avatar».\n\nAlgunhas formas básicas de interacción: Preme (+) na esquina inferior dereita para engadir unha nova tarefa. Toca unha tarefa existente para editala, e arrastra unha tarefa á esquerda para eliminala. Podes clasificar as tarefas usando etiquetas na esquina superior dereita, e expandir e recoller as listas de tarefas premendo o seu contador.", + "webFaqAnswer0": "Para empezar prepararás as tarefas que queres facer na túa vida cotiá. Despois, a medida que completes as tarefas na realidade e as marques, gañarás experiencia e ouro. O ouro úsase para mercar equipamento e algúns obxectos, así como recompensas personalizadas. A experiencia fai que a túa personaxe suba de nivel e desbloquee contido como mascotas, habilidades e misións! Para máis detalles, olla o resumo do xogo paso a paso en [Axuda → Resumo para principiantes](https://habitica.com/static/overview).", + "faqQuestion1": "Como preparo as miñas tarefas?", + "iosFaqAnswer1": "Os bos hábitos (aqueles cun «+») son tarefas que podes facer moitas veces ao día, como comer vexetais. Os malos hábitos (aqueles cun «-») son tarefas que tes que evitar, como morder as uñas. Os hábitos cun «+» e un «-» teñen unha boa e unha mala opción, como ir polas escaleiras fronte a usar o ascensor. Os bos hábitos dan experiencia e ouro. Os malos hábitos quitan vida.\n\nAs tarefas diarias son as que tes que facer todos os días, como lavar os dentes ou mirar o correo electrónico. Podes tocar unha tarefa diaria para editala e axustar os días nos que toca. Se saltas unha tarefa diaria cando toca, o teu avatar danarase pola noite. Ten coidado de non engadir moitas tarefas diarias dunha vez!\n\nAs tarefas pendentes son as tarefas por facer. Completar unha tarefa pendente dáche ouro e experiencia. Nunca perdes vida polas tarefas pendentes. Podes engadir unha data de vencemento a unha tarefa pendente tocándoa para editala.", + "androidFaqAnswer1": "Os bos hábitos (aqueles cun «+») son tarefas que podes facer moitas veces ao día, como comer vexetais. Os malos hábitos (aqueles cun «-») son tarefas que tes que evitar, como morder as uñas. Os hábitos cun «+» e un «-» teñen unha boa e unha mala opción, como ir polas escaleiras fronte a usar o ascensor. Os bos hábitos dan experiencia e ouro. Os malos hábitos quitan vida.\n\nAs tarefas diarias son as que tes que facer todos os días, como lavar os dentes ou mirar o correo electrónico. Podes tocar unha tarefa diaria para editala e axustar os días nos que toca. Se saltas unha tarefa diaria cando toca, o teu avatar danarase pola noite. Ten coidado de non engadir moitas tarefas diarias dunha vez!\n\nAs tarefas pendentes son as tarefas por facer. Completar unha tarefa pendente dáche ouro e experiencia. Nunca perdes vida polas tarefas pendentes. Podes engadir unha data de vencemento a unha tarefa pendente tocándoa para editala.", + "webFaqAnswer1": "* Os bos hábitos (cun :heavy_plus_sign:) son tarefas que poder facer varias veces ao día, como comer verdura. Os malos hábitos (cun :heavy_minus_sign:) son tarefas que deberías evitar, como morder as uñas. Os hábitos cun :heavy_plus_sign: e un :heavy_minus_sign: teñen escolla boa e escolla mala, como ir polas escaleiras ou usar o ascensor. Os bos hábitos dan experiencia e ouro. Os malos hábitos quitan vida.\n* As tarefas diarias son tarefas que tes que completar cada día, como lavar os dentes ou ver o correo electrónico. Podes axustar os días que corresponden ás tarefas diarias premendo o lapis para editalas. Se te saltas unha tarefa diaria, o teu avatar sufrirá dano pola noite. Coida de non engadir demasiadas tarefas diarias de golpe!\n* As tarefas pendentes son a túa lista de tarefas pendentes. Completar unha tarefa pendente dáche ouro e experiencia. Nunha perdes vida a causa das tarefas pendentes. Podes poñerlles unha data límite premendo o lapis para editalas.", + "faqQuestion2": "Podo ver tarefas de exemplo?", + "iosFaqAnswer2": "O wiki ten catro listas de tarefas de exemplo que poden servirte de inspiración (en inglés):\n\n * [Hábitos de exemplo](https://habitica.fandom.com/wiki/Sample_Habits)\n * [Tarefas diarias de exemplo](https://habitica.fandom.com/wiki/Sample_Dailies)\n * [Tarefas pendentes de exemplo](https://habitica.fandom.com/wiki/Sample_To_Do%27s)\n * [Recompensas de exemplo](https://habitica.fandom.com/wiki/Sample_Custom_Rewards)", + "androidFaqAnswer2": "O wiki ten catro listas de tarefas de exemplo que poden servirte de inspiración (en inglés):\n\n * [Hábitos de exemplo](https://habitica.fandom.com/wiki/Sample_Habits)\n * [Tarefas diarias de exemplo](https://habitica.fandom.com/wiki/Sample_Dailies)\n * [Tarefas pendentes de exemplo](https://habitica.fandom.com/wiki/Sample_To_Do%27s)\n * [Recompensas de exemplo](https://habitica.fandom.com/wiki/Sample_Custom_Rewards)", + "webFaqAnswer2": "O wiki ten catro listas de tarefas de exemplo que poden servirte de inspiración (en inglés):\n * [Hábitos de exemplo](https://habitica.fandom.com/wiki/Sample_Habits)\n * [Tarefas diarias de exemplo](https://habitica.fandom.com/wiki/Sample_Dailies)\n * [Tarefas pendentes de exemplo](https://habitica.fandom.com/wiki/Sample_To_Do%27s)\n * [Recompensas de exemplo](https://habitica.fandom.com/wiki/Sample_Custom_Rewards)", + "faqQuestion3": "Por que cambia de cor as miñas tarefas?", + "iosFaqAnswer3": "As túas tarefas cambian de cor segundo o ben que as esteas facendo. As tarefas novas empezan cun amarelo neutral. Fai tarefas diarias e bos hábitos máis frecuentemente para que se azulen. Se te saltas unha tarefa ou caes nun mal hábito, volveranse máis avermellados. Canto máis avermellada estea unha tarefa, máis recompensa te dará, pero no caso das tarefas pendentes e dos malos hábitos, tamén te danarán máis! Isto axuda a motivarte a completar as tarefas que máis che custan.", + "androidFaqAnswer3": "As túas tarefas cambian de cor segundo o ben que as esteas facendo. As tarefas novas empezan cun amarelo neutral. Fai tarefas diarias e bos hábitos máis frecuentemente para que se azulen. Se te saltas unha tarefa ou caes nun mal hábito, volveranse máis avermellados. Canto máis avermellada estea unha tarefa, máis recompensa te dará, pero no caso das tarefas pendentes e dos malos hábitos, tamén te danarán máis! Isto axuda a motivarte a completar as tarefas que máis che custan.", + "webFaqAnswer3": "As túas tarefas cambian de cor segundo o ben que as esteas facendo. As tarefas novas empezan cun amarelo neutral. Fai tarefas diarias e bos hábitos máis frecuentemente para que se azulen. Se te saltas unha tarefa ou caes nun mal hábito, volveranse máis avermellados. Canto máis avermellada estea unha tarefa, máis recompensa te dará, pero no caso das tarefas pendentes e dos malos hábitos, tamén te danarán máis! Isto axuda a motivarte a completar as tarefas que máis che custan.", + "faqQuestion4": "Por que perdeu vida o meu avatar, e como a recupero?", + "iosFaqAnswer4": "Hai moitas cousas que poden facerte perder vida. Para empezar, se deixas tarefas diarias sen marcar e tampouco as marcas cando se te pregunta por elas á mañá seguinte, esas tarefas sen completar danarante. Se tocas un mal hábito, tamén te danará. Por último, se estás nun combate contra unha criatura rival co teu equipo e unha persoa do equipo non completou todas as súas tarefas diarias, a rival atacarate.\n\nA forma principal de curar é subir de nivel, o que te devolve toda a vida. Tamén podes mercar unha poción de vida na columna de recompensas usando ouro. Ademais, no nivel 10 e posteriores poder facerte albeite, e aprender habilidades de curación. Se estás nun equipo cunha persoa albeite, tamén te pode curar.", + "androidFaqAnswer4": "Hai moitas cousas que poden facerte perder vida Para empezar, se deixas tarefas diarias sen marcar e tampouco as marcas cando se te pregunta por elas á mañá seguinte, esas tarefas sen completar danarante. Se tocas un mal hábito, tamén te danará. Por último, se estás nun combate contra unha criatura rival co teu equipo e unha persoa do equipo non completou todas as súas tarefas diarias, a rival atacarate.\n\nA forma principal de curar é subir de nivel, o que te devolve toda a vida. Tamén podes mercar unha poción de vida no separador de recompensas da páxina de tarefas usando ouro. Ademais, no nivel 10 e posteriores poder facerte albeite, e aprender habilidades de curación. Se estás nun equipo cunha persoa albeite, tamén te pode curar.", + "webFaqAnswer4": "Hai moitas cousas que poden facerte perder vida. Para empezar, se deixas tarefas diarias sen marcar e tampouco as marcas cando se te pregunta por elas á mañá seguinte, esas tarefas sen completar danarante. Se premes un mal hábito, tamén te danará. Por último, se estás nun combate contra unha criatura rival co teu equipo e unha persoa do equipo non completou todas as súas tarefas diarias, a rival atacarate. A forma principal de curar é subir de nivel, o que te devolve toda a vida. Tamén podes mercar unha poción de vida na columna de recompensas usando ouro. Ademais, no nivel 10 e posteriores poder facerte albeite, e aprender habilidades de curación. Se estás nun equipo cunha persoa albeite, tamén te pode curar. Para aprender máis, preme «Equipo» na barra de navegación.", + "faqQuestion5": "Como xogo a Habitica coas miñas amizades?", + "iosFaqAnswer5": "A mellor forma é invitalas a un equipo contigo! Os equipos poden participar en misións, loitar contra monstros, e usar habilidades para apoiar a todo o equipo.\n\nPara organizar un equipo, vai a «Menú → [Equipo](https://habitica.com/party)» e preme «Crear un equipo». Logo preme «Invitar amizades» abaixo para invitar ás túas amizades escribindo o seu alcume precedido de @. Se queres unirte ao equipo doutra persoa, comparte con ela o teu alcume para que te invite!\n\nAs túas amizades tamén poden unirse a gremios, salas públicas de conversa nas que a xente se reúne en base a intereses comúns! Hai moitas comunidades que te axudarán e coas que o pasarás ben, dálles unha oportunidade.\n\nSe prefires competir, ti e as túas amizades podedes crear ou unirvos a desafíos para enfrontarvos a unha serie de tarefas. Existen todo tipo de desafíos públicos dispoñíbeis que abarcan todo tipo de intereses e metas. Algúns desafíos públicos incluso te recompensan con xemas se gañas.", + "androidFaqAnswer5": "A mellor forma é invitalas a un equipo contigo! Os equipos poden participar en misións, loitar contra monstros, e usar habilidades para apoiar ao equipo. Vai ao [sitio web](https://habitica.com/) para crear un equipo se non tes xa un. Tamén podedes unirvos a un gremio («Social → Gremios»). Os gremios son salas de conversa centradas en intereses compartidos ou na procura dun obxectivo común, e poden ser públicos ou privados. Podes unirte a tantos gremios como queiras, pero só podes estar nun equipo.\n\nPara máis información, olla as páxinas do wiki sobre [equipos](https://habitica.fandom.com/wiki/Party) e [gremios](https://habitica.fandom.com/wiki/Guilds).", + "webFaqAnswer5": "Si, con equipos! Podes crear un equipo ou unirte a un. Xuntarse nun equipo con outras persoas é unha boa forma de participar en misións, recibir bonificacións das habilidades da outra xente, e aumentar a túa motivación.", + "faqQuestion6": "Como consigo unha mascota ou unha montura?", + "iosFaqAnswer6": "Cada vez que completas unha tarefa, terás unha oportunidade aleatoria de recibir un ovo, unha poción de eclosión, ou unha ración de penso. Almacenaranse en «Menú → Obxectos».\n\nPara que naza unha mascota necesitas un ovo e unha poción de eclosión. Toca o ovo para determinar a especie que queres que naza, e selecciona «Abrir o ovo». Logo escolle unha poción de eclosión para determinar a súa cor! Vai a «Menú → Mascotas» e preme a nova mascota para equipala no teu avatar. \n\nTamén podes facer que as túas mascotas medren ata converterse en monturas dándolles de comer desde «Menú → Mascotas». Toca unha mascota e selecciona «Alimentar a mascota»! Terás que alimentala moitas veces para que se converta nunha montura, pero se descobres cal é o seu penso favorito, medrará máis rápido. Usa o método de proba e erro, ou fai trampa e [consulta aquí a lista](https://habitica.fandom.com/wiki/Food#Food_Preferences). Unha vez teñas unha montura, vai a «Menú → Monturas» e tócaa para equipala no teu avatar.\n\nTamén podes obter ovos de mascotas de misións completando certas misións (para máis información sobre misións, consulta [How do I fight monsters and go on Quests](https://habitica.com/static/faq/9)).", + "androidFaqAnswer6": "Cada vez que completas unha tarefa, terás unha oportunidade aleatoria de recibir un ovo, unha poción de eclosión, ou unha ración de penso. Almacenaranse en «Menú → Obxectos».\n\nPara que naza unha mascota necesitas un ovo e unha poción de eclosión. Toca o ovo para determinar a especie que queres que naza, e selecciona «Abrir cunha poción». Logo escolle unha poción de eclosión para determinar a súa cor! Para equipar a túa nova mascota, vai a «Menú → Corte → Mascotas», selecciona unha especie, preme unha mascota, e selecciona «Usar» (o teu avatar non se actualiza para reflectir o cambio). \n\nTamén podes facer que as túas mascotas medren ata converterse en monturas dándolles de comer desde «Menú → Corte [→ Mascotas]». Toca unha mascota e selecciona «Alimentar»! Terás que alimentala moitas veces para que se converta nunha montura, pero se descobres cal é o seu penso favorito, medrará máis rápido. Usa o método de proba e erro, ou fai trampa e [consulta aquí a lista](https://habitica.fandom.com/wiki/Food#Food_Preferences). Para equipar unha montura, vai a «Menú → Corte → Monturas», selecciona unha especie, preme a montura desexada, e selecciona «Usar» (o avatar non se actualiza para reflectir o cambio).\n\nTamén podes obter ovos de mascotas de misións completando certas misións (para máis información sobre misións, sigue lendo.", + "webFaqAnswer6": "Cada vez que completas unha tarefa, terás unha oportunidade aleatoria de recibir un ovo, unha poción de eclosión, ou unha ración de penso. Almacenaranse en «Inventario → Obxectos». Para que naza unha mascota, necesitarás un ovo e unha poción de eclosión. Unha vez teñas tanto un ovo como unha poción de eclosión, vai a «Inventario → Corte» e preme a imaxe para que naza a mascota. Unha vez teñas unha mascota, podes equipala preméndoa. Tamén podes facer que as túas mascotas medren ata converterse en monturas dándolles de comer desde «Inventario → Corte». Arrastra unha ración de penso da barra de acción na parte inferior da pantalla sobre unha mascota para darlla de comer! Terás que alimentar a túa mascota moitas veces para que se converta nunha montura, pero se descobres o seu penso favorito medrará máis rápido. Podes usar o método de proba e erro, ou facer trampa e [consultar a lista aquí](https://habitica.fandom.com/wiki/Food#Food_Preferences). Unha vez teñas unha montura, prémea para equipala no teu avatar. Tamén podes obter ovos de mascotas de misións completando certas misións. (segue lendo para aprender máis sobre misións)", + "faqQuestion7": "Como me converto en pugnaz, maga, renarte ou albeite?", + "iosFaqAnswer7": "No nivel 10 podes escoller facerte pugnaz, renarte, maga, ou albeite. De maneira predeterminada comezas como pugnaz. Cada clase ten distintas opcións de equipamento, distintas habilidades que poden usar a partir do nivel 11, e distintas vantaxes. As persoas pugnaces poden facer dano facilmente ás criaturas rivais, aguantar máis dano das súas tarefas, e axudar a facer o equipo máis resistente. As persoas magas tamén poden facer dano facilmente ás criaturas rivais, subir de nivel rapidamente, e restaurar maná para todo o equipo. As persoas renartes gañan máis ouro e atopan máis obxectos sorpresa, e poden axudar ao equipo a facer o mesmo. Por último, as persoas albeites poden curarse e curar ao resto do equipo.\n\nSe non queres escoller unha clase agora mesmo, por exemplo se aínda estás traballando en mercar todo o equipo da túa clase actual, podes tocar «Cancelar» e escoller máis adiante desde o menú, seleccionando a icona de configuración, e tocando «Activar o sistema de clases».", + "androidFaqAnswer7": "No nivel 10 podes escoller facerte pugnaz, renarte, maga, ou albeite. De maneira predeterminada comezas como pugnaz. Cada clase ten distintas opcións de equipamento, distintas habilidades que poden usar a partir do nivel 11, e distintas vantaxes. As persoas pugnaces poden facer dano facilmente ás criaturas rivais, aguantar máis dano das súas tarefas, e axudar a facer o equipo máis resistente. As persoas magas tamén poden facer dano facilmente ás criaturas rivais, subir de nivel rapidamente, e restaurar maná para todo o equipo. As persoas renartes gañan máis ouro e atopan máis obxectos sorpresa, e poden axudar ao equipo a facer o mesmo. Por último, as persoas albeites poden curarse e curar ao resto do equipo.\n\nSe non queres escoller unha clase agora mesmo, por exemplo se aínda estás traballando en mercar todo o equipo da túa clase actual, podes tocar «Renunciar» e escoller máis adiante desde o menú, seleccionando a icona de configuración, e tocando «Activar o sistema de clases».", + "webFaqAnswer7": "No nivel 10 podes escoller facerte pugnaz, renarte, maga, ou albeite. De maneira predeterminada comezas como pugnaz. Cada clase ten distintas opcións de equipamento, distintas habilidades que poden usar a partir do nivel 11, e distintas vantaxes. As persoas pugnaces poden facer dano facilmente ás criaturas rivais, aguantar máis dano das súas tarefas, e axudar a facer o equipo máis resistente. As persoas magas tamén poden facer dano facilmente ás criaturas rivais, subir de nivel rapidamente, e restaurar maná para todo o equipo. As persoas renartes gañan máis ouro e atopan máis obxectos sorpresa, e poden axudar ao equipo a facer o mesmo. Por último, as persoas albeites poden curarse e curar ao resto do equipo. Se non queres escoller unha clase agora mesmo, por exemplo se aínda estás traballando en mercar todo o equipo da túa clase actual, podes premer «Renunciar» e activalo de novo na configuración.", + "faqQuestion8": "Que é a barra de condición azul que aparece na cabeceira despois do nivel 10?", + "iosFaqAnswer8": "A barra azul que apareceu cando chegaches ao nivel 10 e escolliches unha clase é a túa barra de maná. A medida de aumentas de nivel, desbloquearás habilidades especiais que consumen maná ao usarse. Cada clase ten habilidades de seu, que aparecen a partir do nivel 11 en «Menú → Usar habilidades». A diferenza da barra de vida, a barra de maná non se restabelece ao subir de nivel. No seu lugar, o maná conséguese ao completar bos hábitos, tarefas diarias e tarefas pendentes, e pérdese ao caer en malos hábitos. Tamén recuperarás maná pola noite; cantas máis tarefas diarias completes, máis maná conseguirás.", + "androidFaqAnswer8": "A barra azul que apareceu cando chegaches ao nivel 10 e escolliches unha clase é a túa barra de maná. A medida de aumentas de nivel, desbloquearás habilidades especiais que consumen maná ao usarse. Cada clase ten habilidades de seu, que aparecen a partir do nivel 11 en «Menú → Habilidades». A diferenza da barra de vida, a barra de maná non se restabelece ao subir de nivel. No seu lugar, o maná conséguese ao completar bos hábitos, tarefas diarias e tarefas pendentes, e pérdese ao caer en malos hábitos. Tamén recuperarás maná pola noite; cantas máis tarefas diarias completes, máis maná conseguirás.", + "webFaqAnswer8": "A barra azul que apareceu cando chegaches ao nivel 10 e escolliches unha clase é a túa barra de maná A medida de aumentas de nivel, desbloquearás habilidades especiais que consumen maná ao usarse. Cada clase ten habilidades de seu, que aparecen a partir do nivel 11 na barra de acción da zona inferior da pantalla. A diferenza da barra de vida, a barra de maná non se restabelece ao subir de nivel. No seu lugar, o maná conséguese ao completar bos hábitos, tarefas diarias e tarefas pendentes, e pérdese ao caer en malos hábitos. Tamén recuperarás maná pola noite; cantas máis tarefas diarias completes, máis maná conseguirás.", + "faqQuestion9": "Como loito contra monstros e participo en misión?", + "iosFaqAnswer9": "Primeiro tes que unirte a un equipo ou organizar un na navegación Aínda que podes completar misións pola túa conta, recomendamos xogar con outra xente para axilizar as misións e motivarte máis!\n\nCanto teñas equipo, podes invitalo a un pergameo de misión do teu inventario. A misión comeza en canto o resto do equipo a acepta. Para progresar, completa as túas tarefas coma sempre! Acumularás dano contra un monstro no caso das misións de rival, ou terás unha oportunidade de atopar obxectos no caso das misións de colección. O progreso pendente aplícase ao día seguinte.\n\nCando o equipo fai o dano necesario ou recolle todos os obxectos, a misión remata e o equipo recibe as recompensas!", + "androidFaqAnswer9": "Primeiro tes que unirte a un equipo ou organizar un na navegación Aínda que podes completar misións pola túa conta, recomendamos xogar con outra xente para axilizar as misións e motivarte máis!\n\nCanto teñas equipo, podes invitalo a un pergameo de misión do teu inventario. A misión comeza en canto o resto do equipo a acepta. Para progresar, completa as túas tarefas coma sempre! Acumularás dano contra un monstro no caso das misións de rival, ou terás unha oportunidade de atopar obxectos no caso das misións de colección. O progreso pendente aplícase ao día seguinte.\n\nCando o equipo fai o dano necesario ou recolle todos os obxectos, a misión remata e o equipo recibe as recompensas!", + "webFaqAnswer9": "Primeiro tes que unirte a un equipo ou organizar un na navegación Aínda que podes completar misións pola túa conta, recomendamos xogar con outra xente para axilizar as misións e motivarte máis!\n\nCanto teñas equipo, podes invitalo a un pergameo de misión do teu inventario. A misión comeza en canto o resto do equipo a acepta. Para progresar, completa as túas tarefas coma sempre! Acumularás dano contra un monstro no caso das misións de rival, ou terás unha oportunidade de atopar obxectos no caso das misións de colección. O progreso pendente aplícase ao día seguinte.\n\nCando o equipo fai o dano necesario ou recolle todos os obxectos, a misión remata e o equipo recibe as recompensas!", + "faqQuestion10": "Que son as xemas, e como as consigo?", + "iosFaqAnswer10": "As xemas mércanse con diñeiro real desde «Menú → Mercar xemas». Ao mercar xemas axúdasnos a manter Habitica en funcionamento. Agradecemos profundamente ata a máis mínima contribución!\n\nAdemais de mercar xemas directamente, existen outras tres formas de conseguir xemas:\n\n- Gañar un desafío preparado por outra persoa. Vai a «Menú → Desafíos» para unirte a un.\n- Subscribirse e desbloquear a habilidade de mercar un certo número de xemas ao mes.\n- Contribuír coas túas habilidades ao proxecto Habitica. Consulta esta páxina do wiki para máis información: [Contributing to Habitica](https://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\nTen en conta que os obxectos que compres con xemas non ofrecen ningunha vantaxe, a aplicación pode usarse sen eles!", + "androidFaqAnswer10": "As xemas mércanse con diñeiro real desde «Menú → Mercar xemas». Ao mercar xemas axúdasnos a manter Habitica en funcionamento. Agradecemos profundamente ata a máis mínima contribución!\n\nAdemais de mercar xemas directamente, existen outras tres formas de conseguir xemas:\n\n- Gañar un desafío preparado por outra persoa. Vai a «Menú → Desafíos» para unirte a un.\n- Subscribirse e desbloquear a habilidade de mercar un certo número de xemas ao mes.\n- Contribuír coas túas habilidades ao proxecto Habitica. Consulta esta páxina do wiki para máis información: [Contributing to Habitica](https://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\nTen en conta que os obxectos que compres con xemas non ofrecen ningunha vantaxe, a aplicación pode usarse sen eles!", + "webFaqAnswer10": "As xemas mércanse con diñeiro real, aínda que as persoas [subscritas](https://habitica.com/user/settings/subscription) poden compralas con ouro. Cando te subscribes ou mercas xemas axúdasnos a manter o sitio funcionando. Agradecemos profundamente o apoio! Ademais de mercar xemas directamente ou subscribirte, existen outras dúas formas de conseguir xemas:\n- Gañar un desafío preparado por outra persoa. Vai a «Desafíos → Descubrir desafíos» para unirte a un.\n- Contribuír coas túas habilidades ao proxecto Habitica. Consulta esta páxina do wiki para máis información: [Contributing to Habitica](https://habitica.fandom.com/wiki/Contributing_to_Habitica). Ten en conta que os obxectos que compres con xemas non ofrecen ningunha vantaxe, a aplicación pode usarse sen eles!", "faqQuestion11": "Como notifico un erro ou solicito unha funcionalidade?", - "iosFaqAnswer11": "You can report a bug, request a feature, or send feedback under Menu > About > Report a Bug and Menu > About > Send Feedback! We'll do everything we can to assist you.", - "androidFaqAnswer11": "Podes notificar un erro, solicitar unha funcionalidade, ou enviar feedback en Información > Notificar un Erro e Información > Enviarnos Feedback! Faremos todo o posible para axudarte.", - "webFaqAnswer11": "To report a bug, go to [Help > Report a Bug](https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac) and read the points above the chat box. If you're unable to log in to Habitica, send your login details (not your password!) to [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Don't worry, we'll get you fixed up soon! Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!", - "faqQuestion12": "Como loito contra un Xefe Mundial?", - "iosFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.", - "androidFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.", - "webFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual. You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party. A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change. You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.", - "iosFaqStillNeedHelp": "Se tes unha pregunta que non está nesta lista ou nas [Preguntas Frecuentes da Wiki](http://habitica.wikia.com/wiki/FAQ), ven preguntar no chat da Taberna en Menú > Taberna! Estamos contentos de axudar.", - "androidFaqStillNeedHelp": "Se tes unha pregunta que non está nesta lista ou nas [Preguntas Frecuentes da Wiki](http://habitica.wikia.com/wiki/FAQ), ven preguntar no chat da Taberna en Menú > Taberna! Estamos contentos de axudar.", - "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We're happy to help." + "iosFaqAnswer11": "Se pensas que atopaches un fallo, vai a «Menú → Asistencia → Obter axuda» para buscar solucións rápidas, problemas coñecidos, ou para informarnos de fallos. Faremos o que poidamos para axudarte.\n\nPara opinar ou solicitar funcionalidades, podes acceder ao noso formulario de opinións desde «Menú → Asistencia → Enviar opinións». Se temos calquera dúbida, contactaremos contigo para pedirte máis información!", + "androidFaqAnswer11": "Se pensas que atopaches un fallo, vai a «Menú → Axuda e preguntas frecuentes → Obter axuda» para buscar solucións rápidas, problemas coñecidos, ou para informarnos de fallos. Faremos o que poidamos para axudarte.\n\nPara opinar ou solicitar funcionalidades, podes acceder ao noso formulario de opinións desde «Menú → Axuda e preguntas frecuentes → Enviar opinións». Se temos calquera dúbida, contactaremos contigo para pedirte máis información!", + "webFaqAnswer11": "Para informar dun fallo vai a «Axuda → Informar dun fallo» para enviarnos unha mensaxe de correo electrónico. Pode que necesites configurar a xestión de ligazóns «mailto» no teu navegador. Se non podes entrar en Habitica, envía a túa información de acceso (sen o contrasinal!) a [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Non te preocupes, non habemos tardar en solucionalo. As solicitudes de funcionalidades recollémolas mediante un formulario de Google. Vai a [Axuda → Solicitar unha funcionalidade](https://docs.google.com/forms/d/e/1FAIpQLScPhrwq_7P1C6PTrI3lbvTsvqGyTNnGzp1ugi1Ml0PFee_p5g/viewform?usp=sf_link) e segue as instrucións. E xa está!", + "faqQuestion12": "Como loito contra unha criatura rival mundial?", + "iosFaqAnswer12": "As criaturas rivais mundiais son monstros especiais que aparecen na taberna. Todas as persoas usuarias activas loitan automaticamente contra a criatura rival, e as súas tarefas e habilidades farán dano á criatura rival como de costume.\n\nTamén podes estar nunha misión normal ao mesmo tempo. As túas tarefas e habilidades contarán tanto para a criatura rival mundial como para a misión do teu equipo, de criatura rival ou de colección.\n\nUnha criatura rival mundial nunca te fará dano, nin a ti nin á túa conta, de ningunha maneira. No seu lugar ten unha barra de ira que se enche cando as persoas usuarias se saltan tarefas diarias. Se a súa barra de ira se enche, atacará a unha das personaxes non xogábeis do sitio e a súa imaxe cambiará.\n\nPodes ler máis sobre [criaturas rivais mundiais pasadas](https://habitica.fandom.com/wiki/World_Bosses) no wiki (en inglés).", + "androidFaqAnswer12": "As criaturas rivais mundiais son monstros especiais que aparecen na taberna. Todas as persoas usuarias activas loitan automaticamente contra a criatura rival, e as súas tarefas e habilidades farán dano á criatura rival como de costume.\n\nTamén podes estar nunha misión normal ao mesmo tempo. As túas tarefas e habilidades contarán tanto para a criatura rival mundial como para a misión do teu equipo, de criatura rival ou de colección.\n\nUnha criatura rival mundial nunca te fará dano, nin a ti nin á túa conta, de ningunha maneira. No seu lugar ten unha barra de ira que se enche cando as persoas usuarias se saltan tarefas diarias. Se a súa barra de ira se enche, atacará a unha das personaxes non xogábeis do sitio e a súa imaxe cambiará.\n\nPodes ler máis sobre [criaturas rivais mundiais pasadas](https://habitica.fandom.com/wiki/World_Bosses) no wiki (en inglés).", + "webFaqAnswer12": "As criaturas rivais mundiais son monstros especiais que aparecen na taberna. Todas as persoas usuarias activas loitan automaticamente contra a criatura rival, e as súas tarefas e habilidades farán dano á criatura rival como de costume. Tamén podes estar nunha misión normal ao mesmo tempo. As túas tarefas e habilidades contarán tanto para a criatura rival mundial como para a misión do teu equipo, de criatura rival ou de colección. Unha criatura rival mundial nunca te fará dano, nin a ti nin á túa conta, de ningunha maneira. No seu lugar ten unha barra de ira que se enche cando as persoas usuarias se saltan tarefas diarias. Se a súa barra de ira se enche, atacará a unha das personaxes non xogábeis do sitio e a súa imaxe cambiará. Podes ler máis sobre [criaturas rivais mundiais pasadas](https://habitica.fandom.com/wiki/World_Bosses) no wiki (en inglés).", + "iosFaqStillNeedHelp": "Se tes calquera pregunta que non está nesta lista ou nas [preguntas frecuentes do wiki](https://habitica.fandom.com/wiki/FAQ) (en inglés), pregunta na conversa da taberna desde «Menú → Taberna» (en inglés)! Axudarémoste con moito gusto.", + "androidFaqStillNeedHelp": "Se tes calquera pregunta que non está nesta lista ou nas [preguntas frecuentes do wiki](https://habitica.fandom.com/wiki/FAQ) (en inglés), pregunta na conversa da taberna desde «Menú → Taberna» (en inglés)! Axudarémoste con moito gusto.", + "webFaqStillNeedHelp": "Se tes calquera pregunta que non está nesta lista ou nas [preguntas frecuentes do wiki](https://habitica.fandom.com/wiki/FAQ) (en inglés), pregunta no [gremio de axuda de Habitica](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a) (en inglés)! Axudarémoste con moito gusto.", + "iosFaqAnswer13": "## Como funcionan os plans de grupo?\n\nOs [plans de grupo](/group-plans) dan ao teu equipo ou gremio acceso a un taboleiro de tarefas compartido similar ao teu taboleiro de tarefas persoal! É unha experiencia de Habitica compartida na que as tarefas pode crealas e marcalas calquera do grupo.\n\nTamén hai dispoñíbeis funcionalidades como roles, vista de estado, e asignación de tarefas que te dan unha experiencia máis controlada. [Visita o wiki](https://habitica.fandom.com/wiki/Group_Plans) para máis información sobre as nosas funcionalidades do plan de grupo!\n\n## Para quen están pensados os plans de grupo?\n\nOs plans de grupo son ideais cando tes un equipo pequeno de persoas que queren colaborar. Recomendamos entre 2 e 5 persoas.\n\nOs plans de grupo son xeniais para familias e parellas. É doado facer seguimento de metas, tarefas e responsabilidades compartiras nun único taboleiro.\n\nOs plans de grupo tamén poden ser útiles para equipos de traballo con metas comúns, ou persoas coordinadoras que queren achegar conceptos dos videoxogos ao traballo.\n\n## Consellos rápidos para usar grupos\n\nVelaquí algúns consellos rápidos para comezar cun novo grupo. As seguintes seccións ofrecerán detalles adicionais:\n\n* Fai a unha persoa xestora para que poida crear e editar tarefas\n* Deixa tarefas sen asignar se as pode completar calquera e só hai que facelas unha vez\n* Asigna unha tarefa a unha persoa para asegurarte de que ninguén máis a pode completar\n* Asigna unha tarefa a varias persoas se todas elas teñen que completala\n* Conmuta a habilidade de amosar as tarefas compartidas no teu taboleiro persoal para non perderte nada\n* Recibes recompensas polas tarefas que completas, aínda que estean asignadas a varias persoas\n* As recompensas por completar tarefas nin se comparten in se dividen entre as persoas do equipo\n* Usa a cor de tarefa no taboleiro do equipo para xulgar a proporción de cumprimento media das tarefas\n* Revisa con regularidade as tarefas no taboleiro do equipo para asegurarte de que seguen sendo relevantes\n* Saltarse unha tarefa diaria non fará dano, nin a ti nin ao equipo, pero a cor da tarefa decaerá\n\n## Como poden crear tarefas outras persoas do equipo?\n\nSó poden crear tarefas a persoa líder do grupo e as persoas administradoras. Se queres que unha persoa do grupo poida crear tarefas, deberías facela administradora indo ao separador de información do grupo, consultando a lista de membresía, e premendo a icona de puntos canda o seu nome.\n\n## Como funciona a asignación de tarefas?\n\nOs plans de grupo permiten a habilidade única de asignar tarefas a outras persoas do grupo. Asignar unha tarefa é xenial para delegar. Se asignas unha tarefa a unha persoa, ningunha outra persoa pode completala.\n\nTamén podes asignar unha tarefa a varias persoas se son varias as que a teñen que completar. Por exemplo, se toda a xente ten que lavar os dentes, crea unha tarefa e asígnalla a cada persoa do grupo. Poderán marcala como completada e obter cadansúa recompensa por facelo. A tarefa principal amosarase como completa cando todas as persoas a marquen como completa.\n\n## Como funcionan as tarefas sen asignar?\n\nAs tarefas sen asignar pode completalas calquera persoa do grupo. Por exemplo, sacar o lixo. Quen saque o lixo pode marcala como completada, e aparecerá como completada para toda a xente.\n\n## Como funciona a sincronización do cambio de día?\n\nAs tarefas compartidas restabeleceranse ao mesmo tempo para toda a xente para que o taboleiro de tarefas estea sincronizado. O momento no que se restabelece pode verse no taboleiro de tarefas compartidas e vén determinado pola hora na que empeza o día para a persoa líder do grupo. Dado que as tarefas compartidas se restabelecen automaticamente, non terás oportunidade de completar tarefas diarias do día anterior ao chegar á mañá seguinte.\n\nAs tarefas diarias compartidas non farán dano por saltalas, pero degradarán a cor para axudar a visualizar o progreso. Non queremos que a experiencia compartida sexa negativa!\n\n## Como uso o meu grupo nas aplicacións móbiles?\n\nAs aplicacións móbiles aínda non permiten completamente as funcionalidades do plan de grupos, pero podes completar tarefas compartidas desde as aplicacións de iOS e de Android copiando as tarefas no teu taboleiro persoal. Podes activar esta opción desde a configuración nas aplicacións móbiles ou desde o taboleiro das tarefas de grupo na versión do navegador. Entón as tarefas compartidas que estean sen asignar ou asignadas a ti aparecerán no teu taboleiro de tarefas persoal en todas as plataformas.\n\n## Cal é a diferenza entre as tarefas compartidas dos grupos e os desafíos?\n\nOs taboleiros de tarefas compartidas do plan de grupo son máis dinámicas que os desafíos, no sentido de que poden actualizarse constantemente e pódese interactuar con elas constantemente. Os desafíos están ben se tes un grupo de tarefas que enviar a moitas persoas.\n\nAdemais os plans de grupo son unha funcionalidade de pago, mentres que os desafíos están dispoñíbeis de balde para toda a xente.\n\nNon podes asignar tarefas concretas en desafíos, e os desafíos non teñen un día de restabelecemento compartido. En xeral, os desafíos ofrecen menos control e menos interacción directa.", + "androidFaqAnswer13": "## Como funcionan os plans de grupo?\n\nOs [plans de grupo](/group-plans) dan ao teu equipo ou gremio acceso a un taboleiro de tarefas compartido similar ao teu taboleiro de tarefas persoal! É unha experiencia de Habitica compartida na que as tarefas pode crealas e marcalas calquera do grupo.\n\nTamén hai dispoñíbeis funcionalidades como roles, vista de estado, e asignación de tarefas que te dan unha experiencia máis controlada. [Visita o wiki](https://habitica.fandom.com/wiki/Group_Plans) para máis información sobre as nosas funcionalidades do plan de grupo!\n\n## Para quen están pensados os plans de grupo?\n\nOs plans de grupo son ideais cando tes un equipo pequeno de persoas que queren colaborar. Recomendamos entre 2 e 5 persoas.\n\nOs plans de grupo son xeniais para familias e parellas. É doado facer seguimento de metas, tarefas e responsabilidades compartiras nun único taboleiro.\n\nOs plans de grupo tamén poden ser útiles para equipos de traballo con metas comúns, ou persoas coordinadoras que queren achegar conceptos dos videoxogos ao traballo.\n\n## Consellos rápidos para usar grupos\n\nVelaquí algúns consellos rápidos para comezar cun novo grupo. As seguintes seccións ofrecerán detalles adicionais:\n\n* Fai a unha persoa xestora para que poida crear e editar tarefas\n* Deixa tarefas sen asignar se as pode completar calquera e só hai que facelas unha vez\n* Asigna unha tarefa a unha persoa para asegurarte de que ninguén máis a pode completar\n* Asigna unha tarefa a varias persoas se todas elas teñen que completala\n* Conmuta a habilidade de amosar as tarefas compartidas no teu taboleiro persoal para non perderte nada\n* Recibes recompensas polas tarefas que completas, aínda que estean asignadas a varias persoas\n* As recompensas por completar tarefas nin se comparten in se dividen entre as persoas do equipo\n* Usa a cor de tarefa no taboleiro do equipo para xulgar a proporción de cumprimento media das tarefas\n* Revisa con regularidade as tarefas no taboleiro do equipo para asegurarte de que seguen sendo relevantes\n* Saltarse unha tarefa diaria non fará dano, nin a ti nin ao equipo, pero a cor da tarefa decaerá\n\n## Como poden crear tarefas outras persoas do equipo?\n\nSó poden crear tarefas a persoa líder do grupo e as persoas administradoras. Se queres que unha persoa do grupo poida crear tarefas, deberías facela administradora indo ao separador de información do grupo, consultando a lista de membresía, e premendo a icona de puntos canda o seu nome.\n\n## Como funciona a asignación de tarefas?\n\nOs plans de grupo permiten a habilidade única de asignar tarefas a outras persoas do grupo. Asignar unha tarefa é xenial para delegar. Se asignas unha tarefa a unha persoa, ningunha outra persoa pode completala.\n\nTamén podes asignar unha tarefa a varias persoas se son varias as que a teñen que completar. Por exemplo, se toda a xente ten que lavar os dentes, crea unha tarefa e asígnalla a cada persoa do grupo. Poderán marcala como completada e obter cadansúa recompensa por facelo. A tarefa principal amosarase como completa cando todas as persoas a marquen como completa.\n\n## Como funcionan as tarefas sen asignar?\n\nAs tarefas sen asignar pode completalas calquera persoa do grupo. Por exemplo, sacar o lixo. Quen saque o lixo pode marcala como completada, e aparecerá como completada para toda a xente.\n\n## Como funciona a sincronización do cambio de día?\n\nAs tarefas compartidas restabeleceranse ao mesmo tempo para toda a xente para que o taboleiro de tarefas estea sincronizado. O momento no que se restabelece pode verse no taboleiro de tarefas compartidas e vén determinado pola hora na que empeza o día para a persoa líder do grupo. Dado que as tarefas compartidas se restabelecen automaticamente, non terás oportunidade de completar tarefas diarias do día anterior ao chegar á mañá seguinte.\n\nAs tarefas diarias compartidas non farán dano por saltalas, pero degradarán a cor para axudar a visualizar o progreso. Non queremos que a experiencia compartida sexa negativa!\n\n## Como uso o meu grupo nas aplicacións móbiles?\n\nAs aplicacións móbiles aínda non permiten completamente as funcionalidades do plan de grupos, pero podes completar tarefas compartidas desde as aplicacións de iOS e de Android copiando as tarefas no teu taboleiro persoal. Podes activar esta opción desde a configuración nas aplicacións móbiles ou desde o taboleiro das tarefas de grupo na versión do navegador. Entón as tarefas compartidas que estean sen asignar ou asignadas a ti aparecerán no teu taboleiro de tarefas persoal en todas as plataformas.\n\n## Cal é a diferenza entre as tarefas compartidas dos grupos e os desafíos?\n\nOs taboleiros de tarefas compartidas do plan de grupo son máis dinámicas que os desafíos, no sentido de que poden actualizarse constantemente e pódese interactuar con elas constantemente. Os desafíos están ben se tes un grupo de tarefas que enviar a moitas persoas.\n\nAdemais os plans de grupo son unha funcionalidade de pago, mentres que os desafíos están dispoñíbeis de balde para toda a xente.\n\nNon podes asignar tarefas concretas en desafíos, e os desafíos non teñen un día de restabelecemento compartido. En xeral, os desafíos ofrecen menos control e menos interacción directa.", + "faqQuestion13": "Que é un plan de grupo?", + "webFaqAnswer13": "## Como funcionan os plans de grupo?\n\nOs [plans de grupo](/group-plans) dan ao teu equipo ou gremio acceso a un taboleiro de tarefas compartido similar ao teu taboleiro de tarefas persoal! É unha experiencia de Habitica compartida na que as tarefas pode crealas e marcalas calquera do grupo.\n\nTamén hai dispoñíbeis funcionalidades como roles, vista de estado, e asignación de tarefas que te dan unha experiencia máis controlada. [Visita o wiki](https://habitica.fandom.com/wiki/Group_Plans) para máis información sobre as nosas funcionalidades do plan de grupo!\n\n## Para quen están pensados os plans de grupo?\n\nOs plans de grupo son ideais cando tes un equipo pequeno de persoas que queren colaborar. Recomendamos entre 2 e 5 persoas.\n\nOs plans de grupo son xeniais para familias e parellas. É doado facer seguimento de metas, tarefas e responsabilidades compartiras nun único taboleiro.\n\nOs plans de grupo tamén poden ser útiles para equipos de traballo con metas comúns, ou persoas coordinadoras que queren achegar conceptos dos videoxogos ao traballo.\n\n## Consellos rápidos para usar grupos\n\nVelaquí algúns consellos rápidos para comezar cun novo grupo. As seguintes seccións ofrecerán detalles adicionais:\n\n* Fai a unha persoa xestora para que poida crear e editar tarefas\n* Deixa tarefas sen asignar se as pode completar calquera e só hai que facelas unha vez\n* Asigna unha tarefa a unha persoa para asegurarte de que ninguén máis a pode completar\n* Asigna unha tarefa a varias persoas se todas elas teñen que completala\n* Conmuta a habilidade de amosar as tarefas compartidas no teu taboleiro persoal para non perderte nada\n* Recibes recompensas polas tarefas que completas, aínda que estean asignadas a varias persoas\n* As recompensas por completar tarefas nin se comparten in se dividen entre as persoas do equipo\n* Usa a cor de tarefa no taboleiro do equipo para xulgar a proporción de cumprimento media das tarefas\n* Revisa con regularidade as tarefas no taboleiro do equipo para asegurarte de que seguen sendo relevantes\n* Saltarse unha tarefa diaria non fará dano, nin a ti nin ao equipo, pero a cor da tarefa decaerá\n\n## Como poden crear tarefas outras persoas do equipo?\n\nSó poden crear tarefas a persoa líder do grupo e as persoas administradoras. Se queres que unha persoa do grupo poida crear tarefas, deberías facela administradora indo ao separador de información do grupo, consultando a lista de membresía, e premendo a icona de puntos canda o seu nome.\n\n## Como funciona a asignación de tarefas?\n\nOs plans de grupo permiten a habilidade única de asignar tarefas a outras persoas do grupo. Asignar unha tarefa é xenial para delegar. Se asignas unha tarefa a unha persoa, ningunha outra persoa pode completala.\n\nTamén podes asignar unha tarefa a varias persoas se son varias as que a teñen que completar. Por exemplo, se toda a xente ten que lavar os dentes, crea unha tarefa e asígnalla a cada persoa do grupo. Poderán marcala como completada e obter cadansúa recompensa por facelo. A tarefa principal amosarase como completa cando todas as persoas a marquen como completa.\n\n## Como funcionan as tarefas sen asignar?\n\nAs tarefas sen asignar pode completalas calquera persoa do grupo. Por exemplo, sacar o lixo. Quen saque o lixo pode marcala como completada, e aparecerá como completada para toda a xente.\n\n## Como funciona a sincronización do cambio de día?\n\nAs tarefas compartidas restabeleceranse ao mesmo tempo para toda a xente para que o taboleiro de tarefas estea sincronizado. O momento no que se restabelece pode verse no taboleiro de tarefas compartidas e vén determinado pola hora na que empeza o día para a persoa líder do grupo. Dado que as tarefas compartidas se restabelecen automaticamente, non terás oportunidade de completar tarefas diarias do día anterior ao chegar á mañá seguinte.\n\nAs tarefas diarias compartidas non farán dano por saltalas, pero degradarán a cor para axudar a visualizar o progreso. Non queremos que a experiencia compartida sexa negativa!\n\n## Como uso o meu grupo nas aplicacións móbiles?\n\nAs aplicacións móbiles aínda non permiten completamente as funcionalidades do plan de grupos, pero podes completar tarefas compartidas desde as aplicacións de iOS e de Android copiando as tarefas no teu taboleiro persoal. Podes activar esta opción desde a configuración nas aplicacións móbiles ou desde o taboleiro das tarefas de grupo na versión do navegador. Entón as tarefas compartidas que estean sen asignar ou asignadas a ti aparecerán no teu taboleiro de tarefas persoal en todas as plataformas.\n\n## Cal é a diferenza entre as tarefas compartidas dos grupos e os desafíos?\n\nOs taboleiros de tarefas compartidas do plan de grupo son máis dinámicas que os desafíos, no sentido de que poden actualizarse constantemente e pódese interactuar con elas constantemente. Os desafíos están ben se tes un grupo de tarefas que enviar a moitas persoas.\n\nAdemais os plans de grupo son unha funcionalidade de pago, mentres que os desafíos están dispoñíbeis de balde para toda a xente.\n\nNon podes asignar tarefas concretas en desafíos, e os desafíos non teñen un día de restabelecemento compartido. En xeral, os desafíos ofrecen menos control e menos interacción directa.", + "general": "Xeral", + "parties": "Equipos", + "faqQuestion15": "Como funciona a busca de equipo?", + "faqQuestion16": "Canto tempo podo estar na lista de busca?", + "faqQuestion19": "Canta xente podo invitar ao equipo?", + "androidFaqAnswer21": "Para cancelar unha invitación desde o sitio web de Habitica:\n\n1. Preme na lista de xente desde a vista do equipo.\n2. Preme no separador de «Invitacións».\n3. Preme nos tres puntos canda a invitación que queiras cancelar.\n4. Escolle «Cancelar a invitación».\n\nPara facelo desde a aplicación de Android:\n\n1. Selecciona «Equipo» e baixa á lista de xente.\n2. Na parte inferior verás as invitacións pendentes.\n3. Selecciona «Cancelar a invitación».\n\nEn breves poderás cancelar invitacións tamén desde a aplicación de iOS!", + "faqQuestion14": "Como atopo un equipo para min?", + "iosFaqAnswer16": "Permanecerás na lista ata que aceptes unha invitación e un equipo ou non accedas a Habitica durante 7 días. Se accedes tras 7 días de inactividade, volverás á lista salvo que teñas algunha invitación pendente.", + "faqQuestion17": "Podo quitarme da lista de busca?", + "faqQuestion24": "Como busco equipo en Android ou iOS?", + "faqQuestion18": "Teño equipo, como atopo máis xente para unirse?", + "iosFaqAnswer19": "Os equipos teñen un límite máximo de 30 participantes, e un mínimo de 1. As invitacións pendentes contan para o límite. Por exemplo, 29 persoas e 1 invitación pendente contan como 30 persoas. Para borrar unha invitación pendente, a persoa destinataria ten que aceptala ou rexeitala, ou a persoa líder do equipo ten que cancelar a invitación.", + "androidFaqAnswer19": "Os equipos teñen un límite máximo de 30 participantes, e un mínimo de 1. As invitacións pendentes contan para o límite. Por exemplo, 29 persoas e 1 invitación pendente contan como 30 persoas. Para borrar unha invitación pendente, a persoa destinataria ten que aceptala ou rexeitala, ou a persoa líder do equipo ten que cancelar a invitación.", + "webFaqAnswer19": "Os equipos teñen un límite máximo de 30 participantes, e un mínimo de 1. As invitacións pendentes contan para o límite. Por exemplo, 29 persoas e 1 invitación pendente contan como 30 persoas. Para borrar unha invitación pendente, a persoa destinataria ten que aceptala ou rexeitala, ou a persoa líder do equipo ten que cancelar a invitación.", + "faqQuestion20": "Podo invitar a unha persoa coñecida?", + "faqQuestion21": "Como cancelo unha invitación pendente ao meu equipo?", + "faqQuestion22": "Como evito invitacións non desexadas?", + "iosFaqAnswer23": "De momento non se pode filtrar en busca de equipo. No futuro temos pensado permitir filtrar por clase, nivel ou idioma.", + "androidFaqAnswer23": "De momento non se pode filtrar en busca de equipo. No futuro temos pensado permitir filtrar por clase, nivel ou idioma.", + "webFaqAnswer23": "De momento non se pode filtrar en busca de equipo. No futuro temos pensado permitir filtrar por clase, nivel ou idioma.", + "androidFaqAnswer15": "Tras seleccionar «Buscar equipo», engadiráseche a unha lista de xente que busca equipo. As persoas lideres de equipos poden ver a lista e enviar invitacións. Cando recibas unha invitación, podes aceptala desde as notificacións para unirte.\n\nSe te invitan de varios equipos, terás que escoller un. Non se pode pertencer a varios equipos ao mesmo tempo.", + "webFaqAnswer15": "Tras seleccionar «Buscar equipo», engadiráseche a unha lista de xente que busca equipo. As persoas lideres de equipos poden ver a lista e enviar invitacións. Cando recibas unha invitación, podes aceptala desde as notificacións para unirte.\n\nSe te invitan de varios equipos, terás que escoller un. Non se pode pertencer a varios equipos ao mesmo tempo.", + "iosFaqAnswer18": "Se usas o sitio web, selecciona «Equipo → Atopar participantes». Se usas a aplicación de Android, selecciona «Atopar participantes» sobre a lista de persoas do equipo. Amosarase unha lista de xente que busca equipo, á que podes invitar.\n\nVerás información sobre a xente, como o idioma, clase, nivel e cantos días levan en Habitica, para axudarche a atopar unha persoa axeitada. Se prefires falar cunha persoa antes de invitala, podes enviarlle unha mensaxe desde o seu perfil.", + "androidFaqAnswer20": "Por suposto! Se tes o nome de persoa usuaria ou o enderezo de correo electrónico dunha persoa que xoga a Habitica, podes invitala ao teu equipo:\n\nPara facelo no sitio web, selecciona «Invitar ao equipo» á dereita da páxina.\n\nPara facelo en Android, selecciona «Equipo» e, na sección de participantes, selecciona «Atopar participantes → Por invitación».\n\nPara facelo en iOS, selecciona «Equipo» e, na sección de participantes, selecciona «Invitar ao equipo».", + "iosFaqAnswer22": "Cando te unas a un equipo deixarás de recibir invitacións. Se queres evitar invitacións e mensaxes dunha persoa en concreto, selecciona «Bloquear» no seu perfil. En perfís móbiles, selecciona os tres puntos da esquina superior e selecciona «Bloquear».\n\nSe pensas que alguén incumpriu as directrices da comunidade no seu nome, perfil ou nunha mensaxe, denuncia a mensaxe correspondente ou contacta connosco en admin@habitica.com.", + "androidFaqAnswer22": "Cando te unas a un equipo deixarás de recibir invitacións. Se queres evitar invitacións e mensaxes dunha persoa en concreto, selecciona «Bloquear» no seu perfil. En perfís móbiles, selecciona os tres puntos da esquina superior e selecciona «Bloquear».\n\nSe pensas que alguén incumpriu as directrices da comunidade no seu nome, perfil ou nunha mensaxe, denuncia a mensaxe correspondente ou contacta connosco en admin@habitica.com.", + "webFaqAnswer14": "Se queres xogar con máis xente pero non coñeces a ninguén máis no xogo, o mellor é buscar un equipo. Se xa coñeces a xente cun equipo, podes compartir con eles o teu @nome_de_usuario para que te inviten. Senón podes crear ti un equipo e invitar ao resto de xente co seu @nome_de_usuario ou enderezo de correo electrónico.\n\nPara crear ou buscar un equipo, selecciona «Equipo» no menú de navegación e escolle a opción correspondente.", + "faqQuestion23": "Como filtro a lista de xente que busca equipo?", + "androidFaqAnswer14": "Se queres xogar con máis xente pero non coñeces a ninguén máis no xogo, o mellor é buscar un equipo. Se xa coñeces a xente cun equipo, podes compartir con eles o teu @nome_de_usuario para que te inviten. Senón podes crear ti un equipo e invitar ao resto de xente co seu @nome_de_usuario ou enderezo de correo electrónico.\n\nPara crear ou buscar un equipo, selecciona «Equipo» no menú de navegación e escolle a opción correspondente.", + "iosFaqAnswer15": "Tras seleccionar «Buscar equipo», engadiráseche a unha lista de xente que busca equipo. As persoas lideres de equipos poden ver a lista e enviar invitacións. Cando recibas unha invitación, podes aceptala desde as notificacións para unirte.\n\nSe te invitan de varios equipos, terás que escoller un. Non se pode pertencer a varios equipos ao mesmo tempo.", + "androidFaqAnswer16": "Permanecerás na lista ata que aceptes unha invitación e un equipo ou non accedas a Habitica durante 7 días. Se accedes tras 7 días de inactividade, volverás á lista salvo que teñas algunha invitación pendente.", + "webFaqAnswer16": "Permanecerás na lista ata que aceptes unha invitación e un equipo ou non accedas a Habitica durante 7 días. Se accedes tras 7 días de inactividade, volverás á lista salvo que teñas algunha invitación pendente.", + "iosFaqAnswer17": "Se xa non queres atopar equipo, selecciona «Equipo → Deixar» no sitio web ou na aplicación de Android para deixar de buscar.", + "androidFaqAnswer17": "Se xa non queres atopar equipo, selecciona «Equipo → Deixar» no sitio web ou na aplicación de Android para deixar de buscar.", + "webFaqAnswer17": "Se xa non queres atopar equipo, selecciona «Equipo → Deixar» no sitio web ou na aplicación de Android para deixar de buscar.", + "androidFaqAnswer18": "Se usas o sitio web, selecciona «Equipo → Atopar participantes». Se usas a aplicación de Android, selecciona «Atopar participantes» sobre a lista de persoas do equipo. Amosarase unha lista de xente que busca equipo, á que podes invitar.\n\nVerás información sobre a xente, como o idioma, clase, nivel e cantos días levan en Habitica, para axudarche a atopar unha persoa axeitada. Se prefires falar cunha persoa antes de invitala, podes enviarlle unha mensaxe desde o seu perfil.", + "webFaqAnswer18": "Se usas o sitio web, selecciona «Equipo → Atopar participantes». Se usas a aplicación de Android, selecciona «Atopar participantes» sobre a lista de persoas do equipo. Amosarase unha lista de xente que busca equipo, á que podes invitar.\n\nVerás información sobre a xente, como o idioma, clase, nivel e cantos días levan en Habitica, para axudarche a atopar unha persoa axeitada. Se prefires falar cunha persoa antes de invitala, podes enviarlle unha mensaxe desde o seu perfil.", + "iosFaqAnswer20": "Por suposto! Se tes o nome de persoa usuaria ou o enderezo de correo electrónico dunha persoa que xoga a Habitica, podes invitala ao teu equipo:\n\nPara facelo no sitio web, selecciona «Invitar ao equipo» á dereita da páxina.\n\nPara facelo en Android, selecciona «Equipo» e, na sección de participantes, selecciona «Atopar participantes → Por invitación».\n\nPara facelo en iOS, selecciona «Equipo» e, na sección de participantes, selecciona «Invitar ao equipo».", + "webFaqAnswer20": "Por suposto! Se tes o nome de persoa usuaria ou o enderezo de correo electrónico dunha persoa que xoga a Habitica, podes invitala ao teu equipo:\n\nPara facelo no sitio web, selecciona «Invitar ao equipo» á dereita da páxina.\n\nPara facelo en Android, selecciona «Equipo» e, na sección de participantes, selecciona «Atopar participantes → Por invitación».\n\nPara facelo en iOS, selecciona «Equipo» e, na sección de participantes, selecciona «Invitar ao equipo».", + "iosFaqAnswer21": "Para cancelar unha invitación desde o sitio web de Habitica:\n\n1. Preme na lista de xente desde a vista do equipo.\n2. Preme no separador de «Invitacións».\n3. Preme nos tres puntos canda a invitación que queiras cancelar.\n4. Escolle «Cancelar a invitación».\n\nPara facelo desde a aplicación de Android:\n\n1. Selecciona «Equipo» e baixa á lista de xente.\n2. Na parte inferior verás as invitacións pendentes.\n3. Selecciona «Cancelar a invitación».\n\nEn breves poderás cancelar invitacións tamén desde a aplicación de iOS!", + "webFaqAnswer21": "Para cancelar unha invitación desde o sitio web de Habitica:\n\n1. Preme na lista de xente desde a vista do equipo.\n2. Preme no separador de «Invitacións».\n3. Preme nos tres puntos canda a invitación que queiras cancelar.\n4. Escolle «Cancelar a invitación».\n\nPara facelo desde a aplicación de Android:\n\n1. Selecciona «Equipo» e baixa á lista de xente.\n2. Na parte inferior verás as invitacións pendentes.\n3. Selecciona «Cancelar a invitación».\n\nEn breves poderás cancelar invitacións tamén desde a aplicación de iOS!", + "webFaqAnswer22": "Cando te unas a un equipo deixarás de recibir invitacións. Se queres evitar invitacións e mensaxes dunha persoa en concreto, selecciona «Bloquear» no seu perfil. En perfís móbiles, selecciona os tres puntos da esquina superior e selecciona «Bloquear».\n\nSe pensas que alguén incumpriu as directrices da comunidade no seu nome, perfil ou nunha mensaxe, denuncia a mensaxe correspondente ou contacta connosco en admin@habitica.com.", + "iosFaqAnswer24": "Na versión 4.2 de Android engadimos a posibilidade de buscar equipo e participantes! Actualiza á última versión para facelo. As persoas sen equipo poden buscalo na pantalla de equipo. As persoas que lideran un equipo poden ver a lista de persoas que buscan equipo premendo «Atopar participantes» sobre a lista de participantes do equipo.\n\nNa versión 3.8 de iOS tamén se poderá facer!", + "androidFaqAnswer24": "Na versión 4.2 de Android engadimos a posibilidade de buscar equipo e participantes! Actualiza á última versión para facelo. As persoas sen equipo poden buscalo na pantalla de equipo. As persoas que lideran un equipo poden ver a lista de persoas que buscan equipo premendo «Atopar participantes» sobre a lista de participantes do equipo.\n\nNa versión 3.8 de iOS tamén se poderá facer!", + "webFaqAnswer24": "Na versión 4.2 de Android engadimos a posibilidade de buscar equipo e participantes! Actualiza á última versión para facelo. As persoas sen equipo poden buscalo na pantalla de equipo. As persoas que lideran un equipo poden ver a lista de persoas que buscan equipo premendo «Atopar participantes» sobre a lista de participantes do equipo.\n\nNa versión 3.8 de iOS tamén se poderá facer!", + "iosFaqAnswer14": "Se queres xogar con máis xente pero non coñeces a ninguén máis no xogo, o mellor é buscar un equipo. Se xa coñeces a xente cun equipo, podes compartir con eles o teu @nome_de_usuario para que te inviten. Senón podes crear ti un equipo e invitar ao resto de xente co seu @nome_de_usuario ou enderezo de correo electrónico.\n\nPara crear ou buscar un equipo, selecciona «Equipo» no menú de navegación e escolle a opción correspondente." } diff --git a/website/common/locales/gl/front.json b/website/common/locales/gl/front.json index f97a87bbbe..3bb17af6ea 100644 --- a/website/common/locales/gl/front.json +++ b/website/common/locales/gl/front.json @@ -1,20 +1,20 @@ { "FAQ": "Preguntas frecuentes", - "chores": "Tarefas da casa", + "chores": "Quefaceres", "communityInstagram": "Instagram", "termsAndAgreement": "Ao premer o botón embaixo indicas que liches e estás de acordo coas condicións do servizo e coa política de protección da intimidade.", "clearBrowserData": "Borrar os datos do navegador", "communityFacebook": "Facebook", - "communityExtensions": "Complementos e extensións", - "companyAbout": "Como funcionar", - "companyBlog": "Blogue", + "communityExtensions": "Complementos e extensións", + "companyAbout": "Como funciona", + "companyBlog": "Bitácora", "footerDevs": "Desenvolvemento", "footerMobile": "Móbil", "oldNews": "Novas", "playButton": "Xogar", - "pkBoss": "Xefes", + "pkBoss": "Criaturas rivais", "register": "Rexistrarse", - "school": "Escola", + "school": "Estudos", "teams": "Equipos", "tweet": "Chío", "marketing3Lead2Title": "Integracións", @@ -24,37 +24,37 @@ "pkWebsite": "Sitio web", "or": "OU", "footerCommunity": "Comunidade", - "mobileIOS": "iOS", - "login": "Iniciar sesión", - "companyContribute": "Contribuír", + "mobileIOS": "Aplicación de iOS", + "login": "Acceder", + "companyContribute": "Contribuír a Habitica", "tumblr": "Tumblr", "tasks": "Tarefas", - "mobileAndroid": "Android", + "mobileAndroid": "Aplicación de Android", "password": "Contrasinal", "pkPromo": "Promocións", - "companyDonate": "Doar", + "companyDonate": "Doar a Habitica", "sync": "Sincronizar", "footerCompany": "Empresa", - "username": "Nome de usuario", + "username": "Alcume", "work": "Traballo", "marketing1Lead2": "Mellora os teus hábitos para mellorar o teu avatar. Luce o equipamento que gañaches!", - "privacy": "Política de intimidade", + "privacy": "Política de privacidade", "missingAuthHeaders": "Faltan as cabeceiras de autenticación.", - "missingUsernameEmail": "Falta o nome de usuario ou o correo electrónico.", + "missingUsernameEmail": "Falta o alcume ou o enderezo de correo electrónico.", "invalidEmailDomain": "Non pode rexistrarse con correos electrónicos dos seguintes dominios: <%= domains %>", - "passwordReset": "Se temos constancia do seu correo electrónico ou nome de usuario, enviáronse ao seu correo electrónico instrucións para estabelecer un novo contrasinal.", - "unsupportedNetwork": "Actualmente non somos compatíbeis con esta rede.", + "passwordReset": "Se temos constancia do seu correo electrónico ou alcume, enviáronse ao seu correo electrónico instrucións para estabelecer un novo contrasinal.", + "unsupportedNetwork": "Non somos compatíbeis con esta rede.", "earnRewardsDesc": "Marca as tarefas para subir de nivel o teu avatar e desbloquear funcionalidades do xogo como armaduras de batalla, misteriosas mascotas, habilidades máxicas, e mesmo misións!", "schoolAndWorkDesc": "Sen importar se o informe que preparar é para a escola ou para o traballo, resulta doado facer un seguimento do teu progreso a medida que lidias coas tarefas máis complicadas.", "pkQuestion1": "Como naceu Habitica?", "localStorageClearExplanation": "Este botón borrará o almacenamento local e a maioría das cookies, e pechará a súa sesión.", "pkQuestion6": "Quen adoita usar Habitica?", - "pkQuestion8": "Que impacto ten Habitica na vida real das persoas?", + "pkQuestion8": "Que impacto ten Habitica na vida das persoas?", "incorrectDeletePhrase": "Escribe <%= magicWord %> en maiúsculas para eliminar a túa conta.", "alreadyHaveAccountLogin": "Xa tes unha conta de Habitica? Entra.", "joinMany": "Únete a máis de <%= userCountInMillions %> millóns de persoas que o pasan ben conseguindo as súas metas!", "dontHaveAccountSignup": "Non tes unha conta de Habitica? Rexístrate.", - "forgotPasswordSteps": "Escribe o teu nome de usuario ou o enderezo de correo electrónico que usaches para rexistrar a túa conta de Habitica.", + "forgotPasswordSteps": "Escribe o teu alcume ou o enderezo de correo electrónico que usaches para rexistrar a túa conta de Habitica.", "forgotPassword": "Esqueciches o contrasinal?", "minPasswordLength": "O contrasinal debe ter polo menos 8 caracteres.", "pkAnswer8": "Podes atopar moitas referencias sobre como Habitica axudou á xente aquí: https://habitversary.tumblr.com", @@ -79,20 +79,20 @@ "invalidEmail": "Requírese un enderezo de correo electrónico correcto para realizar un restabelecemento de contrasinal.", "levelUpAnywhereDesc": "As nosas aplicacións móbiles facilitan facer seguimento das túas tarefas desde calquera lugar. Consegue as túas metas cun toque desde onde esteas.", "localStorageClear": "Borrar os datos", - "usernameLimitations": "O nome de usuario debe ter entre 1 e 20 caracteres, e constar só de letras latinas (sen tiles nin ñ), díxitos, guións e guións baixos, e non pode incluír termos inadecuados.", + "usernameLimitations": "O alcume debe ter entre 1 e 20 caracteres, e constar só de letras latinas (sen tiles nin ñ), díxitos, guións e guións baixos, e non pode incluír termos inadecuados.", "businessInquiries": "Consultas de negocios e de promoción", - "timeToGetThingsDone": "Toca divertirse ao facer as cousas! Únete a máis de <%= userCountInMillions %> millóns de habitiquenses e mellora a túa vida de tarefa en tarefa.", - "missingEmail": "Falta o correo electrónico.", - "usernameTOSRequirements": "Os nomes de usuario deben cumprir coas nosas condicións de servizo e coas directrices da comunidade. Se non estabeleciches previamente un nome de usuario, xerouse automaticamente.", + "timeToGetThingsDone": "Toca divertirse ao facer as cousas! Únete a máis de <%= userCountInMillions %> millóns de persoas que xa usan Habitica e mellora a túa vida de tarefa en tarefa.", + "missingEmail": "Falta o enderezo de correo electrónico.", + "usernameTOSRequirements": "Os alcumes deben cumprir coas nosas condicións de servizo e coas directrices da comunidade. Se non definiches previamente un alcume, xerouse automaticamente.", "missingPassword": "Falta o contrasinal.", "marketing3Lead1": "As aplicacións de **iPhone e Android** permítenche traballar sobre a marcha. Somos conscientes de que acceder a un sitio web para premer botóns pode botar para atrás.", "wrongPassword": "O contrasinal é incorrecto.", - "presskitText": "Grazas por interesarte en Habitica! As seguintes imaxes poden usarse para artigos ou vídeos sobre Habitica. Para máis información, contacte connosco en <%= pressEnquiryEmail %>.", + "presskitText": "Grazas por interesarte en Habitica! As seguintes imaxes poden usarse para artigos ou vídeos sobre Habitica. Para máis información, contacta connosco en <%= pressEnquiryEmail %>.", "passwordResetPage": "Restabelecer o contrasinal", "confirmPassword": "Confirmar o contrasinal", - "usernamePlaceholder": "p.ex. Habitiquense", - "emailPlaceholder": "p.ex. grifon@example.com", - "passwordPlaceholder": "p.ex. ******************", + "usernamePlaceholder": "p. ex. Habitiquense", + "emailPlaceholder": "p. ex. grifon@example.com", + "passwordPlaceholder": "p. ex. ******************", "joinHabitica": "Unirse a Habitica", "getStarted": "Comeza!", "learnMore": "Saber máis", @@ -100,25 +100,25 @@ "guidanceForBlacksmiths": "Orientación de ferraría", "marketing1Lead2Title": "Consigue un bo equipamento", "marketing2Lead3Title": "Desafiádevos", - "marketing4Lead1Title": "O xogo na educación", - "setNewPass": "Estabelecer un novo contrasinal", + "marketing4Lead1Title": "Ludificación do ensino", + "setNewPass": "Definir un novo contrasinal", "reportAccountProblems": "Informar de problemas coa conta", "reportCommunityIssues": "Informar de problemas coa comunidade", "missingNewPassword": "Falta o novo contrasinal.", "notAnEmail": "O enderezo de correo electrónico é incorrecto.", - "usernameTaken": "O nome de usuario xa está collido.", + "usernameTaken": "O alcume xa está collido.", "healthAndFitness": "Saúde e exercicio", "levelUpAnywhere": "Sube de nivel desde calquera lugar", "pkQuestion2": "Por que funciona Habitica?", - "emailOrUsername": "Enderezo de correo electrónico ou nome de usuario (sensíbel ás maiúsculas)", + "emailOrUsername": "Enderezo de correo electrónico ou alcume (distingue maiúsculas)", "newEmailRequired": "Falta o novo enderezo de correo electrónico.", "accountSuspendedTitle": "Suspendeuse a conta", "battleMonsters": "Loita contra monstros coas túas amizades", "emailNewPass": "Enviar unha ligazón de restabelecemento de contrasinal por correo electrónico", - "marketing4Lead2Title": "O xogo na saúde e no benestar", - "marketing4Lead3-1": "Queres facer da túa vida un xogo?", + "marketing4Lead2Title": "Ludificación da saúde e do benestar", + "marketing4Lead3-1": "Queres ludificar a túa vida?", "generalQuestionsSite": "Preguntas xerais sobre o sitio", - "merchandiseInquiries": "Consultas sobre material de promoción (camisetas, adhesivos)", + "merchandiseInquiries": "Consultas sobre material promocional (camisetas, adhesivos)", "checkOutMobileApps": "Bota un ollo ás nosas aplicacións móbiles!", "passwordConfirmationMatch": "A confirmación do contrasinal non coincide co contrasinal.", "modelNotFound": "Este modelo non existe.", @@ -127,23 +127,23 @@ "marketing1Lead1Title": "A túa vida, o xogo de rol", "marketing2Header": "Compite con amizades, únete a grupos cos teus intereses", "pkQuestion7": "Por que usa Habitica arte de píxeles?", - "usernameTime": "Hora de estabelecer o teu nome de usuario!", + "usernameTime": "Hora de definir o teu alcume!", "memberIdRequired": "«member» debe ser un UUID correcto.", "heroIdRequired": "«heroId» debe ser un UUID correcto.", "signUpWithSocial": "Rexístrate con <%= social %>", "loginWithSocial": "Accede con <%= social %>", - "confirmPasswordPlaceholder": "Asegúrate de que son o mesmo contrasinal!", + "confirmPasswordPlaceholder": "Asegúrate de que é o mesmo contrasinal!", "motivateYourself": "Motívate para conseguir as túas metas.", "marketing1Header": "Mellora os teus hábitos xogando", "trackYourGoals": "Fai seguimento dos seus hábitos e metas", "singUpForFree": "Rexístrate de balde", "cantDetachSocial": "Á conta fáltalle outro método de autenticación; non se pode retirar este método de autenticación.", - "newsArchive": "Arquivo de novas en Wikia (en varios idiomas)", - "pkQuestion5": "En que se diferencia Habitica doutros programas de xogabilización?", + "newsArchive": "Arquivo de novas en Fandom (non está en galego)", + "pkQuestion5": "En que se diferencia Habitica doutros programas de ludificación?", "mobileApps": "Aplicacións para móbil", "terms": "Termos e condicións", "muchmuchMore": "E moito, moito máis!", - "missingUsername": "Falta o nome de usuario.", + "missingUsername": "Falta o alcume.", "schoolAndWork": "Estudos e traballo", "trackYourGoalsDesc": "Responsabilízate facendo seguimento e xestión dos teus hábitos, metas diarias, e lista de tarefas pendentes coas aplicacións móbiles e a interface web fáciles de usar de Habitica.", "subscriptionPaymentIssues": "Problemas de subscrición e de pago", @@ -152,31 +152,33 @@ "invalidReqParams": "Os parámetros da solicitude son incorrectos.", "marketing3Header": "Aplicacións e extensións", "marketing1Lead3Title": "Atopa premios aleatorios", - "battleMonstersDesc": "Loita contra monstros e outros habitiquenses! Usa o ouro que gañes para mercar recompensas do xogo ou da vida real, como ver un episodio da túa serie favorita.", + "battleMonstersDesc": "Loita contra monstros con máis xente! Usa o ouro que gañes para mercar recompensas do xogo ou da realidade, como ver un episodio da túa serie favorita.", "pkQuestion3": "Por que engadistes funcionalidades sociais?", - "marketing2Lead2": "Que é un xogo de rol sen batallas? Loita contra monstros co teu grupo. Os monstros son o «modo de máxima responsabilidade»: un día que non vaias ao ximnasio é un día que o mostro fai dano a *toda a xente!*", + "marketing2Lead2": "Que é un xogo de rol sen batallas? Loita contra monstros co teu equipo. Os monstros son o «modo de máxima responsabilidade»: un día que non vaias ao ximnasio é un día que o monstro fai dano a *toda a xente!*", "marketing4Lead3Title": "Converte todo nun xogo", "marketing4Header": "Uso organizativo", - "enterHabitica": "Accede a Habitica", + "enterHabitica": "Entrar en Habitica", "joinToday": "Únete a Habitica hoxe", - "emailUsernamePlaceholder": "p.ex. habitiquense ou grifon@example.com", + "emailUsernamePlaceholder": "p. ex. habitiquense ou grifon@example.com", "socialAlreadyExists": "Esta conta social xa está asociada a unha conta de Habitica.", - "marketing4Lead2": "O custo da sanidade está subindo, e hai que facer algo. Constrúense centos de programas para reducir custos e mellorar o benestar. Nós cremos que Habitica pode construír unha gran parte do camiño cara estilos de vida saudables.", - "pkAnswer6": "Habitica úsana moita xente distinta! Máis da metade da xente que nos usa ten entre 18 e 34 anos, pero temos xente maior que usa o sitio coas netas e netos, e todas as idades entre medias. É común que as familias formen un grupo e combatan monstros xuntas.
Moita xente que nos usa ten experiencia con xogos, pero para a nosa sorpresa, cando realizamos unha enquisa hai un tempo, o 40% da xente non se consideraba xogadora! Así que parece que o noso método pode resultar efectivo para calquera que queira que a produtividade e o benestar resulten máis divertidos.", - "accountSuspended": "Esta conta, o identificador de usuario «<%= userId %>», bloqueouse por violar as directrices da comunidade (https://habitica.com/static/community-guidelines) ou as condicións do servizo (https://habitica.com/static/terms). Para máis información, ou para solicitar un desbloqueo, envía unha mensaxe á xestoría da comunidade en <%= communityManagerEmail %> ou solicita á túa nai, pai ou garda que o faga. Inclúea o teu @nome de usuario na mensaxe.", - "muchmuchMoreDesc": "A nosa lista de tarefas completamente personalizable permíteche darlle a Habitica a forma que queiras para adaptala ás túas metas persoais. Traballa en proxectos creativos, fai fincapé no coidado persoal, ou persegue un soño diferente; ti decides.", - "usernameInfo": "Os nomes de usuario son agora únicos que se mostrarán canda o teu nome público e se usarán para invitacións, @mencións de conversas, e mensaxaría.

Se queres saber máis sobre este cambio, visita o noso wiki.", - "marketing4Lead1": "O ensino é un dos mellores sectores para a ludificación. Xa se sabe que a xente estudante anda pegada aos teléfonos e aos xogos; aprovéitao! Fai que compitan de maneira amigable. Recompensa os bos comportamentos con premios singulares. Observa como melloras as súas notas e o seu comportamento.", - "invalidLoginCredentialsLong": "Oh oh! O teu enderezo de correo electrónico, nome de usuario ou contrasinal son incorrectos.\n- Asegúrate de que os escribiches ben. O nome de usuario e contrasinal son sensíbeis ás maiúsculas.\n- Pode que te rexistrases con Facebook ou Google, non co correo electrónico, así que asegúrate probándoos.\n- Se esqueciches o contrasinal, preme «Esquecín o contrasinal».", - "marketing3Lead2": "Outras **ferramentas de terceiras partes** adaptan Habitica a varios aspectos da túa vida. A nosa API permite integrar facilmente cousas como a [extensión de Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=gl-ES), coa que perdes puntos ao visitar sitios web non produtivos, e gañas puntos ao visitar os produtivos. [Aprende máis aquí](https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).", - "marketing2Lead1": "Se ben podes xogar a Habitica pola túa conta, sácaselle máis partido ao colaborar, competir, e responsabilizarse mutuamente. A parte máis efectiva de calquera programa de mellora persoal é a responsabilidade social, e que mellor ambiente para responsabilidade e competición que un videoxogo?", + "marketing4Lead2": "O custo da sanidade está subindo, e hai que facer algo. Constrúense centos de programas para reducir custos e mellorar o benestar. Nós cremos que Habitica pode construír unha gran parte do camiño cara a estilos de vida saudábeis.", + "pkAnswer6": "Habitica úsaa moita xente distinta! Máis da metade da xente que nos usa ten entre 18 e 34 anos, pero temos xente maior que usa o sitio coas netas e netos, e todas as idades entre medias. É común que as familias formen un grupo e combatan monstros xuntas.
Moita xente que nos usa ten experiencia con xogos, pero para a nosa sorpresa, cando realizamos unha enquisa hai un tempo, o 40% da xente non se consideraba xogadora! Así que parece que o noso método pode resultar efectivo para calquera que queira que a produtividade e o benestar resulten máis divertidos.", + "accountSuspended": "Esta conta, o identificador de persoa usuaria «<%= userId %>», bloqueouse por violar as directrices da comunidade (https://habitica.com/static/community-guidelines) ou as condicións do servizo (https://habitica.com/static/terms). Para máis información, ou para solicitar un desbloqueo, envía unha mensaxe á xestoría da comunidade en <%= communityManagerEmail %> ou solicita á túa nai, pai ou garda que o faga. Inclúea o teu @alcume na mensaxe.", + "muchmuchMoreDesc": "A nosa lista de tarefas completamente personalizábel permíteche darlle a Habitica a forma que queiras para adaptala ás túas metas persoais. Traballa en proxectos creativos, fai fincapé no coidado persoal, ou persegue un soño diferente; ti decides.", + "usernameInfo": "Os alcumes son nomes únicos que se amosarán canda o teu nome visual e se usarán para invitacións, @mencións de conversas, e mensaxaría.

Se queres saber máis sobre este cambio, visita o noso wiki (en inglés).", + "marketing4Lead1": "O ensino é un dos mellores sectores para a ludificación. Xa se sabe que a xente estudante anda pegada aos teléfonos e aos xogos; aprovéitao! Fai que compitan de maneira amigábel. Recompensa os bos comportamentos con premios singulares. Observa como melloran as súas notas e o seu comportamento.", + "invalidLoginCredentialsLong": "Vaites! O teu enderezo de correo electrónico, alcume ou contrasinal son incorrectos.\n- Asegúrate de que os escribiches ben. O alcume e o contrasinal distinguen maiúsculas.\n- Pode que te rexistrases con Facebook ou Google, non co enderezo de correo electrónico, así que asegúrate probándoos.\n- Se esqueciches o contrasinal, preme «Esquecín o contrasinal».", + "marketing3Lead2": "Outras **ferramentas de terceiras partes** adaptan Habitica a varios aspectos da túa vida. A nosa API permite integrar facilmente cousas como a [extensión de Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=gl-ES), coa que perdes puntos ao visitar sitios web non produtivos, e gañas puntos ao visitar os produtivos. [Aprende máis aquí](https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations) (en inglés).", + "marketing2Lead1": "Aínda que podes xogar a Habitica pola túa conta, sácaselle máis partido ao colaborar, competir, e responsabilizarse mutuamente. A parte máis efectiva de calquera programa de mellora persoal é a responsabilidade social, e que mellor ambiente para responsabilidade e competición que un videoxogo?", "pkAnswer7": "Habitica usa arte de píxeles por varios motivos. Ademais do factor nostalxia positiva, a arte de píxeles resulta moi accesíbel para o noso voluntariado de artistas que queren colaborar. É moito máis doado manter a consistencia da arte de píxeles cando unha morea de artistas contribúen, e permítenos xerar unha gran cantidade de contido novo!", - "aboutHabitica": "Habitica é unha aplicación de balde de construción de hábitos e produtividade que trata a vida real como un xogo. Con recompensas e castigos no xogo para motivarte e unha forte rede social para inspirarte, Habitica pode axudarte a conseguir as túas metas e mellorar a túa saúde, traballar duramente, e ser feliz.", - "marketing1Lead1": "Habitica é un videoxogo para axudarte a mellorar os hábitos da vida real. Ludifica a túa vida convertendo as túas tarefas (hábitos, tarefas diarias, e tarefas pendentes) en pequenos monstros que debes conquistar. Canto mellor o fagas, máis progresarás no xogo. Se te descoidas na vida, a túa personaxe empeorará no xogo.", + "aboutHabitica": "Habitica é unha aplicación de balde de construción de hábitos e produtividade que trata a vida como un xogo. Con recompensas e castigos no xogo para motivarte e unha forte rede social para inspirarte, Habitica pode axudarte a conseguir as túas metas e mellorar a túa saúde, traballar duramente, e ser feliz.", + "marketing1Lead1": "Habitica é un videoxogo para axudarte a mellorar os hábitos da realidade. Ludifica a túa vida convertendo as túas tarefas (hábitos, tarefas diarias, e tarefas pendentes) en pequenos monstros que debes conquistar. Canto mellor o fagas, máis progresarás no xogo. Se te descoidas na vida, a túa personaxe empeorará no xogo.", "localStorageTryFirst": "Se experimentas problemas con Habitica, preme o botón de embaixo para borrar o almacenamento local e a maioría das cookies do sitio web (non afectará a outros sitios web). Terás que acceder de novo despois de facelo, así que primeiro asegúrate de que sabes os teus detalles de acceso, que podes atopar en Configuración → <%= linkStart %>Sitio<%= linkEnd %>.", "pkAnswer4": "Se saltas unha das túas metas diarias, o teu avatar perderá vida o día seguinte. Isto serve como factor importante de motivación para animar á xente a cumprir as súas metas porque a xente odia facer dano ao seu pequeno avatar! Ademais, a responsabilidade social resulta crítica para moitas persoas: se estás a loitar contra monstros coas túas amizades, saltar as túas tarefas tamén fai dano aos seus avatares.", - "pkAnswer5": "Unha das fontes de maior éxito de Habitica no uso de ludificación foi poñer un gran esforzo en pensar nos aspectos de xogo para asegurarnos de que resultan divertidos de verdade. Tamén incluímos moitas compoñentes sociais, porque pensamos que algúns dos xogos máis motivadores permítenche xogar con amizades, e porque as investigacións mostran que resulta máis doado formar hábitos cando tes que responsabilizarte ante outras persoas.", - "pkAnswer1": "Se algunha vez investiches tempo en subir de nivel unha personaxe nun xogo, é difícil non preguntarse o ben que iría a túa vida se todo ese esforzo o puxeses en mellorar a túa vida real en vez de o teu avatar. Comezamos a construír Habitica para responder esa pregunta.
Habitica comezou oficialmente cunha campaña de Kickstarter en 2013, e a idea tivo éxito. Desde entón medrou ata se converter nun proxecto enorme, apoiado polo noso alucinante voluntariado do software libre e a xenerosidade da xente que nos usa.", - "pkAnswer2": "Formar novos hábitos resulta difícil porque a xente de verdade necesita esa recompensa instantánea e obvia. Por exemplo, é difícil empezar a lavar os dentes, porque aínda que na clínica odontolóxica nos digan que é máis saudable a longo prazo, no momento non fai máis que facer que nos doan as enxivas.
A ludificación de Habitica engade un sentimento de gratificación instantánea aos obxectivos de todos os días recompensando unha tarefa difícil con experiencia, ouro… e quizais mesmo un premio aleatorio, como un ovo de dragón! Isto axuda a manter á xente motivada mesmo cando a tarefa de por si non ten unha recompensa intrínseca, e vimos xente dar a volta á súa vida como resultado. Podes consultar historias de éxito aquí: https://habitversary.tumblr.com", - "pkAnswer3": "A presión social é un factor de motivación enorme para unha morea de xente, así que sabíamos que queríamos ter unha comunidade forte que se responsabilizase mutuamente das metas e de animar ante os éxitos. Por sorte, unha das cousas que fan mellor os videoxogos para varias persoas é alimentar ese sentido de comunidade entre quen os xoga! A estrutura da comunidade de Habitica inspírase nese tipo de xogos; podes formar un pequeno grupo de amizades próximas, pero tamén podes unirte a un grupo máis grande con intereses comúns, un gremio. Aínda que algunhas persoas deciden xogar pola súa conta, a maioría decide formar unha rede de apoio que favorece a responsabilidade social mediante funcionalidades como as misións, onde a xente dos grupos xúntase e pon en común a súa produtividade para loitar contra monstros." + "pkAnswer5": "Unha das fontes de maior éxito de Habitica no uso de ludificación foi poñer un grande esforzo en pensar nos aspectos de xogo para asegurarnos de que resultan divertidos de verdade. Tamén incluímos moitas compoñentes sociais, porque pensamos que algúns dos xogos máis motivadores permítenche xogar con amizades, e porque as investigacións amosan que resulta máis doado formar hábitos cando tes que responsabilizarte ante outras persoas.", + "pkAnswer1": "Se algunha vez investiches tempo en subir de nivel unha personaxe nun xogo, é difícil non preguntarse o ben que iría a túa vida se todo ese esforzo o puxeses en mellorar a túa vida en vez de o teu avatar. Comezamos a construír Habitica para responder esa pregunta.
Habitica comezou oficialmente cunha campaña de Kickstarter en 2013, e a idea tivo éxito. Desde entón medrou ata se converter nun proxecto enorme, apoiado polo noso alucinante voluntariado do software libre e a xenerosidade da xente que nos usa.", + "pkAnswer2": "Formar novos hábitos resulta difícil porque a xente realmente necesita esa recompensa instantánea e obvia. Por exemplo, é difícil empezar a lavar os dentes, porque aínda que na clínica odontolóxica nos digan que é máis saudábel a longo prazo, no momento non fai máis que facer que nos doan as enxivas.
A ludificación de Habitica engade un sentimento de gratificación instantánea aos obxectivos de todos os días recompensando unha tarefa difícil con experiencia, ouro… e quizais mesmo un premio aleatorio, como un ovo de dragón! Isto axuda a manter á xente motivada mesmo cando a tarefa de por si non ten unha recompensa intrínseca, e vimos xente dar a volta á súa vida como resultado.", + "pkAnswer3": "A presión social é un factor de motivación enorme para unha morea de xente, así que sabíamos que queríamos ter unha comunidade forte que se responsabilizase mutuamente das metas e de animarse para gañar. Por sorte, unha das cousas que fan mellor os videoxogos para varias persoas é alimentar ese sentido de comunidade entre quen os xoga! A estrutura da comunidade de Habitica inspírase nese tipo de xogos; podes formar un pequeno grupo de amizades próximas, pero tamén podes unirte a un grupo máis grande con intereses comúns, un gremio. Aínda que algunhas persoas deciden xogar pola súa conta, a maioría decide formar unha rede de apoio que favorece a responsabilidade social mediante funcionalidades como as misións, onde a xente dos grupos xúntase e pon en común a súa produtividade para loitar contra monstros.", + "footerProduct": "Produto", + "translateHabitica": "Traducir Habitica" } diff --git a/website/common/locales/gl/gear.json b/website/common/locales/gl/gear.json index b34be10517..e162a28135 100755 --- a/website/common/locales/gl/gear.json +++ b/website/common/locales/gl/gear.json @@ -5,13 +5,13 @@ "groupBy": "Agrupar por <%= type %>", "classBonus": "", "classArmor": "Armadura de clase", - "featuredset": "Featured Set <%= name %>", + "featuredset": "", "mysterySets": "Conxuntos misteriosos", - "gearNotOwned": "You do not own this item.", - "noGearItemsOfType": "You don't own any of these.", - "noGearItemsOfClass": "You already have all your class equipment! More will be released during the Grand Galas, near the solstices and equinoxes.", + "gearNotOwned": "", + "noGearItemsOfType": "", + "noGearItemsOfClass": "", "classLockedItem": "This item is only available to a specific class. Change your class under the User icon > Settings > Character Build!", - "tierLockedItem": "This item is only available once you've purchased the previous items in sequence. Keep working your way up!", + "tierLockedItem": "", "sortByType": "Type", "sortByPrice": "Prezo", "sortByCon": "CON", @@ -27,7 +27,7 @@ "weaponWarrior1Text": "Espada", "weaponWarrior1Notes": "Espada do simple soldado. Aumenta a Forza de <%= str %>.", "weaponWarrior2Text": "Machado", - "weaponWarrior2Notes": "Double-bitted chopping weapon. Increases Strength by <%= str %>.", + "weaponWarrior2Notes": "", "weaponWarrior3Text": "Luceiro da Alba", "weaponWarrior3Notes": "Pesado garrote con espiñas brutais. Aumenta a Forza de <%= str %>.", "weaponWarrior4Text": "Espada de Zafiro", @@ -81,45 +81,45 @@ "weaponSpecial0Text": "Espada das Almas Escuras", "weaponSpecial0Notes": "Aliméntase da esencia vital dos enemigos para dar poder aos seus golpes mortais. Aumenta a Forza de <%= str %>.", "weaponSpecial1Text": "Espada de Cristal", - "weaponSpecial1Notes": "Its glittering facets tell the tale of a hero. Increases all Stats by <%= attrs %>.", + "weaponSpecial1Notes": "", "weaponSpecial2Text": "Vara do Dragón de Stephen Weber", - "weaponSpecial2Notes": "Sinte a potencia do dragón xurdir do seu interior!. Aumenta a Forza e a Percepción de <%= attrs %> cada unha.", + "weaponSpecial2Notes": "Sinte a potencia do dragón xurdir do seu interior!. Aumenta a Forza e a Percepción de <%= attrs %> cada unha.", "weaponSpecial3Text": "Luz da Alba Rompepeldaños de Mustaine", "weaponSpecial3Notes": "Mitins, monstros, malestar: conseguido! Mola! Aumenta a Forza, a Intelixencia e a Constitución de <%= attrs %> cada unha.", "weaponSpecialCriticalText": "Martelo Crítico Machaca-Erros", "weaponSpecialCriticalNotes": "", "weaponSpecialTakeThisText": "Espada Take This", - "weaponSpecialTakeThisNotes": "This sword was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all Stats by <%= attrs %>.", + "weaponSpecialTakeThisNotes": "", "weaponSpecialTridentOfCrashingTidesText": "Tridente das Ondas Chocantes", "weaponSpecialTridentOfCrashingTidesNotes": "Dáche a capacidade de mandar sobre os peixes, e tamén de darlle algunhas puñaladas críticas ás túas tarefas. Aumenta a Intelixencia de <%= int %>.", "weaponSpecialTaskwoodsLanternText": "Lanterna da tarefraga", - "weaponSpecialTaskwoodsLanternNotes": "Given at the dawn of time to the guardian ghost of the Taskwood Orchards, this lantern can illuminate the deepest darkness and weave powerful spells. Increases Perception and Intelligence by <%= attrs %> each.", + "weaponSpecialTaskwoodsLanternNotes": "", "weaponSpecialBardInstrumentText": "Laúde bárdico", - "weaponSpecialBardInstrumentNotes": "Strum a merry tune on this magical lute! Increases Intelligence and Perception by <%= attrs %> each.", + "weaponSpecialBardInstrumentNotes": "", "weaponSpecialLunarScytheText": "Gadaña lunar", - "weaponSpecialLunarScytheNotes": "Wax this scythe regularly, or its power will wane. Increases Strength and Perception by <%= attrs %> each.", - "weaponSpecialMammothRiderSpearText": "Mammoth Rider Spear", - "weaponSpecialMammothRiderSpearNotes": "This rose quartz-tipped spear will imbue you with ancient spell-casting power. Increases Intelligence by <%= int %>.", + "weaponSpecialLunarScytheNotes": "", + "weaponSpecialMammothRiderSpearText": "", + "weaponSpecialMammothRiderSpearNotes": "", "weaponSpecialPageBannerText": "Page Banner", - "weaponSpecialPageBannerNotes": "Wave your banner high to inspire confidence! Increases Strength by <%= str %>.", - "weaponSpecialRoguishRainbowMessageText": "Roguish Rainbow Message", - "weaponSpecialRoguishRainbowMessageNotes": "This sparkly envelope contains messages of encouragement from Habiticans, and a touch of magic to help speed your deliveries! Increases Perception by <%= per %>.", + "weaponSpecialPageBannerNotes": "", + "weaponSpecialRoguishRainbowMessageText": "", + "weaponSpecialRoguishRainbowMessageNotes": "", "weaponSpecialSkeletonKeyText": "Chave de esqueleto", - "weaponSpecialSkeletonKeyNotes": "All the best Sneakthieves carry a key that can open any lock! Increases Constitution by <%= con %>.", + "weaponSpecialSkeletonKeyNotes": "", "weaponSpecialNomadsScimitarText": "Cimitarra de nómada", - "weaponSpecialNomadsScimitarNotes": "The curved blade of this Scimitar is perfect for attacking Tasks from the back of a mount! Increases Intelligence by <%= int %>.", + "weaponSpecialNomadsScimitarNotes": "", "weaponSpecialFencingFoilText": "Florete", - "weaponSpecialFencingFoilNotes": "Should anyone dare to impugn your honor, you'll be ready with this fine foil! Increases Strength by <%= str %>.", + "weaponSpecialFencingFoilNotes": "", "weaponSpecialTachiText": "Tachi", - "weaponSpecialTachiNotes": "This light and curved sword will shred your tasks to ribbons! Increases Strength by <%= str %>.", + "weaponSpecialTachiNotes": "", "weaponSpecialAetherCrystalsText": "Cristais de éter", - "weaponSpecialAetherCrystalsNotes": "These bracers and crystals once belonged to the Lost Masterclasser herself. Increases all Stats by <%= attrs %>.", + "weaponSpecialAetherCrystalsNotes": "", "weaponSpecialYetiText": "Lanza Amansa-Yetis", "weaponSpecialYetiNotes": "Esta lanza permite o seu usuario mandar sobre os yetis. Aumenta a Forza de <%= str %>. Equipamento da Edición Limitada de Inverno de 2013-2014.", "weaponSpecialSkiText": "Pau Esquí-sasino", "weaponSpecialSkiNotes": "Unha arma capable de destruír hordas de inimigos! Tamén axuda o usuario a dar voltas paralelas moi chulas. Aumenta a Forza de <%= str %>. Equipamento de Inverno da Edición Limitada de 2013-2014.", "weaponSpecialCandycaneText": "Vara bastón de Caramelo", - "weaponSpecialCandycaneNotes": "A powerful mage's staff. Powerfully DELICIOUS, we mean! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2013-2014 Winter Gear.", + "weaponSpecialCandycaneNotes": "", "weaponSpecialSnowflakeText": "Variña de Folerpa", "weaponSpecialSnowflakeNotes": "Esta variña brila con poder de curación ilimitado. Aumenta a Intelixencia de <%= int %>. Equipamento de Inverno da Edición Limitada de 2013-2014.", "weaponSpecialSpringRogueText": "Garras Ganchudas", @@ -149,11 +149,11 @@ "weaponSpecialWinter2015RogueText": "Punta de Xeo", "weaponSpecialWinter2015RogueNotes": "Seguro, de verdade que si, que acabas de collelas do chan. Aumenta a Forza de <%= str %>. Edición Limitada de Inverno de 2014-2015.", "weaponSpecialWinter2015WarriorText": "Espada de Gominola", - "weaponSpecialWinter2015WarriorNotes": "Esta deliciosa espada atrae probablemente os monstros... pero estás list@ para o desafío! Aumenta a Forza de <%= str %>. Edición Limitada de Inverno de 2014-2015.", + "weaponSpecialWinter2015WarriorNotes": "Esta deliciosa espada atrae probablemente os monstros... pero estás list@ para o desafío! Aumenta a Forza de <%= str %>. Edición Limitada de Inverno de 2014-2015.", "weaponSpecialWinter2015MageText": "Bastón Iluminado de Inverno", - "weaponSpecialWinter2015MageNotes": "A luz desta vara de cristal está repleta de alegría. Aumenta a Intelixencia de <%= int %> e a Percepción de <%= per %>. Edición Limitada de Inverno de 2014-2015.", + "weaponSpecialWinter2015MageNotes": "A luz desta vara de cristal está repleta de alegría. Aumenta a Intelixencia de <%= int %> e a Percepción de <%= per %>. Edición Limitada de Inverno de 2014-2015.", "weaponSpecialWinter2015HealerText": "Esceptro Calmante", - "weaponSpecialWinter2015HealerNotes": "Este esceptro quece os músculos con maniotas e calma o estrés. Aumenta a Intelixencia de <%= int %>. Edición Limitada de Inverno de 2014-2015.", + "weaponSpecialWinter2015HealerNotes": "Este cetro quece os músculos con maniotas e calma o estrés. Aumenta a Intelixencia de <%= int %>. Edición Limitada de Inverno de 2014-2015.", "weaponSpecialSpring2015RogueText": "Chío Explosivo", "weaponSpecialSpring2015RogueNotes": "Non te deixes engañar polo son; estes explosivos son poderosos. Aumenta a Forza de <%= str %>. Edición Limitada de Primavera de 2015.", "weaponSpecialSpring2015WarriorText": "Maza de Óso", @@ -161,7 +161,7 @@ "weaponSpecialSpring2015MageText": "Variña de Mago", "weaponSpecialSpring2015MageNotes": "Fai aparecer unha cenoria para ti con esta sofisticada variña. Aumenta a Intelixencia <%= int %> e a Percepción de <%= per %>. Edición Limitada de Primavera de 2015.", "weaponSpecialSpring2015HealerText": "Axóuxere de Gato", - "weaponSpecialSpring2015HealerNotes": "Cando o axitas, fai un ruído cliqueteante fascinante que mantería a CALQUERA ocupado durante horas. Aumenta a Intelixencia de <%= int %>. Edición Limitada de Primavera de 2015.", + "weaponSpecialSpring2015HealerNotes": "Cando o axitas, fai un ruído cliqueteante fascinante que mantería a CALQUERA ocupado durante horas. Aumenta a Intelixencia de <%= int %>. Edición Limitada de Primavera de 2015.", "weaponSpecialSummer2015RogueText": "Coral Disparador", "weaponSpecialSummer2015RogueNotes": "Este pariente do coral de lume ten a capacidade de propulsar o seu veleno pola auga. Aumenta a Forza de <%= str %>. Edición Limitada de Verán de 2015.", "weaponSpecialSummer2015WarriorText": "Peixe Espada Sol", @@ -211,77 +211,77 @@ "weaponSpecialFall2016HealerText": "Serpe Velenosa", "weaponSpecialFall2016HealerNotes": "Unha mordedura dana, e outra mordedura cura. Aumenta a Intelixencia de <%= int %>. Edición Limitada de Outono de 2016.", "weaponSpecialWinter2017RogueText": "Machado de xeo", - "weaponSpecialWinter2017RogueNotes": "This axe is great for attack, defense, and ice-climbing! Increases Strength by <%= str %>. Limited Edition 2016-2017 Winter Gear.", - "weaponSpecialWinter2017WarriorText": "Stick of Might", - "weaponSpecialWinter2017WarriorNotes": "Conquer your goals by whacking them with this mighty stick! Increases Strength by <%= str %>. Limited Edition 2016-2017 Winter Gear.", - "weaponSpecialWinter2017MageText": "Winter Wolf Crystal Staff", - "weaponSpecialWinter2017MageNotes": "The glowing blue crystal set in the end of this staff is called the Winter Wolf's Eye! It channels magic from snow and ice. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2016-2017 Winter Gear.", + "weaponSpecialWinter2017RogueNotes": "", + "weaponSpecialWinter2017WarriorText": "", + "weaponSpecialWinter2017WarriorNotes": "", + "weaponSpecialWinter2017MageText": "", + "weaponSpecialWinter2017MageNotes": "", "weaponSpecialWinter2017HealerText": "Variña azucrada", - "weaponSpecialWinter2017HealerNotes": "This wand can reach into your dreams and bring you visions of dancing sugarplums. Increases Intelligence by <%= int %>. Limited Edition 2016-2017 Winter Gear.", + "weaponSpecialWinter2017HealerNotes": "", "weaponSpecialSpring2017RogueText": "Katanoria", - "weaponSpecialSpring2017RogueNotes": "These blades will make quick work of tasks, but also are handy for slicing vegetables! Yum! Increases Strength by <%= str %>. Limited Edition 2017 Spring Gear.", + "weaponSpecialSpring2017RogueNotes": "", "weaponSpecialSpring2017WarriorText": "Látego de plumas", - "weaponSpecialSpring2017WarriorNotes": "This mighty whip will tame the unruliest task. But.. It's also… So FUN AND DISTRACTING!! Increases Strength by <%= str %>. Limited Edition 2017 Spring Gear.", - "weaponSpecialSpring2017MageText": "Magic Fetching Stick", - "weaponSpecialSpring2017MageNotes": "When you're not crafting spells with it, you can throw it and then bring it back! What fun!! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017 Spring Gear.", + "weaponSpecialSpring2017WarriorNotes": "", + "weaponSpecialSpring2017MageText": "", + "weaponSpecialSpring2017MageNotes": "", "weaponSpecialSpring2017HealerText": "Variña de ovo", - "weaponSpecialSpring2017HealerNotes": "The true magic of this wand is the secret of new life inside the colorful shell. Increases Intelligence by <%= int %>. Limited Edition 2017 Spring Gear.", - "weaponSpecialSummer2017RogueText": "Sea Dragon Fins", - "weaponSpecialSummer2017RogueNotes": "The edges of these fins are razor-sharp. Increases Strength by <%= str %>. Limited Edition 2017 Summer Gear.", - "weaponSpecialSummer2017WarriorText": "Mightiest Beach Umbrella", - "weaponSpecialSummer2017WarriorNotes": "All fear it. Increases Strength by <%= str %>. Limited Edition 2017 Summer Gear.", + "weaponSpecialSpring2017HealerNotes": "", + "weaponSpecialSummer2017RogueText": "", + "weaponSpecialSummer2017RogueNotes": "", + "weaponSpecialSummer2017WarriorText": "", + "weaponSpecialSummer2017WarriorNotes": "", "weaponSpecialSummer2017MageText": "Látegos de remuíño", - "weaponSpecialSummer2017MageNotes": "Summon up magical whips of boiling water to smite your tasks! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017 Summer Gear.", + "weaponSpecialSummer2017MageNotes": "", "weaponSpecialSummer2017HealerText": "Variña de perla", - "weaponSpecialSummer2017HealerNotes": "A single touch from this pearl-tipped wand soothes away all wounds. Increases Intelligence by <%= int %>. Limited Edition 2017 Summer Gear.", - "weaponSpecialFall2017RogueText": "Candied Apple Mace", - "weaponSpecialFall2017RogueNotes": "Defeat your foes with sweetness! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.", - "weaponSpecialFall2017WarriorText": "Candy Corn Lance", - "weaponSpecialFall2017WarriorNotes": "All your foes will cower before this tasty-looking lance, regardless of whether they're ghosts, monsters, or red To Do's. Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.", + "weaponSpecialSummer2017HealerNotes": "", + "weaponSpecialFall2017RogueText": "", + "weaponSpecialFall2017RogueNotes": "", + "weaponSpecialFall2017WarriorText": "", + "weaponSpecialFall2017WarriorNotes": "", "weaponSpecialFall2017MageText": "Bastón arrepiante", - "weaponSpecialFall2017MageNotes": "The eyes of the glowing skull on this staff radiate magic and mystery. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017 Autumn Gear.", + "weaponSpecialFall2017MageNotes": "", "weaponSpecialFall2017HealerText": "Candelabro arrepiante", - "weaponSpecialFall2017HealerNotes": "This light dispels fear and lets others know you're here to help. Increases Intelligence by <%= int %>. Limited Edition 2017 Autumn Gear.", + "weaponSpecialFall2017HealerNotes": "", "weaponSpecialWinter2018RogueText": "Garfo de menta", - "weaponSpecialWinter2018RogueNotes": "Perfect for climbing walls or distracting your foes with sweet, sweet candy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.", - "weaponSpecialWinter2018WarriorText": "Holiday Bow Hammer", - "weaponSpecialWinter2018WarriorNotes": "The sparkly appearance of this bright weapon will dazzle your enemies as you swing it! Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.", + "weaponSpecialWinter2018RogueNotes": "", + "weaponSpecialWinter2018WarriorText": "", + "weaponSpecialWinter2018WarriorNotes": "", "weaponSpecialWinter2018MageText": "Confeti festivo", - "weaponSpecialWinter2018MageNotes": "Magic--and glitter--is in the air! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.", + "weaponSpecialWinter2018MageNotes": "", "weaponSpecialWinter2018HealerText": "Variña de visgo", - "weaponSpecialWinter2018HealerNotes": "This mistletoe ball is sure to enchant and delight passersby! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.", + "weaponSpecialWinter2018HealerNotes": "", "weaponSpecialSpring2018RogueText": "Espadana espigada", - "weaponSpecialSpring2018RogueNotes": "What might appear to be cute cattails are actually quite effective weapons in the right wings. Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.", - "weaponSpecialSpring2018WarriorText": "Axe of Daybreak", - "weaponSpecialSpring2018WarriorNotes": "Made of bright gold, this axe is mighty enough to attack the reddest task! Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.", + "weaponSpecialSpring2018RogueNotes": "", + "weaponSpecialSpring2018WarriorText": "", + "weaponSpecialSpring2018WarriorNotes": "", "weaponSpecialSpring2018MageText": "Doela de tulipán", - "weaponSpecialSpring2018MageNotes": "This magic flower never wilts! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Spring Gear.", + "weaponSpecialSpring2018MageNotes": "", "weaponSpecialSpring2018HealerText": "Cana granate", - "weaponSpecialSpring2018HealerNotes": "The stones in this staff will focus your power when you cast healing spells! Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.", + "weaponSpecialSpring2018HealerNotes": "", "weaponSpecialSummer2018RogueText": "Cana de pescar", - "weaponSpecialSummer2018RogueNotes": "This lightweight, practically unbreakable rod and reel can be dual-wielded to maximize your DPS (Dragonfish Per Summer). Increases Strength by <%= str %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialSummer2018WarriorText": "Betta Fish Spear", - "weaponSpecialSummer2018WarriorNotes": "Mighty enough for battle, elegant enough for ceremony, this exquisitely crafted spear shows you will protect your home surf no matter what! Increases Strength by <%= str %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialSummer2018MageText": "Lionfish Fin Rays", - "weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident", - "weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialFall2018RogueText": "Vial of Clarity", - "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.", - "weaponSpecialFall2018WarriorText": "Whip of Minos", - "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.", - "weaponSpecialFall2018MageText": "Staff of Sweetness", + "weaponSpecialSummer2018RogueNotes": "", + "weaponSpecialSummer2018WarriorText": "", + "weaponSpecialSummer2018WarriorNotes": "", + "weaponSpecialSummer2018MageText": "", + "weaponSpecialSummer2018MageNotes": "", + "weaponSpecialSummer2018HealerText": "", + "weaponSpecialSummer2018HealerNotes": "", + "weaponSpecialFall2018RogueText": "", + "weaponSpecialFall2018RogueNotes": "", + "weaponSpecialFall2018WarriorText": "", + "weaponSpecialFall2018WarriorNotes": "", + "weaponSpecialFall2018MageText": "", "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear. Two-handed item.", "weaponSpecialFall2018HealerText": "Bastón basto", - "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.", + "weaponSpecialFall2018HealerNotes": "", "weaponSpecialWinter2019RogueText": "Ramo de flor do Nadal", - "weaponSpecialWinter2019RogueNotes": "Use this festive bouquet to further camouflage yourself, or generously gift it to brighten a friend's day! Increases Strength by <%= str %>. Limited Edition 2018-2019 Winter Gear.", + "weaponSpecialWinter2019RogueNotes": "", "weaponSpecialWinter2019WarriorText": "Alabarda de folerpa", - "weaponSpecialWinter2019WarriorNotes": "This snowflake was grown, ice crystal by ice crystal, into a diamond-hard blade! Increases Strength by <%= str %>. Limited Edition 2018-2019 Winter Gear.", - "weaponSpecialWinter2019MageText": "Fiery Dragon Staff", - "weaponSpecialWinter2019MageNotes": "Watch out! This explosive staff is ready to help you take on all comers. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018-2019 Winter Gear.", - "weaponSpecialWinter2019HealerText": "Wand of Winter", - "weaponSpecialWinter2019HealerNotes": "Winter can be a time of rest and healing, and so this wand of winter magic can help to soothe the most grievous hurts. Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.", + "weaponSpecialWinter2019WarriorNotes": "", + "weaponSpecialWinter2019MageText": "", + "weaponSpecialWinter2019MageNotes": "", + "weaponSpecialWinter2019HealerText": "", + "weaponSpecialWinter2019HealerNotes": "", "weaponMystery201411Text": "Forca do Festexeo", "weaponMystery201411Notes": "Apuñala os teus enemigos ou ataca os teus pratos favoritos; esta forca versátil faino todo! Non confire beneficio. Obxecto de Subscritor de novembro de 2014.", "weaponMystery201502Text": "Bastón Centelleante Alado do Amor e tamén da Verdade", @@ -289,10 +289,10 @@ "weaponMystery201505Text": "Lanza Verde de Cabaleiro", "weaponMystery201505Notes": "Esta lanza verde e prateada fixo caer moitos opoñentes das súas monturas. Non confire beneficio. Obxecto de Subscritor de maio de 2015ª.", "weaponMystery201611Text": "Cornucopia copiosa", - "weaponMystery201611Notes": "All manner of delicious and wholesome foods spill forth from this horn. Enjoy the feast! Confers no benefit. November 2016 Subscriber Item.", + "weaponMystery201611Notes": "", "weaponMystery201708Text": "Espada de lava", - "weaponMystery201708Notes": "The fiery glow of this sword will make quick work of even dark red Tasks! Confers no benefit. August 2017 Subscriber Item.", - "weaponMystery201811Text": "Splendid Sorcerer's Staff", + "weaponMystery201708Notes": "", + "weaponMystery201811Text": "", "weaponMystery201811Notes": "This magical stave is as powerful as it is elegant. Confers no benefit. November 2018 Subscriber Item.", "weaponMystery301404Text": "Cana Steampunk", "weaponMystery301404Notes": "Excelente para dar unha volta pola cidade. Non confire beneficio. Obxecto de Subscritor de marzo de 3015.", @@ -560,7 +560,7 @@ "armorSpecialFall2016WarriorNotes": "Mysteriously moist and mossy! Increases Constitution by <%= con %>. Limited Edition 2016 Autumn Gear.", "armorSpecialFall2016MageText": "Manto da Crueldade", "armorSpecialFall2016MageNotes": "When your cloak flaps, you hear the sound of cackling laughter. Increases Intelligence by <%= int %>. Limited Edition 2016 Autumn Gear.", - "armorSpecialFall2016HealerText": "Túnica de gorgona", + "armorSpecialFall2016HealerText": "Túnica de górgona", "armorSpecialFall2016HealerNotes": "These robes are actually made of stone. How are they so comfortable? Increases Constitution by <%= con %>. Limited Edition 2016 Autumn Gear.", "armorSpecialWinter2017RogueText": "Armadura xeada", "armorSpecialWinter2017RogueNotes": "This stealthy suit reflects light to dazzle unsuspecting tasks as you take your rewards from them! Increases Perception by <%= per %>. Limited Edition 2016-2017 Winter Gear.", @@ -1378,7 +1378,7 @@ "shieldSpecialFall2016RogueNotes": "Feel the sting of the spider's bite! Increases Strength by <%= str %>. Limited Edition 2016 Autumn Gear.", "shieldSpecialFall2016WarriorText": "Raíces Defensivas", "shieldSpecialFall2016WarriorNotes": "Deféndete das Tarefas Diarias con estas raíces retorcidas! Aumenta a Constitución de <%= con %>. Edición Limitada de Outono de 2016.", - "shieldSpecialFall2016HealerText": "Escudo de Gorgona", + "shieldSpecialFall2016HealerText": "Escudo de górgona", "shieldSpecialFall2016HealerNotes": "Non admires o teu propio reflexo neste escudo. Aumenta a Constitución de <%= con %>. Edición Limitada de Outono de 2016.", "shieldSpecialWinter2017RogueText": "Ice Axe", "shieldSpecialWinter2017RogueNotes": "This axe is great for attack, defense, and ice-climbing! Increases Strength by <%= str %>. Limited Edition 2016-2017 Winter Gear.", diff --git a/website/common/locales/gl/generic.json b/website/common/locales/gl/generic.json index 7a68e7ddfb..70578d9210 100755 --- a/website/common/locales/gl/generic.json +++ b/website/common/locales/gl/generic.json @@ -1,19 +1,19 @@ { "languageName": "Inglés", - "stringNotFound": "Cadea de carácteres \"<%= string %>\" non atopada.", + "stringNotFound": "Non se atopou a cadea «<%= string %>».", "habitica": "Habitica", "onward": "Adiante!", "done": "Feito", "gotIt": "Entendido!", - "titleTimeTravelers": "Viaxantes no Tempo", - "titleSeasonalShop": "Tenda de Tempada", - "saveEdits": "Gardar os cambios", - "showMore": "Mostrar máis", - "showLess": "Mostrar menos", + "titleTimeTravelers": "Viaxantes do tempo", + "titleSeasonalShop": "Tenda de tempada", + "saveEdits": "Gardar as edicións", + "showMore": "Amosar máis", + "showLess": "Amosar menos", "markdownHelpLink": "Axuda do formato Markdown", - "bold": "**Negriña**", - "markdownImageEx": "![texto obligatoriamente alt](https://habitica.com/cake.png \"título opcional cando o rato estea enriba\")", - "code": "'código'", + "bold": "**Grosa**", + "markdownImageEx": "![texto alternativo obrigatorio](https://habitica.com/torta.png \"título opcional cando o rato estea enriba\")", + "code": "`código`", "achievements": "Logros", "basicAchievs": "Logros básicos", "seasonalAchievs": "Logros de tempada", @@ -22,60 +22,60 @@ "special": "Especial", "site": "Sitio", "help": "Axuda", - "user": "Usuario", + "user": "Usuaria", "market": "Mercado", "newSubscriberItem": "Tes novos obxectos misteriosos", - "subscriberItemText": "Cada mes, os subscritores recibirán un obxecto misterioso. Normalmente, sae arredor dunha semana antes do final do mes. Mira a páxina \"Obxecto Misterioso\" da wiki para máis información.", + "subscriberItemText": "Cada mes, as persoas subscritas recibirán un obxecto misterioso. Pasa a estar dispoñíbel a principios de mes. Consulta a páxina «Mystery Item» do wiki para máis información.", "all": "Todo", "none": "Nada", "more": "<%= count %> máis", "and": "e", "submit": "Enviar", "close": "Pechar", - "saveAndClose": "Gardar e Pechar", + "saveAndClose": "Gardar e pechar", "saveAndConfirm": "Gardar e confirmar", "cancel": "Cancelar", - "ok": "OK", + "ok": "Vale", "add": "Engadir", "undo": "Desfacer", "continue": "Continuar", "accept": "Aceptar", "reject": "Rexeitar", "neverMind": "Non importa", - "notEnoughGems": "Non tes suficientes Xemas", + "notEnoughGems": "Non tes suficientes xemas", "alreadyHave": "Ui! Xa tes este obxecto. Non fai falta volver a mercalo!", "delete": "Eliminar", "gemsPopoverTitle": "Xemas", "gems": "Xemas", "needMoreGems": "Necesitas máis xemas?", - "needMoreGemsInfo": "Purchase Gems now, or become a subscriber to buy Gems with Gold, get monthly mystery items, enjoy increased drop caps and more!", - "veteran": "Veterano", - "veteranText": "Has weathered Habit The Grey (our pre Angular website), and has gained many battle-scars from its bugs.", - "originalUser": "Usuario Orixinal!", - "originalUserText": "Un dos moi primeiros adoptadores orixinais. Falando de testador alpha!", - "habitBirthday": "Festexo de Aniversario de Habitica", - "habitBirthdayText": "Celebrou o Festexo de Aniversario de Habitica!", - "habitBirthdayPluralText": "Festexaches <%= count %> aniversarios de Habitica!", - "habiticaDay": "Día do Nome de Habitica", - "habiticaDaySingularText": "Celebrou o Día do Nome de Habitica! Grazas por ser un usuari@ fantástic@.", - "habiticaDayPluralText": "Celebrated <%= count %> Naming Days! Thanks for being a fantastic user.", - "achievementDilatory": "Salvador da Dilación", - "achievementDilatoryText": "Axudou a derrotar o Eterno Dragón da Dilación durante o Evento Salpicadura de Verán 2014!", - "costumeContest": "Concursante Disfrazado", - "costumeContestText": "Participated in the Habitoween Costume Contest. See some of the awesome entries at blog.habitrpg.com!", - "costumeContestTextPlural": "Participated in <%= count %> Habitoween Costume Contests. See some of the awesome entries at blog.habitrpg.com!", - "newPassSent": "If we have your email on file, instructions for setting a new password have been sent to your email.", + "needMoreGemsInfo": "Compra xemas agora, ou subscríbete para mercar xemas con ouro, conseguir obxectos misteriosos cada mes, gozar de maiores límites para sorpresas e máis!", + "veteran": "Antigüidade", + "veteranText": "Sufriu a Habit o Gris (o noso sitio web antes de usar Angular), e os seus fallos deixáronlle cicatrices.", + "originalUser": "Orixinal!", + "originalUserText": "Unha das primeiras persoas usuarias. Iso si que era probar unha versión alfa!", + "habitBirthday": "Aniversario de Habitica", + "habitBirthdayText": "Celebrou o aniversario de Habitica!", + "habitBirthdayPluralText": "Celebrou <%= count %> aniversarios de Habitica!", + "habiticaDay": "Día do nomeamento de Habitica", + "habiticaDaySingularText": "Celebrou o día do nomeamento de Habitica! Grazas.", + "habiticaDayPluralText": "Celebrou <%= count %> días do nomeamento! Grazas.", + "achievementDilatory": "Rival da dilación", + "achievementDilatoryText": "Axudou a derrotar o eterno dragón da dilación durante a festa da auga de 2014!", + "costumeContest": "Concursante de disfrace", + "costumeContestText": "Participou no concurso de disfraces de Samaín de Habitica. Podes ver algunhas das extraordinarias propostas en blog.habitrpg.com!", + "costumeContestTextPlural": "Participou en <%= count %> concursos de disfraces de Samaín de Habitica. Podes ver algunhas das extraordinarias propostas en blog.habitrpg.com!", + "newPassSent": "Se temos o teu enderezo de correo electrónico na nosa base de datos, acaban de enviarse a el instrución para estabelecer un novo contrasinal.", "error": "Erro", "menu": "Menú", "notifications": "Notificacións", "noNotifications": "Estás ao día!", - "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!", - "clear": "Quitar", - "audioTheme": "Tema Audio", - "audioTheme_off": "Apagado", - "audioTheme_danielTheBard": "Daniel O Bardo", + "noNotificationsText": "Recibes unha tumultuosa ovación das fadas das notificacións! Ben feito!", + "clear": "Borrar", + "audioTheme": "Tema sonoro", + "audioTheme_off": "Desactivado", + "audioTheme_danielTheBard": "Daniel “O bardo”", "audioTheme_wattsTheme": "Tema de Watt", - "audioTheme_gokulTheme": "Tema Gokul", + "audioTheme_gokulTheme": "Tema de Gokul", "audioTheme_luneFoxTheme": "Tema de LuneFox", "audioTheme_rosstavoTheme": "Tema de Rosstavo", "audioTheme_dewinTheme": "Tema de Dewin", @@ -88,83 +88,83 @@ "audioTheme_maflTheme": "Tema de MAFL", "audioTheme_pizildenTheme": "Tema de Pizilden", "audioTheme_farvoidTheme": "Tema de Farvoid", - "reportBug": "Avisar dun Erro", - "overview": "Resumo para Novos Usuarios", - "dateFormat": "Formato da Data", - "achievementStressbeast": "Salvador de Estoïkalmo", - "achievementStressbeastText": "Axudaches a vencer á abominábel besta da agonía durante o inverno das marabillas de 2014!", - "achievementBurnout": "Salvador dos Campos Florecentes", - "achievementBurnoutText": "Axudou a vencer a Fatiga e restablecer os Espíritos do Agotamento durante o Evento do Festival de Outono de 2015!", - "achievementBewilder": "Salvar ao Neboador", - "achievementBewilderText": "Axudaches a derrotar ao Asilvestrador durante a aventura de primavera de 2016!", - "achievementDysheartener": "Salvar o esnaquizado", - "achievementDysheartenerText": "Axudaches a derrotar ao Descorazonador durante a celebración de San Valentín de 2018!", - "cards": "Cartóns", - "sentCardToUser": "Enviaches unha tarxeta a <%= profileName %>", + "reportBug": "Informar dun fallo", + "overview": "Resumo para principiantes", + "dateFormat": "Formato de data", + "achievementStressbeast": "Garante de Estoïkalmo", + "achievementStressbeastText": "Axudou a vencer á abominábel besta da agonía durante o inverno das marabillas de 2014!", + "achievementBurnout": "Garante dos campos florecentes", + "achievementBurnoutText": "Axudou a vencer a fatiga e restablecer os espíritos do esgotamento durante o magosto de 2015!", + "achievementBewilder": "Garante do neboador", + "achievementBewilderText": "Axudou a derrotar o desconcerto durante a aventura de primavera de 2016!", + "achievementDysheartener": "Garante do esnaquizado", + "achievementDysheartenerText": "Axudaches a derrotar ao desanimador durante a celebración de San Valentín de 2018!", + "cards": "Postais", + "sentCardToUser": "Enviaches unha postal a <%= profileName %>", "cardReceived": "Recibiches unha <%= card %>", - "greetingCard": "Carta de Saúdo", - "greetingCardExplanation": "Os dous recibides o logro Alegre Compinche!", - "greetingCardNotes": "Enviar unha Carta de Saúdo a un membro do equipo.", + "greetingCard": "Postal de benvida", + "greetingCardExplanation": "Recibides o logro «Camarada alegre»!", + "greetingCardNotes": "Enviar unha postal de benvida a unha persoa do equipo.", "greeting0": "Ola!", "greeting1": "Só era para dicir ola :)", - "greeting2": "'saúda coa man freneticamente'", + "greeting2": "`saúda freneticamente`", "greeting3": "Boas!", - "greetingCardAchievementTitle": "Alegre Compinche", - "greetingCardAchievementText": "Ei! Ola! Enviaches ou recibiches <%= count %> cartas de saúdo.", - "thankyouCard": "Carta de Agradecemento", - "thankyouCardExplanation": "Recibistes o logro «Gran agradecemento»!", - "thankyouCardNotes": "Enviar unha Carta de Agradecemento a un membro do equipo.", + "greetingCardAchievementTitle": "Camarada alegre", + "greetingCardAchievementText": "Ei! Ola! Enviou ou recibiu <%= count %> postais de benvida.", + "thankyouCard": "Postal de agradecemento", + "thankyouCardExplanation": "Recibides o logro «Grande agradecemento»!", + "thankyouCardNotes": "Enviar unha postal de agradecemento a unha persoa do equipo.", "thankyou0": "Moitas grazas!", "thankyou1": "Mil grazas!", - "thankyou2": "Envíoche un millón de grazas.", - "thankyou3": "Estou moi agradecid@, grazas!", - "thankyouCardAchievementTitle": "Gran agradecemento", - "thankyouCardAchievementText": "Thanks for being thankful! Sent or received <%= count %> Thank-You cards.", - "birthdayCard": "Tarxeta de aniversario", - "birthdayCardExplanation": "Os dous recibides o logro Próspero Cumpreanos!", - "birthdayCardNotes": "Enviar unha Tarxeta de Cumpreanos a un membro do equipo.", - "birthday0": "Feliz cumpreanos!", - "birthdayCardAchievementTitle": "Próspero aniversario", - "birthdayCardAchievementText": "Many happy returns! Sent or received <%= count %> birthday cards.", - "congratsCard": "Carta de parabéns", - "congratsCardExplanation": "Recibistes o logro «Parabéns compartidos»!", - "congratsCardNotes": "Envía unha tarxeta de parabéns a unha persoa do grupo.", + "thankyou2": "Un millón de grazas.", + "thankyou3": "Grazas de corazón!", + "thankyouCardAchievementTitle": "Grande agradecemento", + "thankyouCardAchievementText": "Grazas polas grazas! Enviou ou recibiu <%= count %> portais de agradecemento.", + "birthdayCard": "Postal de aniversario", + "birthdayCardExplanation": "Recibides o logro «Aniversario animado»!", + "birthdayCardNotes": "Enviar unha postal de aniversario a unha persoa do equipo.", + "birthday0": "Feliz aniversario!", + "birthdayCardAchievementTitle": "Aniversario animado", + "birthdayCardAchievementText": "Moitos parabéns! Enviou ou recibiu <%= count %> postais de aniversario.", + "congratsCard": "Postal de felicitación", + "congratsCardExplanation": "Recibides o logro «Feliz felicitación»!", + "congratsCardNotes": "Envía unha postal de felicitación a unha persoa do equipo.", "congrats0": "Parabéns polo éxito!", "congrats1": "Sinto moito orgullo de ti!", "congrats2": "Ben feito!", - "congrats3": "Un gran aplauso para ti!", + "congrats3": "Un grande aplauso para ti!", "congrats4": "Goza do teu ben merecido éxito!", - "congratsCardAchievementTitle": "Parabéns compartidos", - "congratsCardAchievementText": "It's great to celebrate your friends' achievements! Sent or received <%= count %> congratulations cards.", - "getwellCard": "Tarxeta de bos desexos", - "getwellCardExplanation": "Recibistes o logro «Compañeiriña leal»!", - "getwellCardNotes": "Envía unha tarxeta de bos desexos a unha persoa do grupo.", - "getwell0": "Espero que mellores!", + "congratsCardAchievementTitle": "Feliz felicitación", + "congratsCardAchievementText": "Nada como celebrar os logros das amizades! Enviou ou recibiu <%= count %> postais de felicitación.", + "getwellCard": "Tarxeta de recuperación", + "getwellCardExplanation": "Recibides o logro «Amizade reparadora»!", + "getwellCardNotes": "Envía unha postal de recuperación a unha persoa do equipo.", + "getwell0": "Que te mellores!", "getwell1": "Cóidate! <3", - "getwell2": "Estás nos meus pensamentos!", - "getwell3": "Lamento que non esteas no teu mellor momento!", - "getwellCardAchievementTitle": "Compañeiriña leal", - "getwellCardAchievementText": "Well-wishes are always appreciated. Sent or received <%= count %> get well cards.", - "goodluckCard": "Tarxeta de boa sorte", - "goodluckCardExplanation": "Recibistes o logro «Carta afortunada»!", - "goodluckCardNotes": "Envía unha tarxeta para desexar boa sorte a unha persoa do grupo.", + "getwell2": "Ánimo!", + "getwell3": "Todo pasa!", + "getwellCardAchievementTitle": "Amizade reparadora", + "getwellCardAchievementText": "Os bos desexos son sempre benvidos. Enviou ou recibiu <%= count %> postais de recuperación.", + "goodluckCard": "Postal de boa sorte", + "goodluckCardExplanation": "Recibides o logro «Carta afortunada»!", + "goodluckCardNotes": "Envía unha postal para desexar boa sorte a unha persoa do equipo.", "goodluck0": "Que a sorte te acompañe!", "goodluck1": "Moita sorte!", "goodluck2": "Espero que a sorte estea da túa banda sempre!", "goodluckCardAchievementTitle": "Carta afortunada", - "goodluckCardAchievementText": "Wishes for good luck are great encouragement! Sent or received <%= count %> good luck cards.", - "streakAchievement": "Gañaches un logro de racha!", - "firstStreakAchievement": "Racha de 21 Días", - "streakAchievementCount": "<%= streaks %> Rachas de 21 Días", - "twentyOneDays": "Completaches unha tarefa Diaria durante 21 días seguidos!", - "dontBreakStreak": "Moi bo traballo. Non rompas a racha!", - "dontStop": "Non Pares Agora!", + "goodluckCardAchievementText": "Os desexos de boa sorte son un grande incentivo! Enviou ou recibiu <%= count %> postais de boa sorte.", + "streakAchievement": "Gañaches un logro de serie!", + "firstStreakAchievement": "Serie de 21 días", + "streakAchievementCount": "<%= streaks %> series de 21 días", + "twentyOneDays": "Completaches unha tarefa diaria 21 días seguidos!", + "dontBreakStreak": "Moi bo traballo. Non rompas a serie!", + "dontStop": "Agora non pares!", "wonChallengeShare": "Gañei un desafío en Habitica!", - "orderBy": "Ordear Por <%= item %>", + "orderBy": "Ordenar por <%= item %>", "you": "(ti)", "loading": "Cargando…", - "userIdRequired": "O identificador de usuario é necesario", - "resetFilters": "Retirar todos os filtros", + "userIdRequired": "O identificador de persoa usuaria é necesario", + "resetFilters": "Borrar todos os filtros", "applyFilters": "Aplicar os filtros", "wantToWorkOn": "Quero traballar en:", "categories": "Categorías", @@ -173,13 +173,13 @@ "creativity": "Creatividade", "health_wellness": "Saúde e benestar", "self_care": "Coidado persoal", - "habitica_official": "Habitica Official", - "academics": "Aprendizaxe", + "habitica_official": "Oficial de Habitica", + "academics": "Académico", "advocacy_causes": "Defensa de causas", "entertainment": "Entretemento", - "finance": "Finance", + "finance": "Finanzas", "health_fitness": "Saúde e exercicio", - "hobbies_occupations": "Lecer e aficións", + "hobbies_occupations": "Pasatempos e actividades", "location_based": "Con localización", "mental_health": "Saúde mental e coidado persoal", "getting_organized": "Organizarse", @@ -188,9 +188,9 @@ "time_management": "Xestión do tempo e responsabilidade", "recovery_support_groups": "Recuperación e grupos de axuda", "dismissAll": "Ignoralo todo", - "messages": "Messages", + "messages": "Mensaxes", "emptyMessagesLine1": "Non tes ningunha mensaxe", - "emptyMessagesLine2": "Send a message to start a conversation!", + "emptyMessagesLine2": "Podes enviar unha nova mensaxe a unha persoa usuaria visitando o seu perfil e premendo o botón de «Mensaxe».", "userSentMessage": "<%- user %> enviouche unha mensaxe", "letsgo": "Vamos!", "selected": "Seleccionado", @@ -203,12 +203,19 @@ "demo": "Demostración", "onboardingAchievs": "Logros de incorporación", "reportEmailPlaceholder": "O teu enderezo de correo electrónico", - "submitBugReport": "Enviar un informe de erro", - "reportSent": "Enviouse o informe de erro!", + "submitBugReport": "Enviar o informe de fallo", + "reportSent": "Enviouse o informe de fallo!", "loadEarlierMessages": "Cargar as mensaxes anteriores", "askQuestion": "Facer unha pregunta", - "emptyReportBugMessage": "Falta a mensaxe do informe de erro", + "emptyReportBugMessage": "Falta a mensaxe do informe de fallo", "reportDescriptionText": "Inclúe capturas de pantalla ou erros da consola de JavaScript se puidese resultar útil.", - "reportDescriptionPlaceholder": "Describe aquí o erro en detalle", - "reportEmailError": "Forneza un enderezo de correo electrónico válido" + "reportDescriptionPlaceholder": "Describe aquí o fallo en detalle", + "reportEmailError": "Fornece un enderezo de correo electrónico válido", + "reportBugHeaderDescribe": "Describe o fallo que experimentaches e o noso equipo te contestará.", + "reportEmailText": "Isto só se usará para contactar contigo sobre o informe de fallo.", + "reportSentDescription": "Contestarémoste cando o noso equipo teña oportunidade de investigar. Grazas por informar do fallo.", + "refreshList": "Actualizar a lista", + "skipExternalLinkModal": "Manteña premido Ctrl (Windows) ou Command (Mac) ao premer unha ligazón para evitar este diálogo modal.", + "leaveHabitica": "Está a piques de saír de Habitica.com", + "leaveHabiticaText": "Habitica non se fai responsábel do contido de ningún sitio web ao que ligue que non sexa propiedade de ou estea operado por HabitRPG.
Teña en conta que as prácticas destes sitios web non teñen por que coincidir coas directrices da comunidade de Habitica." } diff --git a/website/common/locales/gl/groups.json b/website/common/locales/gl/groups.json index 1cd699f45f..a19ee2b9ba 100755 --- a/website/common/locales/gl/groups.json +++ b/website/common/locales/gl/groups.json @@ -1,345 +1,437 @@ { - "tavern": "Chat da Taberna", + "tavern": "Conversa da taberna", "tavernChat": "Conversa da taberna", - "innCheckOutBanner": "", - "innCheckOutBannerShort": "", - "resumeDamage": "", - "helpfulLinks": "", + "innCheckOutBanner": "Estás descansando na pousada. As túas tarefas diarias non te danarán e non progresarás nas misións.", + "innCheckOutBannerShort": "Estás descansando na pousada.", + "resumeDamage": "Continuar o dano", + "helpfulLinks": "Ligazóns útiles", "communityGuidelinesLink": "Community Guidelines", - "lookingForGroup": "Looking for Group (Party Wanted) Posts", - "dataDisplayTool": "Data Display Tool", - "requestFeature": "Request a Feature", + "lookingForGroup": "Buscando publicacións de grupo («Party Wanted»)", + "dataDisplayTool": "Ferramenta de visualización de datos", + "requestFeature": "Solicitar unha funcionalidade", "askAQuestion": "Ask a Question", - "askQuestionGuild": "Ask a Question (Habitica Help guild)", + "askQuestionGuild": "Facer unha pregunta (gremio «Habitica Help»)", "contributing": "Contribuír", - "faq": "FAQ", - "tutorial": "Tutorial", - "glossary": "Glossary", + "faq": "Preguntas frecuentes", + "tutorial": "Titorial", + "glossary": "Glosario", "wiki": "Wiki", "requestAF": "Solicitar unha Funcionalidade", "dataTool": "Ferramenta de Mostra de Datos", "resources": "Recursos", - "communityGuidelines": "Normas da Comunidade", - "bannedWordUsed": "Oops! Looks like this post contains a swearword, religious oath, or reference to an addictive substance or adult topic (<%= swearWordsUsed %>). Habitica has users from all backgrounds, so we keep our chat very clean. Feel free to edit your message so you can post it!", - "bannedSlurUsed": "Your post contained inappropriate language, and your chat privileges have been revoked.", + "communityGuidelines": "Directrices da comunidade", + "bannedWordUsed": "Vaites! Parece que esta publicación contén algunha palabra malsoante ou unha mención de substancias aditivas ou temática para persoas adultas (<%= swearWordsUsed %>). Habitica mantén a conversa moi limpa. Podes editar a mensaxe para poder publicala! Tes que eliminar a palabra, non simplemente censurala.", + "bannedSlurUsed": "A túa publicación contiña expresións non axeitadas, e retiráronseche os privilexios de conversa.", "party": "Equipo", - "usernameCopied": "Username copied to clipboard.", + "usernameCopied": "O alcume copiouse no portapapeis.", "createGroupPlan": "Create", "create": "Crear", - "userId": "ID de Usuario", + "userId": "Identificador de persoa usuaria", "invite": "Invitar", - "leave": "Abandoar", - "invitedToParty": "You were invited to join the Party <%- party %>", - "invitedToPrivateGuild": "You were invited to join the private Guild <%- guild %>", - "invitedToPublicGuild": "You were invited to join the Guild <%- guild %>", - "invitationAcceptedHeader": "Your Invitation has been Accepted", - "invitationAcceptedBody": "<%= username %> accepted your invitation to <%= groupName %>!", - "systemMessage": "Mensaxe do Sistema", - "newMsgGuild": "<%- name %> has new posts", - "newMsgParty": "Your Party, <%- name %>, has new posts", - "chat": "Chat", - "sendChat": "Enviar Chat", + "leave": "Abandonar", + "invitedToParty": "Invitáronte a unirte ao equipo <%- party %>", + "invitedToPrivateGuild": "Invitáronte a unirte ao gremio privado <%- guild %>", + "invitedToPublicGuild": "Invitáronte a unirte ao gremio <%- guild %>", + "invitationAcceptedHeader": "Aceptaron a túa invitación", + "invitationAcceptedBody": "<%= username %> aceptou a túa invitación a <%= groupName %>!", + "systemMessage": "Mensaxe do sistema", + "newMsgGuild": "<%- name %> ten novas publicacións", + "newMsgParty": "O teu equipo, <%- name %>, ten novas publicacións", + "chat": "Conversa", + "sendChat": "Enviar a mensaxe", "group": "Grupo", - "groupName": "Nome do Grupo", - "groupLeader": "Lider do Grupo", - "groupID": "ID do Grupo", - "members": "Membros", - "memberList": "Member List", - "invited": "Invitad@s", + "groupName": "Nome do grupo", + "groupLeader": "Líder do grupo", + "groupID": "Identificador do grupo", + "members": "Participantes", + "memberList": "Lista de participantes", + "invited": "Invitacións", "name": "Nome", "description": "Descrición", "public": "Público", - "inviteOnly": "Invitar Só", - "gemCost": "O coste en Xemas favorece os Gremios de alta calidade, e transfírese ao banco do teu Gremio para usalas como premios nos Desafíos do Gremio!", + "inviteOnly": "Só invitar", + "gemCost": "O custo en xemas favorece os gremios de alta calidade, e transfírese ao banco do gremio para usalas como premios nos desafíos do gremio!", "search": "Buscar", - "publicGuilds": "Gremios Públicos", - "createGuild": "Crear Gremio", + "publicGuilds": "Gremios públicos", + "createGuild": "Crear un gremio", "createGuild2": "Create", "guild": "Gremio", "guilds": "Gremios", - "sureKick": "Do you really want to remove this member from the Party/Guild?", + "sureKick": "Seguro que queres retirar esta persoa do equipo ou gremio?", "optionalMessage": "Mensaxe opcional", - "yesRemove": "Si, quíta@", - "sortBackground": "Sort by Background", - "sortClass": "Sort by Class", - "sortDateJoined": "Sort by Join Date", - "sortLogin": "Sort by Login Date", - "sortLevel": "Sort by Level", - "sortName": "Sort by Name", - "sortTier": "Sort by Tier", + "yesRemove": "Retirala", + "sortBackground": "Ordenar por fondo", + "sortClass": "Ordenar por clase", + "sortDateJoined": "Ordenar por data de inscrición", + "sortLogin": "Ordenar por data de acceso", + "sortLevel": "Ordenar por nivel", + "sortName": "Ordenar por nome", + "sortTier": "Ordenar por rango", "ascendingAbbrev": "Asc", "descendingAbbrev": "Desc", - "applySortToHeader": "Apply Sort Options to Party Header", - "confirmGuild": "Crear Gremio por 4 Xemas?", + "applySortToHeader": "Aplicar as opcións de ordenación á cabeceira do equipo", + "confirmGuild": "Crear o gremio por 4 xemas?", "confirm": "Confirmar", "leaveGroup": "Leave Guild", - "leaveParty": "Leave Party", + "leaveParty": "Abandonar o equipo", "send": "Enviar", - "pmsMarkedRead": "Your Private Messages have been marked as read", - "possessiveParty": "O Equipo de <%= name %>", - "PMPlaceholderTitle": "Nothing Here Yet", - "PMPlaceholderDescription": "Select a conversation on the left", - "PMPlaceholderTitleRevoked": "Your chat privileges have been revoked", + "pmsMarkedRead": "As túas mensaxes privadas marcáronse como lidas", + "possessiveParty": "Equipo de <%= name %>", + "PMPlaceholderTitle": "Aquí aínda non hai nada", + "PMPlaceholderDescription": "Selecciona unha conversa na esquerda", + "PMPlaceholderTitleRevoked": "Retiráronte os privilexios de conversa", "PMPlaceholderDescriptionRevoked": "You are not able to send private messages because your chat privileges have been revoked. If you have questions or concerns about this, please email admin@habitica.com to discuss it with the staff.", - "PMEnabledOptPopoverText": "Private Messages are enabled. Users can contact you via your profile.", - "PMDisabledOptPopoverText": "Private Messages are disabled. Enable this option to allow users to contact you via your profile.", - "PMDisabledCaptionTitle": "Private Messages are disabled", - "PMDisabledCaptionText": "You can still send messages, but no one can send them to you.", + "PMEnabledOptPopoverText": "As mensaxes privadas están activadas. As persoas usuarias poden contactar contigo a través do teu perfil.", + "PMDisabledOptPopoverText": "As mensaxes privadas están desactivadas. Activa esta opción para permitir a persoas usuarias contactar contigo a través do teu perfil.", + "PMDisabledCaptionTitle": "As mensaxes privadas están desactivadas", + "PMDisabledCaptionText": "Podes enviar mensaxes, pero non te poden enviar mensaxes a ti.", "block": "Bloquear", "unblock": "Desbloquear", - "blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.", - "inbox": "Bandexa de entrada", + "blockWarning": "Bloquear non terá efecto se a persoa é moderadora ou pasa a ser moderadora no futuro.", + "inbox": "Caixa de entrada", "messageRequired": "Requírese unha mensaxe.", - "toUserIDRequired": "Requírese unha ID de Usuario.", - "gemAmountRequired": "Requírese unhas xemas", - "notAuthorizedToSendMessageToThisUser": "You can't send a message to this player because they have chosen to block messages.", - "privateMessageGiftGemsMessage": "Hello <%= receiverName %>, <%= senderName %> has sent you <%= gemAmount %> gems!", - "cannotSendGemsToYourself": "Non podes enviarte xemas a ti mesm@. Proba unha subscrición.", + "toUserIDRequired": "Requírese un identificador de persoa usuaria", + "gemAmountRequired": "Requírese un número de xemas", + "notAuthorizedToSendMessageToThisUser": "Non podes enviar unha mensaxe a esta persoa porque bloqueou as mensaxes.", + "privateMessageGiftGemsMessage": "Ola <%= receiverName %>, <%= senderName %> envioute <%= gemAmount %> xemas!", + "cannotSendGemsToYourself": "Non podes enviarte xemas a ti. Proba mellor cunha subscrición.", "badAmountOfGemsToSend": "A cantidade debe estar comprendida entre 1 e o teu número de xemas.", - "report": "Report", - "abuseFlagModalHeading": "Report a Violation", - "abuseFlagModalBody": "Are you sure you want to report this post? You should only report a post that violates the <%= firstLinkStart %>Community Guidelines<%= linkEnd %> and/or <%= secondLinkStart %>Terms of Service<%= linkEnd %>. Inappropriately reporting a post is a violation of the Community Guidelines and may give you an infraction.", - "abuseReported": "Grazas por denunciar esta transgresión. Notificouse aos moderadores.", - "whyReportingPost": "Why are you reporting this post?", - "whyReportingPostPlaceholder": "Please help our moderators by letting us know why you are reporting this post for a violation, e.g., spam, swearing, religious oaths, bigotry, slurs, adult topics, violence.", + "report": "Denunciar", + "abuseFlagModalHeading": "Informar dunha transgresión", + "abuseFlagModalBody": "Seguro que queres denunciar esta publicación? deberías denunciar publicacións que incumpran as <%= firstLinkStart %>directrices da comunidade<%= linkEnd %> ou as <%= secondLinkStart %>condicións de uso<%= linkEnd %>. Denunciar unha publicación incorrectamente é un incumprimento das directrices da comunidade e pode causarte unha infracción.", + "abuseReported": "Grazas por denunciar esta transgresión. Notificouse ao equipo de moderación.", + "whyReportingPost": "Por que denuncias esta publicación?", + "whyReportingPostPlaceholder": "Axuda ao noso equipo de moderación indicándonos o motivo polo que denuncias esta publicación por transgresión, p. ex. publicidade non desexada, palabras malsoantes, loas relixiosas, intolerancia, xerga, temática adulta ou violencia.", "optional": "Opcional", "needsTextPlaceholder": "Escribe a túa mensaxe aquí.", - "copyMessageAsToDo": "Copiar mensaxe como Tarefa", - "copyAsTodo": "Copy as To-Do", - "messageAddedAsToDo": "Mensaxe copiada como Tarefa", - "leaderOnlyChallenges": "Só pode crear desafíos o líder do grupo", - "sendGift": "Enviar Regalo", - "inviteFriends": "Invitar Amig@a", - "inviteByEmail": "Invitar por Correo electrónico", - "inviteMembersHowTo": "Invite people via a valid email or 36-digit User ID. If an email isn't registered yet, we'll invite them to join Habitica.", - "sendInvitations": "Send Invites", - "invitationsSent": "Invitacións enviadas!", + "copyMessageAsToDo": "Copiar a mensaxe como tarefa pendente", + "copyAsTodo": "Copiar como tarefa pendente", + "messageAddedAsToDo": "Mensaxe copiada como tarefa pendente.", + "leaderOnlyChallenges": "Só pode crear desafíos a persoa líder do grupo", + "sendGift": "Enviar un agasallo", + "inviteFriends": "Invitar a amizades", + "inviteByEmail": "Invitar por correo electrónico", + "inviteMembersHowTo": "Invitar a xente mediante un enderezo de correo electrónico válido ou un identificador de persoa usuaria de 36 díxitos válido. Se non hai un enderezo de correo electrónico rexistrado aínda, invitaremos á persoa a unirse a Habitica.", + "sendInvitations": "Enviar as invitacións", + "invitationsSent": "Enviáronse as invitacións!", "invitationSent": "Enviouse a invitación!", - "invitedFriend": "Invited a Friend", - "invitedFriendText": "This user invited a friend (or friends) who joined them on their adventure!", - "inviteLimitReached": "You have already sent the maximum number of email invitations. We have a limit to prevent spamming, however if you would like more, please contact us at <%= techAssistanceEmail %> and we'll be happy to discuss it!", - "sendGiftHeading": "Enviar Regalo a <%= name %>", - "sendGiftGemsBalance": "De <%= number %> Xemas", - "sendGiftCost": "Total: $<%= cost %> USD", - "sendGiftFromBalance": "Desde Saldo", - "sendGiftPurchase": "Adquirir", - "sendGiftMessagePlaceholder": "Mensaxe persoal (opcional)", - "sendGiftSubscription": "<%= months %> Mes(es): $<%= price %> USD", - "gemGiftsAreOptional": "Please note that Habitica will never require you to gift gems to other players. Begging people for gems is a violation of the Community Guidelines, and all such instances should be reported to <%= hrefTechAssistanceEmail %>.", - "battleWithFriends": "Loita contra Monstros con Amigos", - "startAParty": "Crear un Equipo", - "partyUpName": "Party Up", - "partyOnName": "Party On", - "partyUpText": "Joined a Party with another person! Have fun battling monsters and supporting each other.", - "partyOnText": "Joined a Party with at least four people! Enjoy your increased accountability as you unite with your friends to vanquish your foes!", - "groupNotFound": "Grupo non atopado ou non tes acceso.", - "groupTypesRequired": "Debes dar unha cadea de carácteres \"type\" válida.", - "questLeaderCannotLeaveGroup": "You cannot leave your Party when you have started a quest. Abort the quest first.", - "cannotLeaveWhileActiveQuest": "You cannot leave Party during an active quest. Please leave the quest first.", - "onlyLeaderCanRemoveMember": "Só o líder do grupo pode quitar membros!", - "cannotRemoveCurrentLeader": "You cannot remove the group leader. Assign a new a leader first.", - "memberCannotRemoveYourself": "Non te podes quitar a ti mesm@!", - "groupMemberNotFound": "Usuari@ non atodpad@ entre os membros do grupo", - "mustBeGroupMember": "Debe ser membro do grupo.", - "canOnlyInviteEmailUuid": "Can only invite using user IDs, emails, or usernames.", - "inviteMissingEmail": "Falta a dirección de correo electrónico na invitación.", - "inviteMustNotBeEmpty": "Invite must not be empty.", + "invitedFriend": "Invitou a unha amizade", + "invitedFriendText": "Esta persoa invitou a unha ou varias amizades que se lle uniron na súa aventura!", + "inviteLimitReached": "Xa enviaches o número máximo de invitacións por correo electrónico. Temos un límite para evitar o envío de mensaxes non desexadas, pero se queres máis, contacta connosco en <%= techAssistanceEmail %> e falarémolo con moito gusto!", + "sendGiftHeading": "Enviar un agasallo a <%= name %>", + "sendGiftGemsBalance": "De <%= number %> xemas", + "sendGiftCost": "Total: <%= cost %> $ USD", + "sendGiftFromBalance": "Do saldo", + "sendGiftPurchase": "Mercar", + "sendGiftMessagePlaceholder": "Incluír unha mensaxe co agasallo", + "sendGiftSubscription": "<%= months %> meses: <%= price %> $ USD", + "gemGiftsAreOptional": "Ten en conta que Habitica nunca te obrigará a agasallar xemas a outras persoas. Pedir xemas á xente é un incumprimento das directrices da comunidade, e deberías denuncialo a <%= hrefTechAssistanceEmail %>.", + "battleWithFriends": "Loita contra monstros con amizades", + "startAParty": "Comeza un equipo", + "partyUpName": "Fai equipo", + "partyOnName": "Fai máis equipo", + "partyUpText": "Uniuse a un equipo con outra persoa! Pasádeo ben loitando contra monstros e apoiándovos mutuamente.", + "partyOnText": "Uniuse a un equipo cun mínimo de catro persoas! Motivádeos mutuamente ao tempo que derrotades ao inimigo!", + "groupNotFound": "Non se atopou o grupo ou non tes acceso.", + "groupTypesRequired": "Debes fornecer unha cadea de consulta «type» válida.", + "questLeaderCannotLeaveGroup": "Non podes abandonar o teu equipo cando comezaches unha misión. Interrompe primeiro a misión.", + "cannotLeaveWhileActiveQuest": "Non podes abandonar un equipo durante unha misión activa. Abandona primeiro a misión.", + "onlyLeaderCanRemoveMember": "Só a persoa líder do grupo pode retirar persoas del!", + "cannotRemoveCurrentLeader": "Non podes retirar a persoa líder do grupo. Asigna primeiro unha nova líder.", + "memberCannotRemoveYourself": "Non te podes retirar a ti!", + "groupMemberNotFound": "Non se atopou a persoa no grupo", + "mustBeGroupMember": "Debe estar no grupo.", + "canOnlyInviteEmailUuid": "Só se pode invitar usando identificadores de persoa usuaria, enderezos de correo electrónico ou alcumes.", + "inviteMissingEmail": "Falta o enderezo de correo electrónico na invitación.", + "inviteMustNotBeEmpty": "A invitación non pode estar baleira.", "partyMustbePrivate": "Os equipos teñen que ser privados", - "userAlreadyInGroup": "UserID: <%= userId %>, User \"<%= username %>\" already in that group.", - "youAreAlreadyInGroup": "You are already a member of this group.", - "cannotInviteSelfToGroup": "Non te podes invitar a ti mesm@ a un grupo.", - "userAlreadyInvitedToGroup": "UserID: <%= userId %>, User \"<%= username %>\" already invited to that group.", - "userAlreadyPendingInvitation": "UserID: <%= userId %>, User \"<%= username %>\" already pending invitation.", - "userAlreadyInAParty": "UserID: <%= userId %>, User \"<%= username %>\" already in a party.", - "userWithIDNotFound": "Usuario con id \"<%= userId %>\" non atopado.", - "userWithUsernameNotFound": "User with username \"<%= username %>\" not found.", - "userHasNoLocalRegistration": "O usuario non está rexistrado localmente (nome de usuario, e-mail, contrasinal).", - "uuidsMustBeAnArray": "As invitacións de ID de Usuario deben ser un array.", - "emailsMustBeAnArray": "As direccións de correo electrónico deben ser un array.", - "usernamesMustBeAnArray": "Username invites must be an array.", - "canOnlyInviteMaxInvites": "Só podes invitar \"<%= maxInvites %>\" ao mesmo tempo", - "partyExceedsMembersLimit": "Party size is limited to <%= maxMembersParty %> members", + "userAlreadyInGroup": "Identificador de persoa usuaria: <%= userId %>, «<%= username %>» xa está nese grupo.", + "youAreAlreadyInGroup": "Xa formas parte deste grupo.", + "cannotInviteSelfToGroup": "Non podes invitarte a un grupo.", + "userAlreadyInvitedToGroup": "Identificador de persoa usuaria: <%= userId %>, «<%= username %>» xa recibiu unha invitación a ese grupo.", + "userAlreadyPendingInvitation": "Identificador de persoa usuaria: <%= userId %>, «<%= username %>» xa ten unha invitación pendente.", + "userAlreadyInAParty": "Identificador de persoa usuaria: <%= userId %>, «<%= username %>» xa está nun equipo.", + "userWithIDNotFound": "Non se atopou unha persoa usuaria con identificador «<%= userId %>».", + "userWithUsernameNotFound": "Non se atopou a ninguén co alcume «<%= username %>».", + "userHasNoLocalRegistration": "A persoa usuaria non está rexistrada localmente (alcume, correo electrónico, contrasinal).", + "uuidsMustBeAnArray": "As invitacións de identificador de persoa usuaria deben ser unha matriz.", + "emailsMustBeAnArray": "As invitacións de enderezo de correo electrónico deben ser unha matriz.", + "usernamesMustBeAnArray": "As invitacións de alcume deben ser unha matriz.", + "canOnlyInviteMaxInvites": "Só podes invitar a <%= maxInvites %> persoas de cada vez", + "partyExceedsMembersLimit": "O tamaño do equipo está limitado a <%= maxMembersParty %> persoas", "onlyCreatorOrAdminCanDeleteChat": "Non tes permiso para eliminar esta mensaxe!", - "onlyGroupLeaderCanEditTasks": "Non tes dereito de xestionar tarefas!", - "onlyGroupTasksCanBeAssigned": "Só se poden asignar tarefas de grupo.", - "assignedTo": "Asignar a", - "assignedToUser": "Assigned to <%- userName %>", - "assignedToMembers": "Assigned to <%= userCount %> members", - "assignedToYouAndMembers": "Assigned to you and <%= userCount %> members", - "youAreAssigned": "You are assigned to this task", - "taskIsUnassigned": "This task is unassigned", - "confirmUnClaim": "Are you sure you want to unclaim this task?", - "confirmNeedsWork": "Are you sure you want to mark this task as needing work?", - "userRequestsApproval": "<%- userName %> requests approval", - "userCountRequestsApproval": "<%= userCount %> members request approval", - "youAreRequestingApproval": "You are requesting approval", - "chatPrivilegesRevoked": "You cannot do that because your chat privileges have been revoked.", + "onlyGroupLeaderCanEditTasks": "Non tes permiso para xestionar tarefas!", + "onlyGroupTasksCanBeAssigned": "Só se poden asignar tarefas de grupo", + "assignedTo": "Asignado a", + "assignedToUser": "Asignado: @<%- userName %>", + "assignedToMembers": "<%= userCount %> persoas", + "assignedToYouAndMembers": "Ti, <%= userCount %> persoas", + "youAreAssigned": "Asignado: ti", + "taskIsUnassigned": "Esta tarefa está sen asignar", + "confirmUnClaim": "Seguro que queres retirarte desta tarefa?", + "confirmNeedsWork": "Seguro que queres indicar que esta tarefa ten traballo pendente?", + "userRequestsApproval": "<%- userName %> solicita aprobación", + "userCountRequestsApproval": "<%= userCount %> persoas solicitan aprobación", + "youAreRequestingApproval": "Estás solicitando aprobación", + "chatPrivilegesRevoked": "Non podes facer isto porque te retiraron os teus privilexios de conversa. Para máis información, ou para preguntar se poderás recuperalos, envía unha mensaxe de correo electrónico ao noso equipo de xestión da comunidade en admin@habitica.com ou pide á túa nai, pai ou persoa titora que envíen esa mensaxe. Inclúe o teu alcume na mensaxe. Se xa te informou unha persoa do equipo de moderación de que a túa prohibición é temporal, non necesitas enviar ningunha mensaxe.", "cannotCreatePublicGuildWhenMuted": "You cannot create a public guild because your chat privileges have been revoked.", "cannotInviteWhenMuted": "You cannot invite anyone to a guild or party because your chat privileges have been revoked.", "to": "Para:", "from": "De:", - "assignTask": "Assign Task", - "claim": "Claim", - "removeClaim": "Remove Claim", - "onlyGroupLeaderCanManageSubscription": "Only the group leader can manage the group's subscription", - "yourTaskHasBeenApproved": "Your task <%- taskText %> has been approved.", - "taskNeedsWork": "<%- managerName %> marked <%- taskText %> as needing additional work.", - "userHasRequestedTaskApproval": "<%- user %> requests approval for <%- taskName %>", + "assignTask": "Asignar a tarefa", + "claim": "Reclamar a tarefa", + "removeClaim": "Retirar a reclamación", + "onlyGroupLeaderCanManageSubscription": "Só a persoa líder do grupo pode xestionar a subscrición do grupo", + "yourTaskHasBeenApproved": "Aprobouse a túa tarefa <%- taskText %>.", + "taskNeedsWork": "@<%- managerName %> desmarcou <%- taskText %>. Revertéronse as túas recompensas por completala.", + "userHasRequestedTaskApproval": "<%- user %> solicita a aprobación de <%- taskName %>", "approve": "Aprobar", - "approveTask": "Approve Task", - "needsWork": "Needs Work", - "viewRequests": "View Requests", - "groupSubscriptionPrice": "$9 every month + $3 a month for every additional group member", - "groupBenefitsDescription": "We've just launched the beta version of our group plans! Upgrading to a group plan unlocks some unique features to optimize the social side of Habitica.", - "teamBasedTasks": "Team-based Tasks", - "cannotDeleteActiveGroup": "You cannot remove a group with an active subscription", - "groupTasksTitle": "Group Tasks List", - "userIsClamingTask": "`<%= username %> has claimed:` <%= task %>", - "approvalRequested": "Approval Requested", - "cantDeleteAssignedGroupTasks": "Can't delete group tasks that are assigned to you.", - "groupPlanUpgraded": "<%- groupName %> was upgraded to a Group Plan!", - "groupPlanCreated": "<%- groupName %> was created!", - "onlyGroupLeaderCanInviteToGroupPlan": "Only the group leader can invite users to a group with a subscription.", - "paymentDetails": "Payment Details", - "aboutToJoinCancelledGroupPlan": "You are about to join a group with a canceled plan. You will NOT receive a free subscription.", - "cannotChangeLeaderWithActiveGroupPlan": "You can not change the leader while the group has an active plan.", - "leaderCannotLeaveGroupWithActiveGroup": "A leader can not leave a group while the group has an active plan", - "youHaveGroupPlan": "You have a free subscription because you are a member of a group that has a Group Plan. This will end when you are no longer in the group that has a Group Plan. Any months of extra subscription credit you have will be applied at the end of the Group Plan.", - "cancelGroupSub": "Cancel Group Plan", - "confirmCancelGroupPlan": "Are you sure you want to cancel your Group Plan? All Group members will lose their subscription and benefits.", - "canceledGroupPlan": "Canceled Group Plan", - "groupPlanCanceled": "Group Plan will become inactive on", - "purchasedGroupPlanPlanExtraMonths": "You have <%= months %> months of extra group plan credit.", - "addManager": "Assign Manager", - "removeManager2": "Unassign Manager", - "userMustBeMember": "User must be a member", - "userIsNotManager": "User is not manager", - "canOnlyApproveTaskOnce": "This task has already been approved.", + "approveTask": "Aprobar a tarefa", + "needsWork": "Necesita traballo", + "viewRequests": "Ver as solicitudes", + "groupSubscriptionPrice": "$9 ao mes + $3 ao mes por cada persoa adicional no grupo", + "groupBenefitsDescription": "Acabamos de lanzar a versión de probas dos nosos plans de grupo! Ascender a un plan de grupo desbloquea algunhas funcionalidades únicas para optimizar os aspectos sociais de Habitica.", + "teamBasedTasks": "Tarefas baseadas en equipos", + "cannotDeleteActiveGroup": "Non se pode retirar un grupo cunha subscrición activa", + "groupTasksTitle": "Lista de tarefas do grupo", + "userIsClamingTask": "`<%= username %> reclamou:` <%= task %>", + "approvalRequested": "Solicitouse a aprobación", + "cantDeleteAssignedGroupTasks": "Non podes eliminar tarefas de grupo que están asignadas a ti.", + "groupPlanUpgraded": "<%- groupName %> ascendeu a un plan de grupo!", + "groupPlanCreated": "Creouse <%- groupName %>!", + "onlyGroupLeaderCanInviteToGroupPlan": "Só a persoa líder do grupo pode invitar a persoas a un grupo que ten unha subscrición.", + "paymentDetails": "Detalles de pago", + "aboutToJoinCancelledGroupPlan": "Estás a piques de unirte a un grupo cun plan cancelado. NON recibirás unha subscrición de balde.", + "cannotChangeLeaderWithActiveGroupPlan": "Non podes cambiar a persoa líder mentres o grupo ten un plana activo.", + "leaderCannotLeaveGroupWithActiveGroup": "Unha persoa líder non pode abandonar un grupo mentres o grupo ten un plan activo", + "youHaveGroupPlan": "Tes unha subscrición de balde porque formas parte dun plan de grupo. A túa subscrición rematará cando deixes de formar parte do plan de grupo.", + "cancelGroupSub": "Cancelar o plan de grupo", + "confirmCancelGroupPlan": "Seguro que queres cancelar o plan de grupo? Todas as persoas do grupo perderán a súa subscrición e as súas vantaxes.", + "canceledGroupPlan": "Cancelouse o plan de grupo", + "groupPlanCanceled": "O plan de grupo desactivarase o", + "purchasedGroupPlanPlanExtraMonths": "Tes <%= months %> meses de crédito adicional de plan de grupo.", + "addManager": "Asignar a xestión", + "removeManager2": "Retirar a xestión", + "userMustBeMember": "A persoa ten que formar parte", + "userIsNotManager": "A persoa non é xestora", + "canOnlyApproveTaskOnce": "Esta tarefa xa está aprobada.", "addTaskToGroupPlan": "Create", - "joinedGuild": "Joined a Guild", - "joinedGuildText": "Ventured into the social side of Habitica by joining a Guild!", - "badAmountOfGemsToPurchase": "Amount must be at least 1.", - "groupPolicyCannotGetGems": "The policy of one group you're part of prevents its members from obtaining gems.", - "viewParty": "View Party", - "newGuildPlaceholder": "Enter your guild's name.", - "guildBank": "Guild Bank", - "chatPlaceholder": "Type your message to Guild members here", - "partyChatPlaceholder": "Type your message to Party members here", - "fetchRecentMessages": "Fetch Recent Messages", - "like": "Gustar", - "liked": "Gustou", - "inviteToGuild": "Invite to Guild", - "inviteToParty": "Invite to Party", - "inviteEmailUsername": "Invite via Email or Username", - "inviteEmailUsernameInfo": "Invite users via a valid email or username. If an email isn't registered yet, we'll invite them to join.", - "emailOrUsernameInvite": "Email address or username", - "messageGuildLeader": "Message Guild Leader", - "donateGems": "Donate Gems", - "updateGuild": "Update Guild", - "viewMembers": "View Members", - "memberCount": "Member Count", - "recentActivity": "Recent Activity", - "myGuilds": "My Guilds", - "guildsDiscovery": "Discover Guilds", - "role": "Role", - "guildLeader": "Guild Leader", - "member": "Membro", - "guildSize": "Guild Size", - "goldTier": "Gold Tier", - "silverTier": "Silver Tier", - "bronzeTier": "Bronze Tier", - "privacySettings": "Privacy Settings", - "onlyLeaderCreatesChallenges": "Only the Leader can create Challenges", - "onlyLeaderCreatesChallengesDetail": "With this option selected, ordinary group members cannot create Challenges for the group.", - "privateGuild": "Private Guild", - "charactersRemaining": "<%= characters %> characters remaining", + "joinedGuild": "Uniuse a un gremio", + "joinedGuildText": "Aventurouse na parte social de Habitica uníndose a un gremio!", + "badAmountOfGemsToPurchase": "A cantidade debe ser como mínimo 1.", + "groupPolicyCannotGetGems": "A política dun grupo no que estás impide a quen está nel obter xemas.", + "viewParty": "Ver o equipo", + "newGuildPlaceholder": "Escribe o nome do teu gremio.", + "guildBank": "Banco do gremio", + "chatPlaceholder": "Escribe aquí a túa mensaxe para a xente do gremio", + "partyChatPlaceholder": "Escribe aquí a túa mensaxe para a xente do equipo", + "fetchRecentMessages": "Obter mensaxes recentes", + "like": "Gústame", + "liked": "Gustoulle", + "inviteToGuild": "Invitar ao gremio", + "inviteToParty": "Invitar ao equipo", + "inviteEmailUsername": "Invitar mediante enderezo de correo electrónico ou alcume", + "inviteEmailUsernameInfo": "Invitar a persoas mediante un enderezo de correo electrónico ou un alcume válidos. Se un enderezo aínda non está rexistrado, enviarase unha invitación a rexistrarse.", + "emailOrUsernameInvite": "Enderezo de correo electrónico ou alcume", + "messageGuildLeader": "Enviar unha mensaxe á persoa líder do gremio", + "donateGems": "Doar xemas", + "updateGuild": "Actualizar o gremio", + "viewMembers": "Ver quen forma parte", + "memberCount": "Número de participantes", + "recentActivity": "Actividade recente", + "myGuilds": "Os meus gremios", + "guildsDiscovery": "Descubrir gremios", + "role": "Rol", + "guildLeader": "Líder do gremio", + "member": "Participante", + "guildSize": "Tamaño do gremio", + "goldTier": "Rango de ouro", + "silverTier": "Rango de prata", + "bronzeTier": "Rango de bronce", + "privacySettings": "Configuración de privacidade", + "onlyLeaderCreatesChallenges": "Só a persoa líder pode crear desafíos", + "onlyLeaderCreatesChallengesDetail": "Con esta opción seleccionada, as persoas normais do grupo non poden crear desafíos para o grupo.", + "privateGuild": "Gremio privado", + "charactersRemaining": "Faltan <%= characters %> caracteres", "guildSummary": "Resumo", - "guildSummaryPlaceholder": "Write a short description advertising your Guild to other Habiticans. What is the main purpose of your Guild and why should people join it? Try to include useful keywords in the summary so that Habiticans can easily find it when they search!", - "groupDescription": "Description", - "guildDescriptionPlaceholder": "Use this section to go into more detail about everything that Guild members should know about your Guild. Useful tips, helpful links, and encouraging statements all go here!", - "markdownFormattingHelp": "[Markdown formatting help](http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet)", - "partyDescriptionPlaceholder": "This is our Party's description. It describes what we do in this Party. If you want to learn more about what we do in this Party, read the description. Party on.", - "guildGemCostInfo": "A Gem cost promotes high quality Guilds and is transferred into your Guild's bank.", - "noGuildsTitle": "You aren't a member of any Guilds.", - "noGuildsParagraph1": "Guilds are social groups created by other players that can offer you support, accountability, and encouraging chat.", - "noGuildsParagraph2": "Click the Discover tab to see recommended Guilds based on your interests, browse Habitica's public Guilds, or create your own Guild.", - "noGuildsMatchFilters": "We couldn't find any matching Guilds.", - "privateDescription": "A private Guild will not be displayed in Habitica's Guild directory. New members can be added by invitation only.", - "removeInvite": "Remove Invitation", - "removeMember": "Remove Member", - "sendMessage": "Send Message", - "promoteToLeader": "Transfer Ownership", - "inviteFriendsParty": "Inviting friends to your Party will grant you an exclusive
Quest Scroll to battle the Basi-List together!", - "createParty": "Create a Party", - "inviteMembersNow": "Would you like to invite members now?", - "playInPartyTitle": "Play Habitica in a Party!", - "playInPartyDescription": "Take on amazing quests with friends or on your own. Battle monsters, create Challenges, and help yourself stay accountable through Parties.", - "wantToJoinPartyTitle": "Want to join a Party?", - "wantToJoinPartyDescription": "Give your username to a friend who already has a Party, or head to the Party Wanted Guild to meet potential comrades!", + "guildSummaryPlaceholder": "Escribe unha breve descrición para promover o teu gremio entre o resto de habitantes de Habitica. Cal é o propósito principal e por que debería unirse a xente? Procura incluír palabras clave útiles no resumo, para que a xente de Habitica poda atopalo facilmente ao buscar!", + "groupDescription": "Descrición", + "guildDescriptionPlaceholder": "Usa esta sección para entrar nos detalles sobre todo o que debería saber a xente que pertenza ao gremio sobre o gremio. Consellos útiles, ligazóns útiles, e frases de ánimo, todo ten cabida aquí!", + "markdownFormattingHelp": "[Axuda do formato Markdown](https://habitica.fandom.com/wiki/Markdown_Cheat_Sheet) (en inglés)", + "partyDescriptionPlaceholder": "Esta é a descrición do teu equipo. Describe o que se fai no equipo. Se queres saber máis sobre o que facemos neste equipo, le a descrición. A facer equipo.", + "guildGemCostInfo": "Un custo en xemas favorece os gremios de alta calidade e transfírese ao banco do gremio.", + "noGuildsTitle": "Non formas parte de ningún gremio.", + "noGuildsParagraph1": "Os gremios son grupos sociais que crean outras persoas e poden ofrecer unha conversa de asistencia e ánimo.", + "noGuildsParagraph2": "Preme o separador «Descubrir» para ver gremios recomendados baseados nos teus intereses, explora os gremios públicos de Habitica ou crea o teu propio gremio.", + "noGuildsMatchFilters": "Non atopamos ningún gremio que coincida.", + "privateDescription": "Un gremio privado non se amosará no directorio de gremios de Habitica. Só se pode sumar xente por invitación.", + "removeInvite": "Retirar a invitación", + "removeMember": "Expulsar a persoa", + "sendMessage": "Enviar a mensaxe", + "promoteToLeader": "Transferir a propiedade", + "inviteFriendsParty": "Invitar amizades ao teu equipo conferirache un pergameo
de misión exclusivo para loitar en equipo contra a basilista!", + "createParty": "Crear un equipo", + "inviteMembersNow": "Queres invitar xente agora?", + "playInPartyTitle": "Xoga a Habitica en equipo!", + "playInPartyDescription": "Participa en misións abraiantes con amizades ou pola túa conta. Loita contra monstros, crea desafíos, e axúdate a ser constante mediante equipos.", + "wantToJoinPartyTitle": "Queres unirte a un equipo?", + "wantToJoinPartyDescription": "Comparte o teu alcume con unha amizade que xa ten equipo, ou vai ao gremio «Party Wanted» para coñecer a camaradas potenciais!", "copy": "Copiar", "inviteToPartyOrQuest": "Invite Party to Quest", "inviteInformation": "Clicking \"Invite\" will send an invitation to your Party members. When all members have accepted or denied, the Quest begins.", - "questOwnerRewards": "Quest Owner Rewards", - "updateParty": "Update Party", + "questOwnerRewards": "Recompensas da persoa dona da misión", + "updateParty": "Actualizar o equipo", "upgrade": "Upgrade", - "selectPartyMember": "Select a Party Member", - "areYouSureDeleteMessage": "Are you sure you want to delete this message?", - "reverseChat": "Reverse Chat", + "selectPartyMember": "Selecciona unha persoa do equipo", + "areYouSureDeleteMessage": "Seguro que queres eliminar a mensaxe?", + "reverseChat": "Inverter a conversa", "invites": "Invitacións", - "details": "Details", - "participantDesc": "Once all members have either accepted or declined, the Quest begins. Only those who clicked 'accept' will be able to participate in the Quest and receive the rewards.", - "groupGems": "Group Gems", - "groupGemsDesc": "Guild Gems can be spent to make Challenges! In the future, you will be able to add more Guild Gems.", - "groupTaskBoard": "Task Board", - "groupInformation": "Group Information", - "groupBilling": "Group Billing", + "details": "Detalles", + "participantDesc": "Unha vez toda a xente aceptou ou rexeitou, comeza a misión. Só a xente que aceptou poderá participar na misión e recibir as recompensas.", + "groupGems": "Xemas de grupo", + "groupGemsDesc": "As xemas de grupo poden gastarse en facer desafíos! No futuro poderías engadir máis xemas de grupo.", + "groupTaskBoard": "Taboleiro de tarefas", + "groupInformation": "Información do grupo", + "groupBilling": "Facturación do grupo", "wouldYouParticipate": "Would you like to participate?", - "managerAdded": "Manager added successfully", - "managerRemoved": "Manager removed successfully", - "leaderChanged": "Leader has been changed", - "groupNoNotifications": "This Guild does not have notifications due to member size. Be sure to check back often for replies to your messages!", - "whatIsWorldBoss": "What is a World Boss?", - "worldBossDesc": "A World Boss is a special event that brings the Habitica community together to take down a powerful monster with their tasks! All Habitica users are rewarded upon its defeat, even those who have been resting in the Inn or have not used Habitica for the entirety of the quest.", - "worldBossLink": "Read more about the previous World Bosses of Habitica on the Wiki.", - "worldBossBullet1": "Complete tasks to damage the World Boss", - "worldBossBullet2": "The World Boss won’t damage you for missed tasks, but its Rage meter will go up. If the bar fills up, the Boss will attack one of Habitica’s shopkeepers!", - "worldBossBullet3": "You can continue with normal Quest Bosses, damage will apply to both", - "worldBossBullet4": "Check the Tavern regularly to see World Boss progress and Rage attacks", - "worldBoss": "World Boss", - "groupPlanTitle": "Need more for your crew?", - "groupPlanDesc": "Managing a small team or organizing household chores? Our group plans grant you exclusive access to a private task board and chat area dedicated to you and your group members!", - "billedMonthly": "*billed as a monthly subscription", - "teamBasedTasksList": "Team-Based Task List", - "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", - "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", - "inGameBenefits": "In-Game Benefits", - "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", - "inspireYourParty": "Inspire your party, gamify life together.", - "letsMakeAccount": "First, let’s make you an account", - "nameYourGroup": "Next, Name Your Group", - "exampleGroupName": "Example: Avengers Academy", - "exampleGroupDesc": "For those selected to join the training academy for The Avengers Superhero Initiative", - "thisGroupInviteOnly": "This group is invitation only.", - "gettingStarted": "Getting Started", - "congratsOnGroupPlan": "Congratulations on creating your new Group! Here are a few answers to some of the more commonly asked questions.", - "whatsIncludedGroup": "What's included in the subscription", - "whatsIncludedGroupDesc": "All members of the Group receive full subscription benefits, including the monthly subscriber items, the ability to buy Gems with Gold, and the Royal Purple Jackalope mount, which is exclusive to users with a Group Plan membership.", - "howDoesBillingWork": "How does billing work?", - "howDoesBillingWorkDesc": "Group Leaders are billed based on group member count on a monthly basis. This charge includes the $9 (USD) price for the Group Leader subscription, plus $3 USD for each additional group member. For example: A group of four users will cost $18 USD/month, as the group consists of 1 Group Leader + 3 group members.", - "howToAssignTask": "How do you assign a Task?", - "howToAssignTaskDesc": "Assign any Task to one or more Group members (including the Group Leader or Managers themselves) by entering their usernames in the \"Assign To\" field within the Create Task modal. You can also decide to assign a Task after creating it, by editing the Task and adding the user in the \"Assign To\" field!", - "howToRequireApproval": "How do you mark a Task as requiring approval?", - "howToRequireApprovalDesc": "Toggle the \"Requires Approval\" setting to mark a specific task as requiring Group Leader or Manager confirmation. The user who checked off the task won't get their rewards for completing it until it has been approved.", - "howToRequireApprovalDesc2": "Group Leaders and Managers can approve completed Tasks directly from the Task Board or from the Notifications panel.", - "whatIsGroupManager": "What is a Group Manager?", - "whatIsGroupManagerDesc": "A Group Manager is a user role that do not have access to the group's billing details, but can create, assign, and approve shared Tasks for the Group's members. Promote Group Managers from the Group’s member list.", - "goToTaskBoard": "Go to Task Board", - "sharedCompletion": "Shared Completion", - "recurringCompletion": "None - Group task does not complete", - "singleCompletion": "Single - Completes when any assigned user finishes", - "allAssignedCompletion": "All - Completes when all assigned users finish", + "managerAdded": "Engadiuse a persoa xestora", + "managerRemoved": "Retirouse a persoa xestora", + "leaderChanged": "Cambiou a persoa líder", + "groupNoNotifications": "Este gremio non ten notificacións debido ao número de participantes. Asegúrate de visitalo acotío para ver se alguén te respondeu!", + "whatIsWorldBoss": "Que é unha criatura rival mundial?", + "worldBossDesc": "Unha criatura rival mundial é un evento especial que xunta a comunidade de Habitica para derrotar a un poderoso monstro coas súas tarefas! Todas as persoas de Habitica reciben unha recompensa ao derrotalo, incluso as que estivesen descansando na pousada ou non usaron Habitica durante o transcurso da misión.", + "worldBossLink": "Le máis sobre as criaturas rivais mundiais anteriores de Habitica no wiki (en inglés).", + "worldBossBullet1": "Completa tarefas para danar á criatura rival mundial", + "worldBossBullet2": "A criatura rival mundial non te danará polas tarefas que te saltes, pero a súa barra de ira subirá. Se a barra se enche completamente, a criatura rival mundial atacará a unha das persoas tendeiras de Habitica!", + "worldBossBullet3": "Podes continuar con criaturas rivais de misión normais, o dano aplicarase a ambas", + "worldBossBullet4": "Visita a taberna regularmente para ver o progreso contra a criatura rival mundial e os ataques de ira", + "worldBoss": "Rival mundial", + "groupPlanTitle": "Necesitas máis para a túa banda?", + "groupPlanDesc": "Xestionas un pequeno equipo ou organizar as tarefas da casa? Os nosos plans de grupo garanten acceso exclusivo a taboleiros de tarefas privados e zonas de conversa dedicadas a ti e á xente do teu grupo!", + "billedMonthly": "*facturado como subscrición mensual", + "teamBasedTasksList": "Lista de tarefas para equipos", + "teamBasedTasksListDesc": "Prepara unha lista de tarefas compartida e fácil de ver para o grupo. Asigna tarefas á xente do grupo, ou deixa que as reclamen pola súa conta para deixar claro en que está traballando cada quen!", + "groupManagementControls": "Controis de xestión de grupo", + "groupManagementControlsDesc": "Mira o estado das tarefas para verificar que se completaron, expande o equipo de xestión do grupo para compartir responsabilidades, e goza dunha conversa de grupo privada para toda a xente do equipo.", + "inGameBenefits": "Vantaxes no xogo", + "inGameBenefitsDesc": "As persoa do grupo reciben unha exclusiva montura, un coélope, así como todas as vantaxes dunha subscrición, incluídos os lotes de equipamento mensual especiais e a posibilidade de mercar xemas con ouro.", + "inspireYourParty": "Inspira ao teu equipo, ludificade a vida en equipo.", + "letsMakeAccount": "Para comezar, fagámoste unha conta", + "nameYourGroup": "Logo, dá nome ao grupo", + "exampleGroupName": "Por exemplo: Academia de heroicidades", + "exampleGroupDesc": "Para as persoas seleccionadas para unirse á academia para heroínas e heroes", + "thisGroupInviteOnly": "Neste grupo só pode entrarse por invitación.", + "gettingStarted": "Primeiros pasos", + "congratsOnGroupPlan": "Parabéns por crear o teu novo grupo! Aquí tes unhas respostas para algunhas das preguntas máis frecuentes.", + "whatsIncludedGroup": "Que inclúe a subscrición", + "whatsIncludedGroupDesc": "Toda a xente do grupo recibe todas as vantaxes dunha subscrición, incluídos os obxectos de subscrición mensuais, a posibilidade de mercar xemas con ouro, e a montura coélope púrpura real, exclusiva para xente no plan de grupo.", + "howDoesBillingWork": "Como funciona a facturación?", + "howDoesBillingWorkDesc": "Ao liderado do grupo factúraselles segundo o número de persoas no grupo cada mes. O cargo inclúe o prezo de $9 (USD) da subscrición de líder de grupo, máis $3 USD por cada persoa adicional no grupo. Por exemplo: un grupo de catro persoas custará $18 USD/mes, dado que o grupo consiste nunha persoa líder do grupo e tres persoas adicionais.", + "howToAssignTask": "Como se asigna unha tarefa?", + "howToAssignTaskDesc": "Asigna calquera tarefa a unha ou máis persoas do grupo (incluída a persoa líder ou persoas xestoras) escribindo os seus alcumes no campo «Asignar a» no diálogo modal de creación da tarefa. Tamén podes decidir asignar unha tarefa despois de creala, editándoa e engadindo a persoa usuaria ao campo «Asignar a»!", + "howToRequireApproval": "Como indicar que unha tarefa necesita aprobación?", + "howToRequireApprovalDesc": "Conmuta a opción «Necesita aprobación» para indicar que unha tarefa concreta necesita confirmación por parte do liderado ou da xente de xestión. A persoa usuaria que marcase a tarefa non recibirá a recompensa por completala ata que se aprobe.", + "howToRequireApprovalDesc2": "A xente que lidera ou xestiona o grupo pode aprobar tarefas completadas directamente desde o taboleiro de tarefas ou desde o panel de notificacións.", + "whatIsGroupManager": "Que é unha persoa xestora de grupo?", + "whatIsGroupManagerDesc": "Unha persoa xestora de grupo é un rol de persoa usuaria que non ten acceso aos detalles de facturación do grupo, pero pode crear, asignar e aprobar tarefas compartidas para a xente do grupo. Podes nomear persoas xestoras desde a lista de xente do grupo.", + "goToTaskBoard": "Ir ao taboleiro de tarefas", + "sharedCompletion": "Condición de completude", + "recurringCompletion": "Ningunha, a tarefa de grupo non se completa", + "singleCompletion": "Unha, complétase cando calquera que a ten asignada a remata", + "allAssignedCompletion": "Todas, complétase cando toda a xente que a ten asignada a remata", "features": "Funcionalidades", "sendGiftTotal": "Total:", - "unassigned": "Sen asignar" + "unassigned": "Sen asignar", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> invitoute a unirte ao equipo <%- party %>", + "leaveGuild": "Abandonar o gremio", + "selectGift": "Seleccionar o agasallo", + "sendGiftToWhom": "A quen queres agasallar?", + "cannotRemoveQuestOwner": "Non podes retirar á persoa dona da misión activa. Interrompe primeiro a misión.", + "PMDisabled": "Desactivar as mensaxes privadas", + "assignTo": "Asignar a", + "PMUnblockUserToSendMessages": "Desbloquear esta persoa para continuar enviando e recibindo mensaxes.", + "editGuild": "Editar o gremio", + "blockedToSendToThisUser": "Non podes enviar a esta persoa porque a bloqueaches.", + "joinParty": "Unirse ao equipo", + "PMCanNotReply": "Non podes responder a esta conversa", + "joinGuild": "Unirse ao gremio", + "PMUserDoesNotReceiveMessages": "Esta persoa xa non recibe mensaxes privadas", + "giftMessageTooLong": "A lonxitude máxima das mensaxes en agasallos é <%= maxGiftMessageLength %>.", + "chooseTeamMember": "Buscar unha persoa no equipo", + "sendGiftLabel": "Queres incluír unha mensaxe co agasallo?", + "usernameOrUserId": "Escriba o @alcume ou o identificador de persoa usuaria", + "userWithUsernameOrUserIdNotFound": "Non se atopou o alcume ou identificador de persoa usuaria.", + "selectSubscription": "Seleccionar a subscrición", + "editParty": "Editar o equipo", + "blockYourself": "Non podes bloquearte a ti", + "pmReported": "Grazas por denunciar esta mensaxe.", + "thisTaskApproved": "Aprobouse esta tarefa", + "taskClaimed": "<%- userName %> reclamou a tarefa <%- taskText %>.", + "onlyPrivateGuildsCanUpgrade": "Só os gremios privados poden ascender a un plan de grupo.", + "youHaveBeenAssignedTask": "<%- managerName %> asignouche a tarefa <%- taskText %>.", + "groupCouple": "Unha parella compartindo tarefas", + "groupFriends": "Amizades compartindo tarefas", + "descriptionOptional": "Descrición", + "descriptionOptionalText": "Engadir unha descrición", + "lastCompleted": "Última completada", + "youEmphasized": "Ti", + "chatTemporarilyUnavailable": "A conversa está indispoñíbel temporalmente. Proba máis tarde.", + "newGroupsWelcome": "Dámoste a benvida ao novo taboleiro de tarefas compartidas!", + "newGroupsBullet08": "A persoa líder do grupo e as persoas xestoras poden engadir tarefas rapidamente desde a parte superior das columnas de tarefas", + "newGroupsBullet10a": "Deixa unha tarefa sen asignar se a pode completar calquera", + "newGroupsEnjoy": "Esperamos que goces da nova experiencia para plans de grupos!", + "createGroup": "Crear un grupo", + "groupParentChildren": "Nais, pais ou titores que preparar tarefas para as persoas ao seu cargo", + "groupActivityNotificationTitle": "<%= user %> publicou en <%= group %>", + "assignedDateOnly": "Asignouse o <%= date %>", + "messagePartyLeader": "Enviar unha mensaxe á persoa líder do equipo", + "assignedDateAndUser": "@<%- username %> asignouna o <%= date %>", + "claimRewards": "Reclamar as recompensas", + "dayStart": "Inicio do día: <%= startTime %>", + "newGroupsBullet10": "O estado de asignación determina a condición de completude:", + "languageSettings": "Configuración de idioma", + "bannedWordsAllowedDetail": "Con esta opción seleccionada, permitirase o uso de palabras prohibidas neste gremio.", + "viewDetails": "Ver os detalles", + "newGroupsBullet01": "Interactúa con tarefas directamente deste o taboleiro de tarefas compartidas", + "newGroupsBullet02": "Calquera pode completar as tarefas sen asignar", + "newGroupsBullet03": "As tarefas compartidas restabelécense ao mesmo tempo para toda a xente para colaborar mellor", + "newGroupsBullet04": "As tarefas diarias compartidas non causan dano cando se saltan nin aparecen no diálogo para rexistrar a actividade do día anterior", + "newGroupsBullet05": "A cor das tarefas compartidas empeorará se non se completan, para axudar a facer seguimento do progreso", + "invitedToThisQuest": "Invitáronte a esta misión!", + "suggestedGroup": "Suxerido porque levas pouco tempo en Habitica.", + "managerNotes": "Notas de xestión", + "newPartyPlaceholder": "Escribe o nome do teu equipo.", + "bannedWordsAllowed": "Permitir palabras prohibidas", + "groupUse": "Que describe mellor o uso do grupo?*", + "groupUseDefault": "Escolle unha resposta", + "groupCoworkers": "Persoas que traballan xuntas compartindo tarefas", + "groupManager": "Unha persoa xestora preparando tarefa para o persoal", + "groupTeacher": "Unha persoa mestra preparando tarefas para o alumnado", + "nameStar": "Nome*", + "nameStarText": "Engadir un título", + "nextPaymentMethod": "Seguinte: método de pago", + "newGroupsBullet07": "Conmuta a posibilidade de Amosar as tarefas compartidas no teu taboleiro de tarefas persoal", + "newGroupsBullet09": "Unha tarefa compartida pode desmarcarse para Amosar que aínda necesita traballo", + "newGroupsWhatsNew": "Olla as novidades:", + "newGroupsBullet06": "A vista de estado da tarefa permíteche ver rapidamente que persoas asignadas completaron a tarefa", + "newGroupsBullet10b": "Asigna unha tarefa a unha persoa para que só a poida completar ela", + "newGroupsBullet10c": "Asigna unha tarefa a varias persoas se a teñen que completar todas", + "newGroupsVisitFAQ": "Visita as preguntas frecuentes desde a lista despregábel de axuda para máis indicacións.", + "upgradeToGroup": "Ascender a grupo", + "viewStatus": "Estado", + "questWithOthers": "Completa misións con máis xente", + "checkinsLabel": "Accesos", + "classLabel": "Clase:", + "startPartyDetail": "Organiza un equipo ou únete a un
para completar misións e motivarte!", + "partyExceedsInvitesLimit": "Un equipo non pode ter máis de <%= maxInvites %> invitacións pendentes.", + "currentlyLookingForParty": "Estás buscando equipo!", + "partyFinderDescription": "Queres unirte a un equipo pero non coñeces a ninguén máis no xogo? Anuncia que buscas equipo!", + "invitedToYourParty": "Invitouse ao equipo!  Preme para desfacer", + "lookingForPartyTitle": "Atopar participantes", + "findMorePartyMembers": "Atopar máis participantes", + "findPartyMembers": "Atopar xente para o equipo", + "noOneLooking": "Non hai ninguén buscando equipo agora mesmo.
Podes comprobalo de novo máis tarde!", + "sendTotal": "Total:", + "lookForParty": "Buscar equipo", + "languageLabel": "Idioma:" } diff --git a/website/common/locales/gl/inventory.json b/website/common/locales/gl/inventory.json index 473d26874d..cc96ad0386 100755 --- a/website/common/locales/gl/inventory.json +++ b/website/common/locales/gl/inventory.json @@ -1,10 +1,10 @@ { "noItemsAvailableForType": "Non tes <%= type %>.", - "foodItemType": "Comida para mascotas", + "foodItemType": "Penso", "eggsItemType": "Ovos", "hatchingPotionsItemType": "Pocións de eclosión", - "specialItemType": "Special items", + "specialItemType": "Obxectos especiais", "lockedItem": "Obxecto bloqueado", "petAndMount": "Mascota e montura", - "allItems": "Todos os elementos" + "allItems": "Todos os obxectos" } diff --git a/website/common/locales/gl/limited.json b/website/common/locales/gl/limited.json index 54c54b38f5..eb8072d780 100755 --- a/website/common/locales/gl/limited.json +++ b/website/common/locales/gl/limited.json @@ -1,153 +1,153 @@ { - "annoyingFriends": "Amigos Irritantes", - "annoyingFriendsText": "", - "alarmingFriends": "Amigos Alarmantes", - "alarmingFriendsText": "", - "agriculturalFriends": "Amigos Agricultores", - "agriculturalFriendsText": "", - "aquaticFriends": "Amigos Acuáticos", - "aquaticFriendsText": "Got splashed <%= count %> times by party members.", - "valentineCard": "Tarxeta do día de San Valentin", - "valentineCardExplanation": "Por soportar un poema tan empalagoso, ambos recibides a insignia \"Amigos Devotos\"!", - "valentineCardNotes": "Envía unha tarxeta de San Valentín a un membro do equipo.", - "valentine0": "\"Roses are red\n\nMy Dailies are blue\n\nI'm happy that I'm\n\nIn a Party with you!\"", - "valentine1": "\"Roses are red\n\nViolets are nice\n\nLet's get together\n\nAnd fight against Vice!\"", - "valentine2": "\"Roses are red\n\nThis poem style is old\n\nI hope that you like this\n\n'Cause it cost ten Gold.\"", - "valentine3": "\"Roses are red\n\nIce Drakes are blue\n\nNo treasure is better\n\nThan time spent with you!\"", - "valentineCardAchievementTitle": "Amigos Devotos", - "valentineCardAchievementText": "Aww, you and your friend must really care about each other! Sent or received <%= count %> Valentine's Day cards.", - "polarBear": "Oso Polar", + "annoyingFriends": "Amizades irritantes", + "annoyingFriendsText": "<%= count %> veces vítima dunha bola de neve dunha persoa do equipo.", + "alarmingFriends": "Amizades alarmantes", + "alarmingFriendsText": "<%= count %> sustos por parte de persoas do equipo.", + "agriculturalFriends": "Amizades agrícolas", + "agriculturalFriendsText": "<%= count %> transformacións en flor por culpa de persoas do equipo.", + "aquaticFriends": "Amizades acuáticas", + "aquaticFriendsText": "<%= count %> salpicaduras por persoas do equipo.", + "valentineCard": "Tarxeta do día de San Valentín", + "valentineCardExplanation": "Por aturar un poema tan charramangueiro, recibides a insignia «Amizades devotas»!", + "valentineCardNotes": "Envía unha tarxeta de San Valentín a unha persoa do equipo.", + "valentine0": "«Nin o son do mar,\n\nnin o cantar do bilurico,\n\nnada me fai tan feliz\n\ncomo estar no teu equipo!»", + "valentine1": "«Deixemos atrás os días\n\nde produtividade quebradiza,\n\nXuntemos as nosas forzas\n\npara loitar contra a preguiza!»", + "valentine2": "«Espero que triunfe a paz,\n\nespero que triunfe o amor,\n\ne que gustes deste obsequio\n\nque dez de ouro me custou»", + "valentine3": "«Son valiosos os diamantes,\n\nesmeraldas e zafiros,\n\nmais non hai maior tesouro\n\nque o tempo que compartimos»", + "valentineCardAchievementTitle": "Amizades devotas", + "valentineCardAchievementText": "Que bonito, debedes de querervos moito! Enviou ou recibiu <%= count %> tarxetas do día de San Valentín.", + "polarBear": "Oso polar", "turkey": "Pavo", - "gildedTurkey": "Pavo Dourado", - "polarBearPup": "Cachorro de Oso Polar", + "gildedTurkey": "Pavo dourado", + "polarBearPup": "Cachorro de oso polar", "jackolantern": "Cabaza de Samaín", - "ghostJackolantern": "Ghost Jack-O-Lantern", - "glowJackolantern": "Glow-in-the-Dark Jack-O-Lantern", - "seasonalShop": "Tenda de Tempada", - "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>", - "seasonalShopTitle": "<%= linkStart %>Meiga da Tempada<%= linkEnd %>", - "seasonalShopClosedText": "The Seasonal Shop is currently closed!! It’s only open during Habitica’s four Grand Galas.", - "seasonalShopSummerText": "Happy Summer Splash!! Would you like to buy some rare items? They’ll only be available until July 31st!", - "seasonalShopFallText": "Happy Fall Festival!! Would you like to buy some rare items? They’ll only be available until October 31st!", - "seasonalShopWinterText": "Happy Winter Wonderland!! Would you like to buy some rare items? They’ll only be available until January 31st!", - "seasonalShopSpringText": "Happy Spring Fling!! Would you like to buy some rare items? They’ll only be available until April 30th!", - "seasonalShopFallTextBroken": "Oh... Benvid@ á Tenda da Tempada... Temos actualmente obxectos da Edición da Tempada outonal, ou algo así... Todo o que temos aquí estará dispoñible para a adquisición durante o evento Festival Outonal cada ano, pero só estaremos abertos ata o 31 de outubro... Supoño que deberías aprovisionarte agora, ou terás que esperar... e esperar... e esperar... *suspiro*", - "seasonalShopBrokenText": "My pavilion!!!!!!! My decorations!!!! Oh, the Dysheartener's destroyed everything :( Please help defeat it in the Tavern so I can rebuild!", - "seasonalShopRebirth": "Se mercaches pezas deste equipamento no pasado pero non as tes actualmente, podes volver mercalas na columna «Recompensas». Ao principio só poderás adquirir os obxectos da túa clase actual («pugnaz» é a predeterminada), pero non temas, os outros obxectos de clases específicas pasarán a estar dispoñíbeis se cambias á súa clase.", - "candycaneSet": "Bastón de Caramelo (Mago)", + "ghostJackolantern": "Cabaza fantasma de Samaín", + "glowJackolantern": "Cabaza fluorescente de Samaín", + "seasonalShop": "Tenda estacional", + "seasonalShopClosedTitle": "<%= linkStart %>Lea<%= linkEnd %>", + "seasonalShopTitle": "<%= linkStart %>Meiga estacional<%= linkEnd %>", + "seasonalShopClosedText": "A tenda estacional está pechada! Só abre durante as galas maiores de Habitica.", + "seasonalShopSummerText": "Feliz festa da auga! Queres mercar obxectos singulares? Pois non esquezas facelo antes de que remate a gala!", + "seasonalShopFallText": "Feliz magosto! Queres mercar obxectos singulares? Pois non esquezas facelo antes de que remate a gala!", + "seasonalShopWinterText": "Feliz inverno das marabillas! Queres mercar obxectos singulares? Pois non esquezas facelo antes de que remate a gala!", + "seasonalShopSpringText": "Feliz aventura de primavera! Queres mercar obxectos singulares? Pois non esquezas facelo antes de que remate a gala!", + "seasonalShopFallTextBroken": "Oh… Doute a benvida á tenda estacional… Estamos xuntando obxectos de tempada outonal ou algo así… Todo o que temos aquí estará dispoñíbel para mercar durante a festa do magosto cada ano, pero só abrimos ata o 31 de outubro… Así que máis vale que aproveites agora, ou terás que agardar… e agardar… *suspira*.", + "seasonalShopBrokenText": "O meu pavillón! As miñas decoracións! Oh, o desanimador destruíuno todo :( Axúdame a derrotalo na taberna para que poda reconstruír!", + "seasonalShopRebirth": "Se mercaches pezas deste equipamento no pasado pero xa non as tes, podes volver mercalas na columna «Recompensas». Ao principio só poderás adquirir os obxectos da túa clase actual («pugnaz» é a predeterminada), pero non temas, os outros obxectos de clases específicas pasarán a estar dispoñíbeis se cambias á súa clase.", + "candycaneSet": "Bastón de caramelo (maga)", "skiSet": "Esquíasasino (renarte)", - "snowflakeSet": "Folerpa (Curandeiro)", - "yetiSet": "Domador de ietis (pugnaz)", - "northMageSet": "Mago do Norte (Mago)", + "snowflakeSet": "Folerpa (albeite)", + "yetiSet": "Domador de Ieti (pugnaz)", + "northMageSet": "Maxia do norte (maga)", "icicleDrakeSet": "Pato de carambelo (renarte)", - "soothingSkaterSet": "Patinador Calmante (Curandeiro)", + "soothingSkaterSet": "Patinador calmante (albeite)", "gingerbreadSet": "Pan de xenxibre (pugnaz)", - "snowDaySet": "Snow Day Warrior (Warrior)", - "snowboardingSet": "Snowboarding Sorcerer (Mage)", - "festiveFairySet": "Festive Fairy (Healer)", + "snowDaySet": "Día de neve (pugnaz)", + "snowboardingSet": "Maxia de táboa de neve (maga)", + "festiveFairySet": "Fada festiva (albeite)", "cocoaSet": "Cacao (renarte)", - "toAndFromCard": "Para: <%= toName %>, De: <%= fromName %>", - "nyeCard": "Tarxeta de Ano Novo", - "nyeCardExplanation": "Por celebrardes o ano novo xunt@s, ambos recibides a insignia \"Vello Amigo\"!", - "nyeCardNotes": "Envía unha tarxeta de Ano Novo a un membro do equipo.", - "seasonalItems": "Obxectos de Tempada", - "nyeCardAchievementTitle": "Vello Amigo", - "nyeCardAchievementText": "Happy New Year! Sent or received <%= count %> New Year's cards.", - "nye0": "Feliz Ano Novo! Que mates un malo hábito.", - "nye1": "Feliz Ano Novo! Que consigas moitas recompensas.", - "nye2": "Feliz Ano Novo! Que obteñas un Día Perfecto.", - "nye3": "Feliz Ano Novo! Que a túa lista de Tarefas se manteña curta e fácil.", - "nye4": "Feliz Ano Novo! Que non che ataque un feroz Hipogrifo.", + "toAndFromCard": "Para <%= toName %>, de <%= fromName %>", + "nyeCard": "Postal de Aninovo", + "nyeCardExplanation": "Por xuntarvos para celebrar o Aninovo, recibides a insignia «Amizade anovada»!", + "nyeCardNotes": "Envía unha postal de Aninovo a unha persoa do equipo.", + "seasonalItems": "Obxectos estacionais", + "nyeCardAchievementTitle": "Amizade anovada", + "nyeCardAchievementText": "Feliz Aninovo! Enviou ou recibiu <%= count %> postais de Aninovo.", + "nye0": "Feliz Aninovo! Espero que deixemos atrás todos os malos hábitos.", + "nye1": "Feliz Aninovo! Que consigas moitas recompensas.", + "nye2": "Feliz Aninovo! Que os teus días sexan perfectos.", + "nye3": "Feliz Aninovo! Que a túa lista de tarefas sexa curta e fácil.", + "nye4": "Feliz Aninovo! Que non che ataque un feroz hipogrifo.", "mightyBunnySet": "Coello poderoso (pugnaz)", - "magicMouseSet": "Rato Máxico (Mago)", - "lovingPupSet": "Canciño Afectuoso (Curandeiro)", - "stealthyKittySet": "Gatiño discreto (renarte)", + "magicMouseSet": "Rato máxico (maga)", + "lovingPupSet": "Canciño afectuoso (albeite)", + "stealthyKittySet": "Gato discreto (renarte)", "daringSwashbucklerSet": "Espadachín valente (pugnaz)", - "emeraldMermageSet": "Seremáxica de Esmeralda (Mago)", - "reefSeahealerSet": "Curandeiro do Arrecife (Curandeiro)", + "emeraldMermageSet": "Seremáxica de esmeralda (maga)", + "reefSeahealerSet": "Maralbeite do arrecife (albeite)", "roguishPirateSet": "Pirata revoltoso (renarte)", "monsterOfScienceSet": "Monstro da ciencia (pugnaz)", - "witchyWizardSet": "Brux@ Feiticeir@ (Mago)", - "mummyMedicSet": "Médico da Momia (Curandeiro)", + "witchyWizardSet": "Maxia máxica (maga)", + "mummyMedicSet": "Medicina de momias (albeite)", "vampireSmiterSet": "Cazavampiros (renarte)", "bewareDogSet": "Can protector (pugnaz)", - "magicianBunnySet": "Coello do Mago (Mago)", - "comfortingKittySet": "Gatiño Reconfortante (Curandeiro)", - "sneakySqueakerSet": "Rinchador enganoso (renarte)", + "magicianBunnySet": "Coello de sombreiro (maga)", + "comfortingKittySet": "Gato reconfortante (albeite)", + "sneakySqueakerSet": "Delator enganoso (renarte)", "sunfishWarriorSet": "Peixe lúa (pugnaz)", - "shipSoothsayerSet": "Adiviñ@ do Barco (Mago)", - "strappingSailorSet": "Mariñeiro Vendador (Curandeiro)", + "shipSoothsayerSet": "Adiviñanza acuática (maga)", + "strappingSailorSet": "Mariña robusta (albeite)", "reefRenegadeSet": "Rebelde do arrecife (renarte)", "scarecrowWarriorSet": "Espantallo (pugnaz)", - "stitchWitchSet": "Stitch Witch (Mage)", - "potionerSet": "Potioner (Healer)", - "battleRogueSet": "Morcego (renarte)", - "springingBunnySet": "Springing Bunny (Healer)", - "grandMalkinSet": "Grand Malkin (Mage)", + "stitchWitchSet": "Remendos máxicos (maga)", + "potionerSet": "Preparación de pocións (albeite)", + "battleRogueSet": "Morcego de combate (renarte)", + "springingBunnySet": "Coello saltador (albeite)", + "grandMalkinSet": "Grande espantallo (maga)", "cleverDogSet": "Can listo (renarte)", "braveMouseSet": "Rato valente (pugnaz)", - "summer2016SharkWarriorSet": "Shark Warrior (Warrior)", - "summer2016DolphinMageSet": "Dolphin Mage (Mage)", - "summer2016SeahorseHealerSet": "Seahorse Healer (Healer)", + "summer2016SharkWarriorSet": "Tiburón (pugnaz)", + "summer2016DolphinMageSet": "Golfiño (maga)", + "summer2016SeahorseHealerSet": "Cabalo de mar (albeite)", "summer2016EelSet": "Anguila (renarte)", "fall2016SwampThingSet": "Cousa do pantano (pugnaz)", - "fall2016WickedSorcererSet": "Wicked Sorcerer (Mage)", - "fall2016GorgonHealerSet": "Gorgon Healer (Healer)", + "fall2016WickedSorcererSet": "Maxia escura (maga)", + "fall2016GorgonHealerSet": "Górgona (albeite)", "fall2016BlackWidowSet": "Viúva negra (renarte)", "winter2017IceHockeySet": "Hóckey sobre xeo (pugnaz)", - "winter2017WinterWolfSet": "Winter Wolf (Mage)", - "winter2017SugarPlumSet": "Sugar Plum Healer (Healer)", + "winter2017WinterWolfSet": "Lobo invernal (maga)", + "winter2017SugarPlumSet": "Cirola de azucre (albeite)", "winter2017FrostyRogueSet": "Xeado (renarte)", - "spring2017FelineWarriorSet": "Feline Warrior (Warrior)", - "spring2017CanineConjurorSet": "Canine Conjuror (Mage)", - "spring2017FloralMouseSet": "Floral Mouse (Healer)", + "spring2017FelineWarriorSet": "Felino (pugnaz)", + "spring2017CanineConjurorSet": "Conxuro canino (maga)", + "spring2017FloralMouseSet": "Rato floral (albeite)", "spring2017SneakyBunnySet": "Coello discreto (renarte)", - "summer2017SandcastleWarriorSet": "Sandcastle Warrior (Warrior)", - "summer2017WhirlpoolMageSet": "Whirlpool Mage (Mage)", - "summer2017SeashellSeahealerSet": "Seashell Seahealer (Healer)", + "summer2017SandcastleWarriorSet": "Castelo de area (pugnaz)", + "summer2017WhirlpoolMageSet": "Remuíño (maga)", + "summer2017SeashellSeahealerSet": "Maralbeite de cuncha (albeite)", "summer2017SeaDragonSet": "Dragón mariño (renarte)", - "fall2017HabitoweenSet": "Habitoween Warrior (Warrior)", - "fall2017MasqueradeSet": "Masquerade Mage (Mage)", - "fall2017HauntedHouseSet": "Haunted House Healer (Healer)", + "fall2017HabitoweenSet": "Samaín (pugnaz)", + "fall2017MasqueradeSet": "Mascarada (maga)", + "fall2017HauntedHouseSet": "Casa encantada (albeite)", "fall2017TrickOrTreatSet": "Truco ou trato (renarte)", - "winter2018ConfettiSet": "Confetti Mage (Mage)", - "winter2018GiftWrappedSet": "Gift-Wrapped Warrior (Warrior)", - "winter2018MistletoeSet": "Mistletoe Healer (Healer)", + "winter2018ConfettiSet": "Confetti (maga)", + "winter2018GiftWrappedSet": "Envolto para regalo (pugnaz)", + "winter2018MistletoeSet": "Visgo (albeite)", "winter2018ReindeerSet": "Reno (renarte)", - "spring2018SunriseWarriorSet": "Sunrise Warrior (Warrior)", - "spring2018TulipMageSet": "Tulip Mage (Mage)", - "spring2018GarnetHealerSet": "Garnet Healer (Healer)", + "spring2018SunriseWarriorSet": "Amencer (pugnaz)", + "spring2018TulipMageSet": "Tulipán (maga)", + "spring2018GarnetHealerSet": "Granate (albeite)", "spring2018DucklingRogueSet": "Patiño (renarte)", - "summer2018BettaFishWarriorSet": "Betta Fish Warrior (Warrior)", - "summer2018LionfishMageSet": "Lionfish Mage (Mage)", - "summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)", + "summer2018BettaFishWarriorSet": "Peixe beta (pugnaz)", + "summer2018LionfishMageSet": "Peixe león (maga)", + "summer2018MerfolkMonarchSet": "Monarca sirénido (albeite)", "summer2018FisherRogueSet": "Pescador (renarte)", "fall2018MinotaurWarriorSet": "Minotauro (pugnaz)", - "fall2018CandymancerMageSet": "Candymancer (Mage)", - "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)", + "fall2018CandymancerMageSet": "Docemancia (maga)", + "fall2018CarnivorousPlantSet": "Planta carnívora (albeite)", "fall2018AlterEgoSet": "Álter ego (renarte)", "winter2019BlizzardSet": "Ventisca (pugnaz)", - "winter2019PyrotechnicSet": "Pyrotechnic (Mage)", - "winter2019WinterStarSet": "Winter Star (Healer)", + "winter2019PyrotechnicSet": "Pirotecnia (maga)", + "winter2019WinterStarSet": "Estrela invernal (albeite)", "winter2019PoinsettiaSet": "Flor do Nadal (renarte)", - "eventAvailability": "Available for purchase until <%= date(locale) %>.", - "dateEndMarch": "April 30", - "dateEndApril": "April 19", - "dateEndMay": "May 31", - "dateEndJune": "June 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": "Until January 15th only, when you gift somebody a subscription, you get the same subscription for yourself for free!", - "winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3", + "eventAvailability": "Dispoñíbel para mercar ata o <%= date(locale) %>.", + "dateEndMarch": "31 de marzo", + "dateEndApril": "30 de abril", + "dateEndMay": "31 de maio", + "dateEndJune": "30 de xuño", + "dateEndJuly": "31 de xullo", + "dateEndAugust": "31 de agosto", + "dateEndSeptember": "30 de setembro", + "dateEndOctober": "31 de outubro", + "dateEndNovember": "30 de novembro", + "dateEndJanuary": "31 de xaneiro", + "dateEndFebruary": "28 de febreiro", + "winterPromoGiftHeader": "AGASALLA UNHA SUBSCRICIÓN E LEVA UNHA DE BALDE!", + "winterPromoGiftDetails1": "Só ata o 6 de xaneiro, cando agasalles unha subscrición, conseguirás a mesma subscrición para ti de balde!", + "winterPromoGiftDetails2": "Ten en conta que se ti ou a persoa á que agasallas xa tedes unha subscrición periódica, a subscrición agasallada non comezará ata que esa subscrición se cancele ou caduque. Grazas por apoiarnos! <3", "discountBundle": "lote", - "g1g1Announcement": "Gift a subscription and get a subscription free event going on now!", - "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!", + "g1g1Announcement": "Nestes momentos hai un evento de subscrición de balde ao agasallar unha!", + "g1g1Details": "Agasalla unha subscrición a unha amizade, e recibirás a mesma de balde!", "spring2019CloudRogueSet": "Nube (renarte)", "limitations": "Limitacións", "fall2020TwoHeadedRogueSet": "Bicéfalo (renarte)", @@ -162,5 +162,116 @@ "fall2019OperaticSpecterSet": "Espectro operístico (renarte)", "spring2020LapisLazuliRogueSet": "Lapislázuli (renarte)", "winter2021HollyIvyRogueSet": "Acivro e hedra (renarte)", - "winter2022FireworksRogueSet": "Fogos artificiais (renarte)" + "winter2022FireworksRogueSet": "Fogos artificiais (renarte)", + "royalPurpleJackolantern": "Cabaza púrpura real de Samaín", + "fall2019CyclopsSet": "Ciclope (maga)", + "spring2021SwanMageSet": "Cisne (maga)", + "winter2023WalrusWarriorSet": "Morsa (pugnaz)", + "winter2023FairyLightsMageSet": "Luces máxicas (maga)", + "marchYYYY": "marzo de <%= year %>", + "mayYYYY": "maio de <%= year %>", + "juneYYYY": "xuño de <%= year %>", + "winter2023CardinalHealerSet": "Cardinal (albeite)", + "augustYYYY": "agosto de <%= year %>", + "spring2023CaterpillarRogueSet": "Eiruga (renarte)", + "spring2023HummingbirdWarriorSet": "Colibrí (pugnaz)", + "spring2023MoonstoneMageSet": "Pedra de lúa (maga)", + "spring2023LilyHealerSet": "Lirio (albeite)", + "gemSaleHow": "Entre o <%= eventStartOrdinal %> e o <%= eventEndOrdinal %> de <%= eventStartMonth %>, merca calquera lote de xemas como sempre e a túa conta recibirá as xemas promocionais. Máis xemas para gastas, compartir, ou gardar para o lanzamentos futuros!", + "anniversaryLimitedDates": "Do 30 de xaneiro ao 8 de febreiro", + "limitedEvent": "Evento limitado", + "celebrateAnniversary": "Celebra o aniversario número 10 de Habitica con agasallos e obxectos exclusivos embaixo!", + "celebrateBirthday": "Celebra o aniversario número 10 de Habitica con agasallos e obxectos exclusivos!", + "jubilantGryphatricePromo": "Mascota grifotriz entusiasmada animada", + "dayFive": "Día 5", + "dayTen": "Día 10", + "partyRobes": "Vestidos de festa", + "twentyGems": "20 xemas", + "birthdaySet": "Lote de aniversario", + "fall2020DeathsHeadMothHealerSet": "Avelaíña de caveira (albeite)", + "fall2019LichSet": "Liche (albeite)", + "spring2020PuddleMageSet": "Charca (maga)", + "summer2020SeaGlassHealerSet": "Cristal mariño (albeite)", + "fall2020WraithWarriorSet": "Fantasma (pugnaz)", + "summer2021FlyingFishWarriorSet": "Pez voador (pugnaz)", + "spring2021SunstoneWarriorSet": "Pedra solar (pugnaz)", + "winter2021IceFishingWarriorSet": "Pesca polar (pugnaz)", + "fall2020ThirdEyeMageSet": "Terceiro ollo (maga)", + "spring2019AmberMageSet": "Ámbar (maga)", + "summer2021ParrotHealerSet": "Papagaio (albeite)", + "winter2020EvergreenSet": "Verdoso (pugnaz)", + "spring2021WillowHealerSet": "Salgueiro (albeite)", + "summer2021NautilusMageSet": "Nautilus (maga)", + "spring2020BeetleWarriorSet": "Vacaloura (pugnaz)", + "summer2019ConchHealerSet": "Cuncha (albeite)", + "spring2019OrchidWarriorSet": "Orquídea (pugnaz)", + "winter2020WinterSpiceSet": "Especia invernal (albeite)", + "winter2021ArcticExplorerHealerSet": "Exploración ártica (albeite)", + "winter2021WinterMoonMageSet": "Lúa invernal (maga)", + "spring2020IrisHealerSet": "Iris (albeite)", + "dateStartFebruary": "8 de febreiro", + "summer2022WaterspoutWarriorSet": "Ballón (pugnaz)", + "summer2022MantaRayMageSet": "Manta (maga)", + "summer2022AngelfishHealerSet": "Peixe anxo (albeite)", + "dateEndDecember": "31 de decembro", + "decemberYYYY": "decembro de <%= year %>", + "fall2022KappaRogueSet": "Kappa (renarte)", + "fall2022OrcWarriorSet": "Orco (pugnaz)", + "fall2022HarpyMageSet": "Harpía (maga)", + "fall2022WatcherHealerSet": "Observación (albeite)", + "februaryYYYY": "febreiro de <%= year %>", + "julyYYYY": "xullo de <%= year %>", + "septemberYYYY": "setembro de <%= year %>", + "octoberYYYY": "outubro de <%= year %>", + "novemberYYYY": "novembro de <%= year %>", + "g1g1Limitations": "Este é un evento de tempo limitado que comeza o 15 de decembro ás 8:00 na costa leste dos Estados Unidos (14:00 en España) e remata o 8 de xaneiro ás 23:59 (9 de xaneiro ás 05:59 en España). Esta promoción só se aplica cando agasallas a outra persoa de Habitica. Se ti ou a persoa receptora xa tedes unha subscrición, a subscrición agasallada engadirá meses de crédito que só se usarán cando a subscrición actual se cancele ou caduque.", + "noLongerAvailable": "Este obxecto xa non está dispoñíbel.", + "spring2022RainstormWarriorSet": "Tormenta con choiva (pugnaz)", + "spring2022ForsythiaMageSet": "Forsitia (maga)", + "spring2022PeridotHealerSet": "Olivina (albeite)", + "fall2021HeadlessWarriorSet": "Sen cabeza (pugnaz)", + "fall2021BrainEaterMageSet": "Come cerebros (maga)", + "fall2021FlameSummonerHealerSet": "Invocación de lume (albeite)", + "eventAvailabilityReturning": "Dispoñíbel para mercar ata o <%= availableDate(locale) %>. Esta poción estivo dispoñíbel por última vez o <%= previousDate(locale) %>.", + "winter2022StockingWarriorSet": "Acumulación (pugnaz)", + "winter2022PomegranateMageSet": "Milgrandeira (maga)", + "winter2022IceCrystalHealerSet": "Cristal de xeo (albeite)", + "g1g1": "Agasalla unha, leva unha", + "g1g1Event": "Nestes momentos hai un evento «Agasalla unha, leva unha»!", + "g1g1Returning": "Para facer honor á estación, recuperamos unha promoción moi especial. Agora, cando agasalles unha subscrición, recibirás a mesma a cambio!", + "aprilYYYY": "abril de <%= year %>", + "winter2023RibbonRogueSet": "Lazo (renarte)", + "spring2019RobinHealerSet": "Pisco (albeite)", + "summer2019SeaTurtleWarriorSet": "Tartaruga mariña (pugnaz)", + "summer2019WaterLilyMageSet": "Ninfea (maga)", + "fall2019RavenSet": "Corvo (pugnaz)", + "winter2020CarolOfTheMageSet": "Panxoliña máxica (maga)", + "summer2020RainbowTroutWarriorSet": "Troita arco da vella (pugnaz)", + "summer2020OarfishMageSet": "Peixe sable (maga)", + "januaryYYYY": "xaneiro de <%= year %>", + "howItWorks": "Como funciona", + "g1g1HowItWorks": "Escribe o alcume da conta á que queres agasallar. A continuación selecciona a duración da subscrición que queres agasallar e mércaa. A túa conta recibirá automaticamente como recompensa o mesmo nivel de subscrición que acabas de agasallar.", + "gemSaleLimitations": "Esta promoción só se aplica durante o evento de tempo limitado. Este evento comeza o <%= eventStartOrdinal %> de <%= eventStartMonth %> ás 8:00 na costa leste dos Estados Unidos (12:00 UTC) e remata o <%= eventEndOrdinal %> de <%= eventStartMonth %> ás 20:00 (00:00 UTC). A oferta promocional só está dispoñíbel ao mercares xemas para ti.", + "anniversaryLimitations": "Este é un evento de tempo limitado que comeza o 30 de xaneiro ás 8:00 na costa leste dos Estados Unidos (14:00 en España) e remata o 8 de febreiro ás 23:59 (9 de febreiro ás 05:59 en España). Durante este tempo poderás mercar a grifotriz entusiasmada de edición limitada e dez pocións de eclosión máxicas. O resto de agasallos listados na sección «Catro de balde» entregaranse automaticamente a todas as contas que estivesen activas nos 30 días anteriores ao envío do agasallo. As contas creadas despois de enviarse os agasallos non poderán reclamalos.", + "limitedEdition": "Edición limitada", + "anniversaryGryphatriceText": "A singular grifotriz entusiasmada únese á celebración do aniversario! Non perdas a oportunidade de conseguir esta exclusiva mascota animada.", + "anniversaryGryphatricePrice": "Consíguea hoxe por $9,99 ou 60 xemas", + "buyNowMoneyButton": "Comprar agora por $9,99", + "buyNowGemsButton": "Comprar agora por 60 xemas", + "wantToPayWithGemsText": "Queres pagar con xemas?", + "wantToPayWithMoneyText": "Queres pagar con Stripe, Paypal ou Amazon?", + "ownJubilantGryphatrice": "Xa tes a grifotriz entusiasmada! Visita a corte para equipala!", + "jubilantSuccess": "Mercaches a grifotriz entusiasmada!", + "stableVisit": "Visita a corte para equipala!", + "takeMeToStable": "Lévame á corte", + "plentyOfPotions": "Pocións de sobra", + "plentyOfPotionsText": "Recuperamos 10 das pocións de eclosión máxicas favoritas da comunidade. Vai ao mercado para completar a túa colección!", + "visitTheMarketButton": "Ir o mercado", + "fourForFree": "Catro de balde", + "fourForFreeText": "Para que non pare a festa, regalamos vestidos de festa, 20 xemas, e un lote de fondos e obxectos de aniversario de edición limitada que inclúen unha capa, ombreiras, e unha máscara.", + "dayOne": "Día 1", + "summer2023GoldfishWarriorSet": "Carpa vermella (pugnaz)", + "summer2023GuppyRogueSet": "Guppy (renarte)", + "summer2023KelpHealerSet": "Kelp (albeite)", + "summer2023CoralMageSet": "Coral (maga)" } diff --git a/website/common/locales/gl/loginincentives.json b/website/common/locales/gl/loginincentives.json index 535dbd227c..d03d746d54 100755 --- a/website/common/locales/gl/loginincentives.json +++ b/website/common/locales/gl/loginincentives.json @@ -5,21 +5,21 @@ "awesome": "Xenial!", "countLeft": "Check-ins until next reward: <%= count %>", "incentivesDescription": "Para adoptar hábitos, a consistencia resulta primordial. Cada día que accedas estarás máis cerca de conseguir un premio.", - "checkinEarned": "O teu número de accesos subiu!", + "checkinEarned": "O teu contador de accesos subiu!", "unlockedCheckInReward": "Desbloqueaches un premio por acceso!", - "checkinProgressTitle": "Progreso ata a seguinte", + "checkinProgressTitle": "Progreso ata o seguinte", "incentiveBackgroundsUnlockedWithCheckins": "Os fondos sinxelos bloqueados desbloquearanse con accesos diarios.", "oneOfAllPetEggs": "un de cada ovo de mascota estándar", "twoOfAllPetEggs": "dous de cada ovo de mascota estándar", "threeOfAllPetEggs": "tres de cada ovo de mascota estándar", "oneOfAllHatchingPotions": "unha de cada poción de eclosión estándar", "threeOfEachFood": "tres de cada comida de mascota estándar", - "fourOfEachFood": "catro de cada comida de mascota estándar", + "fourOfEachFood": "catro de cada penso estándar", "twoSaddles": "dúas selas", "threeSaddles": "tres selas", "incentiveAchievement": "o logro «Realmente leal»", "royallyLoyal": "Realmente leal", - "royallyLoyalText": "Este usuario accedeu máis de 500 veces, e gañou todos os premios de acceso!", - "checkInRewards": "Recompensas por acceder", - "backloggedCheckInRewards": "Recibiches premios de acceso! Consulta o teu inventario e equipo para ver as novidades." + "royallyLoyalText": "Esta persoa accedeu máis de 500 veces, e gañou todos os premios por acceso!", + "checkInRewards": "Recompensas por acceso", + "backloggedCheckInRewards": "Recibiches premios por acceso! Consulta o teu inventario e equipamento para ver as novidades." } diff --git a/website/common/locales/gl/merch.json b/website/common/locales/gl/merch.json index f6b6b3fecf..52062a1d3a 100755 --- a/website/common/locales/gl/merch.json +++ b/website/common/locales/gl/merch.json @@ -1,3 +1,3 @@ { - "merch" : "Merchandise" + "merch": "Material promocional" } diff --git a/website/common/locales/gl/messages.json b/website/common/locales/gl/messages.json index c61658f260..4feeef57cf 100755 --- a/website/common/locales/gl/messages.json +++ b/website/common/locales/gl/messages.json @@ -1,54 +1,63 @@ { - "messageLostItem": "O teu <%= itemText %> rompeu.", + "messageLostItem": "<%= itemText %> rompeu.", "messageTaskNotFound": "Non se atopou a tarefa.", "messageTagNotFound": "Non se atopou a etiqueta.", - "messagePetNotFound": ":pet non atopad@ en user.items.pets", - "messageFoodNotFound": ":food non atopad@ en user.items.food", - "messageNotAvailable": "Este obxecto non está disponible actualmente para a compra.", + "messagePetNotFound": ":pet non se atopou en user.items.pets", + "messageFoodNotFound": ":food non se atopou en user.items.food", + "messageNotAvailable": "Este obxecto non está dispoñíbel para mercar.", "messageCannotFeedPet": "Non podes dar de comer a esta mascota.", - "messageAlreadyMount": "Xa tes esa montura. Intenta alimentar a outra mascota.", - "messageEvolve": "Acabad de domesticar @ <%= egg %>, vaiamos a dar unha volta!", - "messageLikesFood": "<%= egg %> really likes <%= foodText %>!", - "messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.", + "messageAlreadyMount": "Xa tes esa montura. Intenta dar de comer a outra mascota.", + "messageEvolve": "Domesticaches a <%= egg %>, vaiamos dar unha volta!", + "messageLikesFood": "<%= egg %> parece feliz tras comer <%= foodText %>!", + "messageDontEnjoyFood": "<%= egg %> non parece moi feliz tras comer <%= foodText %>.", "messageBought": "Compraches <%= itemText %>", - "messageUnEquipped": "<%= itemText %> desequipado.", - "messageMissingEggPotion": "Fáltache ou ben o ovo ou ben a poción", - "messageInvalidEggPotionCombo": "Non podesfacer eclosionar Ovos de Misións con Pocións de Eclosión Máxicas! Proba cun ovo diferente.", - "messageAlreadyPet": "Xa tes esa mascota. Intenta facer eclosionar unha combinación diferente!", - "messageHatched": "O teu ovo eclosionou! Visita o establo para equipar a túa mascota.", - "messageNotEnoughGold": "Non tes suficiente Ouro.", - "messageTwoHandedEquip": "Necesitas as dúas mans para empuñar @ <%= twoHandedText %>, así que desequípaste de <%= offHandedText %>.", - "messageTwoHandedUnequip": "Necesitas as dúas mans para empuñar @ <%= twoHandedText %>, así que quitáchel@ cando te armaches con <%= offHandedText %>.", - "messageDropFood": "You've found <%= dropText %>!", - "messageDropEgg": "You've found a <%= dropText %> Egg!", - "messageDropPotion": "You've found a <%= dropText %> Hatching Potion!", + "messageUnEquipped": "Desequipouse <%= itemText %>.", + "messageMissingEggPotion": "Fáltanche o ese ovo ou esa poción", + "messageInvalidEggPotionCombo": "Non podes facer nacer mascotas de misión con pocións de eclosión máxicas! Proba cun ovo diferente.", + "messageAlreadyPet": "Xa tes esa mascota. Proba outra combinación!", + "messageHatched": "A túa nova mascota naceu! Podes equipala desde a corte.", + "messageNotEnoughGold": "Non tes ouro dabondo", + "messageTwoHandedEquip": "<%= twoHandedText %> require dúas mans, desequipouse <%= offHandedText %>.", + "messageTwoHandedUnequip": "<%= twoHandedText %> require dúas mans, desequipouse ao equipar <%= offHandedText %>.", + "messageDropFood": "Atopaches <%= dropText %>!", + "messageDropEgg": "Atopaches un ovo «<%= dropText %>»!", + "messageDropPotion": "Atopaches unha poción de eclosión «<%= dropText %>»!", "messageDropMysteryItem": "Abres a caixa e atopas <%= dropText %>!", - "messageAlreadyOwnGear": "Xa posúes este obxecto. Úsao indo á páxina \"equipamento\".", - "previousGearNotOwned": "You need to purchase a lower level gear before this one.", - "messageHealthAlreadyMax": "Xa tes o máximo de saúde.", - "messageHealthAlreadyMin": "Oh no! You have already run out of health so it's too late to buy a health potion, but don't worry - you can revive!", - "armoireEquipment": "<%= image %> Acabas de atopar un elemento de Equipemento pouco frecuente no Armario: <%= dropText %>! Xenial!", - "armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropText %>. What's that doing in here?", - "armoireExp": "Pelexas co Armario e gañas Experiencia. Toma xa!", - "messageInsufficientGems": "Non tes suficientes Xemas!", - "messageGroupAlreadyInParty": "Xa pertences a un equipo, intenta actualizar a páxina.", - "messageGroupOnlyLeaderCanUpdate": "Só pode actualizar o grupo o líder do grupo!", - "messageGroupRequiresInvite": "Non podes unirte a un grupo ao cal non estás invitad@.", - "messageGroupCannotRemoveSelf": "Non podes eliminarte!", - "messageGroupChatBlankMessage": "Non podes enviar unha mensaxe en blanco", - "messageGroupChatLikeOwnMessage": "Non podes darlle a \"gústame\" na túa mensaxe. Non sexas así.", - "messageGroupChatFlagAlreadyReported": "Xa denunciaches esta mensaxe.", - "messageGroupChatNotFound": "Mensaxe non atopada!", - "messageGroupChatAdminClearFlagCount": "Só un administrador pode reinicializar a conta de denuncias!", - "messageCannotFlagSystemMessages": "You cannot flag a system message. If you need to report a violation of the Community Guidelines related to this message, please email a screenshot and explanation to Lemoness at <%= communityManagerEmail %>.", - "messageGroupChatSpam": "Whoops, looks like you're posting too many messages! Please wait a minute and try again. The Tavern chat only holds 200 messages at a time, so Habitica encourages posting longer, more thoughtful messages and consolidating replies. Can't wait to hear what you have to say. :)", - "messageCannotLeaveWhileQuesting": "You cannot accept this party invitation while you are in a quest. If you'd like to join this party, you must first abort your quest, which you can do from your party screen. You will be given back the quest scroll.", - "messageUserOperationProtected": "o directorio `<%= operation %>` non se gardou, posto que é un directorio protexido.", - "messageNotificationNotFound": "Notificación non atopada.", - "messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.", - "notificationsRequired": "Requírense as ids de notificación.", - "unallocatedStatsPoints": "You have <%= points %> unallocated Stat Points", - "beginningOfConversation": "This is the beginning of your conversation with <%= userName %>. Remember to be kind, respectful, and follow the Community Guidelines!", - "messageDeletedUser": "Sorry, this user has deleted their account.", - "messageMissingDisplayName": "Missing display name." + "messageAlreadyOwnGear": "Xa tes este obxecto. Equípao desde a páxina de equipamento.", + "previousGearNotOwned": "Tes que mercar un equipo de nivel inferior antes de mercar este.", + "messageHealthAlreadyMax": "Xa tes a vida ao máximo.", + "messageHealthAlreadyMin": "Oh, non! Xa perdiches toda a vida, así que non da tempo a mercar unha poción de vida, pero non te preocupes, podes revivir!", + "armoireEquipment": "<%= image %> Atopaches unha peza de equipamento singular no armario: <%= dropText %>! Xenial!", + "armoireFood": "<%= image %> Fedellas no armario e atopas <%= dropText %>. Que fai iso aquí?", + "armoireExp": "Pelexas co armario e gañas experiencia. Toma esa!", + "messageInsufficientGems": "Non tes xemas dabondo!", + "messageGroupAlreadyInParty": "Xa estás nun equipo, proba a cargar de novo.", + "messageGroupOnlyLeaderCanUpdate": "Só a persoa líder do grupo pode actualizar o grupo!", + "messageGroupRequiresInvite": "Non podes unirte a un grupo sen invitación.", + "messageGroupCannotRemoveSelf": "Non podes retirarte!", + "messageGroupChatBlankMessage": "Non podes enviar unha mensaxe baleira", + "messageGroupChatLikeOwnMessage": "Non pode gustarche a túa mensaxe. Non sexas así.", + "messageGroupChatFlagAlreadyReported": "Xa informaches desta mensaxe", + "messageGroupChatNotFound": "Non se atopou a mensaxe!", + "messageGroupChatAdminClearFlagCount": "Só unha persoa administradora pode borrar o contador de marcas!", + "messageCannotFlagSystemMessages": "Non podes marcar unha mensaxe do sistema. Se tes que informar dun incumprimento das directrices da comunidade relacionada con esta mensaxe, envía por correo electrónico unha captura de pantalla e unha explicación ao noso equipo de xestión da comunidade en <%= communityManagerEmail %>.", + "messageGroupChatSpam": "Vaia, parece que estás publicando demasiadas mensaxes! Agarda un minuto e inténtao de novo. A conversa da taberna só garda 200 mensaxes de cada vez, así que Habitica promove publicar mensaxes máis longas e mellor pensadas, e respostas condensadas. Estamos desexando saber o que tes que dicir. :)", + "messageCannotLeaveWhileQuesting": "Non podes aceptar esta invitación a un equipo mentres estás nunha misión. Se queres unirte a este equipo, primeiro debes interromper a misión, o cal podes facer desde a pantalla de equipo. Recuperarás o pergameo de misión.", + "messageUserOperationProtected": "a ruta «<%= operation %>» non se gardou porque está protexida.", + "messageNotificationNotFound": "Non se atopou a notificación.", + "messageNotAbleToBuyInBulk": "Non se poden mercar varias unidades deste obxecto.", + "notificationsRequired": "Os identificadores de notificación son obrigatorios.", + "unallocatedStatsPoints": "Tes <%= points %> puntos de condición sen asignar", + "beginningOfConversation": "Este é o comezo da túa conversa con <%= userName %>.", + "messageDeletedUser": "Sentímolo, esta persoa eliminou a súa conta.", + "messageMissingDisplayName": "Falta o nome visual.", + "messageBackgroundUnEquipped": "Desequipouse o fondo.", + "messageAllUnEquipped": "Desequipouse todo.", + "beginningOfConversationReminder": "Se amábel, ten respecto, e segue as directrices da comunidade!", + "reportedMessage": "Informaches desta mensaxe ao equipo de moderación.", + "newsPostNotFound": "A publicación non se atopou ou non tes acceso.", + "canDeleteNow": "Agora podes eliminar a mensaxe se queres.", + "messagePetMountUnEquipped": "Desequipáronse a mascota e a montura.", + "messageBattleGearUnEquipped": "Desequipouse o equipamento de batalla.", + "messageCostumeUnEquipped": "Desequipouse a disfrace." } diff --git a/website/common/locales/gl/noscript.json b/website/common/locales/gl/noscript.json index 4a8420aef1..5ca7023953 100755 --- a/website/common/locales/gl/noscript.json +++ b/website/common/locales/gl/noscript.json @@ -1,6 +1,4 @@ { - - "jsDisabledHeadingFull": "Que pena! O teu navigador non ten JavaScript habilitado e sen el, Habitica non pode funcionar correctamente", - - "jsDisabledLink": "Por favor, habilita JavaScript para continuar!" -} \ No newline at end of file + "jsDisabledHeadingFull": "Lamentabelmente o teu navegador non ten JavaScript activado, e Habitica non pode funcionar correctamente sen el", + "jsDisabledLink": "Activa JavaScript para continuar!" +} diff --git a/website/common/locales/gl/npc.json b/website/common/locales/gl/npc.json index 811f82ba71..267248207b 100755 --- a/website/common/locales/gl/npc.json +++ b/website/common/locales/gl/npc.json @@ -1,122 +1,138 @@ { - "npc": "Personaxes Non Xogables", - "npcAchievementName": "<%= key %> PNX", - "npcAchievementText": "Apoiou o proxecto Kickstarter ao nivel máximo!", - "welcomeTo": "Benvida a", - "welcomeBack": "Benvida de volta!", + "npc": "Personaxe non xogábel", + "npcAchievementName": "Personaxe non xogábel <%= key %>", + "npcAchievementText": "Apoiou o proxecto en Kickstarter co nivel máximo!", + "welcomeTo": "Dámoste a benvida a", + "welcomeBack": "Un pracer verte de novo!", "justin": "Xustino", - "justinIntroMessage1": "Hello there! You must be new here. My name is Justin, and I'll be your guide in Habitica.", - "justinIntroMessage3": "Great! Now, what are you interested in working on throughout this journey?", - "justinIntroMessageUsername": "Before we begin, let’s figure out what to call you. Below you’ll find a display name and username I’ve generated for you. After you’ve picked a display name and username, we’ll get started by creating an avatar!", - "justinIntroMessageAppearance": "So how would you like to look? Don’t worry, you can change this later.", - "introTour": "Here we are! I've filled out some Tasks for you based on your interests, so you can get started right away. Click a Task to edit or add new Tasks to fit your routine!", + "justinIntroMessage1": "Ola! Acabas de chegar, non? Chámome Xustino, e fareite de guía en Habitica.", + "justinIntroMessage3": "Xenial! Agora dime, en que queres traballar durante esta aventura?", + "justinIntroMessageUsername": "Antes de nada, necesitarás un nome. Embaixo atoparás un nome visual e un alcume que xerei para ti. Unha vez decidas como queres chamarte, empezaremos a crear o teu avatar!", + "justinIntroMessageAppearance": "Que aparencia queres? Non te preocupes, sempre podes cambiar máis adiante.", + "introTour": "E chegamos! Prepareite algunhas tarefas en función dos teus intereses, para que poidas empezar canto antes. Preme unha tarefa para editala ou engade novas tarefas que se axusten á túa rutina!", "prev": "Anterior", - "next": "Next", - "randomize": "Aleatorio", - "mattBoch": "Matt Boch", - "mattBochText1": "Welcome to the Stable! I'm Matt, the beast master. Starting at level 3, you will find eggs and potions to hatch pets with. When you hatch a pet in the Market, it will appear here! Click a pet's image to add it to your avatar. Feed them with the food you find after level 3, and they'll grow into hardy mounts.", - "welcomeToTavern": "Welcome to The Tavern!", - "sleepDescription": "Need a break? Check into Daniel's Inn to pause some of Habitica's more difficult game mechanics:", - "sleepBullet1": "Missed Dailies won't damage you", - "sleepBullet2": "Tasks won't lose streaks or decay in color", - "sleepBullet3": "Bosses won't do damage for your missed Dailies", + "next": "Seguinte", + "randomize": "Desordenar", + "mattBoch": "Matías Fraga", + "mattBochText1": "Doute a benvida á corte! Son Matías, o mestre das bestas. Cada vez que completes unha tarefa terás unha oportunidade de recibir un ovo ou unha poción de eclosión para facer nacer unha mascota. Cando a túa mascota naza aparecerá aquí! Preme a imaxe dunha mascota para engadila ao teu avatar. Aliméntaas co penso que atopes e converteranse en rechas monturas.", + "welcomeToTavern": "Dámoste a benvida á taberna!", + "sleepDescription": "Necesitas un descanso? Entra na pousada de Daniel para pausar algunhas das mecánicas de xogo máis difíciles de Habitica:", + "sleepBullet1": "As tarefas diarias que non completes non te farán dano (as criaturas rivais continuarán facendo dano a causa das tarefas diarias sen facer do resto do equipo)", + "sleepBullet2": "As túas series de tarefas e contadores de hábitos non se restabelecerán", + "sleepBullet3": "O teu dano á criatura rival de misión ou obxectos de colección atopados seguirán pendentes ata que saias da pousada", "sleepBullet4": "Your boss damage or collection Quest items will stay pending until check-out", - "pauseDailies": "Pause Damage", - "unpauseDailies": "Unpause Damage", - "staffAndModerators": "Staff and Moderators", - "communityGuidelinesIntro": "Habitica tries to create a welcoming environment for users of all ages and backgrounds, especially in public spaces like the Tavern. If you have any questions, please consult our Community Guidelines.", - "acceptCommunityGuidelines": "I agree to follow the Community Guidelines", - "worldBossEvent": "World Boss Event", - "worldBossDescription": "World Boss Description", - "welcomeMarketMobile": "Welcome to the Market! Buy hard-to-find eggs and potions! Come see what we have to offer.", - "howManyToSell": "How many would you like to sell?", - "yourBalance": "Your balance", + "pauseDailies": "Pausar o dano", + "unpauseDailies": "Continuar o dano", + "staffAndModerators": "Equipo e moderación", + "communityGuidelinesIntro": "Habitica intenta crear un clima de benvida para persoas de todas as idades e realidades, especialmente nos espazos públicos como a taberna. Se tes calquera dúbida, consulta as directrices da comunidade.", + "acceptCommunityGuidelines": "Acepto seguir as directrices da comunidade", + "worldBossEvent": "Evento de criatura rival mundial", + "worldBossDescription": "Descrición de criatura rival mundial", + "welcomeMarketMobile": "Dámoste a benvida ao mercado! Compra ovos e pocións difíciles de atopar! Ven e mira toda a nosa oferta.", + "howManyToSell": "Canto queres vender?", + "yourBalance": "Saldo:", "sell": "Vender", - "buyNow": "Buy Now", - "sortByNumber": "Number", - "featuredItems": "Featured Items!", - "hideLocked": "Hide locked", - "hidePinned": "Hide pinned", - "hideMissing": "Hide Missing", - "amountExperience": "<%= amount %> Experience", - "amountGold": "<%= amount %> Gold", - "namedHatchingPotion": "<%= type %> Hatching Potion", - "buyGems": "Mercar Xemas", - "purchaseGems": "Adquirir Xemas", - "items": "Items", + "buyNow": "Comprar agora", + "sortByNumber": "Número", + "featuredItems": "Obxectos promovidos!", + "hideLocked": "Agochar os bloqueados", + "hidePinned": "Agochar so fixados", + "hideMissing": "Agochar os que falten", + "amountExperience": "<%= amount %> de experiencia", + "amountGold": "<%= amount %> de ouro", + "namedHatchingPotion": "Poción de eclosión <%= type %>", + "buyGems": "Mercar xemas", + "purchaseGems": "Mercar xemas", + "items": "Obxectos", "AZ": "A-Z", "sort": "Ordenar", - "sortBy": "Sort By", - "groupBy2": "Group By", - "sortByName": "Name", + "sortBy": "Ordenar por", + "groupBy2": "Agrupar por", + "sortByName": "Nome", "quantity": "Cantidade", "cost": "Custo", "shops": "Tendas", "custom": "Personalizado", "wishlist": "Lista de desexos", - "wrongItemType": "The item type \"<%= type %>\" is not valid.", - "wrongItemPath": "The item path \"<%= path %>\" is not valid.", - "unpinnedItem": "You unpinned <%= item %>! It will no longer display in your Rewards column.", + "wrongItemType": "O tipo de obxecto «<%= type %>» non é válido.", + "wrongItemPath": "A ruta de obxecto «<%= path %>» non é válida.", + "unpinnedItem": "Soltaches <%= item %>! Deixará de aparecer na túa columna de recompensas.", "cannotUnpinArmoirPotion": "The Health Potion and Enchanted Armoire cannot be unpinned.", - "purchasedItem": "You bought <%= itemName %>", - "ianTextMobile": "Can I interest you in some quest scrolls? Activate them to battle monsters with your Party!", - "featuredQuests": "Featured Quests!", + "purchasedItem": "Mercaches <%= itemName %>", + "ianTextMobile": "Interesaríante uns pergameos de misión? Podes activalos para loitar contra monstros co teu equipo!", + "featuredQuests": "Misións promovidas!", "cannotBuyItem": "Non podes mercar este obxecto.", - "mustPurchaseToSet": "Debes mercar <%= val %> para poñel@ en <%= key %>.", - "typeRequired": "Requírese o tipo", - "positiveAmountRequired": "Positive amount is required", - "notAccteptedType": "O tipo, Type, debe ser un dos seguintes: [eggs, hatchingPotions, premiumHatchingPotions, food, quests, gear]", - "contentKeyNotFound": "Clave non atopada para o Contido <%= type %>", - "plusGem": "+<%= count %> Gem", - "typeNotSellable": "Este tipo non está en venta. Debe ser un dos seguintes <%= acceptedTypes %>", - "userItemsKeyNotFound": "Clave non atopada para user.items <%= type %>", - "userItemsNotEnough": "You do not have enough <%= type %>", - "pathRequired": "Requírese a cadea de caracteres do directorio", + "mustPurchaseToSet": "Debes mercar <%= val %> para poñer en <%= key %>.", + "typeRequired": "O tipo é obrigatorio", + "positiveAmountRequired": "A cantidade debe ser positiva", + "notAccteptedType": "O tipo debe ser un dos seguintes: eggs (ovos), hatchingPotions (pocións de eclosión), premiumHatchingPotions (pocións de eclosión especiais), food (penso), quests (misións), gear (equipamento)", + "contentKeyNotFound": "Non se atopou a clave do contido <%= type %>", + "plusGem": "+<%= count %> xemas", + "typeNotSellable": "Este tipo non pode venderse. Debe ser un dos seguintes: <%= acceptedTypes %>", + "userItemsKeyNotFound": "Non se atopou a clave para user.items <%= type %>", + "userItemsNotEnough": "Non tes <%= type %> dabondo", + "pathRequired": "A cadea da ruta é obrigatoria", "unlocked": "Desbloqueáronse obxectos", "alreadyUnlocked": "O lote enteiro xa está desbloqueado.", - "alreadyUnlockedPart": "O lote enteiro xa está desbloqueado parcialmente.", - "invalidQuantity": "Quantity to purchase must be a number.", - "USD": "Dólares americanos (USD)", - "newStuff": "New Stuff by Bailey", - "newBaileyUpdate": "New Bailey Update!", - "tellMeLater": "Tell Me Later", + "alreadyUnlockedPart": "O lote enteiro xa está desbloqueado parcialmente. É máis barato mercar o resto de obxectos por separado.", + "invalidQuantity": "A cantidade para mercar debe ser un número enteiro positivo.", + "USD": "(USD)", + "newStuff": "Novidades de Baia", + "newBaileyUpdate": "Nova actualización de Baia!", + "tellMeLater": "Lémbramo máis tarde", "dismissAlert": "Ignorar este aviso", - "donateText3": "Habitica é un proxecto de código aberto cuxo apoio depende dos nosos usuarios. O diñeiro que gastas en xemas axúdanos a manter os servidores funcionais, manter un pequeno persoal, desenvolver novas funcionalidades, e aportar incentivos aos nosos programadores voluntarios. Grazas pola túa xenerosidade!", - "card": "Tarxeta de Crédito (usando Stripe)", - "paymentMethods": "Adquirir usando", - "paymentSuccessful": "Your payment was successful!", - "paymentYouReceived": "You received:", - "paymentYouSentGems": "You sent <%- name %>:", - "paymentYouSentSubscription": "You sent <%- name %> a <%= months %>-months Habitica subscription.", - "paymentSubBilling": "Your subscription will be billed $<%= amount %> every <%= months %> months.", - "success": "Éxito!", - "classGear": "Equipamento de Clase", - "classGearText": "Congratulations on choosing a class! I've added your new basic weapon to your inventory. Take a look below to equip it!", - "autoAllocate": "Distribuír Automaticamente", + "donateText3": "Habitica é un proxecto de software libre que se apoia nas persoas usuarias. O diñeiro que gastas en xemas axúdanos a manter os servidores funcionando, manter un pequeno cadro de persoal, desenvolver novas funcionalidades, e fornecer incentivos ao voluntariado", + "card": "Tarxeta de crédito", + "paymentMethods": "Mercar con", + "paymentSuccessful": "O pagamento completouse correctamente!", + "paymentYouReceived": "Recibiches:", + "paymentYouSentGems": "Enviaches <%- name %>:", + "paymentYouSentSubscription": "Enviaches a <%- name %>
unha subscrición de <%= months %> meses a Habitica.", + "paymentSubBilling": "Pola túa subscrición facturaránseche $<%= amount %> cada <%= months %> meses.", + "success": "Conseguido!", + "classGear": "Equipamento de clase", + "classGearText": "Parabéns por escoller unha clase! Engadín a túa nova arma básica ao teu inventario. Bota un ollo embaixo para equipala!", + "autoAllocate": "Asignar automaticamente", "spells": "Habilidades", - "skillsTitle": "Skills", - "toDo": "Tarefa", - "tourStatsPage": "Esta é a túa páxina de Estatísticas! Gaña logros ao completares as tarefas listadas.", - "tourTavernPage": "Welcome to the Tavern, an all-ages chat room! You can keep your Dailies from hurting you in case of illness or travel by clicking \"Pause Damage\". Come say hi!", - "tourPartyPage": "O teu Equipo axudarache a manterte responsable. Invita amigos para desbloquear un Pergamiño de Misión!", - "tourGuildsPage": "Guilds are common-interest chat groups created by the players, for the players. Browse through the list and join the Guilds that interest you. Be sure to check out the popular Habitica Help: Ask a Question guild, where anyone can ask questions about Habitica!", - "tourChallengesPage": "Os Desafíos son listas de tarefas con temas creadas polos usuarios! Unirte a un Desafío engadirá as súas tarefas á túa conta. Compite contra outros usuarios para gañar premios en Xemas!", - "tourMarketPage": "Starting at Level 4, eggs and hatching potions drop randomly when you complete tasks. They appear here - use them to hatch pets! You can also buy items from the Market.", - "tourHallPage": "Benvid@ á Sala dos Heroes, onde honramos os colaboradores ao código aberto de Habitica. Que sexa a través do código, arte, música, escritura, ou incluso só axuda, gañaron Xemas, equipamento exclusivo e títulos prestixiosos. Ti tamén podes contribuír a Habitica!", - "tourPetsPage": "Este é o Establo! Despois de acadares o nivel 3, recollerás ovos de mascotas e pocións de eclosión a medida que completes tarefas. Cando fagas eclosionar unha mascota no Mercado, aparecerá aquí! Pulsa na imaxe dunha mascota para engadila ao teu avatar. Dálle comida (que atoparás despois do nivel 3) e converteranse en monturas poderosas.", - "tourMountsPage": "Once you've fed a pet enough food to turn it into a mount, it will appear here. Click a mount to saddle up!", - "tourEquipmentPage": "This is where your Equipment is stored! Your Battle Gear affects your Stats. If you want to show different Equipment on your avatar without changing your Stats, click \"Enable Costume.\"", - "equipmentAlreadyOwned": "Xa tes ese Equipamento", + "skillsTitle": "Habilidade de <%= classStr %>", + "toDo": "Tarefa pendente", + "tourStatsPage": "Esta é a túa páxina de condición! Consegue logros ao completares as tarefas listadas.", + "tourTavernPage": "Dámoste a benvida á taberna, unha sala de conversa para todas as idades! En caso de enfermidade ou viaxe, podes evitar que as tarefas diarias te fagan dano premendo «Pausar o dano». Ven e saúda!", + "tourPartyPage": "O teu equipo axudarache a ser constante. Invita a amizades para desbloquear un pergameo de misión!", + "tourGuildsPage": "Os gremios son grupos de conversa de intereses comúns creados por e para as persoas xogadoras, Explora a lista e únete aos que te interesen. Non te perdas o famoso gremio «Habitica Help: Ask a Question», onde calquera pode facer preguntas sobre Habitica!", + "tourChallengesPage": "Os desafíos son listas de tarefas cunha temática, creadas polas persoas usuarias! Unirte a un desafío engadirá as súas tarefas á túa conta. Compite contra outras persoas para gañar premios de xemas!", + "tourMarketPage": "Cada vez que completas unha tarefa, terás unha oportunidade aleatoria de recibir un ovo, unha poción de eclosión, ou unha ración de penso. Tamén podes comprar esas cousas aquí.", + "tourHallPage": "Dámoste a benvida á sala das xestas, onde honramos as contribucións libres a Habitica. Fose mediante código, arte, música, texto ou simplemente axuda, gañaron xemas, equipamento exclusivo e títulos prestixiosos. Ti tamén podes contribuír a Habitica!", + "tourPetsPage": "Dámoste a benvida á corte! Cada vez que completes unha tarefa terás unha oportunidade de recibir un ovo ou unha poción de eclosión para incubar unha mascota. Cando a túa mascota naza aparecerá aquí! Preme a imaxe dunha mascota para engadila ao teu avatar. Aliméntaas co penso que atopes e converteranse en rechas monturas.", + "tourMountsPage": "Unha vez deas penso dabondo a unha mascota para convertela nunha montura, aparecerá aquí. Preme unha montura para subir a ela!", + "tourEquipmentPage": "Aquí é onde se almacena o teu equipamento! O teu equipamento de batalla afecta á túa condición. Se queres Amosar un equipamento distinto no teu avatar sen cambiar a túa condición, preme «Usar o disfrace».", + "equipmentAlreadyOwned": "Xa tes esa peza de equipamento", "tourOkay": "Vale!", "tourAwesome": "Xenial!", "tourSplendid": "Espléndido!", - "welcomeToHabit": "Benvid@ a Habitica!", + "welcomeToHabit": "Dámoste a benvida a Habitica!", "welcome1": "Crea un avatar básico.", "welcome1notes": "Este avatar representarate a medida que progreses.", - "welcome2": "Configura as túas tarefas.", - "welcome2notes": "O cumprimento das túas tarefas na vida real controlará o teu progreso no xogo!", + "welcome2": "Prepara as túas tarefas.", + "welcome2notes": "O cumprimento das túas tarefas na realidade controlará o teu progreso no xogo!", "welcome3": "Progresa na vida e no xogo!", "welcome3notes": "A medida que mellores na túa vida, o teu avatar subirá de nivel e desbloqueará mascotas, misións, equipamento e máis!", "imReady": "Entra en Habitica", - "limitedOffer": "Available until <%= date %>" + "limitedOffer": "Dispoñíbel ata o <%= date %>", + "groupsPaymentSubBilling": "A túa seguinte data de facturación é <%= renewalDate %>.", + "helpSupportHabitica": "Axuda a manter Habitica", + "paymentCanceledDisputes": "Enviamos unha confirmación de cancelación ao teu enderezo de correo electrónico. Se non ve a mensaxe, contacte connosco para evitar futuras disputas sobre facturación.", + "limitedAvailabilityMinutes": "Dispoñíbel durante <%= minutes %>m <%= seconds %>s", + "nMonthsSubscriptionGift": "<%= nMonths %> meses de subscrición (agasallo)", + "paymentSubBillingWithMethod": "Pola túa subscrición facturaránseche $<%= amount %> cada <%= months %> meses mediante <%= paymentMethod %>.", + "paymentAutoRenew": "Esta subscrición renovarase automaticamente ata que a canceles. Podes cancelala desde a configuración.", + "groupsPaymentAutoRenew": "Esta subscrición renovarase automaticamente ata que a canceles. Podes cancelala desde o separador de facturación de grupo.", + "nGemsGift": "<%= nGems %> xemas (agasallo)", + "cannotUnpinItem": "Este obxecto non se pode soltar.", + "invalidUnlockSet": "Este lote de obxectos non é válido e non pode desbloquearse.", + "amountExp": "<%= amount %> de experiencia", + "nGems": "<%= nGems %> xemas", + "limitedAvailabilityDays": "Dispoñíbel durante <%= days %>d <%= hours %>h <%= minutes %>m", + "limitedAvailabilityHours": "Dispoñíbel durante <%= hours %>h <%= minutes %>m", + "sellItems": "Vender obxectos" } diff --git a/website/common/locales/gl/overview.json b/website/common/locales/gl/overview.json index a93281df98..27a063c44c 100755 --- a/website/common/locales/gl/overview.json +++ b/website/common/locales/gl/overview.json @@ -1,10 +1,10 @@ { - "needTips": "", - "step1": "", - "webStep1Text": "Habitica resulta inútil sen metas do mundo real, así que engade algunhas tarefas. Máis adiante, a medida que se te ocorran outras, podes engadilas tamén! As tarefas poden engadirse premendo o botón verde «Crear».\n* **Prepara [pendentes](http://habitica.wikia.com/wiki/To-Dos):** engade tarefas puntuais ou pouco habituais na columna «Pendentes», dunha nunha. Podes premer as tarefas para editalas e engadirlles listas de comprobación, datas límite, e máis!\n* **Prepara [diarias](http://habitica.wikia.com/wiki/Dailies):** engade actividades que tes que completar a diario ou en días concretos da semana, do mes, ou do ano, na columna «Diarias». Preme unha tarefa para editar cando toca ou definir a data de inicio. Tamén podes facer que se repita, por exemplo, cada 3 días.\n* **Prepara [hábitos](http://habitica.wikia.com/wiki/Habits):** engade hábitos que queres adoptar na columna «Hábitos». Podes editar un hábito para convertelo nun bo hábito :heavy_plus_sign: ou un mal hábito :heavy_minus_sign:.\n* **Prepara [recompensas](http://habitica.wikia.com/wiki/Rewards):** ademais das recompensas que se ofrecen dentro do xogo, engade actividades ou premios que queres usar como motivación na columna «Recompensas». É importante que te deas un respiro ou te permitas un pouco de manga ancha!\n* Se necesitas inspiración á hora de escoller tarefas para engadir, bota un ollo a estas páxinas do wiki: [Hábitos de exemplo](http://habitica.wikia.com/wiki/Sample_Habits), [Diarias de exemplo](http://habitica.wikia.com/wiki/Sample_Dailies), [Pendentes de exemplo](http://habitica.wikia.com/wiki/Sample_To-Dos), e [Recompensas de exemplo](http://habitica.wikia.com/wiki/Sample_Custom_Rewards).", - "step2": "", - "webStep2Text": "Agora comeza a cumprir os obxectivos da lista! A medida que completes tarefas e as marques como tal en Habitica, gañarás [experiencia](http://habitica.wikia.com/wiki/Experience_Points), que te permite subir de nivel, e [ouro](http://habitica.wikia.com/wiki/Gold_Points), que te permite comprar recompensas. Se caes en malos hábitos ou non completas as túas tarefas diarias, perderás [vida](http://habitica.wikia.com/wiki/Health_Points). Dese xeito, as barras de experiencia e de vida de Habitica son un indicador divertido do progreso nas túas metas. Empezarás a ver como mellora a túa vida real a medida que a túa personaxe avanza no xogo.", - "step3": "", - "webStep3Text": "Unha vez te afagas aos elementos básicos, podes sacarlle máis partido a Habitica con estas funcionalidades:\n * Organiza as túas tarefas con [etiquetas](https://habitica.fandom.com/wiki/Tags) (edita unha tarefa para engadilas).\n * Personaliza o teu [avatar](https://habitica.fandom.com/wiki/Avatar) premendo a icona de usuario na esquina superior dereita.\n * Compra o teu [equipo](https://habitica.fandom.com/wiki/Equipment) desde «Recompensas» ou nas [tendas](<%= shopUrl %>), e cámbiao desde [Inventario → Equipo](<%= equipUrl %>).\n * Conecta con outras persoas usuarias a través da [taberna](https://habitica.fandom.com/wiki/Tavern).\n * Recolle e abre [ovos](https://habitica.fandom.com/wiki/Eggs) de [mascotas](https://habitica.fandom.com/wiki/Pets) usando [pocións de eclosión](https://habitica.fandom.com/wiki/Hatching_Potions). [Aliméntaas](https://habitica.fandom.com/wiki/Food) para crear [monturas](https://habitica.fandom.com/wiki/Mounts).\n * No nivel 10, escolle unha [clase](https://habitica.fandom.com/wiki/Class_System) e usa as súas [habilidades](https://habitica.fandom.com/wiki/Skills) específicas (niveis do 11 ao 14).\n * Forma un grupo de amizades (preme [Grupo](<%= partyUrl %>) na barra de navegación) para controlarvos entre vós e gañar un pergameo de misión.\n * Derrota monstros e recolle obxectos durante [misións](https://habitica.fandom.com/wiki/Quests) (recibirás unha misión no nivel 15).", - "overviewQuestions": "Have questions? Check out the [FAQ](<%= faqUrl %>)! If your question isn't mentioned there, you can ask for further help in the [Habitica Help guild](<%= helpGuildUrl %>).\n\nGood luck with your tasks!" + "needTips": "Necesitas consellos para comezar? Aquí tes unha guía fácil!", + "step1": "Paso 1: insire tarefas", + "webStep1Text": "Habitica resulta inútil sen metas do mundo real, así que insire algunhas tarefas. Máis adiante, a medida que se te ocorran outras, podes engadilas tamén! As tarefas poden engadirse premendo o botón verde «Crear».\n* **Prepara [pendentes](http://habitica.wikia.com/wiki/To-Dos):** engade tarefas puntuais ou pouco habituais na columna «Pendentes», dunha nunha. Podes premer as tarefas para editalas e engadirlles listas de comprobación, datas límite, e máis!\n* **Prepara [diarias](http://habitica.wikia.com/wiki/Dailies):** engade actividades que tes que completar a diario ou en días concretos da semana, do mes, ou do ano, na columna «Diarias». Preme unha tarefa para editar cando toca ou definir a data de inicio. Tamén podes facer que se repita, por exemplo, cada 3 días.\n* **Prepara [hábitos](http://habitica.wikia.com/wiki/Habits):** engade hábitos que queres adoptar na columna «Hábitos». Podes cambiar un hábito para convertelo nun bo hábito :heavy_plus_sign: ou un mal hábito :heavy_minus_sign:.\n* **Prepara [recompensas](http://habitica.wikia.com/wiki/Rewards):** ademais das recompensas que se ofrecen dentro do xogo, engade actividades ou premios que queres usar como motivación na columna «Recompensas». É importante que te deas un respiro ou te permitas un pouco de manga ancha!\n* Se necesitas inspiración á hora de escoller tarefas para engadir, bota un ollo a estas páxinas do wiki: [Hábitos de exemplo](http://habitica.wikia.com/wiki/Sample_Habits), [Diarias de exemplo](http://habitica.wikia.com/wiki/Sample_Dailies), [Pendentes de exemplo](http://habitica.wikia.com/wiki/Sample_To-Dos), e [Recompensas de exemplo](http://habitica.wikia.com/wiki/Sample_Custom_Rewards).", + "step2": "Paso 2: gaña puntos facendo cousas na realidade", + "webStep2Text": "Agora comeza a cumprir os obxectivos da lista! A medida que completes tarefas e as marques como tal en Habitica, gañarás [experiencia](http://habitica.wikia.com/wiki/Experience_Points), que te permite subir de nivel, e [ouro](http://habitica.wikia.com/wiki/Gold_Points), que te permite comprar recompensas. Se caes en malos hábitos ou non completas as túas tarefas diarias, perderás [vida](http://habitica.wikia.com/wiki/Health_Points). Dese xeito, as barras de experiencia e de vida de Habitica fan de indicador divertido do progreso nas túas metas. Empezarás a ver como mellora a túa vida a medida que a túa personaxe avanza no xogo.", + "step3": "Paso 3: personaliza e explora Habitica", + "webStep3Text": "Unha vez te afagas aos elementos básicos, podes sacarlle máis partido a Habitica con estas funcionalidades:\n * Organiza as túas tarefas con [etiquetas](https://habitica.fandom.com/wiki/Tags) (edita unha tarefa para engadilas).\n * Personaliza o teu [avatar](https://habitica.fandom.com/wiki/Avatar) premendo a icona de persoa usuaria na esquina superior dereita.\n * Compra o teu [equipo](https://habitica.fandom.com/wiki/Equipment) desde «Recompensas» ou nas [tendas](<%= shopUrl %>), e cámbiao desde [Inventario → Equipo](<%= equipUrl %>).\n * Conecta con outras persoas usuarias a través da [taberna](https://habitica.fandom.com/wiki/Tavern).\n * Recolle e abre [ovos](https://habitica.fandom.com/wiki/Eggs) de [mascotas](https://habitica.fandom.com/wiki/Pets) usando [pocións de eclosión](https://habitica.fandom.com/wiki/Hatching_Potions). [Aliméntaas](https://habitica.fandom.com/wiki/Food) para crear [monturas](https://habitica.fandom.com/wiki/Mounts).\n * No nivel 10, escolle unha [clase](https://habitica.fandom.com/wiki/Class_System) e usa as súas [habilidades](https://habitica.fandom.com/wiki/Skills) específicas (niveis do 11 ao 14).\n * Forma un grupo de amizades (preme [Grupo](<%= partyUrl %>) na barra de navegación) para controlarvos entre vós e gañar un pergameo de misión.\n * Derrota monstros e recolle obxectos durante [misións](https://habitica.fandom.com/wiki/Quests) (recibirás unha misión no nivel 15).", + "overviewQuestions": "Tes preguntas? Consulta as [preguntas frecuentes](<%= faqUrl %>)! Se non inclúen a túa pregunta, podes pedir axuda no [gremio de axuda de Habitica](<%= helpGuildUrl %>) (en inglés).\n\nSorte coas tarefas!" } diff --git a/website/common/locales/gl/pets.json b/website/common/locales/gl/pets.json index f9930e10ac..719d301834 100644 --- a/website/common/locales/gl/pets.json +++ b/website/common/locales/gl/pets.json @@ -1,97 +1,114 @@ { "mountName": "<%= mount(locale) %> <%= potion(locale) %>", "petName": "<%= egg(locale) %> <%= potion(locale) %>", - "feedPet": "¿Dar <%= text %> o teu <%= name %>?", - "raisedPet": "¡Fixeches crecer o teu <%= pet %>!", - "mountNotOwned": "Non tes esta montura.", - "petNotOwned": "Non tes esta mascota.", - "hatchedPetHowToUse": "¡Visita a [Corte](<%= stableUrl %>) para alimentar e equipar a túa última mascota!", - "hatchedPetGeneric": "¡Eclosionaches unha nova mascota!", - "hatchedPet": "¡Eclosionaches un novo <%= potion %> <%= egg %>!", - "triadBingoAchievement": "¡Conseguiches o logro «Triple Bingo» por encontrar tódalas mascotas, domar tódalas monturas e volver a encontrar tódalas mascotas de novo!", - "triadBingoText2": " e liberou os animais de toda a corte <%= count %> vez (veces)", - "triadBingoText": "Encontrou as 90 mascotas, as 90 monturas e volveu encontrar as 90 mascotas outra vez (¡¿COMO O FIXECHES?!)", - "triadBingoName": "Triple Bingo", - "mountMasterText2": " e liberou as 90 monutoras un total de <%= count %> vez (veces)", - "mountMasterText": "Domou as 90 monturas (aínda máis difícil, ¡felicita este usuario!)", - "mountMasterName": "Mestre de Monturas", - "mountAchievement": "¡Conseguiches o logro \"Mestre de Monturas\" por domar tódalas monturas!", - "mountMasterProgress": "Progreso como Mestre de Monturas", - "beastMasterText2": " e liberou as súas mascotas un total de <%= count %> vez (veces)", - "beastMasterText": "Encontrou as 90 mascotas. (É incriblemente difícil, ¡felicita este usuario!)", - "dropsExplanation": "Se non queres esperar a que aparezcan como botín ao completar unha tarefa, podes conseguir estes obxectos máis rápido utilizando Xemas. Máis información sobre o sistema de botín ", - "noSaddlesAvailable": "Non tes Selas.", - "noFoodAvailable": "Non tes comida para mascotas.", - "food": "Comida para mascotas e Selas", + "feedPet": "Dar <%= text %> a <%= name %>?", + "raisedPet": "<%= pet %> medrou!", + "mountNotOwned": "Esta montura non é túa.", + "petNotOwned": "Esta mascota non é túa.", + "hatchedPetHowToUse": "Visita a [corte](<%= stableUrl %>) para dar de comer e equipar a túa última mascota!", + "hatchedPetGeneric": "Tes nova mascota!", + "hatchedPet": "Fixeches nacer un novo <%= egg %> de <%= potion %>!", + "triadBingoAchievement": "Conseguiches o logro «Bingo triplo» por atopar tódalas mascotas, domar tódalas monturas e volver atopar tódalas mascotas!", + "triadBingoText2": " e liberou unha corte completa <%= count %> veces", + "triadBingoText": "Atopou as 90 mascotas, as 90 monturas e volveu encontrar as 90 mascotas outra vez (COMO FIXECHES?!)", + "triadBingoName": "Bingo triplo", + "mountMasterText2": " e liberou as 90 monturas <%= count %> veces", + "mountMasterText": "Domou as 90 monturas (aínda máis difícil, dálle os teus parabéns!)", + "mountMasterName": "Doma de monturas", + "mountAchievement": "Conseguiches o logro «Doma de monturas» por domar tódalas monturas!", + "mountMasterProgress": "Progreso de «Doma de monturas»", + "beastMasterText2": " e liberou as súas mascotas <%= count %> veces", + "beastMasterText": "Atopou as 90 mascotas (algo incribelmente difícil, dálle os teus parabéns!)", + "dropsExplanation": "Consegue estes obxectos máis rápido con xemas se non queres agardar a que te caian ao completar tarefas. Aprende máis sobre o sistema de sorpresas (en inglés).", + "noSaddlesAvailable": "Non tes selas.", + "noFoodAvailable": "Non tes penso.", + "food": "Penso e selas", "quickInventory": "Inventario rápido", - "haveHatchablePet": "¡Tes unha poción de eclosión <%= potion %> e un ovo <%= egg %> para eclosionar esta mascota! ¡Fai click para eclosionala!", + "haveHatchablePet": "Tes unha poción de eclosión de <%= potion %> e un ovo de <%= egg %> para facer nacer esta mascota! Preme para facelo!", "hatchingPotion": "poción de eclosión", - "magicHatchingPotions": "Pocións Máxicas de Eclosión", - "hatchingPotions": "Pocións Eclosionadoras", + "magicHatchingPotions": "Pocións máxicas de eclosión", + "hatchingPotions": "Pocións de eclosión", "eggSingular": "ovo", "eggs": "Ovos", "egg": "Ovo de <%= eggType %>", - "potion": "Poción <%=potionType %>", + "potion": "Poción de <%=potionType %>", "gryphatrice": "Grifotriz", - "invisibleAether": "Éter Invisíbel", - "royalPurpleJackalope": "Jackalope Púrpura Real", - "hopefulHippogriffMount": "Hipogrifo Esperanzado", - "hopefulHippogriffPet": "Hipogrifo Esperanzado", - "magicalBee": "Abella Máxica", + "invisibleAether": "Éter invisíbel", + "royalPurpleJackalope": "Coélope púrpura real", + "hopefulHippogriffMount": "Hipogrifo esperanzado", + "hopefulHippogriffPet": "Hipogrifo esperanzado", + "magicalBee": "Abella máxica", "phoenix": "Fénix", - "royalPurpleGryphon": "Grifón Púrpura Real", + "royalPurpleGryphon": "Grifón púrpura real", "orca": "Candorca", - "mammoth": "Mamut Laúdo", - "mantisShrimp": "Esquila", + "mammoth": "Mamut laúdo", + "mantisShrimp": "Mantis mariña", "hydra": "Hidra", - "cerberusPup": "Cachorro de Cérbero", - "veteranFox": "Raposo Veterano", - "veteranBear": "Oso Veterano", - "veteranLion": "León Veterano", - "veteranTiger": "Tigre Veterano", - "veteranWolf": "Lobo Veterano", - "etherealLion": "León Etéreo", - "mountsTamed": "Monturas Domadas", - "magicMounts": "Monturas de Pocións Máxicas", - "questMounts": "Monturas de Misión", - "noActiveMount": "Ningunha Montura Activa", + "cerberusPup": "Cachorro de cérbero", + "veteranFox": "Raposo veterano", + "veteranBear": "Oso veterano", + "veteranLion": "León veterano", + "veteranTiger": "Tigre veterano", + "veteranWolf": "Lobo veterano", + "etherealLion": "León etéreo", + "mountsTamed": "Monturas domadas", + "magicMounts": "Monturas de pocións máxicas", + "questMounts": "Monturas de misión", + "noActiveMount": "Non hai ningunha montura activa", "activeMount": "Montura activa", "mounts": "Monturas", - "wackyPets": "Mascotas Tolas", - "questPets": "Mascotas de Misión", - "magicPets": "Mascotas de Pocións Máxicas", - "petsFound": "Mascotas Encontradas", - "noActivePet": "Ningunha mascota activa", + "wackyPets": "Mascotas tolas", + "questPets": "Mascotas de misión", + "magicPets": "Mascotas de pocións máxicas", + "petsFound": "Mascotas atopadas", + "noActivePet": "Non hai ningunha mascota activa", "activePet": "Mascota activa", "pets": "Mascotas", "stable": "Corte", - "keyToPets": "Chave do Canil das Mascotas", - "welcomeStableText": "¡Benvido á Corte! Son Matt, o mestre das bestas. Cada vez que completes unha tarefa terás unha oportunidade de recibir un ovo ou unha Poción de eclosión para eclosionar unha Mascota. ¡Cando a túa Mascota naza aparecerá aquí! Fai click na imaxe dunha Mascota para engadila ao teu Avatar. Aliméntalas coa Comida para Mascotas que atopes e se convertirán en rechas Monturas.", - "welcomeStable": "¡Benvido á Corte!", - "mountsReleased": "Monturas liberadas", - "mountsAndPetsReleased": "Monturas y mascotas liberadas", - "petsReleased": "Mascotas liberadas.", - "releaseBothSuccess": "¡As túas Mascotas e Monturas comúns foron liberadas!", - "releaseBothConfirm": "¿Estás certo de querer liberar todas as Mascotas e Monturas comúns?", - "releaseMountsSuccess": "¡As túas Monturas comúns foron liberadas!", - "releasePetsConfirm": "¿Estás certo de querer liberar todas as Mascotas comúns?", - "releaseMountsConfirm": "¿Estás certo de querer liberar todas as Monturas comúns?", - "releasePetsSuccess": "¡As túas Mascotas comúns foron liberadas!", - "keyToBothDesc": "Libera todas as Mascotas e Monturas estándar para poder recadalas de novo. (As Mascotas/Monturas de Misión e as Mascotas/Monturas raras non serán afectadas)", - "keyToBoth": "Chave Mestra dos Canils", - "keyToPetsDesc": "Libera todas as mascotas estándar para poder recadalas de novo. (As Mascotas de Misión e as Mascotas raras non serán afectadas)", - "keyToMountsDesc": "Libera todas as Monturas estándar para poder recadalas de novo. (As Monturas de Misión e as Monturas raras non serán afectadas)", - "keyToMounts": "Chave do Canil das Monturas", - "beastMasterProgress": "Progreso de \"Mestre das Bestas\"", - "premiumPotionNoDropExplanation": "As Pocións Máxicas de eclosión non poder ser usadas nos ovos recibidos por Misións. A única maneira de conseguir Pocións Máxicas de eclosión é compralas máis abaixo, non aparecen no botín aleatorio.", - "beastMasterName": "Mestre das Bestas", - "beastAchievement": "¡Conseguiches o Logro \"Mestre das Bestas\" por conseguir tódalas mascotas!", - "dropsExplanationEggs": "Gasta Xemas para conseguir ovos máis rápidamente, senón queres esperar a obterlos como botín ou repetir Misións para obter Ovos de Misión. Máis información sobre o sistema de botín.", + "keyToPets": "Chave do canil das mascotas", + "welcomeStableText": "Doute a benvida á corte! Son Matt, o mestre das bestas. Cada vez que completes unha tarefa terás unha oportunidade aleatoria de recibir un ovo ou unha poción de eclosión para facer nacer unha mascota. Cando fagas nacer unha mascota aparecerá aquí! Preme a imaxe dunha mascota para engadila ao teu avatar. Dálles de comer o penso que atopes medrarán ata se converter en rechas monturas.", + "welcomeStable": "Doute a benvida á corte!", + "mountsReleased": "Liberaches as monturas", + "mountsAndPetsReleased": "Liberaches as monturas e mascotas", + "petsReleased": "Liberaches as mascotas.", + "releaseBothSuccess": "Liberaches as mascotas e monturas estándar!", + "releaseBothConfirm": "Seguro que queres liberar as túas mascotas e monturas estándar?", + "releaseMountsSuccess": "Liberaches as túas monturas estándar!", + "releasePetsConfirm": "Seguro que queres liberar todas as mascotas estándar?", + "releaseMountsConfirm": "Seguro que queres liberar todas as monturas estándar?", + "releasePetsSuccess": "Liberaches as túas mascotas estándar!", + "keyToBothDesc": "Libera todas as mascotas e monturas estándar para poder reunilas de novo. (Non afecta nin ás mascotas e monturas de misión nin ás mascotas e monturas singulares)", + "keyToBoth": "Chave mestra dos canís", + "keyToPetsDesc": "Libera todas as mascotas estándar para poder reunilas de novo. (Non afecta nin ás mascotas de misión nin ás mascotas singulares)", + "keyToMountsDesc": "Libera todas as monturas estándar para poder reunilas de novo. (Non afecta nin ás monturas de misión nin ás monturas singulares)", + "keyToMounts": "Chave do canil das monturas", + "beastMasterProgress": "Progreso de «Doma das bestas»", + "premiumPotionNoDropExplanation": "As pocións máxicas de eclosión non poden usarse con ovos de misións. A única maneira de conseguir pocións máxicas de eclosión é compralas embaixo, non aparecen nas sorpresas aleatorias.", + "beastMasterName": "Doma das bestas", + "beastAchievement": "Conseguiches o logro «Doma das bestas» por conseguir tódalas mascotas!", + "dropsExplanationEggs": "Gasta xemas para conseguir ovos máis rápido, se non queres agardar a que te caian os ovos estándar, ou repetir misións para conseguir ovos de misión. Aprende máis sobre o sistema de sorpresas (en inglés).", "hatch": "Abrir!", "filterByWacky": "Tolaría", "standard": "Estándar", "filterByStandard": "Estándar", "filterByQuest": "Misión", "sortByColor": "Cor", - "sortByHatchable": "Eclosionábel" + "sortByHatchable": "Listo para abrir", + "dragThisFood": "Arrastra este penso, <%= foodName %>, sobre unha mascota, e mira como medra!", + "clickOnPetToFeed": "Preme unha mascota para darlle de comer <%= foodName %> e ver como medra!", + "dragThisPotion": "Arrastra este penso, <%= potionName %>, sobre un ovo para que naza unha nova mascota!", + "clickOnEggToHatch": "Preme un ovo para usar a poción de eclosión <%= potionName %> e que naza unha nova mascota!", + "hatchDialogText": "Verte a poción de eclosión <%= potionName %> sobre o ovo <%= eggName %> de <%= petName %> para que naza a mascota.", + "clickOnPotionToHatch": "Preme unha poción de eclosión para usala no teu <%= eggName %> e que naza unha nova mascota!", + "notEnoughMounts": "Non reuniches monturas dabondo", + "notEnoughPetsMounts": "Non reuniches mascotas e monturas dabondo", + "tooMuchFood": "Estás intentando dar demasiado penso á túa mascota, cancelouse a acción", + "invalidAmount": "A cantidade de penso é incorrecta, debe ser un enteiro positivo", + "notEnoughFood": "Non tes penso dabondo", + "notEnoughPets": "Non reuniches mascotas dabondo", + "filterByMagicPotion": "Poción máxica", + "foodTitle": "Penso", + "petLikeToEat": "Que lle gusta comer á miña mascota?", + "jubilantGryphatrice": "Grifotriz entusiasmada", + "petLikeToEatText": "As mascotas medran sen importar o que lles deas de comer, pero medrarán máis rápido se lles das un dos pensos que máis lles gustan. Proba e descubre o padrón, ou consulta as respostas aquí:
https://habitica.fandom.com/wiki/Food_Preferences" } diff --git a/website/common/locales/gl/quests.json b/website/common/locales/gl/quests.json index fa63237569..39529f5a21 100755 --- a/website/common/locales/gl/quests.json +++ b/website/common/locales/gl/quests.json @@ -1,76 +1,102 @@ { "quests": "Misións", "quest": "misión", - "petQuests": "Misións de Mascotas de Monturas", - "unlockableQuests": "Misións Desbloqueables", - "goldQuests": "", - "questDetails": "Detalles da Misión", - "questDetailsTitle": "Quest Details", - "questDescription": "Quests allow players to focus on long-term, in-game goals with the members of their party.", + "petQuests": "Misións de mascotas de monturas", + "unlockableQuests": "Misións desbloqueábeis", + "goldQuests": "Liñas de misión de clase mestra", + "questDetails": "Detalles da misión", + "questDetailsTitle": "Detalles da misión", + "questDescription": "As misións permiten ás persoas xogadoras centrarse en obxectivos a logo prazo dentro do xogo coa xente dos seus equipos.", "invitations": "Invitacións", "completed": "Completada!", - "rewardsAllParticipants": "Rewards for all Quest Participants", - "rewardsQuestOwner": "Additional Rewards for Quest Owner", - "inviteParty": "Invitar Equipo á Misión", - "questInvitation": "Invitación á Misión:", + "rewardsAllParticipants": "Recompensas para participantes", + "rewardsQuestOwner": "Recompensas adicionais para a persoa dona da misión", + "inviteParty": "Invitar o equipo á misión", + "questInvitation": "Invitación á misión: ", "questInvitationInfo": "Invitación á Misión <%= quest %>", - "invitedToQuest": "You were invited to the Quest <%= quest %>", - "askLater": "Preguntar Máis Tarde", - "buyQuest": "Mercar Misión", - "accepted": "Aceptada", - "declined": "Recusado", - "rejected": "Rexeitada", + "invitedToQuest": "Invitáronte á misión <%= quest %>", + "askLater": "Preguntarme máis tarde", + "buyQuest": "Mercar a misión", + "accepted": "Aceptou", + "declined": "Recusou", + "rejected": "Rexeitou", "pending": "Pendente", - "questCollection": "+ <%= val %> quest item(s) found", + "questCollection": "+ <%= val %> obxectos de misión atopados", "questDamage": "+ <%= val %> damage to boss", "begin": "Comezar", - "bossHP": "Boss HP", - "bossStrength": "Rabia do Xefe", + "bossHP": "Vida da criatura rival", + "bossStrength": "Forza da criatura rival", "rage": "Ira", - "collect": "Recolle", - "collected": "Recollid@s", - "abort": "Abortar", - "leaveQuest": "Abandoar Misión", - "sureLeave": "Estás segur@ que queres abandoar a misión activa? Todo o teu progreso na misión perderase.", + "collect": "Recoller", + "collected": "Recollido", + "abort": "Interromper", + "leaveQuest": "Deixar a misión", + "sureLeave": "Seguro que queres abandonar a misión? Perderás todo o progreso.", "mustComplete": "Primeiro debes completar <%= quest %>.", - "mustLvlQuest": "Tes que ser de nivel <%= level %> para mercar esta misión!", - "unlockByQuesting": "To unlock this quest, complete <%= title %>.", - "questConfirm": "Are you sure? Only <%= questmembers %> of your <%= totalmembers %> party members have joined this quest! Quests start automatically when all players have joined or rejected the invitation.", - "sureCancel": "Estás segur@ que queres cancelar esta misión? Todas as aceptacións das innvitacións perderanse. @ don@ da misión seguirá posuíndo o pergamiño da misión.", - "sureAbort": "Estás segur@ que queres avortar esta misión? Avortarase para todos os membros do teu equipo e perderase todo o progreso. O pergamiño da misión volverá ás mans d@ don@ da misión.", + "mustLvlQuest": "Tes que ter nivel <%= level %> para mercar esta misión!", + "unlockByQuesting": "Completa <%= title %> para desbloquear esta misión.", + "questConfirm": "Seguro que queres comezar esta misión? Hai xente do equipo que non aceptou a invitación. As misións comezan automaticamente cando toda a xente responden á invitación.", + "sureCancel": "Seguro que queres cancelar esta misión? Cancelala cancelará todas as invitacións aceptadas e pendentes. A misión volverá ao inventario do que saíu.", + "sureAbort": "Seguro que queres cancelar esta misión? Perderase todo o progreso. A misión volverá ao inventario do que saíu.", "doubleSureAbort": "Estás dobremente segur@? Asegúrate de que non te odien para sempre!", "bossRageTitle": "Ira", - "bossRageDescription": "Cando esta barra se encha, o xefe desencadeará un ataque especial!", + "bossRageDescription": "Cando esta barra se encha, a criatura rival desencadeará un ataque especial!", "startAQuest": "COMEZAR UNHA MISIÓN", - "startQuest": "Comezar Misión", + "startQuest": "Comezar a misión", "questInvitationDoesNotExist": "Aínda non se enviaron invitacións á misión.", "questInviteNotFound": "Non se atoparon invitacións a misións.", - "guildQuestsNotSupported": "Non se poden invitar os Gremios a misións.", - "questNotOwned": "Ese pergamiño de misión non che pertence.", - "questNotGoldPurchasable": "A Misión \"<%= key %>\" non se pode mercar con Ouro.", - "questNotGemPurchasable": "Quest \"<%= key %>\" is not a Gem-purchasable quest.", - "questAlreadyUnderway": "O teu equipo xa está de misión. Volve intentalo cando a misión actual termine.", + "guildQuestsNotSupported": "Non se pode invitar a gremios a misións.", + "questNotOwned": "Ese pergameo de misión non é teu.", + "questNotGoldPurchasable": "A misión «<%= key %>» non se pode mercar con ouro.", + "questNotGemPurchasable": "A misión «<%= key %>» non se pode mercar con xemas.", + "questAlreadyUnderway": "O teu equipo xa está nunha misión. Volve intentalo cando a misión actual remate.", "questAlreadyAccepted": "Xa aceptaches a invitación da misión.", "noActiveQuestToLeave": "Non hai misión activa que abandoar.", - "questLeaderCannotLeaveQuest": "O líder da misión non pode abandoar a misión", + "questLeaderCannotLeaveQuest": "A persoa líder da misión non pode abandonar a misión", "notPartOfQuest": "Non formas parte da misión", - "youAreNotOnQuest": "You're not on a quest", - "noActiveQuestToAbort": "Non hai misión activa que avortar.", - "onlyLeaderAbortQuest": "Só o líder do grupo ou misión pode avortar unha misión.", + "youAreNotOnQuest": "Non estás nunha misión", + "noActiveQuestToAbort": "Non hai misión activa que interromper.", + "onlyLeaderAbortQuest": "Só a persoa líder do grupo ou misión pode interromper unha misión.", "questAlreadyRejected": "Xa rexeitaches a invitación da misión.", - "cantCancelActiveQuest": "Non podes cancelar unha misión activa, usa a funcionalidade \"avortar\".", - "onlyLeaderCancelQuest": "Só o líder do grupo ou misión pode cancelar a misión.", + "cantCancelActiveQuest": "Non podes cancelar unha misión activa, usa a funcionalidade de interromper.", + "onlyLeaderCancelQuest": "Só a persoa líder do grupo ou misión pode cancelar a misión.", "questNotPending": "Non hai misión que comezar.", - "questOrGroupLeaderOnlyStartQuest": "Só o líder do grupo ou misión pode comezar a misión.", - "loginIncentiveQuest": "To unlock this quest, check in to Habitica on <%= count %> different days!", - "loginReward": "<%= count %> Check-ins", - "questBundles": "Discounted Quest Bundles", - "noQuestToStart": "Can’t find a quest to start? Try checking out the Quest Shop in the Market for new releases!", - "pendingDamage": "<%= damage %> pending damage", - "pendingDamageLabel": "pending damage", - "bossHealth": "<%= currentHealth %> / <%= maxHealth %> Health", - "rageAttack": "Rage Attack:", - "bossRage": "<%= currentRage %> / <%= maxRage %> Rage", - "rageStrikes": "Rage Strikes", - "hatchingPotionQuests": "Misións de pocións máxicas de eclosión" + "questOrGroupLeaderOnlyStartQuest": "Só a persoa líder do grupo ou misión pode comezar a misión", + "loginIncentiveQuest": "Para desbloquear esta misión, accede a Habitica <%= count %> días distintos!", + "loginReward": "<%= count %> accesos", + "questBundles": "Lote de misións con desconto", + "noQuestToStart": "Bota un ollo ás novas na \">tenda de misións!", + "pendingDamage": "<%= damage %> de dano pendente", + "pendingDamageLabel": "dano pendente", + "bossHealth": "<%= currentHealth %> / <%= maxHealth %> de vida", + "rageAttack": "Ataque de ira:", + "bossRage": "<%= currentRage %> / <%= maxRage %> de ira", + "rageStrikes": "Golpes de ira", + "hatchingPotionQuests": "Misións de pocións de eclosión máxicas", + "questInvitationNotificationInfo": "Invitáronte a unha misión", + "questItemsPending": "<%= amount %> obxectos pendentes", + "sureLeaveInactive": "Seguro que queres abandonar a misión? Non poderás participar.", + "membersParticipating": "<%= accepted %> / <%= invited %> persoas do equipo participando", + "noQuestToStartTitle": "Non atopas unha misión para comezar?", + "chatQuestStarted": "A túa misión, <%= questName %>, comezou.", + "chatBossDefeated": "Derrotastes a <%= bossName %>! A xente do equipo na misión recibe as recompensas da vitoria.", + "chatFindItems": "<%= username %> atopou <%= items %>.", + "chatItemQuestFinish": "Atopáronse todos os obxectos! O equipo recibiu as súas recompensas.", + "chatQuestAborted": "<%= username %> interrompeu a misión de equipo <%= questName %>.", + "chatQuestCancelled": "<%= username %> cancelou a misión de equipo <%= questName %>.", + "ownerOnly": "Só a persoa dona", + "newItem": "Novo obxecto", + "selectQuestModal": "Selecciona unha misión", + "backToSelection": "Volver á selección de misión", + "questAlreadyStarted": "A misión xa comezou.", + "questAlreadyStartedFriendly": "A misión xa comezou, pero sempre podes apuntarte á seguinte!", + "chatBossDontAttack": "<%= username %> fai <%= userDamage %> de dano a <%= bossName %>. <%= bossName %> non ataca, porque acepta que tras o período de mantemento poden quedar fallos, e non quere danar a ninguén de maneira inxusta. Pero non ha tardar en volver ás andadas!", + "yourPartyIsNotOnQuest": "O teu equipo non está nunha misión", + "selectQuest": "Seleccionar a misión", + "yourQuests": "As túas misións", + "questOwner": "Persoa dona da misión", + "tavernBossTired": "<%= bossName %> intenta desencadear <%= rageName %> pero impídello a fatiga.", + "chatBossDamage": "<%= username %> fai <%= userDamage %> de dano a <%= bossName %>. <%= bossName %> fai <%= bossDamage %> de dano ao equipo.", + "cancelQuest": "Cancelar a misión", + "bossDamage": "Danaches á criatura rival!" } diff --git a/website/common/locales/gl/questscontent.json b/website/common/locales/gl/questscontent.json index 5389c60459..f257355cd3 100755 --- a/website/common/locales/gl/questscontent.json +++ b/website/common/locales/gl/questscontent.json @@ -17,13 +17,13 @@ "questGryphonDropGryphonEgg": "Grifo (Ovo)", "questGryphonUnlockText": "Desbloquea os Ovos de grifo adquiribles no Mercado", "questHedgehogText": "O Ourizo Besta", - "questHedgehogNotes": "Hedgehogs are a funny group of animals. They are some of the most affectionate pets a Habiteer could own. But rumor has it, if you feed them milk after midnight, they grow quite irritable. And fifty times their size. And InspectorCaracal did just that. Oops.", + "questHedgehogNotes": "", "questHedgehogCompletion": "O teu equipo calmou o ourizo correctamente! Despois de encoller ata o seu tamaño normal, vaise coxeando ata os seus ovos. Volve chaindo e empurrando algúns dos seus ovos cara ao teu equipo. algúns dos seus ovos xunto para o seu partido. Con sorte, a estes ourixos gústalles máis o leite!", "questHedgehogBoss": "Ourizo Besta", "questHedgehogDropHedgehogEgg": "Ourizo (Ovo)", "questHedgehogUnlockText": "Desbloquea os Ovos de Ourizo adquiribles no Mercado", "questGhostStagText": "O Espírito da Primavera", - "questGhostStagNotes": "Ahh, Spring. The time of year when color once again begins to fill the landscape. Gone are the cold, snowy mounds of winter. Where frost once stood, vibrant plant life takes its place. Luscious green leaves fill in the trees, grass returns to its former vivid hue, a rainbow of flowers rise along the plains, and a white mystical fog covers the land! ... Wait. Mystical fog? \"Oh no,\" InspectorCaracal says apprehensively, \"It would appear that some kind of spirit is the cause of this fog. Oh, and it is charging right at you.\"", + "questGhostStagNotes": "", "questGhostStagCompletion": "O espírito, aparentemente sen feridas, baixa o seu nariz cara ao chan. Unha voz tranquila A voz calma envolve o teu equipo. \"Pido desculpas polo meu comportamento. Acabo de espertar do meu soño, e parece que non recuperei completamente o meu xuízo. Por favor, tomade como un símbolo das miñas desculpas.\" Un conxunto de ovos materialízanse na herba diante do espírito. Sen engadir palabra, o espírito foxe cara ao bosque, as flores caendo detrás del.", "questGhostStagBoss": "Cervo Fantasma", "questGhostStagDropDeerEgg": "Cervo (Ovo)", @@ -36,18 +36,18 @@ "questRatUnlockText": "Desbloquea os Ovos de Rata adquiribles no Mercado", "questOctopusText": "A Chamada de Octothulu", "questOctopusNotes": "@Urse, un escriba novo de ollos desorbitados, pediuvos axuda paraa explorar unha cova misteriosa preto da beira do mar. Entre as pozas de marea crepusculares érguese unha enorme porta de estalactitas e estalagmitas. A medida que vos acercades da porta, un remuíño escuro comeza a formarse na súa base. Mirades con admiración como un dragón parecido a unha lura ascende a través do abismo. \"A xeneración das estrelas pegañentas espertou\" ruxe @Urse tolamente. \"Despois de vixintillóns de anos, o gran Octothulu está solto de novo, e ávido de deleitarse!\"", - "questOctopusCompletion": "Cun golpe final, a criatura escapa ata o remuíño de onde veu. Non podedes distinguir se @Urse está contento da súa vitoria ou triste de ver marchar a besta. Sen palabras, o seu compañeiro móstravos tres ovos xigantescos e viscosos nunha poza cercana, pousados nun niño de moedas de ouro. \"Probablemente só sexan ovos de polbo\", dis, nervios@. Mentres voltades a casa, @Urse rabisca freneticamente nun xornal e sospeitades que esta non é a última vez que ides saber do gran Octothulu.", + "questOctopusCompletion": "Cun golpe final, a criatura escapa ata o remuíño de onde veu. Non podedes distinguir se @Urse está contento da súa vitoria ou triste de ver marchar a besta. Sen palabras, o seu compañeiro amósavos tres ovos xigantescos e viscosos nunha poza cercana, pousados nun niño de moedas de ouro. \"Probablemente só sexan ovos de polbo\", dis, nervios@. Mentres voltades a casa, @Urse rabisca freneticamente nun xornal e sospeitades que esta non é a última vez que ides saber do gran Octothulu.", "questOctopusBoss": "Polbulhu", "questOctopusDropOctopusEgg": "Polbo (Ovo)", "questOctopusUnlockText": "Desbloquea os Ovos de Polbo adquiribles no Mercado", "questHarpyText": "Axuda! Harpía!", - "questHarpyNotes": "O valente aventureiro @UncommonCriminal desapareceu no bosque, ao seguir o ronsel dun monstro alado que foi avistado hai varios días. Estades a piques de iniciar unha busca cando un papagaio ferido aterra no teu brazo, cunha fea cicatriz desharmonizando coa súa fermosa plumaxe. Amarrada á súa perna está unha nota garabateada que explica que, ao defender os papagaios, @UncommonCriminal foi capturado por unha feroz Harpía e precisa desesperadamente a vosa axuda para escapar. Atreverédevos a seguir o paxaro, derrotar a Harpía e salvar a @UncommonCriminal?", + "questHarpyNotes": "O valente aventureiro @UncommonCriminal desapareceu no bosque, ao seguir o ronsel dun monstro alado que foi avistado hai varios días. Estades a piques de iniciar unha busca cando un papagaio ferido aterra no teu brazo, cunha fea cicatriz desharmonizando coa súa fermosa plumaxe. Amarrada á súa perna está unha nota garabateada que explica que, ao defender os papagaios, @UncommonCriminal foi capturado por unha feroz Harpía e precisa desesperadamente a vosa axuda para escapar. Atreverédevos a seguir o paxaro, derrotar a Harpía e salvar a @UncommonCriminal?", "questHarpyCompletion": "Un golpe final á Harpia abátea, as súas plumas voan en todas as direccións. Tras unha subida rápida ao seu niño atopades a @UncommonCriminal, rodeado de ovos de papagaio. En equipo, poñedes rapidamente os ovos de volta nos niños próximos. O papagaio coa cicatriz que vos atopou berra alto e solta varios ovos nos vosos brazos. \"O ataque da Harpía deixou algúns ovos desprotexidos\", explica @UncommonCriminal. \"Parece que vos convertestes en papagaios honorarios.\"", "questHarpyBoss": "Harpía", "questHarpyDropParrotEgg": "Papagaio (ovo)", "questHarpyUnlockText": "Desbloquea os Ovos de Papagaio adquiribles no Mercado", "questRoosterText": "A Furia do Galo", - "questRoosterNotes": "Durante anos, o agricultor @extrajordanary agricultor empregou galos como espertador. Pero de repente apareceu un galo xigante, e canta máis alto ca calquera outro, espertando a todos en Habitica! Aos Habiticantes privados de sono cústalles completar as súas tarefas diarias. @Pandoro decide que chegou o momento de poñerlle un punto e final a iso. \"Por favor, hai alguén capaz de ensinarlle ao galo a cantar baixiño?\" Preséntaste voluntario, achegándote do Galo unha mañá cedo. Pero el dáse a volta, batendo súas ás xigantes e mostrando as súas garras afiadas, e canta un grito de guerra.", + "questRoosterNotes": "Durante anos, o agricultor @extrajordanary agricultor usou galos como espertador. Pero de repente apareceu un galo xigante, e canta máis alto ca calquera outro, espertando a todos en Habitica! Aos Habiticantes privados de sono cústalles completar as súas tarefas diarias. @Pandoro decide que chegou o momento de poñerlle un punto e final a iso. \"Por favor, hai alguén capaz de ensinarlle ao galo a cantar baixiño?\" Preséntaste voluntario, achegándote do Galo unha mañá cedo. Pero el dáse a volta, batendo súas ás xigantes e amosando as súas garras afiadas, e canta un grito de guerra.", "questRoosterCompletion": "Con delicadeza e forza, domesticades a fera. Os seus oídos, antes cheos de plumas e tarefas medio esquecidas, están agora totalmente limpos. Cacaréxache suavemente, aconchegando o seu bico no teu ombreiro. O día seguinte, estades list@s para marchar, pero @EmeraldOx corre ata ti cun cesto cuberto. \"Espera! Cando entrei na granxa esta mañá, o galo empurrara estes ovos contra a porta onde durmíades. Penso que quere dárvolos.\" Descubrides o cesto e vedes tres delicados ovos.", "questRoosterBoss": "Galo", "questRoosterDropRoosterEgg": "Galo (Ovo)", @@ -58,51 +58,51 @@ "questSpiderBoss": "Araña", "questSpiderDropSpiderEgg": "Araña (Ovo)", "questSpiderUnlockText": "Desbloquea os Ovos de Araña adquiribles no Mercado", - "questGroupVice": "Vice the Shadow Wyrm", + "questGroupVice": "", "questVice1Text": "Vicio, 1ª Parte: Libérate da Influencia do Dragón", - "questVice1Notes": "

Contan que reside un terrible mal nas covas do Monte Habitica. Un monstro cuxa presenza ataca a vontade dos fortes heroes do lugar, guiándoos cara aos malos hábitos e a preguiza! A besta é un gran dragón de inmenso poder e composto das mesmas sombras: chámase Vicio, o traizoeiro Wyrm das Sombras. Valentes Habiticantes, levantádevos e derrotade esta besta repugnante dunha vez por todas, pero só se credes que podedes afrontar o seu inmenso poder.

Vicio 1ª Parte:

Como podes esperar loitar contra a besta se xa pode controlarte? Non sexas vítima da preguiza e da adicción! Traballa duro para loitar contra a mala influencia do dragón e disipar o seu poder!

", + "questVice1Notes": "Contan que reside un terrible mal nas covas do Monte Habitica. Un monstro cuxa presenza ataca a vontade dos fortes heroes do lugar, guiándoos cara aos malos hábitos e a preguiza! A besta é un gran dragón de inmenso poder e composto das mesmas sombras: chámase Vicio, o traizoeiro Wyrm das Sombras. Valentes Habiticantes, levantádevos e derrotade esta besta repugnante dunha vez por todas, pero só se credes que podedes afrontar o seu inmenso poder.

Como podes esperar loitar contra a besta se xa pode controlarte? Non sexas vítima da preguiza e da adicción! Traballa duro para loitar contra a mala influencia do dragón e disipar o seu poder!", "questVice1Boss": "Sombra do Vicio", - "questVice1Completion": "With Vice's influence over you dispelled, you feel a surge of strength you didn't know you had return to you. Congratulations! But a more frightening foe awaits...", + "questVice1Completion": "", "questVice1DropVice2Quest": "Vicio 2ª Parte (Pergamiño)", "questVice2Text": "Vicio, 2ª Parte: Atopa o Escondite do Wyrm", - "questVice2Notes": "Confident in yourselves and your ability to withstand the influence of Vice the Shadow Wyrm, your Party makes its way to Mt. Habitica. You approach the entrance to the mountain's caverns and pause. Swells of shadows, almost like fog, wisp out from the opening. It is near impossible to see anything in front of you. The light from your lanterns seem to end abruptly where the shadows begin. It is said that only magical light can pierce the dragon's infernal haze. If you can find enough light crystals, you could make your way to the dragon.", + "questVice2Notes": "", "questVice2CollectLightCrystal": "Cristais de Luz", - "questVice2Completion": "As you lift the final crystal aloft, the shadows are dispelled, and your path forward is clear. With a quickening heart, you step forward into the cavern.", + "questVice2Completion": "", "questVice2DropVice3Quest": "Vicio parte 3 (Pergamiño)", "questVice3Text": "Vicio, parte 3: Vicio Esperta", "questVice3Notes": "Despois de moito esforzo, o teu equipo descubriu o cubil de Vicio. O monstro desmedido olla o teu equipo con desgusto. A medida que xiran sombras en torno a ti, unha voz sussurra a través da túa cabeza, \"Máis cidadáns tolos de Habitica veñen a pararme? Que lindo. Tería sido máis sabio non vir.\" O titán escamoso eleva a cabeza cara atrás e prepárase para atacar. Esta é a túa oportunidade! Dá todo o que tes e derrota a Vicio dunha vez por todas!", - "questVice3Completion": "The shadows dissipate from the cavern and a steely silence falls. My word, you've done it! You have defeated Vice! You and your party may finally breathe a sigh of relief. Enjoy your victory, brave Habiteers, but take the lessons you've learned from battling Vice and move forward. There are still Habits to be done and potentially worse evils to conquer!", + "questVice3Completion": "", "questVice3Boss": "Vicio, o Wyrm das Sombras", "questVice3DropWeaponSpecial2": "Vara do Dragón de Stephen Weber", "questVice3DropDragonEgg": "Dragón (Ovo)", "questVice3DropShadeHatchingPotion": "Poción de Eclosión de Sombra", - "questGroupMoonstone": "Recidivate Rising", + "questGroupMoonstone": "", "questMoonstone1Text": "Recidiva, Parte 1: A Cadea de Pedras de Lúa", "questMoonstone1Notes": "Un terrible aflición alcanzou os Habiticantes. Algúns malos hábitos que se crían mortos desde hai moito tempo están volvendo cunha vinganza. Os pratos permanecen sucios, os libros sen ler e a procrastinación é omnipresente.

Seguides algúns dos vosos propios malos hábitos que volven aos Pantanos do Estancamento e descubrides o culpable: a fantasmagórica Nigromante, Recidiva. Acercádesvos correndo, brandindo as vosas armas, pero estas deslízanse a través do seu espectro inutilmente.

\"Non vos molestedes\", sussurra ela cun chirrido seco. \"Sen unha cadea de pedras de lúa, nada pode facerme dano -e o mestre xoieiro @aurakami espallou todas as pedras de lúa a través de Habitica hai moito tempo!\" Xadeando, retirádesvos... pero sabedes o que tedes que facer.", "questMoonstone1CollectMoonstone": "Pedras de Lúa", - "questMoonstone1Completion": "At last, you manage to pull the final moonstone from the swampy sludge. It’s time to go fashion your collection into a weapon that can finally defeat Recidivate!", + "questMoonstone1Completion": "", "questMoonstone1DropMoonstone2Quest": "Recidiva, Parte 2: Recidiva a Nigromante (Pergamiño)", "questMoonstone2Text": "Recidiva, Parte 2: Recidiva a Nigromante", - "questMoonstone2Notes": "The brave weaponsmith @InspectorCaracal helps you fashion the enchanted moonstones into a chain. You’re ready to confront Recidivate at last, but as you enter the Swamps of Stagnation, a terrible chill sweeps over you.

Rotting breath whispers in your ear. \"Back again? How delightful...\" You spin and lunge, and under the light of the moonstone chain, your weapon strikes solid flesh. \"You may have bound me to the world once more,\" Recidivate snarls, \"but now it is time for you to leave it!\"", + "questMoonstone2Notes": "", "questMoonstone2Boss": "A Nigromante", - "questMoonstone2Completion": "Recidivate staggers backwards under your final blow, and for a moment, your heart brightens – but then she throws back her head and lets out a horrible laugh. What’s happening?", + "questMoonstone2Completion": "", "questMoonstone2DropMoonstone3Quest": "Recidiva, Parte 3: Recidiva Transformada (Pergamiño)", "questMoonstone3Text": "Recidiva, Parte 3: Recidiva Transformada", - "questMoonstone3Notes": "Laughing wickedly, Recidivate crumples to the ground, and you strike at her again with the moonstone chain. To your horror, Recidivate seizes the gems, eyes burning with triumph.

\"Foolish creature of flesh!\" she shouts. \"These moonstones will restore me to a physical form, true, but not as you imagined. As the full moon waxes from the dark, so too does my power flourish, and from the shadows I summon the specter of your most feared foe!\"

A sickly green fog rises from the swamp, and Recidivate’s body writhes and contorts into a shape that fills you with dread – the undead body of Vice, horribly reborn.", + "questMoonstone3Notes": "", "questMoonstone3Completion": "A túa respiración vólvese difícil e a suor pícache os ollos mentres que o Wyrm morto vivinte desplómase. Os restos de Recidiva disípanse nunha néboa gris fina que se dispersa rapidamente tras o ataque dunha brisa refrescante, reunindo os gritos distantes de Habiticantes derrotando os seus malos hábitos dunha vez por todas.

@Baconsaur o mestre das bestas baixa en picado voando sobre un grifo. \"Vin o final da vosa batalla desde ceo, e conmovinme moito. Por favor, tomade este túnica encantada - a vosa bravura denora un corazón nobre, e penso que deberíades aceptala.\"", "questMoonstone3Boss": "Necro-Vicio", "questMoonstone3DropRottenMeat": "Carne Podre (Comida)", "questMoonstone3DropZombiePotion": "Poción de Eclosión Zombi", - "questGroupGoldenknight": "The Golden Knight", + "questGroupGoldenknight": "", "questGoldenknight1Text": "A Cabaleira Dourada, Parte 1: Unha Seria Lección", "questGoldenknight1Notes": "A Cabaleira Dourada estivo a ocuparse dos casos de pobres Habiticantes. Non fixeches todos os teus Diarios? Validaches un hábito negativo? Usará isto como unha razón para acosarte sobre como deberías seguir o seu exemplo. Ela é o exemplo brillante dun Habiticante perfecto, e ti non es máis ca un fracaso. Iso non é nada amable! Todos cometemos errores. Non se nos debería xulgar con tanta negatividade por iso. Quizais sexa hora de recoller algúns testemuños de Habiticantes feridos e darlle á Cabaleira Dourada unha seria lección!", "questGoldenknight1CollectTestimony": "Testemuñas", - "questGoldenknight1Completion": "Look at all these testimonies! Surely this will be enough to convince the Golden Knight. Now all you need to do is find her.", + "questGoldenknight1Completion": "", "questGoldenknight1DropGoldenknight2Quest": "A Cabaleira Dourada, Parte 2: Cabaleiro de Ouro (Pergamiño)", "questGoldenknight2Text": "A Cabaleira Dourada, Parte 2: Cabaleiro de Ouro", - "questGoldenknight2Notes": "Armed with dozens of Habiticans' testimonies, you finally confront the Golden Knight. You begin to recite the Habitcans' complaints to her, one by one. \"And @Pfeffernusse says that your constant bragging-\" The knight raises her hand to silence you and scoffs, \"Please, these people are merely jealous of my success. Instead of complaining, they should simply work as hard as I! Perhaps I shall show you the power you can attain through diligence such as mine!\" She raises her morningstar and prepares to attack you!", + "questGoldenknight2Notes": "", "questGoldenknight2Boss": "Cabaleira de Ouro", - "questGoldenknight2Completion": "The Golden Knight lowers her Morningstar in consternation. “I apologize for my rash outburst,” she says. “The truth is, it’s painful to think that I’ve been inadvertently hurting others, and it made me lash out in defense… but perhaps I can still apologize?”", + "questGoldenknight2Completion": "", "questGoldenknight2DropGoldenknight3Quest": "A Cabaleira Dourada, Parte 3: O Cabaleiro de Ferro (Pergamiño)", "questGoldenknight3Text": "A Cabaleira Dourada, Parte 3: O Cabaleiro de Ferro", "questGoldenknight3Notes": "@Jon Arinbjorn grita para chamar a vosa atención. No rescaldo da vosa batalla, unha nova figura apareceu. Un cabaleiro revestido de ferro manchado de negro achégase lentamente de vós coa súa espada en man. A Cabaleira Dourada berra á figura: \"Papá, non!\" pero o cabaleiro non mostra signos de parar. Ela vírase cara a vós e di: \"Síntoo moito. Fun unha idiota, cun orgullo demasiado grande para ver o cruel que fun. Pero o meu pai é máis cruel do que eu xamais podería ser. Se non o paramos, destruiranos a todos. Tomade, usade o meu Luceiro da Alba e detede o Cabaleiro de Ferro!\"", @@ -110,14 +110,14 @@ "questGoldenknight3Boss": "O Cabaleiro de Ferro", "questGoldenknight3DropHoney": "Mel (Comida)", "questGoldenknight3DropGoldenPotion": "Poción de Eclosión Dourada", - "questGoldenknight3DropWeapon": "Mustaine's Milestone Mashing Morning Star (Off-hand Weapon)", - "questGroupEarnable": "Earnable Quests", + "questGoldenknight3DropWeapon": "", + "questGroupEarnable": "", "questBasilistText": "A Basi-Lista", - "questBasilistNotes": "Hai unha conmoción na praza do mercado -o tipo de conmoción que fai fuxir a xente. Como es un aventureiro valente, corres hacia ela no seu lugar, e descobries unha Basi-lista, coalescencia dunha masa de Tarefas incompletas! Os Habiticantes cercanos están paralizados de medo ante a lonxitude da Basi-lista, incapaces de comezar a traballar. Dalgún lugar na veciñanza, oes a @Arcosine berrar: \"Rápido! Completa as túas Tarefas e Diarios para desarmar o monstro, antes de que alguén reciba un corte de papel!\" Actúa rápido, aventureir@, e valida tarefas - pero coidado! Se deixas algunha tarefa Diaria sen facer, a Basi-lista atacaravos a ti e ao teu equipo!", + "questBasilistNotes": "Hai unha conmoción na praza do mercado -o tipo de conmoción que fai fuxir a xente. Como es un aventureiro valente, corres cara ela no seu lugar, e descobres unha Basi-lista, coalescencia dunha masa de Tarefas incompletas! Os Habiticantes próximos están paralizados de medo ante a lonxitude da Basi-lista, incapaces de comezar a traballar. Dalgún lugar na veciñanza, oes a @Arcosine berrar: \"Rápido! Completa as túas Tarefas e Diarios para desarmar o monstro, antes de que alguén reciba un corte de papel!\" Actúa rápido, e valida tarefas - pero coidado! Se deixas algunha tarefa Diaria sen facer, a Basi-lista atacaravos a ti e ao teu equipo!", "questBasilistCompletion": "A Basi-lista dispérsase en anacos de papel, que brillan suavemente coas cores do arco da vella. \"Uf!\" di @Arcosine. \"Que ben que estivésedes aquí!\" Sentíndovos máis experimentados que antes, reunides algo de ouro de entre os papeis.", "questBasilistBoss": "A Basi-Lista", "questEggHuntText": "Caza de Ovos", - "questEggHuntNotes": "Overnight, strange plain eggs have appeared everywhere: in Matt's stables, behind the counter at the Tavern, and even among the pet eggs at the Marketplace! What a nuisance! \"Nobody knows where they came from, or what they might hatch into,\" says Megan, \"but we can't just leave them laying around! Work hard and search hard to help me gather up these mysterious eggs. Maybe if you collect enough, there will be some extras left over for you...\"", + "questEggHuntNotes": "", "questEggHuntCompletion": "Fixéchedelo! En agradecemento, Megan dávos dez dos ovos. \"Aposto que as pocións de eclosión tintaranos de bonitas cores! E pregúntome que vai ocorrer cando se transforman en monturas....\"", "questEggHuntCollectPlainEgg": "Ovos Básicos", "questEggHuntDropPlainEgg": "Ovo Básico", @@ -138,176 +138,176 @@ "questSeahorseBoss": "Semental Mariño", "questSeahorseDropSeahorseEgg": "Cabaliño de mar (Ovo)", "questSeahorseUnlockText": "Desbloquea os Ovos de Cabaliño de mar adquiribles no Mercado", - "questGroupAtom": "Attack of the Mundane", + "questGroupAtom": "", "questAtom1Text": "Ataque do Mundano, Parte 1: Desastre da Louza!", "questAtom1Notes": "Chegas ás beiras do Lago Fregado para un descanso ben merecido... Pero o lago está contaminado con pratos sucios! Como aconteceu isto? Simplemente non podes permitir que o lago estea neste estado. Só hai unha cousa que poidas facer: limpar os pratos e salvar o teu lugar de vacacións! Máis vale atopar algo de xabón para limpar esta desorde. Unha morea de xabón...", "questAtom1CollectSoapBars": "Pastillas de Xabón", "questAtom1Drop": "O Monstro do Picoteo (Pergamiño)", - "questAtom1Completion": "After some thorough scrubbing, all the dishes are stacked safely on the shore! You stand back and proudly survey your hard work.", + "questAtom1Completion": "", "questAtom2Text": "Ataque do Mundano, Parte 2: O Monstro do Picoteo", "questAtom2Notes": "Uf, este sitio é moito máis agradable con todos aqueles pratos limpos. Quizais poidas, finalmente, gozar un pouco do lugar. Oh - parece que hai unha caixa de pizza flotando no lago. Ben, só é unha cousa máis que limpar, non? Pero, desgraciadamente, non é mera caixa de pizza! De súpeto, a caixa levántase da auga para revelarse como a cabeza dun monstro. Non pode ser! O lendario Monstro do Picoteo? Dise que existiu escondido no lago desde tempos prehistóricos: unha criatura orixinada a partir dos restos de comida e lixo dos antigos Habiticantes. Que asco!", "questAtom2Boss": "O Monstro do Picoteo", "questAtom2Drop": "O Coadomante (Pergamiño)", - "questAtom2Completion": "With a deafening cry, and five delicious types of cheese bursting from its mouth, the Snackless Monster falls to pieces. Well done, brave adventurer! But wait... is there something else wrong with the lake?", + "questAtom2Completion": "", "questAtom3Text": "Ataque do Mundano, Parte 3: O Coadomante", - "questAtom3Notes": "Just when you thought that your trials had ended, Washed-Up Lake begins to froth violently. “HOW DARE YOU!” booms a voice from beneath the water's surface. A robed, blue figure emerges from the water, wielding a magic toilet brush. Filthy laundry begins to bubble up to the surface of the lake. \"I am the Laundromancer!\" he angrily announces. \"You have some nerve - washing my delightfully dirty dishes, destroying my pet, and entering my domain with such clean clothes. Prepare to feel the soggy wrath of my anti-laundry magic!\"", + "questAtom3Notes": "", "questAtom3Completion": "O perverso Coadomante foi derrotado! A roupa limpa cae en moreas au teu redor. Todo parece moito mellor por aquí. A medida que comezas a poñerte a túa armadura recén lavada, un brillo de metal chama a túa atención, e a túa mirada recae sobre un helmo relucente. O propietario orixinal deste obxecto brillante éche descoñecido, pero a medida que o pos, sentes a agradable presenza dun espírito xeneroso. Que pena que non cosera unha etiqueta co seu nome.", "questAtom3Boss": "O Coadomante", "questAtom3DropPotion": "Poción de Eclosión Básica", "questOwlText": "O Bufo Nocturno", "questOwlNotes": "A luz da Taberna está acesa ata o albor
Ata que unha tarde, o brillo faltou!
Como poderemos de noite traballar?
@Twitching busca xente disposta a loitar.
\"Ves ese Bufo, inimigo estrelado?
Loita con brío e non quedes parado!
A súa sombra faremos fuxir
e o brillo da noite volverá revivir.\"", - "questOwlCompletion": "The Night-Owl fades before the dawn,
But even so, you feel a yawn.
Perhaps it's time to get some rest?
Then on your bed, you see a nest!
A Night-Owl knows it can be great
To finish work and stay up late,
But your new pets will softly peep
To tell you when it's time to sleep.", + "questOwlCompletion": "", "questOwlBoss": "O Bufo Nocturno", "questOwlDropOwlEgg": "Bufo (Ovo)", "questOwlUnlockText": "Desbloquea os Ovos de Bufo adquiribles no Mercado", - "questPenguinText": "The Fowl Frost", + "questPenguinText": "", "questPenguinNotes": "Aínda que sexa un día de verán caluroso no extremo sur da Habitica, un frío antinatural acaba de caer sobre o Lago Vivaz. Levántanse ventos fríxidos e fortes a medida que a beira comeza a conxelarse. Puntas de xeo sobresaen do chan, empurrando a herba e o lixo. @Melynnrose E @Breadstrings achéganse correndo.

\"Axuda!\" di @Melynnrose. \"Trouxemos un pingüín xigante para conxelar o lago e podermos ir todos patinar no xeo, pero acabáronsenos os peixes para alimentalo!\"

\"Enfadouse e está usando o seu alento conxelado sobre todo o que ve\" di @Breadstrings. \"Por favor, tes que dominalo antes de que todos nós esteamos cubertos de xeo\" Parece que necesitas que este pingüín... se arrefríe.", "questPenguinCompletion": "Tras a derrota do pingüín o xeo derrétese. O pingüín xigante aséntase mentres brilla o sol, sorbendo un caldeiro extra de peixe que atopaches. Cruza o lago patinando, soprando suavemente cara abaixo para crear un xeo suave e espumoso. Que paxaro máis estraño! \"Tamén parece que se deixou atrás algúns ovos, así\", di @Painter de Cluster.

@Rattify ri. \"Quizais estes pingüins sexan un pouco máis... tranquilos?\"", "questPenguinBoss": "Pingüín Xeado", "questPenguinDropPenguinEgg": "Pingüín (Ovo)", "questPenguinUnlockText": "Desbloquea os Ovos de Pingüín adquiribles no Mercado", "questStressbeastText": "A Abominable Besta do Estrés das Estepas de Estoikalmo", - "questStressbeastNotes": "Completa tarefas Diarias e Tarefas e ten Hábitos positivos para danar o Xefe Mundial! As Tarefas Diarias incompletas enchen a Barra de Golpe de Estrés. Cando a Barra de Golpe de Estrés estea chea, o Xefe Mundial atacará un PNX (personaxe non xogable). Un Xefe Mundial nunca danará, de ningunha maneira, a xogadores ou contas individuais. Só se contarán as tarefas Diarias das contas activas que non estean descansando na pousada.

~*~

O primeiro que oímos son os pasos, máis lentos e máis estrondosos que a estampida. Un por un, os Habiticantes ollan desde as súas portas, e as palabras nos fallan.

Por suposto que todos temos visto Bestas do Estrés antes - pequenas criaturas feroces que atacan nos momentos difíciles. Pero isto? Este é máis alto ca os edificios, con patas que poderían esmagar un dragón con facilidade. A xeada emerxe da súa pel fedorenta, e a medida que ruxe, a explosión xeada desgarra os tellados das nosas casas. Un monstro desta magnitude nunca se mencionou fóra de lendas distantes.

\"Coidado, Habiticantes\" chora SabreCat. \"Protexédevos con barricadas - esta é a notoria Abominable Besta do Estrés!

\"Esa cousa debe de estar feita de séculos de estrés!\" di Kiwibot, pechando a porta da Taberna con forza e correndo os postigos das fiestras.

\"As Estepas de Estoicalmo,\" di Lemoness, coa súa cara sombría. \"Todo este tempo, cremos que eran plácidas e imperturbables, pero deberon de estar escondendo secretamente o seu estrés nalgún lado. Tras moitas xeracións, converteuse nisto, e agora escapou e atacounas - e a nós tamén!\"

Só hai un xeito de afastar unha Besta do Estrés, Abominable ou non, e é atacándoa con tarefas Diarias completas e Tarefas! Xuntémonos todos para loitar contra este temible inimigo - pero asegúrate de non desatender as túas tarefas, ou as nosas tarefas Diarias poden irritalo tanto que entolecerá...", + "questStressbeastNotes": "Completa tarefas diarias e tarefas pendentes para danar o Xefe Mundial! As Tarefas Diarias incompletas enchen a Barra de Golpe de Estrés. Cando a Barra de Golpe de Estrés estea chea, o Xefe Mundial atacará un PNX (personaxe non xogable). Un Xefe Mundial nunca danará, de ningunha maneira, a xogadores ou contas individuais. Só se contarán as tarefas Diarias das contas activas que non estean descansando na pousada.

~*~

O primeiro que oímos son os pasos, máis lentos e máis estrondosos que a estampida. Un por un, os Habiticantes ollan desde as súas portas, e as palabras nos fallan.

Por suposto que todos temos visto Bestas do Estrés antes - pequenas criaturas feroces que atacan nos momentos difíciles. Pero isto? Este é máis alto ca os edificios, con patas que poderían esmagar un dragón con facilidade. A xeada emerxe da súa pel fedorenta, e a medida que ruxe, a explosión xeada desgarra os tellados das nosas casas. Un monstro desta magnitude nunca se mencionou fóra de lendas distantes.

\"Coidado, Habiticantes\" chora SabreCat. \"Protexédevos con barricadas - esta é a notoria Abominable Besta do Estrés!

\"Esa cousa debe de estar feita de séculos de estrés!\" di Kiwibot, pechando a porta da Taberna con forza e correndo os postigos das fiestras.

\"As Estepas de Estoicalmo,\" di Lemoness, coa súa cara sombría. \"Todo este tempo, cremos que eran plácidas e imperturbables, pero deberon de estar escondendo secretamente o seu estrés nalgún lado. Tras moitas xeracións, converteuse nisto, e agora escapou e atacounas - e a nós tamén!\"

Só hai un xeito de afastar unha Besta do Estrés, Abominable ou non, e é atacándoa con tarefas Diarias completas e Tarefas! Xuntémonos todos para loitar contra este temible inimigo - pero asegúrate de non desatender as túas tarefas, ou as nosas tarefas Diarias poden irritalo tanto que entolecerá...", "questStressbeastBoss": "A Abominable Besta do Estrés", "questStressbeastBossRageTitle": "Golpe de Estrés", - "questStressbeastBossRageDescription": "When this gauge fills, the Abominable Stressbeast will unleash its Stress Strike on Habitica!", + "questStressbeastBossRageDescription": "", "questStressbeastDropMammothPet": "Mamut (mascota)", "questStressbeastDropMammothMount": "Mamut (montura)", - "questStressbeastBossRageStables": "`Abominable Stressbeast uses STRESS STRIKE!`\n\nThe surge of stress heals Abominable Stressbeast!\n\nOh no! Despite our best efforts, we've let some Dailies get away from us, and their dark-red color has infuriated the Abominable Stressbeast and caused it to regain some of its health! The horrible creature lunges for the Stables, but Matt the Beast Master heroically leaps into the fray to protect the pets and mounts. The Stressbeast has seized Matt in its vicious grip, but at least it's distracted for the moment. Hurry! Let's keep our Dailies in check and defeat this monster before it attacks again!", - "questStressbeastBossRageBailey": "`Abominable Stressbeast uses STRESS STRIKE!`\n\nThe surge of stress heals Abominable Stressbeast!\n\nAhh!!! Our incomplete Dailies caused the Abominable Stressbeast to become madder than ever and regain some of its health! Bailey the Town Crier was shouting for citizens to get to safety, and now it has seized her in its other hand! Look at her, valiantly reporting on the news as the Stressbeast swings her around viciously... Let's be worthy of her bravery by being as productive as we can to save our NPCs!", - "questStressbeastBossRageGuide": "`Abominable Stressbeast uses STRESS STRIKE!`\n\nThe surge of stress heals Abominable Stressbeast!\n\nLook out! Justin the Guide is trying to distract the Stressbeast by running around its ankles, yelling productivity tips! The Abominable Stressbeast is stomping madly, but it seems like we're really wearing this beast down. I doubt it has enough energy for another strike. Don't give up... we're so close to finishing it off!", - "questStressbeastDesperation": "`Abominable Stressbeast reaches 500K health! Abominable Stressbeast uses Desperate Defense!`\n\nWe're almost there, Habiticans! With diligence and Dailies, we've whittled the Stressbeast's health down to only 500K! The creature roars and flails in desperation, rage building faster than ever. Bailey and Matt yell in terror as it begins to swing them around at a terrifying pace, raising a blinding snowstorm that makes it harder to hit.\n\nWe'll have to redouble our efforts, but take heart - this is a sign that the Stressbeast knows it is about to be defeated. Don't give up now!", - "questStressbeastCompletion": "The Abominable Stressbeast is DEFEATED!

We've done it! With a final bellow, the Abominable Stressbeast dissipates into a cloud of snow. The flakes twinkle down through the air as cheering Habiticans embrace their pets and mounts. Our animals and our NPCs are safe once more!

Stoïkalm is Saved!

SabreCat speaks gently to a small sabertooth. \"Please find the citizens of the Stoïkalm Steppes and bring them to us,\" he says. Several hours later, the sabertooth returns, with a herd of mammoth riders following slowly behind. You recognize the head rider as Lady Glaciate, the leader of Stoïkalm.

\"Mighty Habiticans,\" she says, \"My citizens and I owe you the deepest thanks, and the deepest apologies. In an effort to protect our Steppes from turmoil, we began to secretly banish all of our stress into the icy mountains. We had no idea that it would build up over generations into the Stressbeast that you saw! When it broke loose, it trapped all of us in the mountains in its stead and went on a rampage against our beloved animals.\" Her sad gaze follows the falling snow. \"We put everyone at risk with our foolishness. Rest assured that in the future, we will come to you with our problems before our problems come to you.\"

She turns to where @Baconsaur is snuggling with some of the baby mammoths. \"We have brought your animals an offering of food to apologize for frightening them, and as a symbol of trust, we will leave some of our pets and mounts with you. We know that you will all take care good care of them.\"", - "questStressbeastCompletionChat": "`The Abominable Stressbeast is DEFEATED!`\n\nWe've done it! With a final bellow, the Abominable Stressbeast dissipates into a cloud of snow. The flakes twinkle down through the air as cheering Habiticans embrace their pets and mounts. Our animals and our NPCs are safe once more!\n\n`Stoïkalm is Saved!`\n\nSabreCat speaks gently to a small sabertooth. \"Please find the citizens of the Stoïkalm Steppes and bring them to us,\" he says. Several hours later, the sabertooth returns, with a herd of mammoth riders following slowly behind. You recognize the head rider as Lady Glaciate, the leader of Stoïkalm.\n\n\"Mighty Habiticans,\" she says, \"My citizens and I owe you the deepest thanks, and the deepest apologies. In an effort to protect our Steppes from turmoil, we began to secretly banish all of our stress into the icy mountains. We had no idea that it would build up over generations into the Stressbeast that you saw! When it broke loose, it trapped all of us in the mountains in its stead and went on a rampage against our beloved animals.\" Her sad gaze follows the falling snow. \"We put everyone at risk with our foolishness. Rest assured that in the future, we will come to you with our problems before our problems come to you.\"\n\nShe turns to where @Baconsaur is snuggling with some of the baby mammoths. \"We have brought your animals an offering of food to apologize for frightening them, and as a symbol of trust, we will leave some of our pets and mounts with you. We know that you will all take care good care of them.\"", - "questTRexText": "King of the Dinosaurs", - "questTRexNotes": "Now that ancient creatures from the Stoïkalm Steppes are roaming throughout all of Habitica, @Urse has decided to adopt a full-grown Tyrannosaur. What could go wrong?

Everything.", - "questTRexCompletion": "The wild dinosaur finally stops its rampage and settles down to make friends with the giant roosters. @Urse beams down at it. \"They're not such terrible pets, after all! They just need a little discipline. Here, take some Tyrannosaur eggs for yourself.\"", - "questTRexBoss": "Flesh Tyrannosaur", - "questTRexUndeadText": "The Dinosaur Unearthed", - "questTRexUndeadNotes": "As the ancient dinosaurs from the Stoïkalm Steppes roam through Habit City, a cry of terror emanates from the Grand Museum. @Baconsaur shouts, \"The Tyrannosaur skeleton in the museum is stirring! It must have sensed its kin!\" The bony beast bares its teeth and clatters towards you. How can you defeat a creature that is already dead? You'll have to strike fast before it heals itself!", - "questTRexUndeadCompletion": "The Tyrannosaur's glowing eyes grow dark, and it settles back onto its familiar pedestal. Everyone sighs with relief. \"Look!\" @Baconsaur says. \"Some of the fossilized eggs are shiny and new! Maybe they'll hatch for you.\"", - "questTRexUndeadBoss": "Skeletal Tyrannosaur", - "questTRexUndeadRageTitle": "Skeleton Healing", - "questTRexUndeadRageDescription": "This bar fills when you don't complete your Dailies. When it is full, the Skeletal Tyrannosaur will heal 30% of its remaining health!", - "questTRexUndeadRageEffect": "`Skeletal Tyrannosaur uses SKELETON HEALING!`\n\nThe monster lets forth an unearthly roar, and some of its damaged bones knit back together!", + "questStressbeastBossRageStables": "", + "questStressbeastBossRageBailey": "", + "questStressbeastBossRageGuide": "", + "questStressbeastDesperation": "", + "questStressbeastCompletion": "", + "questStressbeastCompletionChat": "", + "questTRexText": "", + "questTRexNotes": "", + "questTRexCompletion": "", + "questTRexBoss": "", + "questTRexUndeadText": "", + "questTRexUndeadNotes": "", + "questTRexUndeadCompletion": "", + "questTRexUndeadBoss": "", + "questTRexUndeadRageTitle": "", + "questTRexUndeadRageDescription": "", + "questTRexUndeadRageEffect": "", "questTRexDropTRexEgg": "Tiranosaurio (Ovo)", "questTRexUnlockText": "Desbloquea os Ovos de Tiranosaurio adquiribles no Mercado", - "questRockText": "Escape the Cave Creature", - "questRockNotes": "Crossing Habitica's Meandering Mountains with some friends, you make camp one night in a beautiful cave laced with shining minerals. But when you wake up the next morning, the entrance has disappeared, and the floor of the cave is shifting underneath you.

\"The mountain's alive!\" shouts your companion @pfeffernusse. \"These aren't crystals - these are teeth!\"

@Painter de Cluster grabs your hand. \"We'll have to find another way out - stay with me and don't get distracted, or we could be trapped in here forever!\"", - "questRockBoss": "Crystal Colossus", - "questRockCompletion": "Your diligence has allowed you to find a safe path through the living mountain. Standing in the sunshine, your friend @intune notices something glinting on the ground by the cave's exit. You stoop to pick it up, and see that it's a small rock with a vein of gold running through it. Beside it are a number of other rocks with rather peculiar shapes. They almost look like... eggs?", + "questRockText": "", + "questRockNotes": "", + "questRockBoss": "", + "questRockCompletion": "", "questRockDropRockEgg": "Rocha (Ovo)", "questRockUnlockText": "Desbloquea os Ovos de Rocha adquiribles no Mercado", - "questBunnyText": "The Killer Bunny", - "questBunnyNotes": "After many difficult days, you reach the peak of Mount Procrastination and stand before the imposing doors of the Fortress of Neglect. You read the inscription in the stone. \"Inside resides the creature that embodies your greatest fears, the reason for your inaction. Knock and face your demon!\" You tremble, imagining the horror within and feel the urge to flee as you have done so many times before. @Draayder holds you back. \"Steady, my friend! The time has come at last. You must do this!\"

You knock and the doors swing inward. From within the gloom you hear a deafening roar, and you draw your weapon.", - "questBunnyBoss": "Killer Bunny", - "questBunnyCompletion": "With one final blow the killer rabbit sinks to the ground. A sparkly mist rises from her body as she shrinks down into a tiny bunny... nothing like the cruel beast you faced a moment before. Her nose twitches adorably and she hops away, leaving some eggs behind. @Gully laughs. \"Mount Procrastination has a way of making even the smallest challenges seem insurmountable. Let's gather these eggs and head for home.\"", + "questBunnyText": "", + "questBunnyNotes": "", + "questBunnyBoss": "", + "questBunnyCompletion": "", "questBunnyDropBunnyEgg": "Coello (Ovo)", "questBunnyUnlockText": "Desbloquea os Ovos de Coello adquiribles no Mercado", - "questSlimeText": "The Jelly Regent", - "questSlimeNotes": "As you work on your tasks, you notice you are moving slower and slower. \"It's like walking through molasses,\" @Leephon grumbles. \"No, like walking through jelly!\" @starsystemic says. \"That slimy Jelly Regent has slathered his stuff all over Habitica. It's gumming up the works. Everybody is slowing down.\" You look around. The streets are slowly filling with clear, colorful ooze, and Habiticans are struggling to get anything done. As others flee the area, you grab a mop and prepare for battle!", - "questSlimeBoss": "Jelly Regent", - "questSlimeCompletion": "With a final jab, you trap the Jelly Regent in an over-sized donut, rushed in by @Overomega, @LordDarkly, and @Shaner, the quick-thinking leaders of the pastry club. As everyone is patting you on the back, you feel someone slip something into your pocket. It’s the reward for your sweet success: three Marshmallow Slime eggs.", + "questSlimeText": "", + "questSlimeNotes": "", + "questSlimeBoss": "", + "questSlimeCompletion": "", "questSlimeDropSlimeEgg": "Baba de nube (Ovo)", "questSlimeUnlockText": "Desbloquea os Ovos de Baba de Nube adquiribles no Mercado", - "questSheepText": "The Thunder Ram", - "questSheepNotes": "As you wander the rural Taskan countryside with friends, taking a \"quick break\" from your obligations, you find a cozy yarn shop. You are so absorbed in your procrastination that you hardly notice the ominous clouds creep over the horizon. \"I've got a ba-a-a-ad feeling about this weather,\" mutters @Misceo, and you look up. The stormy clouds are swirling together, and they look a lot like a... \"We don't have time for cloud-gazing!\" @starsystemic shouts. \"It's attacking!\" The Thunder Ram hurtles forward, slinging bolts of lightning right at you!", - "questSheepBoss": "Thunder Ram", - "questSheepCompletion": "Impressed by your diligence, the Thunder Ram is drained of its fury. It launches three huge hailstones in your direction, and then fades away with a low rumble. Upon closer inspection, you discover that the hailstones are actually three fluffy eggs. You gather them up, and then stroll home under a blue sky.", + "questSheepText": "", + "questSheepNotes": "", + "questSheepBoss": "", + "questSheepCompletion": "", "questSheepDropSheepEgg": "Ovella (Ovo)", "questSheepUnlockText": "Desbloquea os Ovos de Ovella adquiribles no Mercado", - "questKrakenText": "The Kraken of Inkomplete", - "questKrakenNotes": "It's a warm, sunny day as you sail across the Inkomplete Bay, but your thoughts are clouded with worries about everything that you still need to do. It seems that as soon as you finish one task, another crops up, and then another...

Suddenly, the boat gives a horrible jolt, and slimy tentacles burst out of the water on all sides! \"We're being attacked by the Kraken of Inkomplete!\" Wolvenhalo cries.

\"Quickly!\" Lemoness calls to you. \"Strike down as many tentacles and tasks as you can, before new ones can rise up to take their place!\"", - "questKrakenBoss": "The Kraken of Inkomplete", - "questKrakenCompletion": "As the Kraken flees, several eggs float to the surface of the water. Lemoness examines them, and her suspicion turns to delight. \"Cuttlefish eggs!\" she says. \"Here, take them as a reward for everything you've completed.\"", + "questKrakenText": "", + "questKrakenNotes": "", + "questKrakenBoss": "", + "questKrakenCompletion": "", "questKrakenDropCuttlefishEgg": "Choco (Ovo)", "questKrakenUnlockText": "Desbloquea os Ovos de Choco adquiribles no Mercado", - "questWhaleText": "Wail of the Whale", - "questWhaleNotes": "You arrive at the Diligent Docks, hoping to take a submarine to watch the Dilatory Derby. Suddenly, a deafening bellow forces you to stop and cover your ears. \"Thar she blows!\" cries Captain @krazjega, pointing to a huge, wailing whale. \"It's not safe to send out the submarines while she's thrashing around!\"

\"Quick,\" calls @UncommonCriminal. \"Help me calm the poor creature so we can figure out why she's making all this noise!\"", - "questWhaleBoss": "Wailing Whale", - "questWhaleCompletion": "After much hard work, the whale finally ceases her thunderous cry. \"Looks like she was drowning in waves of negative habits,\" @zoebeagle explains. \"Thanks to your consistent effort, we were able to turn the tides!\" As you step into the submarine, several whale eggs bob towards you, and you scoop them up.", + "questWhaleText": "", + "questWhaleNotes": "", + "questWhaleBoss": "", + "questWhaleCompletion": "", "questWhaleDropWhaleEgg": "Balea (Ovo)", "questWhaleUnlockText": "Desbloquea os Ovos de Balea adquiribles no Mercado", - "questGroupDilatoryDistress": "Dilatory Distress", - "questDilatoryDistress1Text": "Dilatory Distress, Part 1: Message in a Bottle", - "questDilatoryDistress1Notes": "A message in a bottle arrived from the newly rebuilt city of Dilatory! It reads: \"Dear Habiticans, we need your help once again. Our princess has disappeared and the city is under siege by some unknown watery demons! The mantis shrimps are holding the attackers at bay. Please aid us!\" To make the long journey to the sunken city, one must be able to breathe water. Fortunately, the alchemists @Benga and @hazel can make it all possible! You only have to find the proper ingredients.", - "questDilatoryDistress1Completion": "You don the the finned armor and swim to Dilatory as quickly as you can. The merfolk and their mantis shrimp allies have managed to keep the monsters outside the city for the moment, but they are losing. No sooner are you within the castle walls than the horrifying siege descends!", + "questGroupDilatoryDistress": "", + "questDilatoryDistress1Text": "", + "questDilatoryDistress1Notes": "", + "questDilatoryDistress1Completion": "", "questDilatoryDistress1CollectFireCoral": "Coral de Lume", "questDilatoryDistress1CollectBlueFins": "Aletas Azuis", "questDilatoryDistress1DropArmor": "Armadura Oceánica con Aletas (Armadura)", - "questDilatoryDistress2Text": "Dilatory Distress, Part 2: Creatures of the Crevasse", - "questDilatoryDistress2Notes": "The siege can be seen from miles away: thousands of disembodied skulls rushing through a portal in the crevasse walls and making their way towards Dilatory.

When you meet King Manta in his war room, his eyes seem sunken, and his face is worried. \"My daughter Adva disappeared into the Dark Crevasse just before this siege began. Please find her and bring her back home safely! I will lend you my Fire Coral Circlet to aid you. If you succeed, it is yours.\"", - "questDilatoryDistress2Completion": "You vanquish the nightmarish horde of skulls, but you feel no closer to finding Adva. You speak to @Kiwibot, the royal tracker, to see if she has any ideas. \"The mantis shrimps that defend the city must have seen Adva escape,\" @Kiwibot says. \"Try following them into the Dark Crevasse.\"", - "questDilatoryDistress2Boss": "Water Skull Swarm", - "questDilatoryDistress2RageTitle": "Swarm Respawn", - "questDilatoryDistress2RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Water Skull Swarm will heal 30% of its remaining health!", - "questDilatoryDistress2RageEffect": "`Water Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls pour forth from the crevasse, bolstering the swarm!", - "questDilatoryDistress2DropSkeletonPotion": "Skeleton Hatching Potion", - "questDilatoryDistress2DropCottonCandyBluePotion": "Cotton Candy Blue Hatching Potion", - "questDilatoryDistress2DropHeadgear": "Fire Coral Circlet (Headgear)", - "questDilatoryDistress3Text": "Dilatory Distress, Part 3: Not a Mere Maid", - "questDilatoryDistress3Notes": "You follow the mantis shrimps deep into the Crevasse, and discover an underwater fortress. Princess Adva, escorted by more watery skulls, awaits you inside the main hall. \"My father has sent you, has he not? Tell him I refuse to return. I am content to stay here and practice my sorcery. Leave now, or you shall feel the wrath of the ocean's new queen!\" Adva seems very adamant, but as she speaks you notice a strange, ruby pendant on her neck glowing ominously... Perhaps her delusions would cease should you break it?", - "questDilatoryDistress3Completion": "Finally, you manage to pull the bewitched pendant from Adva's neck and throw it away. Adva clutches her head. \"Where am I? What happened here?\" After hearing your story, she frowns. \"This necklace was given to me by a strange ambassador - a lady called 'Tzina'. I don't remember anything after that!\"

Back at Dilatory, Manta is overjoyed by your success. \"Allow me to reward you with this trident and shield! I ordered them from @aiseant and @starsystemic as a gift for Adva, but... I'd rather not put weapons in her hands any time soon.\"", - "questDilatoryDistress3Boss": "Adva, the Usurping Mermaid", + "questDilatoryDistress2Text": "", + "questDilatoryDistress2Notes": "", + "questDilatoryDistress2Completion": "", + "questDilatoryDistress2Boss": "", + "questDilatoryDistress2RageTitle": "", + "questDilatoryDistress2RageDescription": "", + "questDilatoryDistress2RageEffect": "", + "questDilatoryDistress2DropSkeletonPotion": "", + "questDilatoryDistress2DropCottonCandyBluePotion": "", + "questDilatoryDistress2DropHeadgear": "", + "questDilatoryDistress3Text": "", + "questDilatoryDistress3Notes": "", + "questDilatoryDistress3Completion": "", + "questDilatoryDistress3Boss": "", "questDilatoryDistress3DropFish": "Peixe (Comida)", - "questDilatoryDistress3DropWeapon": "Trident of Crashing Tides (Weapon)", - "questDilatoryDistress3DropShield": "Moonpearl Shield (Off-Hand Item)", - "questCheetahText": "Such a Cheetah", - "questCheetahNotes": "As you hike across the Sloensteadi Savannah with your friends @PainterProphet, @tivaquinn, @Unruly Hyena, and @Crawford, you're startled to see a Cheetah screeching past with a new Habitican clamped in its jaws. Under the Cheetah's scorching paws, tasks burn away as though complete -- before anyone has the chance to actually finish them! The Habitican sees you and yells, \"Please help me! This Cheetah is making me level too quickly, but I'm not getting anything done. I want to slow down and enjoy the game. Make it stop!\" You fondly remember your own fledgling days, and know that you have to help the newbie by stopping the Cheetah!", - "questCheetahCompletion": "The new Habitican is breathing heavily after the wild ride, but thanks you and your friends for your help. \"I'm glad that Cheetah won't be able to grab anyone else. It did leave some Cheetah eggs for us, so maybe we can raise them into more trustworthy pets!\"", + "questDilatoryDistress3DropWeapon": "", + "questDilatoryDistress3DropShield": "", + "questCheetahText": "", + "questCheetahNotes": "", + "questCheetahCompletion": "", "questCheetahBoss": "Guepardo", "questCheetahDropCheetahEgg": "Guepardo (Ovo)", "questCheetahUnlockText": "Desbloquea os Ovos de Guepardo adquiribles no Mercado", - "questHorseText": "Ride the Night-Mare", - "questHorseNotes": "While relaxing in the Tavern with @beffymaroo and @JessicaChase, the talk turns to good-natured boasting about your adventuring accomplishments. Proud of your deeds, and perhaps getting a bit carried away, you brag that you can tame any task around. A nearby stranger turns toward you and smiles. One eye twinkles as he invites you to prove your claim by riding his horse.\nAs you all head for the stables, @UncommonCriminal whispers, \"You may have bitten off more than you can chew. That's no horse - that's a Night-Mare!\" Looking at its stamping hooves, you begin to regret your words...", - "questHorseCompletion": "It takes all your skill, but finally the horse stamps a couple of hooves and nuzzles you in the shoulder before allowing you to mount. You ride briefly but proudly around the Tavern grounds while your friends cheer. The stranger breaks into a broad grin.\n\"I can see that was no idle boast! Your determination is truly impressive. Take these eggs to raise horses of your own, and perhaps we'll meet again one day.\" You take the eggs, the stranger tips his hat... and vanishes.", + "questHorseText": "", + "questHorseNotes": "", + "questHorseCompletion": "", "questHorseBoss": "Bestadelo", "questHorseDropHorseEgg": "Cabalo (Ovo)", "questHorseUnlockText": "Desbloquea os Ovos de Cabalo adquiribles no Mercado", - "questBurnoutText": "Burnout and the Exhaust Spirits", - "questBurnoutNotes": "It is well past midnight, still and stiflingly hot, when Redphoenix and scout captain Kiwibot abruptly burst through the city gates. \"We need to evacuate all the wooden buildings!\" Redphoenix shouts. \"Hurry!\"

Kiwibot grips the wall as she catches her breath. \"It's draining people and turning them into Exhaust Spirits! That's why everything was delayed. That's where the missing people have gone. It's been stealing their energy!\"

\"'It'?'\" asks Lemoness.

And then the heat takes form.

It rises from the earth in a billowing, twisting mass, and the air chokes with the scent of smoke and sulphur. Flames lick across the molten ground and contort into limbs, writhing to horrific heights. Smoldering eyes snap open, and the creature lets out a deep and crackling cackle.

Kiwibot whispers a single word.

\"Burnout.\"", - "questBurnoutCompletion": "Burnout is DEFEATED!

With a great, soft sigh, Burnout slowly releases the ardent energy that was fueling its fire. As the monster curls quietly into ashes, its stolen energy shimmers through the air, rejuvenating the Exhaust Spirits and returning them to their true forms.

Ian, Daniel, and the Seasonal Sorceress cheer as Habiticans rush to greet them, and all the missing citizens of the Flourishing Fields embrace their friends and families. The final Exhaust Spirit transforms into the Joyful Reaper herself!

\"Look!\" whispers @Baconsaur, as the ashes begin to glitter. Slowly, they resolve into hundreds of shining phoenixes!

One of the glowing birds alights on the Joyful Reaper's skeletal arm, and she grins at it. \"It has been a long time since I've had the exquisite privilege to behold a phoenix in the Flourishing Fields,\" she says. \"Although given recent occurrences, I must say, this is highly thematically appropriate!\"

Her tone sobers, although (naturally) her grin remains. \"We're known for being hard-working here, but we are also known for our feasts and festivities. Rather ironic, I suppose, that as we strove to plan a spectacular party, we refused to permit ourselves any time for fun. We certainly won't make the same mistake twice!\"

She claps her hands. \"Now - let's celebrate!\"", - "questBurnoutCompletionChat": "`Burnout is DEFEATED!`\n\nWith a great, soft sigh, Burnout slowly releases the ardent energy that was fueling its fire. As the monster curls quietly into ashes, its stolen energy shimmers through the air, rejuvenating the Exhaust Spirits and returning them to their true forms.\n\nIan, Daniel, and the Seasonal Sorceress cheer as Habiticans rush to greet them, and all the missing citizens of the Flourishing Fields embrace their friends and families. The final Exhaust Spirit transforms into the Joyful Reaper herself!\n\n\"Look!\" whispers @Baconsaur, as the ashes begin to glitter. Slowly, they resolve into hundreds of shining phoenixes!\n\nOne of the glowing birds alights on the Joyful Reaper's skeletal arm, and she grins at it. \"It has been a long time since I've had the exquisite privilege to behold a phoenix in the Flourishing Fields,\" she says. \"Although given recent occurrences, I must say, this is highly thematically appropriate!\"\n\nHer tone sobers, although (naturally) her grin remains. \"We're known for being hard-working here, but we are also known for our feasts and festivities. Rather ironic, I suppose, that as we strove to plan a spectacular party, we refused to permit ourselves any time for fun. We certainly won't make the same mistake twice!\"\n\nShe claps her hands. \"Now - let's celebrate!\"\n\nAll Habiticans receive:\n\nPhoenix Pet\nPhoenix Mount\nAchievement: Savior of the Flourishing Fields\nBasic Candy\nVanilla Candy\nSand Candy\nCinnamon Candy\nChocolate Candy\nRotten Candy\nSour Pink Candy\nSour Blue Candy\nHoney Candy", + "questBurnoutText": "", + "questBurnoutNotes": "", + "questBurnoutCompletion": "", + "questBurnoutCompletionChat": "", "questBurnoutBoss": "Fatiga", - "questBurnoutBossRageTitle": "Exhaust Strike", - "questBurnoutBossRageDescription": "When this gauge fills, Burnout will unleash its Exhaust Strike on Habitica!", + "questBurnoutBossRageTitle": "", + "questBurnoutBossRageDescription": "", "questBurnoutDropPhoenixPet": "Fénix (Mascota)", "questBurnoutDropPhoenixMount": "Fénix (Montura)", - "questBurnoutBossRageQuests": "`Burnout uses EXHAUST STRIKE!`\n\nOh no! Despite our best efforts, we've let some Dailies get away from us, and now Burnout is inflamed with energy! With a crackling snarl, it engulfs Ian the Quest Master in a surge of spectral fire. As fallen quest scrolls smolder, the smoke clears, and you see that Ian has been drained of energy and turned into a drifting Exhaust Spirit!\n\nOnly defeating Burnout can break the spell and restore our beloved Quest Master. Let's keep our Dailies in check and defeat this monster before it attacks again!", - "questBurnoutBossRageSeasonalShop": "`Burnout uses EXHAUST STRIKE!`\n\nAhh!!! Our incomplete Dailies have fed the flames of Burnout, and now it has enough energy to strike again! It lets loose a gout of spectral flame that sears the Seasonal Shop. You're horrified to see that the cheery Seasonal Sorceress has been transformed into a drooping Exhaust Spirit.\n\nWe have to rescue our NPCs! Hurry, Habiticans, complete your tasks and defeat Burnout before it strikes for a third time!", - "questBurnoutBossRageTavern": "`Burnout uses EXHAUST STRIKE!`\n\nMany Habiticans have been hiding from Burnout in the Tavern, but no longer! With a screeching howl, Burnout rakes the Tavern with its white-hot hands. As the Tavern patrons flee, Daniel is caught in Burnout's grip, and transforms into an Exhaust Spirit right in front of you!\n\nThis hot-headed horror has gone on for too long. Don't give up... we're so close to vanquishing Burnout for once and for all!", - "questFrogText": "Swamp of the Clutter Frog", - "questFrogNotes": "As you and your friends are slogging through the Swamps of Stagnation, @starsystemic points at a large sign. \"Stay on the path -- if you can.\"

\"Surely that isn't hard!\" @RosemonkeyCT says. \"It's broad and clear.\"

But as you continue, you notice that path is gradually overtaken by the muck of the swamp, laced with bits of strange blue debris and clutter, until it's impossible to proceed.

As you look around, wondering how it got this messy, @Jon Arjinborn shouts, \"Look out!\" An angry frog leaps from the sludge, clad in dirty laundry and lit by blue fire. You will have to overcome this poisonous Clutter Frog to progress!", - "questFrogCompletion": "The frog cowers back into the muck, defeated. As it slinks away, the blue slime fades, leaving the way ahead clear.

Sitting in the middle of the path are three pristine eggs. \"You can even see the tiny tadpoles through the clear casing!\" @Breadstrings says. \"Here, you should take them.\"", - "questFrogBoss": "Clutter Frog", + "questBurnoutBossRageQuests": "", + "questBurnoutBossRageSeasonalShop": "", + "questBurnoutBossRageTavern": "", + "questFrogText": "", + "questFrogNotes": "", + "questFrogCompletion": "", + "questFrogBoss": "", "questFrogDropFrogEgg": "Ra (Ovo)", "questFrogUnlockText": "Desbloquea os Ovos de Ra adquiribles no Mercado", - "questSnakeText": "The Serpent of Distraction", - "questSnakeNotes": "It takes a hardy soul to live in the Sand Dunes of Distraction. The arid desert is hardly a productive place, and the shimmering dunes have led many a traveler astray. However, something has even the locals spooked. The sands have been shifting and upturning entire villages. Residents claim a monster with an enormous serpentine body lies in wait under the sands, and they have all pooled together a reward for whomever will help them find and stop it. The much-lauded snake charmers @EmeraldOx and @PainterProphet have agreed to help you summon the beast. Can you stop the Serpent of Distraction?", - "questSnakeCompletion": "With assistance from the charmers, you banish the Serpent of Distraction. Though you were happy to help the inhabitants of the Dunes, you can't help but feel a little sad for your fallen foe. While you contemplate the sights, @LordDarkly approaches you. \"Thank you! It's not much, but I hope this can express our gratitude properly.\" He hands you some Gold and... some Snake eggs! You will see that majestic animal again after all.", - "questSnakeBoss": "Serpent of Distraction", + "questSnakeText": "", + "questSnakeNotes": "", + "questSnakeCompletion": "", + "questSnakeBoss": "", "questSnakeDropSnakeEgg": "Serpe (Ovo)", "questSnakeUnlockText": "Desbloquea os Ovos de Serpe adquiribles no Mercado", - "questUnicornText": "Convincing the Unicorn Queen", - "questUnicornNotes": "Conquest Creek has become muddied, destroying Habit City's fresh water supply! Luckily, @Lukreja knows an old legend that claims that a unicorn's horn can purify the foulest of waters. Together with your intrepid guide @UncommonCriminal, you hike through the frozen peaks of the Meandering Mountains. Finally, at the icy summit of Mount Habitica itself, you find the Unicorn Queen amid the glittering snows. \"Your pleas are compelling,\" she tells you. \"But first you must prove that you are worthy of my aid!\"", - "questUnicornCompletion": "Impressed by your diligence and strength, the Unicorn Queen at last agrees that your cause is worthy. She allows you to ride on her back as she soars to the source of Conquest Creek. As she lowers her golden horn to the befouled waters, a brilliant blue light rises from the water’s surface. It is so blinding that you are forced to close your eyes. When you open them a moment later, the unicorn is gone. However, @rosiesully lets out a cry of delight: the water is now clear, and three shining eggs rest at the creek’s edge.", - "questUnicornBoss": "The Unicorn Queen", + "questUnicornText": "", + "questUnicornNotes": "", + "questUnicornCompletion": "", + "questUnicornBoss": "", "questUnicornDropUnicornEgg": "Unicornio (Ovo)", "questUnicornUnlockText": "Desbloquea os Ovos de Unicornio adquiribles no Mercado", - "questSabretoothText": "The Sabre Cat", - "questSabretoothNotes": "A roaring monster is terrorizing Habitica! The creature stalks through the wilds and woods, then bursts forth to attack before vanishing again. It's been hunting innocent pandas and frightening the flying pigs into fleeing their pens to roost in the trees. @InspectorCaracal and @icefelis explain that the Zombie Sabre Cat was set free while they were excavating in the ancient, untouched ice-fields of the Stoïkalm Steppes. \"It was perfectly friendly at first – I don't know what happened. Please, you have to help us recapture it! Only a champion of Habitica can subdue this prehistoric beast!\"", - "questSabretoothCompletion": "After a long and tiring battle, you wrestle the Zombie Sabre Cat to the ground. As you are finally able to approach, you notice a nasty cavity in one of its sabre teeth. Realising the true cause of the cat's wrath, you're able to get the cavity filled by @Fandekasp, and advise everyone to avoid feeding their friend sweets in future. The Sabre Cat flourishes, and in gratitude, its tamers send you a generous reward – a clutch of sabretooth eggs!", - "questSabretoothBoss": "Zombie Sabre Cat", + "questSabretoothText": "", + "questSabretoothNotes": "", + "questSabretoothCompletion": "", + "questSabretoothBoss": "", "questSabretoothDropSabretoothEgg": "Tigre Dentes de Sable (Ovo)", "questSabretoothUnlockText": "Desbloquea os Ovos de Tigre de Dentes de Sable adquiribles no Mercado", - "questMonkeyText": "Monstrous Mandrill and the Mischief Monkeys", - "questMonkeyNotes": "The Sloensteadi Savannah is being torn apart by the Monstrous Mandrill and his Mischief Monkeys! They shriek loudly enough to drown out the sound of approaching deadlines, encouraging everyone to avoid their duties and keep monkeying around. Alas, plenty of people ape this bad behavior. If no one stops these primates, soon everyone's tasks will be as red as the Monstrous Mandrill's face!

\"It will take a dedicated adventurer to resist them,\" says @yamato.

\"Quick, let's get this monkey off everyone's backs!\" @Oneironaut yells, and you charge into battle.", - "questMonkeyCompletion": "You did it! No bananas for those fiends today. Overwhelmed by your diligence, the monkeys flee in panic. \"Look,\" says @Misceo. \"They left a few eggs behind.\"

@Leephon grins. \"Maybe a well-trained pet monkey can help you as much as the wild ones hinder you!\"", - "questMonkeyBoss": "Monstrous Mandrill", + "questMonkeyText": "", + "questMonkeyNotes": "", + "questMonkeyCompletion": "", + "questMonkeyBoss": "", "questMonkeyDropMonkeyEgg": "Mono (Ovo)", "questMonkeyUnlockText": "Desbloquea os Ovos de Mono adquiribles no Mercado", - "questSnailText": "The Snail of Drudgery Sludge", - "questSnailNotes": "You're excited to begin questing in the abandoned Dungeons of Drudgery, but as soon as you enter, you feel the ground under your feet start to suck at your boots. You look up to the path ahead and see Habiticans mired in slime. @Overomega yells, \"They have too many unimportant tasks and dailies, and they're getting stuck on things that don't matter! Pull them out!\"

\"You need to find the source of the ooze,\" @Pfeffernusse agrees, \"or the tasks that they cannot accomplish will drag them down forever!\"

Pulling out your weapon, you wade through the gooey mud.... and encounter the fearsome Snail of Drudgery Sludge.", + "questSnailText": "", + "questSnailNotes": "", "questSnailCompletion": "You bring your weapon down on the great Snail's shell, cracking it in two, releasing a flood of water. The slime is washed away, and the Habiticans around you rejoice. \"Look!\" says @Misceo. \"There's a small group of snail eggs in the remnants of the muck.\"", "questSnailBoss": "Snail of Drudgery Sludge", "questSnailDropSnailEgg": "Caracol (Ovo)", diff --git a/website/common/locales/gl/rebirth.json b/website/common/locales/gl/rebirth.json index 15ba4b95f1..317f71bb87 100755 --- a/website/common/locales/gl/rebirth.json +++ b/website/common/locales/gl/rebirth.json @@ -1,14 +1,15 @@ { - "rebirthNew": "Renacemento: Nova Aventura Disponible!", - "rebirthUnlock": "Acabas de desbloquear o Renacemento! Este obxecto especial do Mercado permíteche comezar un novo xogo ao nivel 1 conservando as túas tarefas, logros, mascotas e máis. Úsao para transmitir nova vida a Habitica se pensas que o lograches todo, ou para experimentar novas características cos ollos frescos dun personaxe principiante!", - "rebirthAchievement": "Acabas de comezar unha nova aventura! Este é o teu Renacemento <%= number %>, e o Nivel máis alto que acadaches é <%= level %>. Para gañar este Logro, comeza a túa nova aventura cando acades un Nivel aínda maior!", - "rebirthAchievement100": "Acabas de comezar unha nova aventura! Este é o teu Renacemento <%= number %>, e o Nivel máis alto que acadaches é 100 ou máis. Para gañar este Logro, comeza a túa nova aventura cando acades polo menos o nivel 100!", - "rebirthBegan": "Comezar unha Nova Aventura", - "rebirthText": "Comezou <%= rebirths %> Novas Aventuras", - "rebirthOrb": "Used an Orb of Rebirth to start over after attaining Level <%= level %>.", - "rebirthOrb100": "Used an Orb of Rebirth to start over after attaining Level 100 or higher.", - "rebirthOrbNoLevel": "Used an Orb of Rebirth to start over.", - "rebirthPop": "Instantly restart your character as a Level 1 Warrior while retaining achievements, collectibles, and equipment. Your tasks and their history will remain but they will be reset to yellow. Your streaks will be removed except from challenge tasks. Your Gold, Experience, Mana, and the effects of all Skills will be removed. All of this will take effect immediately. For more information, see the wiki's Orb of Rebirth page.", - "rebirthName": "Órbita do Renacemento", - "rebirthComplete": "Acabas de renacer!" + "rebirthNew": "Renacemento: nova aventura dispoñíbel!", + "rebirthUnlock": "Acabas de desbloquear o renacemento! Este obxecto especial do mercado permíteche comezar unha nova partida desde o nivel 1 conservando as túas tarefas, logros, mascotas e máis. Úsao para dar nova vida a Habitica se sentes que o lograches todo, ou para experimentar novas funcionalidades cos ollos frescos dun personaxe nova!", + "rebirthAchievement": "Comezaches unha nova aventura! Este é o teu renacemento número <%= number %>, e o nivel máis alto que acadaches foi <%= level %>. Para acumular este logro, comeza a túa seguinte aventura cando acades un nivel aínda maior!", + "rebirthAchievement100": "Comezaches unha nova aventura! Este é o teu renacemento número <%= number %>, e o nivel máis alto que acadaches foi 100 ou máis. Para acumular este logro, comeza a túa seguinte aventura cando acades polo menos 100!", + "rebirthBegan": "Comezaches unha nova aventura", + "rebirthText": "Comezaches <%= rebirths %> novas aventuras", + "rebirthOrb": "Usaches unha orbe de renacemento para comezar desde o principio tras chegar ao nivel <%= level %>.", + "rebirthOrb100": "Usaches unha orbe de renacemento para comezar desde o principio tras chegar ao nivel 100 ou máis.", + "rebirthOrbNoLevel": "Usaches unha orbe de renacemento para comezar desde o principio.", + "rebirthPop": "Reinicia instantaneamente a túa personaxe como guerreira de nivel 1 pero mantendo os teus logros, obxectos de colección, e equipamento. As túas tarefas e o seu historial manteranse, pero volverán estar en amarelo. As túas series retiraranse, salvo no caso de tarefas de retos. O teu ouro, experiencia e maná, así como os efectos de todas as habilidades, retiraranse. O efecto será inmediato. Para máis información, consulta a páxina do wiki sobre as orbes de renacemento (en inglés).", + "rebirthName": "Orbe de renacemento", + "rebirthComplete": "Acabas de renacer!", + "nextFreeRebirth": "<%= days %> días ata conseguir de balde unha orbe de renacemento" } diff --git a/website/common/locales/gl/settings.json b/website/common/locales/gl/settings.json index 36dff92b86..f7336408b8 100755 --- a/website/common/locales/gl/settings.json +++ b/website/common/locales/gl/settings.json @@ -1,189 +1,231 @@ { "settings": "Configuración", - "language": "Lingua", - "americanEnglishGovern": "No caso dunha diferencia nas traducións, a versión en Inglés Americano prevalece.", - "helpWithTranslation": "Gustaríache axudar coa tradución de Habitica? Xenial! Visita o Gremio de Aspirantes de Lingüística!", - "stickyHeader": "Encabezado adherente", + "language": "Idioma", + "americanEnglishGovern": "No caso dunha discrepancia coas traducións, a versión en inglés estadounidense prevalece.", + "helpWithTranslation": "Gustaríache axudar coa tradución de Habitica? Xenial! Visita o gremio «Aspiring Linguists»!", + "stickyHeader": "Cabeceira adherente", "newTaskEdit": "Abrir as tarefas novas en modo edición", - "dailyDueDefaultView": "Poñer por defecto as tarefas Diarias na pestana \"ata\" (data de vencemento)", - "dailyDueDefaultViewPop": "Con esta opción seleccionada, as tarefas Diarias estarán por defecto en \"ata\" (é dicir, terán unha data de vencemento) no lugar de \"todas\"", - "reverseChatOrder": "Mostrar mensaxes do chat en orde inversa", - "startAdvCollapsed": "Advanced Settings in tasks start collapsed", - "startAdvCollapsedPop": "With this option set, Advanced Settings will be hidden when you first open a task for editing.", - "dontShowAgain": "Non volver a mostrar isto", - "suppressLevelUpModal": "Non mostrar ventana cando suba de nivel", - "suppressHatchPetModal": "Non mostrar ventana cando naza unha mascota", - "suppressRaisePetModal": "Non mostrar ventana cando unha mascota se convirta en montura", - "suppressStreakModal": "Non mostrar ventana cando acade un logro por racha", - "showTour": "Mostrar Percorrido", - "showBailey": "Mostrar a Bailey", - "showBaileyPop": "Saca a Bailey, o Pregoneiro da Vila, do seu escondite para poderes ver novas pasadas.", - "fixVal": "Arranxar Valores do Personaxe", - "fixValPop": "Cambia manualmente valores coma a Saúde, o Nivel e o Ouro.", - "invalidLevel": "Invalid value: Level must be 1 or greater.", - "enableClass": "Habilitar Sistema de Clases", - "enableClassPop": "Abandoaches inicialmente o sistema de clases. Queres aceptalo agora?", - "resetAccPop": "Volve a comezar, desfacéndote de todos os teus niveis, ouro, material, historial e tarefas.", - "deleteAccount": "Eliminar Conta", - "deleteAccPop": "Cancela e suprime a túa conta de Habitica.", - "feedback": "If you'd like to give us feedback, please enter it below - we'd love to know what you liked or didn't like about Habitica! Don't speak English well? No problem! Use the language you prefer.", + "dailyDueDefaultView": "Poñer as tarefas diarias no separador de «Hoxe» de maneira predeterminada", + "dailyDueDefaultViewPop": "Con esta opción marcada, as tarefas diarias estarán de maneira predeterminada en «Hoxe» en vez de en «Todo»", + "reverseChatOrder": "Amosar as mensaxes de conversa en orde inversa", + "startAdvCollapsed": "A configuración avanzada das tarefas comezar recollidas", + "startAdvCollapsedPop": "Con esta opción definida, a configuración avanzada comezará agochada ao abrir unha tarefa para editala.", + "dontShowAgain": "Non Amosar isto de novo", + "suppressLevelUpModal": "Non Amosar unha mensaxe emerxente ao subir de nivel", + "suppressHatchPetModal": "Non Amosar unha mensaxe emerxente ao facer nacer unha mascota", + "suppressRaisePetModal": "Non Amosar unha mensaxe emerxente ao facer medrar unha mascota ata converterse nunha montura", + "suppressStreakModal": "Non Amosar unha mensaxe emerxente ao conseguir un logro de serie", + "showTour": "Amosar a visita", + "showBailey": "Amosar a Baia", + "showBaileyPop": "Amosa o último anuncio de Baia, a pregoeira.", + "fixVal": "Aquelar os valores da personaxe", + "fixValPop": "Cambia manualmente valores coma a vida, o nivel e o ouro.", + "invalidLevel": "O valor é incorrecto: o nivel debe ser 1 ou máis.", + "enableClass": "Activar o sistema de clases", + "enableClassPop": "Ao comezo desactivaches o sistema de clases. Queres activalo agora?", + "resetAccPop": "Comezar de novo, desfacéndote de todos os teus niveis, ouro, equipamento, historial e tarefas.", + "deleteAccount": "Eliminar a conta", + "deleteAccPop": "Cancela e retira a túa conta de Habitica.", + "feedback": "Se queres darnos a túa opinión, escríbea embaixo. Gustaríanos saber o que che gustou e o que non! Se non falas ben inglés, non hai problema, podes usar o idioma que prefiras.", "qrCode": "Código QR", - "dataExport": "Exportación de Datos", + "dataExport": "Exportación de datos", "saveData": "Velaquí algunhas opcións para gardar os teus datos.", - "habitHistory": "Historial de Hábitos", - "exportHistory": "Historial de Exportación:", + "habitHistory": "Historial de hábitos", + "exportHistory": "Exportar o historial:", "csv": "(CSV)", - "userData": "Datos do Usuario", - "exportUserData": "Exportar Datos do Usuario:", + "userData": "Datos de persoa usuaria", + "exportUserData": "Exportar os datos de persoa usuaria:", "export": "Exportar", "xml": "(XML)", "json": "(JSON)", "customDayStart": "Comezo do día personalizado", - "sureChangeCustomDayStartTime": "Are you sure you want to change your Custom Day Start time? Your Dailies will next reset the first time you use Habitica after <%= time %>. Make sure you have completed your Dailies before then!", - "customDayStartHasChanged": "A túa hora de comezo do día cambiou.", - "nextCron": "As túas tarefas Diarias reinicializaranse a primeira vez que uses Habitica despois de <%= time %>. Asegúrate de teres completado as túas tarefas Diarias antes desa hora!", - "customDayStartInfo1": "Habitica comproba e reinicializa por defecto as túas tarefas Diarias a media noite na túa zona horaria cada día. Podes cambiar esa hora aquí.", + "sureChangeCustomDayStartTime": "Seguro que queres cambiar a hora do teu comezo do día personalizado? A próxima vez que se restabelezan as túas tarefas diarias será a primeira vez que uses Habitica a partir das <%= time %>. Asegúrate de completar as túas tarefas diarias antes desa hora!", + "customDayStartHasChanged": "O teu comezo do día personalizado cambiou.", + "nextCron": "A próxima vez que se restabelezan as túas tarefas diarias será a primeira vez que uses Habitica pasadas as <%= time %>. Asegúrate de completar as túas tarefas diarias antes desa hora!", + "customDayStartInfo1": "Habitica comproba e restabelece as túas tarefas diarias a medianoite do teu fuso horario cada día. Aquí podes atrasar a hora na que sucede.", "misc": "Outros", - "showHeader": "Mostrar Encabezamento", - "changePass": "Cambiar Contrasinal", - "changeUsername": "Cambiar o nome de usuario", - "changeEmail": "Cambiar Correo Electrónico", - "newEmail": "Novo Correo Electrónico", - "oldPass": "Antigo Contrasinal", - "newPass": "Novo Contrasinal", - "confirmPass": "Confirmar Nova Contrasinal", - "newUsername": "Novo nome de usuario", - "dangerZone": "Zona Perigosa", - "resetText1": "COIDADO! Isto reinicializa moitas partes da túa conta. Está moi desaconsellado, pero algúns usuarios o atopan útil ao principio despois de xogar na páxina durante un rato.", - "resetText2": "You will lose all your levels, Gold, and Experience points. All your tasks (except those from challenges) will be deleted permanently and you will lose all of their historical data. You will lose all your equipment but you will be able to buy it all back, including all limited edition equipment or subscriber Mystery items that you already own (you will need to be in the correct class to re-buy class-specific gear). You will keep your current class and your pets and mounts. You might prefer to use an Orb of Rebirth instead, which is a much safer option and which will preserve your tasks and equipment.", - "deleteLocalAccountText": "Estás segur@? Isto eliminará a túa conta para sempre, e nunca poderás recuperala! Necesitarás rexistrarte nunha nova conta para volver a usar Habitica. As Xemas que tes ou que gastaches non se che reembolsarán. Se estás completamente segur@, introduce o teu contrasinal no espazo abaixo.", - "deleteSocialAccountText": "Are you sure? This will delete your account forever, and it can never be restored! You will need to register a new account to use Habitica again. Banked or spent Gems will not be refunded. If you're absolutely certain, type \"<%= magicWord %>\" into the text box below.", + "showHeader": "Amosar a cabeceira", + "changePass": "Cambiar o contrasinal", + "changeUsername": "Cambiar o alcume", + "changeEmail": "Cambiar o enderezo de correo electrónico", + "newEmail": "Novo enderezo de correo electrónico", + "oldPass": "Contrasinal anterior", + "newPass": "Novo contrasinal", + "confirmPass": "Confirmar o novo contrasinal", + "newUsername": "Novo alcume", + "dangerZone": "Zona perigosa", + "resetText1": "AVISO! Isto restabelece moitas partes da túa conta. Está moi desaconsellado, pero hai persoas ás que lles resulta útil no comezo, despois de fozar co sitio un anaco.", + "resetText2": "Perderás todos os teus niveis, ouro e puntos de experiencia. Eliminaranse permanentemente as túas tarefas (salvo as de desafíos) e perderás todo o seu historial. Perderás todo o teu equipamento a excepción de obxectos misteriosos de subscrición e obxectos conmemorativos de balde. Poderás mercar de novo os teus obxectos, incluído o equipamento de edición limitada (necesitarás a clase axeitada para mercar de novo equipamento específico dunha clase). Manterás a túa clase actual, os teus logros e as túas mascotas e monturas. Pode que te interese máis usar unha orbe do renacemento en vez de isto, dado que é unha opción moito máis segura e que manterá as túas tarefas e equipamento.", + "deleteLocalAccountText": "Seguro? Isto eliminará a túa conta para sempre, e non se poderá recuperar! Para usar Habitica de novo terás que rexistrar unha nova conta. Non recuperarás os cartos das xemas, aforradas ou gastadas. Se tes a certeza de que queres eliminar a túa conta, escribe o teu contrasinal na seguinte caixa de texto.", + "deleteSocialAccountText": "Seguro? Isto eliminará a túa conta para sempre, e non se poderá recuperar! Para usar Habitica de novo terás que rexistrar unha nova conta. Non recuperarás os cartos das xemas, aforradas ou gastadas. Se tes a certeza de que queres eliminar a túa conta, escribe «<%= magicWord %>» na seguinte caixa de texto.", "API": "API", "APIv3": "API v3", - "APIText": "Cópiaos para usalos en aplicacións terceiras. Non obstante, pensa no teu Código API como un contrasinal, e non o compartas publicamente. Quizais che pidan ocasionalmente o teu ID de Usuario, pero nunca publiques o teu Código API onde outros o poidan ver, incluído Github.", - "APIToken": "Código API (é un contrasinal; ver avertencia arriba!)", - "showAPIToken": "Show API Token", - "hideAPIToken": "Hide API Token", - "APITokenWarning": "If you need a new API Token (e.g., if you accidentally shared it), email <%= hrefTechAssistanceEmail %> with your User ID and current Token. Once it is reset you will need to re-authorize everything by logging out of the website and mobile app and by providing the new Token to any other Habitica tools that you use.", - "thirdPartyApps": "Aplicacións Terceiras", - "dataToolDesc": "Unha páxina web que che mostra certa información sobre a túa conta Habitica, como as estatísticas das túas tarefas, equipamento, e habilidades.", + "APIText": "Cópiaos para usalos en aplicacións de terceiras partes. Non obstante, pensa na túa ficha de API como un contrasinal, e non a compartas publicamente. Quizais che pidan ocasionalmente o teu identificador de persoa usuaria, pero nunca publiques a túa ficha de API onde outra xente poida vela, incluído GitHub.", + "APIToken": "Ficha de API (é un contrasinal, consulta o aviso enriba!)", + "showAPIToken": "Amosar a ficha da API", + "hideAPIToken": "Agochar a ficha da API", + "APITokenWarning": "Se necesitas unha nova ficha de API (p. ex. se a compartiches accidentalmente), envía unha mensaxe de correo electrónico a <%= hrefTechAssistanceEmail %> co teu identificador de persoa usuaria e a túa ficha actual. Unha vez restabelecida, terás que autorizar de novo todo pechando a sesión no sitio web e nas aplicacións de móbil e fornecendo a nova ficha a calquera outra ferramenta de Habitica que uses.", + "thirdPartyApps": "Aplicacións de terceiras partes", + "dataToolDesc": "Unha páxina web que che amosa certa información sobre a túa conta Habitica, como as estatísticas das túas tarefas, equipamento, e habilidades.", "beeminder": "Beeminder", - "beeminderDesc": "Deixa que Beeminder monitoree automaticamente as túas Tarefas de Habitica. Podes comprometerte a manter un número de Tarefas completadas por día ou por semana, ou podes comprometerte a a reducir gradualmente o teu número de Tarefas restante. (Por \"comprometer\", Beeminfer entende baixo ameaza de pagar diñeiro real! Pero quizais che gusten soamente os gráficos sofisticados de Beeminder.)", + "beeminderDesc": "Deixa que Beeminder vixíe automaticamente as túas tarefas pendentes de Habitica. Podes comprometerte a completar un número determinado de tarefas pendentes cada día ou cada semana, ou podes comprometerte a reducir paulatinamente o teu número de tarefas pendentes. (Para Beeminder, «comprometer» significa que, se non o fas, pagarás cartos reais! Pero tamén pode que te gusten os gráficos á última de Beeminder.)", "chromeChatExtension": "Extensión de Chat para Chrome", "chromeChatExtensionDesc": "A Extensión de Chat en Chrome para Habitica engade un espazo de chat a toda habitica.com. Permítelles aos usuarios chatear na Taberna, no seu equipo, e en calquera gremio no que están.", - "otherExtensions": "Outras Extensións", - "otherDesc": "Atopa outras aplicacións, extensións, e ferramentas na wiki de Habitica.", - "resetDo": "Faino, reinicializa a miña conta!", - "resetComplete": "Reinicialización completada!", - "fixValues": "Arranxar Valores", - "fixValuesText1": "Se foches vítima dun erro ou cometeches un fallo que fixo cambios inxustos ao teu personaxe (dano que non mereces, Ouro que non gañaches, etc.), podes corrixir os teus valores manualmente aquí. Si, isto volve as trampas posibles: usa esta funcionalidade sabiamente, ou sabotearás os teus propios hábitos!", - "fixValuesText2": "Note that you cannot restore Streaks on individual tasks here. To do that, edit the Daily and go to Advanced Settings, where you will find a Restore Streak field.", - "fix21Streaks": "Rachas de 21 Días", - "discardChanges": "Descartar Cambios", - "deleteDo": "Faino, reinicializa a miña conta!", - "invalidPasswordResetCode": "The supplied password reset code is invalid or has expired.", - "passwordChangeSuccess": "Your password was successfully changed to the one you just chose. You can now use it to access your account.", - "displayNameSuccess": "Display name successfully changed", - "emailSuccess": "Correo Electrónico cambiado correctamente", - "detachSocial": "Des-rexistrarse de <%= network %>", - "detachedSocial": "Quitouse correctamente a identificación <%= network %> da túa conta", - "addedLocalAuth": "Engadiuse a autentificación local correctamente", + "otherExtensions": "Outras extensións", + "otherDesc": "Atopa outras aplicacións, extensións e ferramentas no wiki de Habitica (en inglés).", + "resetDo": "Adiante, restabelece a miña conta!", + "resetComplete": "Completouse o restabelecemento!", + "fixValues": "Aquelar os valores", + "fixValuesText1": "Se te afectou un fallo ou cometiches unha equivocación que afectou á túa personaxe dunha maneira inxusta (dano que non debiches recibir, ouro que non merecías, etc.), podes corrixir os teus números manualmente aquí. Si, isto permite facer trampas: usa esta funcionalidade con cabeza, ou estarás sabotando os teus propios intentos de cambiar de hábitos!", + "fixValuesText2": "Ten en conta que aquí non podes restaurar series de tarefas individuais. Para facer iso, edita a tarefa diaria e, na configuración avanzada, atoparás un campo para restaurar a serie.", + "fix21Streaks": "Series de 21 días", + "discardChanges": "Descartar os cambios", + "deleteDo": "Adiante, elimina a miña conta!", + "invalidPasswordResetCode": "O código de restabelecemento de contrasinal que forneciches non é válido ou caducou.", + "passwordChangeSuccess": "Cambiouse o teu contrasinal ao que acabas de escoller. A partir de agora podes usalo para acceder á túa conta.", + "displayNameSuccess": "Cambiouse o teu nome visual", + "emailSuccess": "Cambiouse o teu enderezo de correo electrónico", + "detachSocial": "Retirar <%= network %>", + "detachedSocial": "A autenticación de <%= network %> retirouse da túa conta", + "addedLocalAuth": "Engadiuse autenticación local", "data": "Datos", "email": "Correo electrónico", "registerWithSocial": "Rexistrarse con <%= network %>", "registeredWithSocial": "Rexistrácheste con <%= network %>", - "emailNotifications": "Notificacións por E-mail", - "wonChallenge": "Gañaches un Desafío!", - "newPM": "Recibiches unha Mensaxe Privada", + "emailNotifications": "Notificacións por correo electrónico", + "wonChallenge": "Gañaches un desafío!", + "newPM": "Recibiches unha mensaxe privada", "newPMInfo": "Nova Mensaxe de <%= name %>: <%= message %>", - "giftedGems": "Xemas Recibidas", - "giftedGemsInfo": "<%= name %> regalouche <%= amount %> Xemas", - "giftedGemsFull": "Hello <%= username %>, <%= sender %> has sent you <%= gemAmount %> gems!", - "giftedSubscription": "Subscrición Recibida", - "giftedSubscriptionInfo": "<%= name %> gifted you a <%= months %> month subscription", - "giftedSubscriptionFull": "Hello <%= username %>, <%= sender %> has sent you <%= monthCount %> months of subscription!", - "invitedParty": "Invitad@ ao Equipo", - "invitedGuild": "Invitad@ ao Gremio", - "importantAnnouncements": "Reminders to check in to complete tasks and receive prizes", - "weeklyRecaps": "Resumos da actividade da túa conta na semana pasada (Nota: isto está actualmente deshabilitado debido a problemas de rendemento, pero esperamos restablecer este servizo e poder volver a enviar e-mails pronto!)", - "onboarding": "Guidance with setting up your Habitica account", + "giftedGems": "Xemas agasalladas", + "giftedGemsInfo": "<%= name %> agasalloute <%= amount %> xemas", + "giftedGemsFull": "Ola <%= username %>, <%= sender %> enviouse <%= gemAmount %> xemas!", + "giftedSubscription": "Subscrición agasallada", + "giftedSubscriptionInfo": "<%= name %> agasalloute <%= months %> meses de subscrición", + "giftedSubscriptionFull": "Ola <%= username %>, <%= sender %> envioute <%= monthCount %> meses de subscrición!", + "invitedParty": "Invitáronte a un equipo", + "invitedGuild": "Invitáronte a un gremio", + "importantAnnouncements": "Lembranzas para acceder para completar tarefas e recibir premios", + "weeklyRecaps": "Resumos da actividade da túa conta na semana pasada (nota: isto está desactivado debido a problemas de rendemento, pero esperamos restabelecer deseguida este servizo e poder volver a enviar mensaxes por correo electrónico!)", + "onboarding": "Axuda para preparar a túa conta de Habitica", "majorUpdates": "Anuncios importantes", - "questStarted": "A túa Misión comezou", - "invitedQuest": "Invitad@ á Misión", - "kickedGroup": "Expulsad@ do grupo", - "remindersToLogin": "Recordatorios para entrar en Habitica", - "unsubscribedSuccessfully": "Subscrición cancelada correctamente!", - "unsubscribedTextUsers": "You have successfully unsubscribed from all Habitica emails. You can enable only the emails you want to receive from Settings > > Notifications (requires login).", - "unsubscribedTextOthers": "Non recibirás máis correos de Habitica.", - "unsubscribeAllEmails": "Marca para cancelar a subscrición aos e-mails", - "unsubscribeAllEmailsText": "Ao marcar este cadro, certifico que entendo que ao cancelar a miña subscrición a todos os correos, Habitica nunca poderá notificarme por e-mail sobre cambios importantes na páxina ou na miña conta.", - "unsubscribeAllPush": "Valida para Cancelar a Subscrición a todas as Notificacións Push", - "correctlyUnsubscribedEmailType": "Subscrición cancelada correctamente a todos os emails \"<%= emailType %>\".", - "subscriptionRateText": "$<%= price %> dólares americanos (USD) periódicos cada <%= months %> meses", - "benefits": "Beneficios", + "questStarted": "A túa misión comezou", + "invitedQuest": "Invitáronte a unha misión", + "kickedGroup": "Expulsáronte dun grupo", + "remindersToLogin": "Lembranzas para acceder a Habitica", + "unsubscribedSuccessfully": "Cancelaches a túa subscrición!", + "unsubscribedTextUsers": "Cancelaches a túa subscrición a todas as mensaxes de correo electrónico de Habitica. Podes activar unicamente as mensaxes que queres recibir desde Configuración → Notificacións (require iniciar sesión).", + "unsubscribedTextOthers": "Non recibirás máis mensaxes de correo electrónico de Habitica.", + "unsubscribeAllEmails": "Marcar para cancelar a subscrición ás mensaxes de correo electrónico", + "unsubscribeAllEmailsText": "Ao marcar esta caixa, certifico que entendo que ao cancelar a miña subscrición a todas as mensaxes de correo electrónico, Habitica nunca poderá notificarme mediante correo electrónico sobre cambios importantes no sitio ou na miña conta.", + "unsubscribeAllPush": "Marcar para cancelar a subscrición a todas as notificacións levadas", + "correctlyUnsubscribedEmailType": "Cancelouse a subscrición ás mensaxes de correo electrónico de tipo «<%= emailType %>».", + "subscriptionRateText": "<%= price %> $ USD periódicos cada <%= months %> meses", + "benefits": "Vantaxes", "coupon": "Cupón", - "couponText": "Ás veces temos eventos onde damos códigos de cupóns para equipamento especial (ex: os que pasan polo noso posto Wondercon)", - "apply": "Gardar cambios", - "promoCode": "Código Promocional", - "promoCodeApplied": "Código Promocional Usado! Bota un vistazo ao teu inventario", - "promoPlaceholder": "Introduce o Código Promocional", - "displayInviteToPartyWhenPartyIs1": "Mostrar botón \"Invitar ao Equipo\" cando o equipo ten 1 membro.", - "saveCustomDayStart": "Gardar Comezo do Día Personalizado", + "couponText": "Ás veces temos eventos onde damos códigos promocionais para equipamento especial (p. ex. os que pasan polo noso posto en WonderCon)", + "apply": "Aplicar", + "promoCode": "Código promocional", + "promoCodeApplied": "Aplicouse o código promocional! Revisa o inventario.", + "promoPlaceholder": "Escribe o código promocional", + "displayInviteToPartyWhenPartyIs1": "Amosar o botón de «Invitar ao equipo» cando o equipo ten 1 persoa.", + "saveCustomDayStart": "Gardar o comezo do día personalizado", "registration": "Rexistro", - "addLocalAuth": "Add Email and Password Login", - "generateCodes": "Xerar Códigos", + "addLocalAuth": "Engadir credenciais de correo electrónico e contrasinal", + "generateCodes": "Xerar códigos", "generate": "Xerar", - "getCodes": "Obter Códigos", + "getCodes": "Obter códigos", "webhooks": "Ganchos web", - "webhooksInfo": "Habitica provides webhooks so that when certain actions occur in your account, information can be sent to a script on another website. You can specify those scripts here. Be careful with this feature because specifying an incorrect URL can cause errors or slowness in Habitica. For more information, see the wiki's Webhooks page.", - "enabled": "Habilitado", - "webhookURL": "URL da Webhook", - "invalidUrl": "Url non válida", - "invalidWebhookId": "the \"id\" parameter should be a valid UUID.", - "webhookBooleanOption": "\"<%= option %>\" must be a Boolean value.", - "webhookIdAlreadyTaken": "A webhook with the id <%= id %> already exists.", - "noWebhookWithId": "There is no webhook with the id <%= id %>.", - "regIdRequired": "Requírere RegId", - "pushDeviceAdded": "Dispositivo push engadido correctamente", - "pushDeviceNotFound": "O usuario non ten dispositivos push con este id.", - "pushDeviceRemoved": "Dispositivo push retirado correctamente.", - "buyGemsGoldCap": "Límite aumentado a <%= amount %>", - "mysticHourglass": "<%= amount %> Reloxo de Area Místico", - "purchasedPlanExtraMonths": "Tes <%= months %> meses extra de crédito para subscrición.", - "consecutiveSubscription": "Subscrición Consecutiva", - "consecutiveMonths": "Meses Consecutivos:", - "gemCapExtra": "Límite Extra de Xemas:", - "mysticHourglasses": "Reloxos de Area Místicos:", - "mysticHourglassesTooltip": "Reloxos de area místicos", + "webhooksInfo": "Habitica fornecer ganchos web para que, ao facérense certas accións na túa conta, se poida enviar información a un guión noutro sitio web. Podes indicar aquí eses guións. Ten coidado con esta funcionalidade porque indicar un URL incorrecto pode causar erros ou lentitude en Habitica. Para máis información, consulta a páxina do wiki sobre ganchos web (en inglés).", + "enabled": "Activado", + "webhookURL": "URL do gancho web", + "invalidUrl": "URL non válido", + "invalidWebhookId": "o parámetro «id» debería ser un UUID válido.", + "webhookBooleanOption": "«<%= option %>» debe ser un valor booleano.", + "webhookIdAlreadyTaken": "Xa existe un gancho web co identificador <%= id %>.", + "noWebhookWithId": "Non hai ningún gancho web co identificador <%= id %>.", + "regIdRequired": "RegId é obrigatorio", + "pushDeviceAdded": "Engadiuse o dispositivo para levar", + "pushDeviceNotFound": "A persoa usuaria non ten ningún dispositivo para levar con este identificador.", + "pushDeviceRemoved": "Retirouse o dispositivo para levar.", + "buyGemsGoldCap": "O límite de xemas aumentouse a <%= amount %>", + "mysticHourglass": "<%= amount %> reloxos de area místicos", + "purchasedPlanExtraMonths": "Tes <%= months %> meses de crédito adicional de subscrición.", + "consecutiveSubscription": "Subscrición consecutiva", + "consecutiveMonths": "Meses consecutivos:", + "gemCapExtra": "Bonificación do límite de xemas", + "mysticHourglasses": "Reloxos de area místicos:", + "mysticHourglassesTooltip": "Reloxos de area místicos.", "paypal": "PayPal", - "amazonPayments": "Pagos Amazon", - "amazonPaymentsRecurring": "Ticking the checkbox below is necessary for your subscription to be created. It allows your Amazon account to be used for ongoing payments for this subscription. It will not cause your Amazon account to be automatically used for any future purchases.", - "timezone": "Zona Horaria", - "timezoneUTC": "Habitica usa a zona horaria establecida no teu ordenador, é dicir: <%= utc %>", - "timezoneInfo": "Se a zona horaria é errónea, primeiro reactualiza esta páxina usando o botón recargar ou actualizar do teu navigador para asegurarte de que Habitica ten a información máis recente. Se segue sendo errónea, axusta a zona horaria do teu ordenador e logo volve a reactualizar esta páxina.

Se usas Habitica noutros ordenadores ou dispositivos móbiles, a zona horaria debe ser a mesma en todos eles. Se as túas tarefas Diarias estiveron a reinicializarse á hora incorrecta, repite estas manipulacións en todos os outros ordenadores e nun navigador nos teus dispositivos móbiles.", - "push": "Push", - "about": "Sobre Habitica", - "setUsernameNotificationTitle": "Confirm your username!", + "amazonPayments": "Pagos de Amazon", + "amazonPaymentsRecurring": "Marcar a seguinte caixa é necesario para crear a túa subscrición. Permite usar a túa conta de Amazon para pagos periódicos desta subscrición. Non fará que se use a túa conta de Amazon automaticamente para ningunha compra futura.", + "timezone": "Fuso horario", + "timezoneUTC": "O teu fuso horario defíneo o teu computador, e é: <%= utc %>", + "timezoneInfo": "Se ese fuso horario non é correcto, carga de novo esta páxina co botón de cargar de novo ou de actualizar do teu navegador para asegurarte de que Habitica ten a información máis recente. Se continúa sendo incorrecto, axusta o fuso horario no teu ordenador e despois carga de novo esta páxina outra vez.

Se usas Habitica noutros ordenadores ou dispositivos móbiles, o fuso horario debe ser o mesmo en todos eles. Se as túas tarefas diarias estiveron restabelecéndose a unha hora incorrecta, repite esta comprobación en todos os outros ordenadores e nun navegador nos teus dispositivos móbiles.", + "push": "Levar", + "about": "Información", + "setUsernameNotificationTitle": "Confirma o teu alcume", "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.", - "usernameIssueSlur": "Usernames may not contain inappropriate language.", - "usernameIssueForbidden": "Usernames may not contain restricted words.", - "usernameIssueLength": "Usernames must be between 1 and 20 characters.", - "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.", - "currentUsername": "Nome de usuario actual:", - "displaynameIssueLength": "Display Names must be between 1 and 30 characters.", + "usernameIssueSlur": "Os alcumes non poden conter linguaxe non axeitada.", + "usernameIssueForbidden": "Os alcumes non poden conter palabras restrinxidas.", + "usernameIssueLength": "Os alcumes deben ter entre 1 e 20 caracteres.", + "usernameIssueInvalidCharacters": "Os alcumes só poden conter letras latinas (nin tiles nin ñ), díxitos decimais (0-9), guións (-) e barras baixas (_).", + "currentUsername": "Alcume actual:", + "displaynameIssueLength": "Os nomes visuais deben ter entre 1 e 30 caracteres.", "displaynameIssueSlur": "Display Names may not contain inappropriate language.", - "goToSettings": "Go to Settings", - "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!", - "usernameNotVerified": "Please confirm your username.", - "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.", - "verifyUsernameVeteranPet": "One of these Veteran Pets will be waiting for you after you've finished confirming!", + "goToSettings": "Ir á configuración", + "usernameVerifiedConfirmation": "Confirmouse o teu alcume, <%= username %>!", + "usernameNotVerified": "Confirma o teu alcume.", + "changeUsernameDisclaimer": "O teu alcume úsase para invitacións, @mencións en conversas e mensaxes. Ten que ter entre 1 e 20 caracteres, conter só letras latinas (nin tiles nin ñ), díxitos decimais (0-9), guións (-) e barras baixas (_), e non pode incluír termos non axeitados.", + "verifyUsernameVeteranPet": "Unha destas mascotas veteranas estarate agardando cando remates de confirmar!", "adjustment": "Axuste", - "subscriptionReminders": "Recordatorios de subscricións", - "everywhere": "Por todos lados", + "subscriptionReminders": "Lembranzas de subscricións", + "everywhere": "En todas partes", "transactions": "Transaccións", - "mentioning": "Mencionando", + "mentioning": "Mencionar", "resetAccount": "Restabelecer a conta", "gemTransactions": "Transaccións de xemas", "transaction_debug": "Acción de depuración", - "hourglassTransactions": "Transaccións de reloxos de area" + "hourglassTransactions": "Transaccións de reloxos de area", + "transaction_admin_update_hourglasses": "Administración actualizada", + "giftedSubscriptionWinterPromo": "Ola <%= username %>, recibiches <%= monthCount %> meses de subscrición como parte da nosa promoción de agasallar de festas!", + "giftSubscriptionRateText": "<%= price %> $ USD por <%= months %> meses", + "dayStartAdjustment": "Axuste do comezo do día", + "chatExtension": "Extensión de conversa de Chrome e extensión de conversa de Firefox", + "chatExtensionDesc": "A extensión de conversa de Habitica engade unha caixa de conversa intuitiva a todo habitica.com. Permite á xente conversar na taberna, no seu equipo, e nos seus gremios.", + "newPMNotificationTitle": "Nova mensaxe de <%= name %>", + "nextHourglass": "Seguinte reloxo de area", + "nextHourglassDescription": "As persoas subscritas reciben reloxos de area\nmísticos nos tres primeiros días do mes.", + "transaction_spend": "Gastado en", + "passwordIssueLength": "Os contrasinais deben ter entre 8 e 64 caracteres.", + "bannedWordUsedInProfile": "O teu nome visual ou texto de información conteñen linguaxe non axeitada.", + "suggestMyUsername": "Suxerir o meu alcume", + "onlyPrivateSpaces": "Só nos espazos privados", + "timestamp": "Marca de tempo", + "amount": "Cantidade", + "transaction_gift_send": "Agasallado a", + "transaction_gift_receive": "Recibido de", + "transaction_create_challenge": "Creación dun desafío", + "transaction_create_bank_challenge": "Creación dun desafío de banco", + "transaction_create_guild": "Creación dun gremio", + "transaction_change_class": "Clase cambiada", + "transaction_rebirth": "Uso dunha orbe de renacemento", + "transaction_release_pets": "Liberación das mascotas", + "transaction_release_mounts": "Liberación das monturas", + "addPasswordAuth": "Engadir un contrasinal", + "passwordSuccess": "Cambiouse o teu contrasinal", + "gemCap": "Límite de xemas", + "displaynameIssueNewline": "Os nomes visuais non poden conter barras invertidas (\\) seguidas da letra N.", + "bannedSlurUsedInProfile": "O teu nome visual ou o teu texto de información conteñen unha palabra malsoante, así que retirámosche os privilexios de conversa.", + "action": "Acción", + "note": "Nota", + "remainingBalance": "Saldo restante", + "noGemTransactions": "Aínda non tes transaccións de xemas.", + "noHourglassTransactions": "Aínda non tes transaccións de reloxos de area.", + "transaction_buy_money": "Mercado con cartos", + "transaction_buy_gold": "Mercado con ouro", + "transaction_contribution": "Rango cambiado", + "transaction_reroll": "Uso dunha poción de fortificación", + "transaction_subscription_perks": "Vantaxe de subscrición", + "transaction_admin_update_balance": "Administración concedida", + "thirdPartyTools": "Atopa aplicacións de terceiras partes, extensións, e todo tipo de ferramentas que podes usar coa túa conta, no wiki de Habitica (en inglés)." } diff --git a/website/common/locales/gl/spells.json b/website/common/locales/gl/spells.json index ea340d2303..c3134d6139 100755 --- a/website/common/locales/gl/spells.json +++ b/website/common/locales/gl/spells.json @@ -1,59 +1,60 @@ { - "spellWizardFireballText": "Explosión de Chamas", - "spellWizardFireballNotes": "", - "spellWizardMPHealText": "Xurdimento Etéreo", - "spellWizardMPHealNotes": "", + "spellWizardFireballText": "Explosión de chamas", + "spellWizardFireballNotes": "Invocas experiencia e fas dano de lume aos rivais! (baseado na intelixencia)", + "spellWizardMPHealText": "Onda etérea", + "spellWizardMPHealNotes": "Sacrificas maná para que o resto do equipo, salvo xente máxica, gañen maná! (baseado na intelixencia)", "spellWizardEarthText": "Terremoto", - "spellWizardEarthNotes": "Your mental power shakes the earth and buffs your Party's Intelligence! (Based on: Unbuffed INT)", - "spellWizardFrostText": "Xeada Escalofriante", - "spellWizardFrostNotes": "Cun encantamento, o xeo conxela as túas rachas para que non se poñan a cero mañá!", + "spellWizardEarthNotes": "O teu poder mental sacude a terra e aumenta a intelixencia do equipo! (baseado na intelixencia sen bonificacións)", + "spellWizardFrostText": "Xeada arrepiante", + "spellWizardFrostNotes": "Cunha invocación o xeo conxela as túas series para que non se poñan a cero mañá!", "spellWizardFrostAlreadyCast": "Xa botaches este meigallo hoxe. As túas rachas están conxeladas, e non fai falla volver a botalo.", - "spellWarriorSmashText": "Choque Brutal", - "spellWarriorSmashNotes": "You make a task more blue/less red and deal extra damage to Bosses! (Based on: STR)", - "spellWarriorDefensiveStanceText": "Posición de Defensa", - "spellWarriorDefensiveStanceNotes": "You crouch low and gain a buff to Constitution! (Based on: Unbuffed CON)", - "spellWarriorValorousPresenceText": "Presencia Valorosa", - "spellWarriorValorousPresenceNotes": "Your boldness buffs your whole Party's Strength! (Based on: Unbuffed STR)", - "spellWarriorIntimidateText": "Mirada Intimidadora", - "spellWarriorIntimidateNotes": "Your fierce stare buffs your whole Party's Constitution! (Based on: Unbuffed CON)", - "spellRoguePickPocketText": "Carteirista", - "spellRoguePickPocketNotes": "You rob a nearby task and gain gold! (Based on: PER)", - "spellRogueBackStabText": "Puñalada por Detrás", - "spellRogueBackStabNotes": "You betray a foolish task and gain gold and XP! (Based on: STR)", - "spellRogueToolsOfTradeText": "Ferramentas do Oficio", - "spellRogueToolsOfTradeNotes": "Your tricky talents buff your whole Party's Perception! (Based on: Unbuffed PER)", - "spellRogueStealthText": "Discreción", - "spellRogueStealthNotes": "With each cast, a few of your undone Dailies won't cause damage tonight. Their streaks and colors won't change. (Based on: PER)", + "spellWarriorSmashText": "Golpe brutal", + "spellWarriorSmashNotes": "Fas unha tarefa máis azul ou menos vermella e fas dano adicional aos rivais! (baseado na forza)", + "spellWarriorDefensiveStanceText": "Postura de defensa", + "spellWarriorDefensiveStanceNotes": "Agachas e aumentas a túa resistencia! (baseado na resistencia sen bonificación)", + "spellWarriorValorousPresenceText": "Presenza valorosa", + "spellWarriorValorousPresenceNotes": "A túa coraxe aumenta a forza de todo o equipo! (baseado na forza sen bonificación)", + "spellWarriorIntimidateText": "Mirada intimidatoria", + "spellWarriorIntimidateNotes": "A túa mirada feroz aumenta a resistencia de todo o equipo! (baseado na resistencia sen bonificación)", + "spellRoguePickPocketText": "Furto de carteira", + "spellRoguePickPocketNotes": "Furtas ouro nunha tarefa próxima! (baseado na percepción)", + "spellRogueBackStabText": "Puñalada polas costas", + "spellRogueBackStabNotes": "Traizoas a unha tarefa e gañas ouro e experiencia! (baseado na forza)", + "spellRogueToolsOfTradeText": "Vantaxes do oficio", + "spellRogueToolsOfTradeNotes": "O teu talento ilusionista aumenta a percepción de todo o equipo! (baseado na percepción sen bonificación)", + "spellRogueStealthText": "Sixilo", + "spellRogueStealthNotes": "Con cada invocación, algunhas das túas tarefas diarias sen completar non te danarán pola noite. As súas series e cores tampouco cambiarán. (baseado na percepción)", "spellRogueStealthDaliesAvoided": "<%= originalText %> Número de tarefas diarias evitadas: <%= number %>.", "spellRogueStealthMaxedOut": "Xa evitaches todos os teus diarios; non precisas volver a botalo.", - "spellHealerHealText": "Luz Curativa", - "spellHealerHealNotes": "Shining light restores your health! (Based on: CON and INT)", - "spellHealerBrightnessText": "Claridade Ardente", - "spellHealerBrightnessNotes": "A burst of light makes your tasks more blue/less red! (Based on: INT)", - "spellHealerProtectAuraText": "Aura Protectora", - "spellHealerProtectAuraNotes": "You shield your Party by buffing their Constitution! (Based on: Unbuffed CON)", + "spellHealerHealText": "Luz reparadora", + "spellHealerHealNotes": "Unha brillante luz recupera a túa vida! (baseado na resistencia e na intelixencia)", + "spellHealerBrightnessText": "Brillo abrasador", + "spellHealerBrightnessNotes": "Unha onda de luz fai as túas tarefas máis azuis e menos vermellas! (baseado na intelixencia)", + "spellHealerProtectAuraText": "Aura protectora", + "spellHealerProtectAuraNotes": "Protexes ao teu equipo aumentando a súa resistencia! (baseado na resistencia sen bonificación)", "spellHealerHealAllText": "Bendición", - "spellHealerHealAllNotes": "Your soothing spell restores your whole Party's health! (Based on: CON and INT)", - "spellSpecialSnowballAuraText": "Bóla de Neve", - "spellSpecialSnowballAuraNotes": "Turn a friend into a frosty snowman!", + "spellHealerHealAllNotes": "O teu encantamento calmante restaura a vida de todo o equipo! (baseado na resistencia e na intelixencia)", + "spellSpecialSnowballAuraText": "Bóla de neve", + "spellSpecialSnowballAuraNotes": "Converte unha amizade nun boneco de neve!", "spellSpecialSaltText": "Sal", - "spellSpecialSaltNotes": "Reverse the spell that made you a snowman.", - "spellSpecialSpookySparklesText": "Destello Espantoso", - "spellSpecialSpookySparklesNotes": "Turn your friend into a transparent pal!", - "spellSpecialOpaquePotionText": "Poción Opaca", - "spellSpecialOpaquePotionNotes": "Reverse the spell that made you transparent.", - "spellSpecialShinySeedText": "Semente Brillante", + "spellSpecialSaltNotes": "Reverte o encantamento que te converteu nun boneco de neve.", + "spellSpecialSpookySparklesText": "Chispas fantasmagóricas", + "spellSpecialSpookySparklesNotes": "Fai transparente á túa amizade!", + "spellSpecialOpaquePotionText": "Poción de opacidade", + "spellSpecialOpaquePotionNotes": "Reverte o encantamento que te fixo transparente.", + "spellSpecialShinySeedText": "Semente brillante", "spellSpecialShinySeedNotes": "Converte un amigo nunha alegre flor!", - "spellSpecialPetalFreePotionText": "Poción Quitapétalos", - "spellSpecialPetalFreePotionNotes": "Reverse the spell that made you a flower.", - "spellSpecialSeafoamText": "Escuma de Mar", - "spellSpecialSeafoamNotes": "Converte un amigo nunha critaura mariña!", + "spellSpecialPetalFreePotionText": "Poción quita-pétalos", + "spellSpecialPetalFreePotionNotes": "Reverte o encantamento que te converteu nunha flor.", + "spellSpecialSeafoamText": "Escuma mariña", + "spellSpecialSeafoamNotes": "Converte unha amizade nunha criatura mariña!", "spellSpecialSandText": "Area", - "spellSpecialSandNotes": "Reverse the spell that made you a sea star.", - "partyNotFound": "Equipo non atopado", - "targetIdUUID": "O \"targetId\" debe ser un ID de Usuario válido.", - "challengeTasksNoCast": "Non está permitido botar unha habilidade nas tarefas do desafío.", - "groupTasksNoCast": "Casting a skill on group tasks is not allowed.", + "spellSpecialSandNotes": "Reverte o encantamento que te converteu nunha estrela de mar.", + "partyNotFound": "Non se atopou o equipo", + "targetIdUUID": "O «targetId» debe ser un identificador válido de persoa usuaria.", + "challengeTasksNoCast": "Non se permite invocar unha habilidade en tarefas de desafío.", + "groupTasksNoCast": "Non se permite invocar unha habilidade en tarefas de grupo.", "spellNotOwned": "Non tes esta habilidade.", - "spellLevelTooHigh": "Tes que ser de nivel <%= level %> para usar esta habilidade." + "spellLevelTooHigh": "Tes que ter nivel <%= level %> para usar esta habilidade.", + "spellAlreadyCast": "Usar esta habilidade non terá ningún efecto adicional." } diff --git a/website/common/locales/gl/subscriber.json b/website/common/locales/gl/subscriber.json index 5c761558c4..6608d8e0b1 100755 --- a/website/common/locales/gl/subscriber.json +++ b/website/common/locales/gl/subscriber.json @@ -2,141 +2,228 @@ "subscription": "Subscrición", "subscriptions": "Subscricións", "sendGems": "Enviar xemas", - "buyGemsGold": "Merca Xemas con Ouro", - "mustSubscribeToPurchaseGems": "Tes que subscribirte para mercar Xemas con GP", + "buyGemsGold": "Merca xemas con ouro", + "mustSubscribeToPurchaseGems": "Tes que subscribirte para mercar xemas con ouro", "reachedGoldToGemCap": "You've reached the Gold=>Gem conversion cap <%= convCap %> for this month. We have this to prevent abuse / farming. The cap resets within the first three days of each month.", - "reachedGoldToGemCapQuantity": "Your requested amount <%= quantity %> exceeds the Gold=>Gem conversion cap <%= convCap %> for this month. We have this to prevent abuse / farming. The cap resets within the first three days of each month.", + "reachedGoldToGemCapQuantity": "A cantidade que solicitaches, <%= quantity %>, supera a cantidade que podes mercar este mes (<%= convCap %>). A cantidade completa pasa a estar dispoñíbel nun dos tres primeiros días de cada mes. Grazas por subscribirte!", "mysteryItem": "Obxectos mensuais exclusivos", - "mysteryItemText": "Cada mes recibirás un obxecto cosmético único para o teu avatar! Ademais, por cada tres meses de subscrición consecutiva, os Misteriosos Viaxantes no Tempo concederanche acceso a obxectos cosméticos históricos (e futurísticos!).", + "mysteryItemText": "Cada mes recibirás un obxecto cosmético único para o teu avatar! Ademais, por cada tres meses de subscrición consecutiva, as misteriosas viaxantes do tempo concederanche acceso a obxectos cosméticos históricos (e futuristas!).", "exclusiveJackalopePet": "Mascota exclusiva", - "giftSubscription": "Want to gift a subscription to someone?", - "giftSubscriptionText4": "Thanks for supporting Habitica!", + "giftSubscription": "Queres agasallar a alguén coas vantaxes dunha subscrición?", + "giftSubscriptionText4": "Grazas por apoiar a Habitica!", "groupPlans": "Plans de grupo", "subscribe": "Subscríbete", - "nowSubscribed": "You are now subscribed to Habitica!", - "cancelSub": "Cancelar Subscrición", - "cancelSubInfoGroupPlan": "Because you have a free subscription from a Group Plan, you cannot cancel it. It will end when you are no longer in the Group. If you are the Group leader and want to cancel the entire Group Plan, you can do that from the group's \"Payment Details\" tab.", - "cancelingSubscription": "Cancelando a Subscrición", - "contactUs": "Contáctanos", - "checkout": "Bota unha Ollada", + "nowSubscribed": "Activouse a túa subscrición a Habitica!", + "cancelSub": "Cancelar a subscrición", + "cancelSubInfoGroupPlan": "Como tes unha subscrición gratuíta dun plan de grupo, non podes cancelala. Rematará cando deixes de formar parte do plan de grupo. Se es a persoa líder do grupo e queres cancelar o plan de grupo, podes facelo desde o separador de «Facturación do grupo» do plan de grupo.", + "cancelingSubscription": "Cancelar a subscrición", + "contactUs": "Contacta connosco", + "checkout": "Saída", "sureCancelSub": "Seguro que queres cancelar a túa subscrición?", - "subGemPop": "Because you subscribe to Habitica, you can purchase a number of Gems each month using Gold.", - "subGemName": "Xemas de Subscritor", - "maxBuyGems": "You have bought all the Gems you can this month. More become available within the first three days of each month. Thanks for subscribing!", - "timeTravelers": "Viaxantes no Tempo", - "timeTravelersPopoverNoSubMobile": "Looks like you’ll need a Mystic Hourglass to open the time portal and summon the Mysterious Time Travelers.", - "timeTravelersPopover": "Your Mystic Hourglass has opened our time portal! Choose what you’d like us to fetch from the past or future.", - "mysterySetNotFound": "Lote Misterioso non atopado, ou xa o tes.", - "mysteryItemIsEmpty": "Obxectos Misteriosos baleiros", - "mysteryItemOpened": "Obxecto Misterioso aberto.", - "mysterySet201402": "Lote de Mensaxeiro Alado", - "mysterySet201403": "Lote de Camiñante da Fraga", - "mysterySet201404": "Lote de Bolboreta do Crepúsculo", - "mysterySet201405": "Lote de Empuñador de Chamas", - "mysterySet201406": "Lote de Octomago", - "mysterySet201407": "Lote de Explorador Submarino", - "mysterySet201408": "Lote de Feiticeiro do Sol", - "mysterySet201409": "Lote de Paseante de Outono", - "mysterySet201410": "Lote de Trasno Alado", - "mysterySet201411": "Lote de Festín e Diversión", - "mysterySet201412": "Lote de Pingüín", - "mysterySet201501": "Lote de Cabaleiro Estrelado", - "mysterySet201502": "Lote de Encantador Alado", - "mysterySet201503": "Lote Acuamarino", - "mysterySet201504": "Lote de Abella Ocupada", - "mysterySet201505": "Lote de Cabaleiro Verde", - "mysterySet201506": "Lote de Buceador Neón", - "mysterySet201507": "Lote de Surfeiro Guai", - "mysterySet201508": "Lote de Disfraz de Onza", - "mysterySet201509": "Lote de Lobishome", - "mysterySet201510": "Lote de Trasno Cornudo", - "mysterySet201511": "Conxunto pugnaz de madeira", - "mysterySet201512": "Lote de Chama de Inverno", - "mysterySet201601": "Lote de Campión da Resolución", - "mysterySet201602": "Lote de Rompecorazóns", - "mysterySet201603": "Lote de Trébol da Sorte", - "mysterySet201604": "Conxunto pugnaz de follas", - "mysterySet201605": "Lote de Bardo en Marcha", - "mysterySet201606": "Lote de Túnica Selkie", - "mysterySet201607": "Conxunto de renarte do fondo mariño", - "mysterySet201608": "Lote de Tormenta de Tronos", - "mysterySet201609": "Cow Costume Set", - "mysterySet201610": "Spectral Flame Set", - "mysterySet201611": "Cornucopia Set", - "mysterySet201612": "Nutcracker Set", - "mysterySet201701": "Time-Freezer Set", - "mysterySet201702": "Heartstealer Set", - "mysterySet201703": "Shimmer Set", - "mysterySet201704": "Fairytale Set", - "mysterySet201705": "Feathered Fighter Set", - "mysterySet201706": "Pirate Pioneer Set", - "mysterySet201707": "Jellymancer Set", - "mysterySet201708": "Conxunto pugnaz de lava", - "mysterySet201709": "Sorcery Student Set", - "mysterySet201710": "Imperious Imp Set", - "mysterySet201711": "Carpet Rider Set", - "mysterySet201712": "Candlemancer Set", - "mysterySet201801": "Frost Sprite Set", - "mysterySet201802": "Love Bug Set", - "mysterySet201803": "Daring Dragonfly Set", - "mysterySet201804": "Spiffy Squirrel Set", - "mysterySet201805": "Phenomenal Peacock Set", - "mysterySet201806": "Alluring Anglerfish Set", - "mysterySet201807": "Sea Serpent Set", - "mysterySet201808": "Lava Dragon Set", - "mysterySet201809": "Autumnal Armor Set", - "mysterySet201810": "Dark Forest Set", - "mysterySet201811": "Splendid Sorcerer Set", - "mysterySet201812": "Arctic Fox Set", - "mysterySet301404": "Lote Steampunk estándar", - "mysterySet301405": "Lote de Accesorios Steampunk", - "mysterySet301703": "Peacock Steampunk Set", - "mysterySet301704": "Pheasant Steampunk Set", + "subGemPop": "A túa subscrición a Habitica permíteche mercar unha certa cantidade de xemas cada mes usando ouro.", + "subGemName": "Xemas de subscrición", + "maxBuyGems": "Mercaches todas as xemas que podes este mes. Terás máis dispoñíbeis nun dos tres primeiros días de cada mes. Grazas por subscribires!", + "timeTravelers": "Viaxantes do tempo", + "timeTravelersPopoverNoSubMobile": "Parece que necesitas un reloxo de area místico para abrir o portal temporal e invocar as misteriosas vixiantes do tempo.", + "timeTravelersPopover": "O teu reloxo de area místico abriu o noso portal temporal! Escolle o que queres que te traiamos do pasado ou do futuro.", + "mysterySetNotFound": "Non se atopou o lote misterioso, ou xa o tes.", + "mysteryItemIsEmpty": "Os obxectos misteriosos están baleiros", + "mysteryItemOpened": "Abriuse un obxecto misterioso.", + "mysterySet201402": "Lote de mensaxería alada", + "mysterySet201403": "Lote de sendeirismo", + "mysterySet201404": "Lote de bolboreta crepuscular", + "mysterySet201405": "Lote de dominación do lume", + "mysterySet201406": "Lote de octomaxia", + "mysterySet201407": "Lote de exploración submarina", + "mysterySet201408": "Lote de maxia solar", + "mysterySet201409": "Lote de paseo outonal", + "mysterySet201410": "Lote de traste con ás", + "mysterySet201411": "Lote de festa rachada", + "mysterySet201412": "Lote de pingüín", + "mysterySet201501": "Lote de xinete e estrelas", + "mysterySet201502": "Lote de encantamento aéreo", + "mysterySet201503": "Lote de augamariña", + "mysterySet201504": "Lote de abella atarefada", + "mysterySet201505": "Lote de xinete verde", + "mysterySet201506": "Lote de mergullo e neon", + "mysterySet201507": "Lote de surf e fachenda", + "mysterySet201508": "Lote de disfrace de guepardo", + "mysterySet201509": "Lote de licantropía", + "mysterySet201510": "Lote de traste con cornos", + "mysterySet201511": "Lote de pugnaz de madeira", + "mysterySet201512": "Lote de lume invernal", + "mysterySet201601": "Lote de vitoria de resolución", + "mysterySet201602": "Lote de namoramento", + "mysterySet201603": "Lote de trevo da sorte", + "mysterySet201604": "Lote de pugnaz de follas", + "mysterySet201605": "Lote de marcha poética", + "mysterySet201606": "Lote de túnica de selkie", + "mysterySet201607": "Lote de renarte do fondo mariño", + "mysterySet201608": "Lote de tormenta atronadora", + "mysterySet201609": "Lote de disfrace de vaca", + "mysterySet201610": "Lote de chama espectral", + "mysterySet201611": "Lote de cornucopia", + "mysterySet201612": "Lote de quebranoces", + "mysterySet201701": "Lote de instantánea", + "mysterySet201702": "Lote de furto de corazón", + "mysterySet201703": "Lote de escintilación", + "mysterySet201704": "Lote de conto de fadas", + "mysterySet201705": "Lote de combatente con plumas", + "mysterySet201706": "Lote de exploración pirata", + "mysterySet201707": "Lote de xelatizo", + "mysterySet201708": "Lote de pugnaz de lava", + "mysterySet201709": "Lote de estudante de bruxería", + "mysterySet201710": "Lote de fachenda de traste", + "mysterySet201711": "Lote de alfombra máxica", + "mysterySet201712": "Lote de candemante", + "mysterySet201801": "Lote de traste da xeada", + "mysterySet201802": "Lote de becho do amor", + "mysterySet201803": "Lote de cabalo do demo", + "mysterySet201804": "Lote de esquío elegante", + "mysterySet201805": "Lote de pavón pasmado", + "mysterySet201806": "Lote de peixe sapo", + "mysterySet201807": "Lote de serpe mariña", + "mysterySet201808": "Lote de dragón de lava", + "mysterySet201809": "Lote de armadura autumnal", + "mysterySet201810": "Lote de foresta escura", + "mysterySet201811": "Lote de meigaría magnífica", + "mysterySet201812": "Lote de raposo polar", + "mysterySet301404": "Lote de estándar steampunk", + "mysterySet301405": "Lote de accesorios steampunk", + "mysterySet301703": "Lote de pavón steampunk", + "mysterySet301704": "Lote de faisán steampunk", "mysterySetwondercon": "WonderCon", - "subUpdateCard": "Actualizar Tarxeta", + "subUpdateCard": "Actualizar a tarxeta de crédito", "subUpdateTitle": "Actualizar", "subUpdateDescription": "Actualizar a tarxeta a cobrar.", - "notEnoughHourglasses": "Non tes suficentes Reloxos de Area Místicos.", + "notEnoughHourglasses": "Non tes reloxos de area místicos dabondo.", "petsAlreadyOwned": "Xa tes esa mascota.", "mountsAlreadyOwned": "Xa tes esa montura.", - "typeNotAllowedHourglass": "Non se soporta ese tipo de obxecto para adquisición co Reloxo de Area Místico. Tipos permitidos: <%= allowedTypes %>", - "hourglassPurchase": "Adquiriuse un obxecto usando un Reloxo de Area Místico!", - "hourglassPurchaseSet": "Adquiriuse un lote de obxectos usando un Reloxo de Area Místico!", + "typeNotAllowedHourglass": "Non se permite mercar ese tipo de obxecto con reloxo de area místico. Tipos permitidos: <%= allowedTypes %>", + "hourglassPurchase": "Mercouse un obxecto usando un reloxo de area místico!", + "hourglassPurchaseSet": "Mercouse un lote de obxectos usando un reloxo de area místico!", "missingUnsubscriptionCode": "Falta o código de cancelación de subscrición.", - "missingSubscription": "O Usuario non ten un plan de suscrición", - "missingSubscriptionCode": "Falta o código de subscrición. Valores posibles: basic_earned, basic_3mo, basic_6mo, google_6mo, basic_12mo.", - "missingReceipt": "Missing Receipt.", + "missingSubscription": "A persoa usuaria non ten un plan de subscrición", + "missingSubscriptionCode": "Falta o código de subscrición. Valores posíbeis: basic_earned, basic_3mo, basic_6mo, google_6mo, basic_12mo.", + "missingReceipt": "Falta o recibo.", "cannotDeleteActiveAccount": "Non tes unha subscrición activa, cancela o teu plan antes de eliminar a túa conta.", "paymentNotSuccessful": "O pagamento non se fixo", - "planNotActive": "O plan aínda non se activou (debido a un erro PayPal). Comezará <%= nextBillingDate %>, data despois da cal podes cancelar para seguir tendo todos os teus beneficios", - "notAllowedHourglass": "Mascota/Montura non dispoñible para adquisición co Reloxo de Area Místico.", - "readCard": "<%= cardType %> foi lido", - "cardTypeRequired": "Requírese o tipo de carta.", - "cardTypeNotAllowed": "Tipo de carta descoñecido.", - "invalidCoupon": "Código do cupón non válido.", + "planNotActive": "O plan aínda non se activou (debido a un fallo de PayPal). Comezará o <%= nextBillingDate %>, e entón poderás cancelar para seguir tendo todas as súas vantaxes", + "notAllowedHourglass": "A mascota ou montura non está dispoñíbel para mercar con reloxo de area místico.", + "readCard": "Leuse <%= cardType %>", + "cardTypeRequired": "O tipo de postal é obrigatorio", + "cardTypeNotAllowed": "Descoñécese o tipo de postal.", + "invalidCoupon": "O código do cupón non é válido.", "couponUsed": "Xa se usou o código do cupón.", - "couponCodeRequired": "Requírese o código do cupón.", + "couponCodeRequired": "O código do cupón é obrigatorio.", "paypalCanceled": "Your subscription has been canceled", - "choosePaymentMethod": "Choose your payment method", + "choosePaymentMethod": "Escolle o método de pago", "buyGemsSupportsDevs": "Purchasing Gems supports the developers and helps keep Habitica running", - "support": "SUPPORT", - "gemBenefitLeadin": "Gems allow you to buy fun extras for your account, including:", - "gemBenefit1": "Unique and fashionable costumes for your avatar.", - "gemBenefit2": "Backgrounds to immerse your avatar in the world of Habitica!", - "gemBenefit3": "Exciting Quest chains that drop pet eggs.", - "gemBenefit4": "Reset your avatar's Stat Points and change its Class.", - "subscriptionBenefit1": "Alexander the Merchant will sell you Gems, for 20 Gold each!", - "subscriptionBenefit3": "Discover more items in Habitica with a doubled daily drop cap.", - "subscriptionBenefit4": "Unique cosmetic items for your avatar each month.", - "subscriptionBenefit5": "Receive the exclusive Royal Purple Jackalope pet!", - "subscriptionBenefit6": "Earn Mystic Hourglasses for use in the Time Travelers' Shop!", - "purchaseAll": "Purchase Set", - "gemsRemaining": "gems remaining", - "notEnoughGemsToBuy": "You are unable to buy that amount of gems", + "support": "Asistencia", + "gemBenefitLeadin": "Que se pode mercar con xemas?", + "gemBenefit1": "Disfraces únicos e elegantes para o teu avatar.", + "gemBenefit2": "Fondos para somerxer o teu avatar no mundo de Habitica!", + "gemBenefit3": "Emocionantes cadeas de misións que recompensan con ovos de mascotas.", + "gemBenefit4": "Restabelece os puntos de condición do teu avatar e cambia a súa clase.", + "subscriptionBenefit1": "Alexandre “O comerciante” venderache xemas a 20 de ouro a unidade!", + "subscriptionBenefit3": "Descubre aínda máis obxectos en Habitica cun límite de sorpresas duplicado.", + "subscriptionBenefit4": "Obxectos cosméticos únicos para o teu avatar cada mes.", + "subscriptionBenefit5": "Recibe un coélope púrpura real de mascota ao subscribirte.", + "subscriptionBenefit6": "Gaña reloxos de area místicos para usar na tenda das viaxantes do tempo!", + "purchaseAll": "Mercar o lote", + "gemsRemaining": "restantes", + "notEnoughGemsToBuy": "Non hai máis xemas dispoñíbeis para comprar este mes. Haberá máis nos 3 primeiros días de cada mes.", "howManyGemsPurchase": "Cantas xemas queres comprar?", "howManyGemsSend": "Cantas xemas queres enviar?", "needToPurchaseGems": "Necesitas comprar xemas de regalo?", "wantToSendOwnGems": "Queres enviar as túas propias xemas?", "viewSubscriptions": "Ver as subscricións", - "organization": "Organización" + "organization": "Organización", + "mysterySet202303": "Lote de personaxe melenuda", + "subscriptionInactiveDate": "As vantaxes da túa subscrición desactivaranse o
<%= date %>", + "giftASubscription": "Agasallar unha subscrición", + "mysterySet202112": "Lote de ninfa antártica", + "backgroundAlreadyOwned": "Xa tes ese fondo.", + "mysterySet202209": "Lote de estudos máxicos", + "dropCapExplanation": "As túas sorpresas restabeleceranse mañá xunto coas túas tarefas. Porén, seguirás gañando ouro, experiencia, e progreso de misión ao completar tarefas.", + "supportHabitica": "Apoiar Habitica", + "subscribersReceiveBenefits": "As persoas subscritas gozan destas vantaxes!", + "doubleDropCap": "Sorpresas duplicadas", + "youAreSubscribed": "Subscribícheste a Habitica", + "dropCapLearnMore": "Aprende máis sobre o sistema de sorpresas de Habitica", + "lookingForMoreItems": "Buscas máis obxectos?", + "dropCapSubs": "As persoas subscritas a Habitica poden atopar o dobre de obxectos aleatorios cada día e recibir obxectos misteriosos mensuais!", + "subscriptionCanceled": "Cancelouse a túa subscrición", + "needToUpdateCard": "Tes que actualizar a tarxeta?", + "cancelYourSubscription": "Cancelar a subscrición?", + "cancelSubAlternatives": "Se tes problemas técnicos ou Habitica non parece ser o que buscabas, podes contactar connosco. Queremos axudarte a sacarlle o máximo partido a Habitica.", + "sendAGift": "Enviar o agasallo", + "mysterySet202103": "Lote de contemplación floral", + "mysterySet202111": "Lote de cronomancia cósmica", + "mysterySet202301": "Lote de brava raposada", + "subscriptionStats": "Estatísticas da subscrición", + "readyToResubscribe": "Renovar xa a subscrición?", + "haveNonRecurringSub": "Tes unha subscrición de agasallo non periódica.", + "switchToRecurring": "Pasar a unha subscrición periódica?", + "continueGiftSubBenefits": "Queres conservar as vantaxes? Podes comezar unha nova subscrición antes de que acabe a que te agasallaron para manter activas as vantaxes.", + "subscriptionCreditConversion": "Comezar unha nova subscrición converterá os meses restantes en crédito que se usará ao cancelar a subscrición periódica.", + "confirmCancelSub": "Seguro que queres cancelar a subscrición? Perderás todas as súas vantaxes.", + "subWillBecomeInactive": "Desactivarase", + "mysticHourglassNeededNoSub": "Este obxecto require un reloxo de area místico. Podes gañar reloxos de area místicos subscribíndote a Habitica.", + "mysterySet201909": "Lote de belota belida", + "mysterySet201910": "Lote de chama críptica", + "mysterySet202206": "Lote de traste de mar", + "subMonths": "Meses de subscrición", + "mysterySet202105": "Lote de dragón nebuloso", + "mysterySet202110": "Lote de gárgola mofenta", + "mysterySet202208": "Lote de cola de cabalo", + "subCanceledTitle": "Cancelouse a subscrición", + "mysterySet202204": "Lote de aventura virtual", + "dropCapReached": "Atopaches todos os obxectos do día!", + "mysterySet202202": "Lote de coletas turquesas", + "monthlyMysteryItems": "Obxectos misteriosos mensuais", + "mysterySet202212": "Lote de garda glacial", + "mysterySet202207": "Lote de xelatina xelatinosa", + "mysterySet202203": "Lote de libélula liberadora", + "mysterySet202302": "Lote de gatada a gatiñas", + "cancelSubInfoGoogle": "Accede a «Conta → Subscricións» na aplicación Google Play Store para cancelar a subscrición ou ver cando remata se xa a cancelaches. Esta pantalla non pode amosarte se a subscrición está cancelada.", + "cancelSubInfoApple": "Seque as instrucións oficiais de Apple para cancelar a subscrición ou ver cando remata se xa a cancelaches. Esta pantalla non pode amosarte se a subscrición está cancelada.", + "mysterySet201901": "Lote boreal", + "mysterySet201902": "Lote de paixón críptica", + "mysterySet201903": "Lote de ovo exquisito", + "mysterySet201904": "Lote de ópalo opulento", + "mysterySet201905": "Lote de dragón cegador", + "mysterySet201906": "Lote de carpa cabaleirosa", + "mysterySet201907": "Lote de fogueira na praia", + "mysterySet202201": "Lote de esmorga tardía", + "mysterySet201908": "Lote de fauno farruco", + "mysterySet201911": "Lote de cámara cristalina", + "mysterySet201912": "Lote de sílfide polar", + "mysterySet202001": "Lote de raposo rabudo", + "mysterySet202002": "Lote de parella elegante", + "mysterySet202003": "Lote de combate con barba", + "mysterySet202004": "Lote de monarquía poderosa", + "mysterySet202005": "Lote de dragón galés", + "mysterySet202006": "Lote de serea corada", + "mysterySet202007": "Lote de candorca singular", + "mysterySet202008": "Lote de oráculo curuxeiro", + "mysterySet202009": "Lote de matacandís marabilloso", + "mysterySet202010": "Lote de tolaría enganadiza", + "mysterySet202011": "Lote de maxia frondosa", + "mysterySet202012": "Lote de fénix de lume xélido", + "mysterySet202101": "Lote de leopardo das neves", + "mysterySet202102": "Lote de vitoria vívida", + "mysterySet202104": "Lote de garda de cardos", + "mysterySet202106": "Lote de serea do solpor", + "mysterySet202107": "Lote de entusiasta da praia", + "mysterySet202108": "Lote de banda deseñada", + "mysterySet202109": "Lote de bolboreta lunar", + "mysterySet202205": "Lote de dragón nocturno", + "mysterySet202210": "Lote de oficio ominoso", + "mysterySet202211": "Lote de electromancia", + "usuallyGems": "Normalmente <%= originalGems %>", + "mysterySet202306": "Lote de arco da vella", + "monthlyGems": "Xemas mensuais", + "mysterySet202304": "Lote de xogo de te xeitoso", + "mysterySet202305": "Lote de dragón acontecido" } diff --git a/website/common/locales/gl/tasks.json b/website/common/locales/gl/tasks.json index 185a06316a..589a7f001e 100755 --- a/website/common/locales/gl/tasks.json +++ b/website/common/locales/gl/tasks.json @@ -22,7 +22,7 @@ "checklist": "Lista", "newChecklistItem": "Novo elemento de lista", "expandChecklist": "Expandir a lista", - "collapseChecklist": "Contraer a lista", + "collapseChecklist": "Recoller a lista", "text": "Título", "notes": "Notes", "advancedSettings": "Configuración avanzada", @@ -37,7 +37,7 @@ "daily": "Tarefa Diaria", "dailies": "Tarefas Diarias", "dailysDesc": "As tarefas diarias repítense regularmente. Escolle a regularidade que mellor te vaia!", - "streakCounter": "Contador de Rachas", + "streakCounter": "Contador de series", "repeat": "Repetir", "repeats": "Repítese", "repeatEvery": "Repetir cada", @@ -49,16 +49,16 @@ "todo": "Tarefa pendente", "todos": "Tarefas pendentes", "todosDesc": "As tarefas pendentes complétanse unha vez. Engádelles listas para aumentar o seu valor.", - "dueDate": "Data de Vencemento", + "dueDate": "Data de vencemento", "remaining": "Activo", "complete": "Feito", "complete2": "Feita", "today": "Hoxe", "dueIn": "Vence <%= dueIn %>", - "due": "Para Hoxe", - "notDue": "Non para hoxe", + "due": "Hoxe", + "notDue": "Hoxe non", "grey": "Gris", - "score": "Marcador", + "score": "Puntuación", "reward": "Recompensa", "rewards": "Recompensas", "rewardsDesc": "As recompensas son unha forma xenial de usar Habitica para completar as túas tarefas. Proba a engadir un par delas hoxe!", @@ -69,24 +69,24 @@ "editTags": "Editar", "newTag": "Nova Etiqueta", "editTags2": "Edit Tags", - "toRequired": "Debes aportar unha propiedade \"to\"", + "toRequired": "Debes fornecer unha propiedade «to»", "startDate": "Data de Comezo", "streaks": "Logros de series", "streakName": "<%= count %> logros de series", "streakText": "Realizou <%= count %> series de 21 días de tarefas diarias", - "streakSingular": "Rachador@", - "streakSingularText": "Realizou unha racha de 21 días nunha tarefa Diaria", + "streakSingular": "Fóra de serie", + "streakSingularText": "Realizou unha serie de 21 días nunha tarefa diaria", "perfectName": "<%= count %> días perfectos", "perfectText": "Completaches todas as tarefas diarias activas de <%= count %> días. Con este logro obtés unha bonificación da metade to teu nivel para todas as túas estatísticas durante o día seguinte. Os niveis superiores ao 100 non obteñen bonificación adicional.", "perfectSingular": "Día Perfecto", "perfectSingularText": "Completaches todas as tarefas diarias activas dun día. Con este logro obtés unha bonificación da metade to teu nivel para todas as túas estatísticas durante o día seguinte. Os niveis superiores ao 100 non obteñen bonificación adicional.", - "fortifyName": "Poción Fortificante", + "fortifyName": "Poción de fortificar", "fortifyPop": "Devolve todas as tarefas ao seu valor neutro (cor amarela), e recupera toda a Saúde perdida.", "fortify": "Fortificación", "fortifyComplete": "Completouse a fortificación!", "deleteTask": "Delete this Task", "sureDelete": "Are you sure you want to delete this task?", - "streakCoins": "Bonus de Racha!", + "streakCoins": "Bonificación de serie!", "taskToTop": "To top", "taskToBottom": "Ao fondo", "taskAliasAlreadyUsed": "O alcume da tarefa xa está sendo usado para outra tarefa.", @@ -99,8 +99,8 @@ "checklistItemNotFound": "Non se atopou ningún elemento da lista co id dado.", "itemIdRequired": "\"itemId\" debe ser un UUID válido.", "tagNotFound": "Non se atopou ningún elemento da etiqueta co id dado.", - "tagIdRequired": "\"tagId\" debe ser un UUID válido correspondente e unha etiqueta pertencente ao usuario.", - "positionRequired": "\"position\" é requerida e debe ser un número.", + "tagIdRequired": "«tagId» debe ser un UUID válido correspondente e unha etiqueta pertencente á persoa usuaria.", + "positionRequired": "\"position\" é obrigatoria e debe ser un número.", "cantMoveCompletedTodo": "Non se pode mover unha tarefa completada.", "directionUpDown": "\"position\" é requerida e debe ser 'up' ou 'down'", "alreadyTagged": "A tarefa xa está etiquetada coa etiqueta dada.", @@ -139,5 +139,8 @@ "deleteTaskType": "Eliminar esta <%= type %>", "sureDeleteType": "Seguro que queres eliminar esta <%= type %>?", "addTags": "Engadir etiquetas…", - "enterTag": "Escriba unha etiqueta" + "enterTag": "Escriba unha etiqueta", + "taskSummary": "Resumo de <%= type %>", + "scoreUp": "Subir a puntuación", + "scoreDown": "Baixar a puntuación" } diff --git a/website/common/locales/haw/groups.json b/website/common/locales/haw/groups.json index 916473f3f0..7fb977e6d4 100755 --- a/website/common/locales/haw/groups.json +++ b/website/common/locales/haw/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/he/achievements.json b/website/common/locales/he/achievements.json index b351a7244b..50b53f43f7 100644 --- a/website/common/locales/he/achievements.json +++ b/website/common/locales/he/achievements.json @@ -4,15 +4,15 @@ "levelup": "בזכות ביצוע משימות בחיים האמיתיים, עלית רמה והדמות שלך נרפאה לחלוטין!", "reachedLevel": "הגעת לשלב <%= level %>", "achievementLostMasterclasser": "משלים ההרפתקאות: סדרת הרב-אמן", - "achievementLostMasterclasserText": "השלמת את כל שש־עשרה המשימות בסדרת ההרפתקאות ופתרת את תעלומת הרב־אומן האבוד!", + "achievementLostMasterclasserText": "השלימו את כל שש-עשר המשימות בסדרת הרפתקאות של הרב-אמן ופתרו את תעלומת הרב-אמן האבוד!", "viewAchievements": "הצגת ההישגים", - "letsGetStarted": "בואו נתחיל!", + "letsGetStarted": "הבה נתחיל!", "yourProgress": "ההתקדמות שלך", - "onboardingProgress": "<%= percentage %>% התקדמות", - "gettingStartedDesc": "בעת השלמת משימות ההסתגלות האלה מרוויחים 5 הישגים ו־100 מטבעות זהב!", + "onboardingProgress": "<%= percentage %>% הושלמו", + "gettingStartedDesc": "כאשר תשלים את משימות ההסתגלות הללו תרוויח 5 הישגים ו־100 מטבעות זהב כאשר תסימו!", "yourRewards": "הפרסים שלך", "foundNewItems": "מצאת פריטים חדשים!", - "hideAchievements": "הסתרת <%= category %>", + "hideAchievements": "להסתיר <%= category %>", "showAllAchievements": "הצגת כל ה<%= category %>", "earnedAchievement": "השלמת הישג!", "foundNewItemsExplanation": "השלמת משימות נותנת לך הזדמנות למצוא פריטים, כגון ביצים, שיקויי בקיעה, ואוכל לחיות המחמד.", @@ -40,16 +40,16 @@ "achievementCompletedTaskModalText": "השלימו כל אחת מהמשימות שלכם כדי להרוויח פרסים", "achievementCompletedTaskText": "השלימו את המשימה הרשונה שלהם.", "achievementCompletedTask": "השלימו משימה", - "achievementCreatedTaskModalText": "צרו משימה למשהו שאתם רוצים לעשות השבוע", + "achievementCreatedTaskModalText": "צרו משימה למשהו שהייתם רוצים לעשות השבוע", "achievementCreatedTaskText": "יצרו את המשימה הראשונה שלהם.", - "achievementCreatedTask": "צרו את המשימה הראשנוה שלכם", + "achievementCreatedTask": "צרו את המשימה הראשונה שלכם", "achievementUndeadUndertakerModalText": "אילפת את כל חיות הרכיבה האלמתות!", "achievementUndeadUndertakerText": "אילפו את כל חיות הרכיבה האלמתות.", "achievementUndeadUndertaker": "אשף האל מתים", "achievementMonsterMagusModalText": "אימצת את כל חיות המחמד האלמתות!", "achievementMonsterMagusText": "אימצו את כל חיות המחמד האלמתות.", - "achievementMonsterMagus": "כשף המתים", - "achievementPartyOn": "הקבוצה שלך מכילה 4 חברים!", + "achievementMonsterMagus": "מעלה באוב", + "achievementPartyOn": "החבורה שלך מכילה כעת 4 חברים!", "achievementAridAuthorityModalText": "אילפת את כל חיות הרכיבה המדבריות!", "achievementAridAuthorityText": "אילפו את כל חיות הרכיבה המדבריות.", "achievementAridAuthority": "שר המדבר", @@ -58,7 +58,7 @@ "achievementDustDevilText": "אספו את כל חיות המדבר.", "achievementDustDevil": "עמוד אבק", "achievementAllYourBaseModalText": "אילפת את כל חיות הרכיבה הבסיסיות!", - "achievementAllYourBaseText": "אילפו את כל חיות הרכיבה הבסיסיות.", + "achievementAllYourBaseText": "אילפו את כל חיות הרכיבה הבסיסיות.", "achievementAllYourBase": "כל הבסיסים", "achievementBackToBasicsModalText": "השגת את כל חיות הבסיס!", "achievementBackToBasicsText": "השיגו את כל חיות הבסיס.", @@ -74,16 +74,16 @@ "onboardingComplete": "השלמת את משימות ההכשרה שלך!", "onboardingCompleteDescSmall": "אם ברצונך להשיג אפילו עוד, אפשר לבדוק את ההישגים שלנו!", "achievementVioletsAreBlue": "הסיגליות כחולות", - "achievementBugBonanzaText": "השלים את משימת חיות המחמד של החיפושית, הפרפר, החילזון והעכביש", + "achievementBugBonanzaText": "השלים את משימת חיות המחמד של החיפושית, הפרפר, החילזון והעכביש.", "achievementGoodAsGoldText": "אסף את כל החיות המוזהבות.", "achievementSeasonalSpecialistModalText": "השלמת את כל המשימות העונתיות!", "achievementShadyCustomer": "לקוח חשוד", "achievementShadeOfItAll": "הצל של הכל", - "achievementSeeingRedModalText": "אספת את כל חיות המחמד האדומות!", - "achievementGoodAsGoldModalText": "אספת את כל חיות המחמד המוזהבות!", - "achievementRedLetterDayText": "אולפו כל חיות הרכיבה האדומות.", - "achievementAllThatGlittersText": "אולפו כל חיות הרכיבה המוזהבות.", - "achievementBoneCollectorModalText": "אספת את כל חיות המחמד מסוג שלד!", + "achievementSeeingRedModalText": "אספת את כל החיות האדומות!", + "achievementGoodAsGoldModalText": "אספת את כל חיות הזהב!", + "achievementRedLetterDayText": "אילף את כל חיות הרכיבה האדומות.", + "achievementAllThatGlittersText": "אילף את כל חיות הרכיבה המוזהבות.", + "achievementBoneCollectorModalText": "אספת את כל חיות השלדים!", "achievementSeeingRedText": "נאספו כל חיות המחמד האדומות.", "achievementAllThatGlittersModalText": "אילפת את כל חיות הרכיבה המוזהבות!", "achievementSkeletonCrewModalText": "אילפת את כל חיות הרכיבה מסוג שלד!", @@ -95,5 +95,60 @@ "achievementGoodAsGold": "זהב טהור", "achievementBugBonanzaModalText": "השלמת את ההרפתקאות של חיות המחמד של החיפושית, הפרפר, החילזון והעכביש!", "achievementBareNecessities": "רק את הטוב", - "achievementBoneCollector": "אספן עצמות" + "achievementBoneCollector": "אספן עצמות", + "achievementSkeletonCrew": "צוות השלדים", + "achievementBareNecessitiesModalText": "השלמת את המסעות של הקוף, העצלן והעצים הצעירים!", + "achievementBugBonanza": "שיגעון החרקים", + "achievementFreshwaterFriends": "חברים ממים מתוקים", + "achievementKickstarter2019Text": "תמך בפרויקט הסיכות של 2019 בקיקסטארטר", + "achievementKickstarter2019": "תומך סיכות בקיקסטארטר", + "achievementBareNecessitiesText": "השלמת את ההרפתקאות של הקוף, העצלן והעצונים.", + "achievementFreshwaterFriendsText": "השלמת את הרפתקאות חיות המחמד של האקסולוטל, הצפרדע וההיפופוטם.", + "achievementSeeingRed": "רואה אדום בעיניים", + "achievementLegendaryBestiary": "משק החיות האגדתיות", + "achievementFreshwaterFriendsModalText": "השלמת את מסעות חיות המחמד של האמביסטומה, הצפרדע, וההיפופוטם!", + "achievementRedLetterDay": "יום המכתב האדום", + "achievementLegendaryBestiaryText": "בקעת את כל הצבעים הבסיסיים של החיות מהמיתוסים: דרקון, חזיר מעופף, גריפון, נחש המים והחד קרן!", + "achievementLegendaryBestiaryModalText": "אספת את כל החיות מהמיתוסים!", + "achievementSeasonalSpecialist": "מומחה עונתי", + "achievementSeasonalSpecialistText": "השלים את כל ההרפתקאות החורפיות והאביביות: מצוד ביצים, סנטה הסוהר ומצא את הגור!", + "achievementShadyCustomerText": "אספת את כל חיות הצל.", + "achievementVioletsAreBlueText": "אספת את כל החיות של הצמר גפן הכחול.", + "achievementWildBlueYonderModalText": "אילפת את כל חיות הרכיבה של הצמר גפן הכחול!", + "achievementDomesticatedText": "בקעת את כל הצבעים הבסיסיים של החיות המבוייתות: חמוס, שרקן, תרנגול, חזיר מעופף, חולדה, ארנב, סוס ופרה!", + "achievementDomesticated": "לדוד משה היתה חווה", + "achievementWildBlueYonderText": "אילפת את כל חיות הרכיבה של הצמר גפן הכחול.", + "achievementVioletsAreBlueModalText": "אספת את כל חיות המחמד של הצמר גפן הכחול!", + "achievementWildBlueYonder": "כחול פרוע מלפנים", + "achievementDomesticatedModalText": "אספת את כל החיות המבוייתות!", + "achievementBirdsOfAFeather": "ציפורי הנוצה", + "achievementBirdsOfAFeatherModalText": "אספת את כל החיות המעופפות!", + "achievementBirdsOfAFeatherText": "בקעת את כל הצבעים הבסיסיים של החיות המעופפות: חזיר מעופף, ינשוף, תוכי, פטרודקטיל, גריפון, בז, טווס ותרנגול!", + "achievementZodiacZookeeper": "שומר גן החיות של הזודיאק", + "achievementZodiacZookeeperModalText": "אספת את כל חיות הזודיאק!", + "achievementZodiacZookeeperText": "בקעת את כל הצבעים הבסיסיים של חיות הזודיאק: חולדה, פרה, ארנב, נחש, סוס, כבשה, קוף, תרנגול, זאב, נמר, חזיר מעופף ודרקון!", + "achievementShadeOfItAllText": "אילפת את כל חיות הרכיבה של הצל.", + "achievementShadeOfItAllModalText": "אספת את כל חיות הרכיבה של הצל!", + "achievementShadyCustomerModalText": "אספת את כל חיות הצל!", + "achievementGroupsBeta2022": "בודק-בטא לא פעיל", + "achievementGroupsBeta2022Text": "אתם והחבורה שלכם סיפקתם משוב יקר ערך לעוזר לבדיקה של הביטיקה.", + "achievementGroupsBeta2022ModalText": "אתם והקבוצות שלכם עזרתם להביטיקה על ידי בדיקות ומשוב!", + "achievementReptacularRumble": "רעם הזוחלים", + "achievementReptacularRumbleModalText": "אספת את כל חיות המחמד ממשפחת הזוחלים!", + "achievementReptacularRumbleText": "בקעת את כל הצבעים הבסיסיים של חיות המחמד ממשפחת הזוחלים: תנין, פטרודקטיל, נחש, טרייצרטופס, צב, טירנוזאורוס רקס וולוסירפטור!", + "achievementPolarPro": "מומחה קטבים", + "achievementPolarProText": "בקעת את כל הצבעים הבסיסיים של חיות הקוטב: דוב, שועל, פינגווין, לוויתן וזאב!", + "achievementPolarProModalText": "אספת את כל חיות הקווטב!", + "achievementWoodlandWizard": "אשף היערות", + "achievementWoodlandWizardText": "בקעת את כל הצבעים הבסיסיים של חיות היער: בונה, דוב, צבי, שועל, צפרדע, קיפוד, ינשוף, חילזון, סנאי ועצון!", + "achievementWoodlandWizardModalText": "אספת את כל חיות היער!", + "achievementPlantParent": "הורה הצמחים", + "achievementPlantParentText": "בקעת את כל הצבעים הבסיסיים של הצמחים: קקטוס ועצונים!", + "achievementPlantParentModalText": "אספת את כל חיות המחמד של הצמחים!", + "achievementBoneToPick": "אספן עצמות", + "achievementBoneToPickText": "בקעת את כל חיות מחמד השלדים הבסיסיים ושל ההרפתקאות!", + "achievementBoneToPickModalText": "אספת את כל חיות המחמד השלדים הבסיסיים ומתוך ההרפתקאות!", + "achievementDinosaurDynastyText": "בקע את כל הצבעים הבסיסיים של חיות המחמד של הציפורים והדינוזאורים: בז, ינשוף, תוכי, טווס, פינגווין, תרנגול, פטרודקטיל, טי-רקס, טרייצרטופס וולוסירפטור!", + "achievementDinosaurDynasty": "שושלת הדינוזאורים", + "achievementDinosaurDynastyModalText": "אספת את כל חיות המחמד של הציפורים והדינוזאורים!" } diff --git a/website/common/locales/he/backgrounds.json b/website/common/locales/he/backgrounds.json index aa4d57e620..8d5c5cb4a7 100644 --- a/website/common/locales/he/backgrounds.json +++ b/website/common/locales/he/backgrounds.json @@ -202,41 +202,41 @@ "backgroundOrchardNotes": "קטפו פירות טריים בפרדס.", "backgrounds102016": "סט 29: פורסם באוקטובר 2016", "backgroundSpiderWebText": "קורי עכביש", - "backgroundSpiderWebNotes": "", + "backgroundSpiderWebNotes": "תיתפס בקורי עכביש.", "backgroundStrangeSewersText": "ביובים משונים", "backgroundStrangeSewersNotes": "זחול דרך ביובים משונים", "backgroundRainyCityText": "עיר גשומה", - "backgroundRainyCityNotes": "", - "backgrounds112016": "", + "backgroundRainyCityNotes": "תשפריץ דרך עיר גשומה.", + "backgrounds112016": "סדרה 30: שוחרר בנובמבר 2016", "backgroundMidnightCloudsText": "ענני חצות הלילה", "backgroundMidnightCloudsNotes": "עוף דרך ענני חצות הלילה", - "backgroundStormyRooftopsText": "גגות סוערות", - "backgroundStormyRooftopsNotes": "", - "backgroundWindyAutumnText": "", - "backgroundWindyAutumnNotes": "", - "incentiveBackgrounds": "", + "backgroundStormyRooftopsText": "גגות סוערים", + "backgroundStormyRooftopsNotes": "תזחלו על פני גגות סוערים.", + "backgroundWindyAutumnText": "סתיו גשום", + "backgroundWindyAutumnNotes": "רדפו אחרי עלים בסתיו גשום.", + "incentiveBackgrounds": "סדרת רקעים פשוטים", "backgroundVioletText": "סגול בהיר", - "backgroundVioletNotes": "", + "backgroundVioletNotes": "תפאורה סגולה תוססת.", "backgroundBlueText": "כחול", - "backgroundBlueNotes": "רקע כחול בסיסי.", + "backgroundBlueNotes": "תפאורה כחולה בסיסית.", "backgroundGreenText": "ירוק", - "backgroundGreenNotes": "", + "backgroundGreenNotes": "תפאורה ירוקה בסיסית.", "backgroundPurpleText": "סגול", - "backgroundPurpleNotes": "", + "backgroundPurpleNotes": "תפאורה סגולה ונעימה.", "backgroundRedText": "אדום", - "backgroundRedNotes": "", + "backgroundRedNotes": "תפאורה אדומה קיצונית.", "backgroundYellowText": "צהוב", "backgroundYellowNotes": "A yummy yellow backdrop.", "backgrounds122016": "סט 31: פורסם בדצמבר 2016", - "backgroundShimmeringIcePrismText": "", - "backgroundShimmeringIcePrismNotes": "", + "backgroundShimmeringIcePrismText": "מנסרות קרח מנצנצות", + "backgroundShimmeringIcePrismNotes": "תרקדו בין מנסרות קרח מנצנצות.", "backgroundWinterFireworksText": "זיקוקי חורף", - "backgroundWinterFireworksNotes": "", + "backgroundWinterFireworksNotes": "תירו זיקוקי חורף.", "backgroundWinterStorefrontText": "חנות חורף", - "backgroundWinterStorefrontNotes": "", - "backgrounds012017": "", + "backgroundWinterStorefrontNotes": "תקנו מתנות מחנות החורף.", + "backgrounds012017": "סט 32: שוחרר בינואר 2017", "backgroundBlizzardText": "סופה", - "backgroundBlizzardNotes": "", + "backgroundBlizzardNotes": "התגברו על סופה עזה.", "backgroundSparklingSnowflakeText": "", "backgroundSparklingSnowflakeNotes": "", "backgroundStoikalmVolcanoesText": "", @@ -446,5 +446,6 @@ "backgroundLakeWithFloatingLanternsText": "אגם עם מנורות צפות", "backgroundParkWithStatueText": "פארק עם פסל", "backgroundFlyingOverTropicalIslandsText": "עף מעל איים טרופיים", - "backgroundHolidayMarketNotes": "מצא את המתנות והקישוטים המושלמים בחנות החגים." + "backgroundHolidayMarketNotes": "מצא את המתנות והקישוטים המושלמים בחנות החגים.", + "hideLockedBackgrounds": "הסתר את הרקעים הנעולים" } diff --git a/website/common/locales/he/character.json b/website/common/locales/he/character.json index 7eba03c9d9..1f000b2c27 100644 --- a/website/common/locales/he/character.json +++ b/website/common/locales/he/character.json @@ -45,7 +45,7 @@ "spookySkins": "עורות מפחידים", "supernaturalSkins": "צבעי עור על-טבעיים", "splashySkins": "עורות ימיים", - "winterySkins": "", + "winterySkins": "צבעי עור חורפיים", "rainbowColors": "צבעי הקשת", "shimmerColors": "צבעים מנצנצים", "hauntedColors": "צבעים רדופי-רוחות", @@ -63,7 +63,7 @@ "costumeDisabled": "הסרת את התחפושת שלך.", "gearAchievement": "הרווחת את תג ״הציוד המקסימלי״ על השגת הציוד הטוב ביותר למקצועות הבאים:", "gearAchievementNotification": "הרווחת את השיג ״הציוד האידאלי״ על שדרוג לציוד הטוב ביותר במקצוע!", - "moreGearAchievements": "כדי להשיג את תגי הציוד הטוב ביותר, שנה את המקצוע שלך בהגדרות וקנה את הציוד של מקצוע החדש שלך!", + "moreGearAchievements": "כדי להשיג עוד תגי הציוד הטוב ביותר, שנה את המקצוע שלך בהגדרות וקנה את הציוד של מקצוע החדש שלך!", "armoireUnlocked": "בשביל ציוד נוסף, כדאי לנסות את הנשקייה המכושפת! אפשר ללחוץ על פרס הנשקייה המכושפת ולקבל סיכוי אקראי לזכות בציוד מיוחד! הנשקייה עשויה גם להעניק לך מזון או כמות אקראית של נקודות ניסיון.", "ultimGearName": "ציוד אידלי - <%= ultClass %>", "ultimGearText": "שידרג לציוד המקסימלי עבור מקצוע ה<%= ultClass %>.", @@ -89,7 +89,7 @@ "stats": "נתונים", "achievs": "הישגים", "strength": "כוח", - "strText": "", + "strText": "כוח מעלה את הסיכוי של \"פגיעות קריטיות\" אקראיות והזהב, ניסיון והסיכוי לקבל חבילות מקבל חיזוק מהם. זה גם עוזר לפגוע יותר בבוסים.", "constitution": "חוסן", "conText": "חוסן מקטין את כמות הנזק שאתה חוטף מהרגלים רעים או מטלות יומיות שהזנחת.", "perception": "תפיסה", @@ -113,75 +113,78 @@ "lvl10ChangeClass": "כדי לשנות מקצוע עליכם להיות לפחות בדרגה 10.", "changeClassConfirmCost": "לשנות את המקצוע שלך תמורת 3 אבני חן?", "invalidClass": "מקצוע שגוי. נא לציין 'warrior', 'rogue', 'wizard', או 'healer'.", - "levelPopover": "", + "levelPopover": "כל דרגה מזכה אותך בנקודה אחת שניתן להקצות למדד לבחירתך. ניתן לעשות זאת באופן ידני, או לתת למשחק להחליט עבורך באמצעות שימוש באחת מאפשרויות ההקצאה האוטומטיות.", "unallocated": "נקודות לא מוקצות", "autoAllocation": "הקצאה אוטומטית", - "autoAllocationPop": "", - "evenAllocation": "", - "evenAllocationPop": "", - "classAllocation": "", - "classAllocationPop": "", - "taskAllocation": "", - "taskAllocationPop": "", + "autoAllocationPop": "מקצה נקודות למדדים לפי ההעדפות שלך, כשעולים בדרגות.", + "evenAllocation": "להקצות את הנקודות למדדים בצורה שווה", + "evenAllocationPop": "מקצה את האותו מספר הנקודות לכל מדד.", + "classAllocation": "להקצות נקודות למדדים בהתבסס על מקצוע", + "classAllocationPop": "מקצה יותר נקודות למדדים שחשובים למקצוע שלך.", + "taskAllocation": "מקצה נקודות בהתבסס על הפעילות במשימות", + "taskAllocationPop": "מקצה נקודות בהתבסס על כוח, תבונה, חוסן ותפיסה הקשורים למשימות שאתם משלימים.", "distributePoints": "הקצה נקודות שעדיין לא נוצלו", - "distributePointsPop": "", + "distributePointsPop": "מקצה את כל הנקודות האפשריות לפי תוכנית ההקצאה הבחורה.", "warriorText": "לוחמים גורמים ליותר \"פגיעות חמורות\", שנותנות בונוס אקראי של מטבעות זהב, ניסיון או סיכוי למציאת פריט כשמשלימים משימה. הם גם גורמים נזק רב למפלצות האויב. שחק כלוחם אם אתה אוהב למצוא פרסים גדולים ומפתיעים, או אם אתה רוצה לקרוע את אויביך לגזרים ולנגב את הרצפה עם הגופות המרוטשות שלהם!", - "wizardText": "", - "mageText": "", + "wizardText": "קוסמים לומדים מהר, מקבלים ניסיון ועולים בדרגות יותר ממקצועות אחרים. הם גם מקבלים הרבה מאנה לצרוך שימוש ביכולות המיוחדות שלהם. תבחרו לשחק כקוסם אם אתם אוהבים את הפן של המשחק הטקטי בהביטיקה, או אם העלייה בדרגות ופתחית יכולות מתקדמות נותנת לכם הרבה מוטיבציה!", + "mageText": "קוסמים לומדים מהר, מקבלים ניסיון ועולים בדרגות יותר ממקצועות אחרים. הם גם מקבלים הרבה מאנה לצרוך שימוש ביכולות המיוחדות שלהם. תבחרו לשחק כקוסם אם אתם אוהבים את הפן של המשחק הטקטי בהביטיקה, או אם העלייה בדרגות ופתחית יכולות מתקדמות נותנת לכם הרבה מוטיבציה!", "rogueText": "נוכלים אוהבים לצבור עושר, הם משיגים יותר מטבעות זהב מכל אחד אחר והם מוכשרים במציאת פריטים אקראיים. יכולת החשאיות המפורסמת שלהם מאפשרת להם להתחמק מהתוצאות של מטלות יומיות שפוספסו. כשרוצים להשיג פרסים, הישגים, שלל ותגים - כל מה שצריך זה לשחק אותה נוכלים!", "healerText": "מרפאים הם חסינים לכל פגע, והם מציעים את ההגנה הזו גם לחבריהם. מטלות יומיות והרגלים רעים לא ממש מזיזים להם, ויש להם דרכים לרפא את הבריאות שלהם לאחר כישלון. שחק מרפא אם אתה נהנה לעזור לחברים שלך במשחק, או אם הרעיון לרמות את המוות דרך עבודה קשה קוסם לך!", "optOutOfClasses": "וותר", - "chooseClass": "", - "chooseClassLearnMarkdown": "[Learn more about Habitica's class system](http://habitica.fandom.com/wiki/Class_System)", - "optOutOfClassesText": "", - "selectClass": "", + "chooseClass": "בחרו את המקצוע שלכם", + "chooseClassLearnMarkdown": "[תלמדו עוד על מערכת המקצועות של הביטיקה](http://habitica.fandom.com/wiki/Class_System)", + "optOutOfClassesText": "אין לכם זמן להתעסק עם המקצוע? רוצים לבחור אחר כך? בסדר - אתם תהיו לוחמים בלי יכולות מיוחדות. אתם יכולים לקרוא על זה במערכת המקצועות יותר מאוחר בעמוד הויקי ולפאשר את המקצוע שתרצו בכל רגע על ידי: סמליל של משתמש -> הגדרות.", + "selectClass": "לבחור <%= heroClass %>", "select": "בחר", "stealth": "חשאיות", "stealthNewDay": "בתחילתו של יום חדש, הימנע מלחטוף נזק ממטלות יומיות שלא ביצעת.", "streaksFrozen": "רצפים קפואים", "streaksFrozenText": "הרצפים של המטלות היומיות שלא ביצעת לא יתאפסו בסוף היום", "purchaseFor": "לרכוש בתמורה ל־<%= cost %> יהלומים?", - "purchaseForHourglasses": "", + "purchaseForHourglasses": "לקנות בתמורה לשעון חול?", "notEnoughMana": "אין לך מספיק מאנה.", - "invalidTarget": "", + "invalidTarget": "אי אפשר להטיל על זה את הקסם.", "youCast": "הטלת <%= spell %>.", "youCastTarget": "הטלת <%= spell %> על <%= target %>.", "youCastParty": "הטלת <%= spell %> בשביל החבר'ה שלך. כל הכבוד!", - "critBonus": "פגיעה חמורה! בונוס:", - "gainedGold": "", - "gainedMana": "", - "gainedHealth": "", - "gainedExperience": "", - "lostGold": "", + "critBonus": "פגיעה חמורה! בונוס: ", + "gainedGold": "קיבלת מטבעות זהב", + "gainedMana": "קיבלת מאנה", + "gainedHealth": "קיבלתם קצת חיים", + "gainedExperience": "קיבלת ניסיון", + "lostGold": "בזבזתם קצת מטבעות זהב", "lostMana": "You used some Mana", - "lostHealth": "", - "lostExperience": "", - "equip": "", - "unequip": "", + "lostHealth": "איבדתם קצת חיים", + "lostExperience": "איבדתם קצת ניסיון", + "equip": "להצטייד", + "unequip": "להוריד", "animalSkins": "עורות דמוי בע״ח", "str": "כוח", "con": "חוסן", "per": "תפיסה", "int": "תבונה", - "notEnoughAttrPoints": "", - "classNotSelected": "", + "notEnoughAttrPoints": "אין לכם מספיק נקודות להקצות את המדדים", + "classNotSelected": "אתם חייבים לבחור את המקצוע לפני שתוכלו להקצות מדדים.", "style": "Style", - "facialhair": "", + "facialhair": "שפם וזקן", "photo": "תמונה", - "info": "Info", - "joined": "הצטרפות", - "totalLogins": "", - "latestCheckin": "", + "info": "מידע", + "joined": "הצטרפת", + "totalLogins": "סה\"כ ימי התחברות", + "latestCheckin": "התחברות אחרונה", "editProfile": "עריכת הפרופיל", "challengesWon": "אתגרים שנוצחו", "questsCompleted": "הרפתקאות שהושלמו", - "headAccess": "", - "backAccess": "", - "bodyAccess": "", - "mainHand": "", - "offHand": "", + "headAccess": "אביזר ראש", + "backAccess": "אביזר גב", + "bodyAccess": "אביזר גוף", + "mainHand": "יד ראשית", + "offHand": "יד משנית", "statPoints": "Stat Points", "pts": "נק׳", "notEnoughGold": "אין מספיק זהב.", - "purchaseForGold": "לרכוש בתמורת <%= cost %> מטבעות זהב?" + "purchaseForGold": "לרכוש בתמורת <%= cost %> מטבעות זהב?", + "purchasePetItemConfirm": "הרכישה הזאת תחרוג ממספר הפריטים שאותם אתם צריכים כדי לבקוע את כל חיות המחמד ה <%= itemText %>. האם אתם בטוחים?", + "chatCastSpellParty": "<%= username %> הטיל קסם <%= spell %> עבור החבורה.", + "chatCastSpellUser": "<%= username %> הטיל קסם <%= spell %> על <%= target %>.." } diff --git a/website/common/locales/he/content.json b/website/common/locales/he/content.json index 0d05d487df..e17108928c 100644 --- a/website/common/locales/he/content.json +++ b/website/common/locales/he/content.json @@ -201,7 +201,7 @@ "hatchingPotionThunderstorm": "סופת ברקים", "hatchingPotionGhost": "רוח רפאים", "hatchingPotionRoyalPurple": "סגול מלכותי", - "hatchingPotionHolly": "", + "hatchingPotionHolly": "קדוש", "hatchingPotionCupid": "קופידון", "hatchingPotionShimmer": "נצנוץ", "hatchingPotionFairy": "פיות", @@ -212,9 +212,9 @@ "hatchingPotionFrost": "כפור", "hatchingPotionIcySnow": "שלג קרחי", "hatchingPotionNotes": "מזוג שיקוי זה על ביצה, והיא תבקע כ: <%= potText(locale) %>.", - "premiumPotionAddlNotes": "לא ניתן לשימוש על ביצי הרפתקאות.", + "premiumPotionAddlNotes": "לא ניתן לשימוש על ביצי הרפתקאות. ניתן לרכישה עד <%= date(locale) %>.", "foodMeat": "בשר", - "foodMeatThe": "", + "foodMeatThe": "הבשר", "foodMeatA": "בשר", "foodMilk": "חלב", "foodMilkThe": "החלב", @@ -235,17 +235,17 @@ "foodRottenMeatThe": "הבשר הרקוב", "foodRottenMeatA": "בשר רקוב", "foodCottonCandyPink": "סוכר שמבלולו ורוד", - "foodCottonCandyPinkThe": "", - "foodCottonCandyPinkA": "", + "foodCottonCandyPinkThe": "הצמר גפן הורוד", + "foodCottonCandyPinkA": "צמר גפן ורוד", "foodCottonCandyBlue": "סוכר שמבלולו כחול", - "foodCottonCandyBlueThe": "", - "foodCottonCandyBlueA": "", + "foodCottonCandyBlueThe": "הצמר גפן הכחול", + "foodCottonCandyBlueA": "צמר גפן כחול", "foodHoney": "דבש", "foodHoneyThe": "הדבש", "foodHoneyA": "דבש", "foodCakeSkeleton": "עוגת עצמות", - "foodCakeSkeletonThe": "", - "foodCakeSkeletonA": "", + "foodCakeSkeletonThe": "עוגת העצמות", + "foodCakeSkeletonA": "עוגת עצמות", "foodCakeBase": "עוגה רגילה", "foodCakeBaseThe": "העוגה הפשוטה", "foodCakeBaseA": "עוגה פשוטה", @@ -304,20 +304,20 @@ "foodCandyRedThe": "ממתק הקינמון", "foodCandyRedA": "ממתק קינמון", "foodSaddleText": "אוכף", - "foodSaddleNotes": "הופך חיית מחמד לחיית רכיבה בין רגע!", + "foodSaddleNotes": "הופך חיית מחמד לחיית רכיבה בין רגע.", "foodSaddleSellWarningNote": "אהלן! איזה פריט שימושי! האם יש לך מושג כיצד להשתמש באוכפים עם חיות המחמד שלך?", "foodNotes": "האכל בזה את חיות המחמד שלך והן יגדלו לחיות רכיבה חסונות.", "hatchingPotionRoseQuartz": "קוורץ ורדרד", "hatchingPotionCelestial": "שמימי", - "foodPieSkeleton": "", - "foodPieSkeletonThe": "", - "foodPieSkeletonA": "", - "foodPieBase": "", - "foodPieBaseThe": "", - "foodPieBaseA": "", - "foodPieCottonCandyBlue": "", - "foodPieCottonCandyBlueThe": "", - "foodPieCottonCandyBlueA": "", + "foodPieSkeleton": "קדרת פאי מח עצם", + "foodPieSkeletonThe": "קדרת הפאי מח עצם", + "foodPieSkeletonA": "פרוסה מקדרת פאי מח עצם", + "foodPieBase": "פאי תפוחים בסיסי", + "foodPieBaseThe": "הפאי תפוחים הבסיסי", + "foodPieBaseA": "פרוסת פאי תפוחים בסיסי", + "foodPieCottonCandyBlue": "פאי אוכמניות", + "foodPieCottonCandyBlueThe": "הפאי אוכמניות", + "foodPieCottonCandyBlueA": "פרוסת פאי אוכמניות", "foodPieShade": "פאי שוקולד מריר", "foodPieShadeThe": "פאי השוקולד המריר", "foodPieWhiteThe": "פאי פודינג הווניל", @@ -338,5 +338,41 @@ "questEggRobotMountText": "רובוט", "questEggDolphinText": "דולפין", "questEggRobotText": "רובוט", - "questEggDolphinMountText": "דולפין" + "questEggDolphinMountText": "דולפין", + "hatchingPotionTeaShop": "חנות תה", + "premiumPotionUnlimitedNotes": "אי אפשר לשמש על ביצי הרפתקאות.", + "foodPieGolden": "פאי קרם בננה זהובה", + "hatchingPotionSunset": "שקיעה", + "hatchingPotionAutumnLeaf": "עלה סתווי", + "hatchingPotionStainedGlass": "ויטראז'", + "foodPieDesertA": "פרוסת פאי קינוח מדברי", + "foodPieShadeA": "פרוסת פאי שוקולד מריר", + "hatchingPotionTurquoise": "טורקיז", + "foodPieCottonCandyPink": "פאי ריבס ורוד", + "foodPieDesert": "פאי קינוח מדברי", + "foodPieWhiteA": "פרוסת פאי פודינג וניל", + "hatchingPotionPolkaDot": "מנוקד", + "hatchingPotionSolarSystem": "מערכת השמש", + "hatchingPotionSandSculpture": "פיסול בחול", + "hatchingPotionWindup": "ממונע", + "hatchingPotionBlackPearl": "פנינה שחורה", + "hatchingPotionFluorite": "פלואוריט", + "hatchingPotionBirchBark": "קליפת ליבנה", + "hatchingPotionMossyStone": "אבן אזוב", + "hatchingPotionVampire": "ערפד", + "hatchingPotionDessert": "ממותק", + "hatchingPotionMoonglow": "זוהר ירח", + "hatchingPotionOnyx": "שוהם", + "hatchingPotionPorcelain": "חרסינה", + "hatchingPotionVirtualPet": "וירטואלי", + "hatchingPotionPinkMarble": "שיש ורוד", + "foodPieCottonCandyPinkThe": "הפאי ריבס הורוד", + "foodPieCottonCandyPinkA": "פרוסת פאי ריבס ורוד", + "foodPieGoldenThe": "פאי קרם הבננה הזהובה", + "foodPieGoldenA": "פרוסת פאי קרם הבננה הזהובה", + "foodPieZombieA": "פיסת פאי רקובה", + "foodPieDesertThe": "פאי הקינוח המדברי", + "foodPieRed": "פאי דובדבנים", + "foodPieRedThe": "פאי הדובדבנים", + "foodPieRedA": "פרוסת פאי דובדבנים" } diff --git a/website/common/locales/he/contrib.json b/website/common/locales/he/contrib.json index eef6786184..dd750bb94d 100644 --- a/website/common/locales/he/contrib.json +++ b/website/common/locales/he/contrib.json @@ -1,5 +1,5 @@ { - "playerTiersDesc": "", + "playerTiersDesc": "השמות הצבעוניים שאתם רואים בצ'אט מייצגים את דרגות התרומה. כמה שהדרגה גבוהה יותר, ככה היתה תרומה גדולה יותר להביטיקה באמצעות אומנות, תכנות, קהילה ועוד!", "tier1": "דרגה 1 (חבר)", "tier2": "דרגה 2 (חבר)", "tier3": "דרגה 3 (עילאי)", @@ -19,11 +19,11 @@ "staff": "חבר צוות", "heroic": "הירואי", "modalContribAchievement": "הישג תורמים!", - "contribModal": "", - "contribLink": "", + "contribModal": "<%= name %>, אתם מדהימים! עכשיו אתה בדרגת תורם <%= level %> על התרומה להביטיקה.", + "contribLink": "תראו את הפרסים שקיבלתם על התרומה!", "contribName": "תורמים", - "contribText": "", - "kickstartName": "", + "contribText": "תרמו להביטיקה, אם על ידי קוד, אומנות, מוסיקה, כתיבה או שיטות אחרות. כדי ללמוד עוד על תרומה להביטיקה, תצטרפו ל Aspiring Legends Guild!", + "kickstartName": "דרגת מגבה בקיקסטארטר - $<%= key %>", "kickstartText": "גיבה את פרויקט הקיקסטראטר שהתחיל את האתר.", "helped": "עזר להביטיקה לגדול", "hall": "היכל הגיבורים", @@ -49,9 +49,10 @@ "balance": "מאזן", "playerTiers": "רמות שחקנים", "tier": "רמה", - "conRewardsURL": "http://habitica.fandom.com/wiki/Contributor_Rewards", + "conRewardsURL": "https://habitica.fandom.com/wiki/Contributor_Rewards", "surveysSingle": "עזרת להביטיקה לגדול, באמצעות מילוי שאלון או מאמץ בדיקות גדול. תודה רבה!", - "surveysMultiple": "", + "surveysMultiple": "עזרת להביטיקה לגדול ב-<%= count %> מקרים, אם ע\"י מילוי סקר או עזרה עם מאמץ בדיקות גדול. תודה לך!", "blurbHallPatrons": "זהו היכל התומכים, היכן שאנו מעניקים כבוד לשחקנים האדירים שתמכו ב־\"Kickstarter\" המקורי של האתר. אנו מודים להם על שהביאו את הביטיקה לחיים!", - "blurbHallContributors": "זהו היכל התורמים, המקום שבו עושים כבוד לתורמים במקור פתוח להביטיקה. בין אם מדובר בקוד, עיצוב, מנגינה, כתיבה, או אפילו רק עזרה באופן כללי, הם הרוויחו אבני חן, ציוד אקסקלוסיבי, ותארים נחשבים. תוכלו לתרום גם אתם להביטיקה! קראו על כך עוד כאן." + "blurbHallContributors": "זהו היכל התורמים, המקום שבו עושים כבוד לתורמים במקור פתוח להביטיקה. בין אם מדובר בקוד, עיצוב, מנגינה, כתיבה, או אפילו רק עזרה באופן כללי, הם הרוויחו אבני חן, ציוד אקסקלוסיבי, ותארים נחשבים. תוכלו לתרום גם אתם להביטיקה! קראו על כך עוד כאן.", + "noPrivAccess": "יש לך את הזכויות הדרושות." } diff --git a/website/common/locales/he/front.json b/website/common/locales/he/front.json index df56922916..b93d7a3d7d 100644 --- a/website/common/locales/he/front.json +++ b/website/common/locales/he/front.json @@ -56,8 +56,8 @@ "mobileAndroid": "אנדרואיד", "mobileIOS": "iOS", "oldNews": "חדשות", - "newsArchive": "", - "setNewPass": "", + "newsArchive": "ארכיון החדשות בפאנדום (רב לשוני)", + "setNewPass": "הגדר סיסמה חדשה", "password": "סיסמה", "playButton": "שחק", "playButtonFull": "כניסה להביטיקה", diff --git a/website/common/locales/he/gear.json b/website/common/locales/he/gear.json index 58171fe5e5..9b9f3bcb98 100644 --- a/website/common/locales/he/gear.json +++ b/website/common/locales/he/gear.json @@ -3,23 +3,23 @@ "equipmentType": "סוג", "klass": "מקצוע", "groupBy": "סדר לפי <%= type %>", - "classBonus": "", - "classArmor": "", - "featuredset": "", - "mysterySets": "", - "gearNotOwned": "", - "noGearItemsOfType": "", - "noGearItemsOfClass": "", - "classLockedItem": "This item is only available to a specific class. Change your class under the User icon > Settings > Character Build!", - "tierLockedItem": "", - "sortByType": "Type", - "sortByPrice": "", - "sortByCon": "CON", - "sortByPer": "PER", - "sortByStr": "STR", - "sortByInt": "INT", + "classBonus": "(החפץ הזה מתאים למקצוע שלך, אז הוא מקבל מכפיל של 1.5 למדדים)", + "classArmor": "מגן לפי מקצוע", + "featuredset": "סט מובחר <%= name %>", + "mysterySets": "סט מסתורין", + "gearNotOwned": "הפריט לא בבעלותך.", + "noGearItemsOfType": "אף אחד מהפריטים לא בבעלותך.", + "noGearItemsOfClass": "כבר אספת את כל הציוד של המקצוע! עוד ציוד יתאפשר במהלך גאלות גדולות, בתקופות ליקויי שמש וליקויי ירח.", + "classLockedItem": "החפץ הזה אפשרי רק עבור מקצוע מסוים. בדרגה 10 או גבוה יותר, אתם יכולים לשנות את המקצוע תחת האייקון של המשתמש > הגדרות > בניית דמות!", + "tierLockedItem": "האיבר הזה אפשרי רק כשרכשתם את כל האיברים הקודמים בסדרה. תמשיכו להתמיד בדרככם למעלה!", + "sortByType": "סוג", + "sortByPrice": "מחיר", + "sortByCon": "חוסן", + "sortByPer": "תפיסה", + "sortByStr": "כוח", + "sortByInt": "תבונה", "weapon": "נשק", - "weaponCapitalized": "", + "weaponCapitalized": "נשק היד הראשית", "weaponBase0Text": "אין כלי נשק", "weaponBase0Notes": "אין לך נֶשֶׁק.", "weaponWarrior0Text": "חרב אימונים", @@ -27,7 +27,7 @@ "weaponWarrior1Text": "חרב", "weaponWarrior1Notes": "נשק של חייל ממוצע וסביר. מגביר את הכוח שלך ב <%= str %> .", "weaponWarrior2Text": "גרזן", - "weaponWarrior2Notes": "", + "weaponWarrior2Notes": "נשק חיתוך כפול. מעלה כוח ב <%= str %>.", "weaponWarrior3Text": "כוכב שחר", "weaponWarrior3Notes": "נבוט כבר עם קוצים אכזריים שיזמברו את אויביך. מגביר את הכוח שלך ב <%= str %> .", "weaponWarrior4Text": "להב ספיר", @@ -81,7 +81,7 @@ "weaponSpecial0Text": "להב הנשמות האפלות", "weaponSpecial0Notes": "ניזון מדם חייהם של יריבייך כדי לחזק את מכותיו האכזריות. מגביר את ערך הכוח שלך ב<%= str %> נקודות.", "weaponSpecial1Text": "להב קריסטל", - "weaponSpecial1Notes": "", + "weaponSpecial1Notes": "ההיבטים הנוצצים מספרים סיפור של גיבור. מעלה את כל המדדים ב <%= attrs %>.", "weaponSpecial2Text": "מוט הדרקון של סטיבן וובר", "weaponSpecial2Notes": "חוש בכוח הדרקון מתפרץ מתוכך, כמו לבה מתוך הר געש! מגביר את ערכי הכוח והחוסן ב<%= attrs %> נקודות כל אחד.", "weaponSpecial3Text": "כוכב השחר המנתץ של מאסטין", @@ -92,13 +92,13 @@ "weaponSpecialTakeThisNotes": "", "weaponSpecialTridentOfCrashingTidesText": "קלשון ריסוק הגלים", "weaponSpecialTridentOfCrashingTidesNotes": "נותן לך את היכולת לפקד על הדגים בים וליצור פגיעות חמורות במטלות היומיות שלך. מגביר את התבונה ב <%= int %>.", - "weaponSpecialTaskwoodsLanternText": "", + "weaponSpecialTaskwoodsLanternText": "עששית יערות המשימות", "weaponSpecialTaskwoodsLanternNotes": "", - "weaponSpecialBardInstrumentText": "", + "weaponSpecialBardInstrumentText": "נבל משוררים", "weaponSpecialBardInstrumentNotes": "", - "weaponSpecialLunarScytheText": "", + "weaponSpecialLunarScytheText": "חרמש הירח", "weaponSpecialLunarScytheNotes": "", - "weaponSpecialMammothRiderSpearText": "", + "weaponSpecialMammothRiderSpearText": "רומח רוכב הממותות", "weaponSpecialMammothRiderSpearNotes": "", "weaponSpecialPageBannerText": "Page Banner", "weaponSpecialPageBannerNotes": "", diff --git a/website/common/locales/he/generic.json b/website/common/locales/he/generic.json index 33118eda18..fc7e146567 100644 --- a/website/common/locales/he/generic.json +++ b/website/common/locales/he/generic.json @@ -24,7 +24,7 @@ "help": "עזרה", "user": "משתמש", "market": "שוק", - "newSubscriberItem": "", + "newSubscriberItem": "יש לכם חפצים מסתוריים חדשים", "subscriberItemText": "בכל חודש, מנויים יקבלו פריט מסתורי. הוא הופך לזמין בתחילת החודש. ראו בוויקי את הדף 'Mystery Item' למידע נוסף.", "all": "הכול", "none": "כלום", @@ -48,28 +48,28 @@ "gemsPopoverTitle": "אבני חן", "gems": "יהלומים", "needMoreGems": "יש לך צורך בעוד יהלומים?", - "needMoreGemsInfo": "", + "needMoreGemsInfo": "תקנו יהלומים עכשיו או שתעשו מנוי כדי לקנות יהלומים במטבעות זהב, תקבלו חפצים מסתוריים כל חודש, תקבלו יותר חבילות ועוד!", "veteran": "ותיקים", - "veteranText": "", + "veteranText": "החזיקו מעמד מול Habit The Grey (האתר שלנו לפני שעברנו ל Angular), וצברו הרבה צלקות מהבאגים שלו.", "originalUser": "משתמש מקורי!", - "originalUserText": "", - "habitBirthday": "מסיבת יום ההולדת של Habitica", + "originalUserText": "היה בין הממש ראשונים בהיבטיקה. מדובר פה בבודקי אלפא!", + "habitBirthday": "מסיבת יום ההולדת של הביטיקה", "habitBirthdayText": "חגגו את יום ההולדת של הביטיקה!", - "habitBirthdayPluralText": "", - "habiticaDay": "יום קריאת Habitica בשמה", - "habiticaDaySingularText": "", - "habiticaDayPluralText": "", + "habitBirthdayPluralText": "חגגו <%= count %> ימי הולדת של הביטיקה!", + "habiticaDay": "יום קריאת הביטיקה בשמה", + "habiticaDaySingularText": "חגגו את יום הקריאה של הביטיקה בשמה! תודה על היותכם משתשים נהדרים!", + "habiticaDayPluralText": "חגגו <%= count %> ימי קריאת הביטיקה בשמה! תודה על היותכם משתמשים נפלאים.", "achievementDilatory": "המושיעים של עצלניה", "achievementDilatoryText": "סייעו להביס את הדרעקון האיום של עצלניה באירוע \"שפריץ הקיץ\" של 2014!", "costumeContest": "מתחרה מחופש", - "costumeContestText": "", - "costumeContestTextPlural": "", - "newPassSent": "", + "costumeContestText": "השתתפו במסיבת התחפושות של הביטיקה. תראו כמה תחפושות אדירות ב blog.habitrpg.com!", + "costumeContestTextPlural": "השתתפו במסיבת התחפושות של הביטיקה <%= count %> פעמים. תראו כמה תחפושות אדירות ב blog.habitrpg.com!", + "newPassSent": "אם יש לנו את המייל שלכם בקובץ, ההוראות של הגדרת סיסמה חדשה נשלחו אליכם במייל.", "error": "שגיאה", "menu": "תפריט", "notifications": "התראות", - "noNotifications": "", - "noNotificationsText": "", + "noNotifications": "השלמת את כל המשימות!", + "noNotificationsText": "הפיות של הנוטיפיקציות נותנים לכם מחיאות כפיים סוערות! כל הכבוד!", "clear": "ניקוי", "audioTheme": "ערכת מנגינות", "audioTheme_off": "כבויה", @@ -200,5 +200,6 @@ "options": "אפשרויות", "finish": "סיום", "congratulations": "ברכות!", - "askQuestion": "לשאול שאלה" + "askQuestion": "לשאול שאלה", + "demo": "דוגמה" } diff --git a/website/common/locales/he/groups.json b/website/common/locales/he/groups.json index ff210c06e6..7225e31e17 100644 --- a/website/common/locales/he/groups.json +++ b/website/common/locales/he/groups.json @@ -6,12 +6,12 @@ "resumeDamage": "ביטול השהיית הנזק", "helpfulLinks": "קישורים שימושיים", "communityGuidelinesLink": "הנחיות הקהילה", - "lookingForGroup": "", + "lookingForGroup": "מחפש הודעות של קבוצה (רצוי בחבורה)", "dataDisplayTool": "כלי הצגת נתונים", "requestFeature": "בקשת תכונה", "askAQuestion": "לשאול שאלה", "askQuestionGuild": "לשאול שאלה (בגילדת העזרה של הביטיקה)", - "contributing": "", + "contributing": "תורם", "faq": "שאלות נפוצות", "tutorial": "הדרכה", "glossary": "מונחון", @@ -20,8 +20,8 @@ "dataTool": "כלי הצגת נתונים", "resources": "משאבים", "communityGuidelines": "הנחיות הקהילה", - "bannedWordUsed": "", - "bannedSlurUsed": "", + "bannedWordUsed": "אופס! נראה שההודעה הזאת מכילה קללות או התייחסות לחומר ממכר או נושא למבוגרים בלבד (<%= swearWordsUsed %>). הביטיקה שומרת את הצ'ט שלנו נקי מאוד. תרגישו חופשי לערוך את ההודעה שלכם כדי שתוכלו לפרסם אותה.", + "bannedSlurUsed": "ההודעה שלך כללה שפה לא נאותה, וההרשאות שלך לפרסם בצ'ט בוטלו.", "party": "חבורה", "usernameCopied": "שם המשתמש הועתק ללוח הגזירים.", "createGroupPlan": "יצירה", @@ -29,14 +29,14 @@ "userId": "מזהה משתמש", "invite": "הזמנה", "leave": "עזיבה", - "invitedToParty": "", + "invitedToParty": "קיבלת זימון להצטרף לחבורה <%- party %>", "invitedToPrivateGuild": "הוזמנת להצטרף לגילדה הפרטית <%- guild %>", "invitedToPublicGuild": "הוזמת להצטרף לגילדה <%- guild %>", - "invitationAcceptedHeader": "", - "invitationAcceptedBody": "", + "invitationAcceptedHeader": "ההזמה שלך התקבלה", + "invitationAcceptedBody": "<%= username %> אישר את ההזמנה שלך ל<%= groupName %>!", "systemMessage": "הודעת מערכת", "newMsgGuild": "יש פוסטים חדשים בגילדה <%- name %>", - "newMsgParty": "", + "newMsgParty": "יש בחבורה שלך, <%- name %>, הודעות חדשות", "chat": "שיחה", "sendChat": "שילחו הודעה", "group": "קבוצה", @@ -44,7 +44,7 @@ "groupLeader": "מנהיג החבורה", "groupID": "מזהה קבוצה", "members": "חברים", - "memberList": "", + "memberList": "רשימת משתתפים", "invited": "הוזמן", "name": "שם", "description": "תיאור", @@ -61,47 +61,47 @@ "optionalMessage": "הודעה אופציונלית", "yesRemove": "כן, הסר אותם", "sortBackground": "מיון לפי רקע", - "sortClass": "", - "sortDateJoined": "", - "sortLogin": "", - "sortLevel": "", + "sortClass": "מיין לפי המקצוע", + "sortDateJoined": "מיין לפי תאריך ההצטרפות", + "sortLogin": "מיין לפי תאריך ההתחברות האחרון", + "sortLevel": "מיין לפי רמה", "sortName": "מיון לפי שם", - "sortTier": "", + "sortTier": "מיין לפי דרגה", "ascendingAbbrev": "עולה", "descendingAbbrev": "יורד", - "applySortToHeader": "", + "applySortToHeader": "השתמש בבחירת המיון לכותרת החבורה", "confirmGuild": "ליצור גילדה תמורת 4 יהלומים?", "confirm": "אישור", "leaveGroup": "Leave Guild", "leaveParty": "עזיבת החבורה", "send": "שליחה", - "pmsMarkedRead": "", + "pmsMarkedRead": "ההודעות הפרטיות שלך סומנו כ\"נקראו\"", "possessiveParty": "החבורה של <%= name %>", - "PMPlaceholderTitle": "", - "PMPlaceholderDescription": "", - "PMPlaceholderTitleRevoked": "", + "PMPlaceholderTitle": "אין פה שום דבר כרגע", + "PMPlaceholderDescription": "תבחרו את השיחה משמאל", + "PMPlaceholderTitleRevoked": "זכויות הצ'ט שלך בוטלו", "PMPlaceholderDescriptionRevoked": "You are not able to send private messages because your chat privileges have been revoked. If you have questions or concerns about this, please email admin@habitica.com to discuss it with the staff.", - "PMEnabledOptPopoverText": "", - "PMDisabledOptPopoverText": "", - "PMDisabledCaptionTitle": "", - "PMDisabledCaptionText": "", + "PMEnabledOptPopoverText": "הודעות פרטיות מאופשרות. משתמשים יכולים ליצור איתכם קשר דרך הפרופיל שלכם.", + "PMDisabledOptPopoverText": "הודעות פרטיות מבוטלות. אשרו את האפשרות הזאת כדי לאפשר למשתמשים ליצור איתכם קשר דרך הפרופיל שלכם.", + "PMDisabledCaptionTitle": "הודעות פרטיות חסומות", + "PMDisabledCaptionText": "אתם עדיין יכולים לשלוח הודעות, אבל אף אחד לא יוכל לשלוח לכם הודעות.", "block": "חסימה", "unblock": "ביטול חסימה", - "blockWarning": "", + "blockWarning": "חסום - הפעולה לא תשפיע אם המשתמש הוא מנחה עכשיו או אם יהיה מנחה בעתיד.", "inbox": "תיבת דואר", "messageRequired": "נדרש למלא הודעה.", "toUserIDRequired": "נדרש מזהה משתמש", "gemAmountRequired": "נדרש מספר היהלומים", - "notAuthorizedToSendMessageToThisUser": "", - "privateMessageGiftGemsMessage": "", + "notAuthorizedToSendMessageToThisUser": "אתם לא יכולים לשלוח הודעות למשתמש הזה כי הם בחרו לחסום הודעות.", + "privateMessageGiftGemsMessage": "שלום <%= receiverName %>, <%= senderName %> שלח לך <%= gemAmount %> יהלומים!", "cannotSendGemsToYourself": "לא ניתן לשלוח יהלומים לעצמך. כדאי לנסות להירשם למינוי במקום.", "badAmountOfGemsToSend": "הסכום חייב להיות בין 1 אל כמות אבני החן שכרגע ברשותך.", "report": "Report", - "abuseFlagModalHeading": "", - "abuseFlagModalBody": "", + "abuseFlagModalHeading": "דווח על הפרה", + "abuseFlagModalBody": "אתם בטוחים שתרצו לדווח על המודעה הזה? אתם צריכים לדווח רק מודעות המפרות את <%= firstLinkStart %>הנחיות הקהילה<%= linkEnd %> ו\\או <%= secondLinkStart %>תנאי השירות<%= linkEnd %>. דיווח לא נאות של מודעות הוא הפרה של הנחיות הקהילה ויכול לזקוף הפרה לזכותכם.", "abuseReported": "תודה רבה על שדיווחת על הפרה זו. יידענו את המנהלים על כך.", - "whyReportingPost": "", - "whyReportingPostPlaceholder": "", + "whyReportingPost": "מדוע אתם מדווחים על המודעה הזו?", + "whyReportingPostPlaceholder": "אנא עזרו למנחים שלנו ותסבירו למה אתם מדווחים על המודעה הזו כהפרה, למשל ספאם, קללות, נושא דתי, קנאות, השמצות, נושאים למבוגרים בלבד, אלימות.", "optional": "רשות", "needsTextPlaceholder": "הקלד את ההודעה שלך כאן.", "copyMessageAsToDo": "העתקת ההודעה בתור משימה לביצוע", @@ -111,13 +111,13 @@ "sendGift": "הענקת מתנה", "inviteFriends": "הזמנת חברים", "inviteByEmail": "הזמנה בדוא״ל", - "inviteMembersHowTo": "", + "inviteMembersHowTo": "תזמינו אנשים בעזרת כתובת אי-מייל או מספר משתמש בעל 36 ספרות. אם המייל לא רשום עדיין, אנחנו נזמין אותם להביטיקה.", "sendInvitations": "שליחת הזמנות", "invitationsSent": "הזמנות נשלחו!", "invitationSent": "הזמנה נשלחה!", "invitedFriend": "הזמנת חבר", - "invitedFriendText": "", - "inviteLimitReached": "", + "invitedFriendText": "המשתמש הזמין חבר (או חברים) שהצטרפו אליהם להרפתקאות שלהם!", + "inviteLimitReached": "כבר שלחת מספר מקסימלי של הזמנות אי-מייל. אנחנו מגבילים את כמות ההזמנות שאפשר לשלוח כדי למנוע ספאם, עם זאת אם תרצו שנגדיל לכם את הכמות, בבקשה תפנו אלינו ב-<%= techAssistanceEmail %> ואנחנו נשמח לדון איתכם על זה!", "sendGiftHeading": "שלחו מתנה ל<%= name %>", "sendGiftGemsBalance": "החל מ־<%= number %> יהלומים", "sendGiftCost": "סך הכול: $<%= cost %> USD", @@ -125,54 +125,54 @@ "sendGiftPurchase": "רכוש", "sendGiftMessagePlaceholder": "הודעה אישית (אופציונילי)", "sendGiftSubscription": "<%= months %> חודש(ים): $<%= price %>", - "gemGiftsAreOptional": "", + "gemGiftsAreOptional": "בבקשה שימו לב שהביטיקה לא יכריח אותכם לעולם לתת מתנות של יהלומים למשתמשים אחרים. להתחנן ממשתמשים שישלחו לכם יהלומים היא הפרה של הנחיות הקהילה, כל המקרים הללו צריכים להיות מדווחים כאן: <%= hrefTechAssistanceEmail %>.", "battleWithFriends": "נלחמים במפלצות עם חברים", "startAParty": "התחילו חבורה", "partyUpName": "חגיגה", "partyOnName": "מסיבה", - "partyUpText": "", - "partyOnText": "", + "partyUpText": "הצטרפתם לחבורה עם בן אדם נוסף! תהנו יחדיו להילחם בבוסים ולתמוך זה בזה.", + "partyOnText": "הצטרפתם לחבורה עם ארבעה אנשים לפחות! תהנו מהאחריות ההדדית כשאתם מתאחדים עם החברים שלכם כדי להביס את האויבים שלכם!", "groupNotFound": "קבוצה לא נמצאה או שאין לכם גישה.", "groupTypesRequired": "חובה לספק שורת שאילתא \"type\" תקפה.", - "questLeaderCannotLeaveGroup": "", - "cannotLeaveWhileActiveQuest": "", + "questLeaderCannotLeaveGroup": "אתם לא יכולים לעזוב את החבורה אם אתם התחלתם את ההרפתקה. קודם יש לבטל את ההרפתקה.", + "cannotLeaveWhileActiveQuest": "אתם לא יכולים לעזוב את החבורה באמצע הרפתקה. אנא עזבו את ההרפתקה קודם.", "onlyLeaderCanRemoveMember": "רק מנהיגי החבורה יכולים להסיר ממנה חברים!", - "cannotRemoveCurrentLeader": "", + "cannotRemoveCurrentLeader": "אתם לא יכולים להסיר את מנהיג החבורה. יש קודם למנות מנהיג חדש.", "memberCannotRemoveYourself": "אינכם יכולים להסיר את עצמכם!", "groupMemberNotFound": "המשתמשים לא נמצאו מבין חברי הקבוצה", "mustBeGroupMember": "חייבים להיות חברים בקבוצה.", "canOnlyInviteEmailUuid": "אפשר להזמין רק לפי מזהה משתמש, כתובת דוא״ל ושם משתמש.", "inviteMissingEmail": "חסרה כתובת אימייל בהזמנה.", - "inviteMustNotBeEmpty": "", + "inviteMustNotBeEmpty": "הזמנה לא יכולה להיות ריקה.", "partyMustbePrivate": "חבורות חייבות להיות חסויות", - "userAlreadyInGroup": "", - "youAreAlreadyInGroup": "", + "userAlreadyInGroup": "מספר משתמש: <%= userId %>, משתמש \"<%= username %>\" כבר נמצא בחבורה.", + "youAreAlreadyInGroup": "אתם כבר חברים בחבורה הזאת.", "cannotInviteSelfToGroup": "אתם לא יכולים להזמין את עצמכם לקבוצה.", - "userAlreadyInvitedToGroup": "", - "userAlreadyPendingInvitation": "", - "userAlreadyInAParty": "", + "userAlreadyInvitedToGroup": "מספר משתמש: <%= userId %>, משתמש \"<%= username %>\" כבר הוזמן לחבורה הזו.", + "userAlreadyPendingInvitation": "מספר משתמש: <%= userId %>, משתמש \"<%= username %>\" כבר ממתין להזמנה.", + "userAlreadyInAParty": "מספר משתמש: <%= userId %>, משתמש \"<%= username %>\" כבר נמצא בחבורה.", "userWithIDNotFound": "לא נמצא משתמש עם המזהה \"<%= userId %>\".", "userWithUsernameNotFound": "לא נמצא משתמש עם שם המשתמש \"<%= username %>\".", "userHasNoLocalRegistration": "למשתמש/ת אין רישום מקומי (שם משתמש, אימייל, סיסמה).", "uuidsMustBeAnArray": "הזמנות של מספר זהות משתמש/ת חייבות להיות מערך.", "emailsMustBeAnArray": "הזמנות של כתובת אימייל חייבות להיות מערך.", - "usernamesMustBeAnArray": "", + "usernamesMustBeAnArray": "שמות המוזמנים צריכים להיות במערך.", "canOnlyInviteMaxInvites": "ניתן להזמין רק \"<%= maxInvites %>\" בכל פעם", - "partyExceedsMembersLimit": "", + "partyExceedsMembersLimit": "גודל החבורה מוגבל ל-<%= maxMembersParty %> חברים", "onlyCreatorOrAdminCanDeleteChat": "אין לך הרשאה למחוק את ההודעה הזאת!", - "onlyGroupLeaderCanEditTasks": "", - "onlyGroupTasksCanBeAssigned": "", + "onlyGroupLeaderCanEditTasks": "אין הרשאה לנהל משימות!", + "onlyGroupTasksCanBeAssigned": "ניתן לשייך רק משימות של הקבוצה", "assignedTo": "שיוך אל", "assignedToUser": "Assigned to <%- userName %>", "assignedToMembers": "Assigned to <%= userCount %> members", "assignedToYouAndMembers": "Assigned to you and <%= userCount %> members", "youAreAssigned": "שויך לך", - "taskIsUnassigned": "", - "confirmUnClaim": "", - "confirmNeedsWork": "", + "taskIsUnassigned": "המשימה הזאת לא שויכה", + "confirmUnClaim": "אתם בטוחים שתרצו להתנער מהמשימה הזאת?", + "confirmNeedsWork": "אתם בטוחים שאתם רוצים לציין את המשימה הזאת כדורשת עבודה?", "userRequestsApproval": "<%- userName %> requests approval", "userCountRequestsApproval": "<%= userCount %> members request approval", - "youAreRequestingApproval": "", + "youAreRequestingApproval": "אתם מבקשים אישור", "chatPrivilegesRevoked": "You cannot do that because your chat privileges have been revoked.", "cannotCreatePublicGuildWhenMuted": "You cannot create a public guild because your chat privileges have been revoked.", "cannotInviteWhenMuted": "You cannot invite anyone to a guild or party because your chat privileges have been revoked.", @@ -180,30 +180,30 @@ "from": "מאת:", "assignTask": "הקצו משימה", "claim": "Claim", - "removeClaim": "", - "onlyGroupLeaderCanManageSubscription": "", + "removeClaim": "להסיר את הבעלות על המשימה", + "onlyGroupLeaderCanManageSubscription": "רק מנהיג הקבוצה יכול לנהל את ההרשמה לקבוצה", "yourTaskHasBeenApproved": "Your task <%- taskText %> has been approved.", - "taskNeedsWork": "", - "userHasRequestedTaskApproval": "", - "approve": "", - "approveTask": "", - "needsWork": "", - "viewRequests": "", - "groupSubscriptionPrice": "", - "groupBenefitsDescription": "", - "teamBasedTasks": "", - "cannotDeleteActiveGroup": "", - "groupTasksTitle": "", - "userIsClamingTask": "", - "approvalRequested": "", - "cantDeleteAssignedGroupTasks": "", - "groupPlanUpgraded": "", - "groupPlanCreated": "", - "onlyGroupLeaderCanInviteToGroupPlan": "", + "taskNeedsWork": "<%- taskText %> סומן כלא גמור על ידי @<%- managerName %>. הפרסים על השלמת המשימה התבטלו.", + "userHasRequestedTaskApproval": "<%- user %> מבקש אישור על <%- taskName %>", + "approve": "לאשר", + "approveTask": "לאשר משימה", + "needsWork": "דרושה עוד עבודה", + "viewRequests": "לראות את הבקשות", + "groupSubscriptionPrice": "9$ בחודש + 3$ לכל חבר קבוצה נוסף", + "groupBenefitsDescription": "הרגע השקנו את גירסת הבטא של תוכניות קבוצה! שדרוג לתוכנית קבוצה פותחת אפשרות לייעל את הצד החברתי של הביטיקה.", + "teamBasedTasks": "משימות קבוצתיות", + "cannotDeleteActiveGroup": "לא ניתן להסיר קבוצה מנויה פעילה", + "groupTasksTitle": "רשימת המשימות של הקבוצה", + "userIsClamingTask": "`<%= username %> שייך לעצמו את:` <%= task %>", + "approvalRequested": "בקשה לאישור נשלחה", + "cantDeleteAssignedGroupTasks": "לא ניתן למחוק משימות של קבוצה המשויכות אליכם.", + "groupPlanUpgraded": "<%- groupName %> שודרגה בהצלחה לתוכנית קבוצות!", + "groupPlanCreated": "<%- groupName %> נוצרה!", + "onlyGroupLeaderCanInviteToGroupPlan": "רק מנהיג הקבוצה יכול להזמין משתמשים לקבוצה עם מנוי.", "paymentDetails": "פרטי תשלום", - "aboutToJoinCancelledGroupPlan": "", - "cannotChangeLeaderWithActiveGroupPlan": "", - "leaderCannotLeaveGroupWithActiveGroup": "", + "aboutToJoinCancelledGroupPlan": "אתם עומדים להצטרף לקבוצה עם מנוי מבוטל. אתם לא הולכים לקבל מנוי בחינם.", + "cannotChangeLeaderWithActiveGroupPlan": "לא ניתן לשנות את מנהיג הקבוצה כל עוד יש לקבוצה מנוי פעיל.", + "leaderCannotLeaveGroupWithActiveGroup": "המנהיג לא יכול לעזוב את הקבוצה כל עוד לקבוצה יש מנוי פעיל", "youHaveGroupPlan": "You have a free subscription because you are a member of a group that has a Group Plan. This will end when you are no longer in the group that has a Group Plan. Any months of extra subscription credit you have will be applied at the end of the Group Plan.", "cancelGroupSub": "", "confirmCancelGroupPlan": "", @@ -217,21 +217,21 @@ "canOnlyApproveTaskOnce": "", "addTaskToGroupPlan": "Create", "joinedGuild": "הצטרפת לגילדה", - "joinedGuildText": "", + "joinedGuildText": "תפסתם תעוזה לפנות לצד החברתי של הביטיקה ע\"י הצטרפות לגילדה!", "badAmountOfGemsToPurchase": "", "groupPolicyCannotGetGems": "", "viewParty": "View Party", "newGuildPlaceholder": "נא לתת שם לגילדה שלך.", "guildBank": "הבנק של הגילדה", "chatPlaceholder": "כאן אפשר להקליד הודעה לחברי הגילדה", - "partyChatPlaceholder": "", - "fetchRecentMessages": "", - "like": "", - "liked": "", + "partyChatPlaceholder": "תכתבו הודעה לחברי החבורה שלכם כאן", + "fetchRecentMessages": "עדכן את ההודעות", + "like": "אהבתי", + "liked": "אהבת", "inviteToGuild": "הזמנה לגילדה", "inviteToParty": "הזמנה לחבורה", "inviteEmailUsername": "הזמנה באמצעות כתובת דוא״ל או שם משתמש", - "inviteEmailUsernameInfo": "", + "inviteEmailUsernameInfo": "הזמנה באמצעות כתובת דוא״ל או שם משתמש. אם המייל לא רשום עדיין, אנחנו נזמין אותם כדי להצרטף.", "emailOrUsernameInvite": "כתובת דוא״ל או שם משתמש", "messageGuildLeader": "כתיבת הודעה למנהל הגילדה", "donateGems": "", @@ -282,7 +282,7 @@ "questOwnerRewards": "", "updateParty": "Update Party", "upgrade": "Upgrade", - "selectPartyMember": "", + "selectPartyMember": "תבחרו את חבר החבורה", "areYouSureDeleteMessage": "", "reverseChat": "", "invites": "הזמנות", @@ -358,5 +358,21 @@ "sendGiftToWhom": "למי היית רוצה להעניק את המתנה?", "userWithUsernameOrUserIdNotFound": "לא נמצא שם משתמש או מזהה משתמש.", "selectSubscription": "בחירת מינוי", - "usernameOrUserId": "נא לציין @שם_משתמש או מזהה משתמש" + "usernameOrUserId": "נא לציין @שם_משתמש או מזהה משתמש", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> הזמין אותך להצטרף לחבורה <%- party %>", + "PMUnblockUserToSendMessages": "הסירו את החסימה של המשתמש כדי להמשיך לשלוח או לקבל הודעות.", + "PMUserDoesNotReceiveMessages": "המשתמש כבר לא מקבל הודעות פרטיות", + "sendTotal": "סך הכל:", + "questWithOthers": "תצאו להרפתקאות עם אחרים", + "startPartyDetail": "תיצרו חבורה משלכם או תצטרפו לחבורה קיימת
כדי להצטרף להרפתקאות ולהעלות את המוטיבציה שלכם!", + "blockedToSendToThisUser": "אתם לא יכולים לשלוח הודעות למשתמש הזה כי חסמתם אותו.", + "cannotRemoveQuestOwner": "לא ניתן להסיר את בעל ההרפתקה בזמן שהיא פעילה. יש ראשית לבטל את ההרפתקה.", + "giftMessageTooLong": "המספר המקסימלי של תווים בהודעת מתנה הוא <%= maxGiftMessageLength %>.", + "sendGiftLabel": "תרצו לשלוח הודעת מתנה?", + "onlyPrivateGuildsCanUpgrade": "ניתן לשדרג רק גילדות פרטיות לתוכנית הקבוצות.", + "assignTo": "לשייך", + "taskClaimed": "<%- userName %> לקח בעלות על המשימה <%- taskText %>.", + "partyExceedsInvitesLimit": "חבורה יכולה להיות עם <%= maxInvites %> מוזמנים לכל היותר.", + "chooseTeamMember": "חיפוש חבר צוות", + "youHaveBeenAssignedTask": "<%- managerName %> שייך אותך למשימה<%- taskText %>." } diff --git a/website/common/locales/he/limited.json b/website/common/locales/he/limited.json index ab0da364ad..4ca18e7c8a 100644 --- a/website/common/locales/he/limited.json +++ b/website/common/locales/he/limited.json @@ -20,9 +20,9 @@ "turkey": "תרנגול הודו", "gildedTurkey": "תרנגול הודו מוזהב", "polarBearPup": "דובון קוטב", - "jackolantern": "", - "ghostJackolantern": "", - "glowJackolantern": "", + "jackolantern": "ג'ק-או-לנטרן", + "ghostJackolantern": "ג'ק-או-לנטרן רוח", + "glowJackolantern": "ג'ק-או-לנטרן זוהר בחושך", "seasonalShop": "חנות עונתית", "seasonalShopClosedTitle": "<%= linkStart %>לֶסְלי<%= linkEnd %>", "seasonalShopTitle": "<%= linkStart %>מכשפה עונתית<%= linkEnd %>", @@ -147,5 +147,6 @@ "winterPromoGiftDetails2": "", "discountBundle": "", "g1g1Announcement": "", - "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!" + "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!", + "royalPurpleJackolantern": "ג'ק-או-לנטרן מלכותי סגול" } diff --git a/website/common/locales/he/npc.json b/website/common/locales/he/npc.json index 2bb98d7e51..00e1cdc5a9 100644 --- a/website/common/locales/he/npc.json +++ b/website/common/locales/he/npc.json @@ -9,14 +9,14 @@ "justinIntroMessage3": "יופי! ועכשיו, על מה היית רוצה לעבוד במהלך המסע שלך?", "justinIntroMessageUsername": "לפני שנתחיל, בואו נחליט על שם. למטה מופיעים שם תצוגה ושם משתמש שיצרתי בשבילך. לאחר שבחרת את שם התצוגה ואת שם המשתמש, יהיה אפשר להתחיל וליצור לך דמות!", "justinIntroMessageAppearance": "עדיין לא נסגרת על הלוק? לא נורא, אפשר לשנות אותו אחר־כך.", - "introTour": "", - "prev": "", - "next": "קדימה", - "randomize": "", + "introTour": "אז הנה אנחנו! מילאתי כמה משימות עבורך בהסתמך על תחומי העניין שלך, כדי שתוכל להתחיל. אפשר ללחוץ על משימה כדי לערוך אותה או להוסיף משימות חדשות כדי להתאים אותם לשגרה שלך!", + "prev": "קודם", + "next": "הבא", + "randomize": "לערבב", "mattBoch": "מאט בוך", "mattBochText1": "ברוך בואך לאורווה! אני מַאט, אדון החיות. בכל השלמת משימה, יש סיכוי אקראי לקבלת ביצה או שיקוי בקיעה שיעזור לחיות מחמד לבקוע מהביצים. כשחיית מחמד בוקעת מהביצה, היא מופיעה כאן! אפשר ללחוץ על התמונה של החיה כדי להוסיפה לתמונת הפרופיל שלך. אפשר להאכיל את חיות המחמד באוכל לחיות שאפשר למצוא, ואז הן יגדלו ויהיו חיות רכיבה חזקות.", "welcomeToTavern": "ברוך בואך לפונדק!", - "sleepDescription": "", + "sleepDescription": "צריכים הפסקה? היכנסו לפונדק של דניאל כדי לעצור חלק ממנגנוני המשחק המורכבים יותר של הביטיקה:", "sleepBullet1": "מטלות יומיומיות שפספסת לא יסבו לך נזק", "sleepBullet2": "Tasks won't lose streaks or decay in color", "sleepBullet3": "Bosses won't do damage for your missed Dailies", @@ -34,7 +34,7 @@ "sell": "מכירה", "buyNow": "קנייה כעת", "sortByNumber": "Number", - "featuredItems": "", + "featuredItems": "פריטים מובחרים!", "hideLocked": "הסתרת הנעולים", "hidePinned": "הסתרת המוצמדים", "hideMissing": "הסתרת החסרים", @@ -77,7 +77,7 @@ "alreadyUnlockedPart": "הסט המלא כבר נפתח חלקית. זול יותר לקנות את הפריטים הנותרים בנפרד.", "invalidQuantity": "Quantity to purchase must be a number.", "USD": "(דולר)", - "newStuff": "", + "newStuff": "דברים חדשים מביילי", "newBaileyUpdate": "לביילי יש חדשות בשבילך!", "tellMeLater": "ספרו לי אחר־כך", "dismissAlert": "השתק התראה זו", @@ -121,5 +121,6 @@ "limitedOffer": "זמין עד <%= date %>", "cannotUnpinItem": "לא ניתן לבטל את הצמדת הפריט הזה.", "nGems": "<%= nGems %> יהלומים", - "paymentAutoRenew": "מינוי זה יתחדש באופן אוטומטי עד שיבוטל. אם ברצונך לבטל את המינוי, ניתן לעשות זאת מההגדרות." + "paymentAutoRenew": "מינוי זה יתחדש באופן אוטומטי עד שיבוטל. אם ברצונך לבטל את המינוי, ניתן לעשות זאת מההגדרות.", + "amountExp": "<%= amount %> ניסיון" } diff --git a/website/common/locales/he/pets.json b/website/common/locales/he/pets.json index 750004d106..93c9549851 100644 --- a/website/common/locales/he/pets.json +++ b/website/common/locales/he/pets.json @@ -1,8 +1,8 @@ { "stable": "אורווה", "pets": "חיות מחמד", - "activePet": "", - "noActivePet": "", + "activePet": "חיית מחמד נוכחית", + "noActivePet": "אין חיית מחמד נוכחית", "petsFound": "חיות מחמד שנאספו", "magicPets": "חיות מחמד קסומות", "questPets": "חיות הרפתקה", @@ -26,9 +26,9 @@ "royalPurpleGryphon": "גריפון סגול מלכותי", "phoenix": "עוף חול", "magicalBee": "דבורה קסומה", - "hopefulHippogriffPet": "", - "hopefulHippogriffMount": "", - "royalPurpleJackalope": "", + "hopefulHippogriffPet": "היפוגריף מחמד בעל התקווה", + "hopefulHippogriffMount": "היפוגריף רכיבה בעל התקווה", + "royalPurpleJackalope": "ג'אקאפול מלכותי סגול", "invisibleAether": "אתר בלתי נראה", "potion": "שיקוי <%= potionType %>", "egg": "ביצת <%= eggType %>", @@ -70,7 +70,7 @@ "mountNotOwned": "", "feedPet": "", "raisedPet": "", - "petName": "", + "petName": "<%= potion(locale) %> מ<%= egg(locale) %>", "mountName": "", "keyToPets": "", "keyToPetsDesc": "", @@ -109,5 +109,7 @@ "notEnoughMounts": "", "notEnoughPetsMounts": "", "wackyPets": "חיות מטורפות", - "filterByWacky": "מטורפים" + "filterByWacky": "מטורפים", + "gryphatrice": "גריפטריצ'ה", + "jubilantGryphatrice": "גריפטריצ'ה צוהלת" } diff --git a/website/common/locales/he/quests.json b/website/common/locales/he/quests.json index 1e9849beee..c93cc6853a 100644 --- a/website/common/locales/he/quests.json +++ b/website/common/locales/he/quests.json @@ -3,28 +3,28 @@ "quest": "הרפתקה", "petQuests": "הרפתקאות של חיות מחמד וחיות רכיבה", "unlockableQuests": "הרפתקאות שאינן ניתנות לפתיחה", - "goldQuests": "", + "goldQuests": "הרפתקאות מסדרת הרב-אמן", "questDetails": "פרטי הרפתקה", "questDetailsTitle": "פרטי ההרפתקה", - "questDescription": "", + "questDescription": "הרפתקאות מאפשרות לשחקנים להתרכז במטרות ארוכות טווח בתוך המשחק עם חברי החבורה שלהם.", "invitations": "הזמנות", "completed": "הושלם!", - "rewardsAllParticipants": "", - "rewardsQuestOwner": "", + "rewardsAllParticipants": "מזכה את כל המשתתפים של ההרפתקה", + "rewardsQuestOwner": "פרסים נוספים לבעל ההרפתקה", "inviteParty": "הזמינו את החבורה להרפתקה", "questInvitation": "הזמנה להרפתקה:", "questInvitationInfo": "הזמנה להרפתקה <%= quest %> ", - "invitedToQuest": "", + "invitedToQuest": "הוזמנת להרפתקה <%= quest %>", "askLater": "שאלו אחר כך", "buyQuest": "קנו הרפתקה", "accepted": "מוסכם", - "declined": "", + "declined": "סירבו", "rejected": "נדחה", "pending": "ממתין לתשובה", - "questCollection": "", + "questCollection": "+ <%= val %> חפצ(ים) של ההרפתקה נמצאו", "questDamage": "+ <%= val %> damage to boss", "begin": "התחל", - "bossHP": "", + "bossHP": "נק\"פ של הבוס", "bossStrength": "עוצמת האויב", "rage": "זעם", "collect": "לאסוף", @@ -34,8 +34,8 @@ "sureLeave": "לעזוב את ההרפתקה? כל ההתקדמות תרד לטמיון.", "mustComplete": "קודם עליך להשלים את <%= quest %>", "mustLvlQuest": "עליכם להיות בדרגה <%= level %> כדי לקנות את ההרפתקה הזו!", - "unlockByQuesting": "", - "questConfirm": "Are you sure? Only <%= questmembers %> of your <%= totalmembers %> party members have joined this quest! Quests start automatically when all players have joined or rejected the invitation.", + "unlockByQuesting": "כדי לפתוח את ההרפתקה, תשלימו את <%= title %>.", + "questConfirm": "בטוחים שאתם רוצים להתחיל את ההרפתקה? לא כל חברי החבורה אישרו את ההזמנה. הרפתקאות מתחילות באופן אוטומטי אחרי שכל חברי החבורה השיבו להזמנה.", "sureCancel": "האם אתם בטוחים שברצונכם לבטל את ההרפתקה? ביטול ההרפתקה תבטל את כל ההזמנות שנשלחו, גם עבור אלה שהסכימו כבר להשתתף, והמגילה תחזור לרשותכם.", "sureAbort": "האם אתם בטוחים שברצונכם לבטל את ההרפתקה הזו? כל ההתקדמות שלכם תאבד. המגילה תשוב לידי בעליה.", "doubleSureAbort": "האם אתם באמת באמת בטוחים? כל החבורה שלכם עלולה לשנוא אתכם לנצח!", @@ -93,5 +93,10 @@ "selectQuestModal": "נא לבחור הרפתקה", "questAlreadyStartedFriendly": "ההרפתקה כבר החלה, אבל תמיד ניתן להצטרף לבאה אחריה!", "membersParticipating": "<%= accepted %> / <%= invited %> חברים משתתפים", - "chatQuestAborted": "<%= username %> הפסיק את ההרפתקה <%= questName %>." + "chatQuestAborted": "<%= username %> הפסיק את ההרפתקה <%= questName %>.", + "bossDamage": "פגעת בבוס!", + "questInvitationNotificationInfo": "הוזמנת להצטרף להרפתקה", + "questItemsPending": "<%= amount %> חפצים ממתינים", + "hatchingPotionQuests": "הרפתקאות של שיקויי הבקיעה הקסומים", + "sureLeaveInactive": "בטוחים שאתם רוצים לעזוב את ההרפתה? אתם לא תוכלו להשתתף." } diff --git a/website/common/locales/he/spells.json b/website/common/locales/he/spells.json index 5615195420..4bba0e8d61 100644 --- a/website/common/locales/he/spells.json +++ b/website/common/locales/he/spells.json @@ -2,58 +2,58 @@ "spellWizardFireballText": "פרץ להבות", "spellWizardFireballNotes": "אפשר לצבור נקודות ניסיון ולהשתמש בלהבות כדי לפגוע בבוסים! (מבוסס על: תבונה)", "spellWizardMPHealText": "פרץ אתרי", - "spellWizardMPHealNotes": "", + "spellWizardMPHealNotes": "על ידי הקרבת מאנה כדי ששאר החבורה, מלבד קוסמים, יקבלו נקודות תבונה! (מבוסס על: תבונה)", "spellWizardEarthText": "רעידת אדמה", - "spellWizardEarthNotes": "", + "spellWizardEarthNotes": "האנרגיה המנטלית שלך מרעידה את האדמה ומשבחת את התבונה של החבורה שלך! (מבוסס על: תבונה לא משובחת)", "spellWizardFrostText": "קור מקפיא", - "spellWizardFrostNotes": "", + "spellWizardFrostNotes": "עם קסם אחד, הקרח מקפיא את כל הרצפים כדי שהם לא יתאפסו לאפס מחר!", "spellWizardFrostAlreadyCast": "כבר השתמשתם ביכולת זו היום. הרצפים שלכם הוקפאו, ואין צורך להשתמש ביכולת זו שוב.", "spellWarriorSmashText": "חבטה אכזרית", - "spellWarriorSmashNotes": "", + "spellWarriorSmashNotes": "הופך את המשימה לכחולה יותר\\פחות אדומה ופוגע בבוסים! (מבוסס על: כוח)", "spellWarriorDefensiveStanceText": "עמדה הגנתית", - "spellWarriorDefensiveStanceNotes": "", + "spellWarriorDefensiveStanceNotes": "אתם מתכופפים ומקבלים תוספת שיבוח לחוסן! (מבוסס על: חוסן)", "spellWarriorValorousPresenceText": "נוכחות אמיצה", - "spellWarriorValorousPresenceNotes": "", + "spellWarriorValorousPresenceNotes": "עזות הרוח שלך משבחת את הכוח של כל החבורה שלך! (מבוסס על: כוח לא משובח)", "spellWarriorIntimidateText": "מבט מאיים", - "spellWarriorIntimidateNotes": "", + "spellWarriorIntimidateNotes": "המבט העז שלך משבח את החוסן של כל החבורה שלך! (מבוסס על: חוסן לא משובח)", "spellRoguePickPocketText": "כיוס", - "spellRoguePickPocketNotes": "", + "spellRoguePickPocketNotes": "אתם שודדים משימה קרובה ומקבלים זהב! (מובסס על: תפיסה)", "spellRogueBackStabText": "דקירה בגב", - "spellRogueBackStabNotes": "", + "spellRogueBackStabNotes": "אתם בוגדים במשימה מטופשת ומקבלים מטבעות וניסיון! (מבוסס על: כוח)", "spellRogueToolsOfTradeText": "כלי המקצוע", - "spellRogueToolsOfTradeNotes": "", + "spellRogueToolsOfTradeNotes": "הכישרון הערמומי שלך משבח את התפיסה של כל החבורה שלך! (מבוסס על: תפיסה לא משובחת)", "spellRogueStealthText": "חשאיות", - "spellRogueStealthNotes": "", + "spellRogueStealthNotes": "עם כל קסם, כמה מהמשמות שעוד לא נעשו, לא יגרמו לנזק הלילה). הרצפים והצבעים שלהם לא ישתנו (מבוסס על: תפיסה)", "spellRogueStealthDaliesAvoided": "<%= originalText %> מספר המטלות היומיות שתהיה התחמקות מהן: <%= number %>.", "spellRogueStealthMaxedOut": "כבר התחמקתם מכל המטלות היומיות שלכם; אין צורך להשתמש ביכולת זו שוב.", "spellHealerHealText": "אור מרפא", - "spellHealerHealNotes": "", + "spellHealerHealNotes": "אור מנצנץ ממלא את החיים שלך! (מבוסס על: חוסן ותבונה)", "spellHealerBrightnessText": "בוהק מסמא", - "spellHealerBrightnessNotes": "", + "spellHealerBrightnessNotes": "התפרצות אור עושים את המשימות שלך יותר כחולות\\פחות אדומות! (מבוסס על: תבונה)", "spellHealerProtectAuraText": "הילה מגוננת", - "spellHealerProtectAuraNotes": "", + "spellHealerProtectAuraNotes": "אתם מגנים על החבורה שלכם עם שיבוח החוסן שלהם! (מבוסס על: חוסן לא משובח)", "spellHealerHealAllText": "ברכה", - "spellHealerHealAllNotes": "", + "spellHealerHealAllNotes": "הקסם המרגיע שלך ממלא חלק מהחיים של כל החבורה שלך! (מבוסס על: חוסן ותבונה)", "spellSpecialSnowballAuraText": "כדור שלג", - "spellSpecialSnowballAuraNotes": "", + "spellSpecialSnowballAuraNotes": "תהפכו חבר מהחבורה לאיש שלג!", "spellSpecialSaltText": "מלח", - "spellSpecialSaltNotes": "", + "spellSpecialSaltNotes": "תבטלו את הקסם שהפך אותכם לאיש שלג.", "spellSpecialSpookySparklesText": "נצנצים מלחיצים", - "spellSpecialSpookySparklesNotes": "", + "spellSpecialSpookySparklesNotes": "תהפכו את חבר החבורה שלכם לחבר שקוף!", "spellSpecialOpaquePotionText": "שיקוי עכור", - "spellSpecialOpaquePotionNotes": "", + "spellSpecialOpaquePotionNotes": "תבטלו את הקסם שהפך אותכם לשקופים.", "spellSpecialShinySeedText": "זרע מנצנץ", "spellSpecialShinySeedNotes": "הפכו חברים לפרחים מאושרים!", "spellSpecialPetalFreePotionText": "שיקוי ללא עלי כותרת", - "spellSpecialPetalFreePotionNotes": "", + "spellSpecialPetalFreePotionNotes": "תבטלו את הקסם שהפך אותכם לפרח.", "spellSpecialSeafoamText": "קצף ים", "spellSpecialSeafoamNotes": "הפוך חבר ליצור ים!", "spellSpecialSandText": "חול", - "spellSpecialSandNotes": "", + "spellSpecialSandNotes": "תבטלו את הקסם שהפך אותכם לכוכב ים.", "partyNotFound": "חבורה לא נמצאה", "targetIdUUID": "\"targetId\" חייב להיות מזהה משתמש תקין.", "challengeTasksNoCast": "לא ניתן להשתמש ביכולות מיוחדות על משימות של אתגרים.", - "groupTasksNoCast": "", + "groupTasksNoCast": "לא ניתן להטיל קסמים של מיומנות על משימות קבוצתיות.", "spellNotOwned": "אין לכם את היכולת הזו.", "spellLevelTooHigh": "עליכם להיות בדרגה <%= level %> כדי להשתמש ביכולת מיוחדת.", "spellAlreadyCast": "שימוש ביכולת זו לא תגביר את ההשפעה כלל." diff --git a/website/common/locales/he/subscriber.json b/website/common/locales/he/subscriber.json index 1880bda8c7..2b83d2203c 100644 --- a/website/common/locales/he/subscriber.json +++ b/website/common/locales/he/subscriber.json @@ -5,13 +5,13 @@ "buyGemsGold": "קניית יהלומים עם מטבעות זהב", "mustSubscribeToPurchaseGems": "יש להירשם למינוי כדי לרכוש יהלומים עם מטבעות זהב", "reachedGoldToGemCap": "You've reached the Gold=>Gem conversion cap <%= convCap %> for this month. We have this to prevent abuse / farming. The cap resets within the first three days of each month.", - "reachedGoldToGemCapQuantity": "", + "reachedGoldToGemCapQuantity": "הכמות שביקשתם <%= quantity %> חורגת מהכמות שאתם יכולים לקנות החודש (<%= convCap %>). הכמות המלאה מתאפשרת בשלושה הימים הראשונים של כל חודש.", "mysteryItem": "פריטים חודשיים ייחודיים", "mysteryItemText": "בכל חודש תקבל/י פריט קוסמטי חדש לדמות שלך! בנוסף, בעבור כל שלושה חודשים רצופים של הרשמה, נוסעי זמן מסתוריים ייתנו לך גישה לפריטים קוסמטיים היסטוריים (ועתידניים!).", "exclusiveJackalopePet": "חיית מחמד אקסקלוסיבית", "giftSubscription": "רוצה להעניק גם למישהו אחר את היתרונות של המינוי?", "giftSubscriptionText4": "תודה על תמיכתך בהביטיקה!", - "groupPlans": "", + "groupPlans": "תוכניות של קבוצה", "subscribe": "תרום", "nowSubscribed": "כעת יש לך מינוי בהביטיקה!", "cancelSub": "ביטול המינוי", @@ -20,7 +20,7 @@ "contactUs": "יצירת קשר", "checkout": "התנתקות", "sureCancelSub": "האם אתם בטוחים שאתם רוצים לבטל את המינוי שלכם?", - "subGemPop": "", + "subGemPop": "אתם מנויים להביטיקה, אתם יכולים לקנות מספר של יהלומים כל חודש במטבעות זהב.", "subGemName": "יהלומים למנויים", "maxBuyGems": "", "timeTravelers": "נוסעים בזמן", diff --git a/website/common/locales/hi_IN/groups.json b/website/common/locales/hi_IN/groups.json index c104f5b4a3..39dde79f41 100755 --- a/website/common/locales/hi_IN/groups.json +++ b/website/common/locales/hi_IN/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/hr/achievements.json b/website/common/locales/hr/achievements.json index b8f1def9e7..0a78e3ccd9 100755 --- a/website/common/locales/hr/achievements.json +++ b/website/common/locales/hr/achievements.json @@ -6,7 +6,7 @@ "achievementLostMasterclasser": "Izvršitelj Pustolovina: Serija Majstora", "achievementLostMasterclasserText": "Izvršeno je svih šesnaest pustolovina u Seriji Majstorskih Pustolovina i otkriven misterij Nestalog Majstora!", "achievementBackToBasics": "Nazad na osnove", - "foundNewItems": "Našao/la si nove predmete!", + "foundNewItems": "Pronašao/la si nove predmete!", "hideAchievements": "Sakrij <%= kategorije%>", "showAllAchievements": "Prikaži sve <%= kategorije%>", "viewAchievements": "Pogledaj postignuća", @@ -14,23 +14,141 @@ "yourProgress": "Tvoj napredak", "yourRewards": "Tvoje nagrade", "onboardingCompleteDescSmall": "Ako želiš još više, pogledaj Postignuća i počni skupljati!", - "achievementAridAuthorityText": "Pripitomljene su sve pustinjske jahače životinje.", + "achievementAridAuthorityText": "Ukrotio/la je sve pustinjske životinje za jahanje.", "onboardingProgress": "<%= percentage %>% napredak", - "achievementAridAuthorityModalText": "Pripitomio/la si sve pustinjske jahače životinje!", + "achievementAridAuthorityModalText": "Ukrotio/la si sve pustinjske životinje za jahanje!", "earnedAchievement": "Zaslužio/la si postignuće!", - "gettingStartedDesc": "Završi ove zadatke i zaradi 5 postignuća
i 100 zlatnika kada si gotov/a!", - "achievementLostMasterclasserModalText": "Završio/la si svih šesnaest pustolovina iz serije Masterclasser Quest i riješio/la misterij Lost Masterclasser-a!", - "achievementAllYourBaseModalText": "Pripitomio/la si sve osnovne jahače životinje!", + "gettingStartedDesc": "Dovršite ove početne zadatke i osvojit ćete 5 postignuća i 100 zlata kada završite!", + "achievementLostMasterclasserModalText": "Završio/la si svih šesnaest pustolovina iz serije Masterclasser Quest i riješio/la misterij Nestalog majistora!", + "achievementAllYourBaseModalText": "Ukrotio/la si sve bazne životinje za jahanje!", "achievementBackToBasicsModalText": "Skupio/la si sve osnovne ljubimce!", - "achievementDustDevilText": "Skupljeni su svi pustinjski ljubimci.", - "achievementBackToBasicsText": "Skupljeni su svi osnovni ljubimci.", - "achievementMindOverMatter": "Um prije stvari", - "achievementAllYourBaseText": "Pripitomljene su sve jahače životinje.", + "achievementDustDevilText": "Sakupio/la je sve pustinjske ljubimce.", + "achievementBackToBasicsText": "Prikupio/la je sve osnovne ljubimce.", + "achievementMindOverMatter": "Um Nad Materijom", + "achievementAllYourBaseText": "Ukrotio/la je sve bazne životinje za jahanje.", "achievementDustDevilModalText": "Skupio/la si sve pustinjske ljubimce!", - "achievementJustAddWater": "Samo dodaj vodu", - "onboardingComplete": "Završio/la si zadate zadatke!", + "achievementJustAddWater": "Samo Dodaj Vode", + "onboardingComplete": "Dovršili ste svoje zadatke za početnike!", "foundNewItemsExplanation": "Završavanje zadataka ti daje priliku da nađeš predmete poput jaja, napitaka za izlijeganje, i hrane za kućne ljubimce.", "achievementDustDevil": "Pustinjski vrag", "onboardingCompleteDesc": "Zaslužio/la si 5 postignuća i 100 zlatnika za završene zadatke s liste.", - "achievementAridAuthority": "Osušeni autoritet" + "achievementAridAuthority": "Suhi Autoritet", + "achievementGroupsBeta2022": "Interaktivni Beta Ispitivač", + "achievementGroupsBeta2022Text": "Vi i vaša grupa pružili ste neprocjenjive povratne informacije kako biste pomogli testiranju Habitice.", + "achievementGroupsBeta2022ModalText": "Vi i vaše grupe pomogli ste Habitici testiranjem i pružanjem povratnih informacija!", + "foundNewItemsCTA": "Krenite u svoj inventar i pokušajte kombinirati svoj novi napitak za izlijganje i jaje!", + "achievementMindOverMatterText": "Završio/la je zadatke za kućne ljubimce u Kamenu, Sluzi i Pređi.", + "achievementJustAddWaterModalText": "Završili ste zadatke kućnih ljubimaca hobotnice, morskog konjica, sipe, kita, kornjače, golobradne grane, morske zmije i dupina!", + "achievementAllYourBase": "Sve Vaše Bazično", + "achievementKickstarter2019Text": "Podržao projekt Pin Kickstarter 2019", + "achievementPartyUp": "Udružio si se s članom družbe!", + "achievementPartyOn": "Vaša družba je narasla na 4 člana!", + "achievementMonsterMagus": "Čudovišni čarobnjak", + "achievementUndeadUndertakerModalText": "Ukrotio/la sisve Zombie životinje za jahanje!", + "achievementUndeadUndertaker": "Neumorni Pogrebnik", + "achievementCreatedTaskText": "Izradili su svoj prvi zadatak.", + "achievementCreatedTaskModalText": "Dodajte zadatak za nešto što biste željeli postići ovaj tjedan", + "achievementCompletedTaskText": "Izvršili su svoj prvi zadatak.", + "achievementCompletedTaskModalText": "Označite bilo koji od svojih zadataka kako biste zaradili nagrade", + "achievementHatchedPetText": "Izlegli su svog prvog ljubimca.", + "achievementHatchedPetModalText": "Prijeđite na svoj inventar i pokušajte kombinirati napitak za izleganje i jaje", + "achievementFedPetText": "Nahranili svog prvog ljubimca.", + "achievementFedPetModalText": "Postoji mnogo različitih vrsta hrane, ali kućni ljubimci mogu biti izbirljivi", + "achievementPurchasedEquipmentModalText": "Oprema je način da prilagodite svog avatara i poboljšate svoju statistiku", + "achievementPrimedForPaintingModalText": "Prikupio/la si sve Bijele ljubimce!", + "achievementPearlyProModalText": "Ukrotio/la si sve bijele životinje za jahanje!", + "achievementTickledPinkText": "Sakupio/la je sve Cotton Candy Roze Ljubimce.", + "achievementTickledPinkModalText": "Sakupio/la si sve Cotton Candy Roze Ljubimce!", + "achievementRosyOutlookText": "Ukrotio/la je sve Cotton Candy Roze životinje za jahanje.", + "achievementBugBonanzaModalText": "Dovršio/la simisije za kućne ljubimce Bube, Leptira, Puža i Pauka!", + "achievementBareNecessities": "Najpotrebnije", + "achievementAllThatGlittersText": "Ukrotio/la je sve zlatne životinje za jahanje.", + "achievementAllThatGlittersModalText": "Ukrotio/la si sve zlatne životinje za jahanje!", + "achievementBoneCollectorModalText": "Sakupio/la sisve Kosturske Ljubimce!", + "achievementRedLetterDay": "Dan crvenih slova", + "achievementLegendaryBestiaryText": "Izlegao je sve standardne boje mitskih ljubimaca: zmaj, leteća svinja, grifon, morska zmija i jednorog!", + "achievementSeasonalSpecialistText": "Završio/la je sve proljetne i zimske sezonske zadatke: Lov na jaja, Trapper Djed Božićnjak i Pronađi mladunče!", + "achievementVioletsAreBlue": "Ljubičice su Plave", + "achievementVioletsAreBlueText": "Sakupio/la je sve Cotton Candy Plave ljubimce.", + "achievementVioletsAreBlueModalText": "Sakupio/la si sve Cotton Candy Plave ljubimce!", + "achievementWildBlueYonderText": "Ukrotio/la je sve Cotton Candy Plave životinje za jahanje.", + "achievementWildBlueYonderModalText": "Ukrotio/la si sve Cotton Candy Plave životinje za jahanje!", + "achievementShadeOfItAllText": "Ukrotio/la je sve životinje za jahanje boje sjene.", + "achievementZodiacZookeeperText": "Izlegao/la je sve standardne boje kućnih ljubimaca zodijaka: štakor, krava, zeko, zmija, konj, ovca, majmun, pijetao, vuk, tigar, leteće prase i zmaj!", + "achievementPrimedForPainting": "Spremno za bojanje", + "achievementRosyOutlookModalText": "Ukrotio/la si sve Cotton Candy Roze životinje za jahanje!", + "achievementPolarPro": "Polarni Profesionalac", + "achievementPolarProText": "Izlegao je sve standardne boje polarnih ljubimaca: medvjeda, lisicu, pingvina, kita i vuka!", + "achievementPolarProModalText": "Skupili ste sve Polarne Ljubimce!", + "achievementWoodlandWizard": "Šumski Čarobnjak", + "achievementWoodlandWizardText": "Izlegao/la je sve standardne boje šumskih stvorenja: jazavca, medvjeda, jelena, lisice, žabe, ježa, sove, puža, vjeverice i drvca!", + "achievementWoodlandWizardModalText": "Skupili ste sve šumske ljubimce!", + "achievementPlantParent": "Roditelj Biljke", + "achievementPlantParentText": "Izlegao/la je sve standardne boje biljnih ljubimaca: Kaktus i Drvo!", + "achievementPlantParentModalText": "Sakupili ste sve Biljne ljubimce!", + "achievementReptacularRumble": "Reptilska Tutnjava", + "achievementReptacularRumbleText": "Izlegao/la je sve standardne boje kućnih ljubimaca reptila: Aligator, Pterodaktil, Zmija, Triceratops, Kornjača, Tiranosaurus Rex i Velociraptor!", + "achievementReptacularRumbleModalText": "Skupili ste sve kućne ljubimce reptile!", + "achievementLegendaryBestiary": "Legendarni Ukrotitelj Zvijeri", + "achievementUndeadUndertakerText": "Ukrotio/la je sve Zombie životinje za jahanje.", + "achievementDomesticatedText": "Izlegao/la je sve standardne boje pripitomljenih kućnih ljubimaca: tvor, zamorac, pijetao, leteće prase, štakor, zeko, konj i krava!", + "achievementTickledPink": "Zagolican do Rumenjenja", + "achievementDomesticated": "IJA-IJA-O", + "achievementBareNecessitiesModalText": "Završio/la si zadatke majmuna, ljenjivca i stabla!", + "achievementHatchedPet": "Izleći ljubimca", + "achievementMindOverMatterModalText": "Završili ste zadatke kućnih ljubimaca Kamen, Sluz i Pređa!", + "achievementGoodAsGold": "Dobar kao Zlato", + "achievementLegendaryBestiaryModalText": "Sakupili ste sve mitske ljubimce!", + "achievementSkeletonCrewModalText": "Ukrotio/la si sve Kosturske životinje za jahanje!", + "achievementSeeingRed": "Vidiš Crveno", + "achievementFedPet": "Nahrani ljubimca", + "achievementBugBonanza": "Tulum Kukaca", + "achievementPearlyPro": "Biserni Profesionalac", + "achievementWildBlueYonder": "Daleka Divlja Plava", + "achievementRedLetterDayText": "Ukrotio/la je sve Crvene životinje za jahanje.", + "achievementPurchasedEquipment": "Kupite dio opreme", + "achievementSkeletonCrewText": "Ukrotio/la je sve Kosturske životinje za jahanje.", + "achievementMonsterMagusModalText": "Sakupio/la si sve zombi ljubimce!", + "achievementBugBonanzaText": "Dovršio/la je misije za kućne ljubimce Bube, Leptira, Puža i Pauka.", + "achievementSkeletonCrew": "Kosturska Družina", + "achievementFreshwaterFriends": "Slatkovodni prijatelji", + "achievementMonsterMagusText": "Sakupio/la je sve zombi ljubimce.", + "achievementFreshwaterFriendsModalText": "Završio/la sizadatke kućnih ljubimaca Axolotla, Žabe i Nilskog konja!", + "achievementGoodAsGoldText": "Sakupio/la je sve zlatne ljubimce.", + "achievementBoneCollector": "Sakupljač Kostiju", + "achievementGoodAsGoldModalText": "Sakupio/la si sve zlatne ljubimce!", + "achievementRosyOutlook": "Ružičasti Izgled", + "achievementSeeingRedModalText": "Sakupio/la si sve Crvene ljubimce!", + "achievementKickstarter2019": "Pristalica Pin Kickstartera", + "achievementAllThatGlitters": "Sve što Svjetluca", + "achievementSeeingRedText": "Sakupio/la je sve Crvene ljubimce.", + "achievementCreatedTask": "Kreirajte svoj prvi zadatak", + "achievementFreshwaterFriendsText": "Završio/la je zadatke kućnih ljubimaca Axolotla, Žabe i Nilskog konja.", + "achievementCompletedTask": "Izvršite zadatak", + "achievementBoneCollectorText": "Sakupio/la je sve Kosturske Ljubimce.", + "achievementPurchasedEquipmentText": "Kupili prvi komad opreme.", + "achievementJustAddWaterText": "Završio/la je zadatke ljubimaca hobotnice, morskog konjica, sipe, kita, kornjače, golobrade, morske zmije i dupina.", + "achievementPrimedForPaintingText": "Prikupio/la je sve Bijele ljubimce.", + "achievementRedLetterDayModalText": "Ukrotio/la si sve Crvene životinje za jahanje!", + "achievementPearlyProText": "Ukrotio/la je sve bijele životinje za jahanje.", + "achievementSeasonalSpecialistModalText": "Završili ste sve sezonske misije!", + "achievementBareNecessitiesText": "Završio/la je zadatke majmuna, ljenjivca i stabla.", + "achievementDomesticatedModalText": "Prikupili ste sve pripitomljene ljubimce!", + "achievementSeasonalSpecialist": "Sezonski Specijalist", + "achievementBirdsOfAFeather": "Ptice istog Pera", + "achievementBirdsOfAFeatherModalText": "Skupili ste sve leteće ljubimce!", + "achievementBirdsOfAFeatherText": "Izlegao/la je sve standardne boje letećih ljubimaca: Leteću svinju, Sovu, Papigu, Pterodaktila, Grifona, Sokola, Pauna i Pijetla!", + "achievementBoneToPick": "Nemirne Kosti", + "achievementBoneToPickText": "Izlegao/la je sve klasične i Quest Kostur Ljubimce!", + "achievementBoneToPickModalText": "Izlegao/la si sve klasične i Quest Kostur Ljubimce!", + "achievementZodiacZookeeper": "Zodijak Čuvar Zoo-a", + "achievementZodiacZookeeperModalText": "Prikupili ste sve zodijak ljubimce!", + "achievementShadyCustomer": "Sumnjiva Mušterija", + "achievementShadyCustomerText": "Prikupio/la je sve ljubimce sjene.", + "achievementShadyCustomerModalText": "Prikupio/la si sve ljubimce sjene!", + "achievementShadeOfItAll": "Nijansa svega", + "achievementShadeOfItAllModalText": "Ukrotio/la si sve životinje za jahanje boje sjene!", + "achievementDinosaurDynasty": "Dinastija dinosaura", + "achievementDinosaurDynastyText": "Izlegao/la je sve standardne boje ljubimaca ptica i dinosaura: sokol, sova, papiga, paun, pingvin, pijetao, pterodaktil, t-rex, triceratops i velociraptor!", + "achievementDinosaurDynastyModalText": "Sakupio/la si sve ljubimce ptica i dinosaura!" } diff --git a/website/common/locales/hr/backgrounds.json b/website/common/locales/hr/backgrounds.json index 224593c42e..44260557a0 100755 --- a/website/common/locales/hr/backgrounds.json +++ b/website/common/locales/hr/backgrounds.json @@ -408,5 +408,387 @@ "backgroundArchaeologicalDigText": "Arheološko iskapalište", "backgroundArchaeologicalDigNotes": "Otkrij tajne drevne prošlosti na arheološkom iskapalištu.", "backgroundScribesWorkshopText": "Radionica pisara", - "backgroundScribesWorkshopNotes": "Napiši svoj sljedeći genijalni svitak u radionici pisara." + "backgroundScribesWorkshopNotes": "Napiši svoj sljedeći genijalni svitak u radionici pisara.", + "backgroundElegantBallroomText": "Elegantna plesna dvorana", + "backgroundStrawberryPatchText": "Polje Jagoda", + "backgroundDragonsLairText": "Zmajeva jazbina", + "backgroundWindmillsText": "Vjetrenjače", + "backgroundParkWithStatueNotes": "Slijedite stazom obrubljenom cvijećem kroz park sa kipom.", + "backgroundWaterMillNotes": "Gledajte kako se kolo mlina vrti u krug.", + "backgroundHerdingSheepInAutumnText": "Stado ovaca", + "backgroundBirthdayPartyText": "Rođendanska zabava", + "backgroundGhostShipText": "Brod duhova", + "backgroundInAClassroomText": "Učionica", + "backgroundHalflingsHouseNotes": "Posjetite šarmantnu Halfling's House.", + "backgroundWinterNocturneNotes": "Uživajte u svjetlu zvijezda zimskog nokturna.", + "backgroundHerdingSheepInAutumnNotes": "Družite se sa stadom ovaca.", + "backgroundDuckPondText": "Pačji ribnjak", + "backgroundSplashInAPuddleText": "Prskanje u lokvi", + "backgroundBirchForestText": "Brezova šuma", + "backgrounds022019": "SET 57: Objavljeno veljače 2019", + "backgroundAutumnLakeshoreNotes": "Zastanite na jesenskoj obali jezera kako biste uživali u odrazu šume na vodi.", + "backgroundRelaxationRiverText": "Rijeka opuštanja", + "backgroundDesertWithSnowText": "Snježna pustinja", + "backgroundButterflyGardenText": "Vrt leptira", + "backgroundHolidayMarketText": "Blagdanska tržnica", + "backgroundStoneTowerNotes": "Pogled s parapeta jedne Kamene kule na drugu.", + "backgroundElegantGardenText": "Elegantan vrt", + "backgroundInAnAncientTombText": "Antička grobnica", + "hideLockedBackgrounds": "Sakrij zaključane pozadine", + "backgroundOldFashionedBakeryNotes": "Uživajte u slasnim mirisima ispred staromodne pekare.", + "backgroundFlowerMarketText": "Cvjećarna", + "backgroundFlyingInAThunderstormNotes": "Lovite burnu grmljavinsku oluju koliko god se blizu usudite.", + "backgroundSnowglobeText": "Snježna kugla", + "backgroundSpringThawText": "Proljetno otapanje", + "backgroundWindmillsNotes": "Osedlajte se i nagnite se na vjetrenjače.", + "backgroundAutumnPoplarsNotes": "Uživajte u briljantnim nijansama smeđe i zlatne u jesenskoj šumi topole.", + "backgrounds112021": "SET 90: Objavljeno u Studenom 2021", + "backgroundRainbowMeadowText": "Livada duginih boja", + "backgrounds122019": "SET 67: Objavljeno u Prosincu 2019", + "backgroundElegantBallroomNotes": "Plešite cijelu noć u elegantnoj plesnoj dvorani.", + "backgrounds042021": "SET 83: Objavljeno u Travnju 2021", + "backgrounds062021": "SET 85: Objavljeno Lipnja 2021", + "backgroundRainbowMeadowNotes": "Pronađite lonac sa zlatom na mjestu gdje duga završava na livadi.", + "backgroundHolidayWreathNotes": "Okrasite svog avatara mirisnim blagdanskim vijencem.", + "backgroundHallOfHeroesNotes": "Pristupite Dvorani heroja s uvažavanje i štovanjem.", + "backgroundLakeWithFloatingLanternsText": "Jezero s plutajućim lampionima", + "backgroundSucculentGardenNotes": "Uživajte u sušnoj ljepoti sukulentnog vrta.", + "backgrounds082019": "SET 63: Objavljeno u kolovozu 2019", + "backgrounds042020": "SET 71: Objavljeno u Travnju 2020", + "backgroundFoggyMoorText": "Maglovita Močvara", + "backgroundRainyBarnyardNotes": "Prošećite pokislim pljuskom kroz Kišovito Dvorište.", + "backgroundHotAirBalloonNotes": "Lebdite iznad krajolika u balonu na vrući zrak.", + "backgroundStrawberryPatchNotes": "Odaberite svježe poslastice iz Polja Jagoda.", + "backgrounds062020": "SET 73: Objavljeno Lipnja 2020", + "backgroundVikingShipText": "Vikinški brod", + "backgrounds072020": "SET 74: Objavljen u Srpnju 2020", + "backgroundCrescentMoonText": "Polumjesec", + "backgroundCrescentMoonNotes": "Obavljajte posao iz snova dok sjedite na polumjesecu.", + "backgroundHauntedForestNotes": "Pokušajte se ne izgubiti u Ukletoj šumi.", + "backgrounds112020": "SET 78: Objavljeno u Studenom 2020", + "backgrounds122020": "SET 79: Objavljeno u Prosincu 2020", + "backgroundHolidayHearthNotes": "Opustite se, zagrijte i osušite uz Blagdansko ognjište.", + "backgroundTeaPartyText": "Čajanka", + "backgroundFlyingOverTropicalIslandsNotes": "Neka vam pogled oduzima dah dok letite iznad tropskih otoka.", + "backgrounds112019": "SET 66: Objavljeno u Studenom 2019", + "backgroundSnowglobeNotes": "Protresite Snježnu kuglu i zauzmite svoje mjesto u mikrokozmosu zimskog krajolika.", + "backgroundSpookyScarecrowFieldNotes": "Dokažite da ste odvažniji od ptice tako što ćete se odvažiti na Sablasno Polje Strašila", + "backgroundAmidAncientRuinsNotes": "Stanite sa divljenjem prema tajanstvenoj prošlosti usred drevnih ruševina.", + "backgroundMedievalKitchenText": "Srednjovjekovna kuhinja", + "backgroundFlyingOverAnAutumnForestNotes": "Uživajte u briljantnim bojama ispod dok letite iznad jesenje šume.", + "backgroundSeasideCliffsNotes": "Stanite na plaži s ljepotom iznad primorske litice.", + "backgroundMonsterMakersWorkshopNotes": "Eksperimentirajte s diskreditiranim znanostima u radionici za Stvaranje Čudovišta.", + "backgroundElegantGardenNotes": "Prošećite njegovanim stazama Elegantnog vrta.", + "backgroundHotAirBalloonText": "Balon na vrući zrak", + "backgroundMedievalKitchenNotes": "Pripremite oluju u srednjovjekovnoj kuhinji.", + "backgroundRopeBridgeNotes": "Pokažite onima koji sumnjaju da je ovaj most od užeta savršeno siguran.", + "backgroundIcicleBridgeNotes": "Polako pređi most od Leda", + "backgroundAmongGiantFlowersText": "Među divovskim cvijećem", + "backgrounds032021": "SET 82: Objavljeno u Ožujku 2021", + "backgroundGiantAutumnLeafNotes": "Sjednite na divovski list prije nego što padne.", + "backgroundHallOfHeroesText": "Dvorana heroja", + "backgroundSpringThawNotes": "Gledajte zimski prinos do proljetnog otapanja.", + "backgrounds102019": "SET 65: Objavljeno listopada 2019", + "backgroundIcicleBridgeText": "Most od Leda", + "backgroundAutumnPoplarsText": "Jesenska topolova šuma", + "backgroundBlossomingDesertNotes": "Svjedočite rijetkom supercvatu u rascvjetanoj pustinji.", + "backgroundValentinesDayFeastingHallNotes": "Osjetite ljubav u dvorani za gozbe za Valentinovo.", + "backgroundFlyingOverGlacierNotes": "Svjedočite zamrznutoj veličanstvenosti leteći iznad ledenjaka.", + "backgroundCampingOutText": "Kampiranje", + "backgroundGiantDandelionsNotes": "Dally među divovskim maslačcima.", + "backgroundFarmersMarketNotes": "Kupujte najsvježije namirnice na Poljoprivrednom Tržištu.", + "backgroundInsideAnOrnamentText": "Unutar ornamenta", + "backgroundSchoolOfFishNotes": "Plivajte među jatom riba.", + "backgroundOldFashionedBakeryText": "Staromodna pekara", + "backgroundFieldWithColoredEggsNotes": "Potražite proljetno blago u polju s obojenim jajima.", + "backgroundGiantDandelionsText": "Divovski maslačak", + "backgroundSpookyScarecrowFieldText": "Sablasno Polje Strašila", + "backgroundRagingRiverText": "Bijesna rijeka", + "backgroundAmongGiantAnemonesText": "Među divovskim anemonama", + "backgroundRagingRiverNotes": "Stanite usred moćne struje Bijesne rijeke.", + "backgrounds082021": "SET 87: Objavljeno u Kolovozu 2021", + "backgroundUnderwaterVentsText": "Podvodni otvori", + "backgroundInsideAnOrnamentNotes": "Neka vaše blagdansko veselje zablista iz unutrašnjice Ornamenta.", + "backgroundMysticalObservatoryNotes": "Pročitajte svoju sudbinu u zvijezdama iz mističnog opservatorija.", + "backgroundHabitCityRooftopsNotes": "Skočite avanturistički između krovova grada navika.", + "backgroundSplashInAPuddleNotes": "Uživajte u nastavku oluje uz Prskanje u lokvi.", + "backgroundAfternoonPicnicNotes": "Uživajte u popodnevnom pikniku sami ili sa svojim ljubimcem.", + "backgroundInTheArmoryNotes": "Opremite se u Oružarnici.", + "backgroundSucculentGardenText": "Sukulentni vrt", + "backgroundUnderwaterRuinsNotes": "Istražite davno potopljene podvodne ruševine.", + "backgroundInAnAncientTombNotes": "Hrabro otkrijte misterije drevne grobnice.", + "backgroundAmongGiantFlowersNotes": "Dally na i među Divovskim Cvijećem.", + "backgroundAutumnFlowerGardenNotes": "Prepustite se toplini jesenjeg cvjetnjaka.", + "backgroundGiantAutumnLeafText": "Divovski list", + "backgroundSwimmingAmongJellyfishNotes": "Oduševljenje ljepotom i opasnošću Plivanja među meduzama.", + "backgroundUnderwaterRuinsText": "Podvodne ruševine", + "backgroundRiverOfLavaText": "Rijeka lave", + "backgroundAmongGiantAnemonesNotes": "Istražite život grebena, zaštićen od grabežljivaca među divovskim anemonama.", + "backgroundBirthdayPartyNotes": "Proslavite rođendansku zabavu svog omiljenog Habitičana.", + "backgroundRainyBarnyardText": "Kišno dvorište", + "backgroundBeachCabanaText": "Plaža Cabana", + "backgroundValentinesDayFeastingHallText": "Dvorana za blagdane Valentinova", + "backgroundSaltLakeNotes": "Pogledajte upečatljive crvene valove Slanog jezera.", + "backgroundDojoText": "Dojo", + "backgrounds052019": "SET 60: Objavljeno u svibnju 2019", + "backgroundInAClassroomNotes": "Upijajte znanje svojih mentora u učionici.", + "backgroundFlowerMarketNotes": "Pronađite savršene boje za buket ili vrt u Cvjećarnici.", + "backgroundBlossomingDesertText": "Rascvjetana pustinja", + "backgroundVineyardNotes": "Istražite rasprostranjenost plodnog vinograda.", + "backgroundRelaxationRiverNotes": "Lagano plovite niz rijeku opuštanja.", + "backgroundProductivityPlazaNotes": "Krenite u inspirativnu šetnju kroz Plazu Produktivnosti u Habit Cityju.", + "backgrounds042019": "SET 59: Objavljeno u travnju 2019", + "backgroundBirchForestNotes": "Dally u mirnoj brezovoj šumi.", + "backgrounds032020": "SET 70: Objavljeno u Ožujku 2020", + "backgroundVikingShipNotes": "Zaplovite u avanturu na vikinškom brodu.", + "backgroundSeasideCliffsText": "Primorska Litica", + "backgroundPumpkinCarriageText": "Kočija od bundeve", + "backgroundAmidAncientRuinsText": "Usred drevnih ruševina", + "backgroundDesertWithSnowNotes": "Svjedočite rijetkoj i tihoj ljepoti snježne pustinje.", + "backgrounds032019": "SET 58: Objavljeno u ožujku 2019", + "backgroundMysticalObservatoryText": "Mistični Obzervatorij", + "backgroundVineyardText": "Vinograd", + "backgrounds052021": "SET 84: Objavljeno u Svibnju 2021", + "backgroundLakeWithFloatingLanternsNotes": "Pogled na zvijezde iz festivalske atmosfere jezera s plutajućim lampionima.", + "backgroundParkWithStatueText": "Park sa kipom", + "backgroundUnderwaterVentsNotes": "Zaronite duboko dole do podvodnih otvora.", + "backgroundWintryCastleNotes": "Svjedočite zimskom dvorcu kroz prohladnu maglu.", + "backgroundHalflingsHouseText": "Halflingova kuća", + "backgroundBeachCabanaNotes": "Opustite se u hladovini Plaže Cabane.", + "backgroundSwimmingAmongJellyfishText": "Plivanje među meduzama", + "backgroundAnimalCloudsText": "Životinjski Oblaci", + "backgroundButterflyGardenNotes": "Zabava s oprašivačima u Vrtu leptira.", + "backgroundFarmersMarketText": "Poljoprivredno tržište", + "backgroundDojoNotes": "Naučite nove pokrete u Dojou.", + "backgroundTreehouseNotes": "Družite se u drvenom skrovištu samo za sebe, u svojoj kući na drvetu.", + "backgroundMonsterMakersWorkshopText": "Radionica za stvaranje čudovišta", + "backgroundJungleCanopyNotes": "Uživaj u sparnom sjaju baldahina džungle.", + "backgroundFlyingOverTropicalIslandsText": "Let iznad tropskih otoka", + "backgroundAutumnLakeshoreText": "Jesenska obala jezera", + "backgroundGhostShipNotes": "Dokažite da su priče i legende istinite kada se ukrcate na brod duhova.", + "backgroundDuckPondNotes": "Nahranite vodene ptice u Pačjem Ribnjaku.", + "backgroundCampingOutNotes": "Uživajte u prirodi uz kampiranje.", + "backgroundRiverOfLavaNotes": "Prkosite konvekciji u šetnji duž rijeke Lave.", + "backgroundProductivityPlazaText": "Plaza produktivnosti", + "backgroundFieldWithColoredEggsText": "Polje s obojenim jajima", + "backgroundHeatherFieldNotes": "Uživajte u mirisu polja vrijeska.", + "backgroundCottageConstructionNotes": "Pomozite oko, ili barem nadgledajte, vikendicu u izgradnji.", + "backgroundClotheslineNotes": "Družite se s odjećom koja se suši na konopcu za rublje.", + "backgroundFoggyMoorNotes": "Pazite kako koračate kroz maglovitu močvaru.", + "backgrounds012021": "SET 80: Objavljeno u Siječnju 2021", + "backgroundPumpkinCarriageNotes": "Vozite se u začaranoj kočiji od bundeve prije nego što sat otkuca ponoć.", + "backgroundGingerbreadHouseText": "Kuća od medenjaka", + "backgroundSchoolOfFishText": "Školica riba", + "backgroundFlyingOverAnAutumnForestText": "Let iznad jesenje šume", + "backgroundAutumnFlowerGardenText": "Jesenski cvjetnjak", + "backgroundDaytimeMistyForestNotes": "Okupajte se u sjaju dnevnog svjetla koje struji kroz Maglovitu šumu.", + "backgroundRestingInTheInnText": "Odmor u gostionici", + "backgroundCottageConstructionText": "Vikendica U Gradnji", + "backgroundHolidayMarketNotes": "Pronađite savršene darove i ukrase na blagdanskoj tržnici.", + "backgroundHabitCityRooftopsText": "Krovovi grada navika", + "backgroundDragonsLairNotes": "Pokušajte ne ometati stanara Zmajeve jazbine.", + "backgrounds092020": "SET 76: Objavljeno u Rujnu 2020", + "backgroundGingerbreadHouseNotes": "Uživajte u znamenitostima, mirisima i (ako se usudite) okusima Kuće od medenjaka.", + "backgrounds022021": "SET 81: Objavljeno Veljače 2021", + "backgroundAnimalCloudsNotes": "Vježbajte svoju maštu pronalazeći oblike životinja u oblacima.", + "backgrounds072019": "SET 62: Objavljen u srpnju 2019", + "backgroundHeartShapedBubblesText": "Mjehurići u obliku srca", + "backgroundHeartShapedBubblesNotes": "Lebdite veselo među mjehurićima u obliku srca.", + "backgroundSaltLakeText": "Slano jezero", + "backgroundForestedLakeshoreNotes": "Budite predmet zavisti vaše zabave s mjestom koje odaberete na šumovitoj obali jezera.", + "backgroundFlyingOverGlacierText": "Let iznad ledenjaka", + "backgrounds092019": "SET 64: Objavljeno u rujnu 2019", + "backgroundPotionShopText": "Trgovina napitaka", + "backgroundWintryCastleText": "Zimski dvorac", + "backgroundHauntedForestText": "Ukleta Šuma", + "backgroundForestedLakeshoreText": "Šumovita obala jezera", + "backgroundHeatherFieldText": "Polje Vijeska", + "backgrounds012020": "SET 68: Objavljeno u Siječnju 2020", + "backgroundWinterNocturneText": "Zimski nokturno", + "backgroundAfternoonPicnicText": "Popodnevni piknik", + "backgroundThroneRoomText": "Prijestolna soba", + "backgroundStoneTowerText": "Kamena kula", + "backgroundHotSpringNotes": "Otopite svoje brige kupanjem u termalnom izvoru.", + "backgroundDaytimeMistyForestText": "Maglovita šuma", + "backgroundClotheslineText": "Uže za rublje", + "backgroundTreehouseText": "Kućica na drvetu", + "backgrounds102020": "SET 77: Objavljeno u Listopadu 2020", + "backgroundHotSpringText": "Vruće proljeće", + "backgroundTeaPartyNotes": "Sudjelujte u otmjenoj čajanci.", + "backgroundWaterMillText": "Vodenica", + "backgroundRopeBridgeText": "Most od užeta", + "backgroundJungleCanopyText": "Nadstrešnica džungle", + "backgrounds062019": "SET 61: Objavljeno lipnja 2019", + "backgrounds052020": "SET 72: Objavljeno u Svibnju 2020", + "backgroundHolidayWreathText": "Blagdanski vijenac", + "backgrounds072021": "SET 86: Objavljeno Srpnja 2021", + "backgroundFortuneTellersShopText": "Gatara", + "backgroundFortuneTellersShopNotes": "Potražite primamljive nagovještaje svoje budućnosti uz Gataru.", + "backgroundFlyingInAThunderstormText": "Burna grmljavinska oluja", + "backgrounds102021": "SET 89: Objavljeno Listopada 2021", + "backgroundCrypticCandlesText": "Kriptične svijeće", + "backgroundCrypticCandlesNotes": "Pozovite tajanstvene sile među kriptičnim svijećama.", + "backgroundHauntedPhotoText": "Ukleta fotografija", + "backgroundHauntedPhotoNotes": "Nađite se zarobljeni u jednobojnom svijetu uklete fotografije.", + "backgroundUndeadHandsText": "Nemrtve Ruke", + "backgroundPotionShopNotes": "Pronađite eliksir za bilo koju bolest u trgovini napitaka.", + "backgrounds022020": "SET 69: Objavljeno Veljače 2020", + "backgrounds082020": "SET 75: Objavljeno u Kolovozu 2020", + "backgroundRestingInTheInnNotes": "Radite iz udobnosti i sigurnosti svoje sobe dok se odmarate u gostionici.", + "backgroundHolidayHearthText": "Blagdansko Ognjište", + "backgroundThroneRoomNotes": "Priuštite audijenciju u svojoj luksuznoj dvorani prijestolja.", + "backgroundInTheArmoryText": "U Oružarnici", + "backgrounds092021": "SET 88: Objavljeno Rujna 2021", + "backgroundUndeadHandsNotes": "Pokušajte pobjeći iz kandži Nemrtvih Ruku.", + "backgroundInsideAPotionBottleText": "Unutar boce napitka", + "backgroundInsideAPotionBottleNotes": "Zavirite kroz staklo nadajući se spasu iz Boce Napitka.", + "backgroundSpiralStaircaseText": "Spiralne stepenice", + "backgroundSpiralStaircaseNotes": "Popnite se gore, dolje, okolo i okolo spiralnim stubištem.", + "backgrounds122021": "SET 91: Objavljeno u Prosincu 2021", + "backgroundWinterCanyonText": "Zimski kanjon", + "backgroundWinterCanyonNotes": "Avantura u zimskom kanjonu!", + "backgrounds032023": "SET 106: Objavljeno u Ožujku 2023", + "backgroundOldTimeyBasketballCourtText": "Staro Košarkaško Igralište", + "backgroundOldTimeyBasketballCourtNotes": "Gađajte koševe na Starom Košarkaškom Terenu.", + "backgroundJungleWateringHoleText": "Pojilište u džungli", + "backgroundJungleWateringHoleNotes": "Zaustavite se na gutljaj u pojilištu u džungli.", + "backgroundMangroveForestText": "Šuma mangrova", + "backgroundMangroveForestNotes": "Istražite rubove šume mangrova.", + "backgrounds022023": "SET 105: Objavljeno Veljače 2023", + "backgroundInFrontOfFountainText": "Ispred fontane", + "backgroundInFrontOfFountainNotes": "Šetnja ispred fontane.", + "backgroundGoldenBirdcageText": "Zlatni kavez za ptice", + "backgroundGoldenBirdcageNotes": "Sakrij se u zlatnom kavezu za ptice.", + "backgroundFancyBedroomText": "Otmjena spavaća soba", + "backgroundFancyBedroomNotes": "Uživajte u luksuznoj spavaćoj sobi.", + "backgroundAirshipNotes": "Postanite nebeski mornar na svom vlastitom Cepelinu.", + "backgroundSteamworksNotes": "Izgradite moćne naprave od pare i čelika u ParnojStrojoradnici.", + "backgroundClocktowerText": "Toranj sa satom", + "backgroundClocktowerNotes": "Smjestite svoju tajnu jazbinu iza prednje strane tornja sa satom.", + "backgrounds072022": "SET 98: Objavljen u Srpnju 2022", + "backgroundBioluminescentWavesText": "Bioluminiscentni valovi", + "backgroundBioluminescentWavesNotes": "Divite se sjaju bioluminiscentnih valova.", + "backgroundUnderwaterCaveText": "Podvodna špilja", + "backgroundUnderwaterCaveNotes": "Istražite podvodnu špilju.", + "backgroundUnderwaterStatuesText": "Podvodni vrt kipova", + "backgroundUnderwaterStatuesNotes": "Pokušajte ne treptati u podvodnom vrtu kipova.", + "backgrounds022022": "SET 93: Objavljeno Veljače 2022", + "backgroundOrangeGroveText": "Nasad naranči", + "backgroundOrangeGroveNotes": "Prošećite kroz mirisni Nasad naranči.", + "backgroundIridescentCloudsText": "Oblaci koji se prelijevaju", + "backgroundIridescentCloudsNotes": "Lebdite u preljevnim oblacima.", + "backgroundRainbowEucalyptusText": "Dugin eukaliptus", + "backgroundMessyRoomText": "Neuredna soba", + "backgroundMessyRoomNotes": "Pospremite neurednu sobu.", + "backgroundByACampfireNotes": "Uživaj u sjaju uz logorsku vatru.", + "backgroundMeteorShowerNotes": "Promatrajte blistav noćni prikaz kiše meteora.", + "backgroundPalmTreeWithFairyLightsText": "Palma s bajkovitim svjetlima", + "backgroundOnACastleWallNotes": "Pogledvajte sa zida dvorca.", + "backgroundSailboatAtSunsetNotes": "Uživajte u ljepoti jedrilice u zalasku sunca.", + "backgrounds082022": "SET 99: Objavljen u Kolovozu 2022", + "backgrounds112022": "SET 102: Objavljeno u Studenom 2022", + "backgrounds062022": "SET 97: Objavljeno Lipnja 2022", + "backgroundRainbowEucalyptusNotes": "Divite se šumarku duginog eukaliptusa.", + "backgroundMistyAutumnForestText": "Maglovita jesenja šuma", + "backgroundByACampfireText": "Uz logorsku vatru", + "backgroundAutumnBridgeText": "Most u jesen", + "backgroundAutumnBridgeNotes": "Divite se ljepoti mosta u jesen.", + "backgrounds032022": "SET 94: Objavljeno u Ožujku 2022", + "backgroundAnimalsDenText": "Brlog šumskog stvorenja", + "backgroundAnimalsDenNotes": "Udobno se smjestite u brlog šumskog stvorenja.", + "backgroundBrickWallWithIvyText": "Zid od opeke s bršljanom", + "backgroundBrickWallWithIvyNotes": "Divite se zidu od opeke s bršljanom.", + "backgroundFloweringPrairieText": "Cvjetna prerija", + "backgroundFloweringPrairieNotes": "Veselite se kroz cvjetajuću preriju.", + "backgrounds052022": "SET 96: Objavljeno u Svibnju 2022", + "backgroundOnACastleWallText": "Na zidu dvorca", + "backgroundCastleGateText": "Vrata dvorca", + "backgroundCastleGateNotes": "Čuvajte stražu na vratima dvorca.", + "backgroundEnchantedMusicRoomText": "Začarana glazbena soba", + "backgroundEnchantedMusicRoomNotes": "Igrajte u Začaranoj glazbenoj sobi.", + "backgrounds092022": "SET 100: Objavljeno u Rujnu 2022", + "backgroundTheatreStageText": "Kazališna pozornica", + "backgroundTheatreStageNotes": "Nastupite na kazališnoj pozornici.", + "backgroundAutumnPicnicText": "Jesenski piknik", + "backgroundAutumnPicnicNotes": "Uživajte u jesenskom pikniku.", + "backgroundOldPhotoText": "Stara fotografija", + "backgroundOldPhotoNotes": "Zauzmite pozu na staroj fotografiji.", + "backgroundFrozenPolarWatersNotes": "Istražite Smrznute polarne vode.", + "backgroundFrozenPolarWatersText": "Smrznute polarne vode", + "backgroundIcePalaceText": "Ledena palača", + "backgroundIcePalaceNotes": "Vladaj u Ledenoj Palači.", + "backgrounds012023": "SET 104: Objavljeno u Siječnju 2023", + "backgroundRimeIceText": "Ledeno Inje", + "backgroundRimeIceNotes": "Divite se svjetlucavom Ledenom Inju.", + "backgroundSnowyTempleText": "Snježni hram", + "eventBackgrounds": "Pozadine Događaja", + "backgroundSnowyTempleNotes": "Pogledajte spokojan snježni hram.", + "backgroundWinterLakeWithSwansText": "Zimsko jezero s labudovima", + "backgroundWinterLakeWithSwansNotes": "Uživajte u prirodi na zimskom jezeru s labudovima.", + "backgroundBirthdayBashText": "Rođendanska zabava", + "backgroundBirthdayBashNotes": "Habitica slavi rođendan i svi su pozvani!", + "backgroundSteamworksText": "Parni strojevi", + "backgroundAmongGiantMushroomsText": "Među divovskim gljivama", + "backgroundAmongGiantMushroomsNotes": "Oduševite se divovskim gljivama.", + "backgroundMistyAutumnForestNotes": "Lutajte kroz maglovitu jesenju šumu.", + "backgrounds012022": "SET 92: Objavljeno u Siječnju 2022", + "backgroundMeteorShowerText": "Kiša meteora", + "backgroundSnowyFarmText": "Snježna farma", + "backgrounds102022": "SET 101: Objavljeno Listopada 2022", + "backgroundSpookyRuinsText": "Sablasne ruševine", + "backgroundSpookyRuinsNotes": "Istražite sablasne ruševine.", + "backgroundMaskMakersWorkshopText": "Radionica za izradu maski", + "backgroundMaskMakersWorkshopNotes": "Isprobajte novo lice u Radionici za izradu maski.", + "backgroundCemeteryGateText": "Grobljanska kapija", + "backgroundCemeteryGateNotes": "Opsjedajte vrata groblja.", + "backgroundBeachWithDunesText": "Plaža sa dinama", + "backgroundBeachWithDunesNotes": "Istražite plažu s dinama.", + "backgroundMountainWaterfallText": "Planinski vodopad", + "backgroundMountainWaterfallNotes": "Divite se planinskom vodopadu.", + "backgroundSailboatAtSunsetText": "Jedrilica na zalasku sunca", + "backgrounds042022": "SET 95: Objavljeno u Travnju 2022", + "backgroundBlossomingTreesText": "Rascvjetano drveće", + "backgroundBlossomingTreesNotes": "Dally ispod rascvjetanog drveća.", + "backgroundFlowerShopText": "Cvjećarnica", + "backgroundFlowerShopNotes": "Uživajte u slatkom mirisu cvjećarnice.", + "backgroundSpringtimeLakeText": "Proljetno jezero", + "backgroundPalmTreeWithFairyLightsNotes": "Poza pokraj palme ukrašene bajkovitim svjetlima.", + "backgroundSnowyFarmNotes": "Provjerite je li svima dobro i toplo na vašoj Snježnoj farmi.", + "backgroundWinterWaterfallText": "Zimski vodopad", + "backgroundWinterWaterfallNotes": "Divite se zimskom vodopadu.", + "backgroundSpringtimeLakeNotes": "Bacite se u prizore duž obala proljetnog jezera.", + "backgrounds122022": "SET 103: Objavljeno u Prosincu 2022", + "backgroundBranchesOfAHolidayTreeText": "Grane blagdanskog drvca", + "backgroundBranchesOfAHolidayTreeNotes": "Veselje na granama blagdanskog drvca.", + "backgroundInsideACrystalText": "Unutar kristala", + "backgroundInsideACrystalNotes": "Zavirite iz unutrašnjosti kristala.", + "backgroundSnowyVillageText": "Snježno selo", + "backgroundSnowyVillageNotes": "Divite se snježnom selu.", + "timeTravelBackgrounds": "Steampunk pozadine", + "backgroundAirshipText": "Cepelin", + "backgroundUnderwaterAmongKoiText": "Pod vodom Među Koi Ribama", + "backgroundAmongCattailsText": "Među rogozima", + "backgroundAmongCattailsNotes": "Diviti se divljini močvare među rogozima.", + "backgroundUnderwaterAmongKoiNotes": "Zabljesni i budi zaslijepljen od sjajnih šarana, pod vodom među koi ribama.", + "backgrounds052023": "SET 108: Izašlo u svibnju 2023.", + "backgroundInAPaintingText": "U slici", + "backgroundInAPaintingNotes": "Uživaj u kreativnim potragama unutar slike.", + "backgroundFlyingOverHedgeMazeText": "Let preko labirinta od živice", + "backgroundFlyingOverHedgeMazeNotes": "Divi se tijekom leta nad labirintom od živice.", + "backgroundCretaceousForestText": "Šuma krede", + "backgroundCretaceousForestNotes": "Upij drevno zelenilo šume krede.", + "backgrounds042023": "SET 107: Izašlo u travnju 2023.", + "backgroundLeafyTreeTunnelText": "lisnati drveni tunel", + "backgroundLeafyTreeTunnelNotes": "Lutaj lisnatim drvenim tunelom.", + "backgroundSpringtimeShowerText": "Proljetni tuš", + "backgroundUnderWisteriaText": "Pod Wisterijom", + "backgroundUnderWisteriaNotes": "Opusti se pod Wisterijom.", + "backgrounds062023": "SET 109: Izašlo u lipnju 2023.", + "backgroundInAnAquariumText": "U akvariju", + "backgroundInAnAquariumNotes": "Mirno zaplivaj s ribama u akvariju.", + "backgroundInsideAdventurersHideoutText": "U skrovištu pustolova", + "backgroundInsideAdventurersHideoutNotes": "Isplaniraj putovanje u skrovištu pustolova.", + "backgroundCraterLakeText": "Jezero kratera", + "backgroundCraterLakeNotes": "Divi se dražesnom jezeru kratera.", + "backgroundSpringtimeShowerNotes": "Pogledaj proljetni tuš." } diff --git a/website/common/locales/hr/challenge.json b/website/common/locales/hr/challenge.json index cd225ecc77..6d49f9b32d 100755 --- a/website/common/locales/hr/challenge.json +++ b/website/common/locales/hr/challenge.json @@ -100,5 +100,9 @@ "viewProgress": "Vidi napredak", "selectMember": "Odaberi člana", "confirmKeepChallengeTasks": "Želiš li zadržati zadatke izazova?", - "selectParticipant": "Odaberi sudionika" + "selectParticipant": "Odaberi sudionika", + "filters": "Filteri", + "yourReward": "Vaša Nagrada", + "removeTasks": "Ukloni Zadatke", + "wonChallengeDesc": "<%= challengeName %> odabrao vas je kao pobjednika! Vaša pobjeda je zabilježena u vašim postignućima." } diff --git a/website/common/locales/hr/character.json b/website/common/locales/hr/character.json index 406849e1a7..d91ec23da9 100755 --- a/website/common/locales/hr/character.json +++ b/website/common/locales/hr/character.json @@ -85,7 +85,7 @@ "allocatePerPop": "Dodaj bod Percepciji", "allocateInt": "Bodovi dodijeljeni Inteligenciji:", "allocateIntPop": "Dodaj bod Inteligenciji", - "noMoreAllocate": "Sad kad si doesgnuo/la level 100, nećeš više dobivati Statističke bodove. Možeš nastaviti podizati levele, ili započeti novu avanturu na levelu 1 koristeći Kuglu Ponovnog Rođenja koja je sad besplatno dostupna na Tržnici.", + "noMoreAllocate": "Sada kada ste dosegli razinu 100, više nećete dobiti nikakve Stat bodove. Možete nastaviti napredovati ili započeti novu avanturu na razini 1 pomoću Kugle ponovnog rođenja!", "stats": "Statistika", "achievs": "Postignuća", "strength": "Snaga", @@ -132,7 +132,7 @@ "healerText": "Iscjelitelji su otporni na štetu i pružaju zaštitu sebi i drugima. Propušteni Svakodnevni zadaci i loše Navike ih ne uznemiravaju u tolikoj mjeri jer znaju kako nadoknaditi izgubljeno Zdravlje. Igraj Iscjelitelja ako ako uživaš u pomaganju drugim članovima svoje Družine, ili ako te inspirira pomisao na varanje Smrti pomoću marljivog rada.", "optOutOfClasses": "Izaberi kasnije", "chooseClass": "Odaberi svoju Klasu", - "chooseClassLearnMarkdown": "[Nauči više o Habitičinom sustavu klasa](http://habitica.wikia.com/wiki/Class_System)", + "chooseClassLearnMarkdown": "[Saznajte više o Habiticinom klasnom sustavu](https://habitica.fandom.com/wiki/Class_System)", "optOutOfClassesText": "Ne da ti se baviti klasama? Želiš odabrati kasnije? Onda odaberi kasnije - do tad ćeš biti Ratnik bez posebnih vještina. Možeš čitati o klasnom sustavu kasnije na wiki stranici Habitice i omogućiti klase bilo kada pod Ikona Korisnika > Postavke.", "selectClass": "Odaberi klasu <%= heroClass %>", "select": "Odaberi", @@ -181,5 +181,10 @@ "mainHand": "Dominantni", "offHand": "Pomoćni", "statPoints": "Statistički bodovi", - "pts": "bodova" + "pts": "bodova", + "purchasePetItemConfirm": "Ova bi kupnja premašila broj stavki koje su vam potrebne da biste izlegli sve moguće <%= itemText %> kućne ljubimce. Jeste li sigurni?", + "chatCastSpellParty": "<%= username %> baca <%= spell%> za družbinu.", + "notEnoughGold": "Nema dovoljno zlata.", + "chatCastSpellUser": "<%= username %> baca <%= spell%> na <%= target%>.", + "purchaseForGold": "Kupnja za <%= cost %> Zlata?" } diff --git a/website/common/locales/hr/contrib.json b/website/common/locales/hr/contrib.json index 6fefd5ce52..ccf0ab09a6 100755 --- a/website/common/locales/hr/contrib.json +++ b/website/common/locales/hr/contrib.json @@ -49,9 +49,10 @@ "balance": "Saldo", "playerTiers": "Rangovi Igrača", "tier": "Rang", - "conRewardsURL": "http://habitica.wikia.com/wiki/Contributor_Rewards", + "conRewardsURL": "https://habitica.fandom.com/wiki/Contributor_Rewards", "surveysSingle": "Pomogao/la si da Habitica naraste popunjavanjem ankete, ili pomaganjem u procesu testiranja. Hvala!", "surveysMultiple": "Je pomogao/la Habitici da narase u <%= count %> navrata, ili ispunjavanje upitnika ili pomaganjem u procesu testiranja. Hvala!", "blurbHallPatrons": "Ovo je Dvorana Pokrovitelja u kojoj se odaje počast plemenitim pustolovima koji su podržali Habitičinu originalnu Kickstarer kampanju. Zahvaljujemo im se što su pomogli oživjeti Habiticu!", - "blurbHallContributors": "Ovo je Dvorana Doprinositelja u kojoj se odaje počast Habitičinim doprinositeljima otvorenih izvora. Bilo putem kodova, likovne umjetnosti, glazbe, pisanja ili naprosto korisnosti, oni su zaslužili dragulje, ekskluzivnu opremu i prestižne titule. I ti možeš doprinijeti Habitici! Saznaj više ovdje. " + "blurbHallContributors": "Ovo je Dvorana suradnika, gdje se odaje počast suradnicima otvorenog koda za Habiticu. Bilo putem koda, umjetnosti, glazbe, pisanja ili čak samo pomoći, zaslužili su dragulje, ekskluzivnu opremu i prestižne titule. I vi možete doprinijeti Habitici! Saznajte više ovdje. ", + "noPrivAccess": "Nemate potrebne privilegije." } diff --git a/website/common/locales/hr/defaulttasks.json b/website/common/locales/hr/defaulttasks.json index f2c9e26620..08bbf714b4 100755 --- a/website/common/locales/hr/defaulttasks.json +++ b/website/common/locales/hr/defaulttasks.json @@ -5,7 +5,7 @@ "defaultHabit4Text": "Dodaj zadatak na Habiticu", "defaultHabit4Notes": "Ili Naviku, Svakodnevni zadatak ili Zadatak", "defaultTodo1Text": "Postani član Habitice (Prekriži me!)", - "defaultTodoNotes": "Možeš ili obaviti ovaj Zadatak, urediti ga, ili ga ukloniti.", + "defaultTodoNotes": "Možete dovršiti ovu obavezu, urediti je ili ukloniti.", "defaultReward1Text": "15 minuta pauze", "defaultReward2Text": "Nagradi se", "defaultReward2Notes": "Gledaj TV, igraj igru ili pojedi slatkiš, na tebi je!", @@ -16,9 +16,9 @@ "defaultTag5": "Timovi", "defaultTag6": "Sitni zadaci", "defaultTag7": "Kreativnost", - "healthDailyNotes": "Dotakni da išta promijeniš!", + "healthDailyNotes": "Dodirnite za promjene!", "workHabitMail": "Obrada e-pošte", - "healthHabit": "Jedenje zdrave/nezdrave hrane", + "healthHabit": "Jedite zdravu/Brza Hrana", "exerciseTodoText": "Postavi raspored vježbanja", "workTodoProjectNotes": "Dotakni da odrediš ime svojeg trenutnog projekta + odredi krajnji rok!", "workDailyImportantTaskNotes": "Dotakni da odrediš svoj najvažniji zadatak", @@ -34,16 +34,23 @@ "choresTodoText": "Organiziraj ormar >> Smanji nered", "choresTodoNotes": "Dotakni da odrediš neuredan prostor!", "creativityDailyNotes": "Dotakni da odabereš ime svog trenutnog projekta + postavi raspored!", - "selfCareHabit": "Kratko se odmori", + "selfCareHabit": "Napravite kratku stanku", "schoolDailyNotes": "Dotakni za odabir rasporeda domaćih zadaća!", "choresHabit": "10 minuta čišćenja", "schoolHabit": "Učenje/Odugovlačenje", - "creativityHabit": "Prouči majstora zanata >> + Vježbao/la si novu kreativnu tehniku", + "creativityHabit": "Proučite majstora zanata >> + Uvježbali novu kreativnu tehniku", "choresDailyText": "Operi posuđe", "creativityTodoText": "Završi kreativni projekt", "schoolTodoNotes": "Dotakni za imenovanje zadatka i odaberi krajnji rok!", "selfCareDailyNotes": "Dotakni za odabir svog rasporeda!", "selfCareTodoText": "Uključi se u zabavnu aktivnost", "creativityDailyText": "Radi na kreativnom projektu", - "schoolDailyText": "Završi domaću zadaću" + "schoolDailyText": "Završi domaću zadaću", + "exerciseHabit": "10 minuta kardio >> + 10 minuta kardio", + "exerciseDailyText": "Istezanje >> Dnevna rutina vježbanja", + "workDailyImportantTask": "Najvažniji zadatak >> Radio na današnjem najvažnijem zadatku", + "exerciseTodoNotes": "Dodirnite za dodavanje kontrolnog popisa!", + "workTodoProject": "Radni projekt >> Cjeloviti radni projekt", + "healthTodoNotes": "Dodirnite za dodavanje kontrolnih popisa!", + "healthTodoText": "Zakažite pregled >> Razmislite o zdravoj promjeni" } diff --git a/website/common/locales/hr/faq.json b/website/common/locales/hr/faq.json index 240b5620e5..fd9175e654 100755 --- a/website/common/locales/hr/faq.json +++ b/website/common/locales/hr/faq.json @@ -7,9 +7,9 @@ "faqQuestion1": "Kako mogu postaviti svoje zadatke?", "iosFaqAnswer1": "Dobre Navike (one sa znakom +) su zadaci koje možeš raditi mnogo puta na dan, poput jedenja povrća. Loše Navike (one sa znakom -) su zadaci koje bi trebao/la izbjegavati, poput grizenja noktiju. Navike s oznakama + i - imaju dobru opciju i lošu opciju, poput hodanja uz stepenice vs. korištenje dizala. Dobre Navike donose nagrade u obliku iskustva i zlatnika. Loše Navike oduzimaju zdravlje.\n\nSvakodnevni zadaci su zadaci koje trebaš obaviti svaki dan, poput pranja zubi ili provjeravanja e-maila. Možeš prilagoditi dane na koje trebaš obaviti pojedine Svakodnevne zadatke tako da klikneš na Svakodnevni zadatak i urediš ga. Ako preskočiš Svakodnevni zadatak na dan kad je zakazan, tvoj avatar će podnijeti štetu preko noći. Pazi da ne dodaš previše Svakodnevnih zadataka odjednom!\n\nZadaci su tvoj popis obaveza. Izvršavanja zadatka ti donosi zlatnike i iskustvo. Nikad ne gubiš zdravlje zbog Zadataka. Na Zadatak možeš dodati rok tako da ga klikneš i urediš.", "androidFaqAnswer1": "Dobre Navike (one sa znakom +) su zadaci koje možeš raditi mnogo puta na dan, poput jedenja povrća. Loše Navike (one sa znakom -) su zadaci koje bi trebao/la izbjegavati, poput grizenja noktiju. Navike s oznakama + i - imaju dobru opciju i lošu opciju, poput hodanja uz stepenice vs. korištenje dizala. Dobre Navike donose nagrade u obliku iskustva i zlatnika. Loše Navike oduzimaju zdravlje.\n\nSvakodnevni zadaci su zadaci koje trebaš obaviti svaki dan, poput pranja zubi ili provjeravanja e-maila. Možeš prilagoditi dane na koje trebaš obaviti pojedine Svakodnevne zadatke tako da klikneš na zadatak i urediš ga. Ako preskočiš Svakodnevni zadatak na dan kad je zakazan, tvoj lik će podnijeti štetu preko noći. Pazi da ne dodaš previše Svakodnevnih zadataka odjednom!\n\nZadaci su tvoj popis obaveza. Izvršavanja Zadatka ti donosi zlatnike i iskustvo. Nikad ne gubiš zdravlje zbog Zadataka. Na Zadatak možeš dodati rok tako da ga klikneš i urediš.", - "webFaqAnswer1": "* Dobre Navike (one sa znakom :heavy_plus_sign:) su zadaci koje možeš raditi mnogo puta na dan, poput jedenja povrća. Loše Navike (one sa znakom :heavy_minus_sign:) su zadaci koje bi trebao/la izbjegavati, poput grizenja noktiju. Navike s oznakama :heavy_plus_sign: i :heavy_minus_sign: imaju dobru opciju i lošu opciju, poput hodanja uz stepenice vs. korištenje dizala. Dobre Navike donose nagrade u obliku Iskustva i Zlatnika. Loše Navike oduzimaju Zdravlje.\n* Svakodnevni zadaci su zadaci koje trebaš obaviti svaki dan, poput pranja zubi ili provjeravanja e-maila. Možeš prilagoditi dane na koje trebaš obaviti pojedine Svakodnevne zadatke tako da klikneš ikonu olovke i urediš ga. Ako preskočiš Svakodnevni zadatak na dan kad je zakazan, tvoj avatar će podnijeti štetu preko noći. Pazi da ne dodaš previše Svakodnevnih zadataka odjednom!\n* Zadaci su tvoj popis obaveza. Izvršavanja Zadatka ti donosi Zlatnike i Iskustvo. Nikad ne gubiš Zdravlje zbog Zadataka. Na zadatak možeš dodati rok tako da klikneš na ikonu olovke i urediš ga.", + "webFaqAnswer1": "* Dobre navike (one sa znakom :heavy_plus_sign:) su zadaci koje možeš raditi mnogo puta na dan, poput jedenja povrća. Loše navike (one sa znakom :heavy_minus_sign:) su zadaci koje bi trebao/la izbjegavati, poput grižnje noktiju. Navike s oznakama :heavy_plus_sign: i :heavy_minus_sign: imaju dobru opciju i lošu opciju, poput hodanja uz stepenice naspram korištenja dizala. Dobre navike donose nagrade u obliku Iskustva i Zlatnika. Loše navike oduzimaju zdravlje.\n* Svakodnevni zadaci su zadaci koje trebaš obaviti svaki dan, poput pranja zubi ili provjeravanja e-maila. Možeš prilagoditi dane na koje trebaš obaviti pojedine svakodnevne zadatke tako da klikneš na ikonu olovke i urediš ih. Ako preskočiš svakodnevni zadatak na dan kad je zakazan, tvoj avatar će podnijeti štetu preko noći. Pazi da ne dodaš previše svakodnevnih zadataka odjednom!\n* Zadaci su tvoj popis obaveza. Izvršavanje zadataka ti donosi zlatnike i iskustvo. Nikad ne gubiš zdravlje zbog zadataka. Na zadatak možeš dodati rok tako da klikneš na ikonu olovke i urediš ga.", "faqQuestion2": "Koji su neki primjeri zadataka?", - "iosFaqAnswer2": "Na wiki stranici se nalaze četiri popisa primjera zadataka koje možeš koristiti za inspiraciju:\n

\n * [Primjeri Navika](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Primjeri Svakodnevnih zadataka](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Primjeri Zadataka](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Primjeri Prilagođenih Nagrada](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", + "iosFaqAnswer2": "Na wiki stranici se nalaze četiri popisa primjera zadataka koje možeš koristiti za inspiraciju:\n\n * [Primjeri navika](https://habitica.wikia.com/wiki/Sample_Habits)\n\n * [Primjeri svakodnevnih zadataka](https://habitica.wikia.com/wiki/Sample_Dailies)\n\n * [Primjeri Zadataka](https://habitica.wikia.com/wiki/Sample_To_Do%27s)\n\n * [Primjeri prilagođenih nagrada](https://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "androidFaqAnswer2": "Na wiki stranici se nalaze četiri popisa primjera zadataka koje možeš koristiti za inspiraciju:\n

\n * [Primjeri Navika](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Primjeri Svakodnevnih zadataka](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Primjeri Zadataka](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Primjeri Prilagođenih Nagrada](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "webFaqAnswer2": "Na wiki stranici se nalaze četiri popisa primjera zadataka koje možeš koristiti za inspiraciju:\n * [Primjeri Navika](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Primjeri Svakodnevnih zadataka](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Primjeri Zadataka](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Primjeri Prilagođenih Nagrada](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "faqQuestion3": "Zašto moji zadaci mijenjaju boju?", @@ -54,5 +54,6 @@ "webFaqAnswer12": "Svjetski Bosovi su posebna čudovišta koja se pojavljuju u Krčmi. Svi aktivni korisnici se automatski bore protiv ovog Bosa te njihovi zadaci i Vještine nanose štetu Bosu kao i obično. Možeš istovremeno sudjelovati i u običnoj Pustolovici. Tvoji zadaci i Vještine će nanositi štetu i Svjetskom Bosu i onome u sklopu Pustolovine Potjere Bosa/Prikupljanja unutar tvoje družine. Svjetski Bos nikad neće nanijeti štetu ni tebi ni tvom računu na ikoji način. Umjesto toga, on ima traku Bijesa koja se puni kako korisnici propuštaju svoje Svakodnevne zadatke. Ako se njegova traka Bijesa napuni do kraja, napast će jednog od Neigračih Likova na stranici i njihova slika će se promijeniti. Možeš pročitati više o [prošlim Svjetskim Bosovima](http://habitica.wikia.com/wiki/World_Bosses) na wiki stranici.", "iosFaqStillNeedHelp": "Ako imaš pitanje koje nije navedeno na ovom popisu ili pod [Wiki ČPP](http://habitica.wikia.com/wiki/FAQ), dođi ga postaviti u chat Krčme pod Izbornik > Krčma! Rado ćemo ti pomoći.", "androidFaqStillNeedHelp": "Ako imaš pitanje koje nije navedeno na ovom popisu ili pod [Wiki ČPP](http://habitica.wikia.com/wiki/FAQ), dođi ga postaviti u chat Krčme pod Izbornik > Krčma! Rado ćemo ti pomoći.", - "webFaqStillNeedHelp": "Ako imaš pitanje koje nije navedeno na ovom popisu ili pod [Wiki ČPP](http://habitica.wikia.com/wiki/FAQ), dođi ga postaviti u [Habitičinom cehu za Pomoć](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Rado ćemo ti pomoći." + "webFaqStillNeedHelp": "Ako imaš pitanje koje nije navedeno na ovom popisu ili pod [Wiki ČPP](http://habitica.wikia.com/wiki/FAQ), dođi ga postaviti u [Habitičinom cehu za Pomoć](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Rado ćemo ti pomoći.", + "general": "Općenito" } diff --git a/website/common/locales/hr/front.json b/website/common/locales/hr/front.json index 0967ef424b..49a9d42dca 100644 --- a/website/common/locales/hr/front.json +++ b/website/common/locales/hr/front.json @@ -1 +1,180 @@ -{} +{ + "oldNews": "Novosti", + "footerMobile": "Mobilni", + "history": "Povijest", + "FAQ": "Pitanja", + "companyDonate": "Donirajte Habitici", + "footerProduct": "Proizvod", + "footerSocial": "Društveni", + "free": "Pridružite se besplatno", + "logout": "Odjavite se", + "marketing1Header": "Unaprijedite svoje navike igrajući igru", + "marketing1Lead1Title": "Vaš život, igra uloga", + "marketing1Lead2Title": "Nabavite Zakon Opremu", + "marketing1Lead3Title": "Pronađite nasumične nagrade", + "marketing2Header": "Natječite se s prijateljima, pridružite se interesnim grupama", + "marketing2Lead1Title": "Društvena produktivnost", + "marketing2Lead2Title": "Borba protiv čudovišta", + "marketing2Lead2": "Što je igranje uloga bez bitaka? Borite se protiv čudovišta sa svojom družinom. Čudovišta su \"način super odgovornosti\" - dan kada propustite teretanu je dan kada čudovište povrijedi *sve!*", + "marketing2Lead3Title": "Izazovite jedni druge", + "marketing2Lead3": "Izazovi vam omogućuju da se natječete s prijateljima i strancima. Tko bude najbolji na kraju izazova, osvaja posebne nagrade.", + "marketing3Lead1": "Aplikacije za **iPhone i Android** omogućuju vam da vodite računa o poslu dok ste u pokretu. Shvaćamo da prijava na web mjesto radi klikanja gumba može biti naporna.", + "marketing3Lead2Title": "Integracije", + "marketing4Header": "Organizacijska upotreba", + "marketing4Lead1Title": "Gamifikacija u obrazovanju", + "marketing4Lead2": "Troškovi zdravstvene zaštite su u porastu i nešto se mora promjeniti. Izrađene su stotine programa za smanjenje troškova i poboljšanje dobrobiti. Vjerujemo da Habitica može utrti značajan put prema zdravim stilovima života.", + "marketing4Lead2Title": "Gamifikacija u zdravlju i dobrobiti", + "marketing4Lead3-1": "Želite gamificirati svoj život?", + "newsArchive": "Arhiva vijesti na Fandomu (višejezično)", + "marketing4Lead3-2": "Zainteresirani ste za vođenje grupe u obrazovanju, wellnessu i još mnogo toga?", + "marketing4Lead3Title": "Gamificiraj Sve", + "mobileAndroid": "Android aplikacija", + "mobileIOS": "aplikacija za iOS", + "setNewPass": "Postavite novu lozinku", + "playButton": "Igraj", + "enterHabitica": "Uđite u Habiticu", + "presskitText": "Hvala na interesu za Habiticu! Sljedeće slike mogu se koristiti za članke ili video zapise o Habitici. Za više informacija kontaktirajte nas na <%= pressEnquiryEmail %>.", + "pkQuestion1": "Što je inspiriralo Habiticu? Kako je počelo?", + "pkQuestion2": "Zašto Habitica djeluje?", + "pkQuestion3": "Zašto ste dodali društvene značajke?", + "pkQuestion4": "Zašto preskakanje zadataka smanjuje zdravlje vašeg avatara?", + "pkQuestion5": "Po čemu se Habitica razlikuje od ostalih gamifikacijskih programa?", + "pkAnswer5": "Jedan od načina na koji je Habitica bila najuspješnija u korištenju gamifikacije jest to što smo uložili puno truda u razmišljanje o aspektima igre kako bismo osigurali da su one zapravo zabavne. Također smo uključili mnoge društvene komponente jer smatramo da vam neke od najmotivirajućih igara omogućuju igranje s prijateljima i jer je istraživanje pokazalo da je lakše stvoriti navike kada imate odgovornost prema drugim ljudima.", + "pkQuestion6": "Tko je tipični korisnik Habitice?", + "login": "Prijaviti se", + "marketing3Header": "Aplikacije i proširenja", + "marketing1Lead1": "Habitica je videoigra koja vam pomaže poboljšati navike u stvarnom životu. Ono \"gamificira\" vaš život pretvarajući sve vaše zadatke (navike, svakodnevne poslove i obaveze) u mala čudovišta koja morate pobijediti. Što ste bolji u ovome, to više napredujete u igri. Ako pogriješite u životu, vaš lik počinje nazadovati u igri.", + "pkAnswer1": "Ako ste ikada uložili vrijeme u podizanju levela lika u igrici, teško je ne zapitati se kako bi vaš život bio sjajan da sav taj trud uložite u poboljšanje sebe u stvarnom životu umjesto svog avatara. Počinjemo s izgradnjom Habitice kako bismo odgovorili na to pitanje.
Habitica je službeno pokrenuta s Kickstarterom 2013. i ideja je doista zaživjela. Od tada je prerastao u ogroman projekt, koji podržavaju naši sjajni volonteri otvorenog koda i naši velikodušni korisnici.", + "pkAnswer2": "Stvaranje nove navike je teško jer ljudi stvarno trebaju tu očitu, trenutnu nagradu. Na primjer, teško je početi koristiti zubni konac, jer iako nam stomatolog kaže da je to dugoročno zdravije, u trenu samo zaboli desni.
Habitičina gamifikacija dodaje osjećaj trenutnog zadovoljstva svakodnevnim ciljevima nagrađujući težak zadatak iskustvom, zlatom... a možda čak i nasumičnim izborom, poput zmajevog jajeta! To pomaže da ljudi ostanu motivirani čak i kada sam zadatak nema intrinzičnu nagradu, a vidjeli smo kako ljudi preokreću svoje živote kao rezultat toga.", + "pkAnswer3": "Društveni pritisak veliki je motivirajući faktor za mnoge ljude, pa smo znali da želimo imati snažnu zajednicu koja će jedni druge smatrati odgovornima za svoje ciljeve i navijati za njihove uspjehe. Srećom, jedna od stvari koje videoigre za više igrača rade najbolje jest poticanje osjećaja zajedništva među svojim korisnicima! Habitičina struktura zajednice posuđuje od ovih vrsta igara; možete osnovati malu grupu bliskih prijatelja, ali se također možete pridružiti većim grupama zajedničkih interesa poznatim kao Guild. Iako neki korisnici odluče igrati solo, većina odluči formirati mrežu podrške koja potiče društvenu odgovornost kroz značajke kao što su misije, gdje članovi grupe udružuju svoju produktivnost kako bi se zajedno borili protiv čudovišta.", + "companyContribute": "Doprinos Habitici", + "pkAnswer4": "Ako preskočite jedan od svojih dnevnih ciljeva, vaš će avatar sljedeći dan izgubiti zdravlje. Ovo služi kao važan motivirajući čimbenik za poticanje ljudi da slijede svoje ciljeve jer ljudi stvarno mrze povrijediti svog malog avatara! Osim toga, društvena odgovornost ključna je za mnoge ljude: ako se s prijateljima borite protiv čudovišta, preskakanje zadataka šteti i njihovim avatarima.", + "emailNewPass": "Pošaljite e-poštom vezu za ponovno postavljanje lozinke", + "sendLink": "Pošalji Poveznicu", + "footerCommunity": "Zajednica", + "invalidEmail": "Potrebna je valjana adresa e-pošte kako bi se izvršilo ponovno postavljanje lozinke.", + "marketing1Lead2": "Poboljšajte svoje navike kako biste izgradili svoj avatar. Pokažite zakon opremu koju ste zaradili!", + "marketing1Lead3": "Neke motivira kockanje: sustav koji se zove \"stohastičke nagrade\". Habitica se prilagođava svim stilovima potkrepljivanja i kažnjavanja: pozitivnim, negativnim, predvidljivim i nasumičnim.", + "marketing2Lead1": "Iako možete igrati Habiticu solo, svjetla se stvarno pale kada počnete surađivati, natjecati se i držati jedni druge odgovornima. Najučinkovitiji dio svakog programa samousavršavanja je društvena odgovornost, a koje je bolje okruženje za odgovornost i natjecanje od videoigre?", + "marketing4Lead1": "Obrazovanje je jedan od najboljih sektora za gamifikaciju. Svi znamo koliko su studenti ovih dana zalijepljeni za telefone i igre; iskoristi tu moć! Suprotstavite svoje učenike u prijateljskom natjecanju. Nagradite dobro ponašanje nagradama. Gledajte kako im ocjene i ponašanje rastu.", + "clearBrowserData": "Izbriši podatke preglednika", + "companyAbout": "Kako radi", + "forgotPassword": "Zaboravili ste lozinku?", + "communityFacebook": "Facebook", + "communityExtensions": "Dodaci i proširenja", + "chores": "Obveze", + "termsAndAgreement": "Klikom na gumb u nastavku, potvrđujete da ste pročitali i da se slažete s Uvjetima pružanja usluge i Pravilima o privatnosti< /a>.", + "footerDevs": "Programeri", + "communityInstagram": "Instagram", + "forgotPasswordSteps": "Unesite svoje korisničko ime ili adresu e-pošte koju ste koristili za registraciju svog Habitica računa.", + "companyBlog": "Blog", + "marketing3Lead2": "Ostali **alati trećih strana** povezuju Habiticu s raznim aspektima vašeg života. Naš API pruža jednostavnu integraciju za stvari kao što su [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), za koje gubite bodove prilikom pregledavanja neproduktivnih web stranica i dobivaju bodove kada su na produktivnim. [Više pogledajte ovdje](https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).", + "password": "Lozinka", + "register": "Registar", + "missingNewPassword": "Nedostaje nova lozinka.", + "pkQuestion7": "Zašto Habitica koristi pixel art?", + "pkQuestion8": "Kako je Habitica utjecala na stvarne živote ljudi?", + "pkAnswer8": "Ovdje možete pronaći mnogo svjedočanstava o tome kako je Habitica pomogla ljudima: https://habitversary.tumblr.com", + "pkPromo": "Promocije", + "pkLogo": "Logotipi", + "pkSamples": "Uzorci zaslona", + "pkWebsite": "Web stranica", + "sync": "Sinkronizacija", + "tasks": "Zadaci", + "teams": "Timovi", + "terms": "Odredbe i uvjeti", + "tumblr": "Tumblr", + "localStorageTryNext": "Ako se problem nastavi, <%= linkStart %>Prijavite grešku<%= linkEnd %> ako već niste.", + "localStorageClear": "Obriši podatke", + "localStorageClearExplanation": "Ovaj gumb će izbrisati lokalnu pohranu i većinu kolačića te vas odjaviti.", + "username": "Korisničko ime", + "emailOrUsername": "E-pošta ili korisničko ime (razlikuje velika i mala slova)", + "reportAccountProblems": "Prijavite probleme s računom", + "reportCommunityIssues": "Prijavite probleme zajednice", + "subscriptionPaymentIssues": "Problemi s pretplatom i plaćanjem", + "generalQuestionsSite": "Opća pitanja o stranici", + "businessInquiries": "Poslovni/Marketinški upiti", + "merchandiseInquiries": "Upiti o fizičkoj robi (majice, naljepnice)", + "tweet": "Tweet", + "checkOutMobileApps": "Provjerite naše mobilne aplikacije!", + "missingAuthHeaders": "Nedostaju zaglavlja za provjeru autentičnosti.", + "missingUsernameEmail": "Nedostaje korisničko ime ili adresa e-pošte.", + "missingEmail": "Nedostaje email.", + "missingUsername": "Nedostaje korisničko ime.", + "missingPassword": "Nedostaje lozinka.", + "wrongPassword": "Pogrešna lozinka.", + "incorrectDeletePhrase": "Upišite <%= magicWord %> velikim slovima kako biste izbrisali svoj račun.", + "notAnEmail": "Nevažeća adresa e-pošte.", + "emailTaken": "Adresa e-pošte već se koristi na računu.", + "usernameTime": "Vrijeme je da postavite svoje korisničko ime!", + "usernameTaken": "Korisničko ime je već zauzeto.", + "passwordConfirmationMatch": "Potvrda zaporke ne odgovara zaporci.", + "minPasswordLength": "Lozinka mora imati 8 znakova ili više.", + "passwordResetPage": "Resetiranje lozinke", + "passwordReset": "Ako imamo vašu e-poštu ili korisničko ime u evidenciji, upute za postavljanje nove lozinke poslane su na vašu e-poštu.", + "invalidCredentials": "Ne postoji račun koji koristi te vjerodajnice.", + "accountSuspendedTitle": "Račun je suspendiran", + "unsupportedNetwork": "Ova mreža trenutno nije podržana.", + "cantDetachSocial": "Račun nema drugu metodu provjere autentičnosti; ne može odvojiti ovu metodu provjere autentičnosti.", + "onlySocialAttachLocal": "Lokalna provjera autentičnosti može se dodati samo društvenom računu.", + "socialAlreadyExists": "Ova društvena prijava već je povezana s postojećim Habitica računom.", + "memberIdRequired": "\"član\" mora biti važeći UUID.", + "heroIdRequired": "\"heroId\" mora biti važeći UUID.", + "cannotFulfillReq": "Vaš zahtjev ne može biti ispunjen. Pošaljite e-poruku na admin@habitica.com ako se ova pogreška nastavi pojavljivati.", + "modelNotFound": "Ovaj model ne postoji.", + "signUpWithSocial": "Registrirajte se sa <%= social %>", + "loginWithSocial": "Prijavite se sa <%= social %>", + "confirmPassword": "Potvrdi lozinku", + "usernamePlaceholder": "npr. HabitRabbit", + "emailPlaceholder": "npr. gryphon@example.com", + "passwordPlaceholder": "npr. *******************", + "confirmPasswordPlaceholder": "Provjerite je li to ista lozinka!", + "joinHabitica": "Pridružite se Habitici", + "alreadyHaveAccountLogin": "Već imate Habitica račun? Prijavite se.", + "dontHaveAccountSignup": "Nemate Habitica račun? Registriraj se.", + "motivateYourself": "Motivirajte se da postignete svoje ciljeve.", + "timeToGetThingsDone": "Vrijeme je za zabavu kada završite stvari! Pridružite se više od <%= userCountInMillions %> milijuna Habitičana i poboljšajte svoj život zadatak po zadatak.", + "singUpForFree": "Registrirajte se besplatno", + "or": "ILI", + "gamifyYourLife": "Gamificirajte svoj život", + "trackYourGoals": "Pratite svoje navike i ciljeve", + "trackYourGoalsDesc": "Ostanite odgovorni praćenjem i upravljanjem svojim navikama, dnevnim ciljevima i popisom obveza pomoću Habiticinih mobilnih aplikacija i web sučelja jednostavnih za korištenje.", + "earnRewardsDesc": "Označite zadatke kako biste podigli level svog Avatara i otključali značajke u igri kao što su borbeni oklopi, misteriozni kućni ljubimci, čarobne vještine, pa čak i misije!", + "battleMonsters": "Borite se protiv čudovišta s prijateljima", + "battleMonstersDesc": "Borite se protiv čudovišta s drugim Habitičanima! Iskoristite zlato koje zaradite za kupnju nagrada u igri ili prilagođenih nagrada, poput gledanja epizode vaše omiljene TV emisije.", + "playersUseToImprove": "Igrači koriste Habiticu za poboljšanje", + "healthAndFitness": "Zdravlje i Fitness", + "schoolAndWork": "Škola i Posao", + "schoolAndWorkDesc": "Bilo da pripremate izvješće za svog učitelja ili šefa, lako je pratiti svoj napredak dok rješavate svoje najteže zadatke.", + "muchmuchMore": "I još puno, puno više!", + "levelUpAnywhere": "Pređite na višu razinu bilo gdje", + "levelUpAnywhereDesc": "Naše mobilne aplikacije olakšavaju praćenje vaših zadataka dok ste u pokretu. Ostvarite svoje ciljeve jednim dodirom, bez obzira gdje se nalazite.", + "joinMany": "Pridružite se više od <%= userCountInMillions %> milijuna ljudi koji se zabavljaju dok ostvaruju svoje ciljeve!", + "joinToday": "Pridružite se Habitici već danas", + "featuredIn": "Istaknuto u", + "getStarted": "Započnite!", + "earnRewards": "Zaradite nagrade za svoje ciljeve", + "school": "Škola", + "work": "Posao", + "pkAnswer6": "Puno različitih ljudi koristi Habiticu! Više od polovice naših korisnika ima od 18 do 34 godine, ali imamo bake i djedove koji koriste stranicu sa svojim mladim unucima i sve dobi između. Često će se obitelji pridružiti grupama i zajedno se boriti protiv čudovišta.
Mnogi naši korisnici imaju iskustvo u igricama, ali iznenađujuće, kada smo prije nekog vremena proveli anketu, 40% naših korisnika identificiralo se kao neigrači! Stoga se čini da naša metoda može biti učinkovita za svakoga tko želi produktivnost i dobrobit kako bi se osjećao zabavnije.", + "pkAnswer7": "Habitica koristi pixel art iz nekoliko razloga. Osim faktora zabavne nostalgije, pixel art je vrlo pristupačna našim umjetnicima volonterima koji žele dati svoj doprinos. Mnogo je lakše održati našu pikselnu umjetnost dosljednom čak i kada puno različitih umjetnika doprinosi, a omogućuje nam brzo stvaranje tone novih sadržaj!", + "invalidEmailDomain": "Ne možete se registrirati s e-poštom sa sljedećim domenama: <%= domene %>", + "localStorageTryFirst": "Ako imate problema s Habiticom, kliknite donji gumb za brisanje lokalne pohrane i većine kolačića za ovo web mjesto (druga web mjesta neće utjecati). Morat ćete se ponovno prijaviti nakon što to učinite, pa prvo provjerite znate li svoje podatke za prijavu, koji se mogu pronaći u Postavkama -> <%= linkStart %>Site<%= linkEnd %>.", + "usernameTOSRequirements": "Korisnička imena moraju biti u skladu s našim
Uvjetima pružanja usluge iSmjernicama zajednice< /a>. Ako prethodno niste postavili ime za prijavu, vaše korisničko ime je automatski generirano.", + "invalidLoginCredentialsLong": "O-Ne - vaša adresa e-pošte/korisničko ime ili lozinka nisu točni.\n- Provjerite jesu li ispravno upisani. Vaše korisničko ime i lozinka razlikuju velika i mala slova.\n- Možda ste se prijavili s Facebook ili Google prijavom, a ne putem e-pošte, pa provjerite i isprobajte ih.\n- Ako ste zaboravili lozinku, kliknite na \"Zaboravljena lozinka\".", + "accountSuspended": "Ovaj račun, korisnički ID \"<%= userId %>\", blokiran je zbog kršenja Smjernica zajednice (https://habitica.com/static/community-guidelines) ili Uvjeta pružanja usluge (https://habitica.com/ statički/termini). Za pojedinosti ili zahtjev za deblokiranje pošaljite e-poruku našem upravitelju zajednice na <%= communityManagerEmail %> ili zamolite svog roditelja ili skrbnika da im pošalje e-poruku. Uključite svoje @Username u e-poruku.", + "invalidReqParams": "Nevažeći parametri zahtjeva.", + "usernameLimitations": "Korisničko ime mora imati od 1 do 20 znakova, samo slova od a do z, brojeve od 0 do 9, crtice ili podvlake i ne smije sadržavati neprikladne pojmove.", + "healthAndFitnessDesc": "Nikad niste bili motivirani za čišćenje zubnim koncem? Čini se da ne možete doći u teretanu? Habitica napokon čini put ka zdravlju zabavnijim.", + "muchmuchMoreDesc": "Naš potpuno prilagodljivi popis zadataka znači da možete oblikovati Habiticu kako bi odgovarala vašim osobnim ciljevima. Radite na kreativnim projektima, naglašavajte brigu o sebi ili slijedite drugačiji san -- sve ovisi o vama.", + "learnMore": "Saznajte više", + "pkMoreQuestions": "Imate li pitanje koje nije na ovom popisu? Pošaljite e-mail na admin@habitica.com!", + "usernameInfo": "Imena za prijavu sada su jedinstvena korisnička imena koja će biti vidljiva pored vašeg imena za prikaz i koristit će se za pozivnice, @spominjanja u chatu i slanje poruka.

Ako želite saznati više o ovoj promjeni,
posjetite naš wiki.", + "privacy": "Politika privatnosti", + "mobileApps": "Mobilne aplikacije", + "newEmailRequired": "Nedostaje nova adresa e-pošte.", + "signup": "Registriraj se", + "emailUsernamePlaceholder": "npr. habitrabbit ili gryphon@example.com", + "aboutHabitica": "Habitica je besplatna aplikacija za stjecanje navika i produktivnost koja vaš stvarni život tretira kao igru. S nagradama i kaznama u igri da vas motiviraju i snažnom društvenom mrežom da vas inspirira, Habitica vam može pomoći da postignete svoje ciljeve da postanete zdravi, marljivi i sretni.", + "translateHabitica": "Prevedi Habiticu" +} diff --git a/website/common/locales/hr/inventory.json b/website/common/locales/hr/inventory.json index a3610a1d45..69a2bf7f9b 100755 --- a/website/common/locales/hr/inventory.json +++ b/website/common/locales/hr/inventory.json @@ -1,8 +1,10 @@ { - "noItemsAvailableForType": "Nemaš nimalo <%= type %>.", - "foodItemType": "hrane", - "eggsItemType": "jaja", - "hatchingPotionsItemType": "čarobnih napitaka za izlijeganje", - "specialItemType": "Posebnih predmeta", - "lockedItem": "Zaključani predmet" + "noItemsAvailableForType": "Nemate nimalo<%= type %>.", + "foodItemType": "Hrana za ljubimce", + "eggsItemType": "Jaja", + "hatchingPotionsItemType": "Napitci za izleganje", + "specialItemType": "Posebnih predmeta", + "lockedItem": "Zaključani predmet", + "petAndMount": "Ljubimci i Životinje za jahanje", + "allItems": "Svi predmeti" } diff --git a/website/common/locales/hr/limited.json b/website/common/locales/hr/limited.json index b88561b080..8ff9202018 100755 --- a/website/common/locales/hr/limited.json +++ b/website/common/locales/hr/limited.json @@ -27,10 +27,10 @@ "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>", "seasonalShopTitle": "<%= linkStart %>Sezonska Čarobnica<%= linkEnd %>", "seasonalShopClosedText": "Sezonski dućan je trenutno zatvoren!! Otvoren je samo tijekom Habitičinih četiriju Velikih gala.", - "seasonalShopSummerText": "Sretan Ljetni bal!! Bi li htio/la kupiti neke rijetke artikle? Bit će dostupni samo do 31. srpnja!", - "seasonalShopFallText": "Sretan Jesenski festival!! Bi li htio/la kupiti neke rijetke artikle? Bit će dostupni samo do 31. listopada!", - "seasonalShopWinterText": "Uživaj u Zimskoj zemlji čuda!! Bi li htio/la kupiti neke rijetke artikle? Bit će dostupni samo do 31. siiječnja!", - "seasonalShopSpringText": "Sretna Proljetna žurka!! Bi li htio/la kupiti neke rijetke artikle? Bit će dostupni samo do 30. travnja!", + "seasonalShopSummerText": "Sretno ljetno bal!! Želite li kupiti neke rijetke predmete? Obavezno ih nabavite prije završetka Gala!", + "seasonalShopFallText": "Sretan jesenski festival!! Želite li kupiti neke rijetke predmete? Obavezno ih nabavite prije završetka Gale!", + "seasonalShopWinterText": "Sretna zimska zemlja čuda!! Želite li kupiti neke rijetke predmete? Obavezno ih nabavite prije završetka Gale!", + "seasonalShopSpringText": "Sretna proljetna zabava!! Želite li kupiti neke rijetke predmete? Obavezno ih nabavite prije završetka Gale!", "seasonalShopFallTextBroken": "Oh.... Dobrodošao/la u Sezonski dućan... Trenutno skupljamo zalihe raznoraznih dobara jesenskog sezonskog izdanja ... Sve što se nalazi ovdje će biti dostupno za kupnju tijekom Jesenskog festivala svake godine, ali smo otvoreni samo do 31. listopada... Trebao/la bi se sada opremiti ili ćeš trebati čekati... i čekati... i čekati... *uzdah*", "seasonalShopBrokenText": "Moj paviljon!!!!!!! Moji ukrasi!!!! Joj, Demoralizator je sve uništio :( Molim te, pomozi ga poraziti u Krčmi tako da mogu započeti obnovu!", "seasonalShopRebirth": "Ako si kupio/la išta ove opreme u prošlosti, ali je trenutno ne posjeduješ, možeš je ponovno kupiti u stupcu Nagrada. U početku ćeš moći samo kupovati artikle za tvoju trenutnu klasu (Ratnik prema zadanim postavkama), ali bez brige, drugi artikli specifični za određenu klasu će postati dostupni ako se prebaciš u tu klasu.", @@ -41,11 +41,11 @@ "northMageSet": "Čarobnjak sa sjevera (Čarobnjak)", "icicleDrakeSet": "Patak poledice (Lupež)", "soothingSkaterSet": "Umirujući klizač (Iscjelitelj)", - "gingerbreadSet": "Medeni Ratnik (Ratnik)", - "snowDaySet": "Ratnik snježnog dana (Ratnik)", + "gingerbreadSet": "Medenjak (Ratnik)", + "snowDaySet": "Snježni dan (Ratnik)", "snowboardingSet": "Čarobnjak na snowboardu (Čarobnjak)", "festiveFairySet": "Vesela vila (Iscjelitelj)", - "cocoaSet": "Kradljivac kakaa (Lupež)", + "cocoaSet": "Kakao (Lupež)", "toAndFromCard": "Za: <%= toName %>, Od: <%= fromName %>", "nyeCard": "Novogodišnja čestitka", "nyeCardExplanation": "Zato što ste zajedno proslavili Novu godinu, oboje dobivate značku \"Starog Poznanika\"!", @@ -56,7 +56,7 @@ "nye0": "Sretna Nova Godina! I da nadvladaš mnoge loše Navike.", "nye1": "Sretna Nova Godina! I da požanješ mnoštvo Nagrada.", "nye2": "Sretna Nova Godina! I da proživiš mnoštvo Savršenih dana.", - "nye3": "Sretna Nova Godina! Neka ti popis obaveza ostane kratak, ali sladak.", + "nye3": "Sretna Nova godina! Neka vaš popis obaveza ostane kratak i sladak.", "nye4": "Sretna Nova Godina! I da te ne napadne pobješnjeli Hipogrif.", "mightyBunnySet": "Moćni kunić (Ratnik)", "magicMouseSet": "Magični miš (Čarobnjak)", @@ -74,52 +74,52 @@ "magicianBunnySet": "Mađioničarev kunić (Čarobnjak)", "comfortingKittySet": "Utješna maca (Iscjelitelj)", "sneakySqueakerSet": "Skriveni cikavac (Lupež)", - "sunfishWarriorSet": "Bucanjski ratnik (Ratnik)", + "sunfishWarriorSet": "Bucanjski (Ratnik)", "shipSoothsayerSet": "Brodski prorok (Čarobnjak)", "strappingSailorSet": "Kršni moreplovac (Iscjelitelj)", "reefRenegadeSet": "Grebenski odmetnik (Lupež)", - "scarecrowWarriorSet": "Ratničko strašilo (Ratnik)", + "scarecrowWarriorSet": "Strašilo (Ratnik)", "stitchWitchSet": "Vještica-vezica (Čarobnjak)", "potionerSet": "Izrađivač napitaka (Iscjelitelj)", - "battleRogueSet": "Rat-tni lupež (Lupež)", + "battleRogueSet": "Rat-tni (Lupež)", "springingBunnySet": "Skakutavi kunić (Iscjelitelj)", "grandMalkinSet": "Veličanstveno strašilo (Čarobnjak)", "cleverDogSet": "Pametan pas (Lupež)", "braveMouseSet": "Hrabri miš (Ratnik)", - "summer2016SharkWarriorSet": "Ratnički morski pas (Ratnik)", - "summer2016DolphinMageSet": "Čarobnjak dupina (Čarobnjak)", - "summer2016SeahorseHealerSet": "Iscjelitelj morskih konjića (Iscjelitelj)", - "summer2016EelSet": "Jeguljasti lupež (Lupež)", + "summer2016SharkWarriorSet": "Morski Pas (Ratnik)", + "summer2016DolphinMageSet": "Dupin (Čarobnjak)", + "summer2016SeahorseHealerSet": "Morski konjić (iscjelitelj)", + "summer2016EelSet": "Jegulja (Lupež)", "fall2016SwampThingSet": "Močvarno biće (Ratnik)", "fall2016WickedSorcererSet": "Opaki vještac (Čarobnjak)", - "fall2016GorgonHealerSet": "Iscjelitelj Gorgone (Iscjelitelj)", - "fall2016BlackWidowSet": "Paučasti lupež (Lupež)", + "fall2016GorgonHealerSet": "Gorgona (iscjelitelj)", + "fall2016BlackWidowSet": "Crna Udovica (Lupež)", "winter2017IceHockeySet": "Hokej na ledu (Ratnik)", "winter2017WinterWolfSet": "Zimski vuk (Čarobnjak)", - "winter2017SugarPlumSet": "Iscjelitelj šećerne vile (Iscjelitelj)", - "winter2017FrostyRogueSet": "Mrazoviti lupež (Lupež)", - "spring2017FelineWarriorSet": "Mačkasti ratnik (Ratnik)", + "winter2017SugarPlumSet": "Šećerna Vila (Iscjeljitelj)", + "winter2017FrostyRogueSet": "Ledenko (Lupež)", + "spring2017FelineWarriorSet": "Mačor (Ratnik)", "spring2017CanineConjurorSet": "Pseći prizivač (Čarobnjak)", "spring2017FloralMouseSet": "Cvijetni miš (Iscjelitelj)", "spring2017SneakyBunnySet": "Skriveni kunić (Lupež)", - "summer2017SandcastleWarriorSet": "Ratnik pješčanih dvoraca (Ratnik)", - "summer2017WhirlpoolMageSet": "Vrač vrtloga (Čarobnjak)", + "summer2017SandcastleWarriorSet": "Pješćani Dvorac (Ratnik)", + "summer2017WhirlpoolMageSet": "Vrtlog (Čarobnjak)", "summer2017SeashellSeahealerSet": "Školjkaški morski iscjelitelj (Iscjelitelj)", "summer2017SeaDragonSet": "Morski zmaj (Lupež)", - "fall2017HabitoweenSet": "Ratnik Habitoweena (Ratnik)", - "fall2017MasqueradeSet": "Mag maskenbala (Čarobnjak)", - "fall2017HauntedHouseSet": "Iscjelitelj uklete kuće (Iscjelitelj)", - "fall2017TrickOrTreatSet": "Zamaškarani lupež (Lupež)", - "winter2018ConfettiSet": "Čarobnjak konfeta (Čarobnjak)", - "winter2018GiftWrappedSet": "Umotani ratnik (Ratnik)", - "winter2018MistletoeSet": "Iscjelitelj imele (Iscjelitelj)", - "winter2018ReindeerSet": "Lupež sobova (Lupež)", - "spring2018SunriseWarriorSet": "Ratnik izlaska sunca (Ratnik)", - "spring2018TulipMageSet": "Tulipanski čarobnjak (Čarobnjak)", - "spring2018GarnetHealerSet": "Iscjelitelj garneta (Iscjelitelj)", - "spring2018DucklingRogueSet": "Lupež pačića (Lupež)", - "summer2018BettaFishWarriorSet": "Sijamski borac (Ratnik)", - "summer2018LionfishMageSet": "Čarobnjak riba-lav (Čarobnjak)", + "fall2017HabitoweenSet": "Habitoween (Ratnik)", + "fall2017MasqueradeSet": "Maskembal (Čarobnjak)", + "fall2017HauntedHouseSet": "Ukleta Kuća (Iscjeljitelj)", + "fall2017TrickOrTreatSet": "Trik ili Poslastica (Lupež)", + "winter2018ConfettiSet": "Konfeti (Čarobnjak)", + "winter2018GiftWrappedSet": "Ukrasni Omotač (Ratnik)", + "winter2018MistletoeSet": "Imela (Iscjeljitelj)", + "winter2018ReindeerSet": "Sob (Lupež)", + "spring2018SunriseWarriorSet": "Izlazak Sunca (Ratnik)", + "spring2018TulipMageSet": "Tulipan (Čarobnjak)", + "spring2018GarnetHealerSet": "Granat (Iscjeljitelj)", + "spring2018DucklingRogueSet": "Pačić (Lupež)", + "summer2018BettaFishWarriorSet": "Sijamska riba (Ratnik)", + "summer2018LionfishMageSet": "Morski Lav (Čarobnjak)", "summer2018MerfolkMonarchSet": "Vladar sirena (Iscjelitelj)", "summer2018FisherRogueSet": "Lupeški ribar (Lupež)", "fall2018MinotaurWarriorSet": "Minotaur (Ratnik)", @@ -131,21 +131,143 @@ "winter2019WinterStarSet": "Zimska zvijezda (Iscjelitelj)", "winter2019PoinsettiaSet": "Božićna zvijezda (Lupež)", "eventAvailability": "Dostupno za kupovinu do <%= date(locale) %>.", - "dateEndMarch": "30. travnja", - "dateEndApril": "19. travnja", + "dateEndMarch": "31. Ožujka", + "dateEndApril": "30. Travnja", "dateEndMay": "31. svibnja", - "dateEndJune": "14. lipnja", + "dateEndJune": "30. Lipnja", "dateEndJuly": "31. srpnja", "dateEndAugust": "31. kolovoza", - "dateEndSeptember": "21. rujna", + "dateEndSeptember": "30. Rujna", "dateEndOctober": "31. listopada", - "dateEndNovember": "3. prosinca", + "dateEndNovember": "30. Studenoga", "dateEndJanuary": "31. siječnja", - "dateEndFebruary": "28. veljače", - "winterPromoGiftHeader": "DARUJ PRETPLATU I DOBIJ JEDNU BESPLATNO!", - "winterPromoGiftDetails1": "Samo do 15. siječnja, kada nekome pokloniš pretplatu, ti dobiješ tu istu pretplatu za sebe besplatno!", + "dateEndFebruary": "28. Veljače", + "winterPromoGiftHeader": "POKLONITE PRETPLATU, DOBIJETE JEDNU BESPLATNO!!", + "winterPromoGiftDetails1": "Samo do 6. siječnja, kada nekome poklonite pretplatu, istu pretplatu dobivate besplatno!", "winterPromoGiftDetails2": "Molimo te da imaš na umu da će poklonjena pretplata, u slučaju da ti ili primatelj dara već imate ponavljajuću pretplatu, početi tek nakon što je prva pretplata otkazana ili istekne. Hvala puno na podršci! <3", "discountBundle": "paket", - "g1g1Announcement": "Trenutno je u tijeku promocija Pokloni pretplatu - Dobij besplatnu pretplatu!", - "g1g1Details": "Pokloni pretplatu prijatelju putem njihovog profila i dobit ćeš istu tu pretplatu besplatno!" + "g1g1Announcement": "Poklonite pretplatu i ostvarite besplatnu pretplatu događaj koji je upravo u tijeku!", + "g1g1Details": "Poklonite pretplatu prijatelju i dobit ćete istu pretplatu besplatno!", + "g1g1": "Pokloni jedan, dobij jedan", + "spring2019OrchidWarriorSet": "Orhideja (Ratnik)", + "spring2019AmberMageSet": "Jantar (Čarobnjak)", + "spring2019RobinHealerSet": "Crvendać (Iscjeljitelj)", + "spring2019CloudRogueSet": "Oblak (Lupež)", + "summer2019SeaTurtleWarriorSet": "Morska Kornjača (Ratnik)", + "summer2019WaterLilyMageSet": "Lopoč (Čarobnjak)", + "summer2019ConchHealerSet": "Školjka (Iscjeljitelj)", + "fall2019CyclopsSet": "Kiklop (Čarobnjak)", + "fall2019LichSet": "Pijavica (Čarobnjak)", + "fall2019RavenSet": "Gavran (Ratnik)", + "winter2020EvergreenSet": "Zimzelen (Ratnik)", + "winter2020CarolOfTheMageSet": "Pjesma Čarobnjaka (Čarobnjak)", + "winter2020WinterSpiceSet": "Zimski Začini (Iscjeljitelj)", + "winter2020LanternSet": "Lampa (Lupež)", + "spring2020BeetleWarriorSet": "Kornjaš Nosorog (Ratnik)", + "spring2020PuddleMageSet": "Lokva (Čarobnjak)", + "spring2020IrisHealerSet": "Zjenica (Isjeljitelj)", + "summer2020RainbowTroutWarriorSet": "Dugina Pastrva (Ratnik)", + "summer2020OarfishMageSet": "Riba Veslo (Čarobnjak)", + "summer2020SeaGlassHealerSet": "Morska Trava (Iscjeljitelj)", + "summer2020CrocodileRogueSet": "Krokodil (Lupež)", + "fall2020WraithWarriorSet": "Utvara (Ratnik)", + "fall2020DeathsHeadMothHealerSet": "Mrtvački Moljac (Iscjeljitelj)", + "winter2021IceFishingWarriorSet": "Ledeni Ribar (Ratnik)", + "winter2021WinterMoonMageSet": "Zimski Mjesec (Čarobnjak)", + "spring2021SwanMageSet": "Labud (Čarobnjak)", + "spring2021WillowHealerSet": "Vrba (Iscjeljitelj)", + "summer2021FlyingFishWarriorSet": "Leteća Riba (Ratnik)", + "summer2021NautilusMageSet": "Nautilus (Čarobnjak)", + "summer2021ParrotHealerSet": "Papagaj (Iscjeljitelj)", + "summer2021ClownfishRogueSet": "Riba Klaun (Lupež)", + "spring2023CaterpillarRogueSet": "Gusjenica (Lupež)", + "g1g1Limitations": "Ovo je vremenski ograničen događaj koji počinje 15. prosinca u 8:00 ET (13:00 UTC) i završit će 8. siječnja u 23:59 ET (9. siječnja 04:59 UTC). Ova promocija vrijedi samo kada darujete drugom Habitičanu. Ako vi ili vaš primatelj dara već imate pretplatu, poklonjena pretplata će dodati mjesece kredita koji će se koristiti tek nakon što se trenutna pretplata otkaže ili istekne.", + "anniversaryLimitations": "Ovo je vremenski ograničen događaj koji počinje 30. siječnja u 8:00 ET (13:00 UTC) i završit će 8. veljače u 23:59 ET (04:59 UTC). Ograničeno izdanje Jubilant Gryphatrice i deset čarobnih napitaka za izleganje bit će dostupni za kupnju tijekom tog vremena. Ostali darovi navedeni u odjeljku Četiri besplatno bit će automatski isporučeni na sve račune koji su bili aktivni 30 dana prije dana slanja dara. Računi stvoreni nakon slanja darova neće ih moći preuzeti.", + "winter2023WalrusWarriorSet": "Morž (Ratnik)", + "winter2023FairyLightsMageSet": "Vilinska Svjetla (Čarobnjak)", + "winter2023CardinalHealerSet": "Kardinal (Iscjeljitelj)", + "decemberYYYY": "Prosinac <%= year %>", + "gemSaleHow": "Između <%= eventStartMonth %> <%= eventStartOrdinal %> i <%= eventEndOrdinal %>, jednostavno kupite bilo koji paket dragulja kao i obično i vašem će računu biti dodijeljen promotivni iznos dragulja. Više dragulja za potrošiti, podijeliti ili spremiti za buduća izdanja!", + "spring2023HummingbirdWarriorSet": "Kolibrić (Ratnik)", + "spring2023LilyHealerSet": "Ljiljan (Iscjeljitelj)", + "septemberYYYY": "Rujan <%= year %>", + "gemSaleLimitations": "Ova promocija vrijedi samo tijekom vremenski ograničenog događaja. Ovaj događaj počinje <%= eventStartMonth %> <%= eventStartOrdinal %> u 8:00 EDT (12:00 UTC) i završit će <%= eventStartMonth %> <%= eventEndOrdinal %> u 20:00 EDT ( 00:00 UTC). Promotivna ponuda dostupna je samo kada kupujete Dragulje za sebe.", + "celebrateBirthday": "Proslavite 10. rođendan Habitice uz darove i ekskluzivne artikle!", + "jubilantGryphatricePromo": "Animirani ljubimac Gryphatrice", + "anniversaryGryphatriceText": "Rijetki Jubilant Gryphatrice pridružuje se proslavi rođendana! Ne propustite priliku posjedovati ovog ekskluzivnog animiranog ljubimca.", + "anniversaryGryphatricePrice": "Imajte ga danas za 9,99 USD ili 60 dragulja", + "buyNowMoneyButton": "Kupite sada za 9,99 USD", + "buyNowGemsButton": "Kupite sada za 60 dragulja", + "takeMeToStable": "Odvedi me u štalu", + "plentyOfPotions": "Hrpa Napitaka", + "fourForFreeText": "Kako bismo održali zabavu, dijelit ćemo ogrtače za zabavu, 20 dragulja i ograničeno izdanje rođendanske pozadine i kompleta predmeta koji uključuje ogrtač, navlake i masku za oči.", + "visitTheMarketButton": "Posjetite tržnicu", + "plentyOfPotionsText": "Vraćamo od zajednice 10 omiljenih Magičnih Napitaka za izljeganje. Posjetite tržnicu i popunite svoju kolekciju!", + "fourForFree": "Četiri besplatno", + "dayOne": "Dan 1", + "dayFive": "Dan 5", + "dayTen": "Dan 10", + "partyRobes": "Ogrtači za zabave", + "twentyGems": "20 Dragulja", + "birthdaySet": "Rođendanski set", + "fall2020TwoHeadedRogueSet": "DvoGlavi (Lupež)", + "fall2020ThirdEyeMageSet": "Treće Oko (Čarobnjak)", + "spring2021TwinFlowerRogueSet": "Cvijet Blizanac (Lupež)", + "winter2021HollyIvyRogueSet": "Božikovina i Bršljan (Lupež)", + "winter2021ArcticExplorerHealerSet": "Artički Istraživač (Iscjeljitelj)", + "summer2019HammerheadRogueSet": "Morski Pas Čekić (Lupež)", + "spring2020LapisLazuliRogueSet": "Lapis Lazulij (Lupež)", + "fall2019OperaticSpecterSet": "Operni Spektar (Lupež)", + "dateStartFebruary": "8. Veljače", + "anniversaryLimitedDates": "30. siječnja do 8. veljače", + "limitedEvent": "Ograničeni događaj", + "celebrateAnniversary": "Proslavite Habiticin 10. rođendan s darovima i ekskluzivnim artiklima u nastavku!", + "limitedEdition": "Ograničeno izdanje", + "wantToPayWithGemsText": "Želite li platiti draguljima?", + "wantToPayWithMoneyText": "Želite li plaćati putem Stripea, Paypala ili Amazona?", + "ownJubilantGryphatrice": "Vi posjedujete Jubilant Gryphatrice! Posjetite štalu da se opremite!", + "jubilantSuccess": "Uspješno ste kupili Jubilant Gryphatrice!", + "stableVisit": "Posjetite štalu za opremanje!", + "spring2022MagpieRogueSet": "Svraka (Lupež)", + "spring2022RainstormWarriorSet": "Kišna Oluja (Ratnik)", + "spring2022ForsythiaMageSet": "Forzicija (Čarobnjak)", + "g1g1Returning": "U čast sezone, vraćamo vrlo posebnu promociju. Sada kada poklonite pretplatu, dobit ćete istu zauzvrat!", + "summer2022CrabRogueSet": "Rak (Lupež)", + "summer2022WaterspoutWarriorSet": "Vodena Pljuska (Ratnik)", + "summer2022MantaRayMageSet": "Raž (Čarobnjak)", + "mayYYYY": "Svibanj <%= year %>", + "juneYYYY": "Lipanj <%= year %>", + "g1g1Event": "U tijeku je događaj Pokloni jedan, donij jedan!", + "howItWorks": "Kako radi", + "royalPurpleJackolantern": "Kraljevski ljubičasti Jack-O-Lantern", + "fall2022WatcherHealerSet": "Pogledač (Iscjeljitelj)", + "dateEndDecember": "31. Prosinca", + "fall2022OrcWarriorSet": "Ork (Ratnik)", + "januaryYYYY": "Siječanj <%= year %>", + "februaryYYYY": "Veljača <%= year %>", + "aprilYYYY": "Travanj <%= year %>", + "julyYYYY": "Srpanj <%= year %>", + "octoberYYYY": "Listopad <%= year %>", + "novemberYYYY": "Studeni <%= year %>", + "fall2022HarpyMageSet": "Harpa (Čarobnjak)", + "fall2021OozeRogueSet": "Iscjedak (Lupež)", + "fall2021HeadlessWarriorSet": "Bez glave (Ratnik)", + "fall2021BrainEaterMageSet": "Gutač Mozga (Čarobnjak)", + "fall2021FlameSummonerHealerSet": "Prizivač Vatre (Iscjeljitelj)", + "eventAvailabilityReturning": "Dostupno za kupnju do <%= availableDate(locale) %>. Ovaj je napitak posljednji put bio dostupan <%= previousDate(locale) %>.", + "marchYYYY": "Ožujak <%= year %>", + "augustYYYY": "Kolovoz <%= year %>", + "winter2022FireworksRogueSet": "Vatromet (Lupež)", + "winter2022StockingWarriorSet": "Čarapa (Ratnik)", + "winter2022PomegranateMageSet": "Nar (Čarobnjak)", + "winter2022IceCrystalHealerSet": "Ledeni Kristal (Iscjeljitelj)", + "limitations": "Ograničenja", + "g1g1HowItWorks": "Upišite korisničko ime računa kojem želite darovati. Odatle odaberite duljinu podnožja koju želite pokloniti i nastavite sa isplatom. Vaš će račun automatski biti nagrađen istom razinom pretplate koju ste upravo darovali.", + "noLongerAvailable": "Ova stavka više nije dostupna.", + "winter2023RibbonRogueSet": "Vrpca (Lupež)", + "spring2023MoonstoneMageSet": "Mjesečev Kamen (Čarobnjak)", + "spring2021SunstoneWarriorSet": "Sunčev kamen (Ratnik)", + "spring2022PeridotHealerSet": "Peridot (Iscjeljitelj)", + "summer2022AngelfishHealerSet": "Anđeska Riba (Iscjelitelj)", + "fall2022KappaRogueSet": "Kappa (Lupež)" } diff --git a/website/common/locales/hr/overview.json b/website/common/locales/hr/overview.json index a6c4d87faa..9a69fa4486 100755 --- a/website/common/locales/hr/overview.json +++ b/website/common/locales/hr/overview.json @@ -1,14 +1,10 @@ { - "needTips": "Trebaju ti neki savjeti kako početi? Evo jedan izravan vodič!", - - "step1": "Korak 1: Unesi Zadatke", - "webStep1Text": "Habitica nije ništa bez ciljeva u stvarnom životu, stoga unesi nekoliko zadataka. Možeš ih kasnije dodati još kako ih se prisjetiš! Sve zadatke možeš dodati klikom na zeleni gumb \"Stvori\".\n* **Postavi [Zadatke](http://habitica.wikia.com/wiki/To-Dos):** Unesi zadatke koje obavljaš povremeno ili rijetko u stupac Zadataka, jedan po jedan. Klikom na zadatak ga možeš urediti ili dodati liste, rokove i više!\n* **Postavi [Svakodnevne zadatke](http://habitica.wikia.com/wiki/Dailies):** Unesi zadatke koje trebaš raditi na svakodnevnoj bazi ili određenim danima u tjednu, mjesecu ili godini u stupcu Svakodnevnih zadataka. Klikom na zadatak možeš urediti njegov rok za izvršenje i/ili dodati datum njegovog početka. Također možeš postaviti ponavljanje zadatka, primjerice svaka 3 dana.\n* **Postavi [Navike](http://habitica.wikia.com/wiki/Habits):** Unesi navike koje želiš uspostaviti u stupcu Navika. Možeš uređivati Navike tako da ih postaviš kao dobre :heavy_plus_sign: ili loše navike :heavy_minus_sign:.\n* **Postavi [Nagrade](http://habitica.wikia.com/wiki/Rewards):** Pored nagrada koje se nude u igri, u stupcu Nagrada dodaj aktivnosti ili poslastice koje želiš koristiti za motivaju. Važno je odmoriti se ili umjereno popustiti svojim željama.\n* Ako ti treba inspiracije u vezi zadataka koje možeš dodati, mogle bi ti poslužiti wiki stranice s [primjerima Navika](http://habitica.wikia.com/wiki/Sample_Habits), [primjerima Svakodnevnih zadataka](http://habitica.wikia.com/wiki/Sample_Dailies), [primjerima ZZZadataka](http://habitica.wikia.com/wiki/Sample_To-Dos) i [primjerima Nagrada](http://habitica.wikia.com/wiki/Sample_Custom_Rewards).", - - "step2": "Korak 2: Stječi bodove radeći stvari u stvarnom životu", - "webStep2Text": "Sad se uhvati u koštac sa svojim ciljevima s popisa! Kako budeš izvršavao/la zadatke i križao ih u Habitici, dobivat ćeš [Iskustvo](http://habitica.wikia.com/wiki/Experience_Points) koje ti pomaže dostizati više levele, te [Zlatnike](http://habitica.wikia.com/wiki/Gold_Points) koji ti omogućuju kupovanje Nagrada. Ako upadneš u loše navike ili propustiš svoje Svakodnevne zadatke, izgubit ćeš [Zdravlja](http://habitica.wikia.com/wiki/Health_Points). Na taj način ti Habitičine trake Iskustva i Zdravlja služe kao zabavni indikatori tvog napretka ka ciljevima. Počet ćeš viđati napredak u svom stvarnom životu kako tvoj lik bude napredovao u igri.", - - "step3": "Korak 3: Prilagodi i istraži Habiticu", - "webStep3Text": "Kad si se upoznao/la s osnovama, možeš još više dobiti od Habitice koristeći ove štosne mogućnosti:\n* Organiziraj svoje zadatke koristeći [oznake](http://habitica.wikia.com/wiki/Tags) (uredi zadatak kako bi ih dodao).\n* Prilagodi svog [avatara](http://habitica.wikia.com/wiki/Avatar) klikom na korisničku ikonu u gornjem desnom kutu.\n* Kupi svoju [Opremu](http://habitica.wikia.com/wiki/Equipment) u stupcu Nagrada ili u [Dućanima](<%= shopUrl %>) i izmijeni je pod [inventar > Oprema](<%= equipUrl %>).\n * Poveži se s drugim korisnicima putem [Krčme](http://habitica.wikia.com/wiki/Tavern).\n* Počevši od levela 3, izliježi [Ljubimce](http://habitica.wikia.com/wiki/Pets) skupljanjem [jaja](http://habitica.wikia.com/wiki/Eggs) i [čarobnih napitaka za izlijeganje](http://habitica.wikia.com/wiki/Hatching_Potions). [Hrani](http://habitica.wikia.com/wiki/Food) ih kako bi izrasli u [Jahaće životinje](http://habitica.wikia.com/wiki/Mounts).\n* Na levelu 10: Odaberi određenu [klasu](http://habitica.wikia.com/wiki/Class_System) i onda koristi [vještine](http://habitica.wikia.com/wiki/Skills) specifične za tu klasu (level 11 - 14).\n* Okupi družinu prijatelja (klikom na [Družina](<%= partyUrl %>) u navigacijskoj traci) kako bi ostao/la odgovoran/na i zaradio/la jedan pustolovni svitak.\n* Porazi čudovišta i sakupljaj predmete na [pustolovinama](http://habitica.wikia.com/wiki/Quests) (bit će ti data pustolovina na levelu 15).", - - "overviewQuestions": "Imaš pitanja? Pogledaj [ČPP](<%= faqUrl %>)! Ako ne nalaziš svoje pitanje tu, možeš potražiti daljnju pomoć u [Habitičinom Cehu za pomoć](<%= helpGuildUrl %>).\n\nSretno ti sa zadacima!" + "needTips": "Trebaju ti neki savjeti kako početi? Evo jedan izravan vodič!", + "step1": "Korak 1: Unesi Zadatke", + "webStep1Text": "Habitica je ništa bez ciljeva iz stvarnog svijeta, stoga unesite nekoliko zadataka. Kasnije ih možete dodati još kako ih smislite! Sve zadatke možete dodati klikom na zeleni gumb \"Kreiraj\".\n* **Postavite [Obaveze](https://habitica.fandom.com/wiki/To_Do%27s):** Unesite zadatke koje radite jednom ili rijetko u stupac Obaveze, jedan po jedan. Možete kliknuti na zadatke da biste ih uredili i dodali popise za provjeru, rokove i još mnogo toga!\n* **Postavite [Dailies](https://habitica.fandom.com/wiki/Dailies):** Unesite aktivnosti koje trebate obavljati svakodnevno ili na određeni dan u tjednu, mjesecu ili godini u stupac Dailies . Pritisnite zadatak da biste uredili rok i/ili postavili datum početka. Također možete dospjeti na temelju ponavljanja, na primjer, svaka 3 dana.\n* **Postavite [Navike](https://habitica.fandom.com/wiki/Habits):** Unesite navike koje želite uspostaviti u stupac Navike. Možete urediti naviku da je promijenite u samo dobru naviku :heavy_plus_sign: ili lošu naviku :heavy_minus_sign:\n* **Postavite [Nagrade](https://habitica.fandom.com/wiki/Rewards):** Osim ponuđenih nagrada u igri, dodajte aktivnosti ili poslastice koje želite koristiti kao motivaciju za Stupac nagrada. Važno je dati si oduška ili dopustiti umjereno uživanje!\n* Ako trebate inspiraciju za koje zadatke dodati, možete pogledati wiki stranice na [Sample Habits](https://habitica.fandom.com/wiki/Sample_Habits), [Sample Dailies](https://habitica. fandom.com/wiki/Sample_Dailies), [Uzorci zadataka](https://habitica.fandom.com/wiki/Sample_To_Do%27s) i [Uzorci nagrada](https://habitica.fandom.com/wiki/ Uzorak_prilagođenih_nagrada).", + "step2": "Korak 2: Stječi bodove radeći stvari u stvarnom životu", + "webStep2Text": "Sada se počnite baviti svojim ciljevima s popisa! Dok izvršavate zadatke i označavate ih u Habitici, dobit ćete [Iskustvo](https://habitica.fandom.com/wiki/Experience_Points), koje vam pomaže da prijeđete na višu razinu, i [Zlato](https://habitica. fandom.com/wiki/Gold_Points), koji vam omogućuje kupnju nagrada. Ako steknete loše navike ili propustite dnevni zadatak, izgubit ćete [zdravlje](https://habitica.fandom.com/wiki/Health_Points). Na taj način Habitica Iskustvo i Zdravlje barovi služe kao zabavni pokazatelj vašeg napretka prema vašim ciljevima. Počet ćete vidjeti kako se vaš stvarni život poboljšava kako vaš lik napreduje u igri.", + "step3": "Korak 3: Prilagodi i istraži Habiticu", + "webStep3Text": "Nakon što se upoznate s osnovama, možete izvući još više od Habitice pomoću ovih izvrsnih značajki:\n * Organizirajte svoje zadatke pomoću [oznaka](https://habitica.fandom.com/wiki/Tags) (uredite zadatak da biste ih dodali).\n * Prilagodite svoj [Avatar](https://habitica.fandom.com/wiki/Avatar) klikom na ikonu korisnika u gornjem desnom kutu.\n * Kupite svoju [Opremu](https://habitica.fandom.com/wiki/Oprema) pod Nagradama ili u [Trgovinama](<%= shopUrl %>) i promijenite je pod [Inventar > Oprema](<% = equipUrl %>).\n * Povežite se s drugim korisnicima putem [Tavern](https://habitica.fandom.com/wiki/Tavern).\n * Izležite [kućne ljubimce](https://habitica.fandom.com/wiki/Pets) skupljanjem [jaja](https://habitica.fandom.com/wiki/Eggs) i [napitaka za izleganje](https:// habitica.fandom.com/wiki/Hatching_Potions). [Feed](https://habitica.fandom.com/wiki/Food) ih za stvaranje [Mounts](https://habitica.fandom.com/wiki/Mounts).\n * Na razini 10: odaberite određeni [razred](https://habitica.fandom.com/wiki/Class_System) i zatim koristite [vještine] specifične za razred (https://habitica.fandom.com/wiki/Skills) (razine 11 do 14).\n * Formirajte zabavu sa svojim prijateljima (klikom na [Zabava](<%= partyUrl %>) na navigacijskoj traci) kako biste ostali odgovorni i osvojili svitak misije.\n * Porazite čudovišta i skupljajte predmete na [Misijama](https://habitica.fandom.com/wiki/Quests) (dobit ćete misiju na razini 15).", + "overviewQuestions": "Imaš pitanja? Pogledaj [ČPP](<%= faqUrl %>)! Ako ne nalaziš svoje pitanje tu, možeš potražiti daljnju pomoć u [Habitičinom Cehu za pomoć](<%= helpGuildUrl %>).\n\nSretno ti sa zadacima!" } diff --git a/website/common/locales/hr/questscontent.json b/website/common/locales/hr/questscontent.json index d9c6188d21..384c5859bc 100755 --- a/website/common/locales/hr/questscontent.json +++ b/website/common/locales/hr/questscontent.json @@ -1,10 +1,10 @@ { "questEvilSantaText": "Lovački Djed Mraz", - "questEvilSantaNotes": "Čuješ očajničko rikanje duboko u Ledenim poljima. Pratiš režanje isprekidano zvukovima gakanja do čistine u šumi gdje vidiš odraslu polarnu medvjedicu. Ona je zarobljena u kavezu i okovana, boreći se za svoj život. Na vrhu kaveza pleše zlobni mali Vragolan odjeven u odbačeni kostim. Porazi Lovačkog Djeda Mraza i spasi životinju!", + "questEvilSantaNotes": "Čujete bolne urlike duboko u ledenim poljima. Slijediš režanje - isprekidano zvukom kokotanja - do čistine u šumi, gdje vidiš potpuno odraslog polarnog medvjeda. U kavezu je i okovana, bori se za život. Na vrhu kaveza pleše zlobni mali vražančić u kostimu brodolomnika. Pobijedite Djeda Mraza lovca i spasite zvijer!

Napomena: “Djed Mraz lovac” dodjeljuje postignuće u misiji koje se može složiti, ali daje rijetkog konja koji se samo jednom može dodati vašoj štali.", "questEvilSantaCompletion": "Lovački Djed Mraz ciće od bijesa i odskakuje u tminu. Zahvalna medvjedica ti pokušava nešto reći kroz riku i režanje. Vratiš je natrag to staja gdje njenu pripovjetku uz uzdah zgražanja sluša Matt Boch, Gospodar Zvijeri. Ona ima mladunče! I ono je pobjeglo u Ledena polja dok je mama medvjedica bila zarobljena.", "questEvilSantaBoss": "Lovački Djed Mraz", "questEvilSantaDropBearCubPolarMount": "Polarni medvjed (jahaća životinja)", - "questEvilSanta2Text": "Pronađi mladunče", + "questEvilSanta2Text": "Pronađi Mladunče", "questEvilSanta2Notes": "Kad je Lovački Djed Mraz zarobio polarnu medvjedicu, njeno mladunče je pobjeglo u Ledena polja. Čuješ pucanje grančica i škripanje snijega kroz tišinu šume. Otisak šape! Počneš trčati kako bi slijedio/la trag. Pronađi sve otiske i puknute grančice te vrati mladunče!", "questEvilSanta2Completion": "Pronašao/la si mladunče! Ono će ti zauvijek praviti društvo.", "questEvilSanta2CollectTracks": "Tragovi", diff --git a/website/common/locales/hr/rebirth.json b/website/common/locales/hr/rebirth.json index 2a1114c6bb..6d75400ccf 100755 --- a/website/common/locales/hr/rebirth.json +++ b/website/common/locales/hr/rebirth.json @@ -8,7 +8,8 @@ "rebirthOrb": "Upotrijebio/la je Kuglu Preporoda da počne iznova nakon što je dostigao/la level <%= level %>.", "rebirthOrb100": "Upotrerijebio/la je Kuglu Preporoda da počne iznova nakon što je dostigao/la level 100 ili više.", "rebirthOrbNoLevel": "Upotrijebio/la je Kuglu Preporoda da počne iznova.", - "rebirthPop": "Odmah restartiraj svog lika kao level 1 Ratnika i pritom zadrži postignuća, sakupljene predmete i opremu. Tvoji zadaci i njihova povijest će ostati, ali će biti vraćeni u žutu boju. Tvoji nizovi će biti uklonjeni, izuzev zadataka koji pripadaju izazovima. Tvoji Zlatnici, Iskustvo, Mana i efekti svih Vještina bit će uklonjeni. Sve ovo će smjesta početi djelovati. Za više informacija, pogledaj wiki stranicu o Kugli Preporoda.", + "rebirthPop": "Odmah restartirajte svog lika kao ratnik razine 1 zadržavajući postignuća, kolekcionarske predmete i opremu. Vaši zadaci i njihova povijest ostat će, ali će se vratiti na žuto. Vaši nizovi bit će uklonjeni osim zadataka koji pripadaju aktivnim izazovima i grupnim planovima. Vaše zlato, iskustvo, mana i učinci svih vještina bit će uklonjeni. Sve će to odmah stupiti na snagu. Za više informacija pogledajte wiki stranicu Kugle ponovnog rođenja.", "rebirthName": "Kugla Preporoda", - "rebirthComplete": "Preporođen/a si!" + "rebirthComplete": "Preporođen/a si!", + "nextFreeRebirth": "<%= dana %> dana do BESPLATNE Kugle ponovnog Rođenja" } diff --git a/website/common/locales/hr/spells.json b/website/common/locales/hr/spells.json index 94c67b4915..b2dd1dd45a 100755 --- a/website/common/locales/hr/spells.json +++ b/website/common/locales/hr/spells.json @@ -6,7 +6,7 @@ "spellWizardEarthText": "Potres", "spellWizardEarthNotes": "Tvoja mentalna moć potresa tlo i jača Inteligenciju tvoje Družine! (Na osnovi: neojačane INT)", "spellWizardFrostText": "Ledeni mraz", - "spellWizardFrostNotes": "S jednom bačenom čarolijom, led zamrzava sve tvoje nizove tako da se neće sutradan resetirati na nulu!", + "spellWizardFrostNotes": "Jednim bacanjem led zamrzava sav vaš niz dana kako se sutra ne bi vratile na nulu!", "spellWizardFrostAlreadyCast": "Već si izveo/la ovo danas. Tvoji nizovi su zamrznuti i nema potrebe ovo ponovno koristiti.", "spellWarriorSmashText": "Brutalni sudar", "spellWarriorSmashNotes": "Činiš zadatak plavljim/manje crvenim i nanosiš dodatnu štetu Bosovima! (Na osnovi: SNA)", @@ -24,7 +24,7 @@ "spellRogueToolsOfTradeNotes": "Tvoji varalački talenti jačaju Percepciju tvoje cijele Družine! (Na osnovi: neojačane PER)", "spellRogueStealthText": "Tajnost", "spellRogueStealthNotes": "Sa svakom bačenom čarolijom, nekolicina tvojih neobavljenih Svakodnevnih zadataka ti neće večeras nauditi. Njihovi nizovi i boje se neće promijeniti. (Na osnovi: PER)", - "spellRogueStealthDaliesAvoided": "<%= originalText %> Broj izbjegnutih svakodnevnih zadataka: <%= number %>.", + "spellRogueStealthDaliesAvoided": "<%= originalText %> Broj dnevnih zadataka koje će se izbjegavati: <%= number %>.", "spellRogueStealthMaxedOut": "Već si izbjegao/la sve svoje svakodnevne zadatke; nema potrebe koristiti ovu vještinu ponovno. ", "spellHealerHealText": "Iscjeljujuće svjetlo", "spellHealerHealNotes": "Blistavo svjetlo ti vraća zdravlje! (Na osnovi: KON i INT)", @@ -55,5 +55,6 @@ "challengeTasksNoCast": "Upotreba vještina na zadatke izazova nije dozvoljeno.", "groupTasksNoCast": "Upotreba vještina na grupne zadatke nije dozvoljeno.", "spellNotOwned": "Ne posjeduješ ovu vještinu.", - "spellLevelTooHigh": "Moraš biti level <%= level %> da bi koristio/la ovu vještinu." + "spellLevelTooHigh": "Moraš biti level <%= level %> da bi koristio/la ovu vještinu.", + "spellAlreadyCast": "Korištenje ove vještine neće imati nikakav dodatni učinak." } diff --git a/website/common/locales/hr/tasks.json b/website/common/locales/hr/tasks.json index 19e46177a3..97672331c0 100755 --- a/website/common/locales/hr/tasks.json +++ b/website/common/locales/hr/tasks.json @@ -1,8 +1,8 @@ { - "clearCompleted": "Obriši izvršene zadatke", + "clearCompleted": "Brisanje dovršeno", "clearCompletedDescription": "Izvršeni Zadaci se brišu nakon 30 dana za nepretplaćene korisnike, odnosno nakon 90 dana za pretplatnike.", "clearCompletedConfirm": "Jesi li siguran/na da želiš izbrisati svoje izvršene Zadatke?", - "addMultipleTip": "Savjet: Za dodati više <%= taskType %>, odvoji svaki koristeći praznu crtu (Shift + Enter) i onda pritisni \"Enter.\"", + "addMultipleTip": "Savjet: Da biste dodali više <%= taskType %>, odvojite svaki prijelomom retka (Shift + Enter), a zatim pritisnite \"Enter\".", "addATask": "Dodaj <%= type %>", "editATask": "Uredi <%= type %>", "createTask": "Stvori <%= type %>", @@ -139,5 +139,8 @@ "resetCounter": "Resetiraj brojilo", "tomorrow": "Sutra", "editTagsText": "Uredi oznake", - "enterTag": "Unesi oznaku" + "enterTag": "Unesi oznaku", + "taskSummary": "<%= type %> Sažetak", + "scoreUp": "Rezultat gore", + "scoreDown": "Rezultat dolje" } diff --git a/website/common/locales/hu/achievements.json b/website/common/locales/hu/achievements.json index b666341e94..e6d98b9a9b 100644 --- a/website/common/locales/hu/achievements.json +++ b/website/common/locales/hu/achievements.json @@ -8,7 +8,7 @@ "achievementMindOverMatter": "Az elme hatalma az anyag felett", "achievementJustAddWater": "Elég egy vízcsepp", "achievementBackToBasics": "Vissza az alapokhoz", - "achievementBackToBasicsText": "Begyűjtötte az összes alap állatot.", + "achievementBackToBasicsText": "Az összes alap háziállat összegyűjtve.", "achievementMindOverMatterModalText": "Teljesítetted a kő, nyálka, és fonál háziállat küldetéseket!", "achievementMindOverMatterText": "Teljesítette a kő, nyálka, és fonál háziállat küldetéseket.", "achievementLostMasterclasserModalText": "Teljesítetted mind a tizenhat küldetést a Kasztmester küldetéssorozatban és megoldottad az Elveszett kasztmester rejtélyét!", @@ -26,17 +26,17 @@ "onboardingCompleteDescSmall": "Ha még többet szeretnél, ellenőrizd a kitüntetéseket, és kezdd el gyűjtésüket!", "onboardingComplete": "Minden kitűzött célod teljesítetted!", "yourProgress": "Előrehaladásod", - "achievementJustAddWaterText": "Teljesítette a Polip, a Csikóhal, a Tintahal, a Bálna, a Tengeri teknős, a Csupaszkopoltyús csiga, a Tengeri kígyó, valamint a Delfin kisállat kihívásokat.", + "achievementJustAddWaterText": "A polip, a tengeri csikó, a tintahal, a bálna, a teknős, a tengeri csupaszcsiga, a tengeri kígyó, valamint a delfin kisállat küldetések teljesítve.", "yourRewards": "Kitüntetéseid", - "achievementJustAddWaterModalText": "Teljesítetted a Polip, a Csikóhal, a Tintahal, a Bálna, a Tengeri teknős, a Csupaszkopoltyús csiga, a Tengeri kígyó, valamint a Delfin kisállat kihívásokat!", - "achievementBackToBasicsModalText": "Begyűjtötted az összes alap állatot!", - "achievementAllYourBaseText": "Megszelidítette az összes alap hátast.", + "achievementJustAddWaterModalText": "Teljesítetted a polip, a tengeri csikó, a tintahal, a bálna, a teknős, a tengeri csupaszcsiga, a tengeri kígyó, valamint a delfin kisállat küldetéseket!", + "achievementBackToBasicsModalText": "Összegyűjtötted az összes alap háziállatot!", + "achievementAllYourBaseText": "Az összes alap hátas megszelidítve.", "achievementAllYourBaseModalText": "Megszelidítetted az összes alap hátast!", - "achievementDustDevilText": "Begyűjtötte az összes sivatagi állatot.", + "achievementDustDevilText": "Az összes sivatagi állat összegyűjtve.", "achievementAridAuthorityModalText": "Megszelidítetted az összes sivatagi hátast!", "achievementKickstarter2019": "Kitűző Kickstarter Támogató", "achievementKickstarter2019Text": "Támogatta a 2019-es Kitűző Kickstarter Projektet", - "achievementMonsterMagusModalText": "Begyüjtötted az összes zombi állatot!", + "achievementMonsterMagusModalText": "Összegyűjtötted az összes zombi háziállatot!", "achievementUndeadUndertakerText": "Megszelidítette az összes zombi hátast.", "achievementUndeadUndertakerModalText": "Megszelidítetted az összes zombi hátast!", "achievementCreatedTaskText": "Létrehozta az első feladatát.", @@ -44,31 +44,49 @@ "achievementCompletedTaskText": "Teljesítette az első feladatát.", "achievementHatchedPetText": "Kikeltette az első állatát.", "achievementHatchedPetModalText": "Menj a tárgyaidhoz, és próbálj meg kombinálni egy keltetőfőzetet egy tojással", - "achievementFedPet": "Etess meg egy állatot", - "achievementFedPetText": "Megetette az első álltját.", + "achievementFedPet": "Etess meg egy háziállatot", + "achievementFedPetText": "Megetette az első háziállatát.", "achievementFedPetModalText": "Sok különböző állateledel van, de az állatok néha válogatósak", "achievementPurchasedEquipment": "Vásárolj egy felszerelést", "achievementPurchasedEquipmentText": "Megvásárolta az első felszerelését.", "achievementHatchedPet": "Kelts ki egy állatot", "achievementPurchasedEquipmentModalText": "A felszerelésekkel személyre szabhatod a karaktered kinézetét, és növelheted a tulajdonságpontjait", - "achievementAridAuthorityText": "Megszelidítette az összes sivatagi hátast.", - "achievementDustDevilModalText": "Begyűjtötted az összes sivatagi állatot!", - "achievementMonsterMagusText": "Begyüjtötte az összes zombi állatot.", + "achievementAridAuthorityText": "Az összes sivatagi hátas megszelidítve.", + "achievementDustDevilModalText": "Összegyűjtötted az összes sivatagi állatot!", + "achievementMonsterMagusText": "Összegyűjtötte az összes zombi háziállatot.", "achievementDustDevil": "Porördög", "achievementCreatedTask": "Hozd létre az első feladatodat", "achievementCreatedTaskModalText": "Hozz létre egy feladatot, amit szeretnél ezen a héten teljesíteni", "achievementMonsterMagus": "Szörnymágus", "achievementCompletedTaskModalText": "Pipáld ki valamelyik feladatodat hogy jutalmakat kapj", "achievementPartyOn": "A csapatod 4 főre nőtt!", - "achievementPrimedForPaintingModalText": "Összegyűjtötted az összes Fehér Állatokat!", - "achievementPearlyProText": "Megszelidítette az összes fehér hátast.", - "achievementTickledPinkText": "Összegyűjtötte az összes Rózsaszín Vattacukor Állatokat.", - "achievementTickledPinkModalText": "Összegyűjtötted az összes Rózsaszínű Vattacukor Állatokat!", + "achievementPrimedForPaintingModalText": "Összegyűjtötted az összes fehér háziállatot!", + "achievementPearlyProText": "Az összes fehér hátas megszelidítve.", + "achievementTickledPinkText": "Az összes rózsaszín vattacukor állat összegyűjtve.", + "achievementTickledPinkModalText": "Összegyűjtötted az összes rózsaszín vattacukor állatot!", "achievementPearlyProModalText": "Megszelidítetted az összes fehér hátast!", "achievementBugBonanzaText": "Befejezte a Bogár, Pillangó, Csiga és Pók kisállat küldetéseket.", "achievementBugBonanzaModalText": "Befejezted a Bogár, Pillangó, Csiga és Pók kisállat küldetéseket!", - "achievementGoodAsGoldModalText": "Összegyűjtötted az összes Arany Állatokat!", - "achievementGoodAsGold": "Jó mint a arany", - "achievementGoodAsGoldText": "Összegyűjtötte az összes Arany Állatokat.", - "achievementPrimedForPaintingText": "Összegyűjtötte az összes Fehér Állatokat." + "achievementGoodAsGoldModalText": "Összegyűjtötted az összes arany háziállatot!", + "achievementGoodAsGold": "Jó, mint az arany", + "achievementGoodAsGoldText": "Az összes arany háziállat összegyűjtve.", + "achievementPrimedForPaintingText": "Az összes fehér háziállat összegyűjtve.", + "achievementBoneCollector": "Csontgyűjtő", + "achievementBoneCollectorModalText": "Minden csontváz háziállatot begyűjtöttél!", + "achievementSkeletonCrewModalText": "Minden csontváz hátast megszelidítettél!", + "achievementSeeingRed": "Vörös szemek", + "achievementAllThatGlittersModalText": "Minden arany hátast megszelidítettél!", + "achievementSkeletonCrewText": "Minden csontváz hátas megszelidítve.", + "achievementSkeletonCrew": "Csontvázsereg", + "achievementRosyOutlook": "Rózsaszín kilátások", + "achievementSeeingRedModalText": "Minden vörös háziállatot begyűjtöttél!", + "achievementAllThatGlitters": "Minden, ami fénylik", + "achievementRosyOutlookModalText": "Megszelidítetted az összes rózsaszín vattacukor hátast!", + "achievementSeeingRedText": "Minden vörös háziállat begyűjtve.", + "achievementBoneCollectorText": "Minden csontváz háziállat begyűjtve.", + "achievementRosyOutlookText": "Az összes rózsaszín vattacukor hátas megszelidítve.", + "achievementAllYourBase": "Megfelelő alapokon", + "achievementPartyUp": "Összeálltál egy csapattárssal!", + "achievementAllThatGlittersText": "Az összes arany hátas megszelidítve.", + "achievementAridAuthority": "Kiapadt tekintély" } diff --git a/website/common/locales/hu/communityguidelines.json b/website/common/locales/hu/communityguidelines.json index 171f62b357..2396b46730 100644 --- a/website/common/locales/hu/communityguidelines.json +++ b/website/common/locales/hu/communityguidelines.json @@ -1,5 +1,4 @@ { - "tavernCommunityGuidelinesPlaceholder": "Baráti emlékeztető: ez itt egy korhatármentes csevegőszoba, ezért arra kérünk, hogy ennek megfelelő tartalmat és nyelvezetet használj! Lásd a közösségi irányelveket az oldalsávon, ha ezzel kapcsolatban kérdésed van.", "lastUpdated": "Utoljára frissítve:", "commGuideHeadingWelcome": "Üdvözlünk Habitica-n!", @@ -9,13 +8,13 @@ "commGuideHeadingInteractions": "Beszélgetés a Habtica-n", "commGuidePara015": "A Habitica-n kétféle közösségi térrel rendekezik: egy nyilvános és egy magán közösséggel. A nyilvánosba tartozik a fogadó, a nyitott céhek, GitHub, Trello és a Wiki. A magánba tartozóak a zárt céhek, csapaton belüli beszélgetések, és a privát üzenetek. Minden nyilvános névnek meg kell felelnie a nyilvános helyek irányelveinek. A nyilvános neved megváltoztatásához használd a Felhasználói ikon > Profil oldalon a \"szerkeszt\" gombot.", "commGuidePara016": "Amikor a Habitica nyilvános helyein mozogsz, akkor be kell tartanod néhány egyszerű szabályt, hogy mindenki biztonságban és boldognak érezhesse magát. Olyan kalandoroknak mint te, ez nem okozhaz gondot!", - "commGuideList02A": "Egymás tiszteletben tartása. Legyél udvarias, kedves, barátságos és segítőkész. Ne felejtsd: a Habitica lakói különböző háttérel és rendkívül eltérő tapasztalatokkal rendelkeznek. Ez teszi a Habitica-t olyan különlegessé! A közösség építésébe beletartozik egymás tisztelete, valmint különbségeink és hasonlóságaink ünneplése. Néhány egyszerű ötlet egymás tiszteletben tartásához:", + "commGuideList02A": "Egymás tiszteletben tartása. Legyél udvarias, kedves, barátságos és segítőkész. Ne felejtsd: a Habitica lakói különböző háttérel és rendkívül eltérő tapasztalatokkal rendelkeznek. Ez teszi a Habitica-t olyan különlegessé! A közösség építésébe beletartozik egymás tisztelete, valmint különbségeink és hasonlóságaink ünneplése.", "commGuideList02B": "Az általános szerződési feltételek betartása.", "commGuideList02C": "Ne tegyél közzé olyan képet vagy szöveget, ami erőszakos, fenyegető, vagy szexuális tartalmú, vagy bárki vagy bármilyen csoport elleni diszkriminációt, fanatizmust, rasszizmust, szexizmust, gyűlöletet, zaklatást, támadást tartalmaz. Még viccként sem! Ebbe beletartoznak sértő kifejezések is. A humorérzékünk nem egyforma, így ami neked vicces, másnak bántó lehet. A napi feladataidat támadd, ne másokat.", "commGuideList02D": "Keep discussions appropriate for all ages. We have many young Habiticans who use the site! Let's not tarnish any innocents or hinder any Habiticans in their goals.", "commGuideList02E": "Avoid profanity. This includes milder, religious-based oaths that may be acceptable elsewhere. We have people from all religious and cultural backgrounds, and we want to make sure that all of them feel comfortable in public spaces. If a moderator or staff member tells you that a term is disallowed on Habitica, even if it is a term that you did not realize was problematic, that decision is final. Additionally, slurs will be dealt with very severely, as they are also a violation of the Terms of Service.", "commGuideList02F": "Avoid extended discussions of divisive topics in the Tavern and where it would be off-topic. If you feel that someone has said something rude or hurtful, do not engage them. If someone mentions something that is allowed by the guidelines but which is hurtful to you, it’s okay to politely let someone know that. If it is against the guidelines or the Terms of Service, you should flag it and let a mod respond. When in doubt, flag the post.", - "commGuideList02G": "Comply immediately with any Mod request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, asking you to move your discussion to a more suitable space, etc.", + "commGuideList02G": "Azonnal tégy eleget a szervezők kéréseinek. Ilyen kérés lehet például az, hogy az üzeneteidet bizonyos keretek közé korlátozd, törölj ki a profilod leírásából nem oda illő tartalmat, a beszélgetéseteket egy megfelelőbb helyen folytassátok, és így tovább. Ne vitatkozz a szervezőkkel. Ha bármilyen kérdésed vagy észrevételed van a szervezők cselekedeteivel, akkor írj egy e-mailt a közösség szervezőnknek az admin@habitica.com e-mail címre.", "commGuideList02J": "Do not spam. Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, posting multiple promotional messages about a Guild, Party or Challenge, or posting many messages in a row. Asking for gems or a subscription in any of the chat spaces or via Private Message is also considered spamming. If people clicking on a link will result in any benefit to you, you need to disclose that in the text of your message or that will also be considered spam.

It is up to the mods to decide if something constitutes spam or might lead to spam, even if you don’t feel that you have been spamming. For example, advertising a Guild is acceptable once or twice, but multiple posts in one day would probably constitute spam, no matter how useful the Guild is!", "commGuideList02K": "Avoid posting large header text in the public chat spaces, particularly the Tavern. Much like ALL CAPS, it reads as if you were yelling, and interferes with the comfortable atmosphere.", "commGuideList02L": "We highly discourage the exchange of personal information -- particularly information that can be used to identify you -- in public chat spaces. Identifying information can include but is not limited to: your address, your email address, and your API token/password. This is for your safety! Staff or moderators may remove such posts at their discretion. If you are asked for personal information in a private Guild, Party, or PM, we highly recommend that you politely refuse and alert the staff and moderators by either 1) flagging the message if it is in a Party or private Guild, or 2) filling out the Moderator Contact Form and including screenshots.", diff --git a/website/common/locales/hu/faq.json b/website/common/locales/hu/faq.json index dde3c73051..980f0b0d78 100644 --- a/website/common/locales/hu/faq.json +++ b/website/common/locales/hu/faq.json @@ -1,17 +1,17 @@ { "frequentlyAskedQuestions": "Gyakran Ismételt Kérdések", "faqQuestion0": "Összezavarodtam. Hol találok egy leírást?", - "iosFaqAnswer0": "Először is, hozz létre pár feladatot, amit a mindennapi életedben el szeretnél végezni. Aztán, ahogy ezeket a teendőket elvégzed a való életben és kipipálod az oldalon, tapasztalatot és aranyat fogsz szerezni. Arannyal felszerelést, különböző tárgyakat, illetve egyedi jutalmakat vásárolhatsz. A tapasztalattól pedig szintet lép a hősöd és ez eléhetővé tesz olyan tartalmakat, mint a háziállatok, a varázslatok, illetve küldetések. A hősödet a menü > avatár testreszabása menüpont alatt tudod megváltoztatni.\n\nNéhány alapvető dolog: kattints a (+) jelre a jobb-felső sarokban hogy új feladatot hozz létre. Kattints rá egy már létező feladatra, hogy szerkeszd, és húzd el balra a feladatot, hogy töröld. Rendszerezheted a feladataidat címkék segítségével a bal-felső sarokban, és kinyithatsz, illetve összecsukhatsz listákat, ha a lista buborékjára kattintasz.", - "androidFaqAnswer0": "Először is, hozz létre pár feladatot, amit a mindennapi életedben el szeretnél végezni. Aztán, ahogy ezeket a teendőket elvégzed a való életben és kipipálod az oldalon, tapasztalatot és aranyat fogsz szerezni. Arannyal felszerelést, különböző tárgyakat, illetve egyedi jutalmakat vásárolhatsz. A tapasztalattól pedig szintet lép a hősöd és ez eléhetővé tesz olyan tartalmakat, mint a háziállatok, a varázslatok, illetve küldetések. A hősödet a menü > [tárgylista >] avatár menüpont alatt tudod megváltoztatni.\n\nNéhány alapvető dolog: kattints a (+) jelre a jobb-alsó sarokban hogy új feladatot hozz létre. Kattints rá egy már létező feladatra, hogy szerkeszd, és húzd el balra a feladatot, hogy töröld. Rendszerezheted a feladataidat címkék segítségével a jobb-felső sarokban, és kinyithatsz, illetve összecsukhatsz listákat, ha a lista feletti számlálóra kattintasz.", - "webFaqAnswer0": "Először is, hozz létre pár feladatot, amit a mindennapi életedben el szeretnél végezni. Aztán, ahogy ezeket a teendőket elvégzed a való életben és kipipálod az oldalon, tapasztalatot és aranyat fogsz szerezni. Arannyal felszerelést, különböző tárgyakat, illetve egyedi jutalmakat vásárolhatsz. A tapasztalattól pedig szintet lép a hősöd és ez eléhetővé tesz olyan tartalmakat, mint a háziállatok, a varázslatok, illetve küldetések. További információért, látogass el a [segítség -> áttekintés új felhasználóknak](https://habitica.com/static/overview) oldalra, ahol lépésről-lépésre kapsz leírást az oldalról.", + "iosFaqAnswer0": "Először is, hozz létre pár feladatot, amit a mindennapi életedben el szeretnél végezni. Aztán, ahogy ezeket a teendőket elvégzed a való életben és kipipálod az oldalon, tapasztalatot és aranyat fogsz szerezni. Arannyal felszerelést, különböző tárgyakat, illetve egyedi jutalmakat vásárolhatsz. A tapasztalattól pedig szintet lép a hősöd és ez eléhetővé tesz olyan tartalmakat, mint a háziállatok, a varázslatok, illetve küldetések. A hősödet a menü > avatár testreszabása menüpont alatt tudod megváltoztatni.\n\nNéhány alapvető dolog: kattints a (+) jelre a jobb-felső sarokban hogy új feladatot hozz létre. Kattints rá egy már létező feladatra, hogy szerkeszd, és húzd el balra a feladatot, hogy töröld. Rendszerezheted a feladataidat címkék segítségével a bal-felső sarokban, és kinyithatsz, illetve összecsukhatsz listákat, ha a lista buborékjára kattintasz.", + "androidFaqAnswer0": "Először is, hozz létre pár feladatot, amit a mindennapi életedben el szeretnél végezni. Aztán, ahogy ezeket a teendőket elvégzed a való életben és kipipálod az oldalon, tapasztalatot és aranyat fogsz szerezni. Arannyal felszerelést, különböző tárgyakat, illetve egyedi jutalmakat vásárolhatsz. A tapasztalattól pedig szintet lép a hősöd és ez eléhetővé tesz olyan tartalmakat, mint a háziállatok, a varázslatok, illetve küldetések. A hősödet a menü > [Tárgylista >] Avatár testresszabása menüpont alatt tudod megváltoztatni.\n\nNéhány alapvető dolog: kattints a (+) jelre a jobb-alsó sarokban hogy új feladatot hozz létre. Kattints rá egy már létező feladatra, hogy szerkeszd, és húzd el balra a feladatot, hogy töröld. Rendszerezheted a feladataidat címkék segítségével a jobb-felső sarokban, és kinyithatsz, illetve összecsukhatsz listákat, ha a lista feletti számlálóra kattintasz.", + "webFaqAnswer0": "Először is, hozz létre pár feladatot, amit a mindennapi életedben el szeretnél végezni. Aztán, ahogy ezeket a teendőket elvégzed a való életben és kipipálod az oldalon, tapasztalatot és aranyat fogsz szerezni. Arannyal felszerelést, különböző tárgyakat, illetve egyedi jutalmakat vásárolhatsz. A tapasztalattól pedig szintet lép a hősöd és ez eléhetővé tesz olyan tartalmakat, mint a háziállatok, a varázslatok, illetve küldetések. További információért, látogass el a [Súgó-> Áttekintés új felhasználók számára](https://habitica.com/static/overview) oldalra, ahol lépésről-lépésre kapsz leírást az oldalról.", "faqQuestion1": "Hogyan tudok létrehozni feladatokat?", "iosFaqAnswer1": "A jó szokások (mellettük + jellel) azok a feladatok, amelyeket többször el tudsz végezni egy nap folyamán - például zöldségek fogyasztása. A rossz szokások (mellettük - jellel) azok a dolgok, amiket el kellene kerülnöd - például a körömrágás. Az olyan szokások, amik mellett + és - jel is van, választásra kínálnak lehetőséget - egy jóra, illetve egy rosszra - például, hogy a lépcsőt használod, vagy pedig a liftet. A jó szokásokkal tapasztalatot és aranyat szerzel, a rossz szokások pedig levesznek az életerődből.\n\nA napi feladatok azok a feladatok, amelyeket minden nap elvégzel - például a fogmosás, vagy az e-mailjeid átnézése. Kiválaszthatod, hogy egy napi feladatot mely napokon kell elvégezned, a szerkesztés gombra kattintva. Ha egy aznapra eső napi feladatot nem teljesítesz, akkor az avatárod másnapra életerőt veszít. Figyelj arra, hogy ne sok napi feladatot hozz létre egyszerre!\n\nA tennivalók a tennivaló-listád, általában egyszer elvégzendő dolgok - például segíteni valakinek költözni. Egy tennivaló sikeres elvégzésével aranyat és tapasztalatot szerzel. Azonban a tennivalók sosem vonnak le az életerődből. Ezekhez a feladatokhoz határidőt is rendelhetsz a szerkesztés gombra kattintva.", "androidFaqAnswer1": "A jó szokások (mellettük + jellel) azok a feladatok, amelyeket többször el tudsz végezni egy nap folyamán - például zöldségek fogyasztása. A rossz szokások (mellettük - jellel) azok a dolgok, amiket el kellene kerülnöd - például a körömrágás. Az olyan szokások, amik mellett + és - jel is van, választásra kínálnak lehetőséget - egy jóra, illetve egy rosszra - például, hogy a lépcsőt használod, vagy pedig a liftet. A jó szokásokkal tapasztalatot és aranyat szerzel, a rossz szokások pedig levesznek az életerődből.\n\nA napi feladatok azok a feladatok, amelyeket minden nap elvégzel - például a fogmosás, vagy az e-mailjeid átnézése. Kiválaszthatod, hogy egy napi feladatot mely napokon kell elvégezned, a szerkesztés gombra kattintva. Ha egy aznapra eső napi feladatot nem teljesítesz, akkor a karaktered másnapra életerőt veszít. Figyelj arra, hogy ne sok napi feladatot hozz létre egyszerre!\n\nA tennivalók a tennivaló-listád, általában egyszer elvégzendő dolgok - például segíteni valakinek költözni. Egy tennivaló sikeres elvégzésével aranyat és tapasztalatot szerzel. Azonban a tennivalók sosem vonnak le az életerődből. Ezekhez a feladatokhoz határidőt is rendelhetsz a szerkesztés gombra kattintva.", "webFaqAnswer1": "* A jó szokások (mellettük :heavy_plus_sign: jellel) azok a feladatok, amelyeket többször el tudsz végezni egy nap folyamán - például zöldségek fogyasztása. A rossz szokások (mellettük :heavy_minus_sign: jellel) azok a dolgok, amiket el kellene kerülnöd - például a körömrágás. Az olyan szokások, amik mellett :heavy_plus_sign: és :heavy_minus_sign: jel is van, választásra kínálnak lehetőséget - egy jóra, illetve egy rosszra - például, hogy a lépcsőt használod, vagy pedig a liftet. A jó szokásokkal tapasztalatot és aranyat szerzel, a rossz szokások pedig levesznek az életerődből.\n* A napi feladatok azok a feladatok, amelyeket minden nap elvégzel - például a fogmosás, vagy az e-mailjeid átnézése. Kiválaszthatod, hogy egy napi feladatot mely napokon kell elvégezned, a ceruza ikonra kattintva. Ha egy aznapra eső napi feladatot nem teljesítesz, akkor az avatárod másnapra életerőt veszít. Figyelj arra, hogy ne sok napi feladatot hozz létre egyszerre!\n* A tennivalók a tennivaló-listád, általában egyszer elvégzendő dolgok - például segíteni valakinek költözni. Egy tennivaló sikeres elvégzésével aranyat és tapasztalatot szerzel. Azonban a tennivalók sosem vonnak le az életerődből. Ezekhez a feladatokhoz határidőt is rendelhetsz a ceruza ikonra kattintva.", "faqQuestion2": "Hol találok példafeladatokat?", - "iosFaqAnswer2": "A wikin található négy lista példafeladatokkal ami felhasználható inspirációnként:\n

\n * [Szokások](http://habitica.fandom.com/wiki/Sample_Habits)\n * [Napi feladatok](http://habitica.fandom.com/wiki/Sample_Dailies)\n * [Tennivalók](http://habitica.fandom.com/wiki/Sample_To-Dos)\n * [Egyéni jutalmak](http://habitica.fandom.com/wiki/Sample_Custom_Rewards)", - "androidFaqAnswer2": "A wikin található négy lista példafeladatokkal ami felhasználható inspirációnként:\n

\n* [Szokások](http://habitica.fandom.com/wiki/Sample_Habits) \n* [Napi feladatok](http://habitica.fandom.com/wiki/Sample_Dailies) \n* [Tennivalók](http://habitica.fandom.com/wiki/Sample_To-Dos) \n* [Egyéni jutalmak](http://habitica.fandom.com/wiki/Sample_Custom_Rewards)", - "webFaqAnswer2": "A wikin található négy lista példafeladatokkal ami felhasználható inspirációnként:\n * [Szokások](http://habitica.fandom.com/wiki/Sample_Habits)\n * [Napi feladatok](http://habitica.fandom.com/wiki/Sample_Dailies)\n * [Tennivalók](http://habitica.fandom.com/wiki/Sample_To-Dos)\n * [Egyéni jutalmak](http://habitica.fandom.com/wiki/Sample_Custom_Rewards)", + "iosFaqAnswer2": "A wikin található négy lista példafeladatokkal ami felhasználható inspirációnként:\n\n * [Szokások](https://habitica.fandom.com/wiki/Sample_Habits)\n * [Napi feladatok](https://habitica.fandom.com/wiki/Sample_Dailies)\n * [Tennivalók](https://habitica.fandom.com/wiki/Sample_To_Do%27s)\n * [Egyéni jutalmak](https://habitica.fandom.com/wiki/Sample_Custom_Rewards)", + "androidFaqAnswer2": "A wikin található négy lista példafeladatokkal ami felhasználható inspirációnként:\n\n* [Szokások](https://habitica.fandom.com/wiki/Sample_Habits) \n* [Napi feladatok](https://habitica.fandom.com/wiki/Sample_Dailies) \n* [Tennivalók](https://habitica.fandom.com/wiki/Sample_To-_Do%27s) \n* [Egyéni jutalmak](https://habitica.fandom.com/wiki/Sample_Custom_Rewards)", + "webFaqAnswer2": "A wikin található négy lista példafeladatokkal ami felhasználható inspirációnként:\n * [Szokások](https://habitica.fandom.com/wiki/Sample_Habits)\n * [Napi feladatok](https://habitica.fandom.com/wiki/Sample_Dailies)\n * [Tennivalók](https://habitica.fandom.com/wiki/Sample_To_Do%27s)\n * [Egyéni jutalmak](https://habitica.fandom.com/wiki/Sample_Custom_Rewards)", "faqQuestion3": "Miért változik meg a feladataim színe?", "iosFaqAnswer3": "A feladatok színe annak függvényében változik, hogy mennyire jól teljesíted őket. Minden új feladat semleges sárgaként kezdi. Minél sűrűbben teljesíted a jó szokásaidat és a napi feladataidat, annál inkább a kék szín felé fognak elmozdulni a színskálán. Ha egy napi feladatot kihagysz, vagy egy rossz szokást végzel el, akkor a piros szín felé fog elmozdulni. Minél pirosabb egy feladat, annál több jutalmat szerzel, azonban ha napi feladatról, vagy rossz szokásról van szó, annál nagyobbat fog sebezni! Ez motiválhat, hogy megcsináld azokat a feladatokat, amivel problémáid vannak.", "androidFaqAnswer3": "A feladatok színe annak függvényében változik, hogy mennyire jól teljesíted őket. Minden új feladat semleges sárgaként kezdi. Minél sűrűbben teljesíted a jó szokásaidat és a napi feladataidat, annál inkább a kék szín felé fognak elmozdulni a színskálán. Ha egy napi feladatot kihagysz, vagy egy rossz szokást végzel el, akkor a piros szín felé fog elmozdulni. Minél pirosabb egy feladat, annál több jutalmat szerzel, azonban ha napi feladatról, vagy rossz szokásról van szó, annál nagyobbat fog sebezni! Ez motiválhat, hogy megcsináld azokat a feladatokat, amivel problémáid vannak.", @@ -21,13 +21,13 @@ "androidFaqAnswer4": "Több dolog is van, ami megsebezhet. Először, azok a napi feladatok, amiket nem fejeztél be és nem pipáltál ki a másnap felugró ablakban, megsebeznek az éjszaka folyamán. Másodszor, ha egy rossz szokásra kattintasz életerőt veszítesz. Utoljára: ha a csapatod egy ellenséggel harcol és az egyik csapattársad nem csinálta meg az összes napi feladatát, az ellenség meg fog sebezni.\n\nAz életerő visszaszerzésének legkézenfekvőbb módja a szintlépés, mely minden hiányzó életerődet visszatölt. Emellett lehetőséged van a jutalmak közül gyógyitalt vásárolni, amelyet a feladatok oldalon találsz meg. Továbbá, 10-es szinten, vagy afelett, ha a kasztodnak a gyógyítót választod, különböző életerőt visszaállító varázslatokat lesz lehetőséged elsajátítani és használni. Ha a csapatotban van egy gyógyító, ő is képes a te, illetve a csapatod életerejét visszatölteni.", "webFaqAnswer4": "Több dolog is van, ami megsebezhet. Először, azok a napi feladatok, amiket nem fejeztél be és nem pipáltál ki a másnap felugró ablakban, megsebeznek az éjszaka folyamán. Másodszor, ha egy rossz szokásra kattintasz életerőt veszítesz. Utoljára: ha a csapatod egy ellenséggel harcol és az egyik csapattársad nem csinálta meg az összes napi feladatát, az ellenség meg fog sebezni. Az életerő visszaszerzésének legkézenfekvőbb módja a szintlépés, mely minden hiányzó életerődet visszatölt. Emellett lehetőséged van a jutalmak közül gyógyitalt vásárolni. Továbbá, 10-es szinten, vagy afelett, ha a kasztodnak a gyógyítót választod, különböző életerőt visszaállító varázslatokat lesz lehetőséged elsajátítani és használni. Más gyóyítók is képesek az életerődet visszaállítani, ha egy csapatban vagy velük. Hogy erről többet tudj meg, kattints a \"csapat\" gombra a navigációs sávban.", "faqQuestion5": "Hogyan tudom a Habitica-t a barátaimmal használni?", - "iosFaqAnswer5": "Ennek a legjobb útja, ha meghívod őket egy csapatba! A csapatoknak lehetőségük van küldetésekre menni, szörnyekkel harcolni, és olyan varázslatokat használni amivel támogatják egymást. Ha még nem vagy csapatban, kattints a Menü > Csapat gombra és azon belül az \"Új csapat létrehozása\" gombra. Ezután kattints a tagok listájára és a jobb felső sarokban található meghívás gombra és a felhasználói azonosítót megadva hívd meg a barátaidat (a felhasználói azonosító egy egyedi számokból és betűkből álló sorozat, amit az alkalmazáson keresztül a Beállítások > Fiók adatai menüpontban találhatsz meg, az oldalon pedig a Beállítások > API menüpontban). Az oldalon e-mail címen keresztül is küldhetsz meghívót, ami az alkalmazásban később lesz elérhető.\n\nAz oldalon céhekhez is csatlakozhatsz, amelyek nyilvános chatszobák. A céhek az alkalmazásban később lesznek elérhetőek.", - "androidFaqAnswer5": "Ennek a legjobb útja, ha meghívod őket egy csapatba! A csapatoknak lehetőségük van küldetésekre menni, szörnyekkel harcolni, és olyan varázslatokat használni amivel támogatják egymást. Ha még nem vagy tagja egy csapatnak sem, menj az [oldalra](https://habitica.com/) és hozz létre egyet. Céhekhez is csatlakozhattok együtt (Közösség >Céhek). Céhek olyan chatszobák ahol hasonló érdeklődési körű vagy hasonló céllal rendelkező emberekkel találkozhatsz. Ezek lehetnek nyilvánosak, vagy zártkörűek. Bármennyi céhhez csatlakozhatsz, de csapathoz csak egyhez.\n\nTovábbi információért látogasd meg a wiki oldalunk [csapatokról](http://habitica.fandom.com/wiki/Party) és [céhekről](http://habitica.fandom.com/wiki/Guilds) szóló oldalait.", - "webFaqAnswer5": "Ennek a legjobb útja, ha meghívod őket egy csapatba, a navigációs sávon található csapat menüpontban. A csapatoknak lehetőségük van küldetésekre menni, szörnyekkel harcolni, és olyan varázslatokat használni amivel támogatják egymást. Céhekhez is csatlakozhattok együtt (kattints a céhek menüpontra a navigációs sávon). Céhek olyan chatszobák ahol hasonló érdeklődési körű vagy hasonló céllal rendelkező emberekkel találkozhatsz. Ezek lehetnek nyilvánosak, vagy zártkörűek. Bármennyi céhhez csatlakozhatsz, de csapathoz csak egyhez. További információért látogasd meg a wiki oldalunk [csapatokról](http://habitica.fandom.com/wiki/Party) és [céhekről](http://habitica.fandom.com/wiki/Guilds) szóló oldalait.", + "iosFaqAnswer5": "Ennek a legjobb útja, ha meghívod őket egy csapatba! A csapatoknak lehetőségük van küldetésekre menni, szörnyekkel harcolni, és olyan varázslatokat használni amivel támogatják egymást.\n\nHa szeretnél egy saját csapatot létrehozni, akkor kattints a Menü > [Csapat gombra](https://habitica.com/party) és nyomj \"Új csapat létrehozása\"-ra. Ezután görgess le és kattints a \"Csapattag meghívása\" gombra és hívd meg a barátaidat a @felhasználói nevük megadásával. Ha egy másik játék csapatát szeretnéd erősíteni, akkor add meg nekik a @felhasználói nevedet és így meg tudnak hívni.\n\nA barátaiddal céhekhez is csatlakozhattok, amelyek olyan nyilvános chatszobák, amik közelebb hozzák egymáshoz az azonos érdeklődési körrel rendelkezőket! Nagyon sok segítőkész és vidám közösség vár rád, úgyhogy mindenképpen nézz szét közöttük!\n\nHa érzel magadban elég versenyszellemet, akkor a barátaiddal együtt létrehozhattok vagy csatlakozhattok kihívásokhoz, amik keretein belül adott feladatokat kell elvégeznetek. Hihetetlenül sokrétűek a nyilvános kihívások. Néhány nyilvános kihíváson keresztül akár még drágakövekkel is gazdagodhatsz, amennyiben te kerülsz ki győztesként.", + "androidFaqAnswer5": "Ennek a legjobb útja, ha meghívod őket egy csapatba! A csapatoknak lehetőségük van küldetésekre menni, szörnyekkel harcolni, és olyan varázslatokat használni amivel támogatják egymást. Ha még nem vagy tagja egy csapatnak sem, menj az [oldalra](https://habitica.com/) és hozz létre egyet. Céhekhez is csatlakozhattok együtt (Közösség >Céhek). Céhek olyan chatszobák ahol hasonló érdeklődési körű vagy hasonló céllal rendelkező emberekkel találkozhatsz. Ezek lehetnek nyilvánosak, vagy zártkörűek. Bármennyi céhhez csatlakozhatsz, de csapathoz csak egyhez.\n\nTovábbi információért látogasd meg a wiki oldalunk [csapatokról](https://habitica.fandom.com/wiki/Party) és [céhekről](https://habitica.fandom.com/wiki/Guilds) szóló oldalait.", + "webFaqAnswer5": "Ennek a legjobb útja, ha meghívod őket egy csapatba, a navigációs sávon található csapat menüpontban. A csapatoknak lehetőségük van küldetésekre menni, szörnyekkel harcolni, és olyan varázslatokat használni amivel támogatják egymást. Céhekhez is csatlakozhattok együtt (kattints a céhek menüpontra a navigációs sávon). Céhek olyan chatszobák ahol hasonló érdeklődési körű vagy hasonló céllal rendelkező emberekkel találkozhatsz. Ezek lehetnek nyilvánosak, vagy zártkörűek. Bármennyi céhhez csatlakozhatsz, de csapathoz csak egyhez. További információért látogasd meg a wiki oldalunk [csapatokról](https://habitica.fandom.com/wiki/Party) és [céhekről](https://habitica.fandom.com/wiki/Guilds) szóló oldalait.", "faqQuestion6": "Hogyan szerezhetek háziállatot vagy hátast?", - "iosFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored in Menu > Items.\n\n To hatch a Pet, you'll need an egg and a hatching potion. Tap on the egg to determine the species you want to hatch, and select \"Hatch Egg.\" Then choose a hatching potion to determine its color! Go to Menu > Pets to equip your new Pet to your avatar by clicking on it. \n\n You can also grow your Pets into Mounts by feeding them under Menu > Pets. Tap on a Pet, and then select \"Feed Pet\"! You'll have to feed a pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.fandom.com/wiki/Food#Food_Preferences). Once you have a Mount, go to Menu > Mounts and tap on it to equip it to your avatar.\n\n You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)", - "androidFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored in Menu > Items.\n\n To hatch a Pet, you'll need an egg and a hatching potion. Tap on the egg to determine the species you want to hatch, and select \"Hatch with potion.\" Then choose a hatching potion to determine its color! To equip your new Pet, go to Menu > Stable > Pets, select a species, click on the desired Pet, and select \"Use\"(Your avatar doesn't update to reflect the change). \n\n You can also grow your Pets into Mounts by feeding them under Menu > Stable [ > Pets ]. Tap on a Pet, and then select \"Feed\"! You'll have to feed a pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.fandom.com/wiki/Food#Food_Preferences). To equip your Mount, go to Menu > Stable > Mounts, select a species, click on the desired Mount, and select \"Use\"(Your avatar doesn't update to reflect the change).\n\n You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)", - "webFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored under Inventory > Items. To hatch a Pet, you'll need an egg and a hatching potion. Once you have both an egg and a potion, go to Inventory > Stable to hatch your pet by clicking on its image. Once you've hatched a pet, you can equip it by clicking on it. You can also grow your Pets into Mounts by feeding them under Inventory > Stable. Drag a piece of food from the action bar at the bottom of the screen and drop it on a pet to feed it! You'll have to feed a Pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.fandom.com/wiki/Food#Food_Preferences). Once you have a Mount, click on it to equip it to your avatar. You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)", + "iosFaqAnswer6": "Minden alkalommal, amikor befejezel egy feladatot, véletlenszerűen kaphatsz egy tojást, egy keltetőfőzetet vagy állateledelt. A megszerzett tárgyakat a Menü > Tárgyak fülön találod.\n\nHáziállat keltetéshez szükséged lesz egy tojásra és egy keltetőfőzetre. Válaszd ki a kívánt tojást, ez határozza meg a háziállatod faját. Bökd meg a \"Tojás keltetése\" gombot. Ezután válassz egy keltetőfőzetet, ezzel meghatározva a háziállatod színét is! Menj a Menü > Háziállatok fülre és kattints az újonnan kikelt háziállatodra, így az avatárod mellett meg fog jelenni.\n\n A háziállataidat nevelheted, ameddig hátas nem válik belőlük. Ezt megteheted, ha a Menü > Háziállatok fülre kattintasz, és ott kiválasztod a \"Kisállat megetetése\" gombot! Többször is meg kell etetned egy kisállatot ahhoz, hogy hátas váljon belőle, viszont ha sikerül kitalálnod, hogy mi a kedvenc étele, akkor sokkal gyorsabb ütemben fog nőni. Ehhez kísérletezned kell, vagy esetleg ellátogathatsz [erre az oldalra](https://habitica.fandom.com/wiki/Food#Food_Preferences), ahol egy kicsit csalhatsz is. Amint megszerzel egy hátast, látogass el a Menü > Hátasok fülre és a hátasra kattintva az avatárod rá fog ülni.\n\nTovábbá szerezhetsz különleges tojásokat bizonyos küldetéseken keresztül is (ha többet szeretnél tudni a küldetésekről, akkor olvasd el ezt is: [Hogyan harcolhatok szörnyekkel és mehetek küldetésekre?](https://habitica.com/static/faq/9)).", + "androidFaqAnswer6": "Minden alkalommal, amikor befejezel egy feladatot, véletlenszerűen kaphatsz egy tojást, egy keltetőfőzetet vagy állateledelt. A megszerzett tárgyakat a Menü > Tárgyak fülön találod.\n\nHáziállat keltetéshez szükséged lesz egy tojásra és egy keltetőfőzetre. Válaszd ki a kívánt tojást, ez határozza meg a háziállatod faját. Bökd meg a \"Tojás keltetése\" gombot. Ezután válassz egy keltetőfőzetet, ezzel meghatározva a háziállatod színét is! Menj a Menü > Istálló > Háziállatok fülre és kattints az újonnan kikelt háziállatodra, majd kattinst a \"Használ\" gombra. (Az avatárod mellett nem jelenik meg azonnal.)\n\n A háziállataidat nevelheted, ameddig hátas nem válik belőlük. Ezt megteheted, ha a Menü > Istálló [ > Háziállatok ] fülre kattintasz, és ott kiválasztod a háziállatodat, majd az \"Etetése\" gombra böksz! Többször is meg kell etetned egy kisállatot ahhoz, hogy hátas váljon belőle, viszont ha sikerül kitalálnod, hogy mi a kedvenc étele, akkor sokkal gyorsabb ütemben fog nőni. Ehhez kísérletezned kell, vagy esetleg ellátogathatsz [erre az oldalra](https://habitica.fandom.com/wiki/Food#Food_Preferences), ahol egy kicsit csalhatsz is. Amint megszerzel egy hátast, látogass el a Menü > Istálló > Hátasok fülre, válassz egy fajtát majd az kívánt hátast, és kattints a \"Használ\" gombra. (Az avatárod mellett nem jelenik meg azonnal.)\n\n Továbbá szerezhetsz különleges tojásokat bizonyos küldetéseken keresztül is. (Ha többet szeretnél tudni a küldetésekről, akkor görgess lejjebb.)", + "webFaqAnswer6": "Minden alkalommal, amikor befejezel egy feladatot, véletlenszerűen kaphatsz egy tojást, egy keltetőfőzetet vagy állateledelt. A megszerzett tárgyakat a Tárgylista > Tárgyak fülön találod. Háziállat keltetéshez szükséged lesz egy tojásra és egy keltetőfőzetre. Amint legalább egyet-egyet szereztél belőlük, menj a Tárgylista > Istálló fülre. Ha rákattintasz egy már kikelt háziállatra, az megjelenik az avatárod mellett, mint társ. A háziállataidat nevelheted, ameddig hátas nem válik belőlük. Ezt megteheted, ha a Tárgylista > Istálló fülön. Húzd a kiválasztott eledelt a képernyő alján található ételraktár területről arra az állatra, amelyiket meg szeretnéd etetni! Többször is meg kell etetned egy kisállatot ahhoz, hogy hátas váljon belőle, viszont ha sikerül kitalálnod, hogy mi a kedvenc étele, akkor sokkal gyorsabb ütemben fog nőni. Ehhez kísérletezned kell, vagy esetleg ellátogathatsz [erre az oldalra](https://habitica.fandom.com/wiki/Food#Food_Preferences), ahol egy kicsit csalhatsz is. Amint megszerzel egy hátast, az avatárod meg tudja lovagolni azt. Továbbá szerezhetsz különleges tojásokat bizonyos küldetéseken keresztül is. (Ha többet szeretnél tudni a küldetésekről, akkor görgess lejjebb.)", "faqQuestion7": "Hogyan tudok harcos, mágus, tolvaj, vagy gyógyító lenni?", "iosFaqAnswer7": "At level 10, you can choose to become a Warrior, Mage, Rogue, or Healer. (All players start as Warriors by default.) Each Class has different equipment options, different Skills that they can cast after level 11, and different advantages. Warriors can easily damage Bosses, withstand more damage from their tasks, and help make their Party tougher. Mages can also easily damage Bosses, as well as level up quickly and restore Mana for their party. Rogues earn the most gold and find the most item drops, and they can help their Party do the same. Finally, Healers can heal themselves and their Party members.\n\n If you don't want to choose a Class immediately -- for example, if you are still working to buy all the gear of your current class -- you can click “Decide Later” and choose later under Menu > Choose Class.", "androidFaqAnswer7": "At level 10, you can choose to become a Warrior, Mage, Rogue, or Healer. (All players start as Warriors by default.) Each Class has different equipment options, different Skills that they can cast after level 11, and different advantages. Warriors can easily damage Bosses, withstand more damage from their tasks, and help make their Party tougher. Mages can also easily damage Bosses, as well as level up quickly and restore Mana for their party. Rogues earn the most gold and find the most item drops, and they can help their Party do the same. Finally, Healers can heal themselves and their Party members.\n\n If you don't want to choose a Class immediately -- for example, if you are still working to buy all the gear of your current class -- you can click “Opt Out” and choose later under Menu > Choose Class.", @@ -45,8 +45,8 @@ "androidFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", "webFaqAnswer10": "Gems are purchased with real money, although [subscribers](https://habitica.com/user/settings/subscription) can purchase them with Gold. When people subscribe or buy Gems, they are helping us to keep the site running. We're very grateful for their support! In addition to buying Gems directly or becoming a subscriber, there are two other ways players can gain Gems:\n* Win a Challenge that has been set up by another player. Go to Challenges > Discover Challenges to join some.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.fandom.com/wiki/Contributing_to_Habitica). Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the site without them!", "faqQuestion11": "Hogyan tudok egy hibát jelezni, vagy funkciót kérni?", - "iosFaqAnswer11": "You can report a bug, request a feature, or send feedback under Menu > About > Report a Bug and Menu > About > Send Feedback! We'll do everything we can to assist you.", - "androidFaqAnswer11": "You can report a bug, request a feature, or send feedback under About > Report a Bug and About > Send us Feedback! We'll do everything we can to assist you.", + "iosFaqAnswer11": "Ha úgy gondolod, hogy egy hibát találtál, akkor menj a Menü > Támogatás > Segítség kérés menüpontra, ahol a már ismert hibák megoldásaival találkozhatsz, illetve jelezhetsz felénk új hibákat. Mindent megteszünk, hogy a segítségedre legyünk.\n\n Visszajelzésedet, illetve fejlesztési ötleteidet megoszthatod velünk a Menü > Támogatás > Visszajelzés küldése menüpontban. Felmerülő kérdéseinkkel kapcsolatban meg fogunk keresni!", + "androidFaqAnswer11": "Ha úgy gondolod, hogy egy hibát találtál, akkor menj a Menü > Segítség & GYIK > Segítség kérés menüpontra, ahol a már ismert hibák megoldásaival találkozhatsz, illetve jelezhetsz felénk új hibákat. Mindent megteszünk, hogy a segítségedre legyünk.\n\n Visszajelzésedet, illetve fejlesztési ötleteidet megoszthatod velünk a Menü > Segítség & GYIK > Visszajelzés küldése menüpontban. Felmerülő kérdéseinkkel kapcsolatban meg fogunk keresni!", "webFaqAnswer11": "To report a bug, go to [Help > Report a Bug](https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac) and read the points above the chat box. If you're unable to log in to Habitica, send your login details (not your password!) to [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Don't worry, we'll get you fixed up soon! Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!", "faqQuestion12": "Hogyan harcolhatok egy főellenséggel?", "iosFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.fandom.com/wiki/World_Bosses) on the wiki.", @@ -55,4 +55,4 @@ "iosFaqStillNeedHelp": "Ha kérdésed van, ami ezen a listán vagy a [wiki GYIK](http://habitica.fandom.com/wiki/FAQ) oldalán nem található meg, látogass el a fogadóba a céhek > kocsmai csevej menüpont alatt! Szívesen segítünk.", "androidFaqStillNeedHelp": "Ha kérdésed van, ami ezen a listán vagy a [wiki GYIK](http://habitica.fandom.com/wiki/FAQ) oldalán nem található meg, látogass el a fogadóba a céhek > kocsmai csevej menüpont alatt! Szívesen segítünk.", "webFaqStillNeedHelp": "Ha kérdésed van, ami ezen a listán vagy a [wiki GYIK](http://habitica.fandom.com/wiki/FAQ) oldalán nem található meg, látogass el [Habitica Help](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a) nevű céhbe! Szívesen segítünk." -} \ No newline at end of file +} diff --git a/website/common/locales/hu/front.json b/website/common/locales/hu/front.json index 0136e81f89..de6b39cffd 100644 --- a/website/common/locales/hu/front.json +++ b/website/common/locales/hu/front.json @@ -177,7 +177,7 @@ "muchmuchMoreDesc": "A teljesen testreszabható feladatlista azt jelenti, hogy a Habiticát a saját céljaidhoz igazíthatod. Ez lehet kreatív projekt, a magadról való gondoskodás hangsúlyozása, vagy másmilyen álom elérése -- csak tőled függ.", "levelUpAnywhere": "Lépj szintet bárhol", "levelUpAnywhereDesc": "A mobil alkalmazásaink lehetővé teszik hogy könnyen számon tartsd a feladataidat. Érd el a céljaidat bárhol is vagy.", - "joinMany": "Csatlakozz a több mint 2.000.000 emberhez, akik a céljaikat szórakozva érik el!", + "joinMany": "Csatlakozz a több mint <%= userCountInMillions %> millió emberhez, akik a céljaikat szórakozva érik el!", "joinToday": "Csatlakozz a Habiticához ma", "signup": "Regisztráció", "getStarted": "Get Started!", diff --git a/website/common/locales/hu/gear.json b/website/common/locales/hu/gear.json index b21bd312e1..f350e4face 100644 --- a/website/common/locales/hu/gear.json +++ b/website/common/locales/hu/gear.json @@ -597,7 +597,7 @@ "armorSpecialFall2017HealerText": "Kísértetház páncél", "armorSpecialFall2017HealerNotes": "A szíved egy nyitott ajtó. A vállaid pedig tetőcserepek! Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2017-es őszi felszerelés.", "armorSpecialWinter2018RogueText": "Rénszarvas jelmez", - "armorSpecialWinter2018RogueNotes": "Olyan aranyosnak és bolyhosnak nézel ki, ki gyanakodna arra hogy csak az ünnepi zsákmányra fáj a fogad? Növeli az észlelésedet <%= per %> ponttal. Limitált kiadású 2017-2018-as téli felszerelés.", + "armorSpecialWinter2018RogueNotes": "Olyan aranyosnak és bolyhosnak nézel ki, kicsoda gyanakodna arra hogy csak az ünnepi zsákmányra fáj a fogad? Növeli az észlelésedet <%= per %> ponttal. Limitált kiadású 2017-2018-as téli felszerelés.", "armorSpecialWinter2018WarriorText": "Csomagolópapír páncél", "armorSpecialWinter2018WarriorNotes": "Ne hagyd hogy ennek a páncélnak a papírra emlékeztető anyaga megtévesszen. Majdnem lehetetlen elszakítani! Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2017-2018-as téli felszerelés.", "armorSpecialWinter2018MageText": "Csillogó szmoking", diff --git a/website/common/locales/hu/groups.json b/website/common/locales/hu/groups.json index b170e006d0..601207abbe 100644 --- a/website/common/locales/hu/groups.json +++ b/website/common/locales/hu/groups.json @@ -166,7 +166,7 @@ "assignedToUser": "Hozzárendelve <%- userName %> felhasználóhoz", "assignedToMembers": "Hozzárendelve <%= userCount %> taghoz", "assignedToYouAndMembers": "Hozzárendelve magadhoz és <%= userCount %> másik taghoz", - "youAreAssigned": "Hozzá vagy rendelve ehhez a feladathoz", + "youAreAssigned": "Hozzárendelt: te", "taskIsUnassigned": "Ez a feladat nincs senkihez hozzárendelve", "confirmUnClaim": "Biztos hogy nem tartasz igényt erre a feladatra?", "confirmNeedsWork": "Biztos hogy be akarod jelölni hogy ezen a feladaton még dolgozni kell?", @@ -206,7 +206,7 @@ "leaderCannotLeaveGroupWithActiveGroup": "A vezető nem hagyhat el olyan csoportot ami aktív előfizetéssel rendelkezik", "youHaveGroupPlan": "Ingyen előfizetéssel rendelkezel, mert csoportos tervvel redelkező csoport tagja vagy. Ez megszűnik ha már nem vagy tagja ennek a csoportnak. Bármennyi extra hónap előfizetés a csoportos terv végén kerül felhasználásra.", "cancelGroupSub": "Csoportos terv lemondása", - "confirmCancelGroupPlan": "Biztos vagy benne hogy lemondod ezt a csoportos tervet és vele együtt az olyan előnyöket mint az ingyen előfizetés a csoport tagjainak?", + "confirmCancelGroupPlan": "Biztos vagy benne hogy lemondod a csoportos tervedet? A csoportod minden tagja el fogja veszteni az előfizetését és az azzal járó előnyöket.", "canceledGroupPlan": "Csoportos terv lemondva", "groupPlanCanceled": "Csoportos terv inakítvvá válik", "purchasedGroupPlanPlanExtraMonths": "<%= months %> hónap csoportos tervből maradt extra kredittel rendelkezel.", diff --git a/website/common/locales/hu/limited.json b/website/common/locales/hu/limited.json index 9ecb67972e..db07a54cbd 100644 --- a/website/common/locales/hu/limited.json +++ b/website/common/locales/hu/limited.json @@ -13,7 +13,7 @@ "valentine0": "\"A rózsák veresek\n\na Napijaim kékesek\n\nörülök, hogy veled együtt\n\negy csapatban lehetek.\"", "valentine1": "\"A rózsák veresek\n\na violák szépek\n\nvessünk együtt\n\nA rossz szokásoknak véget.\"", "valentine2": "\"A rózsák veresek\n\nEz a vers pedig régi\n\nremélem azért tetszett, mert \n\n10 Aranyat kellet érte fizetni.\"", - "valentine3": "Vörös a rózsa,\nA Jégsárkány kék,\nAnnál nincs nagyobb kincs\nMintha veled lehetnék.", + "valentine3": "\"A rózsa vörös,\n\nA Jégsárkány kék,\n\nAnnál nincs nagyobb kincs\n\nMintha veled lehetnék!\"", "valentineCardAchievementTitle": "Cuki barátok", "valentineCardAchievementText": "Aww, te és a barátod igazán törődtök egymással! Küldött vagy kapott <%= count %> Valentin-napi üdvözlőkártyát.", "polarBear": "Jegesmedve", @@ -31,7 +31,7 @@ "seasonalShopFallText": "Boldog Őszi Fesztivált!! Szeretnél venni néhány ritka tárgyat? Ezek csak október 31-ig lesznek elérhetőek!", "seasonalShopWinterText": "Boldog Téli csodaországot!! Szeretnél venni néhány ritka tárgyat? Ezek csak január 31-ig lesznek elérhetőek!", "seasonalShopSpringText": "Boldog Tavaszi mulatozást!! Szeretnél venni néhány ritka tárgyat? Ezek csak április 30-ig lesznek elérhetőek!", - "seasonalShopFallTextBroken": "Oh... Üdvözöllek az szezonális boltban... Őszi szezonális áruink sorakoznak itt, vagy mi... Minden amit itt látsz megvásárolható lesz az őszi fesztivál ideje alatt minden évben, de csupán október 31-ig vagyunk nyitva...Szerintem menny biztosra és szerezz meg mindent amire szükséged van, vagy várnod kell még... várnod kell... és várnod... *huh*", + "seasonalShopFallTextBroken": "Oh... Üdvözöllek a szezonális boltban... Őszi szezonális áruink sorakoznak itt, vagy mi... Minden amit itt látsz megvásárolható lesz az őszi fesztivál ideje alatt minden évben, de csupán október 31-ig vagyunk nyitva... Szerintem menj biztosra és szerezz meg mindent amire szükséged van, különben sokáig kell majd várnod... és várnod... és várnod... *huh*", "seasonalShopBrokenText": "A pavilonom!!!!!!! A dekorációim!!!! Oh, az Elcsüggesztő mindent elpusztított :( Kérlek segíts legyőzni őt a fogadóban, hogy majd újjáépíthessek!", "seasonalShopRebirth": "Ha a múltban megvetted ezeknek a felszereléseknek bármelyikét de jelenleg nem vagy a birtokában, újra megvásárolhatod a jutalmak közül. Kezdetben csak azokat a tárgyakat tudod megvenni, ami az aktuális kasztodhoz tartozik (alapesetben harcos), de ne aggódj a többi kaszt-specifikus tárgy is elérhetővé válik ha átváltasz a megfelelő kasztra.", "candycaneSet": "Cukorbot (mágus)", @@ -146,7 +146,7 @@ "winterPromoGiftDetails1": "Ha január 15-ig ajándékozol valakinek előfizetést, ugyanazt az előfizetést megkapod ingyen!", "winterPromoGiftDetails2": "Kérjük vedd figyelembe hogyha te vagy a megajándékozott felhasználó már rendelkezik előfizetéssel, az ajándékba adott előfizetés csak azután lép érvénybe hogy a jelenlegi előfizetés megszűnik vagy lejár. Nagyon köszönjük a támogatásodat! <3", "discountBundle": "csomag", - "g1g1Announcement": "'Ajándékozz egy előfizetést, kapj egy előfizetést ingyen' esemény van folyamatban!", + "g1g1Announcement": "Ajándékozz egy előfizetést, kapj egy előfizetést ingyen esemény van folyamatban!", "g1g1Details": "Ajándékozz valakinek előfizetést a profilon lévő ajándék ikonra kattintva, és cserébe kapd meg ugyanazt az előfizetést!", "spring2019OrchidWarriorSet": "Orchidea (Harcos)", "spring2019AmberMageSet": "Borostyán (Mágus)", diff --git a/website/common/locales/hu/npc.json b/website/common/locales/hu/npc.json index 328ef812c6..bb737bea99 100644 --- a/website/common/locales/hu/npc.json +++ b/website/common/locales/hu/npc.json @@ -30,7 +30,7 @@ "worldBossDescription": "Főellenség leírás", "welcomeMarketMobile": "Üdvözöllek a piacon! Vegyél ritka tojásokat és főzeteket! Nézd meg az ajánlatainkat.", "howManyToSell": "Mennyit szeretnél eladni?", - "yourBalance": "Egyenleged", + "yourBalance": "Egyenleged:", "sell": "Eladás", "buyNow": "Vásárlás", "sortByNumber": "Mennyiség", @@ -97,7 +97,7 @@ "skillsTitle": "Varázslatok", "toDo": "Tennivaló", "tourStatsPage": "Az a karakterlapod! Szerezz kitüntetéseket, azzal, hogy a felsorolt feladatokat elvégzed.", - "tourTavernPage": "Üdvözlet a fogadóban, a minden korosztály számára fenntartott társalgóban! Megakadályozhatod, hogy a napi feladatok sebzést okozzanak, ha beteg vagy, vagy utazol, ha a \"Sebzés szüneteltetése\" gombra kattintassz. Gyere, köszönj be!", + "tourTavernPage": "Üdvözlet a fogadóban, a minden korosztály számára fenntartott társalgóban! Megakadályozhatod, hogy a napi feladatok sebzést okozzanak, amikor beteg vagy, netán utazol, azáltal, hogy a \"Sebzés szüneteltetése\" gombra kattintasz. Gyere, köszönj be!", "tourPartyPage": "A csapatod segít abban hogy egymást számonkérjétek. Hívd meg a barátaidat, hogy feloldj egy küldetés tekercset!", "tourGuildsPage": "A céhek közös érdeklődési körön alapuló társalgók, melyeket játékosok hoztak létre. Böngéssz a listában és csatlakozz céhekhez, amik érdekelnek téged.Mindenképp látogasd meg a népszerű \"Habitica Help: Ask a Question\" céhet, ahol bármilyen kérdés feltehető a Habitica-val kapcsolatban!", "tourChallengesPage": "kihívásokA kihívások témára épülő feladatlisták, melyeket más felhasználók hoztak létre! Ha csatlakozol egy kihíváshoz, a hozzá tartozó feladatok hozzáadódnak a fiókodhoz. Versenyezz más felhasználók ellen, hogy drágaköveket nyerhess!", diff --git a/website/common/locales/hu/questscontent.json b/website/common/locales/hu/questscontent.json index 067ac00dfc..6ea4707591 100644 --- a/website/common/locales/hu/questscontent.json +++ b/website/common/locales/hu/questscontent.json @@ -36,7 +36,7 @@ "questRatUnlockText": "Elérhetővé teszi a patkánytojások megvásárlását a piacon", "questOctopusText": "A polipszörny hívása", "questOctopusNotes": "@Urse, egy lángoló tekintetű ifjú írnok, a segítségeteket kérte egy rejtélyes barlang feltárásában a tengerpart közelében. A szürkületi dagályterek között áll a masszív, függő- és állócseppkövekből álló kapuja a barlangnak. Ahogy közeledtek ehhez a kapuhoz, egy sötét örvény alakul ki. Ledöbbenten figyelitek, ahogy egy tintahal-szerű sárkány emelkedik ki innen. \"A csillagok ragacsos ivadéka felébredt!\" üvölti őrülten @Urse. \"Több decilliárd év után, a nagy Polipszörny újra szabad és örömökre éhes!\"", - "questOctopusCompletion": "Egy végső csapás után a szörnyet beszippantja az örvény, ahonnan jött. Nem tudod eldönteni, hogy @Urse boldog-e a győzelmetekkel, vagy szomórú, hogy eltűnt a bestia. Szótlanul rámutat három trutymákos, óriási tojásra, melyek egy fészeknyi arany között hevernek a mellettetek lévő dagálytérben. \"Valószínűleg csak polip-tojások\" - mondod idegesen. Az úton hazafele, @Urse viharosan firkál a naplójába, és az az érzésetek támad, hogy nem utoljára láttátok a hatalmas Polipszörnyet.", + "questOctopusCompletion": "Egy végső csapás után a szörnyet beszippantja az örvény, ahonnan jött. Nem tudod eldönteni, hogy @Urse boldog-e a győzelmetekkel, vagy szomorú, hogy eltűnt a bestia. Szótlanul rámutat három trutymákos, óriási tojásra, melyek egy fészeknyi arany között hevernek a mellettetek lévő dagálytérben. \"Valószínűleg csak polip-tojások\" - mondod idegesen. Az úton hazafelé @Urse viharosan firkál a naplójába, és olyan érzésetek támad, hogy nem utoljára láttátok a hatalmas Polipszörnyet.", "questOctopusBoss": "Polipszörny", "questOctopusDropOctopusEgg": "Polip (tojás)", "questOctopusUnlockText": "Elérhetővé teszi a poliptojások megvásárlását a piacon", @@ -173,7 +173,7 @@ "questStressbeastBossRageDescription": "Ha ez a mérő megtelik, az Utálatos Stresszörny rázúdítja Stressz-Csapását Habiticára!", "questStressbeastDropMammothPet": "Mamut (Háziállat)", "questStressbeastDropMammothMount": "Mamut (Hátas)", - "questStressbeastBossRageStables": "`Az Utálatos Stresszörny Stressz csapást hajt végre!`\n\nA stresszhullám az Utálatos Stresszörnyet gyógyítja!!\n\n\nJaj ne! A legjobb erőfeszítéseink ellenére néhány napi teendő kicsúszott a markunkból és a sötét piros színük feldühítette az Utálatos Stresszörnyet és ettől visszanyerte az életereje egy részét! A borzalmas teremtmény az istállók felé tör, de Matt a bestiamester hősiesen harcba száll, hogy megvédje a háziállatokat és a hátasokat. A Stresszörny markába ragadta Matt-ot, de legalább ez elvonta a figyelmét. Siessetek! Tartsuk kordában a napi teendőinket és győzzük le ezt a szörnyet, mielőtt újra támad!", + "questStressbeastBossRageStables": "`Az Utálatos Stresszörny Stressz csapást hajt végre!`\n\nA stresszhullám az Utálatos Stresszörnyet gyógyítja!!\n\nJaj ne! A legjobb erőfeszítéseink ellenére néhány napi teendő kicsúszott a markunkból és a sötét piros színük feldühítette az Utálatos Stresszörnyet és ettől visszanyerte az életereje egy részét! A borzalmas teremtmény az istállók felé tör, de Matt a bestiamester hősiesen harcba száll, hogy megvédje a háziállatokat és a hátasokat. A Stresszörny markába ragadta Matt-ot, de legalább ez elvonta a figyelmét. Siessetek! Tartsuk kordában a napi teendőinket és győzzük le ezt a szörnyet, mielőtt újra támad!", "questStressbeastBossRageBailey": "`Abominable Stressbeast uses STRESS STRIKE!`\n\nThe surge of stress heals Abominable Stressbeast!\n\nAhh!!! Our incomplete Dailies caused the Abominable Stressbeast to become madder than ever and regain some of its health! Bailey the Town Crier was shouting for citizens to get to safety, and now it has seized her in its other hand! Look at her, valiantly reporting on the news as the Stressbeast swings her around viciously... Let's be worthy of her bravery by being as productive as we can to save our NPCs!", "questStressbeastBossRageGuide": "`Abominable Stressbeast uses STRESS STRIKE!`\n\nThe surge of stress heals Abominable Stressbeast!\n\nLook out! Justin the Guide is trying to distract the Stressbeast by running around its ankles, yelling productivity tips! The Abominable Stressbeast is stomping madly, but it seems like we're really wearing this beast down. I doubt it has enough energy for another strike. Don't give up... we're so close to finishing it off!", "questStressbeastDesperation": "`Abominable Stressbeast reaches 500K health! Abominable Stressbeast uses Desperate Defense!`\n\nWe're almost there, Habiticans! With diligence and Dailies, we've whittled the Stressbeast's health down to only 500K! The creature roars and flails in desperation, rage building faster than ever. Bailey and Matt yell in terror as it begins to swing them around at a terrifying pace, raising a blinding snowstorm that makes it harder to hit.\n\nWe'll have to redouble our efforts, but take heart - this is a sign that the Stressbeast knows it is about to be defeated. Don't give up now!", diff --git a/website/common/locales/hu/subscriber.json b/website/common/locales/hu/subscriber.json index 75f045d08a..6e721bbbac 100644 --- a/website/common/locales/hu/subscriber.json +++ b/website/common/locales/hu/subscriber.json @@ -120,8 +120,8 @@ "paypalCanceled": "Előfizetésed lemondásra került.", "choosePaymentMethod": "Válaszd ki a fizetési módot", "buyGemsSupportsDevs": "Drágakövek vásárlása támogatja a fejlesztőket és segít a Habitica fenntartásában", - "support": "TÁMOGATÁS", - "gemBenefitLeadin": "Drágakövek segítségével szórakoztató extrákat vásárolhatsz magadnak, beleértve:", + "support": "Támogatás", + "gemBenefitLeadin": "Miket tudsz drágakövekből venni?", "gemBenefit1": "Egyedi és divatos jelmezek az avatárodnak.", "gemBenefit2": "Hátterek, amikkel jobban elmélyülhedtsz a Habitica világában!", "gemBenefit3": "Izgalmas küldetések, amelyek háziállat tojásokat dobnak.", @@ -133,5 +133,7 @@ "subscriptionBenefit6": "Juss hozzá misztikus homokórákhoz amit az időutazók boltjában tudsz elkölteni!", "purchaseAll": "Szett megvásárlása", "gemsRemaining": "drágakő maradt", - "notEnoughGemsToBuy": "Ennyi drágakő vásárlására nincs lehetőséged" + "notEnoughGemsToBuy": "Ennyi drágakő vásárlására nincs lehetőséged", + "supportHabitica": "Támogasd a Habiticát", + "subCanceledTitle": "Lemondott előfizetés" } diff --git a/website/common/locales/id/achievements.json b/website/common/locales/id/achievements.json index 85f0373dc7..624871b54d 100644 --- a/website/common/locales/id/achievements.json +++ b/website/common/locales/id/achievements.json @@ -126,7 +126,7 @@ "achievementShadeOfItAllModalText": "Kamu menjinakkan semua Tunggangan Bayangan!", "achievementWoodlandWizardModalText": "Kamu telah mengumpulkan seluruh peliharaan hutan!", "achievementPolarProModalText": "Kamu mengumpulkan seluruh Peliharaan Kutub!", - "achievementPolarProText": "Telah menetaskan semua peliharaan Kutub: Beruang, Rubah, Pinguin, Paus, dan Serigala!", + "achievementPolarProText": "Telah menetaskan semua warna standar peliharaan Kutub: Beruang, Rubah, Pinguin, Paus, dan Serigala!", "achievementBirdsOfAFeatherModalText": "Kamu mengumpulkan seluruh peliharaan yang bisa terbang!", "achievementBoneToPickModalText": "Kamu telah mengumpulkan semua Peliharaan Tulang Klasik dan Misi!", "achievementBoneToPickText": "Telah menetaskan semua Peliharaan Tulang Klasik dan Misi!", @@ -144,5 +144,11 @@ "achievementBirdsOfAFeatherText": "Telah menetaskan semua warna standar peliharaan yang bisa terbang: Babi Terbang, Burung Hantu, Nuri, Pterodaktil, Grifin, Falcon, Merak, dan Ayam!", "achievementBoneToPick": "Ambil Tulang", "achievementZodiacZookeeper": "Penangkar Zodiak", - "achievementZodiacZookeeperModalText": "Kamu mengumpulkan seluruh peliharaan zodiak!" + "achievementZodiacZookeeperModalText": "Kamu mengumpulkan seluruh peliharaan zodiak!", + "achievementPlantParentModalText": "Kamu telah mengumpulkan seluruh peliharaan tanaman!", + "achievementPlantParent": "Induk Tanaman", + "achievementPlantParentText": "Telah menetaskan semua warna standar peliharaan tanaman: Kaktus dan Treeling!", + "achievementDinosaurDynasty": "Dinasti Dinosaurus", + "achievementDinosaurDynastyText": "Telah menetaskan semua warna standar peliharaan burung dan dinosaurus: Falcon, Burung Hantu, Merak, Pinguin, Ayam Jago, Pterodaktil, T-Rex, Triceratops, dan Velociraptor!", + "achievementDinosaurDynastyModalText": "Kamu telah mengumpulkan semua peliharaan burung dan dinosaurus!" } diff --git a/website/common/locales/id/backgrounds.json b/website/common/locales/id/backgrounds.json index 2f66ab60a3..d41d6b6272 100644 --- a/website/common/locales/id/backgrounds.json +++ b/website/common/locales/id/backgrounds.json @@ -348,28 +348,28 @@ "backgroundFlyingOverAncientForestNotes": "Terbang di atas pepohonan Hutan Kuno.", "backgrounds052018": "SET 48: Dirilis Mei 2018", "backgroundTerracedRiceFieldText": "Sawah Padi Berteras", - "backgroundTerracedRiceFieldNotes": "Enjoy a Terraced Rice Field in the growing season.", + "backgroundTerracedRiceFieldNotes": "Nikmati Sengkedan Sawah di musim tanam.", "backgroundFantasticalShoeStoreText": "Toko Sepatu Fantastis", - "backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.", + "backgroundFantasticalShoeStoreNotes": "Cari alas kaki lucu di Toko Sepatu Fantastik.", "backgroundChampionsColosseumText": "Koloseum Jawara", "backgroundChampionsColosseumNotes": "Berjemur di bawah cahaya kejayaan Koloseum Jawara.", "backgrounds062018": "SET 49: Dirilis Juni 2018", "backgroundDocksText": "Dermaga", "backgroundDocksNotes": "Memancing dari atas Dermaga.", - "backgroundRowboatText": "Rowboat", - "backgroundRowboatNotes": "Sing rounds in a Rowboat.", + "backgroundRowboatText": "Perahu Dayung", + "backgroundRowboatNotes": "Bernyanyi di Perahu Dayung.", "backgroundPirateFlagText": "Bendera Bajak Laut", "backgroundPirateFlagNotes": "Kibarkan Bendera Bajak Laut yang menakutkan.", "backgrounds072018": "SET 50: Dirilis Juli 2018", - "backgroundDarkDeepText": "Dark Deep", - "backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.", + "backgroundDarkDeepText": "Gelap Dalam", + "backgroundDarkDeepNotes": "Berenang di Gelap Dalam bersama makhluk-makhluk bercahaya.", "backgroundDilatoryCityText": "Kota Dilatory", - "backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.", - "backgroundTidePoolText": "Tide Pool", - "backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.", + "backgroundDilatoryCityNotes": "Berkelana di kedalaman Kota bawah laut Dilatory.", + "backgroundTidePoolText": "Kolam Ombak", + "backgroundTidePoolNotes": "Mengamati kehidupan laut dari dekat Kolam Ombak.", "backgrounds082018": "SET 51: Dirilis Agustus 2018", - "backgroundTrainingGroundsText": "Training Grounds", - "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.", + "backgroundTrainingGroundsText": "Lapangan Latih", + "backgroundTrainingGroundsNotes": "Bertanding di Lapangan Latih.", "backgroundFlyingOverRockyCanyonText": "Ngarai Berbatu", "backgroundFlyingOverRockyCanyonNotes": "Lihat pemandangan menakjubkan di bawahmu selagi kamu terbang di atas Ngarai Berbatu.", "backgroundBridgeText": "Jembatan", @@ -382,33 +382,33 @@ "backgroundCozyBarnText": "Lumbung Nyaman", "backgroundCozyBarnNotes": "Bersantai bersama peliharaan dan tungganganmu di Lumbung Nyaman mereka.", "backgrounds102018": "SET 53: Dirilis Oktober 2018", - "backgroundBayouText": "Bayou", - "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.", + "backgroundBayouText": "Rawa", + "backgroundBayouNotes": "Disinari cahaya kunang-kunang di Rawa berkabut.", "backgroundCreepyCastleText": "Kastil Menyeramkan", "backgroundCreepyCastleNotes": "Berani mendekati Kastil Menyeramkan.", "backgroundDungeonText": "Penjara Bawah Tanah", "backgroundDungeonNotes": "Selamatkan para tahanan dari Penjara Bawah Tanah yang menyeramkan.", "backgrounds112018": "SET 54: Dirilis November 2018", - "backgroundBackAlleyText": "Back Alley", - "backgroundBackAlleyNotes": "Look shady loitering in a Back Alley.", - "backgroundGlowingMushroomCaveText": "Glowing Mushroom Cave", - "backgroundGlowingMushroomCaveNotes": "Stare in awe at a Glowing Mushroom Cave.", + "backgroundBackAlleyText": "Gang Belakang", + "backgroundBackAlleyNotes": "Terlihat mencurigakan berkeliaran di Gang Belakang.", + "backgroundGlowingMushroomCaveText": "Goa Jamur Bercahaya", + "backgroundGlowingMushroomCaveNotes": "Memandangi dengan kekaguman di gua jamur bercahaya.", "backgroundCozyBedroomText": "Kamar Tidur Nyaman", - "backgroundCozyBedroomNotes": "Curl up in a Cozy Bedroom.", + "backgroundCozyBedroomNotes": "Menggeliat di kamar yang nyaman.", "backgrounds122018": "SET 55: Dirilis Desember 2018", "backgroundFlyingOverSnowyMountainsText": "Pegunungan Bersalju", "backgroundFlyingOverSnowyMountainsNotes": "Terbang di atas Pegunungan Bersalju pada malam hari.", "backgroundFrostyForestText": "Hutan Membekukan", "backgroundFrostyForestNotes": "Bersiap-siap untuk mendaki melalui Hutan Membekukan.", - "backgroundSnowyDayFireplaceText": "Snowy Day Fireplace", - "backgroundSnowyDayFireplaceNotes": "Snuggle up next to a Fireplace on a Snowy Day.", - "backgrounds012019": "SET 56: Released January 2019", - "backgroundAvalancheText": "Avalanche", - "backgroundAvalancheNotes": "Flee the thundering might of an Avalanche.", - "backgroundArchaeologicalDigText": "Archaeological Dig", - "backgroundArchaeologicalDigNotes": "Unearth secrets of the ancient past at an Archaeological Dig.", - "backgroundScribesWorkshopText": "Scribe's Workshop", - "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop.", + "backgroundSnowyDayFireplaceText": "Perapian Hari Bersalju", + "backgroundSnowyDayFireplaceNotes": "Merapat ke perapian di hari bersalju.", + "backgrounds012019": "SET 56: Dirilis Januari 2019", + "backgroundAvalancheText": "Salju Longsor", + "backgroundAvalancheNotes": "Kabur dari kemungkinan salju longsor.", + "backgroundArchaeologicalDigText": "Penggalian Arkeologis", + "backgroundArchaeologicalDigNotes": "Membuka rahasia masa lalu di penggalian arkeologi.", + "backgroundScribesWorkshopText": "Bengkel Penulis", + "backgroundScribesWorkshopNotes": "Tulislah gulungan besar selanjutnya di bengkel penulis.", "backgrounds022019": "SET 57: Dirilis pada bulan Februari 2019", "backgrounds042019": "SET 59: Dirilis April 2019", "backgroundFlowerMarketNotes": "Mencari warna yang sempurna untuk buket atau kebun di Pasar Bunga.", @@ -620,7 +620,7 @@ "backgroundClotheslineNotes": "Bersantai sambil mengeringkan pakaian di Jemuran.", "backgroundClotheslineText": "Jemuran", "backgrounds062021": "SET 85: Dirilis Juni 2021", - "backgroundWindmillsNotes": ".Pasang pelana dan berjalan di Kincir Angin.", + "backgroundWindmillsNotes": "Pasang pelana dan berjalan di Kincir Angin.", "backgroundWindmillsText": "Kincir Angin", "backgroundDragonsLairNotes": "Mencoba untuk tidak mengusik Sarang Naga.", "backgroundDragonsLairText": "Sarang Naga", @@ -639,5 +639,156 @@ "backgroundVineyardNotes": "Telusuri Kebun Anggur yang berlimpah ruah.", "backgroundAutumnLakeshoreText": "Tepi Danau Musim Gugur", "backgrounds092021": "SET 88: Dirilis September 2021", - "backgroundVineyardText": "Kebun Anggur" + "backgroundVineyardText": "Kebun Anggur", + "backgroundWinterWaterfallText": "Air Terjun Musim Dingin", + "backgroundWinterWaterfallNotes": "Mengagumi Air Terjun Musim Dingin.", + "backgroundOrangeGroveText": "Belukar Jingga", + "backgroundOrangeGroveNotes": "Mengembara ke wangi Belukar Jingga.", + "backgrounds102021": "SET 89: Dirilis Oktober 2021", + "hideLockedBackgrounds": "Sembunyikan latar belakang yang masih terkunci", + "backgroundCrypticCandlesNotes": "Panggil pasukan sihir rahasia di antara Lilin-Lilin Gaib.", + "backgroundHauntedPhotoText": "Foto Berhantu", + "backgroundHauntedPhotoNotes": "Temukan dirimu terperangkap di dunia monokromik dalam Foto Berhantu.", + "backgroundUndeadHandsText": "Tangan Mayat Hidup", + "backgroundUndeadHandsNotes": "Mencoba kabur dari genggaman Tangan Mayat Hidup.", + "backgroundCrypticCandlesText": "Lilin Gaib", + "backgroundFortuneTellersShopNotes": "Mencari petunjuk tentang masa depanmu di Toko Peramal Masa Depan.", + "backgroundFortuneTellersShopText": "Toko Peramal Masa Depan", + "backgroundInsideAPotionBottleText": "Di dalam Botol Ramuan", + "backgrounds112021": "SET 90: Dirilis November 2021", + "backgroundSpiralStaircaseText": "Tangga Berputar", + "backgroundSpiralStaircaseNotes": "Naik, turun, dan memutari Tangga Berputar.", + "backgroundInsideAPotionBottleNotes": "Mengintip melalui kaca sembari berharap pertolongan dari dalam Botol Ramuan.", + "backgroundFrozenPolarWatersText": "Air Kutub Beku", + "backgroundFrozenPolarWatersNotes": "Jelajahi Air Kutub yang membeku.", + "backgroundWinterCanyonNotes": "Petualangan di Tebing Musim Dingin!", + "backgroundIcePalaceText": "Istana Es", + "backgroundIcePalaceNotes": "Bertakhta di Istana Es.", + "backgrounds122021": "SET 91: Dirilis Desember 2021", + "backgroundWinterCanyonText": "Tebing Musim Dingin", + "backgroundMeteorShowerText": "Hujan Meteor", + "backgroundMeteorShowerNotes": "Amati pemandangan indah malam hari menampilkan Hujan Meteor.", + "backgroundPalmTreeWithFairyLightsText": "Pohon Palem dengan Lampu Peri", + "backgroundSnowyFarmText": "Ladang Bersalju", + "backgroundSnowyFarmNotes": "Pastikan semua orang sehat dan hangat di Ladang Bersaljumu.", + "backgrounds012022": "SET 92: Dirilis Januari 2022", + "backgrounds022022": "SET 93: Dirilis Februari 2022", + "backgroundPalmTreeWithFairyLightsNotes": "Bergaya di Pohon Palem berhias Lampu Peri.", + "backgroundIridescentCloudsText": "Awan Warna-Warni", + "backgroundIridescentCloudsNotes": "Melayang di Awan Warna-Warni.", + "backgrounds032022": "SET 94: Dirilis Maret 2022", + "backgroundAnimalsDenNotes": "Bersantai di Sarang Makhluk Hutan.", + "backgroundAnimalsDenText": "Sarang Makhluk Hutan", + "backgroundBrickWallWithIvyText": "Tembok Bata Belukar", + "backgroundBrickWallWithIvyNotes": "Mengagumi Tembok Bata dengan Belukar.", + "backgroundOnACastleWallText": "Di Dinding Kastil", + "backgroundCastleGateText": "Gerbang Kastil", + "backgroundBlossomingTreesText": "Pepohonan Bersemi", + "backgroundBlossomingTreesNotes": "Menghabiskan waktu di bawah Pepohonan Bersemi.", + "backgroundFlowerShopText": "Toko Bunga", + "backgroundSpringtimeLakeText": "Danau Musim Semi", + "backgroundFloweringPrairieText": "Padang Rumput Berbunga", + "backgroundFloweringPrairieNotes": "Bersenda gurau di Padang Rumput Berbunga.", + "backgrounds042022": "SET 95: Dirilis April 2022", + "backgroundFlowerShopNotes": "Menikmati aroma wangi dari Toko Bunga.", + "backgroundSpringtimeLakeNotes": "Memandangi pinggir tepian Danau Musim Semi.", + "backgrounds052022": "SET 96: Dirilis Mei 2022", + "backgroundOnACastleWallNotes": "Memandang dari dinding sebuah Kastil.", + "backgroundCastleGateNotes": "Menjaga Gerbang Kastil.", + "backgrounds062022": "SET 97: Dirilis Juni 2022", + "backgroundEnchantedMusicRoomText": "Ruang Musik Ajaib", + "backgroundEnchantedMusicRoomNotes": "Bermain di sebuah Ruang Musik Ajaib.", + "backgroundBeachWithDunesText": "Pantai dengan Bukit Pasir", + "backgroundBeachWithDunesNotes": "Jelajah pinggiran pantai dengan bukit pasir.", + "backgroundMountainWaterfallText": "Pegunungan Air Terjun", + "backgroundMountainWaterfallNotes": "Mengagumi pegunungan air terjun.", + "backgrounds072022": "SET 98: Dirilis Juli 2022", + "backgroundBioluminescentWavesText": "Ombak Bercahaya", + "backgroundBioluminescentWavesNotes": "Mengagumi sinaran ombak yang bercahaya.", + "backgroundUnderwaterCaveText": "Gua di Bawah Air", + "backgroundUnderwaterCaveNotes": "Menjelajahi gua di bawah air.", + "backgroundUnderwaterStatuesText": "Taman Patung Dasar Laut", + "backgrounds082022": "SET 99: Dirilis Agustus 2022", + "backgroundSailboatAtSunsetText": "Perahu Layar di Kala Petang", + "backgroundSailboatAtSunsetNotes": "Menikmati keindahan perahu layar di kala petang.", + "backgroundUnderwaterStatuesNotes": "Mencoba tudak berkedip di sebuah Taman Patung Dasar Laut.", + "backgroundRainbowEucalyptusText": "Eukaliptus Pelangi", + "backgroundRainbowEucalyptusNotes": "Mengagumi belukar Eukaliptus Pelangi.", + "backgroundMessyRoomText": "Kamar Berantakan", + "backgroundByACampfireText": "Api Unggun", + "backgroundTheatreStageText": "Panggung Teater", + "backgroundTheatreStageNotes": "Berlaga di panggung teater.", + "backgroundAutumnPicnicText": "Piknik Musim Gugur", + "backgroundAutumnPicnicNotes": "Menikmati piknik di musim gugur.", + "backgroundOldPhotoText": "Foto Lama", + "backgroundOldPhotoNotes": "Bergaya di sebuah foto lama.", + "backgroundMessyRoomNotes": "Merapikan kamar yang berantakan.", + "backgroundByACampfireNotes": "Bersantai disinari cahaya api unggul.", + "backgrounds092022": "SET 100: Dirilis September 2022", + "backgrounds102022": "SET 101: Dirilis Oktober 2022", + "backgroundSpookyRuinsText": "Reruntuhan Berhantu", + "backgroundSpookyRuinsNotes": "Menjelalahi reruntuhan berhantu.", + "backgroundMaskMakersWorkshopText": "Bengkel Pembuat Topeng", + "backgroundMaskMakersWorkshopNotes": "Mencoba wajah baru di bengkel pembuat topeng.", + "backgroundCemeteryGateText": "Gerbang Perkuburan", + "backgroundCemeteryGateNotes": "Menghantui gerbang perkuburan.", + "backgrounds112022": "SET 102: Dirilis November 2022", + "backgroundAmongGiantMushroomsText": "Di Antara Jamur Raksasa", + "backgroundMistyAutumnForestNotes": "Mengelilingi hutan berkabut musim gugur.", + "backgrounds122022": "SET 103: Dirilis Desember 2022", + "backgroundBranchesOfAHolidayTreeText": "Cabang Pohon Liburan", + "backgroundAmongGiantMushroomsNotes": "Mengagumi jamur-jamur raksasa.", + "backgroundMistyAutumnForestText": "Hutan Berkabut Musim Gugur", + "backgroundAutumnBridgeText": "Jembatan di Musim Gugur", + "backgroundAutumnBridgeNotes": "Mengagumi keindahan jembatan di Musim Gugur.", + "backgrounds012023": "SET 104: Dirilis Januari 2023", + "backgroundBranchesOfAHolidayTreeNotes": "Bergembira di cabang-cabang pohon liburan.", + "backgroundInsideACrystalText": "Dalam Kristal", + "backgroundInsideACrystalNotes": "Mengintip dari dalam Kristal.", + "backgroundSnowyVillageText": "Desa Bersalju", + "backgroundSnowyVillageNotes": "Mengagumi Desa Bersalju.", + "backgrounds022023": "SET 105: Dirilis Februari 2023", + "backgroundInFrontOfFountainText": "Di Depan Air Mancur", + "backgroundInFrontOfFountainNotes": "Berjalan-jalan di depan air mancur.", + "backgroundGoldenBirdcageText": "Sarang Burung Keemasan", + "backgroundGoldenBirdcageNotes": "Bersembunyi di sarang burung keemasan.", + "backgroundFancyBedroomText": "Kamar Mewah", + "backgroundFancyBedroomNotes": "Bermewah-mewahan di kamar mewah.", + "backgroundRimeIceText": "Embun Beku", + "backgroundRimeIceNotes": "Mengagumi embun beku yang berkilauan.", + "backgroundSnowyTempleText": "Kuis Bersalju", + "backgroundSnowyTempleNotes": "Memandangi pemandangan kuil bersalju.", + "backgroundWinterLakeWithSwansText": "Danau Musim Dingin dengan Angsa", + "backgroundWinterLakeWithSwansNotes": "Menikmati pemandangan danau musim dingin dengan angsa.", + "eventBackgrounds": "Latar belakang Even", + "backgroundBirthdayBashText": "Pesta Ulang Tahun", + "backgroundBirthdayBashNotes": "Habitica mengadakan pesta ulang tahun, dan semua orang diundang!", + "backgrounds032023": "SET 106: Dirilis Maret 2023", + "backgroundOldTimeyBasketballCourtText": "Lapangan Basket Jaman Dulu", + "backgroundOldTimeyBasketballCourtNotes": "Lontaran ring basket di Lapangan Basket Jaman Dulu.", + "backgroundMangroveForestText": "Hutan Mangrove", + "backgroundMangroveForestNotes": "Menyusuri tepian hutan mangrove.", + "backgroundJungleWateringHoleText": "Lubang Pengairan Hutan", + "backgroundJungleWateringHoleNotes": "Berhenti sejenak mencicip lubang pengairan hutan.", + "backgroundLeafyTreeTunnelText": "Terowongan Pohon Berdaun", + "backgrounds042023": "SET 107: Dirilis April 2023", + "backgroundLeafyTreeTunnelNotes": "Jelajahi Terowongan Pohon Berdaun.", + "backgroundSpringtimeShowerText": "Pancuran Musim Semi", + "backgroundSpringtimeShowerNotes": "Lihat pancuran musim semi yang berbunga-bunga.", + "backgroundUnderWisteriaText": "Naungan Wisteria", + "backgroundUnderWisteriaNotes": "Bersantai di bawah naungan wisteria.", + "backgrounds052023": "SET 108: Dirilis Mei 2023", + "backgroundInAPaintingText": "Dalam Lukisan", + "backgroundInAPaintingNotes": "Nikmati perburuan kreativitas dalam Lukisan.", + "backgroundFlyingOverHedgeMazeText": "Terbang di Atas Labirin Berpagar", + "backgroundFlyingOverHedgeMazeNotes": "Mengagumi penerbangan di atas labirin berpagar.", + "backgroundCretaceousForestText": "Hutan Kapur", + "backgroundCretaceousForestNotes": "Nikmati tanaman hijau kuno di Hutan Kapur.", + "backgrounds062023": "SET 109: Dirilis Juni 2023", + "backgroundInAnAquariumText": "Dalam Akuarium", + "backgroundInAnAquariumNotes": "Berenang dengan damai dengan ikan di akuarium.", + "backgroundInsideAdventurersHideoutText": "Persembunyian Petualang", + "backgroundInsideAdventurersHideoutNotes": "Rencanakan perjalanan di dalam persembunyian petualang.", + "backgroundCraterLakeText": "Danau Kawah", + "backgroundCraterLakeNotes": "Mengagumi danau kawah yang indah.." } diff --git a/website/common/locales/id/character.json b/website/common/locales/id/character.json index 2f4288220e..a014981f00 100644 --- a/website/common/locales/id/character.json +++ b/website/common/locales/id/character.json @@ -1,5 +1,5 @@ { - "communityGuidelinesWarning": "Ingatlah bahwa Nama Tampilan, foto profil, dan celotehmu harus mengikuti Pedoman Komunitas (misalnya, tidak menggunakan bahasa senonoh, topik dewasa, penghinaan, dsb). Jika kamu mempunyai pertanyaan apapun mengenai pantasnya sesuatu hal, silahkan email <%= hrefBlankCommunityManagerEmail %>!", + "communityGuidelinesWarning": "Ingatlah bahwa Nama Tampilan, foto profil, dan celotehmu harus mengikuti Pedoman Komunitas (misalnya, tidak menggunakan bahasa tidak senonoh, topik dewasa, penghinaan, dsb). Jika kamu mempunyai pertanyaan apapun mengenai pantasnya sesuatu hal, silahkan email <%= hrefBlankCommunityManagerEmail %>!", "profile": "Profil", "avatar": "Ubah Tampilan Avatar", "editAvatar": "Sunting Avatar", @@ -15,7 +15,7 @@ "imageUrl": "URL Gambar", "inventory": "Inventori", "social": "Sosial", - "lvl": "Lvl", + "lvl": "Level", "buffed": "Mendapat Buff", "bodyBody": "Tubuh", "size": "Ukuran", @@ -37,7 +37,7 @@ "mustache": "Kumis", "flower": "Bunga", "accent": "Aksen", - "headband": "Headband", + "headband": "Ikat kepala", "wheelchair": "Kursi Roda", "extra": "Ekstra", "rainbowSkins": "Kulit Warna-Warni", @@ -62,10 +62,10 @@ "autoEquipPopoverText": "Pilih ini jika kamu ingin langsung memakai perlengkapan setelah membelinya.", "costumeDisabled": "Kamu telah menonaktifkan kostummu.", "gearAchievement": "Kamu mendapat lencana \"Ultimate Gear\" karena sudah mendapat semua perlengkapan sesuai dengan pekerjaanmu! Kamu sudah melengkapi perlengkapan berikut:", - "gearAchievementNotification": "You have earned the \"Ultimate Gear\" Achievement for upgrading to the maximum gear set for a class!", + "gearAchievementNotification": "Kamu telah memperoleh Pencapaian \"Perlengkapan Terakhir\" karena telah meng-upgrade semua perlengkapan sampai maksimal untuk suatu pekerjaan!", "moreGearAchievements": "Untuk mendapatkan lebih banyak lencana Ultimate Gear, ubah pekerjaanmu di Pengaturan > Laman Situs dan beli perlengkapan untuk pekerjaan barumu!", "armoireUnlocked": "Kalau ingin lebih banyak perlengkapan, coba cek Peti Ajaib! Klik Hadiah Peti Ajaib untuk kesempatan mendapatkan Perlengkapan spesial! Kamu juga bisa mendapatkan pengalaman atau makanan.", - "ultimGearName": "Ultimate Gear - <%= ultClass %>", + "ultimGearName": "Perlengkapan Terakhir - <%= ultClass %>", "ultimGearText": "Telah meng-upgrade set senjata dan pakaian sampai maksimal untuk pekerjaan <%= ultClass %>.", "level": "Level", "levelUp": "Naik Level!", @@ -85,7 +85,7 @@ "allocatePerPop": "Tambahkan satu poin kepada Persepsi", "allocateInt": "Poin yang diberikan untuk Kecerdasan:", "allocateIntPop": "Tambahkan satu poin kepada Kecerdasan", - "noMoreAllocate": "Sekarang kamu sudah mencapai level 100, kamu tidak akan mendapat poin atribut lagi. Kamu bisa terus menaikkan level, atau mulai petualangan baru dari level 1 dengan menggunakan Orb of Rebirth!", + "noMoreAllocate": "Sekarang kamu sudah mencapai level 100, kamu tidak akan mendapat poin atribut lagi. Kamu bisa terus menaikkan level, atau mulai petualangan baru dari level 1 dengan menggunakan Orb of Rebirth!", "stats": "Atribut", "achievs": "Pencapaian", "strength": "Kekuatan", @@ -107,7 +107,7 @@ "healer": "Penyembuh", "rogue": "Pencuri", "mage": "Penyihir", - "wizard": "Mage", + "wizard": "Penyihir", "mystery": "Misteri", "changeClass": "Ubah Pekerjaan, Mengembalikan Poin Atribut", "lvl10ChangeClass": "Untuk mengubah pekerjaan kamu harus setidaknya level 10.", @@ -164,7 +164,7 @@ "per": "PER", "int": "KEC", "notEnoughAttrPoints": "Kamu tidak memiliki cukup Poin Atribut.", - "classNotSelected": "You must select Class before you can assign Stat Points.", + "classNotSelected": "Kamu harus memilih Pekerjaan sebelum bisa menempatkan Poin Status.", "style": "Gaya", "facialhair": "Wajah", "photo": "Foto", @@ -174,7 +174,7 @@ "latestCheckin": "Check In Terakhir", "editProfile": "Edit Profil", "challengesWon": "Tantangan yang Dimenangi", - "questsCompleted": "Misi yang Diselesaikan", + "questsCompleted": "Misi yang diselesaikan", "headAccess": "Hiasan Kepala.", "backAccess": "Hiasan Punggung.", "bodyAccess": "Hiasan Tubuh.", diff --git a/website/common/locales/id/communityguidelines.json b/website/common/locales/id/communityguidelines.json index 49e142d3b2..5215a37637 100644 --- a/website/common/locales/id/communityguidelines.json +++ b/website/common/locales/id/communityguidelines.json @@ -2,82 +2,82 @@ "tavernCommunityGuidelinesPlaceholder": "Peringatan: ini merupakan obrolan segala usia, jadi gunakan isi dan bahasa yang pantas! Periksa Pedoman Komunitas di samping jika kamu mempunyai pertanyaan.", "lastUpdated": "Diperbarui terakhir kali:", "commGuideHeadingWelcome": "Selamat datang di Habitica!", - "commGuidePara001": "Greetings, adventurer! Welcome to Habitica, the land of productivity, healthy living, and the occasional rampaging gryphon. We have a cheerful community full of helpful people supporting each other on their way to self-improvement. To fit in, all it takes is a positive attitude, a respectful manner, and the understanding that everyone has different skills and limitations -- including you! Habiticans are patient with one another and try to help whenever they can.", - "commGuidePara002": "To help keep everyone safe, happy, and productive in the community, we do have some guidelines. We have carefully crafted them to make them as friendly and easy-to-read as possible. Please take the time to read them before you start chatting.", + "commGuidePara001": "Salam, petualang! Selamat datang di Habitica, tanah produktivitas, hidup sehat, dan kadang-kadang tempat mengamuknya grifin. Kamu memiliki komunitas yang ceria penuh dengan orang-orang yang senang membantu satu sama lain dalam hal pengembangan diri. Untuk bergabung, hal yang dibutuhkan hanyalah sikap positif, perilaku yang menghormati, dan pengertian bahwa semua orang memiliki kemampuan dan keterbatasan -- termasuk kamu! Para Habitican saling bersabar dengan satu sama lainnya dan selalu menolong setiap kali mereka punya kesempatan.", + "commGuidePara002": "Agar semuanya tetap aman, senang, dan produktif di komunitas ini, kami memiliki beberapa aturan. Kami telah membuatnya dengan sangat hati-hati dan mudah dibaca. Luangkanlah waktumu untuk membacanya sebelum memulai obrolan.", "commGuidePara003": "Peraturan berikut berlaku pada semua media sosial yang kami gunakan, termasuk (namun tidak terbatas pada) Trello, Github, Weblate, dan Habitica Wiki di Fandom. Selayaknya komunitas yang terus berkembang, peraturan pun menyesuaikan dengan kondisi dari waktu ke waktu. Jika ada perubahan penting pada Pedoman ini, kamu akan diberitahu melalui pengumuman Bailey dan /atau di media sosial kami!", - "commGuideHeadingInteractions": "Interactions in Habitica", + "commGuideHeadingInteractions": "Interaksi di Habitica", "commGuidePara015": "Habitica mempunyai dua jenis ruang sosial: umum, dan pribadi. Ruang umum meliputi Kedai Minuman, Guild Umum, GitHub, Trello, dan Wiki. Sedangkan ruang pribadi meliputi Guild Pribadi, obrolan Party, dan Pesan Pribadi. Semua Nama Tampilan dan @namapengguna harus menyesuaikan dengan pedoman ruang publik. Untuk mengganti Nama Tampilanmu dan/atau @namapengguna, pada app mobile pergi ke Menu > Pengaturan > Profil. Pada situs, pergi ke Pengguna > Pengaturan.", "commGuidePara016": "Ketika menjelajahi ruang publik di Habitica, terdapat beberapa peraturan umum untuk memastikan semua orang tetap bahagia dan nyaman.", - "commGuideList02A": "Hormati satu sama lain. Bersikaplah sopan, baik, ramah, dan suka membantu. Ingat: Para Habitican datang dari segala latar belakang dan punya pengalaman yang berbeda satu dengan yang lain. Inilah yang membuat Habitica sangat digemari! Membangun komunitas yang berarti saling menghormati dan merayakan segala perbedaan dan kesamaan kita semua.", + "commGuideList02A": "Hormati satu sama lain. Bersikaplah sopan, baik, ramah, dan suka membantu. Ingat: Para Habitican datang dari segala latar belakang dan punya pengalaman yang berbeda satu dengan yang lain. Inilah yang membuat Habitica sangat digemari! Membangun komunitas yang berarti saling menghormati dan merayakan segala perbedaan dan kesamaan kita semua.", "commGuideList02B": "Patuhi semuaSyarat dan Ketentuan baik di ruang publik maupun pribadi.", - "commGuideList02C": "Do not post images or text that are violent, threatening, or sexually explicit/suggestive, or that promote discrimination, bigotry, racism, sexism, hatred, harassment or harm against any individual or group. Not even as a joke. This includes slurs as well as statements. Not everyone has the same sense of humor, and so something that you consider a joke may be hurtful to another. Attack your Dailies, not each other.", - "commGuideList02D": "Keep discussions appropriate for all ages. We have many young Habiticans who use the site! Let's not tarnish any innocents or hinder any Habiticans in their goals.", - "commGuideList02E": "Avoid profanity. This includes milder, religious-based oaths that may be acceptable elsewhere. We have people from all religious and cultural backgrounds, and we want to make sure that all of them feel comfortable in public spaces. If a moderator or staff member tells you that a term is disallowed on Habitica, even if it is a term that you did not realize was problematic, that decision is final. Additionally, slurs will be dealt with very severely, as they are also a violation of the Terms of Service.", - "commGuideList02F": "Avoid extended discussions of divisive topics in the Tavern and where it would be off-topic. If you feel that someone has said something rude or hurtful, do not engage them. If someone mentions something that is allowed by the guidelines but which is hurtful to you, it’s okay to politely let someone know that. If it is against the guidelines or the Terms of Service, you should flag it and let a mod respond. When in doubt, flag the post.", - "commGuideList02G": "Patuhi segera segala permintaan Moderator. Ini juga termasuk, tetapi tidak terbatas pada, memintamu untuk membatasi jumlah postinganmu di ruang tertentu, menghapus konten yang tidak sesuai dari profil, memindahkan diskusimu ke tempat yang lebih sesuai, dll. Jangan berdebat dengan moderator. Jika kamu mempunyai masalah atau pendapat terkait cara bersikap, kirimkan email pada admin@habitica.comuntuk ditindaklanjuti oleh manager komunitas kami.", - "commGuideList02J": "Do not spam. Spamming may include, but is not limited to: posting the same comment or query in multiple places, posting links without explanation or context, posting nonsensical messages, posting multiple promotional messages about a Guild, Party or Challenge, or posting many messages in a row. Asking for gems or a subscription in any of the chat spaces or via Private Message is also considered spamming. If people clicking on a link will result in any benefit to you, you need to disclose that in the text of your message or that will also be considered spam.

It is up to the mods to decide if something constitutes spam or might lead to spam, even if you don’t feel that you have been spamming. For example, advertising a Guild is acceptable once or twice, but multiple posts in one day would probably constitute spam, no matter how useful the Guild is!", - "commGuideList02K": "Avoid posting large header text in the public chat spaces, particularly the Tavern. Much like ALL CAPS, it reads as if you were yelling, and interferes with the comfortable atmosphere.", - "commGuideList02L": "Kami sangat tidak menyarankan pertukaran informasi pribadi -- khususnya informasi yang dapat digunakan untuk mengidentifikasimu -- di ruang obrolan umum. Informasi mengidentifikasi dapat termasuk, namun tidak terbatas pada: alamat kamu, alamat email kamu, dan token API/passwordmu. Ini untuk keamananmu! Staf ataupun moderator bisa menghapus postingan sesuai kebijakan mereka. Jika kamu diminta untuk memberi informasi pribadi di dalam sebuah Guild tertutup (?), Party, atau PM, kami sangat menyarankan kamu menolak dengan sopan kemudian menyiagakan staf dan moderator dengan 1) menandakan pesan jika di dalam sebuah Party atau Guild tertutup, atau 2) mengisi Kontak Form Moderator dengan tangkapan layar.", - "commGuidePara019": "In private spaces, users have more freedom to discuss whatever topics they would like, but they still may not violate the Terms and Conditions, including posting slurs or any discriminatory, violent, or threatening content. Note that, because Challenge names appear in the winner's public profile, ALL Challenge names must obey the public space guidelines, even if they appear in a private space.", - "commGuidePara020": "Pesan Pribadi (PM) memiliki beberapa panduan tambahan. Jika seseorang telah memblokirmu, jangan hubungi mereka di tempat lain untuk tidak memblokirmu. Selain itu, kamu sebaiknya tidak mengirimkan Pesan Pribadi kepada seseorang yang meminta bantuan (karena jawaban umum untuk membantu pertanyaan sangat membantu untuk komunitas). Terakhir, jangan kirim Pesan Pribadi kepada siapapun dengan tujuan meminta hadiah permata atau langganan, karena ini bisa dianggap sebagai spamming.", - "commGuidePara020A": " Jika kamu melihat postingan atau pesan pribadi berupa pelanggaran terhadap pedoman ruang publik yang diuraikan diatas, atau jika kamu melihat postingan atau pesan pribadi yang mengganggumu atau membuatmu tidak nyaman, kamu dapat membawa masalah tersebut pada Moderator dan Staf dengan mengkllik ikon bendera untuk melaporkannya.. Seorang Staff atau Moderator akan merespon laporanmu sesegera mungkin. Mohon diperhatikan bahwa melaporkan postingan yang tidak melanggar apapun secara sengaja adalah tindakan pelanggaran Pedoman ini (lihat dibawah di \"Pelanggaran\"). Kamu juga dapat menghubungi Mods melalui formulir pada halaman \"Hubungi Kami\", yang dimana kamu juga dapat mengaksesnya melalui menu bantuan dengan mengklik \"Hubungi Tim Moderasi. Kamu juga dapat melakukan ini jikalau ada beberapa postingan bermasalah yang dilakukan oleh orang yang sama di dalam Guild yang berbeda, atau jika situasinya membutuhkan penjelasan. Kamu dapat menghubungi kami menggunakan bahasa negaramu sendiri jika itu dirasa lebih mudah: kami bisa saja menggunakan Google Translate, tapi kami ingin kamu merasa nyaman berkomunikasi dengan kami saat kamu ada masalah.", + "commGuideList02C": "Dilarang mengirimkan gambar atau tulisan yang kasar, mengancam, atau tidak senonoh, atau mempromosikan diskriminasi, penistaan, rasisme, seksisme, kebencian, dan penghinaan kepada orang atau kelompok tertentu.. Bahkan jika hanya sebagai candaan atau meme. Hal ini termasuk pelesetan maupun pernyataan resmi. Tidak semua orang memiliki selera humor yang sama, sehingga hal yang dianggap bercandaan bagi satu orang dapat menyakiti orang lain. Seranglah tugas-tugasmu, bukannya orang lain.", + "commGuideList02D": "Mohon dijaga agar diskusi tetap sesuai untuk semua umur. Hindari pembahasan topik dewasa di area publik. Kami memiliki banyak Habitican muda yang menggunakan situs ini, dan orang-orang datang dari berbagai latar belakang. Kami ingin komunitas kami jadi senyaman dan se-inklusif mungkin.", + "commGuideList02E": "Hindari kata-kata kasar. Termasuk sumpah serapah yang mungkin bisa diterima di tempat lain. Kita berasal dari beraneka ragam agama dan budaya, dan kami ingin memastikan semua orang merasa nyaman di ruang-ruang publik. Jika moderator atau staf memberi tahu kamu bahwa sebuah istilah tidak dibolehkan di Habitica, bahkan jika istilah tersebut menurut kamu tidak masalah, maka keputusan larangan itu adalah final. Selebihnya, hinaan akan diberi sanksi berat, sebab merupakan pelanggaran terhadap Persyaratan Layanan.", + "commGuideList02F": "Hindari memperpanjang diskusi yang memecah belah di Kedai Minuman dan di tempat-tempat yang tidak sebaiknya membahas hal tersebut. Jika seseorang mengatakan sesuatu yang dibolehkan oleh Pedoman Komunitas tetapi menyakitkan untuk kamu, tidak apa-apa menegur mereka secara sopan. Jika seseorang memberi tahu kami bahwa kamu membuat mereka tidak nyaman, cobalah renungkan hal ini dan jangan merespon dengan marah. Tapi jika kamu merasa sebuah percakapan mulai memanas, menjadi emosional, atau menyakitkan, berhentilah terlibat. Yang harus dilakukan adalah melaporkan pesan-pesan tersebut supaya kami tahu mengenai hal tersebut. Moderator akan merespon secepatnya. Kamu juga bisa mengirimkan pesan ke admin@habitica.com dan menyertakan tangkapan layar yang dapat membantu.", + "commGuideList02G": "Patuhi segera segala permintaan Moderator. Ini juga termasuk, tetapi tidak terbatas pada, memintamu untuk membatasi jumlah postinganmu di ruang tertentu, menghapus konten yang tidak sesuai dari profil, memindahkan diskusimu ke tempat yang lebih sesuai, dll. Jangan berdebat dengan moderator. Jika kamu mempunyai masalah atau pendapat terkait cara bersikap, kirimkan email pada admin@habitica.comuntuk ditindaklanjuti oleh manager komunitas kami.", + "commGuideList02J": "Jangan mengirim spam. Spam termasuk, tapi tidak terbatas pada: mengirimkan komentar yang sama di banyak tempat berbeda, mengirimkan tautan tanpa penjelasan atau konteks, mengirimkan pesan tidak masuk akal, mengirimkan pesan promosi yang banyak tentang sebuah Guild, Party, atau Tantangan, atau mengirimkan banyak pesan berturut-turut. Jika seseorang meng-klik sebuah tautan yang akan memberikan keuntungan untuk kamu, kamu harus memberitahukan hal tersebut di pesan, kalau tidak demikian maka dianggap sebagai spam. Moderator dapat menentukan yang mana spam atau bukan berdasarkan penilaian mereka.", + "commGuideList02K": "Hindarilah mengirim tulisan dengan header besar di ruang obrolan publik, khususnya di Kedai Minuman. Sama seperti HURUF KAPITAL SELURUHNYA, hal itu dibaca sebagai kamu berteriak, dan mengganggu suasana obrolan yang nyaman.", + "commGuideList02L": "Kami sangat tidak menyarankan pertukaran informasi pribadi -- khususnya informasi yang dapat digunakan untuk mengidentifikasimu -- di ruang obrolan publik. Informasi mengidentifikasi dapat termasuk, namun tidak terbatas pada: alamat kamu, alamat email kamu, dan token API/passwordmu. Ini untuk keamananmu! Staf ataupun moderator bisa menghapus postingan sesuai kebijakan mereka. Jika kamu diminta untuk memberi informasi pribadi di dalam sebuah Guild privat, Party, atau PM, kami sangat menyarankan kamu menolak dengan sopan kemudian memberitahu staf dan moderator dengan cara 1) melaporkan pesan 2) mengirim pesan ke admin@habitica.com dan menyertakan tangkapan layar.", + "commGuidePara019": "Dalam ruang privat, para pengguna memiliki kebebasan yang lebih untuk mendiskusikan topik apapun yang mereka mau, tapi tetap tidak boleh melanggar Ketentuan dan Aturan, termasuk mengirimkan tulisan yang mengandung hinaan atau diskriminasi, mengandung kekerasan, atau ancaman. Perlu dicatat bahwa nama Tantangan akan muncul di profil publik pemenangnya, sehingga SEMUA nama Tantangan harus mematuhi panduan aturan ruang publik, bahkan jika mereka hanya muncul di ruang privat.", + "commGuidePara020": "Pesan Pribadi (PM) memiliki beberapa panduan tambahan. Jika seseorang telah memblokirmu, jangan hubungi mereka di tempat lain untuk tidak memblokirmu. Selain itu, kamu sebaiknya tidak mengirimkan Pesan Pribadi kepada seseorang yang meminta bantuan (karena jawaban publik dari pertanyaan yang sifatnya bantuan sangat membantu untuk komunitas). Terakhir, jangan kirim Pesan Pribadi kepada siapapun dengan tujuan meminta konten berbayar dalam bentuk apapun.", + "commGuidePara020A": " Jika kamu melihat postingan atau pesan pribadi berupa pelanggaran terhadap pedoman ruang publik yang diuraikan diatas, atau jika kamu melihat postingan atau pesan pribadi yang mengganggumu atau membuatmu tidak nyaman, kamu dapat membawa masalah tersebut pada Moderator dan Staf dengan mengkllik ikon bendera untuk melaporkannya.. Seorang Staff atau Moderator akan merespon laporanmu sesegera mungkin. Mohon diperhatikan bahwa melaporkan postingan yang tidak melanggar apapun secara sengaja adalah tindakan pelanggaran Pedoman ini (lihat dibawah di \"Pelanggaran\"). Kamu juga bisa menghubungi moderator dengan mengirim email ke admin@habitica.com. Kamu dapat melakukan hal ini bila terdapat banyak postingan bermasalah dari orang yang sama di Guild berbeda, atau jika kondisinya membutuhkan suatu penjelasan. Kamu dapat menghubungi kami dengan bahasa kamu sendiri jika itu memudahkan buatmu: kami mungkin harus menggunakan Google Translate tapi kami ingin kamu merasa nyaman ketika menghubungi kami jika ada masalah.", "commGuidePara021": "Selanjutnya, beberapa ruang publik di Habitica memiliki panduan tambahan.", "commGuideHeadingTavern": "Kedai Minum", - "commGuidePara022": "The Tavern is the main spot for Habiticans to mingle. Daniel the Innkeeper keeps the place spic-and-span, and Lemoness will happily conjure up some lemonade while you sit and chat. Just keep in mind…", - "commGuidePara023": "Conversation tends to revolve around casual chatting and productivity or life improvement tips. Because the Tavern chat can only hold 200 messages, it isn't a good place for prolonged conversations on topics, especially sensitive ones (ex. politics, religion, depression, whether or not goblin-hunting should be banned, etc.). These conversations should be taken to an applicable Guild. A Mod may direct you to a suitable Guild, but it is ultimately your responsibility to find and post in the appropriate place.", - "commGuidePara024": "Don't discuss anything addictive in the Tavern. Many people use Habitica to try to quit their bad Habits. Hearing people talk about addictive/illegal substances may make this much harder for them! Respect your fellow Tavern-goers and take this into consideration. This includes, but is not exclusive to: smoking, alcohol, pornography, gambling, and drug use/abuse.", + "commGuidePara022": "Kedai Minuman adalah tempat utama para Habitican untuk nongkrong. Daniel si Penjaga Penginapan menjaga tempat ini bersih dan rapi, selain itu Lemoness akan dengan senang hati membuatkan jus lemon sementara kamu duduk dan mengobrol. Cukup ingat saja…", + "commGuidePara023": "Percakapan cenderung seputar obrolan santai dan membahas produktivitas atau tips pengembangan diri. Karena obrolan Kedai Minuman hanya dapat menampung 200 pesan, bukanlah tempat yang tepat untuk percakapan panjang suatu topik, khususnya hal-hal yang sensitif (mis. politik, agama, depresi, perdebatan apakah perburuan goblin harus dilarang, dll.). Percakapan semacam ini sebaiknya dibawa ke Guild yang terkait. Seorang moderator dapat mengarahkanmu ke Guild yang sesuai, tapi pada akhirnya hal itu merupakan tanggung jawabmu untuk menemukan dan mengirimkan obrolan itu di tempat yang tepat.", + "commGuidePara024": "Dilarang membahas hal-hal yang bersifat candu di Kedai Minuman. Banyak yang menggunakan Habitica untuk mencoba menghentikan kebiasaan buruknya. Mendengarkan orang lain berbicara tentang zat terlarang/adiktif dapat membuat hal ini jauh lebih sulit bagi mereka! Hargai sesama orang yang nongkrong di Kedai Minuman dan perhatikan hal ini. Hal ini termasuk, tapi tidak terbatas pada: merokok, alkohol, pornografi, judi, dan penggunaan/penyalahgunaan obat terlarang.", "commGuidePara027": "When a moderator directs you to take a conversation elsewhere, if there is no relevant Guild, they may suggest you use the Back Corner. The Back Corner Guild is a free public space to discuss potentially sensitive subjects that should only be used when directed there by a moderator. It is carefully monitored by the moderation team. It is not a place for general discussions or conversations, and you will be directed there by a mod only when it is appropriate.", "commGuideHeadingPublicGuilds": "Guild Publik", - "commGuidePara029": "Public Guilds are much like the Tavern, except that instead of being centered around general conversation, they have a focused theme. Public Guild chat should focus on this theme. For example, members of the Wordsmiths Guild might be cross if the conversation is suddenly focusing on gardening instead of writing, and a Dragon-Fanciers Guild might not have any interest in deciphering ancient runes. Some Guilds are more lax about this than others, but in general, try to stay on topic!", - "commGuidePara031": "Some public Guilds will contain sensitive topics such as depression, religion, politics, etc. This is fine as long as the conversations therein do not violate any of the Terms and Conditions or Public Space Rules, and as long as they stay on topic.", - "commGuidePara033": "Public Guilds may NOT contain 18+ content. If they plan to regularly discuss sensitive content, they should say so in the Guild description. This is to keep Habitica safe and comfortable for everyone.", - "commGuidePara035": "If the Guild in question has different kinds of sensitive issues, it is respectful to your fellow Habiticans to place your comment behind a warning (ex. \"Warning: references self-harm\"). These may be characterized as trigger warnings and/or content notes, and Guilds may have their own rules in addition to those given here. If possible, please use markdown to hide the potentially sensitive content below line breaks so that those who may wish to avoid reading it can scroll past it without seeing the content. Habitica staff and moderators may still remove this material at their discretion.", - "commGuidePara036": "Sebagai tambahan, materi yang sensitif haruslah relatif -- membahas masalah self-harm di dalam Guild khusus yang membahas masalah depresi adalah hal yang masuk akal, namun berbeda ceritanya jika dibahas di dalam Guild musik. Jika kamu melihat seseorang yang kerap melanggar pedoman ini, terutama setelah beberapa kali diingatkan, mohon klik logo bendera pada postingan tersebut dan beritahu moderator melalui Formulir Kontak Moderator.", - "commGuidePara037": "No Guilds, Public or Private, should be created for the purpose of attacking any group or individual. Creating such a Guild is grounds for an instant ban. Fight bad habits, not your fellow adventurers!", - "commGuidePara038": "All Tavern Challenges and Public Guild Challenges must comply with these rules as well.", + "commGuidePara029": "Guild Publik sangat mirip dengan Tavern, kecuali bahwa obrolannya tidak berpusat di sekitar percakapan umum, melainkan mereka memiliki tema yang terfokus. Obrolan Guild Publik harus fokus pada tema ini. Misalnya, anggota Guild Perangai Kata mungkin akan marah jika percakapan tiba-tiba berfokus pada berkebun daripada menulis, dan Guild Pemuja Naga mungkin tidak tertarik untuk menguraikan teks kuno. Beberapa Guild lebih longgar tentang hal ini daripada yang lain, tetapi secara umum, cobalah untuk tetap pada topik!", + "commGuidePara031": "Beberapa Guild publik akan berisi topik sensitif seperti depresi, agama, politik, dll. Ini tidak apa-apa selama percakapan di dalamnya tidak melanggar Syarat dan Ketentuan atau Aturan Ruang Publik, dan selama mereka tetap pada topik.", + "commGuidePara033": "Guild Publik TIDAK boleh berisi konten 18+. Jika mereka berencana untuk mendiskusikan konten sensitif, mereka harus mengatakannya dalam deskripsi Guild. Hal ini untuk menjaga Habitica tetap aman dan nyaman bagi semua orang.", + "commGuidePara035": "Jika Guild yang bersangkutan memiliki permasalahan sensitif yang berbeda, merupakan hal yang sopan ke sesama Habitican untuk menyertakan peringatan (mis. \"Berbahaya: dapat menyakiti diri sendiri\"). Hal ini dapat dituliskan sebagai peringatan dan/atau catatan konten, dan guild-guild tersebut dapat memiliki aturannya sendiri selain dari yang dituliskan di sini. Staf Habitica masih dapat menghapus hal seperti ini atas pertimbangan sendiri.", + "commGuidePara036": "Sebagai tambahan, materi yang sensitif haruslah relatif -- membahas masalah self-harm di dalam Guild khusus yang membahas masalah depresi adalah hal yang masuk akal, namun berbeda ceritanya jika dibahas di dalam Guild musik. Jika kamu melihat seseorang yang kerap melanggar pedoman ini, terutama setelah beberapa kali diingatkan, mohon laporkan postingan tersebut.", + "commGuidePara037": "Tidak boleh ada Guild, baik Publik atau Privat, yang dibuat dengan tujuan menyerang kelompok atau individu mana pun. Membuat Guild semacam itu adalah alasan mendasar untuk pemblokiran instan. Lawan kebiasaan buruk, bukan sesama petualang!", + "commGuidePara038": "Semua Tantangan Kedai Minuman dan Tantangan Guild Publik juga harus mematuhi aturan ini.", "commGuideHeadingInfractionsEtc": "Pelanggaran, Konsekuensi, dan Perbaikan", "commGuideHeadingInfractions": "Pelanggaran", "commGuidePara050": "Habitican selalu saling membantu, saling menghormati, dan bekerja untuk membuat komunitas jadi menyenangkan. Tapi kadang-kadang, tetap ada Habitican yang akan melanggar peraturan di atas. Jika ini terjadi, moderator akan mengambil tindakan yang perlu untuk bisa membuat Habitica jadi tempat yang menyenangkan untuk semuanya.", - "commGuidePara051": "There are a variety of infractions, and they are dealt with depending on their severity. These are not comprehensive lists, and the Mods can make decisions on topics not covered here at their own discretion. The Mods will take context into account when evaluating infractions.", + "commGuidePara051": "Ada berbagai pelanggaran, dan ditangani tergantung pada tingkat keparahannya. Ini bukan daftar keseluruhan, dan Mod dapat membuat keputusan tentang topik yang tidak dibahas di sini atas kebijakan mereka sendiri. Mod akan mempertimbangkan konteks saat mengevaluasi pelanggaran.", "commGuideHeadingSevereInfractions": "Pelanggaran Berat", "commGuidePara052": "Pelanggaran berat sangat membahayakan keamanan komunitas Habitica dan pengguna, dan karena itu memiliki konsekuensi berat sebagai akibatnya.", "commGuidePara053": "Berikut ini adalah contoh dari beberapa pelanggaran berat. Ini bukan daftar lengkap.", "commGuideList05A": "Pelanggaran dari Syarat dan Ketentuan", "commGuideList05B": "Gambar dan Kalimat yang mengandung kebencian, pelecehan/penguntit, penindasan dunia maya/cyber-bullying, pengganggu, dan perbuatan jahil/trolling", "commGuideList05C": "Pelanggaran dalam masa percobaan", - "commGuideList05D": "Menyamar sebagai Staf atau Moderator", + "commGuideList05D": "Menyamar sebagai Staf atau Moderator - hal ini termasuk mengklaim ruang yang dibuat pengguna yang tidak berafiliasi dengan Habitica sebagai resmi dan/atau dimoderasi oleh Habitica atau Mod/staf-nya", "commGuideList05E": "Pelanggaran Sedang yang Diulang", "commGuideList05F": "Pembuatan akun duplikat untuk menghindari konsekuensi (misalkan, membuat akun baru untuk mengobrol setelah hak obrolan dicabut)", "commGuideList05G": "Penipuan disengaja terhadap staf atau moderator demi menghindari konsekuensi atau membuat pengguna lain bermasalah", "commGuideHeadingModerateInfractions": "Pelanggaran Sedang", "commGuidePara054": "Pelanggaran sedang tidak mengancam keamanan komunitas, tetapi menciptakan ketidaknyamanan. Pelanggaran ini akan memiliki konsekuensi yang sedang. Ketika pelanggaran diulangi, konsekuensi akan lebih berat.", "commGuidePara055": "Berikut ini adalah beberapa contoh Pelanggaran Sedang. Ini bukan daftar lengkap.", - "commGuideList06A": "Ignoring, disrespecting or arguing with a Mod. This includes publicly complaining about moderators or other users, publicly glorifying or defending banned users, or debating whether or not a moderator action was appropriate. If you are concerned about one of the rules or the behaviour of the Mods, please contact the staff via email (admin@habitica.com).", - "commGuideList06B": "Backseat Modding. To quickly clarify a relevant point: A friendly mention of the rules is fine. Backseat modding consists of telling, demanding, and/or strongly implying that someone must take an action that you describe to correct a mistake. You can alert someone to the fact that they have committed a transgression, but please do not demand an action -- for example, saying, \"Just so you know, profanity is discouraged in the Tavern, so you may want to delete that,\" would be better than saying, \"I'm going to have to ask you to delete that post.\"", - "commGuideList06C": "Intentionally flagging innocent posts.", - "commGuideList06D": "Repeatedly Violating Public Space Guidelines", - "commGuideList06E": "Repeatedly Committing Minor Infractions", + "commGuideList06A": "Mengabaikan, tidak menghormati, atau berdebat dengan Staf. Ini termasuk mengeluh secara terbuka tentang staf atau pengguna lain, secara terbuka mengagungkan atau membela pengguna yang diblokir, atau memperdebatkan apakah tindakan staf sesuai atau tidak. Jika Kamu khawatir tentang salah satu aturan atau perilaku staf, silakan hubungi kami melalui email (admin@habitica.com).", + "commGuideList06B": "Bertingkah Moderator. Untuk mengklarifikasi poin yang relevan dengan cepat: Mengingatkan aturan dengan ramah diperbolehkan. Bertingkah Moderator adalah memberi tahu, menuntut, dan/atau menyinggung keras agar seseorang mengambil tindakan yang kamu perintahkan untuk memperbaiki kesalahannya. Kamu dapat mengingatkan seseorang bahwa mereka telah melakukan pelanggaran, tetapi tolong jangan menuntut tindakan -- misalnya, mengatakan, \"Asal tahu saja, kata-kata kotor tidak dibolehkan di Kedai Minuman, jadi kamu barangkali saja bisa menghapusnya,\" akan lebih baik daripada mengatakan, \"Saya meminta Anda untuk menghapus posting itu.\"", + "commGuideList06C": "Dengan sengaja menandai postingan yang tidak bersalah.", + "commGuideList06D": "Berulang kali melanggar Pedoman Ruang Publik", + "commGuideList06E": "Berulang kali melakukan pelanggaran kecil", "commGuideHeadingMinorInfractions": "Pelanggaran Kecil", "commGuidePara056": "Pelanggaran ringan memiliki konsekuensi kecil. Jika diulangi, konsekuensi akan semakin berat.", "commGuidePara057": "Berikut ini adalah beberapa contoh pelanggaran kecil. Ini bukan daftar lengkap .", "commGuideList07A": "Pelanggaran pertama Pedoman Ruang Publik", - "commGuideList07B": "Any statements or actions that trigger a \"Please Don't\". When a Mod has to say \"Please don't do this\" to a user, it can count as a very minor infraction for that user. An example might be \"Please don't keep arguing in favor of this feature idea after we've told you several times that it isn't feasible.\" In many cases, the Please Don't will be the minor consequence as well, but if Mods have to say \"Please Don't\" to the same user enough times, the triggering Minor Infractions will start to count as Moderate Infractions.", - "commGuidePara057A": "Some posts may be hidden because they contain sensitive information or might give people the wrong idea. Typically this does not count as an infraction, particularly not the first time it happens!", + "commGuideList07B": "Setiap pernyataan atau tindakan yang memicu kata \"Tolong jangan\" dari moderator. Ketika kamu diminta untuk tidak melakukan sesuatu secara publik, hal itu dapat menjadi dasar pemberian konsekuensi. Jika moderator telah menyampaikan koreksi tersebut berulang kali, hal itu dapat termasuk pelanggaran berat", + "commGuidePara057A": "Beberapa postingan mungkin disembunyikan karena berisi informasi sensitif atau mungkin memberi orang ide yang salah. Biasanya ini tidak dihitung sebagai pelanggaran, terutama bukan pertama kalinya itu terjadi!", "commGuideHeadingConsequences": "Konsekuensi", "commGuidePara058": "Di Habitica -- seperti di kehidupan sebenarnya -- semua aksi ada konsekuensinya, seperti jadi bugar karena sering latihan lari, gigi bolong karena makan banyak permen, atau naik kelas karena belajar.", "commGuidePara059": "Semua pelanggaran memiliki konsekuensi langsung. Beberapa contoh konsekuensi ada di bawah ini.", - "commGuidePara060": "If your infraction has a moderate or severe consequence, there will be a post from a staff member or moderator in the forum in which the infraction occurred explaining:", + "commGuidePara060": "Jika pelanggaranmu memiliki konsekuensi sedang atau berat, akan ada posting dari anggota staf atau moderator di forum di mana pelanggaran terjadi menjelaskan:", "commGuideList08A": "apa pelanggaranmu", "commGuideList08B": "apa konsekuensinya", "commGuideList08C": "apa yang perlu dilakukan untuk meluruskan situasi dan mengembalikan status Anda, jika bisa.", - "commGuidePara060A": "If the situation calls for it, you may receive a PM or email as well as a post in the forum in which the infraction occurred. In some cases you may not be reprimanded in public at all.", - "commGuidePara060B": "If your account is banned (a severe consequence), you will not be able to log into Habitica and will receive an error message upon attempting to log in. If you wish to apologize or make a plea for reinstatement, please email the staff at admin@habitica.com with your UUID (which will be given in the error message). It is your responsibility to reach out if you desire reconsideration or reinstatement.", + "commGuidePara060A": "Jika situasinya mengharuskannya, kamu mungkin menerima PM atau email serta posting di forum tempat pelanggaran terjadi. Dalam beberapa kasus, kamu mungkin tidak ditegur di depan umum sama sekali.", + "commGuidePara060B": "Jika akun kamu diblokir (pelanggaran berat), kamu tidak akan bisa masuk ke Habitica dan akan menerima pesan eror saat mencoba masuk. Jika kamu ingin meminta maaf atau membuat permohonan untuk pemulihan akun, silakan mengirim email ke staf melalui admin@habitica.com dengan User ID kamu (yang ditampilkan pada pesan eror) atau @username. Hal itu merupakan tanggung jawab kamu untuk menghubungi terlebih dahulu jika kamu mengharapkan pertimbangan ulang atau pemulihan akun.", "commGuideHeadingSevereConsequences": "Contoh dari Konsekuensi yang parah", "commGuideList09A": "Pembekuan akun (lihat di atas)", "commGuideList09C": "Mematikan permanen (\"membekukan\") progres Tingkat Kontributor", "commGuideHeadingModerateConsequences": "Contoh dari Konsekuensi Moderat", - "commGuideList10A": "Restricted public and/or private chat privileges", - "commGuideList10A1": "Jika tindakan kamu menyebabkan hak kamu untuk mengobrol di game dicabut, seorang Moderator atau anggota Staff akan mengirim sebuah pesan pribadi dan/ atau post ke forum dimana kamu dilarang mengobrol untuk memberi tahu kamu apa alasan hal ini dilakukan dan berapa lama kamu dilarang mengobrol. Setelah waktu itu berlalu, kamu akan menerima kembali hak mengobrolmu, asalkan kamu berniat untuk memperbaiki kelakuan yang telah menyebabkan larangan tersebut dan menuruti Pedoman Komunitas.", + "commGuideList10A": "Hak istimewa obrolan publik dan/atau pribadi dibatasi", + "commGuideList10A1": "Jika tindakan kamu menyebabkan hak kamu untuk mengobrol di game dicabut, kamu harus mengirim email ke admin@habitica.com. Hak kamu dapat dipulihkan atas kebijaksanaan staf jika kamu mematuhi tindakan yang diperlukan dengan sopan dan setuju untuk mematuhi Pedoman Komunitas dan Persyaratan Layanan", "commGuideList10C": "Restricted Guild/Challenge creation privileges", "commGuideList10D": "Mematikan sementara (\"membekukan\") progres Tingkat Kontributor", "commGuideList10E": "Pencabutan Tingkat Kontributor", @@ -89,10 +89,10 @@ "commGuideList11D": "Penghapusan (Mod/Staf akan menyingkirkan konten bermasalah)", "commGuideList11E": "Perubahan (Mod/Staf akan merubah konten bermasalah)", "commGuideHeadingRestoration": "Pengembalian", - "commGuidePara061": "Habitica is a land devoted to self-improvement, and we believe in second chances. If you commit an infraction and receive a consequence, view it as a chance to evaluate your actions and strive to be a better member of the community.", - "commGuidePara062": "The announcement, message, and/or email that you receive explaining the consequences of your actions is a good source of information. Cooperate with any restrictions which have been imposed, and endeavor to meet the requirements to have any penalties lifted.", - "commGuidePara063": "If you do not understand your consequences, or the nature of your infraction, ask the Staff/Moderators for help so you can avoid committing infractions in the future. If you feel a particular decision was unfair, you can contact the staff to discuss it at admin@habitica.com.", - "commGuideHeadingMeet": "Temuilah para Staff dan Moderator!", + "commGuidePara061": "Habitica adalah tempat yang dikhususkan untuk perbaikan diri, dan kami percaya pada kesempatan kedua. Jika kamu melakukan pelanggaran dan menerima konsekuensi, lihatlah sebagai kesempatan untuk mengevaluasi tindakanmu dan berusahalah untuk menjadi anggota komunitas yang lebih baik.", + "commGuidePara062": "Pengumuman, pesan, dan/atau email yang kamu terima untuk menjelaskan konsekuensi dari tindakanmu adalah sumber informasi yang baik. Patuhilah pembatasan yang telah diberlakukan, dan berusahalah untuk memenuhi persyaratan agar hukuman dicabut.", + "commGuidePara063": "Jika kamu tidak memahami konsekuensi yang kamu terima, atau sifat pelanggaranmu apa, mintalah bantuan Staf / Moderator sehingga kamu dapat menghindari melakukan pelanggaran di masa depan. Jika kamu merasa keputusan tertentu tidak adil, kamu dapat menghubungi staf untuk berdiskusi di admin@habitica.com.", + "commGuideHeadingMeet": "Temui para Staff", "commGuidePara006": "Habitica has some tireless knights-errant who join forces with the staff members to keep the community calm, contented, and free of trolls. Each has a specific domain, but will sometimes be called to serve in other social spheres.", "commGuidePara007": "Staf punya warna ungu dengan tanda mahkota. Gelar mereka adalah \"Pahlawan\".", "commGuidePara008": "Moderator memiliki tag biru gelap dengan tanda bintang. Gelar mereka adalah \"Pengawal\", kecuali Bailey, yang merupakan NPC dan memiliki tag hitam-hijau dengan tanda bintang.", @@ -102,29 +102,33 @@ "commGuideOnGitHub": "<%= gitHubName %> di GitHub", "commGuidePara010": "Selain itu terdapat juga beberapa moderator yang membantu anggota staf. Mereka telah diseleksi dengan cermat, jadi hormatilah mereka dan perhatikanlah saran-saran mereka.", "commGuidePara011": "Moderator saat ini adalah (dari kiri ke kanan):", - "commGuidePara011b": "di Github/Wikia", - "commGuidePara011c": "di Wikia", + "commGuidePara011b": "di Github/Fandom", + "commGuidePara011c": "di Wiki", "commGuidePara011d": "di Github", "commGuidePara012": "If you have an issue or concern about a particular Mod, please send an email to our Staff (admin@habitica.com).", - "commGuidePara013": "In a community as big as Habitica, users come and go, and sometimes a staff member or moderator needs to lay down their noble mantle and relax. The following are Staff and Moderators Emeritus. They no longer act with the power of a Staff member or Moderator, but we would still like to honor their work!", - "commGuidePara014": "Staff and Moderators Emeritus:", + "commGuidePara013": "Dalam komunitas sebesar Habitica, pengguna datang dan pergi, dan terkadang anggota staf atau moderator perlu meletakkan mantel mulia mereka dan bersantai. Berikut ini adalah Staf dan Moderator Emeritus. Mereka tidak lagi bertindak dengan kekuatan anggota Staf atau Moderator, tetapi kami tetap ingin menghormati pekerjaan mereka!", + "commGuidePara014": "Staf dan Moderator Emeritus:", "commGuideHeadingFinal": "Bagian Terakhir", - "commGuidePara067": "Maka terimalah ini, wahai Habitican pemberani -- Pedoman Komunitas! Hapus penat keringat di keningmu dan hadiahkan dirimu XP karna telah membaca ini semua. jika kamu masih memiliki pertanyaan mengenai Pedoman Komunitas ini, mohon beritahu kami melalui Formulir Kontak Moderatordan kami akan dengan senang hati membantumu.", + "commGuidePara067": "Maka terimalah ini, wahai Habitican pemberani -- Pedoman Komunitas! Hapus penat keringat di keningmu dan hadiahkan dirimu XP karna telah membaca ini semua. jika kamu masih memiliki pertanyaan mengenai Pedoman Komunitas ini, mohon beritahu kami melalui admin@habitica.com dan kami akan dengan senang hati membantumu.", "commGuidePara068": "Sekarang majulah, pengembara yang berani, dan kalahkan tugas-tugas itu!", "commGuideHeadingLinks": "Link yang Berguna", - "commGuideLink01": "Habitica Help: Ask a Question: a Guild for users to ask questions!", - "commGuideLink02": "The Wiki: the biggest collection of information about Habitica.", - "commGuideLink03": "GitHub: for bug reports or helping with code!", + "commGuideLink01": "Habitica Help: Ask a Question: Guild bagi pengguna untuk mengajukan pertanyaan!", + "commGuideLink02": "Wiki: koleksi informasi terbesar tentang Habitica.", + "commGuideLink03": "GitHub: untuk membantu menggunakan kode!", "commGuideLink04": "Formulir Feedback: untuk permintaan fitur situs dan aplikasi.", "commGuideLink05": "The Mobile Trello: for mobile feature requests.", - "commGuideLink06": "The Art Trello: for submitting pixel art.", - "commGuideLink07": "The Quest Trello: for submitting quest writing.", + "commGuideLink06": "The Art Trello: untuk mengirimkan seni piksel.", + "commGuideLink07": "The Quest Trello: untuk mengirimkan penulisan naskah misi.", "commGuidePara069": "Seniman berbakat berikut berkontribusi kepada ilustrasi ini:", "commGuidePara017": "Ini adalah versi ringkasnya, tapi kami menganjurkanmu untuk membaca selengkapnya dibawah:", "commGuideList01F": "Dilarang mengemis item berbayar, spamming, atau menuliskan teks dengan header besar/huruf kapital.", - "commGuideList01E": "Jangan menghasut atau terlibat percakapan kontroversial di Kedai Minuman.", + "commGuideList01E": "Jangan menghasut atau terlibat percakapan kontroversial di Kedai Minuman.", "commGuideList01D": "Harap patuhi permintaan moderator.", "commGuideList01C": "Semua diskusi harus sesuai untuk segala usia dan bebas dari kata-kata kotor.", "commGuideList01B": "Hal yang Dilarang : Segala bentuk komunikasi yang berbau kekerasan, ancaman, menyuarakan diskriminasi dll, termasuk meme, gambar, dan candaan.", - "commGuideList01A": "Syarat dan Ketentuan berlaku pada seluruh ruang, termasuk guild pribadi, obrolan party, dan pesan." + "commGuideList01A": "Syarat dan Ketentuan berlaku pada seluruh ruang, termasuk guild pribadi, obrolan party, dan pesan.", + "commGuideList09D": "Pencabutan atau penurunan tingkat kontributor", + "commGuideList05H": "Percobaan penipuan berulang atau menekan pemain lain untuk memberikan item berbayar", + "commGuideList02M": "Dilarang meminta permata, langganan, atau keanggotaan di Rencana Kelompok (Group Plan). Hal ini tidak dibolehkan di Kedai Minuman, ruang obrolan publik maupun pribadi, dan di pesan langsung. Jika kamu menerima pesan yang meminta item berbayar, laporkan pesan tersebut. Meminta permata atau langganan berulang kali, apalagi setelah mendapat peringatan, dapat berakibat pemblokiran akun.", + "commGuideList02N": "Tandai dan laporkan postingan yang melanggar Panduan ini atau Persyaratan Layanan. Kami akan menanganinya secepat mungkin. Kamu juga dapat memberi tahu staf melalui admin@habitica.com tetapi menandai adalah cara tercepat untuk mendapatkan bantuan." } diff --git a/website/common/locales/id/content.json b/website/common/locales/id/content.json index 72be45d619..3d46e47a61 100644 --- a/website/common/locales/id/content.json +++ b/website/common/locales/id/content.json @@ -4,7 +4,7 @@ "armoireText": "Peti Ajaib", "armoireNotesFull": "Buka Peti untuk mendapatkan Perlengkapan, Pengalaman, ataupun Makanan! secara acak, Sisa perlengkapan:", "armoireLastItem": "Kamu mendapat Perlengkapan langka terakhir dalam Peti Ajaib.", - "armoireNotesEmpty": "Buka Peti untuk mendapatkan Perlengkapan, Pengalaman, ataupun Makanan secara acak! Sisa perlengkapan:", + "armoireNotesEmpty": "Peti ajaib akan terisi dengan Perlengkapan baru di setiap minggu pertama tiap bulan. Sampai waktunya, klik terus untuk mendapatkan Pengalaman dan Makanan Peliharaan!", "dropEggWolfText": "Serigala", "dropEggWolfMountText": "Serigala", "dropEggWolfAdjective": "setia", @@ -32,8 +32,8 @@ "dropEggBearCubText": "Anak Beruang", "dropEggBearCubMountText": "Beruang", "dropEggBearCubAdjective": "pemberani", - "questEggGryphonText": "Gryphon", - "questEggGryphonMountText": "Gryphon", + "questEggGryphonText": "Grifin", + "questEggGryphonMountText": "Grifin", "questEggGryphonAdjective": "membanggakan", "questEggHedgehogText": "Landak", "questEggHedgehogMountText": "Landak", @@ -66,7 +66,7 @@ "questEggOwlMountText": "Burung Hantu", "questEggOwlAdjective": "bijaksana", "questEggPenguinText": "Pinguin", - "questEggPenguinMountText": "Penguin", + "questEggPenguinMountText": "Pinguin", "questEggPenguinAdjective": "berpikiran tajam", "questEggTRexText": "Tiranosaurus", "questEggTRexMountText": "Tiranosaurus", @@ -89,8 +89,8 @@ "questEggWhaleText": "Ikan Paus", "questEggWhaleMountText": "Ikan Paus", "questEggWhaleAdjective": "basah", - "questEggCheetahText": "Cheetah", - "questEggCheetahMountText": "Cheetah", + "questEggCheetahText": "Citah", + "questEggCheetahMountText": "Citah", "questEggCheetahAdjective": "jujur", "questEggHorseText": "Kuda", "questEggHorseMountText": "Kuda", @@ -163,10 +163,10 @@ "questEggYarnAdjective": "wol", "questEggPterodactylText": "Pterodaktil", "questEggPterodactylMountText": "Pterodaktil", - "questEggPterodactylAdjective": "a trusting", + "questEggPterodactylAdjective": "terpercaya", "questEggBadgerText": "Luak", "questEggBadgerMountText": "Luak", - "questEggBadgerAdjective": "a bustling", + "questEggBadgerAdjective": "ramai", "questEggSquirrelText": "Tupai", "questEggSquirrelMountText": "Tupai", "questEggSquirrelAdjective": "berekor lebat", @@ -175,13 +175,13 @@ "questEggSeaSerpentAdjective": "berkilauan", "questEggKangarooText": "Kangguru", "questEggKangarooMountText": "Kangguru", - "questEggKangarooAdjective": "a keen", + "questEggKangarooAdjective": "tajam", "questEggAlligatorText": "Buaya", "questEggAlligatorMountText": "Buaya", "questEggAlligatorAdjective": "licik", "questEggVelociraptorText": "Velociraptor", "questEggVelociraptorMountText": "Velociraptor", - "questEggVelociraptorAdjective": "a clever", + "questEggVelociraptorAdjective": "cerdas", "eggNotes": "Temukan ramuan penetas untuk dituangkan ke telur ini, dan ia akan menetas menjadi <%= eggText(locale) %> yang <%= eggAdjective(locale) %>.", "hatchingPotionBase": "Biasa", "hatchingPotionWhite": "Putih", @@ -208,11 +208,11 @@ "hatchingPotionStarryNight": "Malam Berbintang", "hatchingPotionRainbow": "Pelangi", "hatchingPotionGlass": "Kaca", - "hatchingPotionGlow": "Glow-in-the-Dark", - "hatchingPotionFrost": "Frost", - "hatchingPotionIcySnow": "Icy Snow", + "hatchingPotionGlow": "Bersinar di Kegelapan", + "hatchingPotionFrost": "Beku", + "hatchingPotionIcySnow": "Salju Sedingin Es", "hatchingPotionNotes": "Berikan ini kepada sebuah telur, dan ia akan menetas menjadi binatang peliharaan <%= potText(locale) %>.", - "premiumPotionAddlNotes": "Tidak dapat digunakan kepada telur peliharaan yang didapat dari misi.", + "premiumPotionAddlNotes": "Tidak dapat digunakan kepada telur peliharaan yang didapat dari misi. Tersedia untuk pembelian sampai dengan <%= date(locale) %>.", "foodMeat": "Daging", "foodMeatThe": "Daging", "foodMeatA": "Daging", @@ -326,5 +326,53 @@ "questEggRobotAdjective": "futuristik", "questEggRobotMountText": "Robot", "questEggRobotText": "Robot", - "questEggDolphinAdjective": "Pemotong daging" + "questEggDolphinAdjective": "Pemotong daging", + "hatchingPotionStainedGlass": "Kaca Patri", + "hatchingPotionBlackPearl": "Mutiara Hitam", + "hatchingPotionVampire": "Vampir", + "hatchingPotionTurquoise": "Pirus", + "hatchingPotionAutumnLeaf": "Daun Musim Gugur", + "hatchingPotionSandSculpture": "Patung Pasir", + "hatchingPotionMossyStone": "Batu Lumut", + "hatchingPotionSolarSystem": "Tata Surya", + "hatchingPotionMoonglow": "Sinar Rembulan", + "hatchingPotionSunset": "Senja", + "hatchingPotionPorcelain": "Porselen", + "premiumPotionUnlimitedNotes": "Tidak dapat digunakan untuk telur peliharaan misi.", + "hatchingPotionVirtualPet": "Peliharaan Virtual", + "foodPieCottonCandyBlueA": "sepotong Pie Bluberi", + "foodPieBaseA": "sepotong Pie Apel Biasa", + "foodPieBase": "Pie Apel Biasa", + "foodPieCottonCandyBlue": "Pie Bluberi", + "foodPieCottonCandyBlueThe": "Pie Bluberi", + "foodPieBaseThe": "Pie Apel Biasa", + "foodPieShadeThe": "Pie Coklat Hitam", + "foodPieShadeA": "sepotong Pie Coklat Hitam", + "foodPieShade": "Pie Coklat Hitam", + "foodPieSkeletonA": "sepotong Pie Sumsum Tulang", + "foodPieSkeleton": "Pie Sumsum Tulang", + "foodPieSkeletonThe": "Pie Sumsum Tulang", + "foodPieRedThe": "Pie Ceri Merah", + "foodPieRed": "Pie Ceri Merah", + "foodPieRedA": "sepotong Pie Ceri Merah", + "hatchingPotionTeaShop": "Toko Teh", + "foodPieCottonCandyPink": "Pie Rubarb Merah Muda", + "foodPieWhite": "Pie Puding Vanila", + "foodPieDesertThe": "Pie Gurun Pencuci Mulut", + "foodPieZombieA": "sepotong Pie Busuk", + "hatchingPotionPolkaDot": "Polkadot", + "foodPieWhiteA": "sepotong Pie Puding Vanila", + "hatchingPotionWindup": "Kunci Putar Mekanik", + "foodPieCottonCandyPinkA": "sepotong Pie Rubarb Merah Muda", + "hatchingPotionOnyx": "Onix", + "foodPieDesert": "Pie Gurun Pencuci Mulut", + "hatchingPotionPinkMarble": "Marmer Merah Muda", + "foodPieCottonCandyPinkThe": "Pie Rubarb Merah Muda", + "foodPieWhiteThe": "Pie Puding Vanila", + "foodPieGolden": "Pie Krim Pisang Emas", + "foodPieGoldenThe": "Pie Krim Pisang Emas", + "foodPieGoldenA": "sepotong Pie Krim Pisang Emas", + "foodPieZombie": "Pie Busuk", + "foodPieZombieThe": "Pie Busuk", + "foodPieDesertA": "sepotong Pie Gurun Pencuci Mulut" } diff --git a/website/common/locales/id/contrib.json b/website/common/locales/id/contrib.json index 463179e574..843157fdba 100644 --- a/website/common/locales/id/contrib.json +++ b/website/common/locales/id/contrib.json @@ -49,9 +49,10 @@ "balance": "Saldo", "playerTiers": "Tingkatan Pemain", "tier": "Tingkat", - "conRewardsURL": "http://habitica.fandom.com/wiki/Contributor_Rewards", + "conRewardsURL": "https://habitica.fandom.com/wiki/Contributor_Rewards", "surveysSingle": "Membantu Habitica berkembang, baik dengan mengisi survey atau membantu dalam pengujian utama. Terima kasih!", "surveysMultiple": "Membantu Habitica berkembang sebanyak <%= count %> kali, baik dengan mengisi survey atau membantu dalam pengujian utama. Terima kasih!", "blurbHallPatrons": "Ini adalah Aula Patron, di mana kami memberi penghormatan kepada para petualang pemberani yang telah membantu Kickstarter asli Habitica. Kami berterima kasih kepada mereka yang membantu kami mewujudkan Habitica menjadi kenyataan!", - "blurbHallContributors": "Ini adalah Aula para Kontributor, di mana kontributor open-source Habitica dicantumkan. Baik melalui kode, seni, musik, tulisan, atau bahkan hanya pertolongan kecil, mereka mendapatkan permata, perlengkapan eksklusif , dan titel kebanggaan . Kamu juga bisa berkontribusi untuk Habitica! Lihat Selengkapnya. " + "blurbHallContributors": "Ini adalah Aula para Kontributor, di mana kontributor open-source Habitica dicantumkan. Baik melalui kode, seni, musik, tulisan, atau bahkan hanya pertolongan kecil, mereka mendapatkan permata, perlengkapan eksklusif , dan titel kebanggaan . Kamu juga bisa berkontribusi untuk Habitica! Lihat Selengkapnya. ", + "noPrivAccess": "Kamu tidak memiliki hak yang diperlukan." } diff --git a/website/common/locales/id/defaulttasks.json b/website/common/locales/id/defaulttasks.json index b42a204f68..0c90580e46 100644 --- a/website/common/locales/id/defaulttasks.json +++ b/website/common/locales/id/defaulttasks.json @@ -1,6 +1,6 @@ { "defaultHabit1Text": "Kerja Produktif (Klik pensil untuk edit)", - "defaultHabit2Text": "Makan Makanan Cepat Saji (Klik pensil untuk edit)", + "defaultHabit2Text": "Makan Makanan Cepat Saji [Fast Food] (Klik pensil untuk edit)", "defaultHabit3Text": "Naik Tangga/Lift (Klik pensil untuk edit)", "defaultHabit4Text": "Tambahkan tugas ke Habitica", "defaultHabit4Notes": "Boleh Kebiasaan, Harian, atau To Do", @@ -11,7 +11,7 @@ "defaultReward2Notes": "Nonton TV, main game, makan enak, terserah kamu!", "defaultTag1": "Pekerjaan", "defaultTag2": "Olah raga", - "defaultTag3": "Kesehatan + Kesejahteraan", + "defaultTag3": "Kesehatan + Kebugaran", "defaultTag4": "Sekolah", "defaultTag5": "Tim", "defaultTag6": "Pekerjaan rumah", @@ -26,5 +26,31 @@ "healthHabit": "Makan Makanan Sehat/Junk Food", "exerciseTodoNotes": "Klik untuk menambah checklist!", "exerciseTodoText": "Mengatur jadwal olahraga", - "exerciseDailyNotes": "Klik untuk memilih jadwalmu dan menentukan latihan!" + "exerciseDailyNotes": "Klik untuk memilih jadwalmu dan menentukan latihan!", + "schoolHabit": "Belajar/Menunda-nunda", + "healthDailyNotes": "Klik untuk mengubah!", + "healthTodoNotes": "Klik untuk menambahkan ceklis!", + "schoolDailyText": "Menyelesaikan pekerjaan rumah", + "healthTodoText": "Menjadwalkan cek-up >> Buat Brainstorm kesehatan", + "healthDailyText": "Mengaitkan benang gigi", + "schoolTodoText": "Selesaikan tugas untuk kelas", + "schoolDailyNotes": "Klik untuk memilih jadwal pekerjaan rumahmu!", + "schoolTodoNotes": "Ketuk untuk memberi nama tugas dan pilih batas waktu!", + "selfCareDailyText": "5 menit bernapas dengan tenang", + "selfCareDailyNotes": "Ketuk untuk memilih jadwalmu!", + "selfCareTodoNotes": "Ketuk untuk menentukan apa yang kamu rencanakan!", + "choresDailyNotes": "Ketuk untuk memilih jadwalmu!", + "creativityTodoText": "Selesaikan proyek kreatif", + "defaultHabitText": "Klik di sini untuk mengedit ini menjadi kebiasaan buruk yang ingin kamu hentikan", + "selfCareHabit": "Istirahat sejenak", + "choresTodoNotes": "Ketuk untuk menentukan area yang berantakan!", + "creativityTodoNotes": "Ketuk untuk menentukan nama proyekmu", + "choresHabit": "10 menit bersih-bersih", + "defaultHabitNotes": "Atau hapus dari layar edit", + "choresTodoText": "Mengatur lemari >> Mengatur kekacauan", + "creativityDailyText": "Kerjakan proyek kreatif", + "creativityDailyNotes": "Ketuk untuk menentukan nama proyekmu saat ini + atur jadwal!", + "selfCareTodoText": "Terlibat dalam aktivitas yang menyenangkan", + "choresDailyText": "Cuci piring", + "creativityHabit": "Pelajari master kerajinan >> + Berlatih teknik kreatif baru" } diff --git a/website/common/locales/id/faq.json b/website/common/locales/id/faq.json index efa7c9bb8a..fffee2e5ab 100644 --- a/website/common/locales/id/faq.json +++ b/website/common/locales/id/faq.json @@ -21,7 +21,7 @@ "androidFaqAnswer4": "Ada beberapa hal yang dapat membuatmu kehilangan nyawa. Pertama, jika kamu membiarkan Keseharian kamu tidak terselesaikan, dan tidak mencentangnya pada tampilan yang muncul keesokan paginya, Keseharian itu akan memberimu damage. Kedua, jika kamu melakukan Kebiasaan buruk, itu akan memberimu damage. Terakhir, jika kamu sedang bertarun melawan Boss dengan Party-mu dan salah satu anggota Party-mu tidak menyelesaikan semua Kesehariannya, Boss itu akan menyerangmu.\n\nCara utama untuk menyembuhkan diri adalah dengan naik level, yang akan mengembalikan semua nyawamu. Kamu juga bisa membeli Ramuan Kesehatan dengan koin emas dari tab Hadiah di halaman Tugas. Plus, di level 10 atau lebih, kamu bisa memilih untuk menjadi Healer, dan kamu akan belajar skill penyembuhan. Jika kamu berada dalam Party dengan seorang Healer, mereka juga dapat menyembuhkanmu.", "webFaqAnswer4": "Ada beberapa hal yang dapat membuatmu menerima damage. Pertama, jika kamu meninggalkan Keseharian tidak terselesaikan dan tidak mencentangnya pada tampilan yang muncul keesokan paginya, Keseharian itu akan memberimu damage. Kedua, jika kamu melakukan Kebiasaan buruk, itu akan memberimu damage. Terakhir, jika kamu sedang bertarung melawan Boss dengan party-mu dan salah satu anggota party-mu tidak menyelesaikan semua Kesehariannya, Boss itu akan menyerangmu. Cara utama untuk menyembuhkan diri adalah dengan naik level, yang akan mengembalikan semua Nyawa-mu. Kamu juga dapat membeli Ramuan Kesehatan dengan Koin Emas dari kolom Hadiah. Plus, di level 10 atau lebih, kamu bisa memilih untuk menjadi Healer, dan kamu akan belajar kemampuan penyembuhan. Healer lain juga bisa menyembuhkanmu jika kamu berada dalam satu Party dengan mereka. Belajar lebih lanjut dengan menekan \"Party\" di panel navigasi.", "faqQuestion5": "Bagaimana cara bermain Habitica dengan teman-teman?", - "iosFaqAnswer5": "Cara terbaik adalah dengan mengundang mereka masuk ke dalam party-mu! Party bisa bersama-sama mengikuti misi, memerangi monster, dan merapal mantra untuk membantu satu sama lain. Pergi ke Menu > Party dan klik \"Buat Party Baru\" jika kamu belum memiliki party. Sentuh pada daftar member, dan sentuh Undang di pojok kanan atas untuk mengundang temanmu dengan mengetikkan User ID mereka (baris nomor dan angka yang bisa ditemukan di Pengaturan > Detail Akun di aplikasi, dan Pengaturan > API di website). Di website, kamu bisa juga mengundang teman lewat email, yang akan kami tambahkan di aplikasi pada pembaharuan berikutnya.\n\nDi website, kamu dan teman-temanmu juga bisa bergabung dalam Guild, yang merupakan ruang obrolan publik. Guild akan ditambahkan ke app pada update berikutnya!", + "iosFaqAnswer5": "Cara terbaik adalah mengundang mereka ke Party bersamamu! Party dapat melakukan Misi, melawan monster, dan menggunakan kemampuan untuk saling mendukung.\n\nJika kamu ingin memulai Party-mu sendiri, pergilah ke Menu > [Party](https://habitica.com/party), lalu ketuk \"Buat Party Baru\". Lalu gulir ke bawah dan ketuk \"Undang Anggota\" untuk mengundang teman dengan memasukkan @namapengguna mereka. Jika kamu ingin bergabung dengan Party orang lain, berikan saja @namapengguna-mu agar mereka dapat mengirimkan undangan kepadamu!\n\nKamu dan temanmu juga dapat bergabung dengan Guild, yang merupakan ruang obrolan publik yang menyatukan orang-orang berdasarkan minat yang sama! Ada banyak komunitas yang membantu dan menyenangkan, pastikan untuk memeriksanya.\n\nJika kamu orangnya kompetitif, kamu dan temanmu dapat membuat atau bergabung dengan Tantangan untuk melakukan serangkaian tugas. Ada berbagai macam Tantangan publik yang tersedia yang menjangkau beragam minat dan tujuan. Beberapa Tantangan publik bahkan akan memberikan hadiah Permata jika kamu terpilih sebagai pemenangnya.", "androidFaqAnswer5": "The best way is to invite them to a Party with you! Parties can go on quests, battle monsters, and cast skills to support each other. Go to the [website](https://habitica.com/) to create one if you don't already have a Party. You can also join guilds together (Social > Guilds). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many guilds as you'd like, but only one party.\n\n For more detailed info, check out the wiki pages on [Parties](http://habitica.fandom.com/wiki/Party) and [Guilds](http://habitica.fandom.com/wiki/Guilds).", "webFaqAnswer5": "The best way is to invite them to a Party with you by clicking \"Party\" in the navigation bar! Parties can go on quests, battle monsters, and cast skills to support each other. You can also join Guilds together (click on \"Guilds\" in the navigation bar). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many Guilds as you'd like, but only one Party. For more detailed info, check out the wiki pages on [Parties](http://habitica.fandom.com/wiki/Party) and [Guilds](http://habitica.fandom.com/wiki/Guilds).", "faqQuestion6": "Bagaimana caraku mendapatkan Peliharaan atau Tunggangan?", @@ -29,30 +29,80 @@ "androidFaqAnswer6": "Setiap kali kamu menyelesaikan sebuah tugas, kamu akan memperoleh kesempatan acak untuk mendapatkan Telur, Ramuan Penetasan, atau Makanan Peliharaan. Mereka semua tersimpan di Menu > Items.\n\nUntuk menetaskan seekor Peliharaan, kamu perlu sebuah telur dan satu ramuan penetas. Klik sebuah telur untuk menentukan spesies yang mau kamu tetaskan, dan pilih \"Tetaskan dengan ramuan.\" Lalu pilih sebuah ramuan penetas untuk menentukan warnanya! Untuk menggunakan Peliharaan barumu, pergi ke Menu > Kandang > Peliharaan, pilih satu spesies, klik Peliharaan yang diinginkan, dan pilih \"Gunakan\"(Avatarmu tidak menunjukkan perubahannya).\n\nKamu juga bisa membesarkan Peliharaanmu menjadi Tunggangan dengan memberinya makanan di Menu > Kandang [ > Peliharaan ]. Klik seekor Peliharaan, lalu pilih \"Beri Makan\"! Kamu harus memberinya makan berkali-kali sebelum dia berubah menjadi Tunggangan, tapi jika kamu bisa mengetahui makanan kesukaannya, dia akan bertumbuh lebih cepat. Beruji cobalah, atau [lihat contekannya di sini](http://habitica.fandom.com/wiki/Food#Food_Preferences). Untuk menggunakan Tungganganmu, pergi ke Menu > Kandang > Tunggangan, pilih satu spesies, klik Tunggangan yang diinginkan, dan pilih \"Gunakan\"(Avatarmu tidak menunjukkan perubahannya).\n\nKamu juga bisa mendapat Telur dari Peliharaan Misi dengan menyelesaikan Misi tertentu. (Lihat di bawah untuk belajar lebih lanjut tentang Misi.)", "webFaqAnswer6": "Setiap kali kamu menyelesaikan sebuah tugas, kamu mempunyai peluang mendapat sebuah Telur, Ramuan Penetas, atau Makanan Peliharaan. Mereka semua disimpan di Inventori > Item. Untuk menetaskan seekor Peliharaan, kamu perlu sebuah Telur dan Ramuan Penetas. Setelah kamu punya kedua barang tersebut, pergi ke Inventori > Kandang untuk menetaskan Peliharaanmu dengan menekan gambarnya. Setelah menetaskan Peliharaanmu, kamu bisa menggunakannya dengan menekan peliharaan itu. Kamu juga bisa membesarkan Peliharaanmu menjadi Tunggangan dengan memberinya makanan di Inventori > Kandang. Tarik sebuah Makanan Peliharaan dari bar aksi di bagian bawah layar dan taruh pada seekor Peliharaan untuk memberinya makan! Kamu harus memberinya makan berkali-kali sebelum dia berubah menjadi Tunggangan, tapi jika kamu bisa mengetahui makanan kesukaannya, dia akan bertumbuh lebih cepat. Beruji cobalah, atau [lihat contekannya di sini](http://habitica.fandom.com/wiki/Food#Food_Preferences). Setelah kamu mempunyai seekor Tunggangan, klik untuk menggunakannya di avatar-mu. Kamu juga bisa mendapat telur dari Peliharaan Misi dengan menyelesaikan Misi tertentu. (Lihat di bawah untuk belajar lebih lanjut tentang Misi.)", "faqQuestion7": "Bagaimana aku bisa menjadi Prajurit, Penyihir, Pencuri, atau Penyembuh?", - "iosFaqAnswer7": "Pada level 10, kamu dapat memilih untuk menjadi Warrior, Mage, Rogue, atau Healer. (Semua pemain mulai sebagai Warrior saat awal mula.) Setiap pekerjaan punya pilihan perlengkapan yang berbeda, Kemampuan yang berbeda yang bisa didapatkan setelah mencapai level 11, dan keuntungan berbeda. Warrior dapat melukai musuh dengan mudah, terluka lebih mudah oleh tugas yang terlewat, dan membantu Party menjadi lebih kuat. Mage juga dapat melukai musuh dengan mudah, mudah naik level, dan memiliki banyak Mana untuk Party. Rogue mendapat koin emas paling banyak dan hadiah item paling banyak, serta membantu Party mendapat lebih banyak item dan koin emas juga. Terakhir, Healer dapat menyembuhkan diri dan anggota Party.\n\nJika kamu tidak ingin langsung memilih pekerjaan -- contohnya, kamu masih ingin mendapatkan semua perlengkapan untuk pekerjaan awalmu -- kamu dapat klik \"Batalkan\" dan dapat memilih kemudian dengan membuka Menu, klik ikon Pengaturan, kemudian klik \"Aktifkan Sistem Kelas\".", + "iosFaqAnswer7": "Pada level 10, kamu dapat memilih untuk menjadi Prajurit, Penyihir, Perampok, atau Penyembuh . (Semua pemain mulai sebagai Prajurit saat awal mula.) Setiap profesi punya pilihan perlengkapan yang berbeda, Kemampuan yang berbeda yang bisa didapatkan setelah mencapai level 11, dan keuntungan berbeda. Prajurit dapat melukai musuh dengan mudah, terluka lebih mudah oleh tugas yang terlewat, dan membantu Party menjadi lebih kuat. Penyihir juga dapat melukai musuh dengan mudah, lebih mudah naik level, dan memiliki banyak Mana untuk Party. Perampok mendapat koin emas paling banyak dan hadiah item paling banyak, serta membantu Party mendapat lebih banyak item dan koin emas juga. Terakhir, Penyembuh dapat menyembuhkan diri dan anggota Party.\n\nJika kamu tidak ingin langsung memilih profesi -- contohnya, kamu masih ingin mendapatkan semua perlengkapan untuk profesi awalmu -- kamu dapat klik \"Batalkan\" dan dapat memilih kemudian dengan membuka Menu, klik ikon Pengaturan, kemudian klik \"Aktifkan Sistem Profesi\".", "androidFaqAnswer7": "Pada level 10, kamu dapat memilih untuk menjadi Warrior, Mage, Rogue, atau Healer. (Semua pemain mulai sebagai Warrior.) Setiap pekerjaan punya pilihan perlengkapan yang berbeda, Kemampuan berbeda yang bisa didapatkan setelah mencapai level 11, dan keuntungan berbeda. Warrior dapat melukai musuh dengan mudah, bertahan lebih baik dari tugas yang melukai, dan membantu Party menjadi lebih kuat. Mage juga dapat melukai musuh dengan mudah, mudah naik level, serta bisa mengisi Mana untuk Party. Rogue mendapat paling banyak koin emas dan hadiah item, dan bisa membantu Party mendapat lebih banyak item dan koin emas juga. Terakhir, Healer dapat menyembuhkan diri sendiri dan anggota Party-nya.\n\nJika kamu tidak ingin langsung memilih Pekerjaan -- contohnya, kamu masih ingin mendapatkan semua perlengkapan untuk pekerjaan awalmu -- kamu dapat klik \"Jangan Pilih\" dan bisa memilih nanti dengan membuka Menu > Pilih Pekerjaan.", - "webFaqAnswer7": "Pada level 10, kamu dapat memilih untuk menjadi Warrior, Mage, Rogue, atau Healer. (Semua pemain mulai sebagai Warrior.) Setiap Pekerjaan punya pilihan perlengkapan yang berbeda, Kemampuan berbeda yang bisa didapatkan setelah mencapai level 11, dan keuntungan berbeda. Warrior dapat melukai musuh dengan mudah, bertahan lebih baik dari tugas yang melukai, dan membantu Party menjadi lebih kuat. Mage juga dapat melukai musuh dengan mudah, mudah naik level, serta bisa mengisi Mana untuk Party. Rogue mendapat paling banyak koin emas dan hadiah item, dan bisa membantu Party mendapat lebih banyak item dan koin emas juga. Terakhir, Healer dapat menyembuhkan diri sendiri dan anggota Party-nya. Jika kamu tidak ingin langsung memilih Pekerjaan -- contohnya, kalau kamu masih ingin mendapatkan semua perlengkapan untuk pekerjaan awalmu -- kamu dapat klik \"Jangan Pilih\" dan mengaktifkannya lagi nanti di Pengaturan.", + "webFaqAnswer7": "Pada level 10, kamu dapat memilih untuk menjadi Prajurit, Penyihir, Perampok, atau Penyembuh. (Semua pemain mulai sebagai Prajurit.) Setiap Profesi punya pilihan perlengkapan yang berbeda, Kemampuan berbeda yang bisa didapatkan setelah mencapai level 11, dan keuntungan berbeda. Prajurit dapat melukai musuh dengan mudah, bertahan lebih baik dari tugas yang melukai, dan membantu Party menjadi lebih kuat. Penyihir juga dapat melukai musuh dengan mudah, lebih mudah naik level, serta bisa mengisi Mana untuk Party. Perampok mendapat paling banyak koin emas dan hadiah item, dan bisa membantu Party mendapat lebih banyak item dan koin emas juga. Terakhir, Penyembuh dapat menyembuhkan diri sendiri dan anggota Party-nya. Jika kamu tidak ingin langsung memilih Profesi -- contohnya, kalau kamu masih ingin mendapatkan semua perlengkapan untuk profesi awalmu -- kamu dapat klik \"Jangan Pilih\" dan mengaktifkannya lagi nanti di Pengaturan.", "faqQuestion8": "Apa arti Bar Status biru yang muncul di bagian atas antarmuka-ku setelah level 10?", "iosFaqAnswer8": "Baris biru yang muncul setelah kamu mencapai level 10 dan memilih Pekerjaan adalah baris Mana. Seiring kamu melanjutkan naik level, kamu akan mendapatkan Kemampuan spesial yang penggunaannya membutuhkan Mana. Setiap Pekerjaan mempunyai Kemampuan yang berbeda, yang muncul setelah level 11 dalam Menu > Gunakan Kemampuan. Tidak seperti baris nyawa, Mana tidak akan kembali penuh saat kamu naik level. Mana didapatkan ketika kamu melakukan Kebiasan Baik, Tugas Harian, dan Daftar Tugas, serta berkurang ketika kamu melakukan Kebiasaan Buruk. Kamu juga akan mendapatkan jatah Mana setiap hari -- bergantung kepada seberapa banyak Tugas Harian yang telah kamu selesaikan di hari itu.", "androidFaqAnswer8": "Bar biru yang muncul setelah kamu mencapai level 10 dan memilih Pekerjaan adalah bar Mana. Seiring kamu berlanjut naik level, kamu akan mendapatkan Kemampuan spesial yang penggunaannya membutuhkan Mana. Setiap Pekerjaan mempunyai Kemampuan yang berbeda, yang muncul setelah level 11 di Menu > Kemampuan. Tidak seperti baris nyawa, Mana tidak akan kembali penuh saat kamu naik level. Mana didapatkan ketika kamu melakukan Kebiasan Baik, Keseharian, dan To-do, serta berkurang ketika kamu melakukan Kebiasaan Buruk. Kamu juga akan mendapatkan jatah Mana setiap hari -- semakin banyak Keseharian yang kamu selesaikan, semakin banyak Mana yang kamu dapatkan.", "webFaqAnswer8": "Bar biru yang muncul setelah kamu mencapai level 10 dan memilih Pekerjaan adalah bar Mana. Seiring kamu berlanjut naik level, kamu akan mendapatkan Kemampuan spesial yang penggunaannya membutuhkan Mana. Setiap Pekerjaan mempunyai Kemampuan yang berbeda, yang muncul setelah level 11 di bar aksi yang terletak di bawah layarmu. Tidak seperti baris nyawa, Mana tidak akan kembali penuh saat kamu naik level. Mana didapatkan ketika kamu melakukan Kebiasan Baik, Keseharian, dan To-do, serta berkurang ketika kamu melakukan Kebiasaan Buruk. Kamu juga akan mendapatkan jatah Mana setiap hari -- semakin banyak Keseharian yang kamu selesaikan, semakin banyak Mana yang kamu dapatkan.", "faqQuestion9": "Bagaimana aku mengalahkan monster dan mengikuti misi?", - "iosFaqAnswer9": "First, you need to join or start a Party (see above). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n - You can buy Quests from the Quests Shop for Gold and Gems.\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", - "androidFaqAnswer9": "First, you need to join or start a Party (see above). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n - You can buy Quests from the Quests Shop for Gold and Gems.\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", - "webFaqAnswer9": "First, you need to join or start a Party by clicking \"Party\" in the navigation bar. Although you can battle monsters alone, we recommend playing in a group, because this will make quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating! Next, you need a Quest Scroll, which are stored under Inventory > Quests. There are four ways to get a scroll:\n * When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n * At level 15, you get a Quest-line, i.e., three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively.\n * You can buy Quests from the Quests Shop (Shops > Quests) for Gold and Gems.\n * When you check in to Habitica a certain number of times, you'll be rewarded with Quest Scrolls. You earn a Scroll during your 1st, 7th, 22nd, and 40th check-ins.\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading may be required to see the Boss's Health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", + "iosFaqAnswer9": "Pertama, kamu perlu bergabung atau memulai Party dengan memilih \"Party\" di menu navigasi. Meskipun kamu dapat melakukan Misi sendirian, kami sarankan bermain dengan orang lain untuk menyelesaikan Misi lebih cepat dan meningkatkan motivasimu dengan akuntabilitas ekstra.\n\nSetelah berada di Party, kamu bisa mengundang anggota Party ke gulungan Misi apa pun di Inventarismu. Setelah semua orang menerima, Misi akan dimulai. Untuk membuat progres, selesaikan tugasmu seperti biasa! Kamu akan mengumpulkan damage terhadap monster jika kamu melakukan Misi Bos, atau memiliki kesempatan untuk menemukan item jika kamu melakukan Misi pencarian. Semua progres yang tertunda diterapkan pada hari berikutnya.\n\nKetika anggota Party-mu melakukan damage yang cukup atau mengumpulkan semua item, Misi berakhir dan semua orang akan menerima hadiah mereka!", + "androidFaqAnswer9": "Pertama, kamu perlu bergabung atau memulai Party dengan memilih \"Party\" di menu navigasi. Meskipun kamu dapat melakukan Misi sendirian, kami sarankan bermain dengan orang lain untuk menyelesaikan Misi lebih cepat dan meningkatkan motivasimu dengan akuntabilitas ekstra.\n\nSetelah berada di Party, kamu bisa mengundang anggota Party ke gulungan Misi apa pun di Inventarismu. Setelah semua orang menerima, Misi akan dimulai. Untuk membuat progres, selesaikan tugasmu seperti biasa! Kamu akan mengumpulkan damage terhadap monster jika kamu melakukan Misi Bos, atau memiliki kesempatan untuk menemukan item jika kamu melakukan Misi pencarian. Semua progres yang tertunda diterapkan pada hari berikutnya.\n\nKetika anggota Party-mu melakukan damage yang cukup atau mengumpulkan semua item, Misi berakhir dan semua orang akan menerima hadiah mereka!", + "webFaqAnswer9": "Pertama, kamu perlu bergabung atau memulai Party dengan memilih \"Party\" di menu navigasi. Meskipun kamu dapat melakukan Misi sendirian, kami sarankan bermain dengan orang lain untuk menyelesaikan Misi lebih cepat dan meningkatkan motivasimu dengan akuntabilitas ekstra.\n\nSetelah berada di Party, kamu bisa mengundang anggota Party ke gulungan Misi apa pun di Inventarismu. Setelah semua orang menerima, Misi akan dimulai. Untuk membuat progres, selesaikan tugasmu seperti biasa! Kamu akan mengumpulkan damage terhadap monster jika kamu melakukan Misi Bos, atau memiliki kesempatan untuk menemukan item jika kamu melakukan Misi pencarian. Semua progres yang tertunda diterapkan pada hari berikutnya.\n\nKetika anggota Party-mu melakukan damage yang cukup atau mengumpulkan semua item, Misi berakhir dan semua orang akan menerima hadiah mereka!", "faqQuestion10": "Apa itu Permata, dan bagaimana cara mendapatkannya?", "iosFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", "androidFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.fandom.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", "webFaqAnswer10": "Gems are purchased with real money, although [subscribers](https://habitica.com/user/settings/subscription) can purchase them with Gold. When people subscribe or buy Gems, they are helping us to keep the site running. We're very grateful for their support! In addition to buying Gems directly or becoming a subscriber, there are two other ways players can gain Gems:\n* Win a Challenge that has been set up by another player. Go to Challenges > Discover Challenges to join some.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.fandom.com/wiki/Contributing_to_Habitica). Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the site without them!", "faqQuestion11": "Bagaimana saya melaporkan gangguan atau meminta suatu fitur?", - "iosFaqAnswer11": "Kamu dapat melaporkan gangguan, meminta fitur baru, atau mengirim timbal balik melalui Menu > Tentang > Laporkan Gangguan dan Menu > Tentang > Kirim Timbal Balik! Kami akan melakukan semampu kami untuk membantumu.", - "androidFaqAnswer11": "Kamu dapat melaporkan gangguan, meminta fitur baru, atau mengirim timbal balik melalui Tentang > Laporkan Gangguan dan Tentang > Kirim Timbal Balik! Kami akan melakukan semampu kami untuk membantumu.", - "webFaqAnswer11": "Untuk melaporkan gangguan teknis, klik [Bantuan > Laporkan Gangguan](https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac) dan baca poin-poin di atas kotak obrolan. Jika kamu tidak dapat masuk ke Habitica, kirim detail login kamu (bukan kata sandimu!) ke [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Jangan khawatir, kami akan membetulkannya secepat mungkin! Permintaan Fitur akan dikumpulkan di Trello. Klik [Bantuan > Minta Sebuah Fitur](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) dan ikuti petunjuknya. Ta-da!", + "iosFaqAnswer11": "Jika kamu merasa mengalami gangguan, buka Menu > Dukungan > Dapatkan Bantuan untuk mencari perbaikan cepat, masalah umum, atau melaporkan gangguan tersebut kepada kami. Kami akan melakukan segala yang kami bisa untuk membantumu.\n\n Untuk mengirim umpan balik atau meminta fitur, kamu dapat mengakses formulir umpan balik kami dari Menu > Dukungan > Kirim Umpan Balik. Jika kami memiliki pertanyaan, kami akan menghubungimu untuk informasi lebih lanjut!", + "androidFaqAnswer11": "Jika kamu merasa mengalami gangguan, buka Menu > Dukungan > Dapatkan Bantuan untuk mencari perbaikan cepat, masalah umum, atau melaporkan gangguan tersebut kepada kami. Kami akan melakukan segala yang kami bisa untuk membantumu.\n\n Untuk mengirim umpan balik atau meminta fitur, kamu dapat mengakses formulir umpan balik kami dari Menu > Dukungan > Kirim Umpan Balik. Jika kami memiliki pertanyaan, kami akan menghubungimu untuk informasi lebih lanjut!", + "webFaqAnswer11": "Untuk melaporkan gangguan teknis, klik Bantuan > Laporkan Gangguan untuk mengirimkan email kepada kami. (Kamu mungkin perlu mengatur handling 'mailto' pada browsermu.) Jika kamu tidak dapat masuk ke Habitica, kirim detail login kamu (bukan kata sandimu!) ke [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Jangan khawatir, kami akan membetulkannya secepat mungkin! Permintaan Fitur akan dikumpulkan melalui Google Form. Klik [Bantuan > Minta Sebuah Fitur](https://docs.google.com/forms/d/e/1FAIpQLScPhrwq_7P1C6PTrI3lbvTsvqGyTNnGzp1ugi1Ml0PFee_p5g/viewform?usp=sf_link) dan ikuti petunjuknya. Ta-da!", "faqQuestion12": "Bagaimana caranya melawan World Boss?", "iosFaqAnswer12": "World Boss adalah monster spesial yang muncul di Kedai Minuman. Semua pengguna aktif akan bertarung melawan Boss itu secara otomatis, dan tugas mereka dan Kemampuan mereka akan memberikan damage kepada Boss seperti biasa.\n\nKamu juga bisa melakukan Misi biasa secara bersamaan. Tugas-tugas dan Kemampuanmu akan diperhitungkan terhadap World Boss dan juga Misi Mengumpulkan Barang/ Misi Boss di party-mu.\n\nSebuah World Boss tidak akan pernah menyakitimu atau akunmu dengan cara apapun. Sebagai ubahnya, ia mempunyai Tingkat Kemarahan yang terisi ketika pengguna melewatkan Keseharian mereka. Jika Tingkat Kemarahan itu penuh, ia akan menyerang salah satu dari para Non-Player Character di sekitar situs dan gambar mereka akan berubah.\n\nKamu bisa membaca lebih lanjut tentang [World Boss sebelumnya](http://habitica.fandom.com/wiki/World_Bosses) di wiki.", "androidFaqAnswer12": "World Boss adalah monster spesial yang muncul di Kedai Minuman. Semua pengguna aktif akan bertarung melawan Boss itu secara otomatis, dan tugas mereka dan Kemampuan mereka akan memberikan damage kepada Boss seperti biasa.\n\nKamu juga bisa melakukan Misi biasa secara bersamaan. Tugas-tugas dan Kemampuanmu akan diperhitungkan terhadap World Boss dan juga Misi Mengumpulkan Barang/ Misi Boss di party-mu.\n\nSebuah World Boss tidak akan pernah menyakitimu atau akunmu dengan cara apapun. Sebagai ubahnya, ia mempunyai Tingkat Kemarahan yang terisi ketika pengguna melewatkan Keseharian mereka. Jika Tingkat Kemarahan itu penuh, ia akan menyerang salah satu dari para Non-Player Character di sekitar situs dan gambar mereka akan berubah.\n\nKamu bisa membaca lebih lanjut tentang [World Boss sebelumnya](http://habitica.fandom.com/wiki/World_Bosses) di wiki.", "webFaqAnswer12": "World Boss adalah monster spesial yang muncul di Kedai Minuman. Semua pengguna aktif akan bertarung melawan Boss itu secara otomatis, dan tugas mereka dan Kemampuan mereka akan memberikan damage kepada Boss seperti biasa. Kamu juga bisa melakukan Misi biasa secara bersamaan. Tugas-tugas dan Kemampuanmu akan diperhitungkan terhadap World Boss dan juga Misi Mengumpulkan Barang/ Misi Boss di party-mu. Sebuah World Boss tidak akan pernah menyakitimu atau akunmu dengan cara apapun. Sebagai ubahnya, ia mempunyai Tingkat Kemarahan yang terisi ketika pengguna melewatkan Keseharian mereka. Jika Tingkat Kemarahan itu penuh, ia akan menyerang salah satu dari para Non-Player Character di sekitar situs dan gambar mereka akan berubah. Kamu bisa membaca lebih lanjut tentang [World Boss sebelumnya](http://habitica.fandom.com/wiki/World_Bosses) di wiki.", "iosFaqStillNeedHelp": "Jika kamu punya pertanyaan yang tidak ada di dalam daftar ini atau di [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), tanyakan saja di Tavern chat di Menu > Tavern! Kami senang untuk membantu.", "androidFaqStillNeedHelp": "Jika kamu punya pertanyaan yang tidak tertera dalam daftar ini atau di [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), tanyakan saja di obrolan Kedai Minuman di Menu > Kedai Minuman! Kami akan membantu dengan senang hati.", - "webFaqStillNeedHelp": "Jika kamu punya pertanyaan yang tidak ada di dalam daftar atau di [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), tanyakan saja di [Guild Bantuan Habitica](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Kami akan membantu dengan senang hati." + "webFaqStillNeedHelp": "Jika kamu punya pertanyaan yang tidak ada di dalam daftar atau di [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), tanyakan saja di [Guild Bantuan Habitica](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Kami akan membantu dengan senang hati.", + "faqQuestion13": "Apa itu Rencana Kelompok?", + "androidFaqAnswer13": "## Bagaimana cara kerja Paket Grup?\n\n[Paket Grup](/group-plans) memberi Party atau Guild-mu akses ke Papan Tugas Bersama yang mirip dengan papan tugas pribadimu! Ini adalah pengalaman Habitica bersama di mana tugas dapat dibuat dan diselesaikan oleh siapa pun dalam grup.\n\nAda juga fitur yang tersedia seperti peran anggota, tampilan status, dan penetapan tugas yang memberimu pengalaman yang lebih terkontrol. [Kunjungi laman wiki kami](https://habitica.fandom.com/wiki/Group_Plans) untuk mempelajari lebih lanjut tentang fitur Paket Grup kami!\n\n## Siapa yang diuntungkan dari Paket Grup?\n\nPaket Grup berfungsi paling baik bila kamu memiliki tim kecil yang terdiri dari orang-orang yang ingin berkolaborasi bersama. Kami merekomendasikan 2-5 anggota.\n\nPaket Grup sangat bagus untuk keluarga, apakah itu orang tua dan anak atau kamu dan pasanganmu. Tujuan, tugas, atau tanggung jawab bersama mudah dilacak di satu papan.\n\nPaket Grup juga dapat berguna untuk tim kolega yang memiliki tujuan bersama, atau manajer yang ingin memperkenalkan gamifikasi kepada karyawan mereka.\n\n## Tips cepat untuk menggunakan Grup\n\nBerikut adalah beberapa kiat cepat untuk membantumu memulai Grup baru. Kami akan memberikan detail selengkapnya di bagian berikut:\n\n* Jadikan anggota sebagai manajer untuk memberinya kemampuan membuat dan mengedit tugas\n* Biarkan tugas tidak ditetapkan jika ada yang bisa menyelesaikannya dan hanya perlu dilakukan sekali\n* Tetapkan tugas ke satu orang untuk memastikan tidak ada orang lain yang boleh menyelesaikan tugas tersebut\n* Tetapkan tugas ke beberapa orang jika mereka semua harus menyelesaikannya\n* Alihkan kemampuan untuk menampilkan tugas bersama di papan pribadimu agar tidak melewatkan apa pun\n* Kamu mendapatkan imbalan untuk tugas yang kamu selesaikan, bahkan untuk yang ditugaskan ke banyak orang\n* Hadiah penyelesaian tugas tidak dibagikan dan tidak dibagi di antara anggota Tim\n* Gunakan warna tugas di Papan Tim untuk menilai tingkat penyelesaian tugas rata-rata\n* Tinjau tugas di Papan Tim kamu secara teratur untuk memastikannya masih relevan\n* Keseharian yang terlewat tidak melukaimu atau timmu, hanya saja tugas tersebut akan menurun warnanya\n\n## Bagaimana cara orang lain dalam grup membuat tugas?\n\nHanya pemimpin grup dan manajer yang dapat membuat tugas. Jika kamu ingin anggota grup dapat membuat tugas, maka kamu harus mempromosikan mereka menjadi manajer dengan membuka tab Informasi Grup, melihat daftar anggota, dan mengklik ikon titik dengan nama mereka.\n\n## Bagaimana cara kerja penetapan tugas?\n\nPaket Grup memberimu kemampuan unik untuk menetapkan tugas kepada anggota grup lainnya. Menetapkan tugas sangat bagus untuk mendelegasikan. Jika kamu menetapkan tugas kepada seseorang, maka anggota lain tidak akan bisa menyelesaikannya.\n\nKamu juga dapat menetapkan tugas ke beberapa orang jika perlu diselesaikan oleh lebih dari satu anggota. Misalnya, jika setiap orang harus menyikat gigi, buat tugas dan tetapkan ke setiap anggota grup. Mereka semua akan dapat menyelesaikannya dan mendapatkan hadiah individu saat melakukannya. Tugas utama akan ditampilkan sebagai selesai setelah semua orang menyelesaikannya.\n\n## Bagaimana cara kerja tugas yang belum ditetapkan?\n\nTugas yang belum ditetapkan dapat diselesaikan oleh siapa saja dalam grup, jadi biarkan tugas tidak ditetapkan untuk memungkinkan setiap anggota menyelesaikannya. Misalnya, membuang sampah. Siapa pun yang membuang sampah dapat menyelesaikan tugas yang tidak ditugaskan dan akan ditampilkan sebagai selesai untuk semua orang.\n\n## Bagaimana cara kerja reset hari tersinkronisasi?\n\nTugas bersama akan di-reset secara bersamaan agar semua orang tetap menyinkronkan Papan Tugas Bersama. Waktu ini terlihat di Papan Tugas Bersama dan ditentukan oleh waktu permulaan hari sari pemimpin grup. Karena tugas bersama di-reset secara otomatis, kamu tidak akan mendapatkan kesempatan untuk menyelesaikan Keseharian bersama yang belum selesai kemarin saat kamu check-in keesokan paginya.\n\nKeseharian Bersama tidak akan melukai jika terlewatkan, namun warnanya akan menurun untuk membantu memvisualisasikan kemajuan. Kami tidak ingin pengalaman bersama menjadi negatif!\n\n## Bagaimana cara menggunakan Grup saya di aplikasi seluler?\n\nMeskipun aplikasi seluler belum sepenuhnya mendukung semua fungsi Paket Grup, kamu masih dapat menyelesaikan tugas bersama dari aplikasi iOS dan Android dengan menyalin tugas ke papan tugas pribadimu. Kamu dapat mengaktifkan preferensi ini dari Pengaturan di aplikasi seluler atau dari papan tugas grup di versi browser. Dengan demikian, tugas bersama yang tersedia dan ditetapkan akan ditampilkan di papan tugas pribadimu di semua platform.\n\n## Apa perbedaan antara tugas bersama Grup dan Tantangan?\n\nPapan Tugas Bersama di Paket Grup lebih dinamis daripada Tantangan, karena dapat terus diperbarui dan berinteraksi dengannya. Tantangan sangat bagus jika kamu memiliki satu set tugas untuk dikirim ke banyak orang.\n\nPaket Grup juga merupakan fitur berbayar, sementara Tantangan tersedia gratis untuk semua orang.\n\nKamu tidak dapat menetapkan tugas tertentu di Tantangan, dan Tantangan tidak memiliki pengaturan reset hari bersama. Secara umum, Tantangan menawarkan lebih sedikit kontrol dan interaksi langsung.", + "androidFaqAnswer19": "Party memiliki batas maksimal 30 anggota dan minimal 1 anggota. Undangan tertunda dihitung dalam jumlah anggota. Misalnya, ada 29 anggota dan 1 undangan tertunda akan tetap dihitung sebagai 30 anggota. Untuk menghapus undangan yang tertunda, pemain yang diundang harus menerima atau menolak, atau pemimpin Party harus membatalkan undangan.", + "faqQuestion18": "Saya memiliki Party, bagaimana cara menemukan anggota lebih banyak?", + "iosFaqAnswer19": "Party memiliki batas maksimal 30 anggota dan minimal 1 anggota. Undangan tertunda dihitung dalam jumlah anggota. Misalnya, ada 29 anggota dan 1 undangan tertunda akan tetap dihitung sebagai 30 anggota. Untuk menghapus undangan yang tertunda, pemain yang diundang harus menerima atau menolak, atau pemimpin Party harus membatalkan undangan.", + "iosFaqAnswer23": "Saat ini tidak ada cara untuk memfilter daftar anggota yang mencari Party. Namun, kami memiliki rencana untuk memasangkan filter di masa mendatang, seperti kelas, level, dan bahasa.", + "androidFaqAnswer23": "Saat ini tidak ada cara untuk memfilter daftar anggota yang mencari Party. Namun, kami memiliki rencana untuk memasangkan filter di masa mendatang, seperti kelas, level, dan bahasa.", + "webFaqAnswer23": "Saat ini tidak ada cara untuk memfilter daftar anggota yang mencari Party. Namun, kami memiliki rencana untuk memasangkan filter di masa mendatang, seperti kelas, level, dan bahasa.", + "faqQuestion24": "Bagaimana cara mencari Party di Android atau iOS?", + "iosFaqAnswer13": "## Bagaimana cara kerja Paket Grup?\n\n[Paket Grup](/group-plans) memberi Party atau Guild-mu akses ke Papan Tugas Bersama yang mirip dengan papan tugas pribadimu! Ini adalah pengalaman Habitica bersama di mana tugas dapat dibuat dan diselesaikan oleh siapa pun dalam grup.\n\nAda juga fitur yang tersedia seperti peran anggota, tampilan status, dan penetapan tugas yang memberimu pengalaman yang lebih terkontrol. [Kunjungi laman wiki kami](https://habitica.fandom.com/wiki/Group_Plans) untuk mempelajari lebih lanjut tentang fitur Paket Grup kami!\n\n## Siapa yang diuntungkan dari Paket Grup?\n\nPaket Grup berfungsi paling baik bila kamu memiliki tim kecil yang terdiri dari orang-orang yang ingin berkolaborasi bersama. Kami merekomendasikan 2-5 anggota.\n\nPaket Grup sangat bagus untuk keluarga, apakah itu orang tua dan anak atau kamu dan pasanganmu. Tujuan, tugas, atau tanggung jawab bersama mudah dilacak di satu papan.\n\nPaket Grup juga dapat berguna untuk tim kolega yang memiliki tujuan bersama, atau manajer yang ingin memperkenalkan gamifikasi kepada karyawan mereka.\n\n## Tips cepat untuk menggunakan Grup\n\nBerikut adalah beberapa kiat cepat untuk membantumu memulai Grup baru. Kami akan memberikan detail selengkapnya di bagian berikut:\n\n* Jadikan anggota sebagai manajer untuk memberinya kemampuan membuat dan mengedit tugas\n* Biarkan tugas tidak ditetapkan jika ada yang bisa menyelesaikannya dan hanya perlu dilakukan sekali\n* Tetapkan tugas ke satu orang untuk memastikan tidak ada orang lain yang boleh menyelesaikan tugas tersebut\n* Tetapkan tugas ke beberapa orang jika mereka semua harus menyelesaikannya\n* Alihkan kemampuan untuk menampilkan tugas bersama di papan pribadimu agar tidak melewatkan apa pun\n* Kamu mendapatkan imbalan untuk tugas yang kamu selesaikan, bahkan untuk yang ditugaskan ke banyak orang\n* Hadiah penyelesaian tugas tidak dibagikan dan tidak dibagi di antara anggota Tim\n* Gunakan warna tugas di Papan Tim untuk menilai tingkat penyelesaian tugas rata-rata\n* Tinjau tugas di Papan Tim kamu secara teratur untuk memastikannya masih relevan\n* Keseharian yang terlewat tidak melukaimu atau timmu, hanya saja tugas tersebut akan menurun warnanya\n\n## Bagaimana cara orang lain dalam grup membuat tugas?\n\nHanya pemimpin grup dan manajer yang dapat membuat tugas. Jika kamu ingin anggota grup dapat membuat tugas, maka kamu harus mempromosikan mereka menjadi manajer dengan membuka tab Informasi Grup, melihat daftar anggota, dan mengklik ikon titik dengan nama mereka.\n\n## Bagaimana cara kerja penetapan tugas?\n\nPaket Grup memberimu kemampuan unik untuk menetapkan tugas kepada anggota grup lainnya. Menetapkan tugas sangat bagus untuk mendelegasikan. Jika kamu menetapkan tugas kepada seseorang, maka anggota lain tidak akan bisa menyelesaikannya.\n\nKamu juga dapat menetapkan tugas ke beberapa orang jika perlu diselesaikan oleh lebih dari satu anggota. Misalnya, jika setiap orang harus menyikat gigi, buat tugas dan tetapkan ke setiap anggota grup. Mereka semua akan dapat menyelesaikannya dan mendapatkan hadiah individu saat melakukannya. Tugas utama akan ditampilkan sebagai selesai setelah semua orang menyelesaikannya.\n\n## Bagaimana cara kerja tugas yang belum ditetapkan?\n\nTugas yang belum ditetapkan dapat diselesaikan oleh siapa saja dalam grup, jadi biarkan tugas tidak ditetapkan untuk memungkinkan setiap anggota menyelesaikannya. Misalnya, membuang sampah. Siapa pun yang membuang sampah dapat menyelesaikan tugas yang tidak ditugaskan dan akan ditampilkan sebagai selesai untuk semua orang.\n\n## Bagaimana cara kerja reset hari tersinkronisasi?\n\nTugas bersama akan di-reset secara bersamaan agar semua orang tetap menyinkronkan Papan Tugas Bersama. Waktu ini terlihat di Papan Tugas Bersama dan ditentukan oleh waktu permulaan hari sari pemimpin grup. Karena tugas bersama di-reset secara otomatis, kamu tidak akan mendapatkan kesempatan untuk menyelesaikan Keseharian bersama yang belum selesai kemarin saat kamu check-in keesokan paginya.\n\nKeseharian Bersama tidak akan melukai jika terlewatkan, namun warnanya akan menurun untuk membantu memvisualisasikan kemajuan. Kami tidak ingin pengalaman bersama menjadi negatif!\n\n## Bagaimana cara menggunakan Grup saya di aplikasi seluler?\n\nMeskipun aplikasi seluler belum sepenuhnya mendukung semua fungsi Paket Grup, kamu masih dapat menyelesaikan tugas bersama dari aplikasi iOS dan Android dengan menyalin tugas ke papan tugas pribadimu. Kamu dapat mengaktifkan preferensi ini dari Pengaturan di aplikasi seluler atau dari papan tugas grup di versi browser. Dengan demikian, tugas bersama yang tersedia dan ditetapkan akan ditampilkan di papan tugas pribadimu di semua platform.\n\n## Apa perbedaan antara tugas bersama Grup dan Tantangan?\n\nPapan Tugas Bersama di Paket Grup lebih dinamis daripada Tantangan, karena dapat terus diperbarui dan berinteraksi dengannya. Tantangan sangat bagus jika kamu memiliki satu set tugas untuk dikirim ke banyak orang.\n\nPaket Grup juga merupakan fitur berbayar, sementara Tantangan tersedia gratis untuk semua orang.\n\nKamu tidak dapat menetapkan tugas tertentu di Tantangan, dan Tantangan tidak memiliki pengaturan reset hari bersama. Secara umum, Tantangan menawarkan lebih sedikit kontrol dan interaksi langsung.", + "general": "Umum", + "parties": "Party", + "faqQuestion14": "Bagaimana cara menemukan Party saat saya tidak berada di Party?", + "faqQuestion15": "Bagaimana cara kerja pencarian Party?", + "faqQuestion16": "Berapa lama saya bisa mencari Party setelah masuk ke dalam daftar?", + "faqQuestion17": "Bisakah saya berhenti mencari Party?", + "faqQuestion19": "Berapa banyak anggota yang bisa saya undang ke Party saya?", + "faqQuestion21": "Bagaimana cara membatalkan undangan yang tertunda ke Party saya?", + "faqQuestion22": "Bagaimana cara menghentikan undangan yang tidak diinginkan?", + "faqQuestion23": "Bagaimana cara memfilter daftar anggota yang mencari Party?", + "webFaqAnswer13": "## Bagaimana cara kerja Paket Grup?\n\n[Paket Grup](/group-plans) memberi Party atau Guild-mu akses ke Papan Tugas Bersama yang mirip dengan papan tugas pribadimu! Ini adalah pengalaman Habitica bersama di mana tugas dapat dibuat dan diselesaikan oleh siapa pun dalam grup.\n\nAda juga fitur yang tersedia seperti peran anggota, tampilan status, dan penetapan tugas yang memberimu pengalaman yang lebih terkontrol. [Kunjungi laman wiki kami](https://habitica.fandom.com/wiki/Group_Plans) untuk mempelajari lebih lanjut tentang fitur Paket Grup kami!\n\n## Siapa yang diuntungkan dari Paket Grup?\n\nPaket Grup berfungsi paling baik bila kamu memiliki tim kecil yang terdiri dari orang-orang yang ingin berkolaborasi bersama. Kami merekomendasikan 2-5 anggota.\n\nPaket Grup sangat bagus untuk keluarga, apakah itu orang tua dan anak atau kamu dan pasanganmu. Tujuan, tugas, atau tanggung jawab bersama mudah dilacak di satu papan.\n\nPaket Grup juga dapat berguna untuk tim kolega yang memiliki tujuan bersama, atau manajer yang ingin memperkenalkan gamifikasi kepada karyawan mereka.\n\n## Tips cepat untuk menggunakan Grup\n\nBerikut adalah beberapa kiat cepat untuk membantumu memulai Grup baru. Kami akan memberikan detail selengkapnya di bagian berikut:\n\n* Jadikan anggota sebagai manajer untuk memberinya kemampuan membuat dan mengedit tugas\n* Biarkan tugas tidak ditetapkan jika ada yang bisa menyelesaikannya dan hanya perlu dilakukan sekali\n* Tetapkan tugas ke satu orang untuk memastikan tidak ada orang lain yang boleh menyelesaikan tugas tersebut\n* Tetapkan tugas ke beberapa orang jika mereka semua harus menyelesaikannya\n* Alihkan kemampuan untuk menampilkan tugas bersama di papan pribadimu agar tidak melewatkan apa pun\n* Kamu mendapatkan imbalan untuk tugas yang kamu selesaikan, bahkan untuk yang ditugaskan ke banyak orang\n* Hadiah penyelesaian tugas tidak dibagikan dan tidak dibagi di antara anggota Tim\n* Gunakan warna tugas di Papan Tim untuk menilai tingkat penyelesaian tugas rata-rata\n* Tinjau tugas di Papan Tim kamu secara teratur untuk memastikannya masih relevan\n* Keseharian yang terlewat tidak melukaimu atau timmu, hanya saja tugas tersebut akan menurun warnanya\n\n## Bagaimana cara orang lain dalam grup membuat tugas?\n\nHanya pemimpin grup dan manajer yang dapat membuat tugas. Jika kamu ingin anggota grup dapat membuat tugas, maka kamu harus mempromosikan mereka menjadi manajer dengan membuka tab Informasi Grup, melihat daftar anggota, dan mengklik ikon titik dengan nama mereka.\n\n## Bagaimana cara kerja penetapan tugas?\n\nPaket Grup memberimu kemampuan unik untuk menetapkan tugas kepada anggota grup lainnya. Menetapkan tugas sangat bagus untuk mendelegasikan. Jika kamu menetapkan tugas kepada seseorang, maka anggota lain tidak akan bisa menyelesaikannya.\n\nKamu juga dapat menetapkan tugas ke beberapa orang jika perlu diselesaikan oleh lebih dari satu anggota. Misalnya, jika setiap orang harus menyikat gigi, buat tugas dan tetapkan ke setiap anggota grup. Mereka semua akan dapat menyelesaikannya dan mendapatkan hadiah individu saat melakukannya. Tugas utama akan ditampilkan sebagai selesai setelah semua orang menyelesaikannya.\n\n## Bagaimana cara kerja tugas yang belum ditetapkan?\n\nTugas yang belum ditetapkan dapat diselesaikan oleh siapa saja dalam grup, jadi biarkan tugas tidak ditetapkan untuk memungkinkan setiap anggota menyelesaikannya. Misalnya, membuang sampah. Siapa pun yang membuang sampah dapat menyelesaikan tugas yang tidak ditugaskan dan akan ditampilkan sebagai selesai untuk semua orang.\n\n## Bagaimana cara kerja reset hari tersinkronisasi?\n\nTugas bersama akan di-reset secara bersamaan agar semua orang tetap menyinkronkan Papan Tugas Bersama. Waktu ini terlihat di Papan Tugas Bersama dan ditentukan oleh waktu permulaan hari sari pemimpin grup. Karena tugas bersama di-reset secara otomatis, kamu tidak akan mendapatkan kesempatan untuk menyelesaikan Keseharian bersama yang belum selesai kemarin saat kamu check-in keesokan paginya.\n\nKeseharian Bersama tidak akan melukai jika terlewatkan, namun warnanya akan menurun untuk membantu memvisualisasikan kemajuan. Kami tidak ingin pengalaman bersama menjadi negatif!\n\n## Bagaimana cara menggunakan Grup saya di aplikasi seluler?\n\nMeskipun aplikasi seluler belum sepenuhnya mendukung semua fungsi Paket Grup, kamu masih dapat menyelesaikan tugas bersama dari aplikasi iOS dan Android dengan menyalin tugas ke papan tugas pribadimu. Kamu dapat mengaktifkan preferensi ini dari Pengaturan di aplikasi seluler atau dari papan tugas grup di versi browser. Dengan demikian, tugas bersama yang tersedia dan ditetapkan akan ditampilkan di papan tugas pribadimu di semua platform.\n\n## Apa perbedaan antara tugas bersama Grup dan Tantangan?\n\nPapan Tugas Bersama di Paket Grup lebih dinamis daripada Tantangan, karena dapat terus diperbarui dan berinteraksi dengannya. Tantangan sangat bagus jika kamu memiliki satu set tugas untuk dikirim ke banyak orang.\n\nPaket Grup juga merupakan fitur berbayar, sementara Tantangan tersedia gratis untuk semua orang.\n\nKamu tidak dapat menetapkan tugas tertentu di Tantangan, dan Tantangan tidak memiliki pengaturan reset hari bersama. Secara umum, Tantangan menawarkan lebih sedikit kontrol dan interaksi langsung.", + "iosFaqAnswer16": "Kamu akan tetap berada dalam daftar sampai kamu menyetujui undangan masuk ke Party atau tidak login selama 7 hari, tergantung mana yang lebih dulu. Jika kamu login setelah tidak aktif selama 7 hari, kami akan menambahkanmu kembali secara otomatis ke dalam daftar selama kamu tidak mendapat undangan Party yang tertunda.", + "androidFaqAnswer16": "Kamu akan tetap berada dalam daftar sampai kamu menyetujui undangan masuk ke Party atau tidak login selama 7 hari, tergantung mana yang lebih dulu. Jika kamu login setelah tidak aktif selama 7 hari, kami akan menambahkanmu kembali secara otomatis ke dalam daftar selama kamu tidak mendapat undangan Party yang tertunda.", + "webFaqAnswer16": "Kamu akan tetap berada dalam daftar sampai kamu menyetujui undangan masuk ke Party atau tidak login selama 7 hari, tergantung mana yang lebih dulu. Jika kamu login setelah tidak aktif selama 7 hari, kami akan menambahkanmu kembali secara otomatis ke dalam daftar selama kamu tidak mendapat undangan Party yang tertunda.", + "androidFaqAnswer21": "Untuk membatalkan undangan tertunda di situs web Habitica:\n\n1. Klik Daftar Anggota saat melihat Party-mu.\n2. Klik tab “Undangan”.\n3. Klik tiga titik di samping undangan pengguna yang ingin kamu batalkan.\n4. Pilih “Batalkan Undangan”\n\nUntuk membatalkan undangan tertunda di aplikasi Android:\n\n1. Gulir ke bawah di Daftar anggota saat melihat Party-mu.\n2. Di bagian bawah daftar, kamu akan melihat undangan yang tertunda.\n3. Tekan tombol “Batalkan Undangan”.\n\nKamu juga dapat membatalkan undangan tertunda dari aplikasi iOS nanti!", + "iosFaqAnswer24": "Kami menambahkan kemampuan untuk mencari Party dan menemukan anggota Party di Android versi 4.2! Pastikan kamu memperbarui ke versi terbaru untuk memeriksanya. Pemain solo dapat mencari Party dari layar Party saat tidak berada di Party. Pemimpin party dapat menelusuri daftar pemain yang mencari undangan dengan mengetuk “Temukan Anggota” di atas daftar anggota Party mereka.\n\nDukungan untuk fitur ini akan hadir ke iOS di versi 3.8, jadi nantikanlah!", + "iosFaqAnswer14": "Jika kamu ingin bermain Habitica dengan orang lain tetapi tidak kenal pemain lain, mencari Party adalah pilihan terbaikmu! Jika kamu sudah mengenal pemain lain yang berada di dalam suatu Party, kamu bisa memberikan @namapengguna kamu ke mereka agar bisa diundang. Atau, kamu dapat membuat Party baru kemudian mengundang dengan menggunakan @namapengguna atau alamat email mereka.\n\nUntuk membuat atau mencari Party, pilih \"Party\" di menu navigasi lalu pilih opsi yang sesuai untukmu.", + "iosFaqAnswer18": "Jika kamu menggunakan situs web Habitica, pilih “Cari Anggota” dari menu tarik-turun Party. Jika kamu menggunakan aplikasi Android, ketuk “Cari Anggota” di atas daftar anggota Party-mu. Melakukan ini akan menampilkan daftar pemain yang sedang mencari Party dan dapat diundang untuk bergabung.\n\nUntuk membantu menemukan anggota yang cocok untuk Party-mu, kamu akan melihat beberapa informasi, seperti bahasa, kelas, level, dan berapa hari mereka telah menggunakan Habitica. Jika kamu ingin mengobrol dengan seseorang sebelum mengirim undangan, kamu dapat melihat Profil mereka dan mengirim pesan.", + "webFaqAnswer14": "Jika kamu ingin bermain Habitica dengan orang lain tetapi tidak kenal pemain lain, mencari Party adalah pilihan terbaikmu! Jika kamu sudah mengenal pemain lain yang berada di dalam suatu Party, kamu bisa memberikan @namapengguna kamu ke mereka agar bisa diundang. Atau, kamu dapat membuat Party baru kemudian mengundang dengan menggunakan @namapengguna atau alamat email mereka.\n\nUntuk membuat atau mencari Party, pilih \"Party\" di menu navigasi lalu pilih opsi yang sesuai untukmu.", + "webFaqAnswer20": "Ya! Jika kamu tahu nama pengguna atau alamat email pemain Habitica tersebut, kamu dapat mengundangnya untuk bergabung dengan Party-mu. Berikut cara mengirim undangan di berbagai platform:\n\nDi situs web Habitica:\n\nArahkan ke Party-mu dan klik “Undang ke Party” di sisi kanan halaman.\n\nDi aplikasi Android:\n\nKetuk “Party” dari Menu. Gulir ke bagian Anggota dan ketuk “Undang Anggota” kemudian ketuk tab “Melalui Undangan”.\n\nDi aplikasi iOS:\n\nKetuk “Party” dari Menu. Gulir ke bagian Anggota dan ketuk “Undang Anggota”.", + "webFaqAnswer24": "Kami menambahkan kemampuan untuk mencari Party dan menemukan anggota Party di Android versi 4.2! Pastikan kamu memperbarui ke versi terbaru untuk memeriksanya. Pemain solo dapat mencari Party dari layar Party saat tidak berada di Party. Pemimpin party dapat menelusuri daftar pemain yang mencari undangan dengan mengetuk “Temukan Anggota” di atas daftar anggota Party mereka.\n\nDukungan untuk fitur ini akan hadir ke iOS di versi 3.8, jadi nantikanlah!", + "androidFaqAnswer15": "Setelah memilih \"Cari Party\", kamu akan ditambahkan ke daftar pemain yang ingin bergabung dengan Party. Para pemimpin party dapat melihat daftar ini dan mengirimkanmu undangan. Setelah kamu menerima undangan, kamu dapat menerimanya dari pemberitahuan untuk bergabung dengan Party pilihanmu!\n\nKamu bisa saja mendapatkan beberapa undangan dari Party yang berbeda. Namun, kamu hanya dapat menjadi anggota di satu Party pada satu waktu.", + "webFaqAnswer15": "Setelah memilih \"Cari Party\", kamu akan ditambahkan ke daftar pemain yang ingin bergabung dengan Party. Para pemimpin party dapat melihat daftar ini dan mengirimkanmu undangan. Setelah kamu menerima undangan, kamu dapat menerimanya dari pemberitahuan untuk bergabung dengan Party pilihanmu!\n\nKamu bisa saja mendapatkan beberapa undangan dari Party yang berbeda. Namun, kamu hanya dapat menjadi anggota di satu Party pada satu waktu.", + "iosFaqAnswer17": "Jika kamu tidak ingin lagi mencari Party, kamu dapat berhenti mencari kapan saja.\n\nUntuk berhenti mencari Party di situs web Habitica:\n\n1. Pilih tautan “Party” di navigasi.\n2. Klik “Tinggalkan” di pop-up.\n\nUntuk berhenti mencari Party di aplikasi Android:\n1. Ketuk “Party” dari menu.\n2. Ketuk “Tinggalkan” di bagian bawah layar.", + "androidFaqAnswer14": "Jika kamu ingin bermain Habitica dengan orang lain tetapi tidak kenal pemain lain, mencari Party adalah pilihan terbaikmu! Jika kamu sudah mengenal pemain lain yang berada di dalam suatu Party, kamu bisa memberikan @namapengguna kamu ke mereka agar bisa diundang. Atau, kamu dapat membuat Party baru kemudian mengundang dengan menggunakan @namapengguna atau alamat email mereka.\n\nUntuk membuat atau mencari Party, pilih \"Party\" di menu navigasi lalu pilih opsi yang sesuai untukmu.", + "iosFaqAnswer15": "Setelah memilih \"Cari Party\", kamu akan ditambahkan ke daftar pemain yang ingin bergabung dengan Party. Para pemimpin party dapat melihat daftar ini dan mengirimkanmu undangan. Setelah kamu menerima undangan, kamu dapat menerimanya dari pemberitahuan untuk bergabung dengan Party pilihanmu!\n\nKamu bisa saja mendapatkan beberapa undangan dari Party yang berbeda. Namun, kamu hanya dapat menjadi anggota di satu Party pada satu waktu.", + "webFaqAnswer18": "Jika kamu menggunakan situs web Habitica, pilih “Cari Anggota” dari menu tarik-turun Party. Jika kamu menggunakan aplikasi Android, ketuk “Cari Anggota” di atas daftar anggota Party-mu. Melakukan ini akan menampilkan daftar pemain yang sedang mencari Party dan dapat diundang untuk bergabung.\n\nUntuk membantu menemukan anggota yang cocok untuk Party-mu, kamu akan melihat beberapa informasi, seperti bahasa, kelas, level, dan berapa hari mereka telah menggunakan Habitica. Jika kamu ingin mengobrol dengan seseorang sebelum mengirim undangan, kamu dapat melihat Profil mereka dan mengirim pesan.", + "webFaqAnswer17": "Jika kamu tidak ingin lagi mencari Party, kamu dapat berhenti mencari kapan saja.\n\nUntuk berhenti mencari Party di situs web Habitica:\n\n1. Pilih tautan “Party” di navigasi.\n2. Klik “Tinggalkan” di pop-up.\n\nUntuk berhenti mencari Party di aplikasi Android:\n1. Ketuk “Party” dari menu.\n2. Ketuk “Tinggalkan” di bagian bawah layar.", + "webFaqAnswer19": "Party memiliki batas maksimal 30 anggota dan minimal 1 anggota. Undangan tertunda dihitung dalam jumlah anggota. Misalnya, ada 29 anggota dan 1 undangan tertunda akan tetap dihitung sebagai 30 anggota. Untuk menghapus undangan yang tertunda, pemain yang diundang harus menerima atau menolak, atau pemimpin Party harus membatalkan undangan.", + "faqQuestion20": "Bisakah saya mengundang orang yang sudah saya kenal?", + "iosFaqAnswer22": "Setelah bergabung dengan Party, kamu akan berhenti menerima undangan lagi. Jika kamu ingin mencegah undangan dan komunikasi di masa mendatang dari pemain tertentu, lihat profil mereka dan klik tombol Blokir. Dari profil mobile, ketuk tiga titik di sudut atas kemudian pilih “Blokir”.\n\nJika kamu menghadapi situasi di mana kamu yakin seorang pemain telah melanggar Pedoman Komunitas di nama, profil, atau pesan yang dia kirim, laporkan pesan mana pun darinya atau hubungi kami di admin@habitica.com.", + "webFaqAnswer22": "Setelah bergabung dengan Party, kamu akan berhenti menerima undangan lagi. Jika kamu ingin mencegah undangan dan komunikasi di masa mendatang dari pemain tertentu, lihat profil mereka dan klik tombol Blokir. Dari profil mobile, ketuk tiga titik di sudut atas kemudian pilih “Blokir”.\n\nJika kamu menghadapi situasi di mana kamu yakin seorang pemain telah melanggar Pedoman Komunitas di nama, profil, atau pesan yang dia kirim, laporkan pesan mana pun darinya atau hubungi kami di admin@habitica.com.", + "androidFaqAnswer24": "Kami menambahkan kemampuan untuk mencari Party dan menemukan anggota Party di Android versi 4.2! Pastikan kamu memperbarui ke versi terbaru untuk memeriksanya. Pemain solo dapat mencari Party dari layar Party saat tidak berada di Party. Pemimpin party dapat menelusuri daftar pemain yang mencari undangan dengan mengetuk “Temukan Anggota” di atas daftar anggota Party mereka.\n\nDukungan untuk fitur ini akan hadir ke iOS di versi 3.8, jadi nantikanlah!", + "androidFaqAnswer17": "Jika kamu tidak ingin lagi mencari Party, kamu dapat berhenti mencari kapan saja.\n\nUntuk berhenti mencari Party di situs web Habitica:\n\n1. Pilih tautan “Party” di navigasi.\n2. Klik “Tinggalkan” di pop-up.\n\nUntuk berhenti mencari Party di aplikasi Android:\n1. Ketuk “Party” dari menu.\n2. Ketuk “Tinggalkan” di bagian bawah layar.", + "androidFaqAnswer18": "Jika kamu menggunakan situs web Habitica, pilih “Cari Anggota” dari menu tarik-turun Party. Jika kamu menggunakan aplikasi Android, ketuk “Cari Anggota” di atas daftar anggota Party-mu. Melakukan ini akan menampilkan daftar pemain yang sedang mencari Party dan dapat diundang untuk bergabung.\n\nUntuk membantu menemukan anggota yang cocok untuk Party-mu, kamu akan melihat beberapa informasi, seperti bahasa, kelas, level, dan berapa hari mereka telah menggunakan Habitica. Jika kamu ingin mengobrol dengan seseorang sebelum mengirim undangan, kamu dapat melihat Profil mereka dan mengirim pesan.", + "iosFaqAnswer20": "Ya! Jika kamu tahu nama pengguna atau alamat email pemain Habitica tersebut, kamu dapat mengundangnya untuk bergabung dengan Party-mu. Berikut cara mengirim undangan di berbagai platform:\n\nDi situs web Habitica:\n\nArahkan ke Party-mu dan klik “Undang ke Party” di sisi kanan halaman.\n\nDi aplikasi Android:\n\nKetuk “Party” dari Menu. Gulir ke bagian Anggota dan ketuk “Undang Anggota” kemudian ketuk tab “Melalui Undangan”.\n\nDi aplikasi iOS:\n\nKetuk “Party” dari Menu. Gulir ke bagian Anggota dan ketuk “Undang Anggota”.", + "androidFaqAnswer20": "Ya! Jika kamu tahu nama pengguna atau alamat email pemain Habitica tersebut, kamu dapat mengundangnya untuk bergabung dengan Party-mu. Berikut cara mengirim undangan di berbagai platform:\n\nDi situs web Habitica:\n\nArahkan ke Party-mu dan klik “Undang ke Party” di sisi kanan halaman.\n\nDi aplikasi Android:\n\nKetuk “Party” dari Menu. Gulir ke bagian Anggota dan ketuk “Undang Anggota” kemudian ketuk tab “Melalui Undangan”.\n\nDi aplikasi iOS:\n\nKetuk “Party” dari Menu. Gulir ke bagian Anggota dan ketuk “Undang Anggota”.", + "iosFaqAnswer21": "Untuk membatalkan undangan tertunda di situs web Habitica:\n\n1. Klik Daftar Anggota saat melihat Party-mu.\n2. Klik tab “Undangan”.\n3. Klik tiga titik di samping undangan pengguna yang ingin kamu batalkan.\n4. Pilih “Batalkan Undangan”\n\nUntuk membatalkan undangan tertunda di aplikasi Android:\n\n1. Gulir ke bawah di Daftar anggota saat melihat Party-mu.\n2. Di bagian bawah daftar, kamu akan melihat undangan yang tertunda.\n3. Tekan tombol “Batalkan Undangan”.\n\nKamu juga dapat membatalkan undangan tertunda dari aplikasi iOS nanti!", + "webFaqAnswer21": "Untuk membatalkan undangan tertunda di situs web Habitica:\n\n1. Klik Daftar Anggota saat melihat Party-mu.\n2. Klik tab “Undangan”.\n3. Klik tiga titik di samping undangan pengguna yang ingin kamu batalkan.\n4. Pilih “Batalkan Undangan”\n\nUntuk membatalkan undangan tertunda di aplikasi Android:\n\n1. Gulir ke bawah di Daftar anggota saat melihat Party-mu.\n2. Di bagian bawah daftar, kamu akan melihat undangan yang tertunda.\n3. Tekan tombol “Batalkan Undangan”.\n\nKamu juga dapat membatalkan undangan tertunda dari aplikasi iOS nanti!", + "androidFaqAnswer22": "Setelah bergabung dengan Party, kamu akan berhenti menerima undangan lagi. Jika kamu ingin mencegah undangan dan komunikasi di masa mendatang dari pemain tertentu, lihat profil mereka dan klik tombol Blokir. Dari profil mobile, ketuk tiga titik di sudut atas kemudian pilih “Blokir”.\n\nJika kamu menghadapi situasi di mana kamu yakin seorang pemain telah melanggar Pedoman Komunitas di nama, profil, atau pesan yang dia kirim, laporkan pesan mana pun darinya atau hubungi kami di admin@habitica.com." } diff --git a/website/common/locales/id/front.json b/website/common/locales/id/front.json index 87a831f7e5..c6223ec0a8 100644 --- a/website/common/locales/id/front.json +++ b/website/common/locales/id/front.json @@ -9,11 +9,11 @@ "communityFacebook": "Facebook", "companyAbout": "Bagaimana Cara Kerjanya", "companyBlog": "Blog", - "companyContribute": "Berkontribusi", - "companyDonate": "Sumbang", + "companyContribute": "Berkontribusi untuk Habitica", + "companyDonate": "Sumbang ke Habitica", "forgotPassword": "Lupa Kata Sandimu?", "emailNewPass": "Kirimkan Email Tautan Reset Kata Sandi", - "forgotPasswordSteps": "Masukkan alamat email yang kamu gunakan untuk mendaftarkan akun Habitica-mu.", + "forgotPasswordSteps": "Masukkan username atau alamat email yang kamu gunakan untuk mendaftarkan akun Habitica-mu.", "sendLink": "Kirim Tautan", "featuredIn": "Ditampilkan di", "footerDevs": "Pengembang", @@ -29,7 +29,7 @@ "logout": "Keluar", "marketing1Header": "Memperbaiki Kebiasaanmu Melalui Permainan", "marketing1Lead1Title": "Hidupmu, Permainanmu", - "marketing1Lead1": "Habitica adalah permainan yang akan membantumu untuk memperbaiki kebiasaan buruk di kehidupan nyata. Ia \"memainkan\" hidupmu dengan mengubah seluruh pekerjaan (kebiasaan, pekerjaan harian, dan to-do) menjadi monster yang kamu harus kalahkan. Semakin baik kamu dalam menghadapinya, semakin kamu membuat progres dalam game ini. Kalau kamu lalai dalam kehidupanmu, maka karaktermu juga akan jatuh di dalam game.", + "marketing1Lead1": "Habitica adalah permainan yang akan membantumu untuk memperbaiki kebiasaan buruk di kehidupan nyata. Ia \"memainkan\" hidupmu dengan mengubah seluruh pekerjaan (Kebiasaan, Keseharian, dan To Do) menjadi monster yang kamu harus kalahkan. Semakin baik kamu dalam menghadapinya, semakin kamu membuat progres dalam game ini. Kalau kamu lalai dalam kehidupanmu, maka karaktermu juga akan jatuh di dalam game.", "marketing1Lead2Title": "Dapatkan Perlengkapan Keren", "marketing1Lead2": "Bangun kebiasaan baik untuk memperbaik avatarmu. Pamerkan perlengkapan keren yang kamu dapatkan!", "marketing1Lead3Title": "Temukan Hadiah Acak", @@ -44,7 +44,7 @@ "marketing3Header": "Aplikasi dan Ekstensi", "marketing3Lead1": "Aplikasi di **iPhone & Android** memudahkanmu mengurus game ini di mana saja. Kami sadar bahwa membuka website hanya untuk menekan beberapa tombol itu merepotkan.", "marketing3Lead2Title": "Integrasi", - "marketing3Lead2": "**Peralatan Pihak Ketiga** lainnya mengikatkan Habitica kepada berbagai aspek hidupmu. API kami memudahkan integrasi untuk hal seperti [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), di mana kamu kehilangan poin sewaktu membuka laman web tidak produktif, dan mendapat poin sewaktu berada di yang produktif. [Lihat selengkapnya di sini](http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).", + "marketing3Lead2": "**Peralatan Pihak Ketiga** lainnya mengikatkan Habitica kepada berbagai aspek hidupmu. API kami memudahkan integrasi untuk hal seperti [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), di mana kamu kehilangan poin sewaktu membuka laman web tidak produktif, dan mendapat poin sewaktu berada di yang produktif. [Lihat selengkapnya di sini](https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).", "marketing4Header": "Penggunaan Organisasi", "marketing4Lead1": "Edukasi adalah salah satu bidang terbaik yang bisa diubah jadi seperti game. Kita semua tahu bagaimana pelajar zaman sekarang begitu tidak bisa lepas dari game dan smartphone, tapi mari manfaatkan kekuatan itu! Buat murid-muridmu bergabung dalam kompetisi yang bersahabat. Beri hadiah untuk mereka yang berkelakuan baik dengan hadiah yang langka. Berikutnya, anda tinggal melihat bagaimana nilai dan perilaku mereka meningkat drastis.", "marketing4Lead1Title": "Permainan dalam Edukasi", @@ -53,20 +53,20 @@ "marketing4Lead3-1": "Ingin memainkan hidup kamu?", "marketing4Lead3-2": "Tertarik mengelola kelompok dalam edukasi, kesejahteraan, dan lainnya?", "marketing4Lead3Title": "Mainkan Segalanya", - "mobileAndroid": "Android", - "mobileIOS": "iOS", + "mobileAndroid": "Aplikasi Android", + "mobileIOS": "Aplikasi iOS", "oldNews": "Berita", - "newsArchive": "Arsip berita di Wikia (multibahasa)", + "newsArchive": "Arsip berita di Fandom (multibahasa)", "setNewPass": "Pilih Kata Sandi Baru", "password": "Kata sandi", "playButton": "Main", "playButtonFull": "Masuk Habitica", "presskit": "Paket Pres", - "presskitText": "Thanks for your interest in Habitica! The following images can be used for articles or videos about Habitica. For more information, please contact us at <%= pressEnquiryEmail %>.", + "presskitText": "Terima kasih telah berminat dengan Habitica! Gambar berikut ini dapat digunakan untuk membuat artikel atau video tentang Habitica. Untuk informasi lebih lanjut, hubungi kami di <%= pressEnquiryEmail %>.", "pkQuestion1": "Apa yang menginspirasi Habitica? Bagaimana dimulainya?", "pkAnswer1": "Jika kamu pernah menghabiskan waktu menaikkan level karakter di game, tidak sulit membayangkan seberapa baiknya hidupmu jika kamu taruh semua usaha itu untuk memperbaiki kehidupan nyatamu sebagai gantinya avatarmu. Kami mulai membangun Habitica untuk menjawab pertanyaan itu.
Habitica dirilis secara resmi dengan Kickstarter di 2013, dan ide itu betul-betul menarik perhatian. Sejak saat itu, Habitica telah berkembang menjadi proyek yang sangat besar, didukung oleh para sukarelawan \"open source\" menakjubkan dan para pengguna murah hati kami.", "pkQuestion2": "Bagaimana cara kerja Habitica?", - "pkAnswer2": "Membentuk kebiasaan baru itu sulit karena orang sangat memerlukan hadiah yang instan dan jelas. Contohnya, susah untuk mulai membersihkan gigi (flossing), karena meskipun dokter gigimu mengatakan itu lebih sehat dalam jangka panjang, dalam jangka pendek yang terasa hanya gusimu yang perih.
Habitica mengubah semua itu menjadi permainan dan menambahkan rasa kepuasan instan untuk tugas sehari-hari dengan menghadiahi tugas sulit dengan XP, koin emas... dan mungkin hadiah acak, seperti telur naga! Ini membantu menjaga orang tetap termotivasi bahkan ketika tugas itu tidak punya hadiah hakiki, dan kami telah melihat orang mengubah hidup mereka sebagai hasilnya. Kamu bisa melihat cerita kesuksesan mereka di sini: https://habitversary.tumblr.com", + "pkAnswer2": "Membentuk kebiasaan baru itu sulit karena orang sangat memerlukan hadiah yang instan dan jelas. Contohnya, susah untuk mulai membersihkan gigi (flossing), karena meskipun dokter gigimu mengatakan itu lebih sehat dalam jangka panjang, dalam jangka pendek yang terasa hanya gusimu yang perih.
Habitica mengubah semua itu menjadi permainan dan menambahkan rasa kepuasan instan untuk tugas sehari-hari dengan menghadiahi tugas sulit dengan XP, koin emas... dan mungkin hadiah acak, seperti telur naga! Ini membantu menjaga orang tetap termotivasi bahkan ketika tugas itu tidak punya hadiah hakiki, dan kami telah melihat orang mengubah hidup mereka sebagai hasilnya.", "pkQuestion3": "Mengapa kamu tambahkan fitur sosial?", "pkAnswer3": "Tekanan sosial adalah faktor motivasi yang sangat besar untuk banyak orang, jadi kami tahu bahwa kami mau punya sebuah komunitas kuat yang akan menjaga semua orang tetap bertanggung jawab akan tujuan mereka dan bersorak gembira akan keberhasilan mereka. Untungnya, salah satu keunggulan permainan multiplayer adalah membibit rasa kebersamaan di antara penggunanya! Struktur komunitas Habitica dipinjam dari game-game bertipe seperti itu; kamu bisa membentuk Party kecil bersama teman dekatmu, tapi kamu juga bisa ikut grup lebih besar dengan kepentingan yang sama yaitu Guild. Walaupun beberapa pengguna memilih untuk bermain sendirian, kebanyakan memilih untuk membentuk sebuah jaringan dukungan yang menyemangati akuntabilitas sosial melalui fitur seperti Misi, di mana anggota Party menyatukan produktifitas mereka untuk bersama-sama melawan monster.", "pkQuestion4": "Mengapa bolos melakukan tugas mengurangi nyawa avatar-mu?", @@ -106,7 +106,7 @@ "reportCommunityIssues": "Laporkan Masalah Komunitas", "subscriptionPaymentIssues": "Masalah Berlangganan dan Pembayaran", "generalQuestionsSite": "Pertanyaan Umum mengenai Situs", - "businessInquiries": "Business/Marketing Inquiries", + "businessInquiries": "Pertanyaan Bisnis/Pemasaran", "merchandiseInquiries": "Permintaan Cinderamata (Kaus, Stiker)", "tweet": "Tweet", "checkOutMobileApps": "Cek aplikasi ponsel kami!", @@ -118,13 +118,13 @@ "missingNewPassword": "Kata sandi baru hilang.", "invalidEmailDomain": "Kamu tidak dapat mendaftar menggunakan email dengan domain berikut ini: <%= domains %>", "wrongPassword": "Kata sandi salah.", - "incorrectDeletePhrase": "Silahkan ketik <%= magicWord %> seluruhnya dengan menggunakan huruf kapital untuk menghapus akunmu.", + "incorrectDeletePhrase": "Silakan ketik <%= magicWord %> dengan huruf kapital untuk menghapus akunmu.", "notAnEmail": "Alamat email salah.", "emailTaken": "Alamat email telah digunakan oleh akun lain.", "newEmailRequired": "Alamat email baru tidak ditemukan.", "usernameTime": "Ini waktunya untuk memilih nama penggunamu!", - "usernameInfo": "Login names are now unique usernames that will be visible beside your display name and used for invitations, chat @mentions, and messaging.

If you'd like to learn more about this change, visit our wiki.", - "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.", + "usernameInfo": "Nama login sekarang menjadi nama pengguna unik yang akan terlihat di samping nama tampilanmu dan digunakan untuk undangan, @mentions di obrolan, dan perpesanan.

Jika kamu ingin mempelajari lebih lanjut tentang perubahan ini, kunjungi wiki kami.", + "usernameTOSRequirements": "Nama pengguna harus sesuai dengan Persyaratan Layanan dan Pedoman Komunitas kami. Jika sebelumnya kamu tidak menetapkan nama login, nama pengguna-mu dibuat secara otomatis.", "usernameTaken": "Nama pengguna sudah diambil.", "passwordConfirmationMatch": "Konfirmasi kata sandi tidak cocok dengan kata sandi.", "invalidLoginCredentials": "Nama pengguna dan/atau email dan/atau kata sandi salah.", @@ -133,10 +133,10 @@ "passwordResetEmailSubject": "Reset Kata Sandi untuk Habitica", "passwordResetEmailText": "Kalau kamu meminta reset kata sandi untuk <%= username %> di Habitica, buka <%= passwordResetLink %> untuk membuat kata sandi baru. Tautan akan hangus setelah 24 jam. Kalau kamu tidak pernah meminta reset kata sandi, abaikan saja email ini.", "passwordResetEmailHtml": "Kalau kamu meminta reset kata sandi untuk <%= username %> di Habitica, \">klik di sini untuk membuat kata sandi baru. Tautan akan hangus setelah 24 jam.

Kalau kamu tidak pernah meminta reset kata sandi, abaikan saja email ini.", - "invalidLoginCredentialsLong": "Uh-oh - your email address / username or password is incorrect.\n- Make sure they are typed correctly. Your username and password are case-sensitive.\n- You may have signed up with Facebook or Google-sign-in, not email so double-check by trying them.\n- If you forgot your password, click \"Forgot Password\".", + "invalidLoginCredentialsLong": "Waduh - Alamat email / nama pengguna atau kata sandi-mu salah.\n- Pastikan semuanya diketik dengan benar. Nama pengguna dan kata sandi-mu harus sesuai huruf besar/kecil-nya.\n- Kamu mungkin telah mendaftar dengan Facebook atau masuk dengan Google, bukannya dengan email jadi periksa kembali dengan mencobanya.\n- Jika kamu lupa kata sandi, klik \"Lupa Kata Sandi\".", "invalidCredentials": "Tidak ada akun yang menggunakan credential tersebut.", - "accountSuspended": "This account, User ID \"<%= userId %>\", has been blocked for breaking the [Community Guidelines](https://habitica.com/static/community-guidelines) or [Terms of Service](https://habitica.com/static/terms). For details or to ask to be unblocked, please email our Community Manager at <%= communityManagerEmail %> or ask your parent or guardian to email them. Please copy your User ID into the email and include your username.", - "accountSuspendedTitle": "Account has been suspended", + "accountSuspended": "Akun ini, ID Pengguna \"<%= userId %>\", telah diblokir karena melanggar Pedoman Komunitas (https://habitica.com/static/community-guidelines) atau Persyaratan Layanan (https://habitica.com/static/terms). Untuk detail atau meminta pencabutan pemblokiran, silakan kirim email ke Manajer Komunitas kami di <%= communityManagerEmail %> atau minta orang tua atau wali kamu untuk mengirim email ke situ. Harap sertakan @Username kamu di email.", + "accountSuspendedTitle": "Akun telah ditangguhkan", "unsupportedNetwork": "Jaringan ini saat ini belum didukung.", "cantDetachSocial": "Akun tidak memiliki metode autentikasi lain; tidak dapat memutuskan metode autentikasi ini.", "onlySocialAttachLocal": "Autentikasi lokal dapat ditambahkan hanya kepada akun sosial.", @@ -150,20 +150,20 @@ "confirmPassword": "Konfirmasi Kata Sandi", "usernameLimitations": "Nama pengguna panjangnya harus di antara 1 hingga 20 karakter, hanya boleh terdiri dari huruf a sampai z, angka 0 sampai 9, tanda penghubung, atau garis bawah, dan tidak boleh mengandung kata-kata yang tidak pantas.", "usernamePlaceholder": "contoh: HabitRabbit", - "emailPlaceholder": "contoh: rabbit@example.com", + "emailPlaceholder": "contoh: gryphon@example.com", "passwordPlaceholder": "contoh: ******************", "confirmPasswordPlaceholder": "Pastikan ini kata sandi yang sama!", "joinHabitica": "Gabung dengan Habitica", "alreadyHaveAccountLogin": "Sudah mempunyai akun Habitica? Log in.", "dontHaveAccountSignup": "Tidak mempunyai akun Habitica? Daftar.", "motivateYourself": "Motivasi dirimu untuk mencapai tujuan.", - "timeToGetThingsDone": "It's time to have fun when you get things done! Join over <%= userCountInMillions %> million Habiticans and improve your life one task at a time.", + "timeToGetThingsDone": "Saatnya bersenang-senang saat kamu menyelesaikan sesuatu! Bergabunglah dengan lebih dari <%= userCountInMillions %> juta Habiticans dan tingkatkan hidupmu dengan satu tugas pada satu waktu.", "singUpForFree": "Daftar Gratis", "or": "ATAU", "gamifyYourLife": "Buat Hidupmu Menjadi Game", "aboutHabitica": "Habitica adalah aplikasi gratis untuk membangun produktivitas dan kebiasaan baik dengan mengubah kehidupan nyata menjadi permainan. Dengan imbalan dan hukuman dalam game untuk memotivasi kamu dan jaringan sosial yang kuat untuk menginspirasi kamu, Habitica dapat membantu kamu mencapai tujuanmu untuk menjadi sehat, bekerja keras, dan bahagia.", "trackYourGoals": "Pantau Kebiasaan dan Targetmu", - "trackYourGoalsDesc": "Tetap bertanggung jawab dengan memantau dan mengatur Kebiasaan, target Harianmu, dan daftar To-Do dengan aplikasi ponsel yang mudah digunakan dan antarmuka web Habitica.", + "trackYourGoalsDesc": "Tetap bertanggung jawab dengan memantau dan mengatur Kebiasaan, target Harianmu, dan daftar To Do dengan aplikasi ponsel yang mudah digunakan dan antarmuka web Habitica.", "earnRewards": "Dapatkan Hadiah untuk Targetmu", "earnRewardsDesc": "Selesaikan tugasmu untuk membuat Avatarmu naik level dan membuka fitur dalam game seperti baju perang, peliharaan misterius, kemampuan ajaib, dan bahkan misi!", "battleMonsters": "Kalahkan Monster bersama Teman-Teman", @@ -177,10 +177,17 @@ "muchmuchMoreDesc": "Daftar tugas kami yang dapat diubah sepenuhnya berarti kamu dapat membentuk Habitica untuk memenuhi tujuan pribadimu. Buat proyek kreatif, berfokus pada perawatan diri, atau kejar mimpi yang berbeda -- semua terserah kepadamu.", "levelUpAnywhere": "Naik Level Dimana Saja", "levelUpAnywhereDesc": "Aplikasi ponsel kami memantau kemajuan tugasmu dengan mudah sewaktu kamu sedang pergi. Capai targetmu dengan satu sentuhan, di mana pun kamu berada.", - "joinMany": "Bergabung dengan lebih dari 2.000.000 orang bersenang-senang selagi mencapai tujuan mereka!", + "joinMany": "Bergabung dengan lebih dari <%= userCountInMillions %> orang bersenang-senang selagi mencapai tujuan mereka!", "joinToday": "Bergabung dengan Habitica Hari Ini", "signup": "Daftar", - "getStarted": "Ayo Mulai!", + "getStarted": "Ayo Mulai", "mobileApps": "Aplikasi Handphone", - "learnMore": "Pelajari Lebih Lanjut" + "learnMore": "Pelajari Lebih Lanjut", + "footerProduct": "Produk", + "minPasswordLength": "Kata sandi harus terdiri dari 8 karakter atau lebih.", + "socialAlreadyExists": "Login sosial ini sudah ditautkan ke akun Habitica yang ada.", + "emailUsernamePlaceholder": "misalnya, habitrabbit atau gryphon@example.com", + "communityInstagram": "Instagram", + "enterHabitica": "Masuk ke Habitica", + "translateHabitica": "Terjemahkan Habitica" } diff --git a/website/common/locales/id/gear.json b/website/common/locales/id/gear.json index 6b77210d60..d9ec42d718 100644 --- a/website/common/locales/id/gear.json +++ b/website/common/locales/id/gear.json @@ -42,11 +42,11 @@ "weaponRogue1Notes": "Pedang yang ringan dan mudah disembunyikan. Meningkatkan Kekuatan sebesar <%= str %>.", "weaponRogue2Text": "Pedang Lengkung", "weaponRogue2Notes": "Pedang pembelah, cocok untuk melancarkan serangan mematikan. Meningkatkan Kekuatan sebesar <%= str %>.", - "weaponRogue3Text": "Kukri", + "weaponRogue3Text": "Pisau Lengkung", "weaponRogue3Notes": "Pisau yang khas, sebagai alat bertahan hidup maupun sebagai senjata. Meningkatkan Kekuatan sebesar <%= str %>.", - "weaponRogue4Text": "Nunchaku", + "weaponRogue4Text": "Nunchuck", "weaponRogue4Notes": "Tongkat berat berputar pada rantai panjang. Meningkatkan Kekuatan sebanyak <%= str %>.", - "weaponRogue5Text": "Ninja-to", + "weaponRogue5Text": "Pedang Ninja", "weaponRogue5Notes": "Licin dan mematikan layaknya ninja. Meningkatkan Kekuatan sebesar <%= str %>.", "weaponRogue6Text": "Pedang Kait", "weaponRogue6Notes": "Senjata kompleks yang cocok untuk menjerat dan melucuti lawan. Meningkatkan Kekuatan sebesar <%= str %>.", @@ -84,7 +84,7 @@ "weaponSpecial1Notes": "Permukaan berkilaunya mengisahkan kehidupan seorang pahlawan. Meningkatkan semua Atribut sebesar <%= attrs %>.", "weaponSpecial2Text": "Tongkat Naga Stephen Weber", "weaponSpecial2Notes": "Rasakan kekuatan naga dari dalam! Meningkatkan Kekuatan dan Persepsi masing-masing sebesar <%= attrs %>.", - "weaponSpecial3Text": "Mustaine's Milestone Mashing Morning Star", + "weaponSpecial3Text": "Bintang Pagi Penghancur Sejarah dari Mustaine", "weaponSpecial3Notes": "Rapat, raksasa, rasa sakit: rampung! Roboh! Meningkatkan Kekuatan, Kecerdasan, dan Ketahanan masing-masing sebesar <%= attrs %>.", "weaponSpecialCriticalText": "Palu Kritis Penghancur Bug", "weaponSpecialCriticalNotes": "Jawara ini berhasil mengalahkan sebuah musuh kritis GitHub meskipun ksatria yang lain gagal. Dibuat dari tulang belulang dari Bug, palu ini menyerang dengan serangan kritis yang dahsyat. Meningkatkan Kekuatan dan Persepsi masing-masing sebesar <%= attrs %>.", @@ -110,7 +110,7 @@ "weaponSpecialNomadsScimitarNotes": "Bilah pedang melengkung Scimitar ini cocok untuk menyerang Tugas sambil menaiki seekor tunggangan! Meningkatkan Kecerdasan sebesar <%= int %>.", "weaponSpecialFencingFoilText": "Pedang Anggar", "weaponSpecialFencingFoilNotes": "Jika ada orang yang berani menentang kehormatanmu, kamu akan siap menggunakan pedang runcing ini! Meningkatkan Kekuatan sebesar <%= str %>.", - "weaponSpecialTachiText": "Tachi", + "weaponSpecialTachiText": "Pedang Tachi", "weaponSpecialTachiNotes": "Pedang yang ringan dan melengkung ini akan mengiris tugasmu menjadi pita! Meningkatkan Kekuatan sebesar <%= str %>.", "weaponSpecialAetherCrystalsText": "Kristal Aether", "weaponSpecialAetherCrystalsNotes": "Pelindung tangan dan kristal ini dulu milik sang Masterclasser yang Hilang. Meningkatkan semua Atribut sebesar <%= attrs %>.", @@ -151,17 +151,17 @@ "weaponSpecialWinter2015WarriorText": "Pedang Permen Karet", "weaponSpecialWinter2015WarriorNotes": "Pedang yang kelihatannya enak ini bakal mengundang banyak monster... tapi santai saja, kamu bisa mengalahkan mereka semua! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Dingin 2014-2015 Edisi Terbatas.", "weaponSpecialWinter2015MageText": "Tongkat Cahaya Musim Dingin", - "weaponSpecialWinter2015MageNotes": "Cahaya dari tongkat kristal ini mengisi hatimu dengan kebahagiaan. Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2014-2015 Edisi Terbatas.", + "weaponSpecialWinter2015MageNotes": "Cahaya dari tongkat kristal ini mengisi hatimu dengan kebahagiaan. Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2014-2015 Edisi Terbatas.", "weaponSpecialWinter2015HealerText": "Tongkat Penentram", "weaponSpecialWinter2015HealerNotes": "Tongkat kerajaan ini meredakan pegal linu dan menghilangkan stres. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2014-2015 Edisi Terbatas.", "weaponSpecialSpring2015RogueText": "Peledak Berdecit", "weaponSpecialSpring2015RogueNotes": "Jangan biarkan suara anehnya menipumu - ini peledak yang sangat hebat. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Semi 2015 Edisi Terbatas.", "weaponSpecialSpring2015WarriorText": "Pemukul dari Tulang", - "weaponSpecialSpring2015WarriorNotes": "Ini pemukul tulang untuk anjing yang benar-benar berani dan bukannya mainan yang diberikan oleh Penyihir Musim padamu karena siapa anjing yang baik? Siapaaaa anjing yang baik?? Kamu!!! Kamu anjing pintar!!! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Semi 2015 Edisi Terbatas.", + "weaponSpecialSpring2015WarriorNotes": "Ini pemukul tulang untuk anjing yang benar-benar berani dan bukannya mainan yang diberikan oleh Penyihir Musiman padamu karena siapa anjing yang baik? Siapaaaa anjing yang baik?? Kamu dong!!! Kamu anjing pintar!!! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Semi 2015 Edisi Terbatas.", "weaponSpecialSpring2015MageText": "Tongkat Penyihir", "weaponSpecialSpring2015MageNotes": "Sulaplah wortelmu sendiri dengan tongkat ajaib ini. Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Semi 2015 Edisi Terbatas.", "weaponSpecialSpring2015HealerText": "Mainan Kucing", - "weaponSpecialSpring2015HealerNotes": "Ketika kamu mengguncangnya, bakal ada suara lucu yang akan membuat SEMUA ORANG terhibur berjam-jam. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Semi 2015 Edisi Terbatas.", + "weaponSpecialSpring2015HealerNotes": "Ketika kamu mengguncangnya, bakal ada suara lucu yang akan membuat SEMUA ORANG terhibur berjam-jam. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Semi 2015 Edisi Terbatas.", "weaponSpecialSummer2015RogueText": "Koral Membara", "weaponSpecialSummer2015RogueNotes": "Jenis koral api ini bisa menembakkan racunnya menembus air. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Panas 2015 Edisi Terbatas.", "weaponSpecialSummer2015WarriorText": "Ikan Todak Matahari", @@ -218,7 +218,7 @@ "weaponSpecialWinter2017MageNotes": "Kristal biru bercahaya di ujung tongkat ini dinamakan Mata Serigala Musim Dingin! Kristal ini dapat mengalirkan sihir dari salju dan es. Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.", "weaponSpecialWinter2017HealerText": "Tongkat Lilitan Gula", "weaponSpecialWinter2017HealerNotes": "Tongkat ini bisa memasuki mimpimu dan memunculkan mimpi gula-gula yang menari. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.", - "weaponSpecialSpring2017RogueText": "Karrotana", + "weaponSpecialSpring2017RogueText": "Wortel-katana", "weaponSpecialSpring2017RogueNotes": "Pedang ini akan mengerjakan tugas dengan cepat, tapi juga berguna untuk memotong sayuran! Nyam! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "weaponSpecialSpring2017WarriorText": "Cambuk Berbulu", "weaponSpecialSpring2017WarriorNotes": "Cambuk perkasa ini akan menjinakkan tugas paling liar. Tapi.. Ini juga.. Sangat SERU DAN MENGALIHKAN PERHATIAN!! Meningkatkan Kekuatan sebesar<%= str %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", @@ -237,7 +237,7 @@ "weaponSpecialFall2017RogueText": "Gada Permen Apel", "weaponSpecialFall2017RogueNotes": "Kalahkan musuhmu dengan kemanisan! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "weaponSpecialFall2017WarriorText": "Tombak Permen Jagung", - "weaponSpecialFall2017WarriorNotes": "Semua musuhmu akan meringkuk ketakutan di hadapan tombak yang terlihat enak ini, tidak peduli apakah itu hantu, monster, atau To-Do merah. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", + "weaponSpecialFall2017WarriorNotes": "Semua musuhmu akan meringkuk ketakutan di hadapan tombak yang terlihat enak ini, tidak peduli apakah itu hantu, monster, atau ToDo merah. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "weaponSpecialFall2017MageText": "Tongkat Berhantu", "weaponSpecialFall2017MageNotes": "Mata dari tengkorak bercahaya pada tongkat ini memancarkan sihir dan misteri. Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "weaponSpecialFall2017HealerText": "Candelabra Seram", @@ -250,50 +250,50 @@ "weaponSpecialWinter2018MageNotes": "Sihir--dan gemerlap--memenuhi ruangan! Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi <%= per %>. Perlengkapan Musim Dingin 2017-2018 Edisi Terbatas.", "weaponSpecialWinter2018HealerText": "Tongkat Mistletoe", "weaponSpecialWinter2018HealerNotes": "Bola mistletoe ini memesona dan membawa kegembiraan bagi siapapun yang melintas! Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2017-2018 Edisi Terbatas.", - "weaponSpecialSpring2018RogueText": "Buoyant Bullrush", - "weaponSpecialSpring2018RogueNotes": "What might appear to be cute cattails are actually quite effective weapons in the right wings. Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.", - "weaponSpecialSpring2018WarriorText": "Axe of Daybreak", - "weaponSpecialSpring2018WarriorNotes": "Made of bright gold, this axe is mighty enough to attack the reddest task! Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.", - "weaponSpecialSpring2018MageText": "Tulip Stave", - "weaponSpecialSpring2018MageNotes": "This magic flower never wilts! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Spring Gear.", - "weaponSpecialSpring2018HealerText": "Garnet Rod", - "weaponSpecialSpring2018HealerNotes": "The stones in this staff will focus your power when you cast healing spells! Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.", - "weaponSpecialSummer2018RogueText": "Fishing Rod", - "weaponSpecialSummer2018RogueNotes": "This lightweight, practically unbreakable rod and reel can be dual-wielded to maximize your DPS (Dragonfish Per Summer). Increases Strength by <%= str %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialSummer2018WarriorText": "Betta Fish Spear", - "weaponSpecialSummer2018WarriorNotes": "Mighty enough for battle, elegant enough for ceremony, this exquisitely crafted spear shows you will protect your home surf no matter what! Increases Strength by <%= str %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialSummer2018MageText": "Lionfish Fin Rays", - "weaponSpecialSummer2018MageNotes": "Underwater, magic based on fire, ice, or electricity can prove hazardous to the Mage wielding it. Conjuring poisonous spines, however, works brilliantly! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialSummer2018HealerText": "Merfolk Monarch Trident", - "weaponSpecialSummer2018HealerNotes": "With a benevolent gesture, you command healing water to flow through your dominions in waves. Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.", - "weaponSpecialFall2018RogueText": "Vial of Clarity", - "weaponSpecialFall2018RogueNotes": "When you need to come back to your senses, when you need a little boost to make the right decision, take a deep breath and a sip. It'll be OK! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.", - "weaponSpecialFall2018WarriorText": "Whip of Minos", - "weaponSpecialFall2018WarriorNotes": "Not quite long enough to unwind behind you for keeping your bearings in a maze. Well, maybe a very small maze. Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.", - "weaponSpecialFall2018MageText": "Staff of Sweetness", - "weaponSpecialFall2018MageNotes": "This is no ordinary lollipop! The glowing orb of magic sugar atop this staff has the power to make good habits stick to you. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Autumn Gear.", - "weaponSpecialFall2018HealerText": "Starving Staff", - "weaponSpecialFall2018HealerNotes": "Just keep this staff fed, and it will bestow Blessings. If you forget to feed it, keep your fingers out of reach. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.", - "weaponSpecialWinter2019RogueText": "Poinsettia Bouquet", - "weaponSpecialWinter2019RogueNotes": "Use this festive bouquet to further camouflage yourself, or generously gift it to brighten a friend's day! Increases Strength by <%= str %>. Limited Edition 2018-2019 Winter Gear.", - "weaponSpecialWinter2019WarriorText": "Snowflake Halberd", - "weaponSpecialWinter2019WarriorNotes": "This snowflake was grown, ice crystal by ice crystal, into a diamond-hard blade! Increases Strength by <%= str %>. Limited Edition 2018-2019 Winter Gear.", - "weaponSpecialWinter2019MageText": "Fiery Dragon Staff", - "weaponSpecialWinter2019MageNotes": "Watch out! This explosive staff is ready to help you take on all comers. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018-2019 Winter Gear", - "weaponSpecialWinter2019HealerText": "Wand of Winter", - "weaponSpecialWinter2019HealerNotes": "Winter can be a time of rest and healing, and so this wand of winter magic can help to soothe the most grievous hurts. Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.", + "weaponSpecialSpring2018RogueText": "Rumput Gajah Mengapung", + "weaponSpecialSpring2018RogueNotes": "Yang mungkin tampak seperti cattail lucu ini sebenarnya adalah senjata yang cukup efektif di sayap kanan. Meningkatkan Kekuatan sebanyak <% = str% >. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "weaponSpecialSpring2018WarriorText": "Kapak Subuh", + "weaponSpecialSpring2018WarriorNotes": "Terbuat dari emas, kapak ini cukup kuat untuk menyerang tugas paling merah! Meningkatkan Kekuatan sebanyak <% = str% >. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "weaponSpecialSpring2018MageText": "Tongkat Tulip", + "weaponSpecialSpring2018MageNotes": "Bunga ajaib ini tidak pernah layu! Meningkatkan Kecerdasan sebanyak <% = int %> dan Persepsi sebanyak <% = per % >. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "weaponSpecialSpring2018HealerText": "Batang Garnet", + "weaponSpecialSpring2018HealerNotes": "Batu-batu di tongkat ini akan memfokuskan kekuatanmu saat kamu merapal mantra penyembuhan! Meningkatkan kecerdasan sebanyak <% = int %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "weaponSpecialSummer2018RogueText": "Batang Pancing", + "weaponSpecialSummer2018RogueNotes": "Batang dan gulungan yang ringan dan praktis tidak bisa dipecahkan ini dapat digunakan ganda untuk memaksimalkan DPS-mu (Dragonfish Per Summer). Meningkatkan Kekuatan sebanyak <% = str% >. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "weaponSpecialSummer2018WarriorText": "Tombak Ikan Cupang", + "weaponSpecialSummer2018WarriorNotes": "Cukup kuat untuk pertempuran, cukup elegan untuk upacara, tombak yang dibuat dengan indah ini menunjukkan bahwa kamu akan melindungi rumah ombakmu apa pun yang terjadi! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "weaponSpecialSummer2018MageText": "Sisik Insang Ikan Singa", + "weaponSpecialSummer2018MageNotes": "Di bawah air, sihir dari api, es, atau listrik dapat terbukti berbahaya bagi Penyihir yang menggunakannya. Namun, menggunakan duri beracun ternyata bekerja dengan cemerlang! Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "weaponSpecialSummer2018HealerText": "Trisula Raja Merfolk", + "weaponSpecialSummer2018HealerNotes": "Dengan sikap baik hati, kamu memerintahkan air penyembuhan mengalir melalui wilayah kekuasaanmu dalam gelombang. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "weaponSpecialFall2018RogueText": "Botol Kejelasan", + "weaponSpecialFall2018RogueNotes": "Ketika kamu perlu kembali ke akal sehat, ketika kamu membutuhkan sedikit dorongan untuk membuat keputusan yang tepat, ambil napas dalam-dalam dan teguk. Semuanya akan baik-baik saja! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "weaponSpecialFall2018WarriorText": "Cambuk Mino", + "weaponSpecialFall2018WarriorNotes": "Tidak cukup lama untuk bersantai di belakangmu untuk menjaga bawaan dalam labirin. Yah, mungkin labirin yang sangat kecil. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "weaponSpecialFall2018MageText": "Tongkat Kemanisan", + "weaponSpecialFall2018MageNotes": "Ini bukan permen lolipop biasa! Bola gula ajaib yang bersinar di atas tongkat ini memiliki kekuatan untuk membuat kebiasaan baik melekat padamu. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "weaponSpecialFall2018HealerText": "Tongkat Kelaparan", + "weaponSpecialFall2018HealerNotes": "Beri makan tongkat ini, dan dia akan memberikan Berkah. Jika kamu lupa memberinya makan, jauhkan jari-jarimu dari jangkauannya. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "weaponSpecialWinter2019RogueText": "Buket Poinsettia", + "weaponSpecialWinter2019RogueNotes": "Gunakan buket meriah ini untuk lebih menyamarkan diri, atau dengan murah hati berikan untuk mencerahkan hari teman! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", + "weaponSpecialWinter2019WarriorText": "Halberd Keping Salju", + "weaponSpecialWinter2019WarriorNotes": "Kepingan salju ini tumbuh, kristal es demi kristal es, menjadi pisau sekeras berlian! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", + "weaponSpecialWinter2019MageText": "Tongkat Naga Berapi", + "weaponSpecialWinter2019MageNotes": "Awas! Tongkat eksplosif ini siap membantumu mengatasi semua serangan yang datang. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", + "weaponSpecialWinter2019HealerText": "Tongkat Musim Dingin", + "weaponSpecialWinter2019HealerNotes": "Musim dingin bisa menjadi waktu istirahat dan penyembuhan, jadi tongkat sihir musim dingin ini dapat membantu menenangkan luka yang paling menyedihkan. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", "weaponMystery201411Text": "Garpu Makan", "weaponMystery201411Notes": "Tusuk musuh atau tusuk makanan - semua bisa dilakukan dengan garpu ini! Tidak menambah status apapun. Item Pelanggan November 2014.", "weaponMystery201502Text": "Tongkat Cahaya Bersayap dari Cinta dan Juga Kejujuran", "weaponMystery201502Notes": "Demi SAYAP! Demi CINTA! Demi JUGA KEJUJURAN! Tidak menambah status apapun. Item Pelanggan Februari 2015.", "weaponMystery201505Text": "Tombak Ksatria Hijau", - "weaponMystery201505Notes": "Tombak hijau dan silver ini telah menjatuhkan banyak musuh dari tunggangan mereka. Tidak menambah status apapun. Item Pelanggan Mei 2015.", + "weaponMystery201505Notes": "Tombak hijau dan silver ini telah menjatuhkan banyak musuh dari tunggangan mereka. Tidak menambah status apapun. Item Pelanggan Mei 2015.", "weaponMystery201611Text": "Cornucopia Berlimpah", "weaponMystery201611Notes": "Segala hal yang enak dan makanan yang bergizi bertumpahan dari tanduk ini. Nikmati pestanya! Tidak menambah status apapun. Item Pelanggan November 2016.", "weaponMystery201708Text": "Pedang Lava", "weaponMystery201708Notes": "Sinar berapi dari pedang ini akan menghabiskan bahkan tugas termerahmu dengan cepat! Tidak menambah status apapun. Item Pelanggan Agustus 2017.", - "weaponMystery201811Text": "Splendid Sorcerer's Staff", - "weaponMystery201811Notes": "This magical stave is as powerful as it is elegant. Confers no benefit. November 2018 Subscriber Item.", + "weaponMystery201811Text": "Tongkat Penyihir Hebat", + "weaponMystery201811Notes": "Tongkat ajaib ini kuat dan elegan. Tidak menambah status apapun. Item Pelanggan November 2018.", "weaponMystery301404Text": "Tongkat Steampunk", "weaponMystery301404Notes": "Cocok dibawa jalan-jalan di kota. Item pelanggan Maret 3015. Tidak menambah status apapun.", "weaponArmoireBasicCrossbowText": "Panah Biasa", @@ -348,32 +348,32 @@ "weaponArmoireMerchantsDisplayTrayNotes": "Gunakan nampan yang sudah dipernis ini untuk memamerkan barang-barang berkelas yang kamu jual. Meningkatkan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Saudagar (Item 3 dari 3).", "weaponArmoireBattleAxeText": "Kapak Kuno", "weaponArmoireBattleAxeNotes": "Kapak besi tajam ini cocok untuk mengalahkan musuh terganasmu atau tugas tersulitmu. Meningkatkan Kecerdasan sebesar <%= int %> dan Ketahanan sebesar <%= con %>. Peti Ajaib: Item Tersendiri.", - "weaponArmoireHoofClippersText": "Hoof Clippers", - "weaponArmoireHoofClippersNotes": "Trim the hooves of your hard-working mounts to help them stay healthy as they carry you to adventure! Increases Strength, Intelligence, and Constitution by <%= attrs %> each. Enchanted Armoire: Farrier Set (Item 1 of 3).", + "weaponArmoireHoofClippersText": "Gunting Kuku", + "weaponArmoireHoofClippersNotes": "Pangkas kuku tungganganmu yang pekerja keras itu untuk membantu mereka tetap sehat saat membawamu bertualang! Meningkatkan Kekuatan, Kecerdasan, dan Ketahanan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Penempa Hewan (Item 1 dari 3).", "weaponArmoireWeaversCombText": "Sisir Penenun", "weaponArmoireWeaversCombNotes": "Gunakan sisir ini untuk merapikan benang tenunmu bersama untuk membuat sebuah kain yang tertenun rapat. Meningkatkan Persepsi sebesar <%= per %> dan Kekuatan sebesar <%= str %>. Peti Ajaib: Set Penenun (Item 2 dari 3).", "weaponArmoireLamplighterText": "Penerang Lentera", - "weaponArmoireLamplighterNotes": "This long pole has a wick on one end for lighting lamps, and a hook on the other end for putting them out. Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Lamplighter's Set (Item 1 of 4)", + "weaponArmoireLamplighterNotes": "Tiang panjang ini memiliki sumbu di satu ujung untuk menyalakan lampu, dan pengait di ujung lainnya untuk memadamkannya. Meningkatkan Ketahanan sebanyak <%= con %> dan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Penerang Lentera (Item 1 dari 4).", "weaponArmoireCoachDriversWhipText": "Cambuk Pengendara Kereta", "weaponArmoireCoachDriversWhipNotes": "Kudamu tahu apa yang mereka lakukan, sehingga cambuk ini hanya untuk penampilan (dan bunyi yang cetar membahana!). Meningkatkan Kecerdasan sebesar <%= int %> dan Kekuatan sebesar <%= str %>. Peti Ajaib: Set Pengendara Kereta (Set 3 dari 3).", "weaponArmoireScepterOfDiamondsText": "Tongkat Berlian", - "weaponArmoireScepterOfDiamondsNotes": "This scepter shines with a warm red glow as it grants you increased willpower. Increases Strength by <%= str %>. Enchanted Armoire: King of Diamonds Set (Item 3 of 4).", - "weaponArmoireFlutteryArmyText": "Fluttery Army", - "weaponArmoireFlutteryArmyNotes": "This group of scrappy lepidopterans is ready to flap fiercely and cool down your reddest tasks! Increases Constitution, Intelligence, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 3 of 4).", - "weaponArmoireCobblersHammerText": "Cobbler's Hammer", - "weaponArmoireCobblersHammerNotes": "This hammer is specially made for leatherwork. It can do a real number on a red Daily in a pinch, though. Increases Constitution and Strength by <%= attrs %> each. Enchanted Armoire: Cobbler Set (Item 2 of 3).", - "weaponArmoireGlassblowersBlowpipeText": "Glassblower's Blowpipe", - "weaponArmoireGlassblowersBlowpipeNotes": "Use this tube to blow molten glass into beautiful vases, ornaments, and other fancy things. Increases Strength by <%= str %>. Enchanted Armoire: Glassblower Set (Item 1 of 4).", - "weaponArmoirePoisonedGobletText": "Poisoned Goblet", - "weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).", - "weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow", - "weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).", - "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding", - "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).", - "weaponArmoireSpearOfSpadesText": "Spear of Spades", - "weaponArmoireSpearOfSpadesNotes": "This knightly lance is perfect for attacking your reddest Habits and Dailies. Increases Constitution by <%= con %>. Enchanted Armoire: Ace of Spades Set (Item 3 of 3).", - "weaponArmoireArcaneScrollText": "Arcane Scroll", - "weaponArmoireArcaneScrollNotes": "This ancient To-Do list is filled with strange symbols and spells from a forgotten age. Increases Intelligence by <%= int %>. Enchanted Armoire: Scribe Set (Item 3 of 3).", + "weaponArmoireScepterOfDiamondsNotes": "Tongkat kerajaan ini bersinar dengan cahaya merah hangat karena memberimu tekad yang meningkat. Meningkatkan Kekuatan sebanyak <%= str %>. Peti Ajaib: Set Raja Berlian (Item 3 dari 4).", + "weaponArmoireFlutteryArmyText": "Gerombolan Berkibar-kibar", + "weaponArmoireFlutteryArmyNotes": "Kelompok lepidopteran yang suka berkelahi ini siap mengepakkan sayapnya dengan keras dan mendinginkan tugasmu yang paling merah! Meningkatkan Ketahanan, Kecerdasan, dan Kekuatan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Rok Berkibar (Item 3 dari 4).", + "weaponArmoireCobblersHammerText": "Palu Tukang Sepatu", + "weaponArmoireCobblersHammerNotes": "Palu ini dibuat khusus untuk pengerjaan kulit. Itu bisa melakukan bilangan real pada harian merah dalam keadaan darurat. Meningkatkan Ketahanan dan Kekuatan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Tukang Sepatu (Item 2 dari 3).", + "weaponArmoireGlassblowersBlowpipeText": "Sumpit Peniup Kaca", + "weaponArmoireGlassblowersBlowpipeNotes": "Gunakan sumpit ini untuk meniup kaca cair menjadi vas yang indah, ornamen, dan hal-hal mewah lainnya. Meningkatkan Kekuatan sebanyak <%= str %>. Peti Ajaib: Set Peniup Kaca (Item 1 dari 4).", + "weaponArmoirePoisonedGobletText": "Piala Beracun", + "weaponArmoirePoisonedGobletNotes": "Gunakan ini untuk membangun ketahananmu terhadap bubuk iocane dan racun berbahaya lainnya yang tak terbayangkan. Meningkatkan Kecerdasan sebanyak <%= int %>. Peti Ajaib: Set Putri Bajak Laut (Item 3 dari 4).", + "weaponArmoireJeweledArcherBowText": "Busur Pemanah Permata", + "weaponArmoireJeweledArcherBowNotes": "Busur emas dan permata ini akan melesatkan panahmu ke target dengan kecepatan luar biasa. Meningkatkan Kecerdasan sebanyak <%= int %>. Peti Ajaib: Set Pemanah Permata (Item 3 dari 3).", + "weaponArmoireNeedleOfBookbindingText": "Jarum Penjilid Buku", + "weaponArmoireNeedleOfBookbindingNotes": "Kamu akan terkejut melihat betapa kerasnya sebuah buku. Jarum ini dapat menembus tepat ke inti tugas-tugasmu. Meningkatkan Kekuatan sebanyak <%= str %>. Peti Ajaib: Set Penjilid Buku (Item 3 dari 4).", + "weaponArmoireSpearOfSpadesText": "Tombak Sekop", + "weaponArmoireSpearOfSpadesNotes": "Tombak ksatria ini sangat cocok untuk menyerang Kebiasaan dan Keseharian paling merahmu. Meningkatkan Ketahanan sebanyak <%= con %>. Peti Ajaib: Set As Sekop (Item 3 dari 3).", + "weaponArmoireArcaneScrollText": "Gulungan Misterius", + "weaponArmoireArcaneScrollNotes": "Daftar agenda kuno ini berisi simbol-simbol aneh dan mantra dari zaman yang terlupakan. Meningkatkan Kecerdasan sebanyak <%= int %>. Peti Ajaib: Set Penulis (Item ke-3 dari 3).", "armor": "baju perang", "armorCapitalized": "Baju Perang", "armorBase0Text": "Pakaian Biasa", @@ -421,7 +421,7 @@ "armorSpecial0Text": "Baju Bayang-bayang", "armorSpecial0Notes": "Menjerit jika diserang, merasakan rasa sakit sang pengguna. Meningkatkan Ketahanan sebesar <%= con %>.", "armorSpecial1Text": "Baju Kristal", - "armorSpecial1Notes": "Kekuatannya tak pernah lelah menjaga penggunanya agar selalu nyaman. Meningkatkan semua Atribut sebesar <%= attrs %>.", + "armorSpecial1Notes": "Kekuatannya tak pernah lelah menjaga penggunanya agar selalu nyaman. Meningkatkan semua Atribut sebesar <%= attrs %>.", "armorSpecial2Text": "Jubah mulia Jean Chalard", "armorSpecial2Notes": "Membuat kamu ekstra lembut! Meningkatkan Ketahanan dan Kecerdasan masing-masing sebesar <%= attrs %>.", "armorSpecialTakeThisText": "Baju Zirah Take This", @@ -435,15 +435,15 @@ "armorSpecialLunarWarriorArmorText": "Baju Zirah Ksatria Rembulan", "armorSpecialLunarWarriorArmorNotes": "Baju zirah ini ditempa dari batu bulan dan baja ajaib. Meningkatkan Kekuatan dan Ketahanan masing-masing sebesar <%= attrs %>.", "armorSpecialMammothRiderArmorText": "Baju Perang Penunggang Mammoth", - "armorSpecialMammothRiderArmorNotes": "This suit of fur and leather includes a snazzy cape studded with rose quartz gems. It will protect you from bitter winds as you adventure in the coldest climes. Increases Constitution by <%= con %>.", + "armorSpecialMammothRiderArmorNotes": "Setelan bulu dan kulit di jubah manis ini bertatahkan permata kuarsa mawar. Ini akan melindungimu dari angin kencang saat kamu berpetualang di iklim terdingin. Meningkatkan Ketahanan sebanyak <%= con %>.", "armorSpecialPageArmorText": "Zirah Page", - "armorSpecialPageArmorNotes": "Carry everything you need in your perfect pack! Increases Constitution by <%= con %>.", + "armorSpecialPageArmorNotes": "Bawa semua yang kamu butuhkan dalam satu paket sempurna! Meningkatkan Ketahanan sebanyak <%= con %>.", "armorSpecialRoguishRainbowMessengerRobesText": "Jubah Kurir Pelangi Nakal", "armorSpecialRoguishRainbowMessengerRobesNotes": "Jubah berbelang-belang cerah ini membuatmu bisa terbang melalui angin badai dengan lancar dan aman. Meningkatkan Kekuatan sebesar <%= str %>.", - "armorSpecialSneakthiefRobesText": "Sneakthief Robes", - "armorSpecialSneakthiefRobesNotes": "These robes will help hide you in the dead of night, but will also allow freedom of movement as you silently sneak about! Increases Intelligence by <%= int %>.", + "armorSpecialSneakthiefRobesText": "Jubah Pencuri Senyap", + "armorSpecialSneakthiefRobesNotes": "Jubah ini akan membantu menyembunyikanmu di tengah malam, tetapi juga akan membuat leluasa saat diam-diam menyelinap! Meningkatkan Kecerdasan sebanyak <%= int %>.", "armorSpecialSnowSovereignRobesText": "Jubah Penguasa Salju", - "armorSpecialSnowSovereignRobesNotes": "These robes are elegant enough for court, yet warm enough for the coldest winter day. Increases Perception by <%= per %>.", + "armorSpecialSnowSovereignRobesNotes": "Jubah ini cukup elegan untuk pengadilan, juga cukup hangat untuk hari musim dingin yang paling dingin. Meningkatkan Persepsi sebanyak <%= per %>.", "armorSpecialNomadsCuirassText": "Baju Baja Nomad", "armorSpecialNomadsCuirassNotes": "Baju baja ini mempunyai pelindung dada yang kuat untuk melindungi jantungmu! Meningkatkan Ketahanan sebesar <%= con %>.", "armorSpecialDandySuitText": "Setelan Dandy", @@ -452,8 +452,8 @@ "armorSpecialSamuraiArmorNotes": "Baju zirah bersisik yang kuat ini disambung oleh tali-tali sutra yang elegan. Meningkatkan Persepsi sebesar <%= per %>.", "armorSpecialTurkeyArmorBaseText": "Baju Pelindung Kalkun", "armorSpecialTurkeyArmorBaseNotes": "Menjaga pahamu hangat dan nyaman di dalam baju pelindung berbulu ini! TIdak menambah status apapun.", - "armorSpecialTurkeyArmorGildedText": "Gilded Turkey Armor", - "armorSpecialTurkeyArmorGildedNotes": "Strut your stuff in this seasonally shiny armor! Confers no benefit.", + "armorSpecialTurkeyArmorGildedText": "Armor Kalkun Berlapis Emas", + "armorSpecialTurkeyArmorGildedNotes": "Rangkai barang-barangmu dengan baju besi mengkilap musiman ini! Tidak menambah status apapun.", "armorSpecialYetiText": "Jubah Penjinak Yeti", "armorSpecialYetiNotes": "Berbulu dan berani. Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Dingin 2013-2014 Edisi Terbatas.", "armorSpecialSkiText": "Jaket Ski Pembunuh", @@ -472,8 +472,8 @@ "armorSpecialBirthday2017Notes": "Selamat Ulang Tahun, Habitica! Gunakan Jubah Pesta aneh ini untuk merayakan hari mengagumkan ini. Tidak menambah status apapun.", "armorSpecialBirthday2018Text": "Jubah Pesta Mewah", "armorSpecialBirthday2018Notes": "Selamat Ulang Tahun, Habitica! Kenakan Jubah Pesta Mewah ini untuk merayakan hari mengagumkan ini. Tidak menambah status apapun.", - "armorSpecialBirthday2019Text": "Outlandish Party Robes", - "armorSpecialBirthday2019Notes": "Happy Birthday, Habitica! Wear these Outlandish Party Robes to celebrate this wonderful day. Confers no benefit.", + "armorSpecialBirthday2019Text": "Jubah Pesta Asing", + "armorSpecialBirthday2019Notes": "Selamat ulang tahun, Habitica! Kenakan Jubah Pesta Asing ini untuk merayakan hari yang indah ini. Tidak menambah status apapun.", "armorSpecialGaymerxText": "Baju Prajurit Pelangi", "armorSpecialGaymerxNotes": "Sebagai Perayaan Konferensi GaymerX, baju spesial ini berhiaskan pelangi yang cerah dan indah! GaymerX adalah konvensi gamer yang merayakan LGBTQ dan permainan dan terbuka untuk semua orang.", "armorSpecialSpringRogueText": "Baju Kucing Lembut", @@ -493,7 +493,7 @@ "armorSpecialSummerHealerText": "Jubah Juru Selamat Lautan", "armorSpecialSummerHealerNotes": "Pakaian dengan sisik mengkilap ini mengubah penggunanya jadi juru selamat lautan betulan! Meningkatkan Kecerdasan sebesar <%= con %>. Perlengkapan Musim Panas 2014 Edisi Terbatas.", "armorSpecialFallRogueText": "Jubah Merah Darah", - "armorSpecialFallRogueNotes": "Tajam. Merah. Mistik. Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Gugur 2014 Edisi Terbatas.", + "armorSpecialFallRogueNotes": "Tajam. Merah. Mistik. Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Gugur 2014 Edisi Terbatas.", "armorSpecialFallWarriorText": "Jas Lab", "armorSpecialFallWarriorNotes": "Melindungimu dari tumpahan zat misterius. Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Gugur 2014 Edisi Terbatas.", "armorSpecialFallMageText": "Jubah Sihir Misteri", @@ -505,7 +505,7 @@ "armorSpecialWinter2015WarriorText": "Baju Kue Jahe", "armorSpecialWinter2015WarriorNotes": "Hangat dan nyaman, langsung dari oven! Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Dingin 2014-2015 Edisi Terbatas.", "armorSpecialWinter2015MageText": "Jubah Kutub Utara", - "armorSpecialWinter2015MageNotes": "Kamu bisa melihat cahaya kutub utara pada pakaian ini. Meningkatkan Kecerdasan sebesar <%= int %>. Peralatan Musim Dingin 2014-2015 Edisi Terbatas.", + "armorSpecialWinter2015MageNotes": "Kamu bisa melihat cahaya kutub utara pada pakaian ini. Meningkatkan Kecerdasan sebesar <%= int %>. Peralatan Musim Dingin 2014-2015 Edisi Terbatas.", "armorSpecialWinter2015HealerText": "Baju Ski", "armorSpecialWinter2015HealerNotes": "Seluncur es itu asyik banget, tapi tetap jaga-jaga pakai baju pelindung biar gak diserang monster es. Meningkatkan Konstitusi sebesar <%= con %>. Perlatan Musim Dingin 2014-2015 Edisi Terbatas.", "armorSpecialSpring2015RogueText": "Jubah Berdecit", @@ -567,7 +567,7 @@ "armorSpecialWinter2017RogueText": "Baju Zirah Beku", "armorSpecialWinter2017RogueNotes": "Pakaian penyelinap ini memantulkan cahaya untuk membingungkan tugas yang lemah selagi kamu mengambil hadiah dari mereka! Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.", "armorSpecialWinter2017WarriorText": "Baju Es Hoki", - "armorSpecialWinter2017WarriorNotes": "Show your team spirit and strength in this warm, padded armor. Increases Constitution by <%= con %>. Limited Edition 2016-2017 Winter Gear.", + "armorSpecialWinter2017WarriorNotes": "Tunjukkan semangat dan kekuatan timmu dalam baju besi yang hangat dan empuk ini. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.", "armorSpecialWinter2017MageText": "Baju Serigala", "armorSpecialWinter2017MageNotes": "Dibuat dari wol terhangat musim dingin dan ditenun dengan sihir oleh sang Serigala Musim Dingin mistis, jubah ini menjauhkan udara dingin dan menjagamu tetap waspada! Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.", "armorSpecialWinter2017HealerText": "Baju Zirah Bunga Berkilau", @@ -575,9 +575,9 @@ "armorSpecialSpring2017RogueText": "Setelan Kelinci Lihai", "armorSpecialSpring2017RogueNotes": "Lembut tapi kuat, setelan ini membantumu berjalan melalui taman tanpa terlihat. Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "armorSpecialSpring2017WarriorText": "Baju Pawsome", - "armorSpecialSpring2017WarriorNotes": "This fancy armor is as shiny as your finely groomed coat, but with added resistance to attack. Increases Constitution by <%= con %>. Limited Edition 2017 Spring Gear.", + "armorSpecialSpring2017WarriorNotes": "Armor mewah ini berkilau seperti mantel yang terawat halus, tetapi dengan ketahanan tambahan terhadap serangan. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "armorSpecialSpring2017MageText": "Jubah Pesulap Anjing", - "armorSpecialSpring2017MageNotes": "Magical by design, fluffy by choice. Increases Intelligence by <%= int %>. Limited Edition 2017 Spring Gear.", + "armorSpecialSpring2017MageNotes": "Ajaib dengan desain, halus karena pilihan. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "armorSpecialSpring2017HealerText": "Jubah Ketenangan", "armorSpecialSpring2017HealerNotes": "Kelembutan dari jubah ini menenangkanmu dan juga siapapun yang perlu pertolongan penyembuhanmu! Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "armorSpecialSummer2017RogueText": "Ekor Naga Laut", @@ -585,11 +585,11 @@ "armorSpecialSummer2017WarriorText": "Baju Zirah Berpasir", "armorSpecialSummer2017WarriorNotes": "Jangan tertipu dengan penampilan rapuhnya: baju zirah ini lebih keras dari baja. Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Panas 2017 Edisi Terbatas.", "armorSpecialSummer2017MageText": "Jubah Pusaran Air", - "armorSpecialSummer2017MageNotes": "Careful not to get splashed by these robes woven of enchanted water! Increases Intelligence by <%= int %>. Limited Edition 2017 Summer Gear.", + "armorSpecialSummer2017MageNotes": "Berhati-hatilah agar tidak terciprat oleh jubah yang ditenun dari air ajaib ini! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Panas 2017 Edisi Terbatas.", "armorSpecialSummer2017HealerText": "Ekor Silversea", "armorSpecialSummer2017HealerNotes": "Kain dari sisik perak ini mengubah pemakainya menjadi seorang Penyembuh Lautan asli! Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Panas 2017 Edisi Terbatas.", "armorSpecialFall2017RogueText": "Jubah Ladang Labu", - "armorSpecialFall2017RogueNotes": "Need to hide out? Crouch among the Jack o' Lanterns and these robes will conceal you! Increases Perception by <%= per %>. Limited Edition 2017 Autumn Gear.", + "armorSpecialFall2017RogueNotes": "Perlu bersembunyi? Berjongkoklah di antara Jack o 'Lanterns dan jubah ini akan menyembunyikanmu! Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "armorSpecialFall2017WarriorText": "Baju Zirah Kuat dan Manis", "armorSpecialFall2017WarriorNotes": "Baju zirah ini akan melindungimu seperti cangkang permen enak. Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "armorSpecialFall2017MageText": "Jubah Penyamaran", @@ -604,38 +604,38 @@ "armorSpecialWinter2018MageNotes": "Pamungkas dalam urusan setelan sihir. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2017-2018 Edisi Terbatas.", "armorSpecialWinter2018HealerText": "Jubah Mistletoe", "armorSpecialWinter2018HealerNotes": "Jubah ini ditenun dengan mantra untuk menghadirkan kegembiraan hari libur. Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Dingin 2017-2018 Edisi Terbatas.", - "armorSpecialSpring2018RogueText": "Feather Suit", - "armorSpecialSpring2018RogueNotes": "This fluffy yellow costume will trick your enemies into thinking you're just a harmless ducky! Increases Perception by <%= per %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSpring2018WarriorText": "Armor of Dawn", - "armorSpecialSpring2018WarriorNotes": "This colorful plate is forged with the sunrise's fire. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSpring2018MageText": "Tulip Robe", - "armorSpecialSpring2018MageNotes": "Your spell casting can only improve while clad in these soft, silky petals. Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSpring2018HealerText": "Garnet Armor", - "armorSpecialSpring2018HealerNotes": "Let this bright armor infuse your heart with power for healing. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSummer2018RogueText": "Pocket Fishing Vest", - "armorSpecialSummer2018RogueNotes": "Bobbers? Boxes of hooks? Spare line? Lockpicks? Smoke bombs? Whatever you need on hand for your summer fishing getaway, there's a pocket for it! Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.", - "armorSpecialSummer2018WarriorText": "Betta Tail Armor", - "armorSpecialSummer2018WarriorNotes": "Dazzle onlookers with whorls of magnificent color as you spin and dart through the water. How could any opponent dare strike at this beauty? Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.", - "armorSpecialSummer2018MageText": "Lionfish Scale Hauberk", - "armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.", - "armorSpecialSummer2018HealerText": "Merfolk Monarch Robes", - "armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.", - "armorSpecialFall2018RogueText": "Alter Ego Frock Coat", - "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialFall2018WarriorText": "Minotaur Platemail", - "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialFall2018MageText": "Candymancer's Robes", - "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialFall2018HealerText": "Robes of Carnivory", - "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialWinter2019RogueText": "Poinsettia Armor", - "armorSpecialWinter2019RogueNotes": "With holiday greenery all about, no one will notice an extra shrubbery! You can move through seasonal gatherings with ease and stealth. Increases Perception by <%= per %>. Limited Edition 2018-2019 Winter Gear.", - "armorSpecialWinter2019WarriorText": "Glacial Armor", - "armorSpecialWinter2019WarriorNotes": "In the heat of battle, this armor will keep you ice cool and ready for action. Increases Constitution by <%= con %>. Limited Edition 2018-2019 Winter Gear.", - "armorSpecialWinter2019MageText": "Robes of Burning Inspiration", - "armorSpecialWinter2019MageNotes": "This fireproof garb will help protect you if any of your flashes of brilliance should happen to backfire! Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.", - "armorSpecialWinter2019HealerText": "Midnight Robe", - "armorSpecialWinter2019HealerNotes": "Without darkness, there wouldn't be any light. These dark robes help bring peace and rest to promote healing. Increases Constitution by <%= con %>. Limited Edition 2018-2019 Winter Gear.", + "armorSpecialSpring2018RogueText": "Jas Bulu", + "armorSpecialSpring2018RogueNotes": "Kostum kuning berbulu ini akan menipu musuh agar berpikir kamu hanya bebek yang tidak berbahaya! Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "armorSpecialSpring2018WarriorText": "Armor Fajar", + "armorSpecialSpring2018WarriorNotes": "Zirah warna-warni ini ditempa dengan api matahari terbit. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "armorSpecialSpring2018MageText": "Jubah Tulip", + "armorSpecialSpring2018MageNotes": "Peluncuran mantramu hanya bisa meningkat saat dibalut kelopak yang lembut dan halus ini. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "armorSpecialSpring2018HealerText": "Armor Garnet", + "armorSpecialSpring2018HealerNotes": "Biarkan baju besi yang cerah ini menanamkan hatimu dengan kekuatan untuk penyembuhan. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "armorSpecialSummer2018RogueText": "Rompi Pancing Saku", + "armorSpecialSummer2018RogueNotes": "Pengapung? Kotak kait? Kail cadangan? Pilihan kunci? Bom asap? Apa pun yang kamu butuhkan untuk liburan memancing musim panasmu, ada kantongnya! Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "armorSpecialSummer2018WarriorText": "Armor Ekor Cupang", + "armorSpecialSummer2018WarriorNotes": "Memukau penonton dengan lingkaran warna yang luar biasa saat kamu berputar dan melesat di air. Bagaimana mungkin ada lawan yang berani menyerang keindahan ini? Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "armorSpecialSummer2018MageText": "Baju Sisik Ikan Singa", + "armorSpecialSummer2018MageNotes": "Sihir racun terkenal halus. Tidak demikian dengan baju besi berwarna-warni ini, yang pesannya jelas bagi binatang buas dan tugas: hati-hati! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "armorSpecialSummer2018HealerText": "Jubah Raja Merfolk", + "armorSpecialSummer2018HealerNotes": "Jubah Cerulean ini mengungkapkan bahwa kamu punya kaki dan bisa berjalan di darat ... maksudnya di sumur. Bahkan seorang raja pun tidak bisa diharapkan sempurna. Meningkatkan Ketahanan sebanyak <% = con % >. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "armorSpecialFall2018RogueText": "Mantel Rok Alter Ego", + "armorSpecialFall2018RogueNotes": "Gaya hari ini. Kenyamanan dan perlindungan untuk malam hari. Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "armorSpecialFall2018WarriorText": "Zirah Besi Minotaur", + "armorSpecialFall2018WarriorNotes": "Lengkap dengan kuku untuk menabuh irama yang menenangkan saat berjalan di labirin meditasi. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "armorSpecialFall2018MageText": "Jubah Pengendali Permen", + "armorSpecialFall2018MageNotes": "Kain jubah ini memiliki permen ajaib yang ditenun tepat di dalamnya! Namun, kami sarankan untuk tidak mencoba memakannya. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "armorSpecialFall2018HealerText": "Jubah Karnivora", + "armorSpecialFall2018HealerNotes": "Terbuat dari tanaman, tetapi tidak berarti vegetarian. Kebiasaan buruk ketakutan dari jarak bermil-mil dari jubah ini. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Gugur 2018 Edisi Terbatas.", + "armorSpecialWinter2019RogueText": "Armor Poinsettia", + "armorSpecialWinter2019RogueNotes": "Dengan banyak tanaman hijau di sekitarmu, tidak akan ada yang sadar akan semak ini! Kamu dapat bergerak melalui pertemuan musiman dengan mudah dan sembunyi-sembunyi. Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", + "armorSpecialWinter2019WarriorText": "Armor Glasial", + "armorSpecialWinter2019WarriorNotes": "Dalam panasnya pertempuran, baju besi ini akan membuatmu tetap dingin dan siap beraksi. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", + "armorSpecialWinter2019MageText": "Jubah Inspirasi Membara", + "armorSpecialWinter2019MageNotes": "Pakaian tahan api ini akan membantu melindungimu jika ada kilatan kecemerlangan yang menjadi bumerang! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", + "armorSpecialWinter2019HealerText": "Jubah Tengah Malam", + "armorSpecialWinter2019HealerNotes": "Tanpa kegelapan, tidak akan ada cahaya. Jubah gelap ini membantu membawa kedamaian dan istirahat untuk mempercepat penyembuhan. Meningkatkan Ketahanan sebanyak <%= con %>. Perlengkapan Musim Dingin 2018-2019 Edisi Terbatas.", "armorMystery201402Text": "Jubah Pembawa Pesan", "armorMystery201402Notes": "Berkilau dan kuat, jubah ini punya banyak kantong untuk membawa surat. Tidak menambah status apapun. Item Pelanggan Februari 2014.", "armorMystery201403Text": "Baju Penjelajah Hutan", @@ -645,7 +645,7 @@ "armorMystery201406Text": "Jubah Gurita", "armorMystery201406Notes": "Jubah fleksibel ini bisa membuat pemakainya menyelip kemana saja termasuk celah-celah terkecil. Tidak menambah status apapun. Item Pelanggan Juni 2014.", "armorMystery201407Text": "Baju Penjelajah Bawah Laut", - "armorMystery201407Notes": "Disebut juga sebagai sebagai \"basah\", \"tebal banget\" dan \"duh, susah dipakai\", baju ini cocok sebagai sahabat para penjelajah bawah laut. Tidak menambah status apapun. Item Pelanggan Juli 2014.", + "armorMystery201407Notes": "Disebut juga sebagai \"basah\", \"tebal banget\" dan \"duh, susah dipakai\", baju ini cocok sebagai sahabat para penjelajah bawah laut. Tidak menambah status apapun. Item Pelanggan Juli 2014.", "armorMystery201408Text": "Jubah Mentari", "armorMystery201408Notes": "Jubah ini diselubungi sinar mentari dan emas. Tidak menambah status apapun. Item Pelanggan Agustus 2014.", "armorMystery201409Text": "Rompi Strider", @@ -678,8 +678,8 @@ "armorMystery201605Notes": "Berbeda dengan penyair tradisional yang ikut berpetualang dalam party, penyair yang bergabung dalam marching band Habitica terkenal dengan pawai meriah, bukan raid dungeon. Tidak menambah status apapun. Item Pelanggan Mei 2016.", "armorMystery201606Text": "Ekor Selkie", "armorMystery201606Notes": "Ekor kuat ini berkilau bagaikan busa laut yang menerjang pantai. Tidak menambah status apapun. Item Pelanggan Juni 2016.", - "armorMystery201607Text": "Seafloor Rogue Armor", - "armorMystery201607Notes": "Blend into the sea floor with this stealthy aquatic armor. Confers no benefit. July 2016 Subscriber Item.", + "armorMystery201607Text": "Zirah Perampok Dasar Laut", + "armorMystery201607Notes": "Berbaur dengan dasar laut dengan baju besi akuatik yang tersembunyi ini. Tidak menambah status apapun. Item Pelanggan Juli 2016.", "armorMystery201609Text": "Baju Zirah Sapi", "armorMystery201609Notes": "Sesuaikan dirimu dengan sisa kawanan dengan baju zirah nyaman ini! Tidak menambah status apapun! Item Pelanggan September 2016.", "armorMystery201610Text": "Baju Zirah Hantu", @@ -699,23 +699,23 @@ "armorMystery201712Text": "Baju Zirah Candlemancer", "armorMystery201712Notes": "Panas dan cahaya yang dihasilkan baju zirah ajaib ini akan menghangatkan hatimu tapi tidak pernah membakar kulitmu! Tidak menambah status apapun. Item Pelanggan Desember 2017.", "armorMystery201802Text": "Baju Kumbang Cinta", - "armorMystery201802Notes": "This shiny armor reflects your strength of heart and infuses it into any Habiticans nearby who may need encouragement! Confers no benefit. February 2018 Subscriber Item.", - "armorMystery201806Text": "Alluring Anglerfish Tail", - "armorMystery201806Notes": "This sinuous tail features glowing spots to light your way through the deep. Confers no benefit. June 2018 Subscriber Item.", - "armorMystery201807Text": "Sea Serpent Tail", - "armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.", - "armorMystery201808Text": "Lava Dragon Armor", - "armorMystery201808Notes": "This armor is made from the shed scales of the elusive (and extremely warm) Lava Dragon. Confers no benefit. August 2018 Subscriber Item.", - "armorMystery201809Text": "Armor of Autumn Leaves", - "armorMystery201809Notes": "You are not only a small and fearsome leaf puff, you are sporting the most beautiful colors of the season! Confers no benefit. September 2018 Subscriber Item.", - "armorMystery201810Text": "Dark Forest Robes", - "armorMystery201810Notes": "These robes are extra warm to protect you from the ghastly cold of haunted realms. Confers no benefit. October 2018 Subscriber Item.", + "armorMystery201802Notes": "Armor mengkilap ini mencerminkan kekuatan hatimu dan memasukkannya ke setiap Habiticans terdekat yang mungkin membutuhkan dorongan! Tidak menambah status. Item Pelanggan Februari 2018.", + "armorMystery201806Text": "Ekor Anglerfish Pemikat", + "armorMystery201806Notes": "Ekor berliku-liku ini memiliki bintik-bintik bercahaya untuk menerangi jalan melalui kedalaman. Tidak menambah status apapun. Item Pelanggan Juni 2018.", + "armorMystery201807Text": "Ekor Naga Laut", + "armorMystery201807Notes": "Ekor yang kuat ini akan mendorongmu melewati laut dengan kecepatan luar biasa! Tidak menambah status apapun. Item Pelanggan Juli 2018.", + "armorMystery201808Text": "Armor Naga Lava", + "armorMystery201808Notes": "Armor ini terbuat dari sisik Naga Lava yang sulit dipahami (dan sangat hangat). Tidak menambah status apapun. Item Pelanggan Agustus 2018.", + "armorMystery201809Text": "Armor Daun Musim Gugur", + "armorMystery201809Notes": "Kamu bukan hanya secuil daun kecil menakutkan, kamu juga memakai warna paling indah musim ini! Tidak menambah status apapun. Item Pelanggan September 2018.", + "armorMystery201810Text": "Jubah Hutan Gelap", + "armorMystery201810Notes": "Jubah ini ekstra hangat untuk melindungimu dari dinginnya alam berhantu. Tidak menambah status apapun. Item Pelanggan Oktober 2018.", "armorMystery301404Text": "Baju Steampunk", "armorMystery301404Notes": "Necis dan keren, iya lah! Tidak menambah status apapun. Item Pelanggan Februari 3015.", "armorMystery301703Text": "Gaun Merak Steampunk", "armorMystery301703Notes": "Gaun elegan ini cocok untuk digunakan bahkan ke pesta paling mewah! Tidak menambahkan status apapun. Item Pelanggan Maret 3017.", - "armorMystery301704Text": "Steampunk Pheasant Dress", - "armorMystery301704Notes": "This fine outfit is perfect for a night out and about or a day in your gadget workshop! Confers no benefit. April 3017 Subscriber Item.", + "armorMystery301704Text": "Gaun Burung Pegar Steampunk", + "armorMystery301704Notes": "Pakaian bagus ini sangat cocok untuk keluar malam atau seharian di bengkel gadgetmu! Tidak menambah status apapun. Item Pelanggan April 3017.", "armorArmoireLunarArmorText": "Baju Bulan Penentram", "armorArmoireLunarArmorNotes": "Cahaya bulan menambah kekuatan dan kecerdasanmu. Meningkatkan Kekuatan sebesar <%= str %> dan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Bulan Penentram (Item 2 dari 3).", "armorArmoireGladiatorArmorText": "Baju Gladiator", @@ -735,7 +735,7 @@ "armorArmoireCrystalCrescentRobesText": "Jubah Kristal Bulan Sabit", "armorArmoireCrystalCrescentRobesNotes": "Jubah magis ini memancarkan sinar di malam hari. Meningkatkan Ketahanan dan Persepsi masing-masing sebesar <%= attrs %>. Peti Ajaib: Set Sabit Kristal (Item 2 dari 3).", "armorArmoireDragonTamerArmorText": "Baju Penjinak Naga", - "armorArmoireDragonTamerArmorNotes": "Baju baja kuat ini tahan terhadap api. Meningkatkan ketahanan sebesar <%= con %>. Peti Ajaib : Set Penakluk Naga (Item 3 dari 3).", + "armorArmoireDragonTamerArmorNotes": "Baju baja kuat ini tahan terhadap api. Meningkatkan ketahanan sebesar <%= con %>. Peti Ajaib : Set Penakluk Naga (Item 3 dari 3).", "armorArmoireBarristerRobesText": "Pakaian Pengacara", "armorArmoireBarristerRobesNotes": "Sangat serius dan agung. Meningkatkan Ketahanan sebesar <%= con %>. Peti Ajaib: Set Pengacara (Item 2 dari 3).", "armorArmoireJesterCostumeText": "Kostum Badut", @@ -767,55 +767,55 @@ "armorArmoireGownOfHeartsText": "Gaun Hati", "armorArmoireGownOfHeartsNotes": "Gaun ini dipenuhi hiasan! Tapi bukan cuma itu, ini akan meningkatkan keteguhan hatimu. Meningkatkan Ketahanan sebesar <%= con %>. Peti Ajaib: Set Ratu Hati (Item 2 dari 3).", "armorArmoireMushroomDruidArmorText": "Baju Druid Jamur", - "armorArmoireMushroomDruidArmorNotes": "This woody brown armor, capped with tiny mushrooms, will help you hear the whispers of forest life. Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Mushroom Druid Set (Item 2 of 3).", + "armorArmoireMushroomDruidArmorNotes": "Baju besi coklat kayu ini, ditutup dengan jamur kecil, akan membantumu mendengar bisikan kehidupan hutan. Meningkatkan Ketahanan sebanyak <%= con %> dan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Druid Jamur (Item 2 dari 3).", "armorArmoireGreenFestivalYukataText": "Yukata Festival Hijau", - "armorArmoireGreenFestivalYukataNotes": "This fine lightweight yukata will keep you cool while you enjoy any festive occasion. Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Festival Attire Set (Item 1 of 3).", + "armorArmoireGreenFestivalYukataNotes": "Yukata ringan yang halus ini akan membuatmu tetap sejuk saat menikmati acara apa pun. Meningkatkan Konstitusi dan Persepsi masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Pakaian Festival (Item 1 dari 3).", "armorArmoireMerchantTunicText": "Jubah Pedagang", - "armorArmoireMerchantTunicNotes": "The wide sleeves of this tunic are perfect for stashing the coins you've earned! Increases Perception by <%= per %>. Enchanted Armoire: Merchant Set (Item 2 of 3).", + "armorArmoireMerchantTunicNotes": "Lengan lebar tunik ini sangat cocok untuk menyimpan koin yang kamu peroleh! Meningkatkan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Saudagar (Item 2 dari 3).", "armorArmoireVikingTunicText": "Jubah Viking", - "armorArmoireVikingTunicNotes": "This warm woolen tunic includes a cloak for extra coziness even in ocean gales. Increases Constitution by <%= con %> and Strength by <%= str %>. Enchanted Armoire: Viking Set (Item 1 of 3).", + "armorArmoireVikingTunicNotes": "Tunik wol hangat ini termasuk jubah untuk kesenangan ekstra bahkan di angin laut. Meningkatkan Ketahanan sebanyak <%= con %> dan Kekuatan sebanyak <%= str %>. Peti Ajaib: Set Viking (Item 1 dari 3).", "armorArmoireSwanDancerTutuText": "Tutu Penari Angsa", "armorArmoireSwanDancerTutuNotes": "Kamu dapat saja terbang ke langit selagi berputar menggunakan tutu berbulu yang cantik ini. Meningkatkan Kecerdasan dan Kekuatan masing-masing sebesar <%= attrs %>. Peti Ajaib: Set Penari Angsa (Item 2 dari 3).", "armorArmoireAntiProcrastinationArmorText": "Baju Zirah Anti Penundaan", "armorArmoireAntiProcrastinationArmorNotes": "Terisi dengan mantra produktifitas kuno, baju zirah besi ini akan memberikanmu kekuatan tambahan untuk bertempur melawan tugas-tugasmu. Meningkatkan Kekuatan sebesar <%= str %>. Peti Ajaib: Set Anti Penundaan (Item 2 dari 3).", "armorArmoireYellowPartyDressText": "Gaun Pesta Kuning", "armorArmoireYellowPartyDressNotes": "Kamu tanggap, kuat, pintar dan sangat modis! Meningkatkan Persepsi, Kekuatan, dan Kecerdasan masing-masing sebesar <%= attrs %>. Peti Ajaib: Set Bando Kuning (Item 2 dari 2).", - "armorArmoireFarrierOutfitText": "Farrier Outfit", - "armorArmoireFarrierOutfitNotes": "These sturdy work clothes can stand up to the messiest Stable. Increases Intelligence, Constitution, and Perception by <%= attrs %> each. Enchanted Armoire: Farrier Set (Item 2 of 3).", + "armorArmoireFarrierOutfitText": "Pakaian Penempa Hewan", + "armorArmoireFarrierOutfitNotes": "Pakaian kerja yang kokoh ini dapat bertahan bahkan di Kandang yang paling berantakan. Meningkatkan Kecerdasan, Ketahanan, dan Persepsi masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Penempa Hewan (Item 2 dari 3).", "armorArmoireCandlestickMakerOutfitText": "Pakaian Pembuat Kandil", "armorArmoireCandlestickMakerOutfitNotes": "Set pakaian kukuh ini akan melindungimu dari tumpahan lilin panas sewaktu kamu membentuk karyamu! Meningkatkan Ketahanan sebesar <%= con %>. Peti Ajaib: Set Pembuat Kandil (Item 1 dari 3).", "armorArmoireWovenRobesText": "Jubah Tenun", - "armorArmoireWovenRobesNotes": "Display your weaving work proudly by wearing this colorful robe! Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Weaver Set (Item 1 of 3).", + "armorArmoireWovenRobesNotes": "Perlihatkan karya tenunmu dengan bangga dan kenakan jubah warna-warni ini! Meningkatkan Ketahanan sebanyak <%= con %> dan Kecerdasan sebanyak <%= int %>. Peti Ajaib: Set Penenun (Item 1 dari 3).", "armorArmoireLamplightersGreatcoatText": "Mantel Penerang Lentera", - "armorArmoireLamplightersGreatcoatNotes": "This heavy woolen coat can stand up to the harshest wintry night! Increases Perception by <%= per %>. Enchanted Armoire: Lamplighter's Set (Item 2 of 4).", + "armorArmoireLamplightersGreatcoatNotes": "Mantel wol tebal ini bisa bertahan hingga malam musim dingin yang paling keras! Meningkatkan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Penerang Lentera (Item 2 dari 4).", "armorArmoireCoachDriverLiveryText": "Seragam Pengendara Kereta", "armorArmoireCoachDriverLiveryNotes": "Jubah panjang dan tebal ini akan melindungimu dari cuaca sewaktu berkendara. Plus juga terlihat keren! Meningkatkan Kekuatan sebesar <%= str %>. Peti Ajaib: Set Pengendara Kereta (Item 1 dari 3).", "armorArmoireRobeOfDiamondsText": "Jubah Berlian", - "armorArmoireRobeOfDiamondsNotes": "These royal robes not only make you appear noble, they allow you to see the nobility within others. Increases Perception by <%= per %>. Enchanted Armoire: King of Diamonds Set (Item 1 of 4).", - "armorArmoireFlutteryFrockText": "Fluttery Frock", - "armorArmoireFlutteryFrockNotes": "A light and airy gown with a wide skirt the butterflies might mistake for a giant blossom! Increases Constitution, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 1 of 4).", - "armorArmoireCobblersCoverallsText": "Cobbler's Coveralls", - "armorArmoireCobblersCoverallsNotes": "These sturdy coveralls have lots of pockets for tools, leather scraps, and other useful items! Increases Perception and Strength by <%= attrs %> each. Enchanted Armoire: Cobbler Set (Item 1 of 3).", - "armorArmoireGlassblowersCoverallsText": "Glassblower's Coveralls", - "armorArmoireGlassblowersCoverallsNotes": "These coveralls will protect you while you're making masterpieces with hot molten glass. Increases Constitution by <%= con %>. Enchanted Armoire: Glassblower Set (Item 2 of 4).", - "armorArmoireBluePartyDressText": "Blue Party Dress", - "armorArmoireBluePartyDressNotes": "You're perceptive, tough, smart, and so fashionable! Increases Perception, Strength, and Constitution by <%= attrs %> each. Enchanted Armoire: Blue Hairbow Set (Item 2 of 2).", - "armorArmoirePiraticalPrincessGownText": "Piratical Princess Gown", - "armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).", - "armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor", - "armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).", - "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding", - "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).", - "armorArmoireRobeOfSpadesText": "Robe of Spades", - "armorArmoireRobeOfSpadesNotes": "These luxuriant robes conceal hidden pockets for treasures or weapons--your choice! Increases Strength by <%= str %>. Enchanted Armoire: Ace of Spades Set (Item 2 of 3).", - "armorArmoireSoftBlueSuitText": "Soft Blue Suit", - "armorArmoireSoftBlueSuitNotes": "Blue is a calming colour. So calming, some even wear this soft outfit to sleep... zZz. Increases Intelligence by <%= int %> and Perception by <%= per %>. Enchanted Armoire: Blue Loungewear Set (Item 2 of 3).", - "armorArmoireSoftGreenSuitText": "Soft Green Suit", - "armorArmoireSoftGreenSuitNotes": "Green is the most refreshing color! Ideal for resting those tired eyes... mmm, or even a nap... Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Green Loungewear Set (Item 2 of 3).", - "armorArmoireSoftRedSuitText": "Soft Red Suit", - "armorArmoireSoftRedSuitNotes": "Red is such an invigorating color. If you need to wake up bright and early, this suit could make the perfect pajamas... Increases Intelligence by <%= int %> and Strength by <%= str %>. Enchanted Armoire: Red Loungewear Set (Item 2 of 3).", - "armorArmoireScribesRobeText": "Scribe's Robes", - "armorArmoireScribesRobeNotes": "These velvety robes are woven with inspirational and motivational magic. Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Scribe Set (Item 1 of 3).", + "armorArmoireRobeOfDiamondsNotes": "Jubah kerajaan ini tidak hanya membuatmu tampak mulia, mereka memungkinkanmu untuk melihat bangsawan dalam diri orang lain. Meningkatkan Persepsi sebanyak <% = per % >. Peti Ajaib: Set Raja Berlian (Item 1 dari 4).", + "armorArmoireFlutteryFrockText": "Rok Berkibar", + "armorArmoireFlutteryFrockNotes": "Gaun ringan lapang dengan rok lebar yang mungkin dikira bunga raksasa oleh kupu-kupu! Meningkatkan Ketahanan, Persepsi, dan Kekuatan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Rok Berkibar (Item 1 dari 4).", + "armorArmoireCobblersCoverallsText": "Baju Coverall Tukang Sepatu", + "armorArmoireCobblersCoverallsNotes": "Coverall kokoh ini memiliki banyak kantong untuk peralatan, potongan kulit, dan barang-barang berguna lainnya! Meningkatkan Persepsi dan Kekuatan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Tukang Sepatu (Item 1 dari 3).", + "armorArmoireGlassblowersCoverallsText": "Baju Coverall Peniup Kaca", + "armorArmoireGlassblowersCoverallsNotes": "Baju coverall ini akan melindungimu saat membuat mahakarya dengan kaca cair panas. Meningkatkan Ketahanan sebanyak <%= con %>. Peti Ajaib: Set Peniup Kaca (Item 2 dari 4).", + "armorArmoireBluePartyDressText": "Gaun Pesta Biru", + "armorArmoireBluePartyDressNotes": "Kamu tanggap, tangguh, cerdas, dan sangat modis! Meningkatkan Persepsi, Kekuatan, dan Ketahanan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Busur Rambut Biru (Item 2 dari 2).", + "armorArmoirePiraticalPrincessGownText": "Gaun Putri Bajak Laut", + "armorArmoirePiraticalPrincessGownNotes": "Pakaian mewah ini memiliki banyak kantong untuk menyembunyikan senjata dan jarahan! Meningkatkan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Putri Bajak Laut (Item 2 dari 4).", + "armorArmoireJeweledArcherArmorText": "Armor Pemanah Permata", + "armorArmoireJeweledArcherArmorNotes": "Armor yang dibuat dengan halus ini akan melindungimu dari proyektil atau Keseharian merah yang jahat! Meningkatkan Ketahanan sebanyak <%= con %>. Peti Ajaib: Set Pemanah Permata (Item 2 dari 3).", + "armorArmoireCoverallsOfBookbindingText": "Baju Coverall Penjilid Buku", + "armorArmoireCoverallsOfBookbindingNotes": "Semua yang kamu butuhkan dalam satu set baju, termasuk kantong untuk semuanya. Sepasang kacamata, uang receh, cincin emas ... Meningkatkan Ketahanan sebanyak <%= con %> dan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Penjilid Buku (Item 2 dari 4).", + "armorArmoireRobeOfSpadesText": "Jubah Sekop", + "armorArmoireRobeOfSpadesNotes": "Jubah mewah ini menyembunyikan kantong tersembunyi untuk harta atau senjata - terserah kamu! Meningkatkan Kekuatan sebanyak <%= str %>. Peti Ajaib: Set As Sekop (Item 2 dari 3).", + "armorArmoireSoftBlueSuitText": "Jas Biru Lembut", + "armorArmoireSoftBlueSuitNotes": "Biru adalah warna yang menenangkan. Sangat menenangkan, beberapa bahkan memakai pakaian lembut ini untuk tidur ... Zzz. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Pakaian Santai Biru (Item 2 dari 3).", + "armorArmoireSoftGreenSuitText": "Jas Hijau Lembut", + "armorArmoireSoftGreenSuitNotes": "Hijau adalah warna yang paling menyegarkan! Ideal untuk mengistirahatkan mata yang lelah ... mmm, atau bahkan tidur siang ... Meningkatkan Ketahanan dan Kecerdasan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Pakaian Santai Hijau (Item 2 dari 3).", + "armorArmoireSoftRedSuitText": "Jas Merah Lembut", + "armorArmoireSoftRedSuitNotes": "Merah adalah warna yang menyegarkan. Jika kamu perlu bangun pagi dan cerah, setelan ini bisa menjadi piyama yang sempurna ... Meningkatkan Kecerdasan sebanyak <%= int %> dan Kekuatan sebanyak <%= str %>. Peti Ajaib: Set Pakaian Santai Merah (Item 2 dari 3).", + "armorArmoireScribesRobeText": "Jubah Juru Tulis", + "armorArmoireScribesRobeNotes": "Jubah beludru ini ditenun dengan sihir inspirasional dan motivasi. Meningkatkan Persepsi dan Kecerdasan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Juru Tulis (Item 1 dari 3).", "headgear": "helm", "headgearCapitalized": "Akesoris kepala", "headBase0Text": "Tidak Ada Perlengkapan Kepala", @@ -842,7 +842,7 @@ "headRogue5Notes": "Menyembunyikan dirimu dan pikiranmu dari siapapun yang mencari-carimu. Meningkatkan Persepsi sebesar <%= per %>.", "headWizard1Text": "Topi Pesulap", "headWizard1Notes": "Simpel, nyaman, dan gaya. Meningkatkan Persepsi sebesar <%= per %>.", - "headWizard2Text": "Cornuthaum", + "headWizard2Text": "Kornuthaum", "headWizard2Notes": "Aksesori kepala tradisional dari seorang penyihir. Meningkatkan Persepsi sebesar <%= per %>.", "headWizard3Text": "Topi Astrologi", "headWizard3Notes": "Berhiaskan cincin Saturnus. Meningkatkan Persepsi sebesar <%= per %>.", @@ -879,25 +879,25 @@ "headSpecialMammothRiderHelmText": "Helm Penunggang Mamut", "headSpecialMammothRiderHelmNotes": "Jangan biarkan keempukan menipumu--topi ini akan memberimu kekuatan persepsi yang tajam! Meningkatkan Persepsi sebesar <%= per %>.", "headSpecialPageHelmText": "Helm Halaman", - "headSpecialPageHelmNotes": "Chainmail: for the stylish AND the practical. Increases Perception by <%= per %>.", + "headSpecialPageHelmNotes": "Baju Rantai: untuk si bergaya DAN si praktis. Meningkatkan Persepsi sebanyak <%= per %>.", "headSpecialRoguishRainbowMessengerHoodText": "Tudung Kurir Pelangi Nakal", "headSpecialRoguishRainbowMessengerHoodNotes": "Tudung berwarna cerah ini mengeluarkan cahaya warna-warni yang akan melindungimu dari cuaca tidak mengenakkan! Meningkatkan Ketahanan sebesar <%= con %>.", - "headSpecialClandestineCowlText": "Clandestine Cowl", - "headSpecialClandestineCowlNotes": "Take care to conceal your face as you rob your Tasks of gold and loot! Increases Perception by <%= per %>.", + "headSpecialClandestineCowlText": "Tudung Klandestin", + "headSpecialClandestineCowlNotes": "Berhati-hatilah untuk menyembunyikan wajah saat kamu merampok emas dan jarahan dari Tugasmu! Meningkatkan Persepsi sebanyak <%= per %>.", "headSpecialSnowSovereignCrownText": "Mahkota Penguasa Salju", - "headSpecialSnowSovereignCrownNotes": "The jewels in this crown sparkle like new-fallen snowflakes. Increases Constitution by <%= con %>.", + "headSpecialSnowSovereignCrownNotes": "Permata di mahkota ini berkilau seperti kepingan salju yang baru jatuh. Meningkatkan Ketahanan sebanyak <%= con %>.", "headSpecialSpikedHelmText": "Helm Berduri", "headSpecialSpikedHelmNotes": "Kamu akan terlindungi dengan baik dari Keseharian terlantar dan Kebiasaan buruk dengan helm yang berguna (dan terlihat rapi!). Meningkatkan Kekuatan sebesar <%= str %>.", "headSpecialDandyHatText": "Topi Dandy", "headSpecialDandyHatNotes": "Betapa cerianya topi prancis ini! Kamu terlihat cukup keren sewaktu memakainya untuk jalan-jalan. Meningkatkan Ketahanan sebesar <%= con %>.", - "headSpecialKabutoText": "Kabuto", + "headSpecialKabutoText": "Topeng Kabuto", "headSpecialKabutoNotes": "Helm ini sangat berguna dan indah! Musuhmu akan teralihkan perhatiannya mengagumi helm-mu. Meningkatkan Kecerdasan sebesar <%= int %>.", "headSpecialNamingDay2017Text": "Helm Gryphon Ungu Kerajaan", "headSpecialNamingDay2017Notes": "Selamat Hari Penamaan! Pakai helm garang dan berbulu ini selagi memperingati Habitica. Tidak menambah status apapun.", "headSpecialTurkeyHelmBaseText": "Helm Kalkun", "headSpecialTurkeyHelmBaseNotes": "Hari Kalkunmu akan terlihat lengkap sewaktu kamu mengenakan helm berparuh ini! Tidak menambah status apapun.", - "headSpecialTurkeyHelmGildedText": "Gilded Turkey Helm", - "headSpecialTurkeyHelmGildedNotes": "Gobble gobble! Bling bling! Confers no benefit.", + "headSpecialTurkeyHelmGildedText": "Helm Kalkun Berlapis Emas", + "headSpecialTurkeyHelmGildedNotes": "Nyam nyamm nyammm! Bling bliing! Tidak menambah status apapun.", "headSpecialNyeText": "Topi Pesta Aneh", "headSpecialNyeNotes": "Kamu mendapatkan Topi Pesta Aneh! Kenakan saat kamu konvoi Tahun Baru! Tidak menambah status apapun.", "headSpecialYetiText": "Helm Yeti-Tamer", @@ -907,7 +907,7 @@ "headSpecialCandycaneText": "Topi Permen", "headSpecialCandycaneNotes": "Ini adalah topi terlezat di dunia. Kadang bisa hilang dan muncul tiba-tiba. Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2013-2014 Edisi Terbatas.", "headSpecialSnowflakeText": "Mahkota Kristal Salju", - "headSpecialSnowflakeNotes": "Pengguna mahkota ini tidak akan pernah kedinginan. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2013-2014 Edisi Terbatas.", + "headSpecialSnowflakeNotes": "Pengguna mahkota ini tidak akan pernah kedinginan. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2013-2014 Edisi Terbatas.", "headSpecialSpringRogueText": "Topeng Kucing Pencuri", "headSpecialSpringRogueNotes": "Gak ada yang bakal PERNAH nebak kamu adalah kucing pencuri! Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Semi 2014 Edisi Terbatas.", "headSpecialSpringWarriorText": "Helm Clover Baja", @@ -983,13 +983,13 @@ "headSpecialSpring2016MageText": "Topi Grand Malkin", "headSpecialSpring2016MageNotes": "Pakaian untuk membuatmu lebih kuat dari penyihir jalanan yang ada di dunia ini. Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Semi 2016 Edisi Terbatas.", "headSpecialSpring2016HealerText": "Mahkota Bermekaran", - "headSpecialSpring2016HealerNotes": "Berpe", + "headSpecialSpring2016HealerNotes": "Bersinar-sinar dengan potensi kehidupan baru yang siap menunjukkan dirinya. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2016 Edisi Terbatas.", "headSpecialSummer2016RogueText": "Helm Belut", "headSpecialSummer2016RogueNotes": "Mengintip dari celah-celah bebatuan sewaktu memakai helm penyamaran ini. Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Panas 2016 Edisi Terbatas.", "headSpecialSummer2016WarriorText": "Helm Hiu", "headSpecialSummer2016WarriorNotes": "Gigit semua tugas keras itu dengan helm menakutkan ini! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Panas 2016 Edisi Terbatas.", - "headSpecialSummer2016MageText": "Blowspout Hat", - "headSpecialSummer2016MageNotes": "Magical water constantly sprays from this hat. Increases Perception by <%= per %>. Limited Edition 2016 Summer Gear.", + "headSpecialSummer2016MageText": "Topi Cerat Ledak", + "headSpecialSummer2016MageNotes": "Air ajaib terus-menerus menyembur dari topi ini. Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2016 Edisi Terbatas.", "headSpecialSummer2016HealerText": "Helm Kuda Laut", "headSpecialSummer2016HealerNotes": "Helm ini menandakan bahwa pemakainya telah dilatih oleh para kuda laut penyembuh ajaib dari Dilatory. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Panas 2016 Edisi Terbatas.", "headSpecialFall2016RogueText": "Helm Janda Hitam", @@ -1008,14 +1008,14 @@ "headSpecialWinter2017WarriorNotes": "Helm keras dan tahan lama, dibuat untuk menahan benturan es atau bahkan keseharian merah gelap! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan MUsim Dingin 2016-2017 Edisi Terbatas.", "headSpecialWinter2017MageText": "Helm Serigala Musim Dingin", "headSpecialWinter2017MageNotes": "Helm ini, didesain berdasarkan gambar Serigala Musim Dingin legendaris, akan menjaga kepalamu hangat dan penglihatanmu tajam. Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.", - "headSpecialWinter2017HealerText": "Sparkling Blossom Helm", - "headSpecialWinter2017HealerNotes": "These glittering petals focus brainpower! Increases Intelligence by <%= int %>. Limited Edition 2016-2017 Winter Gear.", + "headSpecialWinter2017HealerText": "Helm Bunga Berkilau", + "headSpecialWinter2017HealerNotes": "Kelopak berkilauan ini memfokuskan kekuatan otak! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.", "headSpecialSpring2017RogueText": "Helm Kelinci Lihai", "headSpecialSpring2017RogueNotes": "Topeng ini akan mencegah keimutanmu dari membocorkan keberadaanmu sewaktu kamu menyelinap dari Keseharian (atau daun semanggi)! Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "headSpecialSpring2017WarriorText": "Helm Kucing", - "headSpecialSpring2017WarriorNotes": "Protect your adorable, fuzzy noggin with this finely decorated helm. Increases Strength by <%= str %>. Limited Edition 2017 Spring Gear.", + "headSpecialSpring2017WarriorNotes": "Lindungi noggin yang menggemaskan dan kabur dengan helm yang didekorasi dengan indah ini. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "headSpecialSpring2017MageText": "Topi Pesulap Anjing", - "headSpecialSpring2017MageNotes": "This hat can help you cast mighty spells… Or you can just use it to summon tennis balls. Your choice. Increases Perception by <%= per %>. Limited Edition 2017 Spring Gear.", + "headSpecialSpring2017MageNotes": "Topi ini dapat membantumu merapal mantra perkasa ... Atau kamu bisa menggunakannya untuk memanggil bola tenis. Terserah kamu, sih. Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "headSpecialSpring2017HealerText": "Mahkota Daun Bunga", "headSpecialSpring2017HealerNotes": "Mahkota halus ini mengeluarkan wewangian bunga bermekaran yang menenangkan. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.", "headSpecialSummer2017RogueText": "Helm Naga Laut", @@ -1023,7 +1023,7 @@ "headSpecialSummer2017WarriorText": "Helm Istana Pasir", "headSpecialSummer2017WarriorNotes": "Helm terhalus yang pernah digunakan oleh siapapun... setidaknua, hingga ombak datang. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Panas 2017 Edisi Terbatas.", "headSpecialSummer2017MageText": "Topi Pusaran Air", - "headSpecialSummer2017MageNotes": "This hat is composed entirely of a swirling, inverted whirlpool. Increases Perception by <%= per %>. Limited Edition 2017 Summer Gear.", + "headSpecialSummer2017MageNotes": "Topi ini seluruhnya terdiri dari pusaran air terbalik yang berputar-putar. Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2017 Edisi Terbatas.", "headSpecialSummer2017HealerText": "Mahkota Makhluk Laut", "headSpecialSummer2017HealerNotes": "Helm ini dibuat dari makhluk laut bersahabat yang beristirahat sebentar di kepalanya, memberikanmu nasihat bijak. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Panas 2017 Edisi Terbatas.", "headSpecialFall2017RogueText": "Helm Jack-O-Lantern", @@ -1031,7 +1031,7 @@ "headSpecialFall2017WarriorText": "Helm Permen Jagung", "headSpecialFall2017WarriorNotes": "Helm ini mungkin terlihat seperti cemilan, tetapi tugas-tugas bandel tidak akan menganggapnya manis! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "headSpecialFall2017MageText": "Helm Penyamaran", - "headSpecialFall2017MageNotes": "When you appear in this feathery hat, everyone will be left guessing the identity of the magical stranger in the room! Increases Perception by <%= per %>. Limited Edition 2017 Autumn Gear.", + "headSpecialFall2017MageNotes": "Ketika kamu muncul dengan topi berbulu ini, semua orang akan dibuat menebak-nebak identitas orang asing ajaib di ruangan itu! Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "headSpecialFall2017HealerText": "Helm Rumah Hantu", "headSpecialFall2017HealerNotes": "Panggil roh menyeramkan dan makhluk bersahabat yang mencari kekuatan penyembuh helm ini! Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Gugur 2017 Edisi Terbatas.", "headSpecialNye2017Text": "Topi Pesta Mewah", @@ -1044,22 +1044,22 @@ "headSpecialWinter2018MageNotes": "Siap untuk sihir spesial ekstra? Topi berkilauan ini bisa banget meningkatkan semua mantramu! Meningkatkan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2017-2018 Edisi Terbatas.", "headSpecialWinter2018HealerText": "Tudung Mistletoe", "headSpecialWinter2018HealerNotes": "Tudung indah ini akan menghangatkanmu dengan kegembiraan liburan! Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2017-2018 Edisi Terbatas.", - "headSpecialSpring2018RogueText": "Duck-Billed Helm", - "headSpecialSpring2018RogueNotes": "Quack quack! Your cuteness belies your clever and sneaky nature. Increases Perception by <%= per %>. Limited Edition 2018 Spring Gear.", - "headSpecialSpring2018WarriorText": "Helm of Rays", - "headSpecialSpring2018WarriorNotes": "The brightness of this helm will dazzle any enemies nearby! Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.", - "headSpecialSpring2018MageText": "Tulip Helm", - "headSpecialSpring2018MageNotes": "The fancy petals of this helm will grant you special springtime magic. Increases Perception by <%= per %>. Limited Edition 2018 Spring Gear.", - "headSpecialSpring2018HealerText": "Garnet Circlet", - "headSpecialSpring2018HealerNotes": "The polished gems of this circlet will enhance your mental energy. Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.", - "headSpecialSummer2018RogueText": "Fishing Sun Hat", - "headSpecialSummer2018RogueNotes": "Provides comfort and protection from the harsh glare of the summer sun over the water. Especially important if you're more accustomed to staying stealthy in the shadows! Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.", - "headSpecialSummer2018WarriorText": "Betta Fish Barbute", - "headSpecialSummer2018WarriorNotes": "Show everyone you're the alpha betta with this flamboyant helm! Increases Strength by <%= str %>. Limited Edition 2018 Summer Gear.", - "headSpecialSummer2018MageText": "Lionfish Crest", - "headSpecialSummer2018MageNotes": "Glare dolorously upon anyone who dares say you look like a “tastyfish”. Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.", - "headSpecialSummer2018HealerText": "Merfolk Monarch Crown", - "headSpecialSummer2018HealerNotes": "Adorned with aquamarine, this finned diadem marks leadership of folk, fish, and those who are a bit of both! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.", + "headSpecialSpring2018RogueText": "Helm Paruh Bebek", + "headSpecialSpring2018RogueNotes": "Kwek kwek! Kelucuanmu menyembunyikan sifatmu yang pintar dan licik. Meningkatkan Persepsi dengan <%= per %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "headSpecialSpring2018WarriorText": "Helm Sinar", + "headSpecialSpring2018WarriorNotes": "Kecerahan helm ini akan menyilaukan musuh di dekatnya! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "headSpecialSpring2018MageText": "Helm Tulip", + "headSpecialSpring2018MageNotes": "Kelopak mewah helm ini akan memberimu sihir musim semi khusus. Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "headSpecialSpring2018HealerText": "Lingkar Garnet", + "headSpecialSpring2018HealerNotes": "Permata yang dipoles dari lingkaran ini akan meningkatkan energi mentalmu. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2018 Edisi Terbatas.", + "headSpecialSummer2018RogueText": "Topi Memancing Anti-Matahari", + "headSpecialSummer2018RogueNotes": "Memberikan kenyamanan dan perlindungan dari silau tajam matahari musim panas di atas air. Terutama penting jika kamu terbiasa untuk tetap dalam bayang-bayang! Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "headSpecialSummer2018WarriorText": "Helm Perang Ikan Cupang", + "headSpecialSummer2018WarriorNotes": "Tunjukkan pada semua orang bahwa kamu adalah cupang alfa dengan helm flamboyan ini! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "headSpecialSummer2018MageText": "Lambang Ikan Singa", + "headSpecialSummer2018MageNotes": "Berikan tatapan sedih kepada siapa saja yang berani mengatakan kamu terlihat seperti \"ikan enak\". Meningkatkan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", + "headSpecialSummer2018HealerText": "Mahkota Raja Merfolk", + "headSpecialSummer2018HealerNotes": "Dihiasi dengan aquamarine, mahkota bersirip ini menandai kepemimpinan rakyat, ikan, dan keduanya! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Panas 2018 Edisi Terbatas.", "headSpecialFall2018RogueText": "Alter Ego Face", "headSpecialFall2018RogueNotes": "Most of us hide away our inward struggles. This mask shows that we all experience tension between our good and bad impulses. Plus it comes with a sweet hat! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.", "headSpecialFall2018WarriorText": "Minotaur Visage", @@ -1095,9 +1095,9 @@ "headMystery201412Text": "Topi Pinguin", "headMystery201412Notes": "Siapa yang pinguin? Tidak menambah status apapun. Item Pelanggan Desember 2014.", "headMystery201501Text": "Helm Bintang", - "headMystery201501Notes": "Rasi bintang berkelip dan berputar di helm ini, menuntun pikiran pengguna menjadi fokus. Tidak menambah status apapun. Item Pelanggan Januari 2015.", + "headMystery201501Notes": "Rasi bintang berkelip dan berputar di helm ini, menuntun pikiran pengguna menjadi fokus. Tidak menambah status apapun. Item Pelanggan Januari 2015.", "headMystery201505Text": "Helm Ksatria Hijau", - "headMystery201505Notes": "Bagian hijau dari helm ini berkibar dengan bangganya. Tidak menambah status apapun. Item Pelanggan Mei 2015.", + "headMystery201505Notes": "Bagian hijau dari helm ini berkibar dengan bangganya. Tidak menambah status apapun. Item Pelanggan Mei 2015.", "headMystery201508Text": "Topi Cheetah", "headMystery201508Notes": "Topi cheetah yang berbulu ini sangat nyaman! Tidak menambah status apapun. Item Pelanggan Agustus 2015.", "headMystery201509Text": "Topeng Manusia Serigala", @@ -1175,13 +1175,13 @@ "headArmoireRedHairbowText": "Bando Merah", "headArmoireRedHairbowNotes": "Jadilah kuat, tegar, dan cerdas sewaktu mengenakan Bando Merah yang cantik ini! Meningkatkan Kekuatan sebesar <%= str %>, Ketahanan sebesar <%= con %>, dan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Bando Merah (Item 1 dari 2).", "headArmoireVioletFloppyHatText": "Topi Ungu Terkulai", - "headArmoireVioletFloppyHatNotes": "Sekian banyak mantra telah terajut dalam topi sederhana ini, memberikan warna ungu yang indah dilihat. Meningkatkan Persepsi sebsar <%= per %>, Kecerdasan sebesar <%= int %>, dan Ketahanan sebesar <%= con %>. Peti Ajaib: Item Tersendiri.", + "headArmoireVioletFloppyHatNotes": "Sekian banyak mantra telah terajut dalam topi sederhana ini, memberikan warna ungu yang indah dilihat. Meningkatkan Persepsi sebanyak <%= per %>, Kecerdasan sebanyak <%= int %>, dan Ketahanan sebanyak <%= con %>. Peti Ajaib: Set Baju Santai Violet (Item ke-1 dari 3).", "headArmoireGladiatorHelmText": "Helm Gladiator", "headArmoireGladiatorHelmNotes": "Untuk menjadi seorang gladiator bukan hanya harus kuat... tapi juga cerdas. Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Peti Ajaib: Set Gladiator (Item 1 dari 3).", "headArmoireRancherHatText": "Topi Koboi", "headArmoireRancherHatNotes": "Taklukkan peliharaan dan bergulat dengan tunggngan dengan memakai Topi Koboi yang ajaib ini! Meningkatkan Kekuatan sebesar <%= str %>, Persepsi sebesar <%= per %>, dan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Koboi (Item 1 dari 3).", "headArmoireBlueHairbowText": "Bando Biru", - "headArmoireBlueHairbowNotes": "Jadilah cerdik, kuat, dan pintar ketika mengenakan Bando Biru yang cantik ini! Meningkatkan Persepsi sebesar <%= per %>, Ketahanan sebesar <%= con %>, dan Kecerdasan sebesar <%= int %>. Peti Ajaib: Item Tersendiri.", + "headArmoireBlueHairbowNotes": "Jadilah cerdik, kuat, dan pintar ketika mengenakan Bando Biru yang cantik ini! Meningkatkan Persepsi sebesar <%= per %>, Ketahanan sebesar <%= con %>, dan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Bando Biru (Item ke-1 dari 2).", "headArmoireRoyalCrownText": "Mahkota Kerajaan", "headArmoireRoyalCrownNotes": "Bersorak untuk Sang Penguasa, agung dan perkasa! Meningkatkan Kekuatan sebesar <%= str %>. Peti Ajaib: Set Kerajaan (Item 1 dari 3).", "headArmoireGoldenLaurelsText": "Simbol Emas", @@ -1275,7 +1275,7 @@ "shieldWarrior1Text": "Perisai Kayu", "shieldWarrior1Notes": "Tameng kayu yang bundar dan tebal. Meningkatkan Ketahanan sebesar <%= con %>.", "shieldWarrior2Text": "Sabuk", - "shieldWarrior2Notes": "Ringan dan kuat, cocok dalam melindungi diri. Meningkatkan Ketahanan sebesar <%= con %>.", + "shieldWarrior2Notes": "Ringan dan kuat, cocok dalam melindungi diri. Meningkatkan Ketahanan sebesar <%= con %>.", "shieldWarrior3Text": "Perisai Bantuan", "shieldWarrior3Notes": "Terbuat dari kayu yang diperkuat logam. Meningkatkan Ketahanan sebesar <%= con %>.", "shieldWarrior4Text": "Perisai Merah", @@ -1365,7 +1365,7 @@ "shieldSpecialWinter2016WarriorText": "Perisai Bundar", "shieldSpecialWinter2016WarriorNotes": "Gunakan perisai ini untuk menahan serangan, atau kendarai dengan penuh kemenangan ke dalam pertempuran! Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Dingin 2015-2016 Edisi Terbatas.", "shieldSpecialWinter2016HealerText": "Kado Peri", - "shieldSpecialWinter2016HealerNotes": "Buka dong buka buka buka buka buka!!!!!!!!! Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Dingin 2015-2016 Edisi Terbatas.", + "shieldSpecialWinter2016HealerNotes": "Buka dong buka ya bukalah buka bukaaa bukaaaaa!!!!!!!!! Meningkatkan Ketahanan sebesar <%= con %>. Perlengkapan Musim Dingin 2015-2016 Edisi Terbatas.", "shieldSpecialSpring2016RogueText": "Obor", "shieldSpecialSpring2016RogueNotes": "Kamu telah menguasai bola, alat pemukul, dan pisau. Sekarang kamu berlatih memainkan obor! Awoo! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Semi 22016 Edisi Terbatas.", "shieldSpecialSpring2016WarriorText": "Roda Keju", @@ -1479,7 +1479,7 @@ "shieldArmoireAntiProcrastinationShieldText": "Perisai Anti Penundaan", "shieldArmoireAntiProcrastinationShieldNotes": "Perisai baja kuat ini akan membantumu menangkal pengalih perhatian sewaktu mereka mendekat! Meningkatkan Ketahanan sebesar <%= con %>. Peti Ajaib: Set Anti Penundaan (Item 3 dari 3).", "shieldArmoireHorseshoeText": "Sepatu Kuda", - "shieldArmoireHorseshoeNotes": "Bantu melindungi kaki dari tunggangan kesayanganmu dengan sepatu besi ini. Meningkatkan Ketahanan, Persepsi, dan Kekuatan masing-masing sebesar <%= attrs %>. Peti Ajaib: Set Pemelihara Hewan (Item 3 dari 3)", + "shieldArmoireHorseshoeNotes": "Bantu melindungi kaki dari tunggangan kesayanganmu dengan sepatu besi ini. Meningkatkan Ketahanan, Persepsi, dan Kekuatan masing-masing sebesar <%= attrs %>. Peti Ajaib: Set Pemelihara Hewan (Item ke-3 dari 3).", "shieldArmoireHandmadeCandlestickText": "Kandil Buatan Tangan", "shieldArmoireHandmadeCandlestickNotes": "Perlengkapan lilin indahmu menyediakan cahaya dan kehangatan untuk para Habitican penuh rasa terima kasih! Meningkatkan Kekuatan sebesar <%= str %>. Peti Ajaib: Set Pembuat Kandil (Item 3 dari 3).", "shieldArmoireWeaversShuttleText": "Weaver's Shuttle", @@ -1503,7 +1503,7 @@ "shieldArmoireSoftGreenPillowText": "Soft Green Pillow", "shieldArmoireSoftGreenPillowNotes": "The practical warrior packs a pillow for any expedition. Ward off those pesky chores... even while you nap. Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Green Loungewear Set (Item 3 of 3).", "shieldArmoireMightyQuillText": "Mighty Quill", - "shieldArmoireMightyQuillNotes": "Mightier than the sword, they say! Increases Perception by <%= per %>. Enchanted Armoire: Scribe Set (Item 2 of 3).", + "shieldArmoireMightyQuillNotes": "Lebih kuat dari pedang, katanya! Meningkatkan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Penulis (Item ke-2 dari 3).", "back": "Aksesori Punggung", "backCapitalized": "Aksesori Punggung", "backBase0Text": "Tidak Mengenakan Aksesori Punggung", @@ -1530,7 +1530,7 @@ "backMystery201704Text": "Sayap Dongeng", "backMystery201704Notes": "Sayap berkilauan ini akan membawamu kemana saja, bahkan ke alam tersembunyi yang dipimpin oleh makhluk gaib. Tidak menambah status apapun. Item Pelanggan April 2017.", "backMystery201706Text": "Tattered Freebooter's Flag", - "backMystery201706Notes": "The sight of this Jolly Roger-emblazoned flag fills any To-Do or Daily with dread! Confers no benefit. June 2017 Subscriber Item.", + "backMystery201706Notes": "Pemandangan Bendera Bajak Laut ini akan membuat To Do dan Tugas Harian ketakutan! Tidak mengubah stat. Item Pelanggan Juni 2017.", "backMystery201709Text": "Tumpukan Buku Sihir", "backMystery201709Notes": "Belajar sihir perlu banyak membaca, tapi pasti kamu akan menyukai pelajaranmu! Tidak menambah status apapun. Item Pelanggan September 2017.", "backMystery201801Text": "Sayap Peri Musim Dingin", @@ -1611,7 +1611,7 @@ "bodyMystery201901Notes": "These shimmering pauldrons are strong, but will rest on your shoulders as weightlessly as a ray of dancing light. Confers no benefit. January 2019 Subscriber Item.", "bodyArmoireCozyScarfText": "Syal Nyaman", "bodyArmoireCozyScarfNotes": "This fine scarf will keep you warm as you go about your wintry business. Increases Constitution and Perception by <%= attrs %> each. Enchanted Armoire: Lamplighter's Set (Item 4 of 4).", - "headAccessory": "aksesoris kepala", + "headAccessory": "Aksesoris Kepala", "headAccessoryCapitalized": "Aksesori Kepala", "accessories": "Aksesori", "animalEars": "Telinga Hewan", @@ -1749,5 +1749,183 @@ "eyewearArmoireGoofyGlassesNotes": "Perfect for going incognito or just making your partymates giggle. Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.", "twoHandedItem": "Item dua tangan.", "weaponSpecialKS2019Text": "Pedang Mythic Gryphon", - "weaponSpecialKS2019Notes": "Melengkung bagaikan paruh dan cakar gryphon, tombak indah ini mengingatkanmu untuk terus berjuang ketika tugas-tugas mulai menjenuhkan. Menambahkan Kekuatan sebanyak <%=str%>." + "weaponSpecialKS2019Notes": "Melengkung bagaikan paruh dan cakar gryphon, tombak indah ini mengingatkanmu untuk terus berjuang ketika tugas-tugas mulai menjenuhkan. Menambahkan Kekuatan sebanyak <%=str%>.", + "weaponSpecialSpring2019RogueText": "Petir", + "weaponSpecialSpring2019RogueNotes": "Senjata ini memiliki kekuatan langit dan hujan. Kami merekomendasikan agar kamu tidak menggunakan senjata ini ketika menyelam di air. Meningkatkan Kekuatan sebanyak <%= str %>. Item Musim Semi 2019 Edisi Terbatas.", + "weaponSpecialSpring2019MageText": "Tongkat Amber", + "weaponSpecialSpring2019WarriorText": "Pedang tangkai", + "weaponSpecialSpring2019MageNotes": "Ada nyamuk yang tertanam di batu di ujung tongkat ini! Mungkin atau mungkin tidak termasuk DNA Dino. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Item Musim Semi 2019 Edisi Terbatas.", + "weaponSpecialFall2019WarriorNotes": "Bersiaplah untuk menghancurkan musuhmu dengan cakar gagak! Meningkatkan Kekuatan sebanyak <% = str% >. Item Musim Gugur 2019 Edisi Terbatas.", + "weaponSpecialSummer2019WarriorText": "Koral Merah", + "weaponSpecialSpring2019HealerText": "Lagu Musim Semi", + "weaponSpecialFall2019HealerNotes": "Filakter ini dapat memanggil roh-roh tugas yang telah lama dibunuh dan menggunakan kekuatan penyembuhan mereka. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Gugur 2019 Edisi Terbatas.", + "weaponSpecialWinter2020RogueNotes": "Kegelapan adalah elemen Perampok. Lalu, siapa yang lebih baik untuk menerangi jalan di waktu paling gelap sepanjang tahun? Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2019-2020 Edisi Terbatas.", + "weaponSpecialFall2019HealerText": "Filakter Menakutkan", + "weaponSpecialSummer2019RogueText": "Jangkar Kuno", + "weaponSpecialSummer2019MageText": "Mekar Cemerlang", + "weaponSpecialFall2019WarriorText": "Cakar Trisula", + "weaponSpecialFall2019MageNotes": "Baik menempa petir, mendirikan benteng, atau hanya menanamkan teror ke hati manusia, tongkat ini meminjam kekuatan raksasa untuk melakukan keajaiban. Meningkatkan Kecerdasan sebanyak <% = int %> dan Persepsi sebanyak <% = per % >. Item Musim Gugur 2019 Edisi Terbatas.", + "weaponSpecialWinter2020RogueText": "Batang Lentera", + "weaponSpecialSummer2019HealerText": "Tongkat Gelembung", + "weaponSpecialFall2019MageText": "Tongkat Bermata Satu", + "weaponSpecialSummer2019RogueNotes": "Senjata kuno dan tangguh ini akan membantumu memenangkan pertempuran bawah laut. Meningkatkan Kekuatan sebanyak <% = str% >. Item Musim Panas 2019 Edisi Terbatas.", + "weaponSpecialSpring2019HealerNotes": "Nyanyian bunga dan hujan akan menenangkan roh orang-orang yang mendengarnya. Meningkatkan Kecerdasan sebanyak <%= int %>. Item Musim Semi 2019 Edisi Terbatas.", + "weaponSpecialSummer2019MageNotes": "Buah dari kerja kerasmu, pertama kali dipetik dari kolam, harta kecil ini memberdayakan dan menginspirasi. Meningkatkan kecerdasan sebanyak <% = int %>. Item Musim Panas 2019 Edisi Terbatas.", + "weaponSpecialFall2019RogueNotes": "Entah kamu sedang memimpin orkestra atau menyanyikan aria, perangkat berguna ini membuat tanganmu bebas untuk gerakan dramatis! Meningkatkan Kekuatan sebanyak <% = str% >. Item Musim Gugur 2019 Edisi Terbatas.", + "weaponSpecialSpring2019WarriorNotes": "Kebiasaan buruk meringkuk di depan pisau hijau ini. Meningkatkan Kekuatan sebanyak <%= str %>. Item Musim Semi 2019 Edisi Terbatas .", + "weaponSpecialSummer2019WarriorNotes": "Sekarang kamu bertarung dengan fraktal! Meningkatkan Kekuatan sebanyak <% = str% >. Item Musim Panas 2019 Edisi Terbatas.", + "weaponSpecialSummer2019HealerNotes": "Gelembung dari tongkat ini menangkap energi penyembuhan dan sihir samudera kuno. Meningkatkan kecerdasan sebanyak <% = int %>. Item Musim Panas 2019 Edisi Terbatas.", + "weaponSpecialFall2019RogueText": "Stand Musik", + "weaponSpecialSpring2020WarriorText": "Sayap Tajam", + "weaponSpecialWinter2020MageText": "Gelombang Suara Beriak", + "weaponSpecialWinter2020WarriorNotes": "Pergi sana, tupai! Kamu tidak boleh mengambil ini! ... Tetapi jika kalian cuma mau nongkrong dan makan coklat, ya gapapa. Meningkatkan Kekuatan sebanyak <% = str% >. Perlengkapan Musim Dingin 2019-2020 Edisi Terbatas.", + "weaponSpecialWinter2020MageNotes": "Dengan latihan, kamu dapat menciptakan sihir suara ini pada frekuensi yang diinginkan: dengungan meditasi, lonceng meriah, atau ALARM KETERLAMBATAN TUGAS MERAH. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Dingin 2019-2020 Edisi Terbatas.", + "weaponSpecialSpring2020RogueText": "Pisau Lazurite", + "weaponSpecialWinter2020HealerText": "Tongkat Cengkeh", + "weaponSpecialWinter2020WarriorText": "Kerucut Konifer Runcing", + "weaponSpecialSpring2020MageText": "Hujan", + "weaponSpecialWinter2020HealerNotes": "Lambaikan, dan aromanya akan memanggil teman dan pembantumu untuk memasak dan memanggang! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Dingin 2019-2020 Edisi Terbatas.", + "weaponSpecialSpring2020RogueNotes": "Kamu akan menyerang begitu cepat sehingga akan terlihat LEBIH biru! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2020 Edisi Terbatas.", + "weaponSpecialSpring2020WarriorNotes": "Bertarung atau lari, sayap ini akan melayanimu dengan baik! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2020 Edisi Terbatas.", + "weaponSpecialSpring2020MageNotes": "Terus turun menetes di kepalamu! Tetapi kamu tidak bisa menghentikannya hanya dengan mengeluh. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Semi 2020 Edisi Terbatas.", + "weaponSpecialSpring2020HealerText": "Tongkat Pedang-Teratai", + "weaponSpecialSummer2020RogueText": "Pisau Taring", + "weaponSpecialSpring2020HealerNotes": "Iris itu indah, tetapi daunnya seperti pedang ... Jangan tertipu oleh bunganya, tongkat ini tangguh seperti baja! Meningkatkan Kecerdasan sebanyak <% = int %>. Perlengkapan Musim Semi 2020 Edisi Terbatas.", + "weaponSpecialSummer2020RogueNotes": "Musuhmu tidak tahu kamu datang, dan taringmu tidak dapat dihindari! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2020 Edisi Terbatas.", + "weaponSpecialSummer2020WarriorText": "Kail Ikan", + "weaponSpecialSummer2020WarriorNotes": "Jika musuh mengejek pilihan senjatamu, jangan terpancing. Kait jahat ini bukan sekedar umpan! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2020 Edisi Terbatas.", + "weaponSpecialWinter2021MageNotes": "Senjata perkasa ini jelas lebih dari satu fase. Salurkan energimu, fokus pada peredaran bulan, dan pelajari ruang dan waktu. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Dingin 2020-2021 Edisi Terbatas.", + "weaponSpecialFall2020WarriorText": "Pedang Spectre", + "weaponSpecialWinter2021HealerNotes": "Mulai pertempuran dengan bunga dan kebingungan! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Dingin 2020-2021 Edisi Terbatas.", + "weaponSpecialWinter2021HealerText": "Tongkat Gelang Serpih", + "weaponSpecialFall2020RogueText": "Katar Tajam", + "weaponSpecialWinter2021RogueText": "Cambuk Holly Berry", + "weaponSpecialWinter2021MageText": "Phaser Bulan Ajaib", + "weaponSpecialSummer2020MageText": "Dayung Perkasa", + "weaponSpecialSummer2020MageNotes": "Arahkan jalanmu melalui lautan yang paling berbahaya dan pertempuran yang bergejolak. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2020 Edisi Terbatas.", + "weaponSpecialSummer2020HealerText": "Batang Kaca Beku", + "weaponSpecialSummer2020HealerNotes": "Seperti arus air memudarkan tepian sungai, demikian juga sihirmu akan memudarkan rasa sakit teman-temanmu. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Panas 2020 Edisi Terbatas.", + "weaponSpecialFall2020RogueNotes": "Tusuk musuhmu dengan satu serangan tajam! Bahkan baju besi paling tebal pun akan ditembus oleh pedangmu. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2020 Edisi Terbatas.", + "weaponSpecialFall2020WarriorNotes": "Pedang ini pernah pergi ke akhirat bersama Prajurit terkuat, kini kembali untuk kamu gunakan! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2020 Edisi Terbatas.", + "weaponSpecialFall2020MageText": "Tiga Pandangan", + "weaponSpecialFall2020MageNotes": "Jika berhasil lolos dari pandangan sihirmu, kristal terang di ujung tongkat ini akan menyinari yang luput darimu. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Gugur 2020 Edisi Terbatas.", + "weaponSpecialFall2020HealerText": "Tebu Kepompong", + "weaponSpecialFall2020HealerNotes": "Sekarang karena transformasimu sudah selesai, peninggalan hidupmu sebelumnya sebagai kepompong sekarang berfungsi sebagai tongkat ramalan untuk mengukur takdir. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Gugur 2020 Edisi Terbatas.", + "weaponSpecialWinter2021RogueNotes": "Baik sebagai penyamaran maupun senjata, cambuk holly ini akan membantumu menangani tugas terberat. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2020-2021 Edisi Terbatas.", + "weaponSpecialWinter2021WarriorText": "Pancing Perkasa", + "weaponSpecialWinter2021WarriorNotes": "Kamu dapat memancing ikan besar dengan ini! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2020-2021 Edisi Terbatas.", + "headSpecialNye2020Notes": "Kamu mendapatkan Topi Pesta Mewah! Kenakan dengan bangga di keriaan Tahun Baru! Tidak menambah status apapun.", + "weaponSpecialSpring2021HealerNotes": "Kulit dan daun potongan segar ini terkenal karena kemampuannya untuk menghilangkan rasa sakit. Atau kamu bisa menanamnya dan melihatnya tumbuh! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2021 Edisi Terbatas.", + "weaponSpecialSummer2021WarriorNotes": "Pisau berkilauan ini mungkin mengalir seperti air, tetapi dapat memotong ke jantung masalah yang paling sulit! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2021 Edisi Terbatas.", + "weaponSpecialSummer2021WarriorText": "Pisau Berair", + "weaponSpecialSummer2021HealerText": "Tongkat Jagung", + "weaponSpecialSpring2021MageText": "Bulu Angsa", + "weaponSpecialSummer2021RogueText": "Tentakel Anemon", + "weaponSpecialSummer2021HealerNotes": "Bukannya klise, tetapi tongkat ini memang penyelamat. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Panas 2021 Edisi Terbatas.", + "weaponSpecialSpring2021WarriorNotes": "Manfaatkan kekuatan matahari melawan musuh, dan biarkan batu matahari memberimu keberuntungan! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2021 Edisi Terbatas.", + "weaponSpecialSpring2021MageNotes": "Lempar, pukul, injak, istirahat! Desir bulu yang luar biasa ini tepat untuk melakukan musik sihir. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Semi 2021 Edisi Terbatas.", + "weaponSpecialSummer2021MageNotes": "Entah ambisi magismu sejauh dua puluh ribu meter dalamnya, ataupun kamu hanya berniat untuk berenang di seni dangkal, alat bersinar ini akan melayanimu dengan baik! Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2021 Edisi Terbatas.", + "weaponSpecialSpring2021WarriorText": "Palu Matahari", + "weaponSpecialFall2021RogueText": "Bahan Pekat Menetes", + "headSpecialNye2020Text": "Topi Pesta Mewah", + "weaponSpecialSpring2021RogueText": "Bunga Kembar Mekar", + "weaponSpecialSpring2021RogueNotes": "Tahu gak apa yang lebih keren dari menggunakan dua bunga sekaligus? Menggunakan EMPAT bunga sekaligus! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2021 Edisi Terbatas.", + "weaponSpecialSpring2021HealerText": "Cabang Willow", + "weaponSpecialSummer2021RogueNotes": "Monster predator apa pun yang berani mendekat akan merasakan sengatan teman-teman pelindungmu! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2021 Edisi Terbatas.", + "weaponSpecialSummer2021MageText": "Tongkat Nautiloid", + "weaponSpecialFall2021RogueNotes": "Kamu masuk kemana, sih? Ketika orang mengatakan Perampok memiliki jemari yang lengket, ini bukan yang mereka maksud! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2021 Edisi Terbatas.", + "weaponSpecialSummer2022RogueText": "Cakar Kepiting", + "weaponSpecialSummer2022RogueNotes": "Jika kamu dalam kondisi terjepit, jangan ragu untuk menggunakan cakar menakutkan ini! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2022 Edisi Terbatas.", + "weaponSpecialSummer2022MageText": "Tongkat Pari Manta", + "weaponSpecialFall2021HealerText": "Tongkat Pemanggil", + "weaponSpecialWinter2022RogueNotes": "Perak dan emas adalah kesayangan Perampok, bukan? Ini cocok sekali. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2021-2022 Edisi Terbatas.", + "weaponSpecialWinter2022WarriorText": "Pedang Permen Tongkat", + "weaponSpecialWinter2022WarriorNotes": "Berapa jilatan yang diperlukan untuk mengasah tongkat permen ini menjadi pedang sempurna? Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2021-2022 Edisi Terbatas.", + "weaponSpecialSummer2022WarriorText": "Topan Berputar", + "weaponSpecialWinter2022RogueText": "Kembang Api Bintang Jatuh", + "weaponSpecialWinter2022HealerNotes": "Sentuhkan alat ini ke leher seseorang dan dia akan lompat terperanjat dari kursinya! Tapi dia akan merasa lebih baik sesudahnya. Mudah-mudahan. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Dingin 2021-2022 Edisi Terbatas.", + "weaponSpecialWinter2022MageText": "Tongkat Delima", + "weaponSpecialWinter2022MageNotes": "Buah beri pada tongkat ini mengandung sihir kuno untuk digunakan di musim dingin. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Dingin 2021-2022 Edisi Terbatas.", + "weaponSpecialWinter2022HealerText": "Tongkat Es Kristal", + "weaponSpecialFall2021WarriorText": "Kapak Penunggang Kuda", + "weaponSpecialFall2021WarriorNotes": "Kapak bilah tunggal bergaya ini sangat ideal untuk memotong... Labu! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2021 Edisi Terbatas.", + "weaponSpecialFall2021MageText": "Tongkat Pikiran Murni", + "weaponSpecialFall2021MageNotes": "Pengetahuan mencari pengetahuan. Terbentuk dari kenangan dan keinginan, tangan menakutkan ini menggenggam lebih banyak. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Gugur 2021 Edisi Terbatas.", + "weaponSpecialFall2021HealerNotes": "Gunakan tongkat ini untuk memanggil api penyembuh dan hantu untuk membantumu. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Gugur 2021 Edisi Terbatas.", + "weaponSpecialSummer2022WarriorNotes": "Dia berputar! Dia mengalihkan! Dan dia membawa badai! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Panas 2022 Edisi Terbatas.", + "weaponSpecialSummer2022MageNotes": "Secara ajaib bersihkan air di depanmu dengan satu pusaran tongkat ini. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Panas 2022 Edisi Terbatas.", + "weaponSpecialSpring2022RogueText": "Bilah Anting Raksasa", + "weaponSpecialSpring2022WarriorText": "Payung Terbalik Luar Dalam", + "weaponSpecialSpring2022HealerText": "Tongkat Sihir Peridot", + "weaponSpecialSpring2022MageNotes": "Lonceng kuning cerah ini siap menyalurkan sihir musim semi yang kuat. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Semi 2022 Edisi Terbatas.", + "weaponSpecialSpring2022RogueNotes": "Berkilau! Sangat berkilau dan sungguh berkilau dan cantik dan bagus dan milikmu! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2022 Edisi Terbatas.", + "weaponSpecialSpring2022HealerNotes": "Gunakan tongkat ini untuk menggunakan sifat penyembuhan Peridot, untuk membawa ketenangan, kepositifan, atau kebaikan hati. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2022 Edisi Terbatas.", + "weaponSpecialFall2022WarriorNotes": "Mungkin lebih cocok untuk memotong kayu gelondongan atau roti kering daripada baju besi punya musuh, tapi RAWR! Pasti terlihat menakutkan! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2022 Edisi Terbatas.", + "weaponSpecialFall2022MageNotes": "Hembusan kuat ini tetap di belakangmu saat lepas landas menuju langit. Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Gugur 2022 Edisi Terbatas.", + "weaponSpecialSummer2022HealerText": "Gelembung Bermanfaat", + "weaponSpecialSummer2022HealerNotes": "Gelembung-gelembung ini melepaskan sihir penyembuhan ke dalam air dengan letupan yang memuaskan! Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Panas 2022 Edisi Terbatas.", + "headSpecialNye2021Text": "Topi Pesta Tidak Masuk Akal", + "headSpecialNye2021Notes": "Kamu mendapatkan Topi Pesta Tidak Masuk Akal! Kenakan dengan bangga di keriaan Tahun Baru! Tidak menambah status apapun.", + "headSpecialNye2022Text": "Topi Pesta Luar Biasa", + "headSpecialNye2022Notes": "Kamu mendapatkan Topi Pesta Luar Biasa! Kenakan dengan bangga saat Tahun Baru! Tidak menambah status apapun.", + "weaponSpecialSpring2022WarriorNotes": "Ah tidak! Kayaknya angin sedikit lebih kuat dari yang kamu kira, ya? Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2022 Edisi Terbatas.", + "weaponSpecialSpring2022MageText": "Tongkat Forsythia", + "weaponSpecialFall2022RogueText": "Pisau Ketimun", + "weaponSpecialFall2022RogueNotes": "Kamu tidak hanya bisa membela diri dengan ketimun ini, bisa juga membuat makanan lezat. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Gugur 2022 Edisi Terbatas.", + "weaponSpecialFall2022WarriorText": "Pedang Pengoyak Orc", + "weaponSpecialFall2022MageText": "Hembusan Angin", + "weaponSpecialWinter2023MageNotes": "Bukan peri atau api, tapi meriah! Meningkatkan Kecerdasan sebanyak <%= int %> dan Persepsi sebanyak <%= per %>. Perlengkapan Musim Dingin 2022-2023 Edisi Terbatas.", + "weaponSpecialWinter2023HealerNotes": "Saksikan karangan bunga meriah dan berduri ini berputar di udara menuju musuh dan rintangan lalu kembali lagi kepadamu seperti bumerang untuk dilempar lagi. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim 2022-2023 Edisi Terbatas.", + "weaponSpecialFall2022HealerNotes": "Untuk meraih kemenangan, bertahanlah dan ucapkan kata-kata perintah: 'Mata Satu!' Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Gugur 2022 Edisi Terbatas.", + "weaponSpecialWinter2023RogueText": "Selempang Satin Hijau", + "weaponSpecialFall2022HealerText": "Mata Pengintip Kanan", + "weaponSpecialWinter2023RogueNotes": "Legenda menceritakan tentang Perampok yang menjerat dan melucuti senjata lawan, lalu mengembalikannya hanya untuk lucu-lucuan. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2022-2023 Edisi Terbatas.", + "weaponSpecialWinter2023WarriorText": "Tombak Gading", + "weaponSpecialWinter2023WarriorNotes": "Dua cabang tombak ini berbentuk seperti gading walrus tetapi dua kali lebih kuat. Tinju keraguan dan kekonyolan mereka sampai mereka mundur! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Dingin 2022-2023 Edisi Terbatas.", + "weaponSpecialWinter2023MageText": "Peri Api", + "weaponSpecialWinter2023HealerText": "Karangan Bunga Lempar", + "weaponSpecialSpring2023WarriorNotes": "Haiyyaaah! Tangkis musuh dari bungamu dengan kertas timah ini! Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2023 Edisi Terbatas.", + "weaponMystery202002Notes": "Aksesori yang memberimu suasana misteri dan romansa. Perlindungan matahari adalah bonus! Tidak menambah status apapun. Item Pelanggan Februari 2020.", + "weaponMystery202111Notes": "Bentuk aliran waktu dengan tongkat misterius dan kuat ini. Tidak menambah status apapun. Item Pelanggan November 2021.", + "weaponMystery202212Notes": "Kepingan salju yang bersinar di tongkat ini memiliki kekuatan untuk menghangatkan hati bahkan pada malam musim dingin yang paling dingin sekalipun! Tidak menambah status apapun. Item Pelanggan Desember 2022.", + "weaponArmoireChefsSpoonNotes": "Angkat saat meneriakkan teriakan pertempuranmu: \"SENDOOOOK !!\" Meningkatkan Kecerdasan sebanyak <%= int %>. Peti Ajaib: Set Koki (Item 3 dari 4).", + "weaponMystery201911Text": "Tongkat Kristal Pesona", + "weaponMystery202201Text": "Meriam Konfeti Tengah Malam", + "weaponSpecialSpring2023RogueNotes": "Potong! Tebas! Kunyah! Jadilah kuat supaya siap untuk metamorfosis nanti. Meningkatkan Kekuatan sebanyak <%= str %>. Perlengkapan Musim Semi 2023 Edisi Terbatas.", + "weaponMystery202201Notes": "Lepaskan awan emas dan perak berkilauan saat jam menunjukkan tengah malam. Selamat Tahun Baru! Sekarang siapa yang membersihkan ini? Tidak menambah status apapun. Item Pelanggan Januari 2022.", + "weaponMystery202102Text": "Tongkat Menawan", + "weaponMystery202002Text": "Payung Manis Bergaya", + "weaponArmoireJugglingBallsText": "Bola Juggling", + "weaponArmoireChefsSpoonText": "Sendok Koki", + "weaponArmoireVernalTaperText": "Lilin Vernal", + "weaponMystery202111Text": "Tongkat Pengendali Waktu", + "weaponMystery202209Text": "Panduan Sihir", + "weaponMystery202209Notes": "Buku ini akan memandumu melalui perjalanan pembuatan sihir. Tidak menambah status apapun. Item Pelanggan September 2022.", + "weaponSpecialSpring2023RogueText": "Daun Digigit", + "weaponSpecialSpring2023WarriorText": "Foil Burung Kolibri", + "weaponSpecialSpring2023MageText": "Sihir Batu Rembulan", + "weaponSpecialSpring2023HealerText": "Serbuk Sari Lili", + "weaponMystery202306Text": "Payung Pelangi", + "weaponMystery202306Notes": "Bersinar bangga dan bawa prisma warna berkilauan ke mana pun kamu pergi! Tidak menambah status apapun. Item Pelanggan Juni 2023.", + "weaponMystery202211Text": "Tongkat Pengendali Petir", + "weaponSpecialSpring2023MageNotes": "Semakin besar cahayanya, semakin kuat kekuatannya. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2023 Edisi Terbatas.", + "weaponSpecialSpring2023HealerNotes": "Dengan embusan dan kilauan, kamu menyebarkan pertumbuhan, kegembiraan, dan warna baru. Meningkatkan Kecerdasan sebanyak <%= int %>. Perlengkapan Musim Semi 2023 Edisi Terbatas.", + "weaponMystery201911Notes": "Bola kristal di atas tongkat ini dapat menunjukkan masa depanmu, tetapi berhati-hatilah! Menggunakan pengetahuan berbahaya seperti itu dapat mengubah seseorang dengan cara yang tidak terduga. Tidak menambah status apapun. Item Pelanggan November 2019.", + "weaponMystery202102Notes": "Permata merah muda bercahaya di tongkat ini memiliki kekuatan untuk menyebarkan kegembiraan dan persahabatan jauh dan luas! Tidak menambah status apapun. Item Pelanggan Februari 2021.", + "weaponMystery202104Text": "Tongkat Thistle Berduri", + "weaponMystery202104Notes": "Musuhmu sebaiknya waspada - kamu memiliki pertahanan yang kuat dan berduri! Tidak menambah status apapun. Item Pelanggan April 2021.", + "weaponMystery202211Notes": "Manfaatkan kekuatan luar biasa dari badai petir dengan tongkat ini. Tidak menambah status apapun. Item Pelanggan November 2022.", + "weaponMystery202212Text": "Tongkat Glasial", + "weaponArmoireVernalTaperNotes": "Hari-hari semakin panjang, tetapi lilin ini akan membantumu menemukan jalan sebelum matahari terbit. Meningkatkan Ketahanan sebanyak <%= con %>. Peti Ajaib: Set Jubah Vernal (Item 3 dari 3).", + "weaponArmoireAstronomersTelescopeNotes": "Sebuah instrumen yang akan memungkinkan kamu untuk mengamati tarian kuno bintang-bintang. Meningkatkan Persepsi sebanyak <%= per %>. Peti Ajaib: Set Penyihir Astronomer (Item 3 dari 3).", + "weaponArmoireSlingshotNotes": "Bidik Harian merahmu! Meningkatkan Kekuatan sebanyak <%= str %>. Peti Ajaib: Item Tersendiri.", + "weaponArmoireMagnifyingGlassText": "Kaca Pembesar", + "weaponArmoireNephriteBowText": "Busur Nefrit", + "weaponArmoireBambooCaneNotes": "Sempurna untuk membantumu berjalan-jalan, atau untuk menari Charleston. Meningkatkan Kecerdasan, Persepsi, dan Ketahanan masing-masing sebanyak <%= attrs %>. Peti Ajaib: Set Berperahu (Item 3 dari 3).", + "weaponArmoireSlingshotText": "Katapel", + "weaponArmoireJugglingBallsNotes": "Habiticans adalah master multi-tasker, jadi kamu seharusnya tidak kesulitan membuat semua bola ini tetap di udara! Meningkatkan Kecerdasan sebanyak <%= int %>. Peti Ajaib: Item Tersendiri.", + "weaponArmoireNephriteBowNotes": "Busur ini menembakkan panah berujung giok yang akan merobohkan kebiasaan buruk bahkan yang paling keras kepala sekali pun! Meningkatkan Kecerdasan sebanyak <%= int %> dan Kekuatan sebanyak <%= str %>. Peti Ajaib: Set Pemanah Nefrit (Item 1 dari 3).", + "weaponArmoireBambooCaneText": "Tongkat Bambu", + "weaponArmoireAstronomersTelescopeText": "Teleskop Astronomer", + "weaponSpecialSummer2023WarriorText": "Pedang Elemen Air" } diff --git a/website/common/locales/id/generic.json b/website/common/locales/id/generic.json index aae6f9fa9e..91103655d6 100644 --- a/website/common/locales/id/generic.json +++ b/website/common/locales/id/generic.json @@ -25,7 +25,7 @@ "user": "Pengguna", "market": "Pasar", "newSubscriberItem": "Kamu punya Item Misterius baru", - "subscriberItemText": "Setiap bulan, pelanggan menerima item misterius. Biasanya dikeluarkan satu minggu sebelum akhir bulan. Lihat halaman wiki 'Mystery Item' untuk informasi lebih lanjut.", + "subscriberItemText": "Setiap bulan, pelanggan menerima item misterius. Tersedia setiap awal bulan. Lihat halaman wiki 'Mystery Item' untuk informasi lebih lanjut.", "all": "Semua", "none": "Tidak ada", "more": "<%= count %> lagi", @@ -33,7 +33,7 @@ "submit": "Laporkan", "close": "Tutup", "saveAndClose": "Simpan & Tutup", - "saveAndConfirm": "Save & Confirm", + "saveAndConfirm": "Simpan & Konfirmasi", "cancel": "Batal", "ok": "OK", "add": "Tambah", @@ -68,8 +68,8 @@ "error": "Error", "menu": "Menu", "notifications": "Notifikasi", - "noNotifications": "You're all caught up!", - "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!", + "noNotifications": "Kamu sudah tahu semuanya!", + "noNotificationsText": "Peri-peri notifikasi memberimu tepuk tangan meriah! Bagus!", "clear": "Bersihkan", "audioTheme": "Tema Audio", "audioTheme_off": "Matikan", @@ -89,7 +89,7 @@ "audioTheme_pizildenTheme": "Tema Pizilden", "audioTheme_farvoidTheme": "Tema Farvoid", "reportBug": "Laporkan Bug", - "overview": "Gambaran Awal untuk Pengguna Baru", + "overview": "Gambaran Awal untuk Pengguna Baru", "dateFormat": "Format Tanggal", "achievementStressbeast": "Penyelamat Stoïkalm", "achievementStressbeastText": "Membantu mengalahkan Abominable Stressbeast selama event Winter Wonderland 2014!", @@ -97,7 +97,7 @@ "achievementBurnoutText": "Membantu mengalahkan Burnout dan mengembalikan Ruh Kelelahan selama event Festival Musim Gugur 2015!", "achievementBewilder": "Penyelamat Mistiflying", "achievementBewilderText": "Membantu mengalahkan Be-Wilder selama event Pesta Pora Musim Semi 2016!", - "achievementDysheartener": "Savior of the Shattered", + "achievementDysheartener": "Penyelamat Kehancuran", "achievementDysheartenerText": "Membantu mengalahkan Dysheartener selama Event Valentine 2018!", "cards": "Kartu", "sentCardToUser": "Kamu mengirim kartu ke <%= profileName %>", @@ -166,7 +166,7 @@ "userIdRequired": "ID Pengguna dibutuhkan", "resetFilters": "Bersihkan semua filter", "applyFilters": "Tambahkan Filter", - "wantToWorkOn": "I want to work on:", + "wantToWorkOn": "Saya ingin mengerjakan:", "categories": "Kategori", "animals": "Binatang", "exercise": "Olahraga", @@ -190,10 +190,32 @@ "dismissAll": "Singkirkan Semua", "messages": "Pesan", "emptyMessagesLine1": "Kamu tidak memiliki pesan apapun", - "emptyMessagesLine2": "Kirim sebuah pesan untuk memulai obrolan!", + "emptyMessagesLine2": "Kamu dapat mengirim pesan ke pengguna lain dengan mengunjungi profil mereka dan meng-klik tombol \"Pesan\".", "userSentMessage": "<%- user %> mengirim-mu sebuah pesan", "letsgo": "Ayo Pergi!", "selected": "Dipilih", "howManyToBuy": "Berapa banyak yang ingin kamu beli?", - "contactForm": "Hubungi Tim Moderator" + "contactForm": "Hubungi Tim Moderator", + "finish": "Selesai", + "onboardingAchievs": "Pencapaian Pemain Baru", + "options": "Pilihan", + "congratulations": "Selamat!", + "reportBugHeaderDescribe": "Tolong jelaskan bug yang kamu temukan dan tim kami akan mengatasinya untukmu.", + "reportEmailText": "Ini hanya akan digunakan untuk menghubungimu terkait laporan bug.", + "reportDescriptionPlaceholder": "Jelaskan bug secara rinci di sini", + "reportSent": "Laporan bug terkirim!", + "reportEmailPlaceholder": "Alamat email kamu", + "reportEmailError": "Harap masukkan alamat email yang valid", + "reportDescription": "Deskripsi", + "reportDescriptionText": "Sertakan tangkapan layar atau pesan kesalahan Javascript jika membantu.", + "submitBugReport": "Kirimkan Laporan Bug", + "demo": "Demo", + "loadEarlierMessages": "Muat Pesan Sebelumnya", + "reportSentDescription": "Kami akan mengabarimu ketika tim kami selesai menginvestigasi. Terima kasih sudah melaporkan masalah ini.", + "askQuestion": "Tanyakan Pertanyaan", + "emptyReportBugMessage": "Pesan Laporan Bug tidak ditemukan", + "leaveHabitica": "Kamu akan meninggalkan Habitica.com", + "skipExternalLinkModal": "Tahan CTRL (Windows) atau Command (Mac) saat mengklik tautan untuk melewati modal ini.", + "refreshList": "Segarkan Daftar", + "leaveHabiticaText": "Habitica tidak bertanggung jawab atas konten situs web tertaut yang tidak dimiliki atau dioperasikan oleh HabitRPG.
Harap dicatat bahwa aturan di situs web ini mungkin berbeda dari pedoman komunitas Habitica." } diff --git a/website/common/locales/id/groups.json b/website/common/locales/id/groups.json index 1f2d13f133..9ee4d9263c 100644 --- a/website/common/locales/id/groups.json +++ b/website/common/locales/id/groups.json @@ -1,9 +1,9 @@ { "tavern": "Obrolan Kedai Minuman", "tavernChat": "Obrolan Kedai Minuman", - "innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.", - "innCheckOutBannerShort": "You are checked into the Inn.", - "resumeDamage": "Resume Damage", + "innCheckOutBanner": "Saat ini kamu check-in ke penginapan. Keseharian-mu tidak akan menyakitimu dan kamu juga tidak akan membuat kemajuan dalam Misi.", + "innCheckOutBannerShort": "Kamu masuk check-in ke penginapan.", + "resumeDamage": "Lanjutkan Damage", "helpfulLinks": "Tautan Berguna", "communityGuidelinesLink": "Pedoman Komunitas", "lookingForGroup": "Kiriman Pencarian Kelompok (Party Wanted)", @@ -14,16 +14,16 @@ "contributing": "Berkontribusi", "faq": "FAQ", "tutorial": "Tutorial", - "glossary": "Istilah", + "glossary": "Istilah", "wiki": "Wiki", "requestAF": "Ajukan Fitur Baru", "dataTool": "Alat Penampil Data", "resources": "Sumber", "communityGuidelines": "Pedoman Komunitas", - "bannedWordUsed": "Oops! Looks like this post contains a swearword, religious oath, or reference to an addictive substance or adult topic (<%= swearWordsUsed %>). Habitica has users from all backgrounds, so we keep our chat very clean. Feel free to edit your message so you can post it!", + "bannedWordUsed": "Ups! Sepertinya tulisan ini mengandung umpatan atau merujuk ke zat adiktif atau topik dewasa (<%= swearWordsUsed %>). Habitica menjaga ruang obrolan sangat bersih. Silakan ubah pesanmu sehingga kamu dapat mengirimkannya! Kamu harus menghapus kata yang dimaksud, bukan hanya menyamarkannya.", "bannedSlurUsed": "Pesanmu mengandung bahasa yang tidak sopan, dan hak obrolanmu telah dicabut.", "party": "Party", - "usernameCopied": "Username copied to clipboard.", + "usernameCopied": "Nama pengguna disalin ke clipboard.", "createGroupPlan": "Buat", "create": "Buat", "userId": "ID Pengguna", @@ -60,34 +60,34 @@ "sureKick": "Apa kamu benar-benar mau menghapus anggota ini dari Party/Guild?", "optionalMessage": "Pesan opsional", "yesRemove": "Ya, hapus mereka", - "sortBackground": "Sort by Background", - "sortClass": "Sort by Class", - "sortDateJoined": "Sort by Join Date", - "sortLogin": "Sort by Login Date", - "sortLevel": "Sort by Level", - "sortName": "Sort by Name", - "sortTier": "Sort by Tier", - "ascendingAbbrev": "Asc", - "descendingAbbrev": "Desc", - "applySortToHeader": "Apply Sort Options to Party Header", + "sortBackground": "Urutkan berdasarkan Latar Belakang", + "sortClass": "Urutkan berdasarkan Profesi", + "sortDateJoined": "Urutkan berdasarkan Tanggal Bergabung", + "sortLogin": "Urutkan berdasarkan Tanggal Login", + "sortLevel": "Urutkan berdasarkan Level", + "sortName": "Urutkan berdasarkan Nama", + "sortTier": "Urutkan berdasarkan Tingkatan", + "ascendingAbbrev": "Naik", + "descendingAbbrev": "Turun", + "applySortToHeader": "Terapkan Opsi Urutkan ke Header Party", "confirmGuild": "Buat Guild seharga 4 Permata?", "confirm": "Konfirmasi", "leaveGroup": "Tinggalkan Guild", "leaveParty": "Tinggalkan Party", "send": "Kirim", - "pmsMarkedRead": "Your Private Messages have been marked as read", + "pmsMarkedRead": "Pesan Pribadi-mu ditandai sudah dibaca", "possessiveParty": "Party milik <%= name %>", - "PMPlaceholderTitle": "Nothing Here Yet", - "PMPlaceholderDescription": "Select a conversation on the left", - "PMPlaceholderTitleRevoked": "Your chat privileges have been revoked", + "PMPlaceholderTitle": "Tidak ada apa-apa di sini", + "PMPlaceholderDescription": "Pilih percakapan di sebelah kiri", + "PMPlaceholderTitleRevoked": "Hak obrolanmu telah dicabut", "PMPlaceholderDescriptionRevoked": "You are not able to send private messages because your chat privileges have been revoked. If you have questions or concerns about this, please email admin@habitica.com to discuss it with the staff.", - "PMEnabledOptPopoverText": "Private Messages are enabled. Users can contact you via your profile.", - "PMDisabledOptPopoverText": "Private Messages are disabled. Enable this option to allow users to contact you via your profile.", - "PMDisabledCaptionTitle": "Private Messages are disabled", - "PMDisabledCaptionText": "You can still send messages, but no one can send them to you.", + "PMEnabledOptPopoverText": "Pesan Pribadi diaktifkan. Pengguna dapat menghubungimu melalui profilmu.", + "PMDisabledOptPopoverText": "Pesan Pribadi dinonaktifkan. Aktifkan opsi ini untuk mengizinkan pengguna menghubungimu melalui profilmu.", + "PMDisabledCaptionTitle": "Pesan Pribadi dinonaktifkan", + "PMDisabledCaptionText": "Kamu dapat mengirim pesan, tetapi tidak ada yang dapat mengirimkan pesan kepadamu.", "block": "Blokir", "unblock": "Hapus Blokir", - "blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.", + "blockWarning": "Blokir - Ini tidak akan berpengaruh jika pemain adalah moderator sekarang atau menjadi moderator di masa depan.", "inbox": "Kotak Masuk", "messageRequired": "Pesan harus ditulis.", "toUserIDRequired": "ID Pengguna dibutuhkan", @@ -97,33 +97,33 @@ "cannotSendGemsToYourself": "Tidak dapat mengirimkan permata kepada dirimu sendiri. Cobalah berlangganan.", "badAmountOfGemsToSend": "Jumlahnya harus di antara 1 sampai jumlah permata yang kamu miliki.", "report": "Laporkan", - "abuseFlagModalHeading": "Report a Violation", - "abuseFlagModalBody": "Are you sure you want to report this post? You should only report a post that violates the <%= firstLinkStart %>Community Guidelines<%= linkEnd %> and/or <%= secondLinkStart %>Terms of Service<%= linkEnd %>. Inappropriately reporting a post is a violation of the Community Guidelines and may give you an infraction.", + "abuseFlagModalHeading": "Laporkan Pelanggaran", + "abuseFlagModalBody": "Apakah kamu yakin ingin melaporkan postingan ini? Kamu hanya boleh melaporkan postingan yang melanggar <%= firstLinkStart %>Pedoman Komunitas<%= linkEnd %> dan/atau <%= secondLinkStart %>Persyaratan Layanan<%= linkEnd %>. Melaporkan postingan yang tidak seharusnya merupakan pelanggaran terhadap Pedoman Komunitas dan dapat menyebabkan pelanggaran.", "abuseReported": "Terima kasih telah melaporkan pelanggaran ini. Moderator telah diberitahu.", - "whyReportingPost": "Why are you reporting this post?", - "whyReportingPostPlaceholder": "Please help our moderators by letting us know why you are reporting this post for a violation, e.g., spam, swearing, religious oaths, bigotry, slurs, adult topics, violence.", - "optional": "Optional", + "whyReportingPost": "Mengapa kamu melaporkan posting ini?", + "whyReportingPostPlaceholder": "Tolong bantu moderator kami dengan memberi tahu kami mengapa kamu melaporkan postingan ini karena pelanggaran, mis., spam, sumpah serapah, sumpah agama, kefanatikan, penghinaan, topik dewasa, kekerasan.", + "optional": "Tidak wajib", "needsTextPlaceholder": "Ketikkan pesan.", - "copyMessageAsToDo": "Salin pesan sebagai To-Do", - "copyAsTodo": "Salin sebagai To-Do", - "messageAddedAsToDo": "Pesan tersalin sebagai To-Do.", + "copyMessageAsToDo": "Salin pesan sebagai To Do", + "copyAsTodo": "Salin sebagai To Do", + "messageAddedAsToDo": "Pesan tersalin sebagai To Do.", "leaderOnlyChallenges": "Hanya ketua grup yang dapat membuat tantangan baru", "sendGift": "Kirim Hadiah", "inviteFriends": "Undang Teman", "inviteByEmail": "Undang melalui Email", "inviteMembersHowTo": "Undang teman menggunakan email yang valid atau 36 digit ID Pengguna. Jika email tersebut belum terdaftar, kami akan mengundangnya untuk menjadi anggota Habitica.", - "sendInvitations": "Send Invites", + "sendInvitations": "Kirim Undangan", "invitationsSent": "Undangan terkirim!", "invitationSent": "Undangan terkirim!", "invitedFriend": "Telah mengundang Teman", "invitedFriendText": "Pengguna ini mengundang seorang teman (atau beberapa) yang telah bergabung untuk bertualang bersama!", "inviteLimitReached": "Kamu telah mencapai batas maksimal pengiriman undangan lewat email. Kami membatasi untuk mencegah spam, tapi kalau kamu ingin lebih, silakan hubungi kami di <%= techAssistanceEmail %> dan kami akan dengan senang hati mendiskusikannya lebih lanjut!", - "sendGiftHeading": "Kirim Hadiah ke <%= name %>", + "sendGiftHeading": "Kirim Hadiah ke <%= name %>", "sendGiftGemsBalance": "Dari <%= number %> Permata", - "sendGiftCost": "Total: $<%= cost %> USD", + "sendGiftCost": "Harga: $<%= cost %> USD", "sendGiftFromBalance": "Dari Saldo", "sendGiftPurchase": "Beli", - "sendGiftMessagePlaceholder": "Pesan Pribadi (opsional)", + "sendGiftMessagePlaceholder": "Tambahkan pesan hadiah", "sendGiftSubscription": "<%= months %> Bulan: $<%= price %> USD", "gemGiftsAreOptional": "Harap diingat bahwa Habitica tidak pernah memintamu untuk memberikan permata kepada pemain lain. Meminta-minta permata kepada orang lain adalah pelanggaran terhadap Pedoman Komunitas, dan semua kejadian seperti itu harus dilaporkan kepada <%= hrefTechAssistanceEmail %>.", "battleWithFriends": "Kalahkan Monster Bersama Teman-Teman", @@ -146,17 +146,17 @@ "inviteMustNotBeEmpty": "Undangan tidak boleh kosong.", "partyMustbePrivate": "Party harus privat", "userAlreadyInGroup": "UserID: <%= userId %>, User \"<%= username %>\" sudah di grup tersebut.", - "youAreAlreadyInGroup": "You are already a member of this group.", + "youAreAlreadyInGroup": "Kamu sudah menjadi anggota grup ini.", "cannotInviteSelfToGroup": "Kamu tidak bisa mengundang dirimu sendiri ke dalam grup.", "userAlreadyInvitedToGroup": "UserID: <%= userId %>, User \"<%= username %>\" sudah diundang ke grup tersebut.", "userAlreadyPendingInvitation": "UserID: <%= userId %>, User \"<%= username %>\" sudah diundang.", "userAlreadyInAParty": "UserID: <%= userId %>, User \"<%= username %>\" sudah didalam kelompok.", "userWithIDNotFound": "Pengguna dengan id \"<%= userId %>\" tidak ditemukan.", - "userWithUsernameNotFound": "User with username \"<%= username %>\" not found.", + "userWithUsernameNotFound": "Pengguna dengan nama pengguna \"<%= username %>\" tidak ditemukan.", "userHasNoLocalRegistration": "Pengguna tidak memiliki registrasi lokal (nama pengguna, email, kata sandi).", "uuidsMustBeAnArray": "Undangan ID pengguna harus berupa array.", "emailsMustBeAnArray": "Undangan alamat email harus berupa array.", - "usernamesMustBeAnArray": "Username invites must be an array.", + "usernamesMustBeAnArray": "Undangan nama pengguna harus berupa array.", "canOnlyInviteMaxInvites": "Kamu hanya dapat mengundang \"<%= maxInvites %>\" pada satu waktu", "partyExceedsMembersLimit": "Ukuran party memiliki batas <%= maxMembersParty %> anggota", "onlyCreatorOrAdminCanDeleteChat": "Tidak berhak untuk menghapus pesan ini!", @@ -164,9 +164,9 @@ "onlyGroupTasksCanBeAssigned": "Hanya tugas grup yang bisa ditentukan", "assignedTo": "Ditugaskan kepada", "assignedToUser": "Ditugaskan kepada <%- userName %>", - "assignedToMembers": "Ditugaskan kepada <%= userCount %> anggota", + "assignedToMembers": "<%= userCount %> pengguna", "assignedToYouAndMembers": "Ditugaskan kepadamu dan <%= userCount %> anggota", - "youAreAssigned": "Kamu telah ditugaskan untuk mengerjakan tugas ini", + "youAreAssigned": "Yang ditugaskan: kamu", "taskIsUnassigned": "Tugas ini belum ditugaskan kepada siapa pun", "confirmUnClaim": "Apakah anda yakin untuk batal mengambil tugas ini?", "confirmNeedsWork": "Apakah kamu yakin ingin menandakan tugas ini sebagai membutuhkan kerjaan tambahan?", @@ -194,11 +194,11 @@ "teamBasedTasks": "Tugas Kelompok", "cannotDeleteActiveGroup": "Kamu tidak bisa menghapus grup yang sedang berlangganan", "groupTasksTitle": "Daftar Tugas Grup", - "userIsClamingTask": "`<%= username %> has claimed:` <%= task %>", + "userIsClamingTask": "`<%= username %> mengklaim:` <%= task %>", "approvalRequested": "Meminta Persetujuan", "cantDeleteAssignedGroupTasks": "Tidak bisa menghapus tugas grup yang diberikan ke kamu.", "groupPlanUpgraded": "<%- groupName %> was upgraded to a Group Plan!", - "groupPlanCreated": "<%- groupName %> was created!", + "groupPlanCreated": "<%- groupName %> telah dibuat!", "onlyGroupLeaderCanInviteToGroupPlan": "Hanya ketua grup yang bisa mengundang pengguna ke dalam grup yang berlangganan.", "paymentDetails": "Detail Pembayaran", "aboutToJoinCancelledGroupPlan": "Kamu akan bergabung ke grup dengan rencana yang dibatalkan. Kamu TIDAK akan menerima gratis berlangganan.", @@ -206,12 +206,12 @@ "leaderCannotLeaveGroupWithActiveGroup": "Ketua tidak bisa meninggalkan grup saat grup memiliki rencana yang sedang aktif", "youHaveGroupPlan": "Kamu memiliki gratis berlangganan karena kamu adalah anggota dari grup yang memiliki Rencana Grup. Langganan akan berakhir saat kamu tidak lagi berada dalam grup yang memiliki rencana grup. Setiap bulan ekstra dari kredit langganan yang kamu punya akan diaplikasikan di akhir Rencana Grup.", "cancelGroupSub": "Batalkan Rencana Grup", - "confirmCancelGroupPlan": "Kamu yakin ingin membatalkan rencana grup dan menghapus seluruh keuntungannya dari semua anggota, termasuk gratis berlangganan?", + "confirmCancelGroupPlan": "Kamu yakin ingin membatalkan rencana grup?Seluruh anggota grup akan kehilangan berlangganan dan keuntungan lainnya.", "canceledGroupPlan": "Rencana Grup Dibatalkan", "groupPlanCanceled": "Rencana Grup akan menjadi tidak aktif pada", "purchasedGroupPlanPlanExtraMonths": "Kamu memiliki <%= months %> bulan ekstra kredit rencana grup.", - "addManager": "Assign Manager", - "removeManager2": "Unassign Manager", + "addManager": "Tetapkan Manajer", + "removeManager2": "Batalkan penetapan manajer", "userMustBeMember": "Pengguna harus seorang anggota", "userIsNotManager": "Pengguna bukan manajer", "canOnlyApproveTaskOnce": "Tugas ini sudah disetujui.", @@ -229,10 +229,10 @@ "like": "Suka", "liked": "Disukai", "inviteToGuild": "Undang ke Guild", - "inviteToParty": "Invite to Party", - "inviteEmailUsername": "Invite via Email or Username", - "inviteEmailUsernameInfo": "Invite users via a valid email or username. If an email isn't registered yet, we'll invite them to join.", - "emailOrUsernameInvite": "Email address or username", + "inviteToParty": "Undang ke Party", + "inviteEmailUsername": "Undang melalui Email atau Nama Pengguna", + "inviteEmailUsernameInfo": "Undang pengguna melalui email atau nama pengguna yang valid. Jika email belum terdaftar, kami akan mengundang mereka untuk bergabung.", + "emailOrUsernameInvite": "Alamat email atau nama pengguna", "messageGuildLeader": "Kirim Pesan ke Pemimpin Guild", "donateGems": "Sumbang Permata", "updateGuild": "Perbarui Guild", @@ -244,13 +244,13 @@ "role": "Role", "guildLeader": "Pemimpin Guild", "member": "Anggota", - "guildSize": "Guild Size", + "guildSize": "Ukuran Guild", "goldTier": "Pangkat Emas", "silverTier": "Pangkat Perak", "bronzeTier": "Pangkat Perunggu", "privacySettings": "Pengaturan Privasi", "onlyLeaderCreatesChallenges": "Hanya Pemimpin grup yang bisa membuat Tantangan", - "onlyLeaderCreatesChallengesDetail": "With this option selected, ordinary group members cannot create Challenges for the group.", + "onlyLeaderCreatesChallengesDetail": "Dengan opsi ini, anggota grup biasa tidak dapat membuat Tantangan untuk grup.", "privateGuild": "Guild Pribadi", "charactersRemaining": "<%= characters %> karakter tersisa", "guildSummary": "Ringkasan", @@ -263,19 +263,19 @@ "noGuildsTitle": "Kamu belum menjadi anggota Guild apapun.", "noGuildsParagraph1": "Guild ialah kelompok sosial yang dibuat oleh pemain lain yang menyediakan dukungan, rasa tanggung jawab, dan mendorong orang untuk mengobrol.", "noGuildsParagraph2": "Tekan tab Temukan untuk melihat rekomendasi Guild berdasarkan minatmu, lihat-lihat Guild publik Habitica, atau buat Guild-mu sendiri.", - "noGuildsMatchFilters": "We couldn't find any matching Guilds.", + "noGuildsMatchFilters": "Kami tidak dapat menemukan Guild yang cocok.", "privateDescription": "Guild pribadi tidak akan ditampilkan di daftar Guild Habitica. Anggota baru hanya dapat ditambahkan melalui undangan saja.", "removeInvite": "Hapus Undangan", "removeMember": "Keluarkan Anggota", "sendMessage": "Kirim Pesan", - "promoteToLeader": "Transfer Ownership", - "inviteFriendsParty": "Mengundang teman-teman ke Party-mu akan memberimu sebuah
Gulungan Misi untuk melawan Basi-List bersama-sama!", + "promoteToLeader": "Pindahkan Kepemilikan", + "inviteFriendsParty": "Undang pemain lain ke Party-mu
dan terima Gulungan Misi Basi-List eksklusif.", "createParty": "Buat Party", "inviteMembersNow": "Apakah kamu mau mengundang anggota sekarang?", "playInPartyTitle": "Mainkan Habitica dalam sebuah Party!", "playInPartyDescription": "Hadapi misi-misi menakjubkan bersama temanmu atau sendirian. Lawan monster, buat Tantangan, dan bantu dirimu sendiri untuk menjadi bertanggung jawab melalui Party.", "wantToJoinPartyTitle": "Mau bergabung dengan sebuah Party?", - "wantToJoinPartyDescription": "Give your username to a friend who already has a Party, or head to the Party Wanted Guild to meet potential comrades!", + "wantToJoinPartyDescription": "Berikan nama pengguna-mu kepada teman yang sudah memiliki Party, atau kunjungi Party Wanted Guild untuk bertemu rekan potensial!", "copy": "Salin", "inviteToPartyOrQuest": "Undang Party untuk Melakukan Misi", "inviteInformation": "Dengan menekan \"Undang\" kamu akan mengirim undangan kepada semua anggota party-mu. Ketika mereka semua telah menerima ataupun menolak, Misinya dimulai.", @@ -300,43 +300,137 @@ "groupNoNotifications": "Guild ini sekarang terlalu besar untuk menampung notifikasi! Pastikan kamu sering datang kesini untuk melihat pesan-pesan baru!", "whatIsWorldBoss": "Apakah World Boss itu?", "worldBossDesc": "World Boss adalah acara spesial yang menyatukan komunitas Habitica untuk mengalahkan monster kuat dengan cara mengerjakan tugas-tugas mereka. Semua pengguna Habitica akan diberi hadiah setelah monster itu telah dikalahkan, bahkan mereka yang beristirahat di dalam Penginapan atau tidak menggunakan Habitica sama sekali sepanjang durasi misi tersebut.", - "worldBossLink": "Baca lebih banyak tentang World Boss - World Boss Habitica sebelumnya di Wiki.", + "worldBossLink": "Baca lebih banyak tentang World Boss - World Boss Habitica sebelumnya di Wiki.", "worldBossBullet1": "Selesaikan tugas-tugas untuk menyakiti World Boss", "worldBossBullet2": "World Boss tidak akan menyakitimu untuk tugas-tugas yang terlewatkan, tetapi Rage meternya akan naik. Jika Rage meter nya terisi, Boss tersebut akan menyerang salah satu pemilik toko di Habitica!", "worldBossBullet3": "Kamu bisa berlanjut menghadapi bos misi biasa, kerusakan akan diterapkan pada keduanya", "worldBossBullet4": "Cek kedai minuman secara teratur untuk melihat perkembangan World Boss dan serangan kemarahan", - "worldBoss": "World Boss", - "groupPlanTitle": "Need more for your crew?", - "groupPlanDesc": "Managing a small team or organizing household chores? Our group plans grant you exclusive access to a private task board and chat area dedicated to you and your group members!", - "billedMonthly": "*billed as a monthly subscription", - "teamBasedTasksList": "Team-Based Task List", - "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", - "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", - "inGameBenefits": "In-Game Benefits", - "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", - "inspireYourParty": "Inspire your party, gamify life together.", - "letsMakeAccount": "First, let’s make you an account", - "nameYourGroup": "Next, Name Your Group", - "exampleGroupName": "Example: Avengers Academy", - "exampleGroupDesc": "For those selected to join the training academy for The Avengers Superhero Initiative", - "thisGroupInviteOnly": "This group is invitation only.", - "gettingStarted": "Getting Started", - "congratsOnGroupPlan": "Congratulations on creating your new Group! Here are a few answers to some of the more commonly asked questions.", - "whatsIncludedGroup": "What's included in the subscription", - "whatsIncludedGroupDesc": "All members of the Group receive full subscription benefits, including the monthly subscriber items, the ability to buy Gems with Gold, and the Royal Purple Jackalope mount, which is exclusive to users with a Group Plan membership.", - "howDoesBillingWork": "How does billing work?", - "howDoesBillingWorkDesc": "Group Leaders are billed based on group member count on a monthly basis. This charge includes the $9 (USD) price for the Group Leader subscription, plus $3 USD for each additional group member. For example: A group of four users will cost $18 USD/month, as the group consists of 1 Group Leader + 3 group members.", - "howToAssignTask": "How do you assign a Task?", - "howToAssignTaskDesc": "Assign any Task to one or more Group members (including the Group Leader or Managers themselves) by entering their usernames in the \"Assign To\" field within the Create Task modal. You can also decide to assign a Task after creating it, by editing the Task and adding the user in the \"Assign To\" field!", - "howToRequireApproval": "How do you mark a Task as requiring approval?", - "howToRequireApprovalDesc": "Toggle the \"Requires Approval\" setting to mark a specific task as requiring Group Leader or Manager confirmation. The user who checked off the task won't get their rewards for completing it until it has been approved.", - "howToRequireApprovalDesc2": "Group Leaders and Managers can approve completed Tasks directly from the Task Board or from the Notifications panel.", - "whatIsGroupManager": "What is a Group Manager?", - "whatIsGroupManagerDesc": "A Group Manager is a user role that do not have access to the group's billing details, but can create, assign, and approve shared Tasks for the Group's members. Promote Group Managers from the Group’s member list.", - "goToTaskBoard": "Go to Task Board", + "worldBoss": "Bos Dunia", + "groupPlanTitle": "Perlu lebih banyak untuk kru-mu?", + "groupPlanDesc": "Mengelola tim kecil atau mengatur pekerjaan rumah tangga? Paket grup kami memberimu akses eksklusif ke papan tugas pribadi dan area obrolan yang didedikasikan untuk kamu dan anggota grupmu!", + "billedMonthly": "*ditagih sebagai langganan bulanan", + "teamBasedTasksList": "Daftar Tugas Berbasis Tim", + "teamBasedTasksListDesc": "Siapkan daftar tugas bersama yang mudah dilihat untuk grup. Tetapkan tugas kepada sesama anggota kelompokmu, atau biarkan mereka mengklaim tugas mereka sendiri untuk memperjelas apa yang sedang dikerjakan semua orang!", + "groupManagementControls": "Kontrol Manajemen Grup", + "groupManagementControlsDesc": "Lihat status tugas untuk memverifikasi bahwa tugas telah selesai, tambahkan Manajer Grup untuk berbagi tanggung jawab, dan nikmati obrolan grup pribadi untuk semua anggota tim.", + "inGameBenefits": "Manfaat Dalam Game", + "inGameBenefitsDesc": "Anggota grup mendapatkan tunggangan Jackalope eksklusif, serta manfaat berlangganan penuh, termasuk set peralatan bulanan khusus dan kemampuan untuk membeli permata dengan emas.", + "inspireYourParty": "Inspirasikan party-mu, gamifikasi kehidupan bersama.", + "letsMakeAccount": "Pertama, mari kita buat akun untukmu", + "nameYourGroup": "Selanjutnya, beri nama grupmu", + "exampleGroupName": "Contoh: Akademi Avengers", + "exampleGroupDesc": "Bagi mereka yang terpilih untuk bergabung dengan akademi pelatihan untuk Calon Superhero Avengers", + "thisGroupInviteOnly": "Grup ini hanya bisa dimasuki melalui undangan.", + "gettingStarted": "Persiapan", + "congratsOnGroupPlan": "Selamat telah membuat Grup barumu! Berikut adalah beberapa jawaban atas beberapa pertanyaan yang sering diajukan.", + "whatsIncludedGroup": "Apa yang termasuk dalam langganan", + "whatsIncludedGroupDesc": "Semua anggota Grup menerima manfaat langganan penuh, termasuk item pelanggan bulanan, kemampuan untuk membeli Permata dengan Emas, dan tunggangan Jackalope Ungu Kerajaan, yang eksklusif untuk pengguna dengan keanggotaan Paket Grup.", + "howDoesBillingWork": "Bagaimana cara penagihannya?", + "howDoesBillingWorkDesc": "Pemimpin Grup ditagih berdasarkan jumlah anggota grup setiap bulan. Biaya ini termasuk harga 9 USD (USD) untuk langganan Pemimpin Grup, ditambah 3 USD untuk setiap anggota grup tambahan. Misalnya: Grup yang terdiri dari empat pengguna akan dikenakan biaya $18 USD/bulan, karena grup terdiri dari 1 Pemimpin Grup + 3 anggota grup.", + "howToAssignTask": "Bagaimana kamu menetapkan Tugas?", + "howToAssignTaskDesc": "Tetapkan Tugas apa pun ke satu atau beberapa anggota Grup (termasuk Pemimpin Grup atau Manajer itu sendiri) dengan memasukkan nama pengguna mereka di kolom \"Tetapkan\" dalam modal Buat Tugas. Kamu juga dapat memutuskan untuk menetapkan Tugas setelah membuatnya, dengan mengedit Tugas dan menambahkan pengguna di kolom \"Tetapkan\"!", + "howToRequireApproval": "Bagaimana kamu menandai Tugas sebagai memerlukan persetujuan?", + "howToRequireApprovalDesc": "Alihkan pengaturan \"Memerlukan Persetujuan\" untuk menandai tugas tertentu sebagai memerlukan konfirmasi Pemimpin Grup atau Manajer. Pengguna yang mencentang tugas tidak akan mendapatkan hadiah saat menyelesaikannya hingga disetujui.", + "howToRequireApprovalDesc2": "Pemimpin dan Manajer Grup dapat menyetujui Tugas yang telah diselesaikan langsung dari Papan Tugas atau dari panel Pemberitahuan.", + "whatIsGroupManager": "Apa itu Manajer Grup?", + "whatIsGroupManagerDesc": "Manajer Grup adalah peran pengguna yang tidak memiliki akses ke detail penagihan grup, tetapi dapat membuat, menetapkan, dan menyetujui Tugas bersama untuk anggota Grup. Promosikan Manajer Grup dari daftar anggota Grup.", + "goToTaskBoard": "Pergi ke Papan Tugas", "sharedCompletion": "Shared Completion", - "recurringCompletion": "None - Group task does not complete", - "singleCompletion": "Single - Completes when any assigned user finishes", - "allAssignedCompletion": "All - Completes when all assigned users finish" + "recurringCompletion": "Tidak ada - Tugas grup tidak selesai", + "singleCompletion": "Tunggal - Selesai ketika pengguna yang ditetapkan selesai", + "allAssignedCompletion": "Semua - Selesai ketika semua pengguna yang ditetapkan selesai", + "leaveGuild": "Tinggalkan Guild", + "editParty": "Ubah Party", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> mengundang kamu untuk bergabung dengan Party <%- party %>", + "editGuild": "Ubah Guild", + "features": "Fitur", + "PMDisabled": "Nonaktifkan Pesan Pribadi", + "joinParty": "Bergabung dengan Party", + "joinGuild": "Bergabung dengan Guild", + "blockYourself": "Kamu tidak dapat memblokir diri sendiri", + "PMUnblockUserToSendMessages": "Batalkan pemblokiran pengguna ini untuk terus mengirim dan menerima pesan.", + "PMCanNotReply": "Kamu tidak dapat membalas percakapan ini", + "PMUserDoesNotReceiveMessages": "Pengguna ini tidak lagi menerima pesan pribadi", + "blockedToSendToThisUser": "Kamu tidak dapat mengirim ke pemain ini karena kamu telah memblokir pemain ini.", + "selectGift": "Pilih Hadiah", + "pmReported": "Terima kasih telah melaporkan pesan ini.", + "sendGiftToWhom": "Kepada siapa kamu ingin mengirim hadiah?", + "selectSubscription": "Pilih Langganan", + "onlyPrivateGuildsCanUpgrade": "Hanya guild pribadi yang dapat ditingkatkan ke paket grup.", + "chooseTeamMember": "Cari anggota tim", + "userWithUsernameOrUserIdNotFound": "Nama pengguna atau ID Pengguna tidak ditemukan.", + "assignTo": "Tetapkan", + "sendGiftLabel": "Apakah kamu ingin mengirim pesan hadiah?", + "cannotRemoveQuestOwner": "Kamu tidak dapat mengeluarkan pemilik misi yang sedang aktif. Batalkan misi terlebih dahulu.", + "usernameOrUserId": "Masukkan @namapengguna atau ID Pengguna", + "youHaveBeenAssignedTask": "<%- managerName %> telah memberimu tugas <%- taskText %>.", + "startPartyDetail": "Mulai party-mu sendiri atau bergabunglah dengan yang sudah ada
untuk melakukan Misi dan meningkatkan motivasimu!", + "giftMessageTooLong": "Panjang maksimum untuk pesan hadiah adalah <%= maxGiftMessageLength %>.", + "questWithOthers": "Lakukan Misi dengan Orang Lain", + "partyExceedsInvitesLimit": "Party hanya dapat memiliki hingga <%= maxInvites %> undangan tertunda.", + "unassigned": "Tidak ditetapkan", + "thisTaskApproved": "Tugas ini disetujui", + "newPartyPlaceholder": "Masukkan nama party-mu.", + "messagePartyLeader": "Kirim Pesan ke Pemimpin Party", + "taskClaimed": "<%- userName %> telah mengklaim tugas <%- taskText %>.", + "languageSettings": "Pengaturan Bahasa", + "upgradeToGroup": "Tingkatkan ke Grup", + "viewDetails": "Lihat Detail", + "invitedToThisQuest": "Kamu diundang ke Misi ini!", + "bannedWordsAllowed": "Bolehkan kata-kata terlarang", + "bannedWordsAllowedDetail": "Dengan opsi ini, penggunaan kata-kata terlarang di guild ini akan diizinkan.", + "lookForParty": "Cari Party", + "currentlyLookingForParty": "Kamu sedang mencari Party!", + "partyFinderDescription": "Ingin bergabung Party dengan orang lain tetapi tidak kenal siapapun? Beri tahu para pemimpin Party bahwa kamu menunggu untuk diundang!", + "createGroup": "Buat Grup", + "groupUse": "Mana yang paling menggambarkan penggunaan Grup-mu?*", + "groupCouple": "Pasangan berbagi tugas", + "groupFriends": "Teman berbagi tugas", + "groupCoworkers": "Rekan kerja berbagi tugas", + "groupUseDefault": "Pilih jawaban", + "groupParentChildren": "Orang tua menyiapkan tugas untuk anak-anak", + "descriptionOptional": "Deskripsi", + "groupTeacher": "Pengajar menyiapkan tugas untuk siswa", + "nextPaymentMethod": "Berikutnya: Metode Pembayaran", + "groupManager": "Manajer menyiapkan tugas untuk karyawan", + "descriptionOptionalText": "Tambahkan deskripsi", + "nameStar": "Nama*", + "nameStarText": "Tambahkan judul", + "claimRewards": "Klaim Hadiah", + "managerNotes": "Catatan Manajer", + "suggestedGroup": "Disarankan karena kamu baru di Habitica.", + "groupActivityNotificationTitle": "<%= user %> mengirimkan pesan di <%= group %>", + "assignedDateOnly": "Ditetapkan pada tanggal <%= date %>", + "assignedDateAndUser": "Ditetapkan oleh @<%- username %> pada tanggal <%= date %>", + "newGroupsBullet10c": "Tetapkan tugas ke beberapa anggota jika mereka semua harus menyelesaikannya", + "newGroupsVisitFAQ": "Kunjungi FAQ dari menu dropdown Bantuan untuk panduan selengkapnya.", + "youEmphasized": "Kamu", + "newGroupsBullet09": "Tugas bersama dapat dicentang untuk menunjukkan bahwa tugas tersebut masih perlu dikerjakan", + "newGroupsEnjoy": "Kami harap kamu menikmati pengalaman Paket Grup yang baru!", + "findPartyMembers": "Temukan Anggota Party", + "viewStatus": "Status", + "lastCompleted": "Terakhir diselesaikan", + "newGroupsWelcome": "Selamat datang di Papan Tugas Bersama baru!", + "newGroupsWhatsNew": "Lihat Apa Yang Baru:", + "newGroupsBullet01": "Berinteraksi dengan tugas langsung dari papan tugas bersama", + "newGroupsBullet02": "Siapa pun dapat menyelesaikan tugas yang belum ditetapkan", + "newGroupsBullet03": "Tugas bersama di-reset bersamaan untuk semua orang untuk kolaborasi lebih mudah", + "newGroupsBullet04": "Keseharian Bersama tidak menyebabkan damage saat terlewatkan atau muncul di Rekaman Aktivitas Kemarin", + "newGroupsBullet06": "Tampilan status tugas memungkinkan kamu melihat penerima tugas mana yang telah menyelesaikan tugas", + "newGroupsBullet07": "Alihkan kemampuan untuk menampilkan tugas bersama di papan tugas pribadimu", + "newGroupsBullet08": "Pemimpin dan manajer grup dapat menambahkan tugas dari bagian atas kolom tugas", + "newGroupsBullet10a": "Biarkan tugas tidak ditetapkan jika ada anggota yang bisa menyelesaikannya", + "checkinsLabel": "Cek in:", + "classLabel": "Profesi:", + "sendTotal": "Jumlah:", + "dayStart": "Permulaan hari: <%= startTime %>", + "chatTemporarilyUnavailable": "Obrolan untuk sementara tidak tersedia. Silakan coba lagi nanti.", + "newGroupsBullet05": "Tugas bersama akan terdegradasi warnanya jika tidak diselesaikan untuk membantu melacak kemajuan", + "newGroupsBullet10": "Status penugasan menentukan kondisi penyelesaian:", + "newGroupsBullet10b": "Tetapkan tugas ke satu anggota sehingga hanya dia yang bisa menyelesaikannya", + "languageLabel": "Bahasa:", + "invitedToYourParty": "Diundang Ke Party-mu!  Klik untuk Batalkan", + "lookingForPartyTitle": "Temukan Anggota", + "findMorePartyMembers": "Temukan Lebih Banyak Anggota", + "noOneLooking": "Tidak ada yang mencari Party sekarang.
Kamu bisa kembali lagi nanti!" } diff --git a/website/common/locales/id/inventory.json b/website/common/locales/id/inventory.json index 67a219578b..9fcafc1a70 100644 --- a/website/common/locales/id/inventory.json +++ b/website/common/locales/id/inventory.json @@ -1,8 +1,10 @@ { - "noItemsAvailableForType": "Kamu tidak punya <%= type %>.", - "foodItemType": "Makanan", - "eggsItemType": "Telur", - "hatchingPotionsItemType": "Ramuan Penetas", - "specialItemType": "Item Spesial", - "lockedItem": "Item Terkunci" + "noItemsAvailableForType": "Kamu tidak punya <%= type %>.", + "foodItemType": "Makanan", + "eggsItemType": "Telur", + "hatchingPotionsItemType": "Ramuan Penetas", + "specialItemType": "Item Spesial", + "lockedItem": "Item Terkunci", + "petAndMount": "Peliharaan dan Tunggangan", + "allItems": "Semua Item" } diff --git a/website/common/locales/id/limited.json b/website/common/locales/id/limited.json index c8344038ce..56e040955c 100644 --- a/website/common/locales/id/limited.json +++ b/website/common/locales/id/limited.json @@ -20,11 +20,11 @@ "turkey": "Kalkun", "gildedTurkey": "Kalkun Emas", "polarBearPup": "Anak Beruang Kutub", - "jackolantern": "Jack-O-Lantern", + "jackolantern": "Jack-O'-Lantern", "ghostJackolantern": "Hantu Jack-O-Lantern", - "glowJackolantern": "Glow-in-the-Dark Jack-O-Lantern", + "glowJackolantern": "Jack-O'-Lantern Bersinar-dalam-Gelap", "seasonalShop": "Toko musiman", - "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>", + "seasonalShopClosedTitle": "<%= linkStart %>Lesli<%= linkEnd %>", "seasonalShopTitle": "<%= linkStart %>Penyihir Musiman<%= linkEnd %>", "seasonalShopClosedText": "Toko Musiman sekarang sedang tutup!! Tokonya hanya buka selama empat Grand Gala Habitica.", "seasonalShopSummerText": "Happy Summer Splash!! Apakah kamu mau membeli Items langka bernuansa Musim Panas ? Dapatkan mereka sebelum Gala selesai!", @@ -92,7 +92,7 @@ "summer2016EelSet": "Belut (Rogue)", "fall2016SwampThingSet": "Makhluk Rawa (Prajurit)", "fall2016WickedSorcererSet": "Penyihir Jahat (Penyihir)", - "fall2016GorgonHealerSet": "Gorgon (Healer)", + "fall2016GorgonHealerSet": "Gorgon (Penyembuh)", "fall2016BlackWidowSet": "Laba-laba Black Widow (Rogue)", "winter2017IceHockeySet": "Hoki Es (Prajurit)", "winter2017WinterWolfSet": "Serigala Salju (Penyihir)", @@ -107,68 +107,171 @@ "summer2017SeashellSeahealerSet": "Penyembuh Kerang Laut (Penyembuh)", "summer2017SeaDragonSet": "Naga Laut (Pencuri)", "fall2017HabitoweenSet": "Prajurit Habitoween (Warrior)", - "fall2017MasqueradeSet": "Masquerade (Mage)", + "fall2017MasqueradeSet": "Masquerade (Penyihir)", "fall2017HauntedHouseSet": "Rumah Hantu (Healer)", - "fall2017TrickOrTreatSet": "Trick or Treat (Rogue)", + "fall2017TrickOrTreatSet": "Tipuan atau Suguhan (Perampok)", "winter2018ConfettiSet": "Konfetti (Mage)", "winter2018GiftWrappedSet": "Bungkusan Hadiah (Warrior)", - "winter2018MistletoeSet": "Mistletoe (Healer)", + "winter2018MistletoeSet": "Mistletoe (Penyembuh)", "winter2018ReindeerSet": "Rusa Kutub (Rogue)", "spring2018SunriseWarriorSet": "Ksatria Fajar (Warrior)", "spring2018TulipMageSet": "Bunga Tulip (Mage)", "spring2018GarnetHealerSet": "Batu Garnet (Healer)", "spring2018DucklingRogueSet": "Bebek (Rogue)", "summer2018BettaFishWarriorSet": "Ikan Cupang (Warrior)", - "summer2018LionfishMageSet": "Lionfish (Mage)", - "summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)", - "summer2018FisherRogueSet": "Fisher-Rogue (Rogue)", - "fall2018MinotaurWarriorSet": "Minotaur (Warrior)", - "fall2018CandymancerMageSet": "Candymancer (Mage)", - "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)", - "fall2018AlterEgoSet": "Alter Ego (Rogue)", - "winter2019BlizzardSet": "Blizzard (Warrior)", - "winter2019PyrotechnicSet": "Pyrotechnic (Mage)", - "winter2019WinterStarSet": "Winter Star (Healer)", - "winter2019PoinsettiaSet": "Poinsettia (Rogue)", + "summer2018LionfishMageSet": "Ikan Singa (Penyihir)", + "summer2018MerfolkMonarchSet": "Raja Kaum Merfolk (Penyembuh)", + "summer2018FisherRogueSet": "Nelayan-Rompak (Perampok)", + "fall2018MinotaurWarriorSet": "Minotaur (Prajurit)", + "fall2018CandymancerMageSet": "Pengendali Permen (Penyihir)", + "fall2018CarnivorousPlantSet": "Tanaman Karnivora (Penyembuh)", + "fall2018AlterEgoSet": "Kepribadian Lain (Perampok)", + "winter2019BlizzardSet": "Badai Salju (Prajurit)", + "winter2019PyrotechnicSet": "Piroteknik (Penyihir)", + "winter2019WinterStarSet": "Bintang Musim Dingin (Penyembuh)", + "winter2019PoinsettiaSet": "Poinsettia (Perampok)", "eventAvailability": "Tersedia untuk dibeli hingga <%= date(locale) %>.", - "dateEndMarch": "April 30", - "dateEndApril": "19 April", + "dateEndMarch": "31 April", + "dateEndApril": "30 April", "dateEndMay": "May 31", - "dateEndJune": "14 Juni", + "dateEndJune": "30 Juni", "dateEndJuly": "July 31", "dateEndAugust": "31 Agustus", - "dateEndSeptember": "September 21", + "dateEndSeptember": "30 September", "dateEndOctober": "31 Oktober", "dateEndNovember": "December 3", "dateEndJanuary": "31 Januari", "dateEndFebruary": "28 Februari", - "winterPromoGiftHeader": "HADIAHKAN LANGGANAN DAN DAPATKAN GRATIS SATU!", + "winterPromoGiftHeader": "HADIAHKAN LANGGANAN, DAPATKAN GRATIS SATU!", "winterPromoGiftDetails1": "Until January 15th only, when you gift somebody a subscription, you get the same subscription for yourself for free!", "winterPromoGiftDetails2": "Ingat saja kalau kamu atau penerima hadiah itu sudah mempunyai paket langganan yang berulang, hadiah langganan itu baru akan mulai setelah yang sekarang telah dibatalkan atau telah habis. Terima kasih untuk semua dukungan kalian! <3", "discountBundle": "bundel", - "g1g1Announcement": "Gift a subscription and get a subscription free event going on now!", - "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!", - "summer2020OarfishMageSet": "Oarfish (Mage)", + "g1g1Announcement": "Hadiahi langganan dan dapatkan langganan gratis event sedang berlangsung sekarang!", + "g1g1Details": "Hadiahkan langganan ke teman, dan kamu akan menerima langganan yang sama secara gratis!", + "summer2020OarfishMageSet": "Ikan Oarfish (Penyihir)", "summer2020RainbowTroutWarriorSet": "Ikan Rainbow Trout (Warrior)", - "spring2020LapisLazuliRogueSet": "Lapis Lazuli (Rogue)", + "spring2020LapisLazuliRogueSet": "Lapis Lazuli (Perampok)", "spring2020IrisHealerSet": "Bunga Iris (Healer)", "spring2020PuddleMageSet": "Genangan Air (Mage)", "spring2020BeetleWarriorSet": "Kumbang Badak (Warrior)", "winter2020LanternSet": "Lentera (Rogue)", "winter2020WinterSpiceSet": "Rempah Musim Dingin (Healer)", - "winter2020CarolOfTheMageSet": "Carol of the Mage (Mage)", + "winter2020CarolOfTheMageSet": "Carol si Penyihir (Penyihir)", "winter2020EvergreenSet": "Hijau Abadi (Warrior)", "fall2019RavenSet": "Gagak (Warrior)", - "fall2019LichSet": "Lich (Healer)", - "fall2019CyclopsSet": "Cyclops (Mage)", + "fall2019LichSet": "Lich (Penyembuh)", + "fall2019CyclopsSet": "Cyclops (Penyihir)", "fall2019OperaticSpecterSet": "Arwah Opera (Rogue)", "summer2019HammerheadRogueSet": "Hiu Martil (Rogue)", "summer2019ConchHealerSet": "Keong (Healer)", "summer2019WaterLilyMageSet": "Bunga Teratai (Mage)", "summer2019SeaTurtleWarriorSet": "Kura-kura (Warrior)", "spring2019CloudRogueSet": "Awan (Rogue)", - "spring2019RobinHealerSet": "Robin (Healer)", + "spring2019RobinHealerSet": "Burung Robin (Penyembuh)", "spring2019AmberMageSet": "Batu Ambar (Mage)", "spring2019OrchidWarriorSet": "Bunga Anggrek (Warrior)", - "royalPurpleJackolantern": "Jack-O-Lantern Royal Ungu" + "royalPurpleJackolantern": "Jack-O-Lantern Royal Ungu", + "summer2020SeaGlassHealerSet": "Lautan Kaca (Penyembuh)", + "fall2020DeathsHeadMothHealerSet": "Ngengat Kepala Kematian (Penyembuh)", + "spring2021SunstoneWarriorSet": "Batu Matahari (Prajurit)", + "summer2021NautilusMageSet": "Nautilus (Penyihir)", + "summer2020CrocodileRogueSet": "Buaya (Perampok)", + "winter2021WinterMoonMageSet": "Bulan Musim Dingin (Penyihir)", + "winter2021ArcticExplorerHealerSet": "Penjelajah Arktik (Penyembuh)", + "spring2022MagpieRogueSet": "Murai (Perampok)", + "spring2022RainstormWarriorSet": "Hujan Badai (Prajurit)", + "spring2022ForsythiaMageSet": "Forsythia (Penyihir)", + "spring2022PeridotHealerSet": "Peridot (Penyembuh)", + "fall2021OozeRogueSet": "Cairan (Perampok)", + "winter2022FireworksRogueSet": "Kembang Api (Perampok)", + "winter2022StockingWarriorSet": "Kaos Kaki (Prajurit)", + "winter2022PomegranateMageSet": "Delima (Penyihir)", + "winter2022IceCrystalHealerSet": "Kristal Es (Penyembuh)", + "summer2021ClownfishRogueSet": "Ikan Badut (Perampok)", + "fall2020WraithWarriorSet": "Hantu (Prajurit)", + "fall2020ThirdEyeMageSet": "Mata Ketiga (Penyihir)", + "fall2020TwoHeadedRogueSet": "Berkepala Dua (Perampok)", + "winter2021HollyIvyRogueSet": "Holly dan Ivy (Perampok)", + "spring2021SwanMageSet": "Angsa (Penyihir)", + "spring2021WillowHealerSet": "Dedalu (Penyembuh)", + "spring2021TwinFlowerRogueSet": "Bunga Kembar (Perampok)", + "summer2021FlyingFishWarriorSet": "Ikan Terbang (Prajurit)", + "summer2021ParrotHealerSet": "Burung Beo (Penyembuh)", + "fall2021BrainEaterMageSet": "Pemakan Otak (Penyihir)", + "fall2021FlameSummonerHealerSet": "Pemanggil Api (Penyembuh)", + "summer2022CrabRogueSet": "Kepiting (Perampok)", + "summer2022WaterspoutWarriorSet": "Cerat Air (Prajurit)", + "summer2022MantaRayMageSet": "Pari Manta (Penyihir)", + "fall2022KappaRogueSet": "Kappa (Perampok)", + "fall2022OrcWarriorSet": "Orc (Prajurit)", + "fall2022HarpyMageSet": "Harpy (Penyihir)", + "fall2022WatcherHealerSet": "Pengintip (Penyembuh)", + "winter2023WalrusWarriorSet": "Walrus (Prajurit)", + "winter2023FairyLightsMageSet": "Lampu Peri (Penyihir)", + "winter2023CardinalHealerSet": "Burung Kardinal (Penyembuh)", + "winter2021IceFishingWarriorSet": "Nelayan Es (Prajurit)", + "fall2021HeadlessWarriorSet": "Takberkepala (Prajurit)", + "summer2022AngelfishHealerSet": "Ikan Angelfish (Penyembuh)", + "decemberYYYY": "Desember <%= year %>", + "dateStartFebruary": "8 Februari", + "g1g1Returning": "Untuk menghormati musim ini, kami membawa kembali promosi yang sangat istimewa. Sekarang ketika kamu memberikan langganan, kamu juga akan menerima hal yang sama!", + "gemSaleLimitations": "Promo ini hanya berlaku selama event berbatas waktu. Event ini dimulai pada <%= eventStartOrdinal %> <%= eventStartMonth %> pukul 8:00 AM EDT (12:00 UTC) dan berakhir pada <%= eventEndOrdinal %> <%= eventStartMonth %> pukul 8:00 PM EDT (00:00 UTC). Penawaran promo ini hanya berlaku untuk pembelian Permata untuk diri sendiri.", + "jubilantGryphatricePromo": "Peliharaan Gryphatrice Gembira Teranimasi", + "g1g1Event": "Kirim Satu, Dapat Satu sedang berlangsung sekarang!", + "dateEndDecember": "31 Desember", + "marchYYYY": "Maret <%= year %>", + "mayYYYY": "Mei <%= year %>", + "juneYYYY": "Juni <%= year %>", + "g1g1HowItWorks": "Ketik nama pengguna akun yang ingin kamu kirimi hadiah. Dari sana, pilih panjang berlangganan yang ingin kamu hadiahkan lalu cek out. Akunmu akan secara otomatis mendapatkan langganan yang sama dengan yang baru saja kamu berikan.", + "limitations": "Batasan", + "aprilYYYY": "April <%= year %>", + "februaryYYYY": "Februari <%= year %>", + "winter2023RibbonRogueSet": "Pita (Perampok)", + "limitedEvent": "Event Terbatas", + "spring2023CaterpillarRogueSet": "Ulat (Perampok)", + "spring2023HummingbirdWarriorSet": "Burung Kolibri (Prajurit)", + "spring2023MoonstoneMageSet": "Batu Rembulan (Penyihir)", + "spring2023LilyHealerSet": "Teratai (Penyembuh)", + "eventAvailabilityReturning": "Bisa dibeli sampai <%= availableDate(locale) %>. Ramuan ini terakhir kali tersedia pada <%= previousDate(locale) %>.", + "januaryYYYY": "Januari <%= year %>", + "julyYYYY": "Juli <%= year %>", + "augustYYYY": "Agustus <%= year %>", + "septemberYYYY": "September <%= year %>", + "octoberYYYY": "Oktober <%= year %>", + "novemberYYYY": "November <%= year %>", + "g1g1": "Kirim Satu, Dapat Satu", + "howItWorks": "Cara Kerjanya", + "g1g1Limitations": "Ini adalah event terbatas yang dimulai pada 15 Desember jam 8:00 ET (13:00 UTC) dan akan berakhir 8 Januari pukul 23:59 ET (9 Januari 04:59 UTC). Promosi ini hanya berlaku ketika kamu memberikan hadiah kepada Habitican lain. Jika kamu atau penerima hadiah sudah memiliki langganan, maka langganan hadiah akan menambah kredit bulan yang digunakan setelah langganan saat ini dibatalkan atau kedaluwarsa.", + "noLongerAvailable": "Item ini tidak lagi tersedia.", + "anniversaryLimitedDates": "30 Januari sampai 8 Februari", + "celebrateAnniversary": "Rayakan Ulang Tahun ke-10 Habitica dengan hadiah dan item eksklusif di bawah ini!", + "celebrateBirthday": "Rayakan Ulang Tahun ke-10 Habitica dengan hadiah dan item eksklusif!", + "gemSaleHow": "Antara <%= eventStartMonth %> <%= eventStartOrdinal %> sampai <%= eventEndOrdinal %>, cukup beli paket Permata seperti biasa dan akunmu akan diberikan jumlah Permata sesuai dengan jumlah promosi. Lebih banyak Permata untuk dibelanjakan, dibagikan, atau disimpan untuk rilis mendatang!", + "anniversaryLimitations": "Ini adalah event terbatas waktu yang dimulai pada 30 Januari pukul 8:00 ET (13:00 UTC) dan akan berakhir 8 Februari pukul 23:59 ET (04:59 UTC). Gryphatrice Gembira Edisi Terbatas dan sepuluh Ramuan Penetas Ajaib akan tersedia untuk dibeli selama periode ini. Hadiah lain yang tercantum di bagian Empat Gratis akan dikirimkan secara otomatis ke semua akun yang aktif dalam 30 hari sebelum hari pengiriman hadiah. Akun yang dibuat setelah hadiah dikirimkan tidak akan dapat mengklaimnya.", + "visitTheMarketButton": "Kunjungi Pasar", + "fourForFree": "Empat Gratis", + "fourForFreeText": "Agar pesta tetap berjalan, kami akan membagikan Jubah Pesta, 20 Permata, dan Latar Belakang ulang tahun edisi terbatas dan set item yang mencakup Jubah, Pelindung Bahu, dan Masker Mata.", + "dayOne": "Hari 1", + "dayFive": "Hari 5", + "dayTen": "Hari 10", + "buyNowMoneyButton": "Beli sekarang seharga $9,99", + "ownJubilantGryphatrice": "Kamu memiliki Gryphatrice Gembira! Kunjungi Kandang untuk memasangnya!", + "jubilantSuccess": "Kamu berhasil membeli Gryphatrice Gembira!", + "stableVisit": "Kunjungi Kandang untuk memasangnya!", + "plentyOfPotions": "Banyak Ramuan", + "limitedEdition": "Edisi Terbatas", + "anniversaryGryphatricePrice": "Miliki hari ini dengan $9,99 atau 60 permata", + "buyNowGemsButton": "Beli Sekarang seharga 60 Permata", + "wantToPayWithGemsText": "Ingin membayar dengan Permata?", + "wantToPayWithMoneyText": "Ingin membayar dengan Stripe, PayPal, atau Amazon?", + "takeMeToStable": "Bawa aku ke Kandang", + "partyRobes": "Jubah Pesta", + "twentyGems": "20 Permata", + "birthdaySet": "Set Ulang Tahun", + "anniversaryGryphatriceText": "Gryphatrice Gembira yang langka bergabung dalam perayaan ulang tahun! Jangan lewatkan kesempatamu untuk memiliki Peliharaan animasi eksklusif ini.", + "plentyOfPotionsText": "Kami membawa kembali 10 Ramuan Penetas Ajaib favorit komunitas. Pergilah ke Pasar untuk mengisi koleksimu!", + "summer2023GoldfishWarriorSet": "Ikan Mas (Prajurit)", + "summer2023GuppyRogueSet": "Ikan Gupi (Perampok)", + "summer2023KelpHealerSet": "Rumput Laut (Penyembuh)", + "summer2023CoralMageSet": "Koral (Penyihir)" } diff --git a/website/common/locales/id/messages.json b/website/common/locales/id/messages.json index bbcd249d39..5aab990ab3 100644 --- a/website/common/locales/id/messages.json +++ b/website/common/locales/id/messages.json @@ -40,15 +40,24 @@ "messageGroupChatFlagAlreadyReported": "Kamu telah melaporkan pesan ini", "messageGroupChatNotFound": "Pesan tidak ditemukan!", "messageGroupChatAdminClearFlagCount": "Hanya admin yang bisa menghapus jumlah tanda!", - "messageCannotFlagSystemMessages": "Kamu tidak dapat melaporkan sebuah pesan sistem. Jika kamu perlu melaporkan pelanggaran dari Pedoman Komunitas terkait dengan pesan ini, harap email screenshot itu beserta penjelasan kepada Lemoness di <%= communityManagerEmail %>.", + "messageCannotFlagSystemMessages": "Kamu tidak dapat melaporkan pesan dari sistem. Jika kamu perlu melaporkan pelanggaran dari Pedoman Komunitas terkait dengan pesan ini, harap email screenshot itu beserta penjelasan kepada Manajer Komunitas kami di <%= communityManagerEmail %>.", "messageGroupChatSpam": "Ups, sepertinya kamu mengirim terlalu banyak pesan! Cobalah tunggu beberapa menit dan coba lagi. Ruang obrolan Kedai Minuman hanya dapat menampung 200 pesan sekaligus, jadi Habitica menyarankan agar kamu mengirim pesan yang lebih panjang dan terpikir matang serta balasan yang membantu. Kami tak sabar menunggu apa yang ingin kamu katakan. :)", - "messageCannotLeaveWhileQuesting": "You cannot accept this party invitation while you are in a quest. If you'd like to join this party, you must first abort your quest, which you can do from your party screen. You will be given back the quest scroll.", + "messageCannotLeaveWhileQuesting": "Kamu tidak bisa menerima undangan party ini ketika sedang menjalankan misi. Jika kamu ingin bergabung dengan party ini, kamu harus membatalkan misimu, bisa dilakukan dari layar menu party. Gulungan misimu akan dikembalikan.", "messageUserOperationProtected": "jalur `<%= operation %>` tidak disimpan, karena terproteksi.", "messageNotificationNotFound": "Notifikasi tidak ditemukan.", - "messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.", + "messageNotAbleToBuyInBulk": "Item ini tidak dapat dibeli dalam jumlah lebih dari 1.", "notificationsRequired": "Id notifikasi diperlukan.", "unallocatedStatsPoints": "Kamu punya <%= points %>Poin Atribut yang belum teralokasi", - "beginningOfConversation": "Ini permulaan percakapanmu dengan <%= userName %>. Ingatlah untuk menunjukkan rasa hormat, sikap baik hati, dan ikuti Pedoman Komunitas!", - "messageDeletedUser": "Sorry, this user has deleted their account.", - "messageMissingDisplayName": "Missing display name." + "beginningOfConversation": "Ini permulaan percakapanmu dengan <%= userName %>.", + "messageDeletedUser": "Maaf ya, pengguna ini sudah menghapus akunnya.", + "messageMissingDisplayName": "Nama tampilan tidak ada.", + "canDeleteNow": "Sekarang kamu dapat menghapus pesan.", + "messageBattleGearUnEquipped": "Perlengkapan Perang dilepaskan.", + "messageCostumeUnEquipped": "Kostum dilepaskan.", + "messagePetMountUnEquipped": "Peliharaan dan Tunggangan dilepaskan.", + "messageBackgroundUnEquipped": "Latar Belakang dilepaskan.", + "messageAllUnEquipped": "Semuanya dilepaskan.", + "beginningOfConversationReminder": "Ingatlah untuk sopan, menghargai, dan mengikuti Pedoman Komunitas!", + "reportedMessage": "Kamu telah melaporkan pesan ini ke moderator.", + "newsPostNotFound": "Tulisan Berita tidak ditemukan atau kamu tidak punya akses." } diff --git a/website/common/locales/id/npc.json b/website/common/locales/id/npc.json index ea12c27153..7d38f30da0 100644 --- a/website/common/locales/id/npc.json +++ b/website/common/locales/id/npc.json @@ -7,8 +7,8 @@ "justin": "Justin", "justinIntroMessage1": "Halo! Kamu pasti baru di sini. Nama saya Justin, dan aku akan menjadi pemandumu di Habitica.", "justinIntroMessage3": "Bagus! Sekarang, apa yang kamu mau perbaiki selama perjalanan ini?", - "justinIntroMessageUsername": "Before we begin, let’s figure out what to call you. Below you’ll find a display name and username I’ve generated for you. After you’ve picked a display name and username, we’ll get started by creating an avatar!", - "justinIntroMessageAppearance": "So how would you like to look? Don’t worry, you can change this later.", + "justinIntroMessageUsername": "Sebelum kita mulai, mari kita tentukan kamu mau dipanggil apa. Di bawah ini kamu akan menemukan nama tampilan dan nama pengguna yang Aku buat untukmu. Setelah kamu memilih nama tampilan dan nama pengguna, kita akan mulai membuat avatar!", + "justinIntroMessageAppearance": "Jadi kamu ingin terlihat seperti apa? Jangan khawatir, kamu dapat mengubahnya nanti.", "introTour": "Ini dia! Aku telah mengisi beberapa Tugas untukmu berdasarkan minatmu, jadi kamu dapat memulai langsung. Klik sebuah Tugas untuk mengedit atau tambahkan Tugas baru untuk menyesuaikan jadwalmu!", "prev": "Sebelum", "next": "Setelah", @@ -17,7 +17,7 @@ "mattBochText1": "Selamat datang di Kandang! Aku adalah Matt, sang Penakluk Hewan. Setelah mencapai level 3, kamu bisa menemukan telur peliharaan dan ramuan penetas. Setelah menetaskannya di Pasar, peliharaanmu akan muncul disini! Klik gambar peliharaan untuk memasangnya pada avatarmu. Beri mereka makan dengan makanan yang kamu temukan setelah level 3, dan mereka akan tumbuh cukup besar untuk bisa ditunggangi.", "welcomeToTavern": "Selamat datang di Kedai Minuman!", "sleepDescription": "Perlu istirahat? Masuk ke dalam Penginapan Daniel untuk sementara menghentikan beberapa mekanika permainan Habitica yang agak sulit:", - "sleepBullet1": "Keseharian yang terlewat tidak akan menyakitimu", + "sleepBullet1": "Keseharian yang terlewat tidak akan menyakitimu (monster bos masih akan mengakibatkan kerusakan yang disebabkan Keseharian yang terlewat oleh anggota Party yang lain)", "sleepBullet2": "Tugas tidak akan kehilangan runtunan atau memudar warnanya", "sleepBullet3": "Musuh tidak akan menyakitimu untuk Keseharian yang terlewati", "sleepBullet4": "Damage musuhmu atau item untuk Misi mengumpulkan akan tetap tertunda sampai kamu keluar", @@ -30,7 +30,7 @@ "worldBossDescription": "Deskripsi World Boss", "welcomeMarketMobile": "Selamat datang di Pasar! Beli telur dan ramuan yang susah ditemukan! Datang dan lihat apa yang kami tawarkan.", "howManyToSell": "Berapa banyak yang mau kamu jual?", - "yourBalance": "Saldomu", + "yourBalance": "Saldomu:", "sell": "Jual", "buyNow": "Beli Sekarang", "sortByNumber": "Angka", @@ -53,7 +53,7 @@ "cost": "Harga", "shops": "Toko", "custom": "Kustom", - "wishlist": "Wishlist", + "wishlist": "Daftar keinginan", "wrongItemType": "Tipe item \"<%= type %>\" tidak valid.", "wrongItemPath": "Jalur item \"<%= path %>\" tidak valid.", "unpinnedItem": "Kamu melepas sematan untuk <%= item %>! Ia tidak akan muncul lagi di kolom Hadiahmu.", @@ -81,14 +81,14 @@ "newBaileyUpdate": "Update Bailey Baru!", "tellMeLater": "Beritahu Saya Nanti", "dismissAlert": "Singkirkan Pemberitahuan Ini", - "donateText3": "Habitica adalah proyek open source yang bergantung kepada dukungan pengguna. Uang yang kamu gunakan untuk membayar permata adalah yang menjaga server tetap berjalan, membayar beberapa staf, pengembangan fitur baru, dan menyediakan dorongan untuk para pengembang program yang ikut serta. Terima kasih atas dukungannya!", + "donateText3": "Habitica adalah proyek open source yang bergantung kepada dukungan pengguna. Uang yang kamu gunakan untuk membayar permata adalah yang menjaga server tetap berjalan, membayar beberapa staf, pengembangan fitur baru, dan menyediakan insentif untuk para sukarelawan", "card": "Kartu Kredit (menggunakan Stripe)", "paymentMethods": "Bayar menggunakan", "paymentSuccessful": "Pembayaranmu berhasil!", "paymentYouReceived": "Kamu menerima:", "paymentYouSentGems": "Kamu mengirimkan <%- name %>:", "paymentYouSentSubscription": "Kamu mengirimkan <%- name %> langganan Habitica selama <%= months %> bulan.", - "paymentSubBilling": "Your subscription will be billed $<%= amount %> every <%= months %> months.", + "paymentSubBilling": "Berlanggananmu akan ditagih$<%= amount %> tiap <%= months %> bulan.", "success": "Berhasil!", "classGear": "Perlengkapan Pekerjaan", "classGearText": "Selamat atas pilihan pekerjaanmu! Saya telah menambahkan senjata dasarmu ke dalam inventorimu. Coba lihat di bawah untuk menggunakannya!", @@ -98,13 +98,13 @@ "toDo": "To-Do", "tourStatsPage": "Ini adalah halaman Status! Dapatkan Prestasi dengan menyelesaikan daftar tugas.", "tourTavernPage": "Selamat datang di Kedai Minuman, ruang obrolan untuk segala usia! Kamu dapat mencegah Keseharianmu dari menyakitimu jika kamu sedang sakit atau bepergian dengan menekan \"Hentikan Damage\". Datang dan bilang hai!", - "tourPartyPage": "Party-mu akan membantumu berkomitmen. Undang teman untuk mendapatkan Gulungan Misi!", + "tourPartyPage": "Selamat datang di Party barumu! Kamu bisa mengundang pemain lain ke Party-mu dengan nama pengguna, email, atau dari daftar pemain yang mencari Party untuk mendapatkan Gulungan Misi Basi-List eksklusif.

Pilih FAQ dari menu dropdown Bantuan untuk mempelajari selengkapnya tentang cara kerja Party.", "tourGuildsPage": "Guild adalah grup obrolan untuk menghimpun minat yang sama, dibuat oleh pemain, untuk pemain. Telusuri daftar Guild dan bergabunglah dengan salah satu yang menarik untukmu. Pastikan untuk mengecek guild Bantuan Habitica: Tanyakan sebuah Pertanyaan, di mana semua orang bisa bertanya tentang Habitica!", "tourChallengesPage": "Tantangan adalah daftar tugas bertema yang dibuat oleh pengguna lain! Bergabung dalam tantangan akan memberi tugas kepada akunmu. Berlombalah dengan yang lain untuk dapat hadiah permata!", "tourMarketPage": "Mulai dari Level 3, kamu akan dapat telur dan ramuan penetas secara acak setiap kali kamu menyelesaikan tugas. Mereka akan muncul disini - gunakan untuk menetaskan telur! Kamu juga bisa beli barang-barang di Pasar.", "tourHallPage": "Selamat datang di Aula para Pahlawan, untuk menghormati para kontributor open-source Habitica. Baik melalui kode, karya seni, musik, tulisan, atau bahkan hanya sekadar bantuan, mereka telah mendapatkan Permata, perlengkapan eksklusif dan titel kebanggaan. Kamu bisa berkontribusi pada Habitica juga!", "tourPetsPage": "Ini adalah Kandang! Setiap kali kamu menyelesaikan sebuah tugas, kamu memiliki kesempatan untuk mendapatkan Telur atau Ramuan Penetasan secara acak. Peliharaan yang kamu tetaskan akan muncul disini! Klik gambar Peliharaan untuk menambahkannya pada Avatarmu. Beri mereka makan dan mereka dapat tumbuh menjadi Tunggangan.", - "tourMountsPage": "Setelah kamu memberi makan yang cukup untuk mengubahnya menjadi tunggangan, tunggangan akan muncul disini. Klik pada tunggangan untuk menungganginya!", + "tourMountsPage": "Setelah kamu memberi makan yang cukup untuk mengubahnya menjadi tunggangan, dia akan muncul disini. Klik pada tunggangan untuk menungganginya!", "tourEquipmentPage": "Ini adalah di mana Perlengkapanmu disimpan! Perlengkapan Perangmu akan memengaruhi Atribut-mu. Jika kamu ingin avatar-mu menampilkan Perlengkapan tertentu tanpa mengubah Atribut-mu, klik \"Gunakan Kostum.\"", "equipmentAlreadyOwned": "Kamu telah memiliki perlengkapan tersebut", "tourOkay": "Oke!", @@ -118,5 +118,21 @@ "welcome3": "Berkembanglah dalam hidup dan dalam game!", "welcome3notes": "Seiring kamu memperbaiki hidupmu, avatarmu akan naik level dan membuka akses untuk peliharaan, misi, perlengkapan, dan banyak lagi!", "imReady": "Masuki Habitica", - "limitedOffer": "Tersedia hingga <%= date %>" + "limitedOffer": "Tersedia hingga <%= date %>", + "nGemsGift": "<%= nGems %> Permata (Hadiah)", + "invalidUnlockSet": "Set item ini tidak valid dan tidak dapat dibuka.", + "amountExp": "<%= amount %> Pengalaman", + "cannotUnpinItem": "Item ini tidak dapat dilepas-sematkan.", + "limitedAvailabilityMinutes": "Tersedia sampai <%= minutes %> menit <%= seconds %> detik", + "nGems": "<%= nGems %> Permata", + "nMonthsSubscriptionGift": "<%= nMonths %> Bulan Berlangganan (Hadiah)", + "paymentSubBillingWithMethod": "Langganan-mu akan ditagih $<%= amount %> setiap <%= months %> bulan melalui <%= paymentMethod %>.", + "groupsPaymentAutoRenew": "Langganan ini akan diperpanjang secara otomatis hingga dibatalkan. Jika perlu membatalkan, kamu dapat melakukannya dari tab Penagihan Grup.", + "limitedAvailabilityDays": "Tersedia sampai <%= days %> hari <%= hours %> jam <%= minutes %> menit", + "helpSupportHabitica": "Bantu Dukung Habitica", + "groupsPaymentSubBilling": "Tanggal penagihan berikutnya adalah <%= renewalDate %>.", + "paymentCanceledDisputes": "Kami telah mengirimkan konfirmasi pembatalan ke email-mu. Jika kamu tidak melihat email tersebut, hubungi kami untuk mencegah sengketa penagihan di masa mendatang.", + "sellItems": "Jual Item", + "limitedAvailabilityHours": "Tersedia sampai <%= hours %> jam <%= minutes %> menit", + "paymentAutoRenew": "Langganan ini akan diperpanjang secara otomatis hingga dibatalkan. Jika kamu perlu membatalkan langganan ini, kamu dapat melakukannya dari pengaturan." } diff --git a/website/common/locales/id/pets.json b/website/common/locales/id/pets.json index 464ec3bb11..66e7dd3213 100644 --- a/website/common/locales/id/pets.json +++ b/website/common/locales/id/pets.json @@ -17,7 +17,7 @@ "veteranTiger": "Harimau Veteran", "veteranLion": "Singa Veteran", "veteranBear": "Beruang Veteran", - "veteranFox": "Veteran Fox", + "veteranFox": "Rubah Veteran", "cerberusPup": "Anak Anjing Cerberus", "hydra": "Hydra", "mantisShrimp": "Udang Mantis", @@ -37,7 +37,7 @@ "hatchingPotions": "Ramuan Penetas", "magicHatchingPotions": "Ramuan Penetas Ajaib", "hatchingPotion": "ramuan penetas", - "haveHatchablePet": "Kamu mempunyai ramuan penetas <%= potion %> dan telur <%= egg %> untuk menetaskan peliharaan ini! Klik jejak kaki hewan untuk menetaskannya.", + "haveHatchablePet": "Kamu mempunyai ramuan penetas <%= potion %> dan telur <%= egg %> untuk menetaskan peliharaan ini! Klik jejak kaki hewan untuk menetaskannya!", "quickInventory": "Inventori Cepat", "foodText": "makanan", "food": "Makanan dan Pelana", @@ -49,7 +49,7 @@ "premiumPotionNoDropExplanation": "Ramuan Penetas Ajaib tidak dapat digunakan untuk telur yang didapatkan dari Misi. Satu-satunya cara mendapatkan Ramuan Penetas Ajaib adalah dengan membelinya, bukan dari drop.", "beastMasterProgress": "Perkembangan Beast Master", "beastAchievement": "Kamu mendapatkan lencana \"Beast Master\" karena sudah mengumpulkan semua jenis peliharaan!", - "beastMasterName": "Beast Master", + "beastMasterName": "Penjinak Binatang", "beastMasterText": "Telah menemukan semua 90 peliharaan (ini susah banget, ayo ucapkan selamat kepadanya!)", "beastMasterText2": " dan telah melepaskan hewan peliharaannya sebanyak <%= count %> kali", "mountMasterProgress": "Perkembangan Mount Master", @@ -57,7 +57,7 @@ "mountMasterName": "Mount Master", "mountMasterText": "Telah menjinakkan semua 90 tunggangan (lebih sulit lagi, ucapkan selamat kepadanya!)", "mountMasterText2": " dan telah melepaskan semua 90 tunggangannya sebanyak <%= count %> kali", - "triadBingoName": "Triad Bingo", + "triadBingoName": "Bingo Tiga Serangkai", "triadBingoText": "Telah menemukan 90 peliharaan, 90 tunggangan, dan menemukan LAGI 90 peliharaan (GIMANA CARANYA)", "triadBingoText2": " dan telah melepaskan seisi kandang sebanyak <%= count %> kali", "triadBingoAchievement": "Kamu telah mendapatkan medali \"Triad Bingo\" karena sudah menemukan semua peliharaan, menjinakkan mereka semua, dan menemukan lagi semua peliharaan yang lain!", @@ -65,7 +65,7 @@ "firstDrop": "Kamu telah membuka Sistem Jatuhan! Sekarang ketika kamu menyelesaikan tugas, kamu memiliki kesempatan kecil untuk menemukan item, termasuk telur, ramuan, dan makanan! Kamu baru saja menemukan sebuah <%= eggText %> Telur! <%= eggNotes %>", "hatchedPet": "Kamu menetaskan <%= egg %> <%= potion %>!", "hatchedPetGeneric": "Kamu menetaskan seekor peliharaan baru!", - "hatchedPetHowToUse": "Visit the [Stable](<%= stableUrl %>) to feed and equip your newest pet!", + "hatchedPetHowToUse": "Kunjungi [Kandang](<%= stableUrl %>) untuk memberi makan dan menggunakan peliharaan terbarumu!", "petNotOwned": "Kamu tidak memiliki peliharaan ini.", "mountNotOwned": "Kamu tidak memiliki tunggangan ini.", "feedPet": "Beri makan <%= text %> kepada <%= name %>-mu?", @@ -105,7 +105,14 @@ "clickOnEggToHatch": "Klik sebuah Telur untuk menggunakan ramuan penetas <%= potionName %>-mu dan tetaskan peliharaan baru!", "hatchDialogText": "Tuangkan ramuan penetas <%= potionName %>-mu diatas telur <%= eggName %>-mu, dan ia akan menetas menjadi seekor <%= petName %>.", "clickOnPotionToHatch": "Klik sebuah ramuan penetas untuk menggunakannya pada telur <%= eggName %>-mu dan tetaskan peliharaan baru!", - "notEnoughPets": "You have not collected enough pets", - "notEnoughMounts": "You have not collected enough mounts", - "notEnoughPetsMounts": "You have not collected enough pets and mounts" + "notEnoughPets": "Kamu belum mengumpulkan cukup peliharaan", + "notEnoughMounts": "Kamu belum mengumpulkan cukup tunggangan", + "notEnoughPetsMounts": "Kamu belum mengumpulkan cukup peliharaan dan tunggangan", + "gryphatrice": "Gryphatrice", + "wackyPets": "Peliharaan Aneh", + "filterByWacky": "Aneh", + "tooMuchFood": "Kamu mencoba memberikan terlalu banyak makanan untuk peliharaanmu, tindakan dibatalkan", + "jubilantGryphatrice": "Gryphatrice Gembira", + "invalidAmount": "Jumlah makanan tidak valid, harus berupa bilangan bulat positif", + "notEnoughFood": "Kamu tidak punya cukup makanan" } diff --git a/website/common/locales/id/quests.json b/website/common/locales/id/quests.json index 813c24c891..ee565d111a 100644 --- a/website/common/locales/id/quests.json +++ b/website/common/locales/id/quests.json @@ -71,5 +71,32 @@ "bossHealth": "<%= currentHealth %>/<%= maxHealth %> Nyawa", "rageAttack": "Serangan Kemarahan:", "bossRage": "<%= currentRage %>/<%= maxRage %> Kemarahan", - "rageStrikes": "Serangan Kemarahan" + "rageStrikes": "Serangan Kemarahan", + "chatQuestAborted": "<%= username %> membatalkan misi <%= questName %>.", + "questAlreadyStarted": "Misi sudah dimulai.", + "ownerOnly": "Pemilik Saja", + "membersParticipating": "<%= accepted %> / <%= invited %> Anggota berpartisipasi", + "noQuestToStartTitle": "Tidak dapat menemukan Misi untuk dimulai?", + "yourQuests": "Misimu", + "questOwner": "Pemilik Misi", + "cancelQuest": "Batalkan Misi", + "selectQuest": "Pilih Misi", + "chatBossDontAttack": "<%= username %> menyerang <%= bossName %> sebesar <%= userDamage %> damage. <%= bossName %> tidak menyerang, karena menghormati fakta bahwa ada beberapa bug pasca-pemeliharaan, dan tidak ingin menyakiti siapa pun secara tidak adil. Dia akan melanjutkan amukannya segera!", + "chatBossDefeated": "Kamu mengalahkan <%= bossName %>! Anggota party dalam misi menerima hadiah kemenangan.", + "chatItemQuestFinish": "Semua item ditemukan! Party telah menerima hadiahnya.", + "chatQuestCancelled": "<%= username %> membatalkan misi <%= questName %>.", + "tavernBossTired": "<%= bossName %> mencoba melepaskan <%= rageName %> tapi sedang terlalu lelah.", + "backToSelection": "Kembali ke pemilihan Misi", + "hatchingPotionQuests": "Misi Ramuan Penetas Ajaib", + "questInvitationNotificationInfo": "Kamu diundang bergabung dengan sebuah misi", + "questItemsPending": "<%= amount %> Item terkumpul", + "yourPartyIsNotOnQuest": "Party-mu tidak sedang dalam Misi", + "questAlreadyStartedFriendly": "Misi sudah dimulai, tetapi kamu selalu dapat mengikuti yang berikutnya!", + "chatFindItems": "<%= username %> menemukan <%= items %>.", + "selectQuestModal": "Pilih Misi", + "chatBossDamage": "<%= username %> menyerang <%= bossName %> sebesar <%= userDamage %> damage. <%= bossName %> menyerang party sebesar <%= bossDamage %> damage.", + "bossDamage": "Seranganmu mengenai bos!", + "chatQuestStarted": "Misimu, <%= questName %>, telah dimulai.", + "newItem": "Item Baru", + "sureLeaveInactive": "Apakah kamu yakin kamu mau meninggalkan Misi ini? Kamu tidak akan bisa berpartisipasi lagi." } diff --git a/website/common/locales/id/questscontent.json b/website/common/locales/id/questscontent.json index 6bf95ca999..4065c44e8e 100644 --- a/website/common/locales/id/questscontent.json +++ b/website/common/locales/id/questscontent.json @@ -1,11 +1,11 @@ { - "questEvilSantaText": "Trapper Santa", - "questEvilSantaNotes": "Kamu mendengar raungan penuh derita jauh di dataran es. Kamu mengikuti arah suara itu - yang diselingi oleh suara terkekeh - hingga sampai ke hutan di mana kamu melihat seekor beruang kutub dewasa. Ia terkurung dan terbelenggu, berusaha memberontak lepas. Di atas kandangnya, setan kecil dengan kostum Natal tua sedang menari-nari. Kalahkan Trapper Santa, dan selamatkan binatang itu!", + "questEvilSantaText": "Santa Penjebak", + "questEvilSantaNotes": "Kamu mendengar raungan penuh derita jauh di dataran es. Kamu mengikuti arah suara itu - yang diselingi oleh suara terkekeh - hingga sampai ke hutan di mana kamu melihat seekor beruang kutub dewasa. Ia terkurung dan terbelenggu, berusaha memberontak lepas. Di atas kandangnya, setan kecil dengan kostum Natal tua sedang menari-nari. Kalahkan Trapper Santa, dan selamatkan binatang itu!

Catatan: Pencapaian “Trapper Santa” dapat ditumpuk sebagai pencapaian berulang tetapi hanya memberikan tunggangan langka satu kali saja.", "questEvilSantaCompletion": "Trapper Santa menjerit marah, dan melarikan diri ke dalam kegelapan malam. Mama beruang begitu bersyukur, melalui auman dan geramannya ia coba memberitahumu sesuatu. Kamu membawanya kembali ke isal, di mana Matt Boch mendengarkan kisah dari sang beruang dan ia terkesiap. Dia memiliki anak! Anaknya kabur ke padang es ketika mama beruang tertangkap. Tolong temukan bayinya yang hilang.", - "questEvilSantaBoss": "Trapper Santa", + "questEvilSantaBoss": "Santa Penjebak", "questEvilSantaDropBearCubPolarMount": "Beruang Kutub (Tunggangan)", "questEvilSanta2Text": "Temukan Anak Beruang", - "questEvilSanta2Notes": "Sewaktu Trapper Santa menangkap sang beruang kutub, anaknya melarikan diri ke padang es. Kamu mendengar suara ranting patah dan salju yang terinjak di tengah jernihnya suara hutan itu. Jejak kaki! Kalian berdua langsung mengikuti jejak itu. Temukan semua jejak kaki dan ranting patah, lalu temukan sang anak beruang!", + "questEvilSanta2Notes": "Sewaktu Santa Penjebak menangkap sang beruang kutub, anaknya melarikan diri ke padang es. Kamu mendengar suara ranting patah dan salju yang terinjak di tengah jernihnya suara hutan itu. Jejak kaki! Kalian berdua langsung mengikuti jejak itu. Temukan semua jejak kaki dan ranting patah, lalu temukan sang anak beruang!

Catatan: Pencapaian \"Temukan Anak Beruang\" dapat ditumpuk sebagai pencapaian berulang tetapi hanya memberikan peliharaan langka satu kali saja.", "questEvilSanta2Completion": "Kamu telah menemukan anak beruang! Dia akan menemanimu selamanya.", "questEvilSanta2CollectTracks": "Trek", "questEvilSanta2CollectBranches": "Ranting Patah", @@ -17,14 +17,14 @@ "questGryphonDropGryphonEgg": "Gryphon (Telur)", "questGryphonUnlockText": "Dapatkan telur Gryphon yang dapat dibeli di Pasar", "questHedgehogText": "Sang Hedgebeast", - "questHedgehogNotes": "Hedgehogs are a funny group of animals. They are some of the most affectionate pets a Habiteer could own. But rumor has it, if you feed them milk after midnight, they grow quite irritable. And fifty times their size. And InspectorCaracal did just that. Oops.", + "questHedgehogNotes": "Landak adalah sekelompok hewan yang lucu. Mereka adalah beberapa hewan peliharaan paling penuh kasih sayang yang bisa dimiliki Habiteer. Tapi rumor mengatakan, jika kamu memberi mereka susu setelah tengah malam, mereka menjadi sangat mudah tersinggung. Dan tumbuh menjadi lima puluh kali ukurannya. Dan Inspektur Caracal melakukan hal itu. Ups.", "questHedgehogCompletion": "Kamu dan teman-temanmu sukses menenangkan si landak! Setelah mengecil, dia langsung menghampiri telur-telurnya. Dia menggelindingkan beberapa telur ke arahmu dan teman-temanmu. Yah, kita anggap saja anak dari landak ini tidak akan jadi jahat juga kalau nanti kita beri susu!", - "questHedgehogBoss": "Hedgebeast", + "questHedgehogBoss": "Monster Landak", "questHedgehogDropHedgehogEgg": "Landak (Telur)", "questHedgehogUnlockText": "Dapatkan telur Landak yang dapat dibeli di Pasar", "questGhostStagText": "Arwah Musim Semi", - "questGhostStagNotes": "Ahh, Spring. The time of year when color once again begins to fill the landscape. Gone are the cold, snowy mounds of winter. Where frost once stood, vibrant plant life takes its place. Luscious green leaves fill in the trees, grass returns to its former vivid hue, a rainbow of flowers rise along the plains, and a white mystical fog covers the land! ... Wait. Mystical fog? \"Oh no,\" InspectorCaracal says apprehensively, \"It would appear that some kind of spirit is the cause of this fog. Oh, and it is charging right at you.\"", - "questGhostStagCompletion": "Arwah, nampaknya tidak terluka, merendahkan hidungnya ke tanah. Suara yang menenangkan bergema di antara kamu dan teman-temanmu. \"Maafkan perbuatanku. Aku hanya baru bangun dari tidurku, dan belum sadar sepenuhnya. Tolong terima ini sebagai permintaan maafku.\" Beberapa telur terbentuk di atas rerumputan. Tanpa mengatakan apapun lagi, sang arwah pergi lenyap ke dalam hutan hutan diiringi bunga-bunga yang mulai bermekaran.", + "questGhostStagNotes": "Ahh, Musim Semi. Masa ketika pemandangan menjadi berwarna sekali lagi. Lewatlah sudah gundukan musim dingin yang dingin dan bersalju. Di mana embun beku pernah berdiri, kehidupan tanaman yang semarak menggantikannya. Daun-daun hijau yang indah memenuhi pepohonan, rumput kembali ke rona cerah sebelumnya, pelangi bunga naik di sepanjang dataran, dan kabut mistis putih menutupi tanah! ... Tunggu. Kabut mistis? \"Oh tidak,\" kata Inspektur Caracal khawatir, \"Tampaknya semacam roh adalah penyebabnya. Oh, dan dia sedang berlari ke arahmu.\"", + "questGhostStagCompletion": "Arwah, nampaknya tidak terluka, merendahkan hidungnya ke tanah. Suara yang menenangkan bergema di antara kamu dan teman-temanmu. \"Maafkan perbuatanku. Aku hanya baru bangun dari tidurku, dan belum sadar sepenuhnya. Tolong terima ini sebagai permintaan maafku.\" Beberapa telur terbentuk di atas rerumputan. Tanpa mengatakan apapun lagi, sang arwah pergi lenyap ke dalam hutan diiringi bunga-bunga yang mulai bermekaran.", "questGhostStagBoss": "Hantu Rusa", "questGhostStagDropDeerEgg": "Rusa (Telur)", "questGhostStagUnlockText": "Dapatkan telur Rusa yang dapat dibeli di Pasar", @@ -37,13 +37,13 @@ "questOctopusText": "Raungan Octothulu", "questOctopusNotes": "@Urse, sang penulis muda bermata tajam, memintamu menolongnya menjelajahi goa misterius di pinggir pantai. Di antara ombak dan cahaya keremangan berdirilah gerbang besar dari stalaktit dan stalakmit. Saat kamu mendekati gerbang itu, pusaran air yang gelap mulai muncul pada dasarnya. Kamu melotot dengan kagum saat seekor naga, yang bentuknya seperti cumi-cumi, bangkit. \"Dia telah bangkit,\" seru @Urse. \"Setelah milyaran juta tahun, Octothulu yang agung bangkit kembali, dan dia sangat buas!\"", "questOctopusCompletion": "Dengan serangan terakhir, monster itu jatuh kembali ke pusaran air tempat dia muncul. Kamu tidak tahu apakah @Urse senang dengan kemenanganmu atau sedih melihat monster itu pergi. Tanpa suara, temanmu menunjuk ke arah telur-telur besar dan berlendir di tepi pantai, tergeletak di dalam sarang yang terbuat dari koin emas. \"Barangkali cuma telur gurita,\" ujarmu gugup. Sewaktu kamu pulang, @Urse dengan terburu-buru mengisi jurnalnya dan kamu curiga ini bukanlah saat yang terakhir kamu mendengar berita tentang Octothulu.", - "questOctopusBoss": "Octothulu", + "questOctopusBoss": "Monster Octothulu", "questOctopusDropOctopusEgg": "Gurita (Telur)", "questOctopusUnlockText": "Dapatkan telur Gurita yang dapat dibeli di Pasar", "questHarpyText": "Tolong! Harpy!", "questHarpyNotes": "Penjelajah yang berani @UncommonCriminal menghilang di balik kegelapan hutan, menikuti monster bersayap yang terlihat beberapa hari yang lalu. Kamu baru mau memulai pencarian ketika burung kakaktua yang terluka jatuh meluncur ke arahmu, memperlihatkan luka yang merusak tubuh berbulunya yang indah. Ada catatan yang melekat di kakinya bertuliskan ketika melindungi sang kakak tua, @UncommonCriminal ditangkap Harpy yang jahat, dan butuh bantuanmu untuk keluar. Akankah kamu mengikuti petunjuk sang burung, mengalahkan Harpy, dan menolong @UncommonCriminal?", "questHarpyCompletion": "Serangan terakhirmu kepada Harpy menjatuhkan dia, bulu-bulu berjatuhan ke segala penjuru. Setelah kamu memanjat dengan cepat ke arah sarang, kamu menemukan @UncommonCriminal yang dikelilingi telur-telur burung kakak tua. Kalian pun bekerja sama meletakkan telur itu kembali ke sarang terdekat. Kakak tua terluka yang menemukanmu berkicau dengan kerasnya, menjatuhkan beberapa telur ke arahmu. \"Serangan Harpy membuat beberapa telur butuh perlindungan,\" Ujar @UncommonCriminal menjelaskan. \"Sepertinya kau membuat kakak tua ini percaya padamu.\"", - "questHarpyBoss": "Harpy", + "questHarpyBoss": "Monster Harpy", "questHarpyDropParrotEgg": "Burung Kakak Tua (Telur)", "questHarpyUnlockText": "Dapatkan telur Kakak Tua yang dapat dibeli di Pasar", "questRoosterText": "Kemarahan Ayam Jantan", @@ -60,18 +60,18 @@ "questSpiderUnlockText": "Dapatkan telur Laba-laba yang dapat dibeli di Pasar", "questGroupVice": "Vice sang Wyrm Bayangan", "questVice1Text": "Vice, Bagian 1: Bebaskan Dirimu dari Pengaruh Naga", - "questVice1Notes": "

Mereka bilang ada seekor monster jahat yang tinggal di dalam gua Gunung Habitica. Monster yang kehadirannya mengubah tekad bulat para pahlawan di negeri ini, menjadi tekad unutk melakukan kebiasaan buruk dan bermalas-malasan! Monster itu adalah naga raksasa yang memiliki kekuatan hebat dan terbuat dari sekumpulan bayang-bayang: Vice, sang Wyrm Bayangan yang menakutkan. Habiteer yang berani, bangkitlah dan musnahkan monster mengerikan ini untuk selamanya, hanya jika kamu percaya kamu bisa bertahan menghadapi kekuatannya yang besar.

Vice Bagian 1:

Bagaimana cara kamu mengalahkan monster itu jika ternyata dia sudah menguasai dirimu? Jangan jadi korban kemalasan dan sifat buruk! Bekerja keraslah demi menaklukkan pengaruh jahat sang naga dan lenyapkan pengaruh Vice dari dirimu!

", + "questVice1Notes": "Mereka bilang ada seekor monster jahat yang tinggal di dalam gua Gunung Habitica. Monster yang kehadirannya mengubah tekad bulat para pahlawan di negeri ini, menjadi tekad unutk melakukan kebiasaan buruk dan bermalas-malasan! Monster itu adalah naga raksasa yang memiliki kekuatan hebat dan terbuat dari sekumpulan bayang-bayang: Vice, sang Wyrm Bayangan yang menakutkan. Habiteer yang berani, bangkitlah dan musnahkan monster mengerikan ini untuk selamanya, hanya jika kamu percaya kamu bisa bertahan menghadapi kekuatannya yang besar.

Bagaimana cara kamu mengalahkan monster itu jika ternyata dia sudah menguasai dirimu? Jangan jadi korban kemalasan dan sifat buruk! Bekerja keraslah demi menaklukkan pengaruh jahat sang naga dan lenyapkan pengaruh Vice dari dirimu!", "questVice1Boss": "Bayangan Vice", - "questVice1Completion": "With Vice's influence over you dispelled, you feel a surge of strength you didn't know you had return to you. Congratulations! But a more frightening foe awaits...", + "questVice1Completion": "Dengan hilangnya pengaruh Vice kepadamu, kamu merasakan gelombang kekuatan yang tanpa kamu sadari telah kembali kepadamu. Selamat! Tapi musuh yang lebih menakutkan menunggu ...", "questVice1DropVice2Quest": "Vice Bagian 2 (Gulungan)", "questVice2Text": "Vice, Bagian 2: Temukan Sarang Wyrm", - "questVice2Notes": "Confident in yourselves and your ability to withstand the influence of Vice the Shadow Wyrm, your Party makes its way to Mt. Habitica. You approach the entrance to the mountain's caverns and pause. Swells of shadows, almost like fog, wisp out from the opening. It is near impossible to see anything in front of you. The light from your lanterns seem to end abruptly where the shadows begin. It is said that only magical light can pierce the dragon's infernal haze. If you can find enough light crystals, you could make your way to the dragon.", + "questVice2Notes": "Percaya diri dan kemampuanmu untuk menahan pengaruh Vice sang Wyrm Kegelapan, Party-mu menuju ke Mt. Habitica. Kamu mendekati pintu masuk ke gua-gua gunung dan berhenti. Gelombang bayangan, hampir seperti kabut, keluar dari pembukaan. Hampir tidak mungkin untuk melihat apa pun di depan. Cahaya lenteramu tampaknya berakhir tiba-tiba di mana bayangan mulai muncul. Dikatakan bahwa hanya cahaya magis yang dapat menembus kabut neraka sang naga. Jika kamu dapat menemukan cukup Kristal Cahaya, kamu bisa menerobos ini semua menuju ke tempat sang naga berada.", "questVice2CollectLightCrystal": "Kristal Cahaya", - "questVice2Completion": "As you lift the final crystal aloft, the shadows are dispelled, and your path forward is clear. With a quickening heart, you step forward into the cavern.", + "questVice2Completion": "Saat kamu mengangkat kristal terakhir tinggi-tinggi, bayangan pun menghilang, dan jalan ke depan pun menjadi jelas. Dengan hati yang cepat, kamu melangkah maju ke dalam gua.", "questVice2DropVice3Quest": "Vice Bagian 3 (Gulungan)", "questVice3Text": "Vice, Bagian 3: Kebangkitan Vice", "questVice3Notes": "Setelah berusaha keras, kalian berhasil menemukan markas Vice. Monster mengerikan itu melototi kalian dengan penuh kebencian. Bayangan berputar di sekelilingmu dan berbisik, \"Datang lagi penduduk Habitica yang coba-coba menghentikanku? Lucu sekali. Akan kubuat kau berharap kau tidak pernah datang kemari.\" Raksasa bersisik itu pun bersiap-siap menyerang. Ini adalah kesempatanmu! Perlihatkan dia kemampuanmu dan kalahkan Vice untuk selamanya!", - "questVice3Completion": "Bayang-bayang itu menghilang dari gua dan keheningan pun menyelimutimu. Astaga, kamu berhasil! Kamu telah mengalahkan Vice! Kamu dan party-mu akhirnya dapat menghembuskan nafas lega. Nikmati kemenanganmu, Habiteer pemberani, tapi belajarlah dari pengalamanmu melawan Vice dan bergeraklah maju. Masih ada Kebiasaan yang harus diselesaikan dan mungkin ada penjahat lebih buruk yang harus kamu kalahkan!", + "questVice3Completion": "Bayang-bayang itu menghilang dari gua dan keheningan pun menyelimutimu. Astaga, kamu berhasil! Kamu telah mengalahkan Vice! Kamu dan party-mu akhirnya dapat menghembuskan nafas lega. Nikmati kemenanganmu, Habiteer pemberani, tapi belajarlah dari pengalamanmu melawan Vice dan bergeraklah maju. Masih ada Kebiasaan yang harus diselesaikan dan mungkin ada penjahat lebih buruk yang harus kamu kalahkan!", "questVice3Boss": "Vice, sang Wyrm Kegelapan", "questVice3DropWeaponSpecial2": "Terowongan Naga Stephen Weber", "questVice3DropDragonEgg": "Naga (Telur)", @@ -79,30 +79,30 @@ "questGroupMoonstone": "Bangkitnya Recidivate", "questMoonstone1Text": "Recidivate, Bagian 1: Moonstone Chain", "questMoonstone1Notes": "Derita berkepanjangan telah melanda Habiticans. Bad Habits yang diduga telah lama mati kini bangkit kembali dengan niat pembalasan dendam. Cucian menumpuk tak pernah dicuci, buku-buku pelajaran tidak pernah dibaca, dan semua menunda tugas mereka!



>Kamu menguntit beberapa Bad Habits yang pergi ke Rawa Stagnan dan menemukan siapa dalang di balik semua ini: sang pengendali kematian, Recidivate. Kamu langsung meloncat dan menebasnya, tapi pedangmu menembusnya begitu saja.

\"Tidak perlu repot-repot.\" Desisnya. \"Aku tak akan terkalahkan, hanya Moonstone Chain yang bisa menyentuhku - dan sang master perhiasan @aurakami menyebarnya di seluruh penjuru Habitica sudah sangat lama!\" Merasa mustahil untuk mengalahkannya, kamu pun mundur... tapi kini kamu tahu apa yang harus kamu lakukan.", - "questMoonstone1CollectMoonstone": "Moonstones", - "questMoonstone1Completion": "At last, you manage to pull the final moonstone from the swampy sludge. It’s time to go fashion your collection into a weapon that can finally defeat Recidivate!", + "questMoonstone1CollectMoonstone": "Batu Rembulan", + "questMoonstone1Completion": "Akhirnya, kamu berhasil menarik batu rembulan terakhir dari lumpur berawa. Saatnya untuk membuat koleksimu menjadi senjata yang akhirnya bisa mengalahkan Recidivate!", "questMoonstone1DropMoonstone2Quest": "Recidivate, Bagian 2: Recidivate sang Necromancer (Gulungan)", "questMoonstone2Text": "Recidivate, Bagian 2: Recidivate sang Necromancer", - "questMoonstone2Notes": "The brave weaponsmith @InspectorCaracal helps you fashion the enchanted moonstones into a chain. You’re ready to confront Recidivate at last, but as you enter the Swamps of Stagnation, a terrible chill sweeps over you.

Rotting breath whispers in your ear. \"Back again? How delightful...\" You spin and lunge, and under the light of the moonstone chain, your weapon strikes solid flesh. \"You may have bound me to the world once more,\" Recidivate snarls, \"but now it is time for you to leave it!\"", + "questMoonstone2Notes": "Pembuat senjata pemberani @InspectorCaracal membantumu membuat batu rembulan ajaib menjadi rantai. Kamu akhirnya siap untuk menghadapi Recidivate, tetapi ketika kamu memasuki Rawa Stagnasi, hawa dingin yang mengerikan menyapu kulitmu.

Napas busuk berbisik di telingamu. \"Kembali lagi? Betapa menyenangkannya ...\" kamu berputar dan menerjang, dan di bawah cahaya rantai batu rembulan, senjatamu tertancap di padatan daging. \"Kau mungkin telah mengikatku pada dunia sekali lagi,\" geram Recidivate, \"tapi sekarang saatnya kau meninggalkannya!\"", "questMoonstone2Boss": "Sang Necromancer", - "questMoonstone2Completion": "Recidivate staggers backwards under your final blow, and for a moment, your heart brightens – but then she throws back her head and lets out a horrible laugh. What’s happening?", + "questMoonstone2Completion": "Recidivate terhuyung mundur akibat pukulan terakhirmu, dan untuk sesaat, hatimu cerah - tetapi kemudian dia melemparkan kepalanya ke belakang dan tertawa terbahak-bahak. Apa yang terjadi?", "questMoonstone2DropMoonstone3Quest": "Recidivate, Bagian 3: Jelmaan Recidivate (Gulungan)", "questMoonstone3Text": "Recidivate, Bagian 3: Jelmaan Recidivate", - "questMoonstone3Notes": "Laughing wickedly, Recidivate crumples to the ground, and you strike at her again with the moonstone chain. To your horror, Recidivate seizes the gems, eyes burning with triumph.

\"Foolish creature of flesh!\" she shouts. \"These moonstones will restore me to a physical form, true, but not as you imagined. As the full moon waxes from the dark, so too does my power flourish, and from the shadows I summon the specter of your most feared foe!\"

A sickly green fog rises from the swamp, and Recidivate’s body writhes and contorts into a shape that fills you with dread – the undead body of Vice, horribly reborn.", + "questMoonstone3Notes": "Tertawa jahat, Recidivate jatuh ke tanah, lalu kamu menyerangnya lagi dengan rantai batu rembulan. Dengan horornya, Recidivate merebut Permata, lalu matanya terbakar dengan kemenangan.

\"Makhluk berdaging bodoh!\" teriaknya. \"Batu rembulan ini akan mengembalikanku ke bentuk fisik, itu benar, tetapi tidak seperti yang kamu bayangkan. Seperti bulan purnama mewarnai kegelapan, demikian juga kekuatanku, dan dari bayang-bayang aku akan memanggil momok musuhmu yang paling menakutkan!\"

Kabut hijau beracun naik dari rawa, dan tubuh Recidivate menggeliat dan berkerut terlipat-lipat menjadi bentuk yang membuatmu ketakutan – tubuh Vice sebagai mayat hidup, kini terlahir kembali dengan mengerikan.", "questMoonstone3Completion": "Nafasmu menjadi berat dan keringat membuat matamu perih ketika Wyrm itu roboh. Sisa tubuh Recidivate menguap menjadi kabut tipis kelabu yang langsung hilang disapu angin malam, dan kamu mendengar sorakan para Habitican yang berhasil mengalahkan Bad Habits untuk selamanya.

@Baconsaur sang beast master turun dari gryphon tunggangannya. \"Aku melihat akhir pertarunganmu dari langit, dan aku sangat tersentuh. Terimalah jubah ajaib ini - keberanianmu mencerminkan hati muliamu, dan aku percaya kau pantas menerimanya.\"", - "questMoonstone3Boss": "Necro-Vice", + "questMoonstone3Boss": "Nekro-Vice", "questMoonstone3DropRottenMeat": "Daging Busuk (Makanan)", "questMoonstone3DropZombiePotion": "Ramuan Penetas Mayat Hidup", "questGroupGoldenknight": "Ksatria Emas", "questGoldenknight1Text": "Ksatria Emas, Bagian 1: Ceramah Balik yang Tegas", "questGoldenknight1Notes": "Ksatria Emas mempermainkan para penduduk Habitican yang malang. Tidak mengerjakan semua keseharian? Mencentang kebiasaan buruk? Dia akan menggunakan kekurangan itu untuk menceramahimu untuk bisa mengikuti gaya hidupnya. Dia adalah contoh yang sempurna seorang Habitican, dan kamu bukanlah apa-apa selain kegagalan. Hey, itu tidak benar! Semua orang bisa membuat kesalahan. Itu bukan sesuatu yang harus disikapi dengan perasaan negatif yang berlebihan. Mungkin ini saatnya kamu mengumpulkan testimoni dari Habiticans yang tersakiti dan memberi Golden Knight ceramah balik!", "questGoldenknight1CollectTestimony": "Testimoni", - "questGoldenknight1Completion": "Look at all these testimonies! Surely this will be enough to convince the Golden Knight. Now all you need to do is find her.", + "questGoldenknight1Completion": "Lihatlah semua kesaksian ini! Tentunya ini akan cukup untuk meyakinkan Ksatria Emas. Sekarang yang perlu kamu lakukan adalah menemukannya.", "questGoldenknight1DropGoldenknight2Quest": "Ksatria Emas Bagian 2: Sang Ksatria Emas (Gulungan)", "questGoldenknight2Text": "Ksatria Emas, Bagian 2: Sang Ksatria Emas", "questGoldenknight2Notes": "Dengan berbekal ratusan kesaksian Habitican, kamu akhirnya menghadapi sang Kesatria Emas. Kamu mulai membaca keluhan-keluhan Habitican kepadanya, satu per satu. \"Dan @Pfeffernusse berkata kesombonganmu-\" Sang Kesatria mengangkat tangannya untuk menyuruhmu diam dan mencemoohkanmu, \"Ayolah, orang-orang ini hanya cemburu terhadap kesuksesanku. Daripada mereka mengeluh, sebaiknya mereka bekerja keras seperti aku! Sepertinya aku harus menunjukkanmu kekuatan yang bisa kamu dapatkan melalui ketekunan sepertiku!\" Dia mengangkat senjatanya dan bersiap menyerangmu!", "questGoldenknight2Boss": "Ksatria Emas", - "questGoldenknight2Completion": "The Golden Knight lowers her Morningstar in consternation. “I apologize for my rash outburst,” she says. “The truth is, it’s painful to think that I’ve been inadvertently hurting others, and it made me lash out in defense… but perhaps I can still apologize?”", + "questGoldenknight2Completion": "Ksatria Emas menurunkan Bintang Kejoranya dengan ketakutan. \"Saya minta maaf atas ledakan amarah saya,\" katanya. \"Sebenarnya, memalukan bagiku ketika aku secara tidak sengaja menyakiti orang lain, dan itu membuatku mencoba untuk membela diri... tapi mungkin aku masih bisa meminta maaf?\"", "questGoldenknight2DropGoldenknight3Quest": "Ksatria Emas Bagian 3: Sang Ksatria Besi (Gulungan)", "questGoldenknight3Text": "Ksatria Emas, Bagian 3: Sang Ksatria Besi", "questGoldenknight3Notes": "@Jon Arinbjorn meneriakimu untuk memintamu memperhatikan. Seusai pertarunganmu, ada sebuah sosok lain yang muncul. Seorang ksatria yang mengenakan baju serba hitam tiba-tiba mendekatimu dengan menghunus pedangnya. Sang Golden Knight langsung meneriaki sosok itu, \"Ayah, jangan!\" tetapi sosok itu tak mau berhenti. Golden Knight menoleh kepadamu dan berkata, \"Maafkan aku. Aku sudah berbuat yang tidak perlu, dengan kesombongan dan kekejamanku. Tetapi ayahku lebih kejam dariku. Jika dia tidak berhenti dia akan membunuh kita semua. Ini, gunakan senjata morningstar-ku dan kalahkan Iron Knight!\"", @@ -135,7 +135,7 @@ "questSeahorseText": "Dilatory Derby", "questSeahorseNotes": "Ini Hari Derby, dan Habitican dari seluruh dunia telah berkelana ke Dilatory untuk balapan Kuda Laut! Tiba-tiba, ada suara yang muncul di tengah-tengan balapan, dan sang pemilik kuda laut @Kiwibot berteriak \"Semua Kuda Laut menarik perhatian Sea Stallion!\" raungnya. \"Dia merusak kandang dan tempat balapan! Ada yang bisa menenangkan dia tidak?\"", "questSeahorseCompletion": "Sea Stallion yang menjadi jinak berenang ke sisimu dengan perlahan. \"Oh, lihat!\" Kiwibot berteriak. \"Dia mau kita menjaga anak-anaknya.\" Dia memberimu tiga telur. \"Besarkan mereka dengan baik,\" Ujarnya. \"Kamu diterima di Dilatory Derby kapan saja!\"", - "questSeahorseBoss": "Sea Stallion", + "questSeahorseBoss": "Kuda Samudera", "questSeahorseDropSeahorseEgg": "Kuda Laut (Telur)", "questSeahorseUnlockText": "Dapatkan telur Kuda Laut yang dapat dibeli di Pasar", "questGroupAtom": "Serangan Menjemukan", @@ -143,14 +143,14 @@ "questAtom1Notes": "Kamu sampai di tepi Danau Tercuci untuk liburan yang menyenangkan... tapi danaunya dipenuhi piring kotor! Kok bisa begini sih? Hm, kamu gak akan membiarkan danau ini tetap begini. Hanya satu hal yang perlu dilakukan: bersihkan semua piring kotor dan selamatkan tempat liburanmu! Sepertinya kita perlu sabun untuk membersihkan tempat ini. Sabun yang sangat banyak...", "questAtom1CollectSoapBars": "Batangan Sabun", "questAtom1Drop": "Monster SnackLess (Gulungan)", - "questAtom1Completion": "After some thorough scrubbing, all the dishes are stacked safely on the shore! You stand back and proudly survey your hard work.", + "questAtom1Completion": "Setelah beberapa penggosokan menyeluruh, semua piring ditumpuk dengan aman di pantai! Kamu mundur sejenak dan dengan bangga menyaksikan hasil kerja kerasmu.", "questAtom2Text": "Serangan Remeh Temeh, Bagian 2: Monster SnackLess", "questAtom2Notes": "Fyuh, tempat ini sekarang terlihat lebih baik setelah semua piring kotor itu dibersihkan. Mungkin kamu bisa mulai bersenang-senang sekarang. Oh -sepertinya ada sekotak pizza mengambang di danau. Yah, apalah artinya satu barang tambahan yang perlu dibersihkan, kan? Namun, ya ampun, ternyata bukan hanya sekotak pizza! Tiba-tiba kotak itu terangkat dari permukaan air dan menampakkan wujud aslinya, kepala seekor monster. Tidak mungkin! Monster Kurangi-Kudapan yang legendaris itu?! Menurut legenda, monster ini telah ada sejak zaman prasejarah, makhluk yang muncul dari sampah dan makanan sisa Habiticans di zaman kuno. Ih!", "questAtom2Boss": "Monster SnackLess", "questAtom2Drop": "Sang Laundromancer (Gulungan)", - "questAtom2Completion": "With a deafening cry, and five delicious types of cheese bursting from its mouth, the Snackless Monster falls to pieces. Well done, brave adventurer! But wait... is there something else wrong with the lake?", + "questAtom2Completion": "Dengan teriakan memekakkan telinga, dan lima jenis keju lezat meledak dari mulutnya, Monster SnackLess jatuh berkeping-keping. Bagus sekali, petualang pemberani! Tapi tunggu ... Apakah ada yang salah dengan danau itu?", "questAtom3Text": "Serangan Mundane, Bagian 3: Sang Laundromancer", - "questAtom3Notes": "Just when you thought that your trials had ended, Washed-Up Lake begins to froth violently. “HOW DARE YOU!” booms a voice from beneath the water's surface. A robed, blue figure emerges from the water, wielding a magic toilet brush. Filthy laundry begins to bubble up to the surface of the lake. \"I am the Laundromancer!\" he angrily announces. \"You have some nerve - washing my delightfully dirty dishes, destroying my pet, and entering my domain with such clean clothes. Prepare to feel the soggy wrath of my anti-laundry magic!\"", + "questAtom3Notes": "Tepat ketika kamu berpikir bahwa cobaan telah berakhir, Danau Tercuci mulai berbusa dengan keras. \"BERANINYA KAMU!\" menggelegar suara dari bawah permukaan air. Sosok biru berjubah muncul dari air, memegang sikat toilet ajaib. Cucian kotor mulai menggelembung ke permukaan danau. \"Aku adalah Laundromancer!\" dia mengumumkan dengan marah. \"Kamu memiliki keberanian - mencuci piring kotor saya yang menyenangkan, menghancurkan hewan peliharaan saya, dan memasuki wilayah saya dengan pakaian bersih seperti itu. Bersiaplah untuk merasakan murka basah dari sihir anti-cucianku!\"", "questAtom3Completion": "Laundromancer yang jahat sudah dikalahkan! Baju yang bersih berjatuhan di sekelilingmu. Sekarang semuanya terlihat lebih baik. Saat kamu mengamati baju-baju itu, matamu menangkap sebuah kilatan logam, dan kamu melihat helm yang menarik. Pemilik aslinya tidak diketahui, tapi saat kamu mengenakannya, kamu merasakan kehadiran pemiliknya yang dermawan. Sayang sekali mereka tidak menjahit nama mereka di benda itu.", "questAtom3Boss": "Laundromancer", "questAtom3DropPotion": "Ramuan Penetas Biasa", @@ -161,7 +161,7 @@ "questOwlDropOwlEgg": "Burung Hantu (Telur)", "questOwlUnlockText": "Dapatkan telur Burung Hantu yang dapat dibeli di Pasar", "questPenguinText": "Sang Fowl Frost", - "questPenguinNotes": "Meskipun ini adalah hari di tengah musim panasnya Habitica, ada hawa dingin yang aneh di sekitar Lively Lake. Angin yang kuat dan membekukan bertiup membekukan pesisir pantai. Bongkah es terbentuk di tanah, di antara rerumputan. @Melynnrose dan @Breadstrings berlari ke arahmu.

\"Tolong!\" seru @Melynnrose. \"Kami membeli pinguin raksasa untuk membekukan danau agar kami bisa main ski, tapi kami kehabisan ikan untuk memberi dia makan!\"

\"Dia jadi marah dan menggunakan nafas bekunya untuk membekukan semua yang dia lihat!\" seru @Breadstrings. \"Tolong, kamu harus membujuknya sebelum kita semua dibekukan olehnya!\" Sepertinya kamu butuh mendinginkan amarah sang pingun.", + "questPenguinNotes": "Meskipun ini adalah hari di tengah musim panasnya Habitica, ada hawa dingin yang aneh di sekitar Lively Lake. Angin yang kuat dan membekukan bertiup membekukan pesisir pantai. Bongkah es terbentuk di tanah, di antara rerumputan. @Melynnrose dan @Breadstrings berlari ke arahmu.

\"Tolong!\" seru @Melynnrose. \"Kami membeli pinguin raksasa untuk membekukan danau agar kami bisa main ski, tapi kami kehabisan ikan untuk memberi dia makan!\"

\"Dia jadi marah dan menggunakan nafas bekunya untuk membekukan semua yang dia lihat!\" seru @Breadstrings. \"Tolong, kamu harus membujuknya sebelum kita semua dibekukan olehnya!\" Sepertinya kamu perlu membuat agar amarah pinguin ini... dingin.", "questPenguinCompletion": "Setelah pinguin dikalahkan, semua es pun mencair. Penguin raksasa duduk menghadap matahari terbit, memakan seember penuh ikan ekstra yang kamu temukan. Dia meluncur melewati danau, bertiup perlahan untuk membuat es yang lembut dan berkilau. Burung yang aneh! \"Dia meninggalkan beberapa telur juga,\" Ujar @Painter de Cluster.

@Rattify tertawa \"Mungkin anak-anaknya punya sikap yang lebih... dingin?\"", "questPenguinBoss": "Pinguin Salju", "questPenguinDropPenguinEgg": "Pinguin (Telur)", @@ -206,7 +206,7 @@ "questBunnyUnlockText": "Dapatkan telur Kelinci yang dapat dibeli di Pasar", "questSlimeText": "Jelly Regent", "questSlimeNotes": "Saat kamu bekerja dengan tugasmu, kamu menyadari bahwa kamu bergerak semakin lambat-dan lambat. \"Ini seperti kita berjalan dalam sirup,\" gerutu @Leephon. \"Bukan, ini kita berjalan dalam jeli!\" balas @starsystemic. \"Jelly Regent berlendir sudah melapisi seluruh penjuru Habtica dengan jeli. Itu mempengaruhi semua aktivitas. Semuanya jadi lamban.\" Kamu melihat berkeliling. Jalanan lambat laun terlihat sebagai lendir berwarna-warni yang tembus cahaya, dan Habiticans semuanya jadi susah melakukan sesuatu. Saat yang lain berpikir untuk kabur, kamu ambil sebuah pel dan bersiap untuk pertarungan!", - "questSlimeBoss": "Jelly Regent", + "questSlimeBoss": "Raja Agar-agar", "questSlimeCompletion": "Dengan hunjaman terakhir, kamu menjebak Jelly Regent dalam donat raksasa, yang dibawakan oleh @Overomega, @LordDarkly, dan @Shaner, para pemimpin klub memasak. Saat semua menepuk punggungmu, ada yang memasukkan sesuatu ke dalam sakumu. Itu adalah hadiah untuk kesuksesanmu: tiga telur Marshmallow Slime.", "questSlimeDropSlimeEgg": "Lendir Marshmallow (Telur)", "questSlimeUnlockText": "Dapatkan telur Lendir yang dapat dibeli di Pasar", @@ -255,7 +255,7 @@ "questCheetahText": "Seperti Cheetah", "questCheetahNotes": "Saat kamu berjalan mengarungi Sabana Sloensteadi dengan temanmu @PainterProphet, @tivaquinn, @Unruly Hyena, dan @Crawford, kamu kaget melihat seekor Cheetah lewat selagi seorang Habitican baru terjepit di antara rahangnya. Di bawah tapak kakinya yang berkobar, tugas-tugas terbakar seolah terselesaikan -- padahal tidak ada yang benar-benar menyelesaikannya! Habitican itu melihatmu dan berteriak, \"Tolong aku! Cheetah ini membuatku naik level terlalu cepat, tetapi aku tidak menyelesaikan apapun. Aku ingin bersabar dan menikmati permainannya. Hentikan dia!\" Kamu mengenang masa-masa di saat kamu baru mulai petualanganmu, dan kini kamu tahu kamu harus menolong pemula di hadapanmu dengan menghentikan sang Cheetah!", "questCheetahCompletion": "Habitican pemula itu terengah-engah setelah perjalanannya yang melelahkan, tetapi terimakasih kepada dirimu dan teman-temanmu atas pertolongan yang kalian berikan. \"Aku lega Cheetah itu tidak sempat menyeret korban lain. Dia meninggalkan beberapa telur Cheetah untuk kita, jadi kita dapat membesarkan mereka menjadi peliharaan yang dapat dipercaya!\"", - "questCheetahBoss": "Cheetah", + "questCheetahBoss": "Citah", "questCheetahDropCheetahEgg": "Cheetah (Telur)", "questCheetahUnlockText": "Dapatkan telur Cheetah yang dapat dibeli di Pasar", "questHorseText": "Tunggangi Kuda Mimpi Buruk", @@ -268,7 +268,7 @@ "questBurnoutNotes": "Waktu sudah lewat tengah malam, masih dan begitu panas, ketika Redphoenix dan pemandu pramuka Kiwibot masuk dengan tidak sabar melalui gerbang kota. \"Kita harus mengevakuasi semua bangunan kayu!\" teriak Rephoenix. \"Cepat!\"

Kiwibot mencengkeram dinding saat dia terengah-engah. \"Dia menyerap energi orang-orang dan mengubah mereka menjadi Ruh Kelelahan! Itulah mengapa semuanya tertunda. Itulah bagaimana banyak orang hilang. Dia telah menyerap energi mereka!\"

\"Dia?\" Ulang Lemoness.

Dan rasa panas pun mulai membentuk wujud.

Dia bangkit dari tanah dengan asap yang berputar, dan air penuh sesak dengan bau asap dan sulfur. Api menjilat-jilat di sepanjang permukaan tanah dan membentuk tubuh, dengan tinggi yang mengerikan. Mata yang berkobar pun terbuka, terdengar tawa terkekeh yang dalam.

Kiwibot membisikkan satu kata.

\"Burnout.\"", "questBurnoutCompletion": " Burnout telah DIKALAHKAN!

dengan hembusan nafas yang berat dan perlahan, Burnout perlahan melepaskan energi yang menjadi bahan bakar apinya. Saat monster itu perlahan hangus menjadi abu, energi yang telah dicurinya bersinar di udara, kembali ke Arwah Kelelahan dan mengembalikan mereka ke wujud aslinya.

Ian, Daniel, dan Penyihir Musiman bersorak saat penduduk Habitica berebut menyambut mereka, dan semua penduduk yang hilang dari Padang Kesuburan memeluk teman-teman dan keluarga mereka. Arwah Kelelahan terakhit berubah menjadi Joyful Reaper!

\"Lihat!\" bisik @Baconsaur, saat abu mulai berkelip-kelip. Perlahan, mereka membentuk ribuan phoenix yang bersinar!

Satu burung yang bersinar hinggap di kerangka tangan Joyful Reaper yang kemudian menyeringai. \"Suadah lama aku tidak melihat phoenix di Padang Kesuburan.\" ujarnya. \"Apapun yang baru saja terjadi, harus kukatakan, ini sangat cocok!\"

Ujarnya dengan bijaksana, meskipun seringai(alami)nya belum hilang. \"Kami dikenal selalu bekerja tak kenal lelah, tetapi kami juga dikenal dengan pesta dan festival. Cukup ironis, kurasa, saat kami membuat rencana pesta yang spektakuler, kami membatasi diri untuk bersenang-senang. Kami tidak akan mengulangi kesalahan untuk yang kedua kalinya!\"

. Dia bertepuk tangan. \"Sekarang - ayo kita rayakan!\"", "questBurnoutCompletionChat": "Burnout telah DIKALAHKAN! \n\nDengan hembusan nafas yang berat dan perlahan, Burnout perlahan melepaskan energi yang menjadi bahan bakar apinya. Saat monster itu perlahan hangus menjadi abu, energi yang telah dicurinya bersinar di udara, kembali ke Arwah Kelelahan dan mengembalikan mereka ke wujud aslinya. \n\nIan, Daniel, dan Penyihir Musiman bersorak saat penduduk Habitica berebut menyambut mereka, dan semua penduduk yang hilang dari Padang Kesuburan memeluk teman-teman dan keluarga mereka. Arwah Kelelahan terakhit berubah menjadi Joyful Reaper!\n\n\"Lihat!\" bisik @Baconsaur, saat abu mulai berkelip-kelip. Perlahan, mereka membentuk ribuan phoenix yang bersinar!\n\nSatu burung yang bersinar hinggap di kerangka tangan Joyful Reaper yang kemudian menyeringai. \"Suadah lama aku tidak melihat phoenix di Padang Kesuburan.\" ujarnya. \"Apapun yang baru saja terjadi, harus kukatakan, ini sangat cocok!\"\n\nUjarnya dengan bijaksana, meskipun seringai(alami)nya belum hilang. \"Kami dikenal selalu bekerja tak kenal lelah, tetapi kami juga dikenal dengan pesta dan festival. Cukup ironis, kurasa, saat kami membuat rencana pesta yang spektakuler, kami membatasi diri untuk bersenang-senang. Kami tidak akan mengulangi kesalahan untuk yang kedua kalinya!\"\n\nDia bertepuk tangan. \"Sekarang - ayo kita rayakan!\"\n\nSemua penduduk Habitica menerima:\n\nPeliharaan Phoenix\nTunggangan Phoenix\nPenghargaan: Penyelamat Padang Kesuburan\nPermen Biasa\nPermen Vanila\nPermen Pasir\nPermen Cengkeh\nPermen Cokelat\nPermen Busuk\nPermen Merah Muda Asam\nPermen Biru Asam\nPermen Madu", - "questBurnoutBoss": "Burnout", + "questBurnoutBoss": "Monster Burnout", "questBurnoutBossRageTitle": "Serangan Kelelahan", "questBurnoutBossRageDescription": "Ketika bar ini terisi, Burnout akan mengeluarkan Serangan Kelelahan kepada Habitica!", "questBurnoutDropPhoenixPet": "Phoenix (Peliharaan)", @@ -295,7 +295,7 @@ "questUnicornDropUnicornEgg": "Unicorn (Telur)", "questUnicornUnlockText": "Dapatkan telur Unicorn yang dapat dibeli di Pasar", "questSabretoothText": "Kucing Sabre Zombie", - "questSabretoothNotes": "A roaring monster is terrorizing Habitica! The creature stalks through the wilds and woods, then bursts forth to attack before vanishing again. It's been hunting innocent pandas and frightening the flying pigs into fleeing their pens to roost in the trees. @InspectorCaracal and @icefelis explain that the Zombie Sabre Cat was set free while they were excavating in the ancient, untouched ice-fields of the Stoïkalm Steppes. \"It was perfectly friendly at first – I don't know what happened. Please, you have to help us recapture it! Only a champion of Habitica can subdue this prehistoric beast!\"", + "questSabretoothNotes": "Monster yang mengaum sedang meneror Habitica! Makhluk itu menguntit melalui alam liar dan hutan, lalu meledak menyerang sebelum menghilang lagi. Dia telah memburu panda yang tidak bersalah dan menakut-nakuti babi terbang agar melarikan diri dari kandang mereka agar bertengger di pepohonan. @InspectorCaracal dan @icefelis menjelaskan bahwa Kucing Sabre Zombie dibebaskan ke alam liar saat mereka menggali di ladang es kuno yang belum tersentuh di Stepa Stoïkalm. \"Awalnya dia sangat ramah – aku tidak tahu apa yang terjadi. Tolong, kamu harus membantu kami menangkapnya kembali! Hanya jagoan Habitica yang bisa menaklukkan binatang prasejarah ini!\"", "questSabretoothCompletion": "Setelah pertarungan yang panjang dan melelahkan, kamu menjatuhkan Harimau Bergigi Pedang di atas tanah. Saat kamu mampu meihat lebih dekat, kamu menyadari lubang yang ada di salah satu gigi taring sang harimau. Kamu akhirnya memahami apa yang membuatnya begitu marah, kemudian kamu pergi ke @Fandeskap untuk mengobati gigi sang harimau, dan menyarankan semuanya untuk seterusnya menghindari memberi makanan manis kepada teman-teman mereka. Harimau Bergigi Pedang bangkit, dan pemiliknya berterimakasih kepadamu dengan memberikan hadiah – telur Harimau Bergigi Pedang!", "questSabretoothBoss": "Kucing Sabre Zombie", "questSabretoothDropSabretoothEgg": "Sabretooth (Telur)", @@ -362,9 +362,9 @@ "questCowBoss": "Sapi Mootant", "questCowDropCowEgg": "Sapi (Telur)", "questCowUnlockText": "Dapatkan telur Sapi yang dapat dibeli di Pasar", - "questBeetleText": "The CRITICAL BUG", - "questBeetleNotes": "Something in the domain of Habitica has gone awry. The Blacksmiths' forges have extinguished, and strange errors are appearing everywhere. With an ominous tremor, an insidious foe worms from the earth... a CRITICAL BUG! You brace yourself as it infects the land, and glitches begin to overtake the Habiticans around you. @starsystemic yells, \"We need to help the Blacksmiths get this Bug under control!\" It looks like you'll have to make this programmer's pest your top priority.", - "questBeetleCompletion": "With a final attack, you crush the CRITICAL BUG. @starsystemic and the Blacksmiths rush up to you, overjoyed. \"I can't thank you enough for smashing that bug! Here, take these.\" You are presented with three shiny beetle eggs. Hopefully these little bugs will grow up to help Habitica, not hurt it.", + "questBeetleText": "GANGGUAN BUG KRITIKAL", + "questBeetleNotes": "Domain Habitica sedang serba salah. Tempaan para Pandai Besi padam, lalu kesalahan-kesalahan aneh muncul dimana-mana. Dengan getaran yang tidak menyenangkan, geliat musuh berbahaya muncul dari dalam bumi ... GANGGUAN BUG KRITIKAL! Kamu menghela napas panjang saat melihatnya masuk menginfeksi tanah, kemudian gangguan bug itu pun merembet ke Habitican di sekitarmu. @starsystemic berteriak, \"Kita perlu membantu para Pandai Besi mengendalikan gangguan bug ini!\" Sepertinya kamu harus menjadikan hama programmer ini sebagai prioritas utamamu.", + "questBeetleCompletion": "Dengan serangan terakhir, kamu menghancurkan GANGGUAN BUG KRITIKAL. @starsystemic dan para Pandai Besi bergegas menghampirimu, sangat gembira. \"Aku tidak bisa cukup berterima kasih karena telah menghancurkan serangga itu! Ini, ambil ini.\" Kamu disajikan tiga telur kumbang mengkilap. Semoga serangga kecil ini tumbuh untuk membantu Habitica, bukan menyakitinya.", "questBeetleBoss": "GANGGUAN KRITIS", "questBeetleDropBeetleEgg": "Kumbang (Telur)", "questBeetleUnlockText": "Dapatkan telur Kumbang yang dapat dibeli di Pasar", @@ -383,13 +383,13 @@ "questTaskwoodsTerror2Notes": "Setelah bertarung melalui segerombolan tengkorak berapi, kamu mencapai sebuah kelompok besar dari petani pengungsi di tepian hutan. \"Desa mereka dibakar habis oleh sebuah roh musim gugur pemberontak,\" kata sebuah suara familiar. Ternyata itu @Kiwibot, sang pelacak legendaris! \"Aku berhasil mengumpulkan orang yang masih selamat, tapi tidak ada tanda-tanda dari para Peri Flourishing yang membantu menumbuhkan buah liar di Taskwoods. Tolong, kamu harus bantu menyelamatkan mereka!\"", "questTaskwoodsTerror2Completion": "Kamu berhasil menemukan peri pohon terakhir dan menjauhkannya dari para monster. Sewaktu kamu kembali ke petani pengungsi, kamu disambut oleh para peri yang berterima kasih, lalu memberimu sebuah jubah yang ditenun dengan sihir yang bersinar dan sutra. Tiba-tiba, sebuah suara gemuruh bergema di pepohonan, menggoncang bumi. \"Itu pasti sang roh pemberontak,\" seru Joyful Reaper. \"Ayo cepat!\"", "questTaskwoodsTerror2CollectPixies": "Peri", - "questTaskwoodsTerror2CollectBrownies": "Brownies", + "questTaskwoodsTerror2CollectBrownies": "Brownis", "questTaskwoodsTerror2CollectDryads": "Peri Pohon", "questTaskwoodsTerror2DropArmor": "Jubah Pyromancer (Armor)", "questTaskwoodsTerror3Text": "Teror di Taskwoods, Bagian 3: Jacko of the Lantern", - "questTaskwoodsTerror3Notes": "Siap untuk bertempur, kelompokmu bergerak ke tengah hutan, di mana sang roh pemberontak sedang mencoba menghancurkan sebuah pohon apel kuno yang dikelilingi semak penuh buah beri. Kepalanya yang seperti labu memancarkan sinar menakutkan ke mana pun ia berputar, dan di tangan kirinya ada sebuah tongkat panjang, dengan sebuah lentera bergantung di ujungnya. Bukannya berisi lilin atau lampu, lenteranya malah berisi kristal gelap yang membuatmu gemetaran hingga ke tulang.

Sang Joyful Reaper mengangkat tangan bertulangnya ke mulut. \"Itu -- itu Jacko, sang Roh Lentera!\" Tapi dia hantu panen penolong yang membimbing petani kami. Apa yang mungkin mendorong jiwa baiknya untuk bertindak seperti ini?\"

\"Aku tidak tahu,\" eru @bridgetteempress. \"Tapi kelihatannya 'jiwa baik' itu akan menyerang kita!\"", + "questTaskwoodsTerror3Notes": "Siap untuk bertempur, kelompokmu bergerak ke tengah hutan, di mana sang roh pemberontak sedang mencoba menghancurkan sebuah pohon apel kuno yang dikelilingi semak penuh buah beri. Kepalanya yang seperti labu memancarkan sinar menakutkan ke mana pun ia berputar, dan di tangan kirinya ada sebuah tongkat panjang, dengan sebuah lentera bergantung di ujungnya. Bukannya berisi lilin atau lampu, lenteranya malah berisi kristal gelap yang membuatmu gemetaran hingga ke tulang.

Sang Joyful Reaper mengangkat tangan bertulangnya ke mulut. \"Itu -- itu Jacko, sang Roh Lentera!\" Tapi dia hantu panen penolong yang membimbing petani kami. Apa yang mungkin mendorong jiwa baiknya untuk bertindak seperti ini?\"

\"Aku tidak tahu,\" eru @bridgetteempress. \"Tapi kelihatannya 'jiwa baik' itu akan menyerang kita!\"", "questTaskwoodsTerror3Completion": "Setelah pertarungan panjang, kamu berhasil mendaratkan pukulan akurat ke lentera yang dibawa Jacko, dan kristal di dalamnya remuk. Jacko tiba-tiba kembali kesadarannya dan mengeluarkan butiran tangis yang bercahaya. \"Oh, hutan cantikku! Apa yang telah kuperbuat?!\" ratapnya. Tangisannya memadamkan sisa api yang menyala, dan pohon apel dan beri liar jadi terselamatkan.

Setelah kamu menenangkannya, dia menjelaskan, \"Aku bertemu wanita menawan bernama Tzina, dan ia memberiku kristal bersinar ini sebagai hadiah. Setelah didesak, aku menaruhnya di lenteraku... tapi itu hal terakhir yang aku ingat.\" Ia menoleh kepadamu dengan senyuman emas. \"Mungkin kamu harus menyimpannya agar aman selagi aku menolong kebun-kebun liar untuk tumbuh kembali.\"", - "questTaskwoodsTerror3Boss": "Jacko of the Lantern", + "questTaskwoodsTerror3Boss": "Jacko Lantern", "questTaskwoodsTerror3DropStrawberry": "Stroberi (Makanan)", "questTaskwoodsTerror3DropWeapon": "Lentera Taskwood (Senjata Dua Tangan)", "questFerretText": "Musang Licik", @@ -399,7 +399,7 @@ "questFerretDropFerretEgg": "Musang (Telur)", "questFerretUnlockText": "Dapatkan telur Musang yang dapat dibeli di Pasar", "questDustBunniesText": "Kelinci Debu Liar", - "questDustBunniesNotes": "It's been a while since you've done any dusting in here, but you're not too worried—a little dust never hurt anyone, right? It's not until you stick your hand into one of the dustiest corners and feel something bite that you remember @InspectorCaracal's warning: leaving harmless dust sit too long causes it to turn into vicious dust bunnies! You'd better defeat them before they cover all of Habitica in fine particles of dirt!", + "questDustBunniesNotes": "Sudah lama sejak kamu bersih-bersih debu, tetapi kamu tidak khawatir — sedikit debu saja tidak menyakitkan, bukan? Tidak sampai kamu memasukkan tanganmu ke salah satu sudut paling berdebu dan merasakan sesuatu menggigitmu, membuatmu teringat tentang peringatan @InspectorCaracal: membiarkan debu terlalu lama menyebabkannya berubah menjadi kelinci debu ganas! Kamu sebaiknya mengalahkannya sebelum mereka menutupi semua Habitica dengan partikel kotoran halus!", "questDustBunniesCompletion": "Kelinci-kelinci debu menghilang dalam sebuah embusan... debu. Selagi itu debu itu menipis, kamu melihat sekelilingmu. Kamu sudah lupa betapa bagusnya tempat ini sewaktu bersih. Kamu melihat setumpuk koin emas di tempat bekas debu-debu itu berada. Hah, pantas kamu bingung ke mana hilangnya koin-koin itu!", "questDustBunniesBoss": "Kelinci Debu Liar", "questGroupMoon": "Pertempuran Lunar", @@ -411,7 +411,7 @@ "questMoon2Text": "Pertempuran Lunar, Bagian 2: Hentikan Overshadowing Stress", "questMoon2Notes": "Setelah mempelajari pecahan itu, @Starsystemic sang Peramal punya kabar buruk. \"Seekor monster kuno sedang mendekati Habitica, dan menyebabkan stress yang parah kepada para penduduk. Aku dapat menarik bayangan itu dari hati orang-orang dan ke dalam menara ini, dimana fisiknya dapat mewujud, tapi kamu harus mengalahkannya sebelum dia lepas dan menyebar lagi.\" Kamu mengangguk, dan ia mulai membaca mantra. Bayangan menari-nari memenuhi ruangan, saling berdesak-desakan dengan rapat. Angin dingin bertiup, kegelapan bertambah kelam. Sang Overshadowing Stress bangkit dari tanah, menyeringai bagaikan mimpi buruk yang menjadi nyata... dan menyerangmu!", "questMoon2Completion": "Bayangan itu meledak menjadi gumpalan udara hitam, menginggalkan ruangan itu menjadi lebih terang dan hatimu lebih ringan. Stress yang menyelimuti Habitica berkurang, dan kamu semua bisa menghembuskan nafas lega. Tetap, selagi kamu mendongak ke langit, kamu merasaan ini semua belum berakhir: monster itu tahu seseorang telah menghancurkan bayangannya. \"Kami akan berjaga-jaga dengan waspada beberapa minggu ke depan,\" kata @Starsystemic, \"dan aku akan mengirimimu gulungan misi sewaktu dia muncul.\"", - "questMoon2Boss": "Overshadowing Stress", + "questMoon2Boss": "Bayang-bayang Tekanan", "questMoon2DropArmor": "Armor Prajurit Lunar (Armor)", "questMoon3Text": "Pertempuran Lunar, Bagian 3: Bulan Raksasa", "questMoon3Notes": "Kamu menerima gulungan urgen @Starsystemic pada tengah malam dan bergegas ke menaranya. \"Monster itu menggunakan bulan purnama untuk mencomba menyeberang ke dunia kita,\" katanya. \"Jika dia berhasil, gelombang stressnya akan menjadi sangat tak tertahankan!\"

Mencemaskannya, kamu melihat monster itu memang menggunakan bulan untuk mewujud. Sebuah mata bersinar terbuka di permukaan berbatunya, dan lidah panjang menjulur dari sebuah mulut bertaring yang terbuka. Tak mungkin kamu akan membiarkannya muncul sepenuhnya!", @@ -419,7 +419,7 @@ "questMoon3Boss": "Bulan Raksasa", "questMoon3DropWeapon": "Sabit Lunar (Senjata Dua Tangan)", "questSlothText": "Kungkang Kantuk", - "questSlothNotes": "Selagi kamu dan party-mu menjelajahi Hutan Salju Kantuk, kamu lega melihat warna hijau berkilau di tengah paparan salju putih... hingga seekor kungkang raksasa muncul dari pepohonan yang beku! Zamrud hijau berkilau menghipnotis di punggungnya.

\"Halo, petualang... bagaimana kalau kamu santai saja? Kamu sudah berjalan cukup lama... jadi kenapa tidak... berhenti saja? Rebahkan dirimu, dan istirahatlah...\"

Kamu merasakan kelopak matamu menjadi berat, dan kamu sadar: Itu sang Kungkang Kantuk! Menurut @JaizakAripaik, ia mendapat namanya dari zamrud di punggungnya yang rumornya bisa... membuat orang... tertidur...

Kamu memaksa dirimu bangun, melawan kantuk. Dalam sekejap, @awakebyjava dan @PainterProphet mulai meneriakkan mantra, memaksa party-mu bangun. \"Sekarang kesempatan kita!\" seru @Kiwibot.", + "questSlothNotes": "Selagi kamu dan party-mu menjelajahi Hutan Salju Kantuk, kamu lega melihat warna hijau berkilau di tengah paparan salju putih... hingga seekor kungkang raksasa muncul dari pepohonan yang beku! Zamrud hijau berkilau menghipnotis di punggungnya.

\"Halo, petualang... bagaimana kalau kamu santai saja? Kamu sudah berjalan cukup lama... jadi kenapa tidak... berhenti saja? Rebahkan dirimu, dan istirahatlah...\"

Kamu merasakan kelopak matamu menjadi berat, dan kamu sadar: Itu sang Kungkang Kantuk! Menurut @JaizakAripaik, ia mendapat namanya dari zamrud di punggungnya yang rumornya bisa... membuat orang... tertidur...

Kamu memaksa dirimu bangun, melawan kantuk. Dalam sekejap, @awakebyjava dan @PainterProphet mulai meneriakkan mantra, memaksa party-mu bangun. \"Sekarang kesempatan kita!\" seru @Kiwibot.", "questSlothCompletion": "Kamu berhasil! Tepat setelah kamu mengalahkan sang Kungkang Kantuk, zamrudnya hancur. \"Terima kasih telah menyelamatkan aku dari kutukan ini,\" kata sang kungkang. \"Akhirnya aku bisa tidur nyenyak, tanpa zamrud berat itu di punggungku. Ambil telur ini sebagai tanda terima kasih, dan kamu boleh ambil zamrud ini juga.\" Kungkang itu memberimu tiga telur kungkang dan pergi ke tempat yang beriklim lebih hangat.", "questSlothBoss": "Kungkang Kantuk", "questSlothDropSlothEgg": "Kungkang (Telur)", @@ -432,7 +432,7 @@ "questTriceratopsUnlockText": "Dapatkan telur Triceratops yang dapat dibeli di Pasar", "questGroupStoikalmCalamity": "Malapetaka Stoïkalm", "questStoikalmCalamity1Text": "Malapetaka Stoikalm, Bagian 1: Musuh dari Tanah", - "questStoikalmCalamity1Notes": "A terse missive arrives from @Kiwibot, and the frost-crusted scroll chills your heart as well as your fingertips. \"Visiting Stoïkalm Steppes -- monsters bursting from earth -- send help!\" You gather your party and ride north, but as soon as you venture down from the mountains, the snow beneath your feet explodes and gruesomely grinning skulls surround you!

Suddenly, a spear sails past, burying itself in a skull that was burrowing through the snow in an attempt to catch you unawares. A tall woman in finely-crafted armor gallops into the fray on the back of a mastodon, her long braid swinging as she yanks the spear unceremoniously from the crushed beast. It's time to fight off these foes with the help of Lady Glaciate, the leader of the Mammoth Riders!", + "questStoikalmCalamity1Notes": "Sebuah surat singkat datang dari @Kiwibot, dan gulungan berkulit es membekukan hati dan ujung jarimu. \"Datang ke Stepa Stoïkalm - monster keluar dari tanah - kirim bantuan!\" Kamu memanggil seluruh party-mu lalu pergi ke utara, tetapi segera setelah turun dari pegunungan, salju di bawah kakimu meledak dan tengkorak menyeringai mengerikan mengelilingimu!

Tiba-tiba, tombak terlontar berlalu di hadapanmu, menancap dalam tengkorak yang menyelinap melalui salju untuk mengergapmu. Seorang wanita jangkung dengan baju besi yang dibuat dengan halus berlari ke dalam keributan di belakang mastodon, kepang panjangnya berayun saat dia menarik tombaknya begitu saja dari hewan yang hancur itu. Saatnya untuk melawan musuh-musuh ini dengan bantuan Nona Glaciate, pemimpin Pengendara Mammoth!", "questStoikalmCalamity1Completion": "Setelah kamu memukulkan serangan terakhirmu kepada tengkorak itu, mereka lenyap dalam sebuah letupan sihir. \"Kawanan terkutuk itu mungkin sudah hilang,\" kata Nona Glaciate, \"tapi kita ada masalah yang lebih besar. Ikuti aku.\" Ia melemparkan sebuah jubah untuk melindungimu dari udara dingin, dan kamu berkendara mengikutinya.", "questStoikalmCalamity1Boss": "Kawanan Tengkorak Tanah", "questStoikalmCalamity1RageTitle": "Kebangkitan Kawanan", @@ -442,13 +442,13 @@ "questStoikalmCalamity1DropDesertPotion": "Ramuan Penetas Gurun", "questStoikalmCalamity1DropArmor": "Armor Penunggang Mammoth", "questStoikalmCalamity2Text": "Malapetaka Stoïkalm, Bagian 2: Temukan Gua Penuh Es", - "questStoikalmCalamity2Notes": "The stately hall of the Mammoth Riders is an austere masterpiece of architecture, but it is also entirely empty. There's no furniture, the weapons are missing, and even the columns were picked clean of their inlays.

\"Those skulls scoured the place,\" Lady Glaciate says, and there is a blizzard brewing in her tone. \"Humiliating. Not a soul is to mention this to the April Fool, or I will never hear the end of it.\"

\"How mysterious!\" says @Beffymaroo. \"But where did they--\"

\"The icicle drake caverns.\" Lady Glaciate gestures at shining coins spilled in the snow outside. \"Sloppy.\"

\"But aren't icicle drakes honorable creatures with their own treasure hoards?\" @Beffymaroo asks. \"Why would they possibly--\"

\"Mind control,\" says Lady Glaciate, utterly unfazed. \"Or something equally melodramatic and inconvenient.\" She begins to stride from the hall. \"Why are you just standing there?\"

Quickly, go follow the trail of Icicle Coins!", + "questStoikalmCalamity2Notes": "Aula megah Pengendara Mammoth adalah mahakarya arsitektur yang keras, tetapi juga sepenuhnya kosong. Tidak ada perabotan, senjatanya hilang, dan bahkan lemari-lemarinya isinya dirampas.

\"Tengkorak-tengkorak itu menjelajahi tempat itu,\" kata Nona Glaciate, dan ada badai salju yang muncul dalam nada suaranya. \"Memalukan. Tidak boleh ada yang mengatakan ini kepada April Fool, atau dia tidak akan berhenti berceloteh.\"

\"Sungguh misterius!\" kata @Beffymaroo. \"Tapi di mana mereka--\"

\"Gua-gua Naga Es.\" Nona Glaciate menunjuki koin es bersinar yang tumpah di salju di luar sana. \"Ceroboh.\"

\"Tapi bukankah Naga Es adalah makhluk terhormat dengan timbunan harta karunnya sendiri?\" @Beffymaroo bertanya. \"Mengapa mereka mungkin—\"

Pengendalian pikiran,\" kata Nona Glaciate, sama sekali tidak terpengaruh. \"Atau sesuatu yang sama-sama melodramatis dan tidak nyaman.\" Dia mulai melangkah dari aula. \"Kenapa kamu hanya berdiri di sana?\"

Cepat, ikuti jejak Koin Es!", "questStoikalmCalamity2Completion": "Koin Es itu menuntunmu tepat ke pintu masuk terkubur dari sebuah gua yang disembunyikan dengan pandai. Meskipun cuaca di luar tenang dan menyenangkan, dengan sinar matahari menyinari bentangan penuh salju, ada sebuah lolongan di dalam layaknya angin musim dingin yang ganas. Nona Glaciate meringis dan memberimu sebuah helm Penunggang Mamut. \"Pakai ini,\" katanya. \"Kamu akan memerlukannya.\"", "questStoikalmCalamity2CollectIcicleCoins": "Koin Es", "questStoikalmCalamity2DropHeadgear": "Helm Penunggang Mamut (Perlengkapan Kepala)", "questStoikalmCalamity3Text": "Malapetaka Stoïkalm, Bagian 3: Gempa Naga Es", - "questStoikalmCalamity3Notes": "The twining tunnels of the icicle drake caverns shimmer with frost... and with untold riches. You gape, but Lady Glaciate strides past without a glance. \"Excessively flashy,\" she says. \"Obtained admirably, though, from respectable mercenary work and prudent banking investments. Look further.\" Squinting, you spot a towering pile of stolen items hidden in the shadows.

A sibilant voice hisses as you approach. \"My delicious hoard! You shall not steal it back from me!\" A sinuous body slides from the heap: the Icicle Drake Queen herself! You have just enough time to note the strange bracelets glittering on her wrists and the wildness glinting in her eyes before she lets out a howl that shakes the earth around you.", - "questStoikalmCalamity3Completion": "You subdue the Icicle Drake Queen, giving Lady Glaciate time to shatter the glowing bracelets. The Queen stiffens in apparent mortification, then quickly covers it with a haughty pose. \"Feel free to remove these extraneous items,\" she says. \"I'm afraid they simply don't fit our decor.\"

\"Also, you stole them,\" @Beffymaroo says. \"By summoning monsters from the earth.\"

The Icicle Drake Queen looks miffed. \"Take it up with that wretched bracelet saleswoman,\" she says. \"It's Tzina you want. I was essentially unaffiliated.\"

Lady Glaciate claps you on the arm. \"You did well today,\" she says, handing you a spear and a horn from the pile. \"Be proud.\"", + "questStoikalmCalamity3Notes": "Terowongan berkelok-kelok dari gua-gua Naga Es berkilauan dengan embun beku ... dan dengan kekayaan yang tak terhitung. Kamu melongo, tapi Nona Glaciate melangkah lewat tanpa melirik. \"Terlalu mencolok,\" katanya. \"Diperoleh dengan mengagumkan, meskipun, dari pekerjaan tentara bayaran yang terhormat dan investasi perbankan yang bijaksana. Lihat lebih jauh.\" Menyipitkan mata, kamu melihat tumpukan barang curian yang menjulang tinggi tersembunyi di balik bayang-bayang.

Suara sibilan mendesis saat kamu mendekat. \"Timbunanku yang baik! Jangan mencurinya dariku!\" Tubuh berliku-liku meluncur dari tumpukan: itu adalah Ratu Naga Es sendiri! Kamu hanya punya cukup waktu untuk memperhatikan gelang aneh berkilauan di pergelangan tangannya dan keliaran berkilauan di matanya sebelum dia mengeluarkan lolongan yang mengguncang tanah di sekitarmu.", + "questStoikalmCalamity3Completion": "Kamu menaklukkan Ratu Naga Es, memberi Nona Glaciate waktu untuk menghancurkan gelang bercahaya. Sang Ratu menegang dalam rasa malu yang jelas, lalu dengan cepat menutupinya dengan pose angkuh. \"Jangan ragu untuk mengenyahkan barang-barang asing ini,\" katanya. \"Aku khawatir mereka tidak cocok dengan dekorasi di gua ini.\"

\"Ya memang, kamu kan mencurinya,\" kata @Beffymaroo. \"Dengan memanggil monster dari tanah.\"

Ratu Naga Es terlihat jengkel. \"Ambillah dengan gelang malang itu,\" katanya. \"Ini Tzina yang kamu inginkan. Aku pada dasarnya tidak kenal.\"

Nona Glaciate menepuk lenganmu. \"Kamu melakukannya dengan baik hari ini,\" katanya, menyerahkan tombak dan tanduk dari tumpukan. \"Berbanggalah kamu.\"", "questStoikalmCalamity3Boss": "Ratu Naga Es", "questStoikalmCalamity3DropBlueCottonCandy": "Permen Kapas Biru (Makanan)", "questStoikalmCalamity3DropShield": "Terompet Penunggang Mamut (Item Tangan Lain)", @@ -459,39 +459,39 @@ "questGuineaPigBoss": "Geng Marmot", "questGuineaPigDropGuineaPigEgg": "Marmot (Telur)", "questGuineaPigUnlockText": "Dapatkan telur Marmot yang dapat dibeli di Pasar", - "questPeacockText": "The Push-and-Pull Peacock", - "questPeacockNotes": "You trek through the Taskwoods, wondering which of the enticing new goals you should pick. As you go deeper into the forest, you realize that you're not alone in your indecision. \"I could learn a new language, or go to the gym...\" @Cecily Perez mutters. \"I could sleep more,\" muses @Lilith of Alfheim, \"or spend time with my friends...\" It looks like @PainterProphet, @Pfeffernusse, and @Draayder are equally paralyzed by the overwhelming options.

You realize that these ever-more-demanding feelings aren't really your own... you've stumbled straight into the trap of the pernicious Push-and-Pull Peacock! Before you can run, it leaps from the bushes. With each head pulling you in conflicting directions, you start to feel burnout overcoming you. You can't defeat both foes at once, so you only have one option -- concentrate on the nearest task to fight back!", - "questPeacockCompletion": "The Push-and-Pull Peacock is caught off guard by your sudden conviction. Defeated by your single-minded drive, its heads merge back into one, revealing the most beautiful creature you've ever seen. \"Thank you,\" the peacock says. \"I’ve spent so long pulling myself in different directions that I lost sight of what I truly wanted. Please accept these eggs as a token of my gratitude.\"", + "questPeacockText": "Merak Tarik Dorong", + "questPeacockNotes": "Kamu melakukan perjalanan melalui Taskwoods, bertanya-tanya tujuan baru mana yang menarik untuk dipilih. Ketika kamu masuk lebih dalam ke hutan, kamu menyadari kamu tidak sendirian dalam keraguan. \"Aku bisa belajar bahasa baru, atau pergi ke gym ...\" gumam @Cecily Perez. \" Aku bisa tidur lebih banyak,\" renung @Lilith of Alfheim, \"atau menghabiskan waktu bersama teman-temanku ...\" Sepertinya @PainterProphet, @Pfeffernusse, dan @Draayder sama-sama bingung akan pilihan-pilihan yang ada.

Kamu menyadari bahwa perasaan yang semakin menuntut ini sebenarnya bukan dari dirimu sendiri ... Kamu telah terjebak masuk ke dalam perangkap Merak Tarik Dorong yang menghanyutkan! Sebelum kamu bisa berlari, ia melompat dari semak-semak. Dengan setiap kepala menarikmu ke arah yang berlawanan, kamu mulai merasa kelelahan mengalahkanmu. Kamu tidak dapat mengalahkan kedua musuh sekaligus, jadi kamu hanya punya satu pilihan - berkonsentrasi pada tugas terdekat untuk dilawan!", + "questPeacockCompletion": "Merak Tarik Dorong terperanjat oleh keyakinanmu yang muncul tiba-tiba. Dikalahkan oleh dorongan fokus, kepalanya lalu bergabung kembali menjadi satu, menyingkap makhluk terindah yang pernah kamu lihat. \"Terima kasih,\" kata sang burung merak. \"Aku telah menghabiskan begitu lama menarik diri ke arah yang berbeda sehingga aku kehilangan pandangan tentang apa yang benar-benar kuinginkan. Terimalah telur-telur ini sebagai tanda terima kasihku.\"", "questPeacockBoss": "Merak Tarik Dorong", "questPeacockDropPeacockEgg": "Merak (Telur)", "questPeacockUnlockText": "Dapatkan telur Merak yang dapat dibeli di Pasar", "questButterflyText": "Sampai Jumpa, Butterfry", - "questButterflyNotes": "Your gardener friend @Megan sends you an invitation: “These warm days are the perfect time to visit Habitica’s butterfly garden in the Taskan countryside. Come see the butterflies migrate!” When you arrive, however, the garden is in shambles -- little more than scorched grass and dried-out weeds. It’s been so hot that the Habiticans haven’t come out to water the flowers, and the dark-red Dailies have turned it into a dry, sun-baked, fire-hazard. There's only one butterfly there, and there's something odd about it...

“Oh no! This is the perfect hatching ground for the Flaming Butterfry,” cries @Leephon.

“If we don’t catch it, it’ll destroy everything!” gasps @Eevachu.

Time to say bye, bye to Butterfry!", + "questButterflyNotes": "Teman tukang kebunmu, @Megan, mengirimimu undangan: \"Hari-hari hangat ini adalah waktu yang tepat untuk mengunjungi taman kupu-kupu Habitica di pedesaan Taskan. Ayo lihat kupu-kupu bermigrasi!\" Namun, ketika kamu tiba, taman itu berantakan -- lebih tepatnya terlihat seperti rumput hangus dan gulma kering. Situasinya sangat panas sehingga Habiticans belum keluar untuk menyirami bunga, dan Keseharian merah gelap telah mengubahnya menjadi risiko kebakaran yang dahsyat, rasa terpanggang matahari. Hanya ada satu kupu-kupu di sana, dan ada hal yang teramat sangat aneh tentangnya ...

\"Oh tidak! Ini adalah tempat penetasan yang sempurna untuk Kupu-Api Berapi,\" teriak @Leephon.

\"Jika kita tidak menangkapnya, ia akan menghancurkan segalanya!\" kata @Eevachu sambil terengah-engah.

Saatnya mengucapkan selamat tinggal, selamat tinggal pada Kupu-Api!", "questButterflyCompletion": "After a blazing battle, the Flaming Butterfry is captured. “Great job catching the that would-be arsonist,” says @Megan with a sigh of relief. “Still, it’s hard to vilify even the vilest butterfly. We’d better free this Butterfry someplace safe…like the desert.”

One of the other gardeners, @Beffymaroo, comes up to you, singed but smiling. “Will you help raise these foundling chrysalises we found? Perhaps next year we’ll have a greener garden for them.”", "questButterflyBoss": "Butterfry Berapi", "questButterflyDropButterflyEgg": "Ulat (Telur)", "questButterflyUnlockText": "Dapatkan telur Ulat yang dapat dibeli di Pasar", "questGroupMayhemMistiflying": "Huru-hara di Mistiflying", "questMayhemMistiflying1Text": "Huru-hara di Mistiflying, Bagian 1: Di Mana Mistiflying Mengalami Gangguan yang Mengerikan", - "questMayhemMistiflying1Notes": "Although local soothsayers predicted pleasant weather, the afternoon is extremely breezy, so you gratefully follow your friend @Kiwibot into their house to escape the blustery day.

Neither of you expects to find the April Fool lounging at the kitchen table.

“Oh, hello,” he says. “Fancy seeing you here. Please, let me offer you some of this delicious tea.”

“That’s…” @Kiwibot begins. “That’s MY—“

“Yes, yes, of course,” says the April Fool, helping himself to some cookies. “Just thought I’d pop indoors and get a nice reprieve from all the tornado-summoning skulls.” He takes a casual sip from his teacup. “Incidentally, the city of Mistiflying is under attack.”

Horrified, you and your friends race to the Stables and saddle your fastest winged mounts. As you soar towards the floating city, you see that a swarm of chattering, flying skulls are laying siege to the city… and several turn their attentions towards you!", - "questMayhemMistiflying1Completion": "The final skull drops from the sky, a shimmering set of rainbow robes clasped in its jaws, but the steady wind has not slackened. Something else is at play here. And where is that slacking April Fool? You pick up the robes, then swoop into the city.", + "questMayhemMistiflying1Notes": "Meskipun peramal cuaca lokal meramalkan bahwa cuacanya akan menyenangkan, sore hari ternyata sangat berangin, jadi kalian dengan senang hati mengikuti @Kiwibot ke rumahnya untuk menghindari angin kencang.

Tak satu pun dari kalian mengira akan menemukan April Fool bersantai di meja dapur.

\"Oh, halo,\" katanya. \"Senang melihatmu di sini. Bolehlah kalian mencicipi teh lezat ini.\"

\"Itu ...\" @Kiwibot kesal. \"Itu PUNYA—“

\"ya, tentu saja,\" kata April Fool, sambil mengambil beberapa kue. \"Kupikir kalau muncul di sini mungkin aku bisa mendapatkan penundaan hukuman akibat insiden tengkorak pemanggil tornado.\" Dia menyeruput santai dari cangkir tehnya. \"Kebetulan, kota Mistiflying sedang diserang mereka.\"

Terkejut, kamu dan teman-temanmu segera berlomba ke Kandang untuk mengendarai tunggangan bersayap tercepat kalian. Saat kalian terbang menuju kota terapung, kalian melihat segerombolan tengkorak terbang yang berceloteh mengepung kota ... dan beberapa dari mereka mengalihkan perhatiannya ke arah kalian!", + "questMayhemMistiflying1Completion": "Tengkorak terakhir jatuh dari langit, satu set jubah pelangi berkilauan tergenggam di rahangnya, tetapi angin kencang belum mereda. Sesuatu yang lain masih ada di sini. Dan lagi, di mana April Fool yang malas itu? Kamu mengenakan jubahmu, lalu menukik segera menuju ke kota.", "questMayhemMistiflying1Boss": "Kawanan Tengkorak Udara", "questMayhemMistiflying1RageTitle": "Kebangkitan Kawanan", "questMayhemMistiflying1RageDescription": "Kebangkitan Kawanan: Bar ini terisi jika kamu tidak menyelesaikan tugas harianmu. Ketika penuh, Kawanan Tengkorak Udara akan mendapatkan kembali 30% dari nyawa yang tersisa!", - "questMayhemMistiflying1RageEffect": "`Air Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls come whirling out of the clouds!", + "questMayhemMistiflying1RageEffect": "`Kawanan Tengkorak Udara menggunakan KEBANGKITAN KAWANAN!`\n\nDidorong oleh kemenangannya, tengkorak-tengkorak muncul lagi berputar keluar dari awan!", "questMayhemMistiflying1DropSkeletonPotion": "Ramuan Penetas Tengkorak", "questMayhemMistiflying1DropWhitePotion": "Ramuan Penetas Putih", "questMayhemMistiflying1DropArmor": "Jubah Kurir Pelangi Nakal (Armor)", "questMayhemMistiflying2Text": "Huru-hara di Mistiflying, Bagian 2: Di Mana Anginnya Memburuk", - "questMayhemMistiflying2Notes": "Mistiflying dips and rocks as the magical bees keeping it afloat are buffeted by the gale. After a desperate search for the April Fool, you find him inside a cottage, blithely playing cards with an angry, trussed-up skull.

@Katy133 raises their voice over the whistling wind. “What’s causing this? We defeated the skulls, but it’s getting worse!”

“That is a pickle,” the April Fool agrees. “Please be a dear and don’t mention it to Lady Glaciate. She’s always threatening to call off our courtship on the grounds that I am ‘catastrophically irresponsible,’ and I fear that she might misread this situation.” He shuffles the deck. “Perhaps you might follow the Mistiflies? They’re immaterial, so the wind can’t blow them away, and they tend to swarm around threats.” He nods out the window, where several of the city’s patron creatures are fluttering towards the east. “Now let me concentrate — my opponent has quite the poker face.”", - "questMayhemMistiflying2Completion": "You follow the Mistiflies to the site of a tornado, too stormy for you to enter.

“This should help,” says a voice directly in your ear, and you nearly fall off of your mount. The April Fool is somehow sitting directly behind you in the saddle. “I hear these messenger hoods emit an aura that guards against inclement weather — very useful to avoid losing missives as you fly around. Perhaps give it a try?”", + "questMayhemMistiflying2Notes": "Penurunan dan bebatuan berjatuhan dengan mengerikan karena lebah ajaib yang biasa menjaganya diterpa angin kencang. Setelah putus asa mencari April Fool, akhirnya kamu menemukannya di sebuah pondok, dengan gembira bermain kartu dengan tengkorak yang marah karena terikat.

@Katy133 membesarkan suaranya melebihi suara siulan angin. \"Apa yang menyebabkan semua itu? Kami mengalahkan tengkorak-tengkorak itu, tapi kondisinya malah semakin buruk!\"

\"Wah, parah. Kau benar,\" April Fool setuju. \"Berbaik hatilah padaku, tolong jangan ceritakan ini kepada Nona Glaciate. Dia selalu mengancam untuk mengakhiri hubungi kami dengan alasan bahwa aku 'amat sangat tidak bertanggung jawab,' dan aku khawatir dia mungkin salah menilai situasi ini.\" Dia mengocok kartunya. \"Mungkin kalian bisa mengikuti Mistiflies? Mereka itu bukan materi, jadi sebetulnya angin tidak bisa meniupnya, apalagi mereka suka sekali berkerumun di sekitar bahaya.\" Dia mengangguk ke luar jendela, di mana beberapa makhluk pelindung kota beterbangan ke arah timur. \"Sekarang biarkan aku berkonsentrasi – lawanku punya wajah poker yang lumayan.\"", + "questMayhemMistiflying2Completion": "Kalian mengikuti Mistiflies ke lokasi tornado, tetapi badai menghalau kalian untuk masuk.

\"Ini akan membantu,\" kata sebuah suara tepat berbisik di telingamu, membuatmu hampir saja jatuh dari tungganganmu. April Fool entah bagaimana sudah duduk tepat di belakangmu, di atas pelana. \"Aku mendengar tudung pembawa pesan ini memancarkan aura yang melindungi dari cuaca buruk - sangat berguna untuk menghindari kehilangan surat saat kalian terbang. Mau mencobanya?\"", "questMayhemMistiflying2CollectRedMistiflies": "Mistifly Merah", "questMayhemMistiflying2CollectBlueMistiflies": "Mistifly Biru", "questMayhemMistiflying2CollectGreenMistiflies": "Mistifly Hijau", "questMayhemMistiflying2DropHeadgear": "Tudung Kurir Pelangi Nakal (Armor)", "questMayhemMistiflying3Text": "Huru-hara di Mistiflying, Bagian 3: Di Mana si Kurir itu Sangat Kasar", - "questMayhemMistiflying3Notes": "The Mistiflies are whirling so thickly through the tornado that it’s hard to see. Squinting, you spot a many-winged silhouette floating at the center of the tremendous storm.

“Oh, dear,” the April Fool sighs, nearly drowned out by the howl of the weather. “Looks like Winny went and got himself possessed. Very relatable problem, that. Could happen to anybody.”

“The Wind-Worker!” @Beffymaroo hollers at you. “He’s Mistiflying’s most talented messenger-mage, since he’s so skilled with weather magic. Normally he’s a very polite mailman!”

As if to counteract this statement, the Wind-Worker lets out a scream of fury, and even with your magic robes, the storm nearly rips you from your mount.

“That gaudy mask is new,” the April Fool remarks. “Perhaps you should relieve him of it?”

It’s a good idea… but the enraged mage isn’t going to give it up without a fight.", - "questMayhemMistiflying3Completion": "Just as you think you can’t withstand the wind any longer, you manage to snatch the mask from the Wind-Worker’s face. Instantly, the tornado is sucked away, leaving only balmy breezes and sunshine. The Wind-Worker looks around in bemusement. “Where did she go?”

“Who?” your friend @khdarkwolf asks.

“That sweet woman who offered to deliver a package for me. Tzina.” As he takes in the wind-swept city below him, his expression darkens. “Then again, maybe she wasn’t so sweet…”

The April Fool pats him on the back, then hands you two shimmering envelopes. “Here. Why don’t you let this distressed fellow rest, and take charge of the mail for a bit? I hear the magic in those envelopes will make them worth your while.”", + "questMayhemMistiflying3Notes": "Mistiflies berputar begitu tebal melalui tornado sehingga sulit dilihat. Menyipitkan mata, kamu melihat siluet bersayap mengambang di tengah badai yang luar biasa.

\"Oh, tidak,\" desah April Fool, hampir tenggelam oleh lolongan cuaca. \"Sepertinya Winny pergi kesana lalu kerasukan. Masalah yang sangat bisa dimengerti, yaaa maksudnya... bisa terjadi pada siapa saja.\"

“Pekerja Angin!” @Beffymaroo berteriak padamu. \"Dia adalah penyihir pembawa pesan di Mistiflying yang paling berbakat, karena dia sangat ahli dengan sihir cuaca. Biasanya dia tukang pos yang sopan!\"

Seolah-olah untuk menangkal pernyataan ini, Sang Pekerja Angin mengeluarkan jeritan kemarahan, dan bahkan dengan jubah sihirmu, badai hampir menjatuhkanmu dari tunggangan.

“Topeng jelek itu barang baru,\" komentar April Fool. \"Mungkin kamu harus membebaskannya?\"

Itu ide yang bagus ... Tapi penyihir yang marah tidak akan menyerah tanpa perlawanan.", + "questMayhemMistiflying3Completion": "Tepat saat kamu berpikir kalian tidak bisa menahan angin lebih lama lagi, kamu akhirnya berhasil merebut topeng dari wajah Sang Pekerja Angin. Seketika, tornado tersedot, sehingga hanya menyisakan angin sepoi-sepoi dan sinar matahari yang temaram. Sang Pekerja Angin melihat sekeliling dengan bingung. \"Kemana dia pergi?\"

“Siapa?\" @khdarkwolf bertanya.

\"Wanita manis yang menawarkan untuk mengantarkan paket untukku. Tzina.\" Saat dia menguasai kota yang tersapu angin di bawahnya, ekspresinya menjadi gelap. \"Kemudian lagi, mungkin dia tidak begitu manis ...\"

April Fool menepuk punggungnya, lalu memberimu dua amplop berkilauan. \" Sini. Kenapa sih kamu tidak membiarkan orang yang tertekan ini beristirahat, dan membaca surat-surat ini barang sebentar? Kudengar keajaiban di dalam amplop-amplop itu cocok sekali untuk mengisi waktu.\"", "questMayhemMistiflying3Boss": "Sang Pekerja Angin", "questMayhemMistiflying3DropPinkCottonCandy": "Permen Kapas Pink (Makanan)", "questMayhemMistiflying3DropShield": "Surat Pelangi Nakal (Item Tangan Lain)", @@ -505,11 +505,11 @@ "questNudibranchDropNudibranchEgg": "Nudibranchia (Telur)", "questNudibranchUnlockText": "Dapatkan telur Nudibranchia yang dapat dibeli di Pasar", "splashyPalsText": "Bundel Misi Teman Cebar-cebur", - "splashyPalsNotes": "Berisi 'Derby Dilatory', 'Pandu sang Penyu', dan 'Ratapan Ikan Paus'. Tersedia hingga 31 Juli.", - "questHippoText": "What a Hippo-Crite", - "questHippoNotes": "You and @awesomekitty collapse into the shade of a palm tree, exhausted. The sun beats down over the Sloensteadi Savannah, scorching the ground below. It’s been a productive day so far, conquering your Dailies, and this oasis looks like a nice place to take a break and refresh. Stooping near the water to get a drink, you stumble back in shock as a massive hippopotamus rises. “Resting so soon? Don’t be so lazy, get back to work.” You try and protest that you’ve been working hard and need a break, but the hippo isn’t having any of it.

@khdarkwolf whispers to you, “Notice how it’s lounging around all day but has the nerve to call you lazy? It’s the Hippo-Crite!”

Your friend @jumorales nods. “Let’s show it what hard work looks like!”", - "questHippoCompletion": "The hippo bows in surrender. “I underestimated you. It seems you weren’t being lazy. My apologies. Truth be told, I may have been projecting a bit. Perhaps I should get some work done myself. Here, take these eggs as a sign of my gratitude.” Grabbing them, you settle down by the water, ready to relax at last.", - "questHippoBoss": "The Hippo-Crite", + "splashyPalsNotes": "Berisi 'Derby Dilatory', 'Pandu sang Penyu', dan 'Ratapan Ikan Paus'. Tersedia hingga 30 Juni.", + "questHippoText": "Hippokrit Munafik", + "questHippoNotes": "Kamu dan @awesomekitty ambruk ke bawah naungan pohon palem, kelelahan. Matahari terbenam di atas Savannah Sloensteadi, menghanguskan tanah di bawahnya. Ini adalah hari yang produktif sejauh ini, menaklukkan Keseharian-mu, dan oasis ini tampaknya tempat yang bagus untuk beristirahat. Membungkuk di dekat air untuk minum, kamu tersandung kaget saat seekor kuda nil besar muncul. “Sudah beristirahat? Jangan terlalu malas, kembali bekerja sana.\" Kamu mencoba dan memprotes bahwa kalian telah bekerja keras dan perlu istirahat, tetapi kuda nil ini tidak peduli.

@khdarkwolf berbisik kepadamu, \"Coba lihat, ia bersantai sepanjang hari tetapi berani-beraninya menyebutmu malas? Itu munafik sekali!\"

Temanmu @jumorales mengangguk. \"Mari kita tunjukkan seperti apa kerja keras itu!\"", + "questHippoCompletion": "Kuda nil membungkuk menyerah. \"Aku meremehkanmu. Sepertinya kalian tidak malas. Aku minta maaf. Sejujurnya, akulah yang mungkin sedikit bermalas-malasan. Mungkin aku harus menyelesaikan beberapa pekerjaan. Baiklah, ambil telur-telur ini sebagai tanda terima kasihku.\" Menerimanya, kalian duduk di tepi air, dan siap untuk bersantai.", + "questHippoBoss": "Sang Hippokrit", "questHippoDropHippoEgg": "Kuda Nil (Telur)", "questHippoUnlockText": "Dapatkan telur Kuda Nil yang dapat dibeli di Pasar", "farmFriendsText": "Bundel Misi Teman di Ladang", @@ -519,21 +519,21 @@ "questGroupLostMasterclasser": "Misteri para Masterclasser", "questUnlockLostMasterclasser": "Untuk membuka misi ini, selesaikan misi terakhir dari rangkaian misi berikut: 'Penderitaan Dilatory', 'Huru-hara di Mistiflying', 'Malapetaka Stoïkalm', dan 'Teror di Taskwoods'.", "questLostMasterclasser1Text": "Misteri para Masterclasser, Bagian 1: Baca Hal yang Tidak Tersurat", - "questLostMasterclasser1Notes": "You’re unexpectedly summoned by @beffymaroo and @Lemoness to Habit Hall, where you’re astonished to find all four of Habitica’s Masterclassers awaiting you in the wan light of dawn. Even the Joyful Reaper looks somber.

“Oho, you’re here,” says the April Fool. “Now, we would not rouse you from your rest without a truly dire—”

“Help us investigate the recent bout of possessions,” interrupts Lady Glaciate. “All the victims blamed someone named Tzina.”

The April Fool is clearly affronted by the summary. “What about my speech?” he hisses to her. “With the fog and thunderstorm effects?”

“We’re in a hurry,” she mutters back. “And my mammoths are still soggy from your incessant practicing.”

“I’m afraid that the esteemed Master of Warriors is correct,” says King Manta. “Time is of the essence. Will you aid us?”

When you nod, he waves his hands to open a portal, revealing an underwater room. “Swim down with me to Dilatory, and we will scour my library for any references that might give us a clue.” At your look of confusion, he adds, “Don’t worry, the paper was enchanted long before Dilatory sank. None of the books are the slightest bit damp!” He winks.“Unlike Lady Glaciate’s mammoths.”

“I heard that, Manta.”

As you dive into the water after the Master of Mages, your legs magically fuse into fins. Though your body is buoyant, your heart sinks when you see the thousands of bookshelves. Better start reading…", - "questLostMasterclasser1Completion": "After hours of poring through volumes, you still haven’t found any useful information.

“It seems impossible that there isn’t even the tiniest reference to anything relevant,” says head librarian @Tuqjoi, and their assistant @stefalupagus nods in frustration.

King Manta’s eyes narrow. “Not impossible…” he says. “Intentional.” For a moment, the water glows around his hands, and several of the books shudder. “Something is obscuring information,” he says. “Not just a static spell, but something with a will of its own. Something… alive.” He swims up from the table. “The Joyful Reaper needs to hear about this. Let’s pack a meal for the road.”", + "questLostMasterclasser1Notes": "Kamu tiba-tiba dipanggil oleh @beffymaroo dan @Lemoness ke Aula Habit, di mana kamu terkejut menemukan keempat Masterclasser Habitica menunggumu di tengah cahaya fajar yang redup. Bahkan Reaper Gembira pun terlihat muram.

\"Oho, kau di sini,\" kata April Fool. \"Sekarang, kami tidak akan membangunkanmu dari peristirahatanmu kalau bukan karena hal yang benar-benar mengerikan—”

“Bantu kami menyelidiki pertarungan harta baru-baru ini,\" sela Nona Glaciate. \"Semua korban menyalahkan seseorang bernama Tzina.\"

April Fool jelas tersindir oleh selaan yang ringkas itu. \"Hey, bagaimana dengan pidatoku?\" dia merajuk pada sang Nona. \"Dengan efek kabut dan badai petir?\"

\"Kami sedang terburu-buru,\" gumamnya kembali. \"Juga mammothku masih basah karena latihanmu yang tanpa henti.”

“Sepertinya Master Prajurit yang terhormat benar,\" kata Raja Manta. \"Waktu adalah esensi. Maukah kamu membantu kami?\"

Ketika kamu mengangguk, dia melambaikan tangannya untuk membuka portal, memperlihatkan ruang bawah air. \"Berenanglah bersamaku ke Dilatory, kami akan menjelajahi perpustakaan ini untuk mencari referensi yang bisa memberi petunjuk.\" Menjawab pandangan kebingunganmu, ia menambahkan, \"Jangan khawatir, kertas-kertas di sana sudah terlapisi sihir jauh sebelum Dilatory tenggelam. Tidak ada buku sedikit pun yang lembab!\" Dia mengedipkan mata.\" Tidak seperti Mammoth punya Nona Glaciate.\"

\"Aku mendengar kata-katamu, Manta.”

Saat kamu menyelam ke dalam air di belakang Master Penyihir, kakimu secara ajaib menyatu menjadi sirip. Meskipun tubuhmu mengapung, hatimu menjadi tenggelam ketika kamu melihat ribuan rak buku. Sebaiknya kamu mulai membaca…", + "questLostMasterclasser1Completion": "Setelah berjam-jam meneliti buku-buku, kamu masih belum menemukan informasi yang berguna.

“Tampaknya tidak mungkin, bahkan tidak ada referensi sedikit pun yang relevan,” kata kepala pustakawan @Tuqjoi, dan asistennya @stefalupagus mengangguk frustasi.

Mata Raja Manta menyipit. “Bukan tidak mungkin…” katanya. “Disengaja.” Untuk sesaat, air berkilau di sekitar tangannya, dan beberapa buku bergidik. “Ada sesuatu yang jelas-jelas mengaburkan informasi,” katanya. “Bukan hanya mantra yang statis, ini sesuatu yang punya keinginan sendiri. Sesuatu ini… hidup.” Dia berenang dari meja. “Reaper Gembira harus tahu tentang ini. Ayo siapkan makanan untuk perjalanan.”", "questLostMasterclasser1CollectAncientTomes": "Buku Kuno", "questLostMasterclasser1CollectForbiddenTomes": "Buku Terlarang", "questLostMasterclasser1CollectHiddenTomes": "Buku Tersembunyi", "questLostMasterclasser2Text": "Misteri para Masterclasser, Bagian 2: Merakit sang a'Voidant", - "questLostMasterclasser2Notes": "The Joyful Reaper drums her bony fingers on some of the books that you brought. “Oh, dear,” the Master of Healers says. “There is a malevolent life essence at work. I might have guessed, considering the attacks by reanimated skulls during each incident.” Her assistant @tricksy.fox brings in a chest, and you are startled to see the contents that @beffymaroo unloads: the very same objects once used by this mysterious Tzina to possess people.

“I’m going to use resonant healing magic to try to make this creature manifest,” the Joyful Reaper says, reminding you that the skeleton is a somewhat unconventional Healer. “You’ll need to read the revealed information quickly, in case it breaks loose.”

As she concentrates, a twisting mist begins to siphon from the books and twine around the objects. Quickly, you flip through the pages, trying to read the new lines of text that are writhing into view. You catch only a few snippets: “Sands of the Timewastes” — “the Great Disaster” —“split into four”— “permanently corrupted”— before a single name catches your eye: Zinnya.

Abruptly, the pages wrench free from your fingers and shred themselves as a howling creature explodes into being, coalescing around the possessed objects.

“It’s an a’Voidant!” the Joyful Reaper shouts, throwing up a protection spell. “They’re ancient creatures of confusion and obscurity. If this Tzina can control one, she must have a frightening command over life magic. Quickly, attack it before it escapes back into the books!”

", - "questLostMasterclasser2Completion": "The a’Voidant succumbs at last, and you share the snippets that you read.

“None of those references sound familiar, even for someone as old as I,” the Joyful Reaper says. “Except… the Timewastes are a distant desert at the most hostile edge of Habitica. Portals often fail nearby, but swift mounts could get you there in no time. Lady Glaciate will be glad to assist.” Her voice grows amused. “Which means that the enamored Master of Rogues will undoubtedly tag along.” She hands you the glimmering mask. “Perhaps you should try to track the lingering magic in these items to its source. I’ll go harvest some sustenance for your journey.”", + "questLostMasterclasser2Notes": "Reaper Gembira menggerakkan jari-jarinya yang lentik pada beberapa buku yang kamu bawa. \"Oh, tidak,\" kata Master Penyembuh. “Ada esensi kehidupan jahat sedang bekerja. Aku sudah mengira, mengingat serangan tengkorak yang hidup kembali ada di setiap insiden.” Asistennya @tricksy.fox membawa peti, dan kamu terkejut melihat isi yang dikeluarkan @beffymaroo: benda yang sama yang pernah digunakan oleh Tzina misterius ini untuk merasuki orang-orang.

“Aku akan melakukannya gunakan sihir penyembuhan resonan untuk mencoba mewujudkan makhluk ini, ”kata Reaper Gembira, mengingatkanmu bahwa kerangka itu adalah Penyembuh yang sebetulnya tidak konvensional. “Kamu harus membaca informasi yang terungkap dengan cepat, jangan sampai informasi itu lepas.”

Saat dia berkonsentrasi, kabut berputar mulai beralih dari buku-buku dan melilit benda-benda di sekitrarnya. Dengan cepat, kamu membolak-balik halaman, mencoba membaca baris teks baru yang mulai terlihat. Kamu hanya menangkap beberapa cuplikan: “Pasir Limbah Waktu” — “Bencana Besar” —“terbagi menjadi empat”— “rusak secara permanen”— sebelum satu nama menarik perhatianmu: Zinnya.

Tiba-tiba, halaman merenggut lepas dari jari-jarimu dan mencabik-cabik dirinya sendiri saat makhluk yang melolong meledak menjadi sesuatu makhluk, menyatu di sekitar objek yang dirasuki tadi.

“Itu adalah 'Voidant!” teriak Reaper Gembira, memuntahkan mantra perlindungan. “Mereka adalah makhluk kuno yang penuh kebingungan dan ketidakjelasan. Jika Tzina ini bisa mengendalikannya, dia pasti memiliki kekuatan menakutkan mengenai sihir kehidupan. Cepat, serang dia sebelum kabur kembali ke dalam buku!”

", + "questLostMasterclasser2Completion": "A'Voidant akhirnya menyerah, lalu kamu menyerahkan lembaran yang sudah kamu baca barusan.

\"Tak satu pun dari tulisan ini familiar, bahkan bagiku yang setua ini\" kata Reaper Gembira. \"Kecuali... Timewastes adalah gurun yang jauh di tepi Habitica yang paling berbahaya. Portal di dekatnya sering sekali rusak, tetapi tunggangan bisa membawamu ke sana dengan cepat. Nona Glaciate akan dengan senang hati membantu.\" Suaranya menjadi geli. \"Yang berarti Master Perampok yang terpikat dengannya juga akan ikut.\" Dia memberimu topeng berkilauan. \"Mungkin kamu harus mengikuti sihir yang tersisa di barang-barang ini sampai ke sumbernya. Aku akan pergi mengambil persediaan untuk perjalananmu.\"", "questLostMasterclasser2Boss": "Sang a'Voidant", "questLostMasterclasser2DropEyewear": "Topeng Aether (Aksesori Mata)", "questLostMasterclasser3Text": "Misteri para Masterclasser, Bagian 3: Kota di Tengah Pasir", - "questLostMasterclasser3Notes": "As night unfurls over the scorching sands of the Timewastes, your guides @AnnDeLune, @Kiwibot, and @Katy133 lead you forward. Some bleached pillars poke from the shadowed dunes, and as you approach them, a strange skittering sound echoes across the seemingly-abandoned expanse.

“Invisible creatures!” says the April Fool, clearly covetous. “Oho! Just imagine the possibilities. This must be the work of a truly stealthy Rogue.”

“A Rogue who could be watching us,” says Lady Glaciate, dismounting and raising her spear. “If there’s a head-on attack, try not to irritate our opponent. I don’t want a repeat of the volcano incident.”

He beams at her. “But it was one of your most resplendent rescues.”

To your surprise, Lady Glaciate turns very pink at the compliment. She hastily stomps away to examine the ruins.

“Looks like the wreck of an ancient city,” says @AnnDeLune. “I wonder what…”

Before she can finish her sentence, a portal roars open in the sky. Wasn’t that magic supposed to be nearly impossible here? The hoofbeats of the invisible animals thunder as they flee in panic, and you steady yourself against the onslaught of shrieking skulls that flood the skies.", - "questLostMasterclasser3Completion": "The April Fool surprises the final skull with a spray of sand, and it blunders backwards into Lady Glaciate, who smashes it expertly. As you catch your breath and look up, you see a single flash of someone’s silhouette moving on the other side of the closing portal. Thinking quickly, you snatch up the amulet from the chest of previously-possessed items, and sure enough, it’s drawn towards the unseen person. Ignoring the shouts of alarm from Lady Glaciate and the April Fool, you leap through the portal just as it snaps shut, plummeting into an inky swath of nothingness.", + "questLostMasterclasser3Notes": "Saat malam membentangkan pasir terik Timewastes, pemandumu @AnnDeLune, @Kiwibot, dan @Katy133 menuntunmu ke depan. Beberapa pilar yang diputihkan menyembul dari bukit pasir yang teduh, dan saat kamu mendekatinya, suara gemerincing aneh bergema di hamparan yang tampaknya ditinggalkan.

\"Makhluk tak terlihat!\" kata April Fool, tampak membanggakan diri. “Aduh! Bisa kubayangkan kemungkinannya. Ini pasti karya Perampok keren yang benar-benar samar dan tersembunyi. \"

\"Seorang mengawasi kita,\" kata Nona Glaciate, sembari turun dari tunggangan seraya mengangkat tombaknya. \"Jika ada serangan langsung, cobalah untuk tidak membuat lawan kesal. Aku tidak ingin terulangnya insiden gunung berapi.\"

April Fool memandang berseri-seri pada Nona Glaciate. \"Tapi itu adalah aksi penyelamatanmu yang paling gemilang.\"

Tanpa kamu duga, wajah Nona Glaciate merona karena pujian itu. Dia buru-buru melangkah pergi untuk memeriksa reruntuhan.

\"Sepertinya reruntuhan kota kuno,\" kata @AnnDeLune.

Sebelum dia menyelesaikan kalimatnya, sebuah portal mengaum terbuka di langit. Bukannya sihir itu seharusnya tidak bisa dilakukan di sini? Kuku binatang yang tak terlihat bergemuruh saat mereka melarikan diri dengan panik, tetapi kemudian kamu menenangkan diri menghadapi serangan tengkorak yang menjerit membanjiri langit.", + "questLostMasterclasser3Completion": "April Fool mengejutkan tengkorak terakhir dengan semprotan pasir, tapi justru membuatnya berbalik mundur ke arah Nona Glaciate, yang kemudian menghancurkannya dengan piawai. Saat kamu mengatur napas dan melihat ke atas, terlihat satu kilasan siluet seseorang bergerak di sisi lain portal. Berpikir cepat, kamu mengambil jimat dari peti berisi barang-barang yang sebelumnya telah kerasukan, dan tentu saja, barang-barang tersebut tertarik ke arah orang yang tak terlihat tadi. Mengabaikan peringatan dari Nona Glaciate dan April Fool, kamu segera melompat melalui portal tepat saat portal itu menutup, terperosok ke rawa ketiadaan.", "questLostMasterclasser3Boss": "Kawanan Tengkorak Kehampaan", - "questLostMasterclasser3RageTitle": "Swarm Respawn", + "questLostMasterclasser3RageTitle": "Kebangkitan Kawanan", "questLostMasterclasser3RageDescription": "Kebangkitan Kawanan: Bar ini terisi jika kamu tidak menyelesaikan tugas harianmu. Ketika penuh, Kawanan Tengkorak Kehampaan akan mendapatkan kembali 30% dari nyawa yang tersisa!", "questLostMasterclasser3RageEffect": "'Kawanan Tengkorak Kehampaan menggunakan KEBANGKITAN KAWANAN!'\n\nSemaking berani karena kemenangan mereka. lebih banyak tengkorak menjerit turun dari langit, menyelimuti kawanan itu!", "questLostMasterclasser3DropBodyAccessory": "Kalung Aether (Aksesoris Tubuh)", @@ -544,8 +544,8 @@ "questLostMasterclasser3DropZombiePotion": "Ramuan Penetas Mayat Hidup", "questLostMasterclasser4Text": "Misteri para Masterclasser, Bagian 4: Masterclasser yang Hilang", "questLostMasterclasser4Notes": "Kamu keluar dari portal, tapi masih melayang di alam baka yang aneh dan berubah-ubah. \"Ternyata kamu berani,\" kata sebuah suara dingin. \"Harus kuakui, aku belum merencanakan konfrontasi langsung.\" Seorang wanita muncul dari pusaran kegelapan . \"Selamat datang di Alam Kehampaan.\"

Kamu mencoba melawan rasa mual. \"Apakah kamu Zinnya?\" tanyamu.

\"Itu nama tua untuk seorang idealis,\" jawabnya, mulutnya terpilin, dan alam di bawahmu menggeliat. \"Bukan. Kalaupun ada, kamu harus memanggilku Anti'zinnya sekarang, mengingat hal yang telah aku perbuat dan hancurkan.\"

Tiba-tiba, portal itu membuka kembali di belakangmu, dan sewaktu keempat Masterclasser muncul, bergerak cepat ke sisimu, mata Anti'zinnya dipenuhi kebencian. \"Ah, akhirnya keempat penggantiku yang menyedihkan ini berhasil mengikutimu.\"

Kamu terbelalak. \"Pengganti?\"

\"Sebagai Master Aethermancer, akulah sang Masterclasser pertama — satu-satunya Masterclasser. Empat orang ini hanyalah cemoohan, masing-masing hanya punya sebagian kemampuanku dulu! Aku mengendalikan semua kemampuan dan menguasai semua kemampuan. Aku membentuk duniamu itu semauku — hingga aether pengkhianat itu hancur karena beban dari talentaku dan ekspektasiku yang masuk akal. Aku terperangkap selama ribuan tahun dalam kehampaan yang dihasilkan, memulihkan diri. Bayangkan rasa muakku sewaktu mengetahui bahwa warisanku telah dirusak.\" Ia mengeluarkan tawa yang rendah dan bergema. \"Rencanaku sebelumnya adalah menghancurkan daerah mereka sebelum menghancurkan mereka, tapi kurasa urutannya tidak penting.\" Dengan ledakan kekuatan yang luar biasa, ia menyerbu maju, dan Alam Kehampaan meledak menjadi kekacauan.", - "questLostMasterclasser4Completion": "Under the onslaught of your final attack, the Lost Masterclasser screams in frustration, her body flickering into translucence. The thrashing void stills around her as she slumps forward, and for a moment, she seems to change, becoming younger, calmer, with an expression of peace upon her face… but then everything melts away with scarcely a whisper, and you’re kneeling once more in the desert sand.

“It seems that we have much to learn about our own history,” King Manta says, staring at the broken ruins. “After the Master Aethermancer grew overwhelmed and lost control of her abilities, the outpouring of void must have leached the life from the entire land. Everything probably became deserts like this.”

“No wonder the ancients who founded Habitica stressed a balance of productivity and wellness,” the Joyful Reaper murmurs. “Rebuilding their world would have been a daunting task requiring considerable hard work, but they would have wanted to prevent such a catastrophe from happening again.”

“Oho, look at those formerly possessed items!” says the April Fool. Sure enough, all of them shimmer with a pale, glimmering translucence from the final burst of aether released when you laid Anti’zinnya’s spirit to rest. “What a dazzling effect. I must take notes.”

“The concentrated remnants of aether in this area probably caused these animals to go invisible, too,” says Lady Glaciate, scratching a patch of emptiness behind the ears. You feel an unseen fluffy head nudge your hand, and suspect that you’ll have to do some explaining at the Stables back home. As you look at the ruins one last time, you spot all that remains of the first Masterclasser: her shimmering cloak. Lifting it onto your shoulders, you head back to Habit City, pondering everything that you have learned.

", - "questLostMasterclasser4Boss": "Anti'zinnya", + "questLostMasterclasser4Completion": "Setelah serangan terakhirmu, Masterclasser yang Hilang berteriak frustrasi, tubuhnya berkedip-kedip menjadi tembus cahaya. Aura kekosongan yang meronta-ronta masih ada di sekelilingnya saat dia terjatuh ke depan, lalu untuk sesaat, dia tampak berubah, menjadi lebih muda, lebih tenang, dengan ekspresi damai di wajahnya ... Tapi kemudian semuanya mencair tanpa suara, lalu tiba-tiba kamu sudah berlutut lagi di pasir gurun.

\"Sepertinya kita harus banyak belajar tentang sejarah kita sendiri,\" kata Raja Manta, menatap reruntuhan yang rusak. \"Setelah Master Aethermancer kewalahan dan kehilangan kendali atas kemampuannya, luapan kehampaan sepertinya menghisap kehidupan dari seluruh negeri. Semuanya lalu menjadi gurun seperti ini.\"

\"Tidak heran orang terdahulu yang mendirikan Habitica menekankan keseimbangan produktivitas dan kesehatan,\" gumam Reaper Gembira. \"Membangun kembali dunia mereka akan menjadi tugas menakutkan yang membutuhkan kerja keras, tetapi mereka pasti tidak ingin bencana seperti itu terjadi lagi.\"

\"Oho, lihat barang-barang yang sebelumnya kerasukan ini!\" kata April Fool. Benar saja, semuanya berkilauan tembus cahaya berwarna pucat berkilauan akibat ledakan terakhir ether yang dilepaskan ketika kamu mengantarkan jiwa Anti'zinnya ke peristirahatannya. \"Sungguh efek yang mempesona. Aku harus mencatatnya.\"

\"Sisa-sisa eter yang terkonsentrasi di daerah ini mungkin menyebabkan hewan-hewan ini juga tidak terlihat,\" kata Nona Glaciate, menggaruk sepetak kekosongan di belakang telinga. Kamu merasakan hewan berbulu tak terlihat menyenggol tanganmu, dan merasa bahwa kamu harus menjelaskan sesuatu saat pulang ke rumah dan membawanya ke Kandang. Saat kamu melihat reruntuhan untuk terakhir kalinya, kamu melihat semua yang tersisa dari Masterclasser pertama: jubahnya yang berkilauan. Kamu mengangkatnya ke bahumu, kemudian berjalan kembali ke Kota Habit, merenungkan semua yang telah kamu pelajari.

", + "questLostMasterclasser4Boss": "Anti‘zinnya", "questLostMasterclasser4RageTitle": "Pusaran Kehampaan", "questLostMasterclasser4RageDescription": "Pusaran Kehampaan: Bar ini terisi jika kamu tidak menyelesaikan tugas harianmu. Ketika penuh, Anti'zinnya akan mengambil Mana seluruh party-mu!", "questLostMasterclasser4RageEffect": "`Anti'zinnya menggunakan PUSARAN KEHAMPAAN!` Dengan kebalikan jahat dari mantra Gelombang Ethereal, kamu merasakan sihirmu diserap habis ke dalam kegelapan!", @@ -568,71 +568,199 @@ "questPterodactylUnlockText": "Dapatkan telur Pterodaktil yang dapat dibeli di Pasar", "questBadgerText": "Berhenti Merengeki Aku!", "questBadgerNotes": "Ah, winter in the Taskwoods. The softly falling snow, the branches sparkling with frost, the Flourishing Fairies… still not snoozing?

“Why are they still awake?” cries @LilithofAlfheim. “If they don't hibernate soon, they'll never have the energy for planting season.”

As you and @Willow the Witty hurry to investigate, a furry head pops up from the ground. Before you can yell, “It’s the Badgering Bother!” it’s back in its burrow—but not before snatching up the Fairies' “Hibernate” To-Dos and dropping a giant list of pesky tasks in their place!

“No wonder the fairies aren't resting, if they're constantly being badgered like that!” @plumilla says. Can you chase off this beast and save the Taskwood’s harvest this year?", - "questBadgerCompletion": "You finally drive away the the Badgering Bother and hurry into its burrow. At the end of a tunnel, you find its hoard of the faeries’ “Hibernate” To-Dos. The den is otherwise abandoned, except for three eggs that look ready to hatch.", + "questBadgerCompletion": "Kamu akhirnya mengusir Luak Perengek dan bergegas ke liangnya. Di ujung terowongan, kamu menemukan timbunan agenda \"Hibernasi\" faeries. Sarang itu ditinggalkan, kecuali tiga telur yang terlihat siap menetas.", "questBadgerBoss": "Sang Luak Perengek", "questBadgerDropBadgerEgg": "Luak (Telur)", "questBadgerUnlockText": "Dapatkan telur Luak yang dapat dibeli di Pasar", - "questDysheartenerText": "The Dysheartener", - "questDysheartenerNotes": "The sun is rising on Valentine’s Day when a shocking crash splinters the air. A blaze of sickly pink light lances through all the buildings, and bricks crumble as a deep crack rips through Habit City’s main street. An unearthly shrieking rises through the air, shattering windows as a hulking form slithers forth from the gaping earth.

Mandibles snap and a carapace glitters; legs upon legs unfurl in the air. The crowd begins to scream as the insectoid creature rears up, revealing itself to be none other than that cruelest of creatures: the fearsome Dysheartener itself. It howls in anticipation and lunges forward, hungering to gnaw on the hopes of hard-working Habiticans. With each rasping scrape of its spiny forelegs, you feel a vise of despair tightening in your chest.

“Take heart, everyone!” Lemoness shouts. “It probably thinks that we’re easy targets because so many of us have daunting New Year’s Resolutions, but it’s about to discover that Habiticans know how to stick to their goals!”

AnnDeLune raises her staff. “Let’s tackle our tasks and take this monster down!”", - "questDysheartenerCompletion": "The Dysheartener is DEFEATED!

Together, everyone in Habitica strikes a final blow to their tasks, and the Dysheartener rears back, shrieking with dismay. “What's wrong, Dysheartener?” AnnDeLune calls, eyes sparkling. “Feeling discouraged?”

Glowing pink fractures crack across the Dysheartener's carapace, and it shatters in a puff of pink smoke. As a renewed sense of vigor and determination sweeps across the land, a flurry of delightful sweets rains down upon everyone.

The crowd cheers wildly, hugging each other as their pets happily chew on the belated Valentine's treats. Suddenly, a joyful chorus of song cascades through the air, and gleaming silhouettes soar across the sky.

Our newly-invigorated optimism has attracted a flock of Hopeful Hippogriffs! The graceful creatures alight upon the ground, ruffling their feathers with interest and prancing about. “It looks like we've made some new friends to help keep our spirits high, even when our tasks are daunting,” Lemoness says.

Beffymaroo already has her arms full with feathered fluffballs. “Maybe they'll help us rebuild the damaged areas of Habitica!”

Crooning and singing, the Hippogriffs lead the way as all the Habitcans work together to restore our beloved home.", - "questDysheartenerCompletionChat": "`The Dysheartener is DEFEATED!`\n\nTogether, everyone in Habitica strikes a final blow to their tasks, and the Dysheartener rears back, shrieking with dismay. “What's wrong, Dysheartener?” AnnDeLune calls, eyes sparkling. “Feeling discouraged?”\n\nGlowing pink fractures crack across the Dysheartener's carapace, and it shatters in a puff of pink smoke. As a renewed sense of vigor and determination sweeps across the land, a flurry of delightful sweets rains down upon everyone.\n\nThe crowd cheers wildly, hugging each other as their pets happily chew on the belated Valentine's treats. Suddenly, a joyful chorus of song cascades through the air, and gleaming silhouettes soar across the sky.\n\nOur newly-invigorated optimism has attracted a flock of Hopeful Hippogriffs! The graceful creatures alight upon the ground, ruffling their feathers with interest and prancing about. “It looks like we've made some new friends to help keep our spirits high, even when our tasks are daunting,” Lemoness says.\n\nBeffymaroo already has her arms full with feathered fluffballs. “Maybe they'll help us rebuild the damaged areas of Habitica!”\n\nCrooning and singing, the Hippogriffs lead the way as all the Habitcans work together to restore our beloved home.", - "questDysheartenerBossRageTitle": "Shattering Heartbreak", - "questDysheartenerBossRageDescription": "The Rage Attack gauge fills when Habiticans miss their Dailies. If it fills up, the Dysheartener will unleash its Shattering Heartbreak attack on one of Habitica's shopkeepers, so be sure to do your tasks!", - "questDysheartenerBossRageSeasonal": "`The Dysheartener uses SHATTERING HEARTBREAK!`\n\nOh, no! After feasting on our undone Dailies, the Dysheartener has gained the strength to unleash its Shattering Heartbreak attack. With a shrill shriek, it brings its spiny forelegs down upon the pavilion that houses the Seasonal Shop! The concussive blast of magic shreds the wood, and the Seasonal Sorceress is overcome by sorrow at the sight.\n\nQuickly, let's keep doing our Dailies so that the beast won't strike again!", - "seasonalShopRageStrikeHeader": "The Seasonal Shop was Attacked!", - "seasonalShopRageStrikeLead": "Leslie is Heartbroken!", - "seasonalShopRageStrikeRecap": "On February 21, our beloved Leslie the Seasonal Sorceress was devastated when the Dysheartener shattered the Seasonal Shop. Quickly, tackle your tasks to defeat the monster and help rebuild!", - "marketRageStrikeHeader": "The Market was Attacked!", - "marketRageStrikeLead": "Alex is Heartbroken!", - "marketRageStrikeRecap": "On February 28, our marvelous Alex the Merchant was horrified when the Dysheartener shattered the Market. Quickly, tackle your tasks to defeat the monster and help rebuild!", - "questsRageStrikeHeader": "The Quest Shop was Attacked!", - "questsRageStrikeLead": "Ian is Heartbroken!", - "questsRageStrikeRecap": "On March 6, our wonderful Ian the Quest Guide was deeply shaken when the Dysheartener shattered the ground around the Quest Shop. Quickly, tackle your tasks to defeat the monster and help rebuild!", - "questDysheartenerBossRageMarket": "`The Dysheartener uses SHATTERING HEARTBREAK!`\n\nHelp! After feasting on our incomplete Dailies, the Dysheartener lets out another Shattering Heartbreak attack, smashing the walls and floor of the Market! As stone rains down, Alex the Merchant weeps at his crushed merchandise, stricken by the destruction.\n\nWe can't let this happen again! Be sure to do all our your Dailies to prevent the Dysheartener from using its final strike.", - "questDysheartenerBossRageQuests": "`The Dysheartener uses SHATTERING HEARTBREAK!`\n\nAaaah! We've left our Dailies undone again, and the Dysheartener has mustered the energy for one final blow against our beloved shopkeepers. The countryside around Ian the Quest Master is ripped apart by its Shattering Heartbreak attack, and Ian is struck to the core by the horrific vision. We're so close to defeating this monster.... Hurry! Don't stop now!", - "questDysheartenerDropHippogriffPet": "Hopeful Hippogriff (Pet)", - "questDysheartenerDropHippogriffMount": "Hopeful Hippogriff (Mount)", - "dysheartenerArtCredit": "Artwork by @AnnDeLune", - "hugabugText": "Hug a Bug Quest Bundle", - "hugabugNotes": "Contains 'The CRITICAL BUG,' 'The Snail of Drudgery Sludge,' and 'Bye, Bye, Butterfry.' Available until March 31.", - "questSquirrelText": "The Sneaky Squirrel", - "questSquirrelNotes": "You wake up and find you’ve overslept! Why didn’t your alarm go off? … How did an acorn get stuck in the ringer?

When you try to make breakfast, the toaster is stuffed with acorns. When you go to retrieve your mount, @Shtut is there, trying unsuccessfully to unlock their stable. They look into the keyhole. “Is that an acorn in there?”

@randomdaisy cries out, “Oh no! I knew my pet squirrels had gotten out, but I didn’t know they’d made such trouble! Can you help me round them up before they make any more of a mess?”

Following the trail of mischievously placed oak nuts, you track and catch the wayward sciurines, with @Cantras helping secure each one safely at home. But just when you think your task is almost complete, an acorn bounces off your helm! You look up to see a mighty beast of a squirrel, crouched in defense of a prodigious pile of seeds.

“Oh dear,” says @randomdaisy, softly. “She’s always been something of a resource guarder. We’ll have to proceed very carefully!” You circle up with your party, ready for trouble!", - "questSquirrelCompletion": "With a gentle approach, offers of trade, and a few soothing spells, you’re able to coax the squirrel away from its hoard and back to the stables, which @Shtut has just finished de-acorning. They’ve set aside a few of the acorns on a worktable. “These ones are squirrel eggs! Maybe you can raise some that don’t play with their food quite so much.”", - "questSquirrelBoss": "Sneaky Squirrel", - "questSquirrelDropSquirrelEgg": "Squirrel (Egg)", + "questDysheartenerText": "Sang Dysheartener", + "questDysheartenerNotes": "Matahari terbit pada Hari Valentine ketika sebuah tabrakan mengejutkan memecah udara. Kobaran cahaya merah muda menembus semua bangunan, dan dinding rumah-rumah runtuh bersama dengan munculnya retakan dalam yang membelah jalan utama Kota Habit. Jeritan yang tidak wajar menyeruak ke langit, menghancurkan jendela-jendela saat seekor raksasa merayap keluar dari bumi yang menganga.

Mandibula patah dan karapas yang berkilau; kaki demi kaki pun terbentang di udara. Kerumunan mulai panik ketika makhluk berbentuk serangga raksasa muncul, mengungkapkan dirinya yang tidak lain adalah makhluk paling kejam: Sang Dysheartener yang menakutkan itu sendiri. Ia melolong dan menerjang, lapar menggerogoti harapan para Habitican yang bekerja keras. Dengan setiap goresan serak kaki depannya yang berduri, kamu merasakan getaran keputusasaan mengencang di dadamu.

\"Tenangkan hati, semuanya!\" Lemoness berteriak. \"Mungkin dia berpikir bahwa kita adalah sasaran empuk karena banyak dari kita memiliki Resolusi Tahun Baru menakutkan, tetapi dia akan segera mengetahui bahwa Habiticans tahu bagaimana tetap berpegang pada tujuan mereka!\"

AnnDeLune mengangkat tongkatnya. \"Ayo selesaikan tugas-tugas kita dan kalahkan monster ini!\"", + "questDysheartenerCompletion": "Dysheartener DIKALAHKAN!

Bersama-sama, semua orang di Habitica memberikan pukulan terakhir pada tugas mereka, dan Dysheartener bangkit kembali, menjerit cemas. \"Ada apa, Dysheartener?\" kata AnnDeLune, dengan matanya yang berbinar. \"Merasa putus asa?\"

Patahan merah muda bercahaya retak di karapas Dysheartener, dan hancur dalam kepulan asap merah muda. Saat rasa semangat dan tekad yang baru menyapu seluruh negeri, jutaan permen jatuh menghujani semua orang.

Kerumunan bersorak-sorai, saling berpelukan saat peliharaan mereka dengan senang hati mengunyah suguhan Valentine yang sempat tertunda. Tiba-tiba, paduan suara lagu yang indah mengalir di udara, dan siluet berkilauan muncul di langit.

Optimisme yang baru telah menarik sekawanan Hippogriff Harapan! Makhluk-makhluk anggun turun ke tanah, mengacak-acak bulu mereka dengan penuh minat dan berjingkrak-jingkrak. \"Sepertinya kita telah menambah beberapa teman baru untuk membantu menjaga semangat, bahkan ketika tugas-tugas terasa menakutkan,\" kata Lemoness.

Lengan Beffymaroo sudah penuh dengan gumpalan bulu-bulu. \"Mungkin mereka akan membantu kita membangun kembali daerah Habitica yang rusak!\"

Sambil bernyanyi dan bernyanyi, Hippogriff memimpin jalan karena semua Habitcans bekerja sama untuk memulihkan rumah kita tercinta.", + "questDysheartenerCompletionChat": "`Dysheartener DIKALAHKAN!`\n\nBersama-sama, semua orang di Habitica memberikan pukulan terakhir pada tugas mereka, dan Dysheartener bangkit kembali, menjerit cemas. \"Ada apa, Dysheartener?\" kata AnnDeLune, dengan matanya yang berbinar. \"Merasa putus asa?\"\n\nPatahan merah muda bercahaya retak di karapas Dysheartener, dan hancur dalam kepulan asap merah muda. Saat rasa semangat dan tekad yang baru menyapu seluruh negeri, jutaan permen jatuh menghujani semua orang.\n\nKerumunan bersorak-sorai, saling berpelukan saat peliharaan mereka dengan senang hati mengunyah suguhan Valentine yang sempat tertunda. Tiba-tiba, paduan suara lagu yang indah mengalir di udara, dan siluet berkilauan muncul di langit.\n\nOptimisme yang baru telah menarik sekawanan Hippogriff Harapan! Makhluk-makhluk anggun turun ke tanah, mengacak-acak bulu mereka dengan penuh minat dan berjingkrak-jingkrak. \"Sepertinya kita telah menambah beberapa teman baru untuk membantu menjaga semangat, bahkan ketika tugas-tugas terasa menakutkan,\" kata Lemoness.\n\nLengan Beffymaroo sudah penuh dengan gumpalan bulu-bulu. \"Mungkin mereka akan membantu kita membangun kembali daerah Habitica yang rusak!\"\n\nSambil bernyanyi dan bernyanyi, Hippogriff memimpin jalan karena semua Habitcans bekerja sama untuk memulihkan rumah kita tercinta.", + "questDysheartenerBossRageTitle": "Patah Hati Berkeping-Keping", + "questDysheartenerBossRageDescription": "Pengukur Serangan Amarah terisi ketika Habiticans melewatkan Keseharian mereka. Jika terisi, Dysheartener akan melepaskan serangan Patah Hati Berkeping-Keping pada salah satu penjaga toko Habitica, jadi pastikan untuk menyelesaikan tugasmu!", + "questDysheartenerBossRageSeasonal": "`Dysheartener menggunakan PATAH HATI BERKEPING-KEPING!`\n\nOh, tidak! Setelah memangsa Keseharian kita yang belum selesai, Dysheartener mendapatkan cukup kekuatan untuk melancarkan serangan Patah Hati Berkeping-Keping-nya. Dengan jeritan melengking, ia mengangkat kaki depannya yang berduri ke atas paviliun Toko Musiman! Ledakan sihir yang menggelegar merobek dinding, kemudian Penyihir Musiman menjadi diliputi oleh kesedihan saat melihatnya.\n\nCepat, mari kita terus menyelesaikan Keseharian kita agar makhluk itu tidak menyerang lagi!", + "seasonalShopRageStrikeHeader": "Toko Musiman diserang!", + "seasonalShopRageStrikeLead": "Lesli Patah Hati!", + "seasonalShopRageStrikeRecap": "Pada tanggal 21 Februari, Lesli si Penyihir Musiman kita tercinta hancur ketika Dysheartener menghancurkan Toko Musiman. Cepat, selesaikan tugasmu untuk mengalahkan monster dan bantu membangun kembali!", + "marketRageStrikeHeader": "Pasar diserang!", + "marketRageStrikeLead": "Alex Patah Hati!", + "marketRageStrikeRecap": "Pada tanggal 28 Februari, Alex sang Saudagar kami yang luar biasa merasa ngeri ketika Dysheartener menghancurkan Pasar. Cepat, selesaikan tugasmu untuk mengalahkan monster dan bantu membangunnya kembali!", + "questsRageStrikeHeader": "Toko Misi diserang!", + "questsRageStrikeLead": "Ian Patah Hati!", + "questsRageStrikeRecap": "Pada tanggal 6 Maret, Ian Sang Pemandu Misi kami yang luar biasa sangat terguncang ketika Dysheartener menghancurkan tanah di sekitar Toko Misi. Cepat, selesaikan tugasmu untuk mengalahkan monster dan bantu membangunnya kembali!", + "questDysheartenerBossRageMarket": "`Dysheartener menggunakan PATAH HATI BERKEPING-KEPING!`\n\nTolong! Setelah memangsa Keseharian kami, Dysheartener mengeluarkan serangan Patah Hati Berkeping-Keping-nya lagi, menghancurkan dinding dan lantai Pasar! Saat hujan batu turun, Alex sang Saudagar menangis menyaksikan barang dagangannya berhamburan, dan dilanda kehancuran.\n\nKita tidak bisa membiarkan ini terjadi lagi! Pastikan menyelesaikan semua Keseharian-mu untuk mencegah Dysheartener menggunakan serangan terakhirnya.", + "questDysheartenerBossRageQuests": "`Dysheartener menggunakan PATAH HATI BERKEPING-KEPING!`\n\nAaaah! Kita membiarkan Keseharian kita tidak terselesaikan lagi, menyebabkan Dysheartener berhasil mengumpulkan energi untuk satu serangan terakhir ke pemilik toko tercinta kita. Pedesaan di sekitar Ian sang Master Sayembara terkoyak oleh serangan Patah Hati Berkeping-Keping-nya, dan Ian menjadi bersedih karena pemandangan yang mengerikan itu. Kita sudah hampir mengalahkan monster ini.... Cepat! Jangan berhenti sekarang!", + "questDysheartenerDropHippogriffPet": "Hippogriff Harapan (Peliharaan)", + "questDysheartenerDropHippogriffMount": "Hippogriff Harapan (Tunggangan)", + "dysheartenerArtCredit": "Hasil karya seni @AnnDeLune", + "hugabugText": "Bundel Misi Rangkulan Serangga", + "hugabugNotes": "Berisi 'GANGGUAN BUG KRITIKAL,' 'Siput Drudgery Sludge,' dan 'Sampai Jumpa, Kupu-Api.' Tersedia hingga 31 Maret.", + "questSquirrelText": "Tupai Licik", + "questSquirrelNotes": "Kamu terbangun dan mendapati dirimu kesiangan! Kenapa alarm-mu tidak berbunyi? ... Bagaimana biji ek bisa tersangkut di deringnya?

Ketika kamu mencoba membuat sarapan, pemanggang roti terisi dengan biji ek. Ketika kamu bersiap untuk mengendarai tunggangan, @Shtut sedang ada di sana, kesulitan membuka kunci kandang. Dia melihat ke dalam lubang kunci. \"Kok bisa di situ ada biji ek?\"

@randomdaisy berteriak, \"Oh tidak! Aku tahu tupai peliharaanku lepas, tetapi aku tidak tahu dia sampai membuat masalah seperti itu! Bisakah kamu membantuku menangkapnya sebelum dia membuat kekacauan lagi? \"

Mengikuti jejak biji ek yang ditempatkan dengan nakal, kamu melacak dan menangkap biang kerok yang bandel ini, dengan @Cantras membantu mengamankan masing-masing biji ek itu di rumah. Tetapi tepat ketika kamu berpikir tugasmu sudah hampir selesai, biji ek memantul dari helm-mu! Kamu mendongak dan melihat seekor tupai yang perkasa, berjongkok di atas tumpukan benih yang banyak sekali.

\"Oh tidak,\" kata @randomdaisy, lembut. \"Dia biasanya selalu menjadi penjaga sumber makanan. Kita harus melakukan ini dengan sangat hati-hati!\" kamu membentuk formasi melingkar bersama Party-mu, siap untuk menghadapi masalah ini!", + "questSquirrelCompletion": "Dengan pendekatan lembut, tawaran pertukaran, dan mantra penenang, kamu akhirnya dapat membujuk tupai menjauh dari timbunannya dan kembali ke kandang, yang baru saja @Shtut selesai perbaiki. Mereka menyisihkan beberapa biji ek di atas meja kerja. \"Yang ini telur tupai! Mungkin kamu bisa membesarkan beberapa ekor yang tidak bermain-main dengan makanan. \"", + "questSquirrelBoss": "Tupai Licik", + "questSquirrelDropSquirrelEgg": "Tupai (Telur)", "questSquirrelUnlockText": "Unlocks purchasable Squirrel eggs in the Market", - "cuddleBuddiesText": "Cuddle Buddies Quest Bundle", + "cuddleBuddiesText": "Bundel Misi Sahabat Imut", "cuddleBuddiesNotes": "Contains 'The Killer Bunny', 'The Nefarious Ferret', and 'The Guinea Pig Gang'. Available until May 31.", - "aquaticAmigosText": "Aquatic Amigos Quest Bundle", - "aquaticAmigosNotes": "Contains 'The Magical Axolotl', 'The Kraken of Inkomplete', and 'The Call of Octothulu'. Available until June 30.", - "questSeaSerpentText": "Danger in the Depths: Sea Serpent Strike!", - "questSeaSerpentNotes": "Your streaks have you feeling lucky—it’s the perfect time for a trip to the seahorse racetrack. You board the submarine at Diligent Docks and settle in for the trip to Dilatory, but you’ve barely submerged when an impact rocks the sub, sending its occupants tumbling. “What’s going on?” @AriesFaries shouts.

You glance through a nearby porthole and are shocked by the wall of shimmering scales passing by it. “Sea serpent!” Captain @Witticaster calls through the intercom. “Brace yourselves, it’s coming ‘round again!” As you grip the arms of your seat, your unfinished tasks flash before your eyes. ‘Maybe if we work together and complete them,’ you think, ‘we can drive this monster away!’", - "questSeaSerpentCompletion": "Battered by your commitment, the sea serpent flees, disappearing into the depths. When you arrive in Dilatory, you breathe a sigh of relief before noticing @*~Seraphina~ approaching with three translucent eggs cradled in her arms. “Here, you should have these,” she says. “You know how to handle a sea serpent!” As you accept the eggs, you vow anew to remain steadfast in completing your tasks to ensure that there’s not a repeat occurrence.", - "questSeaSerpentBoss": "The Mighty Sea Serpent", - "questSeaSerpentDropSeaSerpentEgg": "Sea Serpent (Egg)", + "aquaticAmigosText": "Bundel Misi Sahabat Akuatik", + "aquaticAmigosNotes": "Berisi 'Axolotl Ajaib', 'Kraken Inkomplete', dan 'Raungan Octothulu'. Tersedia hingga 30 Juni.", + "questSeaSerpentText": "Bahaya Dasar Laut: Serangan Naga Laut!", + "questSeaSerpentNotes": "Rentetanmu membuatmu merasa beruntung — ini adalah waktu yang tepat untuk perjalanan ke arena pacuan kuda laut. Kamu naik kapal selam di Dermaga Rajin dan menetap untuk perjalanan ke Dilatory, tetapi kamu hampir saja tenggelam ketika tabrakan mengguncang kapal selam, membuat penghuninya jatuh. “Apa yang terjadi?\" @AriesFaries berteriak.

Kamu melirik melalui jendela kapal terdekat dan dikejutkan oleh dinding sisik berkilauan yang melewatinya. \"Naga Laut!\" Kapten @Witticaster menelepon melalui interkom. \"Persiapkan dirimu, ia akan datang lagi!\" Saat kamu memegang kursimu, tugasmu yang belum selesai berkedip di depan mata. 'Mungkin jika kita bekerja sama dan menyelesaikannya,' pikirmu, 'kita bisa mengusir monster ini!'", + "questSeaSerpentCompletion": "Babak belur oleh komitmenmu, sang naga laut pergi melarikan diri, menghilang ke kedalaman. Ketika kamu tiba di Dilatory, kamu menghela nafas lega sebelum menyadari @*~Seraphina~ mendekat dengan tiga telur tembus pandang dipelukannya. \"Ini, ambil ini,\" katanya. \"Kamu tahu cara menangani naga laut!\" Saat kamu menerima telur tersebut, kamu bersumpah lagi untuk tetap teguh dalam menyelesaikan tugasmu untuk memastikan bahwa tidak ada kejadian berulang.", + "questSeaSerpentBoss": "Naga Laut Perkasa", + "questSeaSerpentDropSeaSerpentEgg": "Naga Laut (Telur)", "questSeaSerpentUnlockText": "Unlocks purchasable Sea Serpent eggs in the Market", - "questKangarooText": "Kangaroo Catastrophe", - "questKangarooNotes": "Maybe you should have finished that last task… you know, the one you keep avoiding, even though it always comes back around? But @Mewrose and @LilithofAlfheim invited you and @stefalupagus to see a rare kangaroo troop hopping through the Sloensteadi Savannah; how could you say no?! As the troop comes into view, something hits you on the back of the head with a mighty whack!

Shaking the stars from your vision, you pick up the responsible object--a dark red boomerang, with the very task you continually push back etched into its surface. A quick glance around confirms the rest of your party met a similar fate. One larger kangaroo looks at you with a smug grin, like she’s daring you to face her and that dreaded task once and for all!", - "questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.

@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”

“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.

@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”

You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!", - "questKangarooBoss": "Catastrophic Kangaroo", - "questKangarooDropKangarooEgg": "Kangaroo (Egg)", + "questKangarooText": "Bencana Kanguru", + "questKangarooNotes": "Mungkin kamu seharusnya menyelesaikannya dengan tuntas... Yang itu lho, yang terus kamu hindari, tapi selalu ada lagi? Mungkin sekarang sedang tidak bisa, karena @Mewrose dan @LilithofAlfheim mengajakmu dan @stefalupagus melihat kanguru-kanguru langka melompat-lompat di Savannah Sloensteadi; tidak mungkin menolaknya, 'kan?! Saat kanguru-kanguru itu mulai terlihat, ada yang menghantam belakang kepalamu dengan pukulan hebat!

Mengguncang penglihatanmu menjadi berbintang-bintang, kamu pun mengambil benda yang menghantammu barusan - bumerang merah tua, dengan tugas yang terus-terusan kamu hindari terukir di permukaannya. Dan ternyata anggota kelompokmu yang lain mengalami hal yang sama. Satu kanguru besar menatapmu dengan senyum puas, sepertinya dia menantangmu untuk menghadapinya dan tugas yang kamu takuti itu sekaligus!", + "questKangarooCompletion": "\"SEKARANG!\" kamu memberi tanda untuk party-mu melempar bumerang kembali ke kanguru. Binatang itu melompat jauh setiap terhantam sampai melarikan diri, meninggalkan awan debu merah gelap, beberapa telur, dan beberapa koin emas.

@Mewrose maju ke tempat kanguru tadi berdiri. \"Hei, kemana bumerang tadi?\"

\"Mereka mungkin hancur jadi debu, membuat awan merah gelap, saat kita menyelesaikan tugas masing-masing,\" @stefalupagus berspekulasi.

@LilithofAlfheim menyipitkan mata di cakrawala. \"Apakah itu pasukan kanguru lain sedang menuju ke arah kita?\"

Kalian semua berlari kembali ke Kota Habit. Lebih baik selesaikan tugas-tugas sulitmu daripada benjol!", + "questKangarooBoss": "Kanguru Bencana", + "questKangarooDropKangarooEgg": "Kanguru (Telur)", "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market", - "forestFriendsText": "Forest Friends Quest Bundle", - "forestFriendsNotes": "Contains 'The Spirit of Spring', 'The Hedgebeast', and 'The Tangle Tree'. Available until September 30.", - "questAlligatorText": "The Insta-Gator", - "questAlligatorNotes": "“Crikey!” exclaims @gully. “An Insta-Gator in its natural habitat! Careful, it distracts its prey with things that seem urgent THIS INSTANT, and it feeds on the unchecked Dailies that result.” You fall silent to avoid attracting its attention, but to no avail. The Insta-Gator spots you and charges! Distracting voices rise up from Swamps of Stagnation, grabbing for your attention: “Read this post! See this photo! Pay attention to me THIS INSTANT!” You scramble to mount a counterattack, completing your Dailies and bolstering your good Habits to fight off the dreaded Insta-Gator.", - "questAlligatorCompletion": "With your attention focused on what’s important and not the Insta-Gator’s distractions, the Insta-Gator flees. Victory! “Are those eggs? They look like gator eggs to me,” asks @mfonda. “If we care for them correctly, they’ll be loyal pets or faithful steeds,” answers @UncommonCriminal, handing you three to care for. Let’s hope so, or else the Insta-Gator might make a return…", - "questAlligatorBoss": "Insta-Gator", - "questAlligatorDropAlligatorEgg": "Alligator (Egg)", + "forestFriendsText": "Bundel Misi Sahabat Hutan", + "forestFriendsNotes": "Berisi 'Arwah Musim Semi', 'Sang Monster Landak', dan 'Pohon Pembelit'. Tersedia hingga 30 September.", + "questAlligatorText": "Sang InstaGator", + "questAlligatorNotes": "“Crikey!” seru @gully. “InstaGator di habitat aslinya! Hati-hati, ia mengalihkan perhatian mangsanya dengan hal-hal yang tampaknya mendesak SAAT INI JUGA, dan ia memakan Keseharian yang tidak dicentang.” Kamu terdiam untuk menghindari menarik perhatiannya, tetapi tidak berhasil. InstaGator melihatmu dan menyerang! Suara-suara yang mengganggu muncul dari Rawa Stagnasi, menarik perhatianmu: “Baca posting ini! Lihat foto ini! Perhatikan saya SAAT INI JUGA!” Kamu bersiap untuk melakukan serangan balik, menyelesaikan Keseharian-mu dan memperkuat Kebiasaan Baik untuk melawan InstaGator yang ditakuti.", + "questAlligatorCompletion": "Dengan perhatianmu terfokus pada apa yang penting dan bukan gangguan InstaGator, sang InstaGator melarikan diri. Kemenangan! \"Apakah telur-telur itu? Mereka terlihat seperti telur buaya bagi saya,\" tanya @mfonda. \"Jika kita merawat mereka dengan benar, mereka akan menjadi peliharaan atau tunggangan yang setia,\" jawab @UncommonCriminal, sembari menyerahkannya tiga butir kepadamu untuk dirawat. Mari kita berharap begitu, atau InstaGator mungkin akan kembali…", + "questAlligatorBoss": "InstaGator", + "questAlligatorDropAlligatorEgg": "Aligator (Telur)", "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market", - "oddballsText": "Oddballs Quest Bundle", + "oddballsText": "Bundel Misi Bola Aneh", "oddballsNotes": "Contains 'The Jelly Regent,' 'Escape the Cave Creature,' and 'A Tangled Yarn.' Available until December 3.", - "birdBuddiesText": "Bird Buddies Quest Bundle", + "birdBuddiesText": "Bundel Misi Sahabat Burung", "birdBuddiesNotes": "Contains 'The Fowl Frost,' 'Rooster Rampage,' and 'The Push-and-Pull Peacock.' Available until December 31.", - "questVelociraptorText": "The Veloci-Rapper", - "questVelociraptorNotes": "You’re sharing honey cakes with @*~Seraphina~*, @Procyon P, and @Lilith of Alfheim by a lake in the Stoïkalm Steppes. Suddenly, a mournful voice interrupts your picnic.

My Habits took a hit, I missed my Dailies,
I’m losing it, sinking with doubt and maybes,
At the top of my game I used to be so fly,
But now I just let my Due Dates go by.


@*~Seraphina~* peers behind a stand of grass. “It’s the Veloci-Rapper. It seems... distraught?”

You pump a fist in determination. “There's only one thing to do. Rap battle time!”", + "questVelociraptorText": "Sang VelociRapper", + "questVelociraptorNotes": "Kamu berbagi kue madu dengan @*~Seraphina~*, @Procyon P, dan @Lilith of Alfheim di tepi danau di Stepa Stoïkalm. Tiba-tiba, suara sedih mengganggu piknikmu.

Kebiasaanku terhenti, aku rindu Keseharian-ku,
Aku kehilangannya, tenggelam dengan keraguan dan kemungkinan, Di puncak permainan yang aku dulu sangat gemilang,

Tapi sekarang aku membiarkannya berlalu.


@*~Seraphina~* mengintip di belakang tegakan rumput. \"Itu VelociRapper. Kelihatannya... putus asa?\"

Kamu membuat kepalan tangan dengan tekad. \"Hanya ada satu hal yang harus dilakukan. Waktunya rap!\"", "questVelociraptorCompletion": "You burst through the grass, confronting the Veloci-Rapper.

See here, rapper, you’re no quitter,
You’re Bad Habits' hardest hitter!
Check off your To-Dos like a boss,
Don’t mourn over one day’s loss!


Filled with renewed confidence, it bounds off to freestyle another day, leaving behind three eggs where it sat.", - "questVelociraptorBoss": "Veloci-Rapper", - "questVelociraptorDropVelociraptorEgg": "Velociraptor (Egg)", - "questVelociraptorUnlockText": "Unlocks purchasable Velociraptor eggs in the Market" + "questVelociraptorBoss": "VelociRapper", + "questVelociraptorDropVelociraptorEgg": "Velociraptor (Telur)", + "questVelociraptorUnlockText": "Unlocks purchasable Velociraptor eggs in the Market", + "evilSantaAddlNotes": "Perhatikan bahwa Santa Penjebak dan Temukan Anak Beruang dapat ditumpuk sebagai pencapaian berulang tetapi hanya memberikan peliharaan dan tunggangan langka satu kali saja.", + "questBronzeNotes": "Di suatu waktu istirahat menyegarkan di sela-sela tugas, kamu dan beberapa teman berjalan-jalan melalui jalur hutan Taskwoods. Kamu menemukan batang kayu besar berlubang dan kilau di dalamnya menarik perhatianmu.

Wah, ini jejak Ramuan Penetas Ajaib! Cairan perunggu berkilauan berputar lembut di dalam botol, dan @Hachiseiko meraih mengambil satu dan memeriksanya.

\"Berhenti!\" desis suara dari belakangmu. Muncullah kumbang raksasa dengan karapas perunggu berkilau, mengangkat kakinya mencakar dalam posisi bertarung. \"Itu ramuanku, jika kamu ingin mendapatkannya, kamu harus membuktikan dirimu dalam duel!\"", + "mythicalMarvelsText": "Bundel Misi Mitos Mengagumkan", + "mythicalMarvelsNotes": "Berisi 'Meyakinkan Ratu Unicorn,' 'Grifin Api,' dan 'Bahaya Dasar Laut: Serangan Naga Laut!' Tersedia hingga 28 Februari.", + "questBronzeText": "Pertempuran Kumbang Kurang Ajar", + "questRobotNotes": "Di laboratorium Max Capacity, @Rev memberikan sentuhan terakhir pada penemuan terbarunya, Sahabat Akuntabilitas robotik, ketika tiba-tiba sebuah kendaraan logam aneh muncul dari gumpalan asap, hanya beberapa inci dari Detektor Fluktuasi robot! Dari kendaraan itu, dua sosok aneh berpakaian perak muncul dan melepas helm ruang angkasanya masing-masing, mereka adalah @FolleMente dan @McCoyly.

\"Aku berhipotesis bahwa ada anomali dalam implementasi produktivitas kami,\" kata @FolleMente malu-malu.

@McCoyly menyilangkan lengannya. \"Itu berarti mereka lalai menyelesaikan Keseharian mereka, yang terduga adalah penyebab disintegrasi Penstabil Produktivitas. Ini komponen penting untuk perjalanan waktu dan membutuhkan konsistensi agar berfungsi dengan baik. Pencapaian melancarkan perjalanan ruang dan waktu! Aku tidak punya waktu untuk menjelaskan lebih lanjut, @Rev. Kamu nanti akan menemukannya dalam 37 tahun, atau mungkin temanmu, Penjelajah Waktu Misterius, dapat memberitahukannya kepadamu. Sekarang, bisakah kamu membantu kami memperbaiki mesin waktu?\"", + "questDolphinNotes": "Kamu berjalan di tepi Teluk Inkomplete, merenungkan pekerjaan menakutkan di depanmu. Percikan air menarik perhatianmu. Seekor lumba-lumba luar biasa melengkung di atas ombak. Sinar matahari berkilauan dari sirip dan ekornya. Tapi tunggu ... Itu bukan sinar matahari, dan lumba-lumba itu tidak mencelupkan dirinya kembali ke laut. Dia mengalihkan pandangannya ke @khdarkwolf.

\"Aku tidak akan pernah menyelesaikan semua keseharian ini,\" kata @khdarkwolf.

\"Aku tidak mampu mencapai tujuanku,\" kata @confusedcicada ketika lumba-lumba mengalihkan pandangannya padanya.

\"Kenapa aku repot-repot mencoba?\" tanya @mewrose, layu di bawah tatapan makhluk itu.

Matanya bertemu dengan matamu, kemudian kamu merasakan pikiranmu mulai tenggelam di bawah gelombang keraguan yang seketika muncul dengan hebatnya. Kamu menguatkan diri; seseorang harus mengalahkan makhluk ini, dan orang itu adalah kamu!", + "questAmberCompletion": "\"Trerezin?\" @-Tyr- berkata dengan tenang. \"Bisakah kamu melepaskan @Vikte? Aku pikir dia tidak terlalu suka dengan ketinggian.\"

Kulit kuning Trerezin memerah merah dan dia dengan lembut menurunkan @Vikte ke tanah. \"Aku mohon maaf! Sudah begitu lama sejak aku tidak punya tamu sehingga aku lupa sopan santunku!\" Dia merayap ke depan untuk menyambut kalian dengan benar sebelum menghilang ke rumah pohonnya, dan kembali dengan setumpuk Ramuan Penetas Amber sebagai hadiah terima kasih!

\"Ramuan Ajaib!\" @Vikte terengah-engah.

\"Oh, barang-barang lama ini?\" Lidah Trerezin berkedip saat dia berpikir. \"Bagaimana dengan ini? Aku akan memberimu seluruh tumpukan ini jika kamu berjanji untuk mengunjungiku sesering mungkin...\"

Jadi kalian meninggalkan Hutan Taskwoods, bersemangat untuk memberitahu semua orang tentang ramuan baru—dan teman barumu!", + "questRubyNotes": "Puncak Gunung Berapi Stoïkalm yang biasanya ramai menjadi sunyi bersalju. \"Mungkin para pendaki dan pengamat sedang berhibernasi?\" @gully berkata kepadamu dan @Aspiring_Advocate. \"Hal itu membuat pencarian ini lebih mudah.\"

Saat kamu mencapai puncak, angin dingin menyatu dengan uap yang mengepul dari kawah. \"Di sana!\" seru @Aspiring_Advocate, menunjuk ke arah sumber air panas. \"Dimana lagi yang lebih baik untuk menemukan Rune Aquarius yang keren dan Rune Venus yang penuh gairah selain tempat es dan api bertemu?\"

Kalian bertiga bergegas menuju pemandian air panas. \"Menurut penelitianku,\" kata @Aspiring_Advocate, \"menggabungkan rune dengan batu rubi berbentuk hati akan menciptakan ramuan penetas yang dapat menumbuhkan persahabatan dan cinta!\"

Bersemangat dengan prospek penemuan baru, kalian semua tersenyum. \"Baiklah,\" kata @gully, \"mari kita mulai mencari!\"", + "questRubyCompletion": "Setelah barang-barang yang diperlukan dikemas dengan aman, kalian bertiga bergegas kembali ke Kota Habit dan bertemu di lab @beffymaroo. \"Kerja bagus!\" kata @beffymaroo. \"Kamu sudah mengumpulkan bahan-bahan untuk ramuan itu!\"

@beffymaroo dengan hati-hati menggabungkan rune dan batu rubi untuk membuat ramuan merah cemerlang dan menuangkan sebagian pada dua telur peliharaan. Saat kamu mengamati hasilnya, kamu memperhatikan bahwa kedua peliharaan itu tampaknya tidak tertarik satu sama lain!

\"Apakah itu tidak berhasil?\" @gully bertanya. Tetapi sebelum ada yang bisa menjawab, kamu tiba-tiba menyadari bahwa itu bukan ramuan yang menciptakan persahabatan dan cinta, melainkan pengalaman bekerja sama untuk tujuan bersama. Kamu datang jauh dari pencarian setelah mendapatkan beberapa teman baru ... dan beberapa peliharaan baru yang mencolok!", + "questRobotCollectBolts": "Baut", + "delightfulDinosText": "Bundel Misi Dino Gembira", + "questRubyCollectAquariusRunes": "Rune Zodiak Aquarius", + "questDolphinBoss": "Lumba-Lumba Keraguan", + "questRobotText": "Keajaiban Mekanik Misterius!", + "rockingReptilesNotes": "Berisi 'Sang InstaGator,' 'Sang Ular Pengganggu,' dan 'Sang VelociRapper.' Tersedia hingga 30 November.", + "questBronzeCompletion": "\"Bagus sekali, prajurit!\" kata sang kumbang saat dia terduduk di tanah. Apakah dia tersenyum? Sulit mengetahuinya dari mandibula itu. \"Kamu berhak mendapatkan ramuan ini!\" \"Oh wow, kami belum pernah mendapat hadiah seperti ini karena memenangkan pertempuran sebelumnya!\" kata @UncommonCriminal, memutar botol berkilauan di tangannya. \"Ayo kita tetaskan peliharaan baru kita!\"", + "questDolphinCompletion": "Pertempuran kehendak dengan lumba-lumba telah membuatmu lelah, tetapi berakhir dengan kemenangan. Dengan tekad dan doronganmu, @mewrose, @khdarkwolf, dan @confusedcicada bangkit dan melepaskan telepati berbahaya dari sang lumba-lumba. Kalian berempat melindungi diri dengan rasa puas atas Keseharian yang konsisten, Kebiasaan yang kuat, dan penyelesaian Agenda sampai matanya yang bersinar itu mengatup mengakui kesuksesan kalian. Dengan demikian, ia menceburkan diri kembali ke teluk. Saat kalian bergembira dan saling memberi selamat, kamu melihat tiga telur terdampar.

\"Hm, aku ingin tahu apa yang bisa kita lakukan dengan telur-telur ini,\" renung @khdarkwolf.", + "questSilverText": "Larutan Perak", + "questRobotCollectSprings": "Pegas", + "questSilverCollectMoonRunes": "Rune Bulan", + "questDolphinUnlockText": "Dapatkan Telur Lumba-Lumba yang dapat dibeli di Pasar", + "questSilverCollectCancerRunes": "Rune Zodiak Cancer", + "questDolphinDropDolphinEgg": "Lumba-Lumba (Telur)", + "questRubyCollectVenusRunes": "Rune Venus", + "questAmberNotes": "Kamu sedang duduk di Kedai Minuman bersama @beffymaroo dan @-Tyr- ketika @Vikte menerobos pintu dan dengan bersemangat memberi tahu kalian tentang desas-desus tentang jenis Ramuan Penetas Ajaib lain yang tersembunyi di Hutan Taskwoods. Setelah menyelesaikan Keseharian, kalian bertiga segera setuju untuk membantu @Vikte dalam pencariannya. Lagi pula, apa salahnya ikut dalam petualangan kecil?

Setelah berjalan melalui Hutan Taskwoods selama berjam-jam, kamu mulai menyesal bergabung dengan pengejaran liar seperti itu. Kamu sudah mau pulang, ketika kamu mendengar teriakan terkejut dan berbalik untuk melihat kadal besar dengan sisik kuning mengkilap melingkar di sekitar pohon, mencengkeram @Vikte di cakarnya. @beffymaroo meraih pedangnya.

\"Tunggu!\" teriak @-Tyr-. \"Itu Sang Trerezin! Dia tidak berbahaya, hanya amat sangat melengket!\"", + "questAmberUnlockText": "Dapatkan Ramuan Penetas Amber yang dapat dibeli di Pasar", + "questRobotCollectGears": "Roda Gigi", + "questAmberText": "Aliansi Amber", + "questBronzeBoss": "Kumbang Kurang Ajar", + "questBronzeDropBronzePotion": "Ramuan Penetas Perunggu", + "questBronzeUnlockText": "Dapatkan Ramuan Penetas Perunggu yang dapat dibeli di Pasar", + "questDolphinText": "Lumba-Lumba Keraguan", + "questSilverNotes": "Penemuan Ramuan Penetas Perunggu belakangan ini telah dibicarakan seantero Habitica. Mungkinkah ramuan logam yang lebih terang dibuat? Kamu menuju ke Perpustakaan Umum pusat Kota Habit, ditemani oleh @QuartzFox dan @starsystemic, dan mengumpulkan banyak buku tentang alkimia untuk dipelajari.

Setelah berjam-jam bekerja dengan melelahkan, @QuartzFox mengeluarkan teriakan kemenangan yang tidak cocok diteriakkan di perpustakaan. \"Aha! Aku sudah menemukannya!\" Kamu bergegas melihatnya. \"Ramuan Penetas Perak dapat dibuat dengan Rune Zodiak Cancer, dilarutkan dalam perak murni yang meleleh di atas api yang diresapi kekuatan Rune Bulan.\"

\"Kita akan membutuhkan banyak bahan-bahan itu,\" renung @starsystemic. \"Kalau tidak salah.\"

\"Hanya ada satu tempat untuk menemukan banyak bahan baku seperti itu,\" kata @Edge, berdiri di bawah bayang-bayang tumpukan buku dengan tangan disilangkan. Ternyata dia sudah di sana dari tadi. \"Ruang Bawah Tanah Drudgery. Ayo pergi.\"", + "questSilverCompletion": "Kamu sudah menyelidiki. Kamu sudah menggali. Kamu sudah mengais. Akhirnya kamu keluar dari Ruang Bawah Tanah, membawa banyak Rune dan Perak Batangan, belepotan lumpur tetapi gembira karena berhasil. Kamu melakukan perjalanan kembali ke Kota Habit dan mulai bekerja di laboratorium alkimia. Kamu dan @starsystemic mengikuti rumus yang @QuartzFox temukan, di bawah pengawasan @Edge yang cermat. Akhirnya, dalam kepulan besar kilau dan asap, ramuanmu mengendap ke dalam viskositas Ramuan Penetas!

@Edge menyendok campuran itu ke dalam botol dan menyeringai. \"Mari kita coba, oke? Ada yang punya Telur?\"

Kamu bergegas ke Kandang, bertanya-tanya rahasia apa lagi yang kira-kira belum ditemukan...", + "questSilverCollectSilverIngots": "Perak Batangan", + "questSilverDropSilverPotion": "Ramuan Penetas Perak", + "questSilverUnlockText": "Dapatkan Ramuan Penetas Perak yang dapat dibeli di Pasar", + "questRobotCompletion": "Saat @Rev dan Sahabat Accountabilitas menempatkan baut terakhir di tempatnya, mesin waktu berdengung hidup. @FolleMente dan @McCoyly melompat ke atas kapal. \"Terima kasih atas bantuannya! Sampai jumpa di masa depan! Ngomong-ngomong, ini bisa membantumu dengan penemuanmu berikutnya!\" Demikianlah, penjelajah waktu pun menghilang, meninggalkan sesuatu di reruntuhan Penstabil Produktivitas lama. Tiga butir telur jarum jam. Mungkin ini akan menjadi komponen penting untuk lini produksi baru Sahabat Accountabilitas!", + "questRobotDropRobotEgg": "Robot (Telur)", + "questRobotUnlockText": "Dapatkan Telur Robot yang dapat dibeli di Pasar", + "rockingReptilesText": "Bundel Misi Guncangan Reptil", + "delightfulDinosNotes": "Berisi 'Sang Pteror-daktil,' 'Triceratops Penginjak,' dan 'Dinosaur Mengamuk.' Tersedia hingga 31 Mei.", + "questAmberBoss": "Sang Trerezin", + "questAmberDropAmberPotion": "Ramuan Penetas Amber", + "questRubyText": "Laporan Ruby", + "questRubyCollectRubyGems": "Permata Ruby", + "questRubyDropRubyPotion": "Ramuan Penetas Ruby", + "questFluoriteCompletion": "Saat kamu melakukan pertempuran, makhluk kristal itu tampaknya semakin terganggu oleh pertunjukan cahaya yang kamu ciptakan. \"Sangat berkilau ...\" gumamnya.

\"Tentu saja!\" seru @nirbhao. \"Itu pasti Elemental Fluorit. Yang mereka inginkan hanyalah cahaya untuk membuat mereka bersinar. Mari kita bantu bersinar.\"

Elemental terkikik gembira dan bersinar lebih terang saat kamu menyalakan obor dari sihir. Sangat senang bisa bersinar lagi sampai-sampai dia membawamu ke deposit kristal Fluorit yang kaya.

\"Ini adalah bahan yang sempurna untuk ramuan penetas baru,\" kata @nirbhao. \"Salah satu yang akan membuat peliharaan kita seterang teman neon baru kita.\"", + "questWaffleNotes": "\"April Fool!\" seru Nona Glaciate bingung. \"Kamu bilang lelucon bertema makanan penutupmu sudah 'berakhir dan benar-benar dibersihkan'!\"

\"Kenapa, itu benar sekali dan sudah tidak ada lagi, sayangku,\" jawab Fool, bingung. \"Aku inilah si Fool yang paling jujur. Ada apa?\"

\"Ada monster manis raksasa mendekati Kota Habit!\"

\"Hmm,\" renung Fool. \"Aku memang menyerang beberapa sarang untuk reagen mistik untuk acara terakhirku. Mungkin aku menarik perhatian yang tidak diinginkan. Apakah itu Ular Sakarin? The Torte-oise? Tiramisu Rex?\"

\"Tidak! Ini semacam ... Wafel yang mengerikan!\"

\"Hah. Itu Baru lagi! Mungkin dia muncul dari semua energi kenakalan yang terkumpul.\" Dia menoleh dengan senyum miringnya ke arahmu dan @beffymaroo. \"Apa kalian bersedia melakukan misi heroik?\"", + "questWindupNotes": "Kota Habit jarang sepi, tetapi kamu tidak siap menghadapi hiruk-pikuk, derit, dan jeritan yang melarikan diri dari Good Timekeeping, emporium jarum jam terbaik di Habitica. Kamu mendesah - kamu hanya ingin jam tanganmu diperbaiki. Pemiliknya, yang dikenal \"Besar dan Perkasa\", jatuh keluar pintu, dikejar oleh raksasa tembaga yang berdentang!

\"Ki-! Ki-! Ki!\" dia berdentang, lengan menghantam-hempaskan ke atas dan ke bawah. Roda giginya menggiling dan menjerit seperti sedang protes.

\"Robot Clankton-ku sudah gila! Dia mencoba membunuhku!\" kata dia yang disebut Si Perkasa alih-alih malah menjerit.

Bahkan dengan jam tangan yang rusak ini pun, sepertinya kamu tahu kapan saatnya untuk bertarung. Kamu melompat maju untuk membela pembuat jam yang panik. @Vikte dan @a_diamond juga melangkah untuk membantu!

\"Ki-! Ki-! Ki-!\" Clankton melantunkan setiap pukulan. \"Meong!\"

Tunggu, apakah itu suara mengeong mekanis di sela-sela suara monoton pembunuh?", + "questWaffleText": "Bacotan dengan Si Fool: Sarapan Bencana!", + "questFluoriteBoss": "Elemental Fluorit", + "questWaffleBoss": "Wafel Mengerikan", + "jungleBuddiesText": "Bundel Misi Teman Hutan", + "questWaffleRageEffect": "`Wafel Mengerikan menggunakan LUMPUR MAPLE!` Sirup lengket memperlambat tebasan dan mantramu! Damage terkumpul berkurang.", + "questWaffleUnlockText": "Dapatkan Ramuan Penetas Manisan yang dapat dibeli di Pasar", + "questRubyUnlockText": "Dapatkan Ramuan Penetas Ruby yang dapat dibeli di Pasar", + "questWaffleCompletion": "Babak belur dan berlumuran mentega tetapi penuh kemenangan, kamu menikmati kemenangan manis saat Wafel Mengerikan runtuh ke genangan lengket.

\"Wow, kamu benar-benar membuat monster itu menjadi krim,\" kata Nona Glaciate, terkesan.

\"Mudah sekali seperti kue!\" teriak April Fool.

\"Sayang sekali,\" kata @beffymaroo. \"Kelihatannya cukup enak untuk dimakan.\"

Si Fool mengambil satu set botol ramuan dari suatu tempat di jubahnya, mengisinya dengan sisa-sisa Wafel yang manis, dan bercampur dalam sejumput debu berkilau. Cairan berputar dengan warna - Ramuan Penetas baru! Dia melemparkannya ke dalam pelukanmu. \"Semua petualangan ini membuatku lapar. Siapa yang mau bergabung denganku untuk sarapan?\"", + "questWaffleRageTitle": "Lumpur Maple", + "questWaffleRageDescription": "Lumpur Maple: Bar ini terisi saat kamu tidak menyelesaikan Keseharian-mu. Ketika penuh, Wafel Mengerikan akan mengurangi damage terkumpul yang telah dibangun oleh anggota party!", + "questWaffleDropDessertPotion": "Ramuan Penetas Manisan", + "jungleBuddiesNotes": "Berisi 'Mandril Raksasa dan Monyet Jahil', 'Kungkang Kantuk', dan 'Pohon Pembelit'. Tersedia hingga <%= date %>.", + "questFluoriteText": "Ketakutan Fluorit Cerah", + "questFluoriteNotes": "Mineral yang tidak biasa sangat diminati akhir-akhir ini, jadi kamu dan beberapa teman melakukan perjalanan jauh ke dalam tambang Pegunungan Berliku untuk mencari bijih yang menarik. Ini adalah ekspedisi yang panjang dan membosankan, sampai @-Tyr- tersandung batu besar, terduduk tepat di tengah terowongan.

\"Ini akan membantu mencerahkan segalanya,\" kata @nirbhao, sebelum menciptakan bola cahaya.

Kecerahan hangat memenuhi terowongan, tetapi sesuatu yang aneh mulai terjadi pada sebuah batu besa. Menyerap cahaya magis, batu itu mulai bersinar dengan biru neon, hijau dan ungu. Kemudian ia tumbuh tegak menjadi bentuk humanoid yang samar-samar, lengkap dengan mata merah menyala yang tertuju padamu! Kamu segera mengambil tindakan dengan mengedipkan mantra dan senjata bersinar.", + "questFluoriteDropFluoritePotion": "Ramuan Penetas Fluorit", + "questFluoriteUnlockText": "Dapatkan Ramuan Penetas Fluorit yang dapat dibeli di Pasar", + "questWindupText": "Pusaran Prajurit Kunci Putar Mekanik", + "questWindupCompletion": "Saat menghindari serangan, kamu melihat sesuatu yang aneh: ekor kuningan bergaris mencuat dari badan robot. Kamu memasukkan tangan di tengah roda gigi gerinda dan menariknya keluar ... yang ternyata adalah seekor anak harimau yang gemetar. Dia lalu meringkuk di bajumu.

Robot jarum jam segera berhenti menggapai-gapai dan tersenyum, roda giginya mengklik kembali ke tempatnya. \"Ki-Ki-Kitty! Kitty masuk ke dalam diriku!\"

\"Bagus!\" kata Si Perkasa, tersipu. \"Aku telah bekerja keras untuk ramuan hewan peliharaan putar mekanis ini. Aku kira aku telah kehilangan jejak kreasi baruku. Aku sering merindukan Keseharian 'merapikan bengkel' akhir-akhir ini ... \"

Kamu mengikuti si pengotak-atik dan Clankton sampai ke dalam bengkel. Onderdil, perkakas, dan ramuan menutupi setiap permukaan. \"Si Perkasa\" mengambil arlojimu, kemudian malah memberimu beberapa ramuan.

\"Ambil ini. Jelas mereka akan lebih aman bersamamu!\"", + "questTurquoiseNotes": "@gawrone berlari ke kamarmu memegang Diploma Habitica-nya di satu tangan dan buku tebal kulit yang luar biasa besar dan berdebu di tangan lainnya.

\"Kamu tidak akan pernah menebak apa yang saya temukan!\" katanya. \"Alasan Padang Kesuburan begitu subur adalah karena mereka pernah ditutupi dengan lautan luas. Ada desas-desus bahwa orang-orang kuno pernah menghuni dasar laut itu di kota-kota ajaib. Aku telah menggunakan peta yang terlupakan untuk menemukan lokasi yang paling mungkin! Ambil sekopmu!\"

Malam berikutnya kamu bertemu, @QuartzFox dan @starsystemic bergabung dengan Party, dan mulai menggali. Jauh di dalam tanah kamu menemukan rune, dengan permata pirus di dekatnya!

\"Terus gali!\" desak @gawrone. \"Jika kita menemukan cukup banyak, kita bisa membuat salah satu ramuan kuno dan sejarah pada saat yang sama!\"", + "questWindupUnlockText": "Dapatkan Ramuan Penetas Kunci Putar Mekanik yang dapat dibeli di Pasar", + "questTurquoiseCollectTurquoiseGems": "Permata Pirus", + "questTurquoiseText": "Kerja Keras Harta Pirus", + "questWindupBoss": "Robot Clankton", + "questWindupDropWindupPotion": "Ramuan Penetas Kunci Putar Mekanik", + "questTurquoiseCompletion": "Panas dan berkeringat, timmu akhirnya berhenti untuk beristirahat di samping tanah yang terbalik dan melihat tumpukan rune dan permata yang kalian temukan.

\"Luar biasa,\" gumam @QuartzFox. \"Peristiwa ini menulis ulang buku-buku sejarah.\"

\"Biarkan aku membawa bahan-bahan ini kembali ke Universitas Habitica untuk dianalisis,\" kata @gawrone. \"Seharusnya ada banyak hal untuk dipelajari dan cukup banyak ramuan pirus untuk kita semua! Siapa yang tahu apa lagi yang bisa kita temukan terkubur di sekitar sini? \"

@starsystemic menimpali: \"Sungguh menakjubkan betapa banyak yang bisa dicapai dengan kerja keras!\"", + "questTurquoiseCollectSagittariusRunes": "Rune Sagittarius", + "questTurquoiseCollectNeptuneRunes": "Rune Neptunus", + "questBlackPearlCompletion": "Saat kamu memukul dan meledakkan monster itu, ia menumpahkan mutiara hitam di pasir. Permukaannya yang berkilauan menarik perhatianmu saat kamu menghindari tentakel lain yang menghancurkan.

Kamu mungkin berada dalam bahaya fana, tetapi kamu tidak dapat berhenti memikirkan betapa indahnya kilauannya. Kamu jadinya tidak bisa berhenti berpikir, ini adalah waktu yang mengerikan untuk ide ramuan baru.

Tiba-tiba monster itu membeku. @jjgame83 dan @PixelStormArt bertukar pandangan bingung dan menurunkan senjata mereka.

\"KAMU MEMILIKI KEINGINANMU, FANA. PEKERJAANKU SUDAH SELESAI.\"

Asteroid lenyap, dan langit serta air menjadi jernih. @QuartzFox menatapmu. \"Ada yang mau kamu jelaskan?\"

Kamu mencoba melakukan yang terbaik, bersama-sama mengisi keranjang piknik dengan mutiara hitam. Suatu sore alkimia kemudian, kamu harus mengakui itu adalah ide yang cukup bagus.", + "questStoneNotes": "Kamu membuka gerbang ke Benteng Kelalaian hanya untuk dikejutkan oleh lumut yang tumbuh di seluruh patung, batu, dan permukaan di taman. \"Oh tidak, taman ini sudah terlalu lama diabaikan!\" kata @jjgame83.

\"Yah, tidak ada kata terlambat untuk mulai merawat kebun,\" kata @PixelStormArt antusias, \"tapi di mana kita akan mulai menangani labirin Lumut ini?\"

\"Kita bisa membuat sebuah rencana dan mengikutinya agar kita tidak tersesat,\" kata @QuartzFox.

Saat membersihkan bebatuan berlumut, @starsystemic melihat Rune Mars dan Capricorn tersembunyi di bawahnya. \"Untuk apa ini? Mari kita bawa mereka kembali ke Perpustakaan Kota Habit untuk mencarinya setelah kita selesai.\"

Itu hanya kalau kamu menemukan jalan kembali dari sini sama sekali, kamu pikir, tetapi tidak kamu katakan dengan keras.", + "questStoneCompletion": "Pekerjaan membersihkan pertumbuhan berlebih dan memindahkan batu-batu lepas membebanimu sampai batas kekuatanmu. Tetapi kamu membagi pekerjaan di antara tim, dan menempatkan batu di jalan di belakangmu untuk membantumu menemukan jalan kembali ke yang lain. Rune yang kamu temukan juga meningkatkan kekuatan dan tekadmu, dan pada akhirnya taman tidak terlihat begitu diabaikan sama sekali!

Kamu berkumpul di Perpustakaan seperti yang @starsystemic sarankan, dan menemukan formula Ramuan Ajaib yang menggunakan rune yang kamu kumpulkan. \"Ini adalah hadiah tak terduga berkat menyelesaikan tugas-tugas yang terabaikan,\" kata @jjgame83.

@QuartzFox setuju, \"Terlebih lagi kita memiliki taman yang indah untuk dinikmati bersama peliharaan.\"

\"Mari kita mulai membuat beberapa Ramuan Penetas Batu Lumut yang menakjubkan!\" kata @starsystemic, lalu semua orang bergabung dengan gembira.", + "questStoneCollectCapricornRunes": "Rune Capricorn", + "questSolarSystemNotes": "Rombonganmu bepergian melalui kosmos, melihat pemandangan di pesawat fantastis yang dirancang oleh insinyur ruang angkasa berbakat @gawrone. Propulsi meditasinya bergantung pada ketenangan Party-mu untuk tetap berada di jalur.

Di depan di awan galaksi yang berkilauan, kamu melihat bintang yang berkedip tidak menyenangkan. \"Tetap fokus,\" @beffymaroo memperingatkan. \"Jika kita terlalu terganggu ketika kita melewati nova itu, tarikan antara bintang dan kapal kita bisa sampai membelokkan kita keluar jalur!\"

Saat kamu mendekati bintang itu, gelombang energi aneh datang ke arah kapal.

\"Mereka adalah Diversionoid, makhluk pikiran yang mencoba membuat kita tersesat,\" kata @SabreCat. \"Jika kita bisa membiarkan mereka berlalu tanpa ikut terbawa, kita pasti bisa tetap berjalan menuju arah tujuan kita!\"", + "questOnyxNotes": "@Vikte, @aspiring_advocate, dan @starsystemic tahu kamu merasa tidak termotivasi akhir-akhir ini dan memutuskan bahwa hari yang menyenangkan dapat meningkatkan suasana hatimu. Namun, \"kesenangan\" tampaknya berarti pergi menyelam di laut dalam untuk mencari harta karun di gua bawah laut yang gelap! Kamu mengenakan peralatan menyelammu, naik perahu, dan mendayung menuju kota kuno Dilatory. Saat kamu bepergian, kamu bertanya kepada mereka jenis harta apa yang mereka cari.

\"Rune Pluto!\" kata @Vikte.

\"Tidak, Rune Leo!\" kata @aspiring_advocate.

\"Tidak, batu onyx!\" kata @starsystemic.

Saat mereka berdebat di antara mereka sendiri, kamu melihat ke laut dan melihat pintu masuk gua tepat di bawahmu! Bersemangat, kamu pun melompat, dan menyelam ke laut, meninggalkan trio untuk menonton saat kamu berenang menuju gua bawah laut yang gelap untuk mencari harta karun itu sendiri.", + "questOnyxCompletion": "Saat kamu memasuki gua bawah laut yang gelap, udang mantis yang tinggal di sana melesat pergi, tampaknya takut padamu. Namun, mereka dengan cepat kembali membawa bola berwarna dengan ukuran kecil, dan kamu menyadari bahwa itu adalah harta yang dicari temanmu! Kamu mengantongi beberapa dari setiap jenis, mengucapkan selamat tinggal pada udang mantis, dan kembali ke perahu dimana yang lain membantumu naik.

\"Dari mana saja kamu?\" seru @Vikte. Sebagai tanggapan, kamu menunjukkan kepada mereka harta yang telah kamu kumpulkan.

\"Bahan-bahan ini membuat Ramuan Penetas Ajaib Onyx!\", @aspiring_advocate berkata dengan bersemangat saat kamu mulai kembali ke pantai.

\"Begitu... kita bisa menetaskan peliharaan Onyx!\" @starsystemic tersenyum. \"Bukankah kita mengatakan ini akan menyenangkan?\"

Kamu tersenyum kembali, bersemangat untuk hewan peliharaan baru, dan siap untuk menyelesaikan tugas!", + "questBlackPearlText": "Ide Berbintang Mengejutkan", + "questBlackPearlBoss": "Asteroid", + "questStoneUnlockText": "Dapatkan Ramuan Penetas Batu Lumut yang dapat dibeli di Pasar", + "questOnyxText": "Pengembaraan Onyx", + "questOnyxCollectPlutoRunes": "Rune Pluto", + "questOnyxCollectLeoRunes": "Rune Leo", + "questOnyxCollectOnyxStones": "Batu Onyx", + "questTurquoiseDropTurquoisePotion": "Ramuan Penetas Pirus", + "questTurquoiseUnlockText": "Dapatkan Ramuan Penetas Pirus yang dapat dibeli di Pasar", + "sandySidekicksText": "Bundel Misi Sahabat Karib Berpasir", + "sandySidekicksNotes": "Berisi 'Sang Armadillo Kemanjaan', 'Sang Ular Pengganggu', and 'Laba-laba Es'. Tersedia hingga <%= date %>.", + "questBlackPearlNotes": "Kamu merasa tidak terinspirasi akhir-akhir ini, jadi ketika @jjgame83 menyarankan perjalanan ke Lively Lake, kamu ikut dalam kesempatan ini untuk ganti pemandangan. Saat @QuartzFox memulai piknik di pantai, kamu menemukan sesuatu yang berkilauan di perairan dangkal. Mutiara hitam yang aneh.

\"Aku berharap aku punya ide baru,\" desahmu.

Rasa dingin menyapu pantai. Danau berubah menjadi tinta hitam. Bintang-bintang terbit, seketika siang hari berubah menjadi tengah malam dalam sekejap.

\"Itu bukan pertanda baik,\" kata @PixelStormArt.

Massa lengan yang menjulang tinggi menyembur dari danau dalam semprotan busa, dan dari paruhnya, ia meledak: \"LIHATLAH ASTEROID, GAGASAN DARI LUAR BINTANG-BINTANG!\"

Sebuah tentakel menghantam keranjang piknik. Ide bagus atau tidak, kamu langsung bertindak.", + "questBlackPearlDropBlackPearlPotion": "Ramuan Penetas Mutiara Hitam", + "questBlackPearlUnlockText": "Dapatkan Ramuan Penetas Mutiara Hitam yang dapat dibeli di Pasar", + "questStoneText": "Labirin Lumut", + "questStoneCollectMarsRunes": "Rune Mars", + "questStoneCollectMossyStones": "Batu Lumut", + "questStoneDropMossyStonePotion": "Ramuan Penetas Batu Lumut", + "questSolarSystemText": "Perjalanan Konsentrasi Kosmik", + "questSolarSystemCompletion": "Melalui latihan yang cermat, kamu dan kru berhasil menjaga Diversionoid agar tidak menyeret kalian, hanya dengan memperhatikan dan mengakui mereka tanpa membiarkan mereka mengambil alih. Saat kamu melewati bintang yang berkedip dengan aman, @gawrone memperhatikan sekelompok botol mengambang dan mengambilnya ke dalam kapal. Masing-masing tampaknya mengandung tata surya kecil!

\"Yah, sepertinya kerja keras kita telah memberi kita imbalan yang bagus!\" kata @beffymaroo. \"Mari kita lihat keajaiban surgawi apa yang mungkin muncul jika kita menetaskan telur hewan peliharaan dengan ramuan baru ini.\"", + "questSolarSystemBoss": "Diversionoid", + "questSolarSystemDropSolarSystemPotion": "Ramuan Penetas Tata Surya", + "questSolarSystemUnlockText": "Dapatkan Ramuan Penetas Tata Surya yang dapat dibeli di Pasar", + "questVirtualPetNotes": "Ini adalah pagi musim semi yang tenang dan menyenangkan di Habitica, seminggu melewati Hari April Mop yang tak terlupakan. Kamu dan @Beffymaroo berada di kandang merawat hewan peliharaanmu (yang masih agak bingung dari waktu yang mereka habiskan secara virtual!).

Di kejauhan kamu mendengar suara gemuruh dan bunyi bip, lembut pada awalnya tetapi volumenya meningkat seolah-olah semakin dekat. Bentuk telur muncul di cakrawala dan saat mendekat, berbunyi semakin keras, kamu melihat bahwa itu adalah peliharaan virtual raksasa!

\"Oh tidak,\" seru @Beffymaroo, \"Aku pikir April Fool meninggalkan beberapa urusan yang belum selesai dengan kawan besar ini di sini, dia sepertinya butuh perhatian!\"

Hewan peliharaan virtual berbunyi bip dengan marah, membuat ulah virtual dan semakin dekat.", + "questVirtualPetCompletion": "Beberapa pencetan tombol yang hati-hati tampaknya telah memenuhi kebutuhan misterius hewan peliharaan virtual, dan akhirnya menjadi tenang dan tampak puas.

Tiba-tiba dalam ledakan konfeti, April Fool muncul dengan keranjang penuh ramuan aneh yang mengeluarkan bunyi bip lembut.

\"Waktu yang tepat, April Fool,\" kata @Beffymaroo sambil tersenyum masam. \"Aku menduga si bip besar ini adalah kenalanmu.\"

\"Uh, ya,\" kata si Fool, malu-malu. \"Maaf sekali tentang itu, dan terima kasih kalian berdua telah merawat Wotchimon! Ambil ramuan ini sebagai ucapan terima kasih, mereka dapat membawa hewan peliharaan Virtual-mu kembali kapan saja kamu mau!

Kamu tidak 100% yakin kamu nyaman dengan semua bunyi bip itu, tetapi pasti lucu dan layak dicoba!", + "questOnyxDropOnyxPotion": "Ramuan Penetas Onyx", + "questOnyxUnlockText": "Dapatkan Ramuan Penetas Onyx yang dapat dibeli di Pasar", + "questVirtualPetBoss": "Monster Wotchimon", + "questVirtualPetText": "Kekacauan Virtual April Fool: Bip Mengganggu", + "questVirtualPetRageTitle": "Bip Mengganggu", + "questVirtualPetRageDescription": "Bar ini terisi ketika kamu tidak menyelesaikan Keseharian-mu. Ketika sudah penuh, Wotchimon akan mengambil beberapa damage terkumpul dari party-mu!", + "questVirtualPetRageEffect": "`Wotchimon menggunakan Beep Mengganggu!` Wotchimon membunyikan bunyi bip yang mengganggu, dan bilah kebahagiaannya tiba-tiba menghilang! Kerusakan yang terkumpul berkurang.", + "questVirtualPetDropVirtualPetPotion": "Ramuan Penetas Peliharaan Virtual", + "questPinkMarbleNotes": "Setelah mendengar desas-desus tentang sebuah gua di Pegunungan Berliku yang memiliki batu merah muda dan debu yang keluar darinya, kelompokmu mulai menyelidiki. Saat kalian mendekati gua, memang ada awan debu merah muda besar - dan anehnya, kamu mendengar teriakan pertempuran suara kecil, diikuti oleh suara batu yang pecah.

@Empress42 secara tidak sengaja menghirup sebagian debu dan tiba-tiba terasa melamun dan kurang produktif. \"Sama di sini!\" kata @QuartzFox, \"Saya tiba-tiba berfantasi tentang seseorang yang hampir tidak saya kenal!\"

@a_diamond mengintip ke dalam gua dan menemukan sedikit yang melesat di sekitar dan menghancurkan batu marmer merah muda menjadi debu. \"Berlindung! Cupid ini telah rusak dan menggunakan sihirnya untuk menyebabkan kebebasan dan kegilaan yang tidak realistis! Kita harus menaklukkannya!\"", + "questVirtualPetUnlockText": "Dapatkan Ramuan Penetas Peliharaan Virtual yang dapat dibeli di Pasar", + "QuestPinkMarbleUnlockText": "Dapatkan Ramuan Penetas Marmer Merah Muda yang dapat dibeli di Pasar.", + "questPinkMarbleCompletion": "Kamu akhirnya berhasil menangkap si kecil – dia jauh lebih tangguh dan lebih cepat dari yang dibayangkan. Sebelum dia bergerak lagi, kamu mengambil tabung panahnya yang bersinar. Dia berkedip dan tiba-tiba melihat sekeliling dengan heran. \"Untuk menghindari kesedihan dan patah hatiku sendiri untuk sementara waktu, aku menusuk diriku sendiri dengan salah satu panahku ... Aku tidak ingat apa-apa setelah itu!\"

Dia baru saja akan melarikan diri dari gua, memperhatikan bahwa @Loremi telah mengambil sampel debu marmer dan menyeringai. \"Coba gunakan beberapa debu marmer merah muda ini dalam ramuan! Besarkan peliharaan yang menetas darinya dan kamu akan menemukan bahwa hubungan lahir dari komunikasi, saling percaya, dan perhatian. Aku berharap kamu beruntung, dan aku berharap kamu mendapat cinta!\"", + "questPinkMarbleRageTitle": "Tinju Merah Muda", + "questPinkMarbleRageEffect": "`Sang Cupido menggunakan Tinju Merah Muda!` Sama sekali tidak penuh kasih sayang! Teman party-mu terkejut. Kerusakan yang terkumpul berkurang.", + "questPinkMarbleDropPinkMarblePotion": "Ramuan Penetas Marmer Merah Muda", + "questPinkMarbleRageDescription": "Bar ini terisi ketika kamu tidak menyelesaikan Keseharian-mu. Ketika sudah penuh, Cupido akan mengambil beberapa damage yang terkumpul dari party-mu!", + "questPinkMarbleText": "Tenangkan Cupid yang Rusak", + "questPinkMarbleBoss": "Sang Cupido" } diff --git a/website/common/locales/id/rebirth.json b/website/common/locales/id/rebirth.json index 96d2219073..2afe9394c1 100644 --- a/website/common/locales/id/rebirth.json +++ b/website/common/locales/id/rebirth.json @@ -10,5 +10,6 @@ "rebirthOrbNoLevel": "Telah menggunakan Batu Kelahiran untuk memulai kembali dari awal.", "rebirthPop": "Mengembalikan karaktermu ke Warrior Level 1 dengan tetap menyimpan pencapaian, barang koleksi, dan perlengkapan. Tugasmu dan riwayatnya akan disimpan tapi warnanya akan kembali menjadi kuning. Runtunan-mu akan dihapus semua, kecuali tugas tantangan. Koin Emas, Pengalaman, Mana dan efek dari semua Kemampuan-mu akan dihapus. Efeknya akan berlaku seketika itu juga. Untuk info lebih lanjut, lihat laman wiki Batu Kelahiran.", "rebirthName": "Batu Kelahiran", - "rebirthComplete": "Kamu telah lahir kembali!" + "rebirthComplete": "Kamu telah lahir kembali!", + "nextFreeRebirth": "<%= days %> hari sampai harga Batu Kelahiran menjadi GRATIS" } diff --git a/website/common/locales/id/settings.json b/website/common/locales/id/settings.json index 8805134ef9..be4d04450c 100644 --- a/website/common/locales/id/settings.json +++ b/website/common/locales/id/settings.json @@ -42,7 +42,7 @@ "sureChangeCustomDayStartTime": "Kamu yakin ingin mengatur waktu Awal Harimu? Keseharianmu akan diulang setiap kamu masuk Habitica pertama kali setelah jam <%= time %>. Pastikan kamu menyelesaikan Keseharian sebelum waktu tersebut!", "customDayStartHasChanged": "Awal harimu telah diubah.", "nextCron": "Tugas harian kamu akan diatur ulang saat pertama kalinya kamu menggunakan Habitica setelah <%= time %>. Pastikan kamu sudah menyelesaikan tugas harian kamu sebelum waktu tersebut!", - "customDayStartInfo1": "Habitica memeriksa dan mengatur ulang tugas harian kamu di tengah malam di zona waktumu setiap hari. Kamu bisa mengganti waktu tersebut disini.", + "customDayStartInfo1": "Habitica memeriksa dan mengatur ulang tugas harian kamu di tengah malam pada zona waktumu setiap hari. Kamu bisa menyesuaikan kalau itu terjadi melewati waktu default sini.", "misc": "Lain-lain", "showHeader": "Perlihatkan Header", "changePass": "Ubah Kata Sandi", @@ -55,7 +55,7 @@ "newUsername": "Nama Pengguna Baru", "dangerZone": "Zona Berbahaya", "resetText1": "PERINGATAN! Ini me-reset banyak hal dari akunmu. Hal ini sangat tidak disarankan, tetapi bagi beberapa orang ini berguna di awal setelah mencoba bermain di situs ini dalam waktu yang singkat.", - "resetText2": "Kamu akan kehilangan semua level, Koin Emasmu, dan poin Pengalamanmu. Semua tugasmu (kecuali tugas dari tantangan) akan dihapus selamanya dan kamu akan kehilangan data riwayat mereka. Kamu akan kehilangan semua perlengkapanmu tapi kamu masih bisa membelinya lagi, termasuk semua perlengkapan edisi terbatas atau item pelanggan Misteri yang sudah kamu miliki (kamu harus mengambil pekerjaan yang sesuai untuk membeli ulang perlengkapan khusus pekerjaan). Kamu akan tetap memiliki pekerjaanmu yang sekarang serta peliharaan dan tungganganmu. Kamu mungkin lebih memilih untuk menggunakan Batu Kelahiran, yang merupakan pilihan lebih aman yang akan mempertahankan tugas-tugas dan perlengkapanmu.", + "resetText2": "Kamu akan kehilangan semua level, Koin Emas, dan poin Pengalamanmu. Semua tugas (kecuali tugas dari tantangan) akan dihapus selamanya dan kamu akan kehilangan data riwayat mereka. Kamu akan kehilangan semua perlengkapanmu, kecuali Item Misteri Berlangganan dan item perayaan yang diberikan gratisan. Kamu masih bisa membeli item-item yang terhapus itu lagi, termasuk semua perlengkapan edisi terbatas atau item pelanggan Misteri yang sudah kamu miliki (kamu harus mengambil pekerjaan yang sesuai untuk membeli ulang perlengkapan khusus pekerjaan). Kamu akan tetap memiliki pekerjaanmu yang sekarang, pencapaianmu, peliharaan, serta tungganganmu. Kamu mungkin lebih memilih untuk menggunakan Batu Kelahiran, yang merupakan pilihan lebih aman yang akan mempertahankan tugas-tugas dan perlengkapanmu.", "deleteLocalAccountText": "Apakah kamu yakin? Pilihan ini akan menghapus akun selamanya, dan tidak akan dapat dikembalikan! Kamu harus mendaftar menggunakan akun yang baru untuk dapat kembali menggunakan Habitica. Permata yang telah dibeli atau telah disimpan tidak akan dikembalikan. Jika kamu benar-benar yakin, ketikkan kata sandi pada kotak teks di bawah ini.", "deleteSocialAccountText": "Apakah kamu yakin? Ini akan menghapus akunmu untuk selamanya, dan tidak akan bisa dikembalikan! Kamu perlu mendaftar akun baru untuk menggunakan Habitica lagi. Permata yang disimpan di Bank atau telah digunakan tidak akan dikembalikan. Jika kamu betul-betul yakin, ketik \"<%= magicWord %>\" ke dalam kotak teks di bawah.", "API": "API", @@ -71,7 +71,7 @@ "beeminderDesc": "Mengizinkan Beeminder memonitor To Do Habitica kamu secara otomatis. Kamu dapat memutuskan untuk mengatur jumlah target To Do yang selesai per hari atau per minggu, atau kamu dapat memutuskan untuk mengurangi secara berkala jumlah sisa To-Do yang belum selesai. (Arti \"memutuskan\" dalam Beeminder yakni dorongan untuk membayar sejumlah uang sungguhan! Tetapi mungkin saja kamu juga menyukai grafik Beeminder yang menarik.)", "chromeChatExtension": "Ekstensi Obrolan Chrome", "chromeChatExtensionDesc": "Ekstensi Obrolan Chrome untuk Habitica menambah kotak obrolan intuitif ke semua laman habitica.com. Ekstensi membuat pengguna dapat melakukan obrolan di Kedai Minum, party mereka, dan guild yang mereka ikuti.", - "otherExtensions": "Ekstensi Lainnya", + "otherExtensions": "Ekstensi Lainnya", "otherDesc": "Temukan aplikasi, ekstensi, dan peralatan lainnya dalam Habitica wiki.", "resetDo": "Lakukan, reset akun!", "resetComplete": "Reset selesai!", @@ -180,7 +180,7 @@ "subscriptionReminders": "Pengingat Berlangganan", "giftedSubscriptionWinterPromo": "Halo <%= username %>, kamu mendapatkan<%= monthCount %> bulan berlangganan sebagai hadiah dari promosi holiday gift-giving kami!", "newPMNotificationTitle": "Pesan Baru dari <%= name %>", - "chatExtensionDesc": "Chat Extension for Habitica menambahkan kotak percakapan intuitif di seluruh habitica.com. Dengan ini, pengguna dapat melakukan chat di Kedai Minum, party, dan di guild manapun mereka bergabung.", + "chatExtensionDesc": "Chat Extension for Habitica menambahkan kotak percakapan intuitif di seluruh habitica.com. Dengan ini, pengguna dapat melakukan chat di Kedai Minum, party, dan di guild manapun mereka bergabung.", "chatExtension": "Ekstensi Obrolan Chrome and Ekstensi Obrolan Firefox", "resetAccount": "Reset Akun", "bannedSlurUsedInProfile": "Kata pada Nama Penggunamu atau Tentang Diri mengandung bahasa kasar, dan hakmu untuk mengobrol telah dicabut.", @@ -213,5 +213,18 @@ "transaction_buy_money": "Dibeli dengan uang", "transaction_buy_gold": "Dibeli dengan koin emas", "transaction_gift_receive": "Diterima dari", - "transaction_admin_update_balance": "Admin diberikan" + "transaction_admin_update_balance": "Admin diberikan", + "passwordIssueLength": "Sandi harus terdiri dari 8 sampai 64 karakter.", + "timestamp": "Cap waktu", + "nextHourglassDescription": "Pelanggan menerima Jam Pasir Mistik pada\ntiga hari pertama dalam satu bulan.", + "transaction_change_class": "Perubahan Pekerjaan", + "transaction_create_challenge": "Telah membuat tantangan", + "transaction_create_bank_challenge": "Telah membuat bank tantangan", + "transaction_create_guild": "Telah membuat guild", + "transaction_rebirth": "Telah menggunakan Batu Kelahiran", + "transaction_release_pets": "Telah melepaskan peliharaan", + "transaction_release_mounts": "Telah melepaskan tunggangan", + "transaction_reroll": "Telah menggunakan Ramuan Penguat", + "transaction_subscription_perks": "Keuntungan berlangganan", + "thirdPartyTools": "Temukan aplikasi, ekstensi, dan semua jenis alat pihak ketiga lainnya yang dapat kamu gunakan dengan akunmu di Habitica wiki." } diff --git a/website/common/locales/id/subscriber.json b/website/common/locales/id/subscriber.json index 7fb58becce..021f0e7320 100644 --- a/website/common/locales/id/subscriber.json +++ b/website/common/locales/id/subscriber.json @@ -79,22 +79,22 @@ "mysterySet201801": "Set Peri Musim Dingin", "mysterySet201802": "Set Kumbang Cinta", "mysterySet201803": "Set Capung Nekat", - "mysterySet201804": "Spiffy Squirrel Set", + "mysterySet201804": "Set Tupai Keren", "mysterySet201805": "Set Merak Mengagumkan", - "mysterySet201806": "Alluring Anglerfish Set", - "mysterySet201807": "Sea Serpent Set", + "mysterySet201806": "Set Anglerfish Memikat", + "mysterySet201807": "Set Naga Laut", "mysterySet201808": "Set Naga Lava", "mysterySet201809": "Set Armor Musim Gugur", "mysterySet201810": "Set Hutan Kegelapan", - "mysterySet201811": "Splendid Sorcerer Set", + "mysterySet201811": "Set Penyihir Luar Biasa", "mysterySet201812": "Set Rubah Salju", - "mysterySet201901": "Polaris Set", + "mysterySet201901": "Set Polaris", "mysterySet301404": "Set Steampunk Standard", "mysterySet301405": "Set Aksesoris Steampunk", "mysterySet301703": "Set Merak Steampunk", "mysterySet301704": "Set Burung Pegar Steampunk", "mysterySetwondercon": "Wondercon", - "subUpdateCard": "Update Kartu", + "subUpdateCard": "Update Kartu Kredit", "subUpdateTitle": "Update", "subUpdateDescription": "Update kartu untuk dapat ditagih.", "notEnoughHourglasses": "Kamu tidak punya cukup Jam Pasir Mistis.", @@ -120,20 +120,20 @@ "paypalCanceled": "Langgananmu telah dibatalkan", "choosePaymentMethod": "Pilih metode pembayaranmu", "buyGemsSupportsDevs": "Membeli Permata mendukung para developer dan membantu menjaga Habitica tetap berjalan", - "support": "DUKUNG", - "gemBenefitLeadin": "Permata membuatmu dapat membeli barang-barang tambahan yang seru untuk akunmu, termasuk:", + "support": "Dukung", + "gemBenefitLeadin": "Apa yang dapat kamu beli dengan Permata?", "gemBenefit1": "Kostum unik dan modis untuk avatarmu.", "gemBenefit2": "Latar Belakang untuk menaruh avatarmu di dunia Habitica!", "gemBenefit3": "Rangkaian Misi menarik yang memberikan telur peliharaan.", "gemBenefit4": "Reset Poin Status avatar-mu dan ubah Pekerjaannya.", - "subscriptionBenefit1": "Alexander sang Saudagar akan menjual kepadamu Permata, seharga 20 Koin Emas masing-masing!", - "subscriptionBenefit3": "Temukan lebih banyak item di Habitica dengan batas drop harian yang dilipatgandakan.", - "subscriptionBenefit4": "Barang kosmetik unik untuk avatarmu setiap bulan.", - "subscriptionBenefit5": "Dapatkan peliharaan Jackalope Ungu Kerajaan eksklusif!", - "subscriptionBenefit6": "Dapatkan Jam Pasir Mistis untuk digunakan di Toko Penjelajah Waktu!", + "subscriptionBenefit1": "Alexander sang Saudagar sekarang akan menjual kepadamu Permata dari Market dengan harga masing-masing 20 Koin Emas!", + "subscriptionBenefit3": "Temukan lebih banyak lagi item di Habitica dengan 2x batas drop harian.", + "subscriptionBenefit4": "Item kosmetik unik agar kamu dapat menghias avatarmu setiap bulan.", + "subscriptionBenefit5": "Dapatkan peliharaan Jackalope Ungu Kerajaan saat kamu menjadi pelanggan baru.", + "subscriptionBenefit6": "Dapatkan Jam Pasir Mistis untuk membeli item di Toko Penjelajah Waktu!", "purchaseAll": "Beli Set", - "gemsRemaining": "permata tersisa", - "notEnoughGemsToBuy": "Kamu tidak dapat membeli permata sebanyak itu", + "gemsRemaining": "tersisa", + "notEnoughGemsToBuy": "Tidak ada lagi Permata yang tersedia untuk dibeli bulan ini. Selanjutnya akan tersedia dalam 3 hari pertama setiap bulan.", "needToPurchaseGems": "Ingin membeli permata sebagai hadiah?", "wantToSendOwnGems": "Ingin memberi permatamu sendiri?", "howManyGemsPurchase": "Berapa banyak Permata yang ingin kamu beli?", @@ -144,5 +144,86 @@ "viewSubscriptions": "Lihat langganan", "giftASubscription": "Hadiahkan fitur langganan", "mysticHourglassNeededNoSub": "Barang ini membutuhkan Jam pasir mistis. Kamu bisa mendapatkannya dengan berlangganan di Habitica.", - "cancelSubInfoApple": "Silahkan Ikuti Instruksi resmi Apple untuk berhenti berlangganan atau untuk melihat tanggal langganan berakhir jika kamu telah membatalkan langgananmu. Layar ini tidak ditampilkan ke kamu jika langgananmu telah berhenti." + "cancelSubInfoApple": "Silahkan Ikuti Instruksi resmi Apple untuk berhenti berlangganan atau untuk melihat tanggal langganan berakhir jika kamu telah membatalkan langgananmu. Layar ini tidak ditampilkan ke kamu jika langgananmu telah berhenti.", + "cancelSubInfoGoogle": "Silakan buka bagian \"Akun\" > \"Langganan\" di aplikasi Google Play Store untuk membatalkan langgananmu atau untuk melihat tanggal penghentian langgananmu jika kamu telah membatalkannya. Layar ini tidak dapat menunjukkan apakah langgananmu telah dibatalkan.", + "mysterySet201904": "Set Opal Mewah", + "mysterySet201902": "Set Crush Samar", + "mysterySet201903": "Set Telur Istimewa", + "mysterySet202303": "Set Karakter Bersurai", + "mysterySet202112": "Set Undine Antartika", + "mysterySet202209": "Set Sarjana Sihir", + "mysterySet201910": "Set Api Samar", + "haveNonRecurringSub": "Kamu memiliki langganan hadiah yang tidak berulang.", + "mysterySet202201": "Set Pembuat Komedi Tengah Malam", + "mysterySet202301": "Set Rubah Pemberani", + "usuallyGems": "Biasanya <%= originalGems %>", + "dropCapSubs": "Pelanggan Habitica dapat menemukan dua kali lipat item acak setiap hari dan menerima item misteri bulanan!", + "sendAGift": "Kirim Hadiah", + "mysterySet201905": "Set Naga Mempesona", + "mysterySet201906": "Set Koi Baik Hati", + "mysterySet201907": "Set Teman Pantai", + "mysterySet201908": "Set Faun Liar", + "mysterySet201911": "Set Perayu Kristal", + "mysterySet201912": "Set Pixie Kutub", + "mysterySet202001": "Set Rubah Dongeng", + "mysterySet202002": "Set Manis Bergaya", + "mysterySet202009": "Set Ngengat Luar Biasa", + "mysterySet202101": "Set Macan Tutul Salju Manis", + "mysterySet202102": "Set Juara Menawan", + "mysterySet202103": "Set Pemandangan Bunga", + "mysterySet202203": "Set Capung Pemberani", + "mysterySet202207": "Set Jeli Lengket", + "subCanceledTitle": "Langganan Dibatalkan", + "readyToResubscribe": "Kamu siap untuk berlangganan kembali?", + "mysterySet202110": "Set Gargoyle Berlumut", + "mysterySet202208": "Set Kuncir Gagah", + "mysterySet202204": "Set Petualang Virtual", + "backgroundAlreadyOwned": "Latar Belakang sudah dimiliki.", + "mysterySet202306": "Set Pelangi Razzle Dazzle", + "monthlyGems": "Permata Bulanan:", + "mysterySet202202": "Set Kuncir Kembar Pirus", + "mysterySet202212": "Set Penjaga Glasial", + "subscriptionCanceled": "Langganan-mu dibatalkan", + "subscriptionInactiveDate": "Manfaat langgananmu akan menjadi tidak aktif pada
<%= date %>", + "mysterySet202104": "Set Penjaga Thistle", + "mysterySet202305": "Set Naga Peristiwa", + "supportHabitica": "Dukung Habitica", + "subscribersReceiveBenefits": "Pelanggan menerima manfaat ini!", + "subMonths": "Bulan Berlangganan", + "mysterySet202105": "Set Naga Nebula", + "mysterySet202210": "Set Ular Jahat", + "youAreSubscribed": "Kamu berlangganan Habitica", + "dropCapReached": "Kamu sudah menemukan semua item untuk hari ini!", + "needToUpdateCard": "Perlu memperbarui kartu?", + "cancelYourSubscription": "Batalkan langgananmu?", + "mysterySet202003": "Set Petarung Berduri", + "mysterySet202004": "Set Raja Perkasa", + "mysterySet202005": "Set Wyvern Menakjubkan", + "mysterySet202007": "Set Orca Luar Biasa", + "mysterySet202008": "Set Oracle Burung Hantu", + "mysterySet202010": "Set Kelelawar Memperdaya", + "mysterySet202011": "Set Penyihir Dedaunan", + "mysterySet202012": "Set Phoenix Api-Beku", + "mysterySet202106": "Set Sirene Senja", + "mysterySet202107": "Set Semangat Pantai", + "mysterySet202109": "Set Lepidopteran Bulan", + "mysterySet202111": "Set Pengendali Waktu Kosmik", + "mysterySet202205": "Set Naga Bersayap Senja", + "mysterySet202206": "Set Roh Laut", + "mysterySet202211": "Set Pengendali Petir", + "dropCapLearnMore": "Pelajari lebih lanjut tentang sistem drop Habitica", + "lookingForMoreItems": "Mencari lebih Banyak Item?", + "subscriptionStats": "Status Langganan", + "cancelSubAlternatives": "Jika kamu mengalami masalah teknis atau Habitica tampaknya tidak cocok untukmu, pertimbangkanlah untuk menghubungi kami. Kami ingin membantumu mendapatkan hasil maksimal dari Habitica.", + "switchToRecurring": "Ganti ke langganan berulang?", + "subscriptionCreditConversion": "Memulai langganan baru akan mengkonversi sisa bulan menjadi kredit yang nantinya digunakan setelah langganan berulang dibatalkan.", + "mysterySet202006": "Set Merfolk Multikrom", + "mysterySet202108": "Set Shounen Berapi-api", + "dropCapExplanation": "Batas Drop-mu akan diatur ulang bersama dengan tugasmu besok. Namun, kamu akan tetap memperoleh Koin Emas, Pengalaman, dan progresivitas Misi saat menyelesaikan tugas.", + "continueGiftSubBenefits": "Ingin lanjut mendapatkan kelebihan? Kamu dapat memulai langganan baru sebelum langganan hadiah-mu habis agar kelebihanmu tetap aktif.", + "mysterySet201909": "Set Biji Ek Ramah", + "mysterySet202302": "Set Kucing Penipu", + "monthlyMysteryItems": "Item Misteri Bulanan", + "doubleDropCap": "Batas Drop Ganda", + "mysterySet202304": "Set Teko Teh" } diff --git a/website/common/locales/id/tasks.json b/website/common/locales/id/tasks.json index 8a8b04f18c..37e92ef19e 100644 --- a/website/common/locales/id/tasks.json +++ b/website/common/locales/id/tasks.json @@ -1,10 +1,10 @@ { "clearCompleted": "Hapus yang Telah Selesai", - "clearCompletedDescription": "To-do yang telah diselesaikan akan dihapus setelah 30 hari untuk para non-pelanggan dan 90 hari untuk para pelanggan.", - "clearCompletedConfirm": "Apakah kamu yakin ingin menghapus semua To-do yang telah diselesaikan?", + "clearCompletedDescription": "To Do yang telah diselesaikan akan dihapus setelah 30 hari untuk para non-pelanggan dan 90 hari untuk para pelanggan.", + "clearCompletedConfirm": "Apakah kamu yakin ingin menghapus semua To Do yang telah diselesaikan?", "addMultipleTip": "Tips: Untuk menambahkan beberapa <%= taskType %> sekaligus, pisahkan baris masing-masing tugas (Shift + Enter) lalu tekan \"Enter.\"", "addATask": "Tambahkan sebuah <%= type %>", - "editATask": "Edit sebuah <%= type %>", + "editATask": "Ubah <%= type %>", "createTask": "Buat sebuah <%= type %>", "addTaskToUser": "Tambahkan Tugas", "scheduled": "Terjadwal", @@ -16,7 +16,7 @@ "negative": "Negatif", "yellowred": "Lemah", "greenblue": "Kuat", - "edit": "Edit", + "edit": "Ubah", "save": "Simpan", "addChecklist": "Tambah Daftar Cek", "checklist": "Daftar Cek", @@ -27,8 +27,8 @@ "notes": "Catatan", "advancedSettings": "Pengaturan Lanjutan", "difficulty": "Tingkat kesulitan", - "difficultyHelp": "Kesulitan menggambarkan seberapa susahnya suatu Kebiasaan, Keseharian, atau To-Do untuk kamu selesaikan. Kesulitan tinggi memberikanmu hadiah yang lebih besar sewaktu Tugas itu selesai, tapi juga memberimu damage yang lebih besar sewaktu ada Keseharian yang terlewat atau sewaktu melakukan Kebiasaan Buruk.", - "trivial": "Trivial", + "difficultyHelp": "Kesulitan menggambarkan seberapa susahnya suatu Kebiasaan, Keseharian, atau To Do untuk kamu selesaikan. Kesulitan tinggi memberikanmu hadiah yang lebih besar sewaktu Tugas itu selesai, tapi juga memberimu damage yang lebih besar sewaktu ada Keseharian yang terlewat atau sewaktu melakukan Kebiasaan Buruk.", + "trivial": "Remeh", "easy": "Mudah", "medium": "Sedang", "hard": "Susah", @@ -46,9 +46,9 @@ "days": "Hari", "restoreStreak": "Atur Runtunan", "resetStreak": "Ulang Runtunan", - "todo": "To-Do", - "todos": "To-Do", - "todosDesc": "To-Do hanya perlu diselesaikan sekali. Tambahkan daftar tugas di dalam To-Do untuk meningkatkan nilainya.", + "todo": "To Do", + "todos": "To Do", + "todosDesc": "To Do hanya perlu diselesaikan sekali. Tambahkan daftar tugas di dalam To Do untuk meningkatkan nilainya.", "dueDate": "Tenggat Waktu", "remaining": "Aktif", "complete": "Selesai", @@ -74,10 +74,10 @@ "streaks": "Pencapaian Runtunan", "streakName": "Pencapaian <%= count %>Beruntun", "streakText": "Telah melakukan <%= count %> 21 hari beruntun di Keseharian", - "streakSingular": "Streaker", + "streakSingular": "Penembak Jitu", "streakSingularText": "Telah melakukan Kegiatan Harian 21 hari berturut-turut", "perfectName": "<%= count %> Hari Sempurna", - "perfectText": "Menyelesaikan semua Keseharian pada <%= count %> hari. Dengan pencapaian ini kamu akan mendapatkan buff +level/2 untuk semua Atribut pada hari berikutnya. Level di atas 100 tidak akan memberimu efek tambahan lagi.", + "perfectText": "Telah menyelesaikan semua Keseharian pada <%= count %> hari. Dengan pencapaian ini kamu mendapatkan buff +level/2 untuk semua Atribut pada hari berikutnya. Level di atas 100 tidak akan memberimu efek tambahan lagi.", "perfectSingular": "Hari Sempurna", "perfectSingularText": "Menyelesaikan semua Keseharian dalam satu hari. Dengan pencapaian ini kamu akan mendapatkan buff +level/2 untuk semua Atribut keesokan harinya. Level di atas 100 tidak akan memberimu efek tambahan lagi.", "fortifyName": "Ramuan Penguat", @@ -95,7 +95,7 @@ "invalidTasksType": "Tipe tugas harus merupakan salah satu dari \"habits\", \"dailys\", \"todos\", \"rewards\".", "invalidTasksTypeExtra": "Tipe tugas harus merupakan salah satu dari \"habits\", \"dailys\", \"todos\", \"rewards\", \"completedTodos\"..", "cantDeleteChallengeTasks": "Tugas yang termasuk dalam tantangan tidak dapat dihapus.", - "checklistOnlyDailyTodo": "Daftar Cek hanya tersedia di Keseharian dan To-Do", + "checklistOnlyDailyTodo": "Daftar Cek hanya tersedia di Keseharian dan To Do", "checklistItemNotFound": "Tidak ada item daftar cek yang ditemukan dengan id yang diberikan.", "itemIdRequired": "\"itemId\" harus merupakan UUID yang valid.", "tagNotFound": "Tidak ada label item yang ditemukan dengan id yang diberikan.", @@ -106,7 +106,7 @@ "alreadyTagged": "Tugas telah memiliki label yang sama dengan yang diberikan.", "taskRequiresApproval": "Tugas ini harus disetujui terlebih dahulu sebelum kamu dapat menyelesaikannya. Izin telah diminta", "taskApprovalHasBeenRequested": "Izin telah diminta", - "taskApprovalWasNotRequested": "Hanya tugas yang menunggu persetujuan yang bisa ditandai sebagai memerlukan lebih banyak usaha", + "taskApprovalWasNotRequested": "Persetujuan belum dibutuhkan untuk tugas ini.", "approvals": "Izin", "approvalRequired": "Izin Diperlukan", "weekly": "Mingguan", @@ -127,5 +127,20 @@ "checkOffYesterDailies": "Centang Keseharian yang telah kamu lakukan kemarin:", "yesterDailiesCallToAction": "Mulai Hari Baruku!", "sessionOutdated": "Sesi kamu sudah tidak berlaku. Silakan muat ulang laman atau pilih sinkronkan.", - "errorTemporaryItem": "Item ini hanya ada untuk sementara dan tidak bisa disematkan." + "errorTemporaryItem": "Item ini hanya ada untuk sementara dan tidak bisa disematkan.", + "sureDeleteType": "Kamu yakin ingin menghapus <%= type %> ini?", + "enterTag": "Masukkan tanda", + "addNotes": "Tambahkan catatan", + "addATitle": "Tambahkan judul", + "addTags": "Tambahkan tanda...", + "counter": "Penghitung", + "adjustCounter": "Atur hitungan", + "resetCounter": "Ulang hitungan", + "tomorrow": "Besok", + "deleteTaskType": "Hapus <%= type %> ini", + "editTagsText": "Ubah Tanda", + "pressEnterToAddTag": "Tekan Enter untuk menambahkan penanda: '<%= tagName %>'", + "taskSummary": "Ringkasan <%= type %>", + "scoreDown": "Kalah", + "scoreUp": "Menang" } diff --git a/website/common/locales/is/groups.json b/website/common/locales/is/groups.json index 0acd03a6ee..1049893f5b 100755 --- a/website/common/locales/is/groups.json +++ b/website/common/locales/is/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/it/achievements.json b/website/common/locales/it/achievements.json index 6558287ed9..494d242160 100644 --- a/website/common/locales/it/achievements.json +++ b/website/common/locales/it/achievements.json @@ -1,148 +1,151 @@ { "achievement": "Medaglia", "onwards": "Avanti così!", - "levelup": "Lavorando sui tuoi obiettivi nella vita reale, sei salito/a di livello e hai recuperato tutti i punti salute!!", - "reachedLevel": "Hai raggiunto il livello <%= level %>", - "achievementLostMasterclasser": "Completatore di Missioni: Serie di Perfezionamento", - "achievementLostMasterclasserText": "Completa tutte le sedici missioni della Serie di Perfezionamento e risolvi il mistero del Perfezionista Perduto!", - "achievementLostMasterclasserModalText": "Hai completato tutte e sedici le missioni nella serie di Missioni Masterclasser e risolto il mistero del Masterclasser Perduto!", - "achievementMindOverMatter": "Il Potere della Mente", - "achievementMindOverMatterText": "Completata le missioni per animali Roccia, Melma e Filo.", - "achievementMindOverMatterModalText": "Hai completato le missioni su animali Roccia, Melma e Filo!", + "levelup": "Realizzando gli obiettivi della tua vita, sei salito/a di livello e hai recuperato tutti i punti salute!!", + "reachedLevel": "Hai raggiunto il Livello <%= level %>", + "achievementLostMasterclasser": "Completista di Missioni: Serie dei Masterclasser", + "achievementLostMasterclasserText": "Completa tutte le sedici missioni della Serie dei Masterclasser e risolvi il mistero della Masterclasser Perduta!", + "achievementLostMasterclasserModalText": "Hai completato tutte e sedici le missioni della Serie di Missioni Masterclasser e risolto il mistero della Masterclasser Perduta!", + "achievementMindOverMatter": "La Mente Domina la Materia", + "achievementMindOverMatterText": "Ha completato le missioni per gli animali domestici: Roccia, Melma e Gomitolo.", + "achievementMindOverMatterModalText": "Hai completato le missioni degli animali domestici: Roccia, Melma e Gomitolo!", "achievementJustAddWater": "Basta Aggiungere Acqua", - "achievementJustAddWaterText": "Completa le missioni di Polpo, Cavalluccio Marino, Seppia, Balena, Tartaruga, Nudibranco, Serpente di Mare e Delfino.", - "achievementJustAddWaterModalText": "Hai completato le missioni di Polpo, Cavalluccio Marino, Seppia, Balena, Tartaruga, Nudibranco, Serpente di Mare e Delfino!", + "achievementJustAddWaterText": "Ha completato le missioni degli animali domestici: Polpo, Cavalluccio Marino, Seppia, Balena, Tartaruga, Lumaca di Mare, Serpente Marino e Delfino.", + "achievementJustAddWaterModalText": "Hai completato le missioni degli animali domestici: Polpo, Cavalluccio Marino, Seppia, Balena, Tartaruga, Lumaca di Mare, Serpente Marino e Delfino!", "achievementBackToBasics": "Ritorno alle Origini", - "achievementBackToBasicsText": "Raccogli tutti gli animali base.", - "achievementBackToBasicsModalText": "Hai raccolto tutti gli animali base!", + "achievementBackToBasicsText": "Ha collezionato tutti gli Animali Domestici di Base.", + "achievementBackToBasicsModalText": "Hai collezionato tutti gli Animali Domestici di Base!", "foundNewItems": "Hai trovato nuovi oggetti!", "letsGetStarted": "Cominciamo!", - "achievementAridAuthority": "Autorità arida", - "achievementPartyUp": "Hai collaborato con un membro della squadra!", + "achievementAridAuthority": "Autorità Arida", + "achievementPartyUp": "Hai unito le forze con un membro della squadra!", "achievementDustDevilModalText": "Hai collezionato tutti gli Animali del Deserto!", - "achievementDustDevilText": "Colleziona tutti gli Animali del Deserto.", - "achievementDustDevil": "Diavolo della polvere", + "achievementDustDevilText": "Ha collezionato tutti gli Animali del Deserto.", + "achievementDustDevil": "Diavolo della Polvere", "achievementAllYourBaseModalText": "Hai domato tutte le Cavalcature Base!", - "achievementAllYourBaseText": "Ha domato tutte le cavalcature base.", - "achievementAllYourBase": "Tutte le Basi", - "foundNewItemsCTA": "Vai nel tuo inventario e prova a combinare la tua nuova pozione di schiusa con un uovo!", + "achievementAllYourBaseText": "Ha domato tutte le Cavalcature Base.", + "achievementAllYourBase": "Tutte le Tue Basi", + "foundNewItemsCTA": "Vai nel tuo Inventario e prova a combinare la tua nuova pozione di schiusa con un uovo!", "hideAchievements": "Nascondi <%= category %>", - "showAllAchievements": "Mostra tutte <%= category %>", + "showAllAchievements": "Mostra Tutto <%= category %>", "onboardingCompleteDescSmall": "Se ne vuoi di più, dai un'occhiata alle Medaglie ed inizia a collezionarle!", "onboardingComplete": "Hai completato le attività introduttive!", "earnedAchievement": "Hai guadagnato una medaglia!", - "yourProgress": "I tuoi progressi", + "yourProgress": "I tuoi Progressi", "onboardingProgress": "<%= percentage %>% progresso", - "achievementBareNecessities": "Il minimo necessario", + "achievementBareNecessities": "Lo Stretto Indispensabile", "achievementPurchasedEquipment": "Acquista un pezzo di Equipaggiamento", - "achievementFedPetModalText": "Esistono molti tipi diversi di cibo, ma gli Animali possono essere schizzinosi", - "achievementFedPetText": "Hai dato da mangiare al tuo primo animale.", - "achievementFedPet": "Dai da mangiare ad un Animale", - "achievementHatchedPetModalText": "Vai nel tuo inventario e prova a combinare una Pozione di Schiusa ed un uovo", - "achievementHatchedPet": "Schiudi un Animale", - "achievementCompletedTask": "Completa una attività", + "achievementFedPetModalText": "Esistono molti tipi diversi di cibo, ma gli Animali Domestici possono essere schizzinosi", + "achievementFedPetText": "Nutrito il primo animale domestico.", + "achievementFedPet": "Dai da mangiare ad un Animale Domestico", + "achievementHatchedPetModalText": "Vai nel tuo inventario e prova a combinare una Pozione di schiusa ed un Uovo", + "achievementHatchedPet": "Schiudi un Animale Domestico", + "achievementCompletedTask": "Completa un'attività", "achievementCreatedTaskModalText": "Aggiungi un'attività per qualcosa che vorresti realizzare questa settimana", "achievementCreatedTaskText": "Creata la prima attività.", "achievementCreatedTask": "Crea la tua prima attività", - "achievementMonsterMagusModalText": "Hai collezionato tutti gli Animali Zombie!", - "achievementMonsterMagusText": "Colleziona tutti gli Animali Zombie.", + "achievementMonsterMagusModalText": "Hai collezionato tutti gli Animali Zombi!", + "achievementMonsterMagusText": "Ha collezionato tutti gli Animali Zombi.", "achievementMonsterMagus": "Mago Mostruoso", "achievementPartyOn": "La tua squadra ha raggiunto i 4 membri!", - "achievementAridAuthorityText": "Ha domato tutte le cavalcature del Deserto.", - "foundNewItemsExplanation": "Completare delle attività ti dà la possibilità di trovare oggetti, come Uova, Pozioni di Schiusa e Cibo per i tuoi Animali.", - "gettingStartedDesc": "Completa queste attività introduttive ed otterrai 5 Medaglie e 100 Oro una volta terminate!", + "achievementAridAuthorityText": "Ha domato tutte le Cavalcature del Deserto.", + "foundNewItemsExplanation": "Completare le attività ti dà la possibilità di trovare oggetti, come Uova, Pozioni di Schiusa e Cibo per i tuoi Animali.", + "gettingStartedDesc": "Completa queste attività introduttive ed otterrai 5 Medaglie e 100 Ori una volta terminate!", "viewAchievements": "Visualizza le tue Medaglie", - "achievementBareNecessitiesModalText": "Hai completato tutte le missioni Scimmia, Bradipo ed Arbusto!", - "achievementBareNecessitiesText": "Completa tutte le missioni Scimmia, Bradipo ed Arbusto.", - "achievementBugBonanzaModalText": "Hai completato tutte le missioni Scarabeo, Farfalla, Lumaca e Ragno!", - "achievementBugBonanzaText": "Completa tutte le missioni Scarabeo, Farfalla, Lumaca e Ragno.", + "achievementBareNecessitiesModalText": "Hai completato le missioni degli animali domestici: Scimmia, Bradipo ed Alberello!", + "achievementBareNecessitiesText": "Ha completato le missioni degli animali domestici: Scimmia, Bradipo ed Alberello.", + "achievementBugBonanzaModalText": "Hai completato le missioni degli animali domestici: Scarabeo, Farfalla, Chiocciola e Ragno!", + "achievementBugBonanzaText": "Ha completato le missioni degli animali domestici: Scarabeo, Farfalla, Chiocciola e Ragno.", "achievementBugBonanza": "Entomologo", - "achievementRosyOutlookModalText": "Hai domato tutte le Cavalcature Zucchero Filato Rosa!", - "achievementRosyOutlookText": "Ha domato tutte le Cavalcature Zucchero Filato Rosa.", - "achievementRosyOutlook": "Vedere tutto rosa", - "achievementTickledPinkModalText": "Hai collezionato tutti gli Animali Zucchero Filato Rosa!", - "achievementTickledPinkText": "Colleziona tutti gli Animali Zucchero Filato Rosa.", + "achievementRosyOutlookModalText": "Hai domato tutte le Cavalcature di Zucchero Filato Rosa!", + "achievementRosyOutlookText": "Ha domato tutte le Cavalcature di Zucchero Filato Rosa.", + "achievementRosyOutlook": "Prospettiva Rosea", + "achievementTickledPinkModalText": "Hai collezionato tutti gli Animali Domestici di Zucchero Filato Rosa!", + "achievementTickledPinkText": "Ha collezionato tutti gli Animali Domestici di Zucchero Filato Rosa.", "achievementTickledPink": "Cronaca Rosa", "achievementPearlyProModalText": "Hai domato tutte le Cavalcature Bianche!", "achievementPearlyProText": "Ha domato tutte le Cavalcature Bianche.", "achievementPearlyPro": "Perla Rara", - "achievementPrimedForPaintingModalText": "Hai collezionato tutti gli Animali Bianchi!", - "achievementPrimedForPaintingText": "Hai collezionato tutti gli Animali Bianchi.", - "achievementPrimedForPainting": "Prima mano", - "achievementPurchasedEquipmentModalText": "L'equipaggiamento è un modo per personalizzare il tuo avatar e migliorare le tue statistiche", - "achievementPurchasedEquipmentText": "Hai comprato il primo pezzo d'equipaggiamento.", - "achievementHatchedPetText": "Schiudi il primo animale.", + "achievementPrimedForPaintingModalText": "Hai collezionato tutti gli Animali Domestici Bianchi!", + "achievementPrimedForPaintingText": "Ha collezionato tutti gli Animali Domestici Bianchi.", + "achievementPrimedForPainting": "Prima Mano", + "achievementPurchasedEquipmentModalText": "L'equipaggiamento è un modo per personalizzare il tuo avatar e migliorare i tuoi Attributi", + "achievementPurchasedEquipmentText": "Acquistato il primo pezzo d'equipaggiamento.", + "achievementHatchedPetText": "Schiuso il primo animale domestico.", "achievementCompletedTaskModalText": "Spunta le tue attività per guadagnare premi", "achievementCompletedTaskText": "Prima Attività completata.", - "achievementUndeadUndertakerModalText": "Hai domato tutte le Cavalcature Zombie!", - "achievementUndeadUndertakerText": "Ha domato tutte le cavalcature Zombie.", + "achievementUndeadUndertakerModalText": "Hai domato tutte le Cavalcature Zombi!", + "achievementUndeadUndertakerText": "Ha domato tutte le Cavalcature Zombi.", "achievementUndeadUndertaker": "Becchino Non-Morto", "achievementKickstarter2019Text": "Sostenitore del Progetto Kickstarter 2019", "achievementKickstarter2019": "Sostenitore su Kickstarter", "achievementAridAuthorityModalText": "Hai domato tutte le Cavalcature del Deserto!", - "onboardingCompleteDesc": "Hai guadagnato5 Medaglie e 100 Oro per aver completato l'elenco.", - "achievementFreshwaterFriendsModalText": "Hai completato le missioni Axolotl, Rana e Ippopotamo!", - "achievementFreshwaterFriendsText": "Completa le missioni Axolotl, Rana e Ippopotamo.", - "achievementFreshwaterFriends": "Marinai d'Acqua Dolce", + "onboardingCompleteDesc": "Hai guadagnato5 Medaglie e 100 Ori per aver completato la lista.", + "achievementFreshwaterFriendsModalText": "Hai completato le missioni degli animali domestici: Axolotl, Rana ed Ippopotamo!", + "achievementFreshwaterFriendsText": "Ha completato le missioni degli animali domestici: Axolotl, Rana ed Ippopotamo.", + "achievementFreshwaterFriends": "Amici d'Acqua Dolce", "achievementAllThatGlittersModalText": "Hai domato tutte le Cavalcature Oro!", "achievementAllThatGlittersText": "Ha domato tutte le Cavalcature Oro.", - "achievementAllThatGlitters": "Tutto ciò che luccica", - "achievementGoodAsGoldText": "Colleziona tutti gli animali oro.", - "achievementGoodAsGoldModalText": "Hai collezionato tutti gli animali oro!", - "achievementGoodAsGold": "Come oro colato", - "yourRewards": "Le tue ricompense", - "achievementSkeletonCrewText": "Ha domato tutte le cavalcature scheletriche.", - "achievementSkeletonCrewModalText": "Hai addomesticato tutte le cavalcature scheletriche!", - "achievementSkeletonCrew": "Equipaggio scheletrico", - "achievementBoneCollectorModalText": "Hai collezionato tutti gli animali scheletro!", - "achievementBoneCollectorText": "Ha collezionato tutti gli animali scheletro.", - "achievementBoneCollector": "Collezionista di ossa", - "achievementSeeingRedModalText": "Hai collezionato tutti gli animali rossi!", - "achievementSeeingRedText": "Ha collezionato tutti gli animali rossi.", - "achievementSeeingRed": "Vedere rosso", - "achievementRedLetterDayModalText": "Hai collezionato tutte le cavalcature rosse!", - "achievementRedLetterDayText": "Ha collezionato tutte le cavalcature rosse.", + "achievementAllThatGlitters": "Tutto Ciò che Luccica", + "achievementGoodAsGoldText": "Ha collezionato tutti gli Animali Domestici Oro.", + "achievementGoodAsGoldModalText": "Hai collezionato tutti gli Animali Domestici Oro!", + "achievementGoodAsGold": "Come Oro Colato", + "yourRewards": "Le tue Ricompense", + "achievementSkeletonCrewText": "Ha domato tutte le Cavalcature Scheletriche.", + "achievementSkeletonCrewModalText": "Hai domato tutte le Cavalcature Scheletriche!", + "achievementSkeletonCrew": "Ciurma Scheletrica", + "achievementBoneCollectorModalText": "Hai collezionato tutti gli Animali Domestici Scheletro!", + "achievementBoneCollectorText": "Ha collezionato tutti gli Animali Domestici Scheletro.", + "achievementBoneCollector": "Collezionista d'Ossa", + "achievementSeeingRedModalText": "Hai collezionato tutti gli Animali Domestici Rossi!", + "achievementSeeingRedText": "Ha collezionato tutti gli Animali Domestici Rossi.", + "achievementSeeingRed": "Vedere Rosso", + "achievementRedLetterDayModalText": "Hai collezionato tutte le Cavalcature Rosse!", + "achievementRedLetterDayText": "Ha collezionato tutte le Cavalcature Rosse.", "achievementRedLetterDay": "Tappeto Rosso", - "achievementLegendaryBestiary": "Creature leggendarie", - "achievementLegendaryBestiaryModalText": "Hai collezionato tutti gli animali mitici!", - "achievementLegendaryBestiaryText": "Ha schiuso tutti i colori standard degli animali mitici: drago, maiale volante, grifone, serpente marino e unicorno!", + "achievementLegendaryBestiary": "Creature Leggendarie", + "achievementLegendaryBestiaryModalText": "Hai collezionato tutti gli animali domestici mitici!", + "achievementLegendaryBestiaryText": "Ha schiuso tutti i colori standard degli animali domestici mitici: Drago, Maiale Volante, Grifone, Serpente Marino ed Unicorno!", "achievementSeasonalSpecialistModalText": "Hai completato tutte le missioni stagionali!", - "achievementSeasonalSpecialistText": "Ha completato tutte le missioni stagionali primaverili e invernali: Caccia alle uova, Babbo Bracconiere e Trova il cucciolo!", - "achievementSeasonalSpecialist": "Specialista delle Stagioni", - "achievementVioletsAreBlueText": "Ha collezionato tutti gli animali di Zucchero Filato Blu.", - "achievementVioletsAreBlueModalText": "Hai collezionato tutti gli animali di Zucchero Filato Blu!", - "achievementWildBlueYonderText": "Ha domato tutte le cavalcature di Zucchero Filato Blu.", - "achievementWildBlueYonderModalText": "Hai domato tutte le cavalcature di Zucchero Filato Blu!", + "achievementSeasonalSpecialistText": "Ha completato tutte le missioni stagionali Primaverili e Invernali: Caccia alle Uova, Babbo Bracconiere e Trova il Cucciolo!", + "achievementSeasonalSpecialist": "Specialista Stagionale", + "achievementVioletsAreBlueText": "Ha collezionato tutti gli Animali Domestici di Zucchero Filato Blu.", + "achievementVioletsAreBlueModalText": "Hai collezionato tutti gli Animali Domestici di Zucchero Filato Blu!", + "achievementWildBlueYonderText": "Ha domato tutte le Cavalcature di Zucchero Filato Blu.", + "achievementWildBlueYonderModalText": "Hai domato tutte le Cavalcature di Zucchero Filato Blu!", "achievementWildBlueYonder": "Blu Selvaggio Laggiù", "achievementVioletsAreBlue": "Le Viole sono Blu", - "achievementDomesticatedModalText": "Hai collezionato tutti gli animali addomesticati!", - "achievementDomesticatedText": "Ha fatto schiudere tutti i colori degli animali domestici: furetti, porcellini d'india, galli, maialini volanti, ratti, conigli, cavalli e mucche!", + "achievementDomesticatedModalText": "Hai collezionato tutti gli animali domestici addomesticati!", + "achievementDomesticatedText": "Ha schiuso tutti i colori standard degli animali domestici addomesticati: Furetto, Porcellino d'India, Gallo, Maiale Volante, Ratto, Coniglietto, Cavallo e Mucca!", "achievementDomesticated": "I-A-I-A-OH", - "achievementShadyCustomer": "Oscuro cliente", - "achievementShadyCustomerModalText": "Hai collezionato tutti gli animali oscuri!", - "achievementShadyCustomerText": "Ha raccolto tutti gli animali oscuri.", - "achievementShadeOfItAll": "L'ombra di tutto", - "achievementShadeOfItAllText": "Ha domato tutte le cavalcature oscure.", - "achievementShadeOfItAllModalText": "Hai domato tutte le cavalcature oscure!", - "achievementBirdsOfAFeather": "Pennuti che si somigliano", - "achievementBirdsOfAFeatherModalText": "Hai collezionato tutti gli animali volanti!", - "achievementBirdsOfAFeatherText": "Ha schiuso i volatili: Maiale Volante, Gufo, Pappagallo, Pterodattilo, Grifone, Falcóne, Pavone e Gallo, in tutte le colorazioni standard!", + "achievementShadyCustomer": "Cliente Oscuro", + "achievementShadyCustomerModalText": "Hai collezionato tutti gli Animali Domestici Oscuri!", + "achievementShadyCustomerText": "Ha collezionato tutti gli Animali Domestici Oscuri.", + "achievementShadeOfItAll": "L'Ombra del Tutto", + "achievementShadeOfItAllText": "Ha domato tutte le Cavalcature Oscure.", + "achievementShadeOfItAllModalText": "Hai domato tutte le Cavalcature Oscure!", + "achievementBirdsOfAFeather": "Pennuti che si Somigliano", + "achievementBirdsOfAFeatherModalText": "Hai collezionato tutti gli animali domestici volanti!", + "achievementBirdsOfAFeatherText": "Ha schiuso tutti i colori standard degli animali domestici volanti: Maiale Volante, Gufo, Pappagallo, Pterodattilo, Grifone, Falcóne, Pavone e Gallo!", "achievementZodiacZookeeper": "Custode dello Zoodiaco", - "achievementZodiacZookeeperModalText": "Hai collezionato tutti gli animali dello zodiaco!", - "achievementZodiacZookeeperText": "Ha schiuso gli animali zodiacali: Ratto, Mucca, Coniglietto, Serpente, Cavallo, Pecora, Scimmia, Gallo, Lupo, Tigre, Maiale Volante e Drago, in tutte le colorazioni standard!", - "achievementReptacularRumbleModalText": "Hai collezionato tutti i rettili!", + "achievementZodiacZookeeperModalText": "Hai collezionato tutti gli animali domestici zodiacali!", + "achievementZodiacZookeeperText": "Ha schiuso tutti i colori standard degli animali domestici zodiacali: Ratto, Mucca, Coniglietto, Serpente, Cavallo, Pecora, Scimmia, Gallo, Lupo, Tigre, Maiale Volante e Drago!", + "achievementReptacularRumbleModalText": "Hai collezionato tutti gli animali domestici rettili!", "achievementReptacularRumble": "Baccano Rettiliano", - "achievementReptacularRumbleText": "Ha schiuso tutti i rettili: Alligatore, Pterodattilo, Serpente, Triceratopo, Tartaruga, Tyrannosaurus Rex e Velociraptor, in tutte le colorazioni standard!", + "achievementReptacularRumbleText": "Ha schiuso tutti i colori standard degli animali domestici rettili: Alligatore, Pterodattilo, Serpente, Triceratopo, Tartaruga, Tyrannosaurus Rex e Velociraptor!", "achievementGroupsBeta2022": "Beta Tester Interattivo", - "achievementGroupsBeta2022Text": "Tu e il tuo gruppo avete fornito feedback inestimabili per aiutare Habitica a testare.", - "achievementGroupsBeta2022ModalText": "Tu e i tuoi gruppi avete aiutato Habitica testando e fornendo feedback!", - "achievementWoodlandWizardModalText": "Hai collezionato tutti gli animali della foresta!", + "achievementGroupsBeta2022Text": "Tu e il tuo gruppo avete fornito feedback inestimabile per aiutare a testare Habitica.", + "achievementGroupsBeta2022ModalText": "Tu e i tuoi gruppi avete aiutato Habitica testandola e fornendo feedback!", + "achievementWoodlandWizardModalText": "Hai collezionato tutti gli animali domestici della foresta!", "achievementWoodlandWizard": "Mago dei Boschi", - "achievementWoodlandWizardText": "Ha schiuso le creature della foresta: Tasso, Orso, Cervo, Rana, Riccio, Gufo, Chiocciola, Scoiattolo e Arbusto, in tutte le colorazioni standard!", - "achievementBoneToPickText": "Ha schiuso tutti gli animali scheletro Standard e delle Missioni!", + "achievementWoodlandWizardText": "Ha schiuso tutti i colori delle creature della foresta: Tasso, Orso, Cervo, Volpe, Rana, Riccio, Gufo, Chiocciola, Scoiattolo e Alberello!", + "achievementBoneToPickText": "Ha schiuso tutti gli animali domestici Scheletro Standard e quelli delle Missioni!", "achievementBoneToPick": "Ossa da Raccogliere", - "achievementBoneToPickModalText": "Hai collezionato tutti gli animali scheletro Standard e delle Missioni!", - "achievementPolarProModalText": "Hai collezionato tutti gli Animali Polari!", + "achievementBoneToPickModalText": "Hai collezionato tutti gli Animali Domestici Scheletro Standard e quelli delle Missioni!", + "achievementPolarProModalText": "Hai collezionato tutti gli Animali Domestici Polari!", "achievementPolarPro": "Professionista Polare", - "achievementPolarProText": "Ha schiuso tutti gli animali domestici Polari: Orso, Volpe, Pinguino, Balena e Lupo!" + "achievementPolarProText": "Ha schiuso tutti i colori standard degli animali domestici Polari: Orso, Volpe, Pinguino, Balena e Lupo!", + "achievementPlantParent": "Genitore delle Piante", + "achievementPlantParentText": "Ha schiuso tutti i colori standard degli animali domestici Piante: Cactus e Alberello!", + "achievementPlantParentModalText": "Hai collezionato tutti gli Animali Domestici Pianta!" } diff --git a/website/common/locales/it/backgrounds.json b/website/common/locales/it/backgrounds.json index 53b65e23d6..e0df533467 100644 --- a/website/common/locales/it/backgrounds.json +++ b/website/common/locales/it/backgrounds.json @@ -1,77 +1,77 @@ { "backgrounds": "Sfondi", "background": "Sfondo", - "backgroundShop": "Negozio Sfondi", + "backgroundShop": "Negozio degli Sfondi", "backgroundShopText": "Negozio Sfondi", - "noBackground": "Nessuno sfondo selezionato", + "noBackground": "Nessuno Sfondo Selezionato", "backgrounds062014": "SET 1: Rilasciato a giugno 2014", "backgroundBeachText": "Spiaggia", "backgroundBeachNotes": "Rilassati su una calda spiaggia.", "backgroundFairyRingText": "Cerchio fatato", - "backgroundFairyRingNotes": "Danza in un luogo magico.", + "backgroundFairyRingNotes": "Danza in un cerchio fatato.", "backgroundForestText": "Foresta", "backgroundForestNotes": "Gironzola attraverso la foresta estiva.", "backgrounds072014": "SET 2: Rilasciato a luglio 2014", - "backgroundCoralReefText": "Barriera corallina", - "backgroundCoralReefNotes": "Nuota tra i coralli.", - "backgroundOpenWatersText": "Mare aperto", - "backgroundOpenWatersNotes": "Ammira le grandi distese d'acqua.", - "backgroundSeafarerShipText": "Nave da esplorazione", - "backgroundSeafarerShipNotes": "Salpa verso i grandi mari.", + "backgroundCoralReefText": "Barriera Corallina", + "backgroundCoralReefNotes": "Nuota in una barriera corallina.", + "backgroundOpenWatersText": "Mare Aperto", + "backgroundOpenWatersNotes": "Goditi il mare aperto.", + "backgroundSeafarerShipText": "Nave Marittima", + "backgroundSeafarerShipNotes": "Salpa su una Nave Marittima.", "backgrounds082014": "SET 3: Rilasciato ad agosto 2014", "backgroundCloudsText": "Nuvole", - "backgroundCloudsNotes": "Librati attraverso le nuvole.", - "backgroundDustyCanyonsText": "Canyon polveroso", - "backgroundDustyCanyonsNotes": "Vaga per un canyon polveroso.", + "backgroundCloudsNotes": "Librati attraverso le Nuvole.", + "backgroundDustyCanyonsText": "Canyon Polveroso", + "backgroundDustyCanyonsNotes": "Vaga attraverso un Canyon Polveroso.", "backgroundVolcanoText": "Vulcano", - "backgroundVolcanoNotes": "Scaldati all'interno di un vulcano.", + "backgroundVolcanoNotes": "Scaldati all'interno di un Vulcano.", "backgrounds092014": "SET 4: Rilasciato a settembre 2014", - "backgroundThunderstormText": "Tempesta", - "backgroundThunderstormNotes": "Padroneggia i fulmini in una tempesta.", - "backgroundAutumnForestText": "Foresta autunnale", - "backgroundAutumnForestNotes": "Gironzola attraverso la foresta autunnale.", - "backgroundHarvestFieldsText": "Terre coltivate", - "backgroundHarvestFieldsNotes": "Coltiva i tuoi campi.", + "backgroundThunderstormText": "Temporale", + "backgroundThunderstormNotes": "Conduci i fulmini di un Temporale..", + "backgroundAutumnForestText": "Foresta Autunnale", + "backgroundAutumnForestNotes": "Passeggia attraverso una Foresta Autunnale.", + "backgroundHarvestFieldsText": "Campi Coltivati", + "backgroundHarvestFieldsNotes": "Coltiva i tuoi Campi.", "backgrounds102014": "SET 5: Rilasciato ad ottobre 2014", "backgroundGraveyardText": "Cimitero", - "backgroundGraveyardNotes": "Visita un cimitero spaventoso.", - "backgroundHauntedHouseText": "Casa stregata", - "backgroundHauntedHouseNotes": "Esplora furtivamente una casa stregata.", - "backgroundPumpkinPatchText": "Campo di zucche", - "backgroundPumpkinPatchNotes": "Trasforma le zucche nei campi in lanterne.", + "backgroundGraveyardNotes": "Visita un Cimitero Sinistro.", + "backgroundHauntedHouseText": "Casa Infestata", + "backgroundHauntedHouseNotes": "Passa di soppiatto per una Casa Infestata.", + "backgroundPumpkinPatchText": "Campo di Zucche", + "backgroundPumpkinPatchNotes": "Intaglia jack-o-lantern in un Campo di Zucche.", "backgrounds112014": "SET 6: Rilasciato a novembre 2014", "backgroundHarvestFeastText": "Festa del Raccolto", - "backgroundHarvestFeastNotes": "Goditi una festa del raccolto.", - "backgroundStarrySkiesText": "Cielo stellato", - "backgroundStarrySkiesNotes": "Scruta il cielo stellato.", - "backgroundSunsetMeadowText": "Campi al tramonto", - "backgroundSunsetMeadowNotes": "Ammira i campi al tramonto.", + "backgroundHarvestFeastNotes": "Goditi una Festa del Raccolto.", + "backgroundStarrySkiesText": "Cielo Stellato", + "backgroundStarrySkiesNotes": "Ammira il Cielo Stellato.", + "backgroundSunsetMeadowText": "Campi al Tramonto", + "backgroundSunsetMeadowNotes": "Ammira i Campi al Tramonto.", "backgrounds122014": "SET 7: Rilasciato a dicembre 2014", "backgroundIcebergText": "Iceberg", "backgroundIcebergNotes": "Vai alla deriva su di un iceberg.", - "backgroundTwinklyLightsText": "Luci invernali scintillanti", + "backgroundTwinklyLightsText": "Luci Invernali Scintillanti", "backgroundTwinklyLightsNotes": "Passeggia tra alberi adornati di luci festive.", "backgroundSouthPoleText": "Polo Sud", "backgroundSouthPoleNotes": "Visita il ghiacciato Polo Sud.", "backgrounds012015": "SET 8: Rilasciato a gennaio 2015", - "backgroundIceCaveText": "Caverna di ghiaccio", - "backgroundIceCaveNotes": "Addentrati in una caverna ghiacciata.", + "backgroundIceCaveText": "Caverna di Ghiaccio", + "backgroundIceCaveNotes": "Scendi in una Caverna di Ghiaccio.", "backgroundFrigidPeakText": "Picco Gelido", - "backgroundFrigidPeakNotes": "Raggiungi il Picco Gelido.", - "backgroundSnowyPinesText": "Pini innevati", - "backgroundSnowyPinesNotes": "Rifugiati tra i pini innevati.", + "backgroundFrigidPeakNotes": "Raggiungi la vetta di un Picco Gelido.", + "backgroundSnowyPinesText": "Pini Innevati", + "backgroundSnowyPinesNotes": "Rifugiati tra i Pini Innevati.", "backgrounds022015": "SET 9: Rilasciato a febbraio 2015", "backgroundBlacksmithyText": "Fucina", - "backgroundBlacksmithyNotes": "Lavora nell'officina del fabbro.", - "backgroundCrystalCaveText": "Cava di cristallo", - "backgroundCrystalCaveNotes": "Esplora una cava di cristallo.", - "backgroundDistantCastleText": "Castello lontano", - "backgroundDistantCastleNotes": "Difendi un distante castello.", + "backgroundBlacksmithyNotes": "Lavora sodo nella Fucina del Fabbro.", + "backgroundCrystalCaveText": "Grotta di Cristallo", + "backgroundCrystalCaveNotes": "Esplora una Grotta di Cristallo.", + "backgroundDistantCastleText": "Castello Remoto", + "backgroundDistantCastleNotes": "Difendi un Castello Remoto.", "backgrounds032015": "SET 10: Rilasciato a marzo 2015", - "backgroundSpringRainText": "Pioggia primaverile", - "backgroundSpringRainNotes": "Balla sotto la pioggia primaverile.", - "backgroundStainedGlassText": "Vetrata colorata", - "backgroundStainedGlassNotes": "Ammira delle vetrate colorate.", + "backgroundSpringRainText": "Pioggia Primaverile", + "backgroundSpringRainNotes": "Balla sotto la Pioggia Primaverile.", + "backgroundStainedGlassText": "Vetrata", + "backgroundStainedGlassNotes": "Ammira delle Vetrate.", "backgroundRollingHillsText": "Colline ondulanti", "backgroundRollingHillsNotes": "Folleggia tra le colline ondulanti.", "backgrounds042015": "SET 11: Rilasciato ad aprile 2015", @@ -749,5 +749,22 @@ "backgroundInsideACrystalText": "Dentro un Cristallo", "backgroundInsideACrystalNotes": "Sbircia fuori da Dentro un Cristallo.", "backgroundSnowyVillageText": "Villaggio Innevato", - "backgroundSnowyVillageNotes": "Ammira un Villaggio Innevato." + "backgroundSnowyVillageNotes": "Ammira un Villaggio Innevato.", + "backgrounds012023": "SET 104: Rilasciato a gennaio 2023", + "backgroundRimeIceText": "Brinata Scintillante", + "backgroundRimeIceNotes": "Ammira una Brinata Scintillante.", + "backgroundSnowyTempleText": "Templio Innevato", + "backgroundSnowyTempleNotes": "Osserva un Sereno Templio Innevato.", + "backgroundWinterLakeWithSwansText": "Lago Invernale con i Cigni", + "backgroundWinterLakeWithSwansNotes": "Goditi la natura presso un Lago Invernale con i Cigni.", + "eventBackgrounds": "Sfondi Eventi", + "backgroundBirthdayBashText": "Festa di Compleanno", + "backgroundBirthdayBashNotes": "Habitica sta celebrando la propria festa di compleanno, e tutti sono invitati a partecipare!", + "backgrounds022023": "SET 105: Rilasciato a febbraio 2023", + "backgroundGoldenBirdcageText": "Voliera Dorata", + "backgroundInFrontOfFountainText": "Di Fronte ad una Fontana", + "backgroundInFrontOfFountainNotes": "Passeggia Di Fronte ad una Fontana.", + "backgroundGoldenBirdcageNotes": "Nasconditi in una Voliera Dorata.", + "backgroundFancyBedroomText": "Camera da Letto di Lusso", + "backgroundFancyBedroomNotes": "Crogiolati in una Camera da Letto di Lusso." } diff --git a/website/common/locales/it/communityguidelines.json b/website/common/locales/it/communityguidelines.json index 5aea7b1e0b..a057b3e57f 100644 --- a/website/common/locales/it/communityguidelines.json +++ b/website/common/locales/it/communityguidelines.json @@ -4,55 +4,55 @@ "commGuideHeadingWelcome": "Benvenuto ad Habitica!", "commGuidePara001": "Salve avventuriero! Benvenuto ad Habitica, la terra della produttività, della vita sana, e occasionalmente di grifoni infuriati. Abbiamo un'allegra community piena di persone che si supportano a vicenda nel tentativo di migliorarsi. Per adattarsi, tutto ciò che serve è un atteggiamento positivo, un comportamento rispettoso, e che si comprenda che ognuno ha differenti abilità e limitazioni -- compreso te! Gli Habitanti sono pazienti l'un con l'altro e tentano di aiutare ogni volta che possono.", "commGuidePara002": "Per aiutare a mantenere la sicurezza, la felicità e la produttività nella community, abbiamo alcune linee guida. Le abbiamo stilate accuratamente per renderle il più semplici possibile. Per favore, leggile con attenzione prima di iniziare a scrivere.", - "commGuidePara003": "Queste regole si applicano in tutti gli spazi di socializzazione che utilizziamo, ciò include (ma non si limita a) Trello, GitHub, Weblate e Habitica Wiki su Fandom. Le comunità cresono e cambiano, di conseguenza le regole potrebbero cambiare di tanto in tanto. Quando ci sono cambiamenti sostanziali a queste linee guida, verrai avvertito con un annuncio di Bailey e/o sui nostri social media!", + "commGuidePara003": "Queste regole si applicano in tutti gli spazi di socializzazione che utilizziamo, ciò include (ma non si limita a) Trello, GitHub, Weblate e Habitica Wiki su Fandom. Le comunità cresono e cambiano, di conseguenza le regole potrebbero cambiare di tanto in tanto. Quando ci sono cambiamenti sostanziali alle regole della community qui elencate, verrai avvertito con un annuncio di Bailey e/o sui nostri social media!", "commGuideHeadingInteractions": "Interazioni su Habitica", "commGuidePara015": "Habitica ha due tipi di spazi sociali: pubblici, e privati. Gli spazi pubblici includono la Taverna, le gilde pubbliche, GitHub, Trello, e il Wiki. Gli spazi privati sono le gilde private, il chat della squadra, e i Messaggi Privati. Ogni Nome Pubblico e @username deve rispettare le linee guida per gli spazi pubblici. Per cambiare il tuo Nome Pubblico e/o il tuo @username, sulla app del cellulare vai a Menu -> Impostazioni -> Profilo. Sul sito web vai su Utente > Profilo.", "commGuidePara016": "Quando navighi negli spazi pubblici di Habitica, ci sono delle regole generali che bisogna rispettare per mantenere tutti felici e al sicuro.", "commGuideList02A": "Rispettarsi a vicenda. Sii cortese, gentile, amichevole e disposto ad aiutare. Ricorda: gli Habitanti hanno trascorsi diversi e possono quindi avere esperienze molto divergenti. Questo è parte di ciò che rende Habitica così speciale! Costruire una comunità significa rispettarsi ed esaltare le nostre differenze così come le nostre similitudini.", - "commGuideList02B": "Obbedisci ai Termini e condizioni di utilizzo sia in spazi pubblici che privati.", + "commGuideList02B": "Obbedisci ai Termini e Condizioni di utilizzo sia in spazi pubblici che privati.", "commGuideList02C": "Non pubblicare immagini o testi violenti, minacciosi, o sessualmente espliciti/suggestivi, o che promuovono discriminazione, bigottismo, razzismo, sessismo, odio, molestia o danno contro qualsiasi individuale o gruppo. Neanche per scherzare o con un meme. Questo include insulti e affermazioni. Non tutti hanno lo stesso senso dell'umorismo, quindi qualcosa che tu consideri come uno scherzo potrebbe essere offensivo per qualcun'altro.", "commGuideList02D": "Adegua le discussioni a tutte le età. Questo significa evitare argomenti per adulti negli spazi pubblici.Molti giovani Habitanti usano il sito web, e persone che vengono da ogni percorso di vita. Vogliamo che la nostra comunità sia il più confortevole e accogliente possibile.", - "commGuideList02E": "Evita le bestemmie. Questo include profanità e imprecazioni basate su soggetti religiosi che potrebbero essere accettate altrove e profanità abbreviate o censurate. Qui ci sono persone di ogni provenienza religiosa e culturale, ed è il nostro desiderio che ogniuno di loro si senta a suo agio negli spazi pubblici. Se un moderatore o membro dello staff ti segnala che un termine non è permesso in Habitica, anche se si tratta di un termine di cui non avevi realizzato l'aspetto problematico, questa decisione è finale. Inoltre, gli insulti saranno puniti severamente poiché sono anche una violazione dei Termini di Servizio.", - "commGuideList02F": "Evita di tenere lunghe discussioni su argomenti di divisione nella Taverna e dove sarebbe fuori argomento. Se qualcuno menziona qualche cosa che è permesso dalle linee guida ma che trovi personalmente offensivo, puoi gentilmente farglielo sapere. Se qualcuno ti dice che li hai messi a disagio, prendi il tempo di riflettere invece di rispondere con rabbia. Ma se senti che una discussione sta diventando accessa, troppo emotiva o offensiva, smetti di partecipare. Invece, segnala i messaggi per farcelo sapere. I Moderatori risponderanno appena possibile. Puoi anche mandare una mail a admin@habitica.com e includere degli screenshot se possono essere utili.", - "commGuideList02G": "Obbedisci immediatamente a qualsiasi richiesta di un Moderatore. Ciò può includere, ma non si limita a, una richiesta di limitare le tue pubblicazioni in un certo spazio, di modificare il tuo profilo per rimuovere contenuto inadatto, di proseguire la tua discussioni in uno spazio più adatto, ecc. Non discutere con i moderatori. Se hai preoccupazioni o commenti sulla moderazione, manda una email a admin@habitica.com per contattare il community manager.", - "commGuideList02J": "Non inviare spam. Lo spam può includere, ma non è limitato a: postare lo stesso commento o domanda in posizioni diverse, pubblicare link senza contesto o spiegazione, postare messaggi senza senso, pubblicare messaggi promozionali multipli relativi a una Gilda, Squadra o Sfida, oppure molti messaggi consecutivamente. Se quando le persone cliccano un tuo link ciò ti porta vantaggi, dovrai indicarlo nel testo del tuo messaggio, altrimenti sarà ritenuto spam. I moderatori possono decidere cosa è spam a loro discrezione.", + "commGuideList02E": "Evita la volgarità. Ciò include abbreviazioni o camuffamenti di parolacce e blasfemia.. Abbiamo persone di ogni estrazione religiosa e culturale, e vogliamo assicurarci che tutti si sentano a proprio agio negli spazi pubblici. Se un membro dello staff dice che un termine non è permesso in Habitica (anche se si trattasse di un termine di cui non avessi considerato la potenzialità problematica) tale decisione è definitiva. Inoltre, le denigrazioni saranno punite severamente poiché anch'esse sono una violazione dei Termini di Servizio.", + "commGuideList02F": "Evita di prolungare discussioni su argomenti controversi nella Taverna e dove risultino essere fuori tema. Se qualcuno menziona qualcosa che è consentito dalle direttive ma che trovi personalmente offensivo, è consentito renderlo noto purchè educatamente. Se qualcuno ti dice che l'hai messo a disagio, prenditi del tempo per riflettere anzichè rispondere con rabbia. Ma se ritieni che una conversazione si stia surriscaldando troppo, o se divenisse troppo emotiva o offensiva, smetti di parteciparvi. Piuttosto, segnala i messaggi per farcelo sapere. Lo Staff risponderà appena possibile. Puoi anche mandare un'email a admin@habitica.com ed includere degli screenshot se possono essere utili.", + "commGuideList02G": "Conformati immediatamente a qualsiasi richiesta di un membro dello Staff. Ciò può includere, ma non si limita a richieste di restrizioni sui tuoi post in un particolare spazio, di modificare il tuo profilo per rimuovere contenuto inadatto, di proseguire la tua discussione in un luogo più adatto, ecc. Non discutere con lo staff. Se hai dubbi o commenti sulle azioni dello staff, invia un'email a admin@habitica.com per contattare il nostro responsabile per la community.", + "commGuideList02J": "Non spammare. Per spam s'intende (ma non solo): postare lo stesso commento o domanda in posti diversi, postare link senza contesto o alcuna spiegazione, postare messaggi senza senso, pubblicizzare ripetutamente messaggi di reclutamento per Gilde, Squadre o Sfide, oppure postare molti messaggi consecutivamente. Se cliccare un link provveduto da te, ti porta vantaggi da parte di chi clicca, dovrai indicarlo nel testo del tuo messaggio, altrimenti sarà considerato spam. Lo Staff può decidere cosa costituisce essere spam a propria discrezione.", "commGuideList02K": "Evita di pubblicare grossi titoli negli spazi pubblici di chat, in particolare nella Taverna. Nella stessa maniera delle MAIUSCOLE, sembra tu stia urlando, e può interferire con l'atmosfera confortevole.", - "commGuideList02L": "Scoraggiamo fortemente lo scambio di informazioni personali nelle chat degli spazi pubblici, in particolare di quelle che possono essere usate per identificarti.. Le informazioni di questo tipo possono essere, ma non sono limitate a: il tuo indirizzo, il tuo indirizzo email e la tua Chiave API/password. È per la tua sicurezza! Lo staff e i moderatori potranno rimuovere post di questo tipo quando lo riterranno necessario. Se ti vengono chieste informazioni personali in una Gilda privata, in una Squadra o tramite messaggio privato, ti consigliamo caldamente di rifiutare con gentilezza e informare lo staff e i moderatori 1) segnalando il messaggio oppure 2) mandando una email a admin@habitica.com e allegando le screenshot.", + "commGuideList02L": "Scoraggiamo fortemente lo scambio di informazioni personali nelle chat pubbliche, in particolare quelle che possono essere usate per identificarti.. Le informazioni di questo tipo possono essere (ma non solo): il tuo indirizzo fisico, il tuo indirizzo email e la tua Chiave API/password. È per la tua sicurezza! Lo staff potrà rimuovere post di questo tipo a propria discrezione. Se ti vengono chieste informazioni personali in una Gilda privata, in una Squadra o tramite messaggio privato, ti consigliamo caldamente di rifiutare con gentilezza ed informare lo staff :1) segnalando il messaggio, oppure: 2) mandando un'email a admin@habitica.com ed allegando gli screenshot.", "commGuidePara019": "Negli spazi privati, gli utenti hanno più libertà di discutere di quello che vogliono, ma possono comunque violare i Termini e Condizioni di utilizzo. Ciò include gli insulti e qualsiasi contenuto discriminatorio, violento o minaccioso. Nota che, siccome i nomi delle Sfide appaiono sul profilo pubblico dei vincitori, i nomi di TUTTE le sfide devono rispettare le linee guida per gli spazi pubblici, ciò anche se le sfide appaiono in uno spazio privato.", "commGuidePara020": "I Messaggi Privati (MP) hanno alcune linee guida aggiuntive. Se qualcuno ti ha bloccato, non contattarlo da qualche altra parte per chiedergli di sbloccarti. Inoltre, non dovresti mandare un MP a qualcuno che richiede assistenza (dato che le risposte pubbliche alle richieste di assistenza sono utili a tutta la community). Infine, non mandare a nessuno un MP pregandolo di regalarti qualsiasi contenuto a pagamento.", - "commGuidePara020A": "Se credi che un post che hai visto violi le linee guida per gli spazi pubblici descritte qua sopra, o se vedi un post o un messaggio privato che ti preoccupa o ti mette a disagio, puoi portarlo all'attenzione dei Moderatori e dello Staff usando l'icona a forma di bandiera per segnalarlo.. Un membro dello Staff o un Moderatore si occuperà della faccenda il più presto possibile. Ricorda che segnalare intenzionalmente post innocenti è un'infrazione di queste linee guida (vedi sotto la sezione \"Infrazioni\"). Puoi contattare i moderatori mandando una mail a admin@habitica.com. Potresti volerlo fare in presenza di più post problematici della stessa persona all'interno di Gilde diverse, oppure se la situazione richiede spiegazioni. Puoi contattarci nella tua lingua madre se ti è più facile: potremmo dover ricorrere a Google Translate, ma desideriamo che tu sia a tuo agio nel contattarci in caso di problemi.", + "commGuidePara020A": "Se vedi un post o un messaggio privato che ritieni violi le linee guida per gli spazi pubblici sopra delineate, o se vedi un post o un messaggio privato che ti preoccupa o che ti mette a disagio, puoi portarlo all'attenzione dello Staff cliccando l'icona della bandiera per segnalarlo.. Un membro dello Staff se ne occuperà il prima possibile. Ricorda che segnalare intenzionalmente post innocenti è un'infrazione di queste linee guida (vedi sotto la sezione \"Infrazioni\"). Puoi contattare i moderatori anche mandando un'email a admin@habitica.com. Potresti volervi ricorrere in presenza di più post problematici da parte della stessa persona all'interno di Gilde diverse, oppure in caso la situazione dovesse richiedere spiegazioni. Puoi contattarci nella tua lingua madre se ti è più facile: potremmo dover ricorrere a Google Traduttore, ma desideriamo che tu ti senta a tuo agio nel contattarci in caso avessi problemi.", "commGuidePara021": "Inoltre, alcuni spazi pubblici in Habitica hanno delle linee guida specifiche.", "commGuideHeadingTavern": "Taverna", "commGuidePara022": "La Taverna è il punto di incontro principale degli Habitanti. Daniel il locandiere mantiene il posto sfavillante, e Lemoness sarà felice di far comparire una limonata mentre ti siedi a discutere. Tieni solo in mente…", - "commGuidePara023": "Le conversazioni di solito avvengono attorno discorsi casuali e consigli di produttività e miglioramento di vita. Poiché la Taverna può contenere solo 200 messaggi, non è un buon posto per prolungate conversazioni su argomenti, specialmente quelli delicati (es. politica, religione, depressione, se la caccia ai debba essere bandita, ecc.). Queste conversazioni dovrebbero essere portare nelle Gilde appropriate. Un Moderatore potrebbe dirigerti a una Gilda appropriata, ma alla fine è tua responsabilità trovare e scrivere nel posto appropriato.", + "commGuidePara023": "Le conversazioni tendono a ruotare attorno a chiacchiere informali, o consigli su come migliorare la propria produttività e stile di vita.. Poiché la Taverna può contenere solo 200 messaggi, non è un luogo adatto per prolungate conversazioni, specie se toccano argomenti sensibili o controversi (es. politica, religione, depressione, se la caccia ai goblin debba essere bandita o no, ecc.). Queste conversazioni dovrebbero essere portate in una Gilda pertinente. Lo Staff potrebbe indirizzarti ad una Gilda appropriata, ma in un'ultima analisi è tua responsabilità trovare e postare nel luogo adatto.", "commGuidePara024": "Non parlare di qualsiasi fonte di dipendenza nella Taverna. Molte persone usano Habitica per cercare di sconfiggere le loro cattive abitudini. Sentire gente parlare di sostanze illegali/che creano dipendenza può rendere la cosa molto più difficile per loro ! Rispetta i tuoi compagni di Taverna e prendi questo in considerazione. Ciò include, ma non si limita a : fumo, alcol, pornografia, gioco d'azzardo, e uso di droga.", "commGuidePara027": "Quando un moderatore di indica di portare una conversazione altrove, se non c'è una Gilda adeguata, possono suggerirti di usare la gilda \"Back Corner\". La Gilda \"Back Corner\" è uno spazio pubblico gratuito per discutere materie potenzialmente sensibili che dovrebbero essere trattate solo quando si è diretti da un moderatore. È attentamente monitorata dal team di moderazione. Non è un posto per discussioni generali o conversazioni e sarai reindirizzato da un moderatore solo nei casi appropriati.", "commGuideHeadingPublicGuilds": "Gilde pubbliche", "commGuidePara029": "Le Gilde Pubbliche sono un po' come la Taverna, tranne che invece essere per conversazioni generali, hanno un tema principale. La chat della Gilda Pubblica dovrebbe focalizzarsi su questo tema. Per esempio, membri della Gilda \"Wordsmiths\" (scrittori) potrebbero dispiacersi se la conversazione si spostasse improvvisamente sul giardinaggio invece che sulla scrittura, e una Gilda per Amanti dei Draghi potrebbe non avere interesse in decifrare antiche rune. Alcune Gilde sono più rilassate di altre, ma in generale, prova a stare sul tema!", "commGuidePara031": "Certe Gilde pubbliche conterranno argomenti delicati, come la depressione, la religione, la politica, ecc. Nessun problema finché le conversazioni non violano i Termini e le Condizioni d'uso o le Regole degli Spazi Pubblici, e finché rimangono in argomento.", "commGuidePara033": "Le Gilde pubbliche NON devono contenere contenuto riservato ai maggiori di 18 anni. Se è previsto che una Gilda discuta spesso di argomenti delicati, dovrebbe indicarlo nella sua descrizione. Questo serve a mantenere Habitica sicura e adeguata a tutti.", - "commGuidePara035": "Se la Gilda in questione ha diversi tipi di argomenti delicati, è rispettoso nei confronti degli altri Habitanti scrivere il tuo messaggio dopo una nota che avverte del contenuto (es. \"Attenzione: si parla di autolesionismo\"). Questi avvisi potrebbero essere caratterizzati come \"trigger warning\" o note sul contenuto, e le Gilde potrebbero avere ulteriori regole in aggiunta a quelle date qua. Se possibile, per favore usa markdown per nascondere contenuto potenzialmente delicato andando a capo più volte così che chi voglia evitarlo possa passare oltre senza vedere il contenuto. Lo staff di Habitica e i moderatori possono comunque rimuovere questo contenuto a loro discrezione.", + "commGuidePara035": "Se la Gilda in questione ha diversi tipi di argomenti delicati, è rispettoso nei confronti degli altri Habitanti a scrivere il tuo messaggio includendo un avvertimento previo (es. \"Attenzione: si parla di autolesionismo\"). Questi avvisi potrebbero essere caratterizzati come \"trigger warning\" o note sul contenuto, e le Gilde potrebbero avere ulteriori regole in aggiunta a quelle date qua. Lo staff di Habitica e i moderatori possono comunque rimuovere questo contenuto a loro discrezione.", "commGuidePara036": "In aggiunta, gli argomenti delicati devono essere adatti al luogo -- parlare di autolesionismo in una Gilda focalizzata sul combattere la depressione può avere senso, ma è probabilmente meno appropriato in una Gilda sulla musica. Se vedi qualcuno che viola ripetutamente questa linea guida, specialmente dopo svariate richieste, per favore segnala il messaggio.", "commGuidePara037": "Nessuna Gilda, pubblica o privata, dev'essere creata allo scopo di attaccare qualsiasi gruppo o individuo. Creare questo tipo di Gilda è motivo di Ban immediato. Combatti le cattive abitudini, non i tuoi compagni di avventura !", "commGuidePara038": "Anche tutte le sfide della Taverna e delle Gilde pubbliche devono rispettare queste regole.", "commGuideHeadingInfractionsEtc": "Infrazioni, sanzioni e riabilitazione", "commGuideHeadingInfractions": "Infrazioni", - "commGuidePara050": "La stragrande maggioranza degli Habitanti si assistono l'un l'altro, sono rispettosi e fanno del proprio meglio per rendere la community allegra e piacevole. Tuttavia, molto raramente, un'azione di un Habitante potrebbe violare una delle linee guida sopra descritte. Quando succede, i moderatori compiono qualunque azione ritengano necessaria per mantenere Habitica sicura e piacevole per tutti.", - "commGuidePara051": "Ci sono diverse infrazioni, e sono gestite a seconda della gravità. Queste liste non sono esaustive, e i Moderatori possono prendere decisioni sugli argomenti non affrontati qui a loro discrezione. I Moderatori considereranno il contesto quando valuteranno le infrazioni.", + "commGuidePara050": "La stragrande maggioranza degli Habitanti si assistono l'un l'altro, sono rispettosi e fanno del proprio meglio per rendere la community allegra e piacevole. Tuttavia, molto raramente, un'azione di un Habitante potrebbe violare una delle linee guida sopra descritte. Quando succede, lo Staff compie qualunque azione ritengano necessaria per mantenere Habitica sicura e piacevole per tutti.", + "commGuidePara051": "Ci sono diverse infrazioni, e sono gestite a seconda della gravità. Queste liste non sono esaustive, e lo Staff può prendere decisioni sugli argomenti non affrontati qui a loro discrezione. Lo Staff considererà il contesto quando valuteranno le infrazioni.", "commGuideHeadingSevereInfractions": "Infrazioni gravi", "commGuidePara052": "Le infrazioni gravi danneggiano la serenità della community di Habitica e degli utenti, e hanno quindi come risultato delle sanzioni gravi.", "commGuidePara053": "Questa è una lista di infrazioni gravi. Non è una lista esaustiva.", "commGuideList05A": "Violazione dei Termini e condizioni d'uso", "commGuideList05B": "Incitamento all'odio, molestie/stalking, cyber-bullismo, pubblicazione di contenuti provocatori o irritanti nei confronti di altri utenti", "commGuideList05C": "Violazione della prova (utenti in prova)", - "commGuideList05D": "Impersonare membri dello Staff o Moderatori - questo include dichiarare che spazi creati da utenti che non sono affiliati con Habitica sono ufficiali e/o moderati da Habitica o i suoi moderatori/staff", + "commGuideList05D": "Impersonare membri dello Staff - questo include dichiarare che spazi creati da utenti che non sono affiliati con Habitica sono ufficiali e/o moderati da Habitica o il suo Staff.", "commGuideList05E": "Ripetere infrazioni lievi", "commGuideList05F": "Creare un secondo account per evitare i provvedimenti (per esempio, creare un nuovo account per chattare dopo che sono stati revocati i privilegi di chat)", - "commGuideList05G": "Ingannare intenzionalmente lo Staff o i moderatori in modo da evitare sanzioni o mettere nei guai un altro utente", + "commGuideList05G": "Ingannare intenzionalmente lo Staff in modo da evitare sanzioni o mettere nei guai un altro utente", "commGuideHeadingModerateInfractions": "Infrazioni lievi", "commGuidePara054": "Le infrazioni medie non mettono a rischio la nostra community, ma la rendono spiacevole. Queste infrazioni avranno sanzioni medie. Quando avvengono insieme ad altre infrazioni, le conseguenze potrebbero diventare più gravi.", "commGuidePara055": "Qui ci sono alcuni esempi di infrazioni lievi. Non è una lista esaustiva.", - "commGuideList06A": "Ignorare, mancare di rispetto o discutere con un Moderatore. Include lamentarsi pubblicamente di moderatori o altri utenti, glorificare pubblicamente o difendere utenti bannati, o discutere se l'azione di un moderatore fosse appropriata o no. Se sei preoccupato per una o più regole o per il comportamento di un Moderatore, perfavore contatta lo staff via email (admin@habitica.com).", + "commGuideList06A": "Ignorare, mancare di rispetto o discutere con lo staff. Include lamentarsi pubblicamente dello staff o altri utenti, glorificare pubblicamente o difendere utenti bannati, o discutere se l'azione dello staff fosse appropriata o no. Se si è preoccupato/a per una o più delle regole o per il comportamento di un membro dello staff, si prega di contattarci tramite email (admin@habitica.com).", "commGuideList06B": "Backseat Modding. Per chiarire velocemente un punto rilevante: una amichevole menzione delle regole va bene. Backseat modding consiste nel dire, richiedere e/o sottindere fortemente che qualcuno debba prendere una azione che tu descrivi per correggere un errore. Puoi avvertire qualcuno che ha commesso una trasgressione, ma per favore non richiedere una azione -- per esempio, dire, \"Per tua conoscenza, bestemmiare non è permesso in Taverna, potresti voler cancellare quel messaggio,\" sarebbe meglio di scrivere, \"Devo chiederti di cancellare quel messaggio.\"", "commGuideList06C": "Segnalare intenzionalmente pubblicazioni innocenti.", "commGuideList06D": "Violare più volte le linee guida per gli spazi pubblici", @@ -92,7 +92,7 @@ "commGuidePara061": "Habitica è un regno dedicato al miglioramento personale, e crediamo nelle seconde possibilità. Se tu hai commesso una infrazione e hai ricevuto una conseguenza, vedila come una possibilità di evaluare le tue azioni e di cercare di diventare un miglior membro della comunità.", "commGuidePara062": "L'annuncio, messaggio, e/o mail che ricevi con la spiegazione delle conseguenze delle tue azioni è una buona fonte di informazioni. Coopera con qualunque restrizione sia stata imposta, e impegnati per raggiungere i requisiti per avere le sanzioni revocate.", "commGuidePara063": "Se non capisci la tua sanzione, o la natura della tua infrazione, chiedi aiuto a Staff/Moderatori, così puoi evitare di commettere infrazioni in futuro. Se pensi che una decisione in particolare sia ingiusta, puoi contattare lo staff per discuterne a admin@habitica.com.", - "commGuideHeadingMeet": "Incontra lo Staff e i moderatori!", + "commGuideHeadingMeet": "Incontra lo Staff", "commGuidePara006": "Cavalieri erranti infaticabili si associano allo staff di Habitica per mantenere la comunità quieta, contenta e priva di troll. Ogniuno ha un settore specifico, ma può essere chiamato per aiutare in altre sfere sociali.", "commGuidePara007": "I membri dello Staff hanno etichette viola contrassegnate da una corona. Il loro titolo è \"Eroico\".", "commGuidePara008": "I moderatori hanno etichette blu scuro contrassegnate da una stella. Il loro titolo è \"Guardiano\".", @@ -121,13 +121,14 @@ "commGuideLink07": "Bacheca Trello Missioni: per contribuire a scrivere le missioni (in inglese).", "commGuidePara069": "I seguenti talentuosi artisti hanno contribuito a queste illustrazioni:", "commGuideList01F": "No chiedere per oggetti comprati, spammare, o testo in grandi dimensioni/tutto maiuscolo.", - "commGuideList01E": "Non iniziare o partecipare in conversazioni controverse nella Taverna.", - "commGuideList01D": "Per favore rispetta le richieste dei moderatori.", + "commGuideList01E": "Non iniziare o partecipare in conversazioni controverse nella Taverna.", + "commGuideList01D": "Per favore rispetta le richieste dello staff.", "commGuideList01C": "Tutte le discussioni devono essere appropriate per tutte le età ed essere libere da profanità.", "commGuideList01B": "Proibito: ogni comunicazione che è violenta, minacciosa, promotrice di discriminazione ecc. includendo meme, immagini e battute.", "commGuideList01A": "I Termini & Condizioni sono validi in tutti gli spazi, includendo gilde private, chat delle squadre, e messaggi.", "commGuidePara017": "Questa è la versione veloce, ma ti incoraggiamo a leggere più in basso in dettaglio:", "commGuideList02M": "Non chiedere o mendicare gemme, abbonamenti o di entrare a far parte dei Piani di gruppo. Ciò non è consentito nella Taverna, negli spazi di chat pubblici o privati o nei PM. Se ricevi messaggi con richieste di oggetti a pagamento, segnalali con l'apposito tasto. L'accattonaggio ripetuto o molesto di gemme o abbonamenti, specialmente dopo un avviso, può comportare la chiusura dell'account.", "commGuideList09D": "Rimozione o retrocessione di Gradi Giocatore", - "commGuideList05H": "Severi o ripetuti tentativi di truffare o pressare altri giocatori per oggetti che richiedono soldi reali" + "commGuideList05H": "Severi o ripetuti tentativi di truffare o pressare altri giocatori per oggetti che richiedono soldi reali", + "commGuideList02N": "Segnala e riporta i post che violano queste Linee Guida o i Termini di Servizio. Ce ne occuperemo il più velocemente possibile. Puoi anche notificare lo staff via email a: admin@habitica.com ma le segnalazioni sono il modo più veloce per ricevere aiuto." } diff --git a/website/common/locales/it/gear.json b/website/common/locales/it/gear.json index 8e3d0bb49e..df40b014d8 100644 --- a/website/common/locales/it/gear.json +++ b/website/common/locales/it/gear.json @@ -2678,7 +2678,7 @@ "armorArmoireFancyPirateSuitText": "Giacca Pirata Elegante", "armorArmoireFancyPirateSuitNotes": "Vestiti bene con questa giacca raffinata mentre riordini la biblioteca della tua nave o discuti come equipaggio. Aumenta la Costituzione e l'Intelligenza di <%= attrs %> ciascuno. Scrigno Incantato: Set Pirata Elegante (Oggetto 1 di 3).", "headArmoireFancyPirateHatText": "Cappello Pirata Elegante", - "headArmoireFancyPirateHatNotes": "Proteggiti dal sole e da eventuali gabbiani che volano sopra la tua testa mentre bevi il tè sul ponte della tua nave. Aumenta la Percezione di <%= attrs %>. Scrigno Incantato: Set Pirata Elegante (Oggetto 2 di 3).", + "headArmoireFancyPirateHatNotes": "Proteggiti dal sole e da eventuali gabbiani che volano sopra la tua testa mentre bevi il tè sul ponte della tua nave. Aumenta la Percezione di <%= per %>. Scrigno Incantato: Set Pirata Elegante (Oggetto 2 di 3).", "shieldArmoireTreasureMapText": "Mappa del Tesoro", "shieldArmoireTreasureMapNotes": "X segna il luogo del tesoro! Non sai mai cosa troverai quando segui questa pratica mappa per tesori leggendari: ori, gioielli, reliquie, o forse un'arancia pietrificata? Aumenta la Forza e l'Intelligenza di <%= attrs %> ciascuno. Scrigno Incantato: Set Pirata Elegante (Oggetto 3 di 3).", "weaponArmoirePushBroomNotes": "Porta quest'utensile di pulizia nelle tue avventure e sarai sempre in grado di spazzare una scalinata esterna fuligginosa o eliminare le ragnatele dagli angoli. Aumenta la Forza e l'Intelligenza di <%= attrs %> ciascuno. Scrigno Incantato: Set Articoli per la Pulizia (Oggetto 1 di 3)", @@ -2782,5 +2782,21 @@ "headSpecialWinter2023HealerText": "Elmo del Cardinale Rosso", "headSpecialWinter2023HealerNotes": "Questo elmo da cardinale rosso è perfetto per fischiettare e cantare annunciando la stagione invernale. Aumenta l'Intelligenza di <%= int %>. Equipaggiamento in Edizione Limitata, Inverno 2022-2023.", "shieldSpecialWinter2023HealerText": "Fresche Composizioni Musicali", - "shieldSpecialWinter2023HealerNotes": "Il tuo canto di gelo e neve calmerà gli animi di tutti coloro che lo ascolteranno. Aumenta la Costituzione di <%= con %>. Equipaggiamento in Edizione Limitata, Inverno 2022-2023." + "shieldSpecialWinter2023HealerNotes": "Il tuo canto di gelo e neve calmerà gli animi di tutti coloro che lo ascolteranno. Aumenta la Costituzione di <%= con %>. Equipaggiamento in Edizione Limitata, Inverno 2022-2023.", + "headSpecialNye2022Notes": "Hai ricevuto un Cappello da Festa Fantastico! Indossalo con orgoglio mentre inauguri il Nuovo Anno! Non conferisce alcun bonus.", + "headSpecialNye2022Text": "Cappello da Festa Fantastico", + "armorSpecialBirthday2023Notes": "Buon compleanno Habitica! Indossa questi Abiti da Festa Favolosi per celebrare questo giorno meraviglioso. Non conferisce alcun bonus.", + "headMystery202301Notes": "Il tuo udito diverrà talmente fine che sentirai spuntare l'alba e la rugiada scintillare. Non conferisce alcun bonus. Oggetto abbonati gennaio 2023.", + "backMystery202301Notes": "Queste soffici code racchiudono un potere etereo, nonché un alto livello di fascino! Non conferisce alcun bonus. Oggetto abbonati gennaio 2023.", + "backSpecialAnniversaryText": "Mantello dell'Eroe di Habitica", + "backSpecialAnniversaryNotes": "Lascia che questo fiero mantello svolazzi al vento e dica a tutti che sei un Eroe di Habitica. Non conferisce alcun bonus. Oggetto in Edizione Speciale per il 10° Compleanno di Habitica.", + "bodySpecialAnniversaryNotes": "Complementa perfettamente il tuo completo viola regale! Non conferisce alcun bonus. Oggetto in Edizione Speciale per il 10° Compleanno di Habitica.", + "armorSpecialBirthday2023Text": "Abiti da Festa Favolosi", + "armorArmoireShawlCollarCoatText": "Cappotto con Colletto Sciallato", + "armorArmoireShawlCollarCoatNotes": "Un mago saggio una volta disse che non c'è niente di meglio che stare comodi ed essere produttivi al contempo! Indossa questo cappotto caldo e stiloso mentre superi le sfide dell'anno. Aumenta la Costituzione di <%= con %>. Scrigno Incantato: Oggetto Indipendente.", + "headMystery202301Text": "Orecchie del Volpino Valoroso", + "backMystery202301Text": "Cinque Code al Valore", + "bodySpecialAnniversaryText": "Colletto dell'Eroe di Habitica", + "eyewearSpecialAnniversaryText": "Maschera dell'Eroe di Habitica", + "eyewearSpecialAnniversaryNotes": "Guarda attraverso gli occhi di un Eroe di Habitica: tu! Non conferisce alcun bonus. Oggetto in Edizione Speciale per il 10° Compleanno di Habitica." } diff --git a/website/common/locales/it/limited.json b/website/common/locales/it/limited.json index f334cb6d1a..ea3021b55e 100644 --- a/website/common/locales/it/limited.json +++ b/website/common/locales/it/limited.json @@ -238,5 +238,12 @@ "winter2023WalrusWarriorSet": "Tricheco (Guerriero)", "winter2023FairyLightsMageSet": "Luci Fatate (Mago)", "winter2023CardinalHealerSet": "Cardinale Rosso (Guaritore)", - "spring2023RibbonRogueSet": "Fiocco (Ladro)" + "spring2023RibbonRogueSet": "Fiocco (Ladro)", + "winter2023RibbonRogueSet": "Fiocco (Ladro)", + "anniversaryLimitedDates": "dal 30 gennaio al 8 febbraio", + "limitedEvent": "evento a tempo limitato", + "celebrateAnniversary": "Festaggia il decimo compleanno di Habitica coi regali e gli oggetti esclusivi scritto sotto!", + "celebrateBirthday": "Festeggia il decimo compleanno di Habitica con regali e oggetti esclusivi!", + "dateStartFebruary": "8 febbraio", + "anniversaryLimitations": "Questo è un evento a tempo limitato che comincia il 30 gennaio alle 8.00 ET (13.00 UTC) e finisce il 8 febbraio alle 23.59 ET (04.59 UTC). L'edizione limitata Grifatrice Giubilante e dieci Pozioni di Schiusa Magiche saranno disponibili a comprare durante questo periodo. Gli altri regali listati nella sezione \"Four for Free\" saranno inseriti automaticamente negli account che sono stati attivi negli 30 giorni precendenti al giorno che il regalo è mandato. Gli account creati dopo qualsiasi regalo è mandato non possono ricevere i regali." } diff --git a/website/common/locales/it/subscriber.json b/website/common/locales/it/subscriber.json index 6dedc0932e..71123beeb5 100644 --- a/website/common/locales/it/subscriber.json +++ b/website/common/locales/it/subscriber.json @@ -186,7 +186,7 @@ "dropCapReached": "Hai trovato tutti gli oggetti per oggi!", "mysterySet202011": "Set del Mago Foglioso", "mysterySet202012": "Set Fenice del Fuoco Ghiacciato", - "mysterySet202101": "Set sciccoso Leopardo delle Nevi", + "mysterySet202101": "Set del Leopardo delle Nevi Sciccoso", "mysterySet202102": "Set del campione ammaliante", "mysterySet202103": "Set dell'osservatore di fiori", "mysterySet202104": "Set del Guardiano cardo", diff --git a/website/common/locales/ja/achievements.json b/website/common/locales/ja/achievements.json index 7d097cde52..4218d742dd 100644 --- a/website/common/locales/ja/achievements.json +++ b/website/common/locales/ja/achievements.json @@ -140,6 +140,15 @@ "achievementWoodlandWizardModalText": "森のペットを全部集めました!", "achievementWoodlandWizardText": "森の生き物――アナグマ、クマ、鹿、狐、カエル、ハリネズミ、フクロウ、カタツムリ、リス、木人を、すべての基本色で孵化させました!", "achievementBoneToPick": "骨の髄まで", - "achievementBoneToPickText": "全ての基本のペットとクエストのペットを、骨の薬で孵化させました!", - "achievementBoneToPickModalText": "骨の薬で孵化した全ての基本のペットとクエストのペットを集めました!" + "achievementBoneToPickText": "全ての骨の基本のペットとクエストのペットを孵化させました!", + "achievementBoneToPickModalText": "全ての骨の基本のペットとクエストのペットを集めました!", + "achievementPolarPro": "極地のプロ", + "achievementPolarProText": "全ての極地のペットを孵化させました:くま・狐・ペンギン・クジラ・狼!", + "achievementPolarProModalText": "極地のペットをすべて集めました!", + "achievementPlantParent": "植物愛好家", + "achievementPlantParentText": "植物のペットをすべての基本色でたまごからかえしました:サボテン・木人!", + "achievementPlantParentModalText": "植物のペットをすべて集めました!", + "achievementDinosaurDynastyModalText": "鳥と恐竜のペットをすべて集めました!", + "achievementDinosaurDynastyText": "鳥と恐竜のペットをすべての基本色でたまごからかえしました:タカ、フクロウ、オウム、クジャク、ペンギン、おんどり、翼竜、ティラノサウルス 、トリケラトプス、ヴェロキラプトル!", + "achievementDinosaurDynasty": "恐竜王国" } diff --git a/website/common/locales/ja/backgrounds.json b/website/common/locales/ja/backgrounds.json index f42bdf200e..019308b045 100644 --- a/website/common/locales/ja/backgrounds.json +++ b/website/common/locales/ja/backgrounds.json @@ -742,5 +742,57 @@ "backgroundAmongGiantMushroomsNotes": "巨大なマッシュルームに驚きましょう。", "backgroundMistyAutumnForestText": "霧深い秋の森", "backgroundAutumnBridgeText": "秋の橋", - "backgroundAutumnBridgeNotes": "秋の橋の美しさに感服しましょう。" + "backgroundAutumnBridgeNotes": "秋の橋の美しさに感服しましょう。", + "backgrounds122022": "セット103:2022年12月リリース", + "backgroundBranchesOfAHolidayTreeText": "クリスマスツリーの枝", + "backgroundBranchesOfAHolidayTreeNotes": "クリスマスツリーの枝の上で跳んだり跳ねたりしましょう。", + "backgroundInsideACrystalText": "クリスタルのなか", + "backgroundInsideACrystalNotes": "クリスタルのなかから、外の景色を見てみましょう。", + "backgroundSnowyVillageText": "雪の村", + "backgroundSnowyVillageNotes": "雪の村を眺めましょう。", + "backgroundOldTimeyBasketballCourtText": "昔懐かしいバスケットボールのコート", + "backgrounds032023": "セット106:2023年3月リリース", + "backgroundInAPaintingText": "お絵描き中", + "backgroundFlyingOverHedgeMazeText": "生垣迷路の上を飛ぶ", + "backgrounds042023": "セット107:2023年4月リリース", + "backgrounds052023": "セット108:2023年5月リリース", + "backgroundFlyingOverHedgeMazeNotes": "生垣迷路の上を飛行しながら驚嘆しましょう。", + "backgroundCretaceousForestNotes": "白亜紀の森で太古の緑に包まれましょう。", + "backgroundWinterLakeWithSwansNotes": "白鳥のいる冬の湖で自然を満喫しましょう。", + "eventBackgrounds": "イベント背景", + "backgroundInFrontOfFountainText": "噴水の前", + "backgroundGoldenBirdcageText": "黄金の鳥かご", + "backgroundFancyBedroomText": "おしゃれなベッドルーム", + "backgrounds022023": "セット105:2023年2月リリース", + "backgrounds012023": "セット104:2023年1月リリース", + "backgroundRimeIceText": "霧氷", + "backgroundRimeIceNotes": "キラキラと輝く霧氷を鑑賞しましょう。", + "backgroundSnowyTempleText": "雪の神殿", + "backgroundSpringtimeShowerNotes": "花咲く春のにわか雨を見ましょう。", + "backgroundOldTimeyBasketballCourtNotes": "昔懐かしいバスケットボールのコートでプレイしましょう。", + "backgroundSnowyTempleNotes": "静かな雪の神殿を眺めましょう。", + "backgroundWinterLakeWithSwansText": "白鳥のいる冬の湖", + "backgroundInFrontOfFountainNotes": "噴水の前で散歩をしましょう。", + "backgroundGoldenBirdcageNotes": "黄金の鳥かごの中に隠れてください。", + "backgroundFancyBedroomNotes": "おしゃれなベッドルームで贅沢なひと時を。", + "backgroundJungleWateringHoleText": "ジャングルの水飲み場", + "backgroundJungleWateringHoleNotes": "ジャングルの水飲み場で水を一口飲みましょう。", + "backgroundMangroveForestText": "マングローブの森", + "backgroundMangroveForestNotes": "マングローブの森の端を探索してください。", + "backgroundLeafyTreeTunnelText": "葉っぱの木のトンネル", + "backgroundLeafyTreeTunnelNotes": "葉っぱの木のトンネルをくぐり抜けましょう。", + "backgroundSpringtimeShowerText": "春のにわか雨", + "backgroundUnderWisteriaText": "藤棚の下", + "backgroundUnderWisteriaNotes": "藤棚の下でくつろぎましょう。", + "backgroundInAPaintingNotes": "お絵描きで創作活動を楽しみましょう。", + "backgroundCretaceousForestText": "白亜紀の森", + "backgroundBirthdayBashText": "誕生日パーティー", + "backgroundBirthdayBashNotes": "Habiticaで誕生日パーティーが開催され、みんなが招待されています!", + "backgroundInsideAdventurersHideoutNotes": "冒険者の隠れ家で旅を計画しましょう。", + "backgroundInsideAdventurersHideoutText": "冒険者の隠れ家にて", + "backgroundInAnAquariumText": "水族館にて", + "backgroundCraterLakeText": "火口湖", + "backgroundCraterLakeNotes": "美しい火口湖を眺めましょう。", + "backgrounds062023": "セット109:2023年6月リリース", + "backgroundInAnAquariumNotes": "水族館で心穏やかに魚と泳ぎましょう。" } diff --git a/website/common/locales/ja/character.json b/website/common/locales/ja/character.json index a978425a62..f7a7524058 100644 --- a/website/common/locales/ja/character.json +++ b/website/common/locales/ja/character.json @@ -1,5 +1,5 @@ { - "communityGuidelinesWarning": "表示名、プロフィル写真、自己紹介文は、コミュニティ ガイドラインに従わなくてはならないことを、心に刻んでおいてください(例 : 冒涜・不敬の禁止、成人向けの話題の禁止、侮辱行為の禁止など)。適切かどうかについてのご質問は、お気軽に <%= hrefBlankCommunityManagerEmail %> へメールをお寄せください!", + "communityGuidelinesWarning": "表示名、プロフィール写真、自己紹介文は、コミュニティ ガイドラインに従わなくてはならないことを、心に刻んでおいてください(例 : 冒涜・不敬の禁止、成人向けの話題の禁止、侮辱行為の禁止など)。適切かどうかについてのご質問は、お気軽に <%= hrefBlankCommunityManagerEmail %> へメールをお寄せください!", "profile": "プロフィール", "avatar": "アバターのカスタマイズ", "editAvatar": "アバターを編集する", diff --git a/website/common/locales/ja/communityguidelines.json b/website/common/locales/ja/communityguidelines.json index 91798c053a..935f8f46dc 100644 --- a/website/common/locales/ja/communityguidelines.json +++ b/website/common/locales/ja/communityguidelines.json @@ -31,7 +31,7 @@ "commGuidePara029": "公共ギルドはキャンプ場と似ていますが、一般的な会話や雑談ではなく、特定のテーマがあります。公共ギルドのチャットは、このテーマについて話すところです。例えば、作家ギルド内でメンバーが急に執筆ではなくガーデニングの話で盛り上がるのは場違いですし、ドラゴン愛好家ギルドのチャットで古代魔法の解読についての議論を交わすのもマナー違反です。ギルドによっては許容範囲が比較的広いところもありますが、一般的には話が脱線しないように気をつけましょう!", "commGuidePara031": "一部の公共ギルドは、不景気、宗教、政治、その他の微妙なトピックを含みます。そして、その中の会話が利用規約や公共スペースのルールを犯さない限り、その話題は継続できます。", "commGuidePara033": "公共ギルドでは、18歳未満(未成年者)閲覧禁止の内容を投稿してはいけません。もし頻繁に刺激的な内容について話し合おうと考えている場合は、ギルドの説明にそのことを明記すべきです。 これはHabiticaをだれにとっても安全で心地よい場所に保つためです。", - "commGuidePara035": "当該のギルドに、様々な種類のセンシティブで要注意な問題が含まれる場合は、警告をした後に(例えば 「警告:自傷について」など)コメントを投稿することが、Habiticaの仲間たちへの正しい礼儀です。これらは閲覧注意や内容注記と見なされるでしょう。ここで提供されるルールに加えて、ギルド独自のルールが定められていることもあります。できれば、マークダウンを使って、要注意かもしれない内容を改行で隠してください。そうすると、読みたくない人は内容を見ないで次にスクロールできます。Habiticaのスタッフやモデレーターは、依然として自らの裁量でこの投稿データを削除する場合があります。", + "commGuidePara035": "当該のギルドに、様々な種類のセンシティブで要注意な問題が含まれる場合は、警告(例えば 「警告:自傷について」など)をすることが、Habiticaの仲間たちへの正しい礼儀です。これらは閲覧注意や内容注記と見なされるでしょう。ここで提供されるルールに加えて、ギルド独自のルールが定められていることもあります。Habiticaのスタッフは、依然として自らの裁量でこの投稿データを削除する場合があります。", "commGuidePara036": "また、センシティブな内容は投稿する場所を選ぶべきです――自傷行為について話題にするのは、うつ病とたたかうギルドであれば意味があるかもしれませんが、音楽のギルドではあまり適切ではありません。くり返しこのガイドラインに違反する人を見つけた場合(特に何度も改善を要求していれば)、その投稿を報告していただくようお願いします。", "commGuidePara037": "いかなるギルドも、公開非公開にかかわらず、特定の集団や個人を攻撃するために作られるべきではありません。そのようなギルドを作成した場合、即時にアカウントが停止される理由となります。冒険者仲間とではなく、悪い習慣と戦いましょう!", "commGuidePara038": "すべてのキャンプ場チャレンジと公共ギルドチャレンジも、これらの規則を遵守しなければなりません。", @@ -52,7 +52,7 @@ "commGuideHeadingModerateInfractions": "中度の違反行為", "commGuidePara054": "中度の違反行為は私たちのコミュニティを危険にしませんが不愉快にはなります。これらの違反は罰を与えられるでしょう。もし複数の違反が連動した場合は罰はより深刻になりえます。", "commGuidePara055": "以下はいくつかの深刻な違反行為の例です。これは、総合リストではありません。", - "commGuideList06A": "モデレーターへの無視や無礼。オープンな場でモデレーターや他のユーザーに不平をいうこと、規約違反によりアカウントを停止されたユーザーを賛美・擁護すること、モデレーターの行いが適切だったかどうか議論することもこの行為に含まれます。ルールやモデレーターのふるまいに思うところがある方は、スタッフまでメール(admin@habitica.com).でご連絡ください。", + "commGuideList06A": "スタッフへの無視や無礼。オープンな場でスタッフや他のユーザーに不平をいうこと、規約違反によりアカウントを停止されたユーザーを賛美・擁護すること、スタッフの行いが適切だったかどうか議論することもこの行為に含まれます。ルールやスタッフのふるまいに思うところがある方は、私たちまでメール(admin@habitica.com)でご連絡ください。", "commGuideList06B": "仕切りたがり。手短に要点を明記すると:ルールについて親切に言及するのは構いません。仕切りたがりは、書き込みの誤りを正すよう誰かに命令する、要求する、そして/あるいは、強くほのめかす人のことです。あなたは、違反行為を犯した誰かに対してその事実を警告できます。しかし、行動を要求しないようお願いします。 -- たとえば、「その投稿を削除してください。」と言うよりは、「念のため申し上げておくと、キャンプ場ではひどい言葉づかいは推奨されていません。だからそれを削除した方がいいかもしれません。」と言う方が賢明でしょう。", "commGuideList06C": "何も違反していない投稿を意図的に通報する。", "commGuideList06D": "公共の場でのガイドラインの違反の繰り返し", @@ -77,7 +77,7 @@ "commGuideList09C": "貢献者段位の進展を永久に無効化(「凍結」)", "commGuideHeadingModerateConsequences": "中度の結果の例", "commGuideList10A": "公共またはプライベートのチャットの権利の制限", - "commGuideList10A1": "もしあなたの行動の結果としてチャットの使用権が取り消されることになった場合、モデレーターかスタッフメンバーがプライベート メッセージやあなたがミュートされたフォーラムへの投稿を通して、ミュートの理由と期間、チャットの使用権を復活するには何をすれば良いのかをあなたに知らせます。あなたが礼儀正しく要求された行動を行い、コミュニティガイドラインと利用規約をきちんと守ることに同意するならば、チャットの使用権は復活します", + "commGuideList10A1": "もしあなたの行動の結果としてチャットの使用権が取り消されることになった場合、あなたは、admin@habitica.com にメールを送る必要があります。あなたが礼儀正しく要求された行動を行い、コミュニティガイドラインと利用規約をきちんと守ることに同意するならば、スタッフの判断でチャットの使用権が復活する場合があります", "commGuideList10C": "ギルド/チャレンジ作成の権利の制限", "commGuideList10D": "貢献者段位の進展を永久に無効化(「凍結」)", "commGuideList10E": "貢献者段位の降格", @@ -92,7 +92,7 @@ "commGuidePara061": "Habiticaは自己改善に専念する地であり、私たちは第二のチャンスを信じています。もしあなたが違反を犯しその結果を受けた場合は、自分の行動を見直すチャンスだと考えて、コミュニティのより良いメンバーになれるよう努力してください。", "commGuidePara062": "あなたが受け取る、あなたの行動の結果を説明する告知、メッセージまたはメールはよい情報源です。課された制限に協力的な態度を示し、ペナルティを解除する条件を満たすよう努力してください。", "commGuidePara063": "もしあなたが自分の結果や違反行為の本質を理解できないなら、スタッフ/モデレータに質問して将来違反を犯すことを防ぐ助けとしてください。特定の決定事項が不当と感じるのであれば、話し合うためにadmin@habitica.comからスタッフに連絡できます。", - "commGuideHeadingMeet": "スタッフとモデレーターに会おう!", + "commGuideHeadingMeet": "スタッフに会おう", "commGuidePara006": "Habiticaには、コミュニティを静かに保ち、満足させ、騒ぎをなくす作業をスタッフとともにしてくれている義侠の士がいます。それぞれ特定の領域を受け持っていますが、ときには別の領域ともいえるコミュニティに呼びだされます。", "commGuidePara007": "スタッフは王冠のマークが付いた紫色のタグがあります。彼らの肩書は「Heroic」です。", "commGuidePara008": "モデレーターはダークブルーの星印のタグがついています。彼らの肩書は「守護者」です。", @@ -126,8 +126,9 @@ "commGuideList01D": "モデレーターの要請には従っていただくようお願いいたします。", "commGuideList01B": "禁止:暴力的、脅迫的、差別の助長などにあたるコミュニケーション。これらはミーム、画像、ジョークにおいても禁止です。", "commGuideList01F": "有料アイテムの物乞い、スパム行為は禁止です。過度に大きく表示したテキスト、全て大文字にして強調した英文は投稿しないでください。", - "commGuideList01E": "キャンプ場のチャットで争いをけしかけたり、争いに参加しないで下さい。", + "commGuideList01E": "キャンプ場のチャットで争いをけしかけたり、争いに参加しないで下さい。", "commGuideList02M": "ジェム、有料プラン、グループプランのメンバー権限をねだったり求めてはいけません。キャンプ場のチャット、プライベートギルドのチャット、公共ギルドチャット、PMのいずれでも許可されていません。もし有料アイテムを求めるようなメッセージを受け取ったら、そのメッセージ内の報告アイコン(旗のアイコン)で知らせて下さい。同じ行為を繰り返したり、あまりにひどいジェムや有料プランの要求をすると、アカウントを停止します。", "commGuideList05H": "他のユーザーから現金やそれに相当するものを過度に(もしくは繰り返し)だまし取ろうとしたり、無理矢理貰おうとする行為", - "commGuideList09D": "貢献者段位の剥奪か降格" + "commGuideList09D": "貢献者段位の剥奪か降格", + "commGuideList02N": "これらのガイドラインまたは利用規約に違反する投稿にはフラグをクリックして報告してください。できるだけ早く対応させていただきます。 admin@haveica.com 経由でスタッフに通知することもできますが、フラグを使用するのが最も早くヘルプを得られます。" } diff --git a/website/common/locales/ja/content.json b/website/common/locales/ja/content.json index 5cbe66d1e7..0db90b6633 100644 --- a/website/common/locales/ja/content.json +++ b/website/common/locales/ja/content.json @@ -372,5 +372,7 @@ "hatchingPotionSolarSystem": "太陽系の", "hatchingPotionOnyx": "オニキスの", "hatchingPotionVirtualPet": "ヴァーチャルペットの", - "hatchingPotionPorcelain": "白磁の" + "hatchingPotionPorcelain": "白磁の", + "hatchingPotionTeaShop": "喫茶店", + "hatchingPotionPinkMarble": "ピンク大理石" } diff --git a/website/common/locales/ja/faq.json b/website/common/locales/ja/faq.json index 84bd21b6a6..9644d8750f 100644 --- a/website/common/locales/ja/faq.json +++ b/website/common/locales/ja/faq.json @@ -37,9 +37,9 @@ "androidFaqAnswer8": "レベル10になってクラスを選択すると表示される青いバーは、マナ バーです。レベルアップを続けると、マナを使うスキルの機能がアンロックされます。それぞれのクラスは異なったスキルをもっており、レベル11以降、メニュー > スキルを使う に表示されます。体力バーと違って、マナ バーはレベルを上げても全回復しません。マナは、いい習慣、日課、To Doを達成することで増え、悪い習慣を行うと減ります。夜が明けたときにも少し回復しますが、それはより多くの日課を完了すると、より回復します。", "webFaqAnswer8": "レベル10になってクラスを選択すると表示される青いバーは、マナ バーです。レベルアップを続けると、マナを使うスキルの機能がアンロックされます。それぞれのクラスは異なった特殊能力をもっており、レベル11以降、画面下のアクションバーに表示されます。体力バーと違って、マナ バーはレベルを上げてもリセットされません。マナは、いい習慣、日課、To Doを達成することで増え、悪い習慣を行うと減ります。また、夜が明けたときにもいくらか回復します ―― より多くの日課を完了させているほど、より多くのマナが得られるでしょう。", "faqQuestion9": "モンスターと戦ったり、クエストを始めるにはどうしたらいいですか?", - "iosFaqAnswer9": "まず、パーティーに参加するか、新しいパーティーを作成する必要があります([友達といっしょに Habitica を遊ぶには?](https://habitica.com/static/faq/5)をご覧ください)。一人でモンスターと戦うこともできますが、グループで遊ぶとクエストを進めやすくなるのでおすすめです。なおかつ、応援してくれる友達がいるとタスクを達成するやる気も出ます!\n\n次に、クエストの巻物が必要です。メニュー > アイテム に保管されています。巻物を入手するには3通りの方法があります:\n\n- レベル15 で、3つのリンクしたクエストとして知られるシリーズクエストが手に入ります。その後、レベル30、40、60 のそれぞれでシリーズクエストがアンロックされます。\n- 誰かをあなたのパーティーに招待すると、バシ・リストの巻物が手に入ります。\n- クエストショップで、ゴールドまたはジェムを使ってクエストを購入できます。\n\nボスと戦ったり、コレクションクエストでアイテムを集めたりするには、いつも通りタスクを完了するだけです。日付が変わるときにダメージとして計算されます( ボスの体力バーが減るのを見るには、画面を下に引っぱって更新する必要があるかもしれません)。 ボスと戦っている間に日課をやり残すと、ボスへのダメージが発生するのと同じタイミングで、ボスがパーティーへダメージを与えます。\n\nレベル11以降、魔道士と戦士は、ボスへ追加ダメージを与えるスキルを覚えます。もし強力な攻撃役になりたいなら、この2つはレベル10で選択するのにぴったりのクラスです。", - "androidFaqAnswer9": "まず、パーティーに参加するか、新しいパーティーを作成する必要があります(上記をご覧ください)。一人でモンスターと戦うこともできますが、グループで遊ぶとクエストを進めやすくなるのでおすすめです。なおかつ、応援してくれる友達がいるとタスクを達成するやる気も出ます!\n\n次に、クエストの巻物が必要です。メニュー > アイテム に保管されています。巻物を入手するには3通りの方法があります:\n\n- レベル15 で、3つのリンクしたクエストとして知られるシリーズクエストが手に入ります。その後、レベル30、40、60 のそれぞれでシリーズクエストがアンロックされます。\n- 誰かをあなたのパーティーに招待すると、バシ・リストの巻物が手に入ります。\n- クエストショップで、ゴールドまたはジェムを使ってクエストを購入できます。\n\nボスと戦ったり、コレクションクエストでアイテムを集めたりするには、いつも通りタスクを完了するだけです。日付が変わるときにダメージとして計算されます( ボスの体力バーが減るのを見るには、画面を下に引っぱって更新する必要があるかもしれません)。 ボスと戦っている間に日課をやり残すと、ボスへのダメージが発生するのと同じタイミングで、ボスがパーティーへダメージを与えます。\n\nレベル11以降、魔道士と戦士は、ボスへ追加ダメージを与えるスキルを覚えます。もし強力な攻撃役になりたいなら、この2つはレベル10で選択するのにぴったりのクラスです。", - "webFaqAnswer9": "まず、パーティーに参加するか、ナビゲーションバーの「パーティー」をクリックして新しいパーティーを作成する必要があります。一人でモンスターと戦うこともできますが、グループで遊ぶとクエストを進めやすくなるのでおすすめです。なおかつ、応援してくれる友達がいるとタスクを達成するやる気も出ます! 次に、クエストの巻物が必要です。所持品 > クエスト に保管されています。巻物を入手するには4通りの方法があります:\n* レベル15 で、3つのリンクしたクエストとして知られるシリーズクエストが手に入ります。その後、レベル30、40、60 のそれぞれでシリーズクエストがアンロックされます。\n* だれかをあなたのパーティーに招待すると、バシ・リストの巻物が手に入ります。\n* クエストショップで、ゴールドまたはジェムを使ってクエストを購入できます。\n* Habiticaに一定回数チェックインすると、クエストの巻物がもらえます。1回目、7回目、22回目、40回目のチェックインで巻物が手に入ります。\nボスと戦ったり、コレクションクエストでアイテムを集めたりするには、いつも通りタスクを完了するだけです。日付が変わるときにダメージとして計算されます( ボスの体力バーが減るのを見るには、画面を下に引っぱって更新する必要があるかもしれません)。 ボスと戦っている間に日課をやり残すと、ボスへのダメージが発生するのと同じタイミングで、ボスがパーティーへダメージを与えます。レベル11以降、魔道士と戦士は、ボスへ追加ダメージを与えるスキルを覚えます。もし強力な攻撃役になりたいなら、この2つはレベル10で選択するのにぴったりのクラスです。", + "iosFaqAnswer9": "まず、ナビゲーションメニューの「パーティー」を選択してパーティーに参加または開始する必要があります。クエストは一人で挑戦することもできますが、クエストをより速く進め、責任感を高めてモチベーションを高めるために、他の人と一緒にプレイすることをお勧めします。\n\nパーティーに参加すると、所持品内のクエスト スクロールにパーティー メンバーを招待できます。全員が同意するとクエストが開始されます。先に進むには、通常どおりタスクを完了してください。ボスクエストに挑戦している場合はモンスターに対してダメージを蓄積し、収集クエストに挑戦している場合はアイテムを見つけるチャンスがあります。保留中の進行状況はすべて翌日に適用されます。\n\nパーティーメンバーが十分なダメージを与えるか、すべてのアイテムを集めるとクエストが終了し、全員が報酬を受け取ります!", + "androidFaqAnswer9": "まず、ナビゲーションメニューの「パーティー」を選択してパーティーに参加または開始する必要があります。クエストは一人で挑戦することもできますが、クエストをより速く進め、責任感を高めてモチベーションを高めるために、他の人と一緒にプレイすることをお勧めします。\n\nパーティーに参加すると、所持品内のクエスト スクロールにパーティー メンバーを招待できます。全員が同意するとクエストが開始されます。先に進むには、通常どおりタスクを完了してください。ボスクエストに挑戦している場合はモンスターに対してダメージを蓄積し、収集クエストに挑戦している場合はアイテムを見つけるチャンスがあります。保留中の進行状況はすべて翌日に適用されます。\n\nパーティーメンバーが十分なダメージを与えるか、すべてのアイテムを集めるとクエストが終了し、全員が報酬を受け取ります!", + "webFaqAnswer9": "まず、ナビゲーションメニューの「パーティー」を選択してパーティーに参加または開始する必要があります。クエストは一人で挑戦することもできますが、クエストをより速く進め、責任感を高めてモチベーションを高めるために、他の人と一緒にプレイすることをお勧めします。\n\nパーティーに参加すると、所持品内のクエスト スクロールにパーティー メンバーを招待できます。全員が同意するとクエストが開始されます。先に進むには、通常どおりタスクを完了してください。ボスクエストに挑戦している場合はモンスターに対してダメージを蓄積し、収集クエストに挑戦している場合はアイテムを見つけるチャンスがあります。保留中の進行状況はすべて翌日に適用されます。\n\nパーティーメンバーが十分なダメージを与えるか、すべてのアイテムを集めるとクエストが終了し、全員が報酬を受け取ります!", "faqQuestion10": "ジェムってなに? どうやって手に入れるの?", "iosFaqAnswer10": "ジェムは、メニュー > ジェムの購入 から現実のお金で買うことができます。あなたがジェムを購入してくださるなら、サイトを運営し続けるための大きな助けとなります。私たちはご支援に心から感謝しています!\n\nジェムをすぐに購入する他に、以下の 3 通りの方法でジェムを手に入れることができます:\n\n* 他のプレイヤーが作ったチャレンジで優勝する。メニュー > チャレンジ から参加しましょう。\n* 有料プランに加入すると、毎月決まった数のジェムをゴールドで購入できるようになります。\n* あなたの得意なことでHabiticaのプロジェクトに貢献する。詳しくはWikiページをご覧ください:[Habiticaへの貢献](https://habitica.fandom.com/ja/wiki/Habiticaへの貢献)\n\nジェムで購入できるアイテムは数値的に有利になるものではなく、プレイヤーはジェムが無くてもHabiticaを問題なく利用できることを覚えておきましょう!", "androidFaqAnswer10": "ジェムは、メニュー > ジェムの購入 から現実のお金で買うことができます。あなたがジェムを購入してくださると、サイトを運営し続けるための大きな助けとなります。私たちはご支援に心から感謝しています!\n\nジェムをすぐに購入する他に、以下の 3 通りの方法でジェムを手に入れることができます:\n\n* 他のプレイヤーが作ったチャレンジで優勝する。メニュー > チャレンジ から参加しましょう。\n* 有料プランに加入すると、毎月決まった数のジェムをゴールドで購入できるようになります。\n* あなたの得意なことでHabiticaのプロジェクトに貢献する。詳しくはWikiページをご覧ください:[Habiticaへの貢献](https://habitica.fandom.com/ja/wiki/Habiticaへの貢献)\n\nジェムで購入できるアイテムは数値的に有利になるものではなく、プレイヤーはジェムが無くてもHabiticaを問題なく利用できることを覚えておきましょう!", @@ -56,5 +56,53 @@ "androidFaqStillNeedHelp": "このリストや [Wiki FAQ](https://habitica.fandom.com/ja/wiki/FAQ) にはない質問がある場合は、メニュー > キャンプ場 もしくは[日本語話者ギルド](https://habitica.com/groups/guild/1f99d3df-bb93-4505-bf3b-6f348e1896f3)にあるチャットで聞いてみましょう! 喜んで手助けします。", "webFaqStillNeedHelp": "このリストや [Wiki FAQ](https://habitica.fandom.com/ja/wiki/FAQ) にはない質問がある場合は、[Habitica Help ギルド](https://habitica.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a)もしくは[日本語話者ギルド](https://habitica.com/groups/guild/1f99d3df-bb93-4505-bf3b-6f348e1896f3)で聞いてみましょう! 喜んで手助けします。", "faqQuestion13": "グループ プランとは?", - "webFaqAnswer13": "## グループ プランはどのように機能しますか?\n\n[グループ プラン](/group-plans) を使うと、パーティやギルドで、個人のタスクボードと同じような共有タスクボードにアクセスすることができます。これは Habitica の共有機能で、グループの誰でもタスクを作成し、チェックすることができます。\n\nまた、メンバーのロール、ステータス表示、タスクの割り当てなど、よりコントロールしやすい機能が利用できます。グループ プランの詳細については、[wiki を参照](https://habitica.fandom.com/wiki/Group_Plans) してください!\n\n## グループプランのメリットは?\n\nグループプランは、少人数で共同作業を行う場合に最適です。2〜5名程度での使用がおすすめです。\n\nグループ プランは、親子やパートナーなど、家族で利用する場合にも最適です。共通の目標、家事、責任などを1つのボード上で簡単に追跡できます。\n\nグループプランは、目標を共有する同僚のチームや、従業員にゲーミフィケーションを紹介したい管理職にも便利です。\n\n## グループ活用のための簡単なヒント\n\nここでは、新しいグループを使い始めるための簡単なヒントをいくつか紹介します。詳しくは、次のセクションで説明します。\n\n* タスクを作成・編集する権限を与えるために、メンバーを管理者にする\n* 誰にでもできて、一度だけ行えばよいタスクは未割り当てのままにする\n* タスクを1人に割り当てて、他の人がそのタスクを完了できないようにする\n* 複数の人がタスクを完了する必要がある場合は、複数の人にタスクを割り当てます\n* 共有タスクをパーソナルボードに表示し、見逃しを防止します\n* 複数の人に割り当てられたタスクでも、完了するとごほうびがもらえます\n* 完了したタスクのごほうびはチームメンバー間で共有または分割されません\n* チームボード上のタスクカラーを使用すると、タスクの平均完了率を判断できます\n* チームボード上のタスクを定期的にレビューし、それらがまだ適切であることを確認します\n* 日課を忘れても、あなたやあなたのチームにダメージを与えることはありませんが、タスクの色が劣化します\n\n## グループの他のメンバーがタスクを作成するには?\n\nグループリーダーと管理者だけがタスクを作成することができます。もし、グループのメンバーにタスクを作成させたい場合は、グループ情報タブでメンバーリストを表示し、そのメンバーの名前の横にあるドットアイコンをクリックして、そのメンバーを管理者に昇格させる必要があります。\n\n## タスクを割り当てる方法は?\n\nグループプランを使用すると、他のグループメンバにタスクを割り当てることができます。タスクの割り当ては、委任に最適です。誰かにタスクを割り当てると、他のメンバーはそのタスクを完了することができなくなります。\n\nまた、複数のメンバーで完了させる必要があるタスクは、複数の人に割り当てることができます。例えば、全員が歯を磨かなければならない場合、タスクを作成し、各メンバーに割り当てます。すると、全員がそのタスクにチェックを入れ、それぞれのごほうびをもらうことができます。メインタスクは、全員がチェックした時点で完了として表示されます。\n\n## 未割り当てのタスクはどのように機能しますか?\n\n未割り当てのタスクは、グループ内の誰でも完了することができます。そのため、タスクを未割り当てにしておくと、どのメンバーでも完了できるようになります。例えば、ゴミ出し。ゴミ出しをした人が未割り当てのタスクにチェックを入れれば、全員が完了したものとして表示されます。\n\n## 同期された日のリセットはどのように機能しますか?\n\n共有タスクは、すべてのユーザーが共有タスクボードの同期を維持できるように、同時にリセットされます。この時間は共有タスクボードに表示され、グループリーダーの1日の開始時間によって決定されます。共有タスクは自動的にリセットされるため、翌日のチェックイン時に前日の未完了の共有された日課を完了することはできません。\n\nなお、共有された日課が未達成でもダメージはありませんが、進捗状況を可視化するために色が劣化します。\n\n## モバイル アプリでグループを使用する方法は?\n\nモバイルアプリはまだすべてのグループプラン機能を完全にサポートしているわけではありませんが、タスクをパーソナルタスクボードにコピーすることで、iOSおよびAndroidアプリから共有タスクを完了することができます。この設定は、モバイルアプリの設定から、またはブラウザバージョンのグループタスクボードから切り替えることができます。これで、開いている共有タスクと割り当てられた共有タスクが、すべてのプラットフォームでパーソナルタスクボードに表示されます。\n\n## グループの共有タスクとチャレンジの違いは?\n\nグループ プランの共有タスクボードは、常に更新され、対話することができるという点で、チャレンジよりも動的です。チャレンジは、多くの人に送信する1つのタスクセットがある場合に役立ちます。\n\nまた、グループプランは有料機能ですが、チャレンジは誰でも無料で利用できます。\n\nチャレンジでは、特定のタスクを割り当てることができず、共有日のリセットもありません。一般に、チャレンジはカスタマイズ性が低く、直接的な対話ができません。" + "webFaqAnswer13": "## グループ プランはどのように機能しますか?\n\n[グループ プラン](/group-plans) を使うと、パーティやギルドで、個人のタスクボードと同じような共有タスクボードにアクセスすることができます。これは Habitica の共有機能で、グループの誰でもタスクを作成し、チェックすることができます。\n\nまた、メンバーのロール、ステータス表示、タスクの割り当てなど、よりコントロールしやすい機能が利用できます。グループ プランの詳細については、[wiki を参照](https://habitica.fandom.com/wiki/Group_Plans) してください!\n\n## グループプランのメリットは?\n\nグループプランは、少人数で共同作業を行う場合に最適です。2〜5名程度での使用がおすすめです。\n\nグループ プランは、親子やパートナーなど、家族で利用する場合にも最適です。共通の目標、家事、責任などを1つのボード上で簡単に追跡できます。\n\nグループプランは、目標を共有する同僚のチームや、従業員にゲーミフィケーションを紹介したい管理職にも便利です。\n\n## グループ活用のための簡単なヒント\n\nここでは、新しいグループを使い始めるための簡単なヒントをいくつか紹介します。詳しくは、次のセクションで説明します。\n\n* タスクを作成・編集する権限を与えるために、メンバーを管理者にする\n* 誰にでもできて、一度だけ行えばよいタスクは未割り当てのままにする\n* タスクを1人に割り当てて、他の人がそのタスクを完了できないようにする\n* 複数の人がタスクを完了する必要がある場合は、複数の人にタスクを割り当てます\n* 共有タスクをパーソナルボードに表示し、見逃しを防止します\n* 複数の人に割り当てられたタスクでも、完了するとごほうびがもらえます\n* 完了したタスクのごほうびはチームメンバー間で共有または分割されません\n* チームボード上のタスクカラーを使用すると、タスクの平均完了率を判断できます\n* チームボード上のタスクを定期的にレビューし、それらがまだ適切であることを確認します\n* 日課を忘れても、あなたやあなたのチームにダメージを与えることはありませんが、タスクの色が劣化します\n\n## グループの他のメンバーがタスクを作成するには?\n\nグループリーダーと管理者だけがタスクを作成することができます。もし、グループのメンバーにタスクを作成させたい場合は、グループ情報タブでメンバーリストを表示し、そのメンバーの名前の横にあるドットアイコンをクリックして、そのメンバーを管理者に昇格させる必要があります。\n\n## タスクを割り当てる方法は?\n\nグループプランを使用すると、他のグループメンバにタスクを割り当てることができます。タスクの割り当ては、委任に最適です。誰かにタスクを割り当てると、他のメンバーはそのタスクを完了することができなくなります。\n\nまた、複数のメンバーで完了させる必要があるタスクは、複数の人に割り当てることができます。例えば、全員が歯を磨かなければならない場合、タスクを作成し、各メンバーに割り当てます。すると、全員がそのタスクにチェックを入れ、それぞれのごほうびをもらうことができます。メインタスクは、全員がチェックした時点で完了として表示されます。\n\n## 未割り当てのタスクはどのように機能しますか?\n\n未割り当てのタスクは、グループ内の誰でも完了することができます。そのため、タスクを未割り当てにしておくと、どのメンバーでも完了できるようになります。例えば、ゴミ出し。ゴミ出しをした人が未割り当てのタスクにチェックを入れれば、全員が完了したものとして表示されます。\n\n## 同期された日のリセットはどのように機能しますか?\n\n共有タスクは、すべてのユーザーが共有タスクボードの同期を維持できるように、同時にリセットされます。この時間は共有タスクボードに表示され、グループリーダーの1日の開始時間によって決定されます。共有タスクは自動的にリセットされるため、翌日のチェックイン時に前日の未完了の共有された日課を完了することはできません。\n\nなお、共有された日課が未達成でもダメージはありませんが、進捗状況を可視化するために色が劣化します。\n\n## モバイル アプリでグループを使用する方法は?\n\nモバイルアプリはまだすべてのグループプラン機能を完全にサポートしているわけではありませんが、タスクをパーソナルタスクボードにコピーすることで、iOSおよびAndroidアプリから共有タスクを完了することができます。この設定は、モバイルアプリの設定から、またはブラウザバージョンのグループタスクボードから切り替えることができます。これで、開いている共有タスクと割り当てられた共有タスクが、すべてのプラットフォームでパーソナルタスクボードに表示されます。\n\n## グループの共有タスクとチャレンジの違いは?\n\nグループ プランの共有タスクボードは、常に更新され、対話することができるという点で、チャレンジよりも動的です。チャレンジは、多くの人に送信する1つのタスクセットがある場合に役立ちます。\n\nまた、グループプランは有料機能ですが、チャレンジは誰でも無料で利用できます。\n\nチャレンジでは、特定のタスクを割り当てることができず、共有日のリセットもありません。一般に、チャレンジはカスタマイズ性が低く、直接的な対話ができません。", + "iosFaqAnswer13": "## グループプランはどのように機能しますか?\n\n[グループ プラン](/group-plans) を使用すると、パーティーまたはギルドが個人のタスク ボードと同様の共有タスク ボードにアクセスできるようになります。これは Habitica の共有エクスペリエンスであり、グループ内の誰でもタスクを作成してチェックを入れることができます。\n\nメンバーの役割、ステータス ビュー、タスクの割り当てなど、より制御されたエクスペリエンスを提供する機能も利用できます。グループ プランの機能の詳細については、[ウィキ(英文)にアクセスしてください](https://havenica.fandom.com/wiki/Group_Plans)。\n\n## グループ プランの恩恵を受けるのは誰ですか?\n\nグループ プランは、一緒にコラボレーションしたい少人数のチームがある場合に最も効果的です。 2~5人のメンバーを推奨します。\n\nグループプランは、親子でも、あなたとパートナーでも、家族連れにも最適です。共有の目標、雑用、または責任を 1 つのボードで簡単に追跡できます。\n\nグループ プランは、共通の目標を持つ同僚のチームや、従業員にゲーミフィケーションを紹介したいマネージャーにも役立ちます。\n\n## グループを使用するための簡単なヒント\n\n新しいグループを始めるための簡単なヒントをいくつか紹介します。詳細については、次のセクションで説明します。\n\n* メンバーをマネージャーにして、タスクを作成および編集できるようにします\n* 誰でも完了でき、一度だけ実行する必要がある場合は、タスクを未割り当てのままにしておきます\n* タスクを 1 人に割り当てて、他の人がそのタスクを完了できないようにします\n* 全員でタスクを完了する必要がある場合は、複数の人にタスクを割り当てます\n* 見逃さないように、個人ボードに共有タスクを表示する機能を切り替えます\n* 複数のタスクが割り当てられている場合でも、完了したタスクに対して報酬を受け取ります\n* タスク完了の報酬はチームメンバー間で共有または分割されません\n* チームボードのタスクの色を使用して、タスクの平均完了率を判断します\n* チームボード上のタスクを定期的に見直して、それらが依然として関連性があることを確認してください\n* デイリーを逃してもあなたやあなたのチームにダメージはありませんが、タスクの色が劣化します。\n\n## グループ内の他の人はどのようにしてタスクを作成できますか?\n\nタスクを作成できるのはグループ リーダーとマネージャーだけです。グループ メンバーにタスクを作成できるようにしたい場合は、[グループ情報] タブに移動し、メンバー リストを表示し、名前の横にあるドット アイコンをクリックして、そのメンバーをマネージャーに昇格させる必要があります。\n\n## タスクの割り当てはどのように機能しますか?\n\nグループ プランでは、他のグループ メンバーにタスクを割り当てる独自の機能が提供されます。タスクの割り当ては、委任するのに最適です。タスクを誰かに割り当てると、他のメンバーはそのタスクを完了できなくなります。\n\n複数のメンバーがタスクを完了する必要がある場合は、タスクを複数の人に割り当てることもできます。たとえば、全員が歯を磨かなければならない場合は、タスクを作成してグループの各メンバーに割り当てます。彼らは全員、チェックを入れることができ、そうすることでそれぞれの報酬を受け取ることができます。全員がチェックを入れると、メインタスクは完了として表示されます。\n\n## 割り当てられていないタスクはどのように機能しますか?\n\n割り当てられていないタスクはグループ内の誰でも完了できるため、タスクを未割り当てのままにして、どのメンバーでも完了できるようにします。例えば、ゴミ出し。ゴミ出しをした人が未割り当てのタスクにチェックを入れると、全員に完了済みとして表示されます。\n\n## 同期された日のリセットはどのように機能しますか?\n\n共有タスクボードの同期を保つために、全員が同時に共有タスクをリセットします。この時間は共有タスク ボードに表示され、グループ リーダーの 1 日の開始時刻によって決まります。共有タスクは自動的にリセットされるため、翌朝チェックインしたときに、昨日未完了の共有デイリーを完了することはできません。\n\n共有デイリーは見逃してもダメージを与えませんが、進行状況を視覚化するために色が劣化します。私たちは、共有された経験がネガティブなものになることを望んでいません。\n\n## モバイル アプリでグループを使用するにはどうすればよいですか?\n\nモバイル アプリはまだすべてのグループ プラン機能を完全にはサポートしていませんが、タスクを個人タスク ボードにコピーすることで、iOS および Android アプリから共有タスクを完了できます。この設定は、モバイル アプリの [設定] から、またはブラウザー バージョンのグループ タスク ボードからオンに切り替えることができます。開いていて割り当てられている共有タスクが、すべてのプラットフォームの個人タスク ボードに表示されるようになりました。\n\n## グループの共有タスクと課題の違いは何ですか?\n\nグループ プランの共有タスク ボードは、常に更新して操作できるため、チャレンジよりも動的です。多くの人に送信する 1 つのタスク セットがある場合、チャレンジは最適です。\n\nグループ プランも有料機能ですが、チャレンジは誰でも無料で利用できます。\n\nチャレンジでは特定のタスクを割り当てることはできません。また、チャレンジには共有日のリセットがありません。一般に、チャレンジでは制御性が低く、直接的な対話が可能です。", + "androidFaqAnswer13": "## グループプランはどのように機能しますか?\n\n[グループ プラン](/group-plans) を使用すると、パーティーまたはギルドが個人のタスク ボードと同様の共有タスク ボードにアクセスできるようになります。これは Habitica の共有エクスペリエンスであり、グループ内の誰でもタスクを作成してチェックを入れることができます。\n\nメンバーの役割、ステータス ビュー、タスクの割り当てなど、より制御されたエクスペリエンスを提供する機能も利用できます。グループ プランの機能の詳細については、[ウィキ(英文)にアクセスしてください](https://havenica.fandom.com/wiki/Group_Plans)。\n\n## グループ プランの恩恵を受けるのは誰ですか?\n\nグループ プランは、一緒にコラボレーションしたい少人数のチームがある場合に最も効果的です。 2~5人のメンバーを推奨します。\n\nグループプランは、親子でも、あなたとパートナーでも、家族連れにも最適です。共有の目標、雑用、または責任を 1 つのボードで簡単に追跡できます。\n\nグループ プランは、共通の目標を持つ同僚のチームや、従業員にゲーミフィケーションを紹介したいマネージャーにも役立ちます。\n\n## グループを使用するための簡単なヒント\n\n新しいグループを始めるための簡単なヒントをいくつか紹介します。詳細については、次のセクションで説明します。\n\n* メンバーをマネージャーにして、タスクを作成および編集できるようにします\n* 誰でも完了でき、一度だけ実行する必要がある場合は、タスクを未割り当てのままにしておきます\n* タスクを 1 人に割り当てて、他の人がそのタスクを完了できないようにします\n* 全員でタスクを完了する必要がある場合は、複数の人にタスクを割り当てます\n* 見逃さないように、個人ボードに共有タスクを表示する機能を切り替えます\n* 複数のタスクが割り当てられている場合でも、完了したタスクに対して報酬を受け取ります\n* タスク完了の報酬はチームメンバー間で共有または分割されません\n* チームボードのタスクの色を使用して、タスクの平均完了率を判断します\n* チームボード上のタスクを定期的に見直して、それらが依然として関連性があることを確認してください\n* デイリーを逃してもあなたやあなたのチームにダメージはありませんが、タスクの色が劣化します。\n\n## グループ内の他の人はどのようにしてタスクを作成できますか?\n\nタスクを作成できるのはグループ リーダーとマネージャーだけです。グループ メンバーにタスクを作成できるようにしたい場合は、[グループ情報] タブに移動し、メンバー リストを表示し、名前の横にあるドット アイコンをクリックして、そのメンバーをマネージャーに昇格させる必要があります。\n\n## タスクの割り当てはどのように機能しますか?\n\nグループ プランでは、他のグループ メンバーにタスクを割り当てる独自の機能が提供されます。タスクの割り当ては、委任するのに最適です。タスクを誰かに割り当てると、他のメンバーはそのタスクを完了できなくなります。\n\n複数のメンバーがタスクを完了する必要がある場合は、タスクを複数の人に割り当てることもできます。たとえば、全員が歯を磨かなければならない場合は、タスクを作成してグループの各メンバーに割り当てます。彼らは全員、チェックを入れることができ、そうすることでそれぞれの報酬を受け取ることができます。全員がチェックを入れると、メインタスクは完了として表示されます。\n\n## 割り当てられていないタスクはどのように機能しますか?\n\n割り当てられていないタスクはグループ内の誰でも完了できるため、タスクを未割り当てのままにして、どのメンバーでも完了できるようにします。例えば、ゴミ出し。ゴミ出しをした人が未割り当てのタスクにチェックを入れると、全員に完了済みとして表示されます。\n\n## 同期された日のリセットはどのように機能しますか?\n\n共有タスクボードの同期を保つために、全員が同時に共有タスクをリセットします。この時間は共有タスク ボードに表示され、グループ リーダーの 1 日の開始時刻によって決まります。共有タスクは自動的にリセットされるため、翌朝チェックインしたときに、昨日未完了の共有デイリーを完了することはできません。\n\n共有デイリーは見逃してもダメージを与えませんが、進行状況を視覚化するために色が劣化します。私たちは、共有された経験がネガティブなものになることを望んでいません。\n\n## モバイル アプリでグループを使用するにはどうすればよいですか?\n\nモバイル アプリはまだすべてのグループ プラン機能を完全にはサポートしていませんが、タスクを個人タスク ボードにコピーすることで、iOS および Android アプリから共有タスクを完了できます。この設定は、モバイル アプリの [設定] から、またはブラウザー バージョンのグループ タスク ボードからオンに切り替えることができます。開いていて割り当てられている共有タスクが、すべてのプラットフォームの個人タスク ボードに表示されるようになりました。\n\n## グループの共有タスクと課題の違いは何ですか?\n\nグループ プランの共有タスク ボードは、常に更新して操作できるため、チャレンジよりも動的です。多くの人に送信する 1 つのタスク セットがある場合、チャレンジは最適です。\n\nグループ プランも有料機能ですが、チャレンジは誰でも無料で利用できます。\n\nチャレンジでは特定のタスクを割り当てることはできません。また、チャレンジには共有日のリセットがありません。一般に、チャレンジでは制御性が低く、直接的な対話が可能です。", + "general": "一般", + "parties": "パーティー", + "faqQuestion14": "パーティーに参加していない場合、どうやってパーティーを見つけますか?", + "faqQuestion15": "パーティーの検索はどのように行われますか?", + "faqQuestion16": "リストに参加してからどれくらいの期間、パーティーを検索できますか?", + "faqQuestion17": "パーティーを探すのを中止できますか?", + "faqQuestion18": "パーティーを持っていますが、さらにメンバーを見つけるにはどうすればよいですか?", + "faqQuestion19": "自分のパーティーに何人のメンバーを招待できますか?", + "androidFaqAnswer15": "「パーティーを探す」を選択すると、パーティーに参加したいプレイヤーのリストに追加されます。パーティーのリーダーはこのリストを表示し、招待状を送信できます。招待を受け取ったら、通知から招待を受け入れて、選択したパーティーに参加できます。\n\n異なるパーティーへの複数の招待状を受け取る場合があります。ただし、一度にメンバーになれるのは 1 つのパーティーのみです。", + "androidFaqAnswer16": "パーティーへの招待を受け入れるか、7 日間ログインしないかのどちらか早い方まで、リストに残ります。 7 日間非アクティブだった後にログインすると、保留中の招待がない限り、自動的にリストに再度追加されます。", + "iosFaqAnswer17": "パーティーを探す必要がなくなった場合は、いつでも検索を中止できます。\n\nHabitica の Web サイトでパーティーの検索を中止するには:\n\n1. ナビゲーションで「パーティー」リンクを選択します。\n2. ポップアップの「中止」をクリックします。\n\nAndroid アプリでパーティーの検索を中止するには:\n1. メニューから「パーティー」をタップします。\n2. 画面下の「中止」をタップします。", + "webFaqAnswer17": "パーティーを探す必要がなくなった場合は、いつでも検索を中止できます。\n\nHabitica の Web サイトでパーティーの検索を中止するには:\n\n1. ナビゲーションで「パーティー」リンクを選択します。\n2. ポップアップの「中止」をクリックします。\n\nAndroid アプリでパーティーの検索を中止するには:\n1. メニューから「パーティー」をタップします。\n2. 画面下の「中止」をタップします。", + "iosFaqAnswer14": "他のプレイヤーと一緒に Habitica を体験したいけれど、他のプレイヤーに知り合いがいない場合は、パーティーを探すのが最善の選択肢です。パーティーを開催している他のプレーヤーをすでに知っている場合は、@ユーザー名をそのプレーヤーと共有して招待してもらうことができます。あるいは、新しいパーティーを作成し、@ユーザー名または電子メール アドレスを使用して招待することもできます。\n\nパーティーを作成または検索するには、ナビゲーション メニューで [パーティー] を選択し、適切な選択肢をえらんでください。", + "androidFaqAnswer14": "他のプレイヤーと一緒に Habitica を体験したいけれど、他のプレイヤーに知り合いがいない場合は、パーティーを探すのが最善の選択肢です。パーティーを開催している他のプレーヤーをすでに知っている場合は、@ユーザー名をそのプレーヤーと共有して招待してもらうことができます。あるいは、新しいパーティーを作成し、@ユーザー名または電子メール アドレスを使用して招待することもできます。\n\nパーティーを作成または検索するには、ナビゲーション メニューで [パーティー] を選択し、適切な選択肢をえらんでください。", + "webFaqAnswer14": "他のプレイヤーと一緒に Habitica を体験したいけれど、他のプレイヤーに知り合いがいない場合は、パーティーを探すのが最善の選択肢です。パーティーを開催している他のプレーヤーをすでに知っている場合は、@ユーザー名をそのプレーヤーと共有して招待してもらうことができます。あるいは、新しいパーティーを作成し、@ユーザー名または電子メール アドレスを使用して招待することもできます。\n\nパーティーを作成または検索するには、ナビゲーション メニューで [パーティー] を選択し、適切な選択肢をえらんでください。", + "iosFaqAnswer15": "「パーティーを探す」を選択すると、パーティーに参加したいプレイヤーのリストに追加されます。パーティーのリーダーはこのリストを表示し、招待状を送信できます。招待を受け取ったら、通知から招待を受け入れて、選択したパーティーに参加できます。\n\n異なるパーティーへの複数の招待状を受け取る場合があります。ただし、一度にメンバーになれるのは 1 つのパーティーのみです。", + "webFaqAnswer15": "「パーティーを探す」を選択すると、パーティーに参加したいプレイヤーのリストに追加されます。パーティーのリーダーはこのリストを表示し、招待状を送信できます。招待を受け取ったら、通知から招待を受け入れて、選択したパーティーに参加できます。\n\n異なるパーティーへの複数の招待状を受け取る場合があります。ただし、一度にメンバーになれるのは 1 つのパーティーのみです。", + "iosFaqAnswer16": "パーティーへの招待を受け入れるか、7 日間ログインしないかのどちらか早い方まで、リストに残ります。 7 日間非アクティブだった後にログインすると、保留中の招待がない限り、自動的にリストに再度追加されます。", + "webFaqAnswer16": "パーティーへの招待を受け入れるか、7 日間ログインしないかのどちらか早い方まで、リストに残ります。 7 日間非アクティブだった後にログインすると、保留中の招待がない限り、自動的にリストに再度追加されます。", + "androidFaqAnswer17": "パーティーを探す必要がなくなった場合は、いつでも検索を中止できます。\n\nHabitica の Web サイトでパーティーの検索を中止するには:\n\n1. ナビゲーションで「パーティー」リンクを選択します。\n2. ポップアップの「中止」をクリックします。\n\nAndroid アプリでパーティーの検索を中止するには:\n1. メニューから「パーティー」をタップします。\n2. 画面下の「中止」をタップします。", + "iosFaqAnswer18": "Habitica の Web サイトを使用している場合は、パーティーのドロップダウンから「メンバーを探す」を選択します。Android アプリを使用している場合は、パーティーのメンバー リストの上にある [メンバーを探す] をタップします。これにより、積極的にパーティーを探していて、参加に招待できるプレイヤーのリストが表示されます。\n\nあなたのパーティーにぴったりのプレイヤーを見つけるために、言語、クラス、レベル、Habitica を使用した日数などの情報が表示されます。招待を送信する前に相手とチャットしたい場合は、相手のプロフィールを表示してメッセージを送信できます。", + "androidFaqAnswer18": "Habitica の Web サイトを使用している場合は、パーティーのドロップダウンから「メンバーを探す」を選択します。Android アプリを使用している場合は、パーティーのメンバー リストの上にある [メンバーを探す] をタップします。これにより、積極的にパーティーを探していて、参加に招待できるプレイヤーのリストが表示されます。\n\nあなたのパーティーにぴったりのプレイヤーを見つけるために、言語、クラス、レベル、Habitica を使用した日数などの情報が表示されます。招待を送信する前に相手とチャットしたい場合は、相手のプロフィールを表示してメッセージを送信できます。", + "webFaqAnswer18": "Habitica の Web サイトを使用している場合は、パーティーのドロップダウンから「メンバーを探す」を選択します。Android アプリを使用している場合は、パーティーのメンバー リストの上にある [メンバーを探す] をタップします。これにより、積極的にパーティーを探していて、参加に招待できるプレイヤーのリストが表示されます。\n\nあなたのパーティーにぴったりのプレイヤーを見つけるために、言語、クラス、レベル、Habitica を使用した日数などの情報が表示されます。招待を送信する前に相手とチャットしたい場合は、相手のプロフィールを表示してメッセージを送信できます。", + "iosFaqAnswer19": "パーティーのメンバーは最大 30 名、最低 1 名に制限されています。保留中の招待はメンバー数にカウントされます。たとえば、29 人のメンバーと 1 人の保留中の招待は、30 人のメンバーとしてカウントされます。保留中の招待をクリアするには、招待されたプレイヤーが承諾または拒否するか、パーティーのリーダーが招待をキャンセルする必要があります。", + "faqQuestion20": "すでに知っている人を招待できますか?", + "faqQuestion21": "保留中のパーティーへの招待をキャンセルするにはどうすればよいですか?", + "faqQuestion22": "不要な招待を停止するにはどうすればよいですか?", + "androidFaqAnswer19": "パーティーのメンバーは最大 30 名、最低 1 名に制限されています。保留中の招待はメンバー数にカウントされます。たとえば、29 人のメンバーと 1 人の保留中の招待は、30 人のメンバーとしてカウントされます。保留中の招待をクリアするには、招待されたプレイヤーが承諾または拒否するか、パーティーのリーダーが招待をキャンセルする必要があります。", + "webFaqAnswer19": "パーティーのメンバーは最大 30 名、最低 1 名に制限されています。保留中の招待はメンバー数にカウントされます。たとえば、29 人のメンバーと 1 人の保留中の招待は、30 人のメンバーとしてカウントされます。保留中の招待をクリアするには、招待されたプレイヤーが承諾または拒否するか、パーティーのリーダーが招待をキャンセルする必要があります。", + "faqQuestion23": "パーティーを検索しているメンバーのリストをフィルターするにはどうすればよいですか?", + "iosFaqAnswer23": "現時点では、パーティーを検索しているメンバーのリストをフィルターする方法はありません。ただし、将来的にはクラス、レベル、言語などのフィルターを導入する予定です。", + "androidFaqAnswer23": "現時点では、パーティーを検索しているメンバーのリストをフィルターする方法はありません。ただし、将来的にはクラス、レベル、言語などのフィルターを導入する予定です。", + "webFaqAnswer23": "現時点では、パーティーを検索しているメンバーのリストをフィルターする方法はありません。ただし、将来的にはクラス、レベル、言語などのフィルターを導入する予定です。", + "faqQuestion24": "Android または iOS でパーティーを検索するにはどうすればよいですか?", + "androidFaqAnswer24": "Android版 バージョン 4.2 では、パーティーを検索してパーティーメンバーを見つける機能を追加しました。最新バージョンに更新されていることを確認してください。ソロプレイヤーは、パーティーに参加していないときにパーティー画面からパーティーを探すことができます。パーティーのリーダーは、パーティーのメンバーリストの上にある「メンバーを探す」をタップして、招待を探しているプレイヤーのリストを参照できます。\n\nこの機能は iOS版 バージョン 3.8 でサポートされる予定ですので、近日中に注目してください!", + "iosFaqAnswer20": "はい!すでに Habitica プレイヤーのユーザー名またはメール アドレスを知っている場合は、そのプレイヤーをパーティーに招待できます。さまざまなプラットフォームで招待を送信する方法は次のとおりです。\n\nHabitica のウェブサイト:\n\nパーティーに移動し、ページの右側にある「パーティーへ招待する」をクリックします。\n\nAndroid アプリの場合:\n\nメニューから「パーティー」をタップします。 「メンバー」セクションまでスクロールし、「メンバーを検索」をタップし、「招待による」タブをタップします。\n\niOS アプリの場合:\n\nメニューから「パーティー」をタップします。 「メンバー」セクションまでスクロールし、「メンバーを招待」をタップします。", + "androidFaqAnswer20": "はい!すでに Habitica プレイヤーのユーザー名またはメール アドレスを知っている場合は、そのプレイヤーをパーティーに招待できます。さまざまなプラットフォームで招待を送信する方法は次のとおりです。\n\nHabitica のウェブサイト:\n\nパーティーに移動し、ページの右側にある「パーティーへ招待する」をクリックします。\n\nAndroid アプリの場合:\n\nメニューから「パーティー」をタップします。 「メンバー」セクションまでスクロールし、「メンバーを検索」をタップし、「招待による」タブをタップします。\n\niOS アプリの場合:\n\nメニューから「パーティー」をタップします。 「メンバー」セクションまでスクロールし、「メンバーを招待」をタップします。", + "webFaqAnswer20": "はい!すでに Habitica プレイヤーのユーザー名またはメール アドレスを知っている場合は、そのプレイヤーをパーティーに招待できます。さまざまなプラットフォームで招待を送信する方法は次のとおりです。\n\nHabitica のウェブサイト:\n\nパーティーに移動し、ページの右側にある「パーティーへ招待する」をクリックします。\n\nAndroid アプリの場合:\n\nメニューから「パーティー」をタップします。 「メンバー」セクションまでスクロールし、「メンバーを検索」をタップし、「招待による」タブをタップします。\n\niOS アプリの場合:\n\nメニューから「パーティー」をタップします。 「メンバー」セクションまでスクロールし、「メンバーを招待」をタップします。", + "iosFaqAnswer21": "Habitica の Web サイトで保留中の招待をキャンセルするには:\n\n1. パーティーを表示しているときにメンバーリストをクリックします。\n2. 「招待」タブをクリックします。\n3. キャンセルしたいユーザーの招待の横にある 3 つの点をクリックします。\n4.「招待をキャンセル」を選択します。\n\nAndroid アプリで保留中の招待をキャンセルするには:\n\n1. パーティーを表示しているときに、メンバーリストまで下にスクロールします。\n2. リストの一番下に、保留中の招待が表示されます。\n3.「招待をキャンセル」ボタンをタップします。\n\niOS アプリからも保留中の招待をキャンセルできるようになります!", + "androidFaqAnswer21": "Habitica の Web サイトで保留中の招待をキャンセルするには:\n\n1. パーティーを表示しているときにメンバーリストをクリックします。\n2. 「招待」タブをクリックします。\n3. キャンセルしたいユーザーの招待の横にある 3 つの点をクリックします。\n4.「招待をキャンセル」を選択します。\n\nAndroid アプリで保留中の招待をキャンセルするには:\n\n1. パーティーを表示しているときに、メンバーリストまで下にスクロールします。\n2. リストの一番下に、保留中の招待が表示されます。\n3.「招待をキャンセル」ボタンをタップします。\n\niOS アプリからも保留中の招待をキャンセルできるようになります!", + "webFaqAnswer21": "Habitica の Web サイトで保留中の招待をキャンセルするには:\n\n1. パーティーを表示しているときにメンバーリストをクリックします。\n2. 「招待」タブをクリックします。\n3. キャンセルしたいユーザーの招待の横にある 3 つの点をクリックします。\n4.「招待をキャンセル」を選択します。\n\nAndroid アプリで保留中の招待をキャンセルするには:\n\n1. パーティーを表示しているときに、メンバーリストまで下にスクロールします。\n2. リストの一番下に、保留中の招待が表示されます。\n3.「招待をキャンセル」ボタンをタップします。\n\niOS アプリからも保留中の招待をキャンセルできるようになります!", + "iosFaqAnswer22": "パーティーに参加すると、それ以上の招待状は受け取れなくなります。特定のプレーヤーからの招待や今後の通信を禁止したい場合は、そのプレーヤーのプロフィールを表示し、[ブロック] ボタンをクリックします。モバイル版のプロフィールでは、上隅にある 3 つの点をタップし、「ブロック」を選択します。\n\n他のプレイヤーが名前、プロフィール、または送信したメッセージにおいてコミュニティ ガイドラインに違反していると思われる状況に遭遇した場合は、メッセージを報告するか、admin@havenica.com までご連絡ください。", + "androidFaqAnswer22": "パーティーに参加すると、それ以上の招待状は受け取れなくなります。特定のプレーヤーからの招待や今後の通信を禁止したい場合は、そのプレーヤーのプロフィールを表示し、[ブロック] ボタンをクリックします。モバイル版のプロフィールでは、上隅にある 3 つの点をタップし、「ブロック」を選択します。\n\n他のプレイヤーが名前、プロフィール、または送信したメッセージにおいてコミュニティ ガイドラインに違反していると思われる状況に遭遇した場合は、メッセージを報告するか、admin@havenica.com までご連絡ください。", + "webFaqAnswer22": "パーティーに参加すると、それ以上の招待状は受け取れなくなります。特定のプレーヤーからの招待や今後の通信を禁止したい場合は、そのプレーヤーのプロフィールを表示し、[ブロック] ボタンをクリックします。モバイル版のプロフィールでは、上隅にある 3 つの点をタップし、「ブロック」を選択します。\n\n他のプレイヤーが名前、プロフィール、または送信したメッセージにおいてコミュニティ ガイドラインに違反していると思われる状況に遭遇した場合は、メッセージを報告するか、admin@havenica.com までご連絡ください。", + "iosFaqAnswer24": "Android版 バージョン 4.2 では、パーティーを検索してパーティーメンバーを見つける機能を追加しました。最新バージョンに更新されていることを確認してください。ソロプレイヤーは、パーティーに参加していないときにパーティー画面からパーティーを探すことができます。パーティーのリーダーは、パーティーのメンバーリストの上にある「メンバーを探す」をタップして、招待を探しているプレイヤーのリストを参照できます。\n\nこの機能は iOS版 バージョン 3.8 でサポートされる予定ですので、近日中に注目してください!", + "webFaqAnswer24": "Android版 バージョン 4.2 では、パーティーを検索してパーティーメンバーを見つける機能を追加しました。最新バージョンに更新されていることを確認してください。ソロプレイヤーは、パーティーに参加していないときにパーティー画面からパーティーを探すことができます。パーティーのリーダーは、パーティーのメンバーリストの上にある「メンバーを探す」をタップして、招待を探しているプレイヤーのリストを参照できます。\n\nこの機能は iOS版 バージョン 3.8 でサポートされる予定ですので、近日中に注目してください!" } diff --git a/website/common/locales/ja/front.json b/website/common/locales/ja/front.json index b72f50d832..60abc1b92d 100644 --- a/website/common/locales/ja/front.json +++ b/website/common/locales/ja/front.json @@ -66,7 +66,7 @@ "pkQuestion1": "Habiticaを作ることになったきっかけは何でしょうか。最初はどんな風に始まりましたか?", "pkAnswer1": "あなたがゲームでキャラクターのレベル上げに時間を注いだことがあるなら、こんなことを思わずにはいられないでしょう。「もしもゲームのアバターに代わって現実の自分自身を向上させるために全ての時間を注ぐことができたら、どんなに生活が素晴らしくなるだろう?」と。私たちはそんな課題に取り組むために、Habiticaの設立を始めました。
Habiticaは2013年にKickstarterを使って本格的に始動しました。そしてそのアイデアは実際に好評を博するようになったのです。それ以来、プロジェクトは大きく成長し、素晴らしいオープンソースのボランティアたちや、たくさんのユーザーたちによって支えられています。", "pkQuestion2": "Habiticaはどういう仕組みで成り立っているのですか?", - "pkAnswer2": "新しい習慣を身につけることは難しいです。なぜなら、人は明らかな、すぐにもらえるご褒美が間違いなく必要だからです。例えば、歯をデンタルフロスできれいにする習慣を始めるのはてごわいです。歯医者さんが長い目で見れば健康的なことだと私たちに教えているにも関わらず、当面の間はまさに歯と歯の間に苦痛を与えるからです。
Habiticaのゲーミフィケ―ションは、難しいタスクに経験値やゴールド…そして、もしかしたらドラゴンのたまごのようなランダムな賞品さえもご褒美として与えることで、毎日の目標に対して即時の満足感をもたらしています! この支援のおかげで、タスクそのものに達成感などの内発的報酬がないときでさえやる気を維持することができ、結果として人生が変わった人々を私たちは見てきました。こちらで成功した体験談の数々を見ることができます。:https://habitversary.tumblr.com", + "pkAnswer2": "新しい習慣を身につけることは難しいです。なぜなら、人は明らかな、すぐにもらえるご褒美が間違いなく必要だからです。例えば、歯をデンタルフロスできれいにする習慣を始めるのはてごわいです。歯医者さんが長い目で見れば健康的なことだと私たちに教えているにも関わらず、当面の間はまさに歯と歯の間に苦痛を与えるからです。
Habiticaのゲーミフィケ―ションは、難しいタスクに経験値やゴールド…そして、もしかしたらドラゴンのたまごのようなランダムな賞品さえもご褒美として与えることで、毎日の目標に対して即時の満足感をもたらしています! この支援のおかげで、タスクそのものに達成感などの内発的報酬がないときでさえやる気を維持することができ、結果として人生が変わった人々を私たちは見てきました。", "pkQuestion3": "他のユーザーと交流する、ソーシャル要素を加えたのはなぜですか?", "pkAnswer3": "社会的なプレッシャーは、多くの人々にとって大きなやる気の要因です。そのことを知っていたので、私たちは目標についてお互いに責任を持ち続け、成功を応援できるような強いコミュニティを持ちたいと思っていました。幸運にも、マルチプレイヤービデオゲームが最善を尽くしてきたことの一つが、ユーザー同士でコミュニティの結びつきを育むことなのです! Habiticaのコミュニティの構造は、これらのタイプのゲームから採用しています。あなたは親密な友達と小さなパーティーを結成できます。しかしそれだけでなく、ギルドとして知られているようなより大きな共通の興味や関心ごとのグループにも参加することができるのです。いくらかのユーザーはソロでプレイすることを選ぶものの、大多数は、パーティーメンバーで一緒にモンスターと戦うために彼らの生産性を共同で負担するクエストといった機能を通して、社会的な責任を促進するサポートとなるネットワークを結成することを決めています。", "pkQuestion4": "タスクをやり残すと自分のアバターの体力が減るのはなぜですか?", @@ -180,7 +180,7 @@ "joinMany": "<%= userCountInMillions %>00万人以上のユーザーが目標達成しながら楽しんでいます! 一緒に参加しましょう!", "joinToday": "今日からHabiticaを始める", "signup": "登録する", - "getStarted": "はじめましょう!", + "getStarted": "はじめましょう", "mobileApps": "モバイルアプリ", "learnMore": "もっと詳しく知る", "communityInstagram": "Instagram", @@ -188,5 +188,6 @@ "enterHabitica": "Habiticaをはじめる", "socialAlreadyExists": "このソーシャルログインは、すでに存在しているHabiticaアカウントにリンクされています。", "emailUsernamePlaceholder": "例:habitrabbitもしくはgryphon@example.com", - "footerProduct": "プロダクト" + "footerProduct": "プロダクト", + "translateHabitica": "Habiticaの翻訳" } diff --git a/website/common/locales/ja/gear.json b/website/common/locales/ja/gear.json index 50116176c9..41e5ac8ff4 100644 --- a/website/common/locales/ja/gear.json +++ b/website/common/locales/ja/gear.json @@ -2740,5 +2740,128 @@ "weaponArmoireMagicSpatulaNotes": "食べ物が空中で飛んだりひっくり返ったりするのをご覧あれ。魔法で食べ物が3 回ひっくり返ってからあなたのへらに戻ってきたら、その日はラッキー。知覚が<%= per %>上がります。ラッキー宝箱:台所用品セット(2個中1つ目のアイテム)。", "weaponArmoireMagicSpatulaText": "魔法のへら", "shieldArmoireBubblingCauldronText": "ぶくぶくの大釜", - "shieldArmoireBubblingCauldronNotes": "生産性の秘薬を煮詰めたり、辛いスープを作ったりするのにピッタリの釜です。じつは両者にはあまり違いがなかったりして!体質が<%= con %>上がります。ラッキー宝箱:台所用品セット(2個中1つ目のアイテム)。" + "shieldArmoireBubblingCauldronNotes": "生産性の秘薬を煮詰めたり、辛いスープを作ったりするのにピッタリの釜です。じつは両者にはあまり違いがなかったりして!体質が<%= con %>上がります。ラッキー宝箱:台所用品セット(2個中1つ目のアイテム)。", + "headSpecialNye2022Text": "すてきでたわけたパーティーハット", + "headSpecialNye2022Notes": "すてきでたわけたパーティハットをもらいました! 新年を告げる鐘を聞きながら、誇りをもってかぶりましょう! 効果なし。", + "weaponSpecialWinter2023RogueText": "緑色のサテンのサッシュ", + "weaponSpecialWinter2023RogueNotes": "盗賊には罠を張って敵の武器を奪い、そのアイテムをかわいくして返す習性があるという伝説があります。力が<%= str %>上がります。2022年-2023年冬の限定装備。", + "weaponSpecialWinter2023WarriorText": "牙の槍", + "weaponSpecialWinter2023WarriorNotes": "この槍についた2つのとんがりは形がセイウチの牙に似ていますが、二倍はパワフルです。疑いやお馬鹿な詩が逃げ出すまで突きつけましょう。力が<%= str %>上がります。2022年-2023年冬の限定装備。", + "weaponMystery202212Text": "氷のワンド", + "weaponMystery202212Notes": "このワンドについているまばゆい雪の結晶は極寒の冬の夜でも心を温める力を秘めています。効果なし。2022年12月の有料会員アイテム。", + "weaponSpecialWinter2023MageText": "狐火", + "weaponSpecialWinter2023MageNotes": "狐でも炎でもありません。でもとってもおめでたい!知能が<%= int %>、知覚が<%= per %>上がります。2022年-2023年冬の限定装備。", + "weaponSpecialWinter2023HealerText": "投げリース", + "weaponSpecialWinter2023HealerNotes": "このおめでたいのとげのあるリースが敵や障害物に向かって空中を回転し、次の一投のためにブーメランのように戻ってくるのを見届けましょう。知能が<%= int %>上がります。2022年-2023年冬の限定装備。", + "weaponArmoireFinelyCutGemText": "繊細なカットがほどこされた宝石", + "weaponArmoireFinelyCutGemNotes": "よく見つけ出しましたね!この見事で精密なカットの宝石は自慢のコレクションとなるでしょう。そして、あなたが待ち望んだ特別な魔法がかかっているかも。体質が<%= con %>上がります。2022年-2023年冬の限定装備。", + "armorSpecialWinter2023RogueNotes": "アイテムを入手。それをきれいな紙に包む。そして地元の盗賊に贈りましょう!知覚が<%= per %>上がります。2022年-2023年冬の限定装備。", + "armorSpecialWinter2023WarriorNotes": "このタフなセイウチのスーツは、真夜中のビーチを散歩するのにぴったりです。体質が<%= con %>上がります。2022年-2023年冬の限定装備。", + "armorSpecialWinter2023RogueText": "リボンラッピング", + "armorSpecialWinter2023WarriorText": "セイウチスーツ", + "armorMystery202212Notes": "宇宙は寒くても、このすてきなドレスがあれば、空を飛ぶときも心地よく過ごせます。効果なし。2022年12月の有料会員アイテム。", + "armorArmoireJewelersApronNotes": "この汚れたエプロンは創作意欲が湧いたときにおあつらえ向きです。なによりも、必要なものはすべて入れておける何ダースもの小さなポケットがついています。知能が<%= int %>上がります。ラッキー宝箱:宝石細工師(4個中1つ目のアイテム)。", + "armorSpecialWinter2023MageText": "フェアリーライトガウン", + "armorSpecialWinter2023MageNotes": "イルミネーションがついているからと言って、ツリーになれるわけではありません!……いつかはなれるかも。知能が<%= int %>上がります。2022年-2023年冬の限定装備。", + "armorSpecialWinter2023HealerText": "ショウジョウコウカンチョウのスーツ", + "armorSpecialWinter2023HealerNotes": "まばゆい深紅のスーツはあなたが抱える問題の上空を飛ぶのにピッタリです。体質が<%= con %>上がります。2022年-2023年冬の限定装備。", + "armorArmoireJewelersApronText": "宝石細工師のエプロン", + "armorMystery202212Text": "氷河のドレス", + "headSpecialWinter2023MageNotes": "私の瞳の星の輝きは、あなたが星降る夜の薬でたまごをかえしたからでしょうか?知覚が<%= per %>上がります。2022年-2023年冬の限定装備。", + "headSpecialWinter2023RogueText": "ギフト用ちょう結び", + "headSpecialWinter2023RogueNotes": "人々のあなたの髪の「包みを解き」たくなる誘惑はあなたの避けたりかわしたりの練習のチャンスになります。知覚が<%= per %>上がります。2022年-2023年冬の限定装備。", + "headSpecialWinter2023WarriorText": "セイウチヘルメット", + "headSpecialWinter2023WarriorNotes": "このセイウチヘルメットは友達とおしゃべりしたりおしゃれな食事を一緒に食べるのに最適です。力が<%= str %>上がります。2022年-2023年冬の限定装備。", + "headSpecialWinter2023MageText": "フェアリーライトティアラ", + "headSpecialWinter2023HealerText": "ショウジョウコウカンチョウヘルメット", + "headSpecialWinter2023HealerNotes": "このショウジョウコウカンチョウのヘルメットは、冬の季節を告げるためにさえずったり歌ったりするのにぴったりです。知能が<%= int %>上がります。2022年-2023年冬の限定装備。", + "shieldSpecialWinter2023WarriorText": "オイスターシールド", + "shieldSpecialWinter2023HealerNotes": "あなたの氷と雪の歌は聴く人の魂を癒やすでしょう。体質が<%= con %>上がります。2022年-2023年冬の限定装備。", + "shieldSpecialWinter2023WarriorNotes": "セイウチいわく『さあいろんなことを話し合うときがついにやってきた。オイスターシールドだの――誰かが歌っていた冬のベルの歌だの――あるいはこの盾の真珠の行方の謎――または新年がもたらすもの!』体質が<%= con %>上がります。2022年-2023年冬の限定装備。", + "shieldSpecialWinter2023HealerText": "魂をゆさぶる歌", + "shieldArmoireJewelersPliersNotes": "切って、ねじって、はさんで、それから…。この道具ならあなたがイメージできるものならどんなものでも作成可能です。力が<%= str %>上がります。ラッキー宝箱:宝石細工師(4個中3つ目のアイテム)。", + "shieldArmoireJewelersPliersText": "宝石細工師のペンチ", + "headAccessoryMystery202212Text": "氷のティアラ", + "eyewearArmoireJewelersEyeLoupeNotes": "このルーペは作業中のものを拡大し、細部まで完全に見ることができます。ラッキー宝箱:宝石細工師(4個中2つ目のアイテム)。", + "eyewearArmoireJewelersEyeLoupeText": "宝石鑑定用ルーペ", + "headAccessoryMystery202212Notes": "この金細工のティアラであなたの優しさと思いやりの心を新記録まで高めましょう。効果なし。2022年12月の有料会員アイテム。", + "headAccessoryMystery202302Text": "嘘つきトラネコの耳", + "armorSpecialSpring2023WarriorText": "ハチドリのよろい", + "headMystery202304Notes": "安全なお茶(セーフ・ティー)のために、このかぶとをかぶりましょう。2023年4月の有料会員アイテム。", + "headMystery202304Text": "極上ティーポットのふた", + "weaponSpecialSpring2023RogueText": "かじられた葉っぱ", + "weaponArmoirePaintbrushNotes": "このブラシを手に取ると、純粋なインスピレーションの衝撃があなたを駆け抜け、想像できるものを何でも描くことができます。知能が<%= int %>上がります。ラッキー宝箱:画家セット(4個中3つ目のアイテム)。", + "armorSpecialBirthday2023Notes": "誕生日おめでとう、Habitica! このすばらしい日を祝うために、このすてきでたわけたパーティーローブを着てください。効果なし。", + "armorSpecialSpring2023MageText": "ムーンストーンのスーツ", + "armorMystery202304Notes": "こちらが取っ手、こちらが注ぎ口です!効果なし。2023年4月の有料会員アイテム。", + "armorSpecialSpring2023RogueNotes": "手足は4本しかなくてもイモムシの中で最も高く登り這い上がることができます。知覚が<%= per %>上がります。2023年春の限定装備。", + "armorArmoirePaintersApronText": "画家のエプロン", + "headMystery202301Notes": "あなたの聴覚はとても鋭くなり、夜明けと露のきらめきが聞こえるでしょう。効果なし。2023年1月有料会員アイテム。", + "weaponSpecialSpring2023MageNotes": "その輝きが大きければ大きいほどその力は強大なものとなります。知能が<%= int %>上がります。2023年春の限定装備。", + "armorSpecialBirthday2023Text": "すてきでたわけたパーティーローブ", + "shieldSpecialSpring2023WarriorNotes": "春を代表する花々で色鮮やかな花束を作りましょう。体質が<%= con %>上がります。2023年春の限定装備。", + "shieldSpecialSpring2023HealerNotes": "病院のお見舞いのアクセント、または春のダンスに参加するための儀式の一部! 体質が<%= con %>上がります。2023年春の限定装備。", + "armorSpecialSpring2023MageNotes": "お洒落なスプリングスーツはムーンストーンの魔法を強めます。知能が<%= int %>上がります。2023年春の限定装備。", + "weaponMystery202306Text": "虹の傘", + "weaponMystery202306Notes": "どこへ行っても誇りを持って輝き、きらめく色のプリズムをもたらしましょう。効果なし。2023年6月有料会員アイテム。", + "armorMystery202306Text": "虹のパーカー", + "headSpecialSpring2023WarriorText": "ハチドリのかぶと", + "headSpecialSpring2023MageText": "ムーンストーンの面頬", + "headArmoirePaintersBeretText": "画家のベレー帽", + "headArmoirePaintersBeretNotes": "このおしゃれなベレー帽をかぶると、より芸術的な目で世界を見ることができます。知覚が<%= per %>上がります。ラッキー宝箱:画家セット(4個中2個目のアイテム)。", + "shieldArmoireTeaKettleNotes": "お気に入りの風味豊かなお茶をすべてこのケトルで淹れることができます。紅茶、緑茶、ウーロン茶、あるいはハーブティーを飲みたい気分ですか?体質が<%= con %>上がります。ラッキー宝箱:ティーパーティーセット(3個中3個目のアイテム)。", + "shieldArmoirePaintersPaletteText": "画家のパレット", + "shieldArmoirePaintersPaletteNotes": "虹のあらゆる色の絵の具を自由に利用できます。使うとこんなに鮮やかになるのは魔法ですか、それともあなたの才能ですか?力が<%= str %>上がります。ラッキー宝箱:画家セット(4個中4個目のアイテム)。", + "backMystery202301Notes": "ふわふわの尻尾には、神聖なパワーと高い魅力が詰まっています!効果なし。2023年1月有料会員アイテム。", + "backMystery202302Text": "嘘つきトラネコのしっぽ", + "backSpecialAnniversaryNotes": "この誇り高きマントを風になびかせて、あなたが Habiticaの英雄であることをみんなに伝えましょう。効果なし。10回目の誕生日パーティー特別装備。", + "headAccessoryMystery202305Text": "夕刻の角", + "eyewearSpecialAnniversaryText": "Habitica英雄の仮面", + "shieldSpecialSpring2023WarriorText": "花束", + "weaponSpecialSpring2023WarriorText": "ハチドリの剣", + "weaponSpecialSpring2023MageText": "ムーンストーンのまほう", + "weaponSpecialSpring2023HealerText": "ユリの花粉", + "armorSpecialSpring2023RogueText": "イモムシの袖なしマント", + "shieldArmoireBasketballText": "バスケットボール", + "eyewearMystery202303Text": "うっとりした瞳", + "weaponSpecialSpring2023WarriorNotes": "構えて!この剣で花から敵を撃退してください!力が<%= str %>上がります。2023年春の限定装備。", + "armorSpecialSpring2023WarriorNotes": "ブンブンと聞こえるのは想像以上の速さで動く羽ばたきの音です。体質が<%= con %>上がります。2023年春の限定装備。", + "armorMystery202304Text": "極上ティーポットのよろい", + "armorArmoireShawlCollarCoatText": "ショールカラーのコート", + "armorArmoirePaintersApronNotes": "このエプロンは、衣服を絵の具から守り、創造的なプロジェクトを厳しい批判から守ります。体質が<%= con %>上がります。画家セット(4個中1個目のアイテム)。", + "headSpecialSpring2023RogueText": "イモムシのずきん", + "headSpecialSpring2023RogueNotes": "鳥が頭上で狩りをしているときは誘惑的な触覚を必ずしまいましょう!知覚が<%= per %>上がります。2023年春の限定装備。", + "headSpecialSpring2023WarriorNotes": "戦いに飛び込むときは虹色の羽で顔を覆いなさい。力が<%= str %>上がります。2023年春の限定装備。", + "headSpecialSpring2023HealerText": "ユリの花", + "headArmoireTeaHatText": "ティーパーティーの帽子", + "headArmoireBeaniePropellerHatText": "フチなしのプロペラ帽子", + "headArmoireBeaniePropellerHatNotes": "今は地に足をつけている場合ではありません!この小さなプロペラを回転させて、野望の限り高く昇りましょう。全てのステータスが<%= attrs %>上がります。ラッキー宝箱 : 固有のアイテム。", + "shieldSpecialSpring2023HealerText": "ユリの花飾り", + "shieldArmoireTeaKettleText": "紅茶用のケトル", + "backSpecialAnniversaryText": "Habitica英雄のケープ", + "bodySpecialAnniversaryText": "Habitica英雄の襟", + "bodySpecialAnniversaryNotes": "ロイヤルパープルのアンサンブルを完璧に引き立てます。効果なし。10回目の誕生日パーティー特別装備。", + "headAccessoryMystery202305Notes": "これらの角は月光を反射して輝きます。効果なし。2023年3月有料会員アイテム。", + "armorArmoireTeaGownText": "ティーパーティーのガウン", + "weaponSpecialSpring2023RogueNotes": "切って!叩いて!食べましょう!強くなって来たるべき変身に備えましょう。力が<%= str %>上がります。2023年春の限定装備。", + "weaponSpecialSpring2023HealerNotes": "パフと輝きで、新しい成長、喜び、色を展開します。知能が<%= int %>上がります。2023年春の限定装備。", + "armorSpecialSpring2023HealerNotes": "パーティーの羨望の的となるような、緑豊かな賞賛の拡がり。体質が<%= con %>上がります。2023年春の限定装備。", + "armorMystery202306Notes": "あなたのパレードには誰も雨は降らせません!そしてもし彼らがそうしようとしても、あなたはカラフルで濡れないままでいるでしょう!効果なし。2023年6月有料会員アイテム。", + "armorArmoireShawlCollarCoatNotes": "かつて賢い魔法使いは、居心地がよくて生産的であることに勝るものはないと言いました!この暖かくてスタイリッシュなコートを着て、今年の課題を克服してください。体質が<%= con %>上がります。ラッキー宝箱 : 個別のアイテム。", + "headSpecialSpring2023MageNotes": "月の光ではっきり見えるように、夜にはこのメガネをかけたくなるはずです。知覚が<%= per %>上がります。2023年春の限定装備。", + "backMystery202305Notes": "宵の明星の輝きを掴み、この翼で未知の領域へ飛び立ちましょう。効果なし。2023年5月有料会員アイテム。", + "eyewearSpecialAnniversaryNotes": "Habiticaの英雄、あなたの目を通して見てください!効果なし。10回目の誕生日パーティー特別装備。", + "eyewearMystery202303Notes": "無関心な顔つきで敵の安心感を誘う。効果なし。2023年3月の有料会員アイテム。", + "armorArmoireTeaGownNotes": "あなたは回復力があり、創造的で、聡明で、とてもファッショナブルです!力と知能がそれぞれ<%= attrs %>上がります。ラッキー宝箱:ティーパーティーセット(3個中1個目のアイテム )。", + "headArmoireTeaHatNotes": "このエレガントな帽子は、ファンシーさと機能性を兼ね備えています。知覚が<%= per %>上がります。ティーパーティーセット(3個中2個目のアイテム ) 。", + "headMystery202303Text": "たてがみキャラクターの髪", + "headMystery202303Notes": "あなたがこの物語のスターであることをみんなに知らせるために、青くてありえないほどとがった髪を持つことより良い方法があるでしょうか?効果なし。2023年3月有料会員アイテム。", + "armorArmoireBasketballUniformText": "バスケットボールのユニフォーム", + "weaponArmoirePaintbrushText": "絵筆", + "armorSpecialSpring2023HealerText": "ユリの葉のガウン", + "armorArmoireBasketballUniformNotes": "このユニフォームの背中に何がプリントされているのか気になりますか?もちろん、それはあなたのラッキーナンバーです!知覚が<%= per %>、力が<%= str %>上がります。ラッキー宝箱:昔懐かしいバスケットボールセット(2個中1個目のアイテム)。", + "headMystery202301Text": "勇敢な妖狐の耳", + "backMystery202301Text": "武勇の五尾", + "backMystery202302Notes": "このしっぽを付ければ、素敵な一日になること間違いなし!カルー!カライ!効果なし。2023年2月有料会員アイテム。", + "backMystery202305Text": "夕刻の翼" } diff --git a/website/common/locales/ja/groups.json b/website/common/locales/ja/groups.json index 3b48e575f0..936d74d70c 100644 --- a/website/common/locales/ja/groups.json +++ b/website/common/locales/ja/groups.json @@ -269,7 +269,7 @@ "removeMember": "メンバーを削除する", "sendMessage": "メッセージを送る", "promoteToLeader": "オーナーの権限を移す", - "inviteFriendsParty": "パーティーに友達を招待すると、ボスモンスター「バシ・リスト」と戦える
限定クエストの巻物が贈られます!", + "inviteFriendsParty": "パーティーにほかのプレイヤーを招待して、
限定「バシ・リスト」クエストの巻物の受け取りましょう。", "createParty": "パーティーを作成する", "inviteMembersNow": "すぐにメンバーを招待したいですか?", "playInPartyTitle": "パーティーに参加してHabiticaをプレイしましょう!", @@ -314,7 +314,7 @@ "groupManagementControls": "グループのマネジメント・コントロール", "groupManagementControlsDesc": "タスクが本当に完了されたかを確認するためにタスク承認機能を使いましょう。グループメンバーへ任務を共有するためのグループマネージャーを追加し、全てのチームメンバーのためのプライベートなグループチャットを楽しみましょう。", "inGameBenefits": "ゲーム中のメリット", - "inGameBenefitsDesc": "グループメンバーは、限定のツノウサギの乗騎だけでなく、毎月の特別な装備セットや、ゴールドでジェムを買う機能など、有料プランの特典を全て受けられます。", + "inGameBenefitsDesc": "グループメンバーは、限定のジャッカロープの乗騎だけでなく、毎月の特別な装備セットや、ゴールドでジェムを買う機能など、有料プランの特典を全て受けられます。", "inspireYourParty": "パーティーで刺激し合い、一緒に人生をゲーム化しましょう。", "letsMakeAccount": "まずはアカウントを作成しましょう", "nameYourGroup": "次に、あなたのグループの名前をつけましょう", @@ -324,7 +324,7 @@ "gettingStarted": "はじめよう", "congratsOnGroupPlan": "おめでとうございます! あなたの新しいグループが設立されました。こちらにいくつかのよくある質問と答えがあります。", "whatsIncludedGroup": "有料プランに含まれるもの", - "whatsIncludedGroupDesc": "グループのメンバー全員が有料プランの特典をすべて受けられます。毎月の有料会員アイテム、ゴールドでジェムを買う機能、そしてグループプランメンバーシップのユーザー限定のロイヤルパープルのツノウサギの乗騎などです。", + "whatsIncludedGroupDesc": "グループのメンバー全員が有料プランの特典をすべて受けられます。毎月の有料会員アイテム、ゴールドでジェムを買う機能、そしてグループプランメンバーシップのユーザー限定のロイヤルパープルのジャッカロープの乗騎などです。", "howDoesBillingWork": "どのように課金しますか?", "howDoesBillingWorkDesc": "グループリーダーは、月ごとの基準でグループメンバー数に基づいた請求をされます。この料金には、グループリーダーのための $9 (USD) がふくまれ、 さらに各グループメンバーごとに $3 USD が加算されます。 例えば、4人のユーザーのグループは、1人のグループリーダーと3人のグループメンバーで構成されるため、月ごとに $18 USD の費用がかかります。", "howToAssignTask": "どのようにタスクを割り当てますか?", @@ -417,5 +417,6 @@ "nextPaymentMethod": "次のステップ:支払方法", "createGroup": "グループを作る", "groupParentChildren": "保護者として子どものタスクを設定する", - "sendGiftLabel": "ギフトメッセージを送信しますか?" + "sendGiftLabel": "ギフトメッセージを送信しますか?", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> があなたをパーティー「<%- party %>」に招待しました" } diff --git a/website/common/locales/ja/limited.json b/website/common/locales/ja/limited.json index b97138feeb..5b06ed18e9 100644 --- a/website/common/locales/ja/limited.json +++ b/website/common/locales/ja/limited.json @@ -188,7 +188,7 @@ "fall2020WraithWarriorSet": "レイス(戦士)", "royalPurpleJackolantern": "ロイヤルパープルのジャック・オ・ランタン", "novemberYYYY": "<%= year %>年11月", - "g1g1Limitations": "このイベントは日本時間で12月16日の22:00時から1月6日10:00時までの期間限定です。プロモーションは他のプレイヤーにギフトを贈った際にのみ適用されます。もしギフトを受け取った人がすでに有料会員の場合、有料会員期間が延長されます。この延長は、現在の有料会員期間を満了もしくはキャンセルした後にのみ適用されます。", + "g1g1Limitations": "このイベントは日本時間で12月15日の22:00から1月9日13:59までの期間限定です。プロモーションは他のプレイヤーにギフトを贈った際にのみ適用されます。もしギフトを受け取った人がすでに有料会員の場合、有料会員期間が延長されます。この延長は、現在の有料会員期間を満了もしくはキャンセルした後にのみ適用されます。", "limitations": "制限事項", "g1g1HowItWorks": "「有料プランをプレゼントする」をタップして、贈る相手のユーザーネームを入力し、プレゼントする有料プランの期間を選択してください。自動的にあなたのアカウントにもプレゼントした分と同じ期間のプランが無料で適用されます。", "howItWorks": "機能説明", @@ -235,5 +235,39 @@ "fall2022KappaRogueSet": "カッパ(盗賊)", "fall2022OrcWarriorSet": "オーク(戦士)", "gemSaleHow": "<%= eventStartMonth %> <%= eventStartOrdinal %> から<%= eventEndOrdinal %>の間、通常どおりジェムを購入するだけで、あなたのアカウントはプロモーション分のジェムを受け取れます。買い物したり、分け合ったり、将来のため貯めておけるジェムが増えました!", - "gemSaleLimitations": "このプロモーションは期間限定のイベント中にのみ適用されます。イベントは米国東部標準時 <%= eventStartMonth %> <%= eventStartOrdinal %> の午前 8:00(12:00 UTC) に開始し、米国東部標準時 <%= eventStartMonth %> <%= eventEndOrdinal %> の午後 8:00 ( 00:00 UTC)に終了します。 割引はジェムを自分で購入する場合にのみ利用できます。" + "gemSaleLimitations": "このプロモーションは期間限定のイベント中にのみ適用されます。イベントは米国東部標準時 <%= eventStartMonth %> <%= eventStartOrdinal %> の午前 8:00(12:00 UTC) に開始し、米国東部標準時 <%= eventStartMonth %> <%= eventEndOrdinal %> の午後 8:00 ( 00:00 UTC)に終了します。 割引はジェムを自分で購入する場合にのみ利用できます。", + "winter2023WalrusWarriorSet": "セイウチ(戦士)", + "winter2023FairyLightsMageSet": "フェアリーライト(魔道士)", + "winter2023CardinalHealerSet": "ショウジョウコウカンチョウ(治療師)", + "winter2023RibbonRogueSet": "リボン(盗賊)", + "ownJubilantGryphatrice": "喜びに満ちたグリファトリスを手に入れました!動物小屋に行って装備しましょう!", + "jubilantSuccess": "喜びに満ちたグリファトリスを購入しました", + "takeMeToStable": "動物小屋に連れて行ってください", + "plentyOfPotions": "たくさんの薬", + "spring2023CaterpillarRogueSet": "イモムシ (盗賊)", + "limitedEvent": "限定イベント", + "visitTheMarketButton": "市場に行きましょう", + "dayTen": "10日目", + "partyRobes": "パーティーローブ", + "twentyGems": "20ジェム", + "anniversaryLimitedDates": "1月30日から2月8日まで", + "spring2023HummingbirdWarriorSet": "ハチドリ (戦士)", + "spring2023MoonstoneMageSet": "ムーンストーン (魔道士)", + "spring2023LilyHealerSet": "ユリ (治療師)", + "dateStartFebruary": "2月8日", + "jubilantGryphatricePromo": "アニメーションの喜びに満ちたグリファトリス", + "limitedEdition": "限定版", + "anniversaryGryphatricePrice": "$9.9960ジェムで手に入れましょう", + "buyNowMoneyButton": "$9.99で購入します", + "buyNowGemsButton": "60ジェムで購入します", + "wantToPayWithGemsText": "ジェムで支払いますか?", + "wantToPayWithMoneyText": "Stripe、Paypal、Amazonで支払いますか?", + "stableVisit": "動物小屋に行って装備しましょう!", + "dayOne": "1日目", + "dayFive": "5日目", + "birthdaySet": "誕生日セット", + "summer2023GoldfishWarriorSet": "金魚(戦士)", + "summer2023GuppyRogueSet": "グッピー(盗賊)", + "summer2023KelpHealerSet": "昆布(治療師)", + "summer2023CoralMageSet": "サンゴ(魔道士)" } diff --git a/website/common/locales/ja/npc.json b/website/common/locales/ja/npc.json index 15cc1947ce..df4180f81d 100644 --- a/website/common/locales/ja/npc.json +++ b/website/common/locales/ja/npc.json @@ -98,7 +98,7 @@ "toDo": "To Do", "tourStatsPage": "これはあなたのステータスページです! タスクを完了して実績を解除しましょう。", "tourTavernPage": "キャンプ場へようこそ! 年齢に関わらず参加できるチャットルームです。「ロッジで休む」をクリックすると、病気や旅行などの間に日課のダメージから身を守ることができます。よかったら一言あいさつしていってください!", - "tourPartyPage": "パーティーに入ると責任感が生まれます。友達を招待してクエストの巻き物をアンロックしましょう!", + "tourPartyPage": "新しいパーティーへようこそ!他のプレイヤーを、ユーザー名、電子メール、パーティーを探しているプレイヤーのリストからパーティーに招待して、限定の バシ・リストクエストの巻物を獲得できます。

パーティーの仕組みの詳細については、[ヘルプ] から FAQ を選択してください。", "tourGuildsPage": "ギルドは共通の興味を持つプレイヤー同士のためのチャットグループです。リストから興味のあるグループを探して参加しましょう! 誰でもHabiticaについて質問できる場所として人気がある「Habitica Help: Ask a Question」ギルドや「日本語話者の集会所」ギルドもぜひチェックしてみて下さい!", "tourChallengesPage": "チャレンジは、ユーザーが作成したテーマをもった一連のタスクです。チャレンジに加わると、あなたにそのタスクが加わります。賞金のジェムをかけて、他のユーザーと競争しましょう!", "tourMarketPage": "タスクを達成するごとに、「たまご」や「たまごがえしの薬」や「ペットのえさ」の1つを手に入れるランダムなチャンスがあります。ここでこれらのアイテムを買うこともできます。", @@ -134,5 +134,6 @@ "newStuffPostedOn": "<%= publishDate %> <%= publishTime %>に投稿", "helpSupportHabitica": "Habiticaを支援する", "groupsPaymentSubBilling": "次回の請求日は <%= renewalDate %> です。", - "groupsPaymentAutoRenew": "この有料プランは解約するまで自動更新されます。解約する必要がある場合は、グループの請求タブから解約できます。" + "groupsPaymentAutoRenew": "この有料プランは解約するまで自動更新されます。解約する必要がある場合は、グループの請求タブから解約できます。", + "sellItems": "アイテムを売る" } diff --git a/website/common/locales/ja/pets.json b/website/common/locales/ja/pets.json index 67d89bb263..824edbe4ce 100644 --- a/website/common/locales/ja/pets.json +++ b/website/common/locales/ja/pets.json @@ -28,7 +28,7 @@ "magicalBee": "不思議なハチ", "hopefulHippogriffPet": "希望に満ちたヒッポグリフ", "hopefulHippogriffMount": "希望に満ちたヒッポグリフ", - "royalPurpleJackalope": "ロイヤルパープルのツノウサギ", + "royalPurpleJackalope": "ロイヤルパープルのジャッカロープ", "invisibleAether": "不可視のエーテル獣", "potion": "<%= potionType %> 薬", "egg": "<%= eggType %>のたまご", @@ -113,5 +113,6 @@ "gryphatrice": "グリファトリス", "invalidAmount": "えさの量が正しくありません。整数を入力してください", "tooMuchFood": "ペットにえさを与えられる量を超えました。この操作はキャンセルされます", - "notEnoughFood": "えさが足りません" + "notEnoughFood": "えさが足りません", + "jubilantGryphatrice": "喜びに満ちたグリファトリス" } diff --git a/website/common/locales/ja/questscontent.json b/website/common/locales/ja/questscontent.json index 67f2a79f34..a1b85b15e6 100644 --- a/website/common/locales/ja/questscontent.json +++ b/website/common/locales/ja/questscontent.json @@ -753,5 +753,6 @@ "questVirtualPetRageDescription": "このバーはあなたが日課を完了しないと増えていきます。いっぱいになると、ウォッチモンはパーティーの保留ダメージを持ち去ります!", "questVirtualPetRageEffect": "`ウォッチモンは秘技『うるさいビービー音』を使った!`ウォッチモンはうるさいビービー音を鳴らし、ハピネスバーは突然消え去った!保留中のダメージは減少した。", "questVirtualPetNotes": "Habiticaの静かで気持ちのよい春の朝です。忘れられないエイプリルフールの日から一週間が過ぎました。あなたと@Beffymarooは動物小屋でペットに餌やりをしていました。ペットたちはまだエイプリル・フールのいたずらでヴァーチャルペットになったことに少し混乱しているようです。

遠くからがやがやという音とビーッビーッというノイズが聞こえました。はじめは小さかったのですが、近づくにつれてボリュームが上がります。卵形の影が地平線上に姿をあらわしました。やがてそれは側に来ると爆音でビービー音を鳴らします。――巨大なバーチャルペットです!

「うわーお」@Beffymarooは叫びます。「エイプリル・フールはなにかこのでっかいやつの作業を終わらせなかったんじゃない?だから警告を発してるんだと思う!」

ヴァーチャルペットはビービー怒り、ヴァーチャルかんしゃくをおこし、ますます近づいてきます。", - "questVirtualPetCompletion": "慎重にボタンを押すとヴァーチャルペットの謎の欲求を満たしたらしく、最終的にヴァーチャルペットは静かになり満足そうな表情を浮かべています。

突如として紙吹雪が舞い上がり、エイプリル・フールが姿を現しました。その手にはかごがあり、小さくピーピーと鳴る魔法のたまごがえしの薬でいっぱいです。

「良いタイミングね」@Beffymarooは皮肉げな笑みを浮かべます。「このビービーうるさいやつは、あなたのお知り合いだと思うのだけど」

「えぇ、はい……」フールは弱腰です。「それについては謝罪をいたしますよ。お二人にはウォッチモンの面倒を見ていただいたことをまことに感謝いたします!感謝の気持ちにこのたまごがえしの薬をお持ち下さい。いつでも好きなときにヴァーチャルペットに会えるようになりますよ!」

ピーピー音と共にする覚悟が100%あるわけではありませんが、ヴァーチャルペットがカワイイのは周知のことですから、このたまごがえしの薬を試してみる価値はありそうです!" + "questVirtualPetCompletion": "慎重にボタンを押すとヴァーチャルペットの謎の欲求を満たしたらしく、最終的にヴァーチャルペットは静かになり満足そうな表情を浮かべています。

突如として紙吹雪が舞い上がり、エイプリル・フールが姿を現しました。その手にはかごがあり、小さくピーピーと鳴る魔法のたまごがえしの薬でいっぱいです。

「良いタイミングね」@Beffymarooは皮肉げな笑みを浮かべます。「このビービーうるさいやつは、あなたのお知り合いだと思うのだけど」

「えぇ、はい……」フールは弱腰です。「それについては謝罪をいたしますよ。お二人にはウォッチモンの面倒を見ていただいたことをまことに感謝いたします!感謝の気持ちにこのたまごがえしの薬をお持ち下さい。いつでも好きなときにヴァーチャルペットに会えるようになりますよ!」

ピーピー音と共にする覚悟が100%あるわけではありませんが、ヴァーチャルペットがカワイイのは周知のことですから、このたまごがえしの薬を試してみる価値はありそうです!", + "questPinkMarbleBoss": "キューピット" } diff --git a/website/common/locales/ja/settings.json b/website/common/locales/ja/settings.json index 5cad3f9c6b..c94522b8d1 100644 --- a/website/common/locales/ja/settings.json +++ b/website/common/locales/ja/settings.json @@ -226,5 +226,6 @@ "amount": "合計", "action": "アクション", "note": "ノート", - "remainingBalance": "残高" + "remainingBalance": "残高", + "thirdPartyTools": "サードパーティーのアプリや拡張機能など、アカウントで使えるあらゆるツールをHabitica wikiで探すことができます。" } diff --git a/website/common/locales/ja/subscriber.json b/website/common/locales/ja/subscriber.json index 1294a5b68c..70eda26777 100644 --- a/website/common/locales/ja/subscriber.json +++ b/website/common/locales/ja/subscriber.json @@ -129,11 +129,11 @@ "subscriptionBenefit1": "商人のAlexanderは、市場でジェムを1つにつき20ゴールドですぐ売ってくれます!", "subscriptionBenefit3": "毎日の落とし物上限を2倍にして、Habiticaでより多くのアイテムを見つけましょう。", "subscriptionBenefit4": "毎月、あなたのアバターを着飾るためのユニークでおしゃれなアイテムです。", - "subscriptionBenefit5": "初めて有料会員になったときは、ロイヤルパープルのツノウサギのペットを受け取れます。", + "subscriptionBenefit5": "初めて有料会員になったときは、ロイヤルパープルのジャッカロープのペットを受け取れます。", "subscriptionBenefit6": "タイムトラベラーの店でアイテムを買うために神秘の砂時計を手に入れましょう!", "purchaseAll": "セットを購入する", - "gemsRemaining": "残りのジェム", - "notEnoughGemsToBuy": "その量のジェムを買うことはできません", + "gemsRemaining": "残り", + "notEnoughGemsToBuy": "今月はこれ以上購入できるジェムはありません。毎月最初の 3 日以内にさらに多く購入可能になります。", "mysterySet201902": "謎めいた想い人セット", "mysterySet201903": "めっちゃイケてるたまごセット", "confirmCancelSub": "本当に有料会員をやめますか? すべての会員権限が失われてしまいます。", @@ -213,5 +213,10 @@ "mysterySet202208": "はつらつポニーテールセット", "mysterySet202209": "魔法学者セット", "mysterySet202210": "くちなわセット", - "mysterySet202211": "エレクトロマンサーセット" + "mysterySet202211": "エレクトロマンサーセット", + "mysterySet202212": "氷のガーディアンセット", + "mysterySet202305": "夕刻のドラゴンセット", + "mysterySet202301": "勇敢な妖狐セット", + "mysterySet202302": "嘘つきトラネコセット", + "mysterySet202304": "極上ティーポットセット" } diff --git a/website/common/locales/jbo/groups.json b/website/common/locales/jbo/groups.json index 9c8d9292a1..ef9ff31f08 100755 --- a/website/common/locales/jbo/groups.json +++ b/website/common/locales/jbo/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/jv/groups.json b/website/common/locales/jv/groups.json index 7193f4f939..2a468abe88 100755 --- a/website/common/locales/jv/groups.json +++ b/website/common/locales/jv/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ko/backgrounds.json b/website/common/locales/ko/backgrounds.json index 21884be157..a8cf08ca85 100755 --- a/website/common/locales/ko/backgrounds.json +++ b/website/common/locales/ko/backgrounds.json @@ -515,7 +515,7 @@ "backgrounds062020": "SET 73: 2020년 6월 출시", "backgroundGiantAutumnLeafText": "거대한 잎사귀", "backgroundSwimmingAmongJellyfishText": "해파리와 함께 수영", - "backgroundSwimmingAmongJellyfishNotes": "", + "backgroundSwimmingAmongJellyfishNotes": "해파리와 수영을 하면서 그들의 아름다움과 위험을 느껴보세요", "backgroundRiverOfLavaText": "용암의 강", "backgroundRestingInTheInnNotes": "여관에서 휴식을 하며 당신의 방의 안전과 안락함 가운데서 작업하세요.", "backgroundRestingInTheInnText": "여관에서 휴식", @@ -572,5 +572,15 @@ "backgroundSaltLakeNotes": "소금 호수의 매력적인 붉은 잔물결을 바라보세요.", "backgroundStrawberryPatchNotes": "딸기밭에서 신선한 진미를 골라보세요.", "backgroundRelaxationRiverNotes": "강가를 따라 휴식하며 나른하게 흘러가세요.", - "backgroundHotAirBalloonNotes": "열기구를 타고 날아올라 아름다운 경치를 즐기세요." + "backgroundHotAirBalloonNotes": "열기구를 타고 날아올라 아름다운 경치를 즐기세요.", + "backgroundUnderwaterRuinsNotes": "오래전에 사라진 수중 유적을 탐험하세요", + "backgroundUnderwaterRuinsText": "수중 유적", + "backgroundBirthdayBashNotes": "Habitica의 생일파티에 모두가 초대되었어요!", + "backgroundIcicleBridgeText": "고드름 다리", + "backgroundInsideAnOrnamentText": "장식품 안에서", + "backgroundHolidayHearthNotes": "휴일의 난로 옆에서 쉬고 몸을 말리세요", + "backgroundHotSpringNotes": "당신의 걱정을 온천과 함께 날리세요", + "backgroundHolidayHearthText": "휴일의 난로", + "backgroundProductivityPlazaText": "생산력 플라자", + "backgroundIcicleBridgeNotes": "고드름 다리를 조심스럽게 건너세요" } diff --git a/website/common/locales/ko/content.json b/website/common/locales/ko/content.json index 59f062f4eb..6055ae1fd3 100755 --- a/website/common/locales/ko/content.json +++ b/website/common/locales/ko/content.json @@ -371,5 +371,7 @@ "hatchingPotionSunset": "노을", "foodPieSkeletonA": "골수 파이 한 조각", "hatchingPotionOnyx": "오닉스", - "hatchingPotionVirtualPet": "가상 펫" + "hatchingPotionVirtualPet": "가상 펫", + "hatchingPotionPorcelain": "도자기", + "hatchingPotionTeaShop": "차 상점" } diff --git a/website/common/locales/ko/contrib.json b/website/common/locales/ko/contrib.json index ee944a2a94..0558b977e1 100755 --- a/website/common/locales/ko/contrib.json +++ b/website/common/locales/ko/contrib.json @@ -37,7 +37,7 @@ "loadUser": "사용자 로드", "noAdminAccess": "당신은 관리자 접근 권한이 없습니다.", "userNotFound": "사용자를 찾을 수 없습니다", - "invalidUUID": "UUID가 유효해야 합니다.", + "invalidUUID": "UUID가 유효해야 합니다", "title": "제목", "moreDetails": "더 보기 (1-7)", "moreDetails2": "더 보기 (8-9)", diff --git a/website/common/locales/ko/groups.json b/website/common/locales/ko/groups.json index f677068d38..a0d6036146 100755 --- a/website/common/locales/ko/groups.json +++ b/website/common/locales/ko/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ku_IQ/groups.json b/website/common/locales/ku_IQ/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/ku_IQ/groups.json +++ b/website/common/locales/ku_IQ/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/la/groups.json b/website/common/locales/la/groups.json index 417679ab07..5ae56b82f7 100755 --- a/website/common/locales/la/groups.json +++ b/website/common/locales/la/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ln/groups.json b/website/common/locales/ln/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/ln/groups.json +++ b/website/common/locales/ln/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/lt/groups.json b/website/common/locales/lt/groups.json index de7e5982ed..a2e532b4de 100755 --- a/website/common/locales/lt/groups.json +++ b/website/common/locales/lt/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/lv/groups.json b/website/common/locales/lv/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/lv/groups.json +++ b/website/common/locales/lv/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/mk/groups.json b/website/common/locales/mk/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/mk/groups.json +++ b/website/common/locales/mk/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ml/groups.json b/website/common/locales/ml/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/ml/groups.json +++ b/website/common/locales/ml/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/mn/groups.json b/website/common/locales/mn/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/mn/groups.json +++ b/website/common/locales/mn/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/mr/groups.json b/website/common/locales/mr/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/mr/groups.json +++ b/website/common/locales/mr/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ms/achievements.json b/website/common/locales/ms/achievements.json index 64a0e48daa..a7a7f957ed 100755 --- a/website/common/locales/ms/achievements.json +++ b/website/common/locales/ms/achievements.json @@ -1,10 +1,10 @@ { "achievement": "Pencapaian", - "onwards": "Onwards!", - "levelup": "By accomplishing your real life goals, you leveled up and are now fully healed!", - "reachedLevel": "Anda Telah Mencapai Tahap <%= level %>", - "achievementLostMasterclasser": "Quest Completionist: Masterclasser Series", - "achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!", + "onwards": "Seterusnya!", + "levelup": "Dengan mencapai matlamat hidup sebenar anda, kamu meratakan dan kini sembuh sepenuhnya!", + "reachedLevel": "Anda Telah Mencapai Tahap <%= tahap %>", + "achievementLostMasterclasser": "Pencari Penyelesaian: Siri Masterclasser", + "achievementLostMasterclasserText": "Menyelesaikan kesemua enam belas pencarian dalam Siri Pencarian Masterclasser dan menyelesaikan misteri Masterclasser yang Hilang!", "achievementBackToBasics": "Kembali kepada Asas", "viewAchievements": "Lihat Pencapaian", "letsGetStarted": "Mari kita mulakan!", @@ -16,23 +16,139 @@ "achievementBackToBasicsModalText": "Anda sudah mengumpul semua Haiwan Peliharaan Asas!", "hideAchievements": "Menyembui <%= category %>", "showAllAchievements": "Tunjukkan Semua<%= category %>", - "onboardingCompleteDesc": "Anda telah memperoleh 5 pencapaiandan100emas sebagai ganjaran untuk melengkapi senarai ini.", + "onboardingCompleteDesc": "Kamu telah mendapat 5 Pencapaian dan 100 Mata emas kerana melengkapkan senarai.", "earnedAchievement": "Anda telah memperoleh pencapaian!", - "gettingStartedDesc": "Mari kita mencipta tugas, menyelesaikannya, dan kemudian memeriksa ganjaran anda. Anda akan mendapat 5 pencapaiandan100 emassetelah anda selesai dengan tugas anda!", + "gettingStartedDesc": "Mari kita mencipta tugas, menyelesaikannya, dan kemudian memeriksa ganjaran anda. Anda akan mendapat 5 pencapaiandan100 emassetelah anda menyelesaikan tugas anda!", "achievementPurchasedEquipmentText": "Sudah membeli peralatan pertama mereka.", - "achievementPurchasedEquipment": "Membeli Peralatan", + "achievementPurchasedEquipment": "Pembelian peralatan", "achievementFedPetText": "Sudah memberi makanan kepada Haiwan Peliharaan pertama mereka.", "achievementFedPet": "Memberi makanan kepada satu Haiwan Peliharaan", - "achievementHatchedPetModalText": "Pergi ke inventori anda dan cuba menggabungkan Potion Penetasan dengan satu telur", + "achievementHatchedPetModalText": "Pergi ke inventori anda dan cuba gabungkan Ramuan menetas dan Telur", "achievementHatchedPetText": "Sudah menetaskan Haiwan Peliharaan pertama mereka.", "achievementHatchedPet": "Menetaskan satu Haiwan Peliharaan", "achievementCompletedTaskModalText": "Semakkan mana-mana tugasan anda untuk mendapat ganjaran", "achievementCompletedTaskText": "Sudah menyelesaikan tugas pertama mereka.", - "achievementCompletedTask": "Selesaikan Satu Tugas", + "achievementCompletedTask": "Selesaikan tugasan", "achievementCreatedTaskModalText": "Tambahkan tugas untuk sesuatu yang anda ingin mencapai dalam minggu ini", "achievementCreatedTaskText": "Sudah mencipta tugas pertama mereka.", - "achievementCreatedTask": "Mencipta satu Tugas", + "achievementCreatedTask": "Buat tugas pertama anda", "achievementMonsterMagusModalText": "Anda sudah mengumpul semua Haiwan Peliharaan Zombie!", "achievementMonsterMagusText": "Sudah mengumpul semua Haiwan Peliharaan Zombie.", - "achievementPartyOn": "Kumpulan anda berkembang menjadi 4 orang ahli!" + "achievementPartyOn": "Kumpulan anda berkembang menjadi 4 orang ahli!", + "onboardingProgress": "<%= Peratusan %>% Kemajuan", + "yourRewards": "Ganjaran Anda", + "achievementJustAddWaterModalText": "Telah selesai pencarian haiwan peliharaan seperti Sotong, Kuda Laut, Sotong Katak, Ikan Paus, Penyu, Siput Laut, Ular Laut dan Ikan Lumba-Lumba!", + "achievementJustAddWater": "Hanya Tambah Air", + "achievementMindOverMatterModalText": "Anda telah menyelesaikan pencarian haiwan peliharaan Batu, Lendir dan Benang!", + "foundNewItems": "Anda menemui item baharu!", + "achievementMindOverMatter": "Fikiran Daripada Perkara", + "yourProgress": "Kemajuan Anda", + "foundNewItemsCTA": "Pergi ke Inventori anda dan cuba gabungkan ramuan penetasan dan telur anda!", + "achievementVioletsAreBlueModalText": "Anda mengumpul semua Haiwan Peliharaan Haiwan peliharaan gula-gula kapas biru!", + "achievementMindOverMatterText": "Telah menyelesaikan pencarian haiwan peliharaan Batu, Lendir dan Benang.", + "achievementLostMasterclasserModalText": "Anda menyelesaikan kesemua enam belas pencarian dalam Siri Pencarian Masterclasser dan menyelesaikan misteri Masterclasser yang Hilang!", + "onboardingComplete": "Anda telah menyelesaikan tugasan anda!", + "achievementJustAddWaterText": "Telah selesai pencarian haiwan peliharaan seperti Sotong, Kuda Laut, Sotong Katak, Ikan Paus, Penyu, Siput Laut, Ular Laut dan Ikan Lumba-Lumba.", + "achievementDomesticatedModalText": "Anda mengumpul semua haiwan peliharaan yang dijinakkan!", + "onboardingCompleteDescSmall": "Jika anda mahukan lebih banyak lagi, lihat Pencapaian dan mula mengumpul!", + "foundNewItemsExplanation": "Menyelesaikan tugas memberi anda peluang untuk mencari barang, seperti Telur, Ramuan Penetasan dan Makanan Haiwan.", + "achievementZodiacZookeeper": "Zodiak Penjaga Zoo", + "achievementShadyCustomer": "Pelanggan Rendang", + "achievementShadyCustomerText": "Telah mengumpul semua Haiwan Peliharaan Terendak.", + "achievementShadyCustomerModalText": "Anda mengumpul semua Haiwan Peliharaan Terendak!", + "achievementShadeOfItAll": "Terendak Semuanya", + "achievementShadeOfItAllText": "Telah menjinakkan semua Gunung Naungan.", + "achievementShadeOfItAllModalText": "Anda menjinakkan semua Gunung Naungan!", + "achievementAllYourBaseText": "Telah menjinakkan semua Lekapan Asas.", + "achievementKickstarter2019": "Pin Penyokong Kickstarter", + "achievementAridAuthority": "Kuasa gersang", + "achievementAridAuthorityModalText": "Anda menjinakkan semua Gunung Gurun!", + "achievementAllYourBaseModalText": "Anda menjinakkan semua Pelekap Pangkalan!", + "achievementUndeadUndertakerText": "Telah menjinakkan semua Zombi Mounts.", + "achievementBackToBasicsText": "Telah mengumpul semua Haiwan Peliharaan Asas.", + "achievementAridAuthorityText": "Telah menjinakkan semua Gunung Gurun.", + "achievementUndeadUndertakerModalText": "Anda menjinakkan semua Zombi Mounts!", + "achievementMonsterMagus": "Raksasa Magus", + "achievementKickstarter2019Text": "Pin Menyokong Projek Kickstarter 2019", + "achievementTickledPinkText": "Telah mengumpulkan seluruh permen kapas peliharaan Merah Jambu.", + "achievementPurchasedEquipmentModalText": "Peralatan adalah cara untuk mempersonalisasikan avatarmu dan meningkatkan sats", + "achievementPearlyProText": "Telah menjinakkan jumlah semua putih.", + "achievementRosyOutlookText": "Telah menjinakkan semua permen kapas jumlah Merah Jambu.", + "achievementBugBonanzaModalText": "Anda selesai pencarian dan bela kumbang, kupu-kupu, siput, dan laba-laba!", + "achievementRosyOutlook": "Pandangan Kemerahan", + "achievementTickledPink": "Kegelian Merah Jambu", + "achievementPearlyProModalText": "Anda menjinakkan semua jumlah putih!", + "achievementPrimedForPainting": "Siap untuk lukisan", + "achievementBugBonanza": "Tambang Serangga", + "achievementPearlyPro": "Mutiara pro", + "achievementBugBonanzaText": "Telah selesai pencarian dan bela kumbang, kupu, siput, dan laba-laba.", + "achievementPrimedForPaintingModalText": "Anda mengoleksi semua Peliharaan Putih!", + "achievementRosyOutlookModalText": "anda menjinakkan semua permen kapas jumlah Merah Jambu!", + "achievementFedPetModalText": "Ada berbagai jenis makanan, tapi peliharaan bisa memilih", + "achievementPrimedForPaintingText": "telah mengumpulkan seluruh Peliharaan Putih.", + "achievementTickledPinkModalText": "Anda mengoleksi semua permen kapas peliharaan Merah Jambu!", + "achievementUndeadUndertaker": "Makam Mayat Hidup", + "achievementGoodAsGoldText": "telah mengumpulkan seluruh Peliharaan Emas.", + "achievementGoodAsGoldModalText": "Anda mengoleksi semua peliharaan emas!", + "achievementFreshwaterFriendsModalText": "Anda menyelesaikan bela dan pencarian axolotl, katak, dan badak sungai!", + "achievementGoodAsGold": "Baik Sebagai Emas", + "achievementAllThatGlitters": "Semua Itu Bergemerlapan", + "achievementBareNecessitiesModalText": "Anda selesai bela dan pencarian monyet, kungkang, dan pokok pet quests!", + "achievementFreshwaterFriends": "Teman Air Tawar", + "achievementBareNecessities": "Kebutuhan yang Kosong", + "achievementBoneCollectorModalText": "Anda mengoleksi semua kerangka peliharaan!", + "achievementSkeletonCrewModalText": "Anda menjinakkan semua jumlah kerangka!", + "achievementSeeingRedModalText": "Anda mengoleksi semua peliharaan merah!", + "achievementRedLetterDayText": "Telah menjinakkan jumlah semua merah.", + "achievementRedLetterDayModalText": "Anda menjinakkan semua jumlah merah!", + "achievementSeeingRed": "Melihat merah", + "achievementSkeletonCrewText": "Jumlah kerangka semua telah dijinakkan.", + "achievementSkeletonCrew": "Kakitangan Kerangka", + "achievementSeeingRedText": "Telah mengumpulkan semua peliharaan merah.", + "achievementBoneCollectorText": "Telah mengumpulkan seluruh kerangka peliharaan.", + "achievementRedLetterDay": "Hari Huruf Merah", + "achievementAllThatGlittersModalText": "Anda menjinakkan semua jumlah emas!", + "achievementAllThatGlittersText": "Semua jumlah emas telah dijinakkan.", + "achievementSeasonalSpecialistText": "Telah menyelesaikan pencarian sepanjang musim semi dan musim dingin: Perburuan Telur, Trapper Santa dan Menemukan Anak Beruang Kutub!", + "achievementWildBlueYonderModalText": "Anda menjinakkan semua jumlah permen kapas biru!", + "achievementVioletsAreBlueText": "Telah mengumpulkan seluruh permen kapas peliharaan biru.", + "achievementDomesticated": "E-I-E-I-O", + "achievementWildBlueYonderText": "Telah menjinakkan semua jumlah permen kapas biru.", + "achievementVioletsAreBlue": "Bunga violet berwarna biru", + "achievementWildBlueYonder": "Liar biru gelap", + "achievementSeasonalSpecialistModalText": "Anda telah menyelesaikan semua pencarian musiman!", + "achievementSeasonalSpecialist": "Spesialis Musiman", + "achievementLegendaryBestiary": "Legendaris Bestiary", + "achievementZodiacZookeeperText": "Menetas semua warna standar haiwan zodiak: Tikus, lembu, arnab, ular, kuda, biri-biri, monyet, ayam jantan, serigala, harimau, babi terbang dan naga!", + "achievementZodiacZookeeperModalText": "Telah mengumpul semua Haiwan Zodiak!", + "achievementBirdsOfAFeather": "Burung Sejenis", + "achievementBirdsOfAFeatherText": "Menetas semua warna standar haiwan peliharaan terbang: Babi terbang, burung hantu, burung kakak tua, pterodactyl, elang, helang, burung merak dan ayam jantan!", + "achievementReptacularRumble": "Reptilia Berkeroncong", + "achievementBirdsOfAFeatherModalText": "Mengumpul semua haiwan peliharaan terbang!", + "achievementReptacularRumbleText": "Menetas semua warna reptilia standard: Buaya, Pterodactyl, Ular, Triceratops, Kura-kura, Tyrannosaurus Rex dan Velociraptor!", + "achievementReptacularRumbleModalText": "Mengumpul semua haiwan peliharaan reptilia!", + "achievementGroupsBeta2022": "Penguji beta interaktif", + "achievementGroupsBeta2022Text": "Anda dan pasukan anda memberikan maklum balas yang tidak ternilai untuk membantu menguji Habitica.", + "achievementGroupsBeta2022ModalText": "Anda dan pasukan anda membantu Habitica dengan menguji dan memberi maklum balas!", + "achievementWoodlandWizard": "Hutan Sihir", + "achievementWoodlandWizardText": "Anda telah menetas semua warna makhluk hutan standard: Badger, beruang, rusa, musang, katak, landak, burung hantu, siput, tupai dan kerdil!", + "achievementWoodlandWizardModalText": "Mengumpul semua haiwan peliharaan hutan!", + "achievementBoneToPick": "Tulang untuk memilih", + "achievementBoneToPickText": "Anda telah menetas semua Haiwan Kesayangan Klasik dan Haiwan Kerangka Quest!", + "achievementBoneToPickModalText": "Anda Mengumpul semua Haiwan Kesayangan Klasik dan Haiwan Kerangka!", + "achievementPolarPro": "kutub profesional", + "achievementPolarProText": "Menetas semua warna Polar Pet standard: Beruang, musang, penguin, ikan paus dan serigala!", + "achievementPolarProModalText": "Anda telah mengumpul semua haiwan peliharaan kutub!", + "achievementBareNecessitiesText": "Selesai pencarian haiwan peliharaan monyet, kemalasan dan kerdil.", + "achievementFreshwaterFriendsText": "Selesai pencarian haiwan peliharaan untuk Axolotl, Katak dan Badak Sungai.", + "achievementLegendaryBestiaryText": "Menetas semua warna haiwan peliharaan Mythic lalai: Naga, babi terbang, griffin, ular laut dan unicorn!", + "achievementBoneCollector": "Pengumpul Tulang", + "achievementLegendaryBestiaryModalText": "Mengumpul semua haiwan peliharaan mitos!", + "achievementDomesticatedText": "Menetas semua warna haiwan peliharaan yang dijinakkan standard: Ferret, guinea pig, ayam jantan, babi terbang, tikus, arnab, kuda dan lembu!", + "achievementPlantParent": "Induk Tumbuhan", + "achievementPlantParentText": "Telah menetas semua warna standard haiwan peliharaan Tumbuhan: Kaktus dan Treeling!", + "achievementPlantParentModalText": "Anda mengumpul semua Haiwan Peliharaan Tumbuhan!", + "achievementDinosaurDynasty": "Dinasti Dinosaur", + "achievementDinosaurDynastyText": "Telah menetas semua warna standard haiwan peliharaan burung dan dinosaur: Falcon, Owl, Parrot, Peacock, Penguin, Rooster, Pterodactyl, T-Rex, Triceratops, dan Velociraptor!", + "achievementDinosaurDynastyModalText": "Anda mengumpul semua haiwan peliharaan burung dan dinosaur!" } diff --git a/website/common/locales/ms/backgrounds.json b/website/common/locales/ms/backgrounds.json index 891b3ddad7..ba3eb2b8db 100755 --- a/website/common/locales/ms/backgrounds.json +++ b/website/common/locales/ms/backgrounds.json @@ -24,7 +24,7 @@ "backgroundDustyCanyonsText": "Ngarai Berdebu", "backgroundDustyCanyonsNotes": "Merayau-rayau dalam Ngarai Berdebu.", "backgroundVolcanoText": "Gunung Berapi", - "backgroundVolcanoNotes": "Kepanasan di dalam gunung berapi", + "backgroundVolcanoNotes": "Kepanasan di dalam gunung berapi.", "backgrounds092014": "SET 4: Dikeluarkan pada September 2014", "backgroundThunderstormText": "Ribut Petir", "backgroundThunderstormNotes": "Alirkan kilat semasa Ribut Petir.", @@ -395,20 +395,39 @@ "backgroundGlowingMushroomCaveNotes": "Stare in awe at a Glowing Mushroom Cave.", "backgroundCozyBedroomText": "Bilik Tidur Yang Selesa", "backgroundCozyBedroomNotes": "Meringkuk di sebuah bilik tidur yang selesa.", - "backgrounds122018": "SET 55: Released December 2018", + "backgrounds122018": "SET 55: Dikeluarkan pada Disember 2018", "backgroundFlyingOverSnowyMountainsText": "Snowy Mountains", "backgroundFlyingOverSnowyMountainsNotes": "Soar over Snowy Mountains at night.", "backgroundFrostyForestText": "Hutan Dingin", - "backgroundFrostyForestNotes": "Bundle up to hike through a Frosty Forest.", - "backgroundSnowyDayFireplaceText": "Snowy Day Fireplace", - "backgroundSnowyDayFireplaceNotes": "Snuggle up next to a Fireplace on a Snowy Day.", - "backgrounds012019": "SET 56: Released January 2019", + "backgroundFrostyForestNotes": "Bersatu untuk mendaki melalui Hutan Frosty.", + "backgroundSnowyDayFireplaceText": "Perapian Hari Salji", + "backgroundSnowyDayFireplaceNotes": "Meringkuk di sebelah Perapian pada Hari Bersalji.", + "backgrounds012019": "SET 56: Dikeluarkan Januari 2019", "backgroundAvalancheText": "Runtuhan salji", - "backgroundAvalancheNotes": "Flee the thundering might of an Avalanche.", + "backgroundAvalancheNotes": "Melarikan diri dari kehebatan Avalanche.", "backgroundArchaeologicalDigText": "Penggalian Arkeologi", - "backgroundArchaeologicalDigNotes": "Unearth secrets of the ancient past at an Archaeological Dig.", + "backgroundArchaeologicalDigNotes": "Mencungkil rahsia silam purba di Penggalian Arkeologi.", "backgroundScribesWorkshopText": "Bengkel Jurutulis", - "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop.", + "backgroundScribesWorkshopNotes": "Tulis skrol hebat anda yang seterusnya dalam Bengkel Jurutulis.", "backgroundMedievalKitchenText": "Dapur Zaman Pertengahan", - "backgrounds022019": "SET 57: Dikeluarkan pada Februari 2019" + "backgrounds022019": "SET 57: Dikeluarkan pada Februari 2019", + "hideLockedBackgrounds": "Sembunyikan latar belakang yang dikunci", + "backgroundMedievalKitchenNotes": "Masak ribut di Dapur Zaman Pertengahan.", + "backgroundOldFashionedBakeryText": "Kedai Roti Lama", + "backgroundOldFashionedBakeryNotes": "Nikmati bau yang lazat di luar Kedai Roti Lama.", + "backgroundValentinesDayFeastingHallText": "Dewan Kenduri Hari Valentine", + "backgroundValentinesDayFeastingHallNotes": "Rasai cinta di Dewan Kenduri Hari Valentine.", + "backgrounds032019": "SET 58: Dikeluarkan pada Mac 2019", + "backgroundDuckPondNotes": "Beri makan burung akuatik di Kolam Itik.", + "backgroundFieldWithColoredEggsText": "Padang dengan Telur Berwarna", + "backgroundDuckPondText": "Kolam Itik", + "backgroundFieldWithColoredEggsNotes": "Memburu harta karun musim bunga di Padang dengan Telur Berwarna.", + "backgroundFlowerMarketText": "Pasar Bunga", + "backgroundFlowerMarketNotes": "Cari warna yang sesuai untuk sejambak atau taman di Pasar Bunga.", + "backgrounds042019": "SET 59: Dikeluarkan pada April 2019", + "backgroundBirchForestText": "Hutan Birch", + "backgroundBirchForestNotes": "Dally di Hutan Birch yang damai.", + "backgroundHalflingsHouseText": "Rumah Halfling", + "backgroundHalflingsHouseNotes": "Lawati Rumah Halfling yang menawan.", + "backgroundBlossomingDesertText": "Gurun yang Mekar" } diff --git a/website/common/locales/ms/defaulttasks.json b/website/common/locales/ms/defaulttasks.json index 27de132101..c6dcc692fa 100755 --- a/website/common/locales/ms/defaulttasks.json +++ b/website/common/locales/ms/defaulttasks.json @@ -3,9 +3,9 @@ "defaultHabit2Text": "Makan Makanan Ringan (Tekan pensel until edit)", "defaultHabit3Text": "Gunakan Tangga/Lif (Tekan pensel untuk edit)", "defaultHabit4Text": "Tambah tugasan ke Habitica", - "defaultHabit4Notes": "Sama ada habit, tugasan harian atau To-Do", + "defaultHabit4Notes": "Sama ada habit, tugasan harian atau tugasan", "defaultTodo1Text": "Sertailah Habitica (Sila potongkan saya!)", - "defaultTodoNotes": "Anda boleh selesaikan, editkan, atau buangkan sesuatu kotak semak misi yang perlu anda buat.", + "defaultTodoNotes": "Anda boleh sama ada melengkapkan Tugasan ini, mengeditnya atau mengalih keluarnya.", "defaultReward1Text": "Rehat selama 15 minit", "defaultReward2Text": "Ganjarkan Diri Anda", "defaultReward2Notes": "Tengok TV, main permainan, makan snek, ia terpulang kepada anda!", @@ -15,5 +15,15 @@ "defaultTag4": "Sekolah", "defaultTag5": "Pasukan", "defaultTag6": "Pekerjaan Rumah", - "defaultTag7": "Kreativiti" + "defaultTag7": "Kreativiti", + "exerciseHabit": "10 minit kardio >> + 10 minit kardio", + "exerciseDailyText": "Regangan >> Rutin senaman harian", + "workHabitMail": "Memproses e-mel", + "exerciseTodoText": "Sediakan jadual senaman", + "workDailyImportantTask": "Tugas paling penting >> Bekerja pada tugas paling penting hari ini", + "workDailyImportantTaskNotes": "Ketik untuk menentukan tugasan anda yang paling penting", + "workTodoProject": "Projek kerja >> Projek kerja lengkap", + "workTodoProjectNotes": "Ketik untuk menentukan nama projek semasa anda + tetapkan tarikh akhir!", + "exerciseDailyNotes": "Ketik untuk memilih jadual anda dan nyatakan latihan!", + "exerciseTodoNotes": "Ketik untuk menambah senarai semak!" } diff --git a/website/common/locales/ms/faq.json b/website/common/locales/ms/faq.json index e1a6bdd1d3..eba84bfd59 100755 --- a/website/common/locales/ms/faq.json +++ b/website/common/locales/ms/faq.json @@ -2,57 +2,107 @@ "frequentlyAskedQuestions": "Soalan Sering Ditanya", "faqQuestion0": "Saya keliru. Mana boleh saya dapatkan pengenalan?", "iosFaqAnswer0": "Pertama, anda perlu menyenarai tugasan yang anda ingin lakukan dalam hidup harian anda. Kemudian, bila anda siapkan tugasan itu dan menandakannya, anda akan memperolehi pengalaman dan syiling emas. Emas digunakan untuk membeli peralatan and beberapa barangan, serta ganjaran khas. Pengalaman akan menaikkan level watak anda dan mewujudkan benda seperti Haiwan Peliharaan, Kemahiran dan Pengembaraan. Anda boleh mengubah rupa watak anda di Menu > Customize Avatar.\n\nBeberapa cara asas untuk bermain: klik (+) di sudut atas-kanan untuk menambah tugasan baru. Tekan tugasan yang sedia ada untuk mengubahnya, dan heret ke kiri pada mana-mana tugasan untuk membuangnya. Anda boleh mengatur tugasan dengan menggunakan Tags di sudut atas-kiri, dan mengembang atau mengecil senarai dengan cara klik pada butang senarai.", - "androidFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn experience and gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as Pets, Skills, and Quests! You can customize your character under Menu > [Inventory >] Avatar.\n\n Some basic ways to interact: click the (+) in the lower-right-hand corner to add a new task. Tap on an existing task to edit it, and swipe left on a task to delete it. You can sort tasks using Tags in the upper-right-hand corner, and expand and contract checklists by clicking on the checklist count box.", - "webFaqAnswer0": "First, you'll set up tasks that you want to do in your everyday life. Then, as you complete the tasks in real life and check them off, you'll earn Experience and Gold. Gold is used to buy equipment and some items, as well as custom rewards. Experience causes your character to level up and unlock content such as pets, skills, and quests! For more detail, check out a step-by-step overview of the game at [Help -> Overview for New Users](https://habitica.com/static/overview).", + "androidFaqAnswer0": "Pertama, anda akan menyediakan tugasan yang ingin anda lakukan dalam kehidupan seharian anda. Kemudian, apabila anda menyelesaikan tugasan dalam kehidupan sebenar dan menyemaknya, anda akan memperoleh pengalaman dan emas. Emas digunakan untuk membeli peralatan dan beberapa item, serta ganjaran tersuai. Pengalaman menyebabkan watak anda naik tahap dan membuka kunci kandungan seperti Haiwan Peliharaan, Kemahiran dan Pencarian! Anda boleh menyesuaikan watak anda di bawah Menu > [Inventori >] Avatar.\n\nBeberapa cara asas untuk berinteraksi: klik (+) di penjuru kanan sebelah bawah untuk menambah tugasan baharu. Ketik pada tugasan sedia ada untuk mengeditnya dan leret ke kiri pada tugasan untuk memadamkannya. Anda boleh mengisih tugas menggunakan Teg di penjuru kanan sebelah atas, dan mengembangkan serta mengurangkan senarai semak dengan mengklik pada kotak kiraan senarai semak.", + "webFaqAnswer0": "Pertama, anda akan menyediakan tugasan yang ingin anda lakukan dalam kehidupan seharian anda. Kemudian, apabila anda menyelesaikan tugasan dalam kehidupan sebenar dan menyemaknya, anda akan memperoleh Pengalaman dan Emas. Emas digunakan untuk membeli peralatan dan beberapa item, serta ganjaran tersuai. Pengalaman menyebabkan watak anda naik tahap dan membuka kunci kandungan seperti haiwan peliharaan, kemahiran dan pencarian! Untuk butiran lanjut, lihat gambaran keseluruhan langkah demi langkah permainan di [Bantuan -> Gambaran Keseluruhan untuk Pengguna Baharu](https://habitica.com/static/overview).", "faqQuestion1": "Bagaimanakah saya membina tugasan saya?", - "iosFaqAnswer1": "Good Habits (the ones with a +) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a -) are tasks that you should avoid, like biting nails. Habits with a + and a - have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award experience and gold. Bad Habits subtract health.\n\n Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by tapping to edit it. If you skip a Daily that is due, your avatar will take damage overnight. Be careful not to add too many Dailies at once!\n\n To-Dos are your To-Do list. Completing a To-Do earns you gold and experience. You never lose health from To-Dos. You can add a due date to a To-Do by tapping to edit.", - "androidFaqAnswer1": "Good Habits (the ones with a +) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a -) are tasks that you should avoid, like biting nails. Habits with a + and a - have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award experience and gold. Bad Habits subtract health.\n\n Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by tapping to edit it. If you skip a Daily that is due, your character will take damage overnight. Be careful not to add too many Dailies at once!\n\n To-Dos are your To-Do list. Completing a To-Do earns you gold and experience. You never lose health from To-Dos. You can add a due date to a To-Do by tapping to edit.", + "iosFaqAnswer1": "Tabiat Baik (yang mempunyai +) adalah tugas yang boleh anda lakukan berkali-kali sehari, seperti makan sayur-sayuran. Tabiat Buruk (yang mempunyai -) adalah tugas yang harus anda elakkan, seperti menggigit kuku. Tabiat dengan + dan a - mempunyai pilihan yang baik dan pilihan yang buruk, seperti menaiki tangga berbanding menaiki lif. Good Habits anugerah pengalaman dan emas. Tabiat Buruk mengurangkan kesihatan.\n\nHarian ialah tugas yang perlu anda lakukan setiap hari, seperti memberus gigi atau menyemak e-mel anda. Anda boleh melaraskan hari tarikh Harian tiba dengan mengetik untuk mengeditnya. Jika anda melangkau Harian yang perlu dibayar, avatar anda akan mengalami kerosakan dalam sekelip mata. Berhati-hati untuk tidak menambah terlalu banyak Harian sekaligus!\n\nTo Do ialah senarai To Do anda. Menyelesaikan Tugasan memberi anda emas dan pengalaman. Anda tidak pernah kehilangan kesihatan daripada To Do's. Anda boleh menambah tarikh tamat pada Tugasan dengan mengetik untuk mengedit.", + "androidFaqAnswer1": "Tabiat Baik (yang mempunyai +) adalah tugas yang boleh anda lakukan berkali-kali sehari, seperti makan sayur-sayuran. Tabiat Buruk (yang mempunyai -) adalah tugas yang harus anda elakkan, seperti menggigit kuku. Tabiat dengan + dan a - mempunyai pilihan yang baik dan pilihan yang buruk, seperti menaiki tangga berbanding menaiki lif. Good Habits anugerah pengalaman dan emas. Tabiat Buruk mengurangkan kesihatan.\n\nHarian ialah tugas yang perlu anda lakukan setiap hari, seperti memberus gigi atau menyemak e-mel anda. Anda boleh melaraskan hari tarikh Harian tiba dengan mengetik untuk mengeditnya. Jika anda melangkau Harian yang perlu dibayar, watak anda akan mengalami kerosakan dalam sekelip mata. Berhati-hati untuk tidak menambah terlalu banyak Harian sekaligus!\n\nTo Do ialah senarai To Do anda. Menyelesaikan Tugasan memberi anda emas dan pengalaman. Anda tidak pernah kehilangan kesihatan daripada To Do's. Anda boleh menambah tarikh tamat pada Tugasan dengan mengetik untuk mengedit.", "webFaqAnswer1": "* Good Habits (the ones with a :heavy_plus_sign:) are tasks that you can do many times a day, such as eating vegetables. Bad Habits (the ones with a :heavy_minus_sign:) are tasks that you should avoid, like biting nails. Habits with a :heavy_plus_sign: and a :heavy_minus_sign: have a good choice and a bad choice, like taking the stairs vs. taking the elevator. Good Habits award Experience and Gold. Bad Habits subtract Health.\n* Dailies are tasks that you have to do every day, like brushing your teeth or checking your email. You can adjust the days that a Daily is due by clicking the pencil item to edit it. If you skip a Daily that is due, your avatar will take damage overnight. Be careful not to add too many Dailies at once!\n* To-Dos are your To-Do list. Completing a To-Do earns you Gold and Experience. You never lose Health from To-Dos. You can add a due date to a To-Do by clicking the pencil icon to edit.", "faqQuestion2": "Apakah contoh-contoh tugasan?", "iosFaqAnswer2": "The wiki has four lists of sample tasks to use as inspiration:\n

\n * [Sample Habits](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Sample Dailies](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Sample To-Dos](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Sample Custom Rewards](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "androidFaqAnswer2": "The wiki has four lists of sample tasks to use as inspiration:\n

\n * [Sample Habits](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Sample Dailies](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Sample To-Dos](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Sample Custom Rewards](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "webFaqAnswer2": "The wiki has four lists of sample tasks to use as inspiration:\n * [Sample Habits](http://habitica.wikia.com/wiki/Sample_Habits)\n * [Sample Dailies](http://habitica.wikia.com/wiki/Sample_Dailies)\n * [Sample To-Dos](http://habitica.wikia.com/wiki/Sample_To-Dos)\n * [Sample Custom Rewards](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)", "faqQuestion3": "Mengapakah tugasan saya menukar warna?", - "iosFaqAnswer3": "Your tasks change color based on how well you are currently accomplishing them! Each new task starts out as a neutral yellow. Perform Dailies or positive Habits more frequently and they move toward blue. Miss a Daily or give in to a bad Habit and the task moves toward red. The redder a task, the more rewards it will give you, but if it's a Daily or bad Habit, the more it will hurt you! This helps motivate you to complete the tasks that are giving you trouble.", - "androidFaqAnswer3": "Your tasks change color based on how well you are currently accomplishing them! Each new task starts out as a neutral yellow. Perform Dailies or positive Habits more frequently and they move toward blue. Miss a Daily or give in to a bad Habit and the task moves toward red. The redder a task, the more rewards it will give you, but if it's a Daily or bad Habit, the more it will hurt you! This helps motivate you to complete the tasks that are giving you trouble.", - "webFaqAnswer3": "Your tasks change color based on how well you are currently accomplishing them! Each new task starts out as a neutral yellow. Perform Dailies or positive Habits more frequently and they move toward blue. Miss a Daily or give in to a bad Habit and the task moves toward red. The redder a task, the more rewards it will give you, but if it’s a Daily or bad Habit, the more it will hurt you! This helps motivate you to complete the tasks that are giving you trouble.", + "iosFaqAnswer3": "Tugas anda berubah warna berdasarkan sejauh mana anda mencapainya pada masa ini! Setiap tugas baharu bermula sebagai kuning neutral. Lakukan Harian atau Tabiat positif dengan lebih kerap dan ia bergerak ke arah biru. Terlepas Harian atau menyerah kepada Tabiat buruk dan tugas itu bergerak ke arah merah. Lebih merah tugas, lebih banyak ganjaran yang akan diberikan kepada anda, tetapi jika ia adalah Tabiat Harian atau buruk, lebih banyak ia akan menyakiti anda! Ini membantu memotivasikan anda untuk menyelesaikan tugasan yang memberi anda masalah.", + "androidFaqAnswer3": "Tugas anda berubah warna berdasarkan sejauh mana anda mencapainya pada masa ini! Setiap tugas baharu bermula sebagai kuning neutral. Lakukan Harian atau Tabiat positif dengan lebih kerap dan ia bergerak ke arah biru. Terlepas Harian atau menyerah kepada Tabiat buruk dan tugas itu bergerak ke arah merah. Lebih merah tugas, lebih banyak ganjaran yang akan diberikan kepada anda, tetapi jika ia adalah Tabiat Harian atau buruk, lebih banyak ia akan menyakiti anda! Ini membantu memotivasikan anda untuk menyelesaikan tugasan yang memberi anda masalah.", + "webFaqAnswer3": "Tugas anda berubah warna berdasarkan sejauh mana anda mencapainya pada masa ini! Setiap tugas baharu bermula sebagai kuning neutral. Lakukan Harian atau Tabiat positif dengan lebih kerap dan ia bergerak ke arah biru. Terlepas Harian atau menyerah kepada Tabiat buruk dan tugas itu bergerak ke arah merah. Lebih merah tugas, lebih banyak ganjaran yang akan diberikan kepada anda, tetapi jika ia adalah Tabiat Harian atau buruk, lebih banyak ia akan menyakiti anda! Ini membantu memotivasikan anda untuk menyelesaikan tugasan yang memberi anda masalah.", "faqQuestion4": "Kenapa watak saya hilang kesihatan, dan bagaimana boleh saya dapatkannya semula?", - "iosFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you tap a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your Party and one of your Party mates did not complete all their Dailies, the Boss will attack you.\n\n The main way to heal is to gain a level, which restores all your health. You can also buy a Health Potion with gold from the Rewards column. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. If you are in a Party with a Healer, they can heal you as well.", - "androidFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you tap a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your Party and one of your Party mates did not complete all their Dailies, the Boss will attack you.\n\n The main way to heal is to gain a level, which restores all your health. You can also buy a Health Potion with gold from the Rewards tab on the Tasks page. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. If you are in a Party with a Healer, they can heal you as well.", - "webFaqAnswer4": "There are several things that can cause you to take damage. First, if you left Dailies incomplete overnight and didn't check them off in the screen that popped up the next morning, those unfinished Dailies will damage you. Second, if you click a bad Habit, it will damage you. Finally, if you are in a Boss Battle with your party and one of your party mates did not complete all their Dailies, the Boss will attack you. The main way to heal is to gain a level, which restores all your Health. You can also buy a Health Potion with Gold from the Rewards column. Plus, at level 10 or above, you can choose to become a Healer, and then you will learn healing skills. Other Healers can heal you as well if you are in a Party with them. Learn more by clicking \"Party\" in the navigation bar.", + "iosFaqAnswer4": "Terdapat beberapa perkara yang boleh menyebabkan anda mengalami kerosakan. Pertama, jika anda membiarkan Dailies tidak lengkap semalaman dan tidak menyemaknya dalam skrin yang muncul pada keesokan harinya, Dailies yang belum selesai itu akan merosakkan anda. Kedua, jika anda mengetuk Tabiat buruk, ia akan merosakkan anda. Akhirnya, jika anda berada dalam Pertempuran Boss dengan Parti anda dan salah seorang rakan Parti anda tidak melengkapkan semua Harian mereka, Boss akan menyerang anda.\n\nCara utama untuk menyembuhkan adalah untuk mendapatkan tahap, yang memulihkan semua kesihatan anda. Anda juga boleh membeli Ramuan Kesihatan dengan emas dari lajur Ganjaran. Selain itu, pada tahap 10 atau ke atas, anda boleh memilih untuk menjadi Penyembuh, dan kemudian anda akan mempelajari kemahiran penyembuhan. Jika anda berada dalam Parti dengan Penyembuh, mereka juga boleh menyembuhkan anda.", + "androidFaqAnswer4": "Terdapat beberapa perkara yang boleh menyebabkan anda mengalami kerosakan. Pertama, jika anda membiarkan Dailies tidak lengkap semalaman dan tidak menyemaknya dalam skrin yang muncul pada keesokan harinya, Dailies yang belum selesai itu akan merosakkan anda. Kedua, jika anda mengetuk Tabiat buruk, ia akan merosakkan anda. Akhirnya, jika anda berada dalam Pertempuran Boss dengan Parti anda dan salah seorang rakan Parti anda tidak melengkapkan semua Harian mereka, Boss akan menyerang anda.\n\nCara utama untuk menyembuhkan adalah untuk mendapatkan tahap, yang memulihkan semua kesihatan anda. Anda juga boleh membeli Ramuan Kesihatan dengan emas daripada tab Ganjaran pada halaman Tugasan. Selain itu, pada tahap 10 atau ke atas, anda boleh memilih untuk menjadi Penyembuh, dan kemudian anda akan mempelajari kemahiran penyembuhan. Jika anda berada dalam Parti dengan Penyembuh, mereka juga boleh menyembuhkan anda.", + "webFaqAnswer4": "Terdapat beberapa perkara yang boleh menyebabkan anda mengalami kerosakan. Pertama, jika anda membiarkan Dailies tidak lengkap semalaman dan tidak menyemaknya dalam skrin yang muncul pada keesokan harinya, Dailies yang belum selesai itu akan merosakkan anda. Kedua, jika anda mengklik Tabiat buruk, ia akan merosakkan anda. Akhirnya, jika anda berada dalam Battle Boss dengan parti anda dan salah seorang rakan parti anda tidak melengkapkan semua Harian mereka, Boss akan menyerang anda. Cara utama untuk sembuh adalah untuk mendapatkan tahap, yang memulihkan semua Kesihatan anda. Anda juga boleh membeli Ramuan Kesihatan dengan Emas dari lajur Ganjaran. Selain itu, pada tahap 10 atau ke atas, anda boleh memilih untuk menjadi Penyembuh, dan kemudian anda akan mempelajari kemahiran penyembuhan. Penyembuh lain boleh menyembuhkan anda juga jika anda berada dalam Parti dengan mereka. Ketahui lebih lanjut dengan mengklik \"Pesta\" dalam bar navigasi.", "faqQuestion5": "Bagaimanakan saya dapat bermain Habitica dengan rakan-rakan saya?", - "iosFaqAnswer5": "The best way is to invite them to a Party with you! Parties can go on quests, battle monsters, and cast skills to support each other. Go to Menu > Party and click \"Create New Party\" if you don't already have a Party. Then tap on the Members list, and tap Invite in the upper right-hand corner to invite your friends by entering their User ID (a string of numbers and letters that they can find under Settings > Account Details on the app, and Settings > API on the website). On the website, you can also invite friends via email, which we will add to the app in a future update.\n\nOn the website, you and your friends can also join Guilds, which are public chat rooms. Guilds will be added to the app in a future update!", + "iosFaqAnswer5": "Cara terbaik ialah menjemput mereka ke Parti bersama anda! Pihak boleh meneruskan Pencarian, pertempuran raksasa, dan kemahiran cast untuk menyokong satu sama lain.\n\nJika anda ingin memulakan Parti anda sendiri, pergi ke Menu > [Parti](https://habitica.com/party) dan ketik \"Buat Parti Baharu\". Kemudian tatal ke bawah dan ketik \"Jemput Ahli\" untuk menjemput rakan anda dengan memasukkan @nama pengguna mereka. Jika anda ingin menyertai Parti orang lain, hanya berikan mereka @nama pengguna anda dan mereka boleh menjemput anda!\n\nAnda dan rakan anda juga boleh menyertai Guild, iaitu bilik sembang awam yang menyatukan orang berdasarkan minat bersama! Terdapat banyak komuniti yang membantu dan menyeronokkan, pastikan anda menyemaknya.\n\nJika anda berasa lebih berdaya saing, anda dan rakan anda boleh membuat atau menyertai Cabaran untuk melaksanakan satu set tugas. Terdapat pelbagai jenis Cabaran awam tersedia yang merangkumi pelbagai minat dan matlamat. Sesetengah Cabaran awam akan memberikan hadiah Permata jika anda dipilih sebagai pemenang.", "androidFaqAnswer5": "The best way is to invite them to a Party with you! Parties can go on quests, battle monsters, and cast skills to support each other. Go to the [website](https://habitica.com/) to create one if you don't already have a Party. You can also join guilds together (Social > Guilds). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many guilds as you'd like, but only one party.\n\n For more detailed info, check out the wiki pages on [Parties](http://habitica.wikia.com/wiki/Party) and [Guilds](http://habitica.wikia.com/wiki/Guilds).", "webFaqAnswer5": "The best way is to invite them to a Party with you by clicking \"Party\" in the navigation bar! Parties can go on quests, battle monsters, and cast skills to support each other. You can also join Guilds together (click on \"Guilds\" in the navigation bar). Guilds are chat rooms focusing on a shared interest or the pursuit of a common goal, and can be public or private. You can join as many Guilds as you'd like, but only one Party. For more detailed info, check out the wiki pages on [Parties](http://habitica.wikia.com/wiki/Party) and [Guilds](http://habitica.wikia.com/wiki/Guilds).", "faqQuestion6": "Bagaimana boleh saya dapat Haiwan Peliharaan atau Haiwan Tunggangan?", - "iosFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored in Menu > Items.\n\n To hatch a Pet, you'll need an egg and a hatching potion. Tap on the egg to determine the species you want to hatch, and select \"Hatch Egg.\" Then choose a hatching potion to determine its color! Go to Menu > Pets to equip your new Pet to your avatar by clicking on it. \n\n You can also grow your Pets into Mounts by feeding them under Menu > Pets. Tap on a Pet, and then select \"Feed Pet\"! You'll have to feed a pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.wikia.com/wiki/Food#Food_Preferences). Once you have a Mount, go to Menu > Mounts and tap on it to equip it to your avatar.\n\n You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)", - "androidFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored in Menu > Items.\n\n To hatch a Pet, you'll need an egg and a hatching potion. Tap on the egg to determine the species you want to hatch, and select \"Hatch with potion.\" Then choose a hatching potion to determine its color! To equip your new Pet, go to Menu > Stable > Pets, select a species, click on the desired Pet, and select \"Use\"(Your avatar doesn't update to reflect the change). \n\n You can also grow your Pets into Mounts by feeding them under Menu > Stable [ > Pets ]. Tap on a Pet, and then select \"Feed\"! You'll have to feed a pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.wikia.com/wiki/Food#Food_Preferences). To equip your Mount, go to Menu > Stable > Mounts, select a species, click on the desired Mount, and select \"Use\"(Your avatar doesn't update to reflect the change).\n\n You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)", - "webFaqAnswer6": "At level 3, you will unlock the Drop System. Every time you complete a task, you'll have a random chance at receiving an egg, a hatching potion, or a piece of food. They will be stored under Inventory > Items. To hatch a Pet, you'll need an egg and a hatching potion. Once you have both an egg and a potion, go to Inventory > Stable to hatch your pet by clicking on its image. Once you've hatched a pet, you can equip it by clicking on it. You can also grow your Pets into Mounts by feeding them under Inventory > Stable. Drag a piece of food from the action bar at the bottom of the screen and drop it on a pet to feed it! You'll have to feed a Pet many times before it becomes a Mount, but if you can figure out its favorite food, it will grow more quickly. Use trial and error, or [see the spoilers here](http://habitica.wikia.com/wiki/Food#Food_Preferences). Once you have a Mount, click on it to equip it to your avatar. You can also get eggs for Quest Pets by completing certain Quests. (See below to learn more about Quests.)", - "faqQuestion7": "How do I become a Warrior, Mage, Rogue, or Healer?", + "iosFaqAnswer6": "Setiap kali anda menyelesaikan tugasan, anda akan mempunyai peluang rawak untuk menerima Telur, Ramuan Penetasan atau sekeping Makanan Haiwan. Ia akan disimpan dalam Menu > Item.\n\nUntuk menetas Haiwan Kesayangan, anda memerlukan Telur dan Ramuan Penetasan. Ketik pada Telur untuk menentukan spesies yang ingin anda tetas, dan pilih \"Telur.\" Kemudian pilih Ramuan Penetasan untuk menentukan warnanya! Pergi ke Menu > Haiwan Peliharaan dan klik Haiwan Kesayangan baharu anda untuk melengkapkannya ke Avatar anda.\n\nAnda juga boleh membesarkan Haiwan Kesayangan anda menjadi Gunung dengan memberinya makan di bawah Menu > Haiwan Kesayangan. Ketik pada Haiwan Kesayangan, dan pilih \"Makan Haiwan Kesayangan\"! Anda perlu memberi haiwan peliharaan berkali-kali sebelum ia menjadi Gunung, tetapi jika anda dapat mengetahui makanan kegemarannya, ia akan membesar dengan lebih cepat. Gunakan percubaan dan kesilapan, atau [lihat spoiler di sini](https://habitica.fandom.com/wiki/Food#Food_Preferences). Sebaik sahaja anda mempunyai Mount, pergi ke Menu > Mounts dan ketik padanya untuk melengkapkannya ke Avatar anda.\n\nAnda juga boleh mendapatkan Eggs for Quest Pets dengan melengkapkan Quests tertentu (untuk mengetahui lebih lanjut tentang Quests, lihat [Bagaimana cara saya melawan raksasa dan meneruskan Quests](https://habitica.com/static/faq/9)).", + "androidFaqAnswer6": "Setiap kali anda menyelesaikan tugasan, anda akan mempunyai peluang rawak untuk menerima Telur, Ramuan Penetasan atau sekeping Makanan Haiwan. Ia akan disimpan dalam Menu > Item.\n\nUntuk menetas Haiwan Kesayangan, anda memerlukan Telur dan Ramuan Penetasan. Ketik pada Telur untuk menentukan spesies yang ingin anda tetas, dan pilih \"Tetas dengan Ramuan.\" Kemudian pilih Ramuan Penetasan untuk menentukan warnanya! Untuk melengkapkan Haiwan Kesayangan baharu anda, pergi ke Menu > Stabil > Haiwan Kesayangan, pilih spesies, klik pada Haiwan Kesayangan yang diingini, dan pilih \"Gunakan\" (Avatar anda tidak dikemas kini untuk mencerminkan perubahan).\n\nAnda juga boleh membesarkan Haiwan Kesayangan anda menjadi Mounts dengan memberinya makan di bawah Menu > Stable [ > Pets ]. Ketik pada Haiwan Peliharaan, kemudian pilih \"Suapan\"! Anda perlu memberi haiwan peliharaan berkali-kali sebelum ia menjadi Gunung, tetapi jika anda dapat mengetahui makanan kegemarannya, ia akan membesar dengan lebih cepat. Gunakan percubaan dan kesilapan, atau [lihat spoiler di sini](https://habitica.fandom.com/wiki/Food#Food_Preferences). Untuk melengkapkan Mount anda, pergi ke Menu > Stabil > Mounts, pilih spesies, klik pada Mount yang dikehendaki dan pilih \"Gunakan\" (Avatar anda tidak dikemas kini untuk mencerminkan perubahan).\n\nAnda juga boleh mendapatkan Eggs for Quest Pets dengan melengkapkan Quests tertentu. (Lihat di bawah untuk mengetahui lebih lanjut tentang Pencarian.)", + "webFaqAnswer6": "Setiap kali anda menyelesaikan tugasan, anda akan mempunyai peluang rawak untuk menerima Telur, Ramuan Penetasan atau sekeping Makanan Haiwan. Ia akan disimpan di bawah Inventori > Item. Untuk menetas Haiwan Kesayangan, anda memerlukan Telur dan Ramuan Penetasan. Sebaik sahaja anda mempunyai kedua-dua Telur dan Ramuan Penetasan, pergi ke Inventori > Stabil, dan klik pada imej untuk menetas Haiwan Kesayangan anda. Sebaik sahaja anda telah menetas Haiwan Peliharaan, anda boleh melengkapkannya dengan mengklik padanya. Anda juga boleh mengembangkan Haiwan Peliharaan anda menjadi Gunung dengan memberi mereka makan di bawah Inventori > Stabil. Seret sekeping Makanan Haiwan Peliharaan dari bar tindakan di bahagian bawah skrin dan jatuhkan pada Haiwan Peliharaan untuk memberinya makan! Anda perlu memberi haiwan peliharaan berkali-kali sebelum ia menjadi Gunung, tetapi jika anda dapat mengetahui makanan kegemarannya, ia akan membesar dengan lebih cepat. Gunakan percubaan dan kesilapan, atau [lihat spoiler di sini](https://habitica.fandom.com/wiki/Food#Food_Preferences). Sebaik sahaja anda mempunyai Mount, klik padanya untuk melengkapkannya ke Avatar anda. Anda juga boleh mendapatkan Eggs for Quest Pets dengan melengkapkan Quests tertentu. (Lihat di bawah untuk mengetahui lebih lanjut tentang Pencarian.)", + "faqQuestion7": "Bagaimanakah saya boleh menjadi Pahlawan, Mage, Penyangak, atau Penyembuh?", "iosFaqAnswer7": "At level 10, you can choose to become a Warrior, Mage, Rogue, or Healer. (All players start as Warriors by default.) Each Class has different equipment options, different Skills that they can cast after level 11, and different advantages. Warriors can easily damage Bosses, withstand more damage from their tasks, and help make their Party tougher. Mages can also easily damage Bosses, as well as level up quickly and restore Mana for their party. Rogues earn the most gold and find the most item drops, and they can help their Party do the same. Finally, Healers can heal themselves and their Party members.\n\n If you don't want to choose a Class immediately -- for example, if you are still working to buy all the gear of your current class -- you can click “Decide Later” and choose later under Menu > Choose Class.", "androidFaqAnswer7": "At level 10, you can choose to become a Warrior, Mage, Rogue, or Healer. (All players start as Warriors by default.) Each Class has different equipment options, different Skills that they can cast after level 11, and different advantages. Warriors can easily damage Bosses, withstand more damage from their tasks, and help make their Party tougher. Mages can also easily damage Bosses, as well as level up quickly and restore Mana for their party. Rogues earn the most gold and find the most item drops, and they can help their Party do the same. Finally, Healers can heal themselves and their Party members.\n\n If you don't want to choose a Class immediately -- for example, if you are still working to buy all the gear of your current class -- you can click “Opt Out” and choose later under Menu > Choose Class.", - "webFaqAnswer7": "At level 10, you can choose to become a Warrior, Mage, Rogue, or Healer. (All players start as Warriors by default.) Each Class has different equipment options, different Skills that they can cast after level 11, and different advantages. Warriors can easily damage Bosses, withstand more damage from their tasks, and help make their party tougher. Mages can also easily damage Bosses, as well as level up quickly and restore Mana for their party. Rogues earn the most Gold and find the most item drops, and they can help their party do the same. Finally, Healers can heal themselves and their party members. If you don't want to choose a Class immediately -- for example, if you are still working to buy all the gear of your current class -- you can click \"Opt Out\" and re-enable it later under Settings.", - "faqQuestion8": "What is the blue Stat bar that appears in the Header after level 10?", + "webFaqAnswer7": "Pada tahap 10, anda boleh memilih untuk menjadi Warrior, Mage, Rogue atau Healer. (Semua pemain bermula sebagai Pahlawan secara lalai.) Setiap Kelas mempunyai pilihan peralatan yang berbeza, Kemahiran berbeza yang boleh mereka hantar selepas tahap 11 dan kelebihan yang berbeza. Pahlawan boleh merosakkan Boss dengan mudah, menahan lebih banyak kerosakan daripada tugas mereka dan membantu menjadikan parti mereka lebih sukar. Mage juga boleh merosakkan Boss dengan mudah, serta menaikkan level dengan cepat dan memulihkan Mana untuk parti mereka. Penyangak memperoleh paling banyak Emas dan mencari item yang paling banyak jatuh, dan mereka boleh membantu pihak mereka melakukan perkara yang sama. Akhirnya, Penyembuh boleh menyembuhkan diri mereka sendiri dan ahli parti mereka. Jika anda tidak mahu memilih Kelas dengan segera -- contohnya, jika anda masih berusaha untuk membeli semua peralatan kelas semasa anda -- anda boleh mengklik \"Tarik Diri\" dan dayakannya semula kemudian di bawah Tetapan.", + "faqQuestion8": "Apakah bar Stat biru yang muncul dalam Pengepala selepas tahap 10?", "iosFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 under Menu > Use Skills. Unlike your health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete Good Habits, Dailies, and To-Dos, and lost when you indulge bad Habits. You'll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.", "androidFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 under Menu > Skills. Unlike your health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete Good Habits, Dailies, and To-Dos, and lost when you indulge bad Habits. You'll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.", "webFaqAnswer8": "The blue bar that appeared when you hit level 10 and chose a Class is your Mana bar. As you continue to level up, you will unlock special Skills that cost Mana to use. Each Class has different Skills, which appear after level 11 in the action bar at the bottom of the screen. Unlike your Health bar, your Mana bar does not reset when you gain a level. Instead, Mana is gained when you complete good Habits, Dailies, and To-Dos, and lost when you indulge bad Habits. You'll also regain some Mana overnight -- the more Dailies you completed, the more you will gain.", "faqQuestion9": "Bagaimanakah saya berjuang dengan raksasa dan mengikuti misi?", - "iosFaqAnswer9": "First, you need to join or start a Party (see above). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n - You can buy Quests from the Quests Shop for Gold and Gems.\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", - "androidFaqAnswer9": "First, you need to join or start a Party (see above). Although you can battle monsters alone, we recommend playing in a group, because this will make Quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating!\n\n Next, you need a Quest Scroll, which are stored under Menu > Items. There are three ways to get a scroll:\n\n - At level 15, you get a Quest-line, aka three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively. \n - When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n - You can buy Quests from the Quests Shop for Gold and Gems.\n\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading by pulling down on the screen may be required to see the Boss's health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. \n\n After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", - "webFaqAnswer9": "First, you need to join or start a Party by clicking \"Party\" in the navigation bar. Although you can battle monsters alone, we recommend playing in a group, because this will make quests much easier. Plus, having a friend to cheer you on as you accomplish your tasks is very motivating! Next, you need a Quest Scroll, which are stored under Inventory > Quests. There are four ways to get a scroll:\n * When you invite people to your Party, you'll be rewarded with the Basi-List Scroll!\n * At level 15, you get a Quest-line, i.e., three linked quests. More Quest-lines unlock at levels 30, 40, and 60 respectively.\n * You can buy Quests from the Quests Shop (Shops > Quests) for Gold and Gems.\n * When you check in to Habitica a certain number of times, you'll be rewarded with Quest Scrolls. You earn a Scroll during your 1st, 7th, 22nd, and 40th check-ins.\n To battle the Boss or collect items for a Collection Quest, simply complete your tasks normally, and they will be tallied into damage overnight. (Reloading may be required to see the Boss's Health bar go down.) If you are fighting a Boss and you missed any Dailies, the Boss will damage your Party at the same time that you damage the Boss. After level 11 Mages and Warriors will gain Skills that allow them to deal additional damage to the Boss, so these are excellent classes to choose at level 10 if you want to be a heavy hitter.", + "iosFaqAnswer9": "Mula-mula, anda perlu menyertai atau memulakan Parti dengan memilih \"Parti\" dalam menu navigasi. Walaupun anda boleh mengambil Pencarian sahaja, kami mengesyorkan bermain dengan orang lain untuk menjadikan Pencarian lebih pantas dan meningkatkan motivasi anda dengan akauntabiliti tambahan.\n\nSebaik sahaja anda berada dalam Parti, anda boleh menjemput ahli Parti ke mana-mana skrol Pencarian dalam Inventori anda. Selepas semua orang menerima, Pencarian akan bermula. Untuk maju, selesaikan tugas anda seperti biasa! Anda sama ada akan membina kerosakan terhadap raksasa jika anda menghadapi Boss Quest, atau berpeluang mencari item jika anda mengambil Collection Quest. Semua kemajuan yang belum selesai digunakan pada hari berikutnya.\n\nApabila ahli Parti anda melakukan kerosakan yang mencukupi atau mengumpul semua item, Pencarian tamat dan semua orang akan menerima ganjaran mereka!", + "androidFaqAnswer9": "Mula-mula, anda perlu menyertai atau memulakan Parti dengan memilih \"Parti\" dalam menu navigasi. Walaupun anda boleh mengambil Pencarian sahaja, kami mengesyorkan bermain dengan orang lain untuk menjadikan Pencarian lebih pantas dan meningkatkan motivasi anda dengan akauntabiliti tambahan.\n\nSebaik sahaja anda berada dalam Parti, anda boleh menjemput ahli Parti ke mana-mana skrol Pencarian dalam Inventori anda. Selepas semua orang menerima, Pencarian akan bermula. Untuk maju, selesaikan tugas anda seperti biasa! Anda sama ada akan membina kerosakan terhadap raksasa jika anda menghadapi Boss Quest, atau berpeluang mencari item jika anda mengambil Collection Quest. Semua kemajuan yang belum selesai digunakan pada hari berikutnya.\n\nApabila ahli Parti anda melakukan kerosakan yang mencukupi atau mengumpul semua item, Pencarian tamat dan semua orang akan menerima ganjaran mereka!", + "webFaqAnswer9": "Mula-mula, anda perlu menyertai atau memulakan Parti dengan memilih \"Parti\" dalam menu navigasi. Walaupun anda boleh mengambil Pencarian sahaja, kami mengesyorkan bermain dengan orang lain untuk menjadikan Pencarian lebih pantas dan meningkatkan motivasi anda dengan akauntabiliti tambahan.\n\nSebaik sahaja anda berada dalam Parti, anda boleh menjemput ahli Parti ke mana-mana skrol Pencarian dalam Inventori anda. Selepas semua orang menerima, Pencarian akan bermula. Untuk maju, selesaikan tugas anda seperti biasa! Anda sama ada akan membina kerosakan terhadap raksasa jika anda menghadapi Boss Quest, atau berpeluang mencari item jika anda mengambil Collection Quest. Semua kemajuan yang belum selesai digunakan pada hari berikutnya.\n\nApabila ahli Parti anda melakukan kerosakan yang mencukupi atau mengumpul semua item, Pencarian tamat dan semua orang akan menerima ganjaran mereka!", "faqQuestion10": "Apakah itu permata, dan bagaimanakah boleh saya mendapat permata?", "iosFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", "androidFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", "webFaqAnswer10": "Gems are purchased with real money, although [subscribers](https://habitica.com/user/settings/subscription) can purchase them with Gold. When people subscribe or buy Gems, they are helping us to keep the site running. We're very grateful for their support! In addition to buying Gems directly or becoming a subscriber, there are two other ways players can gain Gems:\n* Win a Challenge that has been set up by another player. Go to Challenges > Discover Challenges to join some.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica). Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the site without them!", "faqQuestion11": "Bagaimana boleh saya melapurkan kerosakkan atau meminta ciri baru?", - "iosFaqAnswer11": "You can report a bug, request a feature, or send feedback under Menu > About > Report a Bug and Menu > About > Send Feedback! We'll do everything we can to assist you.", - "androidFaqAnswer11": "You can report a bug, request a feature, or send feedback under About > Report a Bug and About > Send us Feedback! We'll do everything we can to assist you.", + "iosFaqAnswer11": "Jika anda rasa anda telah menghadapi pepijat, pergi ke Menu > Sokongan > Dapatkan Bantuan untuk mencari pembetulan pantas, isu yang diketahui atau melaporkan pepijat kepada kami. Kami akan melakukan segala yang kami mampu untuk membantu anda.\n\nUntuk menghantar maklum balas atau meminta ciri, anda boleh mengakses borang maklum balas kami daripada Menu > Sokongan > Hantar Maklum Balas. Jika kami mempunyai sebarang pertanyaan, kami akan menghubungi anda untuk mendapatkan maklumat lanjut!", + "androidFaqAnswer11": "Jika anda rasa anda telah mengalami pepijat, pergi ke Menu > Bantuan & Soalan Lazim > Dapatkan Bantuan untuk mencari pembetulan pantas, isu yang diketahui atau melaporkan pepijat kepada kami. Kami akan melakukan segala yang kami mampu untuk membantu anda.\n\nUntuk menghantar maklum balas atau meminta ciri, anda boleh mengakses borang maklum balas kami daripada Menu > Bantuan & Soalan Lazim > Hantar Maklum Balas. Jika kami mempunyai sebarang pertanyaan, kami akan menghubungi anda untuk mendapatkan maklumat lanjut!", "webFaqAnswer11": "To report a bug, go to [Help > Report a Bug](https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac) and read the points above the chat box. If you're unable to log in to Habitica, send your login details (not your password!) to [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Don't worry, we'll get you fixed up soon! Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!", - "faqQuestion12": "How do I battle a World Boss?", + "faqQuestion12": "Bagaimana untuk melawan Bos Dunia?", "iosFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.", "androidFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.", "webFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual. You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party. A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change. You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.", - "iosFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", - "androidFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", - "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ), come ask in the [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We're happy to help." + "iosFaqStillNeedHelp": "Jika anda mempunyai soalan yang tiada dalam senarai ini atau pada [Soalan Lazim Wiki](https://habitica.fandom.com/wiki/FAQ), datang bertanya dalam sembang Tavern di bawah Menu > Tavern! Kami berbesar hati untuk membantu.", + "androidFaqStillNeedHelp": "Jika anda mempunyai soalan yang tiada dalam senarai ini atau pada [Soalan Lazim Wiki](https://habitica.fandom.com/wiki/FAQ), datang bertanya dalam sembang Tavern di bawah Menu > Tavern! Kami berbesar hati untuk membantu.", + "webFaqStillNeedHelp": "Jika anda mempunyai soalan yang tiada dalam senarai ini atau pada [Soalan Lazim Wiki](https://habitica.fandom.com/wiki/FAQ), datang bertanya dalam sembang Tavern di bawah Menu > Tavern! Kami berbesar hati untuk membantu.", + "general": "Umum", + "faqQuestion13": "Apakah Pelan Kumpulan?", + "iosFaqAnswer13": "## Bagaimanakah Rancangan Kumpulan berfungsi?\n\n[Pelan Kumpulan](/pelan kumpulan) memberikan Parti atau Persatuan anda akses kepada papan tugas kongsi yang serupa dengan papan tugas peribadi anda! Ia adalah pengalaman Habitica yang dikongsi di mana tugas boleh dibuat dan ditandakan oleh sesiapa sahaja dalam kumpulan.\n\nTerdapat juga ciri yang tersedia seperti peranan ahli, paparan status dan penugasan tugas yang memberi anda pengalaman yang lebih terkawal. [Lawati wiki kami](https://habitica.fandom.com/wiki/Group_Plans) untuk mengetahui lebih lanjut tentang ciri Rancangan Kumpulan kami!\n\n## Siapa yang mendapat manfaat daripada Pelan Kumpulan?\n\nRancangan Kumpulan berfungsi dengan baik apabila anda mempunyai sekumpulan kecil orang yang ingin bekerjasama. Kami mengesyorkan 2-5 ahli.\n\nPelan Kumpulan sangat bagus untuk keluarga, sama ada ibu bapa dan anak atau anda dan pasangan. Matlamat, tugas atau tanggungjawab yang dikongsi mudah untuk dijejaki pada satu papan.\n\nRancangan Kumpulan juga boleh berguna untuk pasukan rakan sekerja yang mempunyai matlamat yang dikongsi, atau pengurus yang ingin memperkenalkan pekerja mereka kepada gamifikasi.\n\n## Petua pantas untuk menggunakan Kumpulan\n\nBerikut ialah beberapa petua pantas untuk membolehkan anda bermula dengan Kumpulan baharu anda. Kami akan memberikan butiran lanjut dalam bahagian berikut:\n\n* Jadikan ahli sebagai pengurus untuk memberi mereka keupayaan untuk mencipta dan mengedit tugasan\n* Biarkan tugasan tidak ditetapkan jika sesiapa boleh menyelesaikannya dan ia hanya perlu dilakukan sekali\n* Berikan tugas kepada seorang untuk memastikan tiada orang lain dapat menyelesaikan tugas mereka\n* Berikan tugas kepada berbilang orang jika mereka semua perlu menyelesaikannya\n* Togol keupayaan untuk memaparkan tugas yang dikongsi pada papan peribadi anda untuk tidak terlepas apa-apa\n* Anda mendapat ganjaran untuk tugasan yang anda selesaikan, malah berbilang tugasan\n* Ganjaran penyempurnaan tugas tidak dikongsi atau dibahagikan antara ahli Pasukan\n* Gunakan warna tugasan pada papan pasukan untuk menilai purata kadar penyelesaian tugas\n* Sentiasa semak tugasan pada Lembaga Pasukan anda untuk memastikan ia masih relevan\n* Ketiadaan Harian tidak akan merosakkan anda atau pasukan anda, tetapi tugas itu akan merosot warnanya\n\n## Bagaimanakah orang lain dalam kumpulan boleh membuat tugasan?\n\nHanya ketua kumpulan dan pengurus boleh membuat tugasan. Jika anda ingin ahli kumpulan dapat membuat tugasan, maka anda harus mempromosikan mereka menjadi pengurus dengan pergi ke tab Maklumat Kumpulan, melihat senarai ahli dan mengklik ikon titik mengikut nama mereka.\n\n## Bagaimanakah pemberian tugasan berfungsi?\n\nRancangan Kumpulan memberi anda keupayaan unik untuk memberikan tugasan kepada ahli kumpulan lain. Menugaskan tugas adalah bagus untuk mewakilkan. Jika anda memberikan tugasan kepada seseorang, maka ahli lain akan dihalang daripada menyelesaikannya.\n\nAnda juga boleh menetapkan tugasan kepada berbilang orang jika ia perlu diselesaikan oleh lebih daripada seorang ahli. Contohnya, jika semua orang perlu memberus gigi, buat tugasan dan berikan kepada setiap ahli kumpulan. Mereka semua akan dapat menyemaknya dan mendapat ganjaran individu mereka untuk berbuat demikian. Tugas utama akan ditunjukkan sebagai lengkap apabila semua orang menyemaknya.\n\n## Bagaimanakah tugasan yang tidak diberikan berfungsi?\n\nTugasan yang tidak diberikan boleh disiapkan oleh sesiapa sahaja dalam kumpulan, jadi biarkan tugasan tidak ditetapkan untuk membolehkan mana-mana ahli menyelesaikannya. Contohnya, membuang sampah. Sesiapa yang membuang sampah boleh menyemak tugas yang belum ditetapkan dan tugas itu akan ditunjukkan sebagai selesai untuk semua orang.\n\n## Bagaimanakah penetapan semula hari yang disegerakkan berfungsi?\n\nTugasan yang dikongsi akan ditetapkan semula pada masa yang sama untuk semua orang memastikan papan tugas yang dikongsi dalam penyegerakan. Masa ini boleh dilihat pada papan tugas yang dikongsi dan ditentukan oleh masa mula hari ketua kumpulan. Oleh kerana tugasan dikongsi ditetapkan semula secara automatik, anda tidak akan mendapat peluang untuk melengkapkan Harian dikongsi semalam yang belum selesai apabila anda mendaftar masuk keesokan harinya.\n\nHarian Dikongsi tidak akan merosakkan jika ia terlepas, namun ia akan merendahkan warna untuk membantu menggambarkan kemajuan. Kami tidak mahu pengalaman yang dikongsi menjadi pengalaman negatif!\n\n## Bagaimanakah cara saya menggunakan Kumpulan saya pada apl mudah alih?\n\nWalaupun apl mudah alih belum menyokong sepenuhnya semua fungsi Rancangan Kumpulan, anda masih boleh menyelesaikan tugasan yang dikongsi daripada apl iOS dan Android dengan menyalin tugasan ke papan tugas peribadi anda. Anda boleh menghidupkan pilihan ini daripada Tetapan dalam apl mudah alih atau daripada papan tugas kumpulan pada versi penyemak imbas. Kini, tugas kongsi yang dibuka dan diperuntukkan akan dipaparkan pada papan tugas peribadi anda merentas semua platform.\n\n## Apakah perbezaan antara tugas dan Cabaran bersama Kumpulan?\n\nPapan tugas kongsi Rancangan Kumpulan adalah lebih dinamik daripada Cabaran, kerana papan tugas itu sentiasa dikemas kini dan berinteraksi. Cabaran adalah hebat jika anda mempunyai satu set tugasan untuk dihantar kepada ramai orang.\n\nPelan Kumpulan juga merupakan ciri berbayar, manakala Cabaran tersedia secara percuma kepada semua orang.\n\nAnda tidak boleh menetapkan tugas tertentu dalam Cabaran dan Cabaran tidak mempunyai tetapan semula hari yang dikongsi. Secara umum, Cabaran menawarkan kurang kawalan dan interaksi langsung.", + "webFaqAnswer13": "## Bagaimanakah Rancangan Kumpulan berfungsi?\n\n[Pelan Kumpulan](/pelan kumpulan) memberikan Parti atau Persatuan anda akses kepada papan tugas kongsi yang serupa dengan papan tugas peribadi anda! Ia adalah pengalaman Habitica yang dikongsi di mana tugas boleh dibuat dan ditandakan oleh sesiapa sahaja dalam kumpulan.\n\nTerdapat juga ciri yang tersedia seperti peranan ahli, paparan status dan penugasan tugas yang memberi anda pengalaman yang lebih terkawal. [Lawati wiki kami](https://habitica.fandom.com/wiki/Group_Plans) untuk mengetahui lebih lanjut tentang ciri Rancangan Kumpulan kami!\n\n## Siapa yang mendapat manfaat daripada Pelan Kumpulan?\n\nRancangan Kumpulan berfungsi dengan baik apabila anda mempunyai sekumpulan kecil orang yang ingin bekerjasama. Kami mengesyorkan 2-5 ahli.\n\nPelan Kumpulan sangat bagus untuk keluarga, sama ada ibu bapa dan anak atau anda dan pasangan. Matlamat, tugas atau tanggungjawab yang dikongsi mudah untuk dijejaki pada satu papan.\n\nRancangan Kumpulan juga boleh berguna untuk pasukan rakan sekerja yang mempunyai matlamat yang dikongsi, atau pengurus yang ingin memperkenalkan pekerja mereka kepada gamifikasi.\n\n## Petua pantas untuk menggunakan Kumpulan\n\nBerikut ialah beberapa petua pantas untuk membolehkan anda bermula dengan Kumpulan baharu anda. Kami akan memberikan butiran lanjut dalam bahagian berikut:\n\n* Jadikan ahli sebagai pengurus untuk memberi mereka keupayaan untuk mencipta dan mengedit tugasan\n* Biarkan tugasan tidak ditetapkan jika sesiapa boleh menyelesaikannya dan ia hanya perlu dilakukan sekali\n* Berikan tugas kepada seorang untuk memastikan tiada orang lain dapat menyelesaikan tugas mereka\n* Berikan tugas kepada berbilang orang jika mereka semua perlu menyelesaikannya\n* Togol keupayaan untuk memaparkan tugas yang dikongsi pada papan peribadi anda untuk tidak terlepas apa-apa\n* Anda mendapat ganjaran untuk tugasan yang anda selesaikan, malah berbilang tugasan\n* Ganjaran penyempurnaan tugas tidak dikongsi atau dibahagikan antara ahli Pasukan\n* Gunakan warna tugasan pada papan pasukan untuk menilai purata kadar penyelesaian tugas\n* Sentiasa semak tugasan pada Lembaga Pasukan anda untuk memastikan ia masih relevan\n* Ketiadaan Harian tidak akan merosakkan anda atau pasukan anda, tetapi tugas itu akan merosot warnanya\n\n## Bagaimanakah orang lain dalam kumpulan boleh membuat tugasan?\n\nHanya ketua kumpulan dan pengurus boleh membuat tugasan. Jika anda ingin ahli kumpulan dapat membuat tugasan, maka anda harus mempromosikan mereka menjadi pengurus dengan pergi ke tab Maklumat Kumpulan, melihat senarai ahli dan mengklik ikon titik mengikut nama mereka.\n\n## Bagaimanakah pemberian tugasan berfungsi?\n\nRancangan Kumpulan memberi anda keupayaan unik untuk memberikan tugasan kepada ahli kumpulan lain. Menugaskan tugas adalah bagus untuk mewakilkan. Jika anda memberikan tugasan kepada seseorang, maka ahli lain akan dihalang daripada menyelesaikannya.\n\nAnda juga boleh menetapkan tugasan kepada berbilang orang jika ia perlu diselesaikan oleh lebih daripada seorang ahli. Contohnya, jika semua orang perlu memberus gigi, buat tugasan dan berikan kepada setiap ahli kumpulan. Mereka semua akan dapat menyemaknya dan mendapat ganjaran individu mereka untuk berbuat demikian. Tugas utama akan ditunjukkan sebagai lengkap apabila semua orang menyemaknya.\n\n## Bagaimanakah tugasan yang tidak diberikan berfungsi?\n\nTugasan yang tidak diberikan boleh disiapkan oleh sesiapa sahaja dalam kumpulan, jadi biarkan tugasan tidak ditetapkan untuk membolehkan mana-mana ahli menyelesaikannya. Contohnya, membuang sampah. Sesiapa yang membuang sampah boleh menyemak tugas yang belum ditetapkan dan tugas itu akan ditunjukkan sebagai selesai untuk semua orang.\n\n## Bagaimanakah penetapan semula hari yang disegerakkan berfungsi?\n\nTugasan yang dikongsi akan ditetapkan semula pada masa yang sama untuk semua orang memastikan papan tugas yang dikongsi dalam penyegerakan. Masa ini boleh dilihat pada papan tugas yang dikongsi dan ditentukan oleh masa mula hari ketua kumpulan. Oleh kerana tugasan dikongsi ditetapkan semula secara automatik, anda tidak akan mendapat peluang untuk melengkapkan Harian dikongsi semalam yang belum selesai apabila anda mendaftar masuk keesokan harinya.\n\nHarian Dikongsi tidak akan merosakkan jika ia terlepas, namun ia akan merendahkan warna untuk membantu menggambarkan kemajuan. Kami tidak mahu pengalaman yang dikongsi menjadi pengalaman negatif!\n\n## Bagaimanakah cara saya menggunakan Kumpulan saya pada apl mudah alih?\n\nWalaupun apl mudah alih belum menyokong sepenuhnya semua fungsi Rancangan Kumpulan, anda masih boleh menyelesaikan tugasan yang dikongsi daripada apl iOS dan Android dengan menyalin tugasan ke papan tugas peribadi anda. Anda boleh menghidupkan pilihan ini daripada Tetapan dalam apl mudah alih atau daripada papan tugas kumpulan pada versi penyemak imbas. Kini, tugas kongsi yang dibuka dan diperuntukkan akan dipaparkan pada papan tugas peribadi anda merentas semua platform.\n\n## Apakah perbezaan antara tugas dan Cabaran bersama Kumpulan?\n\nPapan tugas kongsi Rancangan Kumpulan adalah lebih dinamik daripada Cabaran, kerana papan tugas itu sentiasa dikemas kini dan berinteraksi. Cabaran adalah hebat jika anda mempunyai satu set tugasan untuk dihantar kepada ramai orang.\n\nPelan Kumpulan juga merupakan ciri berbayar, manakala Cabaran tersedia secara percuma kepada semua orang.\n\nAnda tidak boleh menetapkan tugas tertentu dalam Cabaran dan Cabaran tidak mempunyai tetapan semula hari yang dikongsi. Secara umum, Cabaran menawarkan kurang kawalan dan interaksi langsung.", + "parties": "Parti", + "faqQuestion14": "Bagaimanakah saya mencari Parti apabila saya tidak menyertainya?", + "androidFaqAnswer14": "Jika anda ingin mengalami Habitica dengan orang lain tetapi tidak mengenali pemain lain, mencari Parti adalah pilihan terbaik anda! Jika anda sudah mengetahui pemain lain yang mempunyai Parti, anda boleh berkongsi @nama pengguna anda dengan mereka untuk dijemput. Sebagai alternatif, anda boleh membuat Parti baharu dan menjemput mereka dengan @nama pengguna atau alamat e-mel mereka.\n\nUntuk membuat atau mencari Parti, pilih \"Parti\" dalam menu navigasi, kemudian pilih pilihan yang sesuai untuk anda.", + "webFaqAnswer14": "Jika anda ingin mengalami Habitica dengan orang lain tetapi tidak mengenali pemain lain, mencari Parti adalah pilihan terbaik anda! Jika anda sudah mengetahui pemain lain yang mempunyai Parti, anda boleh berkongsi @nama pengguna anda dengan mereka untuk dijemput. Sebagai alternatif, anda boleh membuat Parti baharu dan menjemput mereka dengan @nama pengguna atau alamat e-mel mereka.\n\nUntuk membuat atau mencari Parti, pilih \"Parti\" dalam menu navigasi, kemudian pilih pilihan yang sesuai untuk anda.", + "iosFaqAnswer14": "Jika anda ingin mengalami Habitica dengan orang lain tetapi tidak mengenali pemain lain, mencari Parti ialah pilihan terbaik anda! Jika anda sudah mengetahui pemain lain yang mempunyai Parti, anda boleh berkongsi @nama pengguna anda dengan mereka untuk dijemput. Sebagai alternatif, anda boleh membuat Parti baharu dan menjemput mereka dengan @nama pengguna atau alamat e-mel mereka.\n\nUntuk membuat atau mencari Parti, pilih \"Parti\" dalam menu navigasi, kemudian pilih pilihan yang sesuai untuk anda.", + "androidFaqAnswer13": "## Bagaimanakah Rancangan Kumpulan berfungsi?\n\n[Pelan Kumpulan](/pelan kumpulan) memberikan Parti atau Persatuan anda akses kepada papan tugas kongsi yang serupa dengan papan tugas peribadi anda! Ia adalah pengalaman Habitica yang dikongsi di mana tugas boleh dibuat dan ditandakan oleh sesiapa sahaja dalam kumpulan.\n\nTerdapat juga ciri yang tersedia seperti peranan ahli, paparan status dan penugasan tugas yang memberi anda pengalaman yang lebih terkawal. [Lawati wiki kami](https://habitica.fandom.com/wiki/Group_Plans) untuk mengetahui lebih lanjut tentang ciri Rancangan Kumpulan kami!\n\n## Siapa yang mendapat manfaat daripada Pelan Kumpulan?\n\nRancangan Kumpulan berfungsi dengan baik apabila anda mempunyai sekumpulan kecil orang yang ingin bekerjasama. Kami mengesyorkan 2-5 ahli.\n\nPelan Kumpulan sangat bagus untuk keluarga, sama ada ibu bapa dan anak atau anda dan pasangan. Matlamat, tugas atau tanggungjawab yang dikongsi mudah untuk dijejaki pada satu papan.\n\nRancangan Kumpulan juga boleh berguna untuk pasukan rakan sekerja yang mempunyai matlamat yang dikongsi, atau pengurus yang ingin memperkenalkan pekerja mereka kepada gamifikasi.\n\n## Petua pantas untuk menggunakan Kumpulan\n\nBerikut ialah beberapa petua pantas untuk membolehkan anda bermula dengan Kumpulan baharu anda. Kami akan memberikan butiran lanjut dalam bahagian berikut:\n\n* Jadikan ahli sebagai pengurus untuk memberi mereka keupayaan untuk mencipta dan mengedit tugasan\n* Biarkan tugasan tidak ditetapkan jika sesiapa boleh menyelesaikannya dan ia hanya perlu dilakukan sekali\n* Berikan tugas kepada seorang untuk memastikan tiada orang lain dapat menyelesaikan tugas mereka\n* Berikan tugas kepada berbilang orang jika mereka semua perlu menyelesaikannya\n* Togol keupayaan untuk memaparkan tugas yang dikongsi pada papan peribadi anda untuk tidak terlepas apa-apa\n* Anda mendapat ganjaran untuk tugasan yang anda selesaikan, malah berbilang tugasan\n* Ganjaran penyempurnaan tugas tidak dikongsi atau dibahagikan antara ahli Pasukan\n* Gunakan warna tugasan pada papan pasukan untuk menilai purata kadar penyelesaian tugas\n* Sentiasa semak tugasan pada Lembaga Pasukan anda untuk memastikan ia masih relevan\n* Ketiadaan Harian tidak akan merosakkan anda atau pasukan anda, tetapi tugas itu akan merosot warnanya\n\n## Bagaimanakah orang lain dalam kumpulan boleh membuat tugasan?\n\nHanya ketua kumpulan dan pengurus boleh membuat tugasan. Jika anda ingin ahli kumpulan dapat membuat tugasan, maka anda harus mempromosikan mereka menjadi pengurus dengan pergi ke tab Maklumat Kumpulan, melihat senarai ahli dan mengklik ikon titik mengikut nama mereka.\n\n## Bagaimanakah pemberian tugasan berfungsi?\n\nRancangan Kumpulan memberi anda keupayaan unik untuk memberikan tugasan kepada ahli kumpulan lain. Menugaskan tugas adalah bagus untuk mewakilkan. Jika anda memberikan tugasan kepada seseorang, maka ahli lain akan dihalang daripada menyelesaikannya.\n\nAnda juga boleh menetapkan tugasan kepada berbilang orang jika ia perlu diselesaikan oleh lebih daripada seorang ahli. Contohnya, jika semua orang perlu memberus gigi, buat tugasan dan berikan kepada setiap ahli kumpulan. Mereka semua akan dapat menyemaknya dan mendapat ganjaran individu mereka untuk berbuat demikian. Tugas utama akan ditunjukkan sebagai lengkap apabila semua orang menyemaknya.\n\n## Bagaimanakah tugasan yang tidak diberikan berfungsi?\n\nTugasan yang tidak diberikan boleh disiapkan oleh sesiapa sahaja dalam kumpulan, jadi biarkan tugasan tidak ditetapkan untuk membolehkan mana-mana ahli menyelesaikannya. Contohnya, membuang sampah. Sesiapa yang membuang sampah boleh menyemak tugas yang belum ditetapkan dan tugas itu akan ditunjukkan sebagai selesai untuk semua orang.\n\n## Bagaimanakah penetapan semula hari yang disegerakkan berfungsi?\n\nTugasan yang dikongsi akan ditetapkan semula pada masa yang sama untuk semua orang memastikan papan tugas yang dikongsi dalam penyegerakan. Masa ini boleh dilihat pada papan tugas yang dikongsi dan ditentukan oleh masa mula hari ketua kumpulan. Oleh kerana tugasan dikongsi ditetapkan semula secara automatik, anda tidak akan mendapat peluang untuk melengkapkan Harian dikongsi semalam yang belum selesai apabila anda mendaftar masuk keesokan harinya.\n\nHarian Dikongsi tidak akan merosakkan jika ia terlepas, namun ia akan merendahkan warna untuk membantu menggambarkan kemajuan. Kami tidak mahu pengalaman yang dikongsi menjadi pengalaman negatif!\n\n## Bagaimanakah cara saya menggunakan Kumpulan saya pada apl mudah alih?\n\nWalaupun apl mudah alih belum menyokong sepenuhnya semua fungsi Rancangan Kumpulan, anda masih boleh menyelesaikan tugasan yang dikongsi daripada apl iOS dan Android dengan menyalin tugasan ke papan tugas peribadi anda. Anda boleh menghidupkan pilihan ini daripada Tetapan dalam apl mudah alih atau daripada papan tugas kumpulan pada versi penyemak imbas. Kini, tugas kongsi yang dibuka dan diperuntukkan akan dipaparkan pada papan tugas peribadi anda merentas semua platform.\n\n## Apakah perbezaan antara tugas dan Cabaran bersama Kumpulan?\n\nPapan tugas kongsi Rancangan Kumpulan adalah lebih dinamik daripada Cabaran, kerana papan tugas itu sentiasa dikemas kini dan berinteraksi. Cabaran adalah hebat jika anda mempunyai satu set tugasan untuk dihantar kepada ramai orang.\n\nPelan Kumpulan juga merupakan ciri berbayar, manakala Cabaran tersedia secara percuma kepada semua orang.\n\nAnda tidak boleh menetapkan tugas tertentu dalam Cabaran dan Cabaran tidak mempunyai tetapan semula hari yang dikongsi. Secara umum, Cabaran menawarkan kurang kawalan dan interaksi langsung.", + "faqQuestion15": "Bagaimanakah cara mencari Parti berfungsi?", + "iosFaqAnswer15": "Selepas memilih \"Cari Parti\", anda akan ditambahkan pada senarai pemain yang ingin menyertai Parti. Pemimpin parti boleh melihat senarai ini dan menghantar jemputan. Sebaik sahaja anda menerima jemputan, anda boleh menerimanya daripada pemberitahuan anda untuk menyertai Parti pilihan anda!\n\nAnda mungkin mendapat berbilang jemputan ke Parti yang berbeza. Walau bagaimanapun, anda hanya boleh menjadi ahli satu Parti pada satu masa.", + "webFaqAnswer15": "Selepas memilih \"Cari Parti\", anda akan ditambahkan pada senarai pemain yang ingin menyertai Parti. Pemimpin parti boleh melihat senarai ini dan menghantar jemputan. Sebaik sahaja anda menerima jemputan, anda boleh menerimanya daripada pemberitahuan anda untuk menyertai Parti pilihan anda!\n\nAnda mungkin mendapat berbilang jemputan ke Parti yang berbeza. Walau bagaimanapun, anda hanya boleh menjadi ahli satu Parti pada satu masa.", + "androidFaqAnswer16": "Anda akan kekal dalam senarai sehingga anda menerima jemputan ke Parti atau tidak log masuk selama 7 hari, yang mana dahulu. Jika anda log masuk selepas tidak aktif selama 7 hari, kami akan menambahkan anda kembali ke senarai secara automatik selagi anda tidak mempunyai jemputan yang belum selesai.", + "iosFaqAnswer17": "Jika anda tidak lagi mahu mencari Parti, anda boleh berhenti mencari pada bila-bila masa.\n\nUntuk berhenti mencari Parti di tapak web Habitica:\n\n1. Pilih pautan \"Parti\" dalam navigasi.\n2. Klik \"Tinggalkan\" dalam pop timbul.\n\nUntuk berhenti mencari Parti pada apl Android:\n1. Ketik pada “Parti” daripada menu.\n2. Ketik \"Tinggalkan\" di bahagian bawah skrin.", + "webFaqAnswer17": "Jika anda tidak lagi mahu mencari Parti, anda boleh berhenti mencari pada bila-bila masa.\n\nUntuk berhenti mencari Parti di tapak web Habitica:\n\n1. Pilih pautan \"Parti\" dalam navigasi.\n2. Klik \"Tinggalkan\" dalam pop timbul.\n\nUntuk berhenti mencari Parti pada apl Android:\n1. Ketik pada “Parti” daripada menu.\n2. Ketik \"Tinggalkan\" di bahagian bawah skrin.", + "faqQuestion16": "Berapa lama saya boleh mencari Parti selepas menyertai senarai?", + "faqQuestion17": "Bolehkah saya berhenti mencari Parti?", + "androidFaqAnswer15": "Selepas memilih \"Cari Parti\", anda akan ditambahkan pada senarai pemain yang ingin menyertai Parti. Pemimpin parti boleh melihat senarai ini dan menghantar jemputan. Sebaik sahaja anda menerima jemputan, anda boleh menerimanya daripada pemberitahuan anda untuk menyertai Parti pilihan anda!\n\nAnda mungkin mendapat berbilang jemputan ke Parti yang berbeza. Walau bagaimanapun, anda hanya boleh menjadi ahli satu Parti pada satu masa.", + "iosFaqAnswer16": "Anda akan kekal dalam senarai sehingga anda menerima jemputan ke Parti atau tidak log masuk selama 7 hari, yang mana dahulu. Jika anda log masuk selepas tidak aktif selama 7 hari, kami akan menambahkan anda kembali ke senarai secara automatik selagi anda tidak mempunyai jemputan yang belum selesai.", + "webFaqAnswer16": "Anda akan kekal dalam senarai sehingga anda menerima jemputan ke Parti atau tidak log masuk selama 7 hari, yang mana dahulu. Jika anda log masuk selepas tidak aktif selama 7 hari, kami akan menambahkan anda kembali ke senarai secara automatik selagi anda tidak mempunyai jemputan yang belum selesai.", + "androidFaqAnswer17": "Jika anda tidak lagi mahu mencari Parti, anda boleh berhenti mencari pada bila-bila masa.\n\nUntuk berhenti mencari Parti di tapak web Habitica:\n\n1. Pilih pautan \"Parti\" dalam navigasi.\n2. Klik \"Tinggalkan\" dalam pop timbul.\n\nUntuk berhenti mencari Parti pada apl Android:\n1. Ketik pada “Parti” daripada menu.\n2. Ketik \"Tinggalkan\" di bahagian bawah skrin.", + "iosFaqAnswer18": "Jika anda menggunakan tapak web Habitica, pilih \"Cari Ahli\" daripada menu lungsur Parti. Jika anda menggunakan apl Android, ketik \"Cari Ahli\" di atas senarai ahli Parti anda. Ini akan memaparkan senarai pemain yang sedang mencari Parti secara aktif dan boleh dijemput untuk menyertai.\n\nUntuk membantu mencari yang sesuai untuk Parti anda, anda akan melihat beberapa maklumat, seperti bahasa, kelas, tahap dan berapa hari mereka telah menggunakan Habitica. Jika anda ingin bersembang dengan seseorang sebelum menghantar jemputan, anda boleh melihat Profil mereka dan menghantar mesej.", + "webFaqAnswer18": "Jika anda menggunakan tapak web Habitica, pilih \"Cari Ahli\" daripada menu lungsur Parti. Jika anda menggunakan apl Android, ketik \"Cari Ahli\" di atas senarai ahli Parti. Ini akan memaparkan senarai pemain yang sedang mencari Parti secara aktif dan boleh dijemput untuk menyertai.\n\nUntuk membantu mencari yang sesuai untuk Parti, anda akan melihat beberapa maklumat, seperti bahasa, kelas, tahap dan berapa hari mereka telah menggunakan Habitica. Jika anda ingin bersembang dengan seseorang sebelum menghantar jemputan, anda boleh melihat Profil mereka dan menghantar mesej.", + "faqQuestion18": "Saya ada Parti, bagaimana saya mencari lebih ramai ahli?", + "androidFaqAnswer18": "Jika anda menggunakan tapak web Habitica, pilih \"Cari Ahli\" daripada menu lungsur Parti. Jika anda menggunakan apl Android, ketik \"Cari Ahli\" di atas senarai ahli Parti anda. Ini akan memaparkan senarai pemain yang sedang mencari Parti secara aktif dan boleh dijemput untuk menyertai.\n\nUntuk membantu mencari yang sesuai untuk Parti anda, anda akan melihat beberapa maklumat, seperti bahasa, kelas, tahap dan berapa hari mereka telah menggunakan Habitica. Jika anda ingin bersembang dengan seseorang sebelum menghantar jemputan, anda boleh melihat Profil mereka dan menghantar mesej.", + "iosFaqAnswer20": "Ya! Jika anda sudah mempunyai nama pengguna atau alamat e-mel pemain Habitica, anda boleh menjemput mereka untuk menyertai Parti anda. Berikut ialah cara menghantar jemputan pada platform yang berbeza:\n\nDi laman web Habitica:\n\nNavigasi ke Parti anda dan klik \"Jemput ke Parti\" di sebelah kanan halaman.\n\nPada apl Android:\n\nKetik “Pesta” daripada Menu. Tatal ke bahagian Ahli dan ketik \"Cari Ahli\" kemudian ketik tab \"Dengan Jemputan\".\n\nPada apl iOS:\n\nKetik “Pesta” daripada Menu. Tatal ke bahagian Ahli dan ketik \"Jemput Ahli\".", + "faqQuestion19": "Berapa ramai ahli yang boleh saya jemput ke Parti saya?", + "iosFaqAnswer19": "Parti mempunyai maksimum 30 ahli dan minimum 1 ahli. Jemputan belum selesai dikira dalam kiraan ahli. Sebagai contoh, 29 ahli dan 1 jemputan belum selesai akan dikira sebagai 30 ahli. Untuk mengosongkan jemputan yang belum selesai, pemain yang dijemput mesti menerima atau menolak, atau ketua Parti mesti membatalkan jemputan.", + "androidFaqAnswer19": "Parti mempunyai maksimum 30 ahli dan minimum 1 ahli. Jemputan belum selesai dikira dalam kiraan ahli. Sebagai contoh, 29 ahli dan 1 jemputan belum selesai akan dikira sebagai 30 ahli. Untuk mengosongkan jemputan yang belum selesai, pemain yang dijemput mesti menerima atau menolak, atau ketua Parti mesti membatalkan jemputan.", + "webFaqAnswer19": "Parti mempunyai maksimum 30 ahli dan minimum 1 ahli. Jemputan belum selesai dikira dalam kiraan ahli. Sebagai contoh, 29 ahli dan 1 jemputan belum selesai akan dikira sebagai 30 ahli. Untuk mengosongkan jemputan yang belum selesai, pemain yang dijemput mesti menerima atau menolak, atau ketua Parti mesti membatalkan jemputan.", + "faqQuestion20": "Bolehkah saya menjemput seseorang yang sudah saya kenali?", + "androidFaqAnswer20": "Ya! Jika anda sudah mempunyai nama pengguna atau alamat e-mel pemain Habitica, anda boleh menjemput mereka untuk menyertai Parti anda. Berikut ialah cara menghantar jemputan pada platform yang berbeza:\n\nDi laman web Habitica:\n\nNavigasi ke Parti anda dan klik \"Jemput ke Parti\" di sebelah kanan halaman.\n\nPada apl Android:\n\nKetik “Pesta” daripada Menu. Tatal ke bahagian Ahli dan ketik \"Cari Ahli\" kemudian ketik tab \"Dengan Jemputan\".\n\nPada apl iOS:\n\nKetik “Pesta” daripada Menu. Tatal ke bahagian Ahli dan ketik \"Jemput Ahli\".", + "webFaqAnswer20": "Ya! Jika anda sudah mempunyai nama pengguna atau alamat e-mel pemain Habitica, anda boleh menjemput mereka untuk menyertai Parti anda. Berikut ialah cara menghantar jemputan pada platform yang berbeza:\n\nDi laman web Habitica:\n\nNavigasi ke Parti anda dan klik \"Jemput ke Parti\" di sebelah kanan halaman.\n\nPada apl Android:\n\nKetik “Pesta” daripada Menu. Tatal ke bahagian Ahli dan ketik \"Cari Ahli\" kemudian ketik tab \"Dengan Jemputan\".\n\nPada apl iOS:\n\nKetik “Pesta” daripada Menu. Tatal ke bahagian Ahli dan ketik \"Jemput Ahli\".", + "androidFaqAnswer21": "Untuk membatalkan jemputan yang belum selesai di tapak web Habitica:\n\n1. Klik pada senarai Ahli apabila melihat Parti anda.\n2. Klik tab \"Jemputan\".\n3. Klik tiga titik di sebelah jemputan pengguna yang ingin anda batalkan.\n4. Pilih \"Batalkan Jemputan\"\n\nUntuk membatalkan jemputan yang belum selesai pada apl Android:\n\n1. Tatal ke bawah ke senarai Ahli anda apabila melihat Parti anda.\n2. Di bahagian bawah senarai, anda akan melihat jemputan anda yang belum selesai.\n3. Ketik butang \"Batalkan jemputan\".\n\nAnda juga boleh membatalkan jemputan yang belum selesai daripada apl iOS tidak lama lagi!", + "webFaqAnswer21": "Untuk membatalkan jemputan yang belum selesai di tapak web Habitica:\n\n1. Klik pada senarai Ahli apabila melihat Parti anda.\n2. Klik tab \"Jemputan\".\n3. Klik tiga titik di sebelah jemputan pengguna yang ingin anda batalkan.\n4. Pilih \"Batalkan Jemputan\"\n\nUntuk membatalkan jemputan yang belum selesai pada apl Android:\n\n1. Tatal ke bawah ke senarai Ahli anda apabila melihat Parti anda.\n2. Di bahagian bawah senarai, anda akan melihat jemputan anda yang belum selesai.\n3. Ketik butang \"Batalkan jemputan\".\n\nAnda juga boleh membatalkan jemputan yang belum selesai daripada apl iOS tidak lama lagi!", + "androidFaqAnswer22": "Sebaik sahaja anda menyertai Parti, anda akan berhenti menerima jemputan lagi. Jika anda ingin menghalang jemputan dan komunikasi masa hadapan daripada pemain tertentu, lihat profil mereka dan klik butang Sekat. Pada profil mudah alih, ketik tiga titik di penjuru atas kemudian pilih \"Sekat\".\n\nJika anda menghadapi situasi di mana anda percaya pemain lain telah melanggar Garis Panduan Komuniti kami dalam nama, profil atau mesej yang mereka hantar, sila laporkan sebarang mesej atau hubungi kami di admin@habitica.com.", + "iosFaqAnswer24": "Kami menambah keupayaan untuk mencari Parti dan mencari ahli Parti dalam Android versi 4.2! Pastikan anda dikemas kini kepada versi terkini untuk menyemaknya. Pemain solo boleh mencari Parti dari skrin Parti apabila mereka tidak berada dalam satu Parti. Pemimpin parti boleh menyemak imbas senarai pemain yang mencari jemputan dengan mengetik \"Cari Ahli\" di atas senarai ahli Parti mereka.\n\nSokongan untuk ciri ini akan datang kepada iOS dalam versi 3.8, jadi nantikan segera!", + "faqQuestion21": "Bagaimanakah cara saya membatalkan jemputan ke Parti saya yang belum selesai?", + "faqQuestion22": "Bagaimanakah cara menghentikan jemputan yang tidak diingini?", + "faqQuestion23": "Bagaimanakah cara saya menapis senarai ahli yang mencari Parti?", + "iosFaqAnswer23": "Pada masa ini tiada cara untuk menapis senarai ahli yang mencari Parti. Walau bagaimanapun, kami mempunyai rancangan untuk memperkenalkan penapis pada masa hadapan, seperti kelas, tahap dan bahasa.", + "androidFaqAnswer23": "Pada masa ini tiada cara untuk menapis senarai ahli yang mencari Parti. Walau bagaimanapun, kami mempunyai rancangan untuk memperkenalkan penapis pada masa hadapan, seperti kelas, tahap dan bahasa.", + "webFaqAnswer23": "Pada masa ini tiada cara untuk menapis senarai ahli yang mencari Parti. Walau bagaimanapun, kami mempunyai rancangan untuk memperkenalkan penapis pada masa hadapan, seperti kelas, tahap dan bahasa.", + "faqQuestion24": "Bagaimanakah cara saya mencari Parti pada Android atau iOS?", + "iosFaqAnswer21": "Untuk membatalkan jemputan yang belum selesai di tapak web Habitica:\n\n1. Klik pada senarai Ahli apabila melihat Parti anda.\n2. Klik tab \"Jemputan\".\n3. Klik tiga titik di sebelah jemputan pengguna yang ingin anda batalkan.\n4. Pilih \"Batalkan Jemputan\"\n\nUntuk membatalkan jemputan yang belum selesai pada apl Android:\n\n1. Tatal ke bawah ke senarai Ahli anda apabila melihat Parti anda.\n2. Di bahagian bawah senarai, anda akan melihat jemputan anda yang belum selesai.\n3. Ketik butang \"Batalkan jemputan\".\n\nAnda juga boleh membatalkan jemputan yang belum selesai daripada apl iOS tidak lama lagi!", + "iosFaqAnswer22": "Sebaik sahaja anda menyertai Parti, anda akan berhenti menerima jemputan lagi. Jika anda ingin menghalang jemputan dan komunikasi masa hadapan daripada pemain tertentu, lihat profil mereka dan klik butang Sekat. Pada profil mudah alih, ketik tiga titik di penjuru atas kemudian pilih \"Sekat\".\n\nJika anda menghadapi situasi di mana anda percaya pemain lain telah melanggar Garis Panduan Komuniti kami dalam nama, profil atau mesej yang mereka hantar, sila laporkan sebarang mesej atau hubungi kami di admin@habitica.com.", + "webFaqAnswer22": "Sebaik sahaja anda menyertai Parti, anda akan berhenti menerima jemputan lagi. Jika anda ingin menghalang jemputan dan komunikasi masa hadapan daripada pemain tertentu, lihat profil mereka dan klik butang Sekat. Pada profil mudah alih, ketik tiga titik di penjuru atas kemudian pilih \"Sekat\".\n\nJika anda menghadapi situasi di mana anda percaya pemain lain telah melanggar Garis Panduan Komuniti kami dalam nama, profil atau mesej yang mereka hantar, sila laporkan sebarang mesej atau hubungi kami di admin@habitica.com.", + "androidFaqAnswer24": "Kami menambah keupayaan untuk mencari Parti dan mencari ahli Parti dalam Android versi 4.2! Pastikan anda dikemas kini kepada versi terkini untuk menyemaknya. Pemain solo boleh mencari Parti dari skrin Parti apabila mereka tidak berada dalam satu Parti. Pemimpin parti boleh menyemak imbas senarai pemain yang mencari jemputan dengan mengetik \"Cari Ahli\" di atas senarai ahli Parti mereka.\n\nSokongan untuk ciri ini akan datang kepada iOS dalam versi 3.8, jadi nantikan segera!", + "webFaqAnswer24": "Kami menambah keupayaan untuk mencari Parti dan mencari ahli Parti dalam Android versi 4.2! Pastikan anda dikemas kini kepada versi terkini untuk menyemaknya. Pemain solo boleh mencari Parti dari skrin Parti apabila mereka tidak berada dalam satu Parti. Pemimpin parti boleh menyemak imbas senarai pemain yang mencari jemputan dengan mengetik \"Cari Ahli\" di atas senarai ahli Parti mereka.\n\nSokongan untuk ciri ini akan datang kepada iOS dalam versi 3.8, jadi nantikan segera!" } diff --git a/website/common/locales/ms/front.json b/website/common/locales/ms/front.json index 9a3c03a2a5..cc33bfc7e9 100644 --- a/website/common/locales/ms/front.json +++ b/website/common/locales/ms/front.json @@ -5,5 +5,85 @@ "communityInstagram": "Instagram", "clearBrowserData": "Hapuskan Data Pelayar Web", "termsAndAgreement": "Dengan klik butang di bawah, anda diandaikan telah membaca serta setuju dengan Syarat Perkhidmatan dan Dasar Privasi.", - "communityExtensions": "Alat & Sambungan Tambahan" + "communityExtensions": "Alat tambah dan sambungan", + "companyAbout": "bagaimana ia berfungsi", + "companyBlog": "Blog", + "companyContribute": "Sumbangan kepada Habitica", + "companyDonate": "menderma kepada habitica", + "emailNewPass": "Pautan tetapan semula kata laluan e-mel", + "footerCommunity": "Kommuniti", + "footerCompany": "Kompeni", + "forgotPassword": "Lupa paswordnya?", + "footerDevs": "Pengembang", + "forgotPasswordSteps": "Masukkan nama pengguna atau alamat e-mel yang anda gunakan untuk mendaftar akaun Habitica anda.", + "footerMobile": "Mudah alih", + "sendLink": "Hantar Pautan", + "footerSocial": "sosial", + "footerProduct": "produk", + "free": "Sertai secara percuma", + "guidanceForBlacksmiths": "Bimbingan untuk Tukang Besi", + "login": "Log masuk", + "marketing1Header": "Tingkatkan Tabiat Anda dengan Bermain Permainan", + "marketing1Lead1Title": "Kehidupan Anda, Permainan Main Peranan", + "marketing1Lead2Title": "Dapatkan Perlengkapan Manis", + "marketing1Lead2": "Tingkatkan tabiat anda untuk membina avatar anda. Tunjukkan peralatan manis yang anda perolehi!", + "history": "Sejarah", + "logout": "Log Keluar", + "invalidEmail": "Alamat e-mel yang sah diperlukan untuk melakukan penetapan semula kata laluan.", + "marketing1Lead1": "Habitica ialah permainan video untuk membantu anda meningkatkan tabiat kehidupan sebenar. Ia \"mempermainkan\" hidup anda dengan menukar semua tugas anda (Tabiat, Harian dan Tugasan) menjadi raksasa kecil yang perlu anda takluki. Lebih baik anda dalam hal ini, lebih banyak anda maju dalam permainan. Jika anda tergelincir dalam kehidupan, watak anda mula tergelincir dalam permainan.", + "marketing1Lead3Title": "Cari Hadiah Rawak", + "marketing1Lead3": "Bagi sesetengah orang, perjudianlah yang mendorong mereka: sistem yang dipanggil \"ganjaran stokastik.\" Habitica menampung semua gaya peneguhan dan hukuman: positif, negatif, boleh diramal dan rawak.", + "marketing2Header": "Bersaing Dengan Rakan, Sertai Kumpulan Minat", + "marketing2Lead1Title": "Produktiviti Sosial", + "marketing2Lead1": "Walaupun anda boleh bermain Habitica secara solo, lampu benar-benar menyala apabila anda mula bekerjasama, bersaing dan saling bertanggungjawab. Bahagian paling berkesan dalam mana-mana program peningkatan diri ialah akauntabiliti sosial, dan apakah persekitaran yang lebih baik untuk akauntabiliti dan persaingan daripada permainan video?", + "marketing2Lead2Title": "Lawan Raksasa", + "marketing3Lead2Title": "Integrasi", + "marketing2Lead2": "Apakah itu Permainan Main Peranan tanpa pertempuran? Lawan raksasa dengan parti anda. Raksasa ialah \"mod akauntabiliti super\" - hari anda terlepas gim ialah hari raksasa itu menyakiti *semua orang!*", + "marketing2Lead3Title": "Saling Cabar", + "marketing2Lead3": "Cabaran membolehkan anda bersaing dengan rakan dan orang yang tidak dikenali. Sesiapa yang melakukan yang terbaik pada akhir cabaran memenangi hadiah istimewa.", + "marketing3Header": "Aplikasi dan Sambungan", + "marketing4Header": "Penggunaan Organisasi", + "marketing4Lead1": "Pendidikan adalah salah satu sektor terbaik untuk gamifikasi. Kita semua tahu betapa terpaku pada telefon dan pelajar permainan hari ini; memanfaatkan kuasa itu! Adukan pelajar anda sesama sendiri dalam pertandingan persahabatan. Ganjaran tingkah laku yang baik dengan hadiah yang jarang berlaku. Saksikan gred dan tingkah laku mereka melonjak.", + "marketing4Lead1Title": "Gamifikasi Dalam Pendidikan", + "marketing4Lead2": "Kos penjagaan kesihatan semakin meningkat, dan sesuatu harus diberikan. Beratus-ratus program dibina untuk mengurangkan kos dan meningkatkan kesihatan. Kami percaya Habitica boleh membuka laluan yang besar ke arah gaya hidup sihat.", + "marketing4Lead3-1": "Mahu gamify hidup anda?", + "marketing4Lead3-2": "Berminat untuk menjalankan kumpulan dalam pendidikan, kesihatan dan banyak lagi?", + "marketing4Lead3Title": "Gamify Semuanya", + "mobileAndroid": "Aplikasi Android", + "mobileIOS": "Aplikasi iOS", + "oldNews": "Berita", + "newsArchive": "Arkib berita di Fandom (berbilang bahasa)", + "setNewPass": "Tetapkan Kata Laluan Baharu", + "password": "Kata laluan", + "playButton": "Main", + "marketing3Lead1": "Aplikasi **iPhone & Android** membolehkan anda menguruskan perniagaan semasa dalam perjalanan. Kami menyedari bahawa log masuk ke laman web untuk mengklik butang boleh menjadi seretan.", + "marketing3Lead2": "**Alat Pihak Ketiga** yang lain mengikat Habitica ke dalam pelbagai aspek kehidupan anda. API kami menyediakan penyepaduan mudah untuk perkara seperti [Sambungan Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), yang mana anda kehilangan mata apabila menyemak imbas tapak web yang tidak produktif, dan mendapat mata apabila menggunakan laman web yang produktif. [Lihat lagi di sini](https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).", + "marketing4Lead2Title": "Gamifikasi Dalam Kesihatan dan Kesejahteraan", + "pkAnswer1": "Jika anda pernah meluangkan masa untuk meningkatkan watak dalam permainan, sukar untuk tidak tertanya-tanya betapa hebatnya hidup anda jika anda meletakkan semua usaha itu untuk memperbaiki diri anda sendiri dan bukannya avatar anda. Kami mula membina Habitica untuk menangani persoalan itu.
Habitica dilancarkan secara rasmi dengan Kickstarter pada tahun 2013, dan idea itu benar-benar bermula. Sejak itu, ia berkembang menjadi projek besar, disokong oleh sukarelawan sumber terbuka kami yang hebat dan pengguna kami yang murah hati.", + "pkAnswer2": "Membentuk tabiat baru adalah sukar kerana orang benar-benar memerlukan ganjaran segera yang jelas itu. Contohnya, sukar untuk memulakan flos, kerana walaupun doktor gigi kami memberitahu kami bahawa ia lebih sihat untuk jangka masa panjang, dalam masa terdekat ia hanya membuatkan gusi anda sakit.
Gamifikasi Habitica menambah rasa kepuasan segera kepada objektif harian dengan memberi ganjaran kepada tugas yang sukar dengan pengalaman, emas… dan mungkin juga hadiah rawak, seperti telur naga! Ini membantu memastikan orang ramai bermotivasi walaupun tugas itu sendiri tidak mempunyai ganjaran intrinsik, dan kami telah melihat orang mengubah kehidupan mereka sebagai hasilnya. Anda boleh menyemak kisah kejayaan di sini: https://habitversary.tumblr.com", + "presskit": "Kit Tekan", + "presskitText": "Terima kasih kerana berminat dengan Habitica! Imej berikut boleh digunakan untuk artikel atau video tentang Habitica. Untuk maklumat lanjut, sila hubungi kami di <%= pressEnquiryEmail %>.", + "pkQuestion1": "Apa yang mengilhamkan Habitica? Bagaimana ia bermula?", + "pkQuestion2": "Mengapa Habitica berfungsi?", + "pkQuestion3": "Mengapa anda menambah ciri sosial?", + "pkAnswer3": "Tekanan sosial merupakan faktor pendorong yang besar untuk ramai orang, jadi kami tahu bahawa kami mahu mempunyai komuniti yang kuat yang akan mempertanggungjawabkan satu sama lain untuk matlamat mereka dan bersorak untuk kejayaan mereka. Nasib baik, salah satu perkara yang terbaik yang dilakukan oleh permainan video berbilang pemain ialah memupuk semangat kemasyarakatan di kalangan pengguna mereka! Struktur komuniti Habitica meminjam daripada jenis permainan ini, anda boleh membentuk Parti kecil kawan rapat, tetapi anda juga boleh menyertai kumpulan yang lebih besar dan berkepentingan yang dikenali sebagai Persatuan. Walaupun sesetengah pengguna memilih untuk bermain solo, kebanyakannya memutuskan untuk membentuk rangkaian sokongan yang menggalakkan akauntabiliti sosial melalui ciri seperti Pencarian, di mana ahli Parti mengumpulkan produktiviti mereka untuk memerangi raksasa bersama-sama.", + "pkQuestion4": "Mengapakah melangkau tugas mengalih keluar kesihatan avatar anda?", + "enterHabitica": "Masuk Habitica", + "pkAnswer4": "Jika anda melangkau salah satu matlamat harian anda, avatar anda akan kehilangan kesihatan pada hari berikutnya. Ini berfungsi sebagai faktor pendorong penting untuk menggalakkan orang ramai mengikuti matlamat mereka kerana orang ramai sangat tidak suka mencederakan avatar kecil mereka! Selain itu, akauntabiliti sosial adalah penting untuk ramai orang: jika anda melawan raksasa dengan rakan anda, melangkau tugasan anda mencederakan avatar mereka juga.", + "pkQuestion5": "Apakah yang membezakan Habitica daripada program gamifikasi lain?", + "pkQuestion6": "Siapakah pengguna biasa Habitica?", + "pkAnswer7": "Habitica menggunakan seni piksel untuk beberapa sebab. Selain faktor nostalgia yang menyeronokkan, seni piksel sangat mudah didekati oleh artis sukarelawan kami yang ingin menyertainya. Lebih mudah untuk memastikan seni piksel kami konsisten walaupun banyak artis berbeza menyumbang, dan ini membolehkan kami menjana satu tan seni baharu dengan cepat. Kandungan!", + "pkQuestion8": "Bagaimanakah Habitica mempengaruhi kehidupan sebenar orang ramai?", + "pkAnswer8": "Anda boleh mendapatkan banyak testimoni tentang cara Habitica telah membantu orang di sini: https://habitversary.tumblr.com", + "pkMoreQuestions": "Adakah anda mempunyai soalan yang tiada dalam senarai ini? Hantar e-mel ke admin@habitica.com!", + "pkPromo": "Promosi", + "pkAnswer5": "Salah satu cara Habitica paling berjaya menggunakan gamifikasi ialah kami telah berusaha keras untuk memikirkan aspek permainan untuk memastikan bahawa ia benar-benar menyeronokkan. Kami juga telah memasukkan banyak komponen sosial, kerana kami merasakan bahawa beberapa permainan yang paling memotivasikan membolehkan anda bermain dengan rakan-rakan, dan kerana penyelidikan telah menunjukkan bahawa lebih mudah untuk membentuk tabiat apabila anda mempunyai akauntabiliti kepada orang lain.", + "pkAnswer6": "Ramai orang yang berbeza menggunakan Habitica! Lebih separuh daripada pengguna kami berumur 18 hingga 34 tahun, tetapi kami mempunyai datuk dan nenek menggunakan tapak tersebut bersama cucu mereka yang masih kecil dan setiap peringkat umur. Selalunya keluarga akan menyertai parti dan memerangi raksasa bersama-sama.
Ramai pengguna kami mempunyai latar belakang dalam permainan, tetapi yang mengejutkan, apabila kami menjalankan tinjauan beberapa ketika dahulu, 40% pengguna kami dikenal pasti sebagai bukan pemain! Jadi nampaknya kaedah kami boleh berkesan untuk sesiapa sahaja yang mahukan produktiviti dan kesejahteraan berasa lebih seronok.", + "pkQuestion7": "Mengapa Habitica menggunakan seni piksel?", + "pkLogo": "Logo", + "pkBoss": "Bos-bos", + "pkSamples": "Contoh Skrin", + "privacy": "Dasar Privasi", + "register": "Daftar", + "pkWebsite": "laman web" } diff --git a/website/common/locales/ms/groups.json b/website/common/locales/ms/groups.json index f6ce396288..190329634d 100755 --- a/website/common/locales/ms/groups.json +++ b/website/common/locales/ms/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ms/limited.json b/website/common/locales/ms/limited.json index 045aba79d6..461b34bdbd 100755 --- a/website/common/locales/ms/limited.json +++ b/website/common/locales/ms/limited.json @@ -27,10 +27,10 @@ "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>", "seasonalShopTitle": "<%= linkStart %>Seasonal Sorceress<%= linkEnd %>", "seasonalShopClosedText": "The Seasonal Shop is currently closed!! It’s only open during Habitica’s four Grand Galas.", - "seasonalShopSummerText": "Happy Summer Splash!! Would you like to buy some rare items? They’ll only be available until July 31st!", - "seasonalShopFallText": "Happy Fall Festival!! Would you like to buy some rare items? They’ll only be available until October 31st!", - "seasonalShopWinterText": "Happy Winter Wonderland!! Would you like to buy some rare items? They’ll only be available until January 31st!", - "seasonalShopSpringText": "Happy Spring Fling!! Would you like to buy some rare items? They’ll only be available until April 30th!", + "seasonalShopSummerText": "Selamat Musim Panas Splash!! Adakah anda ingin membeli beberapa barang yang jarang berlaku? Pastikan anda mendapatkannya sebelum Gala tamat!", + "seasonalShopFallText": "Selamat Perayaan Musim Gugur!! Adakah anda ingin membeli beberapa barang yang jarang berlaku? Pastikan anda mendapatkannya sebelum Gala tamat!", + "seasonalShopWinterText": "Selamat Musim Sejuk Wonderland!! Adakah anda ingin membeli beberapa barang yang jarang berlaku? Pastikan anda mendapatkannya sebelum Gala tamat!", + "seasonalShopSpringText": "Selamat Musim Bunga Fling!! Adakah anda ingin membeli beberapa barang yang jarang berlaku? Pastikan anda mendapatkannya sebelum Gala tamat!", "seasonalShopFallTextBroken": "Oh.... Welcome to the Seasonal Shop... We're stocking autumn Seasonal Edition goodies, or something... Everything here will be available to purchase during the Fall Festival event each year, but we're only open until October 31... I guess you should to stock up now, or you'll have to wait... and wait... and wait... *sigh*", "seasonalShopBrokenText": "My pavilion!!!!!!! My decorations!!!! Oh, the Dysheartener's destroyed everything :( Please help defeat it in the Tavern so I can rebuild!", "seasonalShopRebirth": "If you bought any of this equipment in the past but don't currently own it, you can repurchase it in the Rewards Column. Initially, you'll only be able to purchase the items for your current class (Warrior by default), but fear not, the other class-specific items will become available if you switch to that class.", @@ -41,11 +41,11 @@ "northMageSet": "Mage of the North (Mage)", "icicleDrakeSet": "Icicle Drake (Rogue)", "soothingSkaterSet": "Soothing Skater (Healer)", - "gingerbreadSet": "Gingerbread Warrior (Warrior)", - "snowDaySet": "Snow Day Warrior (Warrior)", + "gingerbreadSet": "Roti Halia (pahlawan)", + "snowDaySet": "Hari Salji (Pahlawan)", "snowboardingSet": "Snowboarding Sorcerer (Mage)", "festiveFairySet": "Festive Fairy (Healer)", - "cocoaSet": "Cocoa Rogue (Rogue)", + "cocoaSet": "Koko (Penyangak)", "toAndFromCard": "To: <%= toName %>, From: <%= fromName %>", "nyeCard": "Kad Tahun Baru", "nyeCardExplanation": "For celebrating the new year together, you both receive the \"Auld Acquaintance\" badge!", @@ -56,7 +56,7 @@ "nye0": "Happy New Year! May you slay many a bad Habit.", "nye1": "Happy New Year! May you reap many Rewards.", "nye2": "Happy New Year! May you earn many a Perfect Day.", - "nye3": "Happy New Year! May your To-Do list stay short and sweet.", + "nye3": "Selamat tahun Baru! Semoga senarai Tugasan anda kekal pendek dan manis.", "nye4": "Happy New Year! May you not get attacked by a raging Hippogriff.", "mightyBunnySet": "Mighty Bunny (Warrior)", "magicMouseSet": "Magic Mouse (Mage)", @@ -74,40 +74,40 @@ "magicianBunnySet": "Magician's Bunny (Mage)", "comfortingKittySet": "Comforting Kitty (Healer)", "sneakySqueakerSet": "Sneaky Squeaker (Rogue)", - "sunfishWarriorSet": "Sunfish Warrior (Warrior)", + "sunfishWarriorSet": "Sunfish (Pahlawan)", "shipSoothsayerSet": "Ship Soothsayer (Mage)", "strappingSailorSet": "Strapping Sailor (Healer)", "reefRenegadeSet": "Reef Renegade (Rogue)", - "scarecrowWarriorSet": "Scarecrow Warrior (Warrior)", + "scarecrowWarriorSet": "Scarecrow (Pahlawan)", "stitchWitchSet": "Stitch Witch (Mage)", "potionerSet": "Potioner (Healer)", - "battleRogueSet": "Bat-tle Rogue (Rogue)", + "battleRogueSet": "Bat-tle (Penyangak)", "springingBunnySet": "Springing Bunny (Healer)", "grandMalkinSet": "Grand Malkin (Mage)", - "cleverDogSet": "Clever Dog (Rogue)", - "braveMouseSet": "Brave Mouse (Warrior)", - "summer2016SharkWarriorSet": "Shark Warrior (Warrior)", - "summer2016DolphinMageSet": "Dolphin Mage (Mage)", - "summer2016SeahorseHealerSet": "Seahorse Healer (Healer)", - "summer2016EelSet": "Eel Rogue (Rogue)", - "fall2016SwampThingSet": "Swamp Thing (Warrior)", - "fall2016WickedSorcererSet": "Wicked Sorcerer (Mage)", - "fall2016GorgonHealerSet": "Gorgon Healer (Healer)", - "fall2016BlackWidowSet": "Black Widow Rogue (Rogue)", - "winter2017IceHockeySet": "Ice Hockey (Warrior)", - "winter2017WinterWolfSet": "Winter Wolf (Mage)", - "winter2017SugarPlumSet": "Sugar Plum Healer (Healer)", - "winter2017FrostyRogueSet": "Frosty Rogue (Rogue)", - "spring2017FelineWarriorSet": "Feline Warrior (Warrior)", + "cleverDogSet": "Anjing Pintar (Penyangak)", + "braveMouseSet": "Tikus Berani (Pahlawan)", + "summer2016SharkWarriorSet": "Jerung (Pahlawan)", + "summer2016DolphinMageSet": "Lumba-lumba (Penyihir)", + "summer2016SeahorseHealerSet": "Kuda laut (Penyembuh)", + "summer2016EelSet": "Belut (Penyangak)", + "fall2016SwampThingSet": "Benda Paya (Warrior)", + "fall2016WickedSorcererSet": "Ahli Sihir Jahat (Mage)", + "fall2016GorgonHealerSet": "Gorgon (Penyembuh)", + "fall2016BlackWidowSet": "Janda Hitam (Penyangak)", + "winter2017IceHockeySet": "Hoki Ais (Pahlawan)", + "winter2017WinterWolfSet": "Serigala Musim Sejuk (Mage)", + "winter2017SugarPlumSet": "Sugar Plum (Penyembuh)", + "winter2017FrostyRogueSet": "Beku (Penyangak)", + "spring2017FelineWarriorSet": "Kucing (Pahlawan)", "spring2017CanineConjurorSet": "Canine Conjuror (Mage)", "spring2017FloralMouseSet": "Floral Mouse (Healer)", "spring2017SneakyBunnySet": "Sneaky Bunny (Rogue)", - "summer2017SandcastleWarriorSet": "Sandcastle Warrior (Warrior)", - "summer2017WhirlpoolMageSet": "Whirlpool Mage (Mage)", + "summer2017SandcastleWarriorSet": "Istana Pasir (Pahlawan)", + "summer2017WhirlpoolMageSet": "Pusaran Air (Penyihir)", "summer2017SeashellSeahealerSet": "Seashell Seahealer (Healer)", "summer2017SeaDragonSet": "Sea Dragon (Rogue)", - "fall2017HabitoweenSet": "Habitoween Warrior (Warrior)", - "fall2017MasqueradeSet": "Masquerade Mage (Mage)", + "fall2017HabitoweenSet": "Habitoween (Pahlawan)", + "fall2017MasqueradeSet": "Penyamaran (Mage)", "fall2017HauntedHouseSet": "Haunted House Healer (Healer)", "fall2017TrickOrTreatSet": "Trick or Treat Rogue (Rogue)", "winter2018ConfettiSet": "Confetti Mage (Mage)", @@ -147,5 +147,6 @@ "winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3", "discountBundle": "bundle", "g1g1Announcement": "Gift a subscription and get a subscription free event going on now!", - "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!" + "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!", + "royalPurpleJackolantern": "Diraja Ungu Jack-O-Lantern" } diff --git a/website/common/locales/ms/pets.json b/website/common/locales/ms/pets.json index eafaab2fee..c38a93794f 100644 --- a/website/common/locales/ms/pets.json +++ b/website/common/locales/ms/pets.json @@ -1,7 +1,7 @@ { "stable": "Kandang", "sortByColor": "Warna", - "food": "Makanan dan Pelana", + "food": "Makanan Haiwan Peliharaan dan Pelana", "foodText": "makanan", "eggSingular": "telur", "eggs": "Telur-telur", @@ -31,5 +31,28 @@ "wackyPets": "Haiwan Peliharaan Pelik", "petsFound": "Haiwan Peliharaan Ditemui", "noActivePet": "Tiada Haiwan Peliharaan aktif", - "activePet": "Haiwan Peliharaan aktif" + "activePet": "Haiwan Peliharaan aktif", + "veteranWolf": "Serigala Veteran", + "questPets": "Haiwan Pencarian", + "cerberusPup": "Anak Anjing Cerberus", + "veteranLion": "Singa Veteran", + "hydra": "Ular naga", + "mantisShrimp": "Udang Mantis", + "veteranTiger": "Harimau Veteran", + "veteranBear": "Beruang Veteran", + "veteranFox": "Musang Veteran", + "mountsTamed": "Haiwan Besar Dijinakkan", + "questMounts": "Lekapan Pencarian", + "mammoth": "Mammoth berbulu", + "invisibleAether": "Aether yang tidak kelihatan", + "hopefulHippogriffPet": "Hippogriff yang penuh harapan", + "hopefulHippogriffMount": "Hippogriff yang penuh harapan", + "royalPurpleJackalope": "Jackalope Ungu Diraja", + "gryphatrice": "Gryphatrice", + "royalPurpleGryphon": "Gryphon Ungu Diraja", + "jubilantGryphatrice": "Gryphatrice gembira", + "quickInventory": "Inventori Pantas", + "potion": "<%= potionType %> Ramuan", + "haveHatchablePet": "Anda memiliki <%= potion %> ramuan penetasan dan <%= egg %> telur untuk menetaskan hewan peliharaan ini! Click untuk menetas!", + "dropsExplanation": "Dapatkan item ini dengan lebih pantas dengan Permata jika anda tidak mahu menunggu item tersebut jatuh semasa menyelesaikan tugas. Ketahui lebih lanjut tentang sistem drop." } diff --git a/website/common/locales/ms/subscriber.json b/website/common/locales/ms/subscriber.json index a0b2f35acd..dcd5259664 100755 --- a/website/common/locales/ms/subscriber.json +++ b/website/common/locales/ms/subscriber.json @@ -1,13 +1,13 @@ { "subscription": "Langganan", "subscriptions": "Langganan-langganan", - "sendGems": "Send Gems", - "buyGemsGold": "Beli permata dengan syiling emas", + "sendGems": "Hantar Permata", + "buyGemsGold": "Beli Permata dengan Mata Emas", "mustSubscribeToPurchaseGems": "Mesti melanggan untuk membeli permata dengan GP", "reachedGoldToGemCap": "You've reached the Gold=>Gem conversion cap <%= convCap %> for this month. We have this to prevent abuse / farming. The cap resets within the first three days of each month.", "reachedGoldToGemCapQuantity": "Your requested amount <%= quantity %> exceeds the Gold=>Gem conversion cap <%= convCap %> for this month. We have this to prevent abuse / farming. The cap resets within the first three days of each month.", "mysteryItem": "Barang bulanan eksklusif", - "mysteryItemText": "Each month you will receive a unique cosmetic item for your avatar! Plus, for every three months of consecutive subscription, the Mysterious Time Travelers will grant you access to historic (and futuristic!) cosmetic items.", + "mysteryItemText": "Setiap bulan anda akan menerima item kosmetik yang unik untuk avatar anda! Selain itu, untuk setiap tiga bulan langganan berturut-turut, Pengembara Masa Misterius akan memberikan anda akses kepada barangan kosmetik bersejarah (dan futuristik!).", "exclusiveJackalopePet": "Exclusive pet", "giftSubscription": "Want to gift a subscription to someone?", "giftSubscriptionText4": "Thanks for supporting Habitica!", @@ -120,7 +120,7 @@ "choosePaymentMethod": "Choose your payment method", "buyGemsSupportsDevs": "Purchasing Gems supports the developers and helps keep Habitica running", "support": "SUPPORT", - "gemBenefitLeadin": "Gems allow you to buy fun extras for your account, including:", + "gemBenefitLeadin": "Apa yang anda boleh beli dengan Permata?", "gemBenefit1": "Unique and fashionable costumes for your avatar.", "gemBenefit2": "Backgrounds to immerse your avatar in the world of Habitica!", "gemBenefit3": "Exciting Quest chains that drop pet eggs.", diff --git a/website/common/locales/ms/tasks.json b/website/common/locales/ms/tasks.json index 1d92d900f8..172346ae37 100755 --- a/website/common/locales/ms/tasks.json +++ b/website/common/locales/ms/tasks.json @@ -1,6 +1,6 @@ { "clearCompleted": "Pemadaman Siap", - "clearCompletedDescription": "Completed To-Dos are deleted after 30 days for non-subscribers and 90 days for subscribers.", + "clearCompletedDescription": "Tugasan Selesai dipadamkan selepas 30 hari untuk bukan pelanggan dan 90 hari untuk pelanggan.", "clearCompletedConfirm": "Are you sure you want to delete your completed To-Dos?", "addMultipleTip": "Tip: To add multiple <%= taskType %>, separate each one using a line break (Shift + Enter) and then press \"Enter.\"", "addATask": "Add a <%= type %>", diff --git a/website/common/locales/nl/achievements.json b/website/common/locales/nl/achievements.json index 901aa0f473..b4a85bc0c6 100644 --- a/website/common/locales/nl/achievements.json +++ b/website/common/locales/nl/achievements.json @@ -74,7 +74,7 @@ "foundNewItems": "Je hebt nieuwe voorwerpen gevonden!", "achievementBugBonanzaModalText": "Je hebt de kever-, vlinder-, slak- en spin-huisdierzoektochten voltooid!", "achievementBugBonanzaText": "Heeft kever-, vlinder-, slak- en spin-huisdierzoektochten voltooid.", - "achievementBugBonanza": "Beesten Bloei", + "achievementBugBonanza": "Beestjes Bonanza", "onboardingCompleteDescSmall": "Als je nog meer wilt, bekijk dan Prestaties en begin met verzamelen!", "onboardingComplete": "Je hebt je onboarding-taken voltooid!", "yourProgress": "Jouw vooruitgang", @@ -138,5 +138,13 @@ "achievementReptacularRumbleModalText": "Je hebt alle reptielen huisdieren verzameld!", "achievementWoodlandWizard": "Bostovenaar", "achievementWoodlandWizardText": "Heeft alle standaard kleuren van huisdieren van de boswezens uitgebroed: Das, Beer, Hert, Vos, Kikker, Egel, Uil, Slak, Eekhoorn en Boomscheut!", - "achievementWoodlandWizardModalText": "Je hebt alle bos huisdieren verzameld!" + "achievementWoodlandWizardModalText": "Je hebt alle bos huisdieren verzameld!", + "achievementBoneToPickText": "Heeft alle Klassieke en Queeste Skelet huisdieren uitgebroed!", + "achievementBoneToPickModalText": "Je hebt alle klassieke en Queeste Skelet Huisdieren verzameld!", + "achievementPolarProText": "Heeft alle Pool Huisdieren gebroed: Beer, Vos, Pinguïn, Walvis en Wolf!", + "achievementPolarProModalText": "Je hebt alle Poolhuisdieren verzameld!", + "achievementPolarPro": "Polaire Prof", + "achievementPlantParentModalText": "Je hebt alle Plant Huisdieren verzamelt!", + "achievementDinosaurDynasty": "Dinosaurus Dinastie", + "achievementPlantParentText": "Heeft alle standaard kleuren van de Plant huisdieren uitgebroed: Cactus en Boomling!" } diff --git a/website/common/locales/nl/backgrounds.json b/website/common/locales/nl/backgrounds.json index 5735a140c0..129da2d496 100644 --- a/website/common/locales/nl/backgrounds.json +++ b/website/common/locales/nl/backgrounds.json @@ -474,9 +474,9 @@ "backgrounds092019": "SET 64: uitgebracht in september 2019", "backgroundFarmersMarketText": "Boerenmarkt", "backgroundPotionShopText": "Uitbroeddrankenwinkel", - "backgroundFlyingInAThunderstormNotes": "Achtervolg een Driftige Donderstorm, zo dichtbij als je durft.", - "backgroundFlyingInAThunderstormText": "Driftige Donderstorm", - "backgroundFarmersMarketNotes": "Koop het meest verse voedsel bij de Boerenmarkt.", + "backgroundFlyingInAThunderstormNotes": "Achtervolg een Driftige Donderbui, zo dichtbij als je durft.", + "backgroundFlyingInAThunderstormText": "Driftige Donderbui", + "backgroundFarmersMarketNotes": "Koop het verste voedsel bij de Boerenmarkt.", "backgrounds112019": "SET 66: Uitgebracht in November 2019", "backgroundClocktowerNotes": "Plaats je geheime schuilplaats achter de wijzerplaat van een Kloktoren.", "backgroundClocktowerText": "Kloktoren", @@ -503,8 +503,8 @@ "backgroundSnowglobeText": "Sneeuwbol", "backgroundDesertWithSnowNotes": "Aanschouw de zeldzame en zachte schoonheid van een Besneeuwde Woestijn.", "backgroundDesertWithSnowText": "Besneeuwde Woestijn", - "backgroundBirthdayPartyNotes": "Vier de Verjaardag van je favoriete Habiticaan.", - "backgroundBirthdayPartyText": "Verjaardags Feest", + "backgroundBirthdayPartyNotes": "Vier de verjaardag van je favoriete Habiticaan.", + "backgroundBirthdayPartyText": "Verjaardagfeest", "backgrounds012020": "SET 68: Uitgebracht Januari 2020", "backgroundWinterNocturneNotes": "Baad in het sterrenlicht van een Winters Nachttafereel.", "backgroundWinterNocturneText": "Winters Nachttafereel", @@ -671,7 +671,7 @@ "backgroundOnACastleWallText": "Op Een Kasteelmuur", "backgroundCastleGateText": "Kasteel Poort", "backgroundCastleGateNotes": "Sta op wacht bij het Kasteel Poort.", - "backgroundEnchantedMusicRoomText": "Betoverd Muziekkamer", + "backgroundEnchantedMusicRoomText": "Betoverde Muziekkamer", "backgroundSpringtimeLakeNotes": "Geniet van het zicht langs de oevers van een Lente Meer.", "backgrounds052022": "SET 96: Uitgekomen in Mei 2022", "backgroundOnACastleWallNotes": "Kijk uit van Op Een Kasteelmuur.", diff --git a/website/common/locales/nl/communityguidelines.json b/website/common/locales/nl/communityguidelines.json index e29c1da18b..be7be5ca12 100644 --- a/website/common/locales/nl/communityguidelines.json +++ b/website/common/locales/nl/communityguidelines.json @@ -4,55 +4,55 @@ "commGuideHeadingWelcome": "Welkom in Habitica!", "commGuidePara001": "Wees gegroet, avonturier! Welkom in Habitica, het land van productiviteit, een gezonde levensstijl en de incidentele op hol geslagen griffioen. We hebben een vrolijke gemeenschap van behulpzame mensen die elkaar ondersteunen op weg naar zelfverbetering. Om er bij te passen heb je alleen een positieve houding, respectvolle manieren, en het begrip dat iedereen andere vaardigheden en limieten heeft -- inclusief jij! Habiticanen zijn geduldig met elkaar en proberen te helpen waar mogelijk.", "commGuidePara002": "Om iedereen in de gemeenschap veilig, gelukkig en productief te houden, hebben we enkele richtlijnen. We hebben ze zorgvuldig samengesteld om zo vriendelijk en leesbaar mogelijk te zijn. Neem alsjeblieft even de tijd om ze door te lezen voordat je begint met chatten.", - "commGuidePara003": "Deze regels gelden voor alle gemeenschappelijke ruimtes die we gebruiken, inclusief (maar niet noodzakelijkerwijs beperkt tot) Trello, GitHub, Weblate, en de Habitica Wiki op Fandom. Naarmate geemeenschappen groeien en veranderen, kan het zijn dat hun regels van tijd tot tijd worden aangepast. Wanneer er substantiële veranderingen zijn in deze Richtlijnen, dan hoor je erover in een Bailey-aankondiging en/of op onze sociale media!", + "commGuidePara003": "Deze regels gelden voor alle gemeenschappelijke ruimtes die we gebruiken, inclusief (maar niet noodzakelijkerwijs beperkt tot) Trello, GitHub, Weblate, en de Habitica Wiki op Fandom. Naarmate gemeenschappen groeien en veranderen, kan het zijn dat hun regels van tijd tot tijd worden aangepast. Wanneer er substantiële veranderingen zijn aan de hier beschreven leefregels, dan hoor je erover in een Bailey-aankondiging en/of op onze sociale media!", "commGuideHeadingInteractions": "Interacties in Habitica", "commGuidePara015": "Habitica heeft twee soorten gemeenschappelijke ruimtes: openbare en besloten. Openbare ruimtes zijn onder andere de herberg, openbare Gildes, GitHub, Trello, en de Wiki. Besloten ruimtes zijn de particuliere Gildes, groepschat en privéberichten. Alle zichtbare namen en @gebruikersnamen moeten voldoen aan de richtlijnen voor openbare ruimtes. Om je zichtbare naam en/of @gebruikersnaam te veranderen, ga je op mobiel naar Menu > Instellingen > Profiel, of op de website naar Gebruiker > Profiel.", "commGuidePara016": "In de openbare ruimtes in Habitica gelden enkele regels om iedereen veilig en gelukkig te houden.", "commGuideList02A": "Heb respect voor elkaar. Wees netjes, aardig, vriendelijk en behulpzaam. Onthoud dat Habiticanen uit allerlei verschillende culturen komen en enorm uiteenlopende ervaringen gehad hebben. Dit is een onderdeel van wat Habitica zo cool maakt! Het opbouwen van een gemeenschap betekent dat we zowel onze verschillen als onze gelijkenissen moeten respecteren en vieren.", - "commGuideList02B": "Houd je aan de algemene voorwaarden in zowel openbare als besloten ruimtes.", + "commGuideList02B": "Houd je aan de algemene voorwaarden in zowel openbare als besloten ruimtes.", "commGuideList02C": "Plaats geen tekst of beeldmateriaal dat gewelddadig, dreigend of seksueel expliciet/suggestief is, of dat discriminatie, onverdraagzaamheid, racisme, seksisme, haat of intimidatie aanwakkeren of letsel dreigen tegenover individuen of groepen. Zelfs niet als grapje of meme. Dat geldt ook voor scheldwoorden. Niet iedereen heeft het zelfde gevoel voor humor, en dus kan iets grappig bedoeld zijn maar toch kwetsend overkomen.", "commGuideList02D": "Houd gesprekken geschikt voor alle leeftijden. Dit betekent het vermijden van volwassene onderwerpen op openbare plekken. We hebben veel jonge Habiticanen die de site gebruiken, en mensen komen van alle rangen en standen. We willen dat ons gemeenschap zo comfortabel en inclusief is als mogelijk.", - "commGuideList02E": "Vermijd vloeken. Dit geldt ook voor mildere religieuze vloeken die elders misschien wel acceptabel zijn, en afgekorte of verhulde vloeken. Er zijn hier mensen met allerlei religieuze en culturele achtergronden en we willen ervoor zorgen dat iedereen zich op zijn gemak voelt in de openbare ruimtes. Als een beheerder of werknemer zegt dat een term niet toegestaan is op Habitica, zelfs al is het een term waarvan je niet wist dat het problematisch was, die beslissing staat vast. Vloeken is een overtreding van de algemene voorwaarden, en er wordt streng tegen opgetreden.", - "commGuideList02F": "Vermijd uitgestrekte discussies of aanstotende onderwerpen in de Herberg en waar het ongerelateerd zou zijn. Als iemand iets noemt wat toegestaan is volgens de richtlijnen maar schadelijk is voor jou, is het acceptabel om hen dit netjes aan te geven. Als iemand je vertelt dat je hen oncomfortabel hebt gemaakt, neem de tijd om na te denken in plaats van boos te reageren. Maar als je het gevoel hebt dat een gesprek verhit raakt, overdreven emotioneel wordt of kwetsend wordt, verlaat het gesprek. Rapporteer de berichten om ons op de hoogte te brengen. Moderators zullen zo snel mogelijk reageren. U kunt ook een e-mail sturen naar admin@habitica.com en schermopnames bijsluiten indien nuttig.", - "commGuideList02G": "Gehoorzaam moderator verzoeken direct. Dit kan inhouden, maar is niet beperkt tot: verzoeken om je berichten te limiteren in een bepaalde ruimte, het bewerken van je profiel om ongepaste inhoud te verwijderen, vragen om je discussie naar een meer gepaste ruimte te verplaatsen, en dergelijke. Spreek de beheerders niet tegen. Als je zorgen of opmerkingen hebt over moderatie, stuur dan een e-mail naar admin@habitica.com om contact op te nemen met onze community manager.", - "commGuideList02J": "Niet spammen. Spammen kan inhouden, maar is niet beperkt tot: dezelfde opmerking of verzoek op meerdere plekken te versturen, het versturen van links zonder uitleg of context, onzinnige berichten versturen, meerdere promotieberichten voor een Gilde, gezelschap of uitdaging versturen of veel berichten op een rij versturen. Als het klikken op een link door mensen voor jou gunstig is, moet je dat onthullen in de tekst van het bericht, anders telt dit ook als spammen. Moderators beslissen op eigen oordeel wat als spam gezien wordt.", + "commGuideList02E": "Vermijd vloeken. Dit geldt ook voor mildere religieuze vloeken die elders misschien wel acceptabel zijn, en afgekorte of verhulde vloeken. Er zijn hier mensen met allerlei religieuze en culturele achtergronden en we willen ervoor zorgen dat iedereen zich op zijn gemak voelt in de openbare ruimtes. Als een beheerder zegt dat een term niet toegestaan is op Habitica, zelfs al is het een term waarvan je niet wist dat het problematisch was, die beslissing staat vast. Vloeken is een overtreding van de algemene voorwaarden, en er wordt streng tegen opgetreden.", + "commGuideList02F": "Vermijd uitgestrekte discussies of aanstotende onderwerpen in de Herberg en waar het ongerelateerd zou zijn. Als iemand iets noemt wat toegestaan is volgens de richtlijnen maar schadelijk is voor jou, is het acceptabel om hen dit netjes aan te geven. Als iemand je vertelt dat je hen oncomfortabel hebt gemaakt, neem de tijd om na te denken in plaats van boos te reageren. Maar als je het gevoel hebt dat een gesprek verhit raakt, overdreven emotioneel wordt of kwetsend wordt, verlaat het gesprek. Rapporteer de berichten om ons op de hoogte te brengen. Beheerders zullen zo snel mogelijk reageren. U kunt ook een e-mail sturen naar admin@habitica.com en schermopnames bijsluiten indien nuttig.", + "commGuideList02G": "Gehoorzaam moderator verzoeken direct. Dit kan inhouden, maar is niet beperkt tot: verzoeken om je berichten te limiteren in een bepaalde ruimte, het bewerken van je profiel om ongepaste inhoud te verwijderen, vragen om je discussie naar een meer gepaste ruimte te verplaatsen, en dergelijke meer. Spreek de beheerders niet tegen. Als je zorgen of opmerkingen hebt over moderatie, stuur dan een e-mail naar admin@habitica.com om contact op te nemen met onze community manager.", + "commGuideList02J": "Niet spammen. Spammen kan inhouden, maar is niet beperkt tot: dezelfde opmerking of verzoek op meerdere plekken te versturen, het versturen van links zonder uitleg of context, onzinnige berichten versturen, meerdere promotieberichten voor een Gilde, gezelschap of uitdaging versturen of veel berichten op een rij versturen. Als het klikken op een link door mensen voor jou gunstig is, moet je dat onthullen in de tekst van het bericht, anders telt dit ook als spammen. Beheerders beslissen op eigen oordeel wat als spam gezien wordt.", "commGuideList02K": "Vermijd het plaatsen van berichten met grote tekst in publieke chat ruimtes, voornamelijk de Herberg. Net als ALLES IN HOOFDLETTERS, leest het alsof je aan het schreeuwen bent en verstoort het de comfortabele atmosfeer.", - "commGuideList02L": "We raden het ten zeerste af om persoonlijke informatie uit te wisselen -- in het bijzonder informatie die je kan identificeren - in publieke chat ruimtes. Identificerende informatie kan de volgende gegevens bevatten maar is niet beperkt tot deze: je adres, je e-mail adres en je API token/wachtwoord. Dit is voor je veiligheid! Staf of beheerders mogen zulke berichten verwijderen. Als er persoonlijke informatie wordt gevraagd in een privé Gilde, gezelschap of privé bericht, dan raden we je aan om vriendelijk te weigeren en de staf en beheerders te informeren door ofwel 1) het bericht te melden, of 2) een e-mail te sturen naar admin@habitica.com en screenshots bij te voegen.", + "commGuideList02L": "We raden het ten zeerste af om persoonlijke informatie uit te wisselen -- in het bijzonder informatie die je kan identificeren - in publieke chat ruimtes. Identificerende informatie kan de volgende gegevens bevatten maar is niet beperkt tot deze: je adres, je e-mail adres en je API token/wachtwoord. Dit is voor je veiligheid! Beheerders mogen zulke berichten verwijderen. Als er persoonlijke informatie wordt gevraagd in een privé Gilde, gezelschap of privé bericht, dan raden we je aan om vriendelijk te weigeren en de staf te informeren door ofwel 1) het bericht te melden, of 2) een e-mail te sturen naar admin@habitica.com en screenshots bij te voegen.", "commGuidePara019": "In besloten ruimtes hebben gebruikers meer vrijheid om de onderwerpen te bespreken die ze maar willen, maar ze mogen nog steeds de algemene voorwaarden niet overtreden. Plaats dus geen discriminerend, gewelddadig of bedreigend materiaal. Merk op: omdat namen van uitdagingen komen te staan in het openbare profiel van de winnaar, moeten ALLE uitdagingsnamen voldoen aan de richtlijnen voor openbare ruimtes, zelfs als ze verschijnen in een besloten ruimte.", "commGuidePara020": "Privé berichten hebben extra richtlijnen. Als iemand je geblokkeerd heeft, contacteer hen dan niet ergens anders om te vragen om het teniet te doen. Daarnaast zou je geen privéberichten moeten sturen naar iemand die om hulp vraagt (gezien openbare antwoorden nuttig zijn voor de gemeenschap). Als laatste, stuur geen privéberichten om te bedelen voor betaalde inhoud van elke soort.", - "commGuidePara020A": "Als je een bericht of privébericht ziet waarvan je denkt dat het een overtreding is van de richtlijnen voor openbare ruimtes of als je een bericht of privébericht ziet waarbij je je ongemakkelijk voelt, dan kan je dit melden aan de moderators en medewerkers door op de Melden-knop te klikken. Een medewerker of moderator zal zo snel mogelijk op de situatie reageren. Let wel dat het opzettelijk melden van onschuldige berichten een overtreding is van deze richtlijnen (zie onderstaand in \"Overtredingen\"). Je kan ook contact opnemen met de moderators via admin@habitica.com . Je kan dit willen doen als er meerdere problematische berichten door dezelfde persoon in verschillende Gildes zijn, of als de situatie wat uitleg vereist. Je kan ons willen bereiken in je moedertaal als dat het eenvoudigst is voor jou: we zullen mogelijk Google Translate moeten gebruiken, maar we willen dat je jezelf comfortabel voelt bij het ons contacteren indien je een probleem hebt.", + "commGuidePara020A": "Als je een bericht of privébericht ziet waarvan je denkt dat het een overtreding is van de richtlijnen voor openbare ruimtes of als je een bericht of privébericht ziet waarbij je je ongemakkelijk voelt, dan kan je dit melden aan de beheerders door op de Melden-knop te klikken. Een beheerder zal zo snel mogelijk op de situatie reageren. Let wel dat het opzettelijk melden van onschuldige berichten een overtreding is van deze richtlijnen (zie onderstaand in \"Overtredingen\"). Je kan ook contact opnemen met een beheerder via admin@habitica.com . Je kan dit willen doen als er meerdere problematische berichten door dezelfde persoon in verschillende Gildes zijn, of als de situatie wat uitleg vereist. Je kan ons willen bereiken in je moedertaal als dat het eenvoudigst is voor jou: we zullen mogelijk Google Translate moeten gebruiken, maar we willen dat je jezelf comfortabel voelt bij het ons contacteren indien je een probleem hebt.", "commGuidePara021": "Voor sommige openbare ruimtes in Habitica gelden extra richtlijnen.", "commGuideHeadingTavern": "De herberg", "commGuidePara022": "De herberg is de belangrijkste plek waar Habiticanen samen kunnen komen. Daniël de Barman houdt de boel brandschoon, en Lemoness tovert graag wat limonade voor je tevoorschijn terwijl je ergens een plekje zoekt om te zitten en praten. Onthoud echter wel…", - "commGuidePara023": "Gesprekken draaien meestal rond informeel kletsen en productiviteits- of levensverbeteringstips. Omdat de herbergchat maar 200 berichten kan onthouden is het geen goede plek voor langere gesprekken over één onderwerp, vooral niet over gevoelige onderwerpen (zoals politiek, religies, depressie, het wel of niet verbieden van de aardmanjacht, enz.). Deze gesprekken zouden in de daarvoor geschikte gilde verplaatst moeten worden. Een moderator kan je naar een geschikte Gilde sturen, maar het is uiteindelijk je eigen verantwoordelijkheid voor het vinden van, en berichten te sturen op de geschikte plaats.", + "commGuidePara023": "Gesprekken draaien meestal rond informeel kletsen en productiviteits- of levensverbeteringstips. Omdat de herbergchat maar 200 berichten kan onthouden is het geen goede plek voor langere gesprekken over één onderwerp, vooral niet over gevoelige onderwerpen (zoals politiek, religies, depressie, het wel of niet verbieden van de aardmanjacht, enz.). Deze gesprekken zouden in de daarvoor geschikte Gilde verplaatst moeten worden. Een beheerder kan je naar een geschikte Gilde sturen, maar het is uiteindelijk je eigen verantwoordelijkheid voor het vinden van, en berichten te sturen op de geschikte plaats.", "commGuidePara024": "Bespreek geen verslavende middelen in de herberg. Veel mensen gebruiken Habitica om van hun slechte gewoontes af te komen. Gesprekken over verslavende of illegale middelen maakt dit wellicht veel moeilijker voor ze! Toon respect voor je mede-herberggasten en houd hier rekening mee. Hieronder vallen onder andere: roken, alcohol, pornografie, gokken en drugsgebruik en -misbruik.", "commGuidePara027": "Als een moderator aangeeft dat je het gesprek elders moet gaan houden en er geen relevante Gilde is, kunnen ze suggereren om de 'Back Corner' te gebruiken. De 'Back Corner'-Gilde is een vrije openbare ruimte voor het discusseren van potentieel gevoelige onderwerpen die alleen gebruikt mag worden wanneer een moderator dat heeft gevraagd. Het wordt zorgvuldig gesurveilleerd door het team van moderators. Het is niet de plaats voor algemene discussies of gesprekken, en je wordt er alleen naartoe verwezen door een moderator wanneer het gepast is.", "commGuideHeadingPublicGuilds": "Openbare Gildes", "commGuidePara029": "Openbare Gildes lijken op de herberg, behalve dat ze een eigen thema hebben en niet zo gericht zijn op algemene gesprekken. Openbare chat in de Gildes moet op dit thema gericht zijn. Leden van het Wordsmith-Gilde vinden het waarschijnlijk niet leuk als het gesprek opeens over tuinieren gaat in plaats van over schrijven, en een Drakenfokkersgilde is misschien niet geïnteresseerd in het ontcijferen van oeroude runen. Sommige Gildes zijn hier minder streng in dan anderen, maar over het algemeen geldt: houd je aan het onderwerp!", "commGuidePara031": "Sommige openbare Gildes bespreken gevoelige onderwerpen zoals depressie, religie, politiek, en dergelijke. Dit is prima, zolang de gesprekken in het gilde de algemene voorwaarden of richtlijnen voor openbare ruimtes niet overtreden, en zolang ze over het onderwerp blijven gaan.", "commGuidePara033": "Openbare Gildes mogen GEEN 18+ materiaal bevatten. Als ze van plan zijn om regelmatig gevoelig materiaal te bespreken, moeten ze dat aangeven in de beschrijving van het gilde. Dit houdt Habitica voor iedereen veilig en comfortabel.", - "commGuidePara035": "Als het Gilde over andere gevoelige onderwerpen gaat, is het goed om respect te tonen naar je mede-Habiticanen door een waarschuwing te plaatsen in je berichten (zoals \"Waarschuwing: verwijzing naar zelfverminking\"). Deze kunnen getoond worden als waarschuwingen en/of inhoudsnotities, en Gildes mogen hun eigen regels hebben in samenhang met de regels die hier vermeld zijn. Gebruik indien mogelijk Markdown om de mogelijk gevoelige inhoud te verbergen onder witlijnen zodat zij die het willen vermijden erlangs kunnen scrollen zonder de inhoud te zien. Habitica-medewerkers en -moderators mogen dit materiaal alsnog verwijderen.", + "commGuidePara035": "Als het in de Gilde over verschillende gevoelige onderwerpen gaat, is het goed om respect te tonen naar je mede-Habiticanen door een waarschuwing te plaatsen in je berichten (zoals \"Waarschuwing: verwijzing naar zelfverminking\"). Deze kunnen getoond worden als waarschuwingen en/of inhoudsnotities, en Gildes mogen hun eigen regels hebben in samenhang met de regels die hier vermeld zijn. Habitica-beheerders en mogen dit materiaal alsnog verwijderen.", "commGuidePara036": "Het gevoelige materiaal moet bovendien actueel zijn. Beginnen over zelfverminking in een Gilde die zich focust op het strijden tegen depressie kan zinvol zijn, maar is waarschijnlijk minder gepast in een Muziekgilde. Als je iemand ziet die deze richtlijn herhaaldelijk overtreedt, vooral na meerdere verzoeken om ermee op te houden, rapporteer dan alsjeblieft de berichten.", "commGuidePara037": "Er mogen geen gildes, openbaar of besloten, gecreëerd worden met het doel om een persoon of groep aan te vallen. Zo'n gilde starten is reden voor een onmiddellijke royering. Vecht tegen je slechte gewoontes, niet tegen je mede-avonturiers!", "commGuidePara038": "Alle uitdagingen die door de herberg of door openbare gildes georganiseerd worden, moeten zich ook aan deze regels houden.", "commGuideHeadingInfractionsEtc": "Overtredingen, gevolgen en herstel", "commGuideHeadingInfractions": "Overtredingen", "commGuidePara050": "Voor het grootste gedeelte zijn Habiticanen respectvol, bereid om elkaar te helpen, en samen bezig om de gemeenschap leuk en vriendelijk te maken. Heel af en toe komt het echter voor dat een Habiticaan één van bovenstaande richtlijnen overtreedt. Als dit gebeurt, komen de beheerders in actie om Habitica veilig en comfortabel te houden voor iedereen.", - "commGuidePara051": "Hoe een overtreding wordt aangepakt, hangt af van de ernst ervan. Dit zijn geen uitgebreide lijsten, en de moderators kunnen naar hun eigen inzicht belissingen maken op onderwerpen die hierin niet beschreven worden. De beheerders zullen ook de context in acht nemen wanneer ze een overtreding evalueren.", + "commGuidePara051": "Hoe een overtreding wordt aangepakt, hangt af van de ernst ervan. Dit zijn geen uitgebreide lijsten, en de beheerders kunnen naar hun eigen inzicht belissingen maken op onderwerpen die hierin niet beschreven worden. De beheerders zullen ook de context in acht nemen wanneer ze een overtreding evalueren.", "commGuideHeadingSevereInfractions": "Ernstige overtredingen", "commGuidePara052": "Ernstige overtredingen brengen ernstige schade toe aan de veiligheid van de gebruikers en gemeenschap van Habitica en hebben daarom ernstige gevolgen als resultaat.", "commGuidePara053": "Hieronder volgen enkele voorbeelden van ernstige overtredingen. Dit is geen complete lijst.", "commGuideList05A": "Overtreden van de algemene voorwaarden", "commGuideList05B": "Haatzaaien door tekst of beeldmateriaal, intimidatie/stalking, cyberpesten, ruzie zoeken en trolling", "commGuideList05C": "Overtreding van voorwaardelijke straf", - "commGuideList05D": "Je voordoen als medewerker of moderator - dit rekent mee het beweren dat gebruiker-gemaakte plekken die niet aangesloten zijn op Habitica officieel en/of gemodereerd worden door Habitica of zijn Moderatoren/medewerkers", + "commGuideList05D": "Je voordoen als beheerder of moderator - het beweren dat ruimtes voor gebruikers, die niet aangesloten zijn op Habitica officieel en/of gemodereerd worden door Habitica of zijn beheerders, toch officieel zijn, wordt ook hieronder begrepen", "commGuideList05E": "Herhaalde gematigde overtredingen", "commGuideList05F": "Een nieuw account aanmaken om gevolgen te ontlopen (zoals een nieuw account aanmaken om te kunnen chatten nadat je je chatprivileges verloren hebt)", - "commGuideList05G": "Opzettelijk liegen tegen medewerkers of moderators om gevolgen te vermijden of een andere gebruiker in problemen te brengen", + "commGuideList05G": "Opzettelijk liegen tegen beheerders om gevolgen te vermijden of een andere gebruiker in problemen te brengen", "commGuideHeadingModerateInfractions": "Gematigde overtredingen", "commGuidePara054": "Gematigde overtredingen zorgen er niet voor dat onze gemeenschap onveilig wordt, maar ze maken hem wel onprettig. Deze overtredingen hebben gematigde gevolgen. Na meerdere overtredingen kunnen de gevolgen ernstiger worden.", "commGuidePara055": "Hieronder volgen enkele voorbeelden van gematigde overtredingen. Dit is geen complete lijst.", - "commGuideList06A": "Een moderator negeren, respectloos behandelen of beredeneren. Hieronder valt in het openbaar klagen over moderators of andere gebruikers, in het openbaar verheerlijken of verdedigen van gebruikers die geroyeerd zijn of het debatteren of een actie van een moderator gepast was. Als je je zorgen maakt over een van de regels of het gedrag van moderators, neem dan contact op met het personeel door een e-mail te sturen naar (admin@habitica.com).", + "commGuideList06A": "Een beheerder negeren, respectloos behandelen of ermee twisten. Hieronder valt ook in het openbaar klagen over beheerders of andere gebruikers, in het openbaar verheerlijken of verdedigen van gebruikers die geroyeerd zijn, of het debatteren over of een actie van een beheerder gepast was. Als je jou zorgen maakt over een van de regels of het gedrag van een beheerder, neem dan contact op met ons door een e-mail te sturen naar (admin@habitica.com).", "commGuideList06B": "Beheerderstaken overnemen. Om even duidelijk te zijn: het is prima om iemand vriendelijk aan de regels te herinneren. Beheerderstaken overnemen houdt in dat je vertelt, eist of sterk impliceert dat iemand een fout moet corrigeren door te doen wat jij zegt. Het is prima om mensen erop te wijzen dat ze een overtreding begaan, maar vertel ze niet wat ze moeten doen. Bijvoorbeeld: \"Dat je het weet, scheldwoorden gebruiken in de herberg wordt afgeraden, dus misschien wil je dat verwijderen\" is beter dan \"Ik moet je vragen om dat bericht te verwijderen.\"", "commGuideList06C": "Opzettelijk onschuldige berichten melden.", "commGuideList06D": "Herhaalde overtreding van de richtlijnen voor openbare ruimtes", @@ -61,12 +61,12 @@ "commGuidePara056": "Het wordt je afgeraden om kleine overtredingen te begaan, maar ze hebben wel kleine gevolgen. Als ze blijven gebeuren, kunnen er echter zwaardere gevolgen opgelegd worden.", "commGuidePara057": "Hieronder volgen enkele voorbeelden van kleine overtredingen. Dit is geen volledige lijst.", "commGuideList07A": "Voor de eerste keer een richtlijn voor openbare ruimtes overtreden", - "commGuideList07B": "Alle opmerkingen waarop je een \"Alsjeblieft niet\" te horen krijgt van een beheerder. Als je in het openbaar wordt gevraagd om iets niet te doen, dan kan dit op zichzelf een gevolg zijn. Als beheerders één persoon vaker moeten terechtwijzen op deze manier, dan kan het tellen als een grotere overtreding", + "commGuideList07B": "Alle opmerkingen waarop je een \"Alsjeblieft niet\" te horen krijgt van een beheerder. Als je gevraagd wordt om iets niet in het openbaar te doen, dan kan dit op zichzelf gevolgen hebben. Als beheerders één persoon vaker moeten terechtwijzen op deze manier, dan kan het tellen als een grotere overtreding", "commGuidePara057A": "Sommige berichten kunnen verborgen zijn omdat ze gevoelige informatie bevatten of mensen misschien het verkeerde idee geven. Typisch telt dit niet als een overtreding, vooral de eerste keer niet!", "commGuideHeadingConsequences": "Gevolgen", "commGuidePara058": "In Habitica - net zoals in het echte leven - heeft iedere actie een gevolg, of dat nou is dat je fitter wordt omdat je vaker hard hebt gelopen, gaatjes krijgt omdat je te veel suiker hebt gegeten, of een voldoende haalt omdat je goed gestudeerd hebt.", "commGuidePara059": "Ook overtredingen hebben directe gevolgen. Hieronder volgen enkele voorbeelden van gevolgen.", - "commGuidePara060": "Als je overtreding een gematigd of ernstig gevolg heeft, krijg je een bericht van een medewerker of moderator op het forum waar de overtreding plaatsvond, waarin staat:", + "commGuidePara060": "Als je overtreding een gematigd of ernstig gevolg heeft, krijg je een bericht van een beheerder op het forum waar de overtreding plaatsvond, waarin staat:", "commGuideList08A": "wat je overtreding was", "commGuideList08B": "wat het gevolg is", "commGuideList08C": "wat je moet doen om de situatie te corrigeren en je status te herstellen, waar mogelijk.", @@ -77,7 +77,7 @@ "commGuideList09C": "Permanent blokkeren (\"bevriezen\") van je vooruitgang door de bijdragersrangen", "commGuideHeadingModerateConsequences": "Voorbeelden van gematigde gevolgen", "commGuideList10A": "Beperkte toestemming om in openbare en/of privé chats mee te doen", - "commGuideList10A1": "Als je acties resulteren in het afnemen van je chatrechten, dan stuurt een moderator of medewerker een privébericht naar je en/of plaatst een bericht op het forum waar je gedempt bent om uit te leggen waarom je gedempt bent en voor hoe lang. Na die periode krijg je je chatrechten terug, er vanuit gaand dat je bereid bent je gedrag aan te passen waarvoor je gedempt bent en je aan de gemeenschapsregels houdt", + "commGuideList10A1": "Als je acties resulteren in het afnemen van je chatrechten, kan je een e-mail sturen aan admin@habitica.com. Je kan hersteld worden in je rechten naar goeddunken van de beheerders als je bereid bent je gedrag aan te passen aan het gevraagde en je akkoord gaat om je voortaan aan de gemeenschapsregels en gebruiksvoorwaarden te houden.", "commGuideList10C": "Beperkte toestemming om Gildes of Uitdagingen te creëren", "commGuideList10D": "Tijdelijk blokkeren (\"bevriezen\") van je vooruitgang door de bijdragersrangen", "commGuideList10E": "Bijdragersrang afnemen", @@ -86,15 +86,15 @@ "commGuideList11A": "Herinnerd worden aan de richtlijnen voor openbare ruimtes", "commGuideList11B": "Waarschuwingen", "commGuideList11C": "Verzoeken", - "commGuideList11D": "Verwijderingen (moderators en medewerkers mogen problematisch materiaal verwijderen)", - "commGuideList11E": "Aanpassingen (moderators en medewerkers mogen problematisch materiaal aanpassen)", + "commGuideList11D": "Verwijderingen (Beheerders mogen problematische inhoud verwijderen)", + "commGuideList11E": "Aanpassingen (Beheerders mogen problematisch materiaal aanpassen)", "commGuideHeadingRestoration": "Herstel", "commGuidePara061": "Habitica is een land dat gewijd is aan zelfverbetering, en we geloven dan ook in het geven van een tweede kans. Als je een overtreding begaat en een gevolg opgelegd krijgt, zie dat dan als een kans om je acties te evalueren en ernaar te streven een beter gemeenschapslid te zijn.", "commGuidePara062": "De aankondiging, het bericht, en/of de e-mail die je ontvangt met de consequenties van je acties is een goede bron van informatie. Werk mee met iedere restrictie die van kracht is en probeer te voldoen aan de eisen om de sancties op te laten heffen.", - "commGuidePara063": "Als je de gevolgen niet begrijpt, of niet begrijpt wat je overtreding is geweest, vraag dan de medewerkers of moderators om hulp zodat je in de toekomst niet weer de fout in gaat. Als je het niet eens bent met een bepaalde beslissing, dan kan je contact opnemen met de medewerkers om erover te discusseren via admin@habitica.com.", - "commGuideHeadingMeet": "Ontmoet de staf en de moderators!", + "commGuidePara063": "Als je de gevolgen niet begrijpt, of niet begrijpt wat je overtreding is geweest, vraag dan een beheerder om hulp zodat je in de toekomst niet weer de fout in gaat. Als je het niet eens bent met een bepaalde beslissing, dan kan je contact opnemen met de beheerder om erover te discusseren via admin@habitica.com.", + "commGuideHeadingMeet": "Maak kennis met de Beheerders!", "commGuidePara006": "Habitica heeft een aantal onvermoeibare dolende ridders die samen met de werknemers de gemeenschap kalm, tevreden en trolvrij houden. Ze hebben allemaal een eigen domein maar worden soms gevraagd om in een ander deel van de gemeenschap actief te zijn.", - "commGuidePara007": "Werknemers hebben paarse naamlabels met kroontjes erop. Hun titel is \"Heroisch\".", + "commGuidePara007": "De Habitica Beheerders houden de app en de webpagina's lopende en kunnen ageren als gespreksmoderators. Ze hebben paarse naamlabels met kroontjes erop. Hun titel is \"Heroisch\".", "commGuidePara008": "Beheerders hebben donkerblauwe labels met sterren erop. Hun titel is \"Bewaker\".", "commGuidePara009": "De huidige werknemers zijn (van links naar rechts):", "commGuideAKA": "<%= habitName %> alias <%= realName %>", @@ -126,8 +126,9 @@ "commGuideList02M": "Vraag of smeek niet om edelstenen, abonnementen of lidmaatschappen in Groepsplannen. Dit is niet toegestaan in de Herberg, openbare of privé gesprekken, of in Privéberichten. Als je berichten ontvangt waarin wordt gevraagd om betaalde voorwerpen, meld ze a.u.b. door te klikken op het vlag icoontje onder het bericht. Herhaalde of heftige gesmeek om edelstenen of abonnementen, vooral na een waarschuwing, kan resulteren in een accountverbanning.", "commGuideList01F": "Geen gesmeek om betaalde voorwerpen, spammen of grote koptekst/hoofdletters.", "commGuideList01A": "Algemene voorwaarden worden overal toegepast, inclusief privé gilden, groep chat en berichten.", - "commGuideList01E": "Start of ga geen controversiële gesprekken aan in de Herberg.", + "commGuideList01E": "Start of ga geen controversiële gesprekken aan in de Herberg.", "commGuidePara017": "Hier is de korte versie, maar we moedigen je aan in meer detail te lezen hieronder:", "commGuideList05H": "Ernstige of herhaalde pogingen om andere spelers te bedriegen of onder druk te zetten voor voorwerpen dat echt geld kosten", - "commGuideList09D": "Verwijdering of degradatie van Bijdrager Rangen" + "commGuideList09D": "Verwijdering of degradatie van Bijdrager Rangen", + "commGuideList02N": "'Vlag' en meld posts die in tegenspraak zijn met de Leefregels of de Gebruiksvoorwaarden. We zullen deze zo snel als mogelijk behandelen. Je mag ook de beheerder verwittigen via admin@habitica.com maar 'vlaggen' is de snelste manier om geholpen te worden." } diff --git a/website/common/locales/nl/faq.json b/website/common/locales/nl/faq.json index e83b6dcaf1..dd8aa33d37 100644 --- a/website/common/locales/nl/faq.json +++ b/website/common/locales/nl/faq.json @@ -54,5 +54,7 @@ "webFaqAnswer12": "Wereldbazen zijn uitzonderlijke monsters die verschijnen in de Herberg. Alle actieve gebruikers vechten automatisch tegen de Wereldbaas, hun taken en eigenschappen beschadigen deze baas zoals normaal. Je kunt tegelijkertijd een normale queeste doorlopen. Je taken en eigenschappen tellen dan zowel tegen de Wereldbaas als tegen de baas of verzamelqueeste van je gezelschap. Een wereldbaas zal jou of je account nooit beschadigen. In plaats daarvan heeft deze een furiebalk die zich vult wanneer gebruikers hun dagelijkse taken niet doen. Als de furiebalk gevuld is, valt de Baas een van de NPC’s op de site aan. Hierdoor verandert de afbeelding de betreffende NPC. Je kunt meer lezen over [wereldbazen uit het verleden](https://habitica.fandom.com/nl/wiki/Wereldbazen) op de wiki.", "iosFaqStillNeedHelp": "Als je een vraag hebt die niet in deze lijst of op [Wiki FAQ](https://habitica.fandom.com/nl/wiki/Veel_Gestelde_Vragen) staat, kom het dan vragen in de Herberg bij Menu > Herberg! Wij helpen je graag verder.", "androidFaqStillNeedHelp": "Als je een vraag hebt die niet op deze lijst of op de [Wiki FAQ](https://habitica.fandom.com/nl/wiki/Veel_Gestelde_Vragen) staat, kom het dan vragen in de Herberg bij Menu > Herberg! Wij helpen je graag verder.", - "webFaqStillNeedHelp": "Als je een vraag hebt die niet op deze lijst of op de [Wiki FAQ](https://habitica.fandom.com/nl/wiki/Veel_Gestelde_Vragen) staat, vraag het dan in de [Habitica Help gilde](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We willen je graag helpen." + "webFaqStillNeedHelp": "Als je een vraag hebt die niet op deze lijst of op de [Wiki FAQ](https://habitica.fandom.com/nl/wiki/Veel_Gestelde_Vragen) staat, vraag het dan in de [Habitica Help gilde](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We willen je graag helpen.", + "faqQuestion13": "Wat is een Groepsplan?", + "general": "Algemeen" } diff --git a/website/common/locales/nl/front.json b/website/common/locales/nl/front.json index 3bfd50e7f2..09aa5b7490 100644 --- a/website/common/locales/nl/front.json +++ b/website/common/locales/nl/front.json @@ -187,5 +187,6 @@ "minPasswordLength": "Een wachtwoord moet minstens uit 8 karakters bestaan.", "enterHabitica": "Betreed Habitica", "emailUsernamePlaceholder": "bijv., gewoontekonijn of griffioen@voorbeeld.com", - "socialAlreadyExists": "Deze inloggegevens zijn verbonden aan een albestaande Habitica-account." + "socialAlreadyExists": "Deze inloggegevens zijn verbonden aan een albestaande Habitica-account.", + "footerProduct": "Product" } diff --git a/website/common/locales/nl/gear.json b/website/common/locales/nl/gear.json index 361ea5c3bb..2831cbd985 100644 --- a/website/common/locales/nl/gear.json +++ b/website/common/locales/nl/gear.json @@ -362,17 +362,17 @@ "weaponArmoireFlutteryArmyNotes": "Deze groep vechtlustige geschubvleugelden staat klaar om flink te fladderen, om zo jouw roodste taken te verkoelen! Verhoogt Weerbaarheid, Intelligentie en Kracht met <%= attrs %> elk. Betoverde Kast: Fladderende Jurk Verzameling (Voorwerp 3 van 4).", "weaponArmoireCobblersHammerText": "Schoenmakershamer", "weaponArmoireCobblersHammerNotes": "Deze hamer is speciaal gemaakt voor het bewerken van leer. Het kan echter ook flink wat schade veroorzaken aan een rode Dagtaak. Verhoogt Weerbaarheid en Kracht met <%= attrs %> elk. Betoverde Kast: Schoenmakersverzameling (Voorwerp 2 van 3).", - "weaponArmoireGlassblowersBlowpipeText": "Glazblazerspijp", - "weaponArmoireGlassblowersBlowpipeNotes": "Use this tube to blow molten glass into beautiful vases, ornaments, and other fancy things. Increases Strength by <%= str %>. Enchanted Armoire: Glassblower Set (Item 1 of 4).", - "weaponArmoirePoisonedGobletText": "Poisoned Goblet", - "weaponArmoirePoisonedGobletNotes": "Use this to build your resistance to iocane powder and other inconceivably dangerous poisons. Increases Intelligence by <%= int %>. Enchanted Armoire: Piratical Princess Set (Item 3 of 4).", - "weaponArmoireJeweledArcherBowText": "Jeweled Archer Bow", - "weaponArmoireJeweledArcherBowNotes": "This bow of gold and gems will send your arrows to their targets at incredible speed. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 3 of 3).", - "weaponArmoireNeedleOfBookbindingText": "Needle of Bookbinding", - "weaponArmoireNeedleOfBookbindingNotes": "You'd be surprised at how tough books can be. This needle can pierce right to the heart of your chores. Increases Strength by <%= str %>. Enchanted Armoire: Bookbinder Set (Item 3 of 4).", - "weaponArmoireSpearOfSpadesText": "Spear of Spades", - "weaponArmoireSpearOfSpadesNotes": "This knightly lance is perfect for attacking your reddest Habits and Dailies. Increases Constitution by <%= con %>. Enchanted Armoire: Ace of Spades Set (Item 3 of 3).", - "weaponArmoireArcaneScrollText": "Arcane Scroll", + "weaponArmoireGlassblowersBlowpipeText": "Glasblazerspijp", + "weaponArmoireGlassblowersBlowpipeNotes": "Gebruik deze pijp om gesmolten glas tot prachtige vazen, ornamenten, en andere verfijnde dingen te blazen. Verhoogt Kracht met <%= str %>. Betoverde Kast: Glasblazersverzameling (Voorwerp 1 van 4).", + "weaponArmoirePoisonedGobletText": "Vergiftigde Beker", + "weaponArmoirePoisonedGobletNotes": "Gebruik dit om je weerbaarheid tegen iocaanpoeder en ander onvoorstelbaar gevaarlijk gif te verhogen. Verhoogt Intelligentie met <%= int %>. Betoverde Kast: Piratenprinsesverzameling (Voorwerp 3 van 4).", + "weaponArmoireJeweledArcherBowText": "Juwelen Boogschuttersboog", + "weaponArmoireJeweledArcherBowNotes": "Deze boog van goud en edelstenen zal je pijlen met een ongekende snelheid naar hun doelwit schieten. Verhoogt Intelligentie met <%= int %>. Betoverde Kast: Juwelen Boogschuttersverzameling (Voorwerp 3 van 3).", + "weaponArmoireNeedleOfBookbindingText": "Naald des Boekbinding", + "weaponArmoireNeedleOfBookbindingNotes": "Je zou verstelt staan van hoe stevig boeken kunnen zijn. Deze naald kan recht tot het hart van je taken doordringen. Verhoogt Kracht met <%= str %>. Betoverde Kast: Boekbindersverzameling (Voorwerp 3 van 4).", + "weaponArmoireSpearOfSpadesText": "Schoppenspeer", + "weaponArmoireSpearOfSpadesNotes": "Deze ridderlijke lans is perfect voor het bevechten van je roodste Gewoontes en Dagtaken. Verhoogt Weerbaarheid met <%= con %>. Betoverde Kast: Schoppenaasverzameling (Voorwerp 3 van 3).", + "weaponArmoireArcaneScrollText": "Geheimzinnige Rol", "weaponArmoireArcaneScrollNotes": "Deze oude takenlijst staat vol met vreemde symbolen en spreuken uit een vergeten tijdperk. Verhoogt Intelligentie met <%= int %>. Betoverde Kabinet: Schrijver Set (Voorwerp 3 van 3).", "armor": "Pantser", "armorCapitalized": "Pantser", @@ -2416,5 +2416,98 @@ "weaponSpecialSummer2022WarriorText": "Wervelende Cycloon", "weaponSpecialFall2022RogueText": "Komkommer Mes", "weaponSpecialFall2022RogueNotes": "Je kan je niet enkel beschermen met deze komkommer, het is ook een lekkere maaltijd. Verhoogd Kracht met <%= str %>. Beperkte Oplage Herst-uitrusting 2022.", - "weaponSpecialFall2022WarriorText": "Orks Ripzwaard" + "weaponSpecialFall2022WarriorText": "Orks Ripzwaard", + "weaponSpecialFall2022WarriorNotes": "Misschien meer geschikt om boomstammen of korstig brood te hakken dan bepantsering van tegenstanders, maar RAWR! Het ziet er zeker stoer uit. Verhoogt kracht met <%= str %>. Beperkte Oplage 2022 herfstgerei.", + "weaponSpecialFall2022MageText": "Windstoten", + "weaponSpecialFall2022MageNotes": "Deze machtige stoten blijven achter je als je wegvliegt in de lucht. Verhoogt Intelligentie met <%= int %> en Perceptie met <%= per %>. Beperkte Oplage 2022 herfstgerei.", + "headSpecialNye2022Text": "Fabuleuze feesthoed", + "headSpecialNye2022Notes": "Je hebt een fabuleuze feesthoed gekregen! Draag het met trots als je het nieuwe jaar inluidt! Verleent geen voordeel.", + "weaponSpecialFall2022HealerText": "Rechts Gluurder Oog", + "weaponSpecialFall2022HealerNotes": "Om de overwinning op te eisen, houdt het omhoog en spreek het bevel: 'Oog Één!' Verhoogt Intelligentie met <%= int %>. Beperkte Oplage 2022 Herfstuitrusting.", + "weaponSpecialWinter2023WarriorNotes": "De twee tanden van deze speer zijn gevormd naar de slagtanden van een walrus maar zijn twee keer zo sterk. Priem twijfels en domme gedichten tot ze terug deinen! Verhoogt Kracht met <%= str %>. Beperkte Oplage 2022-2023 Winteruitrusting.", + "weaponSpecialWinter2023MageNotes": "Vos noch vuur, maar zeer feestelijk! Verhoogt Intelligentie met <%= int %> en Perceptie met <%= per %>. Beperkte Oplage 2022-2023 Winteruitrusting.", + "weaponSpecialWinter2023HealerNotes": "Bekijk hoe deze feestelijke, kriebelige krans door de lucht wentelt richting jouw vijand of obstakel en terugkeert als een boemerang voor een volgende worp. Verhoogt Intelligentie met <%= int %>. Beperkte Oplage 2022-2023 Winteruitrusting.", + "weaponMystery202209Text": "Magische Handleiding", + "weaponSpecialWinter2023MageText": "Vossenvuur", + "weaponSpecialWinter2023RogueText": "Groen Satijnen Gordel", + "weaponSpecialWinter2023RogueNotes": "Legendes verhalen over Schavuiten die hun tegenstanders' wapens verstrikken, ze ontwapenen, en vervolgens het voorwerp terug geven alleen om schattig te doen. Verhoogt Kracht met <%= str %>. Beperkte Oplage 2022-2023 Winteruitrusting.", + "weaponSpecialWinter2023WarriorText": "Slagtand Speer", + "weaponSpecialWinter2023HealerText": "Gooikrans", + "weaponArmoireMedievalWashboardText": "Wasbord", + "weaponSpecialSpring2023RogueNotes": "Slag! Speciale technieken! Snack! Word sterk en wees klaar voor je beginnende metamorfose. Verhoogt Kracht met <%=str%>. Beperkte Editie 2023 Lente-uitrusting.", + "weaponSpecialSpring2023MageNotes": "Hoe meer ze glimmen, hoe machtiger hun kracht. Verhoogt Intelligentie met <%=int%>. Beperkte Editie 2023 Lente-uitrusting.", + "weaponMystery202211Notes": "Benut de bijzondere kracht van een bliksemstorm door deze staf. Levert geen voordelen op. November 2022 Item voor abonnees.", + "weaponArmoireSkullLanternText": "Schedel Lantaarn", + "weaponArmoirePotionSkeletonNotes": "Voel je jou productief? Is het skelettendag? Verzeker je ervan dit skelet-toverdrankje bij je te dragen! Verhoogt Kracht met <%=str%> en Intelligentie met <%=int%>. Betoverd Kabinet: Set toverdrankjes (Item 6 van 10)", + "weaponArmoirePotionDesertNotes": "Met dit toverdrankje in de hand hoef je niet op een onbewoond eiland te stranden om een woestijnkleurig huisdier te vinden om je toetje mee te delen! Verhoogt Kracht met <%=str%> en Weerbaarheid met <%=con%>. Betoverd Kabinet: Set toverdrankjes (Item 3 van 10)", + "weaponArmoirePotionPinkNotes": "Het leven is wat zoeter en een pak meer roze met dit katoenen-roze-snoepjes-huisdier toverdrankje! Verhoogt Intelligentie met <%=int%> en Weerbaarheid met <%=con%>. Betoverd Kabinet: Set toverdrankjes (Item 8 van 10)", + "weaponArmoireRegalSceptreNotes": "Bewijs je koninklijke autoriteit door deze met juwelen bezette staf ter hand te nemen. Verhoogt Perceptie met <%=per%>. Betoverd Kabinet: Koninklijke Set (Item 2 van 2).", + "shieldArmoireBagpipesNotes": "De ondankbaren zouden durven zeggen dat je plant om de doden op te wekken met deze doedelzakken -- maar jij weet dat je slechts je Groep motiveert tot succes! Verhoogt Kracht met <%=str%>. Betoverd Kabinet: Set voor Doedelzakspelers (Item 3 van 3).", + "headArmoireGlengarryNotes": "Een traditioneel hoofddeksel die getuigt van trots en geschiedenis. Verhoogt Intelligentie met <%=int%>. Betoverd Kabinet: Set voor Doedelzakspelers (Item 1 van 3).", + "armorArmoireHeraldsTunicNotes": "Maak je klaar om het goede nieuws de wereld in te sturen in deze kleurrijke, royale outfit. Verhoogt Weerbaarheid met <%=con%>. Betoverd Kabinet: Set voor Herauten (Item 1 van 4).", + "weaponArmoireBuoyantBubblesText": "Drijvende Bubbels", + "weaponArmoirePotionSkeletonText": "Decoratief Skelet Toverdrankje", + "weaponArmoirePotionGoldenNotes": "Met dit toverdrankje krijgt je huisdier een hart van goud... en gouden oren... en een gouden staart... Verhoogt Kracht en Intelligentie elk met <%=attrs%>. Betoverd Kabinet: Set toverdrankjes (Item 10 van 10)", + "weaponArmoireGardenersWateringCanText": "Waterkruik", + "weaponArmoireGardenersWateringCanNotes": "Ver zal je niet geraken zonder water! Heb een oneindige voorraad bij de hand met deze magische, hervulbare waterkruik. Verhoogt Intelligentie met <%=int%>. Betoverd Kabinet: Set voor Tuinierders (Item 4 van 4).", + "armorArmoireBagpipersKiltNotes": "Een goede, stevige kilt zal je goed van pas komen. Verhoogt Weerbaarheid met <%=con%>. Betoverd Kabinet: Set voor Doedelzakspelers (Item 2 van 3).", + "armorArmoireHeraldsTunicText": "Herauten Tuniek", + "weaponArmoirePotionBaseNotes": "De huisdieren die je met dit drankje uitbroedt, zijn allesbehalve gewoon! Verhoogt Kracht, Intelligentie, Weerbaarheid en Perceptie elk met <%=attrs%>. Betoverd Kabinet: Set Toverdrankjes (Item 1 van 10)", + "weaponArmoirePotionBaseText": "Decoratief Basis Toverdrankje", + "weaponArmoirePotionWhiteNotes": "Tijdens een sneeuwstorm zou je bijna een met dit toverdrankje uitgebroed huisdier kunnen verliezen! Verhoogt Weerbaarheid met <%=con%> en Perceptie met <%=per%>. Betoverd Kabinet: Set Toverdrankjes (Item 2 van 10)", + "weaponArmoirePotionWhiteText": "Decoratief Wit Toverdrankje", + "weaponArmoirePotionDesertText": "Decoratief Woestijn Toverdrankje", + "weaponArmoirePotionRedText": "Decoratief Rood Toverdrankje", + "weaponArmoirePotionShadeText": "Decoratief Schaduw Toverdrankje", + "weaponArmoirePinkLongbowText": "Roze Handboog", + "weaponArmoirePinkLongbowNotes": "Word een cupido-in-training, die zowel het handboogschieten als de zaken van het hart leert meester worden door middel van deze prachtige boog. Verhoogt Perceptie met <%=per%> en Kracht met <%=str%>. Betoverd Kabinet: Onafhankelijk item.", + "weaponArmoireShootingStarSpellText": "Sprankels Sterrenstof", + "weaponArmoirePotionZombieText": "Decoratief Zombie Toverdrankje", + "weaponArmoireMedievalWashboardNotes": "Schrob-een-was-was! Tijd om wat ellebogenvet aan te brengen en de was schoon te krijgen. Verhoogte Kracht met <%=str%>. Betoverd Kabinet: Verzameling voor Middeleeuwse Wassers (Item 5 van 6).", + "shieldArmoireBagpipesText": "Doedelzakken", + "weaponArmoireHeraldsBuisineText": "Hoorn van de Heraut", + "weaponArmoireHeraldsBuisineNotes": "Elke aankondiging zal zoveel beter klinken na fanfare van deze trompet. Verhoogt Kracht met <%=str%>. Betoverd Kabinet: Herautenset (Item 3 van 4).", + "weaponArmoireBuoyantBubblesNotes": "Deze bubbels houden je voor altijd drijvende, op één of andere manier... Verhoogt Perceptie met <%=per%>. Betoverd Kabinet: Bubbelbad Set (Item 3 van 4).", + "weaponArmoirePotionBlueText": "Decoratief Katoenen Blauwesnoepjes Toverdrank", + "weaponArmoireSkullLanternNotes": "Laat z'n gloed je leiden door de donkerste nachten van je avonturen. Verhoogt Intelligentie met <%=int%>. Betoverd Kabinet: Onafhankelijk item.", + "weaponMystery202212Text": "Ijswand", + "weaponMystery202212Notes": "De gloeiende sneeuwvlok in deze wand bezit de kracht om harten te verwarmen zelfs in de koudste winternacht. Levert geen voordelen op. December 2022 Item voor abonnees.", + "weaponArmoirePotionRedNotes": "Het is rode-vlaggendag omdat dit toverdrankje alle aandacht naar zich toetrekt! Verhoogt Kracht en Constitutie elk met <%=attrs%>. Betoverd Kabinet: Set toverdrankjes (Item 4 van 10)", + "weaponSpecialSpring2023RogueText": "Afgeknabbeld Blad", + "weaponSpecialSpring2023WarriorText": "Kolibrie Bladgoud", + "weaponSpecialSpring2023WarriorNotes": "Ter plaatse-Rust! Sla vijanden van je bloemen af met dit bladgoud! Verhoogt Kracht met <%=str%>. Beperkte Editie 2023 Lente-uitrusting.", + "weaponSpecialSpring2023MageText": "Magie van de Maansteen", + "weaponSpecialSpring2023HealerText": "Stuifmeel van de Lelie", + "weaponSpecialSpring2023HealerNotes": "Met een zucht en een sprankel doe je nieuw leven, vreugde en kleur groeien. Verhoogte Intelligentie met <%=int%>. Beperkte Editie 2023 Lente-uitrusting.", + "weaponMystery202209Notes": "Dit boek zal je begeleiden doorheen je reis in het maken van magie. Levert geen voordelen op. September 2022 Item voor abonnees.", + "weaponMystery202211Text": "Staf van de Elektromancer", + "weaponArmoirePotionShadeNotes": "Tijd om wat schaduw te werpen over een ei dat je zelf mag uitbroeden tot een schaduwhuisdier! Verhoogt Intelligentie met <%=int%> en Perceptie met <%=per%>. Betoverd Kabinet: Set toverdrankjes (Item 5 van 10)", + "weaponArmoirePotionZombieNotes": "Gebruik dit om een zombiehuisdier uit te broeden, maar blijf waakzaam in geval het aan je begint te knabbelen! Verhoogt Weerbaarheid met <%=con%> en Perceptie met <%=per%>. Betoverd Kabinet: Set toverdrankjes (Item 7 van 10)", + "weaponArmoirePotionPinkText": "Decoratief Roze Katoensnoep Toverdrankje", + "weaponArmoirePotionBlueNotes": "Het leven is wat meer fluffy en een pak blauwer met dit toverdrankje om katoenen-blauwe-snoepjes beestjes te maken! Verhoogt Intelligentie met <%=int%> en Weerbaarheid met <%=con%>. Betoverd Kabinet: Set toverdrankjes (Item 9 van 10)", + "weaponArmoirePotionGoldenText": "Decoratief Gouden Toverdrankje", + "weaponArmoireRegalSceptreText": "Koninklijke Skepter", + "weaponArmoireShootingStarSpellNotes": "Omheef jezelf met een toverspreuk van sterrenstofmagie om je te helpen al je dromen waar te maken. Verhoogt Kracht en Intelligentie elk met <%=attrs%>. Betoverd Kabinet: Set Sterrenstof (Item 3 van 3).", + "headArmoireGlengarryText": "Schotse Pelsmuts", + "headAccessoryMystery202109Text": "Maan Lepidoptera-antennes", + "headAccessoryMystery202109Notes": "Vang het aroma van bloemen in de bries of de geur van verandering in de wind. Levert geen voordeel op. September 2021 Item voor abonnees.", + "armorSpecialFall2021WarriorNotes": "Een prachtig pak dat perfect om dragen is bij het oversteken van bruggen in het holst van de nacht. Verhoogt de Weerstand met <%= con%>. Beperkte editie 2021 Herfstuitrusting .", + "armorSpecialFall2021MageNotes": "Halsbanden met veel puntige uitsteeksels zijn de haute-couture van aan lager wal geraakte schurken. Verhoogt de Intelligentie met <%= int%>. Beperkte Editie 2021 Herfstuitrusting .", + "headSpecialFall2021WarriorNotes": "Verlies je hoofd boven deze formele boord en das die je pak helemaal af maakt. Verhoogt Kracht met <%= str%>. Beperkte editie 2021 Herfstuitrusting .", + "armorSpecialFall2021MageText": "Kleed van Duisternis Beneden", + "armorSpecialFall2021HealerText": "Oproepers Klederen", + "headSpecialFall2021WarriorText": "Hoofdloze Das", + "armorSpecialFall2021RogueNotes": "Het heeft een kalotje, een leren tuniek en metalen klinknagels! Het is geweldig! Maar het biedt geen hermetische afsluiting tegen rommel! Verhoogt de Perceptie met <%= per %>. Beperkte editie 2021 Herfstuitrusting.", + "backMystery202109Text": "Maan Lepidoptera-vleugels", + "backMystery202109Notes": "Glijd zachtjes, zonder geluid, bij schemering. Levert geen voordeel op. September 2021 Item voor abonnees.", + "armorSpecialFall2021WarriorText": "Formeel Wollen Pak", + "headArmoireHeraldsCapNotes": "Deze herautenhoed is inclusief parmantige pluim. Verhoogt Intelligentie met <%=int%>. Betoverd Kabinet: Set voor Herauten (Item 2 van 4).", + "shieldArmoireHeraldsMessageScrollNotes": "Welk spannend nieuws bevat deze rol? Zou het gaan over een nieuw huisdier of over een score van een langetermijndoel? Verhoogt Perceptie met <%=per%>. Betoverd Kabinet: Set voor Herauten (Item 2 van 4)", + "armorSpecialFall2021RogueText": "Helaas, dit schild is Niet bestand tegen slijm", + "headSpecialFall2021RogueNotes": "Wel, je zit vast. Nu ben je gedoemd om vuilnis verzamelend door kerkergangen te dwalen. GEDOEMD! Verhoogt de Perceptie met <%= per%>. Beperkte editie 2021 Herfstuitrusting .", + "headSpecialFall2021MageText": "Herseneters Masker", + "armorSpecialFall2021HealerNotes": "Gemaakt van duurzame, vlammenresistente stof, zijn deze klederen perfect om te dragen bij het oproepen van helende vlammen. Verhoogt de Weerstand met <%= con%>. Beperkte Editie 2021 Herfstuitrusting .", + "headSpecialFall2021RogueText": "Je bent verzwolgen", + "headArmoireHeraldsCapText": "Herautenhoed", + "shieldArmoireHeraldsMessageScrollText": "Berichtenrol voor Herauten" } diff --git a/website/common/locales/nl/npc.json b/website/common/locales/nl/npc.json index 38937cc116..5705b5c3fa 100644 --- a/website/common/locales/nl/npc.json +++ b/website/common/locales/nl/npc.json @@ -130,5 +130,8 @@ "limitedAvailabilityMinutes": "Beschikbaar voor <%= minutes %>m <%= seconds %>s", "limitedAvailabilityHours": "Beschikbaar voor <%= hours %>h <%= minutes %>m", "limitedAvailabilityDays": "Beschikbaar voor <%= days %>d <%= hours %>h <%= minutes %>m", - "amountExp": "<%= amount %> Exp" + "amountExp": "<%= amount %> Exp", + "groupsPaymentSubBilling": "Je volgende aanrekeningsdatum is <%= renewalDate %>.", + "groupsPaymentAutoRenew": "Dit abonnement zal zich hernieuwen tot het geannuleerd is. Als je wil annuleren, kan je dat doen via het tabblad 'Groepsuitgaven'.", + "helpSupportHabitica": "Help mee Habitica Steunen" } diff --git a/website/common/locales/nl/pets.json b/website/common/locales/nl/pets.json index 9eca3d20c7..f8b929c7a0 100644 --- a/website/common/locales/nl/pets.json +++ b/website/common/locales/nl/pets.json @@ -113,5 +113,6 @@ "wackyPets": "Maffe Huisdieren", "invalidAmount": "Ongeldige hoeveelheid voedsel, moet een positief geheel getal zijn", "tooMuchFood": "Je probeert je huisdier teveel voedsel te voeren, handeling geannuleerd", - "notEnoughFood": "Je hebt niet genoeg voedsel" + "notEnoughFood": "Je hebt niet genoeg voedsel", + "jubilantGryphatrice": "Jubele Grifalisk" } diff --git a/website/common/locales/nl/settings.json b/website/common/locales/nl/settings.json index be683e9f0a..85055c75f6 100644 --- a/website/common/locales/nl/settings.json +++ b/website/common/locales/nl/settings.json @@ -217,5 +217,6 @@ "adjustment": "Aanpassing", "dayStartAdjustment": "Dag Begin Aanpassing", "passwordSuccess": "Wachtwoord succesvol aangepast", - "transaction_admin_update_balance": "Door beheerder gegeven" + "transaction_admin_update_balance": "Door beheerder gegeven", + "giftSubscriptionRateText": "$<%= price %> USD voor <%= months %> maanden" } diff --git a/website/common/locales/nl/subscriber.json b/website/common/locales/nl/subscriber.json index 774fe11e86..a6ff1e2273 100644 --- a/website/common/locales/nl/subscriber.json +++ b/website/common/locales/nl/subscriber.json @@ -208,5 +208,8 @@ "mysterySet202204": "Virtueel Avonturier Set", "mysterySet202202": "Turkooise Tweelingstraart Set", "mysterySet202205": "Schemer-Gevleugelde Draak Set", - "mysterySet202206": "Zee Fee Set" + "mysterySet202206": "Zee Fee Set", + "mysterySet202209": "Magische Geleerde Set", + "mysterySet202301": "Moedige Vulpen Set", + "mysterySet202208": "Parmantige Paardenstaart Set" } diff --git a/website/common/locales/nl/tasks.json b/website/common/locales/nl/tasks.json index 626a867132..4996dd28ac 100644 --- a/website/common/locales/nl/tasks.json +++ b/website/common/locales/nl/tasks.json @@ -139,5 +139,6 @@ "counter": "Teller", "adjustCounter": "Teller aanpassen", "resetCounter": "Teller resetten", - "editTagsText": "Wijzig Labels" + "editTagsText": "Wijzig Labels", + "taskSummary": "<%= type %> Samenvatting" } diff --git a/website/common/locales/nn/groups.json b/website/common/locales/nn/groups.json index 141b929886..0b66e6e03c 100755 --- a/website/common/locales/nn/groups.json +++ b/website/common/locales/nn/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/no/generic.json b/website/common/locales/no/generic.json index 0fbbe6e054..0d66778b48 100755 --- a/website/common/locales/no/generic.json +++ b/website/common/locales/no/generic.json @@ -194,7 +194,7 @@ "userSentMessage": "<%- user %> sent you a message", "letsgo": "Let's Go!", "selected": "Selected", - "howManyToBuy": "How many would you like to buy?", + "howManyToBuy": "hvor mange har du lyst til å kjøpe?", "contactForm": "Contact the Moderation Team", "loadEarlierMessages": "Last inn tidligere meldinger", "demo": "Demo", diff --git a/website/common/locales/no/groups.json b/website/common/locales/no/groups.json index 4fb08507c4..3a1d18c456 100755 --- a/website/common/locales/no/groups.json +++ b/website/common/locales/no/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/pl/achievements.json b/website/common/locales/pl/achievements.json index 9d04b8d93c..3cd1875aa7 100644 --- a/website/common/locales/pl/achievements.json +++ b/website/common/locales/pl/achievements.json @@ -141,5 +141,6 @@ "achievementZodiacZookeeperModalText": "Zebrałeś wszystkie zwierzęta zodiakalne!", "achievementBoneToPick": "Kość Niezgody", "achievementBoneToPickText": "Wykluł wszystkie Szkieletowe Zwierzęta Klasyczne i z Misji!", - "achievementBoneToPickModalText": "Znalazłeś wszystkie Szkieletowe Zwierzaki Klasyczne i z Misji!" + "achievementBoneToPickModalText": "Znalazłeś wszystkie Szkieletowe Zwierzaki Klasyczne i z Misji!", + "achievementPolarProText": "Wylęgł(a) wszystkie standardowe kolory zwierząt polarnych: Niedźwiedź, Lis, Pingwin, Wieloryb i Wilk!" } diff --git a/website/common/locales/pl/subscriber.json b/website/common/locales/pl/subscriber.json index dadfed4a89..6296026045 100644 --- a/website/common/locales/pl/subscriber.json +++ b/website/common/locales/pl/subscriber.json @@ -191,5 +191,9 @@ "mysterySet202106": "Zestaw Zachodzącej Syreny", "mysterySet202105": "Zestaw Mgławicowego Smoka", "mysterySet202104": "Zestaw Strażnika Osetu", - "mysterySet202103": "Zestaw Kwitnącego Widoku" + "mysterySet202103": "Zestaw Kwitnącego Widoku", + "howManyGemsPurchase": "Ile Klejnotów chcesz kupić?", + "needToPurchaseGems": "Potrzebujesz kupić Klejnoty jako prezent?", + "wantToSendOwnGems": "Chcesz wysłać swoje własne Klejnoty?", + "howManyGemsSend": "Ile Klejnotów chcesz wysłać?" } diff --git a/website/common/locales/pt/achievements.json b/website/common/locales/pt/achievements.json index 64fdbb3a5a..9b06b674ef 100644 --- a/website/common/locales/pt/achievements.json +++ b/website/common/locales/pt/achievements.json @@ -94,13 +94,13 @@ "achievementBoneCollectorModalText": "Você coletou todos os Mascotes Esqueleto!", "achievementBoneCollectorText": "Coletou todos os Mascotes Esqueleto.", "achievementLegendaryBestiaryModalText": "Você coletou todos os Mascotes Lendários!", - "achievementLegendaryBestiaryText": "Chocou todas as cores padrão das Mascotes Lendárias: Dragão, Porco Voador, Grifo, Serpente Marinha e Unicórnio!", + "achievementLegendaryBestiaryText": "Chocou todas as cores padrão das mascotes lendárias: Dragão, Porco Voador, Grifo, Serpente Marinha e Unicórnio!", "achievementRedLetterDayText": "Domou todas as Montarias Vermelhas.", "achievementRedLetterDay": "Tapete Vermelho", "achievementSkeletonCrewText": "Domou todas as Montarias Esqueleto.", "achievementSeeingRedModalText": "Você coletou todos os Mascotes Vermelhos!", "achievementBoneCollector": "Colecionador de Ossos", - "achievementTickledPink": "Comichão Rosa", + "achievementTickledPink": "Sonhos Cor-de-Rosa", "achievementLegendaryBestiary": "Besta Lendária", "achievementSeeingRed": "Exército Vermelho", "achievementSkeletonCrew": "Equipe Esqueleto", @@ -115,5 +115,34 @@ "achievementVioletsAreBlueModalText": "Coletou todas as Mascotes Algodão-doce Rosa!", "achievementDomesticatedModalText": "Coletou todas as mascotes domesticadas!", "achievementWildBlueYonderText": "Domesticou todas as Montarias de Algodão Doce Azul.", - "achievementSeasonalSpecialistModalText": "Completaste todas as jornadas sazonais!" + "achievementSeasonalSpecialistModalText": "Completou todas as missões sazonais!", + "achievementGroupsBeta2022Text": "Você e seu grupo proveram comentários inválidos para ajudar o teste Habitica.", + "achievementGroupsBeta2022ModalText": "Você e seu grupo ajudaram Habitica testando e provendo comentários!", + "achievementPolarProText": "Chocou todas as cores comuns dos mascotes polares: Urso, Raposa, Pinguim, Baleia e Lobo!", + "achievementPolarProModalText": "Você Coletou todos os Mascotes Polares!", + "achievementWoodlandWizardText": "Chocou todas as cores padrão das criaturas da floresta: Texugo, Urso, Veado, Raposa, Sapo, Ouriço, Coruja, Lesma, Esquilo e Arbóreo!", + "achievementWoodlandWizardModalText": "Você Coletou todos os Mascotes da Floresta!", + "achievementBirdsOfAFeatherText": "Chocou todas as cores padrão dos Mascotes Voadores: Porco Voador, Coruja, Papagaio, Pterodáctilo, Grifo, Falcão, Peru e Galo!", + "achievementBirdsOfAFeatherModalText": "Você coletou todos os Mascotes Voadores!", + "achievementBoneToPickText": "Chocou todos os Pets Esqueleto Clássicos e de Missões!", + "achievementBoneToPickModalText": "Você Coletou todos os Mascotes Esqueleto Clássico e de Missões!", + "achievementZodiacZookeeper": "Guarda de Zoológico Zodíaco", + "achievementWildBlueYonder": "Além do Azul Selvagem", + "achievementZodiacZookeeperText": "Chocou todas as cores dos pets do Zodíaco: Rato, Vaca, Coelho, Cobra, Cavalo, Ovelha, Macaco, Galo, Lobo, Tigre, Porco Voador e Dragão!", + "achievementZodiacZookeeperModalText": "Você coletou todos os Mascotes do Zodíaco!", + "achievementBirdsOfAFeather": "Pássaros de uma Pena", + "achievementReptacularRumble": "Estrondo Réptil", + "achievementReptacularRumbleText": "Chocou todas as cores padrão dos Mascotes Répteis: Jacaré, Pterodáctilo, Cobra, Triceratops, Tartaruga, Tiranossauro Rex e Velociraptor!", + "achievementReptacularRumbleModalText": "Você Coletou todos os Mascotes Répteis!", + "achievementGroupsBeta2022": "Testador Beta Interativo", + "achievementWoodlandWizard": "Mago da Floresta", + "achievementBoneToPick": "Osso para Escolher", + "achievementPolarPro": "Profissional Polar", + "achievementVioletsAreBlueText": "Coletou Todos os Mascotes Azul Algodão Doce.", + "achievementShadyCustomer": "Cliente Suspeito", + "achievementShadyCustomerText": "Coletou todos os Mascotes Sombrios.", + "achievementShadyCustomerModalText": "Você coletou todos os Mascotes Sombrios!", + "achievementShadeOfItAll": "A Sombra de Tudo", + "achievementShadeOfItAllText": "Domesticou todas as Montarias Sombrias.", + "achievementShadeOfItAllModalText": "Você Domesticou todas as Montarias Sombrias!" } diff --git a/website/common/locales/pt/backgrounds.json b/website/common/locales/pt/backgrounds.json index 59b5b0b5b0..2c458981cd 100644 --- a/website/common/locales/pt/backgrounds.json +++ b/website/common/locales/pt/backgrounds.json @@ -46,7 +46,7 @@ "backgroundStarrySkiesNotes": "Contemple os Céus Estrelados.", "backgroundSunsetMeadowText": "Pôr do Sol no Campo", "backgroundSunsetMeadowNotes": "Admire um Pôr do Sol no Campo.", - "backgrounds122014": "KIT 7: Lançado em Dezembro de 2014", + "backgrounds122014": "Conjunto 7: Lançado em Dezembro de 2014", "backgroundIcebergText": "Iceberg", "backgroundIcebergNotes": "Flutue sobre um Iceberg.", "backgroundTwinklyLightsText": "Pisca-pisca de Inverno", @@ -636,7 +636,7 @@ "backgroundStoneTowerNotes": "Contempla os baluartes de uma Torre de Pedra para outra.", "backgroundAutumnPoplarsNotes": "Delicia-te nas brilhantes sombras castanhas e douradas da Floresta Outonal de Álamo.", "backgrounds022022": "Conjunto 93: Lançado em Fevereiro de 2022", - "backgrounds032022": "SET 94: Publicado em Março de 2022", + "backgrounds032022": "Conjunto 94: Lançado em Março de 2022", "backgrounds062022": "Conjunto 97: Lançado em Julho de 2022", "hideLockedBackgrounds": "Ocultar cenários bloqueados", "backgroundHolidayHearthText": "Lareira Natalina", @@ -648,5 +648,126 @@ "backgroundWindmillsNotes": "Prepare-se e aventure-se contra os Moinhos de Vento.", "backgroundAutumnLakeshoreNotes": "Repouse na Margem Outonal do Lago para apreciar as reflexões do bosque na água.", "backgroundUndeadHandsText": "Mãos Mortas-vivas", - "backgroundUndeadHandsNotes": "Tente escapar das garras das Mãos Mortas-vivas." + "backgroundUndeadHandsNotes": "Tente escapar das garras das Mãos Mortas-vivas.", + "backgroundHauntedPhotoNotes": "Descubra-se preso no mundo monocromático de uma Fotografia Assombrada.", + "backgroundOldTimeyBasketballCourtText": "Campo de Basquetebol da Velha Guarda", + "backgroundJungleWateringHoleText": "Buraco de Irrigação da Selva", + "backgroundJungleWateringHoleNotes": "Pare para tomar um gole num Buraco de Irrigação da Selva.", + "backgroundMangroveForestText": "Floresta de Manguezal", + "backgroundMangroveForestNotes": "Explore a orla da Floresta de Manguezal.", + "backgroundInFrontOfFountainText": "Na Frente de uma Fonte", + "backgroundFancyBedroomText": "Quarto de Luxo", + "backgroundGoldenBirdcageText": "Gaiola Dourada", + "backgroundGoldenBirdcageNotes": "Esconda-se numa Gaiola Dourada.", + "backgroundFancyBedroomNotes": "Ostente em um Quarto de Luxo.", + "backgrounds072022": "Conjunto 98: Lançado em Julho de 2022", + "backgroundBioluminescentWavesNotes": "Admirar o brilho das Ondas Bioluminescentes.", + "backgroundUnderwaterCaveText": "Caverna Subaquática", + "backgroundUnderwaterStatuesText": "Jardim da Estátua Subaquática", + "backgroundUnderwaterStatuesNotes": "Tente não hesitar no Jardim da Estátua Subaquática.", + "backgroundInsideAPotionBottleNotes": "Olhe através do vidro enquanto espera pela recuperação que vem dentro de uma Garrafa de Poção.", + "backgrounds012022": "Conjunto 92: Lançado em Janeiro de 2022", + "backgroundOnACastleWallText": "Na Muralha de um Castelo", + "backgroundEnchantedMusicRoomText": "Sala de Música Encantada", + "backgroundBioluminescentWavesText": "Ondas Bioluminescentes", + "backgroundUnderwaterCaveNotes": "Explore uma Caverna Subaquática.", + "backgrounds102022": "Conjunto 101: Lançado em Outubro de 2022", + "backgroundMaskMakersWorkshopNotes": "Experimente um novo rosto na Oficina de Fabricantes de Máscaras.", + "backgrounds122022": "Conjunto 103: Lançado em Dezembro de 2022", + "backgroundBranchesOfAHolidayTreeText": "Ramos de uma árvore de férias", + "backgroundBranchesOfAHolidayTreeNotes": "Brincadeira nos ramos de uma Árvore de Férias.", + "backgroundInsideACrystalText": "Dentro de um Cristal", + "backgroundSnowyVillageText": "Aldeia das Neves", + "backgrounds022023": "Conjunto 105: Lançado em Fevereiro de 2023", + "backgroundInFrontOfFountainNotes": "Passeio na Frente de uma Fonte.", + "backgrounds032023": "Conjunto 106: Lançado em Março de 2023", + "backgroundOldTimeyBasketballCourtNotes": "Dispare aros em um Campo de Basquetebol da Velha Guarda.", + "backgroundWinterWaterfallText": "Cascata de Inverno", + "backgroundWinterWaterfallNotes": "Maravilhar-se com uma Cascata de Inverno.", + "backgroundOrangeGroveText": "Laranjal", + "backgroundOrangeGroveNotes": "Passear por um Laranjal perfumado.", + "backgroundIridescentCloudsNotes": "Flutuar em Nuvens Iridescentes.", + "backgrounds082022": "Conjunto 99: Lançado em Agosto de 2022", + "backgroundRainbowEucalyptusText": "Eucalipto Arco-íris", + "backgroundRainbowEucalyptusNotes": "Admire os Eucaliptais Arco-íris.", + "backgroundMessyRoomNotes": "Arrume um Quarto Sujo.", + "backgroundMessyRoomText": "Quarto Sujo", + "backgroundByACampfireText": "Em uma fogueira", + "backgroundByACampfireNotes": "Desfrute do brilho de uma Fogueira.", + "backgroundAnimalsDenText": "Esconderijo do Bicho da Floresta", + "backgroundBrickWallWithIvyText": "Parede de Tijolos com Ivy", + "backgroundAnimalsDenNotes": "Aconchegado no esconderijo do Bicho da Floresta.", + "backgroundBrickWallWithIvyNotes": "Admire uma Parede de Tijolos com a Ivy.", + "backgroundFloweringPrairieText": "Pradaria Florida", + "backgrounds052022": "Conjunto 96: Lançado em Maio de 2022", + "backgroundOnACastleWallNotes": "Preste atenção na Muralha de um Castelo.", + "backgroundCastleGateText": "Portão do Castelo", + "backgroundCastleGateNotes": "Fique de guarda no Portão do Castelo.", + "backgroundEnchantedMusicRoomNotes": "Toque em uma Sala de Música Encantada.", + "backgrounds092022": "Conjunto 100: Lançado em Setembro de 2022", + "backgroundTheatreStageText": "Palco de Teatro", + "backgroundTheatreStageNotes": "Apresente-se num Palco de Teatro.", + "backgroundAutumnPicnicText": "Piquenique de Outono", + "backgroundAutumnPicnicNotes": "Aproveite um Piquenique de Outono.", + "backgroundOldPhotoText": "Foto Antiga", + "backgroundOldPhotoNotes": "Pose para uma Foto Antiga.", + "backgroundFrozenPolarWatersNotes": "Explore as Congeladas Águas Polares.", + "backgroundFrozenPolarWatersText": "Congeladas Águas Polares", + "backgrounds122021": "Conjunto 91: Lançado em Dezembro de 2021", + "backgrounds012023": "Conjunto 104: Lançado em Janeiro de 2023", + "backgroundRimeIceText": "Gelo de Calcário", + "backgroundRimeIceNotes": "Admire o Gelo cintilante de Calcário.", + "backgroundSnowyTempleText": "Templo de neve", + "backgroundSnowyTempleNotes": "Ver um Templo sereno de Neve.", + "backgroundWinterLakeWithSwansText": "Lago de Inverno com cisnes", + "backgroundWinterLakeWithSwansNotes": "Desfrute da natureza num Lago de Inverno Com Cisnes.", + "eventBackgrounds": "Eventos de Fundo", + "backgroundBirthdayBashText": "Festa de Aniversário", + "backgroundBirthdayBashNotes": "Habitica está fazendo uma festa de aniversário, e todos estão convidados!", + "backgroundMeteorShowerText": "Chuva de Meteoros", + "backgroundMeteorShowerNotes": "Observe a deslumbrante exposição noturna de uma chuva de Meteoros.", + "backgroundPalmTreeWithFairyLightsText": "Palmeira com Luzes de Fada", + "backgrounds112022": "Conjunto 102: Lançado em Novembro de 2022", + "backgroundAmongGiantMushroomsText": "Entre Cogumelos Gigantes", + "backgroundAmongGiantMushroomsNotes": "Maravilhar-se com os Cogumelos Gigantes.", + "backgroundMistyAutumnForestText": "Floresta Nebulosa de Outono", + "backgroundMistyAutumnForestNotes": "Vaguear por uma floresta nebulosa de Outono.", + "backgroundAutumnBridgeText": "Ponte no Outono", + "backgroundAutumnBridgeNotes": "Admire a beleza de uma ponte no Outono.", + "backgroundInsideACrystalNotes": "Apareça no interior de um Cristal.", + "backgroundSnowyVillageNotes": "Admire uma Aldeia das Neves.", + "backgroundSpookyRuinsText": "Ruínas assustadoras", + "backgroundSpookyRuinsNotes": "Explore algumas Ruínas Assustadoras.", + "backgroundMaskMakersWorkshopText": "Oficina de Fabricantes de Máscaras", + "backgroundCemeteryGateNotes": "Assombre uma Entrada de Cemitério.", + "backgroundCemeteryGateText": "Entrada do Cemitério", + "backgroundBeachWithDunesText": "Praia com Dunas", + "backgroundBeachWithDunesNotes": "Explore uma praia com dunas.", + "backgroundMountainWaterfallText": "Cascata da montanha", + "backgroundMountainWaterfallNotes": "Admire a cascata da montanha.", + "backgroundSailboatAtSunsetText": "Veleiro ao pôr-do-sol", + "backgroundSailboatAtSunsetNotes": "Aproveite a beleza de um veleiro ao pôr-do-sol.", + "backgrounds112021": "Conjunto 90: Lançado em Novembro de 2021", + "backgroundFortuneTellersShopText": "Loja de Caçadores de Fortuna", + "backgrounds102021": "Conjunto 89: Lançado em Outubro de 2021", + "backgroundInsideAPotionBottleText": "Dentro de uma Garrafa de Poção", + "backgroundWinterCanyonText": "Desfiladeiro de Inverno", + "backgroundWinterCanyonNotes": "Aventura em um Desfiladeiro de Inverno!", + "backgroundIcePalaceText": "Palácio de Gelo", + "backgroundIcePalaceNotes": "Reinar no Palácio de Gelo.", + "backgroundFortuneTellersShopNotes": "Busque detalhes fascinantes sobre o seu futuro em uma Loja de Caçadores de Fortuna.", + "backgroundSpiralStaircaseNotes": "Subir, descer, girar em torno de uma Escada Espiral.", + "backgroundSpiralStaircaseText": "Escada Espiral", + "backgroundPalmTreeWithFairyLightsNotes": "Posicionado em um palmeiral com Luzes de Fada.", + "backgroundSnowyFarmNotes": "Verifique se todos estão bem e quentes na sua Quinta das Neves.", + "backgroundSnowyFarmText": "Quinta das Neves", + "backgrounds042022": "Conjunto 95: Lançado em Abril 2022", + "backgroundIridescentCloudsText": "Nuvens Iridescentes", + "backgroundFloweringPrairieNotes": "Brincar através de uma Pradaria Florida.", + "backgroundBlossomingTreesText": "Árvores Florescidas", + "backgroundBlossomingTreesNotes": "Passando um tempo em baixo de Árvores Florescidas.", + "backgroundFlowerShopText": "Loja de Flores", + "backgroundFlowerShopNotes": "Aprecie o doce aroma de uma Loja de Flores.", + "backgroundSpringtimeLakeText": "Lago da Primavera", + "backgroundSpringtimeLakeNotes": "Aprecie as vistas ao longo das margens de um Lago da Primavera." } diff --git a/website/common/locales/pt/communityguidelines.json b/website/common/locales/pt/communityguidelines.json index 117949ae6c..ce96916bc6 100644 --- a/website/common/locales/pt/communityguidelines.json +++ b/website/common/locales/pt/communityguidelines.json @@ -4,18 +4,18 @@ "commGuideHeadingWelcome": "Bem-vindo ao Habitica!", "commGuidePara001": "Saudações, aventureiro! Bem-vindo a Habitica, terra da produtividade, estilo de vida saudável e o ocasional grifo tumultuoso. Temos uma comunidade alegre e cheia de pessoas amigáveis e disponíveis para se ajudarem entre si ao longo do caminho para o seu auto-aperfeiçoamento. Para te integrares, só precisas de trazer uma atitude positiva, uma postura respeitadora e a noção de que todos temos diferentes qualidades e limitações -- incluindo tu! Os Habiticanos são pacientes uns com os outros e tentam ajudar sempre que podem.", "commGuidePara002": "Para mantermos toda a gente segura, feliz e produtiva dentro da nossa comunidade, temos algumas regras. Estas foram cuidadosamente elaboradas para que sejam tão amigáveis e fáceis de ler quanto possível. Por favor, dispensa-lhes o tempo necessário para as leres antes de começares a conversar.", - "commGuidePara003": "Estas regras aplicam-se a todos os espaços sociais que usamos, incluindo (mas não necessariamente limitado a) o Trello, o GitHub, o Weblate e a Wiki do Habitica no Fandom. À medida que as comunidades crescem e mudam, as suas regras podem adaptar-se. Quando uma alteração significativa ocorre, vai ouvir falar dela num anúncio do Bailey e/ou nas nossas redes sociais!", + "commGuidePara003": "Estas regras se aplicam a todos os espaços sociais que usamos, incluindo (mas não necessariamente limitado a) Trello, GitHub, Weblate e a Wiki do Habitica no Fandom. À medida que as comunidades crescem e mudam, as suas regras podem adaptar-se de tempos em tempos. Quando uma alteração significativa ocorre às regras da comunidade listadas aqui, você vai ouvir falar dela num anúncio da Bailey e/ou nas nossas redes sociais!", "commGuideHeadingInteractions": "Interacções no Habitica", "commGuidePara015": "O Habitica tem dois tipos de espaços sociais: público e privado. os espaços públicos incluem a Estalagem, Guildas Públicas, o GitHub, o Trello e a Wiki. Espaços privados são Guildas privadas, a conversação da Equipa e Mensagens privadas. Todos os Nomes de Utilizador e @nomedeutilizador devem cumprir as Diretrizes do Espaço Público. Para alterar o Nome de Utilizador e/ou @nomedeutilizador na aplicação, vá a Menu > Definições > Perfil. No site, vá a Utilizador > Definições.", "commGuidePara016": "Ao navegar os espaços públicos em Habitica, existem algumas regras gerais para manter todo mundo seguro e feliz.", "commGuideList02A": "Respeitem-se mutuamente. Sejam corteses, gentis, amigáveis e estejam disponíveis para ajudar. Lembrem-se: os Habiticanos têm origens diferentes e tiveram experiências muito divergentes entre si. Isto é parte do que faz o Habitica tão porreiro. Construir uma comunidade implica respeitar e celebrar as nossas diferenças, assim como as nossas semelhanças.", - "commGuideList02B": "Obedeça a todos os Termos e Condições de Utilização, tanto em espaços públicos como privados.", + "commGuideList02B": "Obedeça a todos os Termos e Condições, tanto em espaços públicos como privados.", "commGuideList02C": "Não publiquem imagens ou textos que contenham violência, ameaças, ou sejam sexualmente explícitas/sugestivas, ou que promovam discriminação, preconceito, racismo, sexismo, ódio, assédio ou qualquer prejuízo contra qualquer indivíduo ou grupo. Nem sequer a brincar. Isto inclui insultos e afirmações. Nem todas as pessoas possuem o mesmo sentido de humor, como tal, algo que consideres engraçado pode ser prejudicial para outros. Ataquem as vossas Tarefas Diárias, não os vossos pares.", "commGuideList02D": "Mantenham os debates apropriados para todas as idades. Temos muitos jovens Habiticanos a usar este site! Vamos tentar não manchar os inocentes nem dificultar a qualquer Habiticano a chegada às suas metas.", "commGuideList02E": "Evita a profanidade. Isto inclui declarações mais brandas sobre religião que possam ser consideradas aceitáveis noutros contextos. Temos pessoas de todas as origens culturais e religiosas e queremos que todas se sintam confortáveis nos espaços públicos. Se um moderador ou membro do staff te diz que determinado termo não é permitido no Habitica, mesmo que seja um termo que tu não entendas como problemático, essa decisão é final. Além disto, insultos serão tratados com severidade, uma vez que são também uma violação dos Termos de Serviço.", "commGuideList02F": "Evita debates extensos sobre temas fracturantes na Estalagem e onde estes possam estar fora de contexto. Se considerares que alguém disse algo rude ou ofensivo, não te envolvas. Se alguém mencionar algo que é permitido pelas diretrizes mas que te ofende, não faz mal fazer-lhe saber disso educadamente. Se é algo que vai contra as diretrizes ou os Termos de Serviço, deves sinalizar a situação e deixar que um moderador responda. Em caso de dúvida, sinaliza a publicação.", "commGuideList02G": "Cumpre imediatamente qualquer pedido de um Moderador. Isto pode incluir, mas não está limitado a, pedir que limites as tuas publicações num determinado espaço, que edites o teu perfil de forma a removeres conteúdo impróprio, pedir-te que desloques o teu debate para um espaço mais adequado, etc.", - "commGuideList02J": "Não envies spam. Enviar spam inclui mas não está limitado a: publicar o mesmo comentário ou pergunta em múltiplos locais; publicar links sem explicação ou contexto; publicar mensagens absurdas; fazer múltiplas publicações a promover uma Guilda, uma Equipa ou um Desafio; publicar várias mensagens de seguida. Pedir gemas ou uma subscrição em qualquer um dos espaços de conversação ou via Mensagem Privada também é considerado spam. Se os cliques num link te vão beneficiar de alguma maneira isto deve estar explícito no conteúdo da tua mensagem para que não seja considerada spam.

Fica ao critério dos moderadores decidir se algo é spam ou pode conduzir a spam, mesmo que tu aches que não estiveste a enviar spam. Por exemplo, publicitar uma Guilda é aceitável uma vez ou duas, mas publicações múltiplas num só dia vão ser consideradas spam, não importa quão útil é essa Guilda!", + "commGuideList02J": "Não envie spam. Enviar spam inclui mas não está limitado a: publicar o mesmo comentário ou pergunta em múltiplos locais, publicar links sem explicação ou contexto, publicar mensagens sem sentido, fazer múltiplas publicações a promover uma Guilda, Equipe ou Desafio, publicar várias mensagens seguidas. Pedir gemas ou uma subscrição em qualquer um dos espaços de conversação ou via Mensagem Privada também é considerado spam. Se os cliques em um link vão te beneficiar de alguma maneira isto deve estar explícito no conteúdo da sua mensagem para que não seja considerada spam. Fica ao critério dos moderadores decidir se algo é spam.", "commGuideList02K": "Evita publicar cabeçalhos longos em espaços de conversação públicos, particularmente a Estalagem. Tal como TUDO EM MAIÚSCULAS, lê-se como se estivesses a gritar, e interfere com o nosso ambiente confortável.", "commGuideList02L": "Desencorajamos veementemente a troca de informação pessoal -- especialmente informação que permita identificar-te -- em espaços de conversação públicos. Informação sobre identidade pode incluir mas não está limitada a: morada; endereço de e-mail e código API/senha. Isto é para a tua segurança! O staff ou moderadores podem remover, ao seu critério, este tipo de publicações. Se alguém te pedir informação pessoal numa Guilda privada, Equipa ou Mensagem Privada, recomendamos veementemente que recuses de forma educada e alertes o staff e os moderadores através de um dos seguintes meios: 1) sinalizar a mensagem se for numa Equipa ou Guilda privada, ou 2) preencher o Formulário de Contacto com Moderadores e anexar screenshots.", "commGuidePara019": "Em espaços privados, os utilizadores têm mais liberdade para debater quaisquer assuntos que queiram, mas ainda assim não podem violar os Termos e Condições de Utilização, incluindo publicar insultos ou qualquer conteúdo discriminatório, violento ou ameaçador. Repara que, como os nomes dos Desafios aparecem no perfil público dos vencedores, TODOS os nomes de Desafios devem obedecer às Diretrizes de Espaço Público, mesmo que surjam num espaço privado.", @@ -61,7 +61,7 @@ "commGuidePara056": "Infrações Leves, apesar de desencorajadas, tem também consequências pequenas. Se elas continuarem a ocorrer, podem levar à consequências mais severas com o passar do tempo.", "commGuidePara057": "Estes são alguns exemplos de Infrações Leves. Esta não é uma lista completa.", "commGuideList07A": "Primeira violação das Diretrizes de Espaço Publico", - "commGuideList07B": "Quaisquer afirmações que desencadeiem um \"Por Favor, Não\". Quando um Mod tem de dizer \"Por favor, não faças isto\" a um utilizador, isso conta para esse utilizador como uma infracção muito leve. A título de exemplo: \"Por favor, não continues a debater a favor desta ideia para uma funcionalidade depois de te termos dito várias vezes que não é possível\". Muitas vezes, o Por Favor, Não é a sua própria consequência leve, mas se um Mod tiver de dizer \"Por Favor, Não\" ao mesmo utilizador por várias vezes, as Infracções Muito Leves em causa começarão a contar como Infracções Moderadas.", + "commGuideList07B": "Qualquer afirmação ou ação que desencadeie um \"Por Favor, Não\" por um Moderador. Quando um Moderador tem que pedir a um usuário que não faça algo publicamente, isso pode corresponder a própria consequência. Se os Moderadores têm que aplicar várias dessas correções para a mesma pessoa, isso pode contar como uma infração maior.", "commGuidePara057A": "Algumas publicações podem estar escondidas por conterem informação sensível ou porque podem passar uma ideia errada. Geralmente isto não conta como infracção, especialmente se for a primeira vez que acontece!", "commGuideHeadingConsequences": "Consequências", "commGuidePara058": "Em Habitica -- como na vida real -- cada ação tem uma consequência, seja ficar em forma porque você tem corrido, seja ficar com cáries porque você tem comido muito açúcar, ou seja passar de ano porque você tem estudado.", @@ -77,7 +77,7 @@ "commGuideList09C": "Permanentemente desabilitar (\"congelar\") progressão dos Níveis de Contribuidor", "commGuideHeadingModerateConsequences": "Exemplos de Consequências Moderadas", "commGuideList10A": "Restrição de privilégios de conversação pública e/ou privada", - "commGuideList10A1": "Se as suas acções resultarem na revogação dos seus privilégios de chat, um Moderador ou membro da Equipe enviará uma mensagem privada a si e/ou colocará um post no fórum onde tenha sido silenciado para o notificar da razão para tal e quanto tempo estará silenciado. No final desse período, receberá os seus privilégios de chat de volta, contando que esteja disposto a corrigir o comportamento que levou ao seu silenciar inicialmente e obedeça às Diretrizes de Comunidade.", + "commGuideList10A1": "Se as suas ações resultarem na revogação dos seus privilégios de chat, você deverá enviar um email a admin@habitica.com .\nVocê poderá receber seus privilégios de chat de volta a critério dos Moderadores se você agir educadamente de acordo com as ações requeridas e concordar em seguir as Diretrizes da Comunidade e os Termos de Serviço.", "commGuideList10C": "Restrição de privilégios de criação de Guildas/Desafios", "commGuideList10D": "Temporariamente desabilitar (\"congelar\") progressão dos Níveis de Contribuidor", "commGuideList10E": "Demoção do Nível de Contribuidor", @@ -125,9 +125,10 @@ "commGuideList01D": "Por favor, obedeça aos pedidos dos moderadores.", "commGuideList09D": "Remoção ou rebaixamento de Níveis de Contribuição", "commGuideList01F": "Não implore por itens pagos, não \"spame\" e evite textos com grandes cabeçalhos ou totalmente escritos em caixa-alta.", - "commGuideList01E": "Não instigue ou se envolva em conversas provocativas na Taverna.", + "commGuideList01E": "Não instigue ou se envolva em conversas provocativas na Taverna.", "commGuidePara017": "Esta é a versão resumida, mas nós recomendamos que você leia com mais detalhes abaixo:", "commGuideList01C": "Todas as discussões devem ser apropriadas para todas as idades e livres de obscenidades.", "commGuideList01B": "Proibido: Qualquer comunicação violenta, ameaças, promoção de discriminação, etc. incluindo memes, imagens e piadas.", - "commGuideList02M": "Não peça ou implore por gemas, assinaturas ou planos de Times. Isso não é permitido na Taverna, em bate-papos de espaços públicos ou privados ou em mensagens privadas. Se você receber mensagens pedindo por itens pagos, por favor reporte-as. A insistência neste comportamento, especialmente após advertência, poderá resultar em banimento da conta." + "commGuideList02M": "Não peça ou implore por gemas, assinaturas ou planos de Times. Isso não é permitido na Taverna, em bate-papos de espaços públicos ou privados ou em mensagens privadas. Se você receber mensagens pedindo por itens pagos, por favor reporte-as. A insistência neste comportamento, especialmente após advertência, poderá resultar em banimento da conta.", + "commGuideList02N": " Marque e reporte posts que violem essas Diretrizes ou os Termos de Serviço. Nós lidaremos com eles o mais rápido possível. Você também pode notificar os Moderadores via admin@habitica.com mas as marcações e reportes são a maneira mais rápida de ajudar." } diff --git a/website/common/locales/pt/content.json b/website/common/locales/pt/content.json index 572366bc3b..49aac641f8 100644 --- a/website/common/locales/pt/content.json +++ b/website/common/locales/pt/content.json @@ -371,5 +371,7 @@ "hatchingPotionSolarSystem": "Sistema Solar", "hatchingPotionPolkaDot": "Bolinhas", "hatchingPotionWindup": "de Corda", - "hatchingPotionVirtualPet": "Mascote Virtual" + "hatchingPotionVirtualPet": "Mascote Virtual", + "hatchingPotionPorcelain": "Porcelana", + "hatchingPotionPinkMarble": "Mármore Rosa" } diff --git a/website/common/locales/pt/contrib.json b/website/common/locales/pt/contrib.json index abce26c5f7..ed329cda4d 100644 --- a/website/common/locales/pt/contrib.json +++ b/website/common/locales/pt/contrib.json @@ -53,6 +53,6 @@ "surveysSingle": "Ajudou o Habitica a crescer, preenchendo um questionário ou ajudando com um grande esforço em testes. Obrigado!", "surveysMultiple": "Ajudou Habitica a crescer em <%= count %> ocasiões, seja ao preencher um inquérito ou ao ajudar com grandes esforços de testes. Obrigado!", "blurbHallPatrons": "Este é o Salão dos Patrocinadores, onde honramos os nobres aventureiros que apoiaram Habitica no Kickstarter. Agradecemos a eles por nos ajudar a trazer Habitica à vida!", - "blurbHallContributors": "Isto é o Salão dos Colaboradores, onde os colaboradores de código aberto para o Habitica são homenageados. Quer seja através de programação, arte, música, escrita ou apenas prestabilidade, eles ganharam gemas, equipamento exclusivo e títulos de prestígio. Você também pode colaborar para o Habitica! Saiba mais aqui.", + "blurbHallContributors": "Este é o Salão dos Colaboradores, onde os colaboradores de código aberto do Habitica são homenageados. Quer seja através de programação, arte, música, escrita ou apenas prestabilidade, eles ganharam gemas, equipamento exclusivo e títulos de prestígio. Você também pode colaborar para o Habitica! Saiba mais aqui.", "noPrivAccess": "Não tem os privilégios necessários." } diff --git a/website/common/locales/pt/faq.json b/website/common/locales/pt/faq.json index 502b11055d..ee1e2b1db5 100644 --- a/website/common/locales/pt/faq.json +++ b/website/common/locales/pt/faq.json @@ -10,7 +10,7 @@ "webFaqAnswer1": "* Bons Hábitos (os que tem um :heavy_plus_sign:) são tarefas que você pode fazer muitas vezes ao dia, como comer vegetais. Maus Hábitos (os que tem :heavy_minus_sign:) são tarefas que você deve evitar, como roer as unhas. Hábitos com :heavy_plus_sign: e :heavy_minus_sign: tem uma escolha boa e uma escolha ruim, como subir escadas vs pegar o elevador. Bons Hábitos concedem Experiência e Ouro. Maus Hábitos diminuem sua Vida.\n* Diárias são tarefas que você faz todos os dias, como escovar dentes ou checar seu e-mail. Você pode ajustar os dias em que uma Diária deve ser cumprida clicando no item do lápis para editá-la. Se você não realizar uma Diária ativa, seu Avatar sofrerá dano no final do dia. Tenha cuidado para não adicionar muitas Diárias de uma só vez!\n* Afazeres são a sua lista de afazeres. Concluindo um Afazer você ganha Ouro e Experiência. Você nunca perderá Vida com Afazeres. Você pode estabelecer um prazo para um Afazer clicando no ícone do lápis para editar.", "faqQuestion2": "Há algumas tarefas modelo?", "iosFaqAnswer2": "A wiki tem quatro listas de tarefas modelo para usar como inspiração:\n\n* [Amostras de Hábitos](https://habitica.fandom.com/pt-br/wiki/Sample_Habits)\n* [Amostras de Tarefas Diárias](https://habitica.fandom.com/pt-br/wiki/Sample_Dailies)\n* [Amostras de Afazeres](https://habitica.fandom.com/pt-br/wiki/Sample_To-Dos)\n* [Amostras de Recompensas Personalizadas](https://habitica.fandom.com/pt-br/wiki/Sample_Custom_Rewards)", - "androidFaqAnswer2": "A wiki tem quatro listas de exemplos de tarefas para usar como inspiração:\n\n* [Exemplos de Hábitos](http://habitica.fandom.com/wiki/Sample_Habits)\n* [Exemplos de Diárias](http://habitica.fandom.com/wiki/Sample_Dailies)\n* [Exemplos de Afazeres](http://habitica.fandom.com/wiki/Sample_To-Dos)\n* [Exemplos de Recompensas Pessoais](http://habitica.fandom.com/wiki/Sample_Custom_Rewards)", + "androidFaqAnswer2": "A wiki tem quatro listas de exemplos de tarefas para usar como inspiração:\n\n* [Exemplos de Hábitos](https://habitica.fandom.com/pt-br/wiki/Exemplos_de_H%C3%A1bitos)\n* [Exemplos de Diárias](https://habitica.fandom.com/pt-br/wiki/Exemplos_de_Di%C3%A1rias)\n* [Exemplos de Afazeres](https://habitica.fandom.com/pt-br/wiki/Exemplos_de_Afazeres)\n* [Exemplos de Recompensas Pessoais](https://habitica.fandom.com/pt-br/wiki/Exemplos_de_Recompensas)", "webFaqAnswer2": "A wiki tem quatro listas de tarefas modelo para usar como inspiração:\n* [Amostras de Hábitos](https://habitica.fandom.com/pt-br/wiki/Sample_Habits)\n* [Amostras de Tarefas Diárias](https://habitica.fandom.com/pt-br/wiki/Sample_Dailies)\n* [Amostras de Afazeres](https://habitica.fandom.com/pt-br/wiki/Sample_To-Dos)\n* [Amostras de Recompensas Personalizadas](https://habitica.fandom.com/pt-br/wiki/Sample_Custom_Rewards)", "faqQuestion3": "Porque é que as minhas tarefas mudam de cor?", "iosFaqAnswer3": "Suas tarefas mudam de cor a medida que você as cumpre! Cada tarefa nova começa como um amarelo neutro. Conclua uma tarefa diária ou habitos positivos mais frequentemente e elas caminharão em direção ao azul. Perca uma tarefa diária ou tenha um hábito ruim e a tarefa vai para o vermelho. Quanto mais vermelha for a tarefa, maior será sua recompensa, mas se for uma diária ou um hábito ruim, mais elas irão te machucar! Isso te ajuda a motivar-se a completar tarefas que estão te dando problemas.", @@ -20,8 +20,8 @@ "iosFaqAnswer4": "Há várias coisas que lhe podem dar dano. Primeiro, se deixar Tarefas Diárias por completar ao final do dia e não as marcar como completar no ecrã que aparece na manhã seguinte, essas Tarefas Diárias incompletas irão dar-lhe dano. Segundo, se carregar num mau Hábito, irá receber dano. Finalmente, se a sua Equipe estiver em combate com um Chefão e um dos membros da mesma não completar as suas Tarefas Diárias, o Chefão irá atacá-lo.\n\nA principal forma de se curar é subir de nível, pois tal restaura toda a sua vida. Pode também comprar uma Poção de Vida com ouro na coluna de Recompensas. Mais, a partir de nível 10 pode escolher tornar-se um Curandeiro, podendo então aprender habilidades de cura. Se está numa Equipa com um Curandeiro, ele poderá curá-lo também.", "androidFaqAnswer4": "Há várias coisas que lhe podem dar dano. Primeiro, se deixar Tarefas Diárias por completar ao final do dia e não as marcar como completar no ecrã que aparece na manhã seguinte, essas Tarefas Diárias incompletas irão dar-lhe dano. Segundo, se carregar num mau Hábito, irá receber dano. Finalmente, se a sua Equipe estiver em combate com um Chefão e um dos membros da mesma não completar as suas Tarefas Diárias, o Chefão irá atacá-lo.\n\nA principal forma de se curar é subir de nível, pois tal restaura toda a sua vida. Pode também comprar uma Poção de Vida com ouro no separador de Recompensas na página de Tarefas. Mais, a partir de nível 10 pode escolher tornar-se um Curandeiro, podendo então aprender habilidades de cura. Se está numa Equipa com um Curandeiro, ele poderá curá-lo também.", "webFaqAnswer4": "Há várias coisas que lhe podem dar dano. Primeiro, se deixar Tarefas Diárias por completar ao final do dia e não as marcar como completar no ecrã que aparece na manhã seguinte, essas Tarefas Diárias incompletas irão dar-lhe dano. Segundo, se clicar num mau Hábito, irá receber dano. Finalmente, se a sua Equipe estiver em combate com um Chefão e um dos membros da mesma não completar as suas Tarefas Diárias, o Chefão irá atacá-lo. A principal forma de se curar é subir de nível, pois tal restaura toda a sua vida. Pode também comprar uma Poção de Vida com ouro na coluna de Recompensas. Mais, a partir de nível 10 pode escolher tornar-se um Curandeiro, podendo então aprender habilidades de cura. Outros Curandeiros podem curá-lo também se estiver numa Equipa com eles. Aprenda mais clicando em \"Equipe\" na barra de navegação.", - "faqQuestion5": "Como é que eu jogo Habitica com meus amigos?", - "iosFaqAnswer5": "O melhor jeito é convidá-los para um Grupo com você! Grupos podem fazer Missões, batalhar contra monstros e lançar habilidades para ajudar um ao outro.\n\nSe você quer começar o seu próprio Grupo, vá em Menu > [Grupo] (https://habitica.com/party) e clique em \"Criar novo Grupo\". Em seguida, role para baixo e clique em \"Convidar um Membro\" para convidar seus amigos digitando o @nomedeusuário deles. Se você quer se juntar ao Grupo de alguém, dê a ele o seu @nomedeusuário para ser convidado.\n\nVocê e seus amigos também podem se juntar às Guildas, que são salas públicas de conversa para reunir pessoas com base em seus interesses em comum! Existem muitas comunidades úteis e divertidas, não deixe de dar uma olhada nelas.\n\nSe estiver se sentindo mais competitivo, você e seus amigos podem criar ou participar de Desafios para realizar uma série de tarefas. Estão disponíveis todos os tipos de Desafios públicos que abrangem uma ampla variedade de interesses e objetivos. Alguns Desafios públicos irão conceder, até mesmo, Gemas se você for selecionado como o vencedor.", + "faqQuestion5": "Como posso jogar Habitica com meus amigos?", + "iosFaqAnswer5": "O melhor jeito é convidá-los para um Grupo com você! Grupos podem fazer Missões, batalhar contra monstros e lançar habilidades para ajudar um ao outro.\n\nSe você quer começar o seu próprio Grupo, vá em Menu > [Grupo] (https://habitica.com/party) e clique em \"Criar novo Grupo\". Em seguida, role para baixo e clique em \"Convidar um Membro\" para convidar seus amigos digitando o @nomedeusuário deles. Se você quer se juntar ao Grupo de alguém, dê a ele o seu @nomedeusuário para ser convidado.\n\nVocê e seus amigos também podem se juntar às Guildas, que são salas públicas de conversa para reunir pessoas com base em seus interesses em comum! Existem muitas comunidades úteis e divertidas, não deixe de dar uma olhada nelas.\n\nSe estiver se sentindo mais competitivo, você e seus amigos podem criar ou participar de Desafios para realizar uma série de tarefas. Estão disponíveis todos os tipos de Desafios públicos que abrangem uma ampla variedade de interesses e objetivos. Alguns Desafios públicos irão conceder, até mesmo, Gemas se você for selecionado como o vencedor.", "androidFaqAnswer5": "A melhor forma é convidá-los para entrar numa Equipa contigo! As equipas podem partir em missões, lutar contra monstros e usar habilidades para se ajudarem entre si. Vai a [website](https://habitica.com/) para criar uma Equipa se ainda não tens uma. Também podem juntar-se às mesmas guildas (Social > Guildas). Guildas são salas de conversação focadas em interesses partilhados ou num objectivo em comum e podem ser privadas ou públicas. Podes juntar-te a tantas guildas quantas quiseres, mas apenas a uma equipa.\n\nPara informação mais detalhada espreita as páginas wiki sobre [Equipas](https://habitica.fandom.com/wiki/Party) e [Guildas](https://habitica.fandom.com/wiki/Guilds).", "webFaqAnswer5": "A melhor forma é convidá-los para uma Equipa consigo clicando em \"Equipa\" na barra de navegação! Equipas podem ir em missões, combater monstros e usar habilidades para se apoiarem entre si. Podem também juntar-se às mesmas guildas (clica em \"Guildas\" na barra de navegação). Guildas são salas de conversação focadas em interesses partilhados ou um objetivo em comum, podendo ser públicas ou privadas. Podes juntar-se a tantas Guildas quantas quiseres mas apenas a uma Equipa. Para informação mais detalhada, espreita as páginas wiki sobre [Equipas](https://habitica.fandom.com/wiki/Party) e [Guildas](https://habitica.fandom.com/wiki/Guilds).", "faqQuestion6": "Como é que eu obtenho uma Mascote ou Montada?", @@ -54,5 +54,7 @@ "webFaqAnswer12": "Líderes Globais são monstros especiais que aparecem na Estalagem. Todos os utilizadores activos combatem automaticamente o Líder e as suas tarefas e Habilidades causam dano ao Líder como é normal. Podes estar numa Missão normal ao mesmo tempo. As tuas tarefas e Habilidades contam tanto para o Líder Global como para o Líder/Missão de Colecção da tua equipa. Um Líder Global nunca te vai prejudicar a ti ou à tua conta seja de que forma for. Em vez disso, ele tem uma Barra de Raiva que se enche quando os utilizadores falham Tarefas Diárias. Se a Barra de Raiva ficar cheia, ele ataca uma das Personagens Não-Jogáveis do site e a imagem delas muda. Podes ler mais sobre [Líderes Globais anteriores](http://habitica.fandom.com/wiki/World_Bosses) na wiki.", "iosFaqStillNeedHelp": "Se você tem uma pergunta que não está na [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ), venha perguntar no chat da Taberna em Menu > Taberna! Ficamos felizes em ajudar.", "androidFaqStillNeedHelp": "Se tem alguma pergunta que não está nesta lista ou na [FAQ da Wiki](https://habitica.fandom.com/wiki/FAQ), venha perguntar no chat da Taverna acessível em Menu > Taverna! Estamos sempre dispostos a ajudar.", - "webFaqStillNeedHelp": "Se tiver uma pergunta que não esteja nesta lista ou na página de [Wiki de FAQ](https://habitica.fandom.com/wiki/FAQ), venha coloca-la na [Corporação de Ajuda de Habitica](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)!  Estamos felizes em ajudar." + "webFaqStillNeedHelp": "Se tiver uma pergunta que não esteja nesta lista ou na página de [Wiki de FAQ](https://habitica.fandom.com/wiki/FAQ), venha coloca-la na [Corporação de Ajuda de Habitica](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)!  Estamos felizes em ajudar.", + "faqQuestion13": "O que é um Plano de Grupo?", + "general": "Geral" } diff --git a/website/common/locales/pt/front.json b/website/common/locales/pt/front.json index 13d0a6beb2..4ee724537f 100644 --- a/website/common/locales/pt/front.json +++ b/website/common/locales/pt/front.json @@ -9,11 +9,11 @@ "communityFacebook": "Facebook", "companyAbout": "Como Funciona", "companyBlog": "Blogue", - "companyContribute": "Contributo", - "companyDonate": "Doar", + "companyContribute": "Contribuindo para o Habitica", + "companyDonate": "Doar para o Habitica", "forgotPassword": "Esqueceu-se da Senha?", "emailNewPass": "Enviar um Link para Reinicio de Senha para o correio eletrónico", - "forgotPasswordSteps": "Insira a morada de correio eletrónico que usou para registar a sua conta de Habitica.", + "forgotPasswordSteps": "Insira o seu nome de usuário ou o e-mail utilizado no registro da sua conta no Habitica.", "sendLink": "Enviar Link", "featuredIn": "Apresentado em", "footerDevs": "Programadores", @@ -44,7 +44,7 @@ "marketing3Header": "Aplicações e Extensões", "marketing3Lead1": "As aplicações para **iPhone & Android** permitem-te tratar dos assuntos em movimento. Temos noção de que entrar no site para clicar em botões pode ser aborrecido.", "marketing3Lead2Title": "Integrações", - "marketing3Lead2": "equipaOutras **Ferramentas de Terceiros** ligam o Habitica a diversos aspectos da tua vida. O nosso API permite uma fácil integração para coisas como a [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), através da qual perdes pontos se visitares sites pouco produtivos e ganhas se, pelo contrário, visitares sites produtivos. [Vê mais aqui](http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).", + "marketing3Lead2": "Outros **Ferramentas de Terceiros** ligam o Habitica à diversos aspectos da sua vida. O nosso API permite uma fácil integração para coisas como a [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), nos quais se perdem pontos quando se navega em websites improdutivos, e se ganham pontos quando se navega em websites produtivos. [Saiba mais](http://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).", "marketing4Header": "Utilização Organizacional", "marketing4Lead1": "A educação é um dos melhores setores para a \"gamificação\". Todos nós sabemos o quanto os alunos estão colados aos telemóveis e jogos hoje em dia; aproveite esse poder! Incite os seus alunos uns contra os outros em competição amigável. Recompense bom comportamento com prémios raros. Veja as notas e comportamento melhorarem.", "marketing4Lead1Title": "Gamificação na Educação", @@ -53,10 +53,10 @@ "marketing4Lead3-1": "Quer gamificar a sua vida?", "marketing4Lead3-2": "Interessado em coordenar um grupo em educação, bem-estar, e mais?", "marketing4Lead3Title": "Gamifique Tudo", - "mobileAndroid": "Android", - "mobileIOS": "iOS", + "mobileAndroid": "Aplicativo Android", + "mobileIOS": "Aplicativo iOS", "oldNews": "Notícias", - "newsArchive": "Arquivo de notícias na Wikia (multilingue)", + "newsArchive": "Arquivo de notícias no Fandom (multilingue)", "setNewPass": "Definir Nova Password", "password": "Palavra-passe", "playButton": "Jogar", @@ -118,18 +118,18 @@ "missingNewPassword": "Nova palavra-passe em falta.", "invalidEmailDomain": "Não pode registar com e-mails com os seguintes domínios : <%= domains %>", "wrongPassword": "Palavra-passe incorreta.", - "incorrectDeletePhrase": "Por favor escreva <%= magicWord %> em maiúsculas para apagar a sua conta.", + "incorrectDeletePhrase": "Por favor escreva <%= magicWord %> em todas as letras maiúsculas para apagar a sua conta.", "notAnEmail": "Endereço de e-mail inválido.", "emailTaken": "Endereço de email já está sendo usado em uma conta.", "newEmailRequired": "Novo endereço de e-mail em falta.", "usernameTime": "É altura de estabelecer o seu nome de utilizador!", - "usernameInfo": "Nomes de login são agora nomes únicos que iram estar visíveis ao lado do seu nome de utilizador e usados para convites, @menções em conversa e mensagens.

Se quiser saber mais acerca desta mudança, visite a nossa wiki.", + "usernameInfo": "Agora, os nomes de logins são únicos e visíveis ao lado do seu nome de utilizador, além de serem usados para convites, @menções em conversa e mensagens.

Se quiser saber mais sobre esta mudança, visite a nossa wiki.", "usernameTOSRequirements": "Nomes de utilizador devem conformar-se com os nossos Termos de Serviço e Diretrizes da Comunidade. Se previamente não estabeleceu um nome de login, o seu nome de utilizador será automáticamente gerado.", "usernameTaken": "Nome de utilizador já tomado.", "passwordConfirmationMatch": "A confirmação da palavra-passe não corresponde com a palavra-passe.", "invalidLoginCredentials": "Nome de utilizador e/ou e-mail e/ou palavra-passe incorretos.", "passwordResetPage": "Reinicializar Senha", - "passwordReset": "Se tivermos a sua morada de correio eletrónico em ficheiro, enviámos instruções de como criar uma nova senha para o mesmo.", + "passwordReset": "Se tivermos o seu correio eletrônico ou nome de usuário em um arquivo, instruções de como criar uma nova senha serão enviadas para o seu e-mail.", "passwordResetEmailSubject": "Redefinir Palavra-passe para Habitica", "passwordResetEmailText": "Se pediu para redefinir a palavra-passe para <%= username %> no Habitica, dirija-se a <%= passwordResetLink %> para definir uma nova. O link vai expirar depois de 24 horas. Se não pediu para redefinir a palavra-passe, por favor ignore este email.", "passwordResetEmailHtml": "Se pediu uma reinicialização de senha para <%= username %> em Habitica, \">carregue aqui para definir uma nova. O link expirará depois de 24 horas.

Se não pediu uma reinicialização de senha, por favor ignore este e-mail.", @@ -150,7 +150,7 @@ "confirmPassword": "Confirmar Palavra-passe", "usernameLimitations": "O nome de utilizador deve conter entre 1 e 20 caracteres; contendo apenas letras de A a Z, números de 0 a 9, hifens ou traços sublinhados, não podendo ser incluso quaisquer termos inapropriados.", "usernamePlaceholder": "e.g., HabitRabbit", - "emailPlaceholder": "e.g., rabbit@example.com", + "emailPlaceholder": "e.g., gryphon@exemplo.com", "passwordPlaceholder": "e.g., ******************", "confirmPasswordPlaceholder": "Certifica-te que é a mesma palavra-passe!", "joinHabitica": "Aderir ao Habitica", @@ -163,7 +163,7 @@ "gamifyYourLife": "Gamifique a Sua Vida", "aboutHabitica": "Habitica é uma aplicação gratuita de produtividade e criação de hábitos que trata a sua vida real como se fosse um jogo. Com recompensas e punições incluídas no jogo para o motivar e uma rede social forte para o inspirar. O Habitica pode ajudar-te a atingir os seus objetivos para se tornar saudável, trabalhar com mais prazer e manter-se feliz.", "trackYourGoals": "Acompanha os teus Hábitos e Metas", - "trackYourGoalsDesc": "Mantenha-se responsável ao manter conta e gerindo os seus Hábitos, Tarefas Diárias e lista de Afazeres com as aplicações móveis e interface web fáceis de usar de Habitica.", + "trackYourGoalsDesc": "Mantenha-se responsável pelo acompanhamento e gestão dos seus hábitos, Tarefas Diárias e lista de Afazeres do Habitica com as aplicações móveis e interface web fáceis de usar.", "earnRewards": "Ganha Recompensas pelas Tuas Metas", "earnRewardsDesc": "Marque tarefas como completas para subir o nível do seu Avatar e destrancar funcionalidades no jogo como armadura de combate, mascotes misteriosas, habilidades mágicas e até mesmo missões!", "battleMonsters": "Luta contra Monstros com os teus Amigos", @@ -184,5 +184,10 @@ "mobileApps": "Apps Móveis", "learnMore": "Saber Mais", "minPasswordLength": "A senha deve conter 8 caracteres ou mais.", - "communityInstagram": "Instagram" + "communityInstagram": "Instagram", + "emailUsernamePlaceholder": "e.g., habitrabbit ou gryphon@exemplo.com", + "footerProduct": "Produto", + "socialAlreadyExists": "Este login social já está ligado a uma conta Habitica que já existe.", + "translateHabitica": "Traduzir Habitica", + "enterHabitica": "Entre no Habitica" } diff --git a/website/common/locales/pt/gear.json b/website/common/locales/pt/gear.json index 9eabb71ed1..6e19f0e140 100644 --- a/website/common/locales/pt/gear.json +++ b/website/common/locales/pt/gear.json @@ -1788,5 +1788,39 @@ "weaponSpecialWinter2020HealerText": "Cetro de Cravinho", "weaponSpecialSpring2020WarriorText": "Asa Aguçada", "weaponSpecialSpring2020RogueText": "Lâmina de Lazurita", - "weaponSpecialWinter2020WarriorText": "Pinha Pontiaguda" + "weaponSpecialWinter2020WarriorText": "Pinha Pontiaguda", + "weaponArmoireBaseballBatNotes": "Consiga um bom desempenho nesses bons hábitos! Aumenta a Constituição em <%= con %>. Armário Encantado: Conjunto de Beisebol (Item 3 de 4).", + "weaponArmoirePaperCutterText": "Cortador de Papel", + "weaponArmoireBaseballBatText": "Taco de Beisebol", + "weaponArmoireHappyBannerText": "Bandeira Feliz", + "weaponArmoireFiddlersBowNotes": "Você pode obter música de qualquer coisa com isso! ...Um violino pode funcionar melhor, no entanto. Aumenta a força em <%= str %>. Armário Encantado: Conjunto de Violinistas (Item 3 de 4).", + "weaponArmoireLivelyMatchNotes": "Enquanto estiver segurando isso, com certeza desperta o interesse de alguém! Aumenta a força em <%= str %>. Armário Encantado: Conjunto do Fabricante de Fósforos (Item 3 de 4).", + "weaponArmoireAlchemistsDistillerNotes": "Purifique metais e outros compostos mágicos com este instrumento de latão brilhante. Aumenta a força em <% = str %> e a inteligência em <%= int %>. Armário Encantado: Conjunto Alquimista (Item 3 de 4).", + "weaponArmoireHappyBannerNotes": "O \"H\" é de Happy ou Habitica? Você escolhe! Aumenta a percepção em <%= per %>. Armário Encantado: Conjunto de Feliz Aniversário (Item 3 de 4).", + "weaponArmoireLivelyMatchText": "Uma Partida Animada", + "weaponSpecialSpring2020MageText": "Chuviscos", + "weaponSpecialWinter2020MageText": "Ondas Sonoras Vibrantes", + "weaponSpecialSpring2020RogueNotes": "Você vai atacar tão rápido que vai parecer ainda MAIS azul! Aumenta Força em <%= for %>. Edição Limitada 2020 Equipamento de Primavera.", + "weaponSpecialWinter2020RogueNotes": "Escuridão é um elemento do Gatuno. Quem melhor, então, para iluminar o caminho na época mais escura do ano? Aumenta Força em<%= for %>. Edição Limitada 2019-2020 Equipamento de Inverno.", + "weaponSpecialWinter2020WarriorNotes": "Para trás esquilos! Vocês não pegarão nenhum pedaço disso!...Mas se vocês todos quiserem passar um tempo juntos e tomar chocolate, tudo bem. Aumenta Força em <%= for %>. Edição Limitada 2019-2020 Equipamento de Inverno.", + "weaponSpecialWinter2020MageNotes": "Com a prática, você pode projetar essa magia aural em qualquer frequência desejada: um zumbido meditativo, um carrilhão festivo ou um ALARME VERMELHO DE TAREFA ATRASADA. Aumenta Inteligência em <%= int %> e Percepção em <%= per %>. Edição Limitada 2019-2020 Equipamento de Inverno.", + "weaponSpecialWinter2020HealerNotes": "Agite-o e seu aroma convocará seus amigos e ajudantes para começar a cozinhar e assar! Aumenta Inteligência em <%= int %>. Edição Limitada 2019-2020 Equipamento de Inverno.", + "weaponSpecialSpring2020WarriorNotes": "Lute ou fuja, esta asa irá servi-lo bem! Aumenta a Força em <%= str %>. Edição Limitada 2020 Equipamento de Primavera.", + "weaponSpecialSummer2020MageText": "Remo Poderoso", + "weaponSpecialSpring2020MageNotes": "Eles continuam caindo na sua cabeça! Mas você nunca vai pará-los apenas reclamando. Aumenta Inteligência em <%= int %> e Percepção em <%= per %>. Edição Limitada 2020 Equipamento de Primavera.", + "weaponSpecialSummer2020WarriorText": "Anzol", + "weaponSpecialSpring2020HealerText": "Cajado de Lírio-Espada", + "weaponSpecialSpring2020HealerNotes": "Uma íris é bela, mas as folhas são como espadas... não seja enganado pelas flores, este cajado é duro como aço! Aumenta Inteligencia por <%= int %>. Edição Limitada 2020 Equipamento de Primavera.", + "weaponSpecialSummer2020RogueNotes": "Seus inimigos não veem você se aproximar, mas suas Presas são inescapáveis! Aumenta Força em <%= str %>. Edição Limitada 2020 Equipamento de Verão.", + "weaponSpecialSummer2020WarriorNotes": "Se os seus oponentes zombarem da sua escolha de arma, não morda a isca. Esse gancho maneiro fisga de verdade! Aumenta Força por <%=str%>. Edição Limitada 2020 Equipamento de Verão.", + "weaponSpecialSummer2020MageNotes": "Navegue seu caminho pelos mares mais tortuosos e batalhas mais turbulentas. Aumenta Inteligência por <%= int %> e Percepção por <%= per %>. Edição Limitada 2020 Equipamento de Verão.", + "weaponSpecialSummer2020HealerText": "Bastão de Vidro Fosco", + "weaponSpecialSummer2020HealerNotes": "Assim como as correntes desgastam as pontas afiadas, a sua mágica também atenuará a dor de seus aliados. Aumenta Inteligência em <%=int%>. Edição Limitada 2020 Equipamento de Verão.", + "weaponSpecialFall2020RogueText": "Katar Afiada", + "weaponSpecialFall2020WarriorText": "Espada do Espectro", + "weaponSpecialFall2020RogueNotes": "Perfure seu oponente com um golpe afiado! Até a armadura mais grossa falhará contra a sua lâmina. Aumenta Força por <%=str%>. Edição Limitada 2020 Equipamento de Outono.", + "weaponSpecialSummer2020RogueText": "Lâmina da Presa", + "weaponSpecialFall2020WarriorNotes": "Essa espada foi para a vida após a morte com um poderoso Guerreiro, e agora retorna para você brandir! Aumenta Força por <%=str%>. Edição Limitada 2020 Equipamento de Outono", + "weaponSpecialFall2020MageText": "Três Visões", + "weaponSpecialFall2020MageNotes": "Se alguma coisa escapou da sua visão de mago, os brilhantes cristais no topo deste bastão devem iluminar o que deixou passar. Aumenta a Inteligência em <%= int %> e a Percepção em <%= por %>. Edição Limitada 2020 Engrenagem de Outono." } diff --git a/website/common/locales/pt/generic.json b/website/common/locales/pt/generic.json index 68ad1a06ea..05a986c1db 100644 --- a/website/common/locales/pt/generic.json +++ b/website/common/locales/pt/generic.json @@ -25,7 +25,7 @@ "user": "Utilizador", "market": "Mercado", "newSubscriberItem": "Tem Itens Mistério novos", - "subscriberItemText": "A cada mês, assinantes receberão um item misterioso. Ele normalmente é liberado cerca de uma semana antes do final do mês. Veja a página \"Item Misterioso\" da wiki para mais informações.", + "subscriberItemText": "Todos os meses, os assinantes receberão um item misterioso. Este torna-se disponível no início do mês. Veja a página 'Item Mistérioso' do wiki para mais informações.", "all": "Todos", "none": "Nenhum", "more": "<%= count %> mais", @@ -125,7 +125,7 @@ "birthdayCardNotes": "Envie um cartão de aniversário para um membro da equipa.", "birthday0": "Parabéns pra você!", "birthdayCardAchievementTitle": "Aniversário Próspero", - "birthdayCardAchievementText": "Muitas respostas felizes! Enviou ou recebeu <%= cards %> cartões de aniversário.", + "birthdayCardAchievementText": "Muitas respostas felizes! Enviou ou recebeu <%= count %> cartões de aniversário.", "congratsCard": "Cartão de Parabéns", "congratsCardExplanation": "Ambos recebem a conquista de Companheiro Congrulatório!", "congratsCardNotes": "Envia um cartão de Parabéns a um membro da equipa.", @@ -190,7 +190,7 @@ "dismissAll": "Dispensar Todos", "messages": "Mensagens", "emptyMessagesLine1": "Não tem quaisquer mensagens", - "emptyMessagesLine2": "Envie uma mensagem para começar a conversa!", + "emptyMessagesLine2": "Você pode mandar uma nova mensagem para um usuário visitando o perfil dele e clicando no botão \"Mensagem\".", "userSentMessage": "<%- user %> enviou-lhe uma mensagem", "letsgo": "Vamos a Isto!", "selected": "Seleccionado", @@ -199,5 +199,19 @@ "loadEarlierMessages": "Carregar Mensagens Anteriores", "finish": "Finalizar", "demo": "Demonstração", - "options": "Opções" + "options": "Opções", + "onboardingAchievs": "Conquistas a bordo", + "reportBugHeaderDescribe": "Por favor, descreva o bug encontrado e a nossa equipe entrará em contato com você.", + "reportEmailText": "Isto será apenas utilizado para entrar em contato sobre o bug relatado.", + "reportEmailPlaceholder": "Seu endereço de e-mail", + "reportEmailError": "Por favor, forneça um endereço de e-mail válido", + "reportDescription": "Descrição", + "reportDescriptionText": "Inclua capturas de tela ou erros do console Javascript se possível.", + "reportDescriptionPlaceholder": "Descreva detalhes do bug aqui", + "submitBugReport": "Envie um relatório do bug apresentado", + "reportSent": "Relatório enviado!", + "reportSentDescription": "Entraremos em contato com você assim que a nossa equipe tiver a oportunidade de investigar. Obrigado por relatar o problema.", + "emptyReportBugMessage": "Reportar Mensagem de Bug desaparecida", + "congratulations": "Parabéns!", + "askQuestion": "Faça uma pergunta" } diff --git a/website/common/locales/pt/groups.json b/website/common/locales/pt/groups.json index 27452dec9e..c37d33dd17 100644 --- a/website/common/locales/pt/groups.json +++ b/website/common/locales/pt/groups.json @@ -1,6 +1,6 @@ { - "tavern": "Conversa da Estalagem", - "tavernChat": "Conversa da Estalagem", + "tavern": "Bate-papo da Taverna", + "tavernChat": "Bate-papo da Taverna", "innCheckOutBanner": "Deste entrada na Pousada. As tuas Tarefas Diárias não te vão causar dano e não vais progredir nas Missões.", "innCheckOutBannerShort": "Você está a repousar na Estalagem.", "resumeDamage": "Retomar Dano", @@ -206,7 +206,7 @@ "leaderCannotLeaveGroupWithActiveGroup": "Um líder não pode sair do grupo enquanto este tem um plano ativo", "youHaveGroupPlan": "Você tem uma subscrição gratuita porque é membro de um grupo que tem um Plano de Grupo. Isto terminará quando não pertencer mais ao grupo que tem o Plano de Grupo. Qualquer crédito de subscrição extra que tenha será aplicado no final do Plano de Grupo.", "cancelGroupSub": "Cancelar Plano de Grupo", - "confirmCancelGroupPlan": "Tem a certeza que quer cancelar o plano de grupo e remover os benefícios associados a todos os membros, incluindo as suas subscrições gratuitas?", + "confirmCancelGroupPlan": "Tem certeza que quer cancelar seu Plano de Grupo? Todos os membros do Grupo vão perder as suas subscrições e seus benefícios.", "canceledGroupPlan": "Plano de Grupo Cancelado", "groupPlanCanceled": "Plano de Grupo ficará inativo em", "purchasedGroupPlanPlanExtraMonths": "Você tem <%= months %> meses de crédito extra de plano de grupo.", diff --git a/website/common/locales/pt/limited.json b/website/common/locales/pt/limited.json index acc6ea7fa4..c768174900 100644 --- a/website/common/locales/pt/limited.json +++ b/website/common/locales/pt/limited.json @@ -52,7 +52,7 @@ "nyeCardNotes": "Envie um cartão de Ano Novo para um membro da equipa.", "seasonalItems": "Itens Sazonais", "nyeCardAchievementTitle": "Velhos Conhecidos", - "nyeCardAchievementText": "Feliz Ano Novo! Mandou ou recebeu <%= cards %> cartões de Ano Novo.", + "nyeCardAchievementText": "Feliz Ano Novo! Mandou ou recebeu <%= count %> cartões de Ano Novo.", "nye0": "Feliz Ano Novo! Que você derrote muitos maus Hábitos.", "nye1": "Feliz Ano Novo! Que você colha muitas Recompensas.", "nye2": "Feliz Ano Novo! Que você conquiste vários Dias Perfeitos.", diff --git a/website/common/locales/pt/messages.json b/website/common/locales/pt/messages.json index e1ebb33a2d..90348ca68f 100644 --- a/website/common/locales/pt/messages.json +++ b/website/common/locales/pt/messages.json @@ -40,7 +40,7 @@ "messageGroupChatFlagAlreadyReported": "Já reportou esta mensagem", "messageGroupChatNotFound": "Mensagem não encontrada!", "messageGroupChatAdminClearFlagCount": "Somente um administrador pode remover o contador de bandeira!", - "messageCannotFlagSystemMessages": "Não é possível assinalar uma mensagem do sistema. Se precisares de reportar uma violação das Directrizes de Comunidade relacionada com esta mensagem, por favor envia uma captura de ecrã e uma explicação por e-mail à Lemoness através do <%= communityManagerEmail %>.", + "messageCannotFlagSystemMessages": "Você não pode reportar uma mensagem do sistema. Caso seja necessário denunciar uma violação das Diretrizes da Comunidade relacionada à esta mensagem, por favor, envie por e-mail uma explicação junto à captura de tela para nossa Comunidade de Agentes através do <%= communityManagerEmail %>.", "messageGroupChatSpam": "Ups, parece que estás a publicar demasiadas mensagens! Por favor aguarda um minuto e volta a tentar. A conversação da Estalagem só pode conter 200 mensagens de cada vez, por isso o Habitica encoraja publicações mais longas e reflectidas, assim como respostas sólidas. Mal podemos esperar por ouvir o que tens a dizer. :)", "messageCannotLeaveWhileQuesting": "Não podes aceitar o convite desta equipa enquanto estás numa missão. Se quiseres juntar-te a esta equipa deves abortar a missão primeiro, o que podes fazer a partir da página da tua equipa. O pergaminho da missão ser-te-á devolvido.", "messageUserOperationProtected": "caminho `<%= operation %>` não foi salvo, já que é um caminho protegido.", @@ -48,12 +48,16 @@ "messageNotAbleToBuyInBulk": "Este item não pode ser comprado em quantidades acima de 1.", "notificationsRequired": "São necessárias as identificações de notificação.", "unallocatedStatsPoints": "Tens <%= points %> Ponto(s) de Atributo por alocar ", - "beginningOfConversation": "Isto é o início da tua conversa com <%= userName %>. Lembra-te de ser gentil, respeitador, e de seguir as Directrizes da Comunidade!", + "beginningOfConversation": "Este é o início da sua conversa com <%= userName %>.", "messageDeletedUser": "Desculpa, este utilizador eliminou a sua conta.", "messageMissingDisplayName": "Nome a exibir em falta.", "messageAllUnEquipped": "Tudo desequipado.", "messageBackgroundUnEquipped": "Plano de Fundo desequipado.", "messagePetMountUnEquipped": "Animal de Estimação e Montaria desequipada.", "messageCostumeUnEquipped": "Traje desequipado.", - "messageBattleGearUnEquipped": "Equipamento de Batalha desequipado." + "messageBattleGearUnEquipped": "Equipamento de Batalha desequipado.", + "beginningOfConversationReminder": "Lembre-se de ser gentil, respeitoso, e seguir as Diretrizes da Comunidade!", + "canDeleteNow": "Agora, você pode apagar a mensagem, se desejar.", + "newsPostNotFound": "Nova Publicação não foi encontrada ou você não possui acesso.", + "reportedMessage": "Você reportou esta mensagem aos moderadores." } diff --git a/website/common/locales/pt/npc.json b/website/common/locales/pt/npc.json index af18829e3c..e66253b9f8 100644 --- a/website/common/locales/pt/npc.json +++ b/website/common/locales/pt/npc.json @@ -14,12 +14,12 @@ "next": "Seguinte", "randomize": "Aleatório", "mattBoch": "Matt Boch", - "mattBochText1": "Bem-vindo ao Estábulo! Eu sou o Matt, o mestre das bestas. A partir do nível 3, irá encontrar ovos e poções para eclodir mascotes. Quando eclodir uma mascote no Mercado, esta irá aparecer aqui! Clique na imagem da mascote para a adicionar ao seu avatar. Alimente-a com comida que encontra depois do nível 3, e elas irão crescer até se tornarem montadas resistentes.", + "mattBochText1": "Bem-vindo ao Estábulo! Eu sou Matt, o mestre da besta. Sempre que completar uma tarefa, terá uma oportunidade aleatória de receber um Ovo ou uma Poção de Eclosão para chocar Animais de Estimação. Quando chocar um mascote, ele aparecerá aqui! Clique na imagem de um Animal de Estimação para o adicionar ao seu Avatar. Alimente-os com a Comida para mascotes que encontrar, e eles crescerão e se tornarão montarias resistentes.", "welcomeToTavern": "Bem vindo à Estalagem!", "sleepDescription": "Precisa de uma pausa? Faça check-in na Pousada do Daniel para pausar algumas das mecânicas mais difíceis do jogo:", - "sleepBullet1": "Tarefas Diárias incompletas não lhe darão dano", - "sleepBullet2": "Tarefas não perderão combos ou perderão cor", - "sleepBullet3": "Chefões não lhe causaram dano por causa de Tarefas Diárias incompletas", + "sleepBullet1": "Suas Tarefas Diárias perdidas não lhe darão dano (os chefes continuarão causando danos pelas faltas dos outros membros do grupo)", + "sleepBullet2": "As suas linhas de Tarefas e Contadores de Hábitos não serão reiniciados", + "sleepBullet3": "Os seus danos ao chefe da missão ou itens de coleção encontrados permanecerão pendentes até que se verifique fora da pousada.", "sleepBullet4": "Teu dano no Chefão ou itens de Missão de Colecção ficarão acumulados até o fim do dia", "pauseDailies": "Pausar Dano", "unpauseDailies": "Resumir Dano", @@ -74,20 +74,20 @@ "pathRequired": "Texto do caminho é necessário", "unlocked": "Itens foram destravados", "alreadyUnlocked": "Conjunto completo já destravado.", - "alreadyUnlockedPart": "Conjunto completo já parcialmente destravado.", - "invalidQuantity": "Quantidade a comprar deve ser um número.", + "alreadyUnlockedPart": "Conjunto completo já parcialmente destravado. É mais barato comprar os itens restantes individualmente.", + "invalidQuantity": "Quantidade a comprar deve ser um número inteiro positivo.", "USD": "(US$) Dólar", "newStuff": "Coisas novas de Bailey", "newBaileyUpdate": "Nova atualização de Bailey!", "tellMeLater": "Digam-me Mais Tarde", "dismissAlert": "Ignorar Este Alerta", - "donateText3": "Habitica é um projeto open source que depende do suporte dos nossos usuários. O dinheiro que você gasta em gemas nos ajuda a manter os servidores funcionando, manter uma pequena equipe, desenvolver novas funcionalidades, e oferecer incentivos para os nossos programadores voluntários. Obrigado pela sua generosidade!", + "donateText3": "Habitica é um projeto de código aberto que depende do suporte dos nossos usuários. O dinheiro que você gasta em gemas nos ajuda a manter os servidores funcionando, manter uma pequena equipe, desenvolver novas funcionalidades, e oferecer incentivos para os nossos programadores voluntários.", "card": "Cartão de Crédito", "paymentMethods": "Comprar usando", "paymentSuccessful": "O seu pagamento foi bem sucedido!", "paymentYouReceived": "You received:", "paymentYouSentGems": "Enviaste uma mensagem a <%- name %>:", - "paymentYouSentSubscription": "Enviaste a <%- name %> uma subscrição Habitica de <%= months %> mês/meses.", + "paymentYouSentSubscription": "Você enviou <%- name %> uma inscrição Habitica de <%= months %> mês/meses.", "paymentSubBilling": "A tua subscrição será cobrada no valor de $<%= amount %> a cada <%= months %> mês/meses.", "success": "Success!", "classGear": "Equipamento da Classe", @@ -101,9 +101,9 @@ "tourPartyPage": "A sua Equipa irá ajudá-lo a manter-se responsável. Convide amigos para desbloquear um Pergaminho de Missão!", "tourGuildsPage": "Guildas são grupos de conversação de interesse comum criadas pelos jogadores, para jogadores. Navegue pela lista e junte-se às Guildas que lhe interessam. Certifique-se de verificar a popular guilda Habitica Help: Ask a Question, onde qualquer pessoa pode fazer perguntas sobre Habitica!", "tourChallengesPage": "Desafios são listas de tarefas temáticas criadas pelos utilziadores! Participar num Desafio irá adicionar tarefas à sua conta. Compita contra outros utilizadores para ganhar prémios em Gemas!", - "tourMarketPage": "A partir do level 4, você pode encontrar ovos e poções de eclosão aleatoriamente quando você completa tarefas. Elas aparecem aqui - use-as para chocar mascotes! Você também pode comprar items do Mercado.", + "tourMarketPage": "Sempre que completar uma tarefa, terá uma oportunidade aleatória de receber um Ovo, uma Poção de Eclosão, ou um pedaço de Comida para Mascotes. Também pode comprar esses itens aqui.", "tourHallPage": "Bem-vindo ao Salão dos Heróis, onde os colaboradores open-source do Habitica são honrados. Seja através de programação, arte, música, escrita ou apenas vontade de ajudar, eles receberam Gemas, equipamentos exclusivos e títulos prestigiosos. Você também pode contribuir para o Habitica!", - "tourPetsPage": "Este é o Estábulo! Depois de atingir o nível 3, você pode chocar mascotes usando ovos e poções de eclosão. Quando você chocar um mascote no Mercado, ele aparecerá aqui. Clique na imagem de um mascote para adicioná-lo ao seu avatar. Alimente-os com comida que você encontrar depois do nível 3 e eles irão se transformar em poderosas montarias.", + "tourPetsPage": "Bem-vindo ao Estábulo! Sempre que completar uma tarefa, terá uma oportunidade aleatória de receber um Ovo ou uma Poção de Eclosão para chocar Mascotes. Quando você chocar um animal, ele aparecerá aqui! Clique na imagem de um mascote para o adicionar ao seu Avatar. Alimente-os com a Comida para Animais de Estimação que encontrar e eles crescerão e se tornarão fortes montarias.", "tourMountsPage": "Uma vez que tenha alimentado uma mascote com comida suficiente para se tornar uma montaria, ela irá aparecer aqui. Carregue numa montaria para montá-la!", "tourEquipmentPage": "Aqui é onde o seu Equipamento fica guardado! O seu Equipamento de Batalha afeta os seus atributos. Se quiser mostrar um Equipamento diferente no seu Avatar sem mudar Atributos, carregue em \"Usar Traje.\"", "equipmentAlreadyOwned": "Você já possui esse equipamento", @@ -128,5 +128,10 @@ "nMonthsSubscriptionGift": "<%= nMonths %> Mês/meses de subscrição (Presente)", "nGemsGift": "<%= nGems %> Gemas (Presente)", "nGems": "<%= nGems %> Gemas", - "amountExp": "<%= amount %> Experiência" + "amountExp": "<%= amount %> Experiência", + "groupsPaymentSubBilling": "A sua próxima data de pagamento é <%= renewalDate %>.", + "helpSupportHabitica": "Ajude e Suporte Habitica", + "cannotUnpinItem": "Este item não pode ser desequipado.", + "groupsPaymentAutoRenew": "Esta inscrição será auto-renovada até ser cancelada. Se precisar cancelar, poderá fazê-lo na aba do Grupo de Faturamento.", + "invalidUnlockSet": "Este conjunto de itens é inválido e não pode ser desbloqueado." } diff --git a/website/common/locales/pt/overview.json b/website/common/locales/pt/overview.json index 4778a041ab..a42fd20676 100644 --- a/website/common/locales/pt/overview.json +++ b/website/common/locales/pt/overview.json @@ -6,5 +6,5 @@ "webStep2Text": "Agora, comece enfrentando seus objetivos da lista! Quando completar as tarefas e marcar no Habitica, você ganhará [Experiência](http://habitica.fandom.com/wiki/Experience_Points), que ajuda você a subir de nível, e [Ouro](http://habitica.fandom.com/wiki/Gold_Points), que te permite comprar recompensas. Se você cair em maus hábitos ou perder sua Tarefas Diárias, você vai perder [Vida](http://habitica.fandom.com/wiki/Health_Points). Dessa forma, as barras de Experiência e de Vida servem como um divertido indicador de seu progresso em direção a seus objetivos. Você começará a ver sua vida real melhorar assim como seu personagem avança no jogo.", "step3": "Passo 3: Personalizar e Explorar o Habitica", "webStep3Text": "Once you're familiar with the basics, you can get even more out of Habitica with these nifty features:\n * Organize your tasks with [tags](http://habitica.fandom.com/wiki/Tags) (edit a task to add them).\n * Customize your [avatar](http://habitica.fandom.com/wiki/Avatar) by clicking the user icon in the upper-right corner.\n * Buy your [Equipment](http://habitica.fandom.com/wiki/Equipment) under Rewards or from the [Shops](<%= shopUrl %>), and change it under [Inventory > Equipment](<%= equipUrl %>).\n * Connect with other users via the [Tavern](http://habitica.fandom.com/wiki/Tavern).\n * Starting at Level 3, hatch [Pets](http://habitica.fandom.com/wiki/Pets) by collecting [eggs](http://habitica.fandom.com/wiki/Eggs) and [hatching potions](http://habitica.fandom.com/wiki/Hatching_Potions). [Feed](http://habitica.fandom.com/wiki/Food) them to create [Mounts](http://habitica.fandom.com/wiki/Mounts).\n * At level 10: Choose a particular [class](http://habitica.fandom.com/wiki/Class_System) and then use class-specific [skills](http://habitica.fandom.com/wiki/Skills) (levels 11 to 14).\n * Form a party with your friends (by clicking [Party](<%= partyUrl %>) in the navigation bar) to stay accountable and earn a Quest scroll.\n * Defeat monsters and collect objects on [quests](http://habitica.fandom.com/wiki/Quests) (you will be given a quest at level 15).", - "overviewQuestions": "Have questions? Check out the [FAQ](<%= faqUrl %>)! If your question isn't mentioned there, you can ask for further help in the [Habitica Help guild](<%= helpGuildUrl %>).\n\nGood luck with your tasks!" + "overviewQuestions": "Tem dúvidas? Confira o [FAQ](<%= faqUrl %>)! Se a sua pergunta não foi mencionada, você pode pedir ajuda em [Habitica Help guild](<%= helpGuildUrl %>).\n\nBoa sorte com as suas tarefas!" } diff --git a/website/common/locales/pt/pets.json b/website/common/locales/pt/pets.json index 1b0850c2ad..3351573ce6 100644 --- a/website/common/locales/pt/pets.json +++ b/website/common/locales/pt/pets.json @@ -37,15 +37,15 @@ "hatchingPotions": "Poções de Eclosão", "magicHatchingPotions": "Poções de Eclosão Mágicas ", "hatchingPotion": "poção de eclosão", - "haveHatchablePet": "Tens uma poção de eclosão <%= potion %> e um ovo de <%= egg %> para chocares este animal de estimação! Clica na pegada para eclodir.", + "haveHatchablePet": "Você tem uma <%= potion %> poção de eclosão e <%= egg %> ovo para chocar este animal de estimação! Clique para eclodir!", "quickInventory": "Inventário Rápido", "foodText": "comida", - "food": "Comida e Selas", - "noFoodAvailable": "Não tens nenhuma Comida.", + "food": "Comida para Mascotes e Selas", + "noFoodAvailable": "Você não tem Comida para Mascotes.", "noSaddlesAvailable": "Não tens nenhuma Sela.", "noFood": "Não tens nenhuma comida nem selas.", "dropsExplanation": "Consiga estes itens mais rápido com Gemas, caso você não queira esperar que apareçam ao completar uma tarefa. Aprenda mais sobre o sistema de drop.", - "dropsExplanationEggs": "Gasta Gemas para conseguir mais ovos rapidamente, se não quiseres esperar que os ovos comuns te calhem, ou se quiseres repetir Missões para ganhar ovos de Missão. Aprende mais sobre o sistema de drops.", + "dropsExplanationEggs": "Gaste Gemas para conseguir ovos rapidamente, se você não quiser esperar que os ovos comuns sejam dropados, ou se quiser repetir Missões para ganhar ovos de Missão. Saiba mais sobre o sistema de drops.", "premiumPotionNoDropExplanation": "Poções Mágicas de Eclosão não podem ser usadas em ovos recebidos de Missões. A única forma de conseguir Poções Mágicas de Eclosão é comprando-as abaixo, não recebendo de drops aleatórios.", "beastMasterProgress": "Progresso para Mestre das Bestas", "beastAchievement": "Ganhou a Conquista \"Mestre das Bestas\" por colecionar todos os mascotes!", @@ -88,7 +88,7 @@ "mountsAndPetsReleased": "Montadas e mascotes libertados", "mountsReleased": "Montarias libertadas", "welcomeStable": "Bem-Vindo ao Estábulo!", - "welcomeStableText": "Eu sou o Matt, o Mestre de Bestas. A partir do nível 3, poderá eclodir Mascotes a partir de Ovos usando Poções que encontre! Quando chocar uma Mascote do seu Inventário, ela irá aparecer aqui! Carregue na imagem da Mascote para a adicionar ao seu avatar. Alimente-as aqui com Comida que encontre a partir do nível 3 e elas crescerão para se tornarem Montadas robustas.", + "welcomeStableText": "Bem-Vindo ao Estábulo! Eu sou o Matt, o Mestre de Bestas. Toda vez que você completar uma tarefa terá uma chance aleatória de receber um ovo ou poção de chocar para eclodir mascotes. Sempre que chocar um animal de estimação, ele irá aparecer aqui! Clique na imagem do Mascote para adicionar ao seu avatar. Alimente-os com a comida e eles se tornarão fortes montarias.", "petLikeToEat": "O que é que o meu animal de estimação gosta de comer?", "petLikeToEatText": "Mascotes crescerão não importa com o que você os alimentar, mas eles crescerão ainda mais rápido se você alimentá-los com a comida que eles preferem. Experimente até encontrar o padrão ou veja a resposta aqui:
https://habitica.fandom.com/pt-br/wiki/Food_Preferences", "filterByStandard": "Comum", @@ -98,7 +98,7 @@ "sortByColor": "Cor", "sortByHatchable": "Chocável", "hatch": "Chocar!", - "foodTitle": "Comida", + "foodTitle": "Comida de Mascote", "dragThisFood": "Arraste <%= foodName %> para um Mascote e assista-o crescer!", "clickOnPetToFeed": "Clique em mascote para alimentá-lo com <%= foodName %> e vejo-o crescer!", "dragThisPotion": "Arraste a <%= potionName %> até a um Ovo e choque uma nova mascote!", @@ -109,5 +109,10 @@ "notEnoughMounts": "Você ainda não coletou montarias suficientes", "notEnoughPetsMounts": "Você ainda não colecionou mascotes e montarias suficientes", "gryphatrice": "Gryphatrice", - "wackyPets": "Mascotes Selvagens" + "wackyPets": "Mascotes Selvagens", + "notEnoughFood": "Você não tem comida suficiente", + "tooMuchFood": "Você está tentando dar muita comida para o seu mascote, ação cancelada", + "invalidAmount": "Quantidade inválida de comida, deve ser um número inteiro positivo", + "filterByWacky": "Maluco", + "jubilantGryphatrice": "Gryphatrice Radiante" } diff --git a/website/common/locales/pt/questscontent.json b/website/common/locales/pt/questscontent.json index 7c38326bbe..96b32e5592 100644 --- a/website/common/locales/pt/questscontent.json +++ b/website/common/locales/pt/questscontent.json @@ -635,5 +635,6 @@ "questVelociraptorBoss": "Veloci-Rapper", "questVelociraptorDropVelociraptorEgg": "Velociraptor (Egg)", "questVelociraptorUnlockText": "Unlocks purchasable Velociraptor eggs in the Market", - "evilSantaAddlNotes": "Nota que Pai Natal Caçador e Encrontra a Cria têm conquistas de missão comulativas mas oferecem um animal de estimação raro e uma cavalgadura rara que só podem ser adicionadas ao teu estábulo uma vez." + "evilSantaAddlNotes": "Nota que Pai Natal Caçador e Encrontra a Cria têm conquistas de missão comulativas mas oferecem um animal de estimação raro e uma cavalgadura rara que só podem ser adicionadas ao teu estábulo uma vez.", + "mythicalMarvelsText": "Maravilhosas Missões Míticas" } diff --git a/website/common/locales/pt/rebirth.json b/website/common/locales/pt/rebirth.json index 3247f941c8..2a998ea2b5 100644 --- a/website/common/locales/pt/rebirth.json +++ b/website/common/locales/pt/rebirth.json @@ -1,5 +1,5 @@ { - "rebirthNew": "Renascimento: Disponível Nova Aventura!", + "rebirthNew": "Renascimento: Nova Aventura Disponível!", "rebirthUnlock": "Você liberou o Renascimento! Esse item especial do Mercado o permite começar um novo jogo do nível 1 mantendo suas tarefas, conquistas, mascotes, e mais. Use-o para respirar uma vida nova em Habitica se sentir que já conquistou tudo, ou para experimentar novas funcionalidades com olhos frescos de um personagem iniciante!", "rebirthAchievement": "Você iniciou uma nova aventura! Esse é o seu Renascimento número <%= number %>, e o nível mais alto que você atingiu foi <%= level %>. Para acumular essa Conquista, comece sua próxima nova aventura quando atingir um Nível ainda maior!", "rebirthAchievement100": "Você iniciou uma nova aventura! Esse é seu <%= number %> º Renascimento, e o nível mais alto que você atingiu foi 100 ou maior. Para acumular essa Conquista, comece sua próxima aventura quando atingir pelo menos nível 100!", @@ -8,7 +8,7 @@ "rebirthOrb": "Use uma Orbe de Renascimento para recomeçar tudo outra vez depois de alcançar o nível <%= level %>.", "rebirthOrb100": "Use uma Orbe de Renascimento para recomeçar tudo outra vez depois de alcançar nível 100 ou mais.", "rebirthOrbNoLevel": "Utilizou uma Orbe de Renascimento para começar tudo de novo.", - "rebirthPop": "Recomece instantaneamente o seu personagem como um Guerreiro de Nível 1, mantendo, no entanto, conquistas, colecionáveis e equipamento. As suas tarefas e o historial das mesmas irá manter-se mas serão reinizializadas a amarelo. Os seus combos serão removidos excepto em tarefas de desafio. O seu Ouro, Esperiencia, Mana e efeitos das todas as suas Habilidades serão removidos. Tudo isto terá efeito imediato. Para mais informação, veja a página de wiki acerca da Orbe de Renascimento.", + "rebirthPop": "Recomece instantaneamente o seu personagem como um Guerreiro de Nível 1, mantendo, no entanto, conquistas, colecionáveis e equipamento. As suas tarefas e o historial das mesmas irá manter-se, mas serão reinicializadas para amarelo. Os seus combos serão removidos exceto em tarefas de desafio. O seu Ouro, Experiência, Mana e efeitos de todas as suas Habilidades serão removidos. Tudo isto terá efeito imediato. Para mais informações, veja a página de wiki sobre Orbe de Renascimento.", "rebirthName": "Orbe do Renascimento", "rebirthComplete": "Renasceste!", "nextFreeRebirth": "<%= days %> dias até Orbe de Renascimento GRÁTIS" diff --git a/website/common/locales/pt/settings.json b/website/common/locales/pt/settings.json index e7627c3fd7..0a33350791 100644 --- a/website/common/locales/pt/settings.json +++ b/website/common/locales/pt/settings.json @@ -147,7 +147,7 @@ "pushDeviceAdded": "Dispositivo Push adicionado com sucesso", "pushDeviceNotFound": "O usuário não tem dispositivo push nesse id.", "pushDeviceRemoved": "Dispositivo push removido com sucesso.", - "buyGemsGoldCap": "Máximo aumentado para <%= amount %>", + "buyGemsGoldCap": "Máximo de gemas aumentado para <%= amount %>", "mysticHourglass": "<%= amount %> Ampulhetas Místicas", "purchasedPlanExtraMonths": "Você tem <%= months %> meses de créditos para inscrições extras.", "consecutiveSubscription": "Assinatura Consecutiva", @@ -182,5 +182,11 @@ "newPMNotificationTitle": "Nova Mensagem de <%= name %>", "mentioning": "Mencionando", "adjustment": "Ajuste", - "dayStartAdjustment": "Alterar Início de Dia" + "dayStartAdjustment": "Alterar Início de Dia", + "chatExtensionDesc": "A Extensão de Conversa para Habitica Adiciona um chat intuitivo para todo o habitica.com. Ele permite usuários conversarem na Taverna, seu Grupo, e quaisquer guildas em que participam.", + "passwordSuccess": "Senha editada com sucesso", + "giftedSubscriptionWinterPromo": "Olá <%= username %>, você recebeu <%= monthCount %> meses de subscrição como parte da nossa promoção de presentes de feriado!", + "subscriptionReminders": "Lembretes de Inscrição", + "giftSubscriptionRateText": "$<%= price %> Dólares por <%= months %> meses", + "addPasswordAuth": "Adicionar Senha" } diff --git a/website/common/locales/pt/spells.json b/website/common/locales/pt/spells.json index d855d5d855..595a79e402 100644 --- a/website/common/locales/pt/spells.json +++ b/website/common/locales/pt/spells.json @@ -6,7 +6,7 @@ "spellWizardEarthText": "Terramoto", "spellWizardEarthNotes": "O seu poder mental abana a terra e aumenta a Inteligência da sua equipa! (Baseado em: INT base)", "spellWizardFrostText": "Geada Arrepiante", - "spellWizardFrostNotes": "Com um lançar de feitiço, gelo congela todas os seus combos para que não reinicializem amanhã!", + "spellWizardFrostNotes": "Com um lançar de feitiço, o gelo congela todas os seus combos para que não reinicializem amanhã!", "spellWizardFrostAlreadyCast": "Já lançou isto hoje. Os seus elementos estão congelados, e não precisa de os lançar novamente.", "spellWarriorSmashText": "Destruição Brutal", "spellWarriorSmashNotes": "Você faz com que uma tarefa fique mais azul/menos vermelha e dá dano extra a Chefões! (Baseado em: STR)", @@ -24,7 +24,7 @@ "spellRogueToolsOfTradeNotes": "Os teus talentos traiçoeiros aumentam a Percepção de toda a tua Equipa! (Baseado em: PER)", "spellRogueStealthText": "Furtividade", "spellRogueStealthNotes": "A cada conjuração, algumas de suas Diárias não cumpridas não causarão danos esta noite. Seus combos e cores não mudarão. (Baseado em: PER)", - "spellRogueStealthDaliesAvoided": "<%= originalText %> Número de tarefas diárias evitado: <%= number %>.", + "spellRogueStealthDaliesAvoided": "<%= originalText %> Número de tarefas diárias que serão evitadas: <%= number %>.", "spellRogueStealthMaxedOut": "Você já evitou todas as suas tarefas diárias; não há necessidade de lançar isso de novo.", "spellHealerHealText": "Luz Curadora", "spellHealerHealNotes": "Luz brilhante restora a sua saúde! (Baseado em: CON e INT)", @@ -55,5 +55,6 @@ "challengeTasksNoCast": "O uso de habilidade em tarefas de desafio não é permitido.", "groupTasksNoCast": "Não é permitido lançar uma habilidade sobre uma tarefa de grupo.", "spellNotOwned": "Você não possui essa habilidade.", - "spellLevelTooHigh": "Precisas de ser nível <%= level %> para usares esta habilidade." + "spellLevelTooHigh": "Precisas de ser nível <%= level %> para usares esta habilidade.", + "spellAlreadyCast": "A utilização desta habilidade não terá qualquer efeito adicional." } diff --git a/website/common/locales/pt/subscriber.json b/website/common/locales/pt/subscriber.json index e9d92934d2..7c02bd376f 100644 --- a/website/common/locales/pt/subscriber.json +++ b/website/common/locales/pt/subscriber.json @@ -121,7 +121,7 @@ "choosePaymentMethod": "Escolha seu método de pagamento", "buyGemsSupportsDevs": "A compra de Gemas ajudam os desenvolvedores e ajudam a manter o Habitica funcionando", "support": "SUPORTE", - "gemBenefitLeadin": "Gemas permitem que você compre divertidas peças extras em sua conta, incluindo:", + "gemBenefitLeadin": "O que você pode comprar com Gemas?", "gemBenefit1": "Itens de customização únicos a cada mês para seu avatar.", "gemBenefit2": "Fundos para mergulhar seu avatar no mundo do Habitica!", "gemBenefit3": "Conjunto de Missões Emocionantes que dropam ovos de mascotes.", diff --git a/website/common/locales/pt/tasks.json b/website/common/locales/pt/tasks.json index 562119a54c..3626751d60 100644 --- a/website/common/locales/pt/tasks.json +++ b/website/common/locales/pt/tasks.json @@ -1,9 +1,9 @@ { "clearCompleted": "Eliminar Concluídos", - "clearCompletedDescription": "Os Afazeres concluídos são apagados após 30 dias para não-subscritores e 90 dias para subscritores.", - "clearCompletedConfirm": "Tens a certeza de que queres apagar os teus Afazeres concluídos?", + "clearCompletedDescription": "Os Afazeres concluídos são apagados após 30 dias para não-assinantes e 90 dias para assinantes.", + "clearCompletedConfirm": "Tem certeza de que quer apagar os seus Afazeres concluídos?", "addMultipleTip": "Dica: Para adicionar <%= taskType %> em simultâneo, separa cada um usando um parágrafo (Shift + Enter) e no fim pressiona \"Enter.\"", - "addATask": "Adicionar <%= type %>", + "addATask": "Adicionar um <%= type %>", "editATask": "Editar <%= type %>", "createTask": "Criar <%= type %>", "addTaskToUser": "Adicionar Tarefa", @@ -11,23 +11,23 @@ "theseAreYourTasks": "Estas são as suas <%= taskType %>", "habit": "Hábito", "habits": "Hábitos", - "habitsDesc": "Hábitos não tem de ter um horário rígido. Pode verificá-los várias vezes ao dia.", + "habitsDesc": "Hábitos não precisam de um horário rígido. Você pode verificá-los várias vezes ao dia.", "positive": "Positivo", "negative": "Negativo", - "yellowred": "Fracos", - "greenblue": "Fortes", + "yellowred": "Fraco", + "greenblue": "Forte", "edit": "Editar", - "save": "Guardar", + "save": "Salvar", "addChecklist": "Adicionar Lista", "checklist": "Lista", - "newChecklistItem": "Novo item de lista de verificação", - "expandChecklist": "Abrir Lista de Verificação", - "collapseChecklist": "Fechar Lista de Verificação", + "newChecklistItem": "Novo item da lista", + "expandChecklist": "Expandir Lista", + "collapseChecklist": "Fechar Lista", "text": "Título", "notes": "Notas", - "advancedSettings": "Definições Avançadas", + "advancedSettings": "Configurações Avançadas", "difficulty": "Dificuldade", - "difficultyHelp": "A dificuldade serve para descrever o quanto completar um Hábito, Tarefa Diária ou Afazer representa um desafio para ti. Maior dificuldade resulta numa maior recompensa ao completares uma Tarefa, mas também mais dano quando falhas uma Tarefa Diária ou clicas num Hábito negativo.", + "difficultyHelp": "A dificuldade descreve o quão desafiador é completar um Hábito, Tarefa Diária, ou Afazer para você. Uma grande dificuldade resulta em maiores recompensas ao completar uma Tarefa, mas também mais dano quando deixa de fazer uma Tarefa Diária ou clica num Hábito negativo.", "trivial": "Trivial", "easy": "Fácil", "medium": "Médio", @@ -36,32 +36,32 @@ "progress": "Progresso", "daily": "Tarefa Diária", "dailies": "Tarefas Diárias", - "dailysDesc": "Tarefas Diárias repetem regularmente. Escolha o horário que melhor funcione para si!", - "streakCounter": "Contador de Elementos", + "dailysDesc": "Tarefas Diárias repetem regularmente. Escolha o horário que melhor funcione para você!", + "streakCounter": "Contador de Sequência", "repeat": "Repetir", - "repeats": "Repetição", - "repeatEvery": "Repetir Toda", - "repeatOn": "Repetição", + "repeats": "Repete", + "repeatEvery": "Repita Toda", + "repeatOn": "Repetição Ligada", "day": "Dia", "days": "Dias", "restoreStreak": "Ajustar Sequência", "resetStreak": "Reiniciar Sequência", "todo": "Afazer", "todos": "Afazeres", - "todosDesc": "Afazeres devem ser completados uma única vez. Acrescenta checklists aos teus Afazeres para lhes aumentares o valor.", + "todosDesc": "Afazeres devem ser completados uma única vez. Acrescente listas aos seus Afazeres para que eles aumentem de valor.", "dueDate": "Prazo", - "remaining": "Ativos", - "complete": "Feitos", - "complete2": "Feito", + "remaining": "Ativo", + "complete": "Feito", + "complete2": "Completo", "today": "Hoje", "dueIn": "Prazo <%= dueIn %>", - "due": "De hoje", + "due": "Prazo", "notDue": "Não Cumprir", "grey": "Cinza", "score": "Pontuação", "reward": "Recompensa", "rewards": "Recompensas", - "rewardsDesc": "As Recompensas são um excelente modo de usares o Habitica e completares as tuas tarefas. Experimenta adicionar algumas hoje!", + "rewardsDesc": "As Recompensas são um excelente modo de usar o Habitica e completar as suas tarefas. Experimente adicionar algumas hoje!", "gold": "Ouro", "silver": "Prata (100 prata = 1 ouro)", "price": "Preço", @@ -71,30 +71,30 @@ "editTags2": "Editar Etiquetas", "toRequired": "Deve fornecer uma propriedade \"para\"", "startDate": "Data Inicial", - "streaks": "Conquistas de Elementos", - "streakName": "<%= count %> Conquistas de Elementos", - "streakText": "Realizou <%= count %> elementos de 21 dias nas Tarefas Diárias", - "streakSingular": "Mestre de Elemento", - "streakSingularText": "Realizou um elemento de 21 dias numa Tarefa Diária", + "streaks": "Conquistas de Sequência", + "streakName": "<%= count %> Conquistas de Sequência", + "streakText": "Realizou <%= count %> Sequências de 21 dias nas Tarefas Diárias", + "streakSingular": "Sequenciador", + "streakSingularText": "Realizou uma sequência de 21 dias numa Tarefa Diária", "perfectName": "<%= count %> Dias Perfeitos", - "perfectText": "Completaste todas as tuas Tarefas Diárias activas <%= count %> dias seguidos. Com esta conquista ganhas um +nível/2 buff em todos os Atributos durante o próximo dia. Níveis acima de 100 não têm efeitos adicionais nos buffs.", + "perfectText": "Completou todas as suas Tarefas Diárias ativas <%= count %> dias seguidos. Com esta conquista ganhou um +nível/2 de fortalecimento em todos os Atributos no dia seguinte. Níveis acima de 100 não têm efeitos adicionais nas melhorias.", "perfectSingular": "Dia Perfeito", - "perfectSingularText": "Completaste todas as tuas Tarefas Diárias activas num dia. Com esta conquista ganhas um +nível/2 buff em todos os Atributos durante o próximo dia. Níveis acima de 100 não têm efeitos adicionais nos buffs.", + "perfectSingularText": "Completou todas as tuas Tarefas Diárias ativas em um dia. Com esta conquista você ganhou um +nível/2 buff em todos os Atributos durante o próximo dia. Níveis acima de 100 não têm efeitos adicionais nos buffs.", "fortifyName": "Poção de Fortificação", "fortifyPop": "Reverte todas tarefas para o valor neutro (cor amarela), e recupera toda Vida perdida.", "fortify": "Fortificar", "fortifyComplete": "Fortificação completa!", "deleteTask": "Eliminar Tarefa", "sureDelete": "De certeza que queres eliminar esta tarefa?", - "streakCoins": "Bónus de Combo!", + "streakCoins": "Bônus de Sequência!", "taskToTop": "Para o topo", "taskToBottom": "Para o fim", - "taskAliasAlreadyUsed": "A tarefa alíbi já está sendo utilizada em outra tarefa.", + "taskAliasAlreadyUsed": "O nome da Tarefa já está sendo utilizado em outra Tarefa.", "taskNotFound": "Tarefa não encontrada.", - "invalidTaskType": "O tipo de tarefa precisa de ser um \"hábito\", \"tarefa diária\", \"afazer\", \"recompensa\".", - "invalidTasksType": "O tipo de tarefa deve ser de entre \"hábitos\", \"tarefas diárias\", \"afazeres\", \"recompensas\".", - "invalidTasksTypeExtra": "O tipo de tarefa deve ser de entre \"hábitos\", \"tarefas diárias\", \"afazeres\", \"afazeres completados\".", - "cantDeleteChallengeTasks": "Uma tarefa que pertença a um desafio não pode ser eliminada.", + "invalidTaskType": "O tipo de tarefa precisa de ser ou \"hábito\", \"tarefa diária\", \"afazer\" ou \"recompensa\".", + "invalidTasksType": "O tipo de tarefa deve ser de entre \"hábitos\", \"tarefas diárias\", \"afazeres\" ou \"recompensas\".", + "invalidTasksTypeExtra": "O tipo de tarefa deve ser ou \"hábitos\", \"tarefas diárias\", \"afazeres\", \"recompensas\" ou \"afazeres completados\".", + "cantDeleteChallengeTasks": "Uma tarefa pertencente a um desafio não pode ser deletada.", "checklistOnlyDailyTodo": "As checklists aplicam-se apenas a Tarefas Diárias e Afazeres", "checklistItemNotFound": "Nenhum item de lista foi encontrado com o id dado.", "itemIdRequired": "\"itemId\" precisa ser um UUID válido.", @@ -104,15 +104,15 @@ "cantMoveCompletedTodo": "Não é possível mover um afazer concluído.", "directionUpDown": "A \"direção\" é necessária e precisa ser '+' ou '-'.", "alreadyTagged": "A tarefa já está marcada com essa etiqueta.", - "taskRequiresApproval": "Esta tarefa deve ser aprovada antes de a completar. A aprovação já foi solicitada", - "taskApprovalHasBeenRequested": "A aprovação já foi solicitada", + "taskRequiresApproval": "Esta tarefa deve ser aprovada antes de ser completada. A aprovação já foi solicitada", + "taskApprovalHasBeenRequested": "A aprovação foi solicitada", "taskApprovalWasNotRequested": "Não foi solicitada aprovação para esta tarefa.", "approvals": "Aprovações", "approvalRequired": "Precisa de Aprovação", "weekly": "Semanal", "monthly": "Mensal", "yearly": "Anual", - "summary": "Sumário", + "summary": "Resumo", "repeatsOn": "Repete em", "dayOfWeek": "Dia da semana", "dayOfMonth": "Dia do Mês", @@ -123,17 +123,22 @@ "year": "Ano", "years": "Anos", "resets": "Recomeça", - "nextDue": "Próximas Datas de Vencimento", - "checkOffYesterDailies": "Assinala as Tarefas Diárias que tenhas completado ontem:", + "nextDue": "Próximos Prazos", + "checkOffYesterDailies": "Marque qualquer Tarefa Diária que você completou ontem:", "yesterDailiesCallToAction": "Começar o meu Novo Dia!", - "sessionOutdated": "A sessão está desactualizada. Recarregue a página, por favor.", + "sessionOutdated": "A sua sessão está desatualizada. Recarregue ou sincronize a página, por favor.", "errorTemporaryItem": "Este item é temporário e não pode ser afixado.", - "addATitle": "Adicionar um título", - "sureDeleteType": "Tens a certeza de que queres eliminar este(a) <%= type %>?", - "deleteTaskType": "Eliminar este(a) <%= type %>", + "addATitle": "Adicione um título", + "sureDeleteType": "Tem certeza que quer deletar este <%= type %>?", + "deleteTaskType": "Eliminar este <%= type %>", "addTags": "Adicionar etiquetas...", - "pressEnterToAddTag": "Carregar em Enter para adicionar etiqueta: '<%= tagName %>'", + "pressEnterToAddTag": "Aperte Enter para adicionar etiqueta: '<%= tagName %>'", "enterTag": "Inserir uma etiqueta", "tomorrow": "Amanhã", - "addNotes": "Adicionar notas" + "addNotes": "Adicionar notas", + "adjustCounter": "Ajustar Contador", + "counter": "Contador", + "resetCounter": "Reiniciar Contador", + "editTagsText": "Editar Tags", + "taskSummary": "<%= type %> Resumo" } diff --git a/website/common/locales/pt_BR/achievements.json b/website/common/locales/pt_BR/achievements.json index e5c29ab638..43c8eb30aa 100644 --- a/website/common/locales/pt_BR/achievements.json +++ b/website/common/locales/pt_BR/achievements.json @@ -31,7 +31,7 @@ "achievementUndeadUndertaker": "Agente Morto-Vivo", "achievementMonsterMagusModalText": "Você coletou todos os Mascotes Zumbis!", "achievementMonsterMagusText": "Coletou todos os Mascotes Zumbis.", - "achievementMonsterMagus": "Mago(a) Monstruoso(a)", + "achievementMonsterMagus": "Mago Monstruoso", "achievementPartyOn": "Seu grupo cresceu para 4 membros!", "achievementPartyUp": "Você se juntou a um membro do grupo!", "achievementPearlyProModalText": "Você domou todas as Montarias brancas!", @@ -132,7 +132,7 @@ "achievementBirdsOfAFeatherModalText": "Você coletou todos os mascotes voadores!", "achievementGroupsBeta2022Text": "Você e seu grupo deram um feedback inestimável para ajudar a testar o Habitica.", "achievementGroupsBeta2022ModalText": "Você e seu grupo ajudaram o Habitica, testando e dando o seu feedback!", - "achievementReptacularRumbleModalText": "Você coletou todos os mascotes do tipo réptil!", + "achievementReptacularRumbleModalText": "Você coletou todos os mascotes répteis!", "achievementReptacularRumble": "Répteis Reptumbantes", "achievementReptacularRumbleText": "Coletou todos os mascotes comuns do tipo réptil: Cobra, Jacaré, Pterodáctilo, Tartaruga, Tiranossauro, Tricerátops e Velociraptor!", "achievementGroupsBeta2022": "Testador Beta Interativo", @@ -143,6 +143,12 @@ "achievementBoneToPickText": "Chocou todos os Mascotes Esqueleto Clássicos e de Missões!", "achievementBoneToPickModalText": "Você coletou todos os Mascotes Esqueleto Clássicos e de Missões!", "achievementPolarPro": "Profissional Polar", - "achievementPolarProText": "Chocou todos os mascotes Polares: Urso, Raposa, Pinguim, Baleia e Lobo!", - "achievementPolarProModalText": "Você coletou todos os Mascotes Polares!" + "achievementPolarProText": "Chocou todos os mascotes Polares de cores padrão: Urso, Raposa, Pinguim, Baleia e Lobo!", + "achievementPolarProModalText": "Você coletou todos os Mascotes Polares!", + "achievementPlantParentModalText": "Você coletou todos os Mascotes Planta!", + "achievementPlantParentText": "Chocou todos os mascotes Planta de cores padrão: Cacto e Árvorezinha!", + "achievementPlantParent": "Defendente das Plantas", + "achievementDinosaurDynastyText": "Chocou todos os mascotes dinossauro e pássaro de cores padrão: Falcão, Coruja, Papagaio, Pavão, Pinguim, Galo, Pterodáctilo, T-Rex, Triceratops e Velociraptor!", + "achievementDinosaurDynasty": "Dinastia dos Dinossauros", + "achievementDinosaurDynastyModalText": "Você coletou todos os mascotes pássaro e dinossauro!" } diff --git a/website/common/locales/pt_BR/backgrounds.json b/website/common/locales/pt_BR/backgrounds.json index 144f7ceb7c..1df4938387 100644 --- a/website/common/locales/pt_BR/backgrounds.json +++ b/website/common/locales/pt_BR/backgrounds.json @@ -11,35 +11,35 @@ "backgroundFairyRingNotes": "Dance em um anel de fadas.", "backgroundForestText": "Floresta", "backgroundForestNotes": "Passeie por uma floresta de verão.", - "backgrounds072014": "Conjunto 2: Lançado em Julho de 2014", + "backgrounds072014": "Conjunto 2: Lançado em julho de 2014", "backgroundCoralReefText": "Recife de Corais", "backgroundCoralReefNotes": "Nade em um recife de corais.", "backgroundOpenWatersText": "Mar Aberto", "backgroundOpenWatersNotes": "Aproveite o mar aberto.", "backgroundSeafarerShipText": "Navio Marítimo", "backgroundSeafarerShipNotes": "Navegue à bordo de um Navio Marítimo.", - "backgrounds082014": "Conjunto 3: Lançado em Agosto de 2014", + "backgrounds082014": "Conjunto 3: Lançado em agosto de 2014", "backgroundCloudsText": "Nuvens", "backgroundCloudsNotes": "Plane entre as Nuvens.", "backgroundDustyCanyonsText": "Desfiladeiro Árido", "backgroundDustyCanyonsNotes": "Vague pelo Desfiladeiro Árido.", "backgroundVolcanoText": "Vulcão", "backgroundVolcanoNotes": "Esquente-se dentro de um Vulcão.", - "backgrounds092014": "Conjunto 4: Lançado em Setembro de 2014", + "backgrounds092014": "Conjunto 4: Lançado em setembro de 2014", "backgroundThunderstormText": "da Tempestade de Raios", "backgroundThunderstormNotes": "Conduza relâmpagos em uma Tempestade.", "backgroundAutumnForestText": "Floresta de Outono", "backgroundAutumnForestNotes": "Passeie por uma Floresta de Outono.", "backgroundHarvestFieldsText": "Campos de Colheita", "backgroundHarvestFieldsNotes": "Cultive seus Campos de Colheita.", - "backgrounds102014": "Conjunto 5: Lançado em Outubro de 2014", + "backgrounds102014": "Conjunto 5: Lançado em outubro de 2014", "backgroundGraveyardText": "Cemitério", "backgroundGraveyardNotes": "Visite um Cemitério Assustador.", "backgroundHauntedHouseText": "Casa Mal-assombrada", "backgroundHauntedHouseNotes": "Ande com cuidado por uma Casa Mal-assombrada.", "backgroundPumpkinPatchText": "Canteiro de Abóboras", "backgroundPumpkinPatchNotes": "Entalhe o Jack da Lanterna em um Canteiro de Abóboras.", - "backgrounds112014": "Conjunto 6: Lançado em Novembro de 2014", + "backgrounds112014": "Conjunto 6: Lançado em novembro de 2014", "backgroundHarvestFeastText": "Festa da Colheita", "backgroundHarvestFeastNotes": "Se divirta numa Festa da Colheita.", "backgroundStarrySkiesText": "Céus Estrelados", @@ -60,14 +60,14 @@ "backgroundFrigidPeakNotes": "Chegue ao topo de um Pico Gelado.", "backgroundSnowyPinesText": "Pinheiros Nevados", "backgroundSnowyPinesNotes": "Refugie-se entre os Pinheiros Nevados.", - "backgrounds022015": "Conjunto 9: Lançado em Fevereiro de 2015", + "backgrounds022015": "Conjunto 9: Lançado em fevereiro de 2015", "backgroundBlacksmithyText": "Forja", "backgroundBlacksmithyNotes": "Trabalhe na Forja.", "backgroundCrystalCaveText": "Caverna de Cristal", "backgroundCrystalCaveNotes": "Explore uma Caverna de Cristal.", "backgroundDistantCastleText": "Castelo Distante", "backgroundDistantCastleNotes": "Defenda um Castelo Distante.", - "backgrounds032015": "Conjunto 10: Lançado em Março de 2015", + "backgrounds032015": "Conjunto 10: Lançado em março de 2015", "backgroundSpringRainText": "Chuva de Primavera", "backgroundSpringRainNotes": "Dance na Chuva de Primavera.", "backgroundStainedGlassText": "Vitral", @@ -88,77 +88,77 @@ "backgroundMountainLakeNotes": "Molhe seus pés em um Lago da Montanha.", "backgroundPagodasText": "Pagodes", "backgroundPagodasNotes": "Escale até o Topo de Pagodes.", - "backgrounds062015": "Conjunto 13: Lançado em Junho de 2015", + "backgrounds062015": "Conjunto 13: Lançado em junho de 2015", "backgroundDriftingRaftText": "Jangada", "backgroundDriftingRaftNotes": "Reme em uma Jangada.", "backgroundShimmeryBubblesText": "Bolhas Cintilantes", "backgroundShimmeryBubblesNotes": "Flutue por um mar de Bolhas Cintilantes.", "backgroundIslandWaterfallsText": "Cachoeiras da Ilha", "backgroundIslandWaterfallsNotes": "Faça um piquenique próximo às Cachoeiras da Ilha.", - "backgrounds072015": "Conjunto 14: Lançado em Julho de 2015", + "backgrounds072015": "Conjunto 14: Lançado em julho de 2015", "backgroundDilatoryRuinsText": "Ruínas de Lentópolis", "backgroundDilatoryRuinsNotes": "Mergulhe nas Ruínas de Lentópolis.", "backgroundGiantWaveText": "Onda Gigante", "backgroundGiantWaveNotes": "Surfe uma Onda Gigante!", "backgroundSunkenShipText": "Navio Naufragado", "backgroundSunkenShipNotes": "Explore um Navio Naufragado.", - "backgrounds082015": "Conjunto 15: Lançado em Agosto de 2015", + "backgrounds082015": "Conjunto 15: Lançado em agosto de 2015", "backgroundPyramidsText": "Pirâmides", "backgroundPyramidsNotes": "Admire as Pirâmides.", "backgroundSunsetSavannahText": "Savana ao Pôr do Sol", "backgroundSunsetSavannahNotes": "Caminhe com orgulho pela Savana ao Pôr do Sol.", "backgroundTwinklyPartyLightsText": "Pisca-piscas de Festa", "backgroundTwinklyPartyLightsNotes": "Dance sob os Pisca-piscas de Festa!", - "backgrounds092015": "Conjunto 16: Lançado em Setembro de 2015", + "backgrounds092015": "Conjunto 16: Lançado em setembro de 2015", "backgroundMarketText": "Mercado de Habitica", "backgroundMarketNotes": "Compre no Mercado de Habitica.", "backgroundStableText": "Estábulo de Habitica", "backgroundStableNotes": "Cuide de suas montarias no Estábulo de Habitica.", "backgroundTavernText": "Taverna de Habitica", "backgroundTavernNotes": "Visite a Taverna de Habitica.", - "backgrounds102015": "Conjunto 17: Lançado em Outubro de 2015", + "backgrounds102015": "Conjunto 17: Lançado em outubro de 2015", "backgroundHarvestMoonText": "Lua da Colheita", "backgroundHarvestMoonNotes": "Cacareje sob a lua da colheita.", "backgroundSlimySwampText": "Pântano Pegajoso", "backgroundSlimySwampNotes": "Se arraste por um Pântano Pegajoso.", "backgroundSwarmingDarknessText": "Escuridão Fervilhante", "backgroundSwarmingDarknessNotes": "Arrepie-se na Escuridão Fervilhante.", - "backgrounds112015": "Conjunto 18: Lançado em Novembro de 2015", + "backgrounds112015": "Conjunto 18: Lançado em novembro de 2015", "backgroundFloatingIslandsText": "Ilhas Flutuantes", "backgroundFloatingIslandsNotes": "Salte pelas Ilhas Flutuantes.", "backgroundNightDunesText": "Dunas da Noite", "backgroundNightDunesNotes": "Caminhe calmamente pelas Dunas da Noite.", "backgroundSunsetOasisText": "Oásis ao Pôr do Sol", "backgroundSunsetOasisNotes": "Aqueça-se no Oásis ao Pôr do Sol.", - "backgrounds122015": "Conjunto 19: Lançado em Dezembro de 2015", + "backgrounds122015": "Conjunto 19: Lançado em dezembro de 2015", "backgroundAlpineSlopesText": "Alpes Montanhosos", "backgroundAlpineSlopesNotes": "Esquie nos Alpes Montanhosos.", "backgroundSnowySunriseText": "Aurora Nevada", "backgroundSnowySunriseNotes": "Aprecie a Aurora Nevada.", "backgroundWinterTownText": "Cidade de Inverno", "backgroundWinterTownNotes": "Divirta-se numa Cidade de Inverno.", - "backgrounds012016": "Conjunto 20: Lançado em Janeiro de 2016", + "backgrounds012016": "Conjunto 20: Lançado em janeiro de 2016", "backgroundFrozenLakeText": "Lago Congelado", "backgroundFrozenLakeNotes": "Ande de skate em um Lago Congelado.", "backgroundSnowmanArmyText": "Exército de Bonecos de Neve", "backgroundSnowmanArmyNotes": "Lidere um exército de bonecos de neve.", "backgroundWinterNightText": "Noite de Inverno", "backgroundWinterNightNotes": "Olhe para as estrelas em uma Noite de Inverno.", - "backgrounds022016": "Conjunto 21: Lançado em Fevereiro de 2016", + "backgrounds022016": "Conjunto 21: Lançado em fevereiro de 2016", "backgroundBambooForestText": "Floresta de Bambu", "backgroundBambooForestNotes": "Caminhe pela Floresta de Bambu.", "backgroundCozyLibraryText": "Biblioteca Aconchegante", "backgroundCozyLibraryNotes": "Leia na Biblioteca Aconchegante.", "backgroundGrandStaircaseText": "Grande Escadaria", "backgroundGrandStaircaseNotes": "Desça pela Grande Escadaria.", - "backgrounds032016": "Conjunto 22: Lançado em Março de 2016", + "backgrounds032016": "Conjunto 22: Lançado em março de 2016", "backgroundDeepMineText": "Mina Profunda", "backgroundDeepMineNotes": "Encontre metais preciosos em uma Mina Profunda.", "backgroundRainforestText": "Floresta Tropical", "backgroundRainforestNotes": "Aventure-se em uma Floresta Tropical.", "backgroundStoneCircleText": "Círculo de Pedras", "backgroundStoneCircleNotes": "Lance feitiços em um Círculo de Pedras.", - "backgrounds042016": "Conjunto 23: Lançado em Abril de 2016", + "backgrounds042016": "Conjunto 23: Lançado em abril de 2016", "backgroundArcheryRangeText": "Campo de Tiro com Arco", "backgroundArcheryRangeNotes": "Pratique no campo de tiro com arco.", "backgroundGiantFlowersText": "Flores Gigantes", @@ -172,14 +172,14 @@ "backgroundGazeboNotes": "Batalhe contra um Gazebo.", "backgroundTreeRootsText": "Raízes da Árvore", "backgroundTreeRootsNotes": "Explore as Raízes da Árvore.", - "backgrounds062016": "Conjunto 25: Lançado em Junho de 2016", + "backgrounds062016": "Conjunto 25: Lançado em junho de 2016", "backgroundLighthouseShoreText": "Costa do Farol", "backgroundLighthouseShoreNotes": "Passeie pela Costa do Farol.", "backgroundLilypadText": "Vitória-Régia", "backgroundLilypadNotes": "Suba em uma Vitória-Régia.", "backgroundWaterfallRockText": "Pedra de Cachoeira", "backgroundWaterfallRockNotes": "Molhe-se em uma Pedra de Cachoeira.", - "backgrounds072016": "Conjunto 26: Lançado em Julho de 2016", + "backgrounds072016": "Conjunto 26: Lançado em julho de 2016", "backgroundAquariumText": "Aquário", "backgroundAquariumNotes": "Nade em um Aquário.", "backgroundDeepSeaText": "Mar Profundo", @@ -193,7 +193,7 @@ "backgroundMountainPyramidNotes": "Suba os vários degraus de uma Montanha Pirâmide.", "backgroundStormyShipText": "Navio em Tempestade", "backgroundStormyShipNotes": "Mantenha-se firme contra o vento e acene a bordo desse Navio em Tempestade.", - "backgrounds092016": "Conjunto 28: Lançado em Setembro de 2016", + "backgrounds092016": "Conjunto 28: Lançado em setembro de 2016", "backgroundCornfieldsText": "Milharais", "backgroundCornfieldsNotes": "Desfrute de um belo dia nos Milharais.", "backgroundFarmhouseText": "Casa da Fazenda", @@ -241,7 +241,7 @@ "backgroundSparklingSnowflakeNotes": "Plane em um Floco de Neve Brilhante.", "backgroundStoikalmVolcanoesText": "Vulcões de Stoïkalm", "backgroundStoikalmVolcanoesNotes": "Explore os Vulcões de Stoïkalm.", - "backgrounds022017": "Conjunto 33: Lançado em Fevereiro de 2017", + "backgrounds022017": "Conjunto 33: Lançado em fevereiro de 2017", "backgroundBellTowerText": "Torre do Sino", "backgroundBellTowerNotes": "Escale até a Torre do Sino.", "backgroundTreasureRoomText": "Sala do Tesouro", @@ -283,7 +283,7 @@ "backgroundKelpForestNotes": "Nade em uma Floresta de Algas.", "backgroundMidnightLakeText": "Lago da Meia-Noite", "backgroundMidnightLakeNotes": "Descanse no Lago da Meia-Noite.", - "backgrounds082017": "Conjunto 39: Lançado em Agosto de 2017", + "backgrounds082017": "Conjunto 39: Lançado em agosto de 2017", "backgroundBackOfGiantBeastText": "Costas de uma Besta Gigante", "backgroundBackOfGiantBeastNotes": "Monte em uma Besta Gigante.", "backgroundDesertDunesText": "Dunas do Deserto", @@ -297,7 +297,7 @@ "backgroundGardenShedNotes": "Trabalhe na Casinha do Jardim.", "backgroundPixelistsWorkshopText": "Oficina do Criador de Pixels", "backgroundPixelistsWorkshopNotes": "Crie obras-primas na Oficina do Criador de Pixels.", - "backgrounds102017": "Conjunto 41: Lançado em Outubro de 2017", + "backgrounds102017": "Conjunto 41: Lançado em outubro de 2017", "backgroundMagicalCandlesText": "Velas Mágicas", "backgroundMagicalCandlesNotes": "Aqueça-se com o brilho das Velas Mágicas.", "backgroundSpookyHotelText": "Hotel Assustador", @@ -339,14 +339,14 @@ "backgroundElegantBalconyNotes": "Aprecie a paisagem vista de uma Varanda Elegante.", "backgroundDrivingACoachText": "Dirigindo uma Carruagem", "backgroundDrivingACoachNotes": "Divirta-se Dirigindo uma Carruagem e atravesse os campos de flores.", - "backgrounds042018": "Conjunto 47: Lançado em Abril de 2018", + "backgrounds042018": "Conjunto 47: Lançado em abril de 2018", "backgroundTulipGardenText": "Jardim de Tulipas", "backgroundTulipGardenNotes": "Caminhe sorrateiramente por um Jardim de Tulipas.", "backgroundFlyingOverWildflowerFieldText": "Campo de Flores Silvestres", "backgroundFlyingOverWildflowerFieldNotes": "Voe sobre um Campo de Flores Silvestres.", "backgroundFlyingOverAncientForestText": "Floresta Antiga", "backgroundFlyingOverAncientForestNotes": "Voe sobre a copa das árvores de uma Floresta Antiga.", - "backgrounds052018": "Conjunto 48: Lançado em Maio de 2018", + "backgrounds052018": "Conjunto 48: Lançado em maio de 2018", "backgroundTerracedRiceFieldText": "Terraço Arrozal", "backgroundTerracedRiceFieldNotes": "Aproveite o Terraço Arrozal na estação de cultivo.", "backgroundFantasticalShoeStoreText": "Fantástica Loja de Sapatos", @@ -360,35 +360,35 @@ "backgroundRowboatNotes": "Cante em um Barco a Remo.", "backgroundPirateFlagText": "Bandeira de Pirata", "backgroundPirateFlagNotes": "Hasteie uma temível Bandeira de Pirata.", - "backgrounds072018": "Conjunto 50: Lançado em Julho de 2018", + "backgrounds072018": "Conjunto 50: Lançado em julho de 2018", "backgroundDarkDeepText": "Região Abissal", "backgroundDarkDeepNotes": "Nade na Região Abissal ao lado dos seres bioluminescentes.", "backgroundDilatoryCityText": "Cidade de Lentópolis", "backgroundDilatoryCityNotes": "Perambule na submersa Cidade de Lentópolis.", "backgroundTidePoolText": "Piscina de Marés", "backgroundTidePoolNotes": "Observe a vida oceânica próximo a uma Piscina de Marés.", - "backgrounds082018": "Conjunto 51: Lançado em Agosto de 2018", + "backgrounds082018": "Conjunto 51: Lançado em agosto de 2018", "backgroundTrainingGroundsText": "Campos de Treinamento", "backgroundTrainingGroundsNotes": "Pratique nos Campos de Treinamento.", "backgroundFlyingOverRockyCanyonText": "Desfiladeiro Rochoso", "backgroundFlyingOverRockyCanyonNotes": "Olhe uma cena de tirar o fôlego enquanto você sobrevoa um Desfiladeiro Rochoso.", "backgroundBridgeText": "Ponte", "backgroundBridgeNotes": "Cruze uma encantadora Ponte.", - "backgrounds092018": "Conjunto 52: Lançado em Setembro de 2018", + "backgrounds092018": "Conjunto 52: Lançado em setembro de 2018", "backgroundApplePickingText": "Colheita de Maçãs", "backgroundApplePickingNotes": "Participe da Colheita de Maçãs e traga para casa um cesto cheio.", "backgroundGiantBookText": "Livro Gigante", "backgroundGiantBookNotes": "Leia enquanto anda pelas páginas de um Livro Gigante.", "backgroundCozyBarnText": "Celeiro Aconchegante", "backgroundCozyBarnNotes": "Relaxe com seus mascotes e montarias neste Celeiro Aconchegante.", - "backgrounds102018": "Conjunto 53: Lançado em Outubro de 2018", + "backgrounds102018": "Conjunto 53: Lançado em outubro de 2018", "backgroundBayouText": "Bayou", "backgroundBayouNotes": "Dos vaga-lumes aproveite o brilho, neste Bayou sombrio.", "backgroundCreepyCastleText": "Castelo Assustador", "backgroundCreepyCastleNotes": "Atreva-se a se aproximar de um Castelo Assustador.", "backgroundDungeonText": "Calabouço", "backgroundDungeonNotes": "Resgate os prisioneiros de um Calabouço assustador.", - "backgrounds112018": "Conjunto 54: Lançado em Novembro de 2018", + "backgrounds112018": "Conjunto 54: Lançado em novembro de 2018", "backgroundBackAlleyText": "Beco", "backgroundBackAlleyNotes": "Pareça suspeito vagabundando em um Beco.", "backgroundGlowingMushroomCaveText": "Caverna de Cogumelos Brilhantes", @@ -402,7 +402,7 @@ "backgroundFrostyForestNotes": "Agasalhe-se para caminhar por uma Floresta Gélida.", "backgroundSnowyDayFireplaceText": "Lareira em Dia de Neve", "backgroundSnowyDayFireplaceNotes": "Aconchegue-se ao lado de uma Lareira em Dia de Neve.", - "backgrounds012019": "Conjunto 56: Lançado em Janeiro de 2019", + "backgrounds012019": "Conjunto 56: Lançado em janeiro de 2019", "backgroundAvalancheText": "Avalanche", "backgroundAvalancheNotes": "Fuja da força estrondosa de uma Avalanche.", "backgroundArchaeologicalDigText": "Escavação Arqueológica", @@ -430,14 +430,14 @@ "backgroundHalflingsHouseNotes": "Visite uma encantadora Casa de Halfling.", "backgroundBlossomingDesertText": "Deserto Florescido", "backgroundBlossomingDesertNotes": "Testemunhe um raro florescer no Deserto Florescido.", - "backgrounds052019": "Conjunto 60: Lançado em Maio de 2019", + "backgrounds052019": "Conjunto 60: Lançado em maio de 2019", "backgroundDojoText": "Dojô", "backgroundDojoNotes": "Aprenda novos movimentos em um Dojô.", "backgroundParkWithStatueText": "Parque com Estátua", "backgroundParkWithStatueNotes": "Siga por um caminho florido em um Parque com Estátua.", "backgroundRainbowMeadowText": "Campo do Arco-Íris", "backgroundRainbowMeadowNotes": "Encontre o pote de ouro onde um Arco-Íris termina em um Campo.", - "backgrounds062019": "Conjunto 61: Lançado em Junho de 2019", + "backgrounds062019": "Conjunto 61: Lançado em junho de 2019", "backgroundSchoolOfFishText": "Cardume de Peixes", "backgroundSchoolOfFishNotes": "Nade entre um Cardume de Peixes.", "backgroundSeasideCliffsText": "Falésias à Beira-Mar", @@ -455,14 +455,14 @@ "backgroundGiantDandelionsText": "Dentes-de-Leão Gigantes", "backgroundAmidAncientRuinsNotes": "Faça reverência ao passado misterioso Entre Ruínas Antigas.", "backgroundAmidAncientRuinsText": "Entre Ruínas Antigas", - "backgrounds082019": "Conjunto 63: Lançado em Agosto de 2019", + "backgrounds082019": "Conjunto 63: Lançado em agosto de 2019", "backgroundAmongGiantAnemonesNotes": "Explore a vida nos arrecifes, buscando proteção contra predadores Entre Anêmonas Gigantes.", "backgroundAmongGiantAnemonesText": "Entre Anêmonas Gigantes", "backgroundFlyingOverTropicalIslandsNotes": "Deixe a vista tirar o seu fôlego enquanto você estiver Voando sobre Ilhas Tropicais.", "backgroundFlyingOverTropicalIslandsText": "Voando sobre Ilhas Tropicais", "backgroundLakeWithFloatingLanternsNotes": "Contemple as estrelas na atmosfera encantadora de um Lago com Lanternas Flutuantes.", "backgroundLakeWithFloatingLanternsText": "Lago com Lanternas Flutuantes", - "backgrounds072019": "Conjunto 62: Lançado em Julho de 2019", + "backgrounds072019": "Conjunto 62: Lançado em julho de 2019", "backgroundUnderwaterVentsNotes": "Faça um mergulho profundo, até as profundezas das Fontes Termais Submarinas.", "backgroundUnderwaterVentsText": "Fontes Termais Submarinas", "backgroundMonsterMakersWorkshopNotes": "Experimente ciências desacreditadas em uma Oficina de Criadores de Monstros.", @@ -471,17 +471,17 @@ "backgroundPumpkinCarriageText": "Carruagem de Abóbora", "backgroundFoggyMoorNotes": "Fique atento com sua travessia em uma Charneca Nevoenta.", "backgroundFoggyMoorText": "Charneca Nevoenta", - "backgrounds102019": "Conjunto 65: Lançado em Outubro de 2019", + "backgrounds102019": "Conjunto 65: Lançado em outubro de 2019", "backgroundPotionShopNotes": "Encontre um elixir para qualquer doença em uma Loja de Poções.", "backgroundPotionShopText": "Loja de Poções", "backgroundFlyingInAThunderstormNotes": "Persiga uma Tempestade Tumultuada tão perto quanto você ousa.", "backgroundFlyingInAThunderstormText": "Trovoada Tumultuada", "backgroundFarmersMarketNotes": "Escolha os alimentos mais frescos para comprar na Feira de Produtores.", "backgroundFarmersMarketText": "Feira de Produtores", - "backgrounds112019": "Conjunto 66: Lançado em Novembro de 2019", + "backgrounds112019": "Conjunto 66: Lançado em novembro de 2019", "backgroundHolidayMarketNotes": "Encontre presentes e decorações perfeitas em um Mercado de Férias.", "backgroundHolidayMarketText": "Mercado de Férias", - "backgrounds122019": "Conjunto 67: Lançado em Dezembro de 2019", + "backgrounds122019": "Conjunto 67: Lançado em dezembro de 2019", "backgroundWinterNocturneNotes": "Aproveite as luzes das estrelas de uma Noite de Inverno.", "backgroundWinterNocturneText": "Noite de Inverno", "backgroundHolidayWreathNotes": "Enfeite seu avatar com uma perfumada Guirlanda Festiva.", @@ -492,7 +492,7 @@ "backgroundDesertWithSnowText": "Deserto Nevado", "backgroundBirthdayPartyNotes": "Comemore a Festa de Aniversário do(a) seu/sua habiticano(a) favorito(a).", "backgroundBirthdayPartyText": "Festa de Aniversário", - "backgrounds012020": "Conjunto 68: Lançado em Janeiro de 2020", + "backgrounds012020": "Conjunto 68: Lançado em janeiro de 2020", "backgroundSteamworksNotes": "Construa poderosas engenhocas à vapor e aço em uma Estação de Vapor.", "backgroundSteamworksText": "Estação de Vapor", "backgroundClocktowerNotes": "Estabeleça seu esconderijo secreto atrás da face de uma Torre do Relógio.", @@ -513,7 +513,7 @@ "backgroundButterflyGardenText": "Jardim de Borboletas", "backgroundAmongGiantFlowersNotes": "Divirta-se entre Flores Gigantes.", "backgroundAmongGiantFlowersText": "Entre Flores Gigantes", - "backgrounds032020": "Conjunto 70: Lançado em Março de 2020", + "backgrounds032020": "Conjunto 70: Lançado em março de 2020", "backgroundRainyBarnyardNotes": "Encharque-se enquanto faz um passeio por um Curral Chuvoso.", "backgroundRainyBarnyardText": "Curral Chuvoso", "backgroundHeatherFieldNotes": "Aproveite o perfume de um Campo de Urzes.", @@ -599,7 +599,7 @@ "backgroundSpringThawNotes": "Assista a transição do inverno para o Degelo da Primavera.", "backgroundSpringThawText": "Degelo da Primavera", "backgroundElegantGardenText": "Jardim Elegante", - "backgrounds042021": "Conjunto 28: Lançado em Abril de 2021", + "backgrounds042021": "Conjunto 28: Lançado em abril de 2021", "backgroundAmongCattailsText": "Entre Taboas", "backgroundAmongCattailsNotes": "Admire a vida selvagem do pântano Entre Taboas.", "backgroundCottageConstructionText": "Chalé em Construção", @@ -618,20 +618,20 @@ "backgroundForestedLakeshoreNotes": "Fique em evidência no seu Grupo por estar desfrutando de um lugar perfeito Às Margens de um Lago na Floresta.", "backgroundClotheslineNotes": "Estenda-se um tempo junto às Roupas que secam no Varal.", "backgroundClotheslineText": "Varal de Roupas", - "backgrounds062021": "Conjunto 85: Lançado em Junho de 2021", + "backgrounds062021": "Conjunto 85: Lançado em junho de 2021", "backgroundUnderwaterAmongKoiNotes": "Deslumbre-se e fique deslumbrante Debaixo d'Água entre Carpas.", "backgroundUnderwaterAmongKoiText": "Debaixo d'Água entre Carpas", "backgroundRagingRiverNotes": "Erga-se em meio às poderosas águas de uma Corredeira.", "backgroundRagingRiverText": "Corredeira", "backgroundGhostShipNotes": "Prove que contos e lendas são verdadeiros ao colocar os pés a bordo de um Navio Fantasma.", "backgroundGhostShipText": "Navio Fantasma", - "backgrounds072021": "Conjunto 86: Lançado em Julho de 2021", + "backgrounds072021": "Conjunto 86: Lançado em julho de 2021", "backgroundDaytimeMistyForestNotes": "Banhe-se no brilho diurno que flui através da Floresta Nebulosa.", "backgroundDaytimeMistyForestText": "Floresta Nebulosa", "backgroundRopeBridgeNotes": "Mostre aos duvidosos que essa Ponte de Corda é perfeitamente segura.", "backgroundRopeBridgeText": "Ponte de Corda", "backgroundStoneTowerText": "Torre de Pedra", - "backgrounds082021": "Conjunto 87: Lançado em Agosto de 2021", + "backgrounds082021": "Conjunto 87: Lançado em agosto de 2021", "backgroundStoneTowerNotes": "Contemple os parapeitos de uma Torre de Pedra para outra.", "backgroundAutumnPoplarsText": "Floresta do Álamo Outonal", "backgroundAutumnLakeshoreNotes": "Faça uma pausa na margem do Lago Outonal e aprecie o reflexo da floresta na água.", @@ -704,7 +704,7 @@ "backgroundFlowerShopText": "Floricultura", "backgroundSpringtimeLakeText": "Lago Primaveril", "backgroundSpringtimeLakeNotes": "Aprecie a vista nas margens de um Lago Primaveril.", - "backgrounds072022": "Conjunto 98: Lançado em Julho de 2022", + "backgrounds072022": "Conjunto 98: Lançado em julho de 2022", "backgroundBioluminescentWavesText": "Ondas Bioluminescentes", "backgroundBioluminescentWavesNotes": "Admire o brilho das Ondas Bioluminescentes.", "backgroundUnderwaterCaveNotes": "Explore uma Caverna Subaquática.", @@ -745,5 +745,50 @@ "backgroundInsideACrystalText": "Dentro de um Cristal", "backgroundSnowyVillageText": "Aldeia Nevada", "backgroundSnowyVillageNotes": "Admire uma Aldeia Nevada.", - "backgroundInsideACrystalNotes": "Observe a vista Dentro de um Cristal." + "backgroundInsideACrystalNotes": "Observe a vista Dentro de um Cristal.", + "backgrounds012023": "Conjunto 104: Lançando em janeiro de 2023", + "backgroundSnowyTempleText": "Templo Nevado", + "backgroundSnowyTempleNotes": "Veja um sereno Templo Nevado.", + "backgroundWinterLakeWithSwansText": "Lago de Inverno com Cisnes", + "eventBackgrounds": "Cenários de evento", + "backgroundBirthdayBashText": "Festança de Aniversário", + "backgroundBirthdayBashNotes": "O Habitica está realizando uma festa de aniversário e todos estão convidados!", + "backgroundWinterLakeWithSwansNotes": "Aproveite a natureza em um Lago de Inverno com Cisnes.", + "backgroundRimeIceText": "Sincelo", + "backgroundRimeIceNotes": "Admire o Sincelo brilhante.", + "backgroundInFrontOfFountainText": "Em Frente a uma Fonte", + "backgrounds022023": "Conjunto 105: Lançado em fevereiro de 2023", + "backgroundInFrontOfFountainNotes": "Dê uma volta em frente a uma fonte.", + "backgroundGoldenBirdcageText": "Gaiola Dourada", + "backgroundGoldenBirdcageNotes": "Esconda-se em uma Gaiola Dourada.", + "backgroundFancyBedroomText": "Quarto Elegante", + "backgroundFancyBedroomNotes": "Desfrute de um Quarto Elegante.", + "backgrounds032023": "Conjunto 106: Lançado em março de 2023", + "backgroundOldTimeyBasketballCourtText": "Quadra de Basquete das Antigas", + "backgroundOldTimeyBasketballCourtNotes": "Acerte cestas em uma Quadra de Basquete das Antigas.", + "backgroundJungleWateringHoleText": "Bebedouro da Selva", + "backgroundJungleWateringHoleNotes": "Tome um gole em um Bebedouro da Selva.", + "backgroundMangroveForestText": "Manguezal", + "backgroundMangroveForestNotes": "Explore a orla do Manguezal.", + "backgroundInAPaintingText": "Em uma Pintura", + "backgroundLeafyTreeTunnelNotes": "Passeie pelo Túnel da Árvore Frondosa.", + "backgroundCretaceousForestNotes": "Aprecie a antiga vegetação de uma Floresta Cretácea.", + "backgrounds042023": "Conjunto 107: Lançado em abril de 2023", + "backgroundSpringtimeShowerNotes": "Veja uma Florida Chuva de Primavera.", + "backgroundSpringtimeShowerText": "Chuva de Primavera", + "backgroundUnderWisteriaNotes": "Relaxe Sob uma Glicínia.", + "backgroundLeafyTreeTunnelText": "Túnel da Árvore Frondosa", + "backgroundUnderWisteriaText": "Sob Glicínia", + "backgrounds052023": "Conjunto 108: Lançado em maio de 2023", + "backgroundInAPaintingNotes": "Aproveite atividades criativas Dentro de uma Pintura.", + "backgroundFlyingOverHedgeMazeText": "Voando Sobre um Labirinto", + "backgroundFlyingOverHedgeMazeNotes": "Maravilhe-se enquanto Voa sobre um Labirinto.", + "backgroundCretaceousForestText": "Floresta Cretácea", + "backgrounds062023": "Conjunto 109: Lançado em junho de 2023", + "backgroundInAnAquariumText": "Em um Aquário", + "backgroundInAnAquariumNotes": "Nade pacificamente com o peixe Em um Aquário.", + "backgroundInsideAdventurersHideoutText": "Dentro do Esconderijo do Aventureiro", + "backgroundInsideAdventurersHideoutNotes": "Planeje uma jornada dentro do Esconderijo do Aventureiro.", + "backgroundCraterLakeText": "Lago da Cratera", + "backgroundCraterLakeNotes": "Admire um encantador Lago da Cratera." } diff --git a/website/common/locales/pt_BR/communityguidelines.json b/website/common/locales/pt_BR/communityguidelines.json index 32f5f3e414..3ac44ed8df 100644 --- a/website/common/locales/pt_BR/communityguidelines.json +++ b/website/common/locales/pt_BR/communityguidelines.json @@ -1,58 +1,58 @@ { - "tavernCommunityGuidelinesPlaceholder": "Lembrete amigável: este é um chat para todas as idades então, por favor, use palavras e conteúdos apropriados! Consulte as Diretrizes da Comunidade na barra lateral para sanar quaisquer dúvidas.", + "tavernCommunityGuidelinesPlaceholder": "Lembrete amigável: este é um chat para todas as idades então, por favor, use palavras e conteúdos apropriados! Consulte as Diretrizes da Comunidade na barra lateral se tiver dúvidas.", "lastUpdated": "Última atualização:", "commGuideHeadingWelcome": "Boas-vindas ao Habitica!", "commGuidePara001": "Saudações, viajante! Boas-vindas ao Habitica, a terra da produtividade, vida saudável e, ocasionalmente, grifos ferozes. Nós temos uma comunidade cheia pessoas alegres com vontade de ajudar uns aos outros no caminho do auto-aperfeiçoamento. Para se encaixar, bastar ter atitudes positivas, manter o respeito e entender que todo mundo tem habilidades diferentes e suas próprias limitações -- incluindo você! Habiticanos(as) são pacientes uns com os outros e tentam ajudar sempre que podem.", "commGuidePara002": "Para ajudar a manter todos(as) seguros(as), felizes e produtivos(as) na comunidade, nós temos algumas diretrizes. Nós elaboramos elas cuidadosamente para torná-las tão amigáveis e fáceis de entender quanto possível. Por favor, leia-as com atenção antes de começar a usar o chat.", - "commGuidePara003": "Essas regras se aplicam a todos os espaços sociais que usamos, incluindo (mas não necessariamente limitado a) o Trello, GitHub, Weblate e a Habitica Wiki na Fandom. Conforme as comunidades crescem e se transformam, suas regras podem se adaptar de tempos em tempos. Quando houver mudanças substanciais nestas Diretrizes, você ouvirá sobre isso em um anúncio da Bailey e/ou nas nossas redes sociais!", + "commGuidePara003": "Essas regras se aplicam a todos os espaços sociais que usamos, incluindo (mas não necessariamente limitado a) o Trello, GitHub, Weblate e a Habitica Wiki na Fandom. Conforme as comunidades crescem e se transformam, suas regras podem se adaptar de tempos em tempos. Quando houver mudanças substanciais nestas regras da comunidade listadas aqui, você ouvirá sobre isso em um anúncio da Bailey e/ou nas nossas redes sociais!", "commGuideHeadingInteractions": "Interações no Habitica", "commGuidePara015": "O Habitica tem dois tipos de espaços sociais: público e privado. Espaços públicos incluem a Taverna, Guildas Públicas, GitHub, Trello e a Wiki. Espaços privados são as Guildas Privadas, bate-papo de Grupo e Mensagens Privadas. Todos os Nomes de Exibição e @nomesdeusuário devem estar de acordo com as diretrizes para espaços públicos. Para mudar seu Nome de Exibição e/ou @nomedeusuário, no aplicativo, vá para Menu > Configurações > Perfil. No navegador, clique em Usuário > Configurações.", "commGuidePara016": "Ao navegar nos espaços públicos no Habitica, existem algumas regras gerais para manter todo mundo seguro e feliz.", "commGuideList02A": "Respeitem uns aos outros. Seja atencioso(a), gentil, amigável, e prestativo(a). Lembre-se: Habiticanos vem de vários contextos sociais e tem uma vasta diversidade de experiências. Isso é uma das coisa que faz o Habitica tão legal! Construir uma comunidade significa respeitar e celebrar nossas diferenças bem como nossas semelhanças.", - "commGuideList02B": "Obedecer todos os Termos e Condições, seja em espaços públicos ou privados.", + "commGuideList02B": "Obedeça todos os Termos e Condições, seja em espaços públicos ou privados.", "commGuideList02C": "Não publique imagens ou texto que envolvam violência, ameaças ou que sejam sexualmente explícitas ou sugestivas. Também não promova discriminação, intolerância, racismo, sexismo, ódio, assédio ou ofensas contra um indivíduo ou grupo. Nem mesmo como uma piada. Isto inclui calúnias, assim como declarações. Nem todo mundo tem o mesmo senso de humor e, dessa forma, algo que você considera uma piada pode ser ofensivo para outra pessoa.", "commGuideList02D": "Mantenha a linguagem apropriada para todas as idades. Isto significa evitar temas adultos em espaços públicos. Temos muitos Habiticianos jovens e pessoas de todos os estilos de vida que acessam o site. Queremos que nossa comunidade seja tão acolhedora e inclusiva quanto possível.", - "commGuideList02E": "Evite palavrões e termos ofensivos. Isto inclui evitar a utilização de expressões preconceituosas ou de cunho religioso que podem ser consideradas aceitáveis em outros contextos; e de expressões que estejam inadvertidamente abreviadas ou mascaradas de alguma forma. Não desrespeite nenhuma crença e/ou prática religiosa sob nenhum pretexto. Nós somos uma comunidade diversa, com pessoas de várias religiões e culturas e queremos que todas elas se sintam bem em nossos espaços públicos. Atenção: se um Moderador ou um membro da equipe te disser que um determinado termo é proibido no Habitica, a decisão é irreversível, mesmo que você considere que não proferiu uma ofensa. Além disso, insultos serão tratados com severidade, uma vez que também violam nossos Termos de Serviço.", - "commGuideList02F": "Evite discussões longas na Taverna sobre tópicos polêmicos ou fora de contexto. Se alguém mencionar algo que é permitido pelas Diretrizes, mas que você considera ofensivo, você pode educadamente informar a esta pessoa sobre como se sente. Se alguém disse algo que te deixou desconfortável, reserve um tempo para refletir ao invés de responder com raiva. Mas se, mesmo assim, você considerar que uma conversa está ficando acalorada, excessivamente emocional ou tem a intenção de ferir alguém, o melhor a fazer é sair da conversa. Denuncie as postagens para nós, para que possamos ter entender o que ocorreu. Os Moderadores resolverão a questão o mais rápido possível. Você também pode enviar um e-mail para admin@habitica.com e incluir capturas de tela, se elas puderem ajudar de alguma maneira.", - "commGuideList02G": "Atenda o mais rápido possível a qualquer pedido de nossos Moderadores. Isso pode incluir, mas não se limita a: pedir que você faça suas publicações em um local apropriado, editar seu perfil para remover conteúdo impróprio e/ou pedir que você mova sua discussão para um espaço mais apropriado, por exemplo. Não discuta com Moderadores. Se você tiver dúvidas ou comentários sobre moderação, envie um e-mail para admin@habitica.com para entrar em contato com o nosso Gerente de Comunidade.", - "commGuideList02J": "Ninguém gosta de spam. Alguns exemplos do que é spam: postar o mesmo comentário ou pergunta em vários fóruns, postar links sem explicação do contexto, postar mensagens sem sentido, postar várias mensagens fazendo propaganda de uma Guilda, Grupo ou Desafio, ou simplesmente postar várias mensagens em seguida umas das outras. Se clicar em um link pode resultar em algum benefício para você, informe isso para as outras pessoas na própria mensagem, caso contrário ela também será considerada como spam. A decisão sobre o que é ou não um spam compete aos Moderadores, mesmo que você pense o contrário.", + "commGuideList02E": "Evite palavrões e termos ofensivos. Isto inclui evitar a utilização de expressões que estejam inadvertidamente abreviadas ou mascaradas de alguma forma. Não desrespeite nenhuma crença e/ou prática religiosa sob nenhum pretexto. Nós somos uma comunidade diversa, com pessoas de várias religiões e culturas e queremos que todas elas se sintam bem em nossos espaços públicos. Atenção: se um membro da Equipe te disser que um determinado termo é proibido no Habitica, a decisão é irreversível, mesmo que você considere que não proferiu uma ofensa. Além disso, insultos serão tratados com severidade, uma vez que também violam nossos Termos de Serviço.", + "commGuideList02F": "Evite discussões longas na Taverna sobre tópicos polêmicos ou fora de contexto. Se alguém mencionar algo que é permitido pelas Diretrizes, mas que você considera ofensivo, você pode educadamente informar a esta pessoa sobre como se sente. Se alguém disse algo que te deixou desconfortável, reserve um tempo para refletir ao invés de responder com raiva. Mas se, mesmo assim, você considerar que uma conversa está ficando acalorada, excessivamente emocional ou tem a intenção de ferir alguém, o melhor a fazer é sair da conversa. Denuncie as postagens para nós, para que possamos ter entender o que ocorreu. A Equipe resolverá a questão o mais rápido possível. Você também pode enviar um e-mail para admin@habitica.com e incluir capturas de tela, se elas puderem ajudar de alguma maneira.", + "commGuideList02G": "Atenda o mais rápido possível a qualquer pedido da nossa Equipe. Isso pode incluir, mas não se limita a: pedir que você faça suas publicações em um local apropriado, editar seu perfil para remover conteúdo impróprio e/ou pedir que você mova sua discussão para um espaço mais apropriado, por exemplo. Não discuta com a Equipe. Se você tiver dúvidas ou comentários sobre ações da Equipe, envie um e-mail para admin@habitica.com para entrar em contato com o nosso Gerente de Comunidade.", + "commGuideList02J": "Ninguém gosta de spam. Alguns exemplos do que é spam: postar o mesmo comentário ou pergunta em vários fóruns, postar links sem explicação do contexto, postar mensagens sem sentido, postar várias mensagens fazendo propaganda de uma Guilda, Grupo ou Desafio, ou simplesmente postar várias mensagens em seguida umas das outras. Se clicar em um link pode resultar em algum benefício para você, informe isso para as outras pessoas na própria mensagem, caso contrário ela também será considerada como spam. A decisão sobre o que é ou não um spam compete a Equipe, mesmo que você pense o contrário.", "commGuideList02K": "Evite postar longos cabeçalhos de texto em espaços públicos, principalmente na Taverna. Bem como USAR CAIXA ALTA, estes são lidos como se você estivesse gritando e interferem com a atmosfera agradável.", - "commGuideList02L": "Nós desencorajamos a troca de informações pessoais – particularmente informações que possam ser utilizadas para te identificar – em espaços públicos de bate-papo. Estas informações podem incluir, mas não se limitam a: seu endereço pessoal ou profissional, seu e-mail, seu API token ou sua senha. Lembre-se: esta é uma regra para a sua própria segurança! Nossos Moderadores podem remover postagens que contenham informações pessoais quando julgarem necessário. Se alguém pedir a você informações pessoais em uma Guilda, Grupo ou por mensagem direta, recomendamos que você recuse educadamente o pedido e alerte um Moderador por meio da 1) opção de reportar a mensagem ou 2) enviando um e-mail para admin@habitica.com, incluindo as devidas capturas de tela.", + "commGuideList02L": "Nós desencorajamos a troca de informações pessoais – particularmente informações que possam ser utilizadas para te identificar – em espaços públicos de bate-papo. Estas informações podem incluir, mas não se limitam a: seu endereço pessoal ou profissional, seu e-mail, seu API token ou sua senha. Lembre-se: esta é uma regra para a sua própria segurança! Nossa Equipe podem remover postagens que contenham informações pessoais quando julgarem necessário. Se alguém pedir a você informações pessoais em uma Guilda, Grupo ou por mensagem direta, recomendamos que você recuse educadamente o pedido e alerte a Equipe por meio da 1) opção de reportar a mensagem ou 2) enviando um e-mail para admin@habitica.com, incluindo as devidas capturas de tela.", "commGuidePara019": "Em espaços privados os usuários tem maior liberdade para discutir qualquer tema que os interessem, mas ainda não devem violar os Termos e Condições, incluindo qualquer postagem ofensiva, discriminatória, violenta ou ameaçadora. Aviso: Desafios concluídos aparecem no perfil público do vencedor, de maneira que QUALQUER nome de desafio deve respeitar as Diretrizes de Espaço Público, mesmo que sejam postadas em um local privado.", "commGuidePara020": "Mensagens Diretas (DM) possuem algumas diretrizes adicionais. Caso alguém tenha bloqueado você, não tente entrar em contato com a pessoa em outros lugares para pedir que você seja desbloqueado. Além disso, você deve evitar enviar DMs para alguém pedindo por ajuda (uma vez que respostas públicas para alguma dúvida podem ser benéficas para toda a comunidade). Por fim, não envie DM a ninguém pedindo por itens pagos, sejam eles de qualquer natureza.", - "commGuidePara020A": "Se você se deparar com uma postagem ou mensagem privada que acredita ser uma violação das Diretrizes de Espaço Público descritas acima, ou se você receber uma postagem/mensagem privada que te perturbe ou cause incômodo, você pode alertar os Moderadores e a Equipe do Habitica clicando em Reportar. Um membro da Equipe/Moderador irá entrar em contato com você o mais breve possível. Por favor, note que reportar postagens inofensivas intencionalmente é uma infração das nossas Diretrizes (veja abaixo em \"Infrações\"). Você também pode entrar em contato com um dos Moderadores por meio do e-mail: admin@habitica.com. Talvez isso seja necessário se houver diversas mensagens problemáticas da mesma pessoa em diferentes Guildas ou se a situação exigir alguma explicação mais aprofundada. É possível entrar em contato conosco na sua língua nativa, se assim for mais fácil: pode ser que usemos o Google Tradutor para entender o que você quis dizer, mas o mais importante é que você se sinta confortável para nos avisar caso esteja experienciando algum problema.", + "commGuidePara020A": "Se você se deparar com uma postagem ou mensagem privada que acredita ser uma violação das Diretrizes de Espaço Público descritas acima, ou se você receber uma postagem/mensagem privada que te perturbe ou cause incômodo, você pode alertar a Equipe do Habitica clicando em Reportar. Um membro da Equipe irá entrar em contato com você o mais breve possível. Por favor, note que reportar postagens inofensivas intencionalmente é uma infração das nossas Diretrizes (veja abaixo em \"Infrações\"). Você também pode entrar em contato com a Equipe por meio do e-mail: admin@habitica.com. Talvez isso seja necessário se houver diversas mensagens problemáticas da mesma pessoa em diferentes Guildas ou se a situação exigir alguma explicação mais aprofundada. É possível entrar em contato conosco na sua língua nativa, se assim for mais fácil: pode ser que usemos o Google Tradutor para entender o que você quis dizer, mas o mais importante é que você se sinta confortável para nos avisar caso esteja experienciando algum problema.", "commGuidePara021": "Além disso, alguns espaços públicos no Habitica tem regras adicionais.", "commGuideHeadingTavern": "A Taverna", "commGuidePara022": "A Taverna é o principal lugar para os Habiticanos socializarem. Daniel, o dono da pousada, mantém o lugar nos trinques, e Lemoness ficará feliz em te fazer uma limonada enquanto você senta e conversa. Mas tenha em mente que…", - "commGuidePara023": "Geralmente na Taverna são conversados assuntos casuais ou dicas de produtividade ou como melhorar sua vida. Como a Taverna suporta apenas 200 mensagens, este não é um lugar ideal para conversas prolongadas, sobretudo as de assunto sensíveis (tipo religião, política, depressão ou se a caça aos globins deve ser banida pelos seus aspectos econômicos e sociais). Essas conversas devem ser feitas em uma Guilda relevante ao assunto. Um moderador pode até lhe indicar uma Guilda para o teu assunto, mas esta é sua responsabilidade encontrar e postar o assunto no local apropriado.", + "commGuidePara023": "Geralmente na Taverna são conversados assuntos casuais ou dicas de produtividade ou como melhorar sua vida. Como a Taverna suporta apenas 200 mensagens, este não é um lugar ideal para conversas prolongadas, sobretudo as de assunto sensíveis e polêmicos (tipo religião, política, depressão ou se a caça aos globins deve ser banida pelos seus aspectos econômicos e sociais). Essas conversas devem ser feitas em uma Guilda relevante ao assunto. Um membro da Equipe pode até lhe indicar uma Guilda para o teu assunto, mas esta é sua responsabilidade encontrar e postar o assunto no local apropriado.", "commGuidePara024": "Não comente sobre coisas viciantes na Taverna. Vários usuários usam o Habitica querendo parar seus maus hábitos. Ouvir conversas sobre substâncias viciantes/ilegais pode tornar esta tarefa muito mais difícil para eles. Respeite seu camaradas Taverneiros e pense nisso antes de postar. Exemplos para esta regra: tabaco, álcool, pornografia, apostas, e uso/abuso de drogas.", "commGuidePara027": "As vezes ainda não há uma Guilda relevante para o seu assunto. Quando isso acontecer o moderador lhe indicará a Esquina de Trás. A Guilda da Esquina de Trás é um espaço público para discutir assuntos sensíveis e só deve ser usada quando direcionada por um Moderador. Este território é deles e é cuidadosamente vigiada. Não é um espaço para discussões gerais e você somente será direcionado por um moderador quando for apropriado.", "commGuideHeadingPublicGuilds": "Guildas Públicas", "commGuidePara029": "Guildas públicas são parecidas com a Taverna, só que ao invés de assuntos genéricos elas focam em um tema específico.O chat dessas guildas deve focar nesse tema. Por exemplo, membros da 'Guilda Brasil' podem ficar aborrecidos se várias pessoas começarem a falar em alemão, mesmo que seja por culpa de um desafio. Uma guilda de apreciadores de dragões pode não ter nenhum interesse em decifrar runas antigas. Algumas guildas são mais tolerantes a respeito disso do que outras, mas em geral, tente não fugir do assunto!", "commGuidePara031": "Algumas das Guildas públicas tratam de assuntos delicados como depressão, religião, politica, etc. Esteja tranquilo ao falar sobre esses assuntos nestas guildas, desde que as conversas lá não violem nenhum dos Termos e Condições ou Regras de Espaços Públicos além de manter o tópico.", "commGuidePara033": "Guildas Públicas são proibidas de conter conteúdo adulto ( 18+). Caso os membros desejem falar regularmente sobre assuntos sensíveis, isto deverá está escrito na descrição da Guilda. Esta regra é para manter o Habitica seguro e confortável para todos.", - "commGuidePara035": "Se a Guilda em questão falar de problemas sensíveis, é respeitoso colocar um aviso no início da mensagem para seus/suas companheiros(as) Habiticianos(as)(exemplo \"Aviso: Referências a automutilação\") . Estes avisos podem ser caracterizados como aviso de gatilho ou notas de conteúdo e as Guildas podem ter suas próprias regras em adição a estas aqui. Se possível, por favor, uso markdown para realizar as quebras de linhas e esconder o texto potencialmente sensível. Assim, aqueles(as) que quiserem evitar o conteúdo, podem rolar a tela sem vê-lo. Ainda, a Equipe do Habitica e demais Moderadores(as) podem remover o material caso achem necessário.", + "commGuidePara035": "Se a Guilda em questão falar de problemas sensíveis, é respeitoso colocar um aviso para seus colegas Habiticianos (exemplo: \"Aviso: Referências a automutilação\") . Estes avisos podem ser caracterizados como aviso de gatilho ou notas de conteúdo e as Guildas podem ter suas próprias regras em adição a estas aqui. Ainda, a Equipe do Habitica pode remover o material caso achem necessário.", "commGuidePara036": "Além disso, o conteúdo sensível deve estar de acordo com o contexto – falar sobre suicídio em uma Guilda que luta contra a depressão faz sentido, mas pode ser inapropriado se o tema da Guilda for música. Se você encontrar alguém violando esta diretriz repetidamente, principalmente após mais de um aviso, por favor reporte as publicações e notifique nosso Gerente de Comunidade pelo e-mail: admin@habitica.com.", "commGuidePara037": "Nenhuma Guilda, seja ela Pública ou Privada, deve ser criada com o propósito de atacar qualquer grupo ou indivíduo. O descumprimento desta regra com a criação deste tipo de Guilda é tratado com banimento imediato.Combate maus hábitos, não seus colegas!", "commGuidePara038": "Todos os Desafios da Taverna e das Guildas Públicas também são regulados por essas regras e deverão cumprir-las.", "commGuideHeadingInfractionsEtc": "Infrações, Consequências e Restauração", "commGuideHeadingInfractions": "Infrações", - "commGuidePara050": "Em sua imensa maioria, Habiticanos auxiliam uns aos outros, são respeitosos e trabalham para manter toda a comunidade divertida e amigável. Contudo, de vez em quando, algo que um Habiticano faz pode violar uma das diretrizes acima. Quando isso ocorre, os Moderadores tomarão as medidas que considerarem necessárias para manter Habitica segura e confortável para todos.", - "commGuidePara051": "Há uma variedade de infrações e elas são tratadas de acordo com sua severidade. Estas listas não são conclusivas e Moderadores possuem o poder de arbítrio inclusive em tópicos aqui não cobertos. Moderadores levarão contexto em consideração ao avaliar infrações.", + "commGuidePara050": "Em sua imensa maioria, Habiticanos auxiliam uns aos outros, são respeitosos e trabalham para manter toda a comunidade divertida e amigável. Contudo, de vez em quando, algo que um Habiticano faz pode violar uma das diretrizes acima. Quando isso ocorre, a Equipe tomará as medidas que considerarem necessárias para manter Habitica seguro e confortável para todos.", + "commGuidePara051": "Há uma variedade de infrações e elas são tratadas de acordo com sua severidade. Estas listas não são conclusivas e a Equipe possui o poder de arbítrio inclusive em tópicos aqui não cobertos. A Equipe levará o contexto em consideração ao avaliar infrações.", "commGuideHeadingSevereInfractions": "Infrações Severas", "commGuidePara052": "Infrações Severas causam grande dano à segurança da comunidade de Habitica e seus usuários e, portanto, tem consequências severas.", "commGuidePara053": "Estes são alguns exemplos de Infrações Severas. ATENÇÃO: Esta lista não pretende ser abrangente e ações aqui não descritas podem resultar em infrações a critério da Equipe e Moderação.", "commGuideList05A": "Violação dos Termos e Condições de Uso", "commGuideList05B": "Discurso/Imagens de Ódio, Assédio/Perseguição, Cyber-Bullying, Discussões Inflamadas, e \"Trolling\"", "commGuideList05C": "Violação da Condicional", - "commGuideList05D": "Passar-se por um membro da Equipe ou por um dos Moderadores do Habitica – isto inclui dizer que espaços criados por usuários não afiliados ao Habitica são oficiais e/ou que são moderados pelo Habitica ou pela sua Equipe/Moderadores", + "commGuideList05D": "Passar-se por um membro da Equipe – isto inclui dizer que espaços criados por usuários não afiliados ao Habitica são oficiais e/ou que são moderados pelo Habitica ou pela sua Equipe", "commGuideList05E": "Repetidas infrações moderadas", "commGuideList05F": "Criação de uma conta dupla para evitar consequências (por exemplo, fazer uma nova conta para entrar no chat após ter seus privilégios de chat revogados)", - "commGuideList05G": "Enganar intencionalmente a Equipe ou Moderadores em ordem de evitar consequências ou colocar outro usuário em problemas", + "commGuideList05G": "Enganar intencionalmente a Equipe em ordem de evitar consequências ou colocar outro usuário em problemas", "commGuideHeadingModerateInfractions": "Infrações moderadas", "commGuidePara054": "Infrações moderadas não tornam nossa comunidade perigosa, mas a tornam desagradável. Essas infrações terão consequências moderadas. Quando em conjunto com múltiplas infrações, as consequências podem ter sua severidade aumentada.", "commGuidePara055": "Eis alguns exemplos de Infrações Moderadas. Esta não é uma lista completa.", - "commGuideList06A": "Ignorar, desrespeitar ou discutir com um Moderador. Isso inclui reclamar publicamente de moderadores ou outros usuários, glorificar ou defender usuários banidos ou debater se a ação da Moderação foi apropiada. Se você está preocupado com uma das regras ou o comportamento dos Moderadores, favor entrar em contato com a Equipe pelo e-mail (admin@habitica.com).", + "commGuideList06A": "Ignorar, desrespeitar ou discutir com a Equipe. Isso inclui reclamar publicamente da Equipe ou outros usuários, glorificar ou defender usuários banidos ou debater se a ação da Equipe foi apropriada. Se você está preocupado com uma das regras ou o comportamento da Equipe, por favor entre em contato pelo e-mail (admin@habitica.com).", "commGuideList06B": "Bancar de Justiceiro. Esta é importante clarificar: Uma menção amigável das regras é aceitável. Bancar o Justiceiro consiste em dizer, demandar ou seriamente implicar que alguém deve tomar uma providência que você considera como correção de um erro. Você pode alertar alguém para o fato dele ter cometido uma transgressão, mas por favor não exija uma providência - por exemplo, dizer \"Só para você saber, profanidades são desencorajadas na Taverna, então você pode querer deletar isso\" seria melhor que dizer, \"Eu vou ter que pedir para que delete esta mensagem\"", "commGuideList06C": "Reportar postagens inocentes intencionalmente.", "commGuideList06D": "Violar Repetidamente as Diretrizes de Espaço Público", @@ -61,12 +61,12 @@ "commGuidePara056": "Infrações Leves, apesar de desencorajadas, tem também consequências pequenas. Se elas continuarem a ocorrer, podem levar à consequências mais severas com o passar do tempo.", "commGuidePara057": "Estes são alguns exemplos de Infrações Leves. Esta não é uma lista completa.", "commGuideList07A": "Primeira violação das Diretrizes de Espaço Publico", - "commGuideList07B": "Qualquer forma de expressão ou ação que leve um Moderador a lhe dizer \"Por favor, pare com isso\". Quando algum Moderador te pedir para deixar de fazer algo publicamente, isso por si só já pode ser considerado como uma pequena advertência. Se os Moderadores tiverem que continuar enviando alertas deste tipo para a mesma pessoa, isso pode ocasionar em uma infração mais severa", + "commGuideList07B": "Qualquer forma de expressão ou ação que leve um membro da Equipe a lhe dizer \"Por favor, pare com isso\". Quando alguém da Equipe te pedir para deixar de fazer algo publicamente, isso por si só já pode ser considerado como uma pequena advertência. Se a Equipe tiver que continuar enviando alertas deste tipo para a mesma pessoa, isso pode ocasionar em uma infração mais severa", "commGuidePara057A": "Algumas postagem podem ser ocultadas por conter informações sensíveis ou por serem mal interpretadas. Tipicamente, isto não conta como Infração, principalmente se for a primeira vez que ocorre!", "commGuideHeadingConsequences": "Consequências", "commGuidePara058": "No Habitica -- como na vida real -- cada ação tem uma consequência, seja ficar em forma porque você tem corrido, seja ficar com cáries porque você tem comido muito açúcar, ou seja passar de ano porque você tem estudado.", "commGuidePara059": "Similarmente, todas infrações tem consequências diretas.Alguns exemplos de consequências estão listados abaixo.", - "commGuidePara060": "Caso a sua infração tiver uma consequência moderada ou severa, um membro da Equipe ou Moderador postará no fórum no qual a infração ocorreu explicando:", + "commGuidePara060": "Caso a sua infração tiver uma consequência moderada ou severa, se for apropriado, um membro da Equipe postará no fórum no qual a infração ocorreu explicando:", "commGuideList08A": "qual foi sua infração", "commGuideList08B": "qual é a consequência", "commGuideList08C": "o que fazer para corrigir a situação e restaurar seu status, se possível.", @@ -77,7 +77,7 @@ "commGuideList09C": "Permanentemente desabilitar (\"congelar\") progressão dos Níveis de Contribuidor", "commGuideHeadingModerateConsequences": "Exemplos de consequências moderadas", "commGuideList10A": "Privilégios de chat privado e/ou público restringidos", - "commGuideList10A1": "Se as suas ações resultaram na revogação de seus privilégios no chat, um Moderador ou membro da Equipe irá enviá-lo uma DM e/ou postar no fórum no qual você foi silenciado para notificá-lo sobre a razão do seu silenciamento e a duração do tempo pelo qual você será silenciado e/ou a ação necessária para a sua reintegração. Você será reintegrado se cumprir educadamente com as ações exigidas e concordar em cumprir as Diretrizes da Comunidade e os Termos de Serviço", + "commGuideList10A1": "Se as suas ações resultaram na revogação de seus privilégios no chat, você deve enviar um e-mail para admin@habitica.com. Você pode ser reintegrado a critério da Equipe se cumprir educadamente com as ações exigidas e concordar em cumprir as Diretrizes da Comunidade e os Termos de Serviço", "commGuideList10C": "Privilégios de criação de Guilda/Desafios restringidos", "commGuideList10D": "Temporariamente desabilitar (\"congelar\") progressão dos Níveis de Contribuidor", "commGuideList10E": "Rebaixamento de Nível de Contribuidor", @@ -86,15 +86,15 @@ "commGuideList11A": "Lembretes a respeito das Diretrizes do Espaço Público", "commGuideList11B": "Avisos", "commGuideList11C": "Pedidos", - "commGuideList11D": "Exclusões (Moderadores/Equipe podem deletar conteúdo problemático)", - "commGuideList11E": "Edições (Moderadoress/Equipe podem editar conteúdo problemático)", + "commGuideList11D": "Exclusões (a Equipe pode deletar conteúdo problemático)", + "commGuideList11E": "Edições (a Equipe podem editar conteúdo problemático)", "commGuideHeadingRestoration": "Restauração", "commGuidePara061": "Habitica é uma terra devotada ao desenvolvimento pessoal e nós acreditamos em segundas chances. Se você cometeu uma infração e recebeu uma consequência, veja isso como uma chance para avaliar suas ações e empenhar-se em ser um membro melhor na comunidade. .", "commGuidePara062": "O anúncio, mensagem ou e-mail que você receber lhe explicando as consequências das suas ações é uma boa fonte de informação. Coopere com quaisquer restrições que lhe tenham sido impostas e empenhe-se para atender aos requerimentos para ter sua penalidade removida.", - "commGuidePara063": "Se não for claro as suas consequências ou não entender a natureza da sua infração, pergunte para a Equipe ou à Moderação como você pode evitar infrações no futuro. Caso sinta que uma decisão em especial foi injusta, você pode argumentar com a Equipe no email admin@habitica.com.", - "commGuideHeadingMeet": "Conheça a Equipe e os Moderadores!", + "commGuidePara063": "Se não for claro as suas consequências ou não entender a natureza da sua infração, pergunte para a Equipe como você pode evitar infrações no futuro. Caso sinta que uma decisão em especial foi injusta, você pode argumentar com a Equipe no email admin@habitica.com.", + "commGuideHeadingMeet": "Conheça a Equipe", "commGuidePara006": "O Habitica possui alguns cavaleiros incansáveis que unem forças com os membros da Equipe para manter a comunidade calma, entretida e livre de trolls. Cada um possui um domínio específico mas poderão ser chamados para servir em outras esferas sociais.", - "commGuidePara007": "A Equipe tem etiquetas roxas marcadas com coroas. O título deles é \"Heroico\".", + "commGuidePara007": "A Equipe do Habitica mantém os aplicativos e sites funcionando e podem agir como moderadores do chat. Têm etiquetas roxas marcadas com coroas. O título deles é \"Heróico\".", "commGuidePara008": "Moderadores têm etiquetas azuis escuras marcadas com estrelas. Eles têm o título de \"Guardião\".", "commGuidePara009": "Os atuais Membros da Equipe são (da esquerda para a direita):", "commGuideAKA": "<%= habitName %> também conhecido(a) como <%= realName %>", @@ -124,10 +124,11 @@ "commGuideList01A": "Termos & Condições se aplicam a todos os espaços, incluindo guildas privadas, o bate-papo do grupo e mensagens.", "commGuideList01B": "Proibido: Qualquer comunicação que seja violenta, ameaçadora, que promova discriminação, etc. Isso inclui memes, imagens e piadas.", "commGuideList01C": "Todas as discussões devem ser apropriadas para todas as idades e livres de profanação.", - "commGuideList01D": "Por favor, atenda aos pedidos dos moderadores.", - "commGuideList01E": "Não instigue ou participe de conversas contenciosas na Taverna.", + "commGuideList01D": "Por favor, atenda aos pedidos da Equipe.", + "commGuideList01E": "Não instigue ou participe de conversas contenciosas na Taverna.", "commGuideList01F": "Não peça a outros jogadores por itens pagos, evite fazer spam ou enviar textos demasiadamente chamativos/em caixa alta.", "commGuideList02M": "Não peça por gemas, assinaturas ou a participação em planos de Time pagos. Isto não é permitido na Taverna, em espaços de bate-papo públicos/privados, ou em mensagens diretas. Se você receber mensagens de um usuário pedindo por itens pagos, você pode denunciá-lo reportando as mensagens. Continuar insistindo neste tipo de prática, especialmente após um primeiro aviso, pode resultar no banimento da conta.", "commGuideList09D": "Remoção ou rebaixamento de Níveis de Contribuidor", - "commGuideList05H": "Tentativas de fraudar ou pressionar outros jogadores a fornecerem itens que são comprados com dinheiro real" + "commGuideList05H": "Tentativas de fraudar ou pressionar outros jogadores a fornecerem itens que são comprados com dinheiro real", + "commGuideList02N": "Sinalize e reporte postagens que quebram essas Diretrizes ou os Termos de Serviço. Iremos lidar com elas o mais rápido possível. Você também pode notificar a equipe via admin@habitica.com mas marcar as postagens é a maneira mais rápida de pedir ajuda." } diff --git a/website/common/locales/pt_BR/content.json b/website/common/locales/pt_BR/content.json index 3ef336d57f..4a8a028b04 100644 --- a/website/common/locales/pt_BR/content.json +++ b/website/common/locales/pt_BR/content.json @@ -372,5 +372,7 @@ "hatchingPotionSolarSystem": "do Sistema Solar", "hatchingPotionOnyx": "Ônix", "hatchingPotionVirtualPet": "Mascote Virtual", - "hatchingPotionPorcelain": "de Porcelana" + "hatchingPotionPorcelain": "de Porcelana", + "hatchingPotionPinkMarble": "Mármore Rosa", + "hatchingPotionTeaShop": "Loja de Chá" } diff --git a/website/common/locales/pt_BR/faq.json b/website/common/locales/pt_BR/faq.json index 7ba4329aa0..3887bc7aae 100644 --- a/website/common/locales/pt_BR/faq.json +++ b/website/common/locales/pt_BR/faq.json @@ -58,5 +58,51 @@ "faqQuestion13": "O que é Plano de Time?", "webFaqAnswer13": "## Como Planos de Time funcionam?\n\nUm [Plano de Time](/group-plans) dá acesso a um quadro compartilhado de tarefas para seu Grupo ou Guilda, similar ao seu quadro de tarefas pessoal! É experienciar o Habitica compartilhado, onde tarefas podem ser criadas e feitas por qualquer um do time.\n\nHá também funcionalidades disponíveis, como cargos para membros, visualizar estado e atribuição de tarefas, proporcionando uma experiência mais controlada. [Visite nossa wiki](https://habitica.fandom.com/wiki/Group_Plans) para saber mais sobre as funcionalidades dos Planos de Time!\n\n## Para quem se destina um Plano de Time?\n\nPlanos de Time funcionam melhor em times pequenos, com poucas pessoas que desejam colaborar juntos. Recomendamos de 2 até 5 membros.\n\nPlanos de Time são ótimos para famílias, seja pais e filhos ou cônjuges. Objetivos compartilhados, tarefas ou responsabilidades são fáceis de monitorar no quadro.\n\nPlanos de Time também podem ser úteis para equipes de colegas que possuem objetivos compartilhados ou empresários que desejam apresentar a gamificação aos seus funcionários.\n\n## Dicas rápidas ao usar Planos\n\nAqui estão algumas dicas para começar em seu novo Time. Vamos providenciar mais detalhes nas seguintes seções:\n\n* Torne alguém administrador para que possa criar e editar tarefas\n* Deixe tarefas sem atribuição se qualquer um pode completá-la e apenas precisa ser feita uma vez\n* Atribua uma tarefa para alguém para que ninguém mais possa fazê-la\n* Atribua uma tarefa para várias pessoas se todas elas precisam fazê-la\n* Alterne entre a possibilidade de mostrar e ocultar tarefas compartilhadas em seu quadro pessoal para não perder nada\n* Você recebe recompensas por tarefas feitas, mesmo se houver múltiplas atribuições\n* Recompensas por completar tarefas não são compartilhadas ou divididas entre membros do Time\n* Use a cor da tarefa no quadro do time para avaliar a taxa média de conclusão das tarefas\n* Revise regularmente as tarefas no seu Quadro de Time para garantir que ainda são relevantes\n* Não fazer uma Tarefa não irá causar dano em ninguém, porém a tarefa ficará com cor mais clara\n\n## Como os outros do time podem criar tarefas?\n\nApenas o líder do grupo e administradores podem criar tarefas. Se você quiser que um membro do grupo crie tarefas, então deve torná-lo administrador indo na aba de Informações do Time, na lista de membros e clicando no ícone perto dos nomes.\n\n## Como funciona a atribuição de tarefas?\n\nPlanos de Time possibilitam atribuir tarefas a outros membros do time. Atribuir uma tarefa é ótimo para delegar. Se você atribuir uma tarefa a alguém, então outros membros não poderão completá-la.\n\nVocê também pode atribuir uma tarefa para várias pessoas se ela precisar ser feita por mais do que um membro. Por exemplo, se todos devem escovar os dentes, crie uma tarefa e atribua para cada membro do time. Todos irão poder completar e receber suas recompensas individuais. A tarefa principal irá aparecer como feita uma vez que todos concluírem.\n\n## Como tarefas não atribuídas funcionam?\n\nTarefas não atribuídas podem ser feitas por qualquer um do time, então não coloque atribuição em uma tarefa para que qualquer membro possa fazê-la. Por exemplo, retirar o lixo. Qualquer pessoa que retirar o lixo poderá marcá-la e a tarefa aparecerá como feita para todos.\n\n## Como a reinicialização compartilhada do dia funciona?\n\nTarefas compartilhadas irão reiniciar ao mesmo tempo para todos, mantendo o quadro sincronizado. O tempo fica visível no quadro compartilhado de tarefas e é determinado pelo horário de início de um novo dia do líder. Por causa que as tarefas compartilhadas reiniciam automaticamente, você não terá chance de completar Diárias compartilhadas do dia anterior, quando você entrar na manhã seguinte.\n\nDiárias compartilhadas não causarão dano se não forem feitas, porém sua cor irá clarear, para visualização de progresso. Não queremos que a experiência compartilhada seja negativa!\n\n## Como uso meu Time no aplicativo?\n\nNão há suporte ainda para todas as funcionalidades do Plano de Time no aplicativo, mas você ainda pode completar tarefas compartilhadas a partir do aplicativo para iOS e Android copiando as tarefas pata seu quadro de tarefas pessoal. Você pode mudar essa preferência nas Configurações nos aplicativos móveis ou a partir do quadro de tarefas do time pelo site. Agora todas as tarefas compartilhadas abertas e atribuídas irão aparecer em seu quadro pessoal de tarefas em todas as plataformas.\n\n## Qual a diferença entre tarefas compartilhadas de Time e Desafios?\n\nQuadros compartilhados de tarefas são mais dinâmicos que Desafios, podem ser interagidos e atualizados constantemente. Desafios são ótimos quando você possui um conjunto de tarefas que deseja enviar para várias pessoas.\n\nPlanos de Time também são uma funcionalidade paga, enquanto que Desafios estão disponíveis gratuitamente para todos.\n\nVocê não pode atribuir tarefas específicas em Desafios e Desafios não possuem reinicio compartilhado. Em geral, Desafios oferecem menos controle direto e interação.", "iosFaqAnswer13": "## Como Planos de Time funcionam?\n\nUm [Plano de Time](/group-plans) dá acesso a um quadro compartilhado de tarefas para seu Grupo ou Guilda, similar ao seu quadro de tarefas pessoal! É experienciar o Habitica compartilhado, onde tarefas podem ser criadas e feitas por qualquer um do time.\n\nHá também funcionalidades disponíveis, como cargos para membros, visualizar estado e atribuição de tarefas, proporcionando uma experiência mais controlada. [Visite nossa wiki](https://habitica.fandom.com/wiki/Group_Plans) para saber mais sobre as funcionalidades dos Planos de Time!\n\n## Para quem se destina um Plano de Time?\n\nPlanos de Time funcionam melhor em times pequenos, com poucas pessoas que desejam colaborar juntos. Recomendamos de 2 até 5 membros.\n\nPlanos de Time são ótimos para famílias, seja pais e filhos ou cônjuges. Objetivos compartilhados, tarefas ou responsabilidades são fáceis de monitorar no quadro.\n\nPlanos de Time também podem ser úteis para equipes de colegas que possuem objetivos compartilhados ou empresários que desejam apresentar a gamificação aos seus funcionários.\n\n## Dicas rápidas ao usar Planos\n\nAqui estão algumas dicas para começar em seu novo Time. Vamos providenciar mais detalhes nas seguintes seções:\n\n* Torne alguém administrador para que possa criar e editar tarefas\n* Deixe tarefas sem atribuição se qualquer um pode completá-la e apenas precisa ser feita uma vez\n* Atribua uma tarefa para alguém para que ninguém mais possa fazê-la\n* Atribua uma tarefa para várias pessoas se todas elas precisam fazê-la\n* Alterne entre a possibilidade de mostrar e ocultar tarefas compartilhadas em seu quadro pessoal para não perder nada\n* Você recebe recompensas por tarefas feitas, mesmo se houver múltiplas atribuições\n* Recompensas por completar tarefas não são compartilhadas ou divididas entre membros do Time\n* Use a cor da tarefa no quadro do time para avaliar a taxa média de conclusão das tarefas\n* Revise regularmente as tarefas no seu Quadro de Time para garantir que ainda são relevantes\n* Não fazer uma Tarefa não irá causar dano em ninguém, porém a tarefa ficará com cor mais clara\n\n## Como os outros do time podem criar tarefas?\n\nApenas o líder do grupo e administradores podem criar tarefas. Se você quiser que um membro do grupo crie tarefas, então deve torná-lo administrador indo na aba de Informações do Time, na lista de membros e clicando no ícone perto dos nomes.\n\n## Como funciona a atribuição de tarefas?\n\nPlanos de Time possibilitam atribuir tarefas a outros membros do time. Atribuir uma tarefa é ótimo para delegar. Se você atribuir uma tarefa a alguém, então outros membros não poderão completá-la.\n\nVocê também pode atribuir uma tarefa para várias pessoas se ela precisar ser feita por mais do que um membro. Por exemplo, se todos devem escovar os dentes, crie uma tarefa e atribua para cada membro do time. Todos irão poder completar e receber suas recompensas individuais. A tarefa principal irá aparecer como feita uma vez que todos concluírem.\n\n## Como tarefas não atribuídas funcionam?\n\nTarefas não atribuídas podem ser feitas por qualquer um do time, então não coloque atribuição em uma tarefa para que qualquer membro possa fazê-la. Por exemplo, retirar o lixo. Qualquer pessoa que retirar o lixo poderá marcá-la e a tarefa aparecerá como feita para todos.\n\n## Como a reinicialização compartilhada do dia funciona?\n\nTarefas compartilhadas irão reiniciar ao mesmo tempo para todos, mantendo o quadro sincronizado. O tempo fica visível no quadro compartilhado de tarefas e é determinado pelo horário de início de um novo dia do líder. Por causa que as tarefas compartilhadas reiniciam automaticamente, você não terá chance de completar Diárias compartilhadas do dia anterior, quando você entrar na manhã seguinte.\n\nDiárias compartilhadas não causarão dano se não forem feitas, porém sua cor irá clarear, para visualização de progresso. Não queremos que a experiência compartilhada seja negativa!\n\n## Como uso meu Time no aplicativo?\n\nNão há suporte ainda para todas as funcionalidades do Plano de Time no aplicativo, mas você ainda pode completar tarefas compartilhadas a partir do aplicativo para iOS e Android copiando as tarefas pata seu quadro de tarefas pessoal. Você pode mudar essa preferência nas Configurações nos aplicativos móveis ou a partir do quadro de tarefas do time pelo site. Agora todas as tarefas compartilhadas abertas e atribuídas irão aparecer em seu quadro pessoal de tarefas em todas as plataformas.\n\n## Qual a diferença entre tarefas compartilhadas de Time e Desafios?\n\nQuadros compartilhados de tarefas são mais dinâmicos que Desafios, podem ser interagidos e atualizados constantemente. Desafios são ótimos quando você possui um conjunto de tarefas que deseja enviar para várias pessoas.\n\nPlanos de Time também são uma funcionalidade paga, enquanto que Desafios estão disponíveis gratuitamente para todos.\n\nVocê não pode atribuir tarefas específicas em Desafios e Desafios não possuem reinicio compartilhado. Em geral, Desafios oferecem menos controle direto e interação.", - "androidFaqAnswer13": "## Como Planos de Time funcionam?\n\nUm [Plano de Time](/group-plans) dá acesso a um quadro compartilhado de tarefas para seu Grupo ou Guilda, similar ao seu quadro de tarefas pessoal! É experienciar o Habitica compartilhado, onde tarefas podem ser criadas e feitas por qualquer um do time.\n\nHá também funcionalidades disponíveis, como cargos para membros, visualizar estado e atribuição de tarefas, proporcionando uma experiência mais controlada. [Visite nossa wiki](https://habitica.fandom.com/wiki/Group_Plans) para saber mais sobre as funcionalidades dos Planos de Time!\n\n## Para quem se destina um Plano de Time?\n\nPlanos de Time funcionam melhor em times pequenos, com poucas pessoas que desejam colaborar juntos. Recomendamos de 2 até 5 membros.\n\nPlanos de Time são ótimos para famílias, seja pais e filhos ou cônjuges. Objetivos compartilhados, tarefas ou responsabilidades são fáceis de monitorar no quadro.\n\nPlanos de Time também podem ser úteis para equipes de colegas que possuem objetivos compartilhados ou empresários que desejam apresentar a gamificação aos seus funcionários.\n\n## Dicas rápidas ao usar Planos\n\nAqui estão algumas dicas para começar em seu novo Time. Vamos providenciar mais detalhes nas seguintes seções:\n\n* Torne alguém administrador para que possa criar e editar tarefas\n* Deixe tarefas sem atribuição se qualquer um pode completá-la e apenas precisa ser feita uma vez\n* Atribua uma tarefa para alguém para que ninguém mais possa fazê-la\n* Atribua uma tarefa para várias pessoas se todas elas precisam fazê-la\n* Alterne entre a possibilidade de mostrar e ocultar tarefas compartilhadas em seu quadro pessoal para não perder nada\n* Você recebe recompensas por tarefas feitas, mesmo se houver múltiplas atribuições\n* Recompensas por completar tarefas não são compartilhadas ou divididas entre membros do Time\n* Use a cor da tarefa no quadro do time para avaliar a taxa média de conclusão das tarefas\n* Revise regularmente as tarefas no seu Quadro de Time para garantir que ainda são relevantes\n* Não fazer uma Tarefa não irá causar dano em ninguém, porém a tarefa ficará com cor mais clara\n\n## Como os outros do time podem criar tarefas?\n\nApenas o líder do grupo e administradores podem criar tarefas. Se você quiser que um membro do grupo crie tarefas, então deve torná-lo administrador indo na aba de Informações do Time, na lista de membros e clicando no ícone perto dos nomes.\n\n## Como funciona a atribuição de tarefas?\n\nPlanos de Time possibilitam atribuir tarefas a outros membros do time. Atribuir uma tarefa é ótimo para delegar. Se você atribuir uma tarefa a alguém, então outros membros não poderão completá-la.\n\nVocê também pode atribuir uma tarefa para várias pessoas se ela precisar ser feita por mais do que um membro. Por exemplo, se todos devem escovar os dentes, crie uma tarefa e atribua para cada membro do time. Todos irão poder completar e receber suas recompensas individuais. A tarefa principal irá aparecer como feita uma vez que todos concluírem.\n\n## Como tarefas não atribuídas funcionam?\n\nTarefas não atribuídas podem ser feitas por qualquer um do time, então não coloque atribuição em uma tarefa para que qualquer membro possa fazê-la. Por exemplo, retirar o lixo. Qualquer pessoa que retirar o lixo poderá marcá-la e a tarefa aparecerá como feita para todos.\n\n## Como a reinicialização compartilhada do dia funciona?\n\nTarefas compartilhadas irão reiniciar ao mesmo tempo para todos, mantendo o quadro sincronizado. O tempo fica visível no quadro compartilhado de tarefas e é determinado pelo horário de início de um novo dia do líder. Por causa que as tarefas compartilhadas reiniciam automaticamente, você não terá chance de completar Diárias compartilhadas do dia anterior, quando você entrar na manhã seguinte.\n\nDiárias compartilhadas não causarão dano se não forem feitas, porém sua cor irá clarear, para visualização de progresso. Não queremos que a experiência compartilhada seja negativa!\n\n## Como uso meu Time no aplicativo?\n\nNão há suporte ainda para todas as funcionalidades do Plano de Time no aplicativo, mas você ainda pode completar tarefas compartilhadas a partir do aplicativo para iOS e Android copiando as tarefas pata seu quadro de tarefas pessoal. Você pode mudar essa preferência nas Configurações nos aplicativos móveis ou a partir do quadro de tarefas do time pelo site. Agora todas as tarefas compartilhadas abertas e atribuídas irão aparecer em seu quadro pessoal de tarefas em todas as plataformas.\n\n## Qual a diferença entre tarefas compartilhadas de Time e Desafios?\n\nQuadros compartilhados de tarefas são mais dinâmicos que Desafios, podem ser interagidos e atualizados constantemente. Desafios são ótimos quando você possui um conjunto de tarefas que deseja enviar para várias pessoas.\n\nPlanos de Time também são uma funcionalidade paga, enquanto que Desafios estão disponíveis gratuitamente para todos.\n\nVocê não pode atribuir tarefas específicas em Desafios e Desafios não possuem reinicio compartilhado. Em geral, Desafios oferecem menos controle direto e interação." + "androidFaqAnswer13": "## Como Planos de Time funcionam?\n\nUm [Plano de Time](/group-plans) dá acesso a um quadro compartilhado de tarefas para seu Grupo ou Guilda, similar ao seu quadro de tarefas pessoal! É experienciar o Habitica compartilhado, onde tarefas podem ser criadas e feitas por qualquer um do time.\n\nHá também funcionalidades disponíveis, como cargos para membros, visualizar estado e atribuição de tarefas, proporcionando uma experiência mais controlada. [Visite nossa wiki](https://habitica.fandom.com/wiki/Group_Plans) para saber mais sobre as funcionalidades dos Planos de Time!\n\n## Para quem se destina um Plano de Time?\n\nPlanos de Time funcionam melhor em times pequenos, com poucas pessoas que desejam colaborar juntos. Recomendamos de 2 até 5 membros.\n\nPlanos de Time são ótimos para famílias, seja pais e filhos ou cônjuges. Objetivos compartilhados, tarefas ou responsabilidades são fáceis de monitorar no quadro.\n\nPlanos de Time também podem ser úteis para equipes de colegas que possuem objetivos compartilhados ou empresários que desejam apresentar a gamificação aos seus funcionários.\n\n## Dicas rápidas ao usar Planos\n\nAqui estão algumas dicas para começar em seu novo Time. Vamos providenciar mais detalhes nas seguintes seções:\n\n* Torne alguém administrador para que possa criar e editar tarefas\n* Deixe tarefas sem atribuição se qualquer um pode completá-la e apenas precisa ser feita uma vez\n* Atribua uma tarefa para alguém para que ninguém mais possa fazê-la\n* Atribua uma tarefa para várias pessoas se todas elas precisam fazê-la\n* Alterne entre a possibilidade de mostrar e ocultar tarefas compartilhadas em seu quadro pessoal para não perder nada\n* Você recebe recompensas por tarefas feitas, mesmo se houver múltiplas atribuições\n* Recompensas por completar tarefas não são compartilhadas ou divididas entre membros do Time\n* Use a cor da tarefa no quadro do time para avaliar a taxa média de conclusão das tarefas\n* Revise regularmente as tarefas no seu Quadro de Time para garantir que ainda são relevantes\n* Não fazer uma Tarefa não irá causar dano em ninguém, porém a tarefa ficará com cor mais clara\n\n## Como os outros do time podem criar tarefas?\n\nApenas o líder do grupo e administradores podem criar tarefas. Se você quiser que um membro do grupo crie tarefas, então deve torná-lo administrador indo na aba de Informações do Time, na lista de membros e clicando no ícone perto dos nomes.\n\n## Como funciona a atribuição de tarefas?\n\nPlanos de Time possibilitam atribuir tarefas a outros membros do time. Atribuir uma tarefa é ótimo para delegar. Se você atribuir uma tarefa a alguém, então outros membros não poderão completá-la.\n\nVocê também pode atribuir uma tarefa para várias pessoas se ela precisar ser feita por mais do que um membro. Por exemplo, se todos devem escovar os dentes, crie uma tarefa e atribua para cada membro do time. Todos irão poder completar e receber suas recompensas individuais. A tarefa principal irá aparecer como feita uma vez que todos concluírem.\n\n## Como tarefas não atribuídas funcionam?\n\nTarefas não atribuídas podem ser feitas por qualquer um do time, então não coloque atribuição em uma tarefa para que qualquer membro possa fazê-la. Por exemplo, retirar o lixo. Qualquer pessoa que retirar o lixo poderá marcá-la e a tarefa aparecerá como feita para todos.\n\n## Como a reinicialização compartilhada do dia funciona?\n\nTarefas compartilhadas irão reiniciar ao mesmo tempo para todos, mantendo o quadro sincronizado. O tempo fica visível no quadro compartilhado de tarefas e é determinado pelo horário de início de um novo dia do líder. Por causa que as tarefas compartilhadas reiniciam automaticamente, você não terá chance de completar Diárias compartilhadas do dia anterior, quando você entrar na manhã seguinte.\n\nDiárias compartilhadas não causarão dano se não forem feitas, porém sua cor irá clarear, para visualização de progresso. Não queremos que a experiência compartilhada seja negativa!\n\n## Como uso meu Time no aplicativo?\n\nNão há suporte ainda para todas as funcionalidades do Plano de Time no aplicativo, mas você ainda pode completar tarefas compartilhadas a partir do aplicativo para iOS e Android copiando as tarefas pata seu quadro de tarefas pessoal. Você pode mudar essa preferência nas Configurações nos aplicativos móveis ou a partir do quadro de tarefas do time pelo site. Agora todas as tarefas compartilhadas abertas e atribuídas irão aparecer em seu quadro pessoal de tarefas em todas as plataformas.\n\n## Qual a diferença entre tarefas compartilhadas de Time e Desafios?\n\nQuadros compartilhados de tarefas são mais dinâmicos que Desafios, podem ser interagidos e atualizados constantemente. Desafios são ótimos quando você possui um conjunto de tarefas que deseja enviar para várias pessoas.\n\nPlanos de Time também são uma funcionalidade paga, enquanto que Desafios estão disponíveis gratuitamente para todos.\n\nVocê não pode atribuir tarefas específicas em Desafios e Desafios não possuem reinicio compartilhado. Em geral, Desafios oferecem menos controle direto e interação.", + "webFaqAnswer14": "Se você quer a experiência de Habitica compartilhada porém não conhece outros jogadores, procurar por um Grupo é sua melhor opção! Se você já conhece outros jogadores que tenham um grupo, você pode compartilhar seu @nome_de_usuario para que seja convidado. Ou também, você pode criar um novo grupo e convidá-los com @nome_de_usuario ou pelo endereço de e-mail.\n\nPara criar ou procurar um grupo, selecione \"Grupo\" pelo menu de navegação que contenha a opção que funcione para você.", + "iosFaqAnswer15": "Após selecionar \"Escolha um Grupo\", você pode adicionar lista de jogadores que quer adicionar à seu grupo. Líderes de um grupo podem ser essas listas e mandar convites. Após você receber um convite, você pode selecioná-lo de suas notificações.\n\nVocê pode obter multiplos convites para vários Grupos. Porém, só pode ser membro de um de cada vez.", + "iosFaqAnswer16": "Você permanecerá na lista até que você aceite o convite para um Grupo ou não faça login por 7 dias, o que vier primeiro. Se você fizer login depois de estar inativo por 7 dias, iremos automaticamente adicionar você à lista, contanto que você não tenha um convite pendente.", + "webFaqAnswer20": "Sim! Se você já tem o nome de usuário de um jogador do Habitica ou endereço de e-mail, você pode convidá-lo para entrar em seu Grupo. Saiba como enviar um convite pelas diferentes plataformas:\n\nPelo site do Habitica:\n\nVá até seu Grupo e clique em \"Convidar para o Grupo\" no lado direito da página.\n\nPelo aplicativo Android:\n\nPressione \"Grupo\" a partir do Menu. Role até a seção Membros, pressione \"Encontrar membros\" e depois pressione na aba \"Por convite\".\n\nPelo aplicativo iOS:\n\nPressione \"Grupo\" a partir do Menu. Role até a seção Membros e pressione em \"Convidar um membro\".", + "androidFaqAnswer16": "Você permanecerá na lista até que você aceite o convite para um Grupo ou não faça login por 7 dias, o que vier primeiro. Se você fizer login depois de estar inativo por 7 dias, iremos automaticamente adicionar você à lista, contanto que você não tenha um convite pendente.", + "iosFaqAnswer17": "Se você não quiser mais encontrar um Grupo, você pode parar de procurar a qualquer momento.\n\nPara parar de procurar por um grupo pelo site do Habitica:\n\n1. Selecione o link \"Grupo\" da opção de navegação.\n2. Clique \"Sair\" do pop-up.\n\nPara parar de procurar por um grupo pelo aplicativo Android:\n1. Pressione em \"Grupo\" do menu.\n2. Pressione \"Sair\" do fim da tela.", + "androidFaqAnswer17": "Se você não quiser mais encontrar um Grupo, você pode parar de procurar a qualquer momento.\n\nPara parar de procurar por um grupo pelo site do Habitica:\n\n1. Selecione o link \"Grupo\" da opção de navegação.\n2. Clique \"Sair\" do pop-up.\n\nPara parar de procurar por um grupo pelo aplicativo Android:\n1. Pressione em \"Grupo\" do menu.\n2. Pressione \"Sair\" do fim da tela.", + "androidFaqAnswer19": "Grupos tem um limite máximo de 30 membros e um mínimo de 1 membro. Convites pendentes contam como um membro. Por exemplo, 29 membros e 1 convite pendente iria ser contado como 30 membros. Para limpar um convite pendente, o jogador convidado deve aceitar ou negar, ou o líder do Grupo deve cancelar o convite.", + "webFaqAnswer19": "Grupos tem um limite máximo de 30 membros e um mínimo de 1 membro. Convites pendentes contam como um membro. Por exemplo, 29 membros e 1 convite pendente iria ser contado como 30 membros. Para limpar um convite pendente, o jogador convidado deve aceitar ou negar, ou o líder do Grupo deve cancelar o convite.", + "general": "Geral", + "parties": "Grupos", + "faqQuestion14": "Como encontro um Grupo se não estou participando de um?", + "faqQuestion15": "Como o procurar por um grupo funciona?", + "faqQuestion16": "Por quanto tempo estarei procurando por um Grupo depois de entrar na lista?", + "faqQuestion17": "Posso parar de procurar por um Grupo?", + "faqQuestion18": "Eu tenho um Grupo, como posso encontrar mais membros?", + "faqQuestion19": "Quantos membros posso convidar para meu Grupo?", + "faqQuestion20": "Posso convidar alguém que já conheço?", + "faqQuestion21": "Como cancelo um convite pendente do meu Grupo?", + "faqQuestion22": "Como posso parar com convites indesejados?", + "faqQuestion23": "Como posso filtrar a lista de membros que estão buscando por um Grupo?", + "faqQuestion24": "Como posso procurar por um Grupo pelo Android ou iOS?", + "androidFaqAnswer14": "Se você quer jogar Habitica em conjunto, mas não conhece outros jogadores, procurar um Grupo é sua melhor opção! Se você já conhece outros jogadores que possuem um Grupo, você pode compartilhar seu @nomedeusuario com eles para receber o convite. De modo alternativo, você pode criar um novo Grupo e enviar convites, tendo o @nomedeusuario ou endereço de e-mail dos convidados.\n\nPara criar ou procurar por um Grupo, selecione \"Grupo\" pelo menu de navegação e então escolha a melhor opção para você.", + "androidFaqAnswer15": "Depois de selecionar \"Procurar por um Grupo\", você será adicionado a uma lista de jogadores que querem entrar em um Grupo. Líderes de Grupo podem ver esta lista e enviar convites. Quando você receber um convite, você pode aceitá-lo a partir das notificações para entrar no Grupo que escolheu!\n\nVocê talvez receba vários convites de Grupos diferentes. Porém, você apenas pode ser membro de um Grupo por vez.", + "androidFaqAnswer18": "Se você está usando o site do Habitica, selecione \"Encontrar membros\" da opção Grupo. Se você está usando o aplicativo Android, pressione em \"Encontrar membros\" acima da lista de membros do seu Grupo. Assim, uma lista de jogadores que estão procurando por um Grupo será mostrada e estes podem ser convidados.\n\nPara encontrar um bom integrante para seu Grupo, você verá algumas informações, como idioma, classe, nível e por quantos dias esta pessoa usou o Habitica. Se você quiser conversar com alguém antes de mandar um convite, você pode ver o Perfil e mandar uma mensagem.", + "iosFaqAnswer20": "Sim! Se você já tem o nome de usuário de um jogador do Habitica ou endereço de e-mail, você pode convidá-lo para entrar em seu Grupo. Saiba como enviar um convite pelas diferentes plataformas:\n\nPelo site do Habitica:\n\nVá até seu Grupo e clique em \"Convidar para o Grupo\" no lado direito da página.\n\nPelo aplicativo Android:\n\nPressione \"Grupo\" a partir do Menu. Role até a seção Membros, pressione \"Encontrar membros\" e depois pressione na aba \"Por convite\".\n\nPelo aplicativo iOS:\n\nPressione \"Grupo\" a partir do Menu. Role até a seção Membros e pressione em \"Convidar um membro\".", + "iosFaqAnswer21": "Para cancelar um convite pendente pelo site do Habitica:\n\n1. Clique na lista de Membros estando em seu Grupo.\n2. Clique na aba \"Convites\".\n3. Clique nos três pontos ao lado do convite do usuário que deseja cancelar.\n4. Escolha \"Cancelar convite\"\n\nPara cancelar um convite pendente pelo aplicativo Android:\n\n1. Role até a lista de Membros estando em seu Grupo.\n2. No fim da lista, você verá seus convites pendentes.\n3. Pressione o botão \"Cancelar convite\".\n\nVocê também será capaz de cancelar um convite pendente a partir do aplicativo iOS em breve!", + "iosFaqAnswer22": "Quando você se juntar a um Grupo, você irá parar de receber convites. Se você quiser evitar convites e futuras mensagens de um jogador específico, abra o perfil dele e clique no botão de Bloquear. Em perfis acessados pelo celular, pressione os três pontos do canto superior, então selecione \"Bloquear\".\n\nSe você estiver em uma situação em que acredita que outro jogador quebrou nossas Diretrizes da Comunidade, seja por causa do nome de usuário, perfil ou uma mensagem enviada, por favor reporte qualquer mensagem ou entre em contato conosco via admin@habitica.com.", + "iosFaqAnswer24": "Adicionamos a possibilidade de procurar por um Grupo e encontrar membros para o Grupo na versão 4.2 do Android! Veja se seu aplicativo está atualizado na versão mais recente para conferir. Jogadores solo podem procurar por um Grupo a partir da tela Grupo quando não participam de um. Líderes de Grupo podem navegar pela lista de jogadores que estão procurando por um convite em \"Encontrar membros\" acima da lista de membros do seu Grupo.\n\nEsta funcionalidade estará em iOS na versão 3.8, então fique de olho!", + "webFaqAnswer24": "Adicionamos a possibilidade de procurar por um Grupo e encontrar membros para o Grupo na versão 4.2 do Android! Veja se seu aplicativo está atualizado na versão mais recente para conferir. Jogadores solo podem procurar por um Grupo a partir da tela Grupo quando não participam de um. Líderes de Grupo podem navegar pela lista de jogadores que estão procurando por um convite em \"Encontrar membros\" acima da lista de membros do seu Grupo.\n\nEsta funcionalidade estará em iOS na versão 3.8, então fique de olho!", + "iosFaqAnswer14": "Se você quer jogar Habitica em conjunto, mas não conhece outros jogadores, procurar um Grupo é sua melhor opção! Se você já conhece outros jogadores que possuem um Grupo, você pode compartilhar seu @nomedeusuario com eles para receber o convite. De modo alternativo, você pode criar um novo Grupo e enviar convites, tendo o @nomedeusuario ou endereço de e-mail dos convidados.\n\nPara criar ou procurar por um Grupo, selecione \"Grupo\" pelo menu de navegação e então escolha a melhor opção para você.", + "webFaqAnswer17": "Se você não quiser mais encontrar um Grupo, você pode parar de procurar a qualquer momento.\n\nPara parar de procurar por um grupo pelo site do Habitica:\n\n1. Selecione o link \"Grupo\" da opção de navegação.\n2. Clique \"Sair\" do pop-up.\n\nPara parar de procurar por um grupo pelo aplicativo Android:\n1. Pressione em \"Grupo\" do menu.\n2. Pressione \"Sair\" do fim da tela.", + "webFaqAnswer15": "Depois de selecionar \"Procurar por um Grupo\", você será adicionado a uma lista de jogadores que querem entrar em um Grupo. Líderes de Grupo podem ver esta lista e enviar convites. Quando você receber um convite, você pode aceitá-lo a partir das notificações para entrar no Grupo que escolheu!\n\nVocê talvez receba vários convites de Grupos diferentes. Porém, você apenas pode ser membro de um Grupo por vez.", + "iosFaqAnswer18": "Se você está usando o site do Habitica, selecione \"Encontrar membros\" da opção Grupo. Se você está usando o aplicativo Android, pressione em \"Encontrar membros\" acima da lista de membros do seu Grupo. Assim, uma lista de jogadores que estão procurando por um Grupo será mostrada e estes podem ser convidados.\n\nPara encontrar um bom integrante para seu Grupo, você verá algumas informações, como idioma, classe, nível e por quantos dias esta pessoa usou o Habitica. Se você quiser conversar com alguém antes de mandar um convite, você pode ver o Perfil e mandar uma mensagem.", + "webFaqAnswer18": "Se você está usando o site do Habitica, selecione \"Encontrar membros\" da opção Grupo. Se você está usando o aplicativo Android, pressione em \"Encontrar membros\" acima da lista de membros do seu Grupo. Assim, uma lista de jogadores que estão procurando por um Grupo será mostrada e estes podem ser convidados.\n\nPara encontrar um bom integrante para seu Grupo, você verá algumas informações, como idioma, classe, nível e por quantos dias esta pessoa usou o Habitica. Se você quiser conversar com alguém antes de mandar um convite, você pode ver o Perfil e mandar uma mensagem.", + "androidFaqAnswer20": "Sim! Se você já tem o nome de usuário de um jogador do Habitica ou endereço de e-mail, você pode convidá-lo para entrar em seu Grupo. Saiba como enviar um convite pelas diferentes plataformas:\n\nPelo site do Habitica:\n\nVá até seu Grupo e clique em \"Convidar para o Grupo\" no lado direito da página.\n\nPelo aplicativo Android:\n\nPressione \"Grupo\" a partir do Menu. Role até a seção Membros, pressione \"Encontrar membros\" e depois pressione na aba \"Por convite\".\n\nPelo aplicativo iOS:\n\nPressione \"Grupo\" a partir do Menu. Role até a seção Membros e pressione em \"Convidar um membro\".", + "androidFaqAnswer22": "Quando você se juntar a um Grupo, você irá parar de receber convites. Se você quiser evitar convites e futuras mensagens de um jogador específico, abra o perfil dele e clique no botão de Bloquear. Em perfis acessados pelo celular, pressione os três pontos do canto superior, então selecione \"Bloquear\".\n\nSe você estiver em uma situação em que acredita que outro jogador quebrou nossas Diretrizes da Comunidade, seja por causa do nome de usuário, perfil ou uma mensagem enviada, por favor reporte qualquer mensagem ou entre em contato conosco via admin@habitica.com.", + "webFaqAnswer22": "Quando você se juntar a um Grupo, você irá parar de receber convites. Se você quiser evitar convites e futuras mensagens de um jogador específico, abra o perfil dele e clique no botão de Bloquear. Em perfis acessados pelo celular, pressione os três pontos do canto superior, então selecione \"Bloquear\".\n\nSe você estiver em uma situação em que acredita que outro jogador quebrou nossas Diretrizes da Comunidade, seja por causa do nome de usuário, perfil ou uma mensagem enviada, por favor reporte qualquer mensagem ou entre em contato conosco via admin@habitica.com.", + "androidFaqAnswer21": "Para cancelar um convite pendente pelo site do Habitica:\n\n1. Clique na lista de Membros estando em seu Grupo.\n2. Clique na aba \"Convites\".\n3. Clique nos três pontos ao lado do convite do usuário que deseja cancelar.\n4. Escolha \"Cancelar convite\"\n\nPara cancelar um convite pendente pelo aplicativo Android:\n\n1. Role até a lista de Membros estando em seu Grupo.\n2. No fim da lista, você verá seus convites pendentes.\n3. Pressione o botão \"Cancelar convite\".\n\nVocê também será capaz de cancelar um convite pendente a partir do aplicativo iOS em breve!", + "webFaqAnswer21": "Para cancelar um convite pendente pelo site do Habitica:\n\n1. Clique na lista de Membros estando em seu Grupo.\n2. Clique na aba \"Convites\".\n3. Clique nos três pontos ao lado do convite do usuário que deseja cancelar.\n4. Escolha \"Cancelar convite\"\n\nPara cancelar um convite pendente pelo aplicativo Android:\n\n1. Role até a lista de Membros estando em seu Grupo.\n2. No fim da lista, você verá seus convites pendentes.\n3. Pressione o botão \"Cancelar convite\".\n\nVocê também será capaz de cancelar um convite pendente a partir do aplicativo iOS em breve!", + "androidFaqAnswer24": "Adicionamos a possibilidade de procurar por um Grupo e encontrar membros para o Grupo na versão 4.2 do Android! Veja se seu aplicativo está atualizado na versão mais recente para conferir. Jogadores solo podem procurar por um Grupo a partir da tela Grupo quando não participam de um. Líderes de Grupo podem navegar pela lista de jogadores que estão procurando por um convite em \"Encontrar membros\" acima da lista de membros do seu Grupo.\n\nEsta funcionalidade estará em iOS na versão 3.8, então fique de olho!", + "webFaqAnswer16": "Você permanecerá na lista até que você aceite o convite para um Grupo ou não faça login por 7 dias, o que vier primeiro. Se você fizer login depois de estar inativo por 7 dias, iremos automaticamente adicionar você à lista, contanto que você não tenha um convite pendente.", + "iosFaqAnswer19": "Grupos tem um limite máximo de 30 membros e um mínimo de 1 membro. Convites pendentes contam como um membro. Por exemplo, 29 membros e 1 convite pendente iria ser contado como 30 membros. Para limpar um convite pendente, o jogador convidado deve aceitar ou negar, ou o líder do Grupo deve cancelar o convite.", + "iosFaqAnswer23": "No momento não há como filtrar a lista de membros que estão procurando por um Grupo. Porém, temos planos de introduzir filtros no futuro, como de classe, nível e idioma.", + "androidFaqAnswer23": "No momento não há como filtrar a lista de membros que estão procurando por um Grupo. Porém, temos planos de introduzir filtros no futuro, como de classe, nível e idioma.", + "webFaqAnswer23": "No momento não há como filtrar a lista de membros que estão procurando por um Grupo. Porém, temos planos de introduzir filtros no futuro, como de classe, nível e idioma." } diff --git a/website/common/locales/pt_BR/front.json b/website/common/locales/pt_BR/front.json index b11020d568..19546fe16e 100644 --- a/website/common/locales/pt_BR/front.json +++ b/website/common/locales/pt_BR/front.json @@ -1,6 +1,6 @@ { "FAQ": "FAQ", - "termsAndAgreement": "Ao clicar no botão abaixo, você afirma que leu e aceitou os Termos de Serviço e Política de Privacidade.", + "termsAndAgreement": "Ao clicar no botão abaixo, você afirma que leu e aceita os Termos de Serviço e Política de Privacidade.", "accept1Terms": "Ao clicar no botão abaixo, eu concordo com os", "accept2Terms": "e com a", "chores": "Afazeres", @@ -66,7 +66,7 @@ "pkQuestion1": "O que inspirou o Habitica? Como ele começou?", "pkAnswer1": "Se você, alguma vez, investiu tempo em passar um personagem seu de nível, deve se perguntar o quão boa sua vida seria se você colocasse todo aquele esforço em melhorar o seu eu da vida real ao invés de seu avatar.
Nós começamos a construir o Habitica com um Kickstarter em 2013, e a ideia realmente decolou. Desde então, ela cresceu e se tornou um grande projeto, apoiado por nossos incríveis voluntários open-source e nossos generosos usuários.", "pkQuestion2": "Por que o Habitica funciona?", - "pkAnswer2": "Formar um novo hábito é difícil porque as pessoas realmente precisam daquela recompensa óbvia e instantânea. Por exemplo, é difícil começar a passar fio dental porque, mesmo que nossos dentistas nos digam que é mais saudável a longo prazo, no momento em que o passamos, ele só faz as nossas gengivas doerem.
A gamificação de Habitica adiciona uma sensação de gratificação instantânea a objetivos diários ao recompensar uma tarefa difícil com experiência, ouro... e até mesmo um prêmio aleatório, como um ovo de dragão! Isto ajuda a manter as pessoas motivadas até quando a própria tarefa não possui uma recompensa intrínseca, e nós temos visto pessoas mudarem suas vidas completamente como resultado. Você pode ler histórias de sucesso aqui: https://habitversary.tumblr.com", + "pkAnswer2": "Formar um novo hábito é difícil porque as pessoas realmente precisam daquela recompensa óbvia e instantânea. Por exemplo, é difícil começar a passar fio dental porque, mesmo que nossos dentistas nos digam que é mais saudável a longo prazo, no momento em que o passamos, ele só faz as nossas gengivas doerem.
A gamificação de Habitica adiciona uma sensação de gratificação instantânea a objetivos diários ao recompensar uma tarefa difícil com experiência, ouro... e até mesmo um prêmio aleatório, como um ovo de dragão! Isto ajuda a manter as pessoas motivadas até quando a própria tarefa não possui uma recompensa intrínseca, e nós temos visto pessoas mudarem suas vidas completamente como resultado.", "pkQuestion3": "Por que vocês adicionaram funcionalidades sociais?", "pkAnswer3": "A pressão social é um enorme fator de motivação para muitas pessoas, então nós sabíamos que queríamos ter uma comunidade forte com pessoas que se apoiam mutuamente em seus objetivos e torçam por seus sucessos. Felizmente, uma das coisas que jogos multiplayer fazem de melhor é nutrir o senso de comunidade entre seus usuários! A estrutura de comunidade do Habitica é emprestada destes tipos de jogos; você pode formar um Grupo pequeno com amigos próximos, mas você também pode entrar em grupos maiores e de interesses compartilhados chamados de Guildas. Embora alguns usuários escolham jogar sozinhos, a maioria decide formar uma rede de apoio que encoraja responsabilidades sociais através de ferramentas como as Missões, nas quais membros de um Grupo unem suas produtividades para, juntos, enfrentar monstros.", "pkQuestion4": "Por que não fazer tarefas diminui a vida de seu avatar?", @@ -188,5 +188,6 @@ "enterHabitica": "Entrar no Habitica", "emailUsernamePlaceholder": "Ex: habitilebre ou grifo@exemplo.com", "socialAlreadyExists": "Este login já está vinculado a uma conta existente do Habitica.", - "footerProduct": "Produto" + "footerProduct": "Produto", + "translateHabitica": "Traduza o Habitica" } diff --git a/website/common/locales/pt_BR/gear.json b/website/common/locales/pt_BR/gear.json index 306137d72c..8b11436278 100644 --- a/website/common/locales/pt_BR/gear.json +++ b/website/common/locales/pt_BR/gear.json @@ -113,7 +113,7 @@ "weaponSpecialTachiText": "Tachi", "weaponSpecialTachiNotes": "Esta leve e curvada espada irá retalhar suas atividade até as fitas! Aumenta a Força em <%= str %>.", "weaponSpecialAetherCrystalsText": "Cristais Etéreos", - "weaponSpecialAetherCrystalsNotes": "Estas braçadeiras e cristais pertenceram à própria Mestre de Classe Perdida. Aumenta todos os atributos em<%= attrs %>.", + "weaponSpecialAetherCrystalsNotes": "Estas braçadeiras e cristais pertenceram à própria Mestre de Classe Perdida. Aumenta todos os atributos em <%= attrs %>.", "weaponSpecialYetiText": "Lança de Domador de Iéti", "weaponSpecialYetiNotes": "Essa lança permite ao usuário comandar qualquer iéti. Aumenta Força em <%= str %>. Equipamento Edição Limitada de Inverno 2013-2014.", "weaponSpecialSkiText": "Mastro Assa-ski-no", @@ -2139,7 +2139,7 @@ "shieldSpecialSummer2020WarriorText": "Enorme Escama de Truta", "headMystery202007Notes": "Este capacete irá sintonizá-lo com as complexas e belas canções de seus companheiros cetáceos. Não lhe traz nenhum benefício. Item para assinantes de julho de 2020.", "headMystery202007Text": "Esplêndido Capacete Orca", - "headSpecialSummer2020MageNotes": "Quem precisa de uma coroa com esta crista? Aumenta a Percepção em <%= por %>. Edição Limitada 2020 Equipamento de Verão.", + "headSpecialSummer2020MageNotes": "Quem precisa de uma coroa com esta crista? Aumenta a Percepção em <%= per %>. Edição Limitada 2020 Equipamento de Verão.", "headSpecialSummer2020MageText": "Crista do Regaleco", "headSpecialSummer2020WarriorNotes": "\"Trute\" a sua força e habilidade com este capacete altamente visível. Aumenta a Força em <%= str %>. Edição Limitada 2020 Equipamento de Verão.", "headSpecialSummer2020WarriorText": "Boné do Peixe Cintilante", @@ -2157,11 +2157,11 @@ "backSpecialNamingDay2020Notes": "Feliz Aniversário do Habitica! Agite esta cauda ardente e pixelizada enquanto celebra o Habitica. Não concede benefícios.", "backSpecialNamingDay2020Text": "Cauda de Grifo Roxo Real", "shieldArmoireMortarAndPestleText": "Morteiro e Pistilo", - "headArmoireHeroicHerbalistCrispinetteNotes": "Este prático adorno para cabeça irá ajudá-lo a manter o seu cabelo fora do caminho... Não faz mal que também aumente o misticismo. Aumenta a inteligência em <%= int %>. Armário Encantado: Conjunto Herbalista Heroico (Item 3 de 3).", - "headArmoireHeroicHerbalistCrispinetteText": "Adorno do Herbalista Heroico (cabeça)", - "armorArmoireHeroicHerbalistRobeNotes": "Sempre cheira agradavelmente a todos os tipos de ervas. Aumenta a Constituição e a Inteligência em <%= attrs %> cada. Armário Encantado: Conjunto Herbalista Heroico (Item 1 de 3).", - "armorArmoireHeroicHerbalistRobeText": "Manto do Herbalista Heroico", - "shieldArmoireMortarAndPestleNotes": "O equipamento mais importante do arsenal do fitoterapeuta! Triture os ingredientes para as suas misturas de ervas e trabalhe duro! Aumenta a Constituição em <%= con %>. Armário Encantado: Conjunto Herbalista Heroico (Item 2 de 3).", + "headArmoireHeroicHerbalistCrispinetteNotes": "Este prático adorno para cabeça irá ajudá-lo a manter o seu cabelo fora do caminho... Não faz mal que também aumente o misticismo. Aumenta a inteligência em <%= int %>. Armário Encantado: Conjunto Herbalista Heróico (Item 3 de 3).", + "headArmoireHeroicHerbalistCrispinetteText": "Adorno do Herbalista Heróico", + "armorArmoireHeroicHerbalistRobeNotes": "Sempre cheira agradavelmente a todos os tipos de ervas. Aumenta a Constituição e a Inteligência em <%= attrs %> cada. Armário Encantado: Conjunto Herbalista Heróico (Item 1 de 3).", + "armorArmoireHeroicHerbalistRobeText": "Manto do Herbalista Heróico", + "shieldArmoireMortarAndPestleNotes": "O equipamento mais importante do arsenal do fitoterapeuta! Triture os ingredientes para as suas misturas de ervas e trabalhe duro! Aumenta a Constituição em <%= con %>. Armário Encantado: Conjunto Herbalista Heróico (Item 2 de 3).", "headAccessoryMystery202009Notes": "Esses apêndices emplumados te ajudarão a encontrar seu caminho, mesmo na escuridão da noite. Não confere benefícios. Item de assinante de Setembro de 2020.", "headAccessoryMystery202009Text": "Antenas de Mariposa Maravilhosa", "backMystery202009Notes": "Deixe que essas asas enormes te levem a novas alturas! Não confere benefícios. Item de assinante de Setembro de 2020.", @@ -2782,5 +2782,121 @@ "shieldSpecialWinter2023WarriorText": "Escudo de Ostra", "shieldSpecialWinter2023WarriorNotes": "A hora chegou, a Morsa diz, de dizer muitas coisas: sobre conchas de ostras—e sinos do inverno—sobre canções que alguém canta—e sobre onde está a pérola deste escudo—ou o que mais o novo ano trouxer! Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Inverno de 2022-2023.", "shieldSpecialWinter2023HealerText": "Geléias Legais", - "shieldSpecialWinter2023HealerNotes": "Sua canção de geada e neve acalmará os espíritos de todos que ouvirem. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Inverno de 2022-2023." + "shieldSpecialWinter2023HealerNotes": "Sua canção de geada e neve acalmará os espíritos de todos que ouvirem. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Inverno de 2022-2023.", + "headSpecialNye2022Text": "Chapéu de Festa Fabuloso", + "headSpecialNye2022Notes": "Você recebeu um Chapéu de Festa Fabuloso! Use com orgulho enquanto curte o Ano Novo! Não confere benefícios.", + "armorSpecialBirthday2023Text": "Túnica Festiva Fabulosa", + "armorSpecialBirthday2023Notes": "Feliz aniversário, Habitica! Vista essa Túnica Festiva Fabulosa para comemorar esse dia incrível. Não confere benefícios.", + "armorArmoireShawlCollarCoatText": "Casaco Gola Xale", + "armorArmoireShawlCollarCoatNotes": "Um feiticeiro sábio uma vez disse que não há nada melhor do que estar confortável e produtivo! Vista este casaco quentinho e estiloso enquanto encara os desafios do ano. Aumenta Constituição em <%= con %>. Armário Encantado: Item Independente.", + "headMystery202301Text": "Orelhas Vulpinas Valentes", + "backMystery202301Text": "Cinco Caudas de Valor", + "backMystery202301Notes": "Essas caudas fofas contêm poder eterno e também um alto nível de charme! Não confere benefícios. Item de Assinante de janeiro de 2023.", + "backSpecialAnniversaryText": "Capa de Herói do Habitica", + "backSpecialAnniversaryNotes": "Deixe o vento te levar com essa capa e diga a todos que você é um Herói do Habitica. Não confere benefícios. Item da edição especial da 10a Festança do Habitica.", + "bodySpecialAnniversaryText": "Colarinho Herói Habitica", + "bodySpecialAnniversaryNotes": "Complementa perfeitamente seu conjunto real roxo! Não confere benefícios. Item da edição especial da 10a Festança do Habitica.", + "eyewearSpecialAnniversaryNotes": "Olhe nos olhos de um Herói do Habitica - você! Não confere benefícios. Item da edição especial da 10a Festança do Habitica.", + "eyewearSpecialAnniversaryText": "Máscara Herói Habitica", + "headMystery202301Notes": "Sua audição ficará tão aguda que você ouvirá o amanhecer chegando e cada gota de chuva caindo. Não confere benefícios. Item de Assinante de janeiro de 2023.", + "armorArmoireTeaGownText": "Vestido de Chá", + "armorArmoireTeaGownNotes": "Você tem resiliência, criatividade, é brilhante e tem muito estilo! Aumenta Força e Inteligência em <%= attrs %> cada. Armário Encantado: Conjunto Festa do Chá (item 1 de 3).", + "headArmoireTeaHatText": "Chapéu de Chá", + "headArmoireTeaHatNotes": "Esse chapéu elegante é chique e funcional ao mesmo tempo. Aumenta Percepção em <%= per %>. Armário Encantado: Conjunto Festa do Chá (item 2 de 3).", + "shieldArmoireTeaKettleText": "Chaleira", + "shieldArmoireTeaKettleNotes": "Todos os seus chás favoritos e saborosos podem ser feitos nesta chaleira. Você está com disposição para tomar uma infusão de chá preto, verde, oolong ou talvez de ervas? Aumenta Constituição em <%= con %>. Armário Encantado: Conjunto Festa do Chá (item 3 de 3).", + "backMystery202302Text": "Cauda de Gato Malhado", + "backMystery202302Notes": "Qualquer momento em que usar esta cauda, com certeza será um dia fremular! Bravooh! Bravarte! Não confere benefícios. Item de Assinante de fevereiro de 2023.", + "headAccessoryMystery202302Text": "Orelha de Gato Malhado", + "headAccessoryMystery202302Notes": "O acessório perfeito para melhorar seu sorriso encantador. Não confere benefícios. Item de Assinante de fevereiro de 2023.", + "headMystery202303Text": "Cabelo do Tipo Juba", + "headMystery202303Notes": "Tem jeito melhor de dizer que você é a estrela do conto do que ter cabelo azul improvável e pontiagudo? Não confere benefícios. Item de Assinante de março de 2023.", + "eyewearMystery202303Text": "Olhos Sonhadores", + "eyewearMystery202303Notes": "Deixe seu jeito indiferente atrair seus inimigos a pensarem que estão seguros. Não confere benefícios. Item de Assinante de março de 2023.", + "armorArmoireBasketballUniformText": "Uniforme de Basquete", + "armorArmoireBasketballUniformNotes": "Está se perguntando o que está escrito atrás das costas desse uniforme? Seu número da sorte, é claro! Aumenta Percepção em <% per %>. Armário Encantado: Conjunto Basquete das Antigas (item 1 de 2).", + "shieldArmoireBasketballNotes": "Vish! Sempre quando você quiser lançar essa mágica bola de basquete, sempre acertará na cesta. Aumenta Constituição e Força em <%= attrs %> cada. Armário Encantado: Conjunto Basquete das Antigas (item 2 de 2).", + "shieldArmoireBasketballText": "Bola de Basquete", + "armorSpecialSpring2023WarriorNotes": "Esse som de zumbido que se ouve é de suas asas batendo mais rápido do que imagina. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Primavera de 2023.", + "headSpecialSpring2023WarriorText": "Capacete de Beija-flor", + "weaponSpecialSpring2023RogueText": "Folha Mordiscada", + "armorSpecialSpring2023WarriorText": "Armadura de Beija-flor", + "weaponSpecialSpring2023RogueNotes": "Ham! Ham! Fortaleça-se e prepare-se para sua próxima metamorfose. Aumenta Força em <%= str %>. Edição Limitada do Equipamento de Primavera de 2023.", + "armorSpecialSpring2023MageNotes": "Este estiloso terno de primavera aumenta a mágica da pedra da lua. Aumenta a Inteligência em <%=int%>. Edição Limitada do Equipamento de Primavera de 2023.", + "headSpecialSpring2023RogueNotes": "Lembre-se de cobrir essas antenas quando os pássaros estiverem pelas redondezas. Aumenta Percepção em <%= per %>. Edição Limitada do Equipamento de Primavera de 2023.", + "headSpecialSpring2023MageNotes": "Você vai querer usar esses óculos a noite para enxergar claramente à luz da lua. Aumenta Percepção em <%= per %>. Edição Limitada do Equipamento de Primavera de 2023.", + "shieldSpecialSpring2023WarriorText": "Ramo de Flores", + "shieldSpecialSpring2023WarriorNotes": "Colete as melhores flores da primavera neste ramo de flores colorido e brilhante. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Primavera de 2023.", + "weaponSpecialSpring2023WarriorText": "Lâmina de Beija-flor", + "weaponSpecialSpring2023WarriorNotes": "Em guarda! Afaste os inimigos de suas flores com esta lâmina. Aumenta Força em <%= str %>. Edição Limitada do Equipamento de Primavera de 2023.", + "weaponSpecialSpring2023MageText": "Pedra da Lua Mágica", + "weaponSpecialSpring2023MageNotes": "Quanto mais brilhantes, mais potentes são seus poderes. Aumenta a Inteligência em <%=int%>. Edição Limitada do Equipamento de Primavera de 2023.", + "weaponSpecialSpring2023HealerText": "Pólen de Lírio", + "armorSpecialSpring2023RogueText": "Capa de Lagarta", + "armorSpecialSpring2023MageText": "Terno Pedra da Lua", + "armorSpecialSpring2023HealerText": "Vestido de Folha de Lírio", + "headSpecialSpring2023RogueText": "Capuz de Lagarta", + "headSpecialSpring2023WarriorNotes": "Cubra seu rosto com penas iridescentes quando voar para batalha. Aumenta Força em <%= str %>. Edição Limitada do Equipamento de Primavera de 2023.", + "headSpecialSpring2023MageText": "Viseira Pedra da Lua", + "headSpecialSpring2023HealerText": "Flor de Lírio", + "headSpecialSpring2023HealerNotes": "Esse arranjo brilhante e colorido compartilha o mesmo esquema de cores da Orbe do Renascimento! Que simbólico! Aumenta a Inteligência em <%=int%>. Edição Limitada do Equipamento de Primavera de 2023.", + "shieldSpecialSpring2023HealerText": "Buquê de Lírio", + "armorSpecialSpring2023RogueNotes": "Você talvez tenha apenas quatro membros para usar, mas você pode escalar e se arrastar como uma ótima lagarta. Aumenta Percepção em <%= per %>. Edição Limitada do Equipamento de Primavera de 2023.", + "weaponSpecialSpring2023HealerNotes": "Com um sopro e um brilho, você implanta novas cores, mais alegria e crescimento. Aumenta a Inteligência em <%=int%>. Edição Limitada do Equipamento de Primavera de 2023.", + "armorSpecialSpring2023HealerNotes": "Uma varredura de glória verdejante para que você seja a inveja do Grupo. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Primavera de 2023.", + "shieldSpecialSpring2023HealerNotes": "Um aroma para uma visita curandeira, ou parte de um ritual de um baile primaveril! Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Primavera de 2023.", + "armorMystery202304Text": "Armadura Bule Tiptop", + "armorMystery202304Notes": "Aqui está sua alça e aqui está o seu bico! Não confere benefícios. Item de Assinante de abril de 2023.", + "headMystery202304Text": "Tampa Bule Tiptop", + "headMystery202304Notes": "Vista esse capacete para sua própria segurança. Não confere benefícios. Item de Assinante de abril de 2023.", + "weaponArmoirePaintbrushText": "Pincel", + "armorArmoirePaintersApronNotes": "Este avental consegue proteger suas roupas da tinta e seus projetos criativos de críticas ruins. Aumenta Constituição em <%= con %>. Armário Encantado: Conjunto Pintor (item 1 de 4).", + "weaponArmoirePaintbrushNotes": "Um choque de pura inspiração percorre você quando pega este pincel, te permitindo pintar qualquer coisa que imaginar. Aumenta Inteligência em <%=int%>. Armário Encantado: Conjunto Pintor (item 3 de 4).", + "armorArmoirePaintersApronText": "Avental de Pintor", + "shieldArmoirePaintersPaletteText": "Paleta de Pintor", + "armorArmoireStripedRainbowShirtNotes": "As cores do arco-íris nunca ficaram tão lindas antes. Tenha coragem! Aumenta Força e Inteligência em <%= attrs %> cada. Armário Encantado: Conjunto Arco-íris (Item 1 de 2).", + "armorArmoireDiagonalRainbowShirtNotes": "Um respingo de cor com um traço de estilo. Seja alegre! Aumenta Constituição e Percepção em <%= attrs %> cada. Armário Encantado: Conjunto Arco-íris (Item 2 de 2).", + "headArmoireBeaniePropellerHatNotes": "Não é hora de manter seus pés no chão! Rode essa pequena hélice e suba tão alto quanto sua ambição. Aumenta todos os atributos em <%= attrs %>. Armário Encantado: Item Independente.", + "headArmoireBeaniePropellerHatText": "Gorro com Hélice", + "backMystery202305Notes": "Siga o brilho da estrela noturna e voe para reinos estranhos com estas asas. Não confere benefícios. Item de Assinante de maio de 2023.", + "headAccessoryMystery202305Text": "Chifres da Noite", + "headAccessoryMystery202305Notes": "Esses chifres brilham com o reflexo do luar. Não confere benefícios. Item de Assinante de maio de 2023.", + "backMystery202305Text": "Asas da Noite", + "weaponMystery202306Text": "Guarda-chuva Arco-íris", + "armorMystery202306Text": "Casaco Arco-íris", + "weaponMystery202306Notes": "Resplandeça orgulho e leve um reluzente prisma colorido a qualquer lugar que você for! Não confere benefícios. Item de Assinante de junho de 2023.", + "armorMystery202306Notes": "Ninguém vai arruinar sua parada! E se tentarem, você estará colorido e seco! Não confere benefícios. Item de Assinante de junho de 2023.", + "shieldArmoirePaintersPaletteNotes": "Tintas de todas as cores do arco-íris estão em sua disposição. É a mágica que as deixa tão vívidas quando você as usa, ou é apenas seu talento? Aumenta Força em <%= str %>. Armário Encantado: Conjunto Pintor (item 4 de 4).", + "headArmoirePaintersBeretNotes": "Veja o mundo com um olhar mais artístico quando vestir esta linda boina. Aumenta Percepção em <%= per %>. Armário Encantado: Conjunto Pintor (item 2 de 4).", + "armorArmoireStripedRainbowShirtText": "Camisa Arco-íris Listrada", + "armorArmoireDiagonalRainbowShirtText": "Camisa Arco-íris Diagonal", + "headArmoirePaintersBeretText": "Boina de Pintor", + "weaponSpecialSummer2023WarriorText": "Espada Elemental da Água", + "weaponSpecialSummer2023RogueText": "Leque Lebiste", + "weaponSpecialSummer2023WarriorNotes": "Invoque poderosos sprays de água para limpar seu caminho dos obstáculos. Aumenta Força em <%= str %>. Edição Limitada do Equipamento de Verão de 2023.", + "weaponSpecialSummer2023MageText": "Peixes", + "weaponSpecialSummer2023HealerText": "Alga Balançando", + "weaponSpecialSummer2023HealerNotes": "Elas parecem frouxas, mas podem ficar um pouco irritadas se você as chamá-las de 'plantas'. Aumenta Inteligência em <%=int%>. Edição Limitada do Equipamento de Verão de 2023.", + "weaponSpecialSummer2023RogueNotes": "Sem dúvidas, essas coisas são difíceis de abrir. Mas impressiona quando conseguimos! Aumenta Força em <%= str %>. Edição Limitada do Equipamento de Verão de 2023.", + "weaponSpecialSummer2023MageNotes": "Esses peixes amigáveis estarão ao seu lado como melhores amigos do oceano. Aumenta Inteligência em <%=int%>. Edição Limitada do Equipamento de Verão de 2023.", + "armorSpecialSummer2023WarriorText": "Armadura de Peixe Dourado", + "armorSpecialSummer2023RogueText": "Manto Lebiste", + "armorSpecialSummer2023RogueNotes": "Para cima! Para baixo! Bem devagar... Aumenta Percepção em <%= per %>. Edição Limitada do Equipamento de Verão de 2023.", + "armorSpecialSummer2023WarriorNotes": "Guerreiros peixe-dourado possuem memórias excelentes pois eles sempre mantêm suas Diárias e Afazeres organizados em listas. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Verão de 2023.", + "armorSpecialSummer2023MageText": "Túnica Coral", + "armorSpecialSummer2023MageNotes": "Sinta-se protegido e confortável nesta túnica esvoaçante, perfeitamente colorida para aventuras debaixo d'água. Aumenta Inteligência em <%=int%>. Edição Limitada do Equipamento de Verão de 2023.", + "armorSpecialSummer2023HealerText": "Vestido de Alga", + "armorSpecialSummer2023HealerNotes": "Foque em seus objetivos e convicções neste elegante vestido verde. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Verão de 2023.", + "headSpecialSummer2023RogueText": "Chapéu Lebiste", + "headSpecialSummer2023WarriorText": "Barbatana peixe-dourado", + "headSpecialSummer2023WarriorNotes": "Essa barbatana fabulosa fornece estabilidade conforme você nada em direção a tarefas problemáticas à sua frente. Aumenta Força em <%= str %>. Edição Limitada do Equipamento de Verão 2023.", + "headSpecialSummer2023MageText": "Chifres de Coral", + "headSpecialSummer2023HealerText": "Coroa de Algas", + "headSpecialSummer2023HealerNotes": "Não são cobras! Pode abrir os olhos sem problemas! Aumenta Inteligência em <%=int%>. Edição Limitada do Equipamento de Verão de 2023.", + "headSpecialSummer2023RogueNotes": "Gup, dois, três, quatro! Não pode ser devorado, tem tarefas para marcar! Aumenta Percepção em <%= per %>. Edição Limitada do Equipamento de Verão 2023.", + "headSpecialSummer2023MageNotes": "Você possui a sabedoria de um ecossistema inteiro quando está praticando sua mágica marinha. Aumenta Percepção em <%= per %>. Edição Limitada do Equipamento de Verão de 2023.", + "shieldSpecialSummer2023WarriorText": "Espírito de peixe-dourado", + "shieldSpecialSummer2023WarriorNotes": "Invoque este espírito de peixe-dourado para obter uma explosão extra de segurança e companheirismo durante uma luta. Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Verão de 2023.", + "shieldSpecialSummer2023HealerText": "Ouriço-do-mar", + "shieldSpecialSummer2023HealerNotes": "Você o esconde e o protege. Ele evita que monstros intrometidos de se aproximarem demais. Simbiose perfeita! Aumenta Constituição em <%= con %>. Edição Limitada do Equipamento de Verão de 2023." } diff --git a/website/common/locales/pt_BR/generic.json b/website/common/locales/pt_BR/generic.json index 308c9b9033..ace3c46034 100644 --- a/website/common/locales/pt_BR/generic.json +++ b/website/common/locales/pt_BR/generic.json @@ -213,5 +213,9 @@ "reportSentDescription": "Responderemos assim que nossa equipe conseguir verificar. Obrigado por relatar o problema.", "askQuestion": "Faça uma Pergunta", "reportDescriptionText": "Inclua fotos da tela ou erros do console Javascript se ajudar ou for necessário.", - "emptyReportBugMessage": "Mensagem de Reporte de Erros vazia" + "emptyReportBugMessage": "Mensagem de Reporte de Erros vazia", + "leaveHabiticaText": "O Habitica não é responsável pelo conteúdo de qualquer site referenciado que não seja de propriedade ou operado pelo HabitRPG.
Por favor, observe que as práticas desses sites podem diferir das diretrizes da comunidade do Habitica.", + "skipExternalLinkModal": "Mantenha pressionada a tecla CTRL (Windows) ou Command (Mac) ao clicar em um link para ignorar esse modal.", + "leaveHabitica": "Você está prestes a sair do Habitica.com", + "refreshList": "Recarregar lista" } diff --git a/website/common/locales/pt_BR/groups.json b/website/common/locales/pt_BR/groups.json index f25c951886..e75ee4a1a8 100644 --- a/website/common/locales/pt_BR/groups.json +++ b/website/common/locales/pt_BR/groups.json @@ -6,7 +6,7 @@ "resumeDamage": "Reativar dano", "helpfulLinks": "Links úteis", "communityGuidelinesLink": "Diretrizes da Comunidade", - "lookingForGroup": "Procurando Grupo (Pedir Convite)", + "lookingForGroup": "Procurando Grupo (Pedir Convite) Posts", "dataDisplayTool": "Ferramenta de Exibição de Dados", "requestFeature": "Solicitar funcionalidade", "askAQuestion": "Fazer uma pergunta", @@ -312,7 +312,7 @@ "teamBasedTasksList": "Tarefas de Time", "teamBasedTasksListDesc": "Estabeleça uma lista de tarefas compartilhada de fácil visualização para o Time. Atribua tarefas para seus parceiros participantes do Time ou deixe-os reivindicarem suas próprias tarefas para deixar claro que todo mundo está trabalhando!", "groupManagementControls": "Controles de Gestão de Time", - "groupManagementControlsDesc": "Use aprovações de tarefas para confirmar se uma tarefa foi realmente concluída, adicione Gestores de Time para dividir responsabilidades, e aproveite o chat privado do time para falar com todos os membros.", + "groupManagementControlsDesc": "Veja o estado das tarefas para confirmar se uma tarefa foi concluída, adicione Gestores de Time para dividir responsabilidades, e aproveite o chat privado do time para falar com todos os membros.", "inGameBenefits": "Benefícios no jogo", "inGameBenefitsDesc": "Membros do time ganham Lebrílope uma montaria exclusiva, assim como benefícios de assinatura, incluem mensalmente conjunto de equipamentos especiais e a habilidade de comprar gemas com ouro.", "inspireYourParty": "Inspire seu grupo! Gamifique as suas vidas.", @@ -332,7 +332,7 @@ "howToRequireApproval": "Como fazer que uma Tarefa requira aprovação?", "howToRequireApprovalDesc": "Alterne a configuração no marcador \"Requer Aprovação\" para fazer com que esta tarefa específica precise da confirmação do Líder ou Gestor do Time. O usuário que marcar a tarefa não receberá as recompensas dele até que tarefa seja aprovada.", "howToRequireApprovalDesc2": "Lideres e Gestores de Time pode aprovar Tarefas concluídas direto Painel de Tarefas ou do menu de Notificações.", - "whatIsGroupManager": "O que é um Gestor de Time?", + "whatIsGroupManager": "O que é um Gestor de Grupos?", "whatIsGroupManagerDesc": "Um Gestor de Time é um cargo que não tem acesso aos detalhes da fatura do Time, mas pode criar, atribuir, e aprovar Tarefas compartilhadas para os membros do Time. Promova membros para o cargo de Gestor através da lista de membros do Time.", "goToTaskBoard": "Ir para o Painel de Tarefas", "sharedCompletion": "Condição de Conclusão", @@ -417,5 +417,21 @@ "groupUseDefault": "Escolha uma resposta", "groupParentChildren": "Pais configurando tarefas para crianças", "groupTeacher": "Professor configurando tarefas para estudantes", - "sendGiftLabel": "Gostaria de enviar uma mensagem pessoal?" + "sendGiftLabel": "Gostaria de enviar uma mensagem pessoal?", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> te convidou para entrar no Grupo <%- party %>", + "partyExceedsInvitesLimit": "Um Grupo só pode ter até <%= maxInvites %> convites pendentes.", + "lookForParty": "Procure por um Grupo", + "currentlyLookingForParty": "Você está procurando por um Grupo!", + "checkinsLabel": "Entradas:", + "classLabel": "Classe:", + "questWithOthers": "Participe de Missões com Outros", + "startPartyDetail": "Crie seu próprio Grupo ou junte-se a um já existente
para participar de Missões e aumentar sua motivação!", + "partyFinderDescription": "Quer juntar-se a um Grupo com outros, mas não conhece outros jogadores? Deixe os líderes de Grupo saberem que você está buscando por um convite!", + "languageLabel": "Idioma:", + "invitedToYourParty": "Convidado para seu Grupo!  Clique para desfazer", + "lookingForPartyTitle": "Encontre membros", + "findMorePartyMembers": "Encontre mais membros", + "findPartyMembers": "Encontre membros para o Grupo", + "noOneLooking": "Não há ninguém procurando por um Grupo agora.
Você pode conferir mais tarde!", + "sendTotal": "Total:" } diff --git a/website/common/locales/pt_BR/limited.json b/website/common/locales/pt_BR/limited.json index c558563be7..debb65e525 100644 --- a/website/common/locales/pt_BR/limited.json +++ b/website/common/locales/pt_BR/limited.json @@ -1,5 +1,5 @@ { - "annoyingFriends": "Amigos(as) Irritantes", + "annoyingFriends": "Amigos Irritantes", "annoyingFriendsText": "Foi atingido(a) por bolas de neve <%= count %> vezes por membros do grupo.", "alarmingFriends": "Amigos Alarmantes", "alarmingFriendsText": "Foi transformado(a) em fantasma <%= count %> vezes pelos membros do grupo.", @@ -239,5 +239,43 @@ "winter2023FairyLightsMageSet": "Luzes de Natal (Mago)", "winter2023CardinalHealerSet": "Cardeal (Curandeiro)", "spring2023RibbonRogueSet": "Fita (Gatuno)", - "winter2023WalrusWarriorSet": "Morsa (Guerreiro)" + "winter2023WalrusWarriorSet": "Morsa (Guerreiro)", + "winter2023RibbonRogueSet": "Fita (Gatuno)", + "dateStartFebruary": "8 de Fevereiro", + "anniversaryLimitedDates": "30 de janeiro até 8 de fevereiro", + "limitedEvent": "Evento limitado", + "celebrateAnniversary": "Comemore o 10o aniversário do Habitica com presentes e itens exclusivos abaixo!", + "celebrateBirthday": "Comemore o 10o aniversário do Habitica com presentes e itens exclusivos!", + "jubilantGryphatricePromo": "Mascote Grifaria Jubilante animado", + "limitedEdition": "Edição limitada", + "anniversaryGryphatriceText": "O raro Grifaria Jubilante se junta na comemoração de aniversário! Não perca a chance de ganhar esse Mascote animado exclusivo.", + "anniversaryGryphatricePrice": "Consiga hoje por 9.99 dólares ou 60 gemas", + "buyNowGemsButton": "Compre agora por 60 gemas", + "wantToPayWithGemsText": "Deseja pagar com Gemas?", + "wantToPayWithMoneyText": "Deseja pagar com Stripe, Paypal ou Amazon?", + "ownJubilantGryphatrice": "Você conseguiu a Grifaria Jubilante! Visite o Estábulo para equipar!", + "jubilantSuccess": "Você comprou com sucesso a Grifaria Jubilante!", + "stableVisit": "Visite o Estábulo para equipar!", + "takeMeToStable": "Leve-me ao Estábulo", + "anniversaryLimitations": "Este é um evento de tempo limitado que começa em 30 de janeiro às 10:00 pelo horário de Brasília e acaba em 8 de fevereiro às 01:59 pelo horário de Brasília. A edição limitada Grifaria Jubilante e dez Poções de Eclosão Mágicas estarão disponíveis para compra durante esse período. Os outros Presentes listados na seção Quatro de Graça serão automaticamente entregues para todas as contas que estavam ativas nos últimos 30 dias antes do dia do presente ser enviado. Contas criadas depois da entrega dos presentes não conseguirão eles.", + "buyNowMoneyButton": "Compre agora por 9.99 dólares", + "plentyOfPotions": "Muitas Poções", + "plentyOfPotionsText": "Estamos trazendo de volta as 10 mais favoritas poções de Eclosão Mágicas da comunidade. Visite O Mercado para complementar sua coleção!", + "visitTheMarketButton": "Visite o Mercado", + "fourForFree": "Quatro de Graça", + "fourForFreeText": "Para continuar com a festa, estaremos distribuindo Túnicas Festivas, 20 Gemas e um cenário de aniversário de edição limitada e um conjunto de itens que inclui uma Capa, Brafoneiras e uma máscara para os olhos.", + "dayOne": "Dia 1", + "dayFive": "Dia 5", + "dayTen": "Dia 10", + "partyRobes": "Túnicas Festivas", + "twentyGems": "20 Gemas", + "birthdaySet": "Conjunto de Aniversário", + "spring2023CaterpillarRogueSet": "Lagarta (Gatuno)", + "spring2023HummingbirdWarriorSet": "Beija-flor (Guerreiro)", + "spring2023MoonstoneMageSet": "Pedra da Lua (Mago)", + "spring2023LilyHealerSet": "Lírio (Curandeiro)", + "summer2023GoldfishWarriorSet": "Peixe-dourado (Guerreiro)", + "summer2023GuppyRogueSet": "Lebiste (Gatuno)", + "summer2023KelpHealerSet": "Alga (Curandeiro)", + "summer2023CoralMageSet": "Coral (Mago)" } diff --git a/website/common/locales/pt_BR/npc.json b/website/common/locales/pt_BR/npc.json index 517ab60c83..9f219a51ec 100644 --- a/website/common/locales/pt_BR/npc.json +++ b/website/common/locales/pt_BR/npc.json @@ -133,5 +133,6 @@ "amountExp": "<%= amount %> de EXP", "helpSupportHabitica": "Ajude Apoiando o Habitica", "groupsPaymentSubBilling": "Sua próxima cobrança será em <%= renewalDate %>.", - "groupsPaymentAutoRenew": "Esta inscrição irá renovar automaticamente até ser cancelada. Se você precisar cancelar, você pode fazer isso na aba Fatura do Time." + "groupsPaymentAutoRenew": "Esta inscrição irá renovar automaticamente até ser cancelada. Se você precisar cancelar, você pode fazer isso na aba Fatura do Time.", + "sellItems": "Vender itens" } diff --git a/website/common/locales/pt_BR/pets.json b/website/common/locales/pt_BR/pets.json index 5410ac143d..04db023188 100644 --- a/website/common/locales/pt_BR/pets.json +++ b/website/common/locales/pt_BR/pets.json @@ -113,5 +113,6 @@ "gryphatrice": "Grifotriz", "invalidAmount": "Quantidade de comida inválida, deve ser um número inteiro positivo", "tooMuchFood": "Você está tentando dar muita comida para seu Mascote, ação cancelada", - "notEnoughFood": "Você não tem comida suficiente" + "notEnoughFood": "Você não tem comida suficiente", + "jubilantGryphatrice": "Grifaria Jubilante" } diff --git a/website/common/locales/pt_BR/questscontent.json b/website/common/locales/pt_BR/questscontent.json index e780b7c876..6f327780f6 100644 --- a/website/common/locales/pt_BR/questscontent.json +++ b/website/common/locales/pt_BR/questscontent.json @@ -313,7 +313,7 @@ "questSnailDropSnailEgg": "Caracol (Ovo)", "questSnailUnlockText": "Desbloqueia Ovos de Caracol para compra no Mercado", "questBewilderText": "O Ilusion-lista", - "questBewilderNotes": "A festa começa como qualquer outra.

Os aperitivos estão excelentes, a música está animada e até os elefantes dançarinos já são rotineiros. Os Habiticanos riem e conversam entre as abundantes flores dos centros de mesa, contentes por se distraírem das suas tarefas mais chatas, e o Primeiro de Abril rodopia entre eles, avidamente executando truques e fazendo piadas.

Assim que a torre-relógio de Mistyflying bate meia-noite, o Primeiro de Abril salta para o palco e começa um discurso.

\"Amigos! Inimigos! Conhecidos toleráveis! Dêem-me a vossa atenção.\" A multidão ri quando orelhas de animais aparecem nas suas cabeças e fazem poses com os seus novos acessórios.

\"Como sabem\", continua o Palhaço, \"as minhas divertidas ilusões normalmente duram somente um dia. No entanto, é o meu prazer anunciar que descobri uma forma de nos garantir diversão sem fim, sem o intrometido peso de nossas responsabilidades. Ilustres Habiticanos, conheçam o meu novo amigo mágico...O Ilusion-lista!\"

Lemoness empalidece subitamente, deixando cair os seus aperitivos. \"Esperem! Não confiem--\"

Subitamente uma névoa espessa e brilhante preenche a sala, rodopiando ao redor do Primeiro de Abril, transformando-se em penas e um pescoço alongado. A multidão fica sem palavras enquanto um pássaro monstruoso se materializa à sua frente, suas asas de brilhantes ilusões. Ele solta um riso estridente.

\"Ah! Faz eras desde que um Habiticano foi tolo o suficiente para me invocar! Que maravilhosa esta sensação de ter uma forma novamente.\"

Zumbindo de terror, as abelhas de Mistiflying fogem da cidade flutuante, que começa a descer do céu. Uma a uma, as brilhantes flores de primavera começam a secar e a flutuar ao vento.

\"Meus caros amigos, por que este pânico?\", grita o Ilusion-lista, batendo as suas asas. \"Não é necessário trabalhar mais pelas vossas recompensas. Eu simplesmente dar-vos-ei tudo o que desejam!\"

Moedas começam a chover do céu, batendo no solo com força e a multidão foge em busca de abrigo. \"Isso é uma piada?\" grita Baconsaur, enquanto o ouro parte janelas e telhas.

PainterProphet agacha-se enquanto relâmpagos caem e um nevoeiro tapa o Sol. \"Não! Desta vez, não creio que seja!\"

Depressa Habiticanos, não deixem que este Chefão Global os distraia dos seus objetivos! Mantenham o foco nas tarefas que precisam de completar para salvar Mistiflying -- e, com sorte, todos nós.", + "questBewilderNotes": "A festa começa como qualquer outra.

Os aperitivos estão excelentes, a música está animada e até os elefantes dançarinos já são rotineiros. Os Habiticanos riem e conversam entre as abundantes flores dos centros de mesa, contentes por se distraírem das suas tarefas mais chatas, e o Piadista rodopia entre eles, avidamente executando truques e fazendo piadas.

Assim que a torre-relógio de Borbópolis bate meia-noite, o Piadista salta para o palco e começa um discurso.

\"Amigos! Inimigos! Conhecidos toleráveis! Dêem-me a vossa atenção.\" A multidão ri quando orelhas de animais aparecem nas suas cabeças e fazem poses com os seus novos acessórios.

\"Como sabem\", continua o Palhaço, \"as minhas divertidas ilusões normalmente duram somente um dia. No entanto, é o meu prazer anunciar que descobri uma forma de nos garantir diversão sem fim, sem o intrometido peso de nossas responsabilidades. Ilustres Habiticanos, conheçam o meu novo amigo mágico...O Ilusion-lista!\"

Lemoness empalidece subitamente, deixando cair os seus aperitivos. \"Esperem! Não confiem--\"

Subitamente uma névoa espessa e brilhante preenche a sala, rodopiando ao redor do Piadista, transformando-se em penas e um pescoço alongado. A multidão fica sem palavras enquanto um pássaro monstruoso se materializa à sua frente, suas asas de brilhantes ilusões. Ele solta um riso estridente.

\"Ah! Faz eras desde que um Habiticano foi tolo o suficiente para me invocar! Que maravilhosa esta sensação de ter uma forma novamente.\"

Zumbindo de terror, as abelhas de Borbópolis fogem da cidade flutuante, que começa a descer do céu. Uma a uma, as brilhantes flores de primavera começam a secar e a flutuar ao vento.

\"Meus caros amigos, por que este pânico?\", grita o Ilusion-lista, batendo as suas asas. \"Não é necessário trabalhar mais pelas vossas recompensas. Eu simplesmente dar-vos-ei tudo o que desejam!\"

Moedas começam a chover do céu, batendo no solo com força e a multidão foge em busca de abrigo. \"Isso é uma piada?\" grita Baconsaur, enquanto o ouro parte janelas e telhas.

PainterProphet agacha-se enquanto relâmpagos caem e um nevoeiro tapa o Sol. \"Não! Desta vez, não creio que seja!\"

Depressa Habiticanos, não deixem que este Chefão Global os distraia dos seus objetivos! Mantenham o foco nas tarefas que precisam de completar para salvar Borbópolis -- e, com sorte, todos nós.", "questBewilderCompletion": "O Ilusion-lista foi DERROTADO!

Conseguimos! O Ilusion-lista deixa sair um grito final enquanto se contorce no ar, soltando penas como chuva. Devagar e gradualmente, ele se transforma em uma nuvem de névoa. Enquanto o recente Sol começa a se revelar, furando o nevoeiro, ele se dissipa revelando as silhuetas de Bailey, Matt, Alex... e o próprio Piadista.

Borbópolis está salva!

O Piadista tem um ar envergonhado. \"Ah, hm,\" diz ele. \"Talvez eu tenha... me entusiasmado um pouco.\"

A multidão murmura. Flores ensopadas enchem os passeios. Em algum lugar, um telhado cai, fazendo soar o som de água.

\"É, bem...\" diz o Piadista, \"Enfim. O que quero dizer é, me desculpem\". Ele solta um suspiro. \"Parece que nem tudo pode ser só diversão e jogos, afinal. Não machuca termos foco de vez em quando. Acho que vou começar a preparar a travessura do próximo ano.\"

Redphoenix tosse de forma ameaçadora.

\"Quero dizer, começar a limpeza de primavera deste ano!\" diz o Piadista. \"Nada a temer! Vou deixar a Cidade dos Hábitos toda arrumada em pouco tempo. Felizmente ninguém é melhor que eu em usar dois esfregões ao mesmo tempo.\"

Motivada, a banda de cerimônias começa a tocar.

Não demora muito até que tudo esteja de volta ao normal na Cidade dos Hábitos. Mais - agora que o Ilusion-lista evaporou, as abelhas mágicas de Borbópolis voltaram ao trabalho e em pouco tempo as flores voltam a brotar e a cidade está flutuando novamente.

Enquanto os Habiticanos fazem carinho nas abelhas mágicas, os olhos do Piadista se iluminam. \"Oho! Tive uma ideia! Porque não mantemos algumas destas Abelhas como mascotes e montarias? É uma recompensa que representa perfeitamente o equilíbrio entre trabalho árduo e doces recompensas, se for para ser todo metafórico e bobo.\" Ele pisca o olho. \"Além disso, elas não têm ferrões! Palavra de Palhaço.\"", "questBewilderCompletionChat": "`O Ilusion-lista foi DERROTADO!`\n\nConseguimos! O Ilusion-lista deixa sair um grito final enquanto se contorce no ar, soltando penas como chuva. Devagar e gradualmente, ele se transforma em uma nuvem de névoa. Enquanto o recente Sol começa a se revelar, furando o nevoeiro, ele se dissipa revelando as silhuetas de Bailey, Matt, Alex... e o próprio Piadista.\n\n`Borbópolis está salva!`\n\nO Piadista tem um ar envergonhado. \"Ah, hm,\" diz ele. \"Talvez eu tenha... me entusiasmado um pouco.\"\n\nA multidão murmura. Flores ensopadas enchem os passeios. Em algum lugar, um telhado cai, fazendo soar o som de água.\n\n\"É, bem...\" diz o Piadista, \"Enfim. O que quero dizer é, me desculpem\". Ele solta um suspiro. \"Parece que nem tudo pode ser só diversão e jogos, afinal. Não machuca termos foco de vez em quando. Acho que vou começar a preparar a travessura do próximo ano.\"\n\nRedphoenix tosse de forma ameaçadora.\n\n\"Quero dizer, começar a limpeza de primavera deste ano!\" diz o Piadista. \"Nada a temer! Vou deixar a Cidade dos Hábitos toda arrumada em pouco tempo. Felizmente ninguém é melhor que eu em usar dois esfregões ao mesmo tempo.\"\n\nMotivada, a banda de cerimônias começa a tocar.\n\nNão demora muito até que tudo esteja de volta ao normal na Cidade dos Hábitos. Mais - agora que o Ilusion-lista evaporou, as abelhas mágicas de Borbópolis voltaram ao trabalho e em pouco tempo as flores voltam a brotar e a cidade está flutuando novamente.\n\nEnquanto os Habiticanos fazem carinho nas abelhas mágicas, os olhos do Piadista se iluminam. \"Oho! Tive uma ideia! Porque não mantemos algumas destas Abelhas como mascotes e montarias? É uma recompensa que representa perfeitamente o equilíbrio entre trabalho árduo e doces recompensas, se for para ser todo metafórico e bobo.\" Ele pisca o olho. \"Além disso, elas não têm ferrões! Palavra de Palhaço.\"", "questBewilderBossRageTitle": "Ataque de Decepção", @@ -490,7 +490,7 @@ "questMayhemMistiflying2CollectGreenMistiflies": "Borbomágica Verde", "questMayhemMistiflying2DropHeadgear": "Capuz do Mensageiro Arco-Íris Malandro (Cabeça)", "questMayhemMistiflying3Text": "Loucura em Borbópolis, Parte 3: O Carteiro que é Extremamente Rude", - "questMayhemMistiflying3Notes": "As Borbomágicas estão girando tão rápido no tornado que é difícil vê-las. Olhando atentamente, você vê uma silhueta de algo com várias asas voando no centro da imensa tempestade.
\"Ai ai ai\", o Primeiro de Abril suspira, quase não se ouve por culpa do barulho da tempestade. \"Parece que Winny, de alguma forma, foi possuído. Problema bem comum, isso daí. Pode acontecer com qualquer um.\"

\"O Manipulador do Vento!\" @Beffymaroo grita para você. \"Ele é o mensageiro-mago mais talentoso de Borbópolis, exatamente por ser tão bom com magias do clima. Normalmente, ele é um mensageiro bem educado!\"

Como se quisesse desmentir essa última frase, o Manipulador do Vento lança um grito de fúria e mesmo com seu manto mágico, a tempestade quase te derruba de sua montaria.

\"Essa máscara toda cheguei é nova,\" o Primeiro de Abril nota. \"Talvez você devesse livrar ele da máscara?\"

É uma boa ideia... mas o mago em fúria não vai desistir sem uma boa briga.", + "questMayhemMistiflying3Notes": "As Borbomágicas estão girando tão rápido no tornado que é difícil vê-las. Olhando atentamente, você vê uma silhueta de algo com várias asas voando no centro da imensa tempestade.
\"Ai ai ai\", o Piadista suspira, quase não se ouve por culpa do barulho da tempestade. \"Parece que Winny, de alguma forma, foi possuído. Problema bem comum, isso daí. Pode acontecer com qualquer um.\"

\"O Manipulador do Vento!\" @Beffymaroo grita para você. \"Ele é o mensageiro-mago mais talentoso de Borbópolis, exatamente por ser tão bom com magias do clima. Normalmente, ele é um mensageiro bem educado!\"

Como se quisesse desmentir essa última frase, o Manipulador do Vento lança um grito de fúria e mesmo com seu manto mágico, a tempestade quase te derruba de sua montaria.

\"Essa máscara toda cheguei é nova,\" o Piadista nota. \"Talvez você devesse livrar ele da máscara?\"

É uma boa ideia... mas o mago em fúria não vai desistir sem uma boa briga.", "questMayhemMistiflying3Completion": "Logo quando você acreditava que não poderia aguentar o vento nenhum pouco mais, você consegue se esgueirar e arrancar a máscara do Manipulador do Vento. Instantaneamente, o tornado desaparece, deixando apenas uma reparadora briza com o brilho do sol. O Manipular do Vento olha ao redor aliviado. \"Onde ela foi?\"

\"Quem?\", seu amigo @khdarkwolf pergunta.

\"Aquela doce mulher que se ofereceu para entregar um pacote por mim. Tzina.\" Ao notar a cidade que fora atacada pelo vento, sua expressão cai. \"Então, talvez ela não fosse tão doce...\"

O Piadista o consola e entrega dois envelopes brilhantes. \"Aqui, por que você não deixa esse cansado amigo descansar e toma conta das cartas um pouco? Eu ouvi que a mágica nesses envelopes farão valer à pena seu tempo.\"", "questMayhemMistiflying3Boss": "O Manipulador do Vento", "questMayhemMistiflying3DropPinkCottonCandy": "Algodão-Doce Rosa (Comida)", @@ -505,7 +505,7 @@ "questNudibranchDropNudibranchEgg": "Lesma Marinha (Ovo)", "questNudibranchUnlockText": "Desbloqueia Ovos de Lesma Marinha para compra no Mercado", "splashyPalsText": "Pacote de Missões Aqua-migos", - "splashyPalsNotes": "Contém \"A Corrida de Cavalos-Marinhos de Lentópolis\", \"Guie a Tartaruga\" e \"Lamento da Baleia\". Disponível até 31 de julho.", + "splashyPalsNotes": "Contém \"A Corrida de Cavalos-Marinhos de Lentópolis\", \"Guie a Tartaruga\" e \"Lamento da Baleia\". Disponível até 30 de junho.", "questHippoText": "Que Hipopó-crita", "questHippoNotes": "Você e @awesomekitty deitam abaixo da sombra de uma palmeira, exaustos. O sol cansou vocês na Savana Tvagaresempr, queimando o chão abaixo. Foi um dia produtivo até agora, conquistando suas Diárias e esse oásis parece um lugar legal para pausar um pouco e se recuperar. Parando perto da água para beber um pouco, você cai pra trás em choque ao ver um gigantesco hipopótamo levantar. \"Descansando tão cedo? Não seja preguiçoso, volte ao trabalho.\" Você tenta e diz que tem trabalhado duro e precisa de uma pausa, mas o hipopótamo não está comprando o que você diz.

@khdarkwolf fala baixinho para você \"Veja como ele está de preguiça aí o dia todo mas ainda tem a coragem de te chamar de preguiçoso?\" É o Hipopócrita!\"
Seu amigo, @jumorales, concorda. \"Vamos mostrar a ele o que trabalhar duro significa!\"", "questHippoCompletion": "O hipopótamo curva-se em rendição. \"Eu te subestimei. Parece que você não estava procrastinando. Minhas desculpas. Verdade seja dita, eu devo ter colocado a culpa em você. Talvez eu devesse terminar algumas coisas eu mesmo. Aqui, tome esses ovos como sinal de minha gratidão.\" Ao pegá-las, você para próximo à água, finalmente de prontidão para relaxar.", @@ -753,5 +753,14 @@ "questVirtualPetBoss": "Gotchimonstro", "questVirtualPetText": "Caos Virtual com o Piadista: O Apitamento", "questVirtualPetNotes": "É uma calma e prazerosa manhã de primavera em Habitica, uma semana após um memorável Primeiro de Abril. Você e @Beffymaroo estão no estábulo cuidando de seus mascotes (que ainda estão um pouco confusos com o tempo gasto virtualmente!).

Você ouve um estrondo longínquo e um som de bipe, suave no início mas que fica cada vez mais alto, como se estivesse se aproximando. Uma forma oval aparece no horizonte e ao se aproximar, apitando cada vez mais alto, você vê que é um bichinho virtual gigantesco!

\"Ah, não!\" @Beffymaroo exclama, \"Eu acho que o Piadista deixou alguns assuntos inacabados com o grandalhão aqui, parece que ele quer atenção!\"

O mascote virtual apita nervosamente, fazendo uma birra virtual e retumbando cada vez mais perto.", - "questVirtualPetCompletion": "Alguns cuidados apertos de botões parecem ter satisfeito as misteriosas necessidades virtuais do mascote, e ele finalmente se acalmou, parecendo contente.

Repentinamente em uma explosão de confete, o Piadista aparece com uma cesta cheia de estranhas poções emitindo suaves apitos.

\"Que sincronia, hein, Piadista,\" @Beffymaroo diz com um sorriso amargo. \"Suspeito que esse camarada apitante seja um conhecido seu.\"

\"Hã, sim,\" o Piadista diz timidamente. \"Perdão por isso, e obrigado a vocês por cuidarem do Assistimon! Pegue essas poções como agradecimento, elas podem trazer de volta seus mascotes virtuais sempre que quiserem!\"

Você não está 100% certo de que simpatiza com toda a apitação, mas eles são fofos, então vale o risco!" + "questVirtualPetCompletion": "Alguns cuidados apertos de botões parecem ter satisfeito as misteriosas necessidades virtuais do mascote, e ele finalmente se acalmou, parecendo contente.

Repentinamente em uma explosão de confete, o Piadista aparece com uma cesta cheia de estranhas poções emitindo suaves apitos.

\"Que sincronia, hein, Piadista,\" @Beffymaroo diz com um sorriso amargo. \"Suspeito que esse camarada apitante seja um conhecido seu.\"

\"Hã, sim,\" o Piadista diz timidamente. \"Perdão por isso, e obrigado a vocês por cuidarem do Assistimon! Pegue essas poções como agradecimento, elas podem trazer de volta seus mascotes virtuais sempre que quiserem!\"

Você não está 100% certo de que simpatiza com toda a apitação, mas eles são fofos, então vale o risco!", + "questPinkMarbleBoss": "Cupido", + "questPinkMarbleRageTitle": "Soco Rosa", + "questPinkMarbleRageDescription": "Essa barra enche quando você não completa suas Diárias. Quando estiver completa, o Cupido irá retirar parte do dano pendente do grupo!", + "questPinkMarbleRageEffect": "`Cupido usa Soco Rosa!` Isso não foi nada carinhoso! Seus colegas de grupo ficam surpresos. O dano pendente foi reduzido.", + "questPinkMarbleDropPinkMarblePotion": "Poção de Eclosão de Mármore Rosa", + "questPinkMarbleText": "Acalme o Cupido Corrompido", + "questPinkMarbleNotes": "Depois de ouvir rumores sobre uma caverna nas Montanhas Sinuosas que possui rochas e poeira rosas dentro dela, nosso grupo começou a investigar. Conforme vocês se aproximam da caverna, há de fato uma enorme nuvem de poeira rosa – e é estranho porque vocês começam a ouvir um grito de guerra bem baixo, seguido do som de uma rocha quebrando.

@Empress42 acidentalmente inala um pouco de poeira e começa a se sentir com sono e com menos produtividade. \"Eu também!\" diz @QuartzFox, \"Estou alucinando com uma pessoa que mal conheço!\"

@a_diamond olha dentro da caverna e encontra um pequeno ser correndo e quebrando mármore rosa, transformando em poeira. \"Protejam-se! Esse Cupido foi corrompido e está usando sua mágica para causar limerência e paixão mentirosa! Devemos esmagá-lo!\"", + "questPinkMarbleCompletion": "Vocês conseguiram derrotar o pequeno ser finalmente – ele era muito mais forte e rápido do que se imaginava. Antes dele se mexer novamente, você pega a aljava de flechas brilhantes dele. Ele pisca e de repente olha ao redor surpreso. \"Para não ficar tão triste de coração quebrado, eu me espetei com uma das minhas flechas... Não me lembro de mais nada!\"

Ele estava prestes a voar pra fora da caverna, mas nota que @Loremi pegou uma amostra de poeira do mármore e dá um grande sorriso. \"Tente usar um pouco dessa poeira de mármore rosa em uma poção! Alimente os mascotes que foram chocados com ela e você saberá que relações verdadeiras nascem da comunicação, confiança e cuidado mútuo. Desejo sorte e amor para vocês!\"", + "QuestPinkMarbleUnlockText": "Habilita a compra de Poções de Eclosão de Mármore Rosa pelo Mercado." } diff --git a/website/common/locales/pt_BR/settings.json b/website/common/locales/pt_BR/settings.json index 54e63bc8dd..fbf33c9800 100644 --- a/website/common/locales/pt_BR/settings.json +++ b/website/common/locales/pt_BR/settings.json @@ -226,5 +226,6 @@ "amount": "Quantidade", "action": "Ação", "note": "Nota", - "remainingBalance": "Saldo Remanescente" + "remainingBalance": "Saldo Remanescente", + "thirdPartyTools": "Encontre aplicativos de terceiros, extensões e todos os tipos de outras ferramentas que você pode usar em sua conta na wiki do Habitica." } diff --git a/website/common/locales/pt_BR/subscriber.json b/website/common/locales/pt_BR/subscriber.json index 1e9aa6102c..01b0493237 100644 --- a/website/common/locales/pt_BR/subscriber.json +++ b/website/common/locales/pt_BR/subscriber.json @@ -132,8 +132,8 @@ "subscriptionBenefit5": "Receba o mascote exclusivo Lebrílope Roxo Real quando você se tornar um(a) novo(a) assinante.", "subscriptionBenefit6": "Ganhe Ampulhetas Místicas para comprar itens na Loja dos Viajantes do Tempo!", "purchaseAll": "Comprar Conjunto", - "gemsRemaining": "Gemas restantes", - "notEnoughGemsToBuy": "Você não pode comprar essa quantidade de Gemas", + "gemsRemaining": "restantes", + "notEnoughGemsToBuy": "Não há mais Gemas disponíveis para compra este mês. Mais ficarão disponíveis nos 3 primeiros dias de cada mês.", "mysterySet201902": "Conjunto Crush Enigmático", "mysterySet201903": "Conjunto Primor-Ovo", "confirmCancelSub": "Tem certeza que quer cancelar sua assinatura? Você irá perder todos os seus benefícios de assinante.", @@ -217,5 +217,16 @@ "mysterySet202210": "Conjunto Serpente Sinistra", "mysteryset202211": "Conjunto Eletromante", "mysterySet202211": "Conjunto Eletromante", - "mysterySet202212": "Conjunto Guardião Glacial" + "mysterySet202212": "Conjunto Guardião Glacial", + "haveNonRecurringSub": "Você tem um presente de Inscrição Não recorrente.", + "switchToRecurring": "Mudar para Inscrição Recorrente?", + "subscriptionCreditConversion": "Começar uma nova inscrição converterá quaisquer meses restantes em crédito que será usado apos a inscrição recorrente ser cancelada.", + "mysterySet202301": "Conjunto Raposa Valiosa", + "continueGiftSubBenefits": "Quer continuar com seus benefícios? Você pode obter uma nova inscrição antes que a sua, que te foi presenteada, acabe para não terminar com seus benefícios ativos.", + "mysterySet202302": "Conjunto Gato Malhado", + "mysterySet202303": "Conjunto Tipos de Juba", + "mysterySet202304": "Conjunto Bule Tiptop", + "mysterySet202306": "Conjunto Arco-íris Chamativo", + "mysterySet202305": "Conjunto Dragão da Noite", + "monthlyGems": "Gemas Mensais:" } diff --git a/website/common/locales/pt_BR/tasks.json b/website/common/locales/pt_BR/tasks.json index 07e019f075..f9402692e5 100644 --- a/website/common/locales/pt_BR/tasks.json +++ b/website/common/locales/pt_BR/tasks.json @@ -140,5 +140,7 @@ "adjustCounter": "Ajustar Contador", "counter": "Contador", "editTagsText": "Editar Etiquetas", - "taskSummary": "<%= type %> Resumo" + "taskSummary": "<%= type %> Resumo", + "scoreDown": "Pontuação negativa", + "scoreUp": "Pontuação positiva" } diff --git a/website/common/locales/ro/groups.json b/website/common/locales/ro/groups.json index afbf97d017..a8a3802a68 100644 --- a/website/common/locales/ro/groups.json +++ b/website/common/locales/ro/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ru/achievements.json b/website/common/locales/ru/achievements.json index 0f84a020e7..e403d53cfc 100644 --- a/website/common/locales/ru/achievements.json +++ b/website/common/locales/ru/achievements.json @@ -61,8 +61,8 @@ "onboardingCompleteDesc": "Вы получили 5 достижений и 100 золота за выполнение списка.", "earnedAchievement": "Вы получили достижение!", "viewAchievements": "Посмотреть достижения", - "onboardingProgress": "<%= percentage %>% прогресс", - "gettingStartedDesc": "Выполните эти задания и в итоге получите 5 достижений и 100 золота!", + "onboardingProgress": "Выполнено на <%= percentage %>%", + "gettingStartedDesc": "Виконайте ці завдання й ви отримаєте 5 досягнень і 100 золота как только закончите!", "achievementRosyOutlookModalText": "Вы собрали всех розовых сахарных скакунов!", "achievementRosyOutlookText": "Собраны все розовые сахарные скакуны.", "achievementTickledPinkModalText": "Вы собрали всех розовых сахарных питомцев!", @@ -125,8 +125,8 @@ "achievementShadeOfItAll": "Тень всего этого", "achievementShadeOfItAllText": "Собраны все теневые скакуны.", "achievementZodiacZookeeperText": "Собраны все зодиакальные питомцы: крыса, корова, кролик, змея, лошадь, овца, обезьяна, петух, волк, тигр, летающая свинья и дракон!", - "achievementBirdsOfAFeather": "Масть к масти подбирается", - "achievementBirdsOfAFeatherText": "Собраны все летающие питомцы: летающая свинья, сова, попугай, птеродактиль, грифон, сокол, павлин и петух!", + "achievementBirdsOfAFeather": "Воздушный легион", + "achievementBirdsOfAFeatherText": "Собраны все стандартные цвета летающих питомцев: летающая свинья, сова, попугай, птеродактиль, грифон, сокол, павлин и петух!", "achievementZodiacZookeeper": "Смотритель зодиакального зоопарка", "achievementZodiacZookeeperModalText": "Вы собрали всех зодиакальных питомцев!", "achievementBirdsOfAFeatherModalText": "Вы собрали всех летающих питомцев!", @@ -144,5 +144,11 @@ "achievementBoneToPickModalText": "Вы собрали всех классических и квестовых костяных питомцев!", "achievementPolarPro": "Полярник", "achievementPolarProModalText": "Вы собрали всех полярных питомцев!", - "achievementPolarProText": "Собраны все полярные питомцы: медведь, лиса, пингвин, кит и волк!" + "achievementPolarProText": "Собраны все полярные питомцы: медведь, лиса, пингвин, кит и волк!", + "achievementPlantParent": "Прародитель растений", + "achievementPlantParentModalText": "Вы собрали всех питомцев растений!", + "achievementPlantParentText": "Вы собрали все стандартные цвета питомцев растений: Кактус и Древолаз", + "achievementDinosaurDynasty": "Династия динозавров", + "achievementDinosaurDynastyModalText": "Вы собрали всех питомцев птиц и динозавров!", + "achievementDinosaurDynastyText": "Вы вылупили всех питомцев, птиц и динозавров, стандартново цвета: Сокол, Сова, Попугай, Павлин, Пингвин, Петух, Птеродактиль, Тираннозавр, Трицератопс и Велоцираптор!" } diff --git a/website/common/locales/ru/backgrounds.json b/website/common/locales/ru/backgrounds.json index 897731dbc4..e0bdbeb4b5 100644 --- a/website/common/locales/ru/backgrounds.json +++ b/website/common/locales/ru/backgrounds.json @@ -748,5 +748,44 @@ "backgroundInsideACrystalText": "Внутри кристалла", "backgroundBranchesOfAHolidayTreeNotes": "Порезвитесь на ветвях праздничной елки.", "backgroundSnowyVillageText": "Снежная деревня", - "backgroundSnowyVillageNotes": "Полюбуйтесь заснеженной деревней." + "backgroundSnowyVillageNotes": "Полюбуйтесь заснеженной деревней.", + "backgroundInsideACrystalNotes": "Наблюдайте за внешним миром из кристалла.", + "backgroundWinterLakeWithSwansText": "Зимнее озеро с лебедями", + "backgroundWinterLakeWithSwansNotes": "Насладитесь природой у зимнего озера с лебедями.", + "backgrounds012023": "Набор 104: Выпущен в январе 2023", + "backgroundRimeIceText": "Изморозь", + "backgroundSnowyTempleNotes": "Взгляните на безмятежный снежный храм.", + "eventBackgrounds": "Фоны мероприятий", + "backgroundBirthdayBashText": "Вечеринка дня рождения", + "backgroundRimeIceNotes": "Полюбуйтесь сверкающей изморозью.", + "backgroundSnowyTempleText": "Заснеженный храм", + "backgroundBirthdayBashNotes": "Habitica празднует день рождения и приглашает всех на вечеринку!", + "backgroundGoldenBirdcageText": "Золотая клетка", + "backgroundGoldenBirdcageNotes": "Спрячьтесь в золотой клетке.", + "backgroundFancyBedroomText": "Шикарная спальня", + "backgroundInFrontOfFountainText": "Перед фонтаном", + "backgroundInFrontOfFountainNotes": "Прогуляйтесь перед фонтаном.", + "backgrounds022023": "Набор 105: Выпущен в феврале 2023", + "backgroundFancyBedroomNotes": "Понежьтесь в шикарной спальне.", + "backgroundOldTimeyBasketballCourtText": "Олдскульная баскетбольная площадка", + "backgroundJungleWateringHoleText": "Водопой в джунглях", + "backgroundJungleWateringHoleNotes": "Остановитесь, чтобы выпить воды у водопоя в джунглях.", + "backgroundMangroveForestText": "Мангровый лес", + "backgroundMangroveForestNotes": "Исследуйте окраины мангрового леса.", + "backgrounds032023": "Набор 106: Выпущен в марте 2023", + "backgroundOldTimeyBasketballCourtNotes": "Бросайте мяч в кольцо на олдскульной баскетбольной площадке.", + "backgroundInAPaintingText": "В картине", + "backgroundUnderWisteriaText": "Под глицинией", + "backgroundFlyingOverHedgeMazeText": "Пролетая над лабиринтом из живой изгороди", + "backgrounds052023": "Набор 108: Выпущен в Мае 2023", + "backgroundInAPaintingNotes": "Наслаждайтесь творчеством внутри картины", + "backgroundSpringtimeShowerNotes": "Понаблюдайте за весенним цветочным душем.", + "backgrounds042023": "Набор 107: Выпущен в Апреле 2023", + "backgroundLeafyTreeTunnelText": "Туннель из лиственных деревьев", + "backgroundLeafyTreeTunnelNotes": "Прогуляйтесь по тоннелю из лиственных деревьев.", + "backgroundSpringtimeShowerText": "Весенний душ", + "backgroundUnderWisteriaNotes": "Отдохните под глиницией.", + "backgroundFlyingOverHedgeMazeNotes": "Придите в восторг, пролетая над лабиринтом из живой изгороди.", + "backgroundCretaceousForestNotes": "Любоваться древней зеленью мелового леса", + "backgroundCretaceousForestText": "Лес мелового периода" } diff --git a/website/common/locales/ru/communityguidelines.json b/website/common/locales/ru/communityguidelines.json index ec9d5cfb6f..7bd2dae376 100644 --- a/website/common/locales/ru/communityguidelines.json +++ b/website/common/locales/ru/communityguidelines.json @@ -4,55 +4,55 @@ "commGuideHeadingWelcome": "Добро пожаловать в страну Habitica!", "commGuidePara001": "Приветствую вас, искатель приключений! Добро пожаловать в страну Habitica, землю продуктивности, здоровья и иногда свирепствующего грифона. Здесь вас ждет дружное сообщество, в котором много людей, всегда готовых помочь друг другу на пути самосовершенствования. Чтобы вписаться, все что требуется - это позитивное отношение, уважительная манера и понимание того, что у каждого есть разные навыки и ограничения - включая и вас! Жители страны Нabitica терпеливы друг с другом и стараются помочь, когда могут.", "commGuidePara002": "Для того, чтобы все были в безопасности и чувствовали себя счастливыми и продуктивными в нашем сообществе, у нас действуют определенные правила. Мы тщательно проработали их и сделали их настолько дружелюбными и легко воспринимаемыми, насколько это возможно. Пожалуйста, найдите время прочесть их, прежде чем вы начнете общаться.", - "commGuidePara003": "Эти правила действуют для всех мест, которые мы используем для общения, включая (но не ограничиваясь) Trello, GitHub, Weblate и Habitica Wiki на Fandom. В зависимости от роста сообществ и их изменений, правила этих сообществ могут время от времени меняться. Когда в это руководство будут внесены существенные изменения, вы сможете узнать об этом в объявлении Бэйли и/или в наших социальных сетях!", + "commGuidePara003": "Эти правила действуют для всех мест, которые мы используем для общения, включая (но не ограничиваясь) Trello, GitHub, Weblate и Habitica Wiki на Fandom. В зависимости от роста сообществ и их изменений, правила этих сообществ могут время от времени меняться. Когда в правила сообщества перечисленные здесь будут внесены существенные изменения, вы сможете узнать об этом в объявлении Бэйли и/или в наших социальных сетях!", "commGuideHeadingInteractions": "Быть гражданином страны Habitica", "commGuidePara015": "В Habitica есть 2 вида Общественных мест: публичные и приватные. Публичные места включают в себя таверну, публичные гильдии, GitHub, Trello и Wiki. В приватные входят приватные гильдии, чат команды и личные сообщения. Все отображаемые имена и пользовательские имена должны соблюдать Нормы поведения в публичном пространстве. Чтобы изменить ваше отображаемое имя и/или пользовательское имя, на телефоне: зайдите в Меню > Настройки > Профиль; в веб-версии: Пользователь > Настройки.", "commGuidePara016": "Посещая общественные места в стране Habitica, необходимо соблюдать определенные правила, чтобы все чувствовали себя спокойно и счастливо.", "commGuideList02A": "Уважайте друг друга. Будьте вежливы, добры, дружелюбны и отзывчивы. Помните: здесь все из разных мест и у всех свой собственный жизненный опыт, отличный от других. Отчасти именно это делает Habitica такой замечательной! Создание сообщества означает уважение, как к нашим различиям, так и к общим чертам.", - "commGuideList02B": "Следуйте всем правилам и условиям использования как в публичных, так и в приватных местах.", + "commGuideList02B": "Следуйте всем правилам и условиям использования как в публичных, так и в приватных местах.", "commGuideList02C": "Не размещайте изображения или текст, которые несут в себе элементы насилия, угроз или сексуального подтекста, или продвигают дискриминацию, фанатичные взгляды, расизм, ненависть, домогательства или причинение вреда любому индивидууму или группе. Даже в шутку или в качестве мема. Данный запрет также распространяется на оскорбления и утверждения. Не у всех одинаковое чувство юмора, и то, что вам кажется шуткой, другим человеком может быть воспринято крайне болезненно.", "commGuideList02D": "Ведите беседы в стиле, приемлемом для всех возрастов. А именно не затрагивайте взрослых тем в общественных местах. Не будем же посягать на невинность юности или препятствовать жителям Habitica в достижении их целей. Мы имеем не малое число молодых жителей Habitica, посещающих сайт, а также людей из разных слоев общества. Мы хотим, чтобы наше сообщество было комфортным и инклюзивным на столько, на сколько это возможно.", - "commGuideList02E": "Избегайте ненормативной лексики, а также её сокращенные или скрытые формы. Это также касается и более мягких, религиозно окрашенных поруганий, которые могли бы быть приемлемы в других местах. Наши пользователи исповедуют разные религии и имеют различный культурный опыт, и мы хотим быть уверены, что все они чувствуют себя комфортно в публичном пространстве. Если модератор или член команды сайта заявляет, что используемое вами выражение недопустимо в стране Habitica, его решение является окончательным. Даже если вы не видите в нем ничего оскорбительного. Кроме этого, унижение пользователей будет строго наказываться и также является нарушением наших Правил предоставления сервиса.", + "commGuideList02E": "Избегайте ненормативной лексики, а также её сокращенные или скрытые формы. Наши пользователи исповедуют разные религии и имеют различный культурный опыт, и мы хотим быть уверены, что все они чувствуют себя комфортно в публичном пространстве. Если член команды сайта заявляет, что используемое вами выражение недопустимо в стране Habitica, его решение является окончательным. Даже если вы не видите в нем ничего оскорбительного. Кроме этого, унижение пользователей будет строго наказываться и также является нарушением наших Правил предоставления сервиса.", "commGuideList02F": "Избегайте продолжительных обсуждений спорных тем в таверне и там, где это будет вне темы. Если кто-то упоминает что-нибудь, разрешенное руководящими принципами, но причиняющее вам вред, можно вежливо сообщить им об этом. Если кто-то говорит вам, что вы поставили его в неловкое положение, найдите время, чтобы поразмыслить, вместо того чтобы отвечать гневом. Но если вы чувствуете, что общение становится жарким, чрезмерно эмоциональным или обидным, прекратите разговор. Вместо этого, пометьте посты, чтобы сообщить нам об этом. Модераторы ответят как можно быстрее. Вы также можете отправить письмо на admin@habitica.com и прикрепить скриншоты, если они могут быть полезны.", - "commGuideList02G": "Исполняйте запросы модератора не откладывая. Это может включать (но не ограничивается) запросы на ограничение ваших сообщений в определенном круге, редактирование вашего профиля для удаления неподходящего контента, запрос на перемещение обсуждения в более подходящее место и т. д. Не спорьте с модераторами. Если у вас есть вопросы или комментарии по поводу модерации, отправьте электронное письмо admin@habitica.com , чтобы связаться с нашим менеджером сообщества.", + "commGuideList02G": "Исполняйте запросы сотрудников Habitica не откладывая. Это может включать (но не ограничивается) запросы на ограничение ваших сообщений в определенном круге, редактирование вашего профиля для удаления неподходящего контента, запрос на перемещение обсуждения в более подходящее место и т. д. Не спорьте с сотрудниками Habitica. Если у вас есть вопросы или комментарии по поводу деятельности сотрудников, отправьте электронное письмо admin@habitica.com , чтобы связаться с нашим менеджером сообщества.", "commGuideList02J": "Не распространяйте спам. Под спам входит, но не ограничивается: публикация одного и того же комментария или запроса в нескольких местах, размещение ссылок без объяснения или контекста, публикацию бессмысленных сообщений, размещение нескольких рекламных сообщений о гильдии, партии, испытании или размещение нескольких сообщений подряд. Если люди, нажимая на ссылку, принесут вам какую-либо выгоду, вам необходимо раскрыть это в тексте вашего сообщения, иначе оно также будет считаться спамом. Модераторы могут решать, что считать спамом, по своему усмотрению.", "commGuideList02K": "Избегайте размещения большого текста в заголовках в публичных чатах, особенно в таверне. Как и выделенние слов ПРОПИСНЫМИ выглядит, как будто вы вопите, тем самым мешаете комфортной атмосфере.", - "commGuideList02L": "Мы крайне не рекомендуем раскрывать персональную информацию — в частности, информацию, с помощью которой можно установить вашу личность — в открытых чатах. К такой информации может относится: адрес, электронная почта, токен API и пароль. Это ради вашей безопасности! Сотрудники или модераторы могут удалять такие сообщения на свое усмотрение. Если в закрытой гильдии, команде или в личном сообщении вас попросили раскрыть персональную информацию, мы рекомендуем вежливо отказаться и оповестить сотрудников и модераторов: 1) пометить флажком сообщение или 2) отправить письмо на почтовый ящик admin@habitica.com и прикрепить скриншоты.", + "commGuideList02L": "Мы крайне не рекомендуем раскрывать персональную информацию — в частности, информацию, с помощью которой можно установить вашу личность — в открытых чатах. К такой информации может относится: адрес, электронная почта, токен API и пароль. Это ради вашей безопасности! Сотрудники могут удалять такие сообщения на свое усмотрение. Если в закрытой гильдии, команде или в личном сообщении вас попросили раскрыть персональную информацию, мы рекомендуем вежливо отказаться и оповестить сотрудников: 1) пометить флажком сообщение или 2) отправить письмо на почтовый ящик admin@habitica.com и прикрепить скриншоты.", "commGuidePara019": "В частных местах пользователи могут обсуждать темы, какие хотят, но они все равно не должны нарушать Правила и условия, включая публикацию оскорблений или любого дискриминационного, насильственного или угрожающего содержания. Обращаем внимание на то, что имена в испытаниях должны подчиняться Нормам поведения в публичном пространстве, даже если они появляются в приватных местах.", "commGuidePara020": "Личные сообщения (ЛС) имеют некоторые дополнительные рекомендации. Если кто-то заблокировал вас, не связывайтесь с ними где-либо еще, чтобы попросить разблокировать вас. Кроме того, вы не должны писать в ЛС кому-то с просьбой о поддержке (поскольку ответы на вопросы поддержки полезны для сообщества). Наконец, не пишите никому в ЛС, с просьбой о платном контенте любого рода.", - "commGuidePara020A": "Если вы увидите пост или личное сообщение, которое, по вашему мнению, нарушает нормы поведения в публичном пространстве, указанные выше, или видите пост или личное сообщение, беспокоящее или раздражающее вас, вы можете попросить обратить на него внимание модераторов и сотрудников, нажав на флаг сообщения о нарушении. Сотрудник или модератор отреагирует на ситуацию, как только сможет. Пожалуйста, обратите внимание, что преднамеренная пометка безвредных постов как нарушающих правила также является нарушением данных правил (см. ниже в разделе «Нарушения»). Вы также можете связаться с модераторами, отправив письмо на admin@habitica.com. Вы можете сделать это, если в разных гильдиях есть несколько проблемных сообщений одного и того же человека, или если ситуация требует некоторого объяснения. Вы можете связаться с нами на родном языке, если вам это проще: нам, возможно, придется использовать Google Translate, но мы хотим, чтобы вы чувствовали себя комфортно, обратившись к нам, если у вас есть проблема.", + "commGuidePara020A": "Если вы увидите пост или личное сообщение, которое, по вашему мнению, нарушает нормы поведения в публичном пространстве, указанные выше, или видите пост или личное сообщение, беспокоящее или раздражающее вас, вы можете попросить обратить на него внимание сотрудников, нажав на флаг сообщения о нарушении. Сотрудник отреагирует на ситуацию, как только сможет. Пожалуйста, обратите внимание, что преднамеренная пометка безвредных постов как нарушающих правила также является нарушением данных правил (см. ниже в разделе «Нарушения»). Вы также можете связаться с сотрудниками, отправив письмо на admin@habitica.com. Вы можете сделать это, если в разных гильдиях есть несколько проблемных сообщений одного и того же человека, или если ситуация требует некоторого объяснения. Вы можете связаться с нами на родном языке, если вам это проще: нам, возможно, придется использовать Google Translate, но мы хотим, чтобы вы чувствовали себя комфортно, обратившись к нам, если у вас есть проблема.", "commGuidePara021": "Кроме того, в некоторых публичных местах страны Habitica действуют дополнительные правила.", "commGuideHeadingTavern": "Таверна", "commGuidePara022": "Таверна — главное место тусовки в стране Habitica . Бармен Даниэль следит за тем, чтобы всё блестело от чистоты, а Лемонесса с радостью нальёт вам лимонаду пока вы сидите и общаетесь. Просто имейте в виду…", - "commGuidePara023": "Разговоры обычно ведутся на общие темы, а также о продуктивности или самосовершенствовании.. Так как чат в Таверне не отображает более 200 сообщений, а потому это не самое лучшее место для длительных обсуждений любых тем, особенно деликатных (например, политика, религия, депрессия, необходимость запрета охоты на гоблинов и т.д.). Все эти обсуждения должны проходить в стенах соответствующей гильдии. Модератор может направить вас в подходящую гильдию, но обычно вы несете ответственность за поиск подходящего места для своих сообщений.", + "commGuidePara023": "Разговоры обычно ведутся на общие темы, а также о продуктивности или самосовершенствовании.. Так как чат в Таверне не отображает более 200 сообщений, а потому это не самое лучшее место для длительных обсуждений любых тем, особенно деликатных или спорных (например, политика, религия, депрессия, необходимость запрета охоты на гоблинов и т.д.). Все эти обсуждения должны проходить в стенах соответствующей гильдии. Сотрудник может направить вас в подходящую гильдию, но обычно вы несете ответственность за поиск подходящего места для своих сообщений.", "commGuidePara024": "Не обсуждайте зависимости в Таверне. Многие люди используют Habitica чтобы попытаться избавиться от своих вредных привычек. Услышав, что люди говорят об аддиктивных/незаконных веществах, может им только повредить! Намотайте это себе на ус, уважайте товарищей по Таверне. Сюда относятся по меньшей мере курение, алкоголь, порнография, азартные игры и наркотики.", "commGuidePara027": "Когда модератор направляет вас к разговору в другом месте, если нет соответствующей Гильдии, они могут предложить вам использовать Задний угол. Гильдия Задний угол - это открытая публичная площадка для обсуждения деликатных вопросов и она осторожно модерируется. Это не место для общих разговоров и дискуссий, и вы можете быть перенаправлены туда модератором только тогда, когда это будет уместно.", "commGuideHeadingPublicGuilds": "Открытые гильдии", "commGuidePara029": "Публичные гильдии в отличие от Таверны сосредоточены на определенной теме в обсуждениях. Чат гильдии должен быть сфокусирован именно на ней. Например, члены гильдии писателей не должны обсуждать садоводство вместо писательства, а Драконоборцы не должны интересоваться расшифровкой древних рун. Некоторые гильдии менее строги на этот счет, другие более, но всё же, старайтесь не отдаляться от темы!", "commGuidePara031": "В некоторых публичных гильдиях обсуждаются деликатные темы, такие как депрессия, религия, политика и т.д. Это нормально до тех пор, пока участники обсуждений не нарушают Правила и Условия или Нормы Поведения в Общественных Местах, и до тех пор, пока они не отвлекаются от основной темы.", "commGuidePara033": "Открытые гильдии НЕ могут содержать материалы для взрослых (18+). Если в гильдии планируется частое обсуждение подобного контента, это должно быть указано в описании гильдии. Это делается для того, чтобы Habitica была безопасной и удобной для каждого.", - "commGuidePara035": "Если гильдия обсуждает различные деликатные вопросы, то уважительным отношением к сообществу было бы разместить своё сообщение под предупреждением (например: «Осторожно: обсуждение аутоагрессии»). Это можно охарактеризовать как предупреждения о триггерах и/или примечания о содержании, и в гильдиях могут быть свои правила в дополнение к означенным здесь. Если возможно, используйте форматирование для скрытия потенциально деликатного контента под разрывом страницы, чтобы те, кто хочет избежать его чтения, могли перелистнуть её, не просматривая. Разработчики и модераторы также могут удалить материал по своему усмотрению.", + "commGuidePara035": "Если гильдия обсуждает различные деликатные вопросы, то уважительным отношением к сообществу было бы разместить своё сообщение под предупреждением (например: «Осторожно: обсуждение аутоагрессии»). Это можно охарактеризовать как предупреждения о триггерах и/или примечания о содержании, и в гильдиях могут быть свои правила в дополнение к означенным здесь. Разработчики Habitica также могут удалить материал по своему усмотрению.", "commGuidePara036": "Также деликатные материалы должны быть уместны - упоминание аутоагрессии в гильдии, посвящённой борьбе с депрессией, может быть нормально, но в гильдии о музыке оно будет менее уместно. Если вы видите кого-то, кто часто нарушает эту инструкцию, особенно после нескольких предупреждений, пожалуйста, сообщите об этом, нажав на \"пожаловаться\" под постом.", "commGuidePara037": "Никакие гильдии, публичные или приватные, не должны создаваться с целью нападок на любую группу или индивидуума. Создание подобной Гильдии будет служить основанием для немедленного бана аккаунта. Сражайтесь с плохими привычками, а с не другими искателями приключений!", "commGuidePara038": "Все испытания в Таверне и Открытых Гильдий также должны подчиняться этим правилам.", "commGuideHeadingInfractionsEtc": "Нарушения, Последствия и Восстановление", "commGuideHeadingInfractions": "Нарушения", - "commGuidePara050": "Безусловно, в стране Habitica люди помогают друг другу, уважают друг друга и всячески стараются вместе сделать сообщество более веселым и дружным. Однако, некоторые их действия могут быть прямыми нарушениями каких-либо из вышеуказанных правил. В таком случае модераторы сделают всё, что посчитают нужным сделать для спокойствия и комфорта всех граждан страны Habitica.", - "commGuidePara051": "Нарушения бывают разными и подход к каждому зависит от степени его серьезности. Эти данные не являются окончательными списками и модераторы могут принимать решения по темам, не охваченным здесь, поступая по своему усмотрению и учитывая контекст при оценке нарушения.", + "commGuidePara050": "Безусловно, в стране Habitica люди помогают друг другу, уважают друг друга и всячески стараются вместе сделать сообщество более веселым и дружным. Однако, некоторые их действия могут быть прямыми нарушениями каких-либо из вышеуказанных правил. В таком случае сотрудники сделают всё, что посчитают нужным сделать для спокойствия и комфорта всех граждан страны Habitica.", + "commGuidePara051": "Нарушения бывают разными и подход к каждому зависит от степени его серьезности. Эти данные не являются окончательными списками и сотрудники могут принимать решения по темам, не охваченным здесь, поступая по своему усмотрению и учитывая контекст при оценке нарушения.", "commGuideHeadingSevereInfractions": "Серьезные нарушения", "commGuidePara052": "Серьезные нарушения наносят большой ущерб сообществу и пользователям и имеют серьезные последствия.", "commGuidePara053": "Вот примеры серьезных нарушений (это не полный перечень).", "commGuideList05A": "Нарушение Правил и Условий", "commGuideList05B": "Агрессивная Речь / Изображения, Преследование, Киберзапугивание, Флэйминг, и Троллинг", "commGuideList05C": "Непрохождение испытательного срока", - "commGuideList05D": "Выдавать себя за Администратора или Модератора - это включает в себя утверждения, что созданные пользователями пространства, не связанные с Habitica, являются официальными и/или модерируются Habitica или ее модераторами/персоналом", + "commGuideList05D": "Выдавать себя за Администратора/сотрудника - это включает в себя утверждения, что созданные пользователями пространства, не связанные с Habitica, являются официальными и/или модерируются Habitica или ее персоналом", "commGuideList05E": "Повторные нарушения средней значимости", "commGuideList05F": "Создание дублирующей учетной записи во избежание последствий (например, создание новой учетной записи для чата после блокировки)", - "commGuideList05G": "Преднамеренный обман персонала или модераторов во избежание последствий или беспокойство другого пользователя", + "commGuideList05G": "Преднамеренный обман персонала или во избежание последствий или беспокойство другого пользователя", "commGuideHeadingModerateInfractions": "Нарушения средней значимости", "commGuidePara054": "Умеренные нарушения не делают наше сообщество небезопасным, не делают его неприятным. Эти нарушения будут иметь свои умеренные последствия. В совокупности же с многочисленными другими нарушениями последствия могут стать довольно серьезными.", "commGuidePara055": "Здесь представлены некоторые примеры нарушений средней тяжести (не является точным списком).", - "commGuideList06A": "Игнорирование, неуважение или споры с модераторами. Включает в себя публичные жалобы на модераторов или других пользователей, а также публичное прославление или защита заблокированных пользователей ли обсуждение того, подходит ли действие модератора. Если у вас возникли сомнения в одном из правил или в поведении модераторов, пожалуйста, свяжитесь с персоналом по почте (admin@habitica.com).", + "commGuideList06A": "Игнорирование, неуважение или споры с персоналом. Включает в себя публичные жалобы на сотрудников или других пользователей, а также публичное прославление или защита заблокированных пользователей ли обсуждение того, подходит ли действие сотрудника. Если у вас возникли сомнения в одном из правил или в поведении персонала, пожалуйста, свяжитесь по почте (admin@habitica.com).", "commGuideList06B": "Неавторизованное модерирование. Для ясности уточним, что в доброжелательном напоминании правил нет ничего плохого. Неавторизованное модерирование включает в себя уведомление пользователя о его ошибке и сообщение пользователю действий, которые необходимо предпринять для исправления ошибки. Вы можете сообщить нарушившему правила пользователю, в чем заключалась его ошибка, но не следует требовать от него каких-то действий. Например, лучше сказать: «В Таверне запрещена бранная речь, и если вы не хотите нарушать правила сообщества, то лучше удалить это сообщение» вместо: «Я вынужден попросить вас удалить данное сообщение.»", "commGuideList06C": "Намеренно помечая невинные посты.", "commGuideList06D": "Неоднократно нарушающие правила публичного общения", @@ -61,12 +61,12 @@ "commGuidePara056": "Незначительные нарушения не влекут за собой серьезных последствий, хотя и неодобряются. Однако регулярно повторяющиеся незначительные нарушения со временем могут привести к более серьезным последствиям.", "commGuidePara057": "Ниже приведены некоторые примеры незначительных нарушений (не является полным перечнем).", "commGuideList07A": "Первое нарушение норм поведения в публичном пространстве", - "commGuideList07B": "Любое высказывание или действие, вызывающее «Пожалуйста, не надо» от модераторов. Когда вас попросили не делать что-то на публике, это может иметь последствия. Если модераторам приходится решать проблемы, исходящие от одного и того же лица, это может считаться более серьезным нарушением", + "commGuideList07B": "Любое высказывание или действие, вызывающее «Пожалуйста, не надо» от члена персонала. Когда вас попросили не делать что-то на публике, это может иметь последствия. Если сотрудникам приходится решать проблемы, исходящие от одного и того же лица, это может считаться более серьезным нарушением", "commGuidePara057A": "Некоторые сообщения могут быть скрыты, потому что они содержат конфиденциальную информацию или могут дать людям неправильное представление. Обычно это не считается нарушением, особенно не в первый раз!", "commGuideHeadingConsequences": "Последствия", "commGuidePara058": "В стране Habitica все устроено так же, как и в реальной жизни: у каждого действия есть свои последствия. Вы становитесь стройнее от регулярных пробежек, приобретаете кариес, если едите слишком много сахара, или успешно сдаете экзамен, потому что вы к нему подготовились.", "commGuidePara059": "Таким образом, любое нарушение влечет за собой неотвратимые последствия. Некоторые из этих последствий описаны ниже.", - "commGuidePara060": "Если ваше нарушение имеет среднее или серьезное последствие, на форуме в котором произошло нарушение, появится сообщение от сотрудника или модератора, объясняющего:", + "commGuidePara060": "Если ваше нарушение имеет среднее или серьезное последствие, на форуме в котором произошло нарушение, в соответствии с обстоятельствами появится сообщение от сотрудника, объясняющего:", "commGuideList08A": "в чем заключается ваше нарушение", "commGuideList08B": "каковы его последствия", "commGuideList08C": "рекомендации по исправлению ситуации и восстановлению вашего положения (если это возможно).", @@ -121,13 +121,14 @@ "commGuideLink07": "Доска квестов: для добавления квеста.", "commGuidePara069": "Ниже приведены имена талантливых художников, участвовавших в создании иллюстраций к данной статье:", "commGuideList01F": "Не выпрашивайте платные предметы, не спамьте, и не используйте в тексте только заглавные буквы(капс).", - "commGuideList01E": "Не провоцируйте и не участвуйте в спорах в Таверне.", + "commGuideList01E": "Не провоцируйте и не участвуйте в спорах в Таверне.", "commGuideList01C": "Все обсуждения должны подходить для всех возрастов и не содержать ненормативной лексики.", "commGuideList01B": "Запрещено: любое общение с применением насилия, угроз, пропаганды, дискриминации и т.д., Включая мемы, картинки и шутки.", "commGuideList01A": "Положения и условия применяются ко всем социальным местам, включая частные гильдии, групповой чат и сообщения.", "commGuidePara017": "Это краткая версия, но мы рекомендуем вам прочитать более подробно ниже:", "commGuideList09D": "Удаление или понижение ранга участника", "commGuideList05H": "Серьезные или неоднократные попытки обмануть или оказать давление на других игроков с целью получения предметов за реальные деньги", - "commGuideList01D": "Пожалуйста, выполняйте запросы модераторов.", - "commGuideList02M": "Не просите драгоценные камни, подписку или членство в группу. Это запрещено в Таверне, общественных или частных чатах, или личных сообщениях. Если вы получаете сообщения с просьбой о платных товарах, пожалуйста, сообщите о них, отметив их. Повторное или серьезное вымогательство драгоценных камней или подписки, особенно после предупреждения, может привести к блокировке аккаунта." + "commGuideList01D": "Пожалуйста, выполняйте запросы сотрудников Habitica.", + "commGuideList02M": "Не просите драгоценные камни, подписку или членство в группу. Это запрещено в Таверне, общественных или частных чатах, или личных сообщениях. Если вы получаете сообщения с просьбой о платных товарах, пожалуйста, сообщите о них, отметив их. Повторное или серьезное вымогательство драгоценных камней или подписки, особенно после предупреждения, может привести к блокировке аккаунта.", + "commGuideList02N": "Отметьте и сообщайте о публикациях, нарушающих настоящие Правила или Условия использования.Мы постараемся обработать их как можно скорее. Вы также можете сообщить персонал через admin@habitica.com, но репорт – это самый быстрый способ получить помощь." } diff --git a/website/common/locales/ru/faq.json b/website/common/locales/ru/faq.json index 3daf8c2593..9c7d8ca9f2 100644 --- a/website/common/locales/ru/faq.json +++ b/website/common/locales/ru/faq.json @@ -56,5 +56,53 @@ "androidFaqStillNeedHelp": "Если у вас есть вопрос, которого нет в этом списке или в [ЧаВо на Вики](https://habitica.fandom.com/ru/wiki/ЧаВо), задайте его в чате Таверны через Меню > Таверна! Мы с радостью поможем вам.", "webFaqStillNeedHelp": "Если у вас есть вопрос, которого нет в этом списке или в [ЧаВо на Вики](https://habitica.fandom.com/ru/wiki/ЧаВО), задайте его в [Гильдии новичков](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Мы с радостью поможем вам.", "faqQuestion13": "Что такое групповые планы?", - "webFaqAnswer13": "## Как работают групповые планы?\n\n[Групповой план](/group-plans) дает вашей команде или гильдии доступ к общему списку задач, который похож на ваш персональный список задач! Это совместный опыт использования Habitica, где задачи могут быть созданы и выполнены любым членом группы.\n\nТакже доступны такие функции, как роли участников группы, просмотр статуса заданий и назначение заданий участникам группы, которые обеспечивают больший контроль при выполнении общих задач. [Посетите нашу вики](https://habitica.fandom.com/wiki/Group_Plans), чтобы узнать больше о особенностях групповых планов!\n\n## Кому выгоден групповой план?\n\nГрупповые планы наиболее эффективны, когда у вас есть небольшая команда людей, желающих сотрудничать вместе. Мы рекомендуем группу состоящую из 2-5 человек.\n\nГрупповые планы отлично подходят для семей, будь то родители с детьми или вы с вашим партнером. Общие цели, домашние дела или обязанности легко отслеживать с помощью общего списка задач.\n\nГрупповые планы также могут быть полезны для команд коллег, имеющих общие цели, или менеджеров, которые хотят познакомить своих сотрудников с геймификацией.\n\n## Краткие советы по работе в группе\n\nВот несколько кратких советов, которые помогут вам начать использовать групповые планы. Более подробную информацию мы предоставим в следующих разделах:\n\n* Сделайте участника менеджером, чтобы дать ему возможность создавать и редактировать задания.\n* Оставьте задание не назначенным, если любой может его выполнить, и оно должно быть выполнено только один раз.\n* Назначьте задание одному человеку, чтобы убедиться, что никто другой не сможет выполнить его задание.\n* Назначьте задачу нескольким людям, если все они должны ее выполнить.\n* Включите функцию отображения общих задач в вашем персональном списке задач, чтобы ничего не пропустить.\n* Вы получите вознаграждение за выполненные задания, даже если они назначены нескольким участникам группы.\n* Награды за выполнение заданий не делятся и не распределяются между членами команды\n* По цвету заданий в общем списке задач, можно определить среднее время выполнения данных заданий.\n* Регулярно просматривайте задания в вашем общем списке задач, чтобы убедиться, что они все еще актуальны.\n* Пропуск ежедневного задания не нанесет урона ни вам, ни вашей команде, но цвет задания ухудшится.\n\n## Как другие члены группы могут создавать задания?\n\nТолько лидер группы и менеджеры могут создавать задания. Если вы хотите, чтобы член группы мог создавать задания, то вам следует повысить его статус до менеджера, перейдя на вкладку Информация о группе, просмотрев список членов группы и нажав на значок точек напротив его имени.\n\n## Как работает назначение задачи?\n\nГрупповые планы дают вам уникальную возможность назначать задания другим членам группы. Назначение задачи отлично подходит для делегирования. Если вы назначаете задание кому-то одному, то другие члены группы лишаются возможности выполнить его.\n\nВы также можете назначить задачу нескольким людям, если она должна быть выполнена несколькими членами группы. Например, если все должны почистить зубы, создайте задачу и назначьте ее каждому члену группы. Все они смогут ее выполнить и получить за это индивидуальное вознаграждение. Основное задание будет считаться выполненным, как только все его выполнят.\n\n## Как работают неназначенные задания?\n\nНеназначенные задания могут быть выполнены любым членом группы, поэтому оставьте задание неназначенным, чтобы любой член группы мог его выполнить. Например, вынести мусор. Тот, кто выносит мусор, может выполнить неназначенное задание, и оно будет отображаться как выполненное для всех.\n\n## Как работает синхронизированный сброс дня?\n\nОбщие задачи будут сбрасываться в одно и то же время для всех, чтобы общих список задач был синхронизирован. Это время отображается в общем списке задач и определяется временем начала дня лидера группы. Поскольку общие задания сбрасываются автоматически, у вас не будет возможности завершить вчерашние незавершенные общие ежедневные задания, когда вы зайдете на следующее утро.\n\nОбщие ежедневные задания не наносят ущерба, если они пропущены, однако их цвет будет ухудшаться, чтобы помочь визуализировать прогресс. Мы не хотим, чтобы совместный опыт работы был негативным!\n\n## Как пользоваться групповыми планами в мобильных приложениях?\n\nХотя мобильные приложения еще не полностью поддерживают все функции групповых планов, вы все равно можете выполнять общие задачи из приложения для iOS и Android, копируя задачи на свою личную доску задач. Вы можете включить эту функцию в настройках в мобильных приложениях или на доске общих задач в браузерной версии. Теперь открытые и назначенные общие задачи будут отображаться на вашей личной доске задач на всех платформах.\n\n## В чем разница между общими заданиями в группе и испытаниями?\n\nОбщие списки задач группового плана более динамичны, чем испытания, поскольку их можно постоянно обновлять и взаимодействовать с ними. Испытания отлично подходят, если у вас есть один набор задач, который нужно будет выполнить большому количеству людей.\n\nГрупповые планы также являются платной функцией, в то время как испытания доступны бесплатно для всех.\n\nВ испытаниях нельзя назначать конкретные задачи, и в испытаниях нет общего сброса суток. В целом, испытания предоставляют меньше возможностей для контроля и прямого взаимодействия." + "webFaqAnswer13": "## Как работают групповые планы?\n\n[Групповой план](/group-plans) дает вашей команде или гильдии доступ к общей доске заданий, аналогичной вашей личной доске заданий! Это общее пространство, где задания могут создаваться и отмечаться всеми членами группы.\n\nТакже доступны такие функции, как роли участников, просмотр статуса и назначение заданий, которые позволяют вам получить более контролируемый опыт. [Посетите нашу вики](https://habitica.fandom.com/wiki/Group_Plans), чтобы узнать больше о возможностях наших групповых планов!\n\n## Кому выгоден групповой план?\n\nГрупповые планы лучше всего работают, когда у вас есть небольшая команда людей, которые хотят объединиться. Мы рекомендуем от 2 до 5 участников.\n\nГрупповые планы отлично подходят для семей, будь то родители с детьми или вы с партнером. Общие цели, дела или обязанности легко отслеживать на одной доске.\n\nГрупповые планы также могут быть полезны для команд коллег, имеющих общие цели, или для менеджеров, которые хотят познакомить своих сотрудников с принципом геймификацией.\n\n## Краткие советы по использованию групп\n\nВот несколько кратких советов, которые помогут вам начать работу с вашей новой группой. Более подробную информацию мы предоставим в виде следующих советов:\n\n* Сделайте члена группы менеджером, чтобы дать ему возможность создавать и редактировать задания.\n* Оставляйте задания не назначенными, если любой может их выполнить, и это нужно сделать только один раз.\n* Назначить задание одному человеку, чтобы убедиться, что никто другой не сможет выполнить его задание.\n* Назначить задачу нескольким людям, если все они должны ее выполнить.\n* Переключите возможность отображения общих задач на вашей личной доске, чтобы ничего не пропустить.\n* Вы получаете вознаграждение за выполненные задания, даже многократно назначенные.\n* Вознаграждения за выполнение задач не делятся и не распределяются между членами команды.\n* Используйте цвет задач на командной доске, чтобы оценить средний уровень выполнения задач.\n* Регулярно просматривайте задания на вашей командной доске, чтобы убедиться, что они все еще актуальны.\n* Пропуск дня не повредит ни вам, ни вашей команде, но цвет задания ухудшится.\n\n## Как другие члены группы могут создавать задания?\n\nТолько лидер группы и менеджеры могут создавать задания. Если вы хотите, чтобы член группы мог создавать задания, то вам следует повысить его до менеджера, перейдя на вкладку Информация о группе, просмотрев список членов группы и нажав на значок точки напротив его имени.\n\n## Как работает назначение задачи?\n\nГрупповые планы дают вам уникальную возможность назначать задания другим членам группы. Назначение задачи отлично подходит для делегирования. Если вы назначаете задачу кому-то одному, то другие члены группы лишаются возможности ее выполнить.\n\nВы также можете назначить задание нескольким людям, если оно должно быть выполнено несколькими членами группы. Например, если все должны почистить зубы, создайте задание и назначьте его каждому члену группы. Все они смогут отметить ее выполнение и получить за это индивидуальное вознаграждение. Основная задача будет считаться выполненной, как только все отметят ее.\n\n## Как работают неназначенные задания?\n\nНеназначенные задания могут быть выполнены любым членом группы, поэтому оставьте задание неназначенным, чтобы любой член группы мог его выполнить. Например, вынести мусор. Тот, кто выносит мусор, может отметить неназначенное задание, и оно будет отображаться как выполненное для всех.\n\n## Как работает синхронизированный сброс дня?\n\nОбщие задачи сбрасываются в одно и то же время для всех, чтобы доска общих задач была синхронизирована. Это время видно на доске общих задач и определяется временем начала дня лидера группы. Поскольку общие задания сбрасываются автоматически, у вас не будет возможности завершить вчерашние незавершенные общие ежедневные дела, когда вы будете регистрироваться на следующее утро.\n\nОбщие ежедневные дела не наносят ущерба, если они пропущены, однако их цвет ухудшается, чтобы помочь визуализировать прогресс. Мы не хотим, чтобы совместный опыт был негативным!\n\n## Как использовать мою группу в мобильных приложениях?\n\nХотя мобильные приложения еще не полностью поддерживают все функции групповых планов, вы все равно можете выполнять общие задачи из приложений для iOS и Android, копируя задачи на свою личную доску задач. Вы можете включить эту функцию в настройках мобильных приложений или на доске групповых задач в браузерной версии. Теперь открытые и назначенные общие задачи будут отображаться на вашей личной доске задач на всех платформах.\n\n## В чем разница между общими задачами и испытаниями?\n\nДоски общих задач группового плана более динамичны, чем испытания, в том смысле, что их можно постоянно обновлять и взаимодействовать с ними. Испытания отлично подходят, если у вас есть один набор задач, которые нужно разослать многим людям.\n\nГрупповые планы также являются платной функцией, в то время как испытания доступны бесплатно для всех.\n\nВ испытаниях нельзя назначать конкретные задачи, и в испытаниях нет общего сброса дня. В целом, испытания предлагают меньше контроля и прямого взаимодействия.", + "iosFaqAnswer13": "## Как работают групповые планы?\n\n[Групповой план](/group-plans) дает вашей команде или гильдии доступ к общей доске заданий, аналогичной вашей личной доске заданий! Это общее пространство, где задания могут создаваться и отмечаться всеми членами группы.\n\nТакже доступны такие функции, как роли участников, просмотр статуса и назначение заданий, которые позволяют вам получить более контролируемый опыт. [Посетите нашу вики](https://habitica.fandom.com/wiki/Group_Plans), чтобы узнать больше о возможностях наших групповых планов!\n\n## Кому выгоден групповой план?\n\nГрупповые планы лучше всего работают, когда у вас есть небольшая команда людей, которые хотят объединиться. Мы рекомендуем от 2 до 5 участников.\n\nГрупповые планы отлично подходят для семей, будь то родители с детьми или вы с партнером. Общие цели, дела или обязанности легко отслеживать на одной доске.\n\nГрупповые планы также могут быть полезны для команд коллег, имеющих общие цели, или для менеджеров, которые хотят познакомить своих сотрудников с принципом геймификацией.\n\n## Краткие советы по использованию групп\n\nВот несколько кратких советов, которые помогут вам начать работу с вашей новой группой. Более подробную информацию мы предоставим в виде следующих советов:\n\n* Сделайте члена группы менеджером, чтобы дать ему возможность создавать и редактировать задания.\n* Оставляйте задания не назначенными, если любой может их выполнить, и это нужно сделать только один раз.\n* Назначить задание одному человеку, чтобы убедиться, что никто другой не сможет выполнить его задание.\n* Назначить задачу нескольким людям, если все они должны ее выполнить.\n* Переключите возможность отображения общих задач на вашей личной доске, чтобы ничего не пропустить.\n* Вы получаете вознаграждение за выполненные задания, даже многократно назначенные.\n* Вознаграждения за выполнение задач не делятся и не распределяются между членами команды.\n* Используйте цвет задач на командной доске, чтобы оценить средний уровень выполнения задач.\n* Регулярно просматривайте задания на вашей командной доске, чтобы убедиться, что они все еще актуальны.\n* Пропуск дня не повредит ни вам, ни вашей команде, но цвет задания ухудшится.\n\n## Как другие члены группы могут создавать задания?\n\nТолько лидер группы и менеджеры могут создавать задания. Если вы хотите, чтобы член группы мог создавать задания, то вам следует повысить его до менеджера, перейдя на вкладку Информация о группе, просмотрев список членов группы и нажав на значок точки напротив его имени.\n\n## Как работает назначение задачи?\n\nГрупповые планы дают вам уникальную возможность назначать задания другим членам группы. Назначение задачи отлично подходит для делегирования. Если вы назначаете задачу кому-то одному, то другие члены группы лишаются возможности ее выполнить.\n\nВы также можете назначить задание нескольким людям, если оно должно быть выполнено несколькими членами группы. Например, если все должны почистить зубы, создайте задание и назначьте его каждому члену группы. Все они смогут отметить ее выполнение и получить за это индивидуальное вознаграждение. Основная задача будет считаться выполненной, как только все отметят ее.\n\n## Как работают неназначенные задания?\n\nНеназначенные задания могут быть выполнены любым членом группы, поэтому оставьте задание неназначенным, чтобы любой член группы мог его выполнить. Например, вынести мусор. Тот, кто выносит мусор, может отметить неназначенное задание, и оно будет отображаться как выполненное для всех.\n\n## Как работает синхронизированный сброс дня?\n\nОбщие задачи сбрасываются в одно и то же время для всех, чтобы доска общих задач была синхронизирована. Это время видно на доске общих задач и определяется временем начала дня лидера группы. Поскольку общие задания сбрасываются автоматически, у вас не будет возможности завершить вчерашние незавершенные общие ежедневные дела, когда вы будете регистрироваться на следующее утро.\n\nОбщие ежедневные дела не наносят ущерба, если они пропущены, однако их цвет ухудшается, чтобы помочь визуализировать прогресс. Мы не хотим, чтобы совместный опыт был негативным!\n\n## Как использовать мою группу в мобильных приложениях?\n\nХотя мобильные приложения еще не полностью поддерживают все функции групповых планов, вы все равно можете выполнять общие задачи из приложений для iOS и Android, копируя задачи на свою личную доску задач. Вы можете включить эту функцию в настройках мобильных приложений или на доске групповых задач в браузерной версии. Теперь открытые и назначенные общие задачи будут отображаться на вашей личной доске задач на всех платформах.\n\n## В чем разница между общими задачами и испытаниями?\n\nДоски общих задач группового плана более динамичны, чем испытания, в том смысле, что их можно постоянно обновлять и взаимодействовать с ними. Испытания отлично подходят, если у вас есть один набор задач, которые нужно разослать многим людям.\n\nГрупповые планы также являются платной функцией, в то время как испытания доступны бесплатно для всех.\n\nВ испытаниях нельзя назначать конкретные задачи, и в испытаниях нет общего сброса дня. В целом, испытания предлагают меньше контроля и прямого взаимодействия.", + "androidFaqAnswer13": "## Как работают групповые планы?\n\n[Групповой план](/group-plans) дает вашей команде или гильдии доступ к общей доске заданий, аналогичной вашей личной доске заданий! Это общее пространство, где задания могут создаваться и отмечаться всеми членами группы.\n\nТакже доступны такие функции, как роли участников, просмотр статуса и назначение заданий, которые позволяют вам получить более контролируемый опыт. [Посетите нашу вики](https://habitica.fandom.com/wiki/Group_Plans), чтобы узнать больше о возможностях наших групповых планов!\n\n## Кому выгоден групповой план?\n\nГрупповые планы лучше всего работают, когда у вас есть небольшая команда людей, которые хотят объединиться. Мы рекомендуем от 2 до 5 участников.\n\nГрупповые планы отлично подходят для семей, будь то родители с детьми или вы с партнером. Общие цели, дела или обязанности легко отслеживать на одной доске.\n\nГрупповые планы также могут быть полезны для команд коллег, имеющих общие цели, или для менеджеров, которые хотят познакомить своих сотрудников с принципом геймификацией.\n\n## Краткие советы по использованию групп\n\nВот несколько кратких советов, которые помогут вам начать работу с вашей новой группой. Более подробную информацию мы предоставим в виде следующих советов:\n\n* Сделайте члена группы менеджером, чтобы дать ему возможность создавать и редактировать задания.\n* Оставляйте задания не назначенными, если любой может их выполнить, и это нужно сделать только один раз.\n* Назначить задание одному человеку, чтобы убедиться, что никто другой не сможет выполнить его задание.\n* Назначить задачу нескольким людям, если все они должны ее выполнить.\n* Переключите возможность отображения общих задач на вашей личной доске, чтобы ничего не пропустить.\n* Вы получаете вознаграждение за выполненные задания, даже многократно назначенные.\n* Вознаграждения за выполнение задач не делятся и не распределяются между членами команды.\n* Используйте цвет задач на командной доске, чтобы оценить средний уровень выполнения задач.\n* Регулярно просматривайте задания на вашей командной доске, чтобы убедиться, что они все еще актуальны.\n* Пропуск дня не повредит ни вам, ни вашей команде, но цвет задания ухудшится.\n\n## Как другие члены группы могут создавать задания?\n\nТолько лидер группы и менеджеры могут создавать задания. Если вы хотите, чтобы член группы мог создавать задания, то вам следует повысить его до менеджера, перейдя на вкладку Информация о группе, просмотрев список членов группы и нажав на значок точки напротив его имени.\n\n## Как работает назначение задачи?\n\nГрупповые планы дают вам уникальную возможность назначать задания другим членам группы. Назначение задачи отлично подходит для делегирования. Если вы назначаете задачу кому-то одному, то другие члены группы лишаются возможности ее выполнить.\n\nВы также можете назначить задание нескольким людям, если оно должно быть выполнено несколькими членами группы. Например, если все должны почистить зубы, создайте задание и назначьте его каждому члену группы. Все они смогут отметить ее выполнение и получить за это индивидуальное вознаграждение. Основная задача будет считаться выполненной, как только все отметят ее.\n\n## Как работают неназначенные задания?\n\nНеназначенные задания могут быть выполнены любым членом группы, поэтому оставьте задание неназначенным, чтобы любой член группы мог его выполнить. Например, вынести мусор. Тот, кто выносит мусор, может отметить неназначенное задание, и оно будет отображаться как выполненное для всех.\n\n## Как работает синхронизированный сброс дня?\n\nОбщие задачи сбрасываются в одно и то же время для всех, чтобы доска общих задач была синхронизирована. Это время видно на доске общих задач и определяется временем начала дня лидера группы. Поскольку общие задания сбрасываются автоматически, у вас не будет возможности завершить вчерашние незавершенные общие ежедневные дела, когда вы будете регистрироваться на следующее утро.\n\nОбщие ежедневные дела не наносят ущерба, если они пропущены, однако их цвет ухудшается, чтобы помочь визуализировать прогресс. Мы не хотим, чтобы совместный опыт был негативным!\n\n## Как использовать мою группу в мобильных приложениях?\n\nХотя мобильные приложения еще не полностью поддерживают все функции групповых планов, вы все равно можете выполнять общие задачи из приложений для iOS и Android, копируя задачи на свою личную доску задач. Вы можете включить эту функцию в настройках мобильных приложений или на доске групповых задач в браузерной версии. Теперь открытые и назначенные общие задачи будут отображаться на вашей личной доске задач на всех платформах.\n\n## В чем разница между общими задачами и испытаниями?\n\nДоски общих задач группового плана более динамичны, чем испытания, в том смысле, что их можно постоянно обновлять и взаимодействовать с ними. Испытания отлично подходят, если у вас есть один набор задач, которые нужно разослать многим людям.\n\nГрупповые планы также являются платной функцией, в то время как испытания доступны бесплатно для всех.\n\nВ испытаниях нельзя назначать конкретные задачи, и в испытаниях нет общего сброса дня. В целом, испытания предлагают меньше контроля и прямого взаимодействия.", + "general": "Общее", + "faqQuestion15": "Как происходит поиск команды?", + "faqQuestion16": "Как долго я буду искать команду после присоединения к списку?", + "faqQuestion17": "Могу ли я прекратить поиск команды?", + "faqQuestion18": "У меня есть команда, как я могу найти больше участников?", + "iosFaqAnswer16": "Вы будете оставаться в списке до тех пор, пока не примете приглашение в команду или не войдете в него в течение 7 дней, в зависимости от того, что наступит раньше. Если вы войдете в систему после 7-дневного перерыва, мы автоматически добавим вас обратно в список, если у вас нет нерассмотренного приглашения.", + "faqQuestion19": "Какое максимальное количество участников я могу пригласить в команду?", + "iosFaqAnswer19": "Максимальное количество участников команды – 30 человек, минимальное – 1 человек. Нерассмотренные приглашения учитываются при подсчете количества участников. Например, 29 участников и 1 отложенное приглашение считаются за 30 участников. Чтобы отменить ожидающееся приглашение, приглашенный игрок должен принять или отказаться, или лидер партии должен отменить приглашение.", + "webFaqAnswer19": "Максимальное количество участников команды – 30 человек, минимальное – 1 человек. Нерассмотренные приглашения учитываются при подсчете количества участников. Например, 29 участников и 1 отложенное приглашение считаются за 30 участников. Чтобы отменить ожидающееся приглашение, приглашенный игрок должен принять или отказаться, или лидер партии должен отменить приглашение.", + "faqQuestion20": "Как я могу пригласить кого-то, кого я уже знаю?", + "faqQuestion21": "Как я могу отменить ожидающееся приглашение в мою команду?", + "faqQuestion22": "Как остановить нежелательные приглашения?", + "faqQuestion23": "Как отфильтровать список участников, ищущих команду?", + "iosFaqAnswer23": "В настоящее время нет возможности фильтровать список участников, ищущих команду. Однако, мы планируем ввести фильтры в будущем, такие как класс, уровень и язык.", + "androidFaqAnswer23": "В настоящее время нет возможности фильтровать список участников, ищущих команду. Однако, мы планируем ввести фильтры в будущем, такие как класс, уровень и язык.", + "faqQuestion24": "Как мне найти команду на Android или iOS?", + "webFaqAnswer16": "Вы будете оставаться в списке до тех пор, пока не примете приглашение в команду или не войдете в него в течение 7 дней, в зависимости от того, что наступит раньше. Если вы войдете в систему после 7-дневного перерыва, мы автоматически добавим вас обратно в список, если у вас нет нерассмотренного приглашения.", + "iosFaqAnswer15": "После выбора пункта “Найти команду”, вы будете добавлены в список игроков, желающих присоединиться к команде. Лидеры команд могут просматривать этот список и отправлять приглашения. Получив приглашение, вы можете принять его из своих уведомлений и присоединиться к выбранной вами команде!\n\nВы можете получить несколько приглашений в разные команды. Однако, одновременно вы можете быть членом только одной команды.", + "androidFaqAnswer14": "Если вы хотите попробовать Habitica вместе с другими, но не знаете других игроков, поиск команды – лучший вариант! Если вы уже знаете других игроков, у которых есть команда, вы можете поделиться с ними своим именем @username, чтобы получить приглашение. Кроме того, вы можете создать новую команду и пригласить их, указав свое имя @username или адрес электронной почты.\n\nЧтобы создать или найти команду, выберите “Команда” в навигационном меню, а затем выберите подходящий для вас вариант.", + "androidFaqAnswer16": "Вы будете оставаться в списке до тех пор, пока не примете приглашение в команду или не войдете в него в течение 7 дней, в зависимости от того, что наступит раньше. Если вы войдете в систему после 7-дневного перерыва, мы автоматически добавим вас обратно в список, если у вас нет нерассмотренного приглашения.", + "androidFaqAnswer20": "Да! Если у вас уже есть имя пользователя или адрес электронной почты игрока Habitica, вы можете пригласить его присоединиться к вашей команде. Вот как отправить приглашение на разных платформах:\n\nНа сайте Habitica:\n\nПерейдите в свою команду и нажмите “Пригласить в команду” в правой части страницы.\n\nВ приложении для Android:\n\nНажмите пункт “Команда” в меню. Перейдите к разделу “Участники” и нажмите “Найти участников”, затем нажмите вкладку “По приглашению”.\n\nВ приложении для iOS:\n\nНажмите пункт “Команда” в меню. Перейдите к разделу \"Участники\" и нажмите “Пригласить участника”.", + "androidFaqAnswer21": "Чтобы отменить ожидающееся приглашение на сайте Habitica, выполните следующие действия:\n\n1. Нажмите на Список участников при просмотре своей команды.\n2. Перейдите на вкладку “Приглашения”.\n3. Нажмите на три точки рядом с приглашением пользователя, которое вы хотите отменить.\n4. Выберите “Отменить приглашение”.\n\nЧтобы отменить ожидающее приглашение в приложении для Android, выполните следующие действия:\n\n1. Прокрутите вниз до списка участников при просмотре вашей команды.\n2. В нижней части списка вы увидите отложенные приглашения.\n3. Нажмите кнопку “Отменить приглашение”.\n\nВскоре вы сможете отменить ожидающее приглашение и в приложении для iOS!", + "iosFaqAnswer22": "Как только вы присоединитесь к команде, вы перестанете получать приглашения. Если вы хотите предотвратить приглашения или сообщения от конкретного игрока, просмотрите его профиль и нажмите кнопку “Заблокировать”. В мобильных версиях нажмите на три точки в верхнем углу и выберите \"“Заблокировать”.\n\nЕсли вы столкнулись с ситуацией, в которой, по вашему мнению, другой игрок нарушил Правила сообщества в своем имени, профиле или отправленном им сообщении, пожалуйста, сообщайте о таких сообщениях или свяжитесь с нами по адресу admin@habitica.com.", + "parties": "Команды", + "faqQuestion14": "Как мне найти команду, если я ни в одной не состою?", + "iosFaqAnswer17": "Если вы больше не хотите искать команду, вы можете прекратить поиск в любое время.\n\nЧтобы прекратить поиск команды на сайте Habitica, выполните следующие действия:\n\n1. Выберите раздел “Команда” в навигационном меню сайта.\n2. Нажмите “Покинуть” во всплывающем окне.\n\nЧтобы прекратить поиск команды в приложении для Android, выполните следующие действия:\n1. Нажмите на “Команда” в меню.\n2. Нажмите “Покинуть” в нижней части экрана.", + "iosFaqAnswer14": "Если вы хотите попробовать Habitica вместе с другими, но не знаете других игроков, поиск команды – лучший вариант! Если вы уже знаете других игроков, у которых есть команда, вы можете поделиться с ними своим именем @username, чтобы получить приглашение. Кроме того, вы можете создать новую команду и пригласить их, указав свое имя @username или адрес электронной почты.\n\nЧтобы создать или найти команду, выберите “Команда” в навигационном меню, а затем выберите подходящий для вас вариант.", + "androidFaqAnswer17": "Если вы больше не хотите искать команду, вы можете прекратить поиск в любое время.\n\nЧтобы прекратить поиск команды на сайте Habitica, выполните следующие действия:\n\n1. Выберите раздел “Команда” в навигационном меню сайта.\n2. Нажмите “Покинуть” во всплывающем окне.\n\nЧтобы прекратить поиск команды в приложении для Android, выполните следующие действия:\n1. Нажмите на “Команда” в меню.\n2. Нажмите “Покинуть” в нижней части экрана.", + "webFaqAnswer14": "Если вы хотите попробовать Habitica вместе с другими, но не знаете других игроков, поиск команды – лучший вариант! Если вы уже знаете других игроков, у которых есть команда, вы можете поделиться с ними своим именем @username, чтобы получить приглашение. Кроме того, вы можете создать новую команду и пригласить их, указав свое имя @username или адрес электронной почты.\n\nЧтобы создать или найти команду, выберите “Команда” в навигационном меню, а затем выберите подходящий для вас вариант.", + "webFaqAnswer17": "Если вы больше не хотите искать команду, вы можете прекратить поиск в любое время.\n\nЧтобы прекратить поиск команды на сайте Habitica, выполните следующие действия:\n\n1. Выберите раздел “Команда” в навигационном меню сайта.\n2. Нажмите “Покинуть” во всплывающем окне.\n\nЧтобы прекратить поиск команды в приложении для Android, выполните следующие действия:\n1. Нажмите на “Команда” в меню.\n2. Нажмите “Покинуть” в нижней части экрана.", + "iosFaqAnswer18": "Если вы используете веб-сайт Habitica, выберите “Найти участников” в раскрывающемся списке команд. Если вы используете приложение для Android, нажмите “Найти участников” над списком участников вашей команды. Это отобразит список игроков, которые активно ищут команду и могут быть приглашены в нее.\n\nЧтобы помочь найти подходящего игрока для вашей команды, вы увидите некоторую информацию, такую как: язык, класс, уровень и сколько дней они пользовались Habitica. Если вы хотите пообщаться с кем-то, прежде чем отправить приглашение, вы можете просмотреть его профиль и отправить сообщение.", + "androidFaqAnswer19": "Максимальное количество участников команды – 30 человек, минимальное – 1 человек. Нерассмотренные приглашения учитываются при подсчете количества участников. Например, 29 участников и 1 отложенное приглашение считаются за 30 участников. Чтобы отменить ожидающееся приглашение, приглашенный игрок должен принять или отказаться, или лидер партии должен отменить приглашение.", + "iosFaqAnswer20": "Да! Если у вас уже есть имя пользователя или адрес электронной почты игрока Habitica, вы можете пригласить его присоединиться к вашей команде. Вот как отправить приглашение на разных платформах:\n\nНа сайте Habitica:\n\nПерейдите в свою команду и нажмите “Пригласить в команду” в правой части страницы.\n\nВ приложении для Android:\n\nНажмите пункт “Команда” в меню. Перейдите к разделу “Участники” и нажмите “Найти участников”, затем нажмите вкладку “По приглашению”.\n\nВ приложении для iOS:\n\nНажмите пункт “Команда” в меню. Перейдите к разделу \"Участники\" и нажмите “Пригласить участника”.", + "iosFaqAnswer21": "Чтобы отменить ожидающееся приглашение на сайте Habitica, выполните следующие действия:\n\n1. Нажмите на Список участников при просмотре своей команды.\n2. Перейдите на вкладку “Приглашения”.\n3. Нажмите на три точки рядом с приглашением пользователя, которое вы хотите отменить.\n4. Выберите “Отменить приглашение”.\n\nЧтобы отменить ожидающее приглашение в приложении для Android, выполните следующие действия:\n\n1. Прокрутите вниз до списка участников при просмотре вашей команды.\n2. В нижней части списка вы увидите отложенные приглашения.\n3. Нажмите кнопку “Отменить приглашение”.\n\nВскоре вы сможете отменить ожидающее приглашение и в приложении для iOS!", + "webFaqAnswer15": "После выбора пункта “Найти команду”, вы будете добавлены в список игроков, желающих присоединиться к команде. Лидеры команд могут просматривать этот список и отправлять приглашения. Получив приглашение, вы можете принять его из своих уведомлений и присоединиться к выбранной вами команде!\n\nВы можете получить несколько приглашений в разные команды. Однако, одновременно вы можете быть членом только одной команды.", + "androidFaqAnswer18": "Если вы используете веб-сайт Habitica, выберите “Найти участников” в раскрывающемся списке команд. Если вы используете приложение для Android, нажмите “Найти участников” над списком участников вашей команды. Это отобразит список игроков, которые активно ищут команду и могут быть приглашены в нее.\n\nЧтобы помочь найти подходящего игрока для вашей команды, вы увидите некоторую информацию, такую как: язык, класс, уровень и сколько дней они пользовались Habitica. Если вы хотите пообщаться с кем-то, прежде чем отправить приглашение, вы можете просмотреть его профиль и отправить сообщение.", + "webFaqAnswer20": "Да! Если у вас уже есть имя пользователя или адрес электронной почты игрока Habitica, вы можете пригласить его присоединиться к вашей команде. Вот как отправить приглашение на разных платформах:\n\nНа сайте Habitica:\n\nПерейдите в свою команду и нажмите “Пригласить в команду” в правой части страницы.\n\nВ приложении для Android:\n\nНажмите пункт “Команда” в меню. Перейдите к разделу “Участники” и нажмите “Найти участников”, затем нажмите вкладку “По приглашению”.\n\nВ приложении для iOS:\n\nНажмите пункт “Команда” в меню. Перейдите к разделу \"Участники\" и нажмите “Пригласить участника”.", + "webFaqAnswer21": "Чтобы отменить ожидающееся приглашение на сайте Habitica, выполните следующие действия:\n\n1. Нажмите на Список участников при просмотре своей команды.\n2. Перейдите на вкладку “Приглашения”.\n3. Нажмите на три точки рядом с приглашением пользователя, которое вы хотите отменить.\n4. Выберите “Отменить приглашение”.\n\nЧтобы отменить ожидающее приглашение в приложении для Android, выполните следующие действия:\n\n1. Прокрутите вниз до списка участников при просмотре вашей команды.\n2. В нижней части списка вы увидите отложенные приглашения.\n3. Нажмите кнопку “Отменить приглашение”.\n\nВскоре вы сможете отменить ожидающее приглашение и в приложении для iOS!", + "androidFaqAnswer15": "После выбора пункта “Найти команду”, вы будете добавлены в список игроков, желающих присоединиться к команде. Лидеры команд могут просматривать этот список и отправлять приглашения. Получив приглашение, вы можете принять его из своих уведомлений и присоединиться к выбранной вами команде!\n\nВы можете получить несколько приглашений в разные команды. Однако, одновременно вы можете быть членом только одной команды.", + "webFaqAnswer18": "Если вы используете веб-сайт Habitica, выберите “Найти участников” в раскрывающемся списке команд. Если вы используете приложение для Android, нажмите “Найти участников” над списком участников вашей команды. Это отобразит список игроков, которые активно ищут команду и могут быть приглашены в нее.\n\nЧтобы помочь найти подходящего игрока для вашей команды, вы увидите некоторую информацию, такую как: язык, класс, уровень и сколько дней они пользовались Habitica. Если вы хотите пообщаться с кем-то, прежде чем отправить приглашение, вы можете просмотреть его профиль и отправить сообщение.", + "androidFaqAnswer22": "Как только вы присоединитесь к команде, вы перестанете получать приглашения. Если вы хотите предотвратить приглашения или сообщения от конкретного игрока, просмотрите его профиль и нажмите кнопку “Заблокировать”. В мобильных версиях нажмите на три точки в верхнем углу и выберите \"“Заблокировать”.\n\nЕсли вы столкнулись с ситуацией, в которой, по вашему мнению, другой игрок нарушил Правила сообщества в своем имени, профиле или отправленном им сообщении, пожалуйста, сообщайте о таких сообщениях или свяжитесь с нами по адресу admin@habitica.com.", + "webFaqAnswer22": "Как только вы присоединитесь к команде, вы перестанете получать приглашения. Если вы хотите предотвратить приглашения или сообщения от конкретного игрока, просмотрите его профиль и нажмите кнопку “Заблокировать”. В мобильных версиях нажмите на три точки в верхнем углу и выберите \"“Заблокировать”.\n\nЕсли вы столкнулись с ситуацией, в которой, по вашему мнению, другой игрок нарушил Правила сообщества в своем имени, профиле или отправленном им сообщении, пожалуйста, сообщайте о таких сообщениях или свяжитесь с нами по адресу admin@habitica.com.", + "webFaqAnswer23": "В настоящее время нет возможности фильтровать список участников, ищущих команду. Однако, мы планируем ввести фильтры в будущем, такие как класс, уровень и язык.", + "iosFaqAnswer24": "Мы добавили возможность искать команду и находить членов команды в версии 4.2 для Android! Убедитесь, что вы обновились до последней версии, чтобы проверить это. Одиночные игроки могут искать команду на экране команды, если они не находятся в ней. Лидеры команд могут просматривать список игроков, ищущих приглашение, нажав кнопку “Найти участников” над списком участников команды.\n\nПоддержка этой функции появится на iOS в версии 3.8, так что следите за новостями в ближайшее время!", + "androidFaqAnswer24": "Мы добавили возможность искать команду и находить членов команды в версии 4.2 для Android! Убедитесь, что вы обновились до последней версии, чтобы проверить это. Одиночные игроки могут искать команду на экране команды, если они не находятся в ней. Лидеры команд могут просматривать список игроков, ищущих приглашение, нажав кнопку “Найти участников” над списком участников команды.\n\nПоддержка этой функции появится на iOS в версии 3.8, так что следите за новостями в ближайшее время!", + "webFaqAnswer24": "Мы добавили возможность искать команду и находить членов команды в версии 4.2 для Android! Убедитесь, что вы обновились до последней версии, чтобы проверить это. Одиночные игроки могут искать команду на экране команды, если они не находятся в ней. Лидеры команд могут просматривать список игроков, ищущих приглашение, нажав кнопку “Найти участников” над списком участников команды.\n\nПоддержка этой функции появится на iOS в версии 3.8, так что следите за новостями в ближайшее время!" } diff --git a/website/common/locales/ru/front.json b/website/common/locales/ru/front.json index 87eae1cda7..f98bb96108 100644 --- a/website/common/locales/ru/front.json +++ b/website/common/locales/ru/front.json @@ -56,7 +56,7 @@ "mobileAndroid": "Приложение для Android", "mobileIOS": "Приложение для iOS", "oldNews": "Новости", - "newsArchive": "Архив новостей на вики (мультиязычный)", + "newsArchive": "Архив новостей на Фандоме (мультиязычный)", "setNewPass": "Введите новый пароль", "password": "Пароль", "playButton": "Играть", @@ -66,7 +66,7 @@ "pkQuestion1": "Что вдохновило на создание Habitica? Как это началось?", "pkAnswer1": "Если вы когда-либо инвестировали время в прокачку персонажа в игре, трудно не задаться вопросом, насколько велика будет ваша жизнь, если вы приложите все усилия для улучшения своего реального я, а не своего аватара. Мы начинаем строительство Habitica решить этот вопрос.
Habitica официально запущена на Kickstarter в 2013 году, и идея действительно взлетела. С тех пор она превратилась в огромный проект, поддержанный нашими удивительными волонтерами с открытым исходным кодом и нашими щедрыми пользователями.", "pkQuestion2": "Почему Habitica работает?", - "pkAnswer2": "Формирование новой привычки - это трудно, потому как люди нуждаются в явной и мгновенной награде. Например, тяжело начать пользоваться зубной нитью. Хотя даже ваш стоматолог говорит, что это полезно в долгосрочной перспективе, сейчас же у вас просто болят десны.
Геймификация Habitica добавляет ощущение мгновенного удовлетворения повседневным целям, награждая за трудную задачу опытом, золотом ... и, возможно, даже случайным призом, как яйцо дракона! Это помогает поддерживать мотивацию людей, даже если сама задача не имеет внутренней награды, и мы видели, как в результате люди меняют свою жизнь. Вы можете ознакомиться с историями успеха здесь: https://habitversary.tumblr.com", + "pkAnswer2": "Формирование новой привычки - это трудно, потому как люди нуждаются в явной и мгновенной награде. Например, тяжело начать пользоваться зубной нитью. Хотя даже ваш стоматолог говорит, что это полезно в долгосрочной перспективе, сейчас же у вас просто болят десны.
Геймификация Habitica добавляет ощущение мгновенного удовлетворения повседневным целям, награждая за трудную задачу опытом, золотом ... и, возможно, даже случайным призом, как яйцо дракона! Это помогает поддерживать мотивацию людей, даже если сама задача не имеет внутренней награды, и мы видели, как в результате люди меняют свою жизнь.", "pkQuestion3": "Почему вы добавили социальные функции?", "pkAnswer3": "Социальное давление является огромным мотивационным фактором для многих людей, поэтому мы знали, что хотим иметь сильное сообщество, которое будет удерживать друг друга за свои цели и подбодрять их успехи. К счастью, одна из тех вещей, которые многопользовательские видеоигры делают лучше всего - это чувство сообщества среди своих пользователей! Структура сообщества Habitica заимствована из этих типов игр: вы можете сформировать небольшую партию близких друзей, но вы также можете присоединиться к более крупным группам с общим интересом, известным как Гильдия. Хотя некоторые пользователи предпочитают играть соло, большинство из них решает создать сеть поддержки, которая поощряет социальную отчетность с помощью таких функций, как квесты, когда члены партии объединяют свою производительность, чтобы сражаться с монстрами вместе.", "pkQuestion4": "Почему пропуск задач уменьшает здоровье вашего аватара?", @@ -180,13 +180,14 @@ "joinMany": "Присоединяйтесь к более чем <%= userCountInMillions %> миллионов людей, весело проводящих время при достижении своих целей!", "joinToday": "Присоединяйтесь к стране Habitica", "signup": "Регистрация", - "getStarted": "Начать!", + "getStarted": "Начать", "mobileApps": "Мобильные приложения", "learnMore": "Подробнее", "communityInstagram": "Instagram", "minPasswordLength": "Пароль должен состоять из 8 или более символов.", "enterHabitica": "Войти в Habitica", "emailUsernamePlaceholder": "Например, habitrabbit или gryphon@example.com", - "socialAlreadyExists": "Этот логин социальной сети уже привязан к существующему аккаунту Хабитики.", - "footerProduct": "Продукт" + "socialAlreadyExists": "Этот ник уже связан с другим аккаунтом Хабитики.", + "footerProduct": "Продукт", + "translateHabitica": "перевести Хабитику" } diff --git a/website/common/locales/ru/gear.json b/website/common/locales/ru/gear.json index e07ee34c7a..34a63b79f4 100644 --- a/website/common/locales/ru/gear.json +++ b/website/common/locales/ru/gear.json @@ -2742,5 +2742,90 @@ "weaponSpecialWinter2023RogueText": "Зеленый атласный пояс", "weaponSpecialWinter2023WarriorNotes": "Два зубца этого копья по своей форме напоминают бивни моржа, но в два раза мощнее. Подкалывайте сомнения до тех пор пока они не отступят! Увеличивает силу на <%= str %>. Ограниченный выпуск зимы 2022-2023.", "weaponSpecialWinter2023RogueNotes": "Легенды рассказывают, как разбойники заманивают своих противников в западню, обезоруживают их, а затем возвращают им их же оружие, просто чтобы быть милыми. Увеличивает Силу на <%= str %>. Ограниченный выпуск зимы 2022-2023.", - "weaponSpecialWinter2023WarriorText": "Бивневое копье" + "weaponSpecialWinter2023WarriorText": "Бивневое копье", + "headSpecialNye2022Text": "Сказочный праздничный колпак", + "headSpecialNye2022Notes": "Вы получили сказочный праздничный колпак! Носите его с гордостью, встречая Новый год! Бонусов не дает.", + "armorSpecialWinter2023HealerText": "Костюм кардинала", + "armorSpecialWinter2023HealerNotes": "Этот яркий костюм кардинала идеально подходит для того, чтобы летать высоко над своими проблемами. Увеличивает телосложение на <%= con %>. Ограниченный выпуск зимы 2022-2023.", + "armorSpecialWinter2023WarriorText": "Костюм моржа", + "armorSpecialWinter2023WarriorNotes": "Этот прочный костюм моржа идеально подходит для прогулки по пляжу посреди ночи. Увеличивает телосложение на <%= con %>. Ограниченный выпуск зимы 2022-2023.", + "armorMystery202212Text": "Ледяное платье", + "weaponMystery202212Notes": "Светящаяся снежинка в этом жезле способна согреть сердце даже в самую холодную зимнюю ночь! Бонусов не дает. Подарок подписчикам декабря 2022.", + "weaponArmoireFinelyCutGemText": "Идеальный драгоценный камень", + "armorArmoireJewelersApronText": "Фартук ювелира", + "shieldArmoireJewelersPliersText": "Ювелирные плоскогубцы", + "headAccessoryMystery202212Text": "Ледяная тиара", + "headSpecialWinter2023WarriorText": "Шлем моржа", + "headSpecialWinter2023HealerText": "Шлем кардинала", + "eyewearArmoireJewelersEyeLoupeText": "Глазная лупа ювелира", + "weaponSpecialWinter2023HealerText": "Метательный венок", + "weaponSpecialWinter2023MageText": "Лисий огонь, ложный огонь", + "weaponSpecialWinter2023HealerNotes": "Смотрите, как этот праздничный, колючий венок движется по воздуху прямо по направлению к вашему противнику или препятствиям на вашем пути, а затем возвращается к вам обратно, как бумеранг, ожидая нового броска. Увеличивает интеллект на <%= int %>. Ограниченный выпуск зимы 2022 - 2023.", + "weaponArmoireFinelyCutGemNotes": "Какая находка! Теперь этот потрясающий драгоценный камень будет украшать вашу коллекцию. Возможно, в нем заключена особая магия, которая только и ждет, чтобы вы ею воспользовались. Увеличивает телосложение на <%= con %>. Зачарованный сундук: Набор Ювелира (предмет 4 из 4 ).", + "weaponSpecialWinter2023MageNotes": "Ни лисы, ни огня, но очень празднично! Увеличивает интеллект на <%= int %> и восприятие на <%= per %>. Ограниченный выпуск зимы 2022 - 2023.", + "armorSpecialWinter2023RogueText": "Подарочная лента", + "armorSpecialWinter2023RogueNotes": "Приобретите предметы. Упакуйте их в красивую бумагу. И подарите их местному разбойнику! В этот сезон - это необходимость. Увеличивает восприятие на <%= per %>. Ограниченный выпуск зимы 2022 - 2023.", + "armorSpecialWinter2023MageText": "Платье волшебных огней", + "armorSpecialWinter2023MageNotes": "То, что на вас светятся огни, не делает вас елкой! ...может быть в следующем году. Увеличивает интеллект на <%= int %>. Ограниченный выпуск зимы 2022 - 2023.", + "armorMystery202212Notes": "Вселенная может быть холодна, но в этом очаровательном платье вам будет тепло и уютно во время полета. Бонусов не дает. Подарок подписчикам декабря 2022.", + "armorArmoireJewelersApronNotes": "Этот тяжелый фартук - то, что вам нужно, когда вы чувствуете себя творческим человеком. Самое главное, что в нём есть десятки маленьких карманов, для хранения всего того, что вам необходимо. Увеличивает интеллект на <%= int %>. Зачарованный сундук (предмет 1 из 4).", + "headSpecialWinter2023RogueText": "Подарочный бант", + "headSpecialWinter2023RogueNotes": "Соблазн людей \"погладить\" ваши волосы, дает вам возможность потренировать навыки уклонения и уворотов. Увеличивает восприятие на <%= per %>. Ограниченный выпуск зимы 2022 - 2023.", + "armorSpecialBirthday2023Notes": "С днём рождения, Habitica! Наденьте эту Потрясающую праздничную мантию, чтобы отпраздновать этот замечательный день. Бонусов не дает.", + "armorSpecialBirthday2023Text": "Потрясающая праздничная мантия", + "shieldSpecialWinter2023WarriorText": "Устричный щит", + "backSpecialAnniversaryText": "Плащ героя Habitica", + "eyewearSpecialAnniversaryText": "Маска героя Habitica", + "backMystery202301Notes": "В этих пушистых хвостах содержатся неземная сила и неотразимое очарование! Бонусов не дает. Подарок подписчикам января 2023.", + "eyewearSpecialAnniversaryNotes": "Посмотри глазами героя Habitica — тебя! Бонусов не дает. Ограниченный выпуск Десятой вечеринки дня рождения Habitica.", + "headMystery202301Text": "Доблестные лисиные ушки", + "shieldSpecialWinter2023HealerNotes": "Ваша песня мороза и снега утешит души всех слушателей. Увеличивает телосложение на <%= con %>. Ограниченный выпуск зимы 2022–2023.", + "bodySpecialAnniversaryNotes": "Отлично сочетается с вашим костюмом цвета королевский пурпур! Бонусов не дает. Ограниченный выпуск Десятой вечеринки дня рождения Habitica.", + "weaponMystery202306Text": "Радужный зонт", + "weaponMystery202306Notes": "Гордо сияйте и носите сверкающую цветовую призму куда бы вы ни пошли! Не дает никаких преимуществ. Июнь 2023 Предмет для подписчиков.", + "weaponArmoirePaintbrushText": "Кисть", + "weaponSpecialSpring2023RogueNotes": "Бей! Хватай! Кусай! Наберитесь сил и приготовьтесь к предстоящей трансформации. Увеличивает силу на <%= str %>. Ограниченная серия 2023 Весенняя Экипировка.", + "weaponSpecialSpring2023WarriorText": "Колибри из фольги", + "weaponSpecialSpring2023WarriorNotes": "Защищайтесь! Отгоните врагов от ваших цветов с помощью этой рапиры! Увеличивает силу на <%= str %>. Ограниченное издание 2023 года Весенняя экипировка.", + "weaponSpecialSpring2023MageText": "Магия лунного камня", + "weaponSpecialSpring2023MageNotes": "Чем сильнее их сияние, тем больше их сила. Увеличивает интеллект на <%= int %>. Ограниченная серия 2023 Весенняя экипировка.", + "weaponSpecialSpring2023HealerText": "Пыльца лилий", + "weaponSpecialSpring2023HealerNotes": "С дуновеньем и вспышкой вы вызываете новый рост, веселье и окраску. Увеличивает интеллект на <%= int %>. Ограниченная серия 2023 Весенняя экипировка.", + "weaponSpecialSummer2023RogueText": "Веер Гуппи", + "weaponSpecialSummer2023RogueNotes": "Не может быть! Эти приемы непросто освоить. Зато впечатляет, когда выучишь! Увеличивает силу на <%= str %>. Ограниченный выпуск 2023 Летняя экипировка.", + "weaponSpecialSummer2023WarriorText": "Меч стихии воды", + "weaponSpecialSummer2023MageText": "Рыбка", + "weaponSpecialSummer2023MageNotes": "Эти приветливые рыбки останутся рядом с вами как самые лучшие товарищи в океане. Увеличивает интеллект на <%= int %>. Ограниченный выпуск 2023 Летняя экипировка.", + "weaponSpecialSummer2023HealerText": "Колышущаяся морская капуста", + "weaponSpecialSummer2023WarriorNotes": "Вызовите мощные струи воды, чтобы убрать препятствия со своего пути. Увеличивает Силу на <%= str %>. Ограниченное издание 2023 Летняя экипировка.", + "weaponSpecialSummer2023HealerNotes": "Они могут выглядеть цветущими, но начинают ворчать, если вы называете их \"растениями\". Увеличивает Интеллект на <%= int %>. Ограниченный выпуск летней экипировки 2023.", + "armorSpecialSpring2023MageText": "Костюм из лунного камня", + "weaponArmoirePaintbrushNotes": "Взяв в руки эту кисть, вы почувствуете прилив чистого вдохновения, которое позволяет нарисовать все, что только можно представить. Увеличивает Интеллект на <%= int %>. Зачарованный сундук: Набор художника (предмет 3 из 4).", + "weaponSpecialSpring2023RogueText": "Пожеванный листочек", + "armorSpecialSpring2023RogueText": "Накидка Гусеницы", + "armorSpecialSpring2023WarriorText": "Доспехи Колибри", + "armorSpecialFall2022HealerNotes": "Сколько раз Пикер смог подглядеть, если бы Пикер мог подглядывать? Увеличивает Телосложение на <%= con %>. Ограниченный осенний выпуск 2022.", + "armorSpecialSpring2023RogueNotes": "Пусть у вас всего лишь четыре конечности, но вы можете лазать и ползать быстрее всех. Увеличивает Восприятие на <%= per %>. Ограниченный весенний выпуск 2023.", + "armorSpecialSpring2023WarriorNotes": "Это гудение, раздающееся над вами, звук ваших крыльев, несущихся с невероятной скоростью. Увеличивает телосложение на <%= con %>. Ограниченный весенний выпуск 2023.", + "armorSpecialSpring2023HealerText": "Платье из лепестков лилии", + "armorMystery202304Text": "Доспехи Чайника с крышкой", + "armorMystery202304Notes": "Держите ручку, а вот и носик! Бонусов не дает. Апрель 2023 г. Подарок подписчикам.", + "armorArmoireBasketballUniformNotes": "Интересно, что напечатано на тыльной стороне этой формы? Разумеется, это ваше счастливое число! Увеличивает Восприятие на <% per %>. Зачарованный сундук: Старинный комплект для баскетбола (Предмет 1 из 2).", + "armorArmoirePaintersApronText": "Фартук Художника", + "armorArmoireShawlCollarCoatText": "Пальто с шалевым воротником", + "armorArmoireTeaGownText": "Чайное платье", + "armorSpecialSpring2023HealerNotes": "Благодаря роскошной зелени вам позавидует вся команда. Увеличивает Телосложение на <%= con %>. Ограниченный весенний выпуск 2023.", + "armorArmoireTeaGownNotes": "Вы выносливы, сообразительны, блистательны и так модны! Увеличивает Силу и Интеллект на <%= attrs %>. Зачарованный сундук: Набор для Чаепития (1 предмет из 3).", + "armorArmoireBasketballUniformText": "Баскетбольная форма", + "armorSpecialSpring2023MageNotes": "Этот изысканный весенний костюм усиливает магию лунного камня. Увеличивает Интеллект на <%= int %>. Ограниченный весенний выпуск 2023.", + "armorSpecialSummer2023RogueText": "Пелерина Гуппи", + "armorSpecialSummer2023WarriorText": "Доспехи Золотой рыбки", + "armorSpecialSummer2023MageText": "Коралловые одеяния", + "armorSpecialSummer2023MageNotes": "Ощутите безопасность и спокойствие в этих струящихся одеждах, идеально приспособленных для подводных приключений. Увеличивает Интеллект на <%= int %>. Ограниченный летний выпуск 2023.", + "armorSpecialSummer2023HealerText": "Плащ из морской капусты", + "armorMystery202306Text": "Радужная куртка", + "armorArmoireShawlCollarCoatNotes": "Один мудрый волшебник однажды сказал, что ничего нет лучше, чем оставаться в уюте и работать продуктивно! Наденьте это теплое и стильное пальто, чтобы справиться с годовыми испытаниями. Увеличивает Телосложение на <%= con %>. Зачарованный сундук: Самостоятельный предмет.", + "armorSpecialSummer2023WarriorNotes": "У бойцов золотых рыбок отличная память, потому что они всегда записывают свои ежедневные дела и задачи в списки. Увеличивает Телосложение на <%= con %>. Ограниченный летний выпуск 2023.", + "armorMystery202306Notes": "Никому не удастся испортить ваш выход! А если попробуют, то вы останетесь ярким и сухим! Бонусов не дает. Июнь 2023 Подарок подписчикам.", + "armorSpecialSummer2023HealerNotes": "Продолжайте стремиться к своим целям и идеалам в этой элегантной зеленой мантии. Увеличивает Телосложение на <%= con %>. Ограниченный летний выпуск 2023." } diff --git a/website/common/locales/ru/generic.json b/website/common/locales/ru/generic.json index 7aef03260b..156273c067 100644 --- a/website/common/locales/ru/generic.json +++ b/website/common/locales/ru/generic.json @@ -213,5 +213,9 @@ "reportSent": "Сообщение об ошибке отправлено!", "reportDescriptionText": "Добавьте скриншоты или ошибки консоли Javascript, если они помогут.", "reportSentDescription": "Мы свяжемся с вами, как только у нашей команды появится возможность провести расследование. Спасибо, что сообщили о проблеме.", - "emptyReportBugMessage": "Отсутствует сообщение об ошибке" + "emptyReportBugMessage": "Отсутствует сообщение об ошибке", + "leaveHabitica": "Вы собираетесь покинуть Habitica.com", + "refreshList": "Обновить список", + "leaveHabiticaText": "Habitica не несет ответственности за содержание веб-сайтов, которые не принадлежат и не управляются HabitRPG.
Пожалуйста, обратите внимание, что правила работы этих веб-сайтов могут отличаться от принципов сообщества Habitica.", + "skipExternalLinkModal": "Удерживайте CTRL (Windows) или Command (Mac) при клике по ссылке, чтобы пропустить модальное окно." } diff --git a/website/common/locales/ru/groups.json b/website/common/locales/ru/groups.json index e6ed40dd55..942150f19e 100644 --- a/website/common/locales/ru/groups.json +++ b/website/common/locales/ru/groups.json @@ -269,11 +269,11 @@ "removeMember": "Удалить участника", "sendMessage": "Отправить сообщение", "promoteToLeader": "Назначить нового лидера", - "inviteFriendsParty": "Пригласив друга в команду, вы получите уникальный
свиток квеста для совместного сражения с Василистом!", + "inviteFriendsParty": "Пригласите другого игрока в вашу команду и получите эксклюзивный
свиток с квестом для сражения с боссом Василист.", "createParty": "Создать команду", "inviteMembersNow": "Не желаете пригласить участников прямо сейчас?", "playInPartyTitle": "Играйте в Habitica в команде!", - "playInPartyDescription": "Участвуйте в поразительных квестах с друзьями или в одиночку. Сражайтесь с монстрами, создавайте испытания и помогайте себе нести ответственность с помощью команд.", + "playInPartyDescription": "Выполняйте удивительные квесты вместе с друзьями или в одиночку. Сражайтесь с монстрами, создавайте испытания и помогайте себе оставаться ответственным с помощью команд.", "wantToJoinPartyTitle": "Хотите присоединиться к команде?", "wantToJoinPartyDescription": "Дайте ваше имя пользователя другу, у которого уже есть команда, или зайдите в гильдию поиска команды, чтобы найти достойных товарищей!", "copy": "Скопировать", @@ -417,5 +417,20 @@ "nextPaymentMethod": "Следующий шаг: Способ оплаты", "groupManager": "Менеджер назначает задачи сотрудникам", "newGroupsBullet04": "Общие ежедневные задания не нанесут урон если их пропустить или отметить в окне «Записать вчерашнюю активность»", - "sendGiftLabel": "Вы хотите отправить подарочное сообщение?" + "sendGiftLabel": "Вы хотите отправить подарочное сообщение?", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> пригласил(-а) вас присоединиться к команде <%- party %>", + "startPartyDetail": "Создайте свою собственную команду или присоединитесь к уже существующей
для выполнения заданий и повышения мотивации!", + "partyExceedsInvitesLimit": "Команда может иметь не более <%= maxInvites %> нерассмотренных приглашений.", + "partyFinderDescription": "Хотите присоединиться к команде, но не знаете других игроков? Сообщите лидерам команд, что вы хотите получить приглашение!", + "languageLabel": "Язык:", + "checkinsLabel": "Отметок:", + "lookingForPartyTitle": "Найти участников", + "findPartyMembers": "Найти участников в команду", + "noOneLooking": "Сейчас никто не ищет команду.
Вы можете проверить позже!", + "sendTotal": "Всего:", + "currentlyLookingForParty": "Вы в поисках команды!", + "lookForParty": "Найти команду", + "questWithOthers": "Участвуйте в квестах вместе с другими", + "findMorePartyMembers": "Найти больше участников", + "invitedToYourParty": "Приглашен в вашу команду!  Нажмите, чтобы отменить" } diff --git a/website/common/locales/ru/limited.json b/website/common/locales/ru/limited.json index d784f80d58..8d0617343b 100644 --- a/website/common/locales/ru/limited.json +++ b/website/common/locales/ru/limited.json @@ -197,7 +197,7 @@ "winter2021IceFishingWarriorSet": "Рыбак на льду (Воин)", "g1g1Returning": "В честь праздничного сезона мы запускаем специальное предложение. Если вы подарите подписку своему другу, то получите точно такую же бесплатно!", "septemberYYYY": "Сентябрь <%= year %>", - "g1g1Limitations": "Это предложение начнет действовать 16 декабря в 8:00 (13:00 UTC) и завершится 6 января в 20:00 (1:00 UTC). Акция будет действовать только в том случае, если вы дарите подписку другому пользователю Habitica. Если у вас или у получателя подарка уже есть подписка, то подаренная подписка добавится к текущей и будет использоваться только после того, как текущая подписка будет отменена, или истечет ее срок действия.", + "g1g1Limitations": "Это предложение начнет действовать 15 декабря в 8:00 (13:00 UTC) и завершится 8 января в 23:59 ( 9 января 4:59 UTC). Акция будет действовать только в том случае, если вы дарите подписку другому пользователю Habitica. Если у вас или у получателя подарка уже есть подписка, то подаренная подписка добавится к текущей и будет использоваться только после того, как текущая подписка будет отменена, или истечет ее срок действия.", "g1g1HowItWorks": "Введите имя пользователя, которому вы хотите сделать подарок. Далее выберите подписку, которую вы хотите подарить, и оплатите заказ. Вы получите автоматически точно такую же подписку, которую вы только что подарили.", "spring2021TwinFlowerRogueSet": "Сдвоенный цветок (Разбойник)", "spring2021WillowHealerSet": "Ива (Целитель)", @@ -239,5 +239,27 @@ "winter2023FairyLightsMageSet": "Волшебные огни (Маг)", "winter2023CardinalHealerSet": "Кардинал (Целитель)", "winter2023WalrusWarriorSet": "Морж (Воин)", - "spring2023RibbonRogueSet": "Лента (Разбойник)" + "spring2023RibbonRogueSet": "Лента (Разбойник)", + "winter2023RibbonRogueSet": "Лента (Разбойник)", + "limitedEdition": "Ограниченный выпуск", + "buyNowMoneyButton": "Купить сейчас за $9.99", + "buyNowGemsButton": "Купить сейчас за 60 самоцветов", + "wantToPayWithGemsText": "Желаете оплатить самоцветами?", + "wantToPayWithMoneyText": "Желаете оплатить через Stripe, Paypal или Amazon?", + "visitTheMarketButton": "Посетить рынок", + "dayOne": "Первый день", + "dayFive": "Пятый день", + "dayTen": "Десятый день", + "celebrateAnniversary": "Отпразднуй десятый день рождения Habitica с подарками и эксклюзивными предметами ниже!", + "plentyOfPotionsText": "Мы возвращаем 10 любимых сообществом волшебных инкубационных эликсира. Загляните на рынок, чтобы пополнить коллекцию!", + "celebrateBirthday": "Отпразднуй десятый день рождения Habitica с подарками и эксклюзивными предметами!", + "twentyGems": "20 самоцветов", + "dateStartFebruary": "8 февраля", + "anniversaryLimitedDates": "с 30 января по 8 февраля", + "limitedEvent": "Ограниченное по времени событие", + "anniversaryGryphatricePrice": "Заполучите его сегодня за $9.99 или 60 самоцветов", + "spring2023HummingbirdWarriorSet": "Колибри (Воин)", + "spring2023MoonstoneMageSet": "Лунный камень (Маг)", + "spring2023CaterpillarRogueSet": "Гусеница (Разбойник)", + "spring2023LilyHealerSet": "Лилия (Целитель)" } diff --git a/website/common/locales/ru/npc.json b/website/common/locales/ru/npc.json index 7ea1a7e9f2..23789b5a6d 100644 --- a/website/common/locales/ru/npc.json +++ b/website/common/locales/ru/npc.json @@ -134,5 +134,6 @@ "newStuffPostedOn": "Опубликовано <%= publishDate %>, <%= publishTime %>", "helpSupportHabitica": "Поддержите Habitica", "groupsPaymentAutoRenew": "Эта подписка будет автоматически продлеваться до тех пор, пока она не будет отменена. Если вам нужно отменить подписку, вы можете сделать это на вкладке \"групповой счет\".", - "groupsPaymentSubBilling": "Ваша следующая дата выставления счета <%= renewalDate %>." + "groupsPaymentSubBilling": "Ваша следующая дата выставления счета <%= renewalDate %>.", + "sellItems": "Продать предметы" } diff --git a/website/common/locales/ru/pets.json b/website/common/locales/ru/pets.json index 0364674f99..67ef45f1e1 100644 --- a/website/common/locales/ru/pets.json +++ b/website/common/locales/ru/pets.json @@ -113,5 +113,6 @@ "gryphatrice": "Грифолиск", "tooMuchFood": "Вы пытаетесь скормить своему питомцу слишком много еды, действие отменено", "invalidAmount": "Недопустимое количество еды, должно быть целым положительным числом", - "notEnoughFood": "У вас недостаточно еды" + "notEnoughFood": "У вас недостаточно еды", + "jubilantGryphatrice": "Ликующий грифолиск" } diff --git a/website/common/locales/ru/questscontent.json b/website/common/locales/ru/questscontent.json index 9aee3c3466..a4babcca81 100644 --- a/website/common/locales/ru/questscontent.json +++ b/website/common/locales/ru/questscontent.json @@ -753,5 +753,12 @@ "questVirtualPetRageDescription": "Эта шкала заполняется, когда вы не выполняете свои ежедневные дела. Когда она заполнится, Вотчимон заблокирует часть наносимого вашей командой урона!", "questVirtualPetNotes": "Тихим и уютным весенним утром в Хабитике, за неделю до памятного Дня Апрельского Шута. Вы и @Beffymaroo находились в стойле, ухаживая за вашими питомцами (которые все еще пребывали в некотором замешательстве от времени, проведенного виртуально!).

Вдалеке вы услышали гул и пищащий звук, сначала тихий, но постепенно звучащий все громче, как будто он приближается. На горизонте появляется яйцеобразная фигура, и когда она приближается, пища все громче, вы видите, что это гигантский виртуальный питомец!

“О нет,” - воскликнул @Beffymaroo, - “кажется, Апрельский шут не успел закончить дела с этим здоровяком, похоже, он жаждет внимания!”

Виртуальный питомец сердито пискнул, закатил виртуальную истерику и стал приближаться.", "questVirtualPetCompletion": "Несколько осторожных нажатий на кнопки, кажется, удовлетворили мистические потребности виртуального питомца, и, наконец он успокоился и стал выглядеть довольным.

Вдруг во взрыве конфетти появился Апрельский Шут с корзиной, полной странных эликсиров, издающих тихие звуковые сигналы.

“Как вовремя, Апрельский Шут,” сказал @Beffymaroo с кривой улыбкой. “Я полагаю, что этот большой пищащий парень - твой знакомый.”

“Э-э, ну да”, - потупившись ответил Шут. “Я сожалею об этом, и спасибо вам за то, что позаботились о Тамагочимоне! Примите эти эликсиры в знак благодарности, они могут оживить ваших виртуальных питомцев в любое время!”.

Вы не уверены на 100%, что справитесь со всеми этими пищалками, но они очень милые, так что стоит попробовать!", - "questVirtualPetUnlockText": "Позволяет покупать на рынке виртуальные инкубационные эликсиры" + "questVirtualPetUnlockText": "Позволяет покупать на рынке виртуальные инкубационные эликсиры", + "questPinkMarbleText": "Успокоить испорченного Купидона", + "questPinkMarbleCompletion": "Наконец-то вам удается прижать малыша к земле - он оказался гораздо выносливее и быстрее, чем ожидалось. Прежде чем он снова придет в себя, вы забираете у него колчан со светящимися стрелами. Он моргает и вдруг удивленно оглядывается по сторонам. “Чтобы на время скрыться от собственной печали и сердечной боли, я укололся одной из своих стрел... После этого я ничего не помню!”.

Он уже собрался бежать из пещеры, как заметил, что @Loremi взял образец мраморной пыли и ухмыляется. “Попробуй использовать немного этой розовой мраморной пыли в зелье! Вырасти питомцев, которые из него вылупятся, и ты увидишь, что настоящие отношения рождаются из общения, взаимного доверия и заботы. Желаю вам удачи и любви!”", + "questPinkMarbleNotes": "Услышав слухи о пещере в Меандрирующих горах, из которой вылетают розовые камни и пыль, ваша команда начинает расследование. Когда вы приближаетесь к пещере, там действительно появляется огромное розовое облако пыли – и, как ни странно, вы слышите боевой клич тоненького голоска, за которым следует звук разбивающейся скалы.

@Empress42 случайно вдохнул немного пыли и внезапно почувствовал себя мечтательным и менее продуктивным. “То же самое!”, говорит @QuartzFox, “Я внезапно фантазирую о человеке, которого едва знаю!”.

@a_diamond заглядывает в пещеру и обнаруживает маленькое существо, прыгающее вокруг и разбивающее розовый мраморный камень в пыль. “Укройтесь! Этот Купидон был испорчен и использует свою магию, чтобы вызывать изнеженность и нереалистичные увлечения! Мы должны подчинить его!”", + "questPinkMarbleBoss": "Купидон", + "questPinkMarbleRageDescription": "Эта полоска заполняется, когда вы не завершаете свои ежедневные дела. Когда она заполнится, Купидон отнимет у вашей команды часть нанесенного урона!", + "questPinkMarbleRageTitle": "Розовый удар", + "questPinkMarbleRageEffect": "`Купидон использует Розовый удар! ` Это было совсем не ласково! Ваши товарищи по команде ошеломлены. Наносимый урон снижен." } diff --git a/website/common/locales/ru/settings.json b/website/common/locales/ru/settings.json index 456c58d5af..77eb038579 100644 --- a/website/common/locales/ru/settings.json +++ b/website/common/locales/ru/settings.json @@ -226,5 +226,6 @@ "remainingBalance": "Остаток средств", "timestamp": "Метка времени", "amount": "Количество", - "action": "Действие" + "action": "Действие", + "thirdPartyTools": "Найдите сторонние приложения, расширения и другие различные инструменты, которые можно использовать с вашей учетной записью на странице Habitica wiki." } diff --git a/website/common/locales/ru/subscriber.json b/website/common/locales/ru/subscriber.json index 75647d72b8..4e1a966e51 100644 --- a/website/common/locales/ru/subscriber.json +++ b/website/common/locales/ru/subscriber.json @@ -173,7 +173,7 @@ "mysterySet202101": "Набор Шикарного ирбиса", "cancelSubAlternatives": "Если вы испытываете технические проблемы или Habitica выдает ошибки, пожалуйста, напишите нам. Мы хотим помочь вам получить максимальную пользу от Habitica.", "subscriptionStats": "Статистика подписки", - "subscriptionInactiveDate": "Привелегии вашей подписки закончатся <%= date %>", + "subscriptionInactiveDate": "Привилегии вашей подписки закончатся
<%= date %>", "dropCapSubs": "Подписчики Habitica могут отыскать вдвое больше трофеев каждый день и получают таинственные предметы каждый месяц!", "lookingForMoreItems": "Желаете больше трофеев?", "dropCapReached": "Сегодня вы собрали все трофеи!", @@ -210,12 +210,23 @@ "mysterySet202203": "Набор бесстрашной стрекозы", "mysterySet202204": "Набор виртуального искателя приключений", "mysterySet202205": "Набор крылатого сумеречного дракона", - "mysterySet202206": "Набор Морской Феи", - "mysterySet202208": "Набор Задорный хвостик", + "mysterySet202206": "Набор морской феи", + "mysterySet202208": "Набор задорный хвостик", "mysterySet202209": "Набор магического учёного", "mysterySet202207": "Набор желейной медузы", - "mysterySet202210": "Набор Зловещей змеи", + "mysterySet202210": "Набор зловещей змеи", "mysteryset202211": "Набор электроманта", "mysterySet202211": "Набор электроманта", - "mysterySet202212": "Набор ледяного стража" + "mysterySet202212": "Набор ледяного стража", + "mysterySet202301": "Набор доблестной лисы", + "switchToRecurring": "Переключиться на возобновляемую подписку?", + "continueGiftSubBenefits": "Хотите сохранить ваши привилегии? Для этого вы можете возобновить подписку до окончания подарочной.", + "haveNonRecurringSub": "У вас невозобновляемая подарочная подписка.", + "mysterySet202302": "Набор трюкача Тэбби", + "mysterySet202303": "Набор грива", + "mysterySet202305": "Набор вечернего дракона", + "mysterySet202306": "Набор разл дазл радуги", + "subscriptionCreditConversion": "При запуске новой подписки все оставшиеся месяцы будут перенесены в кредит, который будет использован после отмены повторяющейся подписки.", + "monthlyGems": "ежемесячные самоцветы:", + "mysterySet202304": "Набор отличново чайника" } diff --git a/website/common/locales/ru/tasks.json b/website/common/locales/ru/tasks.json index aff4a03cd3..9bed8af158 100644 --- a/website/common/locales/ru/tasks.json +++ b/website/common/locales/ru/tasks.json @@ -139,5 +139,6 @@ "counter": "Счётчик", "adjustCounter": "Настроить счётчик", "resetCounter": "Сбросить счётчик", - "editTagsText": "Изменить теги" + "editTagsText": "Изменить теги", + "taskSummary": "Резюме" } diff --git a/website/common/locales/sco/communityguidelines.json b/website/common/locales/sco/communityguidelines.json index b15d135331..122bbc6981 100755 --- a/website/common/locales/sco/communityguidelines.json +++ b/website/common/locales/sco/communityguidelines.json @@ -1,11 +1,10 @@ { - "tavernCommunityGuidelinesPlaceholder": "Freendly reminder: this is an aw-ages bletherin, sae please gaun'ae keep content an langage behuived!", "lastUpdated": "Last updated:", "commGuideHeadingWelcome": "Walcome tae Habitica!", "commGuidePara001": "Greetings, adventurer! Welcome to Habitica, the land of productivity, healthy living, and the occasional rampaging gryphon. We have a cheerful community full of helpful people supporting each other on their way to self-improvement. To fit in, all it takes is a positive attitude, a respectful manner, and the understanding that everyone has different skills and limitations -- including you! Habiticans are patient with one another and try to help whenever they can.", "commGuidePara002": "To help keep everyone safe, happy, and productive in the community, we do have some guidelines. We have carefully crafted them to make them as friendly and easy-to-read as possible. Please take the time to read them before you start chatting.", - "commGuidePara003": "These rules aplee tae aw o the social spaces we uise, includin (but no necessarily limitit tae) Trello, GitHub, Transifex, an the Wikia (a.k.a. wiki). Sometimes, unforseen situations will arise, like a new source o conflict or a veecious necromancer. Whan this happens, the mods mey repone bi eeditin these guidelines tae keep the community sauf frae new threits. Dinna fear: Ye will be notifee'd bi an anooncement frae Bailey gin the guidelines chynge.", + "commGuidePara003": "Tha na riaghailtean seo a’ buntainn ris a h-uile àite sòisealta a bhios sinn a’ cleachdadh, a’ gabhail a-steach (ach gun a bhith cuibhrichte gu) Trello, GitHub, Weblate, agus an Habitica Wiki on Fandom. Mar a bhios coimhearsnachdan a’ fàs agus ag atharrachadh, faodaidh na riaghailtean aca atharrachadh bho àm gu àm. Nuair a thig atharrachaidhean susbainteach air na riaghailtean coimhearsnachd a tha air an liostadh an seo, cluinnidh tu mu dheidhinn ann am brath Bailey agus/no na meadhanan sòisealta againn!", "commGuideHeadingInteractions": "Interactions in Habitica", "commGuidePara015": "Habitica has two kinds of social spaces: public, and private. Public spaces include the Tavern, Public Guilds, GitHub, Trello, and the Wiki. Private spaces are Private Guilds, Party chat, and Private Messages. All Display Names must comply with the public space guidelines. To change your Display Name, go on the website to User > Profile and click on the \"Edit\" button.", "commGuidePara016": "When navigating the public spaces in Habitica, there are some general rules to keep everyone safe and happy. These should be easy for adventurers like you!", diff --git a/website/common/locales/sco/groups.json b/website/common/locales/sco/groups.json index ac3a24265d..b06477cd41 100755 --- a/website/common/locales/sco/groups.json +++ b/website/common/locales/sco/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/si/groups.json b/website/common/locales/si/groups.json index 58d8393d8f..7c308e45a0 100755 --- a/website/common/locales/si/groups.json +++ b/website/common/locales/si/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/sk/backgrounds.json b/website/common/locales/sk/backgrounds.json index 9c0c9baf47..726f9b2eed 100644 --- a/website/common/locales/sk/backgrounds.json +++ b/website/common/locales/sk/backgrounds.json @@ -408,5 +408,6 @@ "backgroundArchaeologicalDigText": "Archaeological Dig", "backgroundArchaeologicalDigNotes": "Unearth secrets of the ancient past at an Archaeological Dig.", "backgroundScribesWorkshopText": "Scribe's Workshop", - "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop." + "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop.", + "hideLockedBackgrounds": "Skryť nedostupné pozadia" } diff --git a/website/common/locales/sk/challenge.json b/website/common/locales/sk/challenge.json index 04bf58eb0e..f50c33c107 100644 --- a/website/common/locales/sk/challenge.json +++ b/website/common/locales/sk/challenge.json @@ -103,5 +103,6 @@ "selectParticipant": "Zvoľ účastníka", "wonChallengeDesc": "<%= challengeName %> ťa označil/a za víťaza! Tvoja výhra bude zaznamenaná v Úspechoch.", "yourReward": "Tvoja odmena", - "filters": "Filtre" + "filters": "Filtre", + "removeTasks": "Odstrániť úlohy" } diff --git a/website/common/locales/sk/death.json b/website/common/locales/sk/death.json index 46554eb2fe..faedc9816f 100644 --- a/website/common/locales/sk/death.json +++ b/website/common/locales/sk/death.json @@ -1,9 +1,9 @@ { "lostAllHealth": "Došiel ti život!", "dontDespair": "Nezúfaj!", - "deathPenaltyDetails": "Stratil si level, tvoje zlato a kus výstroje, ale s tvrdú prácu ich môžeš všetky získať späť! Veľa šťastia - pôjde ti to skvelo.", - "refillHealthTryAgain": "Doplň si život a skús znova", - "dyingOftenTips": "Stáva sa to často? Tu sú nejaké tipy! ", + "deathPenaltyDetails": "Stratil si level, tvoje zlato a kus výstroje, ale s tvrdú prácou ich môžeš všetky získať späť! Veľa šťastia - pôjde ti to skvelo.", + "refillHealthTryAgain": "Doplň si život a skús to znova", + "dyingOftenTips": "Stáva sa to často? Tu sú nejaké tipy! ", "losingHealthWarning": "Pozor - Strácaš život!", "losingHealthWarning2": "Nedopusti, aby tvoj život klesol na nulu! Ak sa to udeje, stratíš level, tvoje zlato a časť výstroje.", "toRegainHealth": "Ak chcete znova získať život:", diff --git a/website/common/locales/sk/front.json b/website/common/locales/sk/front.json index 73b21cb2db..e3f1577f29 100644 --- a/website/common/locales/sk/front.json +++ b/website/common/locales/sk/front.json @@ -182,5 +182,6 @@ "signup": "Sign Up", "getStarted": "Get Started!", "mobileApps": "Mobile Apps", - "learnMore": "Learn More" + "learnMore": "Learn More", + "communityInstagram": "Instagram" } diff --git a/website/common/locales/sk/groups.json b/website/common/locales/sk/groups.json index ceafbe1918..a1e22a5e97 100644 --- a/website/common/locales/sk/groups.json +++ b/website/common/locales/sk/groups.json @@ -206,7 +206,7 @@ "leaderCannotLeaveGroupWithActiveGroup": "A leader can not leave a group while the group has an active plan", "youHaveGroupPlan": "You have a free subscription because you are a member of a group that has a Group Plan. This will end when you are no longer in the group that has a Group Plan. Any months of extra subscription credit you have will be applied at the end of the Group Plan.", "cancelGroupSub": "Cancel Group Plan", - "confirmCancelGroupPlan": "Are you sure you want to cancel the group plan and remove its benefits from all members, including their free subscriptions?", + "confirmCancelGroupPlan": "Ste si istý, že chcete zrušiť Vaše skupinové predplatné? Všetci členovia skupiny stratia ich predplatné a súvisiace výhody.", "canceledGroupPlan": "Canceled Group Plan", "groupPlanCanceled": "Group Plan will become inactive on", "purchasedGroupPlanPlanExtraMonths": "You have <%= months %> months of extra group plan credit.", @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/sk/inventory.json b/website/common/locales/sk/inventory.json index dd189b7f16..550c2c40b9 100644 --- a/website/common/locales/sk/inventory.json +++ b/website/common/locales/sk/inventory.json @@ -4,5 +4,6 @@ "eggsItemType": "Vajíčka", "hatchingPotionsItemType": "Liahoxíry", "specialItemType": "Špeciálne predmety", - "lockedItem": "Zamknutý predmet" + "lockedItem": "Zamknutý predmet", + "petAndMount": "Mazlíček a jazdecké zviera" } diff --git a/website/common/locales/sk/quests.json b/website/common/locales/sk/quests.json index 55e333707f..4be3931dc9 100644 --- a/website/common/locales/sk/quests.json +++ b/website/common/locales/sk/quests.json @@ -71,5 +71,6 @@ "bossHealth": "<%= currentHealth %> / <%= maxHealth %> Health", "rageAttack": "Rage Attack:", "bossRage": "<%= currentRage %> / <%= maxRage %> Rage", - "rageStrikes": "Rage Strikes" + "rageStrikes": "Rage Strikes", + "hatchingPotionQuests": "Výpravy za kúzelnými elixírmi" } diff --git a/website/common/locales/sk/subscriber.json b/website/common/locales/sk/subscriber.json index 42733f4009..990b4803bf 100644 --- a/website/common/locales/sk/subscriber.json +++ b/website/common/locales/sk/subscriber.json @@ -133,5 +133,8 @@ "subscriptionBenefit6": "Earn Mystic Hourglasses for use in the Time Travelers' Shop!", "purchaseAll": "Purchase Set", "gemsRemaining": "gems remaining", - "notEnoughGemsToBuy": "You are unable to buy that amount of gems" + "notEnoughGemsToBuy": "You are unable to buy that amount of gems", + "viewSubscriptions": "Prehľad predplatných", + "howManyGemsPurchase": "Koľko drahokamov by ste chceli zakúpiť?", + "howManyGemsSend": "Koľko drahokamov by ste chceli odoslať?" } diff --git a/website/common/locales/sl/groups.json b/website/common/locales/sl/groups.json index 0e8b76cf96..b16f92815c 100755 --- a/website/common/locales/sl/groups.json +++ b/website/common/locales/sl/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/sr/achievements.json b/website/common/locales/sr/achievements.json index d91be7793c..1388776852 100644 --- a/website/common/locales/sr/achievements.json +++ b/website/common/locales/sr/achievements.json @@ -1,41 +1,50 @@ { "achievement": "Dostignuće", "onwards": "Idemo napred!", - "levelup": "Kompletirajući svoje ciljeve, podigli ste nivo i sada ste potpuno izlečeni!", + "levelup": "Postižući svoje ciljeve, prešli ste na novi nivo i sada ste potpuno izlečeni!", "reachedLevel": "Dostigli ste nivo <%= level %>", - "achievementLostMasterclasser": "Quest Completionist: Masterclasser Series", - "achievementLostMasterclasserText": "Completed all sixteen quests in the Masterclasser Quest Series and solved the mystery of the Lost Masterclasser!", + "achievementLostMasterclasser": "Komplet Pustolovina: Ekspert Serija", + "achievementLostMasterclasserText": "Završeno je svih 16 pustolovina Ekspert Serije i rešena misterija Izgubljenog Eksperta!", "foundNewItemsCTA": "Idi do inventara i spoji napitak za izleganje sa jajetom!", - "foundNewItemsExplanation": "Završavanje zadataka ti omogućava da pronađeš stvari kao što su Jaja, Napici za Izleganje i Hrana za Ljubimce.", - "foundNewItems": "Našao si nove stvari!", - "hideAchievements": "Sakrij <%= kategoriju %>", - "showAllAchievements": "Prikaži sve <%= kategorije %>", - "onboardingCompleteDescSmall": "Ako želiš još,pogledaj Dostignuća i skupljaj!", - "onboardingCompleteDesc": "Zaslužio si 5 dostignuća i 100 zlatnika za završavanje liste.", - "onboardingComplete": "Završio si zadate zadatke!", - "earnedAchievement": "Zaslužio si dostignuće!", - "viewAchievements": "Pregledaj dostignuća", - "achievementBackToBasicsText": "Prikupljeni su svi osnovni ljubimci.", + "foundNewItemsExplanation": "Završavanje zadataka ti pomaže da pronađeš stvari kao što su Jaja, Napici za Izleganje i Hrana za Ljubimce.", + "foundNewItems": "Našao/la si nove stvari!", + "hideAchievements": "Sakrij <%= category %>", + "showAllAchievements": "Prikaži sve <%= category %>", + "onboardingCompleteDescSmall": "Ako želiš još, proveri Dostignuća i kreni sa sakupljanjem!", + "onboardingCompleteDesc": "Osvojio si 5 dostignuća i 100 zlatnika za kompletiranje liste.", + "onboardingComplete": "Završio/la si zadate zadatke!", + "earnedAchievement": "Osvojio/la si Dostignuće!", + "viewAchievements": "Pregledaj Dostignuća", + "achievementBackToBasicsText": "Prikupljeni su svi Osnovni ljubimci.", "achievementBackToBasics": "Povratak osnovama", "achievementMindOverMatter": "Um iznad materije", "yourProgress": "Vaš napredak", "achievementSeeingRedModalText": "Prikupili ste sve crvene ljubimce!", - "achievementSeeingRedText": "Prikupljeni su svi crveni ljubimci.", + "achievementSeeingRedText": "Prikupljeni su svi Crveni ljubimci.", "achievementBoneCollectorModalText": "Prikupili ste sve ljubimce kosture!", - "achievementBoneCollectorText": "Prikupljeni su svi ljubimci kosturi.", - "achievementGoodAsGoldText": "Prikupljeni su svi zlatni ljubimci.", + "achievementBoneCollectorText": "Prikupljeni su svi ljubimci Kosturi.", + "achievementGoodAsGoldText": "Prikupljeni su svi Zlatni ljubimci.", "achievementGoodAsGoldModalText": "Prikupili ste sve zlatne ljubimce!", "achievementPrimedForPaintingModalText": "Prikupili ste sve bele ljubimce!", "achievementPrimedForPaintingText": "Prikupljeni su svi beli ljubimci.", "achievementFedPet": "Nahraniti ljubimca", "achievementFedPetText": "Nahranili ste vašeg prvog ljubimca.", - "achievementDustDevilText": "Prikupljeni su svi pustinjski ljubimci.", - "achievementDustDevilModalText": "Prikupili ste sve pustinjske ljubimce!", - "achievementBackToBasicsModalText": "Prikupili ste sve osnovne ljubimce!", - "achievementJustAddWater": "Samo dodajte vodu", + "achievementDustDevilText": "Prikupljeni su svi Pustinjski Ljubimci.", + "achievementDustDevilModalText": "Prikupili ste sve Pustinjske Ljubimce!", + "achievementBackToBasicsModalText": "Prikupili ste sve Osnovne ljubimce!", + "achievementJustAddWater": "Samo dodaj vodu", "letsGetStarted": "Hajde da počnemo!", - "gettingStartedDesc": "Završi ove zadatke i zaradićeš 5 dostignuća i 100 zlata kada su gotovi!", + "gettingStartedDesc": "Završi ove zadatke i zaradićeš 5 dostignuća i 100 zlatnika!", "yourRewards": "Vaše nagrade", "onboardingProgress": "<%= percentage %>% završeno", - "achievementReptacularRumbleModalText": "Prikupili ste sve ljubimce gmizavce!" + "achievementReptacularRumbleModalText": "Prikupili ste sve ljubimce gmizavce!", + "achievementMindOverMatterModalText": "Završio/la si Kamen, Ljigavac i Klupko pustolovine!", + "achievementMindOverMatterText": "Završene su Kamen, Ljigavac i Klupko pustolovine.", + "achievementLostMasterclasserModalText": "Završio/la si svih 16 pustolovina Ekspert Serije i rešio/la misterija Izgubljenog Eksperta!", + "achievementJustAddWaterModalText": "Završio/la si Hobotnica, Morski Konjić, Sipa, Kit, Kornjača, Morski Puž, Morska Neman i Delfin pustolovine!", + "achievementAllYourBase": "Sve Osnovno", + "achievementAllYourBaseModalText": "Primitomio/la si sve Osnovne Životinje za Jahanje.", + "achievementAllYourBaseText": "Primitomljene sve Osnovne Životinje za Jahanje.", + "achievementDustDevil": "Pustinjski Vrag", + "achievementJustAddWaterText": "Završene su Hobotnica, Morski Konjić, Sipa, Kit, Kornjača, Morski Puž, Morska Neman i Delfin pustolovine." } diff --git a/website/common/locales/sr/character.json b/website/common/locales/sr/character.json index b2cf2446c5..9a4adef776 100644 --- a/website/common/locales/sr/character.json +++ b/website/common/locales/sr/character.json @@ -25,13 +25,13 @@ "specialShirts": "Posebna odeća", "skin": "Skin", "color": "Boja", - "hair": "Hair", - "bangs": "Bangs", + "hair": "Kosa", + "bangs": "Šiške", "hairBangs": "Šiške", - "glasses": "Glasses", + "glasses": "Naočare", "hairSet1": "Komplet frizura 1", "hairSet2": "Komplet frizura 2", - "hairSet3": "Hairstyle Set 3", + "hairSet3": "Komplet frizura 3", "bodyFacialHair": "Brada i brkovi", "beard": "Brada", "mustache": "Brkovi", diff --git a/website/common/locales/sr/faq.json b/website/common/locales/sr/faq.json index a832c345ab..34bd60707f 100644 --- a/website/common/locales/sr/faq.json +++ b/website/common/locales/sr/faq.json @@ -54,5 +54,9 @@ "webFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual. You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party. A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change. You can read more about [past World Bosses](http://habitica.fandom.com/wiki/World_Bosses) on the wiki.", "iosFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", "androidFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), come ask in the Tavern chat under Menu > Tavern! We're happy to help.", - "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), come ask in the [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We're happy to help." -} \ No newline at end of file + "webFaqStillNeedHelp": "If you have a question that isn't on this list or on the [Wiki FAQ](http://habitica.fandom.com/wiki/FAQ), come ask in the [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! We're happy to help.", + "iosFaqAnswer13": "## How do Group Plans work?\n\nA [Group Plan](/group-plans) gives your Party or Guild access to a shared task board that’s similar to your personal task board! It’s a shared Habitica experience where tasks can be created and checked off by anyone in the group.\n\nThere are also features available like member roles, status view, and task assigning that give you a more controlled experience. [Visit our wiki](https://habitica.fandom.com/wiki/Group_Plans) to learn more about our Group Plans’ features!\n\n## Who benefits from a Group Plan?\n\nGroup Plans work best when you have a small team of people who want to collaborate together. We recommend 2-5 members.\n\nGroup Plans are great for families, whether it’s a parent and child or you and a partner. Shared goals, chores, or responsibilities are easy to keep track of on one board.\n\nGroup Plans can also be useful for teams of colleagues that have shared goals, or managers that want to introduce their employees to gamification.\n\n## Quick tips for using Groups\n\nHere are some quick tips to get you started with your new Group. We’ll provide more details in the following sections:\n\n* Make a member a manager to give them the ability to create and edit tasks\n* Leave tasks unassigned if anyone can complete it and it only needs done once\n* Assign a task to one person to make sure no one else can complete their task\n* Assign a task to multiple people if they all need to complete it\n* Toggle the ability to display shared tasks on your personal board to not miss anything\n* You get rewarded for the tasks you complete, even multi-assigned\n* Task completion rewards aren’t shared or split between Team members\n* Use task color on the team board to judge the average completion rate of tasks\n* Regularly review the tasks on your Team Board to make sure they are still relevant\n* Missing a Daily won’t damage you or your team, but the task will degrade in color\n\n## How can others in the group create tasks?\n\nOnly the group leader and managers can create tasks. If you’d like a group member to be able to create tasks, then you should promote them to be a manager by going to the Group Information tab, viewing the member list, and clicking the dot icon by their name.\n\n## How does assigning a task work?\n\nGroup Plans give you the unique ability to assign tasks to other group members. Assigning a task is great for delegating. If you assign a task to someone, then other members are prevented from completing it.\n\nYou can also assign a task to multiple people if it needs to be completed by more than one member. For example, if everyone has to brush their teeth, create a task and assign it to each group member. They will all be able to check it off and get their individual rewards for doing so. The main task will show as complete once everyone checks it off.\n\n## How do unassigned tasks work?\n\nUnassigned tasks can be completed by anyone in the group, so leave a task unassigned to allow any member to complete it. For example, taking out the trash. Whoever takes out the trash can check off the unassigned task and it will show as completed for everyone.\n\n## How does the synchronized day reset work?\n\nShared tasks will reset at the same time for everyone to keep the shared task board in sync. This time is visible on the shared task board and is determined by the group leader’s day start time. Because shared tasks reset automatically, you will not get a chance to complete yesterday’s uncompleted shared Dailies when you check in the next morning.\n\nShared Dailies will not do damage if they are missed, however they will degrade in color to help visualize progress. We don’t want the shared experience to be a negative one!\n\n## How do I use my Group on the mobile apps?\n\nWhile the mobile apps don’t fully support all Group Plans functionality yet, you can still complete shared tasks from the iOS and Android app by copying the tasks onto your personal task board. You can switch this preference on from Settings in the mobile apps or from the group task board on the browser version. Now open and assigned shared tasks will display on your personal task board across all platforms.\n\n## What’s the difference between a Group’s shared tasks and Challenges?\n\nGroup Plan shared task boards are more dynamic than Challenges, in that they can constantly be updated and interacted with. Challenges are great if you have one set of tasks to send out to many people.\n\nGroup Plans are also a paid feature, while Challenges are available free to everyone.\n\nYou cannot assign specific tasks in Challenges, and Challenges do not have a shared day reset. In general, Challenges offer less control and direct interaction.", + "androidFaqAnswer13": "## Kako funkcionišu Grupni planovi?\n\n[Grupni plan](/group-plans) pruža vašoj Partiji ili Gildiji pristup zajedničkoj tabli zadataka koja je slična vašoj ličnoj tabli zadataka! To je zajedničko iskustvo na Habitici gdje zadaci mogu biti kreirani i označavani kao završeni od strane bilo koga u grupi.\n\nTu su i dostupne funkcije poput uloga članova, pregleda statusa i dodjeljivanja zadataka koje vam pružaju kontrolisanije iskustvo. Za više informacija o funkcijama naših Grupnih planova, posjetite našu [wiki stranicu](https://habitica.fandom.com/wiki/Group_Plans).\n\n## Ko ima koristi od Grupnog plana?\n\nGrupni planovi najbolje funkcionišu kada imate mali tim ljudi koji žele da sarađuju zajedno. Preporučujemo 2-5 članova.\n\nGrupni planovi su odlični za porodice, bilo da se radi o roditelju i djetetu ili vama i partneru. Zajednički ciljevi, kućni poslovi ili odgovornosti se lako prate na jednoj tabli.\n\nGrupni planovi također mogu biti korisni za timove kolega koji imaju zajedničke ciljeve, ili menadžere koji žele uvesti svoje zaposlene u gamifikaciju.\n\n## Brzi savjeti za korištenje grupa\n\nEvo nekoliko brzih savjeta kako da počnete sa svojom novom grupom. Detaljnije informacije pružit ćemo vam u sljedećim sekcijama:\n\n- Postavite nekog člana kao menadžera kako biste im dali mogućnost kreiranja i uređivanja zadataka.\n- Ostavite zadatke bez dodijeljenih članova ako ih bilo ko može završiti i ako se moraju obaviti samo jednom.\n- Dodijelite zadatak jednoj osobi kako biste se osigurali da ga niko drugi neće završiti.\n- Dodijelite zadatak više ljudi ako ga svi trebaju završiti.\n- Omogućite prikazivanje zajedničkih zadataka na vašoj ličnoj tabli kako ne biste ništa propustili.\n- Dobivate nagrade za zadatke koje završite, čak i ako su dodijeljeni više ljudi.\n- Nagrade za završene zadatke se ne dijele između članova tima.\n- Koristite boju zadatka na timskoj tabli da biste procijenili prosječnu stopu završetka zadataka.\n- Redovno pregledavajte zadatke na vašoj timskoj tabli kako biste se uvjerili da su i dalje relevantni.\n- Propuštanje dnevne obaveze vam ili vašem timu neće nanijeti štetu, ali će zadatak izblijedjeti u boji.\n\n## Kako drugi članovi grupe mogu kreirati zadatke?\n\nSamo vođa grupe i menadžeri mogu kreirati zadatke. Ako želite da član grupe može kreirati zadatke, trebate ga promovirati u menadžera tako što ćete otići na karticu Informacije o grupi, pregledati listu članova i kliknuti na tačkicu pored njihovog imena.\n\n## Kako funkcioniše dodjeljivanje zadatka?\n\nGrupni planovi vam omogućavaju jedinstvenu mogućnost dodjeljivanja zadataka drugim članovima grupe. Dodjeljivanje zadatka je odlično za delegiranje. Ako dodijelite zadatak nekome, ostali članovi su spriječeni da ga završe.\n\nTakođe možete dodijeliti zadatak više ljudi ako ga treba završiti više članova. Na primjer, ako svi trebaju oprati zube, kreirajte zadatak i dodijelite ga svakom članu grupe. Svi će moći da ga označe kao završen i dobiti individualne nagrade za to. Glavni zadatak će biti označen kao završen kada ga svi članovi označe.\n\n## Kako funkcionišu zadaci bez dodijeljenih članova?\n\nZadaci bez dodijeljenih članova mogu biti završeni od strane bilo kojeg člana grupe, stoga ostavite zadatak bez dodijeljenja kako bi ga bilo koji član mogao završiti. Na primjer, iznošenje smeća. Bilo ko sto iznese smeće može označiti zadatak kao završen, a to će biti vidljivo za sve.\n\n## Kako funkcioniše sinhronizovani resetovanje dana?\n\nZajednički zadaci će se resetovati istovremeno za sve kako bi se održala sinhronizacija na zajedničkoj tabli zadataka. Vrijeme resetovanja je vidljivo na zajedničkoj tabli zadataka i određuje se prema vremenu početka dana vođe grupe. Budući da se zajednički zadaci automatski resetuju, nećete imati priliku završiti nezavršene dnevne zadatke iz prethodnog dana kada se prijavite sljedećeg jutra.\n\nAko propustite zajedničku dnevnu obavezu, nećete dobiti štetu, ali će zadatak izblijediti u boji kako bi se vizualizirao napredak. Ne želimo da zajedničko iskustvo bude negativno!\n\n## Kako koristiti svoju grupu na mobilnim aplikacijama?\n\nIako mobilne aplikacije još uvijek u potpunosti ne podržavaju sve funkcionalnosti Grupnih planova, i dalje možete završiti zajedničke zadatke putem iOS i Android aplikacija tako što ćete kopirati zadatke na vašu ličnu tablu zadataka. Možete uključiti ovu opciju u Postavkama mobilnih aplikacija ili sa zajedničke table zadataka na verziji pregledača. Sada će se otvoreni i dodijeljeni zajednički zadaci prikazivati na vašoj ličnoj tabli zadataka na svim platformama.\n\n## Koja je razlika između zajedničkih zadataka grupe i Izazova?\n\nZajedničke table zadataka Grupnih planova su dinamičnije od Izazova, jer se stalno mogu ažurirati i interaktovati. Izazovi su odlični ako imate jedan set zadataka koje želite poslati mnogim ljudima.\n\nGrupni planovi su plaćena opcija, dok su Izazovi besplatni i dostupni svima.\n\nNe možete dodijeliti specifične zadatke u Izazovima, a Izazovi nemaju sinhronizovano resetovanje dana. Generalno gledano, Izazovi pružaju manju kontrolu i direktnu interakciju.", + "faqQuestion13": "Šta je Grupni plan?", + "general": "Opsto" +} diff --git a/website/common/locales/sr/groups.json b/website/common/locales/sr/groups.json index e1c69b0cac..7555eb9205 100644 --- a/website/common/locales/sr/groups.json +++ b/website/common/locales/sr/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/sr/merch.json b/website/common/locales/sr/merch.json index f6b6b3fecf..5a49486573 100644 --- a/website/common/locales/sr/merch.json +++ b/website/common/locales/sr/merch.json @@ -1,3 +1,3 @@ { - "merch" : "Merchandise" + "merch": "Proizvodi" } diff --git a/website/common/locales/sr/questscontent.json b/website/common/locales/sr/questscontent.json index 46f2b1b7ac..3a841530f2 100644 --- a/website/common/locales/sr/questscontent.json +++ b/website/common/locales/sr/questscontent.json @@ -3,7 +3,7 @@ "questEvilSantaNotes": "You hear agonized roars deep in the icefields. You follow the growls - punctuated by the sound of cackling - to a clearing in the woods, where you see a fully-grown polar bear. She's caged and shackled, fighting for her life. Dancing atop the cage is a malicious little imp wearing a castaway costume. Vanquish Trapper Santa, and save the beast!", "questEvilSantaCompletion": "Trapper Santa squeals in anger, and bounces off into the night. The grateful she-bear, through roars and growls, tries to tell you something. You take her back to the stables, where Matt Boch the Beast Master listens to her tale with a gasp of horror. She has a cub! He ran off into the icefields when mama bear was captured.", "questEvilSantaBoss": "Deda Mraz Traper", - "questEvilSantaDropBearCubPolarMount": "Beli medved (Životija za jahanje)", + "questEvilSantaDropBearCubPolarMount": "Beli medved (Životinja za jahanje)", "questEvilSanta2Text": "Nađite mladunče", "questEvilSanta2Notes": "When Trapper Santa captured the polar bear mount, her cub ran off into the icefields. You hear twig-snaps and snow crunch through the crystalline sound of the forest. Paw prints! You start racing to follow the trail. Find all the prints and broken twigs, and retrieve the cub!", "questEvilSanta2Completion": "You've found the cub! It will keep you company forever.", @@ -118,7 +118,7 @@ "questBasilistBoss": "Bazi-lista", "questEggHuntText": "Potraga za jajima", "questEggHuntNotes": "Overnight, strange plain eggs have appeared everywhere: in Matt's stables, behind the counter at the Tavern, and even among the pet eggs at the Marketplace! What a nuisance! \"Nobody knows where they came from, or what they might hatch into,\" says Megan, \"but we can't just leave them laying around! Work hard and search hard to help me gather up these mysterious eggs. Maybe if you collect enough, there will be some extras left over for you...\"", - "questEggHuntCompletion": "Uspeli ste! U znak zahvalnosti, Megan vam daje deset jaja. „Sigurna sam da će izgledati divno kad ih ofarbate napicima za izleganje! Pitam se šta će biti kad porastu...“", + "questEggHuntCompletion": "Uspeli ste! U znak zahvalnosti, Megan vam daje deset jaja. „Sigurna sam da će izgledati divno kada ih ofarbate napicima za izleganje! Pitam se šta će se desiti kad porastu...“", "questEggHuntCollectPlainEgg": "Obična jaja", "questEggHuntDropPlainEgg": "Obično jaje", "questDilatoryText": "The Dread Drag'on of Dilatory", diff --git a/website/common/locales/sr/tasks.json b/website/common/locales/sr/tasks.json index e355383585..6239aff3de 100644 --- a/website/common/locales/sr/tasks.json +++ b/website/common/locales/sr/tasks.json @@ -1,10 +1,10 @@ { "clearCompleted": "Obrisati završene zadatke", - "clearCompletedDescription": "Completed To-Dos are deleted after 30 days for non-subscribers and 90 days for subscribers.", - "clearCompletedConfirm": "Are you sure you want to delete your completed To-Dos?", + "clearCompletedDescription": "Završeni zadaci se brišu nakon 30 dana za nepretplaćene korisnike, odnosno nakon 90 dana za pretplatnike.", + "clearCompletedConfirm": "Da li ste sigurni da želite da obrišete svoje izvršene Zadatke?", "addMultipleTip": "Tip: To add multiple <%= taskType %>, separate each one using a line break (Shift + Enter) and then press \"Enter.\"", "addATask": "Add a <%= type %>", - "editATask": "Edit a <%= type %>", + "editATask": "Uredi <%= type %>", "createTask": "Create <%= type %>", "addTaskToUser": "Add Task", "scheduled": "Scheduled", @@ -106,7 +106,7 @@ "alreadyTagged": "The task is already tagged with given tag.", "taskRequiresApproval": "This task must be approved before you can complete it. Approval has already been requested", "taskApprovalHasBeenRequested": "Approval has been requested", - "taskApprovalWasNotRequested": "Only a task waiting for approval can be marked as needing more work", + "taskApprovalWasNotRequested": "Samo zadatak koji čeka odobrenje se može označiti kao neuređen.", "approvals": "Approvals", "approvalRequired": "Needs Approval", "weekly": "Weekly", diff --git a/website/common/locales/su/groups.json b/website/common/locales/su/groups.json index 58d8393d8f..7c308e45a0 100755 --- a/website/common/locales/su/groups.json +++ b/website/common/locales/su/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/sv/achievements.json b/website/common/locales/sv/achievements.json index 1fc68c0530..99b9a89265 100644 --- a/website/common/locales/sv/achievements.json +++ b/website/common/locales/sv/achievements.json @@ -5,9 +5,9 @@ "reachedLevel": "Du har nått level <%= level %>", "achievementLostMasterclasser": "Slutförande av uppdrag: Klassmästarserien", "achievementLostMasterclasserText": "Slutförde alla sexton uppdragen i uppdragsserien klassmästaren och löste mysteriet med den försvunna klassmästaren!", - "achievementPartyUp": "Du samarbetade med en sällskapsmedlem!", + "achievementPartyUp": "Du samarbetar med en sällskapsmedlem!", "achievementDustDevilModalText": "Du har samlat alla Öken Husdjur!", - "achievementDustDevilText": "Har samlat alla Öken Husdjur.", + "achievementDustDevilText": "Har samlat alla Öken-husdjur.", "achievementDustDevil": "Stoftvirvel", "achievementAllYourBaseModalText": "Du har tämjt alla Normala Riddjur!", "achievementAllYourBaseText": "Har tämjt alla Normala Riddjur.", @@ -21,8 +21,8 @@ "achievementMindOverMatterModalText": "Du slutförde husdjursuppdragen Sten, Slem, och Garn!", "achievementMindOverMatterText": "Har slutfört husdjursuppdragen Sten, Slem, och Garn.", "achievementLostMasterclasserModalText": "Du slutförde alla sexton uppdragen i uppdragsserien klassmästaren och löste mysteriet med den försvunna klassmästaren!", - "achievementUndeadUndertakerModalText": "Du har tämjt alla Zombie Riddjur!", - "achievementUndeadUndertakerText": "Har tämjt alla Zombie Riddjur.", + "achievementUndeadUndertakerModalText": "Du har tämjt alla Zombie-Riddjur!", + "achievementUndeadUndertakerText": "Har tämjt alla Zombie-Riddjur.", "achievementUndeadUndertaker": "Odöd begravningsentreprenör", "achievementMonsterMagusModalText": "Du har samlat alla Zombie Husdjur!", "achievementMonsterMagusText": "Har samlat alla Zombie Husdjur.", @@ -31,7 +31,7 @@ "achievementKickstarter2019Text": "Sponsrade Pin Kickstarter projektet under 2019", "achievementKickstarter2019": "Sponsor för Pin Kickstarter", "achievementAridAuthorityModalText": "Du har tämjt alla Öken Riddjur!", - "achievementAridAuthorityText": "Har tämjt alla Öken Riddjur.", + "achievementAridAuthorityText": "Har tämjt alla Öken-Riddjur.", "achievementAridAuthority": "Torr auktoritet", "achievementMindOverMatter": "Sinne över sak", "achievementPearlyProModalText": "Du har tämjt alla Vita riddjur!", @@ -132,5 +132,21 @@ "achievementBirdsOfAFeatherText": "Har kläckt alla vanliga flygande djur: Flygande gris, Uggla, Papegoja, Pterodactyl, Grip, Falk, Påfågel och Tupp!", "achievementBirdsOfAFeatherModalText": "Du har samlat alla Flygande djur!", "achievementBirdsOfAFeather": "Fåglar av en fjäder", - "achievementReptacularRumble": "Reptildrabbning" + "achievementReptacularRumble": "Reptildrabbning", + "achievementGroupsBeta2022Text": "Du och din grupp gav ovärderlig feedback för att hjälpa Habitica att testa.", + "achievementGroupsBeta2022ModalText": "Du och dina grupper hjälpte Habitica genom att testa och ge feedback!", + "achievementGroupsBeta2022": "Interaktiv betatestare", + "achievementPolarPro": "Polar Pro", + "achievementPolarProText": "Har kläckt alla standardfärger av Polardjur: Björn, Räv, Pingvin, Val och Varg!", + "achievementPolarProModalText": "Du har samlat alla Polardjuren!", + "achievementWoodlandWizardModalText": "Du har samlat alla skogsdjur!", + "achievementWoodlandWizardText": "Har kläckt alla standardfärger av skogsvarelser: Grävling, Björn, Rådjur, Räv, Groda, Igelkott, Uggla, Snigel, Ekorre och Träd!", + "achievementWoodlandWizard": "Skogstrollkarl", + "achievementPlantParent": "Växtförelder", + "achievementPlantParentText": "Har kläckt alla standardfärger av växtdjure: Kaktus och Träd!", + "achievementPlantParentModalText": "Du har samlat alla Växtdjur!", + "achievementDinosaurDynasty": "Dinosaurie dynasti", + "achievementDinosaurDynastyText": "Du har kläckt alla standard färger av fåglar och dinosauriedjur: Falk, Uggla, Påfågel, Pingvin, Tupp, Pterodaktyl, T-rex, Triceratops och Velociraptor!", + "achievementDinosaurDynastyModalText": "Du har samlat alla fåglar och dinosaurier!", + "achievementBoneToPickText": "Har kläckt alla klassiska och Uppdragsdjur!" } diff --git a/website/common/locales/sv/groups.json b/website/common/locales/sv/groups.json index e275921dda..742c7392cc 100644 --- a/website/common/locales/sv/groups.json +++ b/website/common/locales/sv/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", @@ -343,5 +343,14 @@ "groupActivityNotificationTitle": "<%= user %> postade i <%= group %>", "suggestedGroup": "Föreslagits eftersom du är ny på Habitica.", "taskClaimed": "<%- userName %> har gjort anspråk på uppgiften <%- taskText %>.", - "youHaveBeenAssignedTask": "<%- managerName %> har tilldelat dig upgiften <%- taskText %>." + "youHaveBeenAssignedTask": "<%- managerName %> har tilldelat dig upgiften <%- taskText %>.", + "editGuild": "Redigera Gille", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> har bjudit in dig till sällskapet <%- party %>", + "leaveGuild": "Lämna Gille", + "joinParty": "Gå med i Grupp", + "PMUserDoesNotReceiveMessages": "Den här användaren får inte privata medelanden längre", + "editParty": "Redigera Grupp", + "joinGuild": "Gå med i Gille", + "features": "Funktioner", + "PMCanNotReply": "Du kan inte besvara denna konversation" } diff --git a/website/common/locales/sw/groups.json b/website/common/locales/sw/groups.json index 58d8393d8f..7c308e45a0 100755 --- a/website/common/locales/sw/groups.json +++ b/website/common/locales/sw/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/ta/groups.json b/website/common/locales/ta/groups.json index 1dc75de04a..d92f1c53f7 100755 --- a/website/common/locales/ta/groups.json +++ b/website/common/locales/ta/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/th/groups.json b/website/common/locales/th/groups.json index 79e42418b5..ec1a790a02 100755 --- a/website/common/locales/th/groups.json +++ b/website/common/locales/th/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/tl_PH/character.json b/website/common/locales/tl_PH/character.json index dd2a954e88..f0128694a2 100755 --- a/website/common/locales/tl_PH/character.json +++ b/website/common/locales/tl_PH/character.json @@ -105,14 +105,14 @@ "experience": "Karanasan", "warrior": "Mandirigma", "healer": "Manggagamot", - "rogue": "Haragan", + "rogue": "Haragán", "mage": "Salamangkero", "wizard": "Mage", "mystery": "Misteryo", "changeClass": "Change Class, Refund Stat Points", "lvl10ChangeClass": "To change class you must be at least level 10.", "changeClassConfirmCost": "Are you sure you want to change your class for 3 Gems?", - "invalidClass": "Invalid class. Please specify 'warrior', 'rogue', 'wizard', or 'healer'.", + "invalidClass": "Invalid class. Please specify 'warrior', 'haragán', 'wizard', or 'healer'.", "levelPopover": "Each level earns you one Point to assign to a Stat of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options.", "unallocated": "Unallocated Stat Points", "autoAllocation": "Kusang Pagtalaga", @@ -148,7 +148,7 @@ "youCastTarget": "Ginamit mo ang <%= spell %> sa <%= target %>.", "youCastParty": "Ginamit mo ang <%= spell %> para sa partido.", "critBonus": "Kritikal na Tama! Bono:", - "gainedGold": "You gained some Gold", + "gainedGold": "Nadágdagán ang Gintô mo", "gainedMana": "You gained some Mana", "gainedHealth": "You gained some Health", "gainedExperience": "You gained some Experience", diff --git a/website/common/locales/tl_PH/groups.json b/website/common/locales/tl_PH/groups.json index de8683261a..0568d37a65 100755 --- a/website/common/locales/tl_PH/groups.json +++ b/website/common/locales/tl_PH/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/tl_PH/limited.json b/website/common/locales/tl_PH/limited.json index 3400c76672..55ba0b6c50 100755 --- a/website/common/locales/tl_PH/limited.json +++ b/website/common/locales/tl_PH/limited.json @@ -35,17 +35,17 @@ "seasonalShopBrokenText": "My pavilion!!!!!!! My decorations!!!! Oh, the Dysheartener's destroyed everything :( Please help defeat it in the Tavern so I can rebuild!", "seasonalShopRebirth": "If you bought any of this equipment in the past but don't currently own it, you can repurchase it in the Rewards Column. Initially, you'll only be able to purchase the items for your current class (Warrior by default), but fear not, the other class-specific items will become available if you switch to that class.", "candycaneSet": "Baston ng Kendi (Salamangkero)", - "skiSet": "Ski-sassin (Haragan)", + "skiSet": "Ski-sassin (Haragán)", "snowflakeSet": "Snowflake (Mangagamot)", "yetiSet": "Tagapagpaamo ng Yeti (Mandirigma)", "northMageSet": "Salamangkero ng Hilaga (Salamangkero)", - "icicleDrakeSet": "Yelong Drake (Haragan)", + "icicleDrakeSet": "Yelong Drake (Haragán)", "soothingSkaterSet": "Nagappaginahawang Skater (Manggagamot)", "gingerbreadSet": "Mandirigmang Gingerbread (Mandirigma)", "snowDaySet": "Snow Day Warrior (Warrior)", "snowboardingSet": "Snowboarding Sorcerer (Mage)", "festiveFairySet": "Festive Fairy (Healer)", - "cocoaSet": "Cocoa Rogue (Rogue)", + "cocoaSet": "Cocoa Rogue (Haragán)", "toAndFromCard": "Para kay: To: <%= toName %>, Mula kay: <%= fromName %>", "nyeCard": "Card para sa Bagong Taon", "nyeCardExplanation": "Para sa pagdiriwang ng bagong taon ng magkasama, inyong nakuha ang \"Auld Acquaintance\" na tsapa!", @@ -61,11 +61,11 @@ "mightyBunnySet": "Makapangyarihang Kuneho (Mandirigma)", "magicMouseSet": "Masalamangkerong Daga (Salamagkero)", "lovingPupSet": "Mapagmahal na Tuta (Manggagamot)", - "stealthyKittySet": "Mapaglihim na Pusa (Haragan)", + "stealthyKittySet": "Mapaglihim na Pusa (Haragán)", "daringSwashbucklerSet": "Matapang na Taong Pangahas (Mandirigma)", "emeraldMermageSet": "Esmeraldang Pantubig na Salamangkero (Salamangkero)", "reefSeahealerSet": "Bahurang Pantubig na Manggagamot (Manggagamot)", - "roguishPirateSet": "Haragang Pirata (Haragan)", + "roguishPirateSet": "Haragang Pirata (Haragán)", "monsterOfScienceSet": "Halimaw ng Agham (Mandirigma)", "witchyWizardSet": "Bruhang Mangkukulam (Salamangkero)", "mummyMedicSet": "Momyang Manggagamot (Manggagamot)", @@ -73,63 +73,63 @@ "bewareDogSet": "Beware Dog (Warrior)", "magicianBunnySet": "Magician's Bunny (Mage)", "comfortingKittySet": "Comforting Kitty (Healer)", - "sneakySqueakerSet": "Sneaky Squeaker (Rogue)", + "sneakySqueakerSet": "Sneaky Squeaker (Haragán)", "sunfishWarriorSet": "Sunfish Warrior (Warrior)", "shipSoothsayerSet": "Ship Soothsayer (Mage)", "strappingSailorSet": "Strapping Sailor (Healer)", - "reefRenegadeSet": "Reef Renegade (Rogue)", + "reefRenegadeSet": "Reef Renegade (Haragán)", "scarecrowWarriorSet": "Scarecrow Warrior (Warrior)", "stitchWitchSet": "Stitch Witch (Mage)", "potionerSet": "Potioner (Healer)", - "battleRogueSet": "Bat-tle Rogue (Rogue)", + "battleRogueSet": "Bat-tle Rogue (Haragán)", "springingBunnySet": "Springing Bunny (Healer)", "grandMalkinSet": "Grand Malkin (Mage)", - "cleverDogSet": "Clever Dog (Rogue)", + "cleverDogSet": "Clever Dog (Haragán)", "braveMouseSet": "Brave Mouse (Warrior)", "summer2016SharkWarriorSet": "Shark Warrior (Warrior)", "summer2016DolphinMageSet": "Dolphin Mage (Mage)", "summer2016SeahorseHealerSet": "Seahorse Healer (Healer)", - "summer2016EelSet": "Eel Rogue (Rogue)", + "summer2016EelSet": "Eel Rogue (Haragán)", "fall2016SwampThingSet": "Swamp Thing (Warrior)", "fall2016WickedSorcererSet": "Wicked Sorcerer (Mage)", "fall2016GorgonHealerSet": "Gorgon Healer (Healer)", - "fall2016BlackWidowSet": "Black Widow Rogue (Rogue)", + "fall2016BlackWidowSet": "Black Widow Rogue (Haragán)", "winter2017IceHockeySet": "Ice Hockey (Warrior)", "winter2017WinterWolfSet": "Winter Wolf (Mage)", "winter2017SugarPlumSet": "Sugar Plum Healer (Healer)", - "winter2017FrostyRogueSet": "Frosty Rogue (Rogue)", + "winter2017FrostyRogueSet": "Frosty Rogue (Haragán)", "spring2017FelineWarriorSet": "Feline Warrior (Warrior)", "spring2017CanineConjurorSet": "Canine Conjuror (Mage)", "spring2017FloralMouseSet": "Floral Mouse (Healer)", - "spring2017SneakyBunnySet": "Sneaky Bunny (Rogue)", + "spring2017SneakyBunnySet": "Sneaky Bunny (Haragán)", "summer2017SandcastleWarriorSet": "Sandcastle Warrior (Warrior)", "summer2017WhirlpoolMageSet": "Whirlpool Mage (Mage)", "summer2017SeashellSeahealerSet": "Seashell Seahealer (Healer)", - "summer2017SeaDragonSet": "Sea Dragon (Rogue)", + "summer2017SeaDragonSet": "Sea Dragon (Haragán)", "fall2017HabitoweenSet": "Habitoween Warrior (Warrior)", "fall2017MasqueradeSet": "Masquerade Mage (Mage)", "fall2017HauntedHouseSet": "Haunted House Healer (Healer)", - "fall2017TrickOrTreatSet": "Trick or Treat Rogue (Rogue)", + "fall2017TrickOrTreatSet": "Trick or Treat Rogue (Haragán)", "winter2018ConfettiSet": "Confetti Mage (Mage)", "winter2018GiftWrappedSet": "Gift-Wrapped Warrior (Warrior)", "winter2018MistletoeSet": "Mistletoe Healer (Healer)", - "winter2018ReindeerSet": "Reindeer Rogue (Rogue)", + "winter2018ReindeerSet": "Reindeer Rogue (Haragán)", "spring2018SunriseWarriorSet": "Sunrise Warrior (Warrior)", "spring2018TulipMageSet": "Tulip Mage (Mage)", "spring2018GarnetHealerSet": "Garnet Healer (Healer)", - "spring2018DucklingRogueSet": "Duckling Rogue (Rogue)", + "spring2018DucklingRogueSet": "Duckling Rogue (Haragán)", "summer2018BettaFishWarriorSet": "Betta Fish Warrior (Warrior)", "summer2018LionfishMageSet": "Lionfish Mage (Mage)", "summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)", - "summer2018FisherRogueSet": "Fisher-Rogue (Rogue)", + "summer2018FisherRogueSet": "Mangíngisdâ-Haragán (Haragán)", "fall2018MinotaurWarriorSet": "Minotaur (Warrior)", "fall2018CandymancerMageSet": "Candymancer (Mage)", "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)", - "fall2018AlterEgoSet": "Alter Ego (Rogue)", + "fall2018AlterEgoSet": "Alter Ego (Haragán)", "winter2019BlizzardSet": "Blizzard (Warrior)", "winter2019PyrotechnicSet": "Pyrotechnic (Mage)", "winter2019WinterStarSet": "Winter Star (Healer)", - "winter2019PoinsettiaSet": "Poinsettia (Rogue)", + "winter2019PoinsettiaSet": "Poinsettia (Haragán)", "eventAvailability": "Available for purchase until <%= date(locale) %>.", "dateEndMarch": "April 30", "dateEndApril": "April 19", @@ -147,5 +147,20 @@ "winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3", "discountBundle": "bundle", "g1g1Announcement": "Gift a subscription and get a subscription free event going on now!", - "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!" + "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!", + "summer2020CrocodileRogueSet": "Buwaya (Haragán)", + "winter2021HollyIvyRogueSet": "Holly and Ivy (Haragán)", + "fall2019OperaticSpecterSet": "Operatic Specter (Haragán)", + "spring2022MagpieRogueSet": "Magpie (Haragán)", + "summer2022CrabRogueSet": "Alimango (Haragán)", + "fall2022KappaRogueSet": "Kappa (Haragán)", + "fall2021OozeRogueSet": "Ooze (Haragán)", + "winter2022FireworksRogueSet": "Paputók (Rogue)", + "spring2019CloudRogueSet": "Cloud (Haragán)", + "summer2019HammerheadRogueSet": "Hammerhead (Haragán)", + "winter2020LanternSet": "Lantern (Haragán)", + "spring2020LapisLazuliRogueSet": "Lapis Lazuli (Haragán)", + "fall2020TwoHeadedRogueSet": "Two-Headed (Haragán)", + "summer2021ClownfishRogueSet": "Clownfish (Haragán)", + "winter2023RibbonRogueSet": "Palamutíng Panalì (Haragán)" } diff --git a/website/common/locales/tl_PH/subscriber.json b/website/common/locales/tl_PH/subscriber.json index 56cd3e53bf..59130213dc 100755 --- a/website/common/locales/tl_PH/subscriber.json +++ b/website/common/locales/tl_PH/subscriber.json @@ -58,7 +58,7 @@ "mysterySet201604": "Leaf Warrior Set", "mysterySet201605": "Marching Bard Set", "mysterySet201606": "Selkie Robes Set", - "mysterySet201607": "Seafloor Rogue Set", + "mysterySet201607": "Seafloor Haragán Set", "mysterySet201608": "Thunderstormer Set", "mysterySet201609": "Cow Costume Set", "mysterySet201610": "Spectral Flame Set", diff --git a/website/common/locales/tlh/groups.json b/website/common/locales/tlh/groups.json index f49a5ae8d9..7717970c16 100755 --- a/website/common/locales/tlh/groups.json +++ b/website/common/locales/tlh/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/tr/achievements.json b/website/common/locales/tr/achievements.json index fd31e99e7b..96692bb99e 100644 --- a/website/common/locales/tr/achievements.json +++ b/website/common/locales/tr/achievements.json @@ -114,5 +114,20 @@ "achievementVioletsAreBlueText": "Tüm Mavi Pamuk Şeker Hayvanlar toplandı.", "achievementWildBlueYonderModalText": "Mavi Pamuk Şeker Binekler'in hepsini evcilleştirdin.", "achievementWildBlueYonderText": "Tüm Mavi Pamuk Şeker Binekler evcilleştirildi.", - "achievementVioletsAreBlue": "Menekşeler mavidir!" + "achievementVioletsAreBlue": "Menekşeler mavidir!", + "achievementShadyCustomer": "Şüpheli Müşteri", + "achievementDomesticatedText": "Evcil hayvanların tüm standart renklerini yumurtadan çıkarıldı: Gelincik, Gine domuzu, Horoz, Uçan Domuz, Sıçan, Tavşan, At ve İnek!", + "achievementShadyCustomerText": "Tüm Gölge Hayvanlarını toplandı.", + "achievementZodiacZookeeper": "Zodyak Hayvan Bekçisi", + "achievementZodiacZookeeperText": "Zodyak evcil hayvanlarının tüm standart renkleri yumurtadan çıkarıldı: Sıçan, İnek, Tavşan, Yılan, At, Koyun, Maymun, Horoz, Kurt, Kaplan, Uçan Domuz ve Ejderha!", + "achievementBirdsOfAFeatherModalText": "Tüm uçan evcil hayvanları topladın!", + "achievementDomesticated": "iy ay iy ay oo", + "achievementDomesticatedModalText": "Tüm evcilleştirilmiş evcil hayvanları topladın!", + "achievementBirdsOfAFeather": "Tüyün kuşları", + "achievementBirdsOfAFeatherText": "Uçan evcil hayvanların tüm standart renkleri yumurtadan çıkarıldı: Uçan Domuz, Baykuş, Papağan, Pterodaktil, Grifon, Şahin, Tavus Kuşu ve Horoz!", + "achievementZodiacZookeeperModalText": "Tüm zodyak evcil hayvanlarını topladın!", + "achievementShadeOfItAllText": "Tüm Gölge Bineklerini evcilleştirdi.", + "achievementShadeOfItAllModalText": "Tüm Gölge Bineklerini evcilleştirdin!", + "achievementShadyCustomerModalText": "Tüm Gölge Bineklerini evcilleştirdin!", + "achievementShadeOfItAll": "Hepsi Gölge" } diff --git a/website/common/locales/tr/backgrounds.json b/website/common/locales/tr/backgrounds.json index 1319d7a4dc..f34f383c9f 100644 --- a/website/common/locales/tr/backgrounds.json +++ b/website/common/locales/tr/backgrounds.json @@ -462,5 +462,11 @@ "backgroundLakeWithFloatingLanternsNotes": "Yüzen Fenerlerle Bir Gölün festival atmosferinden yıldızlara bakın.", "backgrounds072019": "AYARLAMA 62: Temmuz 2019'da yayınlandı", "backgroundUnderwaterVentsNotes": "Sualtı Havalandırmalarına doğru derin bir dalış yapın.", - "backgroundUnderwaterVentsText": "Sualtı Havalandırmaları" + "backgroundUnderwaterVentsText": "Sualtı Havalandırmaları", + "backgroundFarmersMarketText": "Çiftçi Pazarı", + "backgroundFarmersMarketNotes": "En taze yiyecekleri Çiftçi Pazar'ından satın al.", + "backgroundPumpkinCarriageText": "Balkabağı Arabası", + "backgroundPumpkinCarriageNotes": "Saatler gece yarısını göstermeden önce sihirli Balkabağı Arabası ile gezintiye çık.", + "backgroundAutumnFlowerGardenText": "Sonbahar Çiçek Bahçesi", + "hideLockedBackgrounds": "Kilitli arkaplanları gizle" } diff --git a/website/common/locales/tr/content.json b/website/common/locales/tr/content.json index 845e606439..4cdb622fa0 100644 --- a/website/common/locales/tr/content.json +++ b/website/common/locales/tr/content.json @@ -181,7 +181,7 @@ "questEggAlligatorAdjective": "cingöz bir", "questEggVelociraptorText": "Velociraptor", "questEggVelociraptorMountText": "Velociraptor", - "questEggVelociraptorAdjective": "a clever", + "questEggVelociraptorAdjective": "Zeki", "eggNotes": "Bir kuluçka iksiri bulup bu yumurtanın üzerine döktüğünde yumurtadan <%= eggAdjective(locale) %> <%= eggText(locale) %> çıkacak.", "hatchingPotionBase": "Sıradan", "hatchingPotionWhite": "Beyaz", @@ -212,7 +212,7 @@ "hatchingPotionFrost": "Donuk", "hatchingPotionIcySnow": "Buzlu Kar", "hatchingPotionNotes": "Bunu yumurtanın üstüne döktüğünde <%= potText(locale) %> türünde bir hayvan çıkacak.", - "premiumPotionAddlNotes": "Görev yumurtalarıyla kullanılamaz.", + "premiumPotionAddlNotes": "Görev evcil hayvan yumurtalarında kullanılamaz. Şu tarihe kadar satın alınabilir <%= date(locale) %>.", "foodMeat": "Et", "foodMeatThe": "Et", "foodMeatA": "Et", @@ -291,7 +291,7 @@ "foodCandyWhite": "Vanilyalı Şeker", "foodCandyWhiteThe": "Vanilyalı Şeker", "foodCandyWhiteA": "Vanilyalı Şeker", - "foodCandyGolden": "Ballı Şeker", + "foodCandyGolden": "Bal Şekeri", "foodCandyGoldenThe": "Ballı Şeker", "foodCandyGoldenA": "Ballı Şeker", "foodCandyZombie": "Çürük Şeker", @@ -306,5 +306,73 @@ "foodSaddleText": "Eyer", "foodSaddleNotes": "Hayvanlarından birini anında bir bineğe dönüştürür.", "foodSaddleSellWarningNote": "Bu oldukça kullanışlı bir eşya! Hayvanlarınla nasıl Eyer kullanıldığını biliyor musun?", - "foodNotes": "Bunu bir hayvana yedirdiğinde, kuvvetli bir bineğe dönüşebilir." + "foodNotes": "Bunu bir hayvana yedirdiğinde, kuvvetli bir bineğe dönüşebilir.", + "questEggDolphinText": "Yunus", + "hatchingPotionStainedGlass": "Vitray", + "questEggRobotMountText": "Robot", + "hatchingPotionTeaShop": "Çay dükkanı", + "foodPieSkeleton": "Kemik İliği Turtası", + "foodPieSkeletonA": "bir dilim Kemik İliği Turtası", + "foodPieCottonCandyPinkThe": "pembe ışgın turtası", + "foodPieWhiteThe": "Vanilyalı Puding Turtası", + "foodPieDesert": "Çöl Tatlısı Turtası", + "foodPieRedA": "bir dilim Kırmızı Vişneli Turta", + "hatchingPotionCelestial": "Göksel", + "hatchingPotionVeggie": "Bahçe", + "hatchingPotionWatery": "Sulu", + "hatchingPotionRoseQuartz": "Gül kuvartzı", + "foodPieCottonCandyPinkA": "bir dilim pembe ışgın turtası", + "foodPieZombie": "Çürük Turta", + "hatchingPotionFluorite": "Florit", + "hatchingPotionSunset": "Gün batımı", + "questEggRobotText": "Robot", + "hatchingPotionMossyStone": "Yosunlu Taş", + "hatchingPotionPolkaDot": "Puantiye", + "questEggDolphinMountText": "Yunus", + "hatchingPotionSolarSystem": "Güneş Sistemi", + "hatchingPotionMoonglow": "Ay ışığı", + "hatchingPotionAurora": "Aurora", + "hatchingPotionRuby": "Yakut", + "hatchingPotionWindup": "Kurmalı", + "hatchingPotionAmber": "Kehribar", + "foodPieCottonCandyBlue": "Yabanmersinli turta", + "hatchingPotionAutumnLeaf": "Sonbahar yaprağı", + "hatchingPotionSandSculpture": "Kumdan heykel", + "hatchingPotionBronze": "Bronz", + "hatchingPotionShadow": "Gölge", + "hatchingPotionBlackPearl": "Kara İnci", + "premiumPotionUnlimitedNotes": "Görev evcil hayvan yumurtalarında kullanılamaz.", + "hatchingPotionVampire": "Vampir", + "hatchingPotionDessert": "Şekerleme", + "questEggRobotAdjective": "fütüristik", + "hatchingPotionBirchBark": "Huş kabuğu", + "hatchingPotionSilver": "Gümüş", + "hatchingPotionTurquoise": "Turkuaz", + "hatchingPotionSunshine": "Güneş ışığı", + "questEggDolphinAdjective": "parçalayıcı", + "hatchingPotionOnyx": "Oniks", + "hatchingPotionPorcelain": "Porselen", + "hatchingPotionVirtualPet": "Sanal hayvan", + "hatchingPotionPinkMarble": "Pembe Mermer", + "foodPieSkeletonThe": "Kemik İliği Turtası", + "foodPieBase": "temel elmalı turta", + "foodPieBaseThe": "Basit Elmalı turta", + "foodPieBaseA": "bir dilim Temel Elmalı Turta", + "foodPieCottonCandyBlueThe": "Yabanmersinli turta", + "foodPieCottonCandyBlueA": "bir dilim Yabanmersinli turtası", + "foodPieCottonCandyPink": "pembe ışgın turtası", + "foodPieShade": "Bitter Çikolatalı Pasta", + "foodPieShadeThe": "Bitter Çikolatalı Pasta", + "foodPieShadeA": "bir dilim Bitter Çikolatalı Turtası", + "foodPieWhite": "Vanilyalı Puding Turtası", + "foodPieWhiteA": "bir dilim Vanilyalı Puding Turtası", + "foodPieGolden": "Altın Muz Kremalı Turta", + "foodPieGoldenThe": "Altın Muz Kremalı Turta", + "foodPieGoldenA": "bir dilim Altın Muz Kremalı Turta", + "foodPieZombieThe": "Çürük Turta", + "foodPieZombieA": "bir dilim Çürük Turta", + "foodPieDesertThe": "Çöl Tatlısı Turtası", + "foodPieDesertA": "bir dilim Çöl Tatlısı Turtası", + "foodPieRed": "Kırmızı Vişneli Turta", + "foodPieRedThe": "Kırmızı Vişneli Turta" } diff --git a/website/common/locales/tr/pets.json b/website/common/locales/tr/pets.json index 4c61a5adf8..233cab292f 100644 --- a/website/common/locales/tr/pets.json +++ b/website/common/locales/tr/pets.json @@ -41,10 +41,10 @@ "quickInventory": "Pratik Envanter", "foodText": "yiyecek", "food": "Yiyecek ve Eyerler", - "noFoodAvailable": "Hiç Yiyeceğin yok.", + "noFoodAvailable": "Hiç Evcil Hayvan Mamanız yok.", "noSaddlesAvailable": "Hiç Eyerin yok.", "noFood": "Hiç yiyeceğin veya eyerin yok.", - "dropsExplanation": "Eğer görevlerini tamamlayarak kazanmayı beklemek istemiyorsan, bu eşyaları Elmas karşılığında daha hızlı edinebilirsin. Eşya bulma sistemi ile ilgili detaylı bilgi al.", + "dropsExplanation": "Eğer görevlerini tamamlayarak kazanmayı beklemek istemiyorsan, bu eşyaları Elmas karşılığında daha hızlı edinebilirsin. Eşya bulma sistemi ile ilgili detaylı bilgi al.", "dropsExplanationEggs": "Standart yumurtaları veya Görev bitirerek Görev yumurtalarını bulmayı beklemek istemiyorsan, yumurtaları daha hızlı almak için Elmas harca. Eşya bulma sistemi hakkında daha fazla bilgi edin.", "premiumPotionNoDropExplanation": "Sihirli Kuluçka İksirleri, Görevlerden kazanılan yumurtaların üzerinde kullanılamaz. Sihirli Kuluçka İksirlerini edinmenin tek yolu buradan satın almaktır, rastgele ödül olarak kazanılamaz.", "beastMasterProgress": "Hayvan Terbiyecisi Aşaması", @@ -109,5 +109,10 @@ "notEnoughMounts": "Yeteri kadar binek toplamadın", "notEnoughPetsMounts": "Yeteri kadar hayvan ve binek toplamadın", "wackyPets": "Tuhaf Evcil Hayvanlar", - "filterByWacky": "Tuhaf" + "filterByWacky": "Tuhaf", + "invalidAmount": "Geçersiz yiyecek miktarı, pozitif bir tam sayı olmalıdır", + "gryphatrice": "Grifatris", + "notEnoughFood": "Yeterli yiyeceğin yok", + "tooMuchFood": "Evcil hayvanınıza çok fazla yiyecek vermeye çalışıyorsunuz, işlem iptal edildi", + "jubilantGryphatrice": "Sevinçli Grifatris" } diff --git a/website/common/locales/tr/quests.json b/website/common/locales/tr/quests.json index 3c41aea3f5..2ef68b70ab 100644 --- a/website/common/locales/tr/quests.json +++ b/website/common/locales/tr/quests.json @@ -31,11 +31,11 @@ "collected": "Toplandı", "abort": "Yarıda Kes", "leaveQuest": "Görevden Ayrıl", - "sureLeave": "Aktif görevden ayrılmak istediğine emin misin? Görevdeki tüm ilerlemen yok olacak.", + "sureLeave": "Görevden ayrılmak istediğinizden emin misiniz? Tüm ilerlemeniz kaybolacak.", "mustComplete": "Önce <%= quest %> tamamlanmalı.", "mustLvlQuest": "Bu görevi satın almak için <%= level %>. seviye olmalısın!", "unlockByQuesting": "Bu görevin kilidini açmak için, <%= title %> adlı görevi bitirmelisin.", - "questConfirm": "Emin misin? <%= totalmembers %> takım üyesinden yalnızca <%= questmembers %> tanesi bu göreve katıldı! Görevler tüm oyuncular daveti kabul veya reddettiğinde otomatik olarak başlar.", + "questConfirm": "Bu Görevi başlatmak istediğinizden emin misiniz? Tüm Parti üyeleri, Görev davetini kabul etmemiştir. Tüm üyeler davete yanıt verdikten sonra görevler otomatik olarak başlar.", "sureCancel": "Bu görevi iptal etmek istediğine emin misin? Kabul edilen tüm davetiyeler yok olacak. Görev sahibi, görev parşömenine sahip olmaya devam edecektir.", "sureAbort": "Bu görevi yarıda kesmek istediğine emin misin? Bu seçenek, görevi tüm takım üyeleri için iptal edecek ve tüm ilerleme kaybolacak. Görev parşömeni, görev sahibine iade edilecek.", "doubleSureAbort": "Son kararın mı? Senden sonsuza kadar nefret etmeyeceklerinden emin ol!", @@ -77,5 +77,22 @@ "questAlreadyStarted": "Görev çoktan başladı.", "bossDamage": "Boss'a zarar verdin!", "questInvitationNotificationInfo": "Bir göreve davet edildiniz", - "hatchingPotionQuests": "Büyülü Kuluçka İksiri Görevleri" + "hatchingPotionQuests": "Büyülü Kuluçka İksiri Görevleri", + "sureLeaveInactive": "Görevden ayrılmak istediğinizden emin misiniz? Katılım sağlayamayacaksınız.", + "selectQuest": "Görev Seç", + "chatBossDefeated": "<%= bossName %>'yi yendiniz! Görev yapan takım üyeleri zafer ödüllerini alırlar.", + "chatQuestAborted": "<%= username %>, <%= questName %> adlı takım görevini iptal etti.", + "newItem": "Yeni öğe", + "selectQuestModal": "Bir Görev seçin", + "questOwner": "Görev Sahibi", + "membersParticipating": "<%= accepted %> / <%= invited %> katılan üyeler", + "noQuestToStartTitle": "Başlamak için bir Görev bulamıyor musunuz?", + "yourPartyIsNotOnQuest": "Takımınız bir Görevde değil", + "yourQuests": "Görevleriniz", + "questItemsPending": "<%= amount %> Bekleyen öğeler", + "ownerOnly": "Yalnızca sahipler için", + "chatFindItems": "<%= username %>, <%= items %> buldu.", + "cancelQuest": "Görevi İptal Et", + "chatItemQuestFinish": "Tüm öğeler bulundu! Takım ödüllerini aldı.", + "backToSelection": "Görev seçimine geri dön" } diff --git a/website/common/locales/uk/achievements.json b/website/common/locales/uk/achievements.json index 2b17f9c544..9a4d912212 100644 --- a/website/common/locales/uk/achievements.json +++ b/website/common/locales/uk/achievements.json @@ -141,5 +141,14 @@ "achievementWoodlandWizardText": "Зібрали усіх лісових істот стандартних кольорів: борсука, ведмедя, оленя, лисицю, жабу, їжака, сову, равлика, білку та деревце!", "achievementBoneToPickModalText": "Ви зібрали всіх класичних та квестових кістяних улюбленців!", "achievementBoneToPickText": "Зібрали всіх класичних та квестових кістяних улюбленців!", - "achievementBoneToPick": "Могильник" + "achievementBoneToPick": "Могильник", + "achievementPolarPro": "Полярник", + "achievementPolarProText": "Зібрали всіх полярних улюбленців стандартних кольорів: ведмедя, лиса, пінгвіна, кита та вовка!", + "achievementPolarProModalText": "Ви зібрали всіх полярних тваринок!", + "achievementPlantParent": "Батько рослин", + "achievementPlantParentText": "Зібрали всі рослинних улюбленців стандартних кольорів: кактус та пагін!", + "achievementPlantParentModalText": "Ви зібрали всіх рослинних улюбленців!", + "achievementDinosaurDynasty": "Династія Динозаврів", + "achievementDinosaurDynastyModalText": "Ви зібрали усіх улюбленців пташок та динозаврів!", + "achievementDinosaurDynastyText": "Виведено всі стандартні кольори птахів і динозаврів: Сокіл, Сова, Папуга, Павич, Пінгвін, Півень, Птеродактель, Т-Рекс, Трицератопс і Велоцираптор!" } diff --git a/website/common/locales/uk/backgrounds.json b/website/common/locales/uk/backgrounds.json index 683135b205..4ae6a802ba 100644 --- a/website/common/locales/uk/backgrounds.json +++ b/website/common/locales/uk/backgrounds.json @@ -745,5 +745,50 @@ "backgroundBranchesOfAHolidayTreeNotes": "Пограйтесь на гілках святкової ялинки.", "backgroundInsideACrystalText": "Всередині кристалу", "backgroundSnowyVillageText": "Засніжене село", - "backgroundSnowyVillageNotes": "Помилуйтесь засніженим селом." + "backgroundSnowyVillageNotes": "Помилуйтесь засніженим селом.", + "backgroundRimeIceText": "Паморозь", + "backgroundRimeIceNotes": "Помилуйтесь блискучою памороззю.", + "backgroundSnowyTempleText": "Засніжений храм", + "backgroundSnowyTempleNotes": "Подивіться на безтурботний засніжений храм.", + "backgroundWinterLakeWithSwansText": "Зимове озеро з лебедями", + "backgroundWinterLakeWithSwansNotes": "Насолоджуйтесь природою на зимовому озері з лебедями.", + "backgroundBirthdayBashText": "Гулянка в День народження", + "backgroundBirthdayBashNotes": "Habitica святкує день народження та запрошує всіх на гулянку!", + "backgrounds012023": "Набір 104: січень 2023", + "eventBackgrounds": "Фони подій", + "backgrounds022023": "Набір 105: лютий 2023", + "backgroundInFrontOfFountainText": "Перед фонтаном", + "backgroundInFrontOfFountainNotes": "Погуляйте поблизу фонтану.", + "backgroundGoldenBirdcageText": "Золота клітка", + "backgroundGoldenBirdcageNotes": "Сховайте в золотій клітці.", + "backgroundFancyBedroomText": "Шикарна спальня", + "backgroundFancyBedroomNotes": "Порозкошуйте в шикарній спальні.", + "backgroundOldTimeyBasketballCourtText": "Олдскульний баскетбольний майданчик", + "backgroundJungleWateringHoleText": "Водопій у джунглях", + "backgroundJungleWateringHoleNotes": "Зупиніться, щоб зробити ковток біля водопою в джунглях.", + "backgroundMangroveForestText": "Мангровий ліс", + "backgrounds032023": "Набір 106: березень 2023", + "backgroundOldTimeyBasketballCourtNotes": "Кидайте м'ячі в кільце на олдскульному баскетбольному майданчику.", + "backgroundMangroveForestNotes": "Дослідіть край мангрового лісу.", + "backgrounds052023": "Набір 108: травень 2023", + "backgroundInAPaintingText": "У картині", + "backgroundInAPaintingNotes": "Насолодіться творчими пошуками всередині картини.", + "backgrounds042023": "Набір 107: квітень 2023", + "backgroundLeafyTreeTunnelText": "Тунель з листяних дерев", + "backgroundUnderWisteriaText": "Під гліцинією", + "backgroundLeafyTreeTunnelNotes": "Поблукайте тунелем з листяних дерев.", + "backgroundSpringtimeShowerNotes": "Подивіться на квітучий весняний дощик.", + "backgroundSpringtimeShowerText": "Весняний дощик", + "backgroundUnderWisteriaNotes": "Відпочиньте під гліцинією.", + "backgroundFlyingOverHedgeMazeText": "Політ над лабіринтом живоплоту", + "backgroundFlyingOverHedgeMazeNotes": "Чудо під час польоту над лабіринтом живоплоту.", + "backgroundCretaceousForestText": "Крейдовий ліс", + "backgroundCretaceousForestNotes": "Пориньте в давню зелень крейдового лісу.", + "backgrounds062023": "Набір 109: червень 2023", + "backgroundInAnAquariumText": "У акваріумі", + "backgroundInAnAquariumNotes": "Поплавай з рибками в акваріумі.", + "backgroundInsideAdventurersHideoutText": "В укритті шукача пригод", + "backgroundInsideAdventurersHideoutNotes": "Сплануйте свою подорож в укритті шукача пригод.", + "backgroundCraterLakeText": "Озеро у кратері", + "backgroundCraterLakeNotes": "Насолодіться прекрасним озером у кратері." } diff --git a/website/common/locales/uk/communityguidelines.json b/website/common/locales/uk/communityguidelines.json index 37647fe821..5c9f28bf13 100644 --- a/website/common/locales/uk/communityguidelines.json +++ b/website/common/locales/uk/communityguidelines.json @@ -4,55 +4,55 @@ "commGuideHeadingWelcome": "Ласкаво просимо до країни Habitica!", "commGuidePara001": "Вітаю, шукачу пригод! Запрошуємо до Habitica — країни продуктивності, здорового життя та іноді шалених ґрифонів. У нас веселе товариство людей, які завжди раді допомогти та підтримати інших на їхньому шляху до самовдосконалення. Для того щоб стати своїм все що необхідне - це позитивне відношення, шанобливе ставлення та розуміння того, що у кожного є різні навички та обмеження, включаючи вас! Габітиканці поважають один одного і намагаються допомогти, коли можливо.", "commGuidePara002": "Аби всі у нашому товаристві були здорові, щасливі та продуктивні, існує кілька правил. Ми ретельно склали правила, щоб вони були настільки доброзичливі та зручні для сприйняття, наскільки це можливо. Будь ласка, знайдіть час, щоб прочитати їх перед тим як почнете спілкуватися.", - "commGuidePara003": "Ці правила стосуються усіх соціальних каналів, якими ми користуємось, у тому числі (але не винятково) Trello, GitHub, Weblate і Habitica Wiki на Fandom. Оскільки спільноти ростуть і змінюються, їхні правила можуть час від часу адаптуватися. Коли в цих Інструкціях будуть внесені істотні зміни, ви почуєте про це в оголошеннях Bailey та/або в наших соціальних мережах!", + "commGuidePara003": "Ці правила стосуються усіх соціальних каналів, якими ми користуємось, у тому числі (але не винятково) Trello, GitHub, Weblate і Habitica Wiki на Fandom. Оскільки спільноти ростуть і змінюються, їхні правила можуть час від часу адаптуватися. Коли в цих Правилах спільнити будуть внесені істотні зміни, ви почуєте про це в оголошеннях Глашатаю та/або в наших соціальних мережах!", "commGuideHeadingInteractions": "Взаємодія в Habitica", "commGuidePara015": "Habitica має публічні та приватні місця для спілкування. Публічні це таверна, відкриті ґільдії, GitHub, Trello, та Wiki. Приватні - закриті ґільдії, чат команди, особисті повідомлення. Всі імена та @нікнейми повинні слідувати правилам публічних місць. Змінити ваше ім'я та/або @нікнейм можна з телефону: бокове меню > Налаштування > Мій акаунт; з веб-версії: Користувач > Налаштування.", "commGuidePara016": "Є декілька загальних правил, які допоможуть зберегти спокій і задоволення, коли ви вивчаєте нові місця у Habitica.", "commGuideList02A": "Поважайте один одного. Будьте ввічливими, уважними, дружніми та допомагайте іншим. Пам'ятайте: габітиканці прибули з різних місць і мають дивовижно різний досвід. Це частина того, що робить Habitica кльовою! Влаштування спільноти означає повагу та прийняття наших відмінностей, так само як і наших схожих рис.", - "commGuideList02B": "Дотримуйтесь усіх Загальних положень та умов як у публічних, так і в приватних місцях.", + "commGuideList02B": "Дотримуйтесь усіх Загальних положень та умов як у публічних, так і в приватних місцях.", "commGuideList02C": "Не публікуйте зображення або тексти, які є насильницькими, загрозливими, сексуально відвертими/наводними, чи пропагують дискримінацію, фанатизм, расизм, сексизм, ненависть, переслідування чи шкоду будь-якій особі чи групі. Навіть не як жарт чи мем. Це включає образи, а також заяви. Не всі мають однакове почуття гумору, тому те, що ви вважаєте жартом, може зашкодити іншим.", "commGuideList02D": "Підтримуйте обговорення відповідними для будь-якого віку. Це означає уникання тем для дорослих у громадських місцях. У нас є багато молодих габітиканців, які користуються сайтом, і люди приходять з усіх верств суспільства. Ми хочемо, щоб наша громада була максимально комфортною та інклюзивною.", - "commGuideList02E": "Уникайте ненормативної лексики. Це включає м’які клятви на релігійній основі, які можуть бути прийнятними в інших місцях, а також скорочену чи приховану ненормативну лексику. У нас є люди різного релігійного та культурного походження, і ми хочемо, щоб усі вони відчували себе комфортно в громадських місцях. Якщо модератор або співробітник скаже вам, що термін заборонено на Habitica, навіть якщо це термін, який ви не усвідомлювали, є проблематичним, це рішення є остаточним. Крім того, образи розглядатимуться дуже суворо, оскільки вони також є порушенням Умов використання.", - "commGuideList02F": "Уникайте тривалих обговорень суперечливих тем у таверні та там, де це не стосується теми. Якщо хтось згадує щось, що дозволено правилами, але образливо для вас, можна ввічливо повідомити їм про це. Якщо хтось каже вам, що ви завдали йому дискомфорту, знайдіть час, щоб подумати, а не відповідати відразу гнівним повідомленням. Але якщо ви відчуваєте, що розмова стає гарячою, надто емоційною або образливою, припиніть участь. Натомість повідомте нас про публікації. Модератори дадуть відповідь якомога швидше. Ви також можете скористатись електонною поштоюadmin@habitica.com та додати скриншоти, якщо вони будуть корисними.", - "commGuideList02G": "Негайно виконайте будь-який запит на модифікацію. Це може включати, але не обмежуючись цим, прохання обмежити ваші публікації в певному просторі, редагування вашого профілю для видалення невідповідного вмісту, прохання перемістити обговорення в більш підходящий простір тощо. Не сперечайтеся з модераторами. Якщо у вас є зауваження або зауваження щодо модерації, надішліть електронний лист на admin@habitica.com, щоб зв’язатися з нашим менеджером спільноти.", - "commGuideList02J": "Не розсилайте спам. Спам може включати, але не обмежується: публікацією одного коментаря чи кількох повідомлень в кількох місцях, розміщенням посилань без пояснення чи контексту, публікацією безглуздих повідомлень, публікацією кількох рекламних повідомлень про ґільдію, команду чи випробування, або розміщенням багатьох повідомлень поспіль. Якщо люди, натиснувши посилання, принесуть вам будь-яку вигоду, ви повинні розкрити це в тексті свого повідомлення, інакше це також буде вважатися спамом. Моди можуть вирішувати, що вважати спамом на власний розсуд.", + "commGuideList02E": "Уникайте ненормативної лексики. Це включає також абревіатури чи приховану ненормативну лексику. У нас є люди різного релігійного та культурного походження, і ми хочемо, щоб усі вони відчували себе комфортно в громадських місцях. Якщо співробітник скаже вам, що термін заборонено на Habitica, навіть якщо це термін, який ви не усвідомлювали, є проблематичним, це рішення є остаточним. Крім того, образи розглядатимуться дуже суворо, оскільки вони також є порушенням Умов використання.", + "commGuideList02F": "Уникайте тривалих обговорень суперечливих тем у таверні та там, де це не стосується теми. Якщо хтось згадує щось, що дозволено правилами, але образливо для вас, можна ввічливо повідомити їм про це. Якщо хтось каже вам, що ви завдали йому дискомфорту, знайдіть час, щоб подумати, а не відповідати відразу гнівним повідомленням. Але якщо ви відчуваєте, що розмова стає гарячою, надто емоційною або образливою, припиніть участь. Натомість повідомте нас про публікації. Співробітник спробує надати відповідь якомога швидше. Ви також можете скористатись електонною поштоюadmin@habitica.com та додати скриншоти, якщо вони будуть корисними.", + "commGuideList02G": "Негайно виконуйте будь-які вимоги персоналу. Це може включати, але не обмежуючись цим, прохання обмежити ваші публікації в певному просторі, редагування вашого профілю для видалення невідповідного вмісту, прохання перемістити обговорення в більш підходящий простір тощо. Не сперечайтеся з персоналом. Якщо у вас є зауваження або зауваження щодо роботи персоналу, надішліть електронний лист на admin@habitica.com, щоб зв’язатися з нашим менеджером спільноти.", + "commGuideList02J": "Не розсилайте спам. Спам може включати, але не обмежується: публікацією одного коментаря чи кількох повідомлень в кількох місцях, розміщенням посилань без пояснення чи контексту, публікацією безглуздих повідомлень, публікацією кількох рекламних повідомлень про ґільдію, команду чи випробування, або розміщенням багатьох повідомлень поспіль. Якщо люди, натиснувши посилання, принесуть вам будь-яку вигоду, ви повинні розкрити це в тексті свого повідомлення, інакше це також буде вважатися спамом. Співробітники можуть вирішувати, що вважати спамом на власний розсуд.", "commGuideList02K": "Уникайте публікувати великий текст заголовка в публічних чатах, особливо в таверні. Подібно до ВЕЛИКИХ, він читається так, ніби ви кричите, і заважає створенню комфортної атмосфери.", - "commGuideList02L": "Ми настійно не рекомендуємо обмінюватися особистою інформацією, зокрема інформацією, яка може бути використана для ідентифікації вас, у публічних чатах. Ідентифікаційна інформація може включати, але не обмежуватися: вашою адресою, електронною поштою та токен/паролем API. Це ж для вашої безпеки! Персонал або модератори можуть видаляти такі дописи на власний розсуд. Якщо вас просять надати особисту інформацію в приватній ґільдії, команді чи приватному листі, ми настійно рекомендуємо вам ввічливо відмовитися та попередити персонал і модераторів, 1) позначивши повідомлення або 2) надіславши електронний лист на admin@habitica.com включно зі знімками екрана.", + "commGuideList02L": "Ми настійно не рекомендуємо обмінюватися особистою інформацією, зокрема інформацією, яка може бути використана для ідентифікації вас, у публічних чатах. Ідентифікаційна інформація може включати, але не обмежуватися: вашою адресою, електронною поштою та токен/паролем API. Це ж для вашої безпеки! Співробітники можуть видаляти такі дописи на власний розсуд. Якщо вас просять надати особисту інформацію в приватній ґільдії, команді чи приватному листі, ми настійно рекомендуємо вам ввічливо відмовитися та попередити співробітників 1) позначивши повідомлення або 2) надіславши електронний лист на admin@habitica.com включно зі знімками екрана.", "commGuidePara019": "У приватних місцях користувачі мають більше свободи обговорювати будь-які теми, які вони хочуть, але вони все одно не можуть порушувати Загальні положення та умови, зокрема публікувати образи чи будь-який дискримінаційний, насильницький чи загрозливий вміст. Зауважте, що, оскільки назви випробувань відображаються в загальнодоступному профілі переможця, ВСІ назви випробувань мають відповідати правилам публічного простору, навіть якщо вони з’являються в приватному просторі.", "commGuidePara020": "Приватні повідомлення (ПП) містять деякі додаткові вказівки. Якщо хтось заблокував вас, не звертайтеся до нього в іншому місці, щоб просити вас розблокувати. Крім того, ви не повинні надсилати ПП комусь із проханням про підтримку (оскільки публічні відповіді на запитання підтримки корисні для спільноти). І, нарешті, нікому не посилайте ПП, щоб попросити будь-який платний контент.", - "commGuidePara020A": "Якщо ви бачите публікацію чи приватне повідомлення, яке, на вашу думку, порушує правила публічного простору, викладені вище, або якщо ви бачите публікацію чи приватне повідомлення, яке вас турбує чи викликає у вас незручність, ви можете повідомити про це модераторів та співробітників, натиснувши піктограму прапорця, щоб повідомити про це. Співробітник або модератор відповість на ситуацію якомога швидше. Зверніть увагу, що навмисне повідомлення про невинні публікації є порушенням цих Правил (див. нижче розділ «Порушення»). Ви також можете зв’язатися з модераторами, надіславши електронний лист на admin@habitica.com Ви можете зробити це, якщо є кілька проблемних дописів від тієї самої особи в різних ґільдіях, або якщо ситуація потребує певного пояснення. Ви можете зв’язатися з нами своєю рідною мовою, якщо вам це простіше: нам, можливо, доведеться використовувати Google Translate, але ми хочемо, щоб вам було зручно зв’язуватися з нами, якщо у вас виникнуть проблеми.", + "commGuidePara020A": "Якщо ви бачите публікацію чи приватне повідомлення, яке, на вашу думку, порушує правила публічного простору, викладені вище, або якщо ви бачите публікацію чи приватне повідомлення, яке вас турбує чи викликає у вас незручність, ви можете повідомити про це співробітників, натиснувши піктограму прапорця, щоб повідомити про це. Співробітник відповість на ситуацію якомога швидше. Зверніть увагу, що навмисне повідомлення про невинні публікації є порушенням цих Правил (див. нижче розділ «Порушення»). Ви також можете зв’язатися зі співробітниками, надіславши електронний лист на admin@habitica.com Ви можете зробити це, якщо є кілька проблемних дописів від тієї самої особи в різних ґільдіях, або якщо ситуація потребує певного пояснення. Ви можете зв’язатися з нами своєю рідною мовою, якщо вам це простіше: нам, можливо, доведеться використовувати Google Translate, але ми хочемо, щоб вам було зручно зв’язуватися з нами, якщо у вас виникнуть проблеми.", "commGuidePara021": "Крім того, деякі громадські місця в Habitica мають додаткові вказівки.", "commGuideHeadingTavern": "Таверна", "commGuidePara022": "Таверна - це головне місце, де мешканці Habitica пересікаються. Бармен Daniel зберігає це місце абсолютно комфортним, а Lemoness з радістю начарує для вас лимонаду, поки ви спілкуєтеся з іншими. Просто майте на увазі…", - "commGuidePara023": "Розмова, як правило, зводиться до невимушеного спілкування та порад щодо продуктивності чи покращення життя. Оскільки чат таверни може містити лише 200 повідомлень, це не найкраще місце для тривалих розмов на теми, особливо делікатні (наприклад, політика, релігія, депресія, чи потрібно полювання на гоблінів чи ні заборонено тощо). Ці розмови слід передати до відповідної гільдії. Модератор може направити вас до відповідної гільдії, але в кінцевому підсумку ви несете відповідальність за пошук та розміщення у відповідному місці.", + "commGuidePara023": "Розмова, як правило, зводиться до невимушеного спілкування та порад щодо продуктивності чи покращення життя. Оскільки чат таверни може містити лише 200 повідомлень, це не найкраще місце для тривалих розмов на теми, особливо делікатні чи суперечливі (наприклад, політика, релігія, депресія, чи потрібно полювання на гоблінів чи ні заборонено тощо). Ці розмови слід передати до відповідної гільдії. Співробітник може направити вас до відповідної гільдії, але в кінцевому підсумку ви несете відповідальність за пошук та розміщення у відповідному місці.", "commGuidePara024": "Не обговорюйте нічого, що викликає залежність у таверні. Багато людей використовують Habitica, щоб спробувати кинути свої шкідливі звички. Почути, як люди говорять про звикання/незаконні речовини, може зробити це набагато важче для них! Поважайте своїх колег таверн і візьміть це до уваги. Це включає, але не виключно: куріння, алкоголь, порнографію, азартні ігри та вживання/зловживання наркотиками.", "commGuidePara027": "When a moderator directs you to take a conversation elsewhere, if there is no relevant Guild, they may suggest you use the Back Corner. The Back Corner Guild is a free public space to discuss potentially sensitive subjects that should only be used when directed there by a moderator. It is carefully monitored by the moderation team. It is not a place for general discussions or conversations, and you will be directed there by a mod only when it is appropriate.", "commGuideHeadingPublicGuilds": "Відкриті ґільдії", "commGuidePara029": "Публічні ґільдії дуже схожі на таверну, за винятком того, що замість того, щоб бути спілкуватись на загальні теми, вони мають конкретну. Чат публічної ґільдії має зосередитися на цій темі. Наприклад, члени ґільдії \"Майстри слова\" можуть бути розчаровані, якщо розмова раптом зосередиться на садівництві, а не на письмі, а ґільдія \"Любителі драконів\" може не виявляти інтересу до розшифровки стародавніх рун. Деякі ґільдії ставляться до цього більш толерантно, ніж інші, але загалом намагайтеся залишатися в темі!", "commGuidePara031": "Деякі публічні ґільдії міститимуть делікатні теми, такі як депресія, релігія, політика тощо. Це нормально, якщо розмови в них не порушують жодних положень та умов чи Правил публічного простору, і якщо вони залишаються на темі.", "commGuidePara033": "Публічні ґільдії НЕ можуть містити вміст для аудиторії віком понад 18 років. Якщо вони планують регулярно обговорювати чутливу інформацію, вони повинні вказати це в описі ґільдії. Це робиться для того, щоб Habitica була безпечною та комфортною для всіх.", - "commGuidePara035": "Якщо у ґільдії, про яку йдеться, є різні чутливі питання, з повагою до ваших співвітчизників-габітиканців слід розмістити свій коментар за попередженням (наприклад, \"Попередження: посилання на самоушкодження\"). Вони можуть бути охарактеризовані як попередження про тригер та/або примітки щодо вмісту, і ґільдії можуть мати власні правила на додаток до наведених тут. Якщо можливо, скористайтеся markdown, щоб приховати потенційно конфіденційний вміст під розривами рядків, щоб усі бажаючі щоб уникнути читання, можна прокрутити його, не побачивши вмісту. Співробітники та модератори Habitica можуть видаляти цей матеріал на свій розсуд.", + "commGuidePara035": "Якщо у ґільдії, про яку йдеться, є різні чутливі питання, з повагою до ваших співвітчизників-габітиканців слід робити попередженням (наприклад, \"Попередження: посилання на самоушкодження\"). Вони можуть бути охарактеризовані як попередження про тригер та/або примітки щодо вмісту, і ґільдії можуть мати власні правила на додаток до наведених тут. Співробітники Habitica можуть видаляти цей матеріал на свій розсуд.", "commGuidePara036": "Крім того, делікатний матеріал має бути актуальним – згадування про самоушкодження в ґільдії, зосередженій на боротьбі з депресією, може мати сенс, але, мабуть, менш доречно в музичній ґільдії. Якщо ви бачите, що хтось неодноразово порушує ці правила, особливо після кількох запитів, повідомте про ці публікації.", "commGuidePara037": "Жодні ґільдії, публічні чи приватні, не повинні створюватися з метою нападу на будь-яку групу чи особу. Створення такої гільдії є підставою для миттєвого бану. Боріться зі шкідливими звичками, а не з іншими шукачами пригод!", "commGuidePara038": "Усі випробування таверни та публічних ґільдії також мають відповідати цим правилам.", "commGuideHeadingInfractionsEtc": "Порушення, Наслідки та Відновлення", "commGuideHeadingInfractions": "Порушення", - "commGuidePara050": "Звісно, Звичаїнці допомагають та поважають один одного, і працюють над тим, щоб зробити всю спільноту веселим й дружнім місцем. Тим не менш, так буває що якась дія Звичаїнця може порушити один з вищевказаних принципів. Якщо це трапиться, Модератори вжитимуть всі необхідні заходи за для підтримки у Habitica спокою та комфорту для всіх.", - "commGuidePara051": "Існують різноманітні порушення, і вони розглядаються залежно від їх тяжкості. Це не вичерпні списки, і модератори можуть приймати рішення щодо тем, які тут не розглядаються, на власний розсуд. Модератори враховуватимуть контекст під час оцінки порушень.", + "commGuidePara050": "Звісно, габітиканці допомагають та поважають один одного, і працюють над тим, щоб зробити всю спільноту веселим й дружнім місцем. Тим не менш, так буває що якась дія Звичаїнця може порушити один з вищевказаних принципів. Якщо це трапиться, співробітники вжитимуть всі необхідні заходи за для підтримки у Habitica спокою та комфорту для всіх.", + "commGuidePara051": "Існують різноманітні порушення, і вони розглядаються залежно від їх тяжкості. Це не вичерпні списки, і співробітники можуть приймати рішення щодо тем, які тут не розглядаються, на власний розсуд. Співробітники враховуватимуть контекст під час оцінки порушень.", "commGuideHeadingSevereInfractions": "Серйозні порушення", "commGuidePara052": "Серйозні порушення завдають великої шкоди спільноті і користувачам Habitica, а отже мають серйозні наслідки.", "commGuidePara053": "Нижче наведені приклади деяких важких порушень. Це не повний список.", "commGuideList05A": "Порушення Правил та Умов", "commGuideList05B": "Гнівливі слова/зображення, переслідування/стеження, сітьвое залякування, флейм та троллінг", "commGuideList05C": "Порушення випробувального терміну", - "commGuideList05D": "Видача себе за персонал або модераторів - це включає заяву про те, що простори, створені користувачами, не пов’язані з Habitica, є офіційними та/або модеруються Habitica або її модифікаторами/персоналом", + "commGuideList05D": "Видача себе за співробітника - це включає заяву про те, що спільноти, створені користувачами, не пов’язані з Habitica, є офіційними та/або модеруються Habitica або її персоналом", "commGuideList05E": "Повторні порушення середньої тяжкості", "commGuideList05F": "Створення дубліката облікового запису, щоб уникнути наслідків (наприклад, створення нового облікового запису для чату після скасування привілеїв у цьому чату)", - "commGuideList05G": "Навмисне введення в оману співробітників або модераторів з метою уникнення наслідків або створення проблем для іншого користувача", + "commGuideList05G": "Навмисне введення в оману співробітників з метою уникнення наслідків або створення проблем для іншого користувача", "commGuideHeadingModerateInfractions": "Порушення середньої тяжкості", "commGuidePara054": "Помірні порушення не роблять нашу спільноту небезпечною, але роблять її неприємною. Ці порушення матимуть наслідки середньої тяжкості. У поєднанні з кількома порушеннями наслідки можуть стати більш серйозними.", "commGuidePara055": "Нижче наведено кілька прикладів помірних порушень. Це неповний список.", - "commGuideList06A": "Ігнорування, неповага або сварка з модератором. Це включає публічні скарги на модераторів чи інших користувачів, публічне прославлення або захист забанених користувачів або обговорення того, чи були дії модератора доречними. Якщо вас турбує одне з правил або поведінка модераторів, будь ласка, зв’яжіться зі співробітниками електронною поштою (admin@habitica.com).", + "commGuideList06A": "Ігнорування, неповага або сварка з персоналом. Це включає публічні скарги на співробітників чи інших користувачів, публічне прославлення або захист забанених користувачів або обговорення того, чи були дії співробітника доречними. Якщо вас турбує одне з правил або поведінка персоналу, будь ласка, зв’яжіться з нами електронною поштою (admin@habitica.com).", "commGuideList06B": "Неавторизоване модерування. Щоб швидко прояснити відповідний момент: доброзичливе згадування правил – це добре. Неавторизоване модерування полягає в тому, щоб говорити, вимагати та/або рішуче натякати, що хтось повинен виконати дію, яку ви описуєте, щоб виправити помилку. Ви можете попередити когось про те, що він/вона вчинили порушення, але, будь ласка, не вимагайте дії — наприклад, кажучи: «Щоб ви знали, нецензурна лексика не рекомендується в таверні, тому ви можете видалити це». було б краще, ніж сказати: \"Мені доведеться попросити вас видалити цю публікацію\".", "commGuideList06C": "Навмисне позначення невинних дописів.", "commGuideList06D": "Неодноразове порушення Правил публічного простору", @@ -61,12 +61,12 @@ "commGuidePara056": "Незначні порушення, хоча й не рекомендовані, все ж мають незначні наслідки. Якщо вони продовжують відбуватися, то з часом можуть призвести до більш серйозних наслідків.", "commGuidePara057": "Нижче наведено кілька прикладів незначних порушень. Це неповний список.", "commGuideList07A": "Перше порушення Правил та Умов поведінки у Громадських місцях", - "commGuideList07B": "Будь-які висловлення чи дії, які викликають «Будь ласка, не робіть» від модератора. Коли вас просять не робити чогось публічно, це саме по собі може мати наслідки. Якщо модератори виносять багато таких зауважень одній особі, це може вважатися більшим порушенням", + "commGuideList07B": "Будь-які висловлення чи дії, які викликають «Будь ласка, не робіть» від співробітника. Коли вас просять не робити чогось публічно, це саме по собі може мати наслідки. Якщо персонал виносять багато таких зауважень одній особі, це може вважатися більшим порушенням", "commGuidePara057A": "Деякі публікації можуть бути приховані, оскільки вони містять конфіденційну інформацію або можуть дати людям неправильне уявлення. Зазвичай це не вважається порушенням, якщо це трапилось вперше!", "commGuideHeadingConsequences": "Наслідки", "commGuidePara058": "У Habitica, як і в реальному житті, кожна дія має наслідки, будь то хороша форма через те, що ви бігали, утворення карієсу через те, що ви їли занадто багато цукру, чи успішно складений іспит через те, що ви вчилися.", "commGuidePara059": "Так само всі порушення мають прямі наслідки. Деякі приклади наслідків наведено нижче.", - "commGuidePara060": "Якщо ваше порушення має помірні або серйозні наслідки, співробітник або модератор на форумі, де сталося порушення, опублікує повідомлення з поясненням::", + "commGuidePara060": "Якщо ваше порушення має помірні або серйозні наслідки, якщо це доцільно з огляду на обставини, співробітник на форумі, де сталося порушення, опублікує повідомлення з поясненням::", "commGuideList08A": "в чому суть вашого порушення", "commGuideList08B": "які його наслідки", "commGuideList08C": "що робити, щоб виправити ситуацію і відновити свій статус, якщо це можливо.", @@ -77,7 +77,7 @@ "commGuideList09C": "Постійне вимкнення (\"заморожування\") прогресу в рівнях співавторів", "commGuideHeadingModerateConsequences": "Приклади помірних наслідків", "commGuideList10A": "Обмежені привілеї публічного та/або приватного чату", - "commGuideList10A1": "Якщо ваші дії призведуть до відкликання ваших привілеїв чату, модератор або співробітник надішле вам приватне повідомлення та/або опублікує повідомлення на форумі, на якому ваші привілеї відкликано, щоб повідомити вас про причину відкликання та тривалість часу, протягом якого ви будете ігноруватись та/або дії, необхідні для відновлення. Вас буде відновлено, якщо ви ввічливо виконаєте необхідні дії та погодитеся дотримуватися Правил спільноти та Умов використання", + "commGuideList10A1": "Якщо ваші дії призведуть до відкликання ваших привілеїв чату, вам потрібно зв'язатись черезadmin@habitica.com. Ви можете бути поновлені на розсуд персоналу, якщо ви ввічливо виконаєте необхідні дії та погодитеся дотримуватися Правил спільноти та Умов використання", "commGuideList10C": "Обмежені права у створенні ґільдій/випробувань", "commGuideList10D": "Тимчасове вимкнення (\"заморожування\") просування по рівнях співавторів", "commGuideList10E": "Demotion of Contributor Tiers", @@ -86,15 +86,15 @@ "commGuideList11A": "Нагадування про правила публічного простору", "commGuideList11B": "Застереження", "commGuideList11C": "Запити", - "commGuideList11D": "Видалення (модератори/співробітники можуть видалити проблемний вміст)", - "commGuideList11E": "Правки (модератори/співробітники можуть видалити проблемний вміст)", + "commGuideList11D": "Видалення (співробітники можуть видалити проблемний вміст)", + "commGuideList11E": "Правки (співробітники можуть видалити проблемний вміст)", "commGuideHeadingRestoration": "Відновлення", "commGuidePara061": "Habitica – це земля, присвячена самовдосконаленню, і ми віримо у другий шанс. Якщо ви вчинили порушення та отримали через це певні наслідки, розглядайте це як можливість оцінити свої дії та прагнути стати кращим членом спільноти.", "commGuidePara062": "Оголошення, повідомлення та/або електронний лист, які ви отримуєте з поясненням наслідків своїх дій, є гарним джерелом інформації. Прийміть будь-які обмеженням, які були накладені, і намагатися виконати вимоги для скасування цього покарання.", - "commGuidePara063": "Якщо ви не розумієте своїх наслідків або характеру свого порушення, зверніться по допомогу до співробітників/модераторів, щоб уникнути вчинення порушень у майбутньому. Якщо ви вважаєте певне рішення несправедливим, ви можете зв’язатися з персоналом, щоб обговорити це за адресою admin@habitica.com.", - "commGuideHeadingMeet": "Зустрічайте: персонал та модератори!", + "commGuidePara063": "Якщо ви не розумієте своїх наслідків або характеру свого порушення, зверніться по допомогу до персоналу, щоб уникнути вчинення порушень у майбутньому. Якщо ви вважаєте певне рішення несправедливим, ви можете зв’язатися з персоналом, щоб обговорити це за адресою admin@habitica.com.", + "commGuideHeadingMeet": "Зустрічайте персонал", "commGuidePara006": "Habitica має кілька невтомних лицарів-мандрівників, які об’єднують зусилля зі співробітниками Habitica, щоб підтримувати в спільноті спокій, дружню обстановку та не допускати сюди тролів. Кожен з них має певну сферу відповідальності, але іноді їх кличуть служити в інших областях.", - "commGuidePara007": "Теґи штатних працівників забарвлені у пурпуровий колір і позначаються коронами. Вони мають звання \"Герої\".", + "commGuidePara007": "Співробітники Habitica забезпечують роботу програми та сайтів і можуть виконувати функції модераторів чату. Вони мають фіолетові мітки, позначені коронами. Їхня назва «Героїчні».", "commGuidePara008": "Моди мають темно-сині ярлики, позначені зірочками. Їхня назва «Стражі».", "commGuidePara009": "Діючими штатними працівникам є (зліва направо):", "commGuideAKA": "<%= habitName %> як <%= realName %>", @@ -125,9 +125,10 @@ "commGuidePara017": "Ось коротка версія, але ми радимо вам ознайомитися докладніше нижче:", "commGuideList01A": "Положення та умови застосовуються до всіх місць, включаючи приватні гільдії, командні чати та повідомлення.", "commGuideList02M": "Не просіть і не випрошуйте дорогоцінні камені, підписки чи членство в групових планах. Це заборонено в таверні, публічних чи приватних чатах, а також у PM. Якщо ви отримуєте повідомлення із запитом про платні товари, повідомте про них, позначивши. Неодноразове або серйозне випрошування дорогоцінного каміння чи підписки, особливо після попередження, може призвести до блокування облікового запису.", - "commGuideList01E": "Не підбурюйте та не вступайте в суперечку в таверні.", + "commGuideList01E": "Не підбурюйте та не вступайте в суперечку в таверні.", "commGuideList01F": "Без випрошування платних товарів, розсилки спаму чи великого тексту заголовка/усі великі літери.", - "commGuideList01D": "Будь ласка, дотримуйтесь вказівок модераторів.", + "commGuideList01D": "Будь ласка, дотримуйтесь вказівок персоналу.", "commGuideList05H": "Серйозні або неодноразові спроби обману або тиску на інших гравців з метою отримання предметів за реальні гроші", - "commGuideList09D": "Видалення або пониження рівня учасника" + "commGuideList09D": "Видалення або пониження рівня учасника", + "commGuideList02N": "Позначайте та повідомляйте про публікації, які порушують ці Правила або Умови використання.Ми постраємось обробити їх якомога швидше. Ви також можете повідомити персонал через admin@habitica.com, але репорт - це найшвидший спосіб отримати допомогу." } diff --git a/website/common/locales/uk/content.json b/website/common/locales/uk/content.json index 491e1bd0af..21873bf556 100644 --- a/website/common/locales/uk/content.json +++ b/website/common/locales/uk/content.json @@ -372,5 +372,7 @@ "hatchingPotionMoonglow": "Місяцесяйний", "hatchingPotionOnyx": "Оніксовий", "hatchingPotionVirtualPet": "Віртуальний", - "hatchingPotionPorcelain": "Порцеляновий" + "hatchingPotionPorcelain": "Порцеляновий", + "hatchingPotionPinkMarble": "Рожево-мармуровий", + "hatchingPotionTeaShop": "Чайний магазин" } diff --git a/website/common/locales/uk/faq.json b/website/common/locales/uk/faq.json index 6599acf6a2..9205372458 100644 --- a/website/common/locales/uk/faq.json +++ b/website/common/locales/uk/faq.json @@ -29,14 +29,14 @@ "androidFaqAnswer6": "Кожен раз, коли Ви виконали завдання, Ви маєте шанс отримати яйце, інкубаційне зілля або корм. Ці предмети будуть збережені у Меню > Предмети\n\nВам потрібне яйце та інкубаційний еліксир для того щоб вилупився улюбленець. Натисніть на яйце для того, щоб визначити якого виду улюбленця Ви хочете вилупити, та виберіть \"Вилупити використовуючи еліксир.\" Тоді виберіть зілля з потрібним кольором. Для того щоб обрати улюбленця, натисніть Меню > Хлів > Улюбленці, виберіть вид, потрібного улюбленця та натисніть на \"Вибрати\" (Ваш аватар не оновиться автоматично).\n\nТакож Ви можете виростити з улюбленців скакунів, годуючи їх у Меню > Хлів[ > Улюбленці]. Натисніть на улюбленця та виберіть \"Годувати\"! Вам потрібно буде годувати улюбленця декілька разів, доки він не стане скакуном, проте якщо Ви зможете знайти його улюблену їжу, він виросте набагато швидше. Користуйтеся методом проб та помилок або [подивіться підказки тут](http://habitica.fandom.com/wiki/Food#Food_Preferences). Для того щоб вибрати Вашого скакуна, перейдіть у Меню > Хлів > Скакуни, виберіть вид, натисніть на потрібного скакуна та натисніть \"Вибрати\" (Ваш аватар не оновиться автоматично)\n\nВи також можете завжди отримати яйця квестових улюбленців виконуючи певні Квести. ( Дивіться нижче щоб дізнатись більше про Квести.)", "webFaqAnswer6": "Кожен раз, коли Ви виконали завдання, Ви маєте шанс отримати яйце, інкубаційне зілля або їжу. Ці предмети будуть збережені у Інвентар > Предмети. Вам потрібне яйце та інкубаційне зілля для того, щоб вилупився улюбленець. Коли у Вас є яйце і інкубаційне зілля, перейдіть до Інвентар >  Хлів для того щоб вилупити улюбленця натиснувши на його портрет. Як тільки Ви вилупили улюбленця, Ви можете вибрати його натиснувши на ньому. Ви можете виростити улюбленця у скакуна погодувавши його у Інвентар > Хлів. Перетягніть їжу з панелі знизу екрану на улюбленця для того, щоб погодувати його. Вам потрібно буде годувати улюбленця багато раз для того, щоб він став скакуном, проте якщо ви зможете вгадати його улюблену їжу, то він виросте набагато скоріше. Використовуйте метод проб та помилок або [подивіться підказки тут](http://habitica.fandom.com/wiki/Food#Food_Preferences). Як тільки у Вас є скакун, натисніть на нього щоб вибрати його для свого аватару. Ви також можете отримати яйця квестових улюбленців виконуючи певні квести. (Читайте нижче, щоб дізнатися більше про Квести.)", "faqQuestion7": "Як стати воїном, магом, розбійником чи цілителем?", - "iosFaqAnswer7": "На рівні 10 ви можете вибрати себе воїном, магом, розбійником або цілителем. (Усі гравці починають як воїни за замовчуванням.) Кожен клас має різні варіанти обладнання, різні навички, які вони можуть чаклувати після рівня 11, і різні переваги. Воїни можуть легко пошкодити босів, витримувати більше пошкоджень від своїх завдань і допомогти зробити свій гурт прочнішим. Маги можуть також легко пошкодити босів, а також швидко отримувати новий рівень і відновлювати Ману для свого гурту. Розбійники заробляють найбільше золота і отримують найбільшу кількість випадань, і вони можуть допомогти своїй партії зробити те ж саме. Нарешті, Цілителі можуть зцілити себе та членів свого гурту.\n\n Якщо ви не бажаєте негайно вибирати клас - наприклад, якщо ви все ще працюєте, щоб придбати все спорядження вашого поточного класу, ви можете натиснути кнопку \"Скасувати\" та обрати клас пізніше, відкривши Меню, натиснувши на іконку Налаштувань, а потім \"Увімкнути систему класів\".", + "iosFaqAnswer7": "На 10-му рівні ви можете зможете обрати один з доступних класів - воїн, маг, розбійник або цілитель. (До цього моменту усі гравці грають як воїни.) Кожен клас має різні варіанти спорядження та різні вміння, які вони зможуть \"чаклувати\" починаючи з 11-го рівня. Воїни можуть завдають сильної шкоди босам, витримують більше пошкоджень від своїх пропущених щоденок і допомогагають зробити свою команду сильнішою. Маги можуть також добряче шкодять босам, а також швидко отримувати новий рівень і відновлюють ману для своєї команди. Розбійники заробляють найбільше золота і отримують найбільшу ймовірність випадінь цінних предметів, а також допомогають команді робити те ж саме. І нарешті, цілителі можуть легко зцілити себе та членів своєї команди.\n\nЯкщо ви не бажаєте вибирати клас відразу після набуття 10-го рівня - наприклад, якщо ви все ще працюєте, щоб придбати все спорядження вашого поточного класу, ви можете натиснути кнопку \"Пропустити вибір\" та обрати клас пізніше, відкривши Меню, натиснувши на іконку Налаштувань, а потім \"Увімкнути систему класів\".", "androidFaqAnswer7": "На рівні 10 ви можете стати воїном, магом, розбійником або цілителем. (Усі гравці починають як воїни за замовчуванням.) Кожен клас має різні варіанти обладнання, різні навички, які вони можуть чаклувати після рівня 11, та різні переваги. Воїни можуть легко пошкодити босів, витримувати більше пошкоджень від своїх завдань і допомогти зробити свій гурт прочнішим. Маги можуть також легко пошкодити босів, а також швидко отримувати новий рівень і відновлювати Ману для свого гурту. Розбійники заробляють найбільше золота і отримують найбільшу кількість випадань, і вони можуть допомогти своїй партії зробити те ж саме. Нарешті, Цілителі можуть зцілити себе та членів свого гурту.\n\nЯкщо ви не хочете одразу вибирати клас – наприклад, якщо ви все ще працюєте над придбанням усього спорядження вашого поточного класу – ви можете натиснути «Відмовитися» та вибрати пізніше, відкривши Меню, потім Налаштування, а потім «Увімкнути систему класів».", "webFaqAnswer7": "На рівні 10 ви можете стати воїном, магом, розбійником або цілителем. (Усі гравці починають як воїни за замовчуванням.) Кожен клас має різні варіанти обладнання, різні навички, які вони можуть чаклувати після рівня 11, та різні переваги. Воїни можуть легко пошкодити босів, витримувати більше пошкоджень від своїх завдань і допомогти зробити свій гурт прочнішим. Маги можуть також легко пошкодити босів, а також швидко отримувати новий рівень і відновлювати Ману для свого гурту. Розбійники заробляють найбільше золота і отримують найбільшу кількість випадань, і вони можуть допомогти своїй партії зробити те ж саме. Нарешті, Цілителі можуть зцілити себе та членів свого гурту. Якщо ви не бажаєте негайно вибирати клас - наприклад, якщо ви все ще працюєте, щоб придбати все спорядження вашого поточного класу, ви можете натиснути кнопку \"Вирішити Пізніше\" та повторно активувати класи у Налаштуваннях.", "faqQuestion8": "Що це за голубий показник, котрий з'являється в заголовках після 10 рівня?", "iosFaqAnswer8": "Синя смужка, яка з'явиться, коли ви отримаєте рівень 10 і виберете клас, - це ваша шкала мани. Коли ви продовжуєте отримувати нові рівні, ви розблокуєте спеціальні вміння, для використання яких потрібна мана. Кожен клас має різні вміння, які з'являються після рівня 11 в Меню > Вміння. На відміну від смужки здоров'я, смужка мани не скидається, коли ви отримуєте рівень. Ви отримуєте ману, коли виконуєте хороші звички, щоденні справи та завдання, і втрачаєте, коли зловживаєте поганими звичками. Ви також отримаєте ману кожного нового дня - чим більше щоденок ви завершите, тим більше ви її отримаєте.", "androidFaqAnswer8": "Синя смужка, яка з'явиться, коли ви отримаєте рівень 10 і виберете клас, - це ваша смужка Мани. Коли ви продовжуєте отримувати нові рівні, ви розблокуєте спеціальні навички, для використання яких потрібна Мана. Кожен клас має різні навички, які з'являються після рівня 11 в Меню > Навички. На відміну від смужки здоров'я, смужка Мани не скидається, коли ви отримуєте рівень. Замість цього, Мана отримується, коли ви виконуєте Добрі звички, Щоденні Завдання та Задачі, і втрачаєте, коли зловживаєте поганими звичками. Ви також отримаєте Ману за ніч - чим більше Щоденних Завдань ви завершите, тим більше ви отримаєте.", "webFaqAnswer8": "Синя смужка, яка з'явиться, коли ви отримаєте рівень 10 і виберете клас, - це ваша смужка мани. Коли ви продовжуєте отримувати нові рівні, ви розблокуєте спеціальні навички, для використання яких потрібна Мана. Кожен клас має різні навички, які з'являються після рівня 11 у активній панель знизу екрану. На відміну від смужки здоров'я, смужка мани не скидається, коли ви отримуєте рівень. Замість цього, мана отримується, коли ви виконуєте хороші звички, щоденні справи та завдання, і втрачається, коли зловживаєте поганими звичками. Ви також отримаєте ману на початку нового дня - чим більше щоденок ви завершите, тим більше ви її отримаєте.", - "faqQuestion9": "Як боротися з монстрами та приймати участь в квестах?", + "faqQuestion9": "Як боротися з монстрами та брати участь в квестах?", "iosFaqAnswer9": "По-перше, вам потрібно приєднатися або створити гурт ( [Як грати в Habitica з друзями](https://habitica.com/static/faq#party-with-friends)). Хоча ви можете боротися з монстрами наодинці, ми рекомендуємо грати в команді, тому що це зробить квести набагато простішими. Крім того, дуже мотивує наявність приятеля який може підбадьорити вас, коли ви виконуєте свої завдання!\n\n Далі вам потрібен Квестовий Сувій, які зберігаються в Меню > Предмети. Існує три способи отримати сувій: \n\n- На рівні 15 ви отримуєте серію квестів, тобто три пов'язаних квести. Інші квестові лінії розблоковуються на рівнях 30, 40 та 60, відповідно. \n- Коли ви запрошуєте людей до вашого гурту, ви будете нагороджені сувоєм Списко-змій!\n - Ви можете купити квести у магазині квестів за золото та самоцвіти.\n\nДля того щоб наносити пошкодшення босу або збирати предмети для квестів на збирання предметів , просто виконуйте свої завдання як зазвичай, і вони будуть трансформуватися у пошкодження протягом ночі. (Можливо буде необхідно потягнути вниз єкрану для того щоб стрічка здоров'я боса знизилася.) Якщо ви боретеся з босом, і ви пропустили будь-які щоденні завдання, бос нанесе удар по учасникам вашої команди, в той же час, і ви вдарите боса. \n\nПісля 11 рівня Маги та Воїни отримають навички, які дозволять їм наносити додаткові пошкодження Босу, так що це чудові класи для вибору на рівні 10, якщо ви хочете наносити багато пошкоджень.", "androidFaqAnswer9": "По-перше, вам потрібно приєднатися або створити гурт (див. вище). Хоча ви можете боротися з монстрами наодинці, ми рекомендуємо грати в групі, тому що це зробить Квести набагато простішими. Крім того, дуже мотивує наявність приятеля який може підбадьорити вас, коли ви виконуєте свої завдання!\n\n Далі вам потрібен Квестовий Сувій, які зберігаються в Меню > Предмети. Існує три способи отримати сувій: \n\n- На рівні 15 ви отримуєте лінію квестів, тобтотри пов'язаних квести. Інші квестові лінії розблоковуються на рівнях 30, 40 та 60, відповідно. \n- Коли ви запрошуєте людей до вашого гурту, ви будете нагороджені сувоєм базі-листа!\n - Ви можете купити квести у магазині квестів за золото та самоцвіти.\n\nДля того щоб наносити пошкодшення босу або збирати предмети для квестів на збирання предметів , просто виконуйте свої завдання як зазвичай, і вони будуть трансформуватися у пошкодження протягом ночі. (Можливо буде необхідно потягнути вниз єкрану для того щоб стрічка здоров'я боса знизилася.) Якщо ви боретеся з босом, і ви пропустили будь-які щоденні завдання, бос пошкодить ваш гурт в той же час, як ви пошкодите боса. \n\nПісля 11 рівня Маги та Воїни отримають навички, які дозволять їм наносити додаткові пошкодження Босу, так що це чудові класи для вибору на рівні 10, якщо ви хочете наносити багато пошкоджень.", "webFaqAnswer9": "По-перше, вам потрібно приєднатися або створити гурт (див. вище). Хоча ви можете боротися з монстрами наодинці, ми рекомендуємо грати в групі, тому що це зробить Квести набагато простішими. Крім того, дуже мотивує наявність приятеля який може підбадьорити вас, коли ви виконуєте свої завдання! Далі вам потрібен Квестовий Сувій, які зберігаються в Інвентар > Квести. Існує чотири способи отримати сувій:\n- Коли ви запрошуєте людей до вашого гурту, ви будете нагороджені сувоєм базі-листа!\n- На рівні 15 ви отримуєте лінію квестів, тобтотри пов'язаних квести. Інші квестові лінії розблоковуються на рівнях 30, 40 та 60, відповідно.\n- Ви можете купити квести у магазині квестів за золото та самоцвіти.\n-Коли ви заходите у Habitica певну кількість разів, ви будете нагороджені квестовими сувоями. Ви отримаєте сувій за 1, 7, 22 та 40-ве заходження\nДля того щоб наносити пошкодшення босу або збирати предмети для квестів на збирання предметів , просто виконуйте свої завдання як зазвичай, і вони будуть трансформуватися у пошкодження протягом ночі. (Можливо буде необхідно потягнути вниз єкрану для того щоб стрічка здоров'я боса знизилася.) Якщо ви боретеся з босом, і ви пропустили будь-які щоденні завдання, бос пошкодить ваш гурт в той же час, як ви пошкодите боса. Після 11 рівня Маги та Воїни отримають навички, які дозволять їм наносити додаткові пошкодження Босу, так що це чудові класи для вибору на рівні 10, якщо ви хочете наносити багато пошкоджень.", @@ -56,5 +56,10 @@ "androidFaqStillNeedHelp": "Якщо виникли питання, котрі відсутні в списку або в [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ), задайте його у чаті Таверни у Меню > Таверна! Ми раді допомогти.", "webFaqStillNeedHelp": "Якщо виникли питання, котрі відсутні в списку або в [FAQ на Вікі](https://habitica.fandom.com/wiki/FAQ), то задайте його в [Ґільдії для початківці](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)! Ми з радістю допоможемо вам.", "faqQuestion13": "Що таке груповий план?", - "webFaqAnswer13": "## Як працюють групові плани?\n\n[Груповий план](/group-plans) надає вашій команді чи ґільдії доступ до спільної дошки завдань, подібної до вашої особистої дошки завдань! Це спільний простір в Habitica, де будь-хто в групі може створювати та виконувати завдання.\n\nТакож доступні такі функції, як ролі учасників, перегляд статусу та призначення завдань, які дають вам більше контролю. [Відвідайте нашу Wiki](https://habitica.fandom.com/wiki/Group_Plans), щоб дізнатися більше про функції наших групових планів!\n\n## Кому вигідний груповий план?\n\nГрупові плани працюють найкраще, коли у вас є невелика команда людей, які хочуть співпрацювати разом. Ми рекомендуємо 2-5 учасників.\n\nГрупові плани чудово підходять для сімей, будь то батьки з дитиною чи ви з партнером. Спільні цілі, справи чи обов’язки легко відстежувати на одній дошці.\n\nГрупові плани також можуть бути корисними для команд колег, які мають спільну мету, або керівників, які хочуть познайомити своїх співробітників з гейміфікацією.\n\n## Швидкі поради щодо використання груп\n\nОсь кілька коротких порад, які допоможуть вам почати роботу з новою групою. Ми надамо додаткові відомості в наступних розділах:\n\n* Зробіть учасника менеджером, щоб надати йому можливість створювати та редагувати завдання\n* Залишайте завдання непризначеними, якщо будь-хто може їх виконати, і їх потрібно виконати лише один раз\n* Призначте завдання одній людині, щоб переконатися, що ніхто інший не зможе виконати його завдання\n* Призначте завдання кільком людям, якщо їм усім потрібно його виконати\n* Увімкніть можливість відображати спільні завдання на вашій особистій дошці, щоб нічого не пропустити\n* Ви отримуєте винагороду за виконані вами завдання, навіть якщо ви якщо це завдання виконується кількома людьми\n* Винагороди за виконання завдань не розподіляються між членами команди\n* Використовуйте колір завдань на командній дошці, щоб оцінити середню швидкість виконання завдань\n* Регулярно переглядайте завдання на командній дошці, щоб переконатися, що вони все ще актуальні\n* Пропуск щоденки не завдасть шкоди ні вам, ні вашій команді, але колір завдання погіршиться\n\n## Як інші учасники групи можуть створювати завдання?\n\nСтворювати завдання можуть лише лідер групи та менеджери. Якщо ви хочете, щоб учасник групи міг створювати завдання, вам слід підвищити його до менеджера, перейшовши на вкладку «Інформація про групу», переглянувши список учасників і натиснувши піктограму з крапкою біля їх імені.\n\n## Як працює призначення завдання?\n\nГрупові плани дають вам унікальну можливість призначати завдання іншим учасникам групи. Призначення завдання чудово підходить для делегування. Якщо ви комусь доручили завдання, інші учасники не зможуть його виконати.\n\nВи також можете призначити завдання кільком людям, якщо його потрібно виконати більше ніж одному учаснику. Наприклад, якщо кожен має почистити зуби, створіть завдання та призначте його кожному учаснику групи. Усі вони зможуть перевірити це й отримати за це свої індивідуальні винагороди. Головне завдання буде відображено як виконане, коли всі його відмітять.\n\n## Як працюють непризначені завдання?\n\nНепризначене завдання може виконати будь-хто в групі, тому залиште завдання непризначеними, щоб дозволити будь-якому учаснику виконати його. Наприклад, виности сміття. Той, хто виносить сміття, може відмітити непризначене завдання, і воно відображатиметься як виконане для всіх.\n\n## Як працює скидання синхронізованого дня?\n\nСпільні завдання буде скинуто одночасно для всіх, щоб підтримувати синхронізацію спільної панелі завдань. Цей час відображається на спільній панелі завдань і визначається часом початку дня керівника групи. Оскільки спільні завдання скидаються автоматично, ви не матимете можливості завершити вчорашні невиконані спільні щоденники, коли увійдете наступного ранку.\n\nСпільні щоденники не завдадуть шкоди, якщо їх пропустити, однак їхній колір погіршиться, щоб допомогти візуалізувати прогрес. Ми не хочемо, щоб спільний досвід був негативним!\n\n## Як я можу використовувати свою групу в мобільних програмах?\n\nХоча мобільні програми ще не повністю підтримують усі функції групових планів, ви все одно можете виконувати спільні завдання з програм для iOS та Android, скопіювавши їх на особисту дошку завдань. Ви можете ввімкнути цей параметр у налаштуваннях мобільних програм або на панелі групових завдань у версії браузера. Тепер відкриті та призначені спільні завдання відображатимуться на вашій персональній панелі завдань на всіх платформах.\n\n## Яка різниця між спільними завданнями групи та випробуваннями?\n\nСпільні дошки завдань у груповому плані є більш динамічними, ніж випробування, оскільки їх можна постійно оновлювати та з ними можна взаємодіяти. Випробування чудові, якщо у вас є один набір завдань, які потрібно розіслати багатьом людям.\n\nГрупові плани також є платною функцією, тоді як виклики доступні для всіх безкоштовно.\n\nВи не можете призначати певні завдання у випробуваннях, а також випробування не мають спільного скидання. Загалом виклики пропонують менше контролю та прямої взаємодії." + "webFaqAnswer13": "## Як працюють групові плани?\n\n[Груповий план](/group-plans) надає вашій команді чи ґільдії доступ до спільної дошки завдань, подібної до вашої особистої дошки завдань! Це спільний простір в Habitica, де будь-хто в групі може створювати та виконувати завдання.\n\nТакож доступні такі функції, як ролі учасників, перегляд статусу та призначення завдань, які дають вам більше контролю. [Відвідайте нашу Wiki](https://habitica.fandom.com/wiki/Group_Plans), щоб дізнатися більше про функції наших групових планів!\n\n## Кому вигідний груповий план?\n\nГрупові плани працюють найкраще, коли у вас є невелика команда людей, які хочуть співпрацювати разом. Ми рекомендуємо 2-5 учасників.\n\nГрупові плани чудово підходять для сімей, будь то батьки з дитиною чи ви з партнером. Спільні цілі, справи чи обов’язки легко відстежувати на одній дошці.\n\nГрупові плани також можуть бути корисними для команд колег, які мають спільну мету, або керівників, які хочуть познайомити своїх співробітників з гейміфікацією.\n\n## Швидкі поради щодо використання груп\n\nОсь кілька коротких порад, які допоможуть вам почати роботу з новою групою. Ми надамо додаткові відомості в наступних розділах:\n\n* Зробіть учасника менеджером, щоб надати йому можливість створювати та редагувати завдання\n* Залишайте завдання непризначеними, якщо будь-хто може їх виконати, і їх потрібно виконати лише один раз\n* Призначте завдання одній людині, щоб переконатися, що ніхто інший не зможе виконати його завдання\n* Призначте завдання кільком людям, якщо їм усім потрібно його виконати\n* Увімкніть можливість відображати спільні завдання на вашій особистій дошці, щоб нічого не пропустити\n* Ви отримуєте винагороду за виконані вами завдання, навіть якщо ви якщо це завдання виконується кількома людьми\n* Винагороди за виконання завдань не розподіляються між членами команди\n* Використовуйте колір завдань на командній дошці, щоб оцінити середню швидкість виконання завдань\n* Регулярно переглядайте завдання на командній дошці, щоб переконатися, що вони все ще актуальні\n* Пропуск щоденки не завдасть шкоди ні вам, ні вашій команді, але колір завдання погіршиться\n\n## Як інші учасники групи можуть створювати завдання?\n\nСтворювати завдання можуть лише лідер групи та менеджери. Якщо ви хочете, щоб учасник групи міг створювати завдання, вам слід підвищити його до менеджера, перейшовши на вкладку «Інформація про групу», переглянувши список учасників і натиснувши піктограму з крапкою біля їх імені.\n\n## Як працює призначення завдання?\n\nГрупові плани дають вам унікальну можливість призначати завдання іншим учасникам групи. Призначення завдання чудово підходить для делегування. Якщо ви комусь доручили завдання, інші учасники не зможуть його виконати.\n\nВи також можете призначити завдання кільком людям, якщо його потрібно виконати більше ніж одному учаснику. Наприклад, якщо кожен має почистити зуби, створіть завдання та призначте його кожному учаснику групи. Усі вони зможуть перевірити це й отримати за це свої індивідуальні винагороди. Головне завдання буде відображено як виконане, коли всі його відмітять.\n\n## Як працюють непризначені завдання?\n\nНепризначене завдання може виконати будь-хто в групі, тому залиште завдання непризначеними, щоб дозволити будь-якому учаснику виконати його. Наприклад, виности сміття. Той, хто виносить сміття, може відмітити непризначене завдання, і воно відображатиметься як виконане для всіх.\n\n## Як працює скидання синхронізованого дня?\n\nСпільні завдання буде скинуто одночасно для всіх, щоб підтримувати синхронізацію спільної панелі завдань. Цей час відображається на спільній панелі завдань і визначається часом початку дня керівника групи. Оскільки спільні завдання скидаються автоматично, ви не матимете можливості завершити вчорашні невиконані спільні щоденники, коли увійдете наступного ранку.\n\nСпільні щоденники не завдадуть шкоди, якщо їх пропустити, однак їхній колір погіршиться, щоб допомогти візуалізувати прогрес. Ми не хочемо, щоб спільний досвід був негативним!\n\n## Як я можу використовувати свою групу в мобільних програмах?\n\nХоча мобільні програми ще не повністю підтримують усі функції групових планів, ви все одно можете виконувати спільні завдання з програм для iOS та Android, скопіювавши їх на особисту дошку завдань. Ви можете ввімкнути цей параметр у налаштуваннях мобільних програм або на панелі групових завдань у версії браузера. Тепер відкриті та призначені спільні завдання відображатимуться на вашій персональній панелі завдань на всіх платформах.\n\n## Яка різниця між спільними завданнями групи та випробуваннями?\n\nСпільні дошки завдань у груповому плані є більш динамічними, ніж випробування, оскільки їх можна постійно оновлювати та з ними можна взаємодіяти. Випробування чудові, якщо у вас є один набір завдань, які потрібно розіслати багатьом людям.\n\nГрупові плани також є платною функцією, тоді як виклики доступні для всіх безкоштовно.\n\nВи не можете призначати певні завдання у випробуваннях, а також випробування не мають спільного скидання. Загалом виклики пропонують менше контролю та прямої взаємодії.", + "iosFaqAnswer13": "## Як працюють групові плани?\n\n[Груповий план](/group-plans) надає вашій команді чи ґільдії доступ до спільної дошки завдань, подібної до вашої особистої дошки! Це спільний простір в Habitica, де будь-хто в групі може створювати та виконувати завдання.\n\nТакож доступні такі функції, як ролі учасників, перегляд статусу та призначення завдань, які дають вам більше контролю. [Відвідайте нашу Вікі](https://habitica.fandom.com/wiki/Group_Plans), щоб дізнатися більше про функції наших групових планів!\n\n## Кому вигідний груповий план?\n\nГрупові плани працюють найкраще, коли у вас є невелика команда людей, які хочуть співпрацювати разом. Ми рекомендуємо 2-5 учасників.\n\nГрупові плани чудово підходять для сімей, будь то батьки з дитиною чи ви з партнером. Спільні цілі, справи чи обов’язки легко відстежувати на одній дошці.\n\nГрупові плани також можуть бути корисними для команд колег, які мають спільну мету, або керівників, які хочуть залучити своїх співробітників за допомогою гейміфікації.\n\n## Швидкі поради щодо використання груп\n\nОсь кілька коротких порад, які допоможуть вам почати роботу з новою групою. Ми надамо додаткові відомості в наступних розділах:\n\n* Зробіть учасника менеджером, щоб надати йому можливість створювати та редагувати завдання\n* Залишайте завдання непризначеними, якщо будь-хто може їх виконати, і їх потрібно виконати лише один раз\n* Призначте завдання одній людині, щоб переконатися, що ніхто інший не зможе виконати це завдання\n* Призначте завдання кільком людям, якщо їм усім потрібно його виконати\n* Увімкніть можливість відображати спільні завдання на вашій особистій дошці, щоб нічого не пропустити\n* Ви отримуєте винагороду за виконані вами завдання, навіть якщо ви якщо це завдання виконується кількома людьми\n* Винагороди за виконання завдань не розподіляються між членами команди\n* Використовуйте колір завдань на командній дошці, щоб оцінити середню швидкість виконання завдань\n* Регулярно переглядайте завдання на командній дошці, щоб переконатися, що вони все ще актуальні\n* Пропуск щоденки не завдасть шкоди ні вам, ні вашій команді, але колір завдання погіршиться\n\n## Як інші учасники групи можуть створювати завдання?\n\nСтворювати завдання можуть лише лідер групи та менеджери. Якщо ви хочете, щоб учасник групи міг створювати завдання, вам слід підвищити його до менеджера, перейшовши на вкладку «Інформація про групу», переглянувши список учасників і натиснувши піктограму з крапкою біля їх імені.\n\n## Як працює призначення завдання?\n\nГрупові плани дають вам унікальну можливість призначати завдання іншим учасникам групи. Призначення завдання чудово підходить для делегування. Якщо ви комусь доручили завдання, інші учасники не зможуть його виконати.\n\nВи також можете призначити завдання кільком людям, якщо його потрібно виконати більше ніж одному учаснику. Наприклад, якщо кожен має почистити зуби, створіть завдання та призначте його кожному учаснику групи. Усі вони зможуть відзначити його й отримати за це свої індивідуальні винагороди. Головне завдання буде відображено як виконане, коли всі його відзначать як виконане.\n\n## Як працюють непризначені завдання?\n\nНепризначене завдання може виконати будь-хто в групі, тому залиште завдання непризначеними, щоб дозволити будь-якому учаснику виконати його. Наприклад, винести сміття. Той, хто виніс сміття, може відмітити непризначене завдання, і воно відображатиметься як виконане для всіх.\n\n## Як працює скидання синхронізованого дня?\n\nСпільні завдання буде скинуто одночасно для всіх, щоб підтримувати синхронізацію спільної панелі завдань. Цей час відображається на спільній панелі завдань і визначається часом початку дня керівника групи. Оскільки спільні завдання скидаються автоматично, ви не матимете можливості завершити вчорашні невиконані спільні щоденники, коли увійдете наступного ранку.\n\nСпільні щоденники не завдадуть шкоди, якщо їх пропустити, однак їхній колір погіршиться, щоб допомогти візуалізувати прогрес. Ми не хочемо, щоб спільний досвід був негативним!\n\n## Як я можу використовувати свою групу в мобільних програмах?\n\nХоча мобільні програми ще не повністю підтримують усі функції групових планів, ви все одно можете виконувати спільні завдання з програм для iOS та Android, скопіювавши їх на особисту дошку завдань. Ви можете ввімкнути цей параметр у налаштуваннях мобільних програм або на панелі групових завдань у версії браузера. Тепер відкриті та призначені спільні завдання відображатимуться на вашій персональній панелі завдань на всіх платформах.\n\n## Яка різниця між спільними завданнями групи та випробуваннями?\n\nСпільні дошки завдань у груповому плані є більш динамічними, ніж випробування, оскільки їх можна постійно оновлювати та з ними можна взаємодіяти. Випробування чудові, якщо у вас є один набір завдань, які потрібно розіслати багатьом людям.\n\nГрупові плани також є платною функцією, тоді як випробування доступні для всіх безкоштовно.\n\nВи не можете призначати певні завдання у випробуваннях, а також випробування не мають спільного часу скидання. Загалом випробування пропонують менше контролю та прямої взаємодії.", + "androidFaqAnswer13": "## Як працюють групові плани?\n\n[Груповий план](/group-plans) надає вашій команді чи ґільдії доступ до спільної дошки завдань, подібної до вашої особистої дошки! Це спільний простір в Habitica, де будь-хто в групі може створювати та виконувати завдання.\n\nТакож доступні такі функції, як ролі учасників, перегляд статусу та призначення завдань, які дають вам більше контролю. [Відвідайте нашу Вікі](https://habitica.fandom.com/wiki/Group_Plans), щоб дізнатися більше про функції наших групових планів!\n\n## Кому вигідний груповий план?\n\nГрупові плани працюють найкраще, коли у вас є невелика команда людей, які хочуть співпрацювати разом. Ми рекомендуємо 2-5 учасників.\n\nГрупові плани чудово підходять для сімей, будь то батьки з дитиною чи ви з партнером. Спільні цілі, справи чи обов’язки легко відстежувати на одній дошці.\n\nГрупові плани також можуть бути корисними для команд колег, які мають спільну мету, або керівників, які хочуть залучити своїх співробітників за допомогою гейміфікації.\n\n## Швидкі поради щодо використання груп\n\nОсь кілька коротких порад, які допоможуть вам почати роботу з новою групою. Ми надамо додаткові відомості в наступних розділах:\n\n* Зробіть учасника менеджером, щоб надати йому можливість створювати та редагувати завдання\n* Залишайте завдання непризначеними, якщо будь-хто може їх виконати, і їх потрібно виконати лише один раз\n* Призначте завдання одній людині, щоб переконатися, що ніхто інший не зможе виконати це завдання\n* Призначте завдання кільком людям, якщо їм усім потрібно його виконати\n* Увімкніть можливість відображати спільні завдання на вашій особистій дошці, щоб нічого не пропустити\n* Ви отримуєте винагороду за виконані вами завдання, навіть якщо ви якщо це завдання виконується кількома людьми\n* Винагороди за виконання завдань не розподіляються між членами команди\n* Використовуйте колір завдань на командній дошці, щоб оцінити середню швидкість виконання завдань\n* Регулярно переглядайте завдання на командній дошці, щоб переконатися, що вони все ще актуальні\n* Пропуск щоденки не завдасть шкоди ні вам, ні вашій команді, але колір завдання погіршиться\n\n## Як інші учасники групи можуть створювати завдання?\n\nСтворювати завдання можуть лише лідер групи та менеджери. Якщо ви хочете, щоб учасник групи міг створювати завдання, вам слід підвищити його до менеджера, перейшовши на вкладку «Інформація про групу», переглянувши список учасників і натиснувши піктограму з крапкою біля їх імені.\n\n## Як працює призначення завдання?\n\nГрупові плани дають вам унікальну можливість призначати завдання іншим учасникам групи. Призначення завдання чудово підходить для делегування. Якщо ви комусь доручили завдання, інші учасники не зможуть його виконати.\n\nВи також можете призначити завдання кільком людям, якщо його потрібно виконати більше ніж одному учаснику. Наприклад, якщо кожен має почистити зуби, створіть завдання та призначте його кожному учаснику групи. Усі вони зможуть відзначити його й отримати за це свої індивідуальні винагороди. Головне завдання буде відображено як виконане, коли всі його відзначать як виконане.\n\n## Як працюють непризначені завдання?\n\nНепризначене завдання може виконати будь-хто в групі, тому залиште завдання непризначеними, щоб дозволити будь-якому учаснику виконати його. Наприклад, винести сміття. Той, хто виніс сміття, може відмітити непризначене завдання, і воно відображатиметься як виконане для всіх.\n\n## Як працює скидання синхронізованого дня?\n\nСпільні завдання буде скинуто одночасно для всіх, щоб підтримувати синхронізацію спільної панелі завдань. Цей час відображається на спільній панелі завдань і визначається часом початку дня керівника групи. Оскільки спільні завдання скидаються автоматично, ви не матимете можливості завершити вчорашні невиконані спільні щоденники, коли увійдете наступного ранку.\n\nСпільні щоденники не завдадуть шкоди, якщо їх пропустити, однак їхній колір погіршиться, щоб допомогти візуалізувати прогрес. Ми не хочемо, щоб спільний досвід був негативним!\n\n## Як я можу використовувати свою групу в мобільних програмах?\n\nХоча мобільні програми ще не повністю підтримують усі функції групових планів, ви все одно можете виконувати спільні завдання з програм для iOS та Android, скопіювавши їх на особисту дошку завдань. Ви можете ввімкнути цей параметр у налаштуваннях мобільних програм або на панелі групових завдань у версії браузера. Тепер відкриті та призначені спільні завдання відображатимуться на вашій персональній панелі завдань на всіх платформах.\n\n## Яка різниця між спільними завданнями групи та випробуваннями?\n\nСпільні дошки завдань у груповому плані є більш динамічними, ніж випробування, оскільки їх можна постійно оновлювати та з ними можна взаємодіяти. Випробування чудові, якщо у вас є один набір завдань, які потрібно розіслати багатьом людям.\n\nГрупові плани також є платною функцією, тоді як випробування доступні для всіх безкоштовно.\n\nВи не можете призначати певні завдання у випробуваннях, а також випробування не мають спільного часу скидання. Загалом випробування пропонують менше контролю та прямої взаємодії.", + "general": "Загальні", + "parties": "Команди", + "faqQuestion14": "Як знайти команду, якщо я в ній не перебуваю?" } diff --git a/website/common/locales/uk/front.json b/website/common/locales/uk/front.json index 4382363afc..27b93a71c7 100644 --- a/website/common/locales/uk/front.json +++ b/website/common/locales/uk/front.json @@ -66,7 +66,7 @@ "pkQuestion1": "Що надихнуло на створення Habitica? Як все почалося?", "pkAnswer1": "Якщо Ви коли-небудь витрачали час на підвищення рівня персонажа в грі, важко не замислитися, наскільки чудовим було б Ваше життя, якби Ви приклали всі ці зусилля для покращення свого справжнього життя, а не свого аватара. Ми почали будувати Habitica, щоб вирішити це питання.
Habitica офіційно була запущена на Kickstarter у 2013 році, і ця ідея справді стала популярною. З тих пір вона перетворилася на величезний проєкт відкритий код, якої підтримується нашими чудовими волонтерами і нашими щедрими користувачами.", "pkQuestion2": "Чому Habitica працює?", - "pkAnswer2": "Сформувати нову звичку важко, тому що людям потрібна миттєва винагорода. Наприклад, важко почати користуватися зубною ниткою, навіть якщо наш стоматолог каже вам, що це добре для здоров'я в довгостроковій перспективі, тут і зараз вас болять ясна.
Гейміфікація в Habitica додає відчуття миттєвого задоволення від повсякденних цілей, винагороджуючи складне завдання досвідом, золотом… і, можливо, навіть випадковим призом, наприклад яйцем дракона! Це допомагає людям залишатися мотивованими, навіть якщо завдання саме по собі не має внутрішньої винагороди. І ми бачили, як люди змінюють своє життя в результаті. Ви можете переглянути деякі історії тут: https://habitversary.tumblr.com", + "pkAnswer2": "Сформувати нову звичку важко, тому що людям потрібна миттєва винагорода. Наприклад, важко почати користуватися зубною ниткою, навіть якщо наш стоматолог каже вам, що це добре для здоров'я в довгостроковій перспективі, тут і зараз вас болять ясна.
Гейміфікація в Habitica додає відчуття миттєвого задоволення від повсякденних цілей, винагороджуючи складне завдання досвідом, золотом… і, можливо, навіть випадковим призом, наприклад яйцем дракона! Це допомагає людям залишатися мотивованими, навіть якщо завдання саме по собі не має внутрішньої винагороди. І ми бачили, як люди змінюють своє життя в результаті.", "pkQuestion3": "Чому ви додали соціальні функції?", "pkAnswer3": "Соціальний тиск є величезним мотиваційним фактором для багатьох людей, тому ми знали, що хочемо мати сильну спільноту, яка відповідатиме один перед одним за свої цілі та вболіватиме за їхні успіхи. На щастя, одна з речей, яку багатокористувацькі відеоігри роблять найкраще, це сприяння почуттю спільності серед їхніх користувачів! Структура спільноти Habitica запозичена з цих типів ігор; ви можете створити невелику команду з близьких друзів, але ви також можете приєднатися до більших груп спільних інтересів, відомих як ґільдія. Хоча деякі користувачі вирішують грати поодинці, більшість вирішує створити мережу підтримки, яка заохочує соціальну підзвітність за допомогою таких функцій, як квести, де члени команди об’єднують свою продуктивність, щоб разом боротися з монстрами.", "pkQuestion4": "Чому пропуск завдань погіршує здоров’я вашого аватара?", @@ -188,5 +188,6 @@ "enterHabitica": "Повернутись в Habitica", "emailUsernamePlaceholder": "наприклад, habitrabbit або gryphon@example.com", "socialAlreadyExists": "Цей соціальний логін уже пов’язано з наявним обліковим записом Habitica.", - "footerProduct": "Продукт" + "footerProduct": "Продукт", + "translateHabitica": "Переклад Habitica" } diff --git a/website/common/locales/uk/gear.json b/website/common/locales/uk/gear.json index 7c688eaeab..a25c5fcdae 100644 --- a/website/common/locales/uk/gear.json +++ b/website/common/locales/uk/gear.json @@ -149,74 +149,74 @@ "weaponSpecialWinter2015RogueText": "Крижаний шип", "weaponSpecialWinter2015RogueNotes": "Ви дійсно, точно, абсолютно щойно підняли це з землі. Збільшує силу на <%= str %>. Обмежене видання зимового спорядження 2014-2015.", "weaponSpecialWinter2015WarriorText": "Гумко-Меч", - "weaponSpecialWinter2015WarriorNotes": "Можливо, цей чудовий меч приваблює монстрів... але ви готові прийняти цей виклик! Збільшує силу на <%= str %>. Лімітована серія зимового спорядження 2014-2015.", + "weaponSpecialWinter2015WarriorNotes": "Можливо, цей чудовий меч приваблює монстрів... але ви готові прийняти цей виклик! Збільшує силу на <%= str %>. Обмежена серія зимового спорядження 2014-2015.", "weaponSpecialWinter2015MageText": "Жезл зимового сяйва", - "weaponSpecialWinter2015MageNotes": "Світло цього кришталевого жезла наповнює серця бадьорістю. Збільшує інтелект на <%= int %> і сприйняття на <%= per %>. Лімітована серія зимового спорядження 2014-2015.", + "weaponSpecialWinter2015MageNotes": "Світло цього кришталевого жезла наповнює серця бадьорістю. Збільшує інтелект на <%= int %> і спритність на <%= per %>. Обмежена серія зимового спорядження 2014-2015.", "weaponSpecialWinter2015HealerText": "Заспокійливий скіпетр", - "weaponSpecialWinter2015HealerNotes": "Цей скіпетр зігріває хворі м’язи та знімає стрес. Збільшує інтелект на <%= int %>. Лімітована серія зимового спорядження 2014-2015.", + "weaponSpecialWinter2015HealerNotes": "Цей скіпетр зігріває хворі м’язи та знімає стрес. Збільшує інтелект на <%= int %>. Обмежена серія зимового спорядження 2014-2015.", "weaponSpecialSpring2015RogueText": "Вибуховий писк", "weaponSpecialSpring2015RogueNotes": "Нехай звук не вводить вас в оману – ця вибухівка справді потужна. Збільшує силу на <%= str %>. Обмежене видання весняного спорядження 2015.", - "weaponSpecialSpring2015WarriorText": "", - "weaponSpecialSpring2015WarriorNotes": "", - "weaponSpecialSpring2015MageText": "", - "weaponSpecialSpring2015MageNotes": "", - "weaponSpecialSpring2015HealerText": "", - "weaponSpecialSpring2015HealerNotes": "", - "weaponSpecialSummer2015RogueText": "", - "weaponSpecialSummer2015RogueNotes": "", - "weaponSpecialSummer2015WarriorText": "", - "weaponSpecialSummer2015WarriorNotes": "", - "weaponSpecialSummer2015MageText": "", - "weaponSpecialSummer2015MageNotes": "", - "weaponSpecialSummer2015HealerText": "", - "weaponSpecialSummer2015HealerNotes": "", - "weaponSpecialFall2015RogueText": "", + "weaponSpecialSpring2015WarriorText": "Кістяна бита", + "weaponSpecialSpring2015WarriorNotes": "Це справжня ,бита для справжніх лютих песиків і точно не жувальна іграшка, яку вам дала Сезонна чарівниця, тому що хто хороший песик? Оооо гарний пес?? Це ти!!! Ти хороший песик!!! Збільшує силу на <%= str %>. Обмежене видання весняного спорядження 2015 року.", + "weaponSpecialSpring2015MageText": "Чарівна паличка", + "weaponSpecialSpring2015MageNotes": "Зробіть собі моркву за допомогою цієї чарівної палички. Збільшує інтелект на <%= int %> і спритність на <%= per %>. Обмежене видання весняного спорядження 2015 року.", + "weaponSpecialSpring2015HealerText": "Котяча брязкальце", + "weaponSpecialSpring2015HealerNotes": "Коли ви помахаєте ним, він видає захоплюючий клацаючий звук, який розважатиме КОЖНОГО годинами. Збільшує інтелект на <%= int %>. Обмежене видання весняного спорядження 2015 року.", + "weaponSpecialSummer2015RogueText": "Корал-випалювач", + "weaponSpecialSummer2015RogueNotes": "Цей родич вогняного корала має здатність рухати свою отруту крізь воду. Збільшує силу на <%= str %>. Обмежене видання літнього спорядження 2015 року.", + "weaponSpecialSummer2015WarriorText": "Сонячна риба-меч", + "weaponSpecialSummer2015WarriorNotes": "Сонячна риба-меч — це страшна зброя, якщо її можна змусити припинити звиватися. Збільшує силу на <%= str %>. Обмежене видання літнього спорядження 2015 року.", + "weaponSpecialSummer2015MageText": "Посох віщуна", + "weaponSpecialSummer2015MageNotes": "У коштовностях цього посоха мерехтить прихована сила. Збільшує інтелект на <%= int %> і спритність на <%= per %>. Обмежене видання літнього спорядження 2015 року.", + "weaponSpecialSummer2015HealerText": "Паличка хвиль", + "weaponSpecialSummer2015HealerNotes": "Лікує морську хворобу! Збільшує інтелект на <%= int %>. Обмежене видання літнього спорядження 2015 року.", + "weaponSpecialFall2015RogueText": "Кажаняча сокира", "weaponSpecialFall2015RogueNotes": "Боягузливі завдання тремтять при виді цієї сокири!. Збільшує силу на <%= str %>. Лімітований випуск осені 2015.", - "weaponSpecialFall2015WarriorText": "", - "weaponSpecialFall2015WarriorNotes": "", - "weaponSpecialFall2015MageText": "", - "weaponSpecialFall2015MageNotes": "", - "weaponSpecialFall2015HealerText": "", - "weaponSpecialFall2015HealerNotes": "", - "weaponSpecialWinter2016RogueText": "", - "weaponSpecialWinter2016RogueNotes": "", - "weaponSpecialWinter2016WarriorText": "", - "weaponSpecialWinter2016WarriorNotes": "", - "weaponSpecialWinter2016MageText": "", - "weaponSpecialWinter2016MageNotes": "", - "weaponSpecialWinter2016HealerText": "", + "weaponSpecialFall2015WarriorText": "Дерев'яна дошка", + "weaponSpecialFall2015WarriorNotes": "Чудово підходить для підйому речей на кукурудзяних полях та/або для виконання завдань, пов’язаних із шмаганням. Збільшує силу на <%= str %>. Обмежене видання осіннього спорядження 2015 року.", + "weaponSpecialFall2015MageText": "Зачарована нитка", + "weaponSpecialFall2015MageNotes": "Потужна чарівниця Стіч може керувати цією чарівною ниткою, навіть не торкаючись її! Збільшує інтелект на <%= int %> і сприйняття на <%= per %>. Лімітована серія осіннього спорядження 2015 року.", + "weaponSpecialFall2015HealerText": "Болотно-слизове зілля", + "weaponSpecialFall2015HealerNotes": "Заварено до досконалості! Тепер вам залишається тільки переконати себе випити його. Підвищує інтелект на <%= int %>. Обмежена серія осіннього спорядження 2015 року.", + "weaponSpecialWinter2016RogueText": "Кухоль какао", + "weaponSpecialWinter2016RogueNotes": "Зігріваючий напій чи киплячий снаряд? Ви вирішуєте... Збільшує силу на <%= str %>. Обмежене видання зимового спорядження 2015-2016.", + "weaponSpecialWinter2016WarriorText": "Міцна лопата", + "weaponSpecialWinter2016WarriorNotes": "Згрібайте прострочені завдання з дороги! Збільшує силу на <%= str %>. Обмежене видання зимового спорядження 2015-2016.", + "weaponSpecialWinter2016MageText": "Чарівний сноуборд", + "weaponSpecialWinter2016MageNotes": "Твої рухи такі жахливі, вони повинні бути магічними! Збільшує інтелект на <%= int %> і спритність на by <%= per %>. Обмежене видання зимового спорядження 2015-2016.", + "weaponSpecialWinter2016HealerText": "Конфетті Гармата", "weaponSpecialWinter2016HealerNotes": "", - "weaponSpecialSpring2016RogueText": "", - "weaponSpecialSpring2016RogueNotes": "", - "weaponSpecialSpring2016WarriorText": "", - "weaponSpecialSpring2016WarriorNotes": "", - "weaponSpecialSpring2016MageText": "", - "weaponSpecialSpring2016MageNotes": "", - "weaponSpecialSpring2016HealerText": "", - "weaponSpecialSpring2016HealerNotes": "", - "weaponSpecialSummer2016RogueText": "", - "weaponSpecialSummer2016RogueNotes": "", - "weaponSpecialSummer2016WarriorText": "", - "weaponSpecialSummer2016WarriorNotes": "", - "weaponSpecialSummer2016MageText": "", - "weaponSpecialSummer2016MageNotes": "", - "weaponSpecialSummer2016HealerText": "", - "weaponSpecialSummer2016HealerNotes": "", - "weaponSpecialFall2016RogueText": "", - "weaponSpecialFall2016RogueNotes": "", - "weaponSpecialFall2016WarriorText": "", - "weaponSpecialFall2016WarriorNotes": "", - "weaponSpecialFall2016MageText": "", - "weaponSpecialFall2016MageNotes": "", - "weaponSpecialFall2016HealerText": "", - "weaponSpecialFall2016HealerNotes": "", - "weaponSpecialWinter2017RogueText": "", - "weaponSpecialWinter2017RogueNotes": "", - "weaponSpecialWinter2017WarriorText": "", - "weaponSpecialWinter2017WarriorNotes": "", - "weaponSpecialWinter2017MageText": "", - "weaponSpecialWinter2017MageNotes": "", - "weaponSpecialWinter2017HealerText": "", + "weaponSpecialSpring2016RogueText": "Вогняний болас", + "weaponSpecialSpring2016RogueNotes": "Ви оволоділи м'ячем, палицею і ножем. Тепер ви переходите до жонглювання вогнем! Ого! Збільшує силу на <%= str %>. Обмежене видання весняного спорядження 2016.", + "weaponSpecialSpring2016WarriorText": "Сирний молоток", + "weaponSpecialSpring2016WarriorNotes": "Ніхто немає так багато друзів як миша з ніжним сиром. Збільшує силу на <%= str %>. Обмежене видання весняного спорядження 2016.", + "weaponSpecialSpring2016MageText": "Посох дзвонів", + "weaponSpecialSpring2016MageNotes": "Абра-кіт-абра! Таке сліпуче, ви можете загіпнотизувати себе! Ой... Воно дзвенить... Збільшує інтелект на <%= int %> і спритність на <%= per %>. Обмежене видання весняного спорядження 2016.", + "weaponSpecialSpring2016HealerText": "Весняний квітковий жезл", + "weaponSpecialSpring2016HealerNotes": "Махнувши і підморгувши, ви приносите полям і лісям розквіт! Або б'єте набридливих мишей по макітрі. Підвищує інтелект на <%= int %>. Обмежене видання весняного спорядження 2016.", + "weaponSpecialSummer2016RogueText": "Електричний стрижень", + "weaponSpecialSummer2016RogueNotes": "Кожний, хто б'ється з вами, отримує шокуючий сюрприз... Збільшує силу на <%= str %>. Обмежене видання літнього спорядження 2016.", + "weaponSpecialSummer2016WarriorText": "Гачкуватий меч", + "weaponSpecialSummer2016WarriorNotes": "Розрубіть важкі завдання з цим гачкуватим мечем! Збільшує силу на <%= str %>. Обмежене видання літнього спорядження 2016.", + "weaponSpecialSummer2016MageText": "Посох з морської піни", + "weaponSpecialSummer2016MageNotes": "Вся сила морів просочується через цю палицю! Збільшує інтелект на <%= int %> та спритність на <%= per %>. Обмежене видання літнього спорядження 2016.", + "weaponSpecialSummer2016HealerText": "Лікувальний тризуб", + "weaponSpecialSummer2016HealerNotes": "Один шип шкодить, інший зцілює. Збільшує інтелект на <%= int %>. Обмежене видання літнього спорядження 2016.", + "weaponSpecialFall2016RogueText": "Павутинний кинджал", + "weaponSpecialFall2016RogueNotes": "Відчуй гостроту павучого укусу! Збільшує силу на <%= str %>. Обмежене видання осіннього спорядження 2016.", + "weaponSpecialFall2016WarriorText": "Корені-вбивці", + "weaponSpecialFall2016WarriorNotes": "Атакуйте свої завдання з цими закрученими коренями! Збільшує силу на <%= str %>. Обмежене видання осіннього спорядження 2016.", + "weaponSpecialFall2016MageText": "Зловісна куля", + "weaponSpecialFall2016MageNotes": "Не питай у цієї кулі своє майбутнє... Збільшує інтелект на <%= int %> та спритність на <%= per %>. Обмежене видання осіннього спорядження 2016.", + "weaponSpecialFall2016HealerText": "Отруйний змій", + "weaponSpecialFall2016HealerNotes": "Один укус шкодить, а другий лікує. Збільшує інтелект на <%= int %>. Обмежене видання осіннього спорядження 2016 року.", + "weaponSpecialWinter2017RogueText": "Льодоруб", + "weaponSpecialWinter2017RogueNotes": "Ця сокира чудово підходить для нападу, захисту та льодолазіння! Збільшує силу на <%= str %>. Обмежена серія зимового спорядження 2016-2017.", + "weaponSpecialWinter2017WarriorText": "Палиця могутності", + "weaponSpecialWinter2017WarriorNotes": "Досягайте своїх цілей, вдаряючи їх цією могутньою палицею! Збільшує силу на <%= str %>. Обмежена серія зимового спорядження 2016-2017.", + "weaponSpecialWinter2017MageText": "Кришталевий посох зимового вовка", + "weaponSpecialWinter2017MageNotes": "Сяючий блакитний кристал на кінці цього посоха називається Оком зимового вовка! Він виділяє магію зі снігу та льоду. Збільшує інтелект на <%= int %> і спритність на <%= per %>. Обмежена серія зимового спорядження 2016-2017.", + "weaponSpecialWinter2017HealerText": "Цукрова паличка", "weaponSpecialWinter2017HealerNotes": "", "weaponSpecialSpring2017RogueText": "", "weaponSpecialSpring2017RogueNotes": "", @@ -226,7 +226,7 @@ "weaponSpecialSpring2017MageNotes": "", "weaponSpecialSpring2017HealerText": "", "weaponSpecialSpring2017HealerNotes": "", - "weaponSpecialSummer2017RogueText": "", + "weaponSpecialSummer2017RogueText": "Плавники морського дракона", "weaponSpecialSummer2017RogueNotes": "", "weaponSpecialSummer2017WarriorText": "Найпотужніша пляжна парасолька", "weaponSpecialSummer2017WarriorNotes": "", @@ -234,7 +234,7 @@ "weaponSpecialSummer2017MageNotes": "", "weaponSpecialSummer2017HealerText": "", "weaponSpecialSummer2017HealerNotes": "", - "weaponSpecialFall2017RogueText": "", + "weaponSpecialFall2017RogueText": "Яблучні цукати", "weaponSpecialFall2017RogueNotes": "", "weaponSpecialFall2017WarriorText": "", "weaponSpecialFall2017WarriorNotes": "Усі Ваші вороги затремтять, угледівши цей смачний на вигляд спис, незалежно від того, привиди вони, монстри чи невиконані завдання. Збільшує силу на <%= str %>. Лімітований випуск осені 2017.", @@ -282,7 +282,7 @@ "weaponSpecialWinter2019MageNotes": "Стережись! Цей вибухонебезпечний посох допоможе тобі розібратися з усіма бажаючими. Збільшує інтелект на <%= int %> і спритність на <%= per %>. Лімітований випуск зими 2018-2019.", "weaponSpecialWinter2019HealerText": "", "weaponSpecialWinter2019HealerNotes": "", - "weaponMystery201411Text": "", + "weaponMystery201411Text": "Вила застілля", "weaponMystery201411Notes": "", "weaponMystery201502Text": "", "weaponMystery201502Notes": "", @@ -314,23 +314,23 @@ "weaponArmoireShepherdsCrookNotes": "", "weaponArmoireCrystalCrescentStaffText": "", "weaponArmoireCrystalCrescentStaffNotes": "", - "weaponArmoireBlueLongbowText": "", - "weaponArmoireBlueLongbowNotes": "", + "weaponArmoireBlueLongbowText": "Синій довгий лук", + "weaponArmoireBlueLongbowNotes": "Готуйся, цілься, вогонь! Цей лук має великий радіус дії. Збільшує спритність на <%= per %>, витривалість на <%= con %> та силу на <%= str %>. Чарівна скриня: набір залізний лучник (предмет 3 із 3).", "weaponArmoireGlowingSpearText": "", "weaponArmoireGlowingSpearNotes": "", - "weaponArmoireBarristerGavelText": "", + "weaponArmoireBarristerGavelText": "Молоток адвоката", "weaponArmoireBarristerGavelNotes": "", "weaponArmoireJesterBatonText": "", "weaponArmoireJesterBatonNotes": "", "weaponArmoireMiningPickaxText": "", "weaponArmoireMiningPickaxNotes": "", - "weaponArmoireBasicLongbowText": "", + "weaponArmoireBasicLongbowText": "Базовий довгий лук", "weaponArmoireBasicLongbowNotes": "", "weaponArmoireHabiticanDiplomaText": "", "weaponArmoireHabiticanDiplomaNotes": "", "weaponArmoireSandySpadeText": "", "weaponArmoireSandySpadeNotes": "", - "weaponArmoireCannonText": "", + "weaponArmoireCannonText": "Гармата", "weaponArmoireCannonNotes": "", "weaponArmoireVermilionArcherBowText": "", "weaponArmoireVermilionArcherBowNotes": "", @@ -352,7 +352,7 @@ "weaponArmoireHoofClippersNotes": "", "weaponArmoireWeaversCombText": "", "weaponArmoireWeaversCombNotes": "", - "weaponArmoireLamplighterText": "", + "weaponArmoireLamplighterText": "Ліхтарник", "weaponArmoireLamplighterNotes": "Ця довга жердина має на одному кінці гніт для освітлення ламп, а на іншому - гачок для їх гасіння. Збільшує Статуру на <%= con %> та Сприйняття на <%= на %>. Зачарована шафа: набір світильника (пункт 1 з 4).", "weaponArmoireCoachDriversWhipText": "", "weaponArmoireCoachDriversWhipNotes": "", @@ -372,7 +372,7 @@ "weaponArmoireNeedleOfBookbindingNotes": "", "weaponArmoireSpearOfSpadesText": "", "weaponArmoireSpearOfSpadesNotes": "", - "weaponArmoireArcaneScrollText": "", + "weaponArmoireArcaneScrollText": "Таємничий сувій", "weaponArmoireArcaneScrollNotes": "Цей древній список справ заповнений дивними символами та заклинаннями з забутого віку. Збільшує інтелект на <%= int %>. Зачарована шафа: набір писарів (пункт 3 із 3).", "armor": "броня", "armorCapitalized": "Броня", @@ -438,8 +438,8 @@ "armorSpecialMammothRiderArmorNotes": "", "armorSpecialPageArmorText": "Page Armor", "armorSpecialPageArmorNotes": "", - "armorSpecialRoguishRainbowMessengerRobesText": "", - "armorSpecialRoguishRainbowMessengerRobesNotes": "", + "armorSpecialRoguishRainbowMessengerRobesText": "Рожеві райдужні халати посланців", + "armorSpecialRoguishRainbowMessengerRobesNotes": "Ці яскраві смугасті шати дозволять вам спокійно та безпечно літати під штормовим вітром. Збільшує силу на <%= str %>.", "armorSpecialSneakthiefRobesText": "", "armorSpecialSneakthiefRobesNotes": "", "armorSpecialSnowSovereignRobesText": "", @@ -450,7 +450,7 @@ "armorSpecialDandySuitNotes": "", "armorSpecialSamuraiArmorText": "", "armorSpecialSamuraiArmorNotes": "", - "armorSpecialTurkeyArmorBaseText": "Turkey Armor", + "armorSpecialTurkeyArmorBaseText": "Індича броня", "armorSpecialTurkeyArmorBaseNotes": "", "armorSpecialTurkeyArmorGildedText": "", "armorSpecialTurkeyArmorGildedNotes": "", @@ -474,8 +474,8 @@ "armorSpecialBirthday2018Notes": "", "armorSpecialBirthday2019Text": "", "armorSpecialBirthday2019Notes": "", - "armorSpecialGaymerxText": "", - "armorSpecialGaymerxNotes": "", + "armorSpecialGaymerxText": "Обладунки веселкового воїна", + "armorSpecialGaymerxNotes": "На честь конференції GaymerX ця спеціальна броня прикрашена променистим, барвистим візерунком веселки! GaymerX - це ігрова конвенція, присвячена LGTBQ та іграм і яка відкрита для всіх бажаючих.", "armorSpecialSpringRogueText": "Гладенький котячий костюм", "armorSpecialSpringRogueNotes": "", "armorSpecialSpringWarriorText": "Броня сталевої конюшини", @@ -668,20 +668,20 @@ "armorMystery201509Notes": "", "armorMystery201511Text": "", "armorMystery201511Notes": "", - "armorMystery201512Text": "", - "armorMystery201512Notes": "", - "armorMystery201603Text": "", - "armorMystery201603Notes": "", - "armorMystery201604Text": "", - "armorMystery201604Notes": "", - "armorMystery201605Text": "", - "armorMystery201605Notes": "", - "armorMystery201606Text": "", - "armorMystery201606Notes": "", - "armorMystery201607Text": "", - "armorMystery201607Notes": "", - "armorMystery201609Text": "", - "armorMystery201609Notes": "", + "armorMystery201512Text": "Броня холодного вогню", + "armorMystery201512Notes": "Виклиє крижане зимове полум'я! Не дає жодних бонусів. Предмет підписника (грудень 2015 ).", + "armorMystery201603Text": "Щасливий костюм", + "armorMystery201603Notes": "Цей костюм зшитий із тисячі чотирилистих конюшини! Не дає жодних бонусів. Предмет підписника (березень 2016).", + "armorMystery201604Text": "Листяна броня", + "armorMystery201604Notes": "Ви можете бути маленьким, але відлякувати всіх страшним листям. Не дає жодних бонусів. Предмет підписника (квітень 2016).", + "armorMystery201605Text": "Форма маршируючого барда", + "armorMystery201605Notes": "На відміну від традиційних бардів, які приєднуються до команд, барди, які приєднуються до габітиканських оркестрів, відомі великими парадами, а не рейдами в підземелля. Не дає жодних бонусів. Предмет підписника (травень 2016).", + "armorMystery201606Text": "Хвіст селки", + "armorMystery201606Notes": "Цей сильний хвіст переливається, як морська піна, що розбивається об берег. Не дає жодних бонусів. Предмет підписника (червень 2016).", + "armorMystery201607Text": "Броня морського розбійника", + "armorMystery201607Notes": "Злийтеся з морським дном за допомогою цієї непомітної водяної броні. Не дає жодних бонусів. Предмет підписника (липень 2016).", + "armorMystery201609Text": "Коров'яча броня", + "armorMystery201609Notes": "Злийтеся з рештою стада в цьому зручному обладунку! Не дає жодних бонусів. Предмет підписника (вересень 2016).", "armorMystery201610Text": "", "armorMystery201610Notes": "", "armorMystery201612Text": "", @@ -816,7 +816,7 @@ "armorArmoireSoftRedSuitNotes": "", "armorArmoireScribesRobeText": "", "armorArmoireScribesRobeNotes": "", - "headgear": "", + "headgear": "Кермо", "headgearCapitalized": "Головний убір", "headBase0Text": "", "headBase0Notes": "Без головного убору.", @@ -861,39 +861,39 @@ "headHealer5Text": "Королівська діядема", "headHealer5Notes": "", "headSpecial0Text": "Шолом сутінок", - "headSpecial0Notes": "", + "headSpecial0Notes": "Кров і попіл, лава і обсидіан надають цьому шолому образності і сили. Збільшує інтелект на <%= int %>.", "headSpecial1Text": "Кришталевий шолом", - "headSpecial1Notes": "", + "headSpecial1Notes": "Улюблений вінець тих, хто подає приклад. Збільшує всі показники на <%= attrs %>.", "headSpecial2Text": "Безіменний шолом", "headSpecial2Notes": "Завіт тим, хто віддав себе повністю, нічого не просячи натомість. Збільшує інтелект та силу на <%= attrs %>.", - "headSpecialTakeThisText": "", - "headSpecialTakeThisNotes": "", + "headSpecialTakeThisText": "Шолом \"Отримуй\"", + "headSpecialTakeThisNotes": "Цей шолом було отримано за участь у спонсорованому випробування від Take This. Вітаємо вас! Збільшує всі показники на <%= attrs %>.", "headSpecialFireCoralCircletText": "Вінець з вогняних коралів", "headSpecialFireCoralCircletNotes": "Цей вінець, виготовлений найвеличнішими алхіміками Габітики, дозволяє дихати під водою та пірнати за скарбами. Збільшує спритність на <%= per %>.", "headSpecialPyromancersTurbanText": "Тюрбан піроманта", "headSpecialPyromancersTurbanNotes": "Цей чарівний тюрбан допоможе вам дихати навіть у найгустішому диму! Крім того, він надзвичайно затишний! Збільшує силу на <%= str %>.", - "headSpecialBardHatText": "", - "headSpecialBardHatNotes": "", + "headSpecialBardHatText": "Бардівська шапка", + "headSpecialBardHatNotes": "Встроміть перо в капелюх і назвіть його \"продуктивність\"! Збільшує інтелект на <%= int %>.", "headSpecialLunarWarriorHelmText": "Шолом місячного воїна", - "headSpecialLunarWarriorHelmNotes": "Сила місяця зміцнить Вас у бою! Збільшує силу та інтелект на <%= attrs %>.", - "headSpecialMammothRiderHelmText": "", - "headSpecialMammothRiderHelmNotes": "", - "headSpecialPageHelmText": "", - "headSpecialPageHelmNotes": "", - "headSpecialRoguishRainbowMessengerHoodText": "", - "headSpecialRoguishRainbowMessengerHoodNotes": "", - "headSpecialClandestineCowlText": "", - "headSpecialClandestineCowlNotes": "", - "headSpecialSnowSovereignCrownText": "", - "headSpecialSnowSovereignCrownNotes": "", - "headSpecialSpikedHelmText": "", - "headSpecialSpikedHelmNotes": "", - "headSpecialDandyHatText": "", - "headSpecialDandyHatNotes": "", - "headSpecialKabutoText": "", - "headSpecialKabutoNotes": "", - "headSpecialNamingDay2017Text": "", - "headSpecialNamingDay2017Notes": "", + "headSpecialLunarWarriorHelmNotes": "Сила місяця зміцнить вас у бою! Збільшує силу та інтелект на <%= attrs %>.", + "headSpecialMammothRiderHelmText": "Шолом вершника мамонта", + "headSpecialMammothRiderHelmNotes": "Не дозволяйте його пухнастості обдурити вас - цей шолом подарує вам пронизливу силу спритності! Збільшує спритність на <%= на %>.", + "headSpecialPageHelmText": "Шолом пажа", + "headSpecialPageHelmNotes": "Кольчуга: для стильних і практичних. Збільшує спритність на <%= per%>.", + "headSpecialRoguishRainbowMessengerHoodText": "Рожево-веселковий капюшон", + "headSpecialRoguishRainbowMessengerHoodNotes": "Цей яскравий капюшон випромінює різнокольорове сяйво, яке захистить вас від негоди! Збільшує витривалість на <%=con %>.", + "headSpecialClandestineCowlText": "Капюшон підпільника", + "headSpecialClandestineCowlNotes": "Не забувайте приховувати своє обличчя, коли грабуєте та мародерите золото у своїх завдань! Збільшує спритність на <%= per %>.", + "headSpecialSnowSovereignCrownText": "Корона снігового повелителя", + "headSpecialSnowSovereignCrownNotes": "Коштовності в цій короні виблискують, як сніжинки, що щойно випали. Збільшує витривалість на <%=con %>.", + "headSpecialSpikedHelmText": "Шипований шолом", + "headSpecialSpikedHelmNotes": "З цим функціональним (і симпатичним!) шоломом ви будете надійно захищені від збитих зі шляху щоденок та шкідливих звичок. Збільшує силу на <%= str %>.", + "headSpecialDandyHatText": "Капелюх денді", + "headSpecialDandyHatNotes": "Яка весела шапочка! Ви виглядатимете чудово, насолоджуючись прогулянкою в ній. Збільшує витривалість на <%=con %>.", + "headSpecialKabutoText": "Кабуто", + "headSpecialKabutoNotes": "Цей шолом функціональний і красивий! Ваші вороги відволікатимуться, милуючись ним. Збільшує інтелект на <%= int %>.", + "headSpecialNamingDay2017Text": "Королівський фіолетовий шолом ґрифона", + "headSpecialNamingDay2017Notes": "З іменинами Habitica! Одягни цей лютий і пір'яний шолом, коли святкуватимеш з нами. Не дає жодних бонусів.", "headSpecialTurkeyHelmBaseText": "", "headSpecialTurkeyHelmBaseNotes": "", "headSpecialTurkeyHelmGildedText": "", @@ -1078,8 +1078,8 @@ "headSpecialWinter2019MageNotes": "", "headSpecialWinter2019HealerText": "", "headSpecialWinter2019HealerNotes": "", - "headSpecialGaymerxText": "", - "headSpecialGaymerxNotes": "", + "headSpecialGaymerxText": "Шолом веселкового воїна", + "headSpecialGaymerxNotes": "На честь конференції GaymerX цей спеціальний шолом прикрашений променистим, барвистим візерунком веселки! GaymerX - це ігрова конвенція, присвячена LGTBQ та іграм і яка доступна для всіх.", "headMystery201402Text": "Крилатий шолом", "headMystery201402Notes": "", "headMystery201405Text": "", @@ -1306,8 +1306,8 @@ "shieldSpecialMammothRiderHornNotes": "", "shieldSpecialDiamondStaveText": "", "shieldSpecialDiamondStaveNotes": "", - "shieldSpecialRoguishRainbowMessageText": "", - "shieldSpecialRoguishRainbowMessageNotes": "", + "shieldSpecialRoguishRainbowMessageText": "Рожеве веселкове послання", + "shieldSpecialRoguishRainbowMessageNotes": "Цей блискучий конверт містить підбадьорливі послання від мешканців Габітики та трохи магії, яка допоможе пришвидшити вашу доставку! Збільшує інтелект на <%= int %>.", "shieldSpecialLootBagText": "", "shieldSpecialLootBagNotes": "", "shieldSpecialWintryMirrorText": "", @@ -1464,7 +1464,7 @@ "shieldArmoirePerchingFalconNotes": "", "shieldArmoireRamHornShieldText": "", "shieldArmoireRamHornShieldNotes": "", - "shieldArmoireRedRoseText": "Red Rose", + "shieldArmoireRedRoseText": "Червона роза", "shieldArmoireRedRoseNotes": "", "shieldArmoireMushroomDruidShieldText": "", "shieldArmoireMushroomDruidShieldNotes": "", @@ -1478,7 +1478,7 @@ "shieldArmoireGoldenBatonNotes": "", "shieldArmoireAntiProcrastinationShieldText": "Щит анти-зволікання", "shieldArmoireAntiProcrastinationShieldNotes": "", - "shieldArmoireHorseshoeText": "", + "shieldArmoireHorseshoeText": "Підкова", "shieldArmoireHorseshoeNotes": "Допоможіть захистити ніжки Ваших копитних скакунів за допомогою цієї підкови. Збільшує витривалість, спритність та силу на <%= attrs %> кожен. Зачарований шафа: набір коваля (елемент 3 з 3).", "shieldArmoireHandmadeCandlestickText": "", "shieldArmoireHandmadeCandlestickNotes": "", @@ -1739,7 +1739,7 @@ "eyewearMystery201701Notes": "", "eyewearMystery301404Text": "", "eyewearMystery301404Notes": "", - "eyewearMystery301405Text": "", + "eyewearMystery301405Text": "Монокль", "eyewearMystery301405Notes": "", "eyewearMystery301703Text": "", "eyewearMystery301703Notes": "", @@ -1895,7 +1895,7 @@ "weaponArmoireBambooCaneNotes": "Ідеально підходить для того, щоб допомогти вам прогулятися або потанцювати Чарльстон. Підвищує інтелект, сприйняття та статуру на <%= attrs %> кожен. Зачарована шафа: набір для човнів (предмет 3 із 3).", "armorArmoireChefsJacketNotes": "Ця товста бавовняна куртка двобортна, щоб захистити вас від пролиття (і зручно повертати…). Збільшує інтелект на <%= int %>. Зачарована шафа: набір шеф-кухарів (предмет 2 з 4).", "armorSpecialSummer2019HealerText": "Хвіст тропічних припливів", - "weaponArmoireBeachFlagNotes": "Об’єднайте війська навколо вашого піщаного замку і дайте всім знати, куди звертатися за допомогою! Збільшує сприйняття на <%= на %>. Зачарована шафа: набір рятувальників (предмет 1 з 3).", + "weaponArmoireBeachFlagNotes": "Об’єднайте війська навколо вашого піщаного замку і дайте всім знати, куди звертатися за допомогою! Збільшує спритність на <%= per %>. Зачарована шафа: набір рятувальників (предмет 1 з 3).", "weaponArmoireShadowMastersMaceNotes": "Істоти темряви підкорятимуться кожній вашій команді, коли ви помахаєте цією сяючою булавою. Збільшує сприйняття на <%= на %>. Зачарована шафа: набір майстрів тіней (предмет 3 з 4).", "weaponArmoireGuardiansCrookNotes": "Шахрай цього пастуха може стати в нагоді наступного разу, коли ви поведете своїх домашніх улюбленців на прогулянку в сільській місцевості... Збільшує силу на <%= str %>. Зачарована шафа: набір охоронця пасовищ (предмет 2 з 3).", "armorSpecialSpring2021WarriorNotes": "Будьте обережні, щоб не засліпити себе, оскільки ця броня з сонячного каменю впіймає світло! Збільшує статуру на <%= con %>. Обмежена серія 2021 весняного спорядження.", @@ -2084,5 +2084,24 @@ "weaponSpecialFall2021RogueNotes": "Чорт забирай, у що ти вляпався? Коли люди кажуть, що у розбійників липкі пальці, вони мають на увазі не це! Збільшує силу на <%= str %>. Обмежений випуск осені 2021.", "weaponSpecialFall2021WarriorNotes": "Ця стилізована одностороння сокира ідеально підходить для того, щоб розсікати ... гарбузи! Збільшує силу на <%= str %>. Обмежений випуск осені 2021.", "weaponSpecialFall2021MageNotes": "Знання шукає знання. Сформована зі спогадів і бажань, ця страшна рука хапається за більше. Збільшує інтелект на <%= int %> і спритність на <%= per %>. Обмежений випуск осені 2021.", - "weaponSpecialFall2022WarriorText": "Розривний меч орка" + "weaponSpecialFall2022WarriorText": "Розривний меч орка", + "weaponSpecialWinter2023RogueText": "Зелений атласний пояс", + "weaponSpecialWinter2023WarriorText": "Бивневий спис", + "weaponSpecialWinter2023WarriorNotes": "Два вістря цього списа схожі на моржеві ікла, але вдвічі потужніші. Штрикайте сумніви та дурнички, поки вони не відступлять! Збільшує силу на <%= str %>. Обмежена серія зимового спорядження 2022-2023.", + "weaponSpecialWinter2023MageText": "Казковий вогонь", + "weaponSpecialWinter2023MageNotes": "Чудернацькі вогники, дуже святкові! Збільшують Інтелект на <%= int %> та Сприйняття на <%= per %>. Обмежена серія зимового спорядження 2022-2023.", + "weaponSpecialWinter2023RogueNotes": "Легенди розповідають про розбійників, які викрадають зброю своїх супротивників, обеззброюють їх, а потім дарують річ назад, просто щоб бути милими. Збільшує силу на <%= str %>. Обмежене видання зимового спорядження 2022-2023.", + "headMystery201904Notes": "Опали в цьому персні сяють усіма кольорами веселки, надаючи йому різноманітних магічних властивостей. Не дає жодних бонусів. Передплатний екземпляр квітня 2019.", + "eyewearMystery202208Notes": "Присипляйте своїх ворогів хибним відчуттям безпеки за допомогою цих жахливо милих окулярів. Не дає жодних бонусів. Предмет підписника (серпень 2022).", + "headSpecialNye2022Notes": "Ви отримали Казковий святковий капелюх! Носіть його з гордістю, зустрічаючи Новий рік! Не дає жодних бонусів.", + "eyewearMystery202208Text": "Блискучі очі", + "headSpecialNye2022Text": "Казковий капелюх для вечірок", + "headSpecialNye2021Text": "Безглуздий капелюх для вечірки", + "headSpecialNye2021Notes": "Ви отримали безглуздий святковий капелюх! Носіть його з гордістю, зустрічаючи Новий рік! Не дає жодних бонусів.", + "shieldSpecialSummer2021WarriorNotes": "Ця чарівна крапелька води вбирає магію та протистоїть ударам найчервоніших щоденників. Збільшує витривалість на <%= con %>. Обмежене видання літнього спорядження 2021 року.", + "shieldSpecialSpring2021HealerNotes": "Листяний зелений пучок, який віщує притулок і співчуття. Збільшує витривалість на <%= con %>. Обмежене видання весняного спорядження 2021 року.", + "shieldSpecialSummer2021WarriorText": "Водяний щит", + "shieldSpecialSpring2022WarriorText": "Дощова хмара", + "shieldArmoireBagpipesText": "Волинка", + "headArmoireNightcapText": "Нічний ковпак" } diff --git a/website/common/locales/uk/generic.json b/website/common/locales/uk/generic.json index 2d72cd457d..6ed719c781 100644 --- a/website/common/locales/uk/generic.json +++ b/website/common/locales/uk/generic.json @@ -95,7 +95,7 @@ "achievementStressbeastText": "Допоміг перемогти огидного Стресозвіра під час події Winter Wonderland в 2014 році!", "achievementBurnout": "Рятівник Квітучих полів", "achievementBurnoutText": "Допоміг перемогти Вигорання та відновити Духів Виснаження під час Осіннього фестивалю 2015 року!", - "achievementBewilder": "Рятівник Містіфлаїнга", + "achievementBewilder": "Рятівник Хмарополя", "achievementBewilderText": "Допомігли перемогти Забудівника під час Весняного Летючого Івенту 2016!", "achievementDysheartener": "Рятівник розбитих серцем", "achievementDysheartenerText": "Допомогли перемогти Серцеїда під час подій до Дня святого Валентина у 2018 році!", @@ -213,5 +213,9 @@ "reportSent": "Звіт про помилку надіслано!", "reportSentDescription": "Ми зв’яжемося з Вами, як тільки наша команда матиме можливість дослідити помилку. Дякуємо, що повідомили про проблему.", "reportBugHeaderDescribe": "Будь ласка, опишіть баг який ви знайшли і наша команда зв'яжеться з Вами.", - "emptyReportBugMessage": "Пропущено текст повідомлення про помилку" + "emptyReportBugMessage": "Пропущено текст повідомлення про помилку", + "leaveHabitica": "Ви збираєтеся залишити Habitica.com", + "leaveHabiticaText": "Habitica не несе відповідальності за зміст будь-яких веб-сайтів, на які є посилання, що не належать або не управляються HabitRPG.
Зверніть увагу, що правила цих веб-сайтів можуть відрізнятися від правил спільноти Habitica.", + "skipExternalLinkModal": "Щоб пропустити це вікно, утримуйте клавішу CTRL (Windows) або Command (Mac) при натисканні на посилання.", + "refreshList": "Оновити список" } diff --git a/website/common/locales/uk/groups.json b/website/common/locales/uk/groups.json index 0229127a03..be46d536d0 100644 --- a/website/common/locales/uk/groups.json +++ b/website/common/locales/uk/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Командний список завдань", "teamBasedTasksListDesc": "Налаштуйте для групи спільний список завдань для легкого перегляду. Призначайте завдання своїм колегам-учасникам групи або дозвольте їм оголошувати свої власні завдання, щоб було зрозуміло, над чим кожен працює!", "groupManagementControls": "Інструменти управління групою", - "groupManagementControlsDesc": "Використовуйте схвалення завдань, щоб переконатися, що завдання дійсно виконано, додайте менеджерів груп, щоб розділити обов’язки, і насолоджуйтеся приватним груповим чатом для всіх членів команди.", + "groupManagementControlsDesc": "Переглядайте статус завдання, щоб переконатися, що його виконано, додайте менеджерів груп, щоб розділити обов’язки, і насолоджуйтеся приватним груповим чатом для всіх членів команди.", "inGameBenefits": "Внутрішньо-ігрові бонуси", "inGameBenefitsDesc": "Члени групи отримують ексклюзивного скакуна Кроленя, а також повні переваги підписки, включаючи спеціальні щомісячні набори спорядження та можливість купувати самоцвіти за золото.", "inspireYourParty": "Надихніть свою команду, живіть граючи.", @@ -417,5 +417,16 @@ "groupCouple": "Спільне виконання завдань", "groupManager": "Менеджер назначає завдання працівникам", "groupParentChildren": "Батьки розподіляють завдання між дітьми", - "sendGiftLabel": "Бажаєте надіслати повідомлення разом з подарунком?" + "sendGiftLabel": "Бажаєте надіслати повідомлення разом з подарунком?", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %> запроси(-в/ла) вас доєднатись до команди <%- party %>", + "startPartyDetail": "Створіть власну команду або приєднайтеся до вже існуючої,
щоб виконувати квести та підвищити свою мотивацію!", + "partyExceedsInvitesLimit": "Команда може мати не більше ніж <%= maxInvites %> запрошень у стані очікування.", + "lookForParty": "Шукати команду", + "currentlyLookingForParty": "Ви шукаєте команду!", + "sendTotal": "Загалом:", + "questWithOthers": "Проходьте квести з іншими гравцями", + "partyFinderDescription": "Хочете приєднатися до команди з іншими гравцями, але нікого не знаєте? Дайте лідеру знати, що ви шукаєте команду!", + "languageLabel": "Мова:", + "lookingForPartyTitle": "", + "noOneLooking": "На даний момент ніхто не шукає команду. Можете спробувати пізніше!" } diff --git a/website/common/locales/uk/limited.json b/website/common/locales/uk/limited.json index 2ef60ee177..2815adee67 100644 --- a/website/common/locales/uk/limited.json +++ b/website/common/locales/uk/limited.json @@ -148,7 +148,7 @@ "discountBundle": "комплект", "g1g1Announcement": "Акція \"Подаруй підписку - отримай підписку\" діє прямо зараз!", "g1g1Details": "Подаруйте підписку другу, і Ви отримаєте таку ж підписку безкоштовно!", - "g1g1Limitations": "Це обмежена подія, яка розпочнеться 6 грудня о 8:00 за європейським часом (13:00 UTC) і завершиться 6 січня о 20:00 за європейським часом (1:00 UTC). Ця акція застосовується лише тоді, коли Ви даруєте іншому жителю Habitica. Якщо Ви або Ваш одержувач подарунка вже маєте підписку, подарована підписка додасть місяці кредиту, який буде використаний лише після скасування або закінчення терміну дії поточної підписки.", + "g1g1Limitations": "Це обмежена подія, яка розпочнеться 5 грудня о 8:00 за європейським часом (13:00 UTC) і завершиться 8 січня о 23:59 за європейським часом (9 січня 04:59 UTC). Ця акція застосовується лише тоді, коли ви даруєте іншому жителю Habitica. Якщо ви або ваш одержувач подарунка вже маєте підписку, подарована підписка додасть місяці кредиту, який буде використаний лише після скасування або закінчення терміну дії поточної підписки.", "limitations": "Обмеження", "g1g1HowItWorks": "Введіть ім’я користувача облікового запису, якому ви хочете подарувати. Звідти виберіть додаткову довжину, яку ви хочете подарувати, і відмітьте. Ваш рахунок автоматично буде винагороджений тим самим рівнем передплати, який ви щойно подарували.", "howItWorks": "Як це робиться", @@ -232,5 +232,42 @@ "fall2022WatcherHealerSet": "Підглядач (цілитель)", "fall2022KappaRogueSet": "Каппа (розбійник)", "gemSaleHow": "У період від <%= eventStartOrdinal %> <%= eventStartMonth %> до <%= eventEndOrdinal %> просто придбайте будь-який набір самоцвітів, як зазвичай, і на ваш рахунок буде також зараховано їх акційну кількість. Більше дорогоцінних каменів, які можна витратити, поділитися чи зберегти для будь-яких майбутніх покупок!", - "gemSaleLimitations": "Ця акція діє лише протягом обмеженого часу. Ця подія починається <%= eventStartOrdinal %> <%= eventStartMonth %> о 15:00 за Києвом (12:00 UTC) і закінчиться <%= eventEndOrdinal %> <%= eventStartMonth %> о 03:00 за Києвом ( 00:00 UTC). Промо-акція діє тільки при покупці самоцвітів для себе." + "gemSaleLimitations": "Ця акція діє лише протягом обмеженого часу. Ця подія починається <%= eventStartOrdinal %> <%= eventStartMonth %> о 15:00 за Києвом (12:00 UTC) і закінчиться <%= eventEndOrdinal %> <%= eventStartMonth %> о 03:00 за Києвом ( 00:00 UTC). Промо-акція діє тільки при покупці самоцвітів для себе.", + "winter2023WalrusWarriorSet": "Морж (воїн)", + "winter2023FairyLightsMageSet": "Казкові вогні (маг)", + "winter2023CardinalHealerSet": "Кардинал (маг)", + "winter2023RibbonRogueSet": "Стрічка (розбійник)", + "twentyGems": "20 самоцвітів", + "dateStartFebruary": "8 лютого", + "anniversaryLimitedDates": "з 30 січня по 8 лютого", + "limitedEvent": "Тимчасова акція", + "limitedEdition": "Обмежене видання", + "buyNowMoneyButton": "Купити зараз за $9.99", + "buyNowGemsButton": "Купити зараз за 60 самоцвітів", + "wantToPayWithGemsText": "Бажаєте оплатити самоцвітами?", + "wantToPayWithMoneyText": "Хочете оплатити через Stripe, Paypal або Amazon?", + "takeMeToStable": "Перейти в хлів", + "visitTheMarketButton": "Відвідати ринок", + "dayOne": "Перший день", + "dayFive": "П'ятий день", + "birthdaySet": "Набір для святкування Дня народження", + "dayTen": "Десятий день", + "anniversaryLimitations": "Це обмежена за часом подія, яка розпочнеться 30 січня о 8:00 за східним часом (13:00 UTC) і завершиться 8 лютого о 23:59 за східним часом (04:59 за всесвітнім координованим часом). Протягом цього часу можна буде придбати обмежене видання Радісного Грифолиска і десять чарівних еліксирів для висиджування. Інші подарунки, перелічені в розділі «Чотири безкоштовно», будуть автоматично доставлені в усі облікові записи, які були активними протягом 30 днів до дня надсилання подарунка. Облікові записи, створені після надсилання подарунків, не зможуть отримати їх.", + "celebrateAnniversary": "Відсвяткуйте 10-й день народження Habitica з подарунками та ексклюзивними речами нижче!", + "celebrateBirthday": "Відсвяткуйте 10-й день народження Habitica з подарунками та ексклюзивними речами!", + "jubilantGryphatricePromo": "Анімований радісний грифолиск", + "anniversaryGryphatriceText": "Рідкісний радісний грифолиск приєднується до святкування дня народження! Не пропустіть свій шанс оволодіти цим ексклюзивним анімованим вихованцем.", + "anniversaryGryphatricePrice": "Отримайте його сьогодні за 9,99 доларів США або 60 самоцвітів", + "ownJubilantGryphatrice": "У вас є радісний грифолиск! Відвідайте хлів, щоб екіпірувати!", + "stableVisit": "Відвідайте хлів, щоб спорядити!", + "plentyOfPotions": "Багато пляшок зілля", + "fourForFree": "Чотири безкоштовно", + "jubilantSuccess": "Ви успішно придбали Радісного грифолиска!", + "plentyOfPotionsText": "Ми повертаємо 10 улюблених спільнотою магічних зіллів. Завітайте на Ринок, щоб поповнити свою колекцію!", + "fourForFreeText": "Щоб святкування продовжувалось, ми роздамо мантії для вечірок, 20 самоцвітів і особливий святковий фону до дня народження та набір предметів, який включає капрут, наплечники та маску для очей.", + "partyRobes": "Мантії для вечірок", + "spring2023CaterpillarRogueSet": "Гусениця (розбійник)", + "spring2023HummingbirdWarriorSet": "Колібрі (воїн)", + "spring2023MoonstoneMageSet": "Місячний камінь (маг)", + "spring2023LilyHealerSet": "Лілія (цілитель)" } diff --git a/website/common/locales/uk/npc.json b/website/common/locales/uk/npc.json index 500b437baa..703a7fa7ae 100644 --- a/website/common/locales/uk/npc.json +++ b/website/common/locales/uk/npc.json @@ -80,7 +80,7 @@ "newStuff": "Новини від Бейлі", "newBaileyUpdate": "Оновлення від Бейлі!", "tellMeLater": "Нагадати мені пізніше", - "dismissAlert": "Заховати Бейлі", + "dismissAlert": "Сховати новини", "donateText3": "Habitica — це проєкт з відкритим кодом, який залежить від підтримки наших користувачів. Гроші, які ви витрачаєте на самоцвіти, допомагають нам оплачувати роботу серверів, утримувати невеликий штат, розробляти нові функції та стимулювати наших добровольців", "card": "Платіжна карта", "paymentMethods": "Придбати за допомогою", @@ -133,5 +133,6 @@ "paymentCanceledDisputes": "Ми надіслали підтвердження скасування на Вашу електронну пошту. Якщо Ви не бачите електронного листа, зв’яжіться з нами, щоб запобігти майбутнім суперечкам щодо розрахунків.", "helpSupportHabitica": "Підтримайте Habitica", "groupsPaymentSubBilling": "Дата вашого наступного платежу <%= renewalDate %>.", - "groupsPaymentAutoRenew": "Ця підписка буде продовжуватись автоматично до тих пір, поки не буде відмінена. Якщо вам потрібно відмінити підписку, ви можете зробити це у вкладці \"груповий рахунок\"." + "groupsPaymentAutoRenew": "Ця підписка буде продовжуватись автоматично до тих пір, поки не буде відмінена. Якщо вам потрібно відмінити підписку, ви можете зробити це у вкладці \"груповий рахунок\".", + "sellItems": "Продати предмети" } diff --git a/website/common/locales/uk/overview.json b/website/common/locales/uk/overview.json index 955dabd358..697bf74ac1 100644 --- a/website/common/locales/uk/overview.json +++ b/website/common/locales/uk/overview.json @@ -5,6 +5,6 @@ "step2": "Крок 2: Отримуйте очки за виконання задач у реальному житті", "webStep2Text": "Тепер почніть виконувати свої цілі зі списку! Коли Ви виконуєте завдання і відмічаєте їх в Habitica, Ви отримуєте [Досвід](https://habitica.fandom.com/wiki/Experience_Points), що допомагає Вам підвищити рівень, та [Золото](https://habitica.fandom.com/wiki/Gold_Points), що дозволяє придбати нагороди. Якщо Ви піддаєтесь шкідливим звичкам або пропускаєте свої щоденні завдання, ви втрачаєте [Здоров'я](https://habitica.fandom.com/wiki/Health_Points). Таким чином, смуги досвіду та здоров'я у Habitica служать індикатором Вашого прогресу у досягненні Ваших цілей. Ви почнете бачити, як Ваше справжнє життя поліпшується, коли Ваш персонаж розвивається в грі.", "step3": "Крок 3: Налаштуйте та досліджуйте Habitica", - "webStep3Text": "Ознайомившись з основами, ви зможете отримати ще більше від Habitica за допомогою цих чудових функцій:\n * Організуйте свої завдання за допомогою [ярликів](https://habitica.fandom.com/wiki/Tags) (відредагуйте завдання, щоб додати їх).\n * Налаштуйте свій [Аватар](https://habitica.fandom.com/wiki/Avatar), натиснувши значок користувача у верхньому правому куті.\n * Купіть своє [Обладнання](https://habitica.fandom.com/wiki/Equipment) у розділі \"Нагороди\" або в [Магазинах](<%= shopUrl %>) і змініть його в розділі [Інвентар > Обладнання](<% = equipUrl %>).\n * Спілкуйтеся з іншими користувачами через [Таверну](https://habitica.fandom.com/wiki/Tavern).\n * Вилуплюйте [Тваринок](https://habitica.fandom.com/wiki/Pets), зібравши [Яйця](https://habitica.fandom.com/wiki/Eggs) і [Зілля](https:// habitica.fandom.com/wiki/Hatching_Potions). [Годуйте](https://habitica.fandom.com/wiki/Food), щоб створити [Скакунів](https://habitica.fandom.com/wiki/Mounts).\n * На рівні 10: виберіть конкретний [клас](https://habitica.fandom.com/wiki/Class_System), а потім скористайтеся спеціальними [навичками] (https://habitica.fandom.com/wiki/Skills) (рівні з 11 по 14).\n * Створіть команду зі своїми друзями (натиснувши [Команда](<%= partyUrl %>) на навігаційній панелі), щоб залишатися відповідальними і отримати сувій квесту.\n * Перемагайте монстрів і збирайте предмети під час [квестів](https://habitica.fandom.com/wiki/Quests) (Ви отримаєте перший квест на рівні 15).", + "webStep3Text": "Ознайомившись з основами, ви зможете отримати ще більше від Habitica за допомогою цих чудових функцій:\n * Організуйте свої завдання за допомогою [ярликів](https://habitica.fandom.com/wiki/Tags) (відредагуйте завдання, щоб додати їх).\n * Налаштуйте свій [Аватар](https://habitica.fandom.com/wiki/Avatar), натиснувши значок користувача у верхньому правому куті.\n * Купіть своє [Обладнання](https://habitica.fandom.com/wiki/Equipment) у розділі \"Нагороди\" або в [Магазинах](<%= shopUrl %>) і змініть його в розділі [Інвентар > Обладнання](<%= equipUrl %>).\n * Спілкуйтеся з іншими користувачами через [Таверну](https://habitica.fandom.com/wiki/Tavern).\n * Вилуплюйте [Тваринок](https://habitica.fandom.com/wiki/Pets), зібравши [Яйця](https://habitica.fandom.com/wiki/Eggs) і [Зілля](https:// habitica.fandom.com/wiki/Hatching_Potions). [Годуйте](https://habitica.fandom.com/wiki/Food), щоб створити [Скакунів](https://habitica.fandom.com/wiki/Mounts).\n * На рівні 10: виберіть конкретний [клас](https://habitica.fandom.com/wiki/Class_System), а потім скористайтеся спеціальними [навичками] (https://habitica.fandom.com/wiki/Skills) (рівні з 11 по 14).\n * Створіть команду зі своїми друзями (натиснувши [Команда](<%= partyUrl %>) на навігаційній панелі), щоб залишатися відповідальними і отримати сувій квесту.\n * Перемагайте монстрів і збирайте предмети під час [квестів](https://habitica.fandom.com/wiki/Quests) (Ви отримаєте перший квест на рівні 15).", "overviewQuestions": "Маєте запитання? Перегляньте [ЧаПи](<%= faqUrl %>)! Якщо Вашого запитання там немає, Ви можете звернутися за додатковою допомогою до [гільдії Habitica Help](<%= helpGuildUrl %>).\n\nУспіхів у виконанні завдань!" } diff --git a/website/common/locales/uk/pets.json b/website/common/locales/uk/pets.json index 5603f2beaf..5d2f9aee42 100644 --- a/website/common/locales/uk/pets.json +++ b/website/common/locales/uk/pets.json @@ -88,7 +88,7 @@ "mountsAndPetsReleased": "Верхові та домашні тварини відпущені на волю", "mountsReleased": "Верхові тварини звільнені", "welcomeStable": "Вітаємо в Хліву!", - "welcomeStableText": "Ласкаво просимо до Конюшні! Я Матвей, доглядач тварин. Кожного разу, коли Ви виконуєте завдання, Ви матимете шанс отримати яйце або інкубаційне зілля, щоб вивести тварину. Коли Ви вилупите вихованця, він з’явиться тут! Натисніть зображення домашнього улюбленця, щоб додати його до свого аватара. Годуйте їх знайденим кормом для домашніх тварин, і вони виростуть у сильних скакунів.", + "welcomeStableText": "Ласкаво просимо в Хлів! Я Матвей, доглядач тварин. Кожного разу, коли ви виконуєте завдання, ви матимете шанс отримати яйце або інкубаційне зілля, щоб вивести тварину. Коли Ви вилупите вихованця, він з’явиться тут! Натисніть зображення домашнього улюбленця, щоб додати його до свого аватара. Годуйте їх знайденим кормом для домашніх тварин, і вони виростуть у сильних скакунів.", "petLikeToEat": "Що їсть мій улюбленець?", "petLikeToEatText": "Улюбленці зростатимуть незалежно від того, чим Ви їх годуєте. Але це буде відбуватися швидше, якщо Ви годуватимете їх їжею, котра подобається їм найбільше. Експериментуйте з кормом або відвідайте
https://habitica.fandom.com/wiki/Food_Preferences", "filterByStandard": "Стандартні", @@ -113,5 +113,6 @@ "invalidAmount": "Недійсна кількість їжі, має бути цілим додатним числом", "notEnoughFood": "У Вас немає достатньо їжі", "gryphatrice": "Грифолиск", - "filterByWacky": "Дивакуваті" + "filterByWacky": "Дивакуваті", + "jubilantGryphatrice": "Радісний грифолиск" } diff --git a/website/common/locales/uk/quests.json b/website/common/locales/uk/quests.json index 6c97c80732..7a1aaeb5f2 100644 --- a/website/common/locales/uk/quests.json +++ b/website/common/locales/uk/quests.json @@ -8,7 +8,7 @@ "questDetailsTitle": "Подробиці квесту", "questDescription": "Квести допомагають гравцям фокусуватися на довготривалих внутрішньоігрових цілях разом із членами їх команди.", "invitations": "Запрошення", - "completed": "Виконано!", + "completed": "завершено!", "rewardsAllParticipants": "Нагороди для всіх учасників квесту", "rewardsQuestOwner": "Додаткові нагороди для лідера квесту", "inviteParty": "Запросити команду на квест", diff --git a/website/common/locales/uk/questscontent.json b/website/common/locales/uk/questscontent.json index 28d654cdf4..0b1bcc01f2 100644 --- a/website/common/locales/uk/questscontent.json +++ b/website/common/locales/uk/questscontent.json @@ -1,7 +1,7 @@ { "questEvilSantaText": "Санта-Мисливець", - "questEvilSantaNotes": "Ви чуєте агонізований рев глибоко в крижаних полях. Ви слідуєте за гарчанням, перерваним гудінням, - до галявини в лісі, де ви бачите повністю дорослого білого ведмедя. Він перебуває в клітках і в кайданах, бореться за своє життя. Танцює на верхній частині клітини злісний маленький чорт, одягнений у порваний костюм. Переможіть Санта-звіролова та рятуйте звіра!

Примітка : „Санта-звіролов” нагороджує досягнення, яке можна скласти, але дає рідкісне кріплення, яке можна додати до вашої стайні лише один раз.", - "questEvilSantaCompletion": "Санта-звіролов сердито кричить і тікає в ніч. Вдячна ведмедиця крізь рев і гарчання намагається вам щось сказати. Ви повертаєте її до стайні, де Матвей, доглядач тварин, слухає її розповідь, зітхнувши від жаху. У неї є дитинча! Воно втекло на крижані поля, коли маму-ведмедицю схопили.", + "questEvilSantaNotes": "Ви чуєте агонізований рев глибоко в крижаних полях. Ви слідуєте за гарчанням, перерваним гудінням, - до галявини в лісі, де ви бачите повністю дорослого білого ведмедя. Він перебуває в клітках і в кайданах, бореться за своє життя. Танцює на верхній частині клітини злісний маленький чорт, одягнений у порваний костюм. Переможіть Санту-звіролова та врятуйте звіра!

Примітка : „Санта-звіролов” нагороджує досягнення, яке можна скласти, але дає рідкісне кріплення, яке можна додати до вашої стайні лише один раз.", + "questEvilSantaCompletion": "Санта-звіролов сердито кричить і тікає в ніч. Вдячна ведмедиця крізь рев і гарчання намагається вам щось сказати. Ви повертаєте її до хліву, де Матвей, доглядач тварин, слухає її розповідь, зітхнувши від жаху. У неї є дитинча! Воно втекло на крижані поля, коли маму-ведмедицю схопили.", "questEvilSantaBoss": "Санта Звіролов", "questEvilSantaDropBearCubPolarMount": "Білий ведмідь (скакун)", "questEvilSanta2Text": "Знайти дитинча", @@ -18,7 +18,7 @@ "questGryphonUnlockText": "Відкриває покупні яйця грифона на ринку", "questHedgehogText": "Тинозвір", "questHedgehogNotes": "Їжаки - веселі тваринки. Вони є одними з найбільш ласкавих домашніх улюбленців, які можуть бути у габітиканців. Але подейкують, якщо погодувати їх молоком після опівночі, вони стають досить дратівливими. І в п’ятдесят разів більшими. На жаль, InspectorCaracal зробив саме це. Ой-йой.", - "questHedgehogCompletion": "Ваш гурт успішно заспокоїв Їжачиху! Вона зменшилася до нормального розміру та пошкутильгала до своїх яєць. Вона щось пищить та викочує деякі свої яйця до Вашого гурту. Будемо сподіватися, що ці їжачки полюблять молочко!", + "questHedgehogCompletion": "Ваша команда успішно заспокоїла Їжачиху! Вона зменшилася до нормального розміру та пошкутильгала до своїх яєць. Вона щось пищить та викочує деякі свої яйця до вашої команди. Будемо сподіватися, що ці їжачки полюблять молочко!", "questHedgehogBoss": "Тинозвір", "questHedgehogDropHedgehogEgg": "Яйце з їжаком", "questHedgehogUnlockText": "Розблоковує придбання на ринку яєць з їжаком", @@ -117,23 +117,23 @@ "questBasilistCompletion": "Спискозмій розсипався на папірці всіх кольорів веселки. \"Вау!\" каже @Arcosine. — Добре, що ви були тут!\" Відчуваючи себе більш досвідченим, ніж раніше, ви знаходите трохи золота серед паперів.", "questBasilistBoss": "Спискозмій", "questEggHuntText": "Яйцелови", - "questEggHuntNotes": "За ніч дивні яйця з’явилися скрізь: у стайні у Матвея, за прилавком у таверні і навіть серед яєць домашніх тварин на Ринку! Яка неприємність! \"Ніхто не знає, звідки вони з'явилися і що з них може вилупитися, - каже Меган, - але ми не можемо просто залишити їх валятися ось так! Наполегливо працюйте і шукайте, щоб допомогти мені зібрати ці таємничі яйця. Можливо, якщо Ви зберете достатньо, то щось знайдеться і для Вас...\"", + "questEggHuntNotes": "За ніч дивні яйця з’явилися скрізь: в хліву у Матвея, за прилавком у таверні і навіть серед яєць домашніх тварин на Ринку! Яка неприємність! \"Ніхто не знає, звідки вони з'явилися і що з них може вилупитися, - каже Меган, - але ми не можемо просто залишити їх валятися ось так! Наполегливо працюйте і шукайте, щоб допомогти мені зібрати ці таємничі яйця. Можливо, якщо Ви зберете достатньо, то щось знайдеться і для Вас...\"", "questEggHuntCompletion": "Ви зробили це! На знак подяки Меган дарує вам десять яєць. «Б’юся об заклад, що зілля вилуплення пофарбує їх у прекрасні кольори! І мені цікаво, що станеться, коли вони перетворяться на верхових тварин…»", "questEggHuntCollectPlainEgg": "Прості яйця", "questEggHuntDropPlainEgg": "Просте яйце", "questDilatoryText": "Жахливий Драк'он Некваптиди", - "questDilatoryNotes": "", + "questDilatoryNotes": "Нам слід було прислухатися до попереджень.

Темні блискучі очі. Древня луска. Масивні щелепи та блискучі зуби. Ми пробудили щось жахливе з тріщини: Жахливий Драк'он Некваптиди! Габітиканці з криком розбіглися навсібіч, коли він вирвався з моря, його жахливо довга шия висунулася на сотні метрів з води, розбиваючи шибки на вікнах одним тільки риком.

\"Мабуть, це те, що затягнуло Некваптиду!\" - кричить Lemoness. «Це не вага занедбаних завдань — червоні щоденки просто привернули його увагу!»

«Він сповнений магічної енергії!» @Baconsaur плаче. «Щоб прожити стільки часу, воно повинно мати можливість самовідновитися! Як ми можемо його перемогти?»

Так само, як ми перемагаємо всіх звірів — продуктивністю! Швидше, Габітико, об’єднуйся та виконуй свої завдання, і ми всі разом битимемося з цим монстром. (Немає потреби відмовлятися від попередніх квестів — ми віримо у вашу здатність завдавати подвійних ударів!) Він не атакуватиме нас окремо, але чим більше щоденок ми пропускаємо, тим ближче ми наближаємось до того, щоб спрацьовував його Удар Занехаяння — і мені анітрохи не подобається, як він дивиться на нашу Таверну....", "questDilatoryBoss": "Жахливий Драк'он Некваптиди", "questDilatoryBossRageTitle": "Удар Занехаяння", "questDilatoryBossRageDescription": "Коли ця смужка заповниться, Жахливий Драк'он Некваптиди розпочне в Габітиці великі руйнування", "questDilatoryDropMantisShrimpPet": "Рак-богомол (улюбленець)", "questDilatoryDropMantisShrimpMount": "Рак-богомол (скакун)", "questDilatoryBossRageTavern": "\"Жахливий Драк'он застосовує УДАР ЗАНЕХАЯННЯ!\"\n\nОй-ой! Незважаючи на всі наші зусилля, ми проґавили деякі щоденні справи і їхній темно-червоний колір накликав лють Драк'она! Своїм страшним Ударом Занехаяння він знищив Таверну! На щастя, у місті неподалік ми поставили Господу і завжди можна потеревенити на узбережжі... але бідолашний Бармен Даніель на власні очі побачив, як його улюблений будинок розвалився!\n\nСподіваюся, що звірюка не нападе знову!", - "questDilatoryBossRageStables": "\"Жахливий Драк'он застосовує УДАР ЗАНЕХАЯННЯ!\"\n\nОй, лишенько! Знову ми недоробили багато завдань. Драк'он спрямував свій УДАР ЗАНЕХАЯННЯ на Митька та його стайні! Тваринки-вихованці порозбігалися навсебіч. На щастя, усі ваші улюбленці, здається, у порядку!\n\nБідолашна Габітика! Сподіваюсь, такого більше не станеться. Покваптеся та виконайте усі свої завдання!", + "questDilatoryBossRageStables": "\"Жахливий Драк'он застосовує УДАР ЗАНЕХАЯННЯ!\"\n\nОй, лишенько! Знову ми недоробили багато завдань. Драк'он спрямував свій УДАР ЗАНЕХАЯННЯ на хліви Матвея! Тваринки-вихованці порозбігалися навсебіч. На щастя, з усіма вашими улюбленцями, здається, все гаразд!\n\nБідолашна Габітика! Сподіваюсь, такого більше не станеться. Покваптеся та виконайте усі свої завдання!", "questDilatoryBossRageMarket": "`Жахливий Драк'он застосовує УДАР ЗАНЕХАЯННЯ!`\n\nОоой!! Щойно Драк'он Ударом Занехаяння вщент розбив крамницю Торговця Алекса! Та, здається, ми добряче знесилили цю тварюку. Гадаю, він не має більше сил на ще один удар.\n\nТож не відступай, Габітико! Проженімо цього звіра геть з наших берегів!", "questDilatoryCompletion": "\"Подолання Жахливого Драк'она Некваптиди\"\n\nНам вдалося! Заревівши востаннє, Жахливий Драк'он падає та пливе ген далеко-далеко. На березі вишикувалися натовпи втішених габітиканців! Ми допомогли Митькові, Даніелю та Алексу відбудувати їхні будинки. Але що це?\n\n\"Мешканці повертаються!\"\n\nТепер, коли Драк'он утік, море замерехтіло кольорами. Це різнобарвний рій раків-богомолів... а серед них — сотні морських істот!\n\n\"Ми — забуті жителі Некваптиди!\", — пояснює їхній ватажок Манта. \"Коли Некваптида затонула, раки-богомоли, які жили у цих водах, з допомогою чарів перетворили нас на водяників, щоб ми змогли вижити. Але лютий Жахливий Драк'он усіх нас запроторив до темної ущелини. Ми сотні років сиділи у тому полоні, та тепер нарешті можемо відбудувати своє місто!\"\n\n\"Як подяку,\" — каже його друг @Ottl, — \"Прийміть, будь ласка, цього рака-богомола та рака-богомола скакуна, а також досвід, золото та нашу безмежну вдячність.\"\n\n\"Нагороди\"\n * Рак-богомол улюбленець\n * Рак-богомол скакун\n * Шоколад, блакитна цукрова вата, рожева цукрова вата, риба, мед, м'ясо, молоко, картопля, тухле м'ясо, полуниця", "questSeahorseText": "Перегони у Некваптиді", - "questSeahorseNotes": "Сьогодні - День перегонів. До Некваптиди прибули габітиканці з усього континенту, щоб влаштувати перегони на своїх морських кониках! Зненацька на біговій доріжці зчиняється шум та гамір і ви чуєте, як власниця морських коників @Kiwibot перекрикує рев хвиль. \"Зібрання морських коників привернуло увагу шаленого Морського жеребця!\" — гукає вона. \"Він поривається через стайні і нищить старовинну дорогу для бігу! Чи може хтось його вгамувати?\"", + "questSeahorseNotes": "Сьогодні - День перегонів. До Некваптиди прибули габітиканці з усього континенту, щоб влаштувати перегони на своїх морських кониках! Зненацька на біговій доріжці зчиняється шум та гамір і ви чуєте, як власниця морських коників @Kiwibot перекрикує рев хвиль. \"Зібрання морських коників привернуло увагу шаленого Морського жеребця!\" — гукає вона. \"Він поривається через хліви і нищить старовинну дорогу для бігу! Чи може хтось його вгамувати?\"", "questSeahorseCompletion": "Приборканий морський жеребець покірно підпливає до вас. \"Поглянь!\" — каже Kiwibot. \"Він хоче, щоб ми подбали про його діток.\" Він дає вам три яйця. \"Виростіть їх як слід,\" — каже Kiwibot. \"Приходьте на перегони коли забажаєте!\"", "questSeahorseBoss": "Морський жеребець", "questSeahorseDropSeahorseEgg": "Яйце морського коника", @@ -155,25 +155,25 @@ "questAtom3Boss": "Білизномант", "questAtom3DropPotion": "Звичайний інкубаційний еліксир", "questOwlText": "Нічна Сова", - "questOwlNotes": "", - "questOwlCompletion": "", + "questOwlNotes": "Світло в таверні горить до світанку
Поки напередодні сяйво не зникне!
Як ми можемо бачити наших всеношних відвідувачів?
@Судомні крики: «Мені потрібні бійці!
Бачите цю нічну сову, зоряного ворога?
Бийтеся швидше і не баріться!
Разом ми відженемо її тінь від наших дверей,
І зробимо ніч яскравою ще раз!»", + "questOwlCompletion": "Сова зникає перед світанком,
Але все одно ви чуєте позіхання.
Можливо, час трохи відпочити?
Та на вашому ліжку ви бачите гніздо!
Нічна Сова знає, що було б добре
Закінчити роботу й не спати допізна,
Але ваші нові домашні тварини будуть тихенько пищати
Щоб сповістити вас, коли час спати.", "questOwlBoss": "Нічна Сова", "questOwlDropOwlEgg": "Яйце сови", "questOwlUnlockText": "Розблоковує купівлю сови в яйці на ринку", "questPenguinText": "Морозні птахи", - "questPenguinNotes": "", - "questPenguinCompletion": "", + "questPenguinNotes": "Хоча зараз спекотний літній день на найпівденнішій частині Габітики, на озеро Лайвлі панує неприродний холод. Сильні, холодні вітри мчать навколо, коли берег починає замерзати. Крижані шипи стирчать із землі, відштовхуючи траву та бруд. @Melynnrose і @Breadstrings підбігають до вас. \"Допоможіть!\" каже @Melynnrose. «Ми привезли гігантського пінгвіна, щоб він заморозив озеро, щоб ми всі могли покататися на ковзанах, але у нас забракло риби, щоб його нагодувати!» «Він розлютився і використовує своє морозне дихання на все, що бачить !\" каже @Breadstrings. «Будь ласка, ви повинні приборкати його, поки ми всі не вкрилися льодом!» Здається, вам потрібен цей пінгвін, щоб... охолонути.", + "questPenguinCompletion": "Після поразки пінгвіна лід тане. Гігантський пінгвін сідає на сонечко, випиваючи додаткове відро риби, яку ви знайшли. Він катається на ковзанах по озеру, м’яко дмухаючи вниз, утворюючи гладкий блискучий лід. Який дивний птах! «Здається, він також залишив кілька яєць», — каже @Painter de Cluster. @Rattify сміється. «Може, цим пінгвінам буде трохи більше... холодно?»", "questPenguinBoss": "Морозяний пінгвін", "questPenguinDropPenguinEgg": "Яйце пінгвіна", "questPenguinUnlockText": "Розблоковує купівлю пінгвіна в яйці на ринку", - "questStressbeastText": "", + "questStressbeastText": "Огидний Cтресозвір степів Залишспокою", "questStressbeastNotes": "", - "questStressbeastBoss": "", + "questStressbeastBoss": "Огидний Стресозвір", "questStressbeastBossRageTitle": "Стресова Забастовка", - "questStressbeastBossRageDescription": "", + "questStressbeastBossRageDescription": "Коли ця шкала заповниться, Огидний Стресозвір завдасть Стресового Удару по Габітіці!", "questStressbeastDropMammothPet": "Мамонт (улюбленець)", "questStressbeastDropMammothMount": "Мамонт (скакун)", - "questStressbeastBossRageStables": "", + "questStressbeastBossRageStables": "`Огидний Стресозвір використовує СТРЕСОВИЙ УДАР!`\n\nСплеск стресу зцілює Огидного Стресозвіра!\n\nО ні! Незважаючи на всі наші зусилля, ми дозволили деяким щоденкам проскочити повз нас, і їхній темно-червоний колір розлютив Огидного Стресозвіра чи допоміг йому відновити частину свого здоров’я! Жахлива істота кидається до стайні, але Метт, доглядач тварин, героїчно кидається в бій, щоб захистити домашніх та верхових тварин. Стресозвір схопив Метта у свої жорстокі лещата, але принаймні він відволікся на деякий час. Поспішімо! Давайте тримати наші щоденники під жорсткішим контролем і переможемо цього монстра, перш ніж він атакує знову!", "questStressbeastBossRageBailey": "", "questStressbeastBossRageGuide": "", "questStressbeastDesperation": "", @@ -193,17 +193,17 @@ "questTRexDropTRexEgg": "Яйце тиранозавра", "questTRexUnlockText": "Розблоковує купівлю тиранозавра в яйці на ринку", "questRockText": "Втеча з печери істоти", - "questRockNotes": "", + "questRockNotes": "Перетинаючи Звивисті Гори Габітики з друзями, ви вночі розташуєте табір у прекрасній печері, прикрашеній сяючими мінералами. Але коли ви прокидаєтеся наступного ранку, вхід зникає, а підлога печери зсувається під вами. \"Гора жива!\" кричить ваш супутник @pfeffernusse. «Це не кристали – це зуби!» @Painter de Cluster хапає вас за руку. «Нам доведеться шукати інший вихід — залишайся зі мною і не відволікайся, інакше ми можемо залишитися тут у пастці назавжди!»", "questRockBoss": "", - "questRockCompletion": "", + "questRockCompletion": "Ваша старанність дозволила вам знайти безпечний шлях через живу гору. Стоячи на сонці, ваш друг @intune помічає щось, що блищить на землі біля виходу з печери. Ви нахиляєтеся, щоб підняти його, і бачите, що це маленький камінь із золотою жилкою, що проходить через нього. Поряд з ним є ряд інших скель досить своєрідної форми. Вони майже схожі на... яйця?", "questRockDropRockEgg": "Яйце з каменем", "questRockUnlockText": "Розблоковує купівлю каменю в яйці на ринку", "questBunnyText": "Кролик-вбивця", - "questBunnyNotes": "", + "questBunnyNotes": "Після багатьох важких днів ви досягаєте вершини гори Прокрастинація і стоїте перед вражаючими дверима Фортеці Недбалості. Ви читаєте напис на камені. «Всередині мешкає істота, яка втілює ваші найбільші страхи, причину вашої бездіяльності. Стукайте і зіткніться зі своїм демоном!» Ви тремтите, уявляючи жах всередині, і відчуваєте бажання втекти, як робили це багато разів раніше. @Draayder стримує вас. «Спокійно, друже! Нарешті настав час. Ти повинен це зробити!»

Ви стукаєте, і двері відкриваються всередину. З темряви ви чуєте оглушливий гуркіт і вихоплюєте зброю.", "questBunnyBoss": "Вбивця Кролик", - "questBunnyCompletion": "", - "questBunnyDropBunnyEgg": "Яйце кролика", - "questBunnyUnlockText": "Розблоковує купівлю зайця в яйці на ринку", + "questBunnyCompletion": "З одним останнім ударом кролик-вбивця падає на землю. Іскристий туман піднімається з її тіла, коли вона зменшується в крихітного кролика... зовсім не схожого на жорстокого звіра, з яким ви зіткнулись мить тому. Її ніс чарівно смикається, і вона стрибає геть, залишаючи позаду себе кілька яєць. @Gully сміється. «Гора Прокрастинації має спосіб зробити навіть найменші виклики нездоланними. Давайте зберемо ці яйця та вирушаємо додому».", + "questBunnyDropBunnyEgg": "Яйце з кроликом", + "questBunnyUnlockText": "Розблоковує купівлю яєць з кроликом на ринку", "questSlimeText": "Желейний регент", "questSlimeNotes": "Працюючи над своїми завданнями, ви помічаєте, що рухаєтеся все повільніше та повільніше. «Це як йти крізь болото», — бурчить @Leephon. \"Ні, як йти крізь желе!\" каже @starsystemic. «Цей слизький Желейний регент залишив свої липкі сліди по всій Габітиці. Це зупиняє роботу. Усі сповільнюються». Ви подивились навколо. Вулиці повільно наповнюються прозорим різнокольоровим мулом, і мешканці з усіх сил намагаються щось зробити. Коли інші тікають із зони, ви берете швабру та готуєтеся до бою!", "questSlimeBoss": "Желейний регент", @@ -225,7 +225,7 @@ "questWhaleText": "Стогін кита", "questWhaleNotes": "Ви прибуваєте в Diligent Docks, сподіваючись сісти на підводний човен, щоб подивитися Некваптидське дербі. Раптом оглушливий стогін змушує вас зупинитися й затулити вуха. \"Так вона голосить!\" — кричить капітан @krazjega, вказуючи на величезного кита, що ридає. «Небезпечно відправляти підводні човни, поки вона там!»

«Швидко», закликає @UncommonCriminal. «Допоможи мені заспокоїти бідолашну істоту, щоб ми могли зрозуміти, чому вона так шумить!»", "questWhaleBoss": "Плач Кита", - "questWhaleCompletion": "Після важкої праці кит нарешті припинила свій громовий рев. «Схоже, вона потонула у хвилях негативних звичок», — пояснює @zoebeagle. «Завдяки вашим послідовним зусиллям ми змогли переламати ситуацію!» Коли ви входите в підводний човен, кілька китових яєць підкочуються до вас, і ви їх підіймаєте.", + "questWhaleCompletion": "Після важкої праці кит нарешті припинила свій громовий стогін. «Схоже, вона потонула у морі негативних звичок», — пояснює @zoebeagle. «Завдяки вашим послідовним зусиллям ми змогли переламати ситуацію!» Коли ви входите в підводний човен, кілька яєць з китом підкочуються до вас, і ви їх підіймаєте.", "questWhaleDropWhaleEgg": "Яйце з китом", "questWhaleUnlockText": "Розблоковує купівлю на ринку яєць з китом", "questGroupDilatoryDistress": "Біда у Некваптиді", @@ -276,11 +276,11 @@ "questBurnoutBossRageQuests": "", "questBurnoutBossRageSeasonalShop": "", "questBurnoutBossRageTavern": "", - "questFrogText": "", + "questFrogText": "Болото Жабок Безладу", "questFrogNotes": "", "questFrogCompletion": "", - "questFrogBoss": "", - "questFrogDropFrogEgg": "", + "questFrogBoss": "Жабка Безладу", + "questFrogDropFrogEgg": "Яйце з жабеням", "questFrogUnlockText": "Розблоковує жаб’ячі яйця для придбання на ринку", "questSnakeText": "Змія зволікання", "questSnakeNotes": "", @@ -306,11 +306,11 @@ "questMonkeyBoss": "Жахливий мандрил", "questMonkeyDropMonkeyEgg": "Яйце мавпи", "questMonkeyUnlockText": "Розблоковує мавпячі яйця для придбання на ринку", - "questSnailText": "", + "questSnailText": "Равлик важкої роботи", "questSnailNotes": "", "questSnailCompletion": "", - "questSnailBoss": "", - "questSnailDropSnailEgg": "", + "questSnailBoss": "Равлик важкої роботи", + "questSnailDropSnailEgg": "Яйце з равликом", "questSnailUnlockText": "Відкриває яйця равликів для придбання на ринку", "questBewilderText": "", "questBewilderNotes": "", @@ -323,12 +323,12 @@ "questBewilderBossRageMarket": "", "questBewilderBossRageStables": "", "questBewilderBossRageBailey": "", - "questFalconText": "", - "questFalconNotes": "Гора Габітика затьмарюється нависаючою горою справ. Раніше це було місце для пікніка та насолоди почуттям досягнутого, поки занедбані завдання не вийшли з-під контролю. Зараз тут мешкають страшні Птахи Прокрастинації, нечисті істоти, які заважають жителям Габітану виконувати свої завдання!

\"Це занадто важко!\" вони переймаються @JonArinbjorn та @Onheiron. \"Це займе занадто багато часу зараз! Це не зробить ніякої різниці, якщо ви почекаєте до завтра! Чому б вам не зробити щось цікаве замість цього?\"

Більше, обітницю. Ви підніметеся на свою особисту гору завдань і переможете Птахів Прокрастинації!", - "questFalconCompletion": "", - "questFalconBoss": "", - "questFalconDropFalconEgg": "Яйце сокола", - "questFalconUnlockText": "Розблоковує купівлю сокола в яйці на ринку", + "questFalconText": "Птахи прокрастинації", + "questFalconNotes": "Гора Габітика затьмарюється нависаючою горою справ. Раніше це було місце для пікніка та насолоди почуттям досягнутого, поки занедбані завдання не вийшли з-під контролю. Зараз тут мешкають страшні Птахи Прокрастинації, нечисті істоти, які заважають жителям Габітики виконувати свої завдання!

\"Це занадто важко!\" вони переймаються @JonArinbjorn та @Onheiron. \"Це займе занадто багато часу зараз! Це не зробить ніякої різниці, якщо ви почекаєте до завтра! Чому б вам не зробити щось цікаве замість цього?\"

Більше, обітницю. Ви підніметеся на свою особисту гору завдань і переможете Птахів Прокрастинації!", + "questFalconCompletion": "Перемігши нарешті хижих птахів, ви сідаєте, щоб насолодитися краєвидом і заслуженим відпочинком.

\"Вау!\" каже @Trogdorina. «Ви виграли!»

@Squish додає: «Візьми в нагороду ці яйця, які я знайшов».", + "questFalconBoss": "Птахи прокрастинації", + "questFalconDropFalconEgg": "Яйце з соколом", + "questFalconUnlockText": "Розблоковує купівлю на ринку яєць з соколом", "questTreelingText": "Заплутане дерево", "questTreelingNotes": "", "questTreelingCompletion": "", @@ -424,15 +424,15 @@ "questSlothBoss": "Заколисливий лінивець", "questSlothDropSlothEgg": "Яйце з лінивцем", "questSlothUnlockText": "Розблоковує купівлю яєць з лінивцем на ринку", - "questTriceratopsText": "", + "questTriceratopsText": "Топчучий трицератопс", "questTriceratopsNotes": "", "questTriceratopsCompletion": "", - "questTriceratopsBoss": "", + "questTriceratopsBoss": "Топчучий трицератопс", "questTriceratopsDropTriceratopsEgg": "Яйце з трицератопсом", "questTriceratopsUnlockText": "Розблоковує купівлю на ринку яєць з трицератопсом", "questGroupStoikalmCalamity": "Лихо Залишспокою", "questStoikalmCalamity1Text": "Лихо Залишспокою (частина 1): Земляні вороги", - "questStoikalmCalamity1Notes": "", + "questStoikalmCalamity1Notes": "Лаконічний лист надходить від @Kiwibot, і від покритого морозом сувою холоне серце й кінчики пальців. «Степи Залишспокою — чудовиська, що вириваються із землі — потрібна допомога!» Ви збираєте свою команду і вирушаєте на північ, але щойно ви наважуєтеся спуститися з гір, сніг під вашими ногами вибухає, і вас оточують жахливо усміхнені черепи!

Раптом повз пролітає спис, який влучає в череп, який підкрадався крізь сніг, намагаючись застати вас зненацька. Висока жінка у витончених обладунках скаче в бій на спині мастодонта, її довга коса розгойдується, коли вона безцеремонно вириває спис із розчавленого чудовиська. Настав час дати відсіч цим ворогам разом з леді Льодовик, лідеркою Мамонтових Вершників!", "questStoikalmCalamity1Completion": "", "questStoikalmCalamity1Boss": "Рій земляних черепів", "questStoikalmCalamity1RageTitle": "Відродження рою", @@ -449,21 +449,21 @@ "questStoikalmCalamity3Text": "Лихо Залишспокою (частина 3): Землетрус льодяного дрейка", "questStoikalmCalamity3Notes": "", "questStoikalmCalamity3Completion": "", - "questStoikalmCalamity3Boss": "", + "questStoikalmCalamity3Boss": "Королева льодяних дрейків", "questStoikalmCalamity3DropBlueCottonCandy": "Синя цукрова кулька (їжа)", - "questStoikalmCalamity3DropShield": "", - "questStoikalmCalamity3DropWeapon": "", + "questStoikalmCalamity3DropShield": "Ріг вершника мамонта (ліва рука)", + "questStoikalmCalamity3DropWeapon": "Спис вершника мамонта (зброя)", "questGuineaPigText": "Банда морських свинок", - "questGuineaPigNotes": "", - "questGuineaPigCompletion": "", + "questGuineaPigNotes": "Ви бродите знаменитим ринком Габіт-сіті, як раптом @Pandah махає вам рукою. \"Гей, заціни-но це!\" Він вказує на коричнево-бежеве яйце, якого ви ніколи раніше не бачили.

Купець Alexander хмуриться на нього. «Я не пам’ятаю, щоб викладав таке тут. Цікаво, звідки воно взялося...» Маленька лапа перервала його роздуми.

«Жени все твоє золото, купець!» — пищить тоненький голосок, наповнений злом.

\"О ні, яйце було приманкою!\" — вигукує @mewrose. «Це жорстока і жадібна банда морських свинок! Вони ніколи не виконують щоденок, тому постійно крадуть золото, щоб купити лікувальні зілля».

«Пограбування ринку?» каже @emmavig. — Тільки не в мою зміну! Без додаткових підказок ви стрибаєте на допомогу купцю Alexander.", + "questGuineaPigCompletion": "«Ми здаємось!» Бос банди морських свинок підіймає лапки, а пухнаста голова опускається від сорому. З-під його капелюха випадає список, і @snazzyorange швидко підбирає його для доказів. «Почекай хвилинку», — кажете ви. «Це не дивно, що вам так важко розвиватись! У вас забагато щоденок. Вам не потрібні зілля для здоров’я — вам потрібна лише допомога в організації».

«Справді?» — пищить бос банди морських свинок. «Ми пограбували стільки людей через це! Будь ласка, прийміть наші яйця як вибачення за наші лихі справи».", "questGuineaPigBoss": "Банда морських свинок", - "questGuineaPigDropGuineaPigEgg": "Яйце морської свинки", + "questGuineaPigDropGuineaPigEgg": "Яйце з морською свинкою", "questGuineaPigUnlockText": "Розблоковує купівлю морської свинки в яйці на ринку", - "questPeacockText": "", - "questPeacockNotes": "", + "questPeacockText": "Павич Тягни-Штовхай", + "questPeacockNotes": "Ви мандруєте Завданялісом, роздумуючи, яку з привабливих нових цілей вибрати. Заглиблюючись у ліс, розумієш, що не самотній у своїй нерішучості. \"Я могла б вивчити нову мову або піти в спортзал...\", - бурмоче @Cecily Perez. «Я могла б більше спати, — міркує @Lilith of Alfheim, — або проводити час з друзями…» Схоже, @PainterProphet, @Pfeffernusse та @Draayder однаково паралізовані величезною кількістю можливостей. Ви розумієте, що ці дедалі вимогливіші почуття насправді не є вашими власними... ви потрапили просто в пастку згубного Павича, що штовхає і тягне! Перш ніж ви встигнете втекти, воно вистрибує з кущів. Коли кожна голова тягне вас у протилежних напрямках, ви починаєте відчувати, як вас охоплює виснаження. Ви не можете перемогти обох ворогів одночасно, тому у вас є лише один варіант — зосередитися на найближчому завданні, щоб дати відсіч!", "questPeacockCompletion": "", - "questPeacockBoss": "", - "questPeacockDropPeacockEgg": "", + "questPeacockBoss": "Павич Тягни-Штовхай", + "questPeacockDropPeacockEgg": "Яйце з павичем", "questPeacockUnlockText": "Розблоковує купівлю павича в яйці на ринку", "questButterflyText": "Бувай-бувай, метелику", "questButterflyNotes": "Ваша подруга-садівник @Megan надсилає вам запрошення: «Ці теплі дні — ідеальний час, щоб відвідати Сад метеликів Габітики в селищі Завданяївка. Приходьте подивитися на міграцію метеликів!» Коли ви приїжджаєте, то бачите, що сад у руїнах — зосталась тільки випалена трава та висохлі бур’яни. Було так спекотно, що габітиканці не вийшли полити квіти, а темно-червоні щоденки перетворили його на сухе, напечене сонцем і пожежонебезпечне місце. Там літає лише один метелик, і щось у ньому дивне...

«О ні! Це ідеальне місце для вилуплення Палаючого метелика», — кричить @Leephon.

«Якщо ми не спіймаємо його, він знищить усе!» задихається @Eevachu.

Час сказати \"Бувай\" цьому метелику!", @@ -471,31 +471,31 @@ "questButterflyBoss": "Палаючий метелик", "questButterflyDropButterflyEgg": "Яйце з гусінню", "questButterflyUnlockText": "Розблоковує купівлю яєць з гусінню на ринку", - "questGroupMayhemMistiflying": "", - "questMayhemMistiflying1Text": "", - "questMayhemMistiflying1Notes": "", - "questMayhemMistiflying1Completion": "", + "questGroupMayhemMistiflying": "Хаос у Хмарополі", + "questMayhemMistiflying1Text": "Хаос у Хмарополі (частина 1): В якій Хмаропіль переживає страшенні турботи", + "questMayhemMistiflying1Notes": "Незважаючи на те, що місцеві віщуни передбачили гарну погоду, день був дуже вітряним, тому ви з вдячністю слідуєте за своєю подругою @Kiwibot до її будинку, щоб сховатись від цього штормового дня.

Ніхто з вас не очікував побачити Першоквітня за кухонним столом. .

«О, привіт», — каже він. «Радий бачити вас тут. Будь ласка, дозвольте мені запропонувати вам трохи цього смачного чаю».

«Це…», — починає @Kiwibot. «.. мій чай...»

«Так, так, звичайно», — каже Першоквітень, частуючись печивом. «Я просто подумав заскочити в будинок і взяти трохи відстрочки від усіх черепів, що викликають торнадо». Він невимушено робить ковток зі своєї чашки. «Між іншим, місто Хмаропіль зараз під їх атакою».

З жахом ви та ваші друзі біжите до Хліва та сідлаєте своїх найшвидших крилатих тварин. Злітаючи до летючого міста, ви бачите, що рій балакучих літаючих черепів облягає місто… і кілька з них помічають вас!", + "questMayhemMistiflying1Completion": "Останній череп падає з неба, мерехтливий набір райдужних мантій стиснутий у його щелепах, але постійний вітер все не вщухає. Тут відбувається щось ще. А де той розхлябаний Першоквітень? Ви берете мантію, а потім летите в місто.", "questMayhemMistiflying1Boss": "Рій повітряних черепів", "questMayhemMistiflying1RageTitle": "Відродження рою", "questMayhemMistiflying1RageDescription": "Відродження рою: ця шкала росте, коли ви не завершуєте свої щоденні завдання. Коли вона заповнюється, рій повітряних черепів відновить 30% здоров’я до того, що залишилося!", "questMayhemMistiflying1RageEffect": "`Рій повітряних черепів використовує ВІДРОДЖЕННЯ РОЮ!`\n\nПідбадьорені своїми перемогами, ще більше черепів вилітає з хмар!", - "questMayhemMistiflying1DropSkeletonPotion": "", - "questMayhemMistiflying1DropWhitePotion": "", - "questMayhemMistiflying1DropArmor": "", - "questMayhemMistiflying2Text": "", + "questMayhemMistiflying1DropSkeletonPotion": "Кістяний еліксир вилуплення", + "questMayhemMistiflying1DropWhitePotion": "Білий еліксир вилуплення", + "questMayhemMistiflying1DropArmor": "Пустотливий веселковий халат посланця (броня)", + "questMayhemMistiflying2Text": "Хаос у Хмарополі (частина 2): В якій вітер посилюється", "questMayhemMistiflying2Notes": "", "questMayhemMistiflying2Completion": "", - "questMayhemMistiflying2CollectRedMistiflies": "", - "questMayhemMistiflying2CollectBlueMistiflies": "", - "questMayhemMistiflying2CollectGreenMistiflies": "", - "questMayhemMistiflying2DropHeadgear": "", - "questMayhemMistiflying3Text": "", + "questMayhemMistiflying2CollectRedMistiflies": "Червоні туманні метелики", + "questMayhemMistiflying2CollectBlueMistiflies": "Блакитні туманні метелики", + "questMayhemMistiflying2CollectGreenMistiflies": "Зелені туманні метелики", + "questMayhemMistiflying2DropHeadgear": "Пустотливий веселковий капюшон посланця (головний убір)", + "questMayhemMistiflying3Text": "Хаос у Хмарополі (частина 3): У якій листоноша надзвичайно грубий", "questMayhemMistiflying3Notes": "", "questMayhemMistiflying3Completion": "", "questMayhemMistiflying3Boss": "", "questMayhemMistiflying3DropPinkCottonCandy": "Рожева цукрова кулька(Food)", - "questMayhemMistiflying3DropShield": "", - "questMayhemMistiflying3DropWeapon": "", + "questMayhemMistiflying3DropShield": "Веселковий конверт (ліва рука)", + "questMayhemMistiflying3DropWeapon": "Веселковий конверт (права рука)", "featheredFriendsText": "Набір квестів \"Пернаті друзі\"", "featheredFriendsNotes": "", "questNudibranchText": "Зараження мотиваційними морськими молюсками", @@ -516,60 +516,60 @@ "farmFriendsNotes": "Містить \"Корова-мууутант\", \"КІНецЬ світу\" та \"Грозовий баран\". Доступний до 30 вересня.", "witchyFamiliarsText": "Набір квестів \"Відьмині друзі\"", "witchyFamiliarsNotes": "", - "questGroupLostMasterclasser": "", - "questUnlockLostMasterclasser": "", - "questLostMasterclasser1Text": "", - "questLostMasterclasser1Notes": "", - "questLostMasterclasser1Completion": "", - "questLostMasterclasser1CollectAncientTomes": "", - "questLostMasterclasser1CollectForbiddenTomes": "", - "questLostMasterclasser1CollectHiddenTomes": "", - "questLostMasterclasser2Text": "", - "questLostMasterclasser2Notes": "", - "questLostMasterclasser2Completion": "", - "questLostMasterclasser2Boss": "", - "questLostMasterclasser2DropEyewear": "", - "questLostMasterclasser3Text": "", - "questLostMasterclasser3Notes": "", - "questLostMasterclasser3Completion": "", + "questGroupLostMasterclasser": "Таємниця ордену Майстрів", + "questUnlockLostMasterclasser": "Щоб розблокувати даний квест, виконайте останні квести із серій квестів: \"Біда у Некваптиді\", \"Хаос у Хмарополі\", \"Лихо Залишспокою\" та \"Жах у Завданялісі\".", + "questLostMasterclasser1Text": "Таємниця ордену Майстрів (частина 1): Читати між рядків", + "questLostMasterclasser1Notes": "@beffymaroo та @Lemoness несподівано викликають вас до Залу Звичок, де ви з подивом бачите, що всі чотири майстри Habitica чекають на вас у слабкому світлі світанку. Навіть Радісна Жниця виглядає похмурою.

«От, ти і тут», — каже Першоквітень. «Ми б не потривожили тебе без справді важливої…»

«Допоможіть нам розслідувати нещодавні випадки одержимості», — перебиває леді Льодовик. «Усі жертви звинуватили когось на ім’я Ціна».

Першоквітня це резюме явно ображає. «А як щодо моєї промови?» — шипить він. «З ефектом туману та грози?»

«Ми поспішаємо», — бурмоче вона у відповідь. «А мої мамонти все ще мокрі від ваших безперервних тренувань».

«Боюся, що шановна майстриня воїнів права», — каже король Манта. «Час має важливе значення. Ви допоможете нам?»

Коли ви киваєте, він змахує руками, відкриваючи портал в підводну кімнату. «Пливіть зі мною до Некваптиди, і ми дослідимо мою бібліотеку в пошуках будь-яких посилань, які можуть дати нам підказку». На ваш збентежений погляд він додає: «Не хвилюйся, папір було зачаровано задовго до того, як Некваптида затонула. Жодна з книжок анітрохи не промокла!» Він підморгує. «На відміну від мамонтів леді Льодовик».

«Я почула це, Манте».

Коли ви пірнаєте у воду слідом за майстром магів, ваші ноги чарівним чином зливаються в ласти. Хоча ваше тіло бадьоре, серце завмирає, коли ви бачите тисячі книжкових полиць. Прийдеться багацько прочитати…", + "questLostMasterclasser1Completion": "Після годин перегляду томів ви все ще не знайшли жодної корисної інформації.

«Здається неможливим, щоб там не було навіть найменшого посилання на щось доречне», — каже головний бібліотекар @Tuqjoi, а його помічник @stefalupagus розчаровано киває.

Очі короля Манта звузилися. «Це неможливо…», — каже він. «Навмисно». На мить вода засяє навколо його рук, і кілька книжок здригнуться. «Щось приховує інформацію», — каже він. «Не просто статичне заклинання, а щось із власною волею. Щось… живе». Він випливає з-за столу. «Радісна Жниця повинна почути про це. Збираймось в дорогу»", + "questLostMasterclasser1CollectAncientTomes": "Давні томи", + "questLostMasterclasser1CollectForbiddenTomes": "Заборонені томи", + "questLostMasterclasser1CollectHiddenTomes": "Приховані томи", + "questLostMasterclasser2Text": "Таємниця ордену Майстрів (частина 2): Збирання порожнечі", + "questLostMasterclasser2Notes": "Радісна Жниця барабанить своїми кістлявими пальцями по книгах, які ви принесли. «О боже, — каже Майстер-цілителів. «Тут діє зловмисна життєва сутність. Я могла би здогадатися, враховуючи напади реанімованих черепів під час кожного інциденту». Її помічник @tricksy.fox приносить скриню, і ви з подивом бачите вміст, який вивантажує @beffymaroo: ті самі предмети, якими колись користувалася ця таємнича Ціна, щоб заволодіти розумом жителів Habitica.

«Я використаю резонансну лікувальну магію, щоб спробувати змусити цю істоту проявитися», — каже Радісна Жниця, нагадуючи цим вам, що вона є талановитим цілителем. «Вам потрібно буде швидко прочитати розкриту інформацію, якщо вона вирветься назовні.».

Коли вона зосереджується, з книг починає витікати звивистий туман і обвиватися навколо предметів. Ви швидко гортаєте сторінки, намагаючись прочитати нові рядки тексту, що впадають вам у вічі. Ви вловлюєте лише кілька уривків: «піски втраченого часу» — «велика катастрофа» — «розділена на чотири» — «назавжди зіпсований» — перш ніж одне ім’я впадає в очі: Зінія.

Раптом сторінки вириваються з ваших пальців і розриваються на шмаття, утворюючи створіння, що виє, росте і обвивається навколо захоплених об’єктів.

«Це Порожнеча!» — кричить Радісна Жниця, чаклуючи захисне заклинання. «Вона— стародавнє створіння плутанини й невідомості. Якщо ця Ціна може контролювати їх, вона повинна мати контроль над життєвою магією. Швидко атакуйте її, поки вона не втекла назад у книги!»

", + "questLostMasterclasser2Completion": "Нарешті Порожнеча здається, і ви ділитеся фрагментами, які встигли прочитали.

«Жодне з цих посилань не звучить знайомим навіть для такої старої, як я», — каже Радісна Жниця. «За винятком того, що Піски втраченого часу — це далека пустеля на найворожішому краю Габітіки. Портали поблизу часто виходять з ладу, але швидкі скакуни можуть доставити вас туди миттєво. Леді Льодовик буде рада допомогти». Її голос стає веселішим. «Це означає, що закоханий майстер розбійників, безсумнівно, приєднається до нас». Вона простягає вам блискучу маску. «Можливо, вам варто спробувати відстежити магію, що зберігається в цих предметах, до її джерела. Я піду зберу прожиток для вашої подорожі»", + "questLostMasterclasser2Boss": "Порожнеча", + "questLostMasterclasser2DropEyewear": "Ефірна маска (окуляри)", + "questLostMasterclasser3Text": "Таємниця ордену Майстрів (частина 3): Місто в піску", + "questLostMasterclasser3Notes": "В час коли ніч розгортається над пекучими пісками Втраченого часу, ваші гіди @AnnDeLune, @Kiwibot і @Katy133 ведуть вас вперед. Кілька вибілених стовпів стирчать із затінених дюн, і, коли ви наближаєтеся до них, то чуєте дивний звук, що лунає в цьому, здавалося б, в покинутому просторі.

«Невидимі створіння!» — каже Першоквітень з заздрістю в голосі. «Ого! Тільки уявіть собі можливості. Мабуть, це робота справді непомітного розбійника».

«Розбійника, який може спостерігати за нами», — каже леді Льодовик, спішуючись і піднімаючи свій спис. «Якщо буде лобова атака, постарайтеся не дратувати суперника. Я не хочу повторення інциденту з вулканом».

Він дивиться на неї. «Але це був один із найяскравіших твоїх порятунків».

На ваш подив леді Льодовик дуже рожевіє від цього компліменту. Вона поспішно відходить, щоб оглянути руїни.

«Схоже на уламки стародавнього міста», — каже @AnnDeLune. «Цікаво, що…»

Не встигла вона закінчити речення, як у небі з гуркотом відкривається портал. Хіба магія тут можлива? Стукіт копит невидимих тварин гримить, коли вони тікають у паніці, і ви залишаєтесь протистояти натиску верескливих черепів, які заповнюють небо.", + "questLostMasterclasser3Completion": "Першоквітень несподівано обсипає останній череп піском, і той відлітає назад до Леді Льодовик, яка майстерно розбиває його. Коли ви перехоплюєте подих і дивитеся вгору, ви бачите один спалах чийогось силуету, який рухається з іншого боку порталу, що закривається. Швидко подумавши, ви вихоплюєте амулет зі скрині з предметами, якими раніше володіли, і, звичайно, він притягується до невидимої людини. Не звертаючи уваги на тривожні крики Леді Льодовик та Першоквітня, ви прострибуєте через портал саме тоді, коли він зачиняється, падаючи в чорнильну смугу небуття.", "questLostMasterclasser3Boss": "Рій черепів порожнечі", "questLostMasterclasser3RageTitle": "Відродження рою", "questLostMasterclasser3RageDescription": "Відродження рою: ця шкала росте, коли ви не завершуєте свої щоденні завдання. Коли вона заповнюється, рій черепів порожнечі відновить 30% здоров’я до того, що залишилося!", "questLostMasterclasser3RageEffect": "`Рій черепів порожнечі використовує ВІДРОДЖЕННЯ РОЮ!`\n\nПідбадьорені своїми перемогами, більше черепів кричать з небес, підтримуючи рій!", - "questLostMasterclasser3DropBodyAccessory": "", + "questLostMasterclasser3DropBodyAccessory": "Ефірний амулет (аксесуар для тіла)", "questLostMasterclasser3DropBasePotion": "Звичайний інкубаційний еліксир", - "questLostMasterclasser3DropGoldenPotion": "", - "questLostMasterclasser3DropPinkPotion": "", - "questLostMasterclasser3DropShadePotion": "", - "questLostMasterclasser3DropZombiePotion": "", - "questLostMasterclasser4Text": "", + "questLostMasterclasser3DropGoldenPotion": "Золотий інкубаційний еліксир", + "questLostMasterclasser3DropPinkPotion": "Рожевий цукровий інкубаційний еліксир", + "questLostMasterclasser3DropShadePotion": "Тіньовий інкубаційний еліксир", + "questLostMasterclasser3DropZombiePotion": "Зомбі інкубаційний еліксир", + "questLostMasterclasser4Text": "Таємниця ордену Майстрів: Загублений Майстер", "questLostMasterclasser4Notes": "", "questLostMasterclasser4Completion": "", - "questLostMasterclasser4Boss": "", - "questLostMasterclasser4RageTitle": "", - "questLostMasterclasser4RageDescription": "", - "questLostMasterclasser4RageEffect": "", - "questLostMasterclasser4DropBackAccessory": "", - "questLostMasterclasser4DropWeapon": "", - "questLostMasterclasser4DropMount": "", - "questYarnText": "", + "questLostMasterclasser4Boss": "Анти-Зінія", + "questLostMasterclasser4RageTitle": "Сифонуюча порожнеча", + "questLostMasterclasser4RageDescription": "Сифонуюча порожнеча. Ця шкала заповнюється, коли ви не завершуєте свої щоденники. Коли вона заповниться, Анти-Зінія вилучить ману команди!", + "questLostMasterclasser4RageEffect": "`Анти-Зінія використовує СИФОНУЮЧА ПОРОЖНЕЧА!` У вивернутій інверсії заклинання \"Ефірний сплеск\" ви відчуваєте, як ваша магія витікає в темряву!", + "questLostMasterclasser4DropBackAccessory": "Ефірна накидка (аксесуар для спини)", + "questLostMasterclasser4DropWeapon": "Кристали ефіру (дворучна зброя)", + "questLostMasterclasser4DropMount": "Невидимий ефірний скакун", + "questYarnText": "Заплутаний клубок", "questYarnNotes": "", "questYarnCompletion": "", - "questYarnBoss": "", - "questYarnDropYarnEgg": "", + "questYarnBoss": "Страшний Клубостр", + "questYarnDropYarnEgg": "Яйце з пряжею", "questYarnUnlockText": "Розблоковує купівлю пряжі в яйці на ринку", "winterQuestsText": "Зимовий набір квестів", "winterQuestsNotes": "", - "questPterodactylText": "", - "questPterodactylNotes": "", - "questPterodactylCompletion": "", - "questPterodactylBoss": "", - "questPterodactylDropPterodactylEgg": "", + "questPterodactylText": "П-терор-дактиль", + "questPterodactylNotes": "Ви прогулюєтеся вздовж тихих скель Залишспокій, коли повітря роздирає злий вереск. Ви повертаєтесь і бачите жахливу істоту, що летить до вас, і вас охоплює потужний жах. Коли ви починаєте тікати, @Lilith of Alfheim хапає вас. «Без паніки! Це просто П-терор-дактиль». @Procyon P киває. «Вони гніздяться неподалік, але їх приваблює запах негативних звичок і недороблених щоденників». «Не хвилюйтеся», — каже @Katy133. «Нам просто потрібно бути надзвичайно продуктивними, щоб перемогти це!» Ви сповнюєтеся оновленим відчуттям мети і повертаєтеся обличчям до свого ворога.", + "questPterodactylCompletion": "З останнім скриком П-терор-дактиль падає на край скелі. Біжиш вперед, щоб подивитись, як він летить над далекими степами. «Фу, я радий, що це закінчилося», — кажете ви. «Я теж», — відповідає @GeraldThePixel. \"Але подивіться! Це залишило кілька яєць для нас.\" @Edge передає вам три яйця, і ви присягаєтеся вирощувати їх у спокої, в оточенні позитивних звичок і блакитних щоденників.", + "questPterodactylBoss": "П-терор-дактиль", + "questPterodactylDropPterodactylEgg": "Яйце з птеродактилем", "questPterodactylUnlockText": "Розблоковує купівлю птеродактиля в яйці на ринку", "questBadgerText": "Не борси мені!", "questBadgerNotes": "", "questBadgerCompletion": "Ви нарешті відганяєте Борсука-Набриду й поспішаєте до його нори. У кінці тунелю ви знаходите його скарбницю феїних «сонливих» справ. Лігво виглядає покинуте, за винятком трьох яєць, які, здається, готові вилупитися.", - "questBadgerBoss": "", + "questBadgerBoss": "Борсук-набрида", "questBadgerDropBadgerEgg": "Яйце борсука", "questBadgerUnlockText": "Розблоковує купівлю борсука в яйці на ринку", "questDysheartenerText": "", @@ -595,11 +595,11 @@ "dysheartenerArtCredit": "Графічна робота @AnnDeLune", "hugabugText": "Набір квестів \"Обійми жука\"", "hugabugNotes": "", - "questSquirrelText": "", + "questSquirrelText": "Підступна білка", "questSquirrelNotes": "", "questSquirrelCompletion": "", - "questSquirrelBoss": "", - "questSquirrelDropSquirrelEgg": "", + "questSquirrelBoss": "Підступна білка", + "questSquirrelDropSquirrelEgg": "Яйце з білкою", "questSquirrelUnlockText": "Розблоковує купівлю білки в яйці на ринку", "cuddleBuddiesText": "Набір квестів \"Пухнасті друзі\"", "cuddleBuddiesNotes": "Містить «Кролик-вбивця», «Нечестивий тхір» і «Банда морських свинок». Доступний до 31 березня.", @@ -635,7 +635,7 @@ "questVelociraptorBoss": "Велоци-репер", "questVelociraptorDropVelociraptorEgg": "Яйце велоцираптора", "questVelociraptorUnlockText": "Розблоковує купівлю велоцераптора в яйці на ринку", - "evilSantaAddlNotes": "Зверніть увагу, що \"Санта-звіролов\" та «Знайди дитинча» мають досягнуті квестові досягнення, але дають рідкісного домашнього улюбленця та кріплення, який можна додати до вашої стайні лише один раз.", + "evilSantaAddlNotes": "Зверніть увагу, що \"Санта-звіролов\" та \"Знайди дитинча\" мають накопичувальні досягнення, але також дають рідкісного домашнього улюбленця та верхову тварину, яких можна додати до вашої стайні лише раз.", "questWindupDropWindupPotion": "Заводний інкубаційний еліксир", "questSolarSystemUnlockText": "Відкриває інкубаційні геліосистемні зілля для купівлі на ринку", "questSolarSystemText": "Подорож космічної концентрації", @@ -660,5 +660,28 @@ "jungleBuddiesNotes": "Містить \"Жахливий мандрил і пустотливі мавпи\", \"Заколисливий лінивець\" та \"Заплутане дерево\". Доступний до <%= date %>.", "questRobotCollectBolts": "Болти", "questRobotCollectSprings": "Пружини", - "questRobotCollectGears": "Шестерні" + "questRobotCollectGears": "Шестерні", + "questFluoriteText": "Яскравий флюоритовий страх", + "questFluoriteBoss": "Флюоритовий дух-стихійник", + "questFluoriteUnlockText": "Відкриває флюоритові зілля вилуплення для придбання на ринку", + "questStoneCollectCapricornRunes": "рун Козерога", + "questStoneDropMossyStonePotion": "Мохокам'яний інкубаційний еліксир", + "questStoneUnlockText": "Розблоковує придбання мохокам'яного інкубаційного еліксиру на ринку", + "questStoneCollectMarsRunes": "рун Марсу", + "questStoneText": "Моховий лабіринт", + "questStoneCollectMossyStones": "мохових каменів", + "questFluoriteDropFluoritePotion": "Флюоритовий інкубаційний еліксир", + "questPinkMarbleDropPinkMarblePotion": "Рожевомармуровий еліксир вилуплення", + "questPinkMarbleRageTitle": "Рожевий удар", + "questPinkMarbleBoss": "Купідон", + "QuestPinkMarbleUnlockText": "Розблокує рожево-мармурове зілля вилуплення для придбання на ринку.", + "questPinkMarbleRageEffect": "`Купідон використовує Рожевий Удар!` Це анітрохи не так ласкаво, як воно звучить! Члени вашої команди розгублені. Очікувана шкода зменшена.", + "questPinkMarbleRageDescription": "Ця смужка заповнюється, коли ви не завершуєте свої Щоденки. Коли вона заповниться, Купідон забере частину очікуваної шкоди вашої команди!", + "questStoneNotes": "Ви відчиняєте ворота Фортеці Недбалості і дивуєтесь моху, який поріс на статуях, скелях та інших поверхнях у саду. «О ні, сад надто довго був занедбаний!» каже @jjgame83.

«Ніколи не пізно почати доглядати за садом, — захоплено каже @PixelStormArt, — але з чого ми почнемо розбиратися в лабіринті моху?»

“ Ми можемо скласти план і дотримуватися його, щоб не заблукати», — каже @QuartzFox.

Поки розчищає мохове каміння, @starsystemic помічає руни Марса та Козерога, сховані під ними. «Для чого це? Давайте віднесемо їх до міської бібліотеки Габіт-сіті, щоб дослідити їх, коли ми закінчимо».

Це за умови, що ви взагалі знайдете спосіб повернутися звідси, думаєте ви, але не говорите вголос.", + "questPinkMarbleCompletion": "Тобі нарешті вдається підтиснути маленького хлопця – він виявився набагато сильнішим і швидшим, ніж очікувалося. Перш ніж він знову заворушиться, ви забираєте його сагайдак із сяючими стрілами. Він кліпає очима й раптом здивовано озирається. «Щоб ненадовго втекти від власного горя та розбитого серця, я вколов себе однією зі своїх стріл… Після цього я нічого не пам’ятаю!» Він якраз збирається втекти з печери, зауважує, що @Loremi має взяв зразок мармурового пилу і посміхається. «Спробуйте використати цей рожевий мармуровий пил у зіллі! Плекайте вихованців, які з нього вилуплюються, і ви побачите, що справжні стосунки народжуються зі спілкування, взаємної довіри та турботи. Бажаю тобі удачі, бажаю любові!»", + "questRobotCompletion": "Коли @Rev і Accountability Buddy ставлять останній гвинт на місце, машина часу оживає. @FolleMente і @McCoyly стрибають на борт. «Дякую за допомогу! Ми побачимось у майбутньому! До речі, вони повинні допомогти вам у вашому наступному винаході!» Після цього мандрівники в часі зникають, але серед уламків старого стабілізатора продуктивності залишилися три заводних яйця. Можливо, це будуть вирішальні компоненти для нової виробничої лінії Відповідальні Друзі!", + "questPinkMarbleNotes": "Почувши чутки про печеру в Звивистих Горах, з якої вилітають рожеві камені та пил, ваша група починає розслідування. Коли ви наближаєтеся до печери, ви дійсно бачите величезну хмару рожевого пилу – і дивним чином ви чуєте бойовий клич тоненького голосу, а потім звук каменю, що розбивається. @Empress42 випадково вдихає трохи пилу й раптом почувається мрійливим і менш продуктивним. \"Те ж саме!\" каже @QuartzFox: «Я раптом фантазую про людину, яку ледве знаю!» @a_diamond заглядає в печеру й знаходить маленьку істоту, яка стрибає навколо й розбиває рожевий мармуровий камінь на порох. \"Укриватися! Цей Купідон був зіпсований і використовує свою магію, щоб викликати безглуздість і нереалістичне захоплення! Треба його приборкати!»", + "questRubyCollectRubyGems": "Рубіни", + "questRubyDropRubyPotion": "Рубіновий інкубаційний еліксир", + "questPinkMarbleText": "Вгамуйте зіпсованого Купідона" } diff --git a/website/common/locales/uk/settings.json b/website/common/locales/uk/settings.json index b2868bb3c8..9772d60ea0 100644 --- a/website/common/locales/uk/settings.json +++ b/website/common/locales/uk/settings.json @@ -226,5 +226,6 @@ "amount": "Кількість", "action": "Дія", "note": "Примітка", - "remainingBalance": "Залишковий баланс" + "remainingBalance": "Залишковий баланс", + "thirdPartyTools": "Знайдіть сторонні додатки, розширення та всілякі інші інструменти, які ви можете використовувати зі своїм обліковим записом, на сторінці Habitica Вікі." } diff --git a/website/common/locales/uk/subscriber.json b/website/common/locales/uk/subscriber.json index d949d009d3..9b0081dbf8 100644 --- a/website/common/locales/uk/subscriber.json +++ b/website/common/locales/uk/subscriber.json @@ -206,7 +206,7 @@ "mysterySet202205": "Набір сутінково-крилатого дракона", "mysterySet202206": "Набір морсього духа", "mysterySet202207": "Набір прозорої медузи", - "subscriptionInactiveDate": "Ваші переваги від підписки закінчаться <%= date %>", + "subscriptionInactiveDate": "Ваші переваги від підписки закінчаться
<%= date %>", "subMonths": "Місяців підписки", "readyToResubscribe": "Ви готові повторно підписатися?", "mysterySet202208": "Набір з веселим хвостиком", @@ -214,5 +214,13 @@ "mysterySet202204": "Набір віртуального мандрівника", "mysterySet202210": "Набір зловісного змієносця", "mysterySet202211": "Набір електроманта", - "mysterySet202212": "Набір крижаного охоронця" + "mysterySet202212": "Набір крижаного охоронця", + "mysterySet202301": "Набір доблесної Вульпіни", + "haveNonRecurringSub": "У вас є одноразова подарункова підписка.", + "subscriptionCreditConversion": "Починаючи нову підписку, усі місяці, що залишилися, будуть конвертовані в кредит, який буде використано після скасування звичайної підписки.", + "mysterySet202302": "Набір обманщика Таббі", + "switchToRecurring": "Перемкнутись на подарункову підписку?", + "continueGiftSubBenefits": "Хочете й надалі користуватися перевагами? Ви можете розпочати нову підписку до того, як ваша подарована підписка закінчиться, щоб ваші переваги залишалися активними.", + "mysterySet202303": "Набір персонажа з гривою", + "mysterySet202304": "Набір чайник для заварювання" } diff --git a/website/common/locales/ur_PK/groups.json b/website/common/locales/ur_PK/groups.json index 0593a46e22..cd305543fd 100755 --- a/website/common/locales/ur_PK/groups.json +++ b/website/common/locales/ur_PK/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/vi/achievements.json b/website/common/locales/vi/achievements.json index 4efe4f1e9d..887fe2ca2a 100755 --- a/website/common/locales/vi/achievements.json +++ b/website/common/locales/vi/achievements.json @@ -99,7 +99,47 @@ "achievementSkeletonCrew": "Đoàn Bộ Xương", "achievementSeeingRedText": "Đã thu thập tất cả Thú cưng Màu đỏ.", "achievementSeeingRedModalText": "Bạn đã thu thập tất cả Thú cưng Màu đỏ!", - "achievementLegendaryBestiaryModalText": "Bạn đã thu thập tất cả sinh vật huyền thoại!", + "achievementLegendaryBestiaryModalText": "Bạn đã thu thập tất cả thú cưng huyền thoại!", "achievementRedLetterDay": "Ngày Thư Đỏ", - "achievementSeeingRed": "Nhìn thấy Màu đỏ" + "achievementSeeingRed": "Nhìn thấy Màu đỏ", + "achievementZodiacZookeeperText": "Đã ấp tất cả thú cưng hoàng đạo màu cơ bản: Chuột, Bò, Thỏ, Rắn, Ngựa, Cừu, Khỉ, Gà trống, Chó sói, Cọp, Lợn Trời và Rồng!", + "achievementBirdsOfAFeatherModalText": "Bạn đã thu thập tất cả thú cưng bay!", + "achievementRedLetterDayText": "Đã thuần hóa tất cả Thú Cưỡi Đỏ.", + "achievementLegendaryBestiary": "Truyền Thuyết", + "achievementLegendaryBestiaryText": "Đã ấp tất cả thú cưng huyền thoại màu cơ bản: Rồng, Lợn Trời, Kỳ Lân, Rắn Biển và Ngựa Thần!", + "achievementDomesticatedText": "Đã ấp tất cả thú cưng gia đình màu cơ bản: Chồn sương, Chuột lang nhà, Gà trống, Lợn Trời, Chuột, Thỏ, Ngựa và Bò!", + "achievementRedLetterDayModalText": "Bạn đã thuần hóa tất cả Thú Cưỡi Đỏ!", + "achievementBirdsOfAFeatherText": "Đã ấp tất cả thú cưng bay màu cơ bản: Lợn trời, Cú, Két, Loài dực thủ long, Kỳ lân, Chim ưng, Công và Gà trống!", + "achievementWildBlueYonder": "Xanh Hoang Dã", + "achievementDomesticated": "Tía em hừng đông đi cày bừa", + "achievementShadyCustomerText": "Đã thu thập tất cả Thú Cưng Mờ Ám.", + "achievementDomesticatedModalText": "Bạn đã thu thập tất cả những thú cưng gia đình!", + "achievementShadyCustomer": "Khách hàng Khả nghi", + "achievementBoneToPickText": "Đã ấp tất cả Thú Cưng Xương Căn Bản và Nhiệm Vụ!", + "achievementGroupsBeta2022": "Trình thử nghiệm Beta Tương tác", + "achievementGroupsBeta2022Text": "Nhóm của bạn đã cung cấp nhận xét vô giá cho Habitica để thí nghiệm.", + "achievementGroupsBeta2022ModalText": "Nhóm của bạn đã giúp Habitica bằng cách thử nghiệm và cung cấp nhận xét!", + "achievementPolarPro": "Thầy Tuyết", + "achievementPolarProModalText": "Bạn đã thu thập được tất cả Thú Cưng từ vùng cực!", + "achievementWoodlandWizard": "Phù Thủy Rừng", + "achievementWoodlandWizardText": "Đã ấp tất cả thú cưng rừng màu cơ bản: Con lửng, Gấu, Nai, Cáo, Ếch, Nhím, Cú, Ốc sên, Sóc và Cây!", + "achievementWoodlandWizardModalText": "Bạn đã thu thập tất cả những thú cưng rừng!", + "achievementReptacularRumbleModalText": "Bạn đã thu thập tất cả những thú cưng bò sát!", + "achievementReptacularRumbleText": "Đã ấp tất cả thú cưng bò sát màu cơ bản: Cá sấu, Loài dực thủ long, Rắn, Triceratops, Rùa, Khủng long bạo chúa và Velociraptor!", + "achievementVioletsAreBlueText": "Đã thu thập tất cả Thú Cưng Kẹo bông Xanh.", + "achievementWildBlueYonderModalText": "Bạn đã thuần hóa tất cả những Thú Cưỡi Kẹo bông Xanh!", + "achievementWildBlueYonderText": "Đã thuần hóa tất cả Thú Cưỡi Kẹo bông Xanh.", + "achievementVioletsAreBlue": "Hoa violet màu xanh", + "achievementVioletsAreBlueModalText": "Bạn đã thu thập tất cả những Thú Cưng Kẹo bông Xanh!", + "achievementSeasonalSpecialistText": "Đã hoàn thành tất cả nhiệm vụ Xuân Đông: Săn Trứng, Santa Đặt Bẫy và Tìm Gấu Con!", + "achievementSeasonalSpecialistModalText": "Bạn đã hoàn thành tất cả nhiệm vụ mùa!", + "achievementSeasonalSpecialist": "Chuyên gia thời vụ", + "achievementBirdsOfAFeather": "Chim bay có bạn", + "achievementBoneToPickModalText": "Bạn đã ấp tất cả Thú Cưng Xương Căn Bản và Nhiệm Vụ!", + "achievementZodiacZookeeper": "Người giữ thú Hoàng đạo", + "achievementZodiacZookeeperModalText": "Bạn đã thu thập tất cả những thú cưng hoàng đạo!", + "achievementShadyCustomerModalText": "Bạn đã thu thập tất cả những Thú Cưng Mờ Ám!", + "achievementShadeOfItAllText": "Đã thuần hóa tất cả Thú Cưỡi Mờ Ám.", + "achievementShadeOfItAllModalText": "Bạn đã thuần hóa tất cả những Thú Cưỡi Mờ Ám!", + "achievementPolarProText": "Đã ấp tất cả Thú Cưng Cực: Gấu, Cáo, Cánh Cụt, Cá Voi và Chó Sói!" } diff --git a/website/common/locales/vi/backgrounds.json b/website/common/locales/vi/backgrounds.json index 9f91af5101..78c1491306 100755 --- a/website/common/locales/vi/backgrounds.json +++ b/website/common/locales/vi/backgrounds.json @@ -550,5 +550,68 @@ "backgroundCampingOutText": "Cắm trại ngoài trời", "backgrounds082020": "BỘ 75: Ra mắt vào tháng Tám 2020", "backgroundFlyingOverAnAutumnForestText": "Bay qua Rừng Mùa thu", - "backgrounds092020": "BỘ 76: Ra mắt vào Tháng Chín 2020" + "backgrounds092020": "BỘ 76: Ra mắt vào Tháng Chín 2020", + "backgrounds032023": "BỘ 106: Ra mắt vào tháng 3/2023", + "backgroundGiantAutumnLeafNotes": "Đậu lên Chiếc Lá Khổng Lồ trước khi nó rơi xuống.", + "backgrounds122020": "BỘ 79: Ra mắt vào tháng 12/2020", + "backgrounds122021": "BỘ 91: Ra mắt vào tháng 12/2021", + "backgrounds032022": "BỘ 94: Ra mắt vào tháng 3/2022", + "backgrounds052022": "BỘ 96: Ra mắt vào tháng 5/2022", + "backgrounds092022": "BỘ 100: Ra mắt vào tháng 9/2022", + "backgrounds022023": "BỘ 105: Ra mắt vào tháng 2/2023", + "backgrounds072022": "BỘ 98: Ra mắt vào tháng 7/2022", + "backgroundHerdingSheepInAutumnText": "Đàn Cừu", + "backgroundHerdingSheepInAutumnNotes": "Đi chơi với Đàn Cừu.", + "backgrounds062021": "BỘ 85: Ra mắt vào tháng 6/2021", + "backgrounds112020": "BỘ 78: Ra mắt vào tháng 11/2020", + "backgrounds032021": "BỘ 82: Ra mắt vào tháng 3/2021", + "backgrounds022022": "BỘ 93: Ra mắt vào tháng 2/2022", + "backgrounds082022": "BỘ 99: Ra mắt vào tháng 8/2022", + "backgroundFlyingOverAnAutumnForestNotes": "Ngắm nhìn những màu sắc rực rỡ bên dưới khi Bay qua Khu rừng Mùa thu.", + "backgrounds022021": "BỘ 81: Ra mắt vào tháng 2/2021", + "backgroundGiantAutumnLeafText": "Chiếc Lá Khổng Lồ", + "backgrounds052021": "BỘ 84: Ra mắt vào tháng 5/2021", + "backgrounds012023": "BỘ 104: Ra mắt vào tháng 1/2023", + "backgrounds012022": "BỘ 92: Ra mắt vào tháng 1/2022", + "backgrounds112022": "BỘ 102: Ra mắt vào tháng 11/2022", + "backgroundCrescentMoonText": "Trăng Lưỡi Liềm", + "backgrounds092021": "BỘ 88: Ra mắt vào tháng 9/2021", + "backgrounds082021": "BỘ 87: Ra mắt vào tháng 8/2021", + "backgrounds012021": "BỘ 80: Ra mắt vào tháng 1/2021", + "backgrounds042021": "BỘ 83: Ra mắt vào tháng 4/2021", + "backgrounds102022": "BỘ 101: Ra mắt vào tháng 10/2022", + "backgrounds102020": "BỘ 77: Ra mắt vào tháng 10/2020", + "backgrounds072021": "BỘ 86: Ra mắt vào tháng 7/2021", + "backgrounds062022": "BỘ 97: Ra mắt vào tháng 6/2022", + "hideLockedBackgrounds": "Ẩn các hình nền phẩm khóa", + "backgrounds112021": "BỘ 90: Ra mắt vào tháng 11/2021", + "backgrounds042022": "BỘ 95: Ra mắt vào tháng 4/2022", + "backgrounds102021": "BỘ 89: Ra mắt vào tháng 10/2021", + "backgrounds122022": "BỘ 103: Ra mắt vào tháng 12/2022", + "backgroundSpookyScarecrowFieldNotes": "Hãy chứng minh rằng bạn bạo hơn một con chim bằng cách vượt qua Cánh Đồng Bù Nhìn Ma Quái.", + "backgroundSpookyScarecrowFieldText": "Cánh Đồng Bù Nhìn Ma Quái", + "backgroundMysticalObservatoryNotes": "Đọc vận mạng của bạn trong các vì sao từ Đài Thiên Văn Thần Bí.", + "backgroundHauntedForestNotes": "Coi chừng đừng để bị lạc trong Khu Rừng Ma.", + "backgroundCrescentMoonNotes": "Mơ những giấc mơ lớn khi ngồi trên Trăng Lưỡi Liềm.", + "backgroundHauntedForestText": "Khu Rừng Ma", + "backgroundMysticalObservatoryText": "Đài Thiên Văn Thần Bí", + "backgroundRestingInTheInnText": "Đang nghỉ ngơi tại Quán trọ", + "backgroundRiverOfLavaText": "Dòng Sông Dung Nham", + "backgroundWintryCastleText": "Lâu đài Mùa đông", + "backgroundIcicleBridgeText": "Cầu Băng", + "backgroundIcicleBridgeNotes": "Băng qua cầu băng cẩn thận.", + "backgroundInsideAnOrnamentText": "Bên trong đồ trang trí", + "backgroundInsideAnOrnamentNotes": "Hãy để niềm vui lễ hội của bạn tỏa sáng ra từ Bên trong đồ trang trí.", + "backgroundRestingInTheInnNotes": "Làm việc trong sự thoải mái và an toàn ngay tại căn phòng của bạn khi Nghỉ ngơi ở Quán trọ.", + "backgroundHotSpringNotes": "Ngâm mình trong Suối Nóng và để những lo lắng tan biến đi.", + "backgroundWintryCastleNotes": "Chứng kiến Lâu đài Mùa đông qua màn sương lạnh giá.", + "backgroundHolidayHearthText": "lò sưởi tết/lò sưởi lễ", + "backgroundGingerbreadHouseText": "Ngôi Nhà Bánh Gừng", + "backgroundGingerbreadHouseNotes": "Thưởng thức hương vị của Ngôi Nhà Bánh Gừng nếu bạn dám.", + "backgroundHotSpringText": "Suối Nóng", + "backgroundThroneRoomText": "Phòng Ngai Vàng", + "backgroundHeartShapedBubblesNotes": "Trôi nổi vui vẻ giữa những bong bóng trái tim.", + "backgroundHeartShapedBubblesText": "Bong bóng Trái tim", + "backgroundFlyingOverGlacierNotes": "Chứng kiến sự hùng vĩ băng giá khi Bay qua Sông băng.", + "backgroundFlyingOverGlacierText": "Bay qua Sông băng" } diff --git a/website/common/locales/vi/groups.json b/website/common/locales/vi/groups.json index ce518bc66a..a69d64f062 100755 --- a/website/common/locales/vi/groups.json +++ b/website/common/locales/vi/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/vi/limited.json b/website/common/locales/vi/limited.json index 136d994411..fe19718916 100755 --- a/website/common/locales/vi/limited.json +++ b/website/common/locales/vi/limited.json @@ -55,7 +55,7 @@ "nyeCardAchievementText": "Chúc Mừng Năm Mới! Đã gửi hoặc nhận <%= count %> Thiệp Chúc Tết", "nye0": "Chúc mừng năm mới! Mong rằng bạn bỏ được nhiều thói quen xấu", "nye1": "Chúc mừng năm mới! Mong bạn gặp hái được nhiều Phần thưởng", - "nye2": "Chúc mừng năm mới! Mong bạn có được nhiều Ngày hoàn hảo", + "nye2": "Chúc mừng năm mới! Mong bạn có được nhiều Ngày Hoàn Hảo.", "nye3": "Chúc mừng năm mới! Mong danh sách Việc cần làm của bạn giữ được ngắn gọn và ngọt ngào.", "nye4": "Chúc mừng Năm Mới! Chắc là bạn không bị tấn công bởi một con Hippogriff đang cuồng nộ.", "mightyBunnySet": "Mighty Bunny (Warrior)", diff --git a/website/common/locales/vi/tasks.json b/website/common/locales/vi/tasks.json index cd1f61681b..40016f8fdd 100755 --- a/website/common/locales/vi/tasks.json +++ b/website/common/locales/vi/tasks.json @@ -54,7 +54,7 @@ "complete": "Đã hoàn thành", "complete2": "Hoàn thành", "today": "Hôm nay", - "dueIn": "Due <%= dueIn %>", + "dueIn": "Chưa làm <%= dueIn %>", "due": "Chưa làm", "notDue": "Chưa đến kì hạn", "grey": "Không cần", @@ -69,32 +69,32 @@ "editTags": "Sửa", "newTag": "Nhóm mới", "editTags2": "Sửa Nhãn", - "toRequired": "You must supply a \"to\" property", + "toRequired": "Bạn cần phải cho một đặc sắc \"cho\"", "startDate": "Ngày bắt đầu", - "streaks": "Streak Achievements", - "streakName": "<%= count %> Streak Achievements", - "streakText": "Has performed <%= count %> 21-day streaks on Dailies", + "streaks": "Thành tựu Chuỗi liên tục", + "streakName": "<%= count %> Thành tựu Chuỗi liên tục", + "streakText": "Đã thiết lập kỉ lục 21-ngày liên tục với Việc Hàng Ngày <%= count %> lần", "streakSingular": "Người lập kỉ lục", "streakSingularText": "Đã thiết lập một kỉ lục 21-ngày liên tục với Việc Hàng Ngày", - "perfectName": "<%= count %> Perfect Days", - "perfectText": "Completed all active Dailies on <%= count %> days. With this achievement you get a +level/2 buff to all Stats for the next day. Levels greater than 100 don't have any additional effects on buffs.", + "perfectName": "<%= count %> Ngày Hoàn Hảo", + "perfectText": "Đã hoàn thành tất cả Việc Hằng Ngày Kích Hoạt cho <%= count %> ngày. Với thành tựu này bạn được +cấp độ/2 hiệu ứng cho tất cả Chỉ số cho ngày sau. Cấp độ hơn 100 không có thêm hiệu ứng.", "perfectSingular": "Ngày Hoàn Hảo", - "perfectSingularText": "Completed all active Dailies in one day. With this achievement you get a +level/2 buff to all Stats for the next day. Levels greater than 100 don't have any additional effects on buffs.", + "perfectSingularText": "Đã hoàn thành tất cả Việc Hằng Ngày Kích Hoạt cho một ngày. Với thành tựu này bạn được +cấp độ/2 hiệu ứng cho tất cả Chỉ số cho ngày sau. Cấp độ hơn 100 không có thêm hiệu ứng.", "fortifyName": "Thuốc trung hòa", "fortifyPop": "Trả tất cả mọi đầu việc về giá trị trung bình (màu vàng) và bơm đầy máu trở lại.", "fortify": "Trung hòa", - "fortifyComplete": "Fortify complete!", + "fortifyComplete": "Trung Hòa đã hoàn thành!", "deleteTask": "Xóa Nhiệm vụ này", "sureDelete": "Are you sure you want to delete this task?", "streakCoins": "Điểm thưởng cho Kỉ Lục!", "taskToTop": "Tới đầu", - "taskToBottom": "To bottom", - "taskAliasAlreadyUsed": "Task alias already used on another task.", + "taskToBottom": "Tới cuối", + "taskAliasAlreadyUsed": "Biệt danh này đang được sử dụng cho một công việc khác.", "taskNotFound": "Không tìm thấy đầu việc.", - "invalidTaskType": "Task type must be one of \"habit\", \"daily\", \"todo\", \"reward\".", - "invalidTasksType": "Task type must be one of \"habits\", \"dailys\", \"todos\", \"rewards\".", - "invalidTasksTypeExtra": "Task type must be one of \"habits\", \"dailys\", \"todos\", \"rewards\", \"completedTodos\".", - "cantDeleteChallengeTasks": "A task belonging to a challenge can't be deleted.", + "invalidTaskType": "Loại công việc phải là một trong \"thói quen,\" \"công việc hằng ngày,\" \"việc cần làm,\" \"phần thưởng.\"", + "invalidTasksType": "Loại công việc phải là một trong \"thói quen,\" \"công việc hằng ngày,\" \"việc cần làm,\" \"phần thưởng.\"", + "invalidTasksTypeExtra": "Loại công việc phải là một trong \"thói quen,\" \"công việc hằng ngày,\" \"việc cần làm,\" \"phần thưởng,\" \"việc hoàn thành.\"", + "cantDeleteChallengeTasks": "Công việc thuộc về thử thách không thể xóa được.", "checklistOnlyDailyTodo": "Danh mục chỉ được hỗ trợ cho Việc hằng ngày và Việc cần làm", "checklistItemNotFound": "No checklist item was found with given id.", "itemIdRequired": "\"itemId\" must be a valid UUID.", diff --git a/website/common/locales/zh/achievements.json b/website/common/locales/zh/achievements.json index b3d6b2a68d..57335bc4f4 100644 --- a/website/common/locales/zh/achievements.json +++ b/website/common/locales/zh/achievements.json @@ -1,7 +1,7 @@ { "achievement": "成就", "onwards": "继续!", - "levelup": "在完成你现实生活中的目标后,你已经升级并回满了血!", + "levelup": "在完成你现实生活中的目标后,你已升级并恢复了全部生命值!", "reachedLevel": "你升到了第<%= level %>级", "achievementLostMasterclasser": "副本征服者:大师鉴别者副本线", "achievementLostMasterclasserText": "完成了“大师鉴别者”副本线的全部16个副本,揭开了迷失的大师鉴别者的神秘面纱!", @@ -58,7 +58,7 @@ "hideAchievements": "隐藏<%= category %>", "showAllAchievements": "列出所有<%= category %>", "onboardingCompleteDesc": "完成任务后,你获得了5个成就100枚金币。", - "earnedAchievement": "你得到了一个成就!", + "earnedAchievement": "你解锁了一个成就!", "viewAchievements": "查看成就", "letsGetStarted": "我们开始吧!", "onboardingProgress": "达成 <%= percentage %>%", @@ -69,21 +69,21 @@ "achievementTickledPinkModalText": "你集齐了所有粉色棉花糖宠物!", "achievementTickledPinkText": "已集齐所有粉色棉花糖宠物。", "achievementTickledPink": "羞脸粉生红", - "foundNewItemsCTA": "前往物品栏,尝试用新的孵化药水来孵化蛋!", - "foundNewItemsExplanation": "完成任务使你有机会找到物品,例如蛋、孵化药水和食物。", + "foundNewItemsCTA": "前往物品栏,尝试用新的孵化药水来孵化宠物蛋!", + "foundNewItemsExplanation": "完成任务使你有机会获得掉落物,例如蛋、孵化药水和食物。", "foundNewItems": "你找到了新物品!", "achievementBugBonanzaModalText": "你完成了甲虫、蝴蝶、蜗牛及蜘蛛宠物副本!", "achievementBugBonanzaText": "已完成甲虫、蝴蝶、蜗牛及蜘蛛宠物副本。", "achievementBugBonanza": "虫子富矿带", "onboardingCompleteDescSmall": "如果你想获得更多勋章,查查你的成就列表开始收集吧!", "onboardingComplete": "你完成了新手任务!", - "yourProgress": "你的成就", + "yourProgress": "你的进度", "achievementBareNecessitiesModalText": "你完成了猴子、树懒和小树宠物副本!", "achievementBareNecessitiesText": "已完成猴子、树懒和小树宠物副本。", "achievementBareNecessities": "森林王子", "achievementFreshwaterFriendsModalText": "你完成了蝾螈、青蛙和河马宠物副本!", "achievementFreshwaterFriendsText": "已完成蝾螈、青蛙和河马宠物副本。", - "achievementFreshwaterFriends": "淡水朋友", + "achievementFreshwaterFriends": "淡水伙伴", "achievementAllThatGlittersModalText": "你驯服了所有金色坐骑!", "achievementAllThatGlittersText": "已驯服所有金色坐骑。", "achievementAllThatGlitters": "闪闪发光", @@ -126,14 +126,14 @@ "achievementShadyCustomerText": "已集齐所有暗影宠物。", "achievementZodiacZookeeper": "十二生肖饲养员", "achievementZodiacZookeeperModalText": "你集齐了所有十二生肖宠物!", - "achievementZodiacZookeeperText": "已孵化所有基础颜色的十二生肖宠物。鼠、牛、兔、蛇、马、羊、猴、鸡、狼、虎、飞猪和龙!", + "achievementZodiacZookeeperText": "已孵化所有基础颜色的十二生肖宠物。鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狼和飞猪!", "achievementBirdsOfAFeather": "展翅高飞", - "achievementBirdsOfAFeatherText": "已孵化所有基础颜色的飞行宠物:飞猪、猫头鹰、鹦鹉、翼龙、狮鹫和猎鹰!", + "achievementBirdsOfAFeatherText": "已孵化所有基础颜色的飞行宠物:飞猪、猫头鹰、鹦鹉、翼龙、狮鹫、猎鹰、孔雀和公鸡!", "achievementBirdsOfAFeatherModalText": "你集齐了所有飞行宠物!", "achievementReptacularRumbleModalText": "你集齐了所有爬行宠物!", "achievementGroupsBeta2022": "交互测试者", - "achievementGroupsBeta2022ModalText": "你和团队通过测试和反馈来帮助Habitica发展壮大!", - "achievementGroupsBeta2022Text": "你和团队为Habitica测试提供了宝贵的反馈意见。", + "achievementGroupsBeta2022ModalText": "你和你的团队通过测试和反馈来帮助Habitica发展壮大!", + "achievementGroupsBeta2022Text": "你和你的团队为Habitica测试提供了宝贵的反馈意见。", "achievementReptacularRumble": "爬宠街斗", "achievementReptacularRumbleText": "已孵化所有基础颜色的爬虫宠物:鳄鱼、翼龙、蛇、三角龙、海龟、霸王龙和迅猛龙!", "achievementWoodlandWizard": "林地巫师", @@ -144,5 +144,11 @@ "achievementBoneToPick": "拾骨魔咒", "achievementPolarProModalText": "你驯服了所有极地宠物!", "achievementPolarPro": "极地专家", - "achievementPolarProText": "已孵化出所有极地宠物:熊、狐狸、企鹅、鲸鱼和狼!" + "achievementPolarProText": "已孵化出所有基础颜色的极地宠物:熊、狐狸、企鹅、鲸鱼和狼!", + "achievementPlantParentText": "已孵化所有基础颜色的植物宠物:仙人掌和树芽!", + "achievementPlantParentModalText": "你集齐了所有植物宠物!", + "achievementPlantParent": "育苗高手", + "achievementDinosaurDynastyModalText": "你集齐了所有鸟类和恐龙宠物!", + "achievementDinosaurDynasty": "恐龙王朝", + "achievementDinosaurDynastyText": "已孵化所有基础颜色的鸟类和恐龙宠物:猎鹰、猫头鹰、鹦鹉、孔雀、企鹅、公鸡、翼龙、霸王龙、三角龙和迅猛龙!" } diff --git a/website/common/locales/zh/backgrounds.json b/website/common/locales/zh/backgrounds.json index 1bd952d315..47b7a5a504 100644 --- a/website/common/locales/zh/backgrounds.json +++ b/website/common/locales/zh/backgrounds.json @@ -10,35 +10,35 @@ "backgroundFairyRingText": "蘑菇圈", "backgroundFairyRingNotes": "在蘑菇圈里和小仙子舞蹈。", "backgroundForestText": "森林", - "backgroundForestNotes": "在夏季的森林漫步。", + "backgroundForestNotes": "漫步在夏季的森林。", "backgrounds072014": "第2组:2014年7月推出", "backgroundCoralReefText": "珊瑚礁", - "backgroundCoralReefNotes": "在珊瑚礁轻松地游泳。", + "backgroundCoralReefNotes": "惬意地在珊瑚礁附近游泳。", "backgroundOpenWatersText": "海洋", "backgroundOpenWatersNotes": "享受茫茫大海。", "backgroundSeafarerShipText": "船舶", "backgroundSeafarerShipNotes": "搭乘一艘船舶。", "backgrounds082014": "第3组:2014年8月推出", "backgroundCloudsText": "云端", - "backgroundCloudsNotes": "在云端中飞翔。", + "backgroundCloudsNotes": "在云端飞翔。", "backgroundDustyCanyonsText": "尘封的峡谷", "backgroundDustyCanyonsNotes": "在尘封的峡谷漫游。", "backgroundVolcanoText": "火山", - "backgroundVolcanoNotes": "在熔岩中泡一泡。", + "backgroundVolcanoNotes": "在熔岩里泡一泡。", "backgrounds092014": "第4组:2014年9月推出", "backgroundThunderstormText": "雷暴", - "backgroundThunderstormNotes": "在暴风骤雨中被雷劈。", + "backgroundThunderstormNotes": "在暴风骤雨中享受雷霆。", "backgroundAutumnForestText": "秋季森林", - "backgroundAutumnForestNotes": "在秋季的森林漫步。", + "backgroundAutumnForestNotes": "漫步在秋季的森林。", "backgroundHarvestFieldsText": "田地", - "backgroundHarvestFieldsNotes": "努力耕田。", + "backgroundHarvestFieldsNotes": "努力耕耘。", "backgrounds102014": "第5组:2014年10月推出", "backgroundGraveyardText": "墓地", "backgroundGraveyardNotes": "探访一个毛骨悚然的墓地。", "backgroundHauntedHouseText": "鬼屋", - "backgroundHauntedHouseNotes": "潜行通过一间鬼屋。", + "backgroundHauntedHouseNotes": "悄悄穿过一间鬼屋。", "backgroundPumpkinPatchText": "南瓜田", - "backgroundPumpkinPatchNotes": "在南瓜田雕刻杰克南瓜灯笼。", + "backgroundPumpkinPatchNotes": "在南瓜田里雕刻杰克南瓜灯。", "backgrounds112014": "第6组:2014年11月推出", "backgroundHarvestFeastText": "大丰收", "backgroundHarvestFeastNotes": "享受着一场大丰收。", @@ -49,17 +49,17 @@ "backgrounds122014": "第7组:2014年12月推出", "backgroundIcebergText": "冰山", "backgroundIcebergNotes": "在冰山上滑雪。", - "backgroundTwinklyLightsText": "冬天一闪一闪的光", + "backgroundTwinklyLightsText": "冬日闪光", "backgroundTwinklyLightsNotes": "漫步在满是节日灯光的树林中。", "backgroundSouthPoleText": "南极", "backgroundSouthPoleNotes": "造访冰雪纷飞的南极。", "backgrounds012015": "第8组:2015年1月推出", "backgroundIceCaveText": "冰穴", - "backgroundIceCaveNotes": "掉进冰穴。", + "backgroundIceCaveNotes": "落入冰穴。", "backgroundFrigidPeakText": "寒冰山顶", "backgroundFrigidPeakNotes": "登上寒冰山顶。", "backgroundSnowyPinesText": "落雪的松林", - "backgroundSnowyPinesNotes": "躲在落雪的松林中。", + "backgroundSnowyPinesNotes": "躲入落雪的松林中。", "backgrounds022015": "第9组:2015年2月推出", "backgroundBlacksmithyText": "铁匠坊", "backgroundBlacksmithyNotes": "铁匠坊里的工人。", @@ -69,7 +69,7 @@ "backgroundDistantCastleNotes": "守卫远方的城堡。", "backgrounds032015": "第10组:2015年3月推出", "backgroundSpringRainText": "春雨", - "backgroundSpringRainNotes": "在春天的细雨中跳舞。", + "backgroundSpringRainNotes": "在春天的细雨中舞蹈。", "backgroundStainedGlassText": "花窗玻璃", "backgroundStainedGlassNotes": "欣赏绚丽的彩色玻璃花窗。", "backgroundRollingHillsText": "起伏的山丘", @@ -108,7 +108,7 @@ "backgroundSunsetSavannahText": "日落的大草原", "backgroundSunsetSavannahNotes": "悄悄穿过日落的大草原。", "backgroundTwinklyPartyLightsText": "闪耀的派对灯光", - "backgroundTwinklyPartyLightsNotes": "在闪耀的派对灯光下跳舞!", + "backgroundTwinklyPartyLightsNotes": "在闪耀的派对灯光下舞蹈!", "backgrounds092015": "第16组:2015年9月推出", "backgroundMarketText": "Habitica市场", "backgroundMarketNotes": "在Habitica市场里购物。", @@ -129,7 +129,7 @@ "backgroundNightDunesText": "夜幕沙丘", "backgroundNightDunesNotes": "在夜幕沙丘中静静穿行。", "backgroundSunsetOasisText": "日落绿洲", - "backgroundSunsetOasisNotes": "沐浴在日落绿洲中。", + "backgroundSunsetOasisNotes": "在日落绿洲里沐浴。", "backgrounds122015": "第19组:2015年12月推出", "backgroundAlpineSlopesText": "滑雪山坡", "backgroundAlpineSlopesNotes": "在山坡上滑雪。", @@ -155,20 +155,20 @@ "backgroundDeepMineText": "深矿", "backgroundDeepMineNotes": "在深矿中发现稀有金属。", "backgroundRainforestText": "热带雨林", - "backgroundRainforestNotes": "到雨林中冒险。", + "backgroundRainforestNotes": "冒险进入雨林。", "backgroundStoneCircleText": "巨石阵", - "backgroundStoneCircleNotes": "在巨石阵中释放魔法。", + "backgroundStoneCircleNotes": "在巨石阵里释放魔法。", "backgrounds042016": "第23组:2016年4月推出", "backgroundArcheryRangeText": "射箭场", - "backgroundArcheryRangeNotes": "箭射红心师资准。", - "backgroundGiantFlowersText": "巨大的花", + "backgroundArcheryRangeNotes": "在射箭场练习。", + "backgroundGiantFlowersText": "巨人之花", "backgroundGiantFlowersNotes": "在巨大的花顶嬉戏。", "backgroundRainbowsEndText": "彩虹尽头", "backgroundRainbowsEndNotes": "我欲穿花寻路,直入白云深处。", "backgrounds052016": "第24组:2016年5月推出", "backgroundBeehiveText": "蜂窝", "backgroundBeehiveNotes": "作蜜不忙采蜜忙,蜜成又带百花香。", - "backgroundGazeboText": "亭子", + "backgroundGazeboText": "观景亭", "backgroundGazeboNotes": "寒食寻芳游不足,溪亭还醉绿杨烟。", "backgroundTreeRootsText": "树根", "backgroundTreeRootsNotes": "探索茂密的树根。", @@ -181,14 +181,14 @@ "backgroundWaterfallRockNotes": "飞流直下三千尺,疑似银河落九天。", "backgrounds072016": "第26组:2016年7月推出", "backgroundAquariumText": "水族箱", - "backgroundAquariumNotes": "在水族箱中上下浮动。", + "backgroundAquariumNotes": "在水族箱里上下浮动。", "backgroundDeepSeaText": "深海", - "backgroundDeepSeaNotes": "在深海中潜水。", + "backgroundDeepSeaNotes": "深海潜水。", "backgroundDilatoryCastleText": "拖延城堡", "backgroundDilatoryCastleNotes": "游过拖延城堡。", "backgrounds082016": "第27组:2016年8月推出", "backgroundIdyllicCabinText": "田园小屋", - "backgroundIdyllicCabinNotes": "在田园小屋里隐居。", + "backgroundIdyllicCabinNotes": "隐居在田园小屋。", "backgroundMountainPyramidText": "高山金字塔", "backgroundMountainPyramidNotes": "攀登高山金字塔。", "backgroundStormyShipText": "风暴船", @@ -197,9 +197,9 @@ "backgroundCornfieldsText": "玉米地", "backgroundCornfieldsNotes": "在玉米地里享受外出的美好时光。", "backgroundFarmhouseText": "农舍", - "backgroundFarmhouseNotes": "对在你去农舍路上遇到的动物们说你好。", + "backgroundFarmhouseNotes": "对去农舍路上遇到的动物们打招呼。", "backgroundOrchardText": "果林", - "backgroundOrchardNotes": "丰收。", + "backgroundOrchardNotes": "在果园里采摘成熟的水果。", "backgrounds102016": "第29组:2016年10月推出", "backgroundSpiderWebText": "蜘蛛网", "backgroundSpiderWebNotes": "被蜘蛛网缠住。", @@ -215,10 +215,10 @@ "backgroundWindyAutumnText": "刮风的秋天", "backgroundWindyAutumnNotes": "在刮风的秋天中追赶落叶。", "incentiveBackgrounds": "简约背景套装", - "backgroundVioletText": "紫罗兰色的", - "backgroundVioletNotes": "一个充满生气的紫罗兰背景。", + "backgroundVioletText": "紫罗兰境", + "backgroundVioletNotes": "充满生气的紫罗兰境。", "backgroundBlueText": "蓝色", - "backgroundBlueNotes": "基础蓝色背景。", + "backgroundBlueNotes": "基础的蓝色背景。", "backgroundGreenText": "绿色", "backgroundGreenNotes": "非凡的绿色背景。", "backgroundPurpleText": "紫色", @@ -247,7 +247,7 @@ "backgroundTreasureRoomText": "珍藏室", "backgroundTreasureRoomNotes": "沐浴在珍藏室的荣光中。", "backgroundWeddingArchText": "婚礼拱门", - "backgroundWeddingArchNotes": "在婚礼拱门下摆姿势。", + "backgroundWeddingArchNotes": "在婚礼拱门下摆pose。", "backgrounds032017": "第34组:2017年3月推出", "backgroundMagicBeanstalkText": "魔法豌豆藤", "backgroundMagicBeanstalkNotes": "爬上魔法豌豆藤。", @@ -259,7 +259,7 @@ "backgroundBugCoveredLogText": "错误覆盖记录", "backgroundBugCoveredLogNotes": "夏虫不可语于冰,笃于时也;井蛙不可语于海,拘于虚也;曲士不可语于道,束于教也。", "backgroundGiantBirdhouseText": "巨大的鸟巢", - "backgroundGiantBirdhouseNotes": "在一个巨大的鸟巢栖息.", + "backgroundGiantBirdhouseNotes": "在一个巨大的鸟巢栖息。", "backgroundMistShroudedMountainText": "云雾萦绕的山峰", "backgroundMistShroudedMountainNotes": "云雾萦绕的山峰顶端。", "backgrounds052017": "第36组:2017年5月推出", @@ -268,7 +268,7 @@ "backgroundHabitCityStreetsText": "Habit城市的街道", "backgroundHabitCityStreetsNotes": "探索Habit城市的街道。", "backgroundOnATreeBranchText": "在树枝上", - "backgroundOnATreeBranchNotes": "栖在树枝上。", + "backgroundOnATreeBranchNotes": "栖息在树枝上。", "backgrounds062017": "第37组:2017年6月推出", "backgroundBuriedTreasureText": "埋藏的宝藏", "backgroundBuriedTreasureNotes": "发掘被埋没的珍宝。", @@ -278,7 +278,7 @@ "backgroundSandcastleNotes": "统治一座沙堡。", "backgrounds072017": "第38组:2017年7月推出", "backgroundGiantSeashellText": "巨大的贝壳", - "backgroundGiantSeashellNotes": "在一个巨大的贝壳里面闲逛。", + "backgroundGiantSeashellNotes": "在一个巨大的贝壳里闲逛。", "backgroundKelpForestText": "海带森林", "backgroundKelpForestNotes": "勇闯海带森林。", "backgroundMidnightLakeText": "午夜之湖", @@ -308,12 +308,12 @@ "backgroundFiberArtsRoomText": "纤维艺术室", "backgroundFiberArtsRoomNotes": "在纤维艺术室纺织。", "backgroundMidnightCastleText": "午夜城堡", - "backgroundMidnightCastleNotes": "在午夜城堡漫步。", + "backgroundMidnightCastleNotes": "漫步在午夜城堡。", "backgroundTornadoText": "龙卷风", "backgroundTornadoNotes": "飞跃龙卷风。", "backgrounds122017": "第43组:2017年12月推出", - "backgroundCrosscountrySkiTrailText": "穿过国家的滑雪道", - "backgroundCrosscountrySkiTrailNotes": "沿着跨国滑雪道滑行。", + "backgroundCrosscountrySkiTrailText": "跨国雪道", + "backgroundCrosscountrySkiTrailNotes": "沿着跨国雪道滑行。", "backgroundStarryWinterNightText": "星光闪闪的冬夜", "backgroundStarryWinterNightNotes": "赞美一个星光闪闪的冬夜。", "backgroundToymakersWorkshopText": "玩具制造者的工作室", @@ -334,18 +334,18 @@ "backgroundRoseGardenNotes": "在香气四溢的玫瑰园中来一场邂逅。", "backgrounds032018": "第46组:2018年3月推出", "backgroundGorgeousGreenhouseText": "华丽温室", - "backgroundGorgeousGreenhouseNotes": "在华丽温室内培育的植物中漫步。", + "backgroundGorgeousGreenhouseNotes": "漫步在华丽温室的植物群中。", "backgroundElegantBalconyText": "高雅阳台", "backgroundElegantBalconyNotes": "从一个高雅阳台向外眺望风景。", "backgroundDrivingACoachText": "驾驶马车", - "backgroundDrivingACoachNotes": "享受驾驶马车穿越花丛。", + "backgroundDrivingACoachNotes": "享受着驾驶马车穿越花丛的奇妙体验。", "backgrounds042018": "第47组:2018年4月推出", "backgroundTulipGardenText": "郁金香花园", "backgroundTulipGardenNotes": "蹑手蹑脚地通过郁金香花园。", "backgroundFlyingOverWildflowerFieldText": "一片野花", "backgroundFlyingOverWildflowerFieldNotes": "在一片野花上方翱翔。", "backgroundFlyingOverAncientForestText": "古老的森林", - "backgroundFlyingOverAncientForestNotes": "飞越古老的森林上方。", + "backgroundFlyingOverAncientForestNotes": "飞越古老的森林。", "backgrounds052018": "第48组:2018年5月推出", "backgroundTerracedRiceFieldText": "水稻梯田", "backgroundTerracedRiceFieldNotes": "在生长的季节享受水稻梯田吧。", @@ -383,7 +383,7 @@ "backgroundCozyBarnNotes": "与你的宠物和坐骑在舒适的谷仓放松。", "backgrounds102018": "第53组:2018年10月推出", "backgroundBayouText": "黑暗河口", - "backgroundBayouNotes": "沐浴在萤火虫的光芒中的朦胧的河口上。", + "backgroundBayouNotes": "在朦胧的河口上沐浴萤火虫的光芒。", "backgroundCreepyCastleText": "恐怖城堡", "backgroundCreepyCastleNotes": "勇气十足的接近一个令人毛骨悚然的城堡。", "backgroundDungeonText": "地牢", @@ -406,9 +406,9 @@ "backgroundAvalancheText": "雪崩", "backgroundAvalancheNotes": "逃离雷鸣般的威力的雪崩。", "backgroundArchaeologicalDigText": "考古挖掘", - "backgroundArchaeologicalDigNotes": "在考古挖掘中发现古老的过去的秘密。", + "backgroundArchaeologicalDigNotes": "在考古挖掘中发现古老过去的秘密。", "backgroundScribesWorkshopText": "抄写员的工作坊", - "backgroundScribesWorkshopNotes": "在抄写员的工作室里写下你的下一个伟大的卷轴。", + "backgroundScribesWorkshopNotes": "在抄写员的工作室里撰写你的下一个伟大卷轴。", "backgrounds022019": "第57组:2019年2月推出", "backgroundMedievalKitchenText": "中古厨房", "backgroundMedievalKitchenNotes": "在一间中世纪风的厨房里,制造一场风暴。", @@ -422,7 +422,7 @@ "backgroundFieldWithColoredEggsText": "彩蛋田野", "backgroundFieldWithColoredEggsNotes": "在彩蛋田野里搜寻春之宝藏。", "backgroundFlowerMarketText": "鲜花集市", - "backgroundFlowerMarketNotes": "在鲜花集市中找到与您的花束或花园相配的完美颜色。", + "backgroundFlowerMarketNotes": "在鲜花集市为您的花园找到完美的颜色。", "backgroundSeasideCliffsText": "海边悬崖", "backgroundSchoolOfFishNotes": "与鱼群共游。", "backgroundSchoolOfFishText": "欢游鱼群", @@ -438,7 +438,7 @@ "backgroundBlossomingDesertText": "盛花沙漠", "backgroundHalflingsHouseNotes": "探访迷人的矮人之屋。", "backgroundHalflingsHouseText": "矮人之屋", - "backgroundBirchForestNotes": "在平静的桦木森林里闲荡。", + "backgroundBirchForestNotes": "在平静的桦木森林里闲逛。", "backgroundBirchForestText": "桦木森林", "backgrounds042019": "第59组:2019年4月推出", "backgroundTreehouseNotes": "隐匿于树林中,居住在你独有的树屋里。", @@ -448,9 +448,9 @@ "backgroundAmidAncientRuinsNotes": "怀着崇敬的心情站在古代遗迹中遥想神秘的过去。", "backgroundAmidAncientRuinsText": "在古代遗迹中", "backgrounds082019": "第63组:2019年8月推出", - "backgroundAmongGiantAnemonesNotes": "探索暗礁生命,在巨型海葵间躲过掠食者。", + "backgroundAmongGiantAnemonesNotes": "探索暗礁生命,在巨型海葵间躲避掠食者。", "backgroundAmongGiantAnemonesText": "在巨型海葵间", - "backgroundFlyingOverTropicalIslandsNotes": "飞越热带岛屿上空时,屏息于俯瞰美景。", + "backgroundFlyingOverTropicalIslandsNotes": "飞越热带岛屿时,屏息俯瞰美景。", "backgroundFlyingOverTropicalIslandsText": "飞越热带岛屿", "backgroundLakeWithFloatingLanternsNotes": "在浮灯湖面的节日气氛中眺望星空。", "backgrounds092019": "第64组:2019年9月推出", @@ -488,7 +488,7 @@ "backgrounds122019": "第67组:2019年12月推出", "backgroundSnowglobeNotes": "摇一摇雪景球,在冬季风景的缩影中占据一席之地。", "backgroundSnowglobeText": "雪景球", - "backgroundDesertWithSnowNotes": "观赏白雪皑皑的沙漠的稀世宁静之美。", + "backgroundDesertWithSnowNotes": "观赏白雪沙漠的稀世宁静之美。", "backgroundDesertWithSnowText": "白雪皑皑的沙漠", "backgroundBirthdayPartyNotes": "庆祝你最喜欢的Habitica居民的生日派对。", "backgroundBirthdayPartyText": "生日派对", @@ -516,9 +516,9 @@ "backgrounds032020": "第70组:2020年3月推出", "backgroundRainyBarnyardNotes": "漫步在多雨的农家庭院。", "backgroundRainyBarnyardText": "多雨的农家庭院", - "backgroundHeatherFieldNotes": "享受石南属田的香气。", - "backgroundHeatherFieldText": "石南属田", - "backgroundAnimalCloudsNotes": "发挥你的想象力,找动物形的云朵。", + "backgroundHeatherFieldNotes": "享受杂色田野的芬芳。", + "backgroundHeatherFieldText": "杂色田野", + "backgroundAnimalCloudsNotes": "发挥你的想象力,找到动物形的云朵。", "backgroundAnimalCloudsText": "动物型的云朵", "backgrounds042020": "第71组:2020年4月推出", "backgrounds052020": "第72组:2020年5月推出", @@ -526,11 +526,11 @@ "backgroundStrawberryPatchText": "草莓园", "backgroundHotAirBalloonNotes": "乘坐热气球俯视风景。", "backgroundHotAirBalloonText": "热气球", - "backgroundHabitCityRooftopsNotes": "在Habit城市的屋顶之间跳跃冒险。", + "backgroundHabitCityRooftopsNotes": "在Habit城市的屋顶间跳跃冒险。", "backgroundHabitCityRooftopsText": "Habit城市的屋顶", "backgroundVikingShipText": "维京船", "backgroundVikingShipNotes": "在维京船上启航冒险。", - "backgroundSaltLakeNotes": "受盐湖的红色涟漪惊吓。", + "backgroundSaltLakeNotes": "被盐湖的红色涟漪惊吓。", "backgroundSaltLakeText": "盐湖", "backgroundRelaxationRiverNotes": "悠闲地沿着放松河漂流。", "backgroundRelaxationRiverText": "放松河", @@ -540,7 +540,7 @@ "backgroundUnderwaterRuinsText": "水下废墟", "backgroundSwimmingAmongJellyfishNotes": "与水母群共游,既美丽危险,又惊险刺激。", "backgroundSwimmingAmongJellyfishText": "在水母群中穿梭", - "backgroundBeachCabanaNotes": "在海滩小屋中避阳。", + "backgroundBeachCabanaNotes": "躺在海滩小屋。", "backgroundBeachCabanaText": "海滩小屋", "backgroundProductivityPlazaNotes": "漫步Habit城的生产力广场来获取一些灵感。", "backgroundProductivityPlazaText": "生产力广场", @@ -570,8 +570,8 @@ "backgroundMysticalObservatoryNotes": "从神秘天文台的星空中解读你的命运。", "backgroundMysticalObservatoryText": "神秘天文台", "backgrounds112020": "第78组:2020年11月推出", - "backgroundInsideAnOrnamentNotes": "在饰物内部感受节日的气氛。", - "backgroundInsideAnOrnamentText": "饰物内的世界", + "backgroundInsideAnOrnamentNotes": "在饰品内部感受节日的气氛。", + "backgroundInsideAnOrnamentText": "饰品内部", "backgroundHolidayHearthNotes": "在假日围炉旁放松、暖身、烘干。", "backgroundHolidayHearthText": "假日围炉", "backgroundGingerbreadHouseNotes": "欣赏姜饼屋的美景,体验其香气,(如果你敢的话)品尝其味道。", @@ -584,18 +584,18 @@ "backgroundHotSpringNotes": "让温泉融化你的烦恼。", "backgroundHotSpringText": "温泉", "backgrounds012021": "第80组:2021年1月推出", - "backgroundThroneRoomNotes": "请一位听众来你的王座室。", - "backgroundThroneRoomText": "王座室", + "backgroundThroneRoomNotes": "邀请一位听众来到王座前。", + "backgroundThroneRoomText": "王座之殿", "backgroundHeartShapedBubblesText": "心形泡泡", "backgroundHeartShapedBubblesNotes": "快乐地漂浮在心形泡泡中。", "backgroundFlyingOverGlacierNotes": "飞越冰川,见证冰冻的威严。", "backgroundFlyingOverGlacierText": "飞越冰川", "backgrounds022021": "第81组:2021年2月推出", - "backgroundSpringThawNotes": "看着冬天屈服于春天。", + "backgroundSpringThawNotes": "见证冬天屈服于春天。", "backgroundSpringThawText": "春季解冻", "backgroundSplashInAPuddleNotes": "欣赏暴风骤雨的续集——跳水坑,溅水花。", "backgroundSplashInAPuddleText": "踩水坑", - "backgroundInTheArmoryNotes": "在军械库武装。", + "backgroundInTheArmoryNotes": "在军械库武装自己。", "backgroundInTheArmoryText": "军械库", "backgrounds032021": "第82组:2021年3月推出", "backgroundElegantGardenNotes": "漫步在修剪整齐的雅园小径上。", @@ -608,14 +608,14 @@ "backgroundWindmillsNotes": "骑上快马,同假想的敌人作战。", "backgroundWindmillsText": "风车", "backgroundDragonsLairNotes": "尽量不要打扰龙穴的居住者。", - "backgroundDragonsLairText": "龙之巢", - "backgroundAfternoonPicnicNotes": "独自或与你的宠物一起享受午后野餐。", + "backgroundDragonsLairText": "龙穴", + "backgroundAfternoonPicnicNotes": "独自享受午后野餐,你也可以选择与宠物一起。", "backgroundAfternoonPicnicText": "午后野餐", "backgrounds052021": "第84组:2021年5月推出", "backgroundWaterMillNotes": "看水磨坊的轮子转啊转。", "backgroundWaterMillText": "水磨坊", "backgroundForestedLakeshoreNotes": "森林湖畔的美景让你的队伍羡慕不已。", - "backgroundClotheslineNotes": "将衣服挂在晾衣绳上晾晒。", + "backgroundClotheslineNotes": "将衣服挂在晾衣绳上晒干。", "backgroundForestedLakeshoreText": "森林湖畔", "backgroundClotheslineText": "晾衣绳", "backgrounds062021": "第85组:2021年6月推出", @@ -623,7 +623,7 @@ "backgrounds072021": "第86组:2021年7月推出", "backgroundRagingRiverNotes": "站在汹涌澎湃的河水中。", "backgroundRagingRiverText": "汹涌的河流", - "backgroundGhostShipNotes": "你尝试登上幽灵船,证明传说是真实的。", + "backgroundGhostShipNotes": "你尝试登上幽灵船,想要证实传说。", "backgroundGhostShipText": "幽灵船", "backgroundUnderwaterAmongKoiNotes": "混入水下的锦鲤群中,锦鲤金光闪闪,让人眼花缭乱。", "backgrounds082021": "第87组:2021年8月推出", @@ -637,7 +637,7 @@ "backgroundAutumnPoplarsText": "秋天的白杨林", "backgrounds092021": "第88组:2021年9月推出", "backgroundAutumnLakeshoreText": "秋天的湖畔", - "backgroundAutumnPoplarsNotes": "欣喜于秋季白杨林棕色和金色的辉煌色调。", + "backgroundAutumnPoplarsNotes": "欣喜秋季白杨林棕色和金色的辉煌色调。", "backgroundVineyardText": "葡萄园", "backgroundVineyardNotes": "探索一个丰收的葡萄园。", "backgrounds102021": "第89组:2021年10月推出", @@ -733,7 +733,7 @@ "backgroundCemeteryGateText": "墓地大门", "backgroundCemeteryGateNotes": "厉鬼出没的墓地大门。", "backgroundAutumnBridgeText": "秋日小桥", - "backgrounds112022": "第102组:2022年11月发布", + "backgrounds112022": "第102组:2022年11月推出", "backgroundAmongGiantMushroomsNotes": "惊叹于巨型蘑菇丛。", "backgroundAmongGiantMushroomsText": "在巨型蘑菇丛", "backgroundMistyAutumnForestNotes": "漫步在雾秋森林。", @@ -745,5 +745,43 @@ "backgroundBranchesOfAHolidayTreeNotes": "在假日树的树枝上嬉戏。", "backgroundInsideACrystalText": "在水晶内部", "backgroundInsideACrystalNotes": "在水晶内部观察外界。", - "backgroundSnowyVillageText": "雪之乡" + "backgroundSnowyVillageText": "雪之乡", + "backgrounds012023": "第104组:2023年1月推出", + "backgroundRimeIceText": "雾凇之冰", + "backgroundRimeIceNotes": "欣赏闪闪发光的雾凇冰。", + "backgroundSnowyTempleText": "雪神庙", + "backgroundSnowyTempleNotes": "眺望宁静的雪神庙。", + "backgroundWinterLakeWithSwansText": "冬季天鹅湖", + "backgroundWinterLakeWithSwansNotes": "在冬季湖泊与天鹅一起享受大自然。", + "eventBackgrounds": "活动背景", + "backgroundBirthdayBashText": "生日派对", + "backgroundBirthdayBashNotes": "Habitica正在举办生日派对,每个人都被邀请了!", + "backgroundInFrontOfFountainText": "喷泉正前方", + "backgroundGoldenBirdcageText": "纯金鸟笼", + "backgroundGoldenBirdcageNotes": "躲在纯金鸟笼里。", + "backgroundFancyBedroomText": "豪华卧房", + "backgroundFancyBedroomNotes": "在豪华卧房里尽情享受。", + "backgrounds022023": "第105组:2023年2月推出", + "backgroundInFrontOfFountainNotes": "在喷泉前方漫步。", + "backgroundInAPaintingText": "沉浸在画中", + "backgroundOldTimeyBasketballCourtNotes": "在昔日的篮球场上投篮。", + "backgroundJungleWateringHoleText": "丛林水坑", + "backgrounds032023": "第106组:2023年3月推出", + "backgrounds052023": "第108组:2023年5月推出", + "backgroundLeafyTreeTunnelNotes": "漫步在落叶隧道。", + "backgroundSpringtimeShowerText": "春日阵雨", + "backgroundSpringtimeShowerNotes": "观赏春日阵雨。", + "backgroundUnderWisteriaText": "紫藤花下", + "backgroundUnderWisteriaNotes": "在紫藤花下放松。", + "backgroundInAPaintingNotes": "在绘画中享受创造之美。", + "backgroundFlyingOverHedgeMazeText": "飞越树篱迷宫", + "backgroundCretaceousForestText": "白垩纪森林", + "backgroundCretaceousForestNotes": "欣赏白垩纪森林中古老的绿色植物。", + "backgroundOldTimeyBasketballCourtText": "昔日篮球场", + "backgroundJungleWateringHoleNotes": "在丛林水坑边停下,喝一口解解渴。", + "backgroundMangroveForestText": "红树林", + "backgroundMangroveForestNotes": "探索红树林的边缘。", + "backgrounds042023": "第107组:2023年4月推出", + "backgroundLeafyTreeTunnelText": "落叶隧道", + "backgroundFlyingOverHedgeMazeNotes": "飞越树篱迷宫时的惊奇体验。" } diff --git a/website/common/locales/zh/challenge.json b/website/common/locales/zh/challenge.json index be3f3a9992..40b7439865 100644 --- a/website/common/locales/zh/challenge.json +++ b/website/common/locales/zh/challenge.json @@ -36,7 +36,7 @@ "sureDelCha": "你确定要删除这个挑战吗?", "sureDelChaTavern": "你确定要刪除這個挑战嗎? 你的宝石將不会被退回。", "keepTasks": "保留任务", - "owned": "已拥有的", + "owned": "已拥有", "not_owned": "未拥有", "not_participating": "未参与", "clone": "复制", diff --git a/website/common/locales/zh/character.json b/website/common/locales/zh/character.json index 3877712a9b..df806fc7ee 100644 --- a/website/common/locales/zh/character.json +++ b/website/common/locales/zh/character.json @@ -16,7 +16,7 @@ "inventory": "物品栏", "social": "社交", "lvl": "等级", - "buffed": "增益魔法", + "buffed": "增益生效", "bodyBody": "身体", "size": "身材", "locked": "未解锁", @@ -99,7 +99,7 @@ "levelBonus": "等级加成", "allocatedPoints": "分配的属性点", "allocated": "分配", - "buffs": "增益魔法", + "buffs": "增益", "characterBuild": "角色塑造", "class": "职业", "experience": "经验值", @@ -141,7 +141,7 @@ "streaksFrozen": "连击冻结", "streaksFrozenText": "被错过的每日任务上的连击将不会在今天结束时被重置。", "purchaseFor": "花费<%= cost %>宝石购买?", - "purchaseForHourglasses": "用<%= cost %>个沙漏去购买?", + "purchaseForHourglasses": "花费<%= cost %>个神秘沙漏购买?", "notEnoughMana": "魔法值不足。", "invalidTarget": "无效的目标。", "youCast": "你使用了<%= spell %>。", diff --git a/website/common/locales/zh/communityguidelines.json b/website/common/locales/zh/communityguidelines.json index 4aea651fea..2b5ff32b44 100644 --- a/website/common/locales/zh/communityguidelines.json +++ b/website/common/locales/zh/communityguidelines.json @@ -4,55 +4,55 @@ "commGuideHeadingWelcome": "欢迎来到Habitica!", "commGuidePara001": "你好,冒险家!欢迎来到Habitica,这个大陆上有创造力,健康生活,以及偶尔出现的狂暴的狮鹫。我们有一个快乐的社区,由乐于助人的玩家组成,在自我提升的过程中互相支持。要融入这里,只需要态度积极向上,尊重他人,理解每个人都有不同的特长和局限——包括你自己!Habitica的居民待人耐心,只要可以就会尽力帮助。", "commGuidePara002": "为了保证每个人在社区中都安全,快乐,高产,我们确实有一些准则。我们谨慎地制定规则,使其尽可能友好和易读。请在开始聊天之前花一点时间阅读它们。", - "commGuidePara003": "这些规定适用于我们使用到的所有社区空间,包括(但不限于)Trello、Github、Weblate还有Fandom上的Habitica Wiki。偶尔,会有一些意想不到的事情发生,例如一个新的冲突事端的出现或者是一个恶意捣乱的人。当这些发生的时候,管理员们可能会适当的修改这些准则以确保社区的安全。别担心,假如指导准则有所更动,Bailey会发布公告来通知你!", + "commGuidePara003": "这些规则适用于我们使用的所有社交空间,包括(但不限于)Trello、GitHub、Weblate和Fandom上的Habitica Wiki。随着社区的发展和变化,他们的规则可能会不时调整。当这里列出的社区规则发生实质性变化时,您将在Bailey公告或我们的社交媒体中听到这一消息!", "commGuideHeadingInteractions": "Habitica中的互动", "commGuidePara015": "Habitica有两种社交空间:公共的和私人的。公共空间包括酒馆、公共公会、GitHub、Trello以及维基。私人空间包括私人公会、队伍聊天室以及私信。所有昵称和@用户名必须符合公共空间准则。若要修改昵称和/或@用户名,请前往网页上的用户 > 角色信息,并点击“编辑”按钮。在手机上请前往菜单>设置>角色信息。", "commGuidePara016": "当参与Habitica的公共区域时,为了保证所有人的安全和愉快,有一些事项需要遵守。", "commGuideList02A": " 彼此尊重 成为一位彬彬有礼、善良且乐于助人的人。请记得Habitica居民来自五湖四海,拥有各种各样的经历和背景。Habitica正因此才多姿多彩!建立社区意味着我们要尊重与赞赏彼此的相似与不同。", - "commGuideList02B": "在公共和私人空间里遵守所有的 使用条款。", + "commGuideList02B": "在公共和私人空间里遵守所有的使用条款。", "commGuideList02C": "不要发布任何包含有暴力、恐吓,或明显/隐晦的有关性的内容;禁止发布宣扬对任何个人或团体的歧视、偏见、种族主义、性别歧视,及仇恨性、骚扰性、伤害性的文字或者图片 ,包括污蔑以及声明。这些内容即使是玩笑或表情包也不合适。不是每一个人都有同样的幽默感,所以某些你认为是玩笑的话可能对他人会造成伤害。", "commGuideList02D": "所有讨论必须对所有年龄段人群适用。 请避免在公共区域讨论成人话题。Habitica居民来自各行各业,还有许多年轻的Habitica居民在使用这个网站。我们希望我们的社区能尽可能地舒适和包容。", - "commGuideList02E": "避免亵渎言论。这包括可能在别的网站能够接受的,轻微的,对宗教的秽语。这里的人们有着各种各样的宗教和文化背景,我们希望保证他们能在公共空间感觉到自在。如果一位版主或工作人员告知你某个词语不被Habitica接受,那么就算你不理解为什么,也要遵守这个规则。另外,侮辱别人将会受到严重的处罚,因为这种行为也同时违反了服务条款。", - "commGuideList02F": "请避免在酒馆和别的无关场所中对引起分裂的话题进行讨论。如果有人提到了准则允许但对你有害的事情,可以礼貌地让别人知道这一点。如果你觉得有人说了粗鲁或有害的事情,不要接触他们。如果有人告诉你你让他们感到不舒服,反思一下自己而不是愤怒地回答。但是如果你感到一个谈论变的过热,过于情绪化,或有伤害性,不要再参与,并把该帖子举报,让我们知道。版主会尽快回应。你也可以发电子邮件给admin@habitica.com并且包括截屏如果它们有用的话。", - "commGuideList02G": "请立即遵守任何版主的要求这可能包括但不限于,限制你的发帖地点,编辑你的个人资料以删除不合适的内容,将讨论移至更合适的地方等等。不要与版主争论。如果你对版主审核的结果存在疑虑或意见,请发送电子邮箱 admin@habitica.com 来联系我们的社区管理员。", - "commGuideList02J": "请勿发送垃圾消息。垃圾消息包括但不限于:在多个地方发布相同的评论或询问,发布没有说明和上下文的链接,发布无意义的消息,重复宣传某个公会、队伍或挑战,或一次发送多条消息。如果用户点击某个链接会给你带来任何利益,你需要在消息中告知该信息,否则这些消息也将被视为垃圾消息。版主有权界定垃圾信息的范围。", + "commGuideList02E": "避免脏话。这包括缩写或模糊的脏话。这里的人们有着各种各样的宗教和文化背景,我们希望保证他们能在公共空间感觉到自在。如果一位工作人员告知你某个词语不被Habitica接受,那么就算你不理解为什么,也要遵守这个规则。另外,侮辱别人将会受到严重的处罚,因为这种行为也同时违反了服务条款。", + "commGuideList02F": "请避免在酒馆和别的无关场所中对引起分裂的话题进行讨论。如果有人提到了准则允许但对你有害的事情,可以礼貌地让别人知道这一点。如果你觉得有人说了粗鲁或有害的事情,不要接触他们。如果有人告诉你你让他们感到不舒服,反思一下自己而不是愤怒地回答。但是如果你感到一个谈论变的过热,过于情绪化,或有伤害性,不要再参与,并把该帖子举报,让我们知道。员工会尽快回应。你也可以发电子邮件给admin@habitica.com并且包括截屏如果它们有用的话。", + "commGuideList02G": "请立即遵守任何员工的要求这可能包括但不限于,限制你的发帖地点,编辑你的个人资料以删除不合适的内容,将讨论移至更合适的地方等等。不要与员工争论。如果你对员工审核的结果存在疑虑或意见,请发送电子邮箱 admin@habitica.com 来联系我们的社区管理员。", + "commGuideList02J": "请勿发送垃圾消息。垃圾消息包括但不限于:在多个地方发布相同的评论或询问,发布没有说明和上下文的链接,发布无意义的消息,重复宣传某个公会、队伍或挑战,或一次发送多条消息。如果用户点击某个链接会给你带来任何利益,你需要在消息中告知该信息,否则这些消息也将被视为垃圾消息。员工有权界定垃圾信息的范围。", "commGuideList02K": "请不要在公共聊天场合张贴大标题文本,尤其是在酒馆。比如说,全部大写的英文字母会让你看起来像是在叫喊,这会干扰舒适的气氛。", - "commGuideList02L": "我们非常不鼓励在公共场合交换个人信息——尤其是那些能够证明自己身份的信息。那些信息包括但不限于:你的地址、电子邮箱、API令牌和密码。这是为了你的安全!工作人员或管理员会根据自己的判断移除那些帖子。如果有人在私人公会、队伍或者私聊里问到你的这些私人信息,我们强烈建议你礼貌地拒绝他,并告知给任意一个工作人员或者管理员中。方法1,点击帖子下方的举报。方法2,发邮件至admin@habitica.com,包括截图。", + "commGuideList02L": "我们非常不鼓励在公共场合交换个人信息——尤其是那些能够证明自己身份的信息。那些信息包括但不限于:你的地址、电子邮箱、API令牌和密码。这是为了你的安全!工作人员会根据自己的判断移除那些帖子。如果有人在私人公会、队伍或者私聊里问到你的这些私人信息,我们强烈建议你礼貌地拒绝他,并告知给任意一个工作人员。方法1,点击帖子下方的举报。方法2,发邮件至admin@habitica.com,包括截图。", "commGuidePara019": "在私人空间中,用户有更多自由讨论他们喜欢的话题,但是仍然不能违反条款和条件,包括发布任何歧视、暴力或恐吓内容。注意,由于挑战名称会出现在胜利者的公共角色信息中,所有的挑战名称必须遵守公共空间指南,即使它们是在私人空间中。", "commGuidePara020": "私人信息(私信) 有一些附加要求。如果某人屏蔽了你,请不要在任何别的地方联系对方来解除屏蔽。而且你不应该用私信来寻求帮助(因为对问题的公开回答会帮助整个社区)。最后,不要给任何人发私信索取任何付费物品。", - "commGuidePara020A": "如果您看到一条您认为是违反公共空间指南的帖子或私人信息,或者您看到一条困扰您或让您不舒服的消息,您可以通过点击举报标志将其报告给管理员和工作人员。工作人员或者管理员会尽快对情况作出回应。请注意,故意举报无辜的帖子也是对社区准则的一种违反哦(具体见下方的“违规”)!如果您需要与我们的管理员联系,您也可以发邮件至 admin@habitica.com。当您遇到如下情况,您也可以这样举报,比如同一人在不同公会中有多个有问题的帖子,或者需要一些情况说明。您可以用您的母语与我们联系,但我们可能会使用Google翻译,无论您遇到任何问题,我们都希望您能够轻松的与我们交流。", + "commGuidePara020A": "如果您看到一条您认为是违反公共空间指南的帖子或私人信息,或者您看到一条困扰您或让您不舒服的消息,您可以通过点击举报标志将其报告给工作人员。工作人员会尽快对情况作出回应。请注意,故意举报无辜的帖子也是对社区准则的一种违反哦(具体见下方的“违规”)!如果您需要与我们的工作人员联系,您也可以发邮件至 admin@habitica.com。当您遇到如下情况,您也可以这样举报,比如同一人在不同公会中有多个有问题的帖子,或者需要一些情况说明。您可以用您的母语与我们联系,但我们可能会使用Google翻译,无论您遇到任何问题,我们都希望您能够轻松的与我们交流。", "commGuidePara021": "此外,Habitica中的一些公共区域还有另外的准则。", "commGuideHeadingTavern": "酒馆", "commGuidePara022": "酒馆是Habitica居民主要的交流地点。酒馆主人Daniel将店里打理的一尘不染,Lemoness乐意在你坐下聊天时变出几杯柠檬水。只是要记住……", - "commGuidePara023": "谈话倾向于围绕闲聊和生产力或生活改善提示 。因为酒馆只能保留200条信息,所以它不是个适合长话题的地方,尤其是敏感话题(例如政治、宗教、抑郁,哥布林猎杀是否该被禁止等)。这些讨论必需发布在合适的公会。管理员可以指导你找到一个合适的公会,但最终你有责任找到一个适当的地方来发布信息。", + "commGuidePara023": "谈话倾向于围绕闲聊和生产力或生活改善提示 。因为酒馆只能保留200条信息,所以它不是个适合长话题的地方,尤其是敏感或争议话题(例如政治、宗教、抑郁,哥布林猎杀是否该被禁止等)。这些讨论必需发布在合适的公会。工作人员可以指导你找到一个合适的公会,但最终你有责任找到一个适当的地方来发布信息。", "commGuidePara024": "不要在酒馆内讨论任何让人成瘾的东西。很多人用Habitica戒掉坏习惯,听到别人谈论这些让人上瘾/非法的东西,会让他们更难戒除!来到酒馆的人,请尊重你的小伙伴,替他们着想。这包括但不限于:抽烟、喝酒、赌博、色情、滥用药物。", "commGuidePara027": "当管理员示意您在其他地方进行对话时,如果没有相关的公会,他们可能会建议您使用Back Corner 。Back Corner公会是一个免费的公共空间,用于讨论潜在的敏感话题,只有在管理员的邀请你才能进入公会并使用它。这个公会由管理员小组严密监控。它不是进行正常的讨论或对话的地方,只有在适当的时候,你才会通过管理员进入公会。", "commGuideHeadingPublicGuilds": "公共公会", "commGuidePara029": "公开的公会就像酒馆,只是除了一般讨论外,他们有一个关注的主题 。公会聊天应该聚焦在这个主题上。例如 语言大师公会 如果突然专注起园艺而不是写作,这个公会就会被取消;或者 龙的发烧友公会 对解密古老卢恩文字就不会有兴趣。一些公会对这样要求比较宽松,但整体而言,尽量不要跑题 !", "commGuidePara031": "一些公开的公会可能包含敏感话题,比如关于抑郁、宗教或政治的话题。只要不违反条款与条件,以及公共空间准则,并将讨论限制在话题范围内,这些讨论是不被限制的。", "commGuidePara033": " 公开公会不能含有18禁内容。如果打算在里面定期地讨论这些敏感内容,应该在公会名称上标明。 这条规定是为了让所有玩家安全舒适的进行游戏。", - "commGuidePara035": "如果一个可疑的公会里包含了不同种类的敏感议题,请尊重你的小伙伴,在警告后面加以注明(例如“警告:里面含有自残内容”)。这些将会被定性为触发警告或是有备注的内容,除了既定的规则之外管理者可以定制自己的规则。如果可以的话,请使用 Markdown语法 来隐藏换行符下的潜在敏感内容,以便那些希望避免阅读该内容的人不会在滚动阅读时看见该内容。Habitica工作人员和管理员可以自行决定保留或移除这些内容。", + "commGuidePara035": "如果所讨论的公会有不同类型的敏感问题,请向您的Habitica伙伴发出警告(例如“自残警告”)。这些可能被描述为触发警告和内容注释,除了这里给出的规则外,公会可能还有自己的规则。Habitica的工作人员仍可以自行决定移除这些材料。", "commGuidePara036": "另外,敏感成份必须和主题有关——在对抗抑郁症的公会里谈及自残,是可以理解的;但在一个音乐公会里说这个可能就不太合适了。如果你看到某人一直违反社区准则且屡劝不听,请举报那些帖子。", "commGuidePara037": " 不应该建立任何用于攻击任何团体或个人的公会,不论是公开或是私人。建立这样的公会将会被立刻封禁。对抗坏习惯,而不是你的冒险者小伙伴!", "commGuidePara038": " 所有的酒馆挑战和公共公会的挑战也必须遵守这些规则 。", "commGuideHeadingInfractionsEtc": "违规,后果和恢复", "commGuideHeadingInfractions": "违规", - "commGuidePara050": "Habitica居民互相帮助互相尊重,并努力让整个社区更有趣更友好。然而在极少数情况下,Habitica居民的所作所为可能违反以上的准则。当这种情况发生时,管理员将采取一切必要行动来保持Habitica的可靠和舒适。", - "commGuidePara051": "违规形式各种各样,我们将根据其严重性进行处理。这些并不是全面的列表,管理员们可以根据自己的判断对这里未涉及的主题做出决定。他们在评估违规时会考虑到上下文。", + "commGuidePara050": "Habitica居民互相帮助互相尊重,并努力让整个社区更有趣更友好。然而在极少数情况下,Habitica居民的所作所为可能违反以上的准则。当这种情况发生时,工作人员将采取一切必要行动来保持Habitica的可靠和舒适。", + "commGuidePara051": "违规形式各种各样,我们将根据其严重性进行处理。这些并不是全面的列表,员工们可以根据自己的判断对这里未涉及的主题做出决定。他们在评估违规时会考虑到上下文。", "commGuideHeadingSevereInfractions": "严重违规", "commGuidePara052": "严重违规极大的伤害Habitica社区和用户的安全,因此会导致严重后果。", "commGuidePara053": "下面是一些严重违规的例子。这并非一个全面的列表。", "commGuideList05A": "违反条款", "commGuideList05B": "仇恨言论/图片,骚扰/跟踪,网络欺凌,网络论战和流氓行为", "commGuideList05C": "违规试用", - "commGuideList05D": "模仿工作人员和版主—— 包括声称用户个人创建的页面是属于Habitica官方的,或声称该页面内容有Habitica或其版主、工作人员参与", + "commGuideList05D": "模仿工作人员—— 包括声称用户个人创建的页面是属于Habitica官方的,或声称该页面内容有Habitica的工作人员参与", "commGuideList05E": "反复中度违规", "commGuideList05F": "创建一个重复帐号来逃避后果(例如,在被禁言之后新建一个帐号聊天)", - "commGuideList05G": "故意欺骗工作人员和版主为了逃避后果或让另一个用户陷入困境", + "commGuideList05G": "为了逃避后果故意欺骗工作人员或使其他用户陷入困境", "commGuideHeadingModerateInfractions": "中度违规", "commGuidePara054": "中度违规不会威胁社区的安全,但是会让人感到不愉快。这些违规将产生中等影响。当多次违规行为加一起,后果会愈发严重。", "commGuidePara055": "以下是一些中度违规的例子。这并非一个完整列表。", - "commGuideList06A": "忽视,不尊重或与管理员争吵。包括公开抱怨管理员或者其他用户、公开美化被禁用户或为其辩护,或者争论一位管理员的行为是否合适。如果你对某条规则或者管理员的行为感到顾虑,请通过邮件联系工作人员 ( admin@habitica.com )。", + "commGuideList06A": "无视、不尊重或与工作人员争吵这包括公开抱怨工作人员或其他用户,公开赞扬或捍卫被禁止的用户,或辩论工作人员的行为是否合适。如果您对某项规则或工作人员的行为感到担忧,请通过电子邮件说明(admin@habitica.com)。", "commGuideList06B": "不要越俎代庖。简要的说:友好地提及规则是个很好的做法。越俎代庖的行为包括告知,要求和/或强烈暗示某人必须采取您描述的措施来纠正错误。你可以警告某人已经违规,但是请勿要求他们做什么——例如,对违规的人说:“众所周知,人们不应该在酒馆这个地方发布令人感到不适的内容,所以你可能会想要删掉这个。”会比说:“我命令你赶紧把这玩意删了”好得多", "commGuideList06C": "恶意举报非违规帖子。", "commGuideList06D": "多次违反公共空间准则", @@ -61,12 +61,12 @@ "commGuidePara056": "一旦轻度违规,违规者会受到警告,而且会受到轻微的惩罚。屡教不改,继续违规则会导致更加严重的后果。", "commGuidePara057": "以下是一些轻度违规的例子。这并非一个完整的列表。", "commGuideList07A": "初次违反公共空间准则", - "commGuideList07B": "任何触发了管理员“请不要”的声明和行动。当你被要求不要公开做某事时,你所进行的行为可能会造成违规。如果管理员不得不向该用户发出多次提醒,该用户行为可能算作更严重的违规", + "commGuideList07B": "任何触发了工作人员“请不要”的声明和行动。当你被要求不要公开做某事时,你所进行的行为可能会造成违规。如果工作人员不得不向该用户发出多次提醒,该用户行为可能算作更严重的违规", "commGuidePara057A": "有的帖子可能会被隐藏起来,因为它们包含敏感信息或可能误导人们。通常,这不会被视为违规,尤其是在第一次发生的时候!", "commGuideHeadingConsequences": "后果", "commGuidePara058": "在Habitica——与现实生活一样——每一个行为都有一个结果,无论是一直跑步的你会变得健康,还是吃太多糖的你会蛀牙,还是一直学习的你会通过考试。", "commGuidePara059": "同样的,所有的违规有着不同的后果。 以下列出一些后果的例子。", - "commGuidePara060": "如果你的行为带来中度或者严重的后果,那么你会收到一封来自工作人员或是论坛版主对于违规行为解释说明的电子邮件:", + "commGuidePara060": "如果您的违规行为造成了中等或严重的后果,情况属实,工作人员将在发生违规行为的论坛发布帖子进行解释:", "commGuideList08A": "你违反的规定是", "commGuideList08B": "这样的后果是", "commGuideList08C": "如果可能的话,如何才能纠正这种处境,恢复自己的状况。", @@ -77,7 +77,7 @@ "commGuideList09C": "永久禁用(“冻结”)在贡献者级别的进展", "commGuideHeadingModerateConsequences": "造成适度后果的例子", "commGuideList10A": "限制公共和/或私人聊天的权利", - "commGuideList10A1": "如果你的行为导致你的聊天权利被剥夺,一位版主或者工作人员会跟你联系和/或者在你被禁言的频道告诉你为何被禁言还有你被禁言的时间和/或你为了接着聊天需要干的事。时间结束后,如果你表示愿意礼貌地作出需要的举动并且遵守社区指南你将会被允许接着聊天", + "commGuideList10A1": "如果您的操作导致您的聊天权限被取消,您必须通过电子邮件admin@habitica.com进行处理。如果您的行为符合礼貌的要求并同意遵守社区指南和ToS,员工可自行决定恢复您的权限", "commGuideList10C": "限制创建公会/挑战的权利", "commGuideList10D": "暂时禁用 (“冻结”)在贡献者级别的进展", "commGuideList10E": "降低贡献者级别", @@ -86,15 +86,15 @@ "commGuideList11A": "公共空间准则的提醒", "commGuideList11B": "警告", "commGuideList11C": "申请", - "commGuideList11D": "删除 (管理员/工作人员可能会删除有问题的内容)", - "commGuideList11E": "编辑 (管理员/工作人员可能会删除有问题的内容)", + "commGuideList11D": "删除 (工作人员可能会删除有问题的内容)", + "commGuideList11E": "编辑 (工作人员可能会编辑有问题的内容)", "commGuideHeadingRestoration": "恢复", "commGuidePara061": "Habitica是一个致力于自我提升的地方,同时我们相信第二次机会。如果你违反规则并受到了惩罚,请把它视为一次评估自己的行为并努力成为更好的社会成员的机会。", "commGuidePara062": "你收到的解释你行为后果的公告、私信和/或邮件是很好的信息来源。配合已实施的措施,并努力达到要求,可以减轻惩罚。", - "commGuidePara063": "如果你对惩罚,或违规行为有任何疑问,请向工作人员/管理员寻求帮助,以防将来再违反规则。如果你认为某个决定不公平,可以联系工作人员进行讨论,联系方式: admin@habitica.com。", - "commGuideHeadingMeet": "认识一下职工和管理员吧!", + "commGuidePara063": "如果你对惩罚,或违规行为有任何疑问,请向工作人员寻求帮助,以防将来再次违反规则。如果你认为某个决定不公平,可以联系工作人员进行讨论,联系方式: admin@habitica.com。", + "commGuideHeadingMeet": "认识一下工作人员吧", "commGuidePara006": "Habitica有一些精力充沛的游侠骑士,他们与工作人员们联合维持一个平静、惬意、没有恶魔的社区。每一个游侠骑士都有各自的领域,但有时候会被召唤到其他的社群领域。", - "commGuidePara007": "工作人员的标签是紫色带皇冠的。它们的头衔是“英雄”。", + "commGuidePara007": "Habitica工作人员保持应用程序和网站的运行,有时也会充当版主。他们有紫色皇冠徽章,头衔是“英雄”。", "commGuidePara008": "管理员的标签是深蓝色带星的。它们的头衔是“守护者”。", "commGuidePara009": "现在的工作人员成员是(从左到右):", "commGuideAKA": "<%= habitName %> 也叫<%= realName %>", @@ -121,13 +121,14 @@ "commGuideLink07": "副本 Trello: 在这里提交新的副本剧本。", "commGuidePara069": "这些插图由以下富有天赋的艺术家贡献:", "commGuideList01F": "不允许乞求付费物品,刷信息,或使用大字体/全大写。", - "commGuideList01E": "不要在酒馆里煽动或参与有争议的谈话。", - "commGuideList01D": "请遵守管理者的要求。", + "commGuideList01E": "不要在酒馆里煽动或参与有争议的谈话。", + "commGuideList01D": "请遵守员工的要求。", "commGuideList01C": "所有讨论必须对所有年龄段人群适用,请勿使用脏话。", "commGuideList01B": "不允许:任何暴力,有威胁性,推广歧视等等的信息。包括表情包,图片,和笑话。", "commGuideList01A": "这些条约对所有空间适用,包括私人公会,队伍聊天和信息。", "commGuidePara017": "这是快捷版,但是我们建议你在下面仔细地看看:", "commGuideList09D": "去除或降低参与者阶级", "commGuideList05H": "严重或重复地尝试诈骗或威胁别的玩家给付费物品", - "commGuideList02M": "不要在小组计划里索要或祈求宝石,订阅或会员。这在酒馆,公共或私人的聊天空间和在私人信息里都不被允许。如果你收到索要付费物品的信息,请举报该消息。重复的或严重的宝石或订阅乞求,尤其在警告之后,可能会导致账户封禁。" + "commGuideList02M": "不要在小组计划里索要或祈求宝石,订阅或会员。这在酒馆,公共或私人的聊天空间和在私人信息里都不被允许。如果你收到索要付费物品的信息,请举报该消息。重复的或严重的宝石或订阅乞求,尤其在警告之后,可能会导致账户封禁。", + "commGuideList02N": "标记并报告违反这些指南或服务条款的帖子我们将尽快处理这些问题。您也可以通过admin@habitica.com反馈,这是获得帮助的最快方式。" } diff --git a/website/common/locales/zh/content.json b/website/common/locales/zh/content.json index e50a69853d..6e06f6b0ab 100644 --- a/website/common/locales/zh/content.json +++ b/website/common/locales/zh/content.json @@ -199,7 +199,7 @@ "hatchingPotionAquatic": "水族", "hatchingPotionEmber": "灰烬", "hatchingPotionThunderstorm": "雷暴", - "hatchingPotionGhost": "鬼魂", + "hatchingPotionGhost": "幽灵", "hatchingPotionRoyalPurple": "皇家紫", "hatchingPotionHolly": "冬青树", "hatchingPotionCupid": "丘比特", @@ -304,9 +304,9 @@ "foodCandyRedThe": "肉桂糖", "foodCandyRedA": "肉桂糖", "foodSaddleText": "鞍", - "foodSaddleNotes": "即时把你的一只宠物变成坐骑。", + "foodSaddleNotes": "立即将一只宠物养成坐骑。", "foodSaddleSellWarningNote": "嘿!这是个很有用的东西啊!你知道怎么把鞍用在你的宠物上吗?", - "foodNotes": "喂给宠物吃就会慢慢地长成健壮的坐骑。", + "foodNotes": "宠物吃了,就会成长为健壮的坐骑。", "hatchingPotionRoseQuartz": "玫瑰水晶", "hatchingPotionCelestial": "天空", "hatchingPotionVeggie": "花园", @@ -356,7 +356,7 @@ "hatchingPotionAurora": "极光", "hatchingPotionRuby": "红宝石", "hatchingPotionBirchBark": "桦树皮", - "hatchingPotionDessert": "糕点", + "hatchingPotionDessert": "甜品", "hatchingPotionFluorite": "萤石", "hatchingPotionSandSculpture": "沙雕", "hatchingPotionWindup": "发条", @@ -372,5 +372,7 @@ "hatchingPotionSolarSystem": "太阳系", "hatchingPotionOnyx": "玛瑙", "hatchingPotionVirtualPet": "电子宠物", - "hatchingPotionPorcelain": "瓷器" + "hatchingPotionPorcelain": "瓷器", + "hatchingPotionPinkMarble": "粉色大理石", + "hatchingPotionTeaShop": "茶馆" } diff --git a/website/common/locales/zh/death.json b/website/common/locales/zh/death.json index d7aea773f5..ebae9abc3b 100644 --- a/website/common/locales/zh/death.json +++ b/website/common/locales/zh/death.json @@ -1,7 +1,7 @@ { - "lostAllHealth": "你的生命值已耗尽!", + "lostAllHealth": "你的生命值耗尽了!", "dontDespair": "不要绝望!", - "deathPenaltyDetails": "你的等级降低了一级,你还损失了一些金币和一件装备,但是你能通过努力把它们都赢回来!祝你好运——你会做好的。", + "deathPenaltyDetails": "你降了一级,失去了所有金币和一件装备。只要努力,你就能把它们都挣回来!加油——你能做到的!", "refillHealthTryAgain": "回满血,并再试一次", "dyingOftenTips": "这经常发生? 这里有一些提示!", "losingHealthWarning": "当心——你正失去生命值!", @@ -13,5 +13,5 @@ "lowHealthTips3": "未完成的每日任务一旦过夜就会使你受到伤害,所以请小心,初期别添加太多每日任务!", "lowHealthTips4": "如果每日任务在某一天不打算做,你可以点击铅笔图标来取消它。", "goodLuck": "祝你好运!", - "cannotRevive": "没有死亡无法复活" + "cannotRevive": "无法复活未死亡的玩家" } diff --git a/website/common/locales/zh/faq.json b/website/common/locales/zh/faq.json index f59adc02bf..7c36d94786 100644 --- a/website/common/locales/zh/faq.json +++ b/website/common/locales/zh/faq.json @@ -20,10 +20,10 @@ "iosFaqAnswer4": "有这样一些事件会减少你的生命值,第一,如果你有每日任务没完成,并且没有在第二天早上的弹窗中点击完成,它会减少你的生命值。第二,如果你“点击”了一个坏习惯,它也会减少你的生命值,最后,如果你在和你的队员一起进行boss战时,一旦队伍中有一个成员没能完成每日任务,boss就会攻击你。\n\n回复生命值最主要的办法是升级,每一次升级时,所有的生命值都会回复。你也可以用金币从奖励栏里可以购买生命药剂。另外,在达到10级以上的级数时,你可以选择成为一个医者,然后学习治疗技能。如果你的队伍里有一个医者,他也能治疗你。", "androidFaqAnswer4": "有这样一些事件会减少你的生命值,第一,如果你有每日任务没完成,它会减少你的生命值,第二,如果你“点击”了一个坏习惯,它也会减少你的生命值,最后,如果你在和你的队员一起进行BOSS战时,一旦队伍中有一个成员没能完成每日任务,boss就会攻击你。\n\n回复生命值最主要的办法是升级,每一次升级时,所有的生命值都会回复。你也可以用金币从奖励栏里可以购买生命药剂。另外,在达到10级以上的级数时,你可以选择成为一个医者,然后学习治疗技能。如果你加入的队伍里有医者,他们可以治疗你。", "webFaqAnswer4": "有这样一些东西会减少你的生命值,第一,如果你有每日任务没完成,它会减少你的生命值,第二,如果你“点击”了一个坏习惯,它也会减少你的生命值,最后,如果你在和你的队员一起进行boss战时,一旦队伍中有一个成员没能完成每日任务,boss就会攻击你。回复生命值最主要的办法是升级,每一次升级时,所有的生命值都会回复。你也可以用金币从奖励栏里可以购买生命药剂。另外,在达到10级以上的级数时,你可以选择成为一个医者,然后学习治疗技能。如果你的队伍(可在社交>队伍里查看)里有一个医者,他也能治疗你。", - "faqQuestion5": "我怎么和朋友们一起玩Habitica?", + "faqQuestion5": "我可以和其他人一起玩Habitica吗?", "iosFaqAnswer5": "你可以邀请他们加入你的战队!加入战队可以接受副本,打怪,向队友释放技能。\n\n如果你还没有自己的队伍,可以选择进入目录 > [队伍](https://habitica.com/party) 并点击“建立新的队伍”。然后点击成员列表,在右上角选择邀请,输入朋友们的@用户名。如果你想加入其他队伍,那么你可以让该队伍通过@用户名,将你拉入队伍。\n\n你还可以和朋友们在公会中一同玩耍,公会的伙伴们基于共同的兴趣和需求聚集在一起!有很多有趣和有帮助的公会,注意查看。\n\n如果你想要让体验更富有挑战性,你可以对任务进行整合,建立挑战。基于兴趣和目标,有各种各样的挑战可供选择。 如果你有幸被选为获胜者,在部分挑战中,你还将获得宝石奖励。", "androidFaqAnswer5": "邀请他们加入你队伍最好的方法是点击导航栏中的“队伍”。队伍可以接受副本卷轴、打怪兽以及使用技能互相帮助。你们也可以一起加入公会(点击导航栏中的“公会”)。公会是基于共同兴趣或者共同目标的聊天室,可以是公开或者私密性质。你可以加多个公会,但只能加入一个队伍。\n\n想要了解更多信息,请查看维基的[队伍](https://habitica.fandom.com/zh/wiki/队伍)与关于[公会](https://habitica.fandom.com/zh/wiki/公会)的页面。", - "webFaqAnswer5": "邀请他们加入你队伍最好的方法是点击导航栏中的“队伍”。队伍可以接受副本卷轴、打怪兽以及使用技能互相帮助。你们也可以一起加入公会(点击导航栏中的“公会”)。公会是基于共同兴趣或者共同目标的聊天室,可以是公开或者私密性质。你可以加多个公会,但只能加入一个队伍。想要了解更多信息,请查看维基的[队伍](https://habitica.fandom.com/zh/队伍)与[公会](https://habitica.fandom.com/zh/wiki/公会)页面。", + "webFaqAnswer5": "是的,我们有队伍功能!你可以创建自己的队伍,也可以加入现有的队伍。非常建议你与其他Habitica玩家组队共同挑战副本,你不仅可以从队员的技能中获得buff,还可以通过额外的责任感来增强你的动力。", "faqQuestion6": "我要怎样才能得到宠物或是坐骑呢?", "iosFaqAnswer6": "当你完成任务,将有机率收到掉落(宠物蛋、孵化药水、喂养宠物)。这些掉落物会自动存入「物品栏」>「物品」。\n \n若想要孵化宠物,你需要同时拥有宠物蛋和孵化药水各一。点选宠物蛋将其放在孵化药水上,反之亦可。孵化完成后你可以到「物品栏」>「宠物」,然后点击你的新宠物,就可以将其装饰在头像上。\n \n通过喂食的方式可以让宠物进化成坐骑。进入宠物栏,点选食物丢在宠物上,它们就会主动取食。此时你就会看到宠物下方出现状态栏,绿色的状态栏会随着你的投喂增加。当状态栏满格,宠物就会进化成坐骑。这需要花点时间,不过如果你能找到宠物最喜欢的食物,就可以加速宠物进化的速度!请多多尝试食物种类,当然也可以查看这个[剧透](https://habitica.fandom.com/zh/wiki/食物偏好)。当你拥有坐骑后,你可以到「物品栏」>「坐骑」让角色驾驭该坐骑。\n \n 完成某些副本卷轴后,你可能会收到副本宠物蛋(点击 [如何开副本打怪](https://habitica.com/static/faq/9)了解更多)。", "androidFaqAnswer6": "每当你完成任务时,你就会有一定的机率收到宠物蛋、孵化药水,或是喂养宠物的食物。当你收到时系统就会自动存入「选单」>「物品」。\n\n想要孵化宠物,你需要同时拥有一个宠物蛋和一瓶孵化药水。点选宠物蛋确认你要孵化的宠物,接着点击「孵化」,然后选择孵化药水就能够确认宠物的颜色!孵化完成后你可以到「选单」>[宠物],然后选择“使用”(你的角色形象不会显示变动),将你的宠物装备到角色上。\n\n你也可以用喂食的方式让宠物进化成坐骑。点选宠物选择「喂食」,你会看到一条绿色的状态列随着你喂食次数而增长,当状态列额满后就会进化成坐骑。这需要花点时间,不过如果你能找到宠物最喜欢的食物,就可以加速宠物进化的速度啰!请多多尝试食物种类或者看这个[揭露](https://habitica.fandom.com/zh/wiki/食物偏好)。当你拥有了一只坐骑,你可以到「选单」>「坐骑」选项,选择你需要的坐骑,然后选择“使用”(你的角色形象不会显示变动)将它装备到角色上。)\n\n当你完成某些副本卷轴时,你也可能收到副本宠物蛋。(你可以看看下面有一些关于副本卷轴的介绍。)", @@ -36,7 +36,7 @@ "iosFaqAnswer8": "在你达到第10级,选择一个职业之后出现在头像里的蓝条是你的法力条。在你接下来不断升级的过程中,你会解锁各种特殊技能,它们需要耗费魔法才能使用。每个职业都有不同技能,在到达11级以后会在 目录 > 使用技能 下面出现。和你的健康值不同,你的法力条在你升级时不会回复,只有在培养了好的习惯,完成了每日任务和待办事项时才会获取法力。每过一夜你也会回复小部分的法力——完成的日常任务越多,回复的法力也越多。", "androidFaqAnswer8": "在你达到第10级,选择一个职业之后出现在头像里的蓝条是你的法力条。在你接下来不断升级的过程中,你会解锁各种特殊技能,它们需要耗费魔法才能使用。每个职业都有不同技能,在到达11级以后会在 目录 > 使用技能 下面出现。和你的健康值不同,你的法力条在你升级时不会回复,只有在培养了好的习惯,完成了每日任务和待办事项时才会获取法力。每过一夜你也会回复小部分的法力——完成的日常任务越多,回复的法力也越多。", "webFaqAnswer8": "在你达到第10级,选择一个职业之后出现在头像里的蓝条是你的法力条。在你接下来不断升级的过程中,你会解锁各种特殊技能,它们需要耗费魔法才能使用。每个职业都有不同技能,在到达11级以后会在奖励栏的一块专门区域出现。和你的健康值不同,你的法力条在你升级时不会回复,只有在培养了好的习惯,完成了每日任务和待办事项时才会获取法力。每过一夜你也会回复小部分的法力——完成的日常任务越多,回复的法力也越多。", - "faqQuestion9": "我怎么和怪兽战斗,继续副本?", + "faqQuestion9": "我该如何挑战副本?", "iosFaqAnswer9": "首先,你需要加入或者成立一个战队(见[如何与朋友一同在Habitica打怪](https://habitica.com/static/faq/5)),虽然你可以一个人对抗怪物们,我们还是建议组队作战,因为这样可以让副本变得简单很多。另外,在完成副本时有一个可以鼓励你的朋友也是非常有动力的!\n\n然后,你需要一个副本卷轴,在目录 > 道具 下面可以找到,得到一个副本卷轴有三个办法:\n\n- 在15级的时候,你会得到一条副本线,有三个互相联系的副本,在30,40和60级还会解锁更多副本线\n- 当你邀请朋友加入你的战队,你会被奖励基础卷轴!\n- 在网页版你可以在[这里](https://habitica.com/#/options/inventory/quests) 用金币和宝石购买副本。(我们会在未来把这项功能加到手机应用程序上)\n\n要在一项收集副本中击败boss收集道具,只需要照常完成你的日常任务,每过一夜,它们会被追踪到对boss的伤害值上(下拉页面刷新就能看见boss的生命值在降低)。如果在和boss对战时错过了某些日常任务,boss会在你和你的队友对boss造成伤害的同时反伤你们。\n\n在11级时法师和战士可以学习到能造成更多伤害的技能,所以在第10级选择职业时,如果你想做一个高输出角色,这两个职业是极佳的选择。", "androidFaqAnswer9": "首先,你需要加入或者成立一个战队(见上面内容),虽然你可以一个人对抗怪物们,我们还是建议组队作战,因为这样可以让副本变得简单很多。另外,在完成副本时有一个可以鼓励你的朋友也是非常有动力的!\n\n然后,你需要一个副本卷轴,在目录 > 道具 下面可以找到,得到一个副本卷轴有三个办法:\n\n- 在15级的时候,你会得到一条副本线,有三个互相联系的副本,在30,40和60级还会解锁更多副本线\n- 当你邀请朋友加入你的战队,你会被奖励基础卷轴!\n- 在网页版你可以在[这里](https://habitica.com/#/options/inventory/quests) 用金币和宝石购买副本。(我们会在未来把这项功能加到手机应用程序上)\n\n要在一项收集副本中击败boss收集道具,只需要照常完成你的日常任务,每过一夜,它们会被追踪到对boss的伤害值上(下拉页面刷新就能看见boss的生命值在降低)。如果在和boss对战时错过了某些日常任务,boss会在你和你的队友对boss造成伤害的同时反伤你们。\n\n在11级时法师和战士可以学习到能造成更多伤害的技能,所以在第10级选择职业时,如果你想做一个高输出角色,这两个职业是极佳的选择。", "webFaqAnswer9": "首先,你需要在导航栏的“队伍”里,加入或者成立一个队伍。虽然你一个人也可以是一支队伍,我们还是建议组队作战,因为这样可以让副本变得简单很多。另外,在完成副本时有一个可以鼓励你的朋友也是非常有动力的!然后,你需要一个副本卷轴,在【物品栏】→【物品】→【副本】下面可以找到,得到卷轴有三种办法:\n* 当你邀请朋友加入你的战队,你会得到“普通的清单魔蛇”卷轴!\n* 在15级的时候,你会得到一条副本线,有三个首尾相连的副本,在30、40和60级还会解锁更多副本线。\n* 你可以在【商店】→【副本】用金币和宝石购买副本。\n* 当你在Habitica签到达到一定次数的时候,你将会获得任务卷轴。你将在第一次,第七次,第二十二次和第四十次获得它们。\n要击败boss或者是收集副本物品,只需要照常完成你的日常任务,第二天它们会被结算到boss身上造成伤害值(刷新就能看见boss的生命值在降低),或者结算到收集物品的进度上。如果在和boss对战时错过了某些日常任务,boss会在你和你的队友对boss造成伤害的同时打掉你们的生命值。在11级时法师和战士可以学习到能造成更多伤害的技能,所以在第10级选择职业时,如果你想做一个高输出角色,这两个职业是极佳的选择。", @@ -56,5 +56,8 @@ "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)中咨询。我们很乐意为你提供帮助。", "faqQuestion13": "什么是团队计划?", - "webFaqAnswer13": "## 团队计划是如何运作的?\n\n[团队计划](/group-plans)让您的队伍或公会可以访问类似于您的个人任务板的共享任务板! 这是一种共享的 Habitica 体验,团队中的任何成员都可以创建和检查任务。\n\n还增加一些新功能,如成员角色,状态视图和任务分配,为您提供更加可控的体验。想了解团队计划的更多信息请[访问我们的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以从团队计划中受益?\n\n团队计划最适合那些想要进行协作的小团队。我们建议保持在2-5名成员。\n\n对于家庭来说,不管是父母、孩子还是你和伴侣,都能从团队计划中受益。共同的目标、家务或责任很适合在一块任务板上记录下来。\n\n团队计划对于那些拥有共同目标的工作团队或希望向员工介绍游戏化的管理者也很有帮助。\n\n## 快速入门团队计划\n\n以下是一些使用技巧,可以帮助您的新团队快速起步。同时我们将在下一部分提供更多详细信息:\n\n* 让团队成员成为管理者,使他们能够创建和编辑任务\n* 如果任务是一次性且可完成的,则保留未分配的任务\n* 为确保其他成员不会误领任务,请将任务指派给一位成员\n* 如果多位成员都需要完成同一任务,请将任务进行分配\n* 在个人任务板上开启显示共享任务这一功能,避免错过任何内容\n* 即使是多人任务,在任务完成后你也能获得奖励\n* 任务完成奖励并不会在团队成员之间共享或平分\n* 您可以通过任务颜色在团队任务板上来判断平均完成率\n* 定期查看团队任务板上的任务,以确保它们是否需要保留\n* 错过一个每日任务不会对你或你的团队造成伤害,但任务颜色会下降\n\n## 团队中的其他成员如何创建任务?\n\n只有团队队长和管理者可以创建任务。如果您希望成员也能进行创建,那么您需要打开团队信息选项卡、查看成员列表并单击其名称旁的圆点图标将他们提升为管理者。\n\n## 任务分配该如何进行?\n\n团队计划赋予您将任务分配给团队其他成员的独特能力。任务分配功能非常适合委派。如果您已将任务分配给某位成员,那么其他成员将无法完成它。\n\n如果一个任务需要多位成员完成,那么您也可以将其分配给多人。例如,如果每个人都必须刷牙,请创建一个任务并将其分配给每位成员。这让他们都能勾选完成并获得个人奖励。当每个人勾选完成时,团队主任务才会显示为完成。\n\n## 未分配的任务如何处理?\n\n团队里的任何成员都可以完成未分配的任务,因此请保留那些未分配的任务,以便任何成员都能完成它。例如,倒垃圾。无论谁倒了垃圾,都可以将其勾选,并提示每个人任务已完成。\n\n## 在同步日如何重置工作?\n\n共享任务会同一时间重置,方便大家同步任务共享板。同步时间由团队队长设置后展示在任务共享板上。由于共享任务自动重置,第二天早上签到时,将没有机会勾选昨天未完成的每日共享任务。\n\n错过每日共享任务不会造成伤害,但是它们会降低颜色方便团队成员直观地了解进度。我们不希望任务共享给您带来负面的体验!\n\n## 如何在APP上使用团队?\n\n虽然APP尚未完全支持团队计划的所有功能,但通过将任务复制到个人任务板,您仍然可以在iOS和安卓的APP上完成共享任务。您可以从APP里的“设置”或浏览器版本里的团队任务板打开该选项。这将会使所有打开和分配的共享任务跨平台显示在您的个人任务板上。\n\n## 团队的共同任务与挑战有何区别?\n\n团队计划的共享任务板比挑战更具动态性,因为它可以不断更新交互。如果您有一组任务想要发给许多人,这一操作在挑战上执行会非常繁琐,但在团队计划里可以快速实现。\n\n其中团队计划是付费功能,而挑战对每个人都是免费的。\n\n你无法在挑战中分配特定的任务,挑战也没有共享日重置。总的来说,挑战提供的控制功能和直接交互功能较少。" + "webFaqAnswer13": "## 团队计划是如何运作的?\n\n[团队计划](/group-plans)让您的队伍或公会可以访问类似于您的个人任务板的共享任务板! 这是一种共享的 Habitica 体验,团队中的任何成员都可以创建和检查任务。\n\n还增加一些新功能,如成员角色,状态视图和任务分配,为您提供更加可控的体验。想了解团队计划的更多信息请[访问我们的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以从团队计划中受益?\n\n团队计划最适合那些想要进行协作的小团队。我们建议保持在2-5名成员。\n\n对于家庭来说,不管是父母、孩子还是你和伴侣,都能从团队计划中受益。共同的目标、家务或责任很适合在一块任务板上记录下来。\n\n团队计划对于那些拥有共同目标的工作团队或希望向员工介绍游戏化的管理者也很有帮助。\n\n## 快速入门团队计划\n\n以下是一些使用技巧,可以帮助您的新团队快速起步。同时我们将在下文提供更多信息:\n\n* 让团队成员成为管理者,使他们能够创建和编辑任务\n* 如果任务是一次性且可完成的,则保留未分配的任务\n* 为确保其他成员不会误领任务,请将任务指派给一位成员\n* 如果多位成员都需要完成同一任务,请将任务进行分配\n* 在个人任务板上开启显示共享任务这一功能,避免错过任何内容\n* 即使是多人任务,在任务完成后你也能获得奖励\n* 任务完成奖励并不会在团队成员之间共享或平分\n* 您可以通过任务颜色在团队任务板上来判断平均完成率\n* 定期查看团队任务板上的任务,以确保它们是否需要保留\n* 错过一个每日任务不会对你或你的团队造成伤害,但任务颜色会下降\n\n## 团队中的其他成员如何创建任务?\n\n只有团队队长和管理者可以创建任务。如果您希望成员也能进行创建,那么您需要打开团队信息选项卡、查看成员列表并单击其名称旁的圆点图标将他们提升为管理者。\n\n## 任务分配该如何进行?\n\n团队计划赋予您将任务分配给团队其他成员的独特能力。任务分配功能非常适合委派。如果您已将任务分配给某位成员,那么其他成员将无法完成它。\n\n如果一个任务需要多位成员完成,那么您也可以将其分配给多人。例如,如果每个人都必须刷牙,请创建一个任务并将其分配给每位成员。这让他们都能勾选完成并获得个人奖励。当每个人勾选完成时,团队主任务才会显示为完成。\n\n## 未分配的任务如何处理?\n\n团队里的任何成员都可以完成未分配的任务,因此请保留那些未分配的任务,以便任何成员都能完成它。例如,倒垃圾。无论谁倒了垃圾,都可以将其勾选,并提示每个人任务已完成。\n\n## 在同步日如何重置工作?\n\n共享任务会同一时间重置,方便大家同步共享任务板。同步时间由团队队长设置后展示在共享任务板上。由于共享任务自动重置,第二天早上签到时,将没有机会勾选昨天未完成的每日共享任务。\n\n错过每日共享任务不会造成伤害,但是它们会降低颜色方便团队成员直观地了解进度。我们不希望任务共享给您带来负面的体验!\n\n## 如何在APP上使用团队?\n\n虽然APP尚未完全支持团队计划的所有功能,但通过将任务复制到个人任务板,您仍然可以在iOS和安卓的APP上完成共享任务。您可以从APP里的“设置”或浏览器版本里的团队任务板打开该选项。这将会使所有打开和分配的共享任务跨平台显示在您的个人任务板上。\n\n## 团队的共同任务与挑战有何区别?\n\n团队计划的共享任务板比挑战更具动态性,因为它可以不断更新交互。如果您有一组任务想要发给许多人,这一操作在挑战上执行会非常繁琐,但在团队计划里可以快速实现。\n\n其中团队计划是付费功能,而挑战对每个人都是免费的。\n\n你无法在挑战中分配特定的任务,挑战也没有共享日重置。总的来说,挑战提供的控制功能和直接交互功能较少。", + "iosFaqAnswer13": "## 团队计划是如何运作的?\n\n[团队计划](/group-plans)让您的队伍或公会可以访问类似于您的个人任务板的共享任务板! 这是一种共享的 Habitica 体验,团队中的任何成员都可以创建和检查任务。\n\n还增加一些新功能,如成员角色,状态视图和任务分配,为您提供更加可控的体验。想了解团队计划的更多信息请[访问我们的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以从团队计划中受益?\n\n团队计划最适合那些想要进行协作的小团队。我们建议保持在2-5名成员。\n\n对于家庭来说,不管是父母、孩子还是你和伴侣,都能从团队计划中受益。共同的目标、家务或责任很适合在一块任务板上记录下来。\n\n团队计划对于那些拥有共同目标的工作团队或希望向员工介绍游戏化的管理者也很有帮助。\n\n## 快速入门团队计划\n\n以下是一些使用技巧,可以帮助您的新团队快速起步。同时我们将在下文提供更多信息:\n\n* 让团队成员成为管理者,使他们能够创建和编辑任务\n* 如果任务是一次性且可完成的,则保留未分配的任务\n* 为确保其他成员不会误领任务,请将任务指派给一位成员\n* 如果多位成员都需要完成同一任务,请将任务进行分配\n* 在个人任务板上开启显示共享任务这一功能,避免错过任何内容\n* 即使是多人任务,在任务完成后你也能获得奖励\n* 任务完成奖励并不会在团队成员之间共享或平分\n* 您可以通过任务颜色在团队任务板上来判断平均完成率\n* 定期查看团队任务板上的任务,以确保它们是否需要保留\n* 错过一个每日任务不会对你或你的团队造成伤害,但任务颜色会下降\n\n## 团队中的其他成员如何创建任务?\n\n只有团队队长和管理者可以创建任务。如果您希望成员也能进行创建,那么您需要打开团队信息选项卡、查看成员列表并单击其名称旁的圆点图标将他们提升为管理者。\n\n## 任务分配该如何进行?\n\n团队计划赋予您将任务分配给团队其他成员的独特能力。任务分配功能非常适合委派。如果您已将任务分配给某位成员,那么其他成员将无法完成它。\n\n如果一个任务需要多位成员完成,那么您也可以将其分配给多人。例如,如果每个人都必须刷牙,请创建一个任务并将其分配给每位成员。这让他们都能勾选完成并获得个人奖励。当每个人勾选完成时,团队主任务才会显示为完成。\n\n## 未分配的任务如何处理?\n\n团队里的任何成员都可以完成未分配的任务,因此请保留那些未分配的任务,以便任何成员都能完成它。例如,倒垃圾。无论谁倒了垃圾,都可以将其勾选,并提示每个人任务已完成。\n\n## 在同步日如何重置工作?\n\n共享任务会同一时间重置,方便大家同步共享任务板。同步时间由团队队长设置后展示在共享任务板上。由于共享任务自动重置,第二天早上签到时,将没有机会勾选昨天未完成的每日共享任务。\n\n错过每日共享任务不会造成伤害,但是它们会降低颜色方便团队成员直观地了解进度。我们不希望任务共享给您带来负面的体验!\n\n## 如何在APP上使用团队?\n\n虽然APP尚未完全支持团队计划的所有功能,但通过将任务复制到个人任务板,您仍然可以在iOS和安卓的APP上完成共享任务。您可以从APP里的“设置”或浏览器版本里的团队任务板打开该选项。这将会使所有打开和分配的共享任务跨平台显示在您的个人任务板上。\n\n## 团队的共同任务与挑战有何区别?\n\n团队计划的共享任务板比挑战更具动态性,因为它可以不断更新交互。如果您有一组任务想要发给许多人,这一操作在挑战上执行会非常繁琐,但在团队计划里可以快速实现。\n\n其中团队计划是付费功能,而挑战对每个人都是免费的。\n\n你无法在挑战中分配特定的任务,挑战也没有共享日重置。总的来说,挑战提供的控制功能和直接交互功能较少。", + "androidFaqAnswer13": "## 团队计划是如何运作的?\n\n[团队计划](/group-plans)让您的队伍或公会可以访问类似于您的个人任务板的共享任务板! 这是一种共享的 Habitica 体验,团队中的任何成员都可以创建和检查任务。\n\n还增加一些新功能,如成员角色,状态视图和任务分配,为您提供更加可控的体验。想了解团队计划的更多信息请[访问我们的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以从团队计划中受益?\n\n团队计划最适合那些想要进行协作的小团队。我们建议保持在2-5名成员。\n\n对于家庭来说,不管是父母、孩子还是你和伴侣,都能从团队计划中受益。共同的目标、家务或责任很适合在一块任务板上记录下来。\n\n团队计划对于那些拥有共同目标的工作团队或希望向员工介绍游戏化的管理者也很有帮助。\n\n## 快速入门团队计划\n\n以下是一些使用技巧,可以帮助您的新团队快速起步。同时我们将在下文提供更多信息:\n\n* 让团队成员成为管理者,使他们能够创建和编辑任务\n* 如果任务是一次性且可完成的,则保留未分配的任务\n* 为确保其他成员不会误领任务,请将任务指派给一位成员\n* 如果多位成员都需要完成同一任务,请将任务进行分配\n* 在个人任务板上开启显示共享任务这一功能,避免错过任何内容\n* 即使是多人任务,在任务完成后你也能获得奖励\n* 任务完成奖励并不会在团队成员之间共享或平分\n* 您可以通过任务颜色在团队任务板上来判断平均完成率\n* 定期查看团队任务板上的任务,以确保它们是否需要保留\n* 错过一个每日任务不会对你或你的团队造成伤害,但任务颜色会下降\n\n## 团队中的其他成员如何创建任务?\n\n只有团队队长和管理者可以创建任务。如果您希望成员也能进行创建,那么您需要打开团队信息选项卡、查看成员列表并单击其名称旁的圆点图标将他们提升为管理者。\n\n## 任务分配该如何进行?\n\n团队计划赋予您将任务分配给团队其他成员的独特能力。任务分配功能非常适合委派。如果您已将任务分配给某位成员,那么其他成员将无法完成它。\n\n如果一个任务需要多位成员完成,那么您也可以将其分配给多人。例如,如果每个人都必须刷牙,请创建一个任务并将其分配给每位成员。这让他们都能勾选完成并获得个人奖励。当每个人勾选完成时,团队主任务才会显示为完成。\n\n## 未分配的任务如何处理?\n\n团队里的任何成员都可以完成未分配的任务,因此请保留那些未分配的任务,以便任何成员都能完成它。例如,倒垃圾。无论谁倒了垃圾,都可以将其勾选,并提示每个人任务已完成。\n\n## 在同步日如何重置工作?\n\n共享任务会同一时间重置,方便大家同步共享任务板。同步时间由团队队长设置后展示在共享任务板上。由于共享任务自动重置,第二天早上签到时,将没有机会勾选昨天未完成的每日共享任务。\n\n错过每日共享任务不会造成伤害,但是它们会降低颜色方便团队成员直观地了解进度。我们不希望任务共享给您带来负面的体验!\n\n## 如何在APP上使用团队?\n\n虽然APP尚未完全支持团队计划的所有功能,但通过将任务复制到个人任务板,您仍然可以在iOS和安卓的APP上完成共享任务。您可以从APP里的“设置”或浏览器版本里的团队任务板打开该选项。这将会使所有打开和分配的共享任务跨平台显示在您的个人任务板上。\n\n## 团队的共同任务与挑战有何区别?\n\n团队计划的共享任务板比挑战更具动态性,因为它可以不断更新交互。如果您有一组任务想要发给许多人,这一操作在挑战上执行会非常繁琐,但在团队计划里可以快速实现。\n\n其中团队计划是付费功能,而挑战对每个人都是免费的。\n\n你无法在挑战中分配特定的任务,挑战也没有共享日重置。总的来说,挑战提供的控制功能和直接交互功能较少。", + "general": "通用" } diff --git a/website/common/locales/zh/front.json b/website/common/locales/zh/front.json index 4c1e6d8ae3..95f8c72eb2 100644 --- a/website/common/locales/zh/front.json +++ b/website/common/locales/zh/front.json @@ -29,7 +29,7 @@ "logout": "退出", "marketing1Header": "通过玩游戏来养成你的习惯", "marketing1Lead1Title": "你的生活游戏", - "marketing1Lead1": "Habitica是一个帮助你改变生活习惯的游戏。他通过把你的所有任务(习惯,日常任务和待办事项) 转变成你需要打败的敌人来“游戏化”你的生活。你做的越好,你在游戏进展得越顺利。如果你生活中除了差错,你的角色在游戏中也会退步。", + "marketing1Lead1": "Habitica是一个帮助你改变生活习惯的游戏。通过将您的所有任务(习惯,日常和待办) 转变成你需要打败的敌人来“游戏化”你的生活。你做的越好,在游戏进展得越顺利。如果在生活中出了差错,你的角色在游戏中也会退步。", "marketing1Lead2Title": "获取装备", "marketing1Lead2": "培养你的习惯来丰富你的人物形象。去炫耀你有趣的装备们吧!", "marketing1Lead3Title": "获得随机奖励", @@ -66,7 +66,7 @@ "pkQuestion1": "是什么启发了Habitica呢?它是怎么开始的呢?", "pkAnswer1": "如果你曾经投入很多时间来给你的游戏虚拟化身升级,这就让人很难不去联想如若你把那些努力用于改进真实生活中的你自身,而不是你的虚拟形象,那么你的生活该会变得多么美好啊。为了处理这样的问题,我们开始建设Habitica。
Habitica于2013年通过Kickstarter众筹网站正式启动,我们的灵光一现从此开始腾飞。自从那时起,它成长为了一个巨大的项目,被我们了不起的开源志愿者们和慷慨的用户们支持着。", "pkQuestion2": "为什么Habitica能运作呢?", - "pkAnswer2": "养成新习惯很难,因为人们非常需要明显、即刻的奖赏。比如,很难开始使用牙线,这是由于即便牙医明确告知我们从长远来看使用牙线更健康,当下它却只会让你的牙床疼。
Habitica将人生游戏化,用游戏体验、金币...甚至一个随机的奖赏,比如一个龙蛋!来奖赏艰难的任务,给每天的目标增添了即时的满足感。这帮助人们保持行动力,包括当这个任务本身并不奖赏人们什么的时候;我们也见到人们由此迎来了巨大的生活转变。你可以在这里查看一些成功经历:https://habitversary.tumblr.com", + "pkAnswer2": "养成新习惯很难,因为人们非常需要明显、即刻的奖赏。比如,很难开始使用牙线,这是由于即便牙医明确告知我们从长远来看使用牙线更健康,当下它却只会让你的牙床疼。
Habitica将人生游戏化,用游戏体验、金币...甚至一个随机的奖赏,比如一个龙蛋!来奖赏艰难的任务,给每天的目标增添了即时的满足感。这帮助人们保持行动力,包括当这个任务本身并不奖赏人们什么的时候;我们也见到人们由此迎来了巨大的生活转变。", "pkQuestion3": "为什么你加上了社交元素?", "pkAnswer3": "社会压力对很多人来说是一个巨大的激励因素,所以我们知道我们希望建立一个强大的社区,让大家对他们的目标负责并为他们的成功而欢呼。幸运的是,多人视频游戏最擅长的事情之一就是培养用户的社区意识! Habitica的社区结构借鉴了这些类型的游戏; 你可以和一群密友组成队伍,但你也可以加入一个更大的,共同利益的团体,称为公会。虽然有些用户选择单打独斗,但大多数人决定组建一个支持网络,通过副本等功能鼓励社交责任心,在这个功能中,队员汇集他们的生产力与怪物一起战斗。", "pkQuestion4": "为什么未完成的任务会扣除角色形象的生命值?", @@ -188,5 +188,6 @@ "enterHabitica": "进入Habitica", "socialAlreadyExists": "该社交账号已与现存的Habitica账户连接。", "emailUsernamePlaceholder": "例如 habitrabbit 或者 gryphon@example.com", - "footerProduct": "产品" + "footerProduct": "产品", + "translateHabitica": "翻译Habitica" } diff --git a/website/common/locales/zh/gear.json b/website/common/locales/zh/gear.json index 1e079cdba2..b4618cb440 100644 --- a/website/common/locales/zh/gear.json +++ b/website/common/locales/zh/gear.json @@ -8,7 +8,7 @@ "featuredset": "精选套装<%= name %>", "mysterySets": "神秘套装", "gearNotOwned": "您还未拥有这件物品。", - "noGearItemsOfType": "您还未拥有这些物品中任何一件。", + "noGearItemsOfType": "你尚未获得过这类物品。", "noGearItemsOfClass": "你已经拥有了当前职业的所有基础职业装备!春分,夏至,秋分,冬至的盛典期间会推出更多装备。", "classLockedItem": "此装备只卖给对应职业的玩家。10级以后你可以在【玩家图标】→【设定】→【角色属性】下面更改你的职业!", "tierLockedItem": "只有当你按顺序购买了系列中前面的物品时,才能买这个物品。继续努力吧!", @@ -433,9 +433,9 @@ "armorSpecialBardRobesText": "吟游诗人长袍", "armorSpecialBardRobesNotes": "这件五颜六色的长袍可能看起来很突出,但是你可以在任何情况下唱你自己的歌了。增加<%= per %>点感知。", "armorSpecialLunarWarriorArmorText": "月亮战士护甲", - "armorSpecialLunarWarriorArmorNotes": "这件护甲由月长石和魔法金属制成。增加力量、体质各<%= attrs %>点。", + "armorSpecialLunarWarriorArmorNotes": "这件护甲由月光石和魔法金属制成。增加力量、体质各<%= attrs %>点。", "armorSpecialMammothRiderArmorText": "猛犸骑士甲", - "armorSpecialMammothRiderArmorNotes": "这毛皮和皮质的套装包括这件嵌着玫瑰色石英钻石的时髦斗篷。当你在极寒地区冒险时,它能在寒风中护住你。增加<%= con %>点体质。", + "armorSpecialMammothRiderArmorNotes": "这件套装毛皮厚实,还有着时髦的披风,上边镶嵌着玫瑰色的石英宝石。当你在极寒地区冒险时,它能在寒风中护住你。增加<%= con %>点体质。", "armorSpecialPageArmorText": "一页护甲", "armorSpecialPageArmorNotes": "把你认为很棒的东西全部装进你的背包带走吧!增加<%= con %>点体质。", "armorSpecialRoguishRainbowMessengerRobesText": "俏皮彩虹使者长袍", @@ -593,7 +593,7 @@ "armorSpecialFall2017WarriorText": "坚固的甜心护甲", "armorSpecialFall2017WarriorNotes": "这个护甲会像一个美味的糖果壳一样保护你。增加<%= con %>带你体质。2017年秋季限定版装备。", "armorSpecialFall2017MageText": "假面舞会长袍", - "armorSpecialFall2017MageNotes": "如果没有引人注目的大礼服,什么样的化装舞会将是完整的?增加<%= int %>点智力。2017年秋季限定版装备。", + "armorSpecialFall2017MageNotes": "如果没有引人注目的长袍,什么样的化装舞会将是完整的?增加<%= int %>点智力。2017年秋季限定版装备。", "armorSpecialFall2017HealerText": "鬼屋护甲", "armorSpecialFall2017HealerNotes": "你的心宛如一扇敞开的门。你的肩膀是遮风挡雨的瓦片!增加<%= con %>点体质。2017年秋季限定版装备。", "armorSpecialWinter2018RogueText": "驯鹿服装", @@ -823,15 +823,15 @@ "headWarrior1Text": "皮革头盔", "headWarrior1Notes": "坚固的兽皮头盔。增加<%= str %>点力量。", "headWarrior2Text": "链罩帽", - "headWarrior2Notes": "由铁链穿在一起制作的兜帽,增加<%= str %>点力量。", + "headWarrior2Notes": "由铁链穿在一起制作的头盔,增加<%= str %>点力量。", "headWarrior3Text": "板甲头盔", - "headWarrior3Notes": "厚的钢头盔, 抵御任何打击。增加<%= str %>点力量。", + "headWarrior3Notes": "钢头盔如此厚重,可以抵御一切打击。增加<%= str %>点力量。", "headWarrior4Text": "红甲头盔", "headWarrior4Notes": "镶嵌红宝石来追求力量,当穿戴者发怒时宝石会绽放光芒。增加<%= str %>点力量。", "headWarrior5Text": "黄金甲头盔", "headWarrior5Notes": "皇冠注定闪亮护甲。增加<%= str %>点力量。", "headRogue1Text": "皮革头罩", - "headRogue1Notes": "基本的头罩。增加<%= per %>点感知。", + "headRogue1Notes": "基础的防护头罩。增加<%= per %>点感知。", "headRogue2Text": "黑皮革头罩", "headRogue2Notes": "能防护,也能伪装。增加<%= per %>点感知。", "headRogue3Text": "迷彩头罩", @@ -882,8 +882,8 @@ "headSpecialPageHelmNotes": "锁子甲:为了时尚和实用。增加<%= per %>点感知。", "headSpecialRoguishRainbowMessengerHoodText": "俏皮彩虹信使兜帽", "headSpecialRoguishRainbowMessengerHoodNotes": "发光兜帽焕发出多彩的光芒,使你不受恶劣天气的影响。增加<%= con %>点体质。", - "headSpecialClandestineCowlText": "神秘斗篷", - "headSpecialClandestineCowlNotes": "当你从人物中抢夺金子和战利品时,小心地隐藏你的脸!增加<%= per %>点感知。", + "headSpecialClandestineCowlText": "神秘兜帽", + "headSpecialClandestineCowlNotes": "为了金币和战利品而洗劫任务时,可得戴上它,小心藏好你的面容!增加<%= per %>点感知。", "headSpecialSnowSovereignCrownText": "冰雪大帝的皇冠", "headSpecialSnowSovereignCrownNotes": "王冠上的宝石闪耀着新落的雪花。增加<%= con %>点体质。", "headSpecialSpikedHelmText": "长钉头盔", @@ -972,7 +972,7 @@ "headSpecialWinter2016RogueNotes": "在这个舒适的头盔上还有一条可以保护你的围巾,可以拿掉它来小口喝冬季饮品哦!增加<%= per %>点感知。2015-2016冬季限定版装备。", "headSpecialWinter2016WarriorText": "雪人帽", "headSpecialWinter2016WarriorNotes": "额啊!这果然是个强大的头盔!!在它化掉……之前……一直很强大!增加<%= str %>点力量。2015-2016冬季限定版装备。", - "headSpecialWinter2016MageText": "雪板头罩", + "headSpecialWinter2016MageText": "雪板兜帽", "headSpecialWinter2016MageNotes": "在你施法时,保证双眼不会被雪挡住。增加<%= per %>点感知。2015-2016冬季限定版装备。", "headSpecialWinter2016HealerText": "仙女翅膀头盔", "headSpecialWinter2016HealerNotes": "那些翅膀飞行的太快,导致他们的视线都模糊了!增加<%= int %>点智力。2015-2016冬季限定版装备。", @@ -996,8 +996,8 @@ "headSpecialFall2016RogueNotes": "头盔上的腿还在抽搐着……增加<%= per %>点感知。2016年秋季限定版装备。", "headSpecialFall2016WarriorText": "粗糙的树皮头盔", "headSpecialFall2016WarriorNotes": "这个黏糊糊的沼泽头盔上还留着一点沼泽泥。增加<%= str %>点力量。2016年秋季限定版装备。", - "headSpecialFall2016MageText": "罪恶之罩", - "headSpecialFall2016MageNotes": "把你的策划隐藏在这阴暗的罩下。增加<%= per %>点感知。2016年秋季限定版装备。", + "headSpecialFall2016MageText": "罪恶兜帽", + "headSpecialFall2016MageNotes": "把你的阴谋隐藏在这幽暗的兜帽下。增加<%= per %>点感知。2016年秋季限定版装备。", "headSpecialFall2016HealerText": "美杜莎的王冠", "headSpecialFall2016HealerNotes": "那些看着你的眼睛的人有祸了…增加<%= int %>点智力。2016年秋季限定版装备。", "headSpecialNye2016Text": "怪诞的派对帽子", @@ -1108,7 +1108,7 @@ "headMystery201512Notes": "冰冷的火焰中透出最直白的智慧。没有属性加成。2015年12月订阅者物品。", "headMystery201601Text": "决心之头盔", "headMystery201601Notes": "保持坚定,勇敢的冠军!没有属性加成。2016年1月订阅者物品。", - "headMystery201602Text": "负心人头巾", + "headMystery201602Text": "负心人兜帽", "headMystery201602Notes": "对所有你的爱慕者隐藏你的身份。没有属性加成。2016年2月订阅者物品。", "headMystery201603Text": "幸运帽", "headMystery201603Notes": "这顶大礼帽有着神奇的好运魔力。没有属性加成。2016年3月订阅者物品。", @@ -1130,8 +1130,8 @@ "headMystery201611Notes": "有了这顶羽毛装饰的帽子,你绝对是这次盛宴上最美之人。没有属性加成。2016年11月订阅者物品。", "headMystery201612Text": "胡桃夹子头盔", "headMystery201612Notes": "这个即高又辉煌的头盔增加了魔法元素到你的假日服装!!没有属性加成。2016年12月订阅者物品。", - "headMystery201702Text": "负心人头巾", - "headMystery201702Notes": "尽管这个面具会隐藏你的脸,但是这只会增加你的魅力!。没有属性加成。2017年2月订阅者物品。", + "headMystery201702Text": "负心人兜帽", + "headMystery201702Notes": "尽管这个兜帽会隐藏你的脸,但是这只会增加你的魅力!没有属性加成。2017年2月订阅者物品。", "headMystery201703Text": "微光头盔", "headMystery201703Notes": "从角状头盔上反射来的柔和微光,能使最暴怒的敌人平静下来。没有属性加成。2017年3月订阅者物品。", "headMystery201705Text": "羽毛斗士头盔", @@ -1152,8 +1152,8 @@ "headMystery201806Notes": "盔顶上的小灯有催眠作用,能让所有海洋生物围绕在你身边。我们强烈呼吁你以善良的方式使用发光吸引生物的能力!没有属性加成。2018年6月订阅者物品。", "headMystery201807Text": "大海蛇头盔", "headMystery201807Notes": "这顶头盔上坚韧的鱼鳞能保护您免于受到任何海洋中敌人的攻击。没有属性加成。2018年7月订阅者物品。", - "headMystery201808Text": "熔岩巨龙披风", - "headMystery201808Notes": "披风上那闪闪发亮的龙角能够在地底的洞穴中照亮您的路。没有属性加成。2018年8月订阅者物品。", + "headMystery201808Text": "熔岩巨龙兜帽", + "headMystery201808Notes": "兜帽上闪闪发亮的龙角,能为你照亮地下洞穴的路。没有属性加成。2018年8月订阅者物品。", "headMystery201809Text": "秋季花朵皇冠", "headMystery201809Notes": "来自秋季温暖日子中的最后一朵花正是纪念此季节中的美丽事物之最佳信物。没有属性加成。2018年9月订阅者物品。", "headMystery201810Text": "黑暗森林头盔", @@ -1521,12 +1521,12 @@ "backMystery201507Notes": "在未完成之湾优雅穿行于雅致的岩石,踏浪飞驰!没有属性加成。2015年7月订阅者物品。", "backMystery201510Text": "地精尾巴", "backMystery201510Notes": "绕来抓去,强而有力!没有属性加成。2015年10月订阅者物品。", - "backMystery201602Text": "负心人披肩", - "backMystery201602Notes": "扬起斗篷嗖的一声,你的敌人落在了你的后面!没有属性加成。2016年2月订阅者物品。", - "backMystery201608Text": "雷电斗篷", - "backMystery201608Notes": "用这个翻卷的斗篷飞跃暴风雨!没有属性加成。2016年8月订阅者物品。", + "backMystery201602Text": "负心人披风", + "backMystery201602Notes": "扬起披风嗖的一声,你的敌人落在了你的后面!没有属性加成。2016年2月订阅者物品。", + "backMystery201608Text": "雷电披风", + "backMystery201608Notes": "用这个翻卷的披风飞跃暴风雨!没有属性加成。2016年8月订阅者物品。", "backMystery201702Text": "负心人披肩", - "backMystery201702Notes": "这个斗篷的旋风让你的魅力横扫全场!没有属性加成。2017年2月订阅者物品。", + "backMystery201702Notes": "这个披风的旋风让你的魅力横扫全场!没有属性加成。2017年2月订阅者物品。", "backMystery201704Text": "天使的翅膀", "backMystery201704Notes": "这双闪亮的翅膀将带你到任何地方,甚至是由魔法生物所统治的隐蔽王国。没有属性加成。2017年4月订阅者物品。", "backMystery201706Text": "破烂的海盗的旗帜", @@ -1543,9 +1543,9 @@ "backMystery201812Notes": "您这奢华稀有的尾巴就像冰柱一样闪闪发光。当您轻轻地座在雪堆上时,它就会愉悦地摆动。没有属性加成。2018年12月订阅者物品。", "backMystery201805Text": "华丽孔雀尾巴", "backMystery201805Notes": "这款华丽的羽毛尾巴非常适合在美丽的花园小径上奔跑! 没有属性加成。2018年5月订阅者物品。", - "backSpecialWonderconRedText": "威武斗篷", + "backSpecialWonderconRedText": "威武披风", "backSpecialWonderconRedNotes": "力量与美貌在刷刷作响。没有属性加成。特别版参与者物品。", - "backSpecialWonderconBlackText": "潜行斗篷", + "backSpecialWonderconBlackText": "潜行披风", "backSpecialWonderconBlackNotes": "由暗影与低语织就。没有属性加成。特别版参与者物品。", "backSpecialTakeThisText": "Take This之翼", "backSpecialTakeThisNotes": "这对翅膀是通过参与“Take This”赞助的挑战而获得的。祝贺你!增加全属性<%= attrs %>点。", @@ -1850,8 +1850,8 @@ "headSpecialSpring2019RogueText": "云朵头盔", "headSpecialPiDayNotes": "在走圈圈时,尝试保持这块儿美味的派的平衡。或者把它扔到红色的每日任务里!或者你可以直接吃掉它。任你选择!没有属性加成。", "headSpecialPiDayText": "圆周率帽子", - "armorArmoireInvernessCapeNotes": "这款坚固的服装可以让你在任何类型的天气中寻找线索。增加感知、智力各<%= attrs %>点。魔法衣橱:侦探套装(2/4)。", - "armorArmoireInvernessCapeText": "斗篷披肩", + "armorArmoireInvernessCapeNotes": "穿上这样结实的衣服,便可以风雨无阻地搜寻线索。增加感知、智力各<%= attrs %>点。魔法衣橱:侦探套装(2/4)。", + "armorArmoireInvernessCapeText": "披肩斗篷", "armorArmoireAstronomersRobeNotes": "事实证明丝绸和星光织成的纤维不仅神奇,而且非常透气。增加感知、体质各<%= attrs %>点。魔法衣橱:天文学家法师套装(1/3)。", "shieldSpecialSummer2019HealerNotes": "贝壳小号的大嗓门让那些需要帮助的人知晓你的到来。2019年夏季限定版装备。增加<%= con %>点体质。", "shieldSpecialSummer2019HealerText": "海螺小号", @@ -1880,7 +1880,7 @@ "headMystery201903Text": "头盔上金灿灿的部分", "headAccessoryMystery201905Text": "耀眼的龙角", "backMystery201905Notes": "凭借这些彩虹色的翅膀飞向未知领域。没有属性加成。2019年5月订阅者物品。", - "shieldArmoirePolishedPocketwatchNotes": "你获得了时间。而且你戴着它很好看。增加<%= int %>点智力。魔法衣橱:独立物品。", + "shieldArmoirePolishedPocketwatchNotes": "戴着它,你就把握住了时间。而且你戴着它还很好看。增加<%= int %>点智力。魔法衣橱:独立物品。", "shieldArmoirePolishedPocketwatchText": "抛光怀表", "shieldArmoireTrustyUmbrellaNotes": "神秘事故往往伴随着恶劣的天气,所以要做好准备!增加<%= int %>点智力。魔法衣橱:侦探集(4/4)。", "shieldArmoireTrustyUmbrellaText": "值得信赖的雨伞", @@ -1930,7 +1930,7 @@ "armorMystery201910Text": "隐秘的护甲", "armorMystery201909Notes": "你的强硬的外壳会保护你,可是你还应该留意松鼠... 没有属性加成。2019年9月订阅者物品。", "armorMystery201909Text": "友好的橡子护甲", - "armorSpecialFall2019MageNotes": "与它同名的主人的结局相当悲惨。但是,你不会这么容易被骗!套上这个传奇的罩衫,没人会超过你。增加<%= int %>点体质。2019年秋季限定版装备。", + "armorSpecialFall2019MageNotes": "与它同名的主人的结局相当悲惨。但是,你不会这么容易被骗!套上这个传奇的斗篷,没人会超过你。增加<%= int %>点体质。2019年秋季限定版装备。", "eyewearSpecialKS2019Text": "神话狮鹫面罩", "armorMystery201910Notes": "这个隐秘的护甲上刀山下火海,无所不能地保护你。没有属性加成。2019年10月订阅者物品。", "armorSpecialFall2019RogueNotes": "这套衣服配有白手套,非常适合在剧院私人包间中沉思,或是在宏伟的楼梯上惊艳登场。增加<%= per %>点感知。2019年秋季限定版装备。", @@ -1943,9 +1943,9 @@ "weaponMystery201911Notes": "这个法杖的水晶球可以让你看到前程,但你必须小心!用这么危险的知识会出乎意料地改变一个人。没有属性加成。2019年11月订阅者物品。", "weaponMystery201911Text": "神奇水晶法杖", "shieldArmoireMasteredShadowNotes": "你的法力已将这些漩涡状的暗影带到你的身边进行投标。增加感知、体质各<%= attrs %>点。魔法衣橱:暗影大师套装(4/4)。", - "headArmoireShadowMastersHoodNotes": "这个头罩让你在最暗的地方看得清。但是,你可能需要眼药水。增加感知、体质各<%= attrs %>点。魔法衣橱:暗影大师套装(2/4)。", + "headArmoireShadowMastersHoodNotes": "这个兜帽让你在最暗的地方看得清。但是,你可能需要眼药水。增加感知、体质各<%= attrs %>点。魔法衣橱:暗影大师套装(2/4)。", "armorArmoireShadowMastersRobeNotes": "这个长袍的布是用Habitica的最深的洞穴中最暗的阴影做成的。增加<%= con %>点体质。魔法衣橱:暗影大师套装(1/4)。", - "headArmoireShadowMastersHoodText": "暗影大师的头罩", + "headArmoireShadowMastersHoodText": "暗影大师的兜帽", "armorArmoireShadowMastersRobeText": "暗影大师的长袍", "headSpecialFall2019RogueText": "古董歌剧帽", "eyewearSpecialKS2019Notes": "和狮鹫的... 嗯... 狮鹫没有面罩。它提醒你... 哦,你在开玩笑吧?它看起来很酷!没有属性加成。", @@ -2192,7 +2192,7 @@ "headSpecialFall2020MageNotes": "戴上这顶帽子,你的第三只眼睛就会打开,让你专注于看不见的东西:魔法心流,不安的精神力,还有遗忘的工作。增加<%= per %>点感知。2020年秋季限定版装备。", "headSpecialFall2020MageText": "觉醒的清晰", "headSpecialFall2020WarriorNotes": "曾经戴着它的勇士在最困难的任务面前也不会退缩!当你佩戴上它时,别人却可能会对你退缩……增加 <%= str %>点力量。2020年秋季限定版装备。", - "headSpecialFall2020WarriorText": "毛骨悚然的蒙面", + "headSpecialFall2020WarriorText": "惊悚兜帽", "headSpecialFall2020RogueNotes": "观察两次,一次搞定:这款面具帮你轻松搞定。增加 <%= per %>点感知。2020年秋季限定版装备。", "headSpecialFall2020RogueText": "双头石像面具", "armorSpecialFall2020HealerNotes": "你的辉煌在夜色中展开,目睹你飞行的人却不知道这个预兆会意味着什么。增加 <%= con %>点体质。2020年秋季限定版装备。", @@ -2238,9 +2238,9 @@ "shieldSpecialWinter2021HealerText": "极地护臂", "shieldSpecialWinter2021WarriorNotes": "快告诉所有的朋友,你钓到了一条真正的大鱼!可是至于是否要告诉他们,鱼是塑料做的,还会唱歌……这取决于你。增加<%= con %>点体质。2020-2021年冬季限定版装备。", "shieldSpecialWinter2021WarriorText": "大鱼", - "headSpecialWinter2021HealerNotes": "竟然有大量的热量从头部丧失!但如果你戴着这厚厚的头罩和护目镜,你的睫毛上就不会有冰柱了!增加<%= int %>点智力。2020-2021年冬季限定版装备。", + "headSpecialWinter2021HealerNotes": "竟然有大量的热量从头部丧失!但如果你戴着这厚厚的兜帽和护目镜,你的睫毛上就不会有冰柱了!增加<%= int %>点智力。2020-2021年冬季限定版装备。", "headSpecialWinter2021HealerText": "极地探险头盔", - "headSpecialWinter2021MageNotes": "在这个温暖舒适的巨大罩子下,你感到被安全地包裹着,心满意足。增加<%= per %>点感知。2020-2021年冬季限定版装备。", + "headSpecialWinter2021MageNotes": "在这个温暖舒适的巨大兜帽下,你感到被安全地包裹着,心满意足。增加<%= per %>点感知。2020-2021年冬季限定版装备。", "headSpecialWinter2021MageText": "月光影罩", "headSpecialWinter2021WarriorNotes": "带上这款舒适的兜帽,抵御寒冷的天气。增加<%= str %>点力量。2020-2021年冬季限定版装备。", "headSpecialWinter2021WarriorText": "保温兜帽", @@ -2416,7 +2416,7 @@ "weaponSpecialSummer2021RogueText": "海葵触角", "shieldArmoireBouncyBubblesNotes": "用这些精力旺盛的泡泡来帮你完成放松的沐浴!增加<%= str %>点力量。魔法衣橱:泡泡浴套装(4/4)。", "shieldArmoireBouncyBubblesText": "弹跳泡泡", - "headArmoireRubberDuckyNotes": "纵情享受水疗的完美伴侣! 也将帮助你对一系列的软件问题有惊人了解。(梗的解释:小黄鸭调试法起源于经典书籍《程序员修炼之道》,传说中程序员大师都会携带一只小黄鸭,在调试代码的时候,就会把小黄鸭放在桌上,然后详细地向小黄鸭解释每行代码。)增加<%= int %>点智力。魔法衣橱:泡泡浴套装(1/4)。", + "headArmoireRubberDuckyNotes": "纵情享受水疗的完美伴侣!也将帮助你对一系列的软件问题有惊人了解。(梗的解释:小黄鸭调试法起源于经典书籍《程序员修炼之道》,传说中程序员大师都会携带一只小黄鸭,在调试代码的时候,就会把小黄鸭放在桌上,然后详细地向小黄鸭解释每行代码。)增加<%= int %>点智力。魔法衣橱:泡泡浴套装(1/4)。", "headArmoireRubberDuckyText": "橡皮鸭子", "armorArmoireBathtubNotes": "是时候休息一下了?这是你自己的私人澡盆,它能保证水的温度始终是合适的!增加<%= con %>点体质。魔法衣橱:泡泡浴套装(2/4)。", "armorArmoireBathtubText": "澡盆", @@ -2445,7 +2445,7 @@ "weaponSpecialFall2021RogueNotes": "你到底遇到了什么?人们总是说盗贼的手是黏糊糊的,但这不代表什么!增加<%= str %>点力量。2021年秋季限定版装备。", "weaponSpecialFall2021MageNotes": "知识渴求知识。由记忆和欲望构成,这只可怕的手抓住了更多。增加<%= int %>点智力,<%= per %>点感知。2021年秋季限定版装备。", "armorSpecialFall2021MageNotes": "带有很多尖锐凸起的领子是卑鄙小人的最新时尚。增加<%= int %>点智力。2021年秋季限定版装备。", - "armorSpecialFall2021HealerText": "召唤师的礼服", + "armorSpecialFall2021HealerText": "召唤师长袍", "armorSpecialFall2021WarriorText": "羊毛正装", "armorSpecialFall2021HealerNotes": "这些长袍由非常耐久的阻燃面料制成,非常适合在召唤治愈火焰时穿着。增加<%= con %>点体质。2021年秋季限定版装备。", "armorMystery202110Text": "苔藓石像鬼盔甲", @@ -2640,11 +2640,11 @@ "headSpecialSummer2022HealerText": "神仙鱼耳鳍", "headSpecialSpring2022HealerText": "橄榄石头盔", "headSpecialSpring2022HealerNotes": "你做你的任务的时候,这顶奇怪的头盔保持你的隐私。增加<%= int %>点智力。2022年春季限定版装备。", - "headSpecialSpring2022WarriorText": "雨衣头罩", + "headSpecialSpring2022WarriorText": "雨衣兜帽", "headSpecialSummer2022RogueNotes": "没有时间可以是倔的,我们在这里“乔“祝这个夏季最热的甲壳类双关语。增加<%= per %>点感知。2022年夏季限定版装备。", "headSpecialSummer2022MageText": "蝠鲼头盔", "headSpecialSummer2022MageNotes": "你潜你的任务还是最低的水时保持保护你的头。增加<%= per %>点感知。2022年夏季限定版装备。", - "headSpecialSpring2022WarriorNotes": "啧啧,好像会下雨!要保持干燥就高地站和拉起你的头罩。增加<%= str %>点力量。2022年夏季限定版装备。", + "headSpecialSpring2022WarriorNotes": "啧啧,好像会下雨!要保持干燥就高地站和拉起你的兜帽。增加<%= str %>点力量。2022年夏季限定版装备。", "headSpecialSpring2022MageNotes": "用这个保护性的倒花瓣头盔暴雨时保持干燥。增加<%= per %>点感知。2022年夏季限定版装备。", "headSpecialSpring2022MageText": "连翘头盔", "headSpecialSpring2022RogueText": "喜鹊面具", @@ -2670,19 +2670,19 @@ "weaponArmoirePushBroomNotes": "你探险的时候戴这个真理工具会总能扫一个有烟的门阶还是腾有蛛网的角落。增加力量和智力各<%= attrs %>点。魔法衣橱:清洁用品套装 (1/3)", "weaponArmoireFeatherDusterNotes": "让这些华丽羽毛满你的老东西围飞,它们会亮如新。就谨防扰乱的灰尘,你不要打喷嚏啊!增加体质、感知各<%= attrs %>点。魔法衣橱:清洁用品套装(2/3)", "shieldArmoireDustpanText": "簸箕", - "eyewearMystery202204BText": "电子脸", - "eyewearMystery202204BNotes": "你今天觉得怎么样?用这些好玩的荧屏表达你自己。没有属性加成。2022年4月订阅者物品。", + "eyewearMystery202204BText": "电子屏幕脸", + "eyewearMystery202204BNotes": "今天心情咋样?用这些有趣的荧光屏,表达你的心情吧。没有属性加成。2022年4月订阅者物品。", "shieldArmoireSoftVioletPillowText": "松软天鹅绒枕头", "shieldArmoireSoftVioletPillowNotes": "一个聪明的战士任何征战会装枕头。保护你自己免受迟滞诱发的恐慌…… 即使就在睡觉。增加<%= int %>点智力。魔法衣橱:紫家居服套装(3/3)。", "shieldArmoireGardenersSpadeText": "园丁铲", "shieldArmoireGardenersSpadeNotes": "如果你在园里开掘、找地下宝藏、还是修暗道,这个可信任的铲总在你的旁边。增加<%= str %>点力量。魔法衣橱:园丁套装(3/4)。", - "shieldArmoireSpanishGuitarNotes": "叮咚!叮咚!叮叮咚咚!将弹这把吉他集会你的队伍去一个音乐会还是典礼。增加<%= per %>点感知和<%= int %>点智力。魔法衣橱:乐器套装1 (2/3)", + "shieldArmoireSpanishGuitarNotes": "叮咚!叮咚!叮叮咚咚!通过弹奏吉他召集你的队伍去参加音乐会或庆祝活动。增加<%= per %>点感知和<%= int %>点智力。魔法衣橱:乐器套装1(2/3)", "shieldArmoireSnareDrumText": "小鼓", "shieldArmoireSnareDrumNotes": "嗒嗒嗒!将打这面鼓集会你的队伍去游行还是行军打仗。增加<%= con %>点体质和<%= int %>点智力。魔法衣橱:乐器套装1 (3/3)", "shieldArmoireSpanishGuitarText": "西班牙吉他", "shieldArmoireDustpanNotes": "你每次打扫有这个簸箕身边。对它使用消失的咒语,就不会找一个注入它的垃圾桶。增加智力和体质各<%= attrs %>点。魔法衣橱:清洁用品套装(3/3)。", "eyewearMystery202204AText": "电子脸", - "eyewearMystery202204ANotes": "你今天觉得怎么样?用这些好玩的荧屏表达你自己。没有属性加成。2022年4月订阅者物品。", + "eyewearMystery202204ANotes": "今天心情咋样?用这些有趣的荧光屏,表达你的心情吧。没有属性加成。2022年4月订阅者物品。", "shieldArmoireTreasureMapText": "藏宝图", "shieldArmoireTreasureMapNotes": "X是要去的地方!你遵循这张好用的图找传奇藏宝不知道会找到什么:黄金、首饰、陈迹、或者一颗橙化石?增加力量和智力各<%= attrs %>点。魔法衣橱:华丽海盗套装(3/3)。", "backMystery202206Text": "海精灵翅膀", @@ -2761,7 +2761,7 @@ "weaponSpecialWinter2023HealerText": "回旋花环", "armorSpecialWinter2023WarriorText": "海象套装", "armorSpecialWinter2023MageText": "仙女光芒裙", - "weaponSpecialWinter2023RogueNotes": "传说中诱捕对手武器的盗贼,缴械后把玩一番,再物归原主。增加<%=str%>点力量。2022-2023年冬季限定版装备。", + "weaponSpecialWinter2023RogueNotes": "传说中盗取对手武器的盗贼,缴械后把玩一番,再物归原主。增加<%=str%>点力量。2022-2023年冬季限定版装备。", "armorSpecialWinter2023RogueNotes": "用打包带将礼物和漂亮的纸张绑在一起。然后送给你们当地的盗贼!这个季节需要它传递温暖。增加<%=per%>点感知。2022-2023年冬季限定版装备。", "weaponSpecialWinter2023WarriorNotes": "矛的两端好似海象獠牙,威力却是海象的两倍。在嘲笑中、质疑中、愚蠢的诗歌中驱逐敌人!增加<%=str%>点力量。2022-2023年冬季限定版装备。", "weaponSpecialWinter2023MageNotes": "你管它是狐还是火?只要充满节日氛围就行啦!提高<%=int%>点智力,提高<%=per%>点感知。2022-2023年冬季限定版装备。", @@ -2769,5 +2769,88 @@ "armorSpecialWinter2023RogueText": "打包带", "armorSpecialWinter2023WarriorNotes": "这款结实的海象套装非常适合半夜穿上后去海边散步。增加<%=con%>点体质。2022-2023年冬季限定版装备。", "armorSpecialWinter2023MageNotes": "仅仅是有灯亮着,并不能让你成为一棵树……也许明年还有机会。增加<%=int%>点智力。2022-2023年冬季限定版装备。", - "armorSpecialWinter2023HealerText": "红衣主教套装" + "armorSpecialWinter2023HealerText": "红衣主教套装", + "armorSpecialWinter2023HealerNotes": "这套明亮的红衣非常适合你,穿上它解决你的难题。增加<%= con %>点体质。2022-2023年冬季限定版装备。", + "headSpecialWinter2023RogueText": "礼品蝴蝶结", + "headSpecialNye2022Text": "美妙派对帽", + "headSpecialNye2022Notes": "你收到了一顶美妙派对帽!新年钟声响起时,请自豪地戴上它!没有属性加成。", + "headSpecialWinter2023HealerNotes": "这顶主教头盔非常适合你戴着吹口哨和唱歌来预示冬天的到来。增加<%= int %>点智力。2022-2023年冬季限定版装备。", + "shieldSpecialWinter2023WarriorNotes": "海象说,现在是时候谈论这些事情了:牡蛎的外壳、冬天的钟声、远方的歌者,盾里的珍珠无处寻觅,新的一年带来惊喜!增加<%= con %>点体质。2022-2023年冬季限定版装备。", + "headSpecialWinter2023RogueNotes": "人们“解开”你头发的诱惑会给你练习闪避的机会。增加<%= per %>点感知。2022-2023年冬季限定版装备。", + "headSpecialWinter2023WarriorText": "海象头盔", + "headSpecialWinter2023WarriorNotes": "这顶海象头盔非常适合你戴着与朋友聊天或去参加晚宴。增加<%= str %>点力量。2022-2023年冬季限定版装备。", + "headSpecialWinter2023MageText": "童话之冠", + "headSpecialWinter2023MageNotes": "你是用星夜药水孵化出来的吗?因为你我的眼睛里满是星星。增加<%= per %>点感知。2022-2023年冬季限定版装备。", + "headSpecialWinter2023HealerText": "主教头盔", + "shieldSpecialWinter2023WarriorText": "牡蛎护盾", + "shieldSpecialWinter2023HealerText": "清爽果酱", + "shieldSpecialWinter2023HealerNotes": "你的霜雪之歌将抚慰所有听众的心灵。增加<%= con %>点体质。2022-2023年冬季限定版装备。", + "armorSpecialBirthday2023Text": "美妙派对长袍", + "armorSpecialBirthday2023Notes": "生日快乐,Habitica!穿上这件美妙的派对长袍,庆祝这美妙的一天吧。没有属性加成。", + "armorArmoireShawlCollarCoatText": "披肩大衣", + "headMystery202301Text": "勇武秃鹫之耳", + "headMystery202301Notes": "你的听觉会如此敏锐,你会听到黎明的破晓和露水的闪光。没有属性加成。2023年1月订阅者物品。", + "bodySpecialAnniversaryText": "Habitica英雄衣领", + "eyewearSpecialAnniversaryText": "Habitica英雄面具", + "armorArmoireShawlCollarCoatNotes": "一位睿智的巫师曾说过,舒适又高效才是最好的!穿上这件温暖时尚的外套,迎接今年的挑战吧。增加<%= con %>点体质。魔法衣橱:独立装备。", + "backMystery202301Text": "Valor的五尾", + "backMystery202301Notes": "这些蓬松的尾巴蕴含着空灵的力量,极具魅惑之力!没有属性加成。2023年1月订阅者物品。", + "backSpecialAnniversaryText": "Habitica英雄披风", + "backSpecialAnniversaryNotes": "让这件引以为傲的披风随风飘扬,告诉每个人你是一个Habitica英雄。没有属性加成。特别版10周年生日礼物。", + "bodySpecialAnniversaryNotes": "完美搭配您的皇家紫色套装!没有属性加成。特别版10周年生日礼物。", + "eyewearSpecialAnniversaryNotes": "透过Habitica英雄的眼睛看着你!没有属性加成。特别版10周年生日礼物。", + "armorArmoireTeaGownText": "茶会礼服", + "armorArmoireTeaGownNotes": "你很有松弛感,富有创造力,才华横溢,而且非常时尚!增加力量和智力各<%= attrs %>点。魔法衣橱:茶会套装(1/3)。", + "headArmoireTeaHatText": "茶会礼帽", + "headArmoireTeaHatNotes": "这顶优雅的帽子花哨又实用。增加<%= per %>点感知。魔法衣橱:茶会套装(2/3)。", + "shieldArmoireTeaKettleText": "茶壶", + "shieldArmoireTeaKettleNotes": "这个茶壶可以冲泡你的所有心头好。你想喝红茶、绿茶、乌龙茶,还是中药?增加<%= con %>点体质。魔法衣橱:茶会套装(3/3)。", + "backMystery202302Text": "Trickster Tabby的尾巴", + "backMystery202302Notes": "你哪天戴上这条尾巴,哪天就是兄弟节!嘿!哈!没有属性加成。2023年2月订阅者物品。", + "headAccessoryMystery202302Text": "Trickster Tabby的耳朵", + "headAccessoryMystery202302Notes": "完美的配饰衬托你迷人的笑容。没有属性加成。2023年2月订阅者物品。", + "armorArmoireBasketballUniformText": "篮球服", + "armorArmoireBasketballUniformNotes": "你可曾好奇过这件篮球服背面印着什么吗?那必然是你的幸运数字啦!增加<% per %>点感知。魔法衣橱:怀旧篮球套装(1/2)。", + "shieldArmoireBasketballText": "篮球", + "shieldArmoireBasketballNotes": "哐当!只要你投出这个魔法篮球,必是空心球。增加体质、力量各<%= attrs %>点。魔法衣橱:怀旧篮球套装(2/2)。", + "eyewearMystery202303Notes": "如此满不在乎的眼神,可以欺骗你的敌人,让他们产生一种虚假的安全感。没有属性加成。2023年3月订阅者物品。", + "headMystery202303Text": "杀马特发型", + "headMystery202303Notes": "比起这样非主流的蓝色杀马特发型,难道还有更好的办法向大家宣告你是舞台中央的大明星吗?没有属性加成。2023年3月订阅者物品。", + "eyewearMystery202303Text": "梦幻眼睛", + "weaponSpecialSpring2023RogueText": "咬过的嫩叶", + "weaponSpecialSpring2023MageNotes": "月光石的光彩愈发炫目,其中蕴含的魔力就愈发强大。增加<%= int %>点智力。2023年春季限定版装备。", + "armorSpecialSpring2023MageNotes": "这件华丽的春季套装能大大增强月光石的魔力。增加<%= int %>点智力。2023年春季限定版装备。", + "armorSpecialSpring2023WarriorText": "蜂鸟护甲", + "shieldSpecialSpring2023WarriorText": "花束", + "shieldSpecialSpring2023WarriorNotes": "2023年春季限定版装备。春天最好的花被收集到这个色彩鲜艳的花束中。增加<%= con %>点体质。", + "weaponSpecialSpring2023HealerNotes": "一缕清风、一阵闪耀,你送来了新生、喜乐和光彩。增加<%= int %>点智力。2023年春季限定版装备。", + "headSpecialSpring2023MageNotes": "晚上戴着这幅护目镜,你就能傍着月光看清一切。增加<%= per %>点感知。2023年春季限定版装备。", + "headSpecialSpring2023MageText": "月光石护目镜", + "headSpecialSpring2023WarriorText": "蜂鸟头盔", + "headSpecialSpring2023WarriorNotes": "飞入战斗现场时,让光彩夺目的羽毛掩护好你的脸庞。增加<%= str %>点力量。2023年春季限定版装备。", + "weaponSpecialSpring2023MageText": "魔力月光石", + "weaponSpecialSpring2023WarriorText": "蜂鸟花剑", + "weaponSpecialSpring2023WarriorNotes": "准备——!用手中的这把花剑,击退觊觎着你的花朵的敌人!增加<%= str %>点力量。2023年春季限定版装备。", + "weaponSpecialSpring2023HealerText": "百合花粉", + "armorSpecialSpring2023MageText": "月光石套装", + "armorSpecialSpring2023WarriorNotes": "你听到的嗡嗡作响,正是你的翅膀在以惊人速度扇动发出的声响。增加<%= con %>点体质。2023年春季限定版装备。", + "armorSpecialSpring2023HealerText": "百合叶礼服", + "headSpecialSpring2023HealerNotes": "这么光彩夺目的外观,竟有着与重生球如此相似的色调!多么有象征意义啊!增加<%= int %>点智力。2023年春季限定版装备。", + "headSpecialSpring2023HealerText": "百合花开", + "shieldSpecialSpring2023HealerText": "百合胸花", + "shieldSpecialSpring2023HealerNotes": "能为治愈之旅增色不少,也是参加春季花舞节不可或缺的传统礼节之一!增加<%= con %>点体质。2023年春季限定版装备。", + "armorSpecialSpring2023HealerNotes": "青翠欲滴、光彩照人,穿上就能成为整个队伍都羡慕的对象。增加<%= con %>点体质。2023年春季限定版装备。", + "armorSpecialSpring2023RogueNotes": "也许你生来只有四肢,但有了最伟大的幼虫身体,你就能随心所欲地爬上爬下。增加<%= per %>点感知。2023年春季限定版装备。", + "headSpecialSpring2023RogueText": "毛毛虫兜帽", + "headSpecialSpring2023RogueNotes": "觅食的鸟儿在头顶上盘旋时,可别忘了收起这抢眼的触角喔!增加<%= per %>点感知。2023年春季限定版装备。", + "weaponSpecialSpring2023RogueNotes": "一劈!一砍!咬一口尝尝!强健体魄,同时为不久之后的蜕变做足准备。增加<%= str %>点力量。2023年春季限定版装备。", + "armorSpecialSpring2023RogueText": "毛毛虫披风", + "weaponMystery202306Text": "彩虹伞", + "weaponSpecialSummer2023RogueText": "古皮扇", + "weaponSpecialSummer2023WarriorText": "水元素剑", + "weaponSpecialSummer2023MageText": "鱼", + "weaponSpecialSummer2023HealerText": "摇摆的海带", + "weaponArmoirePaintbrushText": "画笔", + "armorSpecialSummer2023RogueText": "古皮包装", + "armorSpecialSummer2023WarriorText": "金鱼战甲" } diff --git a/website/common/locales/zh/generic.json b/website/common/locales/zh/generic.json index c3e33ca807..50f3456fa4 100644 --- a/website/common/locales/zh/generic.json +++ b/website/common/locales/zh/generic.json @@ -201,7 +201,7 @@ "loadEarlierMessages": "载入早期信息", "finish": "完成", "congratulations": "恭喜你!", - "onboardingAchievs": "到职成就", + "onboardingAchievs": "新手成就", "askQuestion": "提出问题", "reportBugHeaderDescribe": "请详述您所面临的问题,我们的团队将会尽快处理并给予回复。", "reportEmailText": "这将仅用于答复你关于该问题有关的信息。", diff --git a/website/common/locales/zh/groups.json b/website/common/locales/zh/groups.json index 3003aab7cc..657bb71c50 100644 --- a/website/common/locales/zh/groups.json +++ b/website/common/locales/zh/groups.json @@ -1,7 +1,7 @@ { "tavern": "在酒馆里闲谈", "tavernChat": "酒馆", - "innCheckOutBanner": "你已入住客栈。未完成的每日任务不会对你造成伤害,但已完成的任务也不会帮你在副本中取得进展。", + "innCheckOutBanner": "你已入住客栈。未完成的每日任务不会对你造成伤害,但你也无法通过完成任务取得副本进展。", "innCheckOutBannerShort": "你现在入住了酒馆。", "resumeDamage": "继续伤害", "helpfulLinks": "有帮助的链接", @@ -206,10 +206,10 @@ "leaderCannotLeaveGroupWithActiveGroup": "组长不能在付费订阅尚未过期时离开小组", "youHaveGroupPlan": "因为您的群组拥有团体方案,所以您将得到免费的订阅资格。当您不再是团队计划的成员时,您的订阅将终止。", "cancelGroupSub": "取消团队计划", - "confirmCancelGroupPlan": "你确定要取消组内订购计划吗?组内所有成员会失去他们的订阅与收益。", + "confirmCancelGroupPlan": "你确定要取消团队计划吗?这样做所有的团队成员将会失去订阅及福利。", "canceledGroupPlan": "团队计划已取消", "groupPlanCanceled": "团队计划将失效于", - "purchasedGroupPlanPlanExtraMonths": "你有<%= months %>个月额外的组内订购的月数。", + "purchasedGroupPlanPlanExtraMonths": "你有<%= months %>个月的团队计划结存订阅。", "addManager": "分配管理员", "removeManager2": "取消管理员", "userMustBeMember": "用户必须是成员", @@ -225,7 +225,7 @@ "guildBank": "公会银行", "chatPlaceholder": "在这里输入您给公会会员发送的信息", "partyChatPlaceholder": "在这里输入您给队伍会员发送的信息", - "fetchRecentMessages": "查看最近的消息", + "fetchRecentMessages": "获取最新消息", "like": "点赞", "liked": "已赞", "inviteToGuild": "公会邀请", @@ -275,7 +275,7 @@ "playInPartyTitle": "加入一个队伍来一起玩Habitica吧!", "playInPartyDescription": "与朋友们一起或是只有你自己来享受惊人的副本。与怪物战斗,创造挑战,并帮助您通过队伍负起自己的责任。", "wantToJoinPartyTitle": "想要参加队伍吗?", - "wantToJoinPartyDescription": "将你的用户名发送给已有公会的朋友,或者到Party Wanted Guild遇到潜在的伙伴!", + "wantToJoinPartyDescription": "将你的用户名发送给已有队伍的朋友,或者到Party Wanted Guild寻找队友!", "copy": "复制", "inviteToPartyOrQuest": "邀请队伍参加副本", "inviteInformation": "点击“邀请”向队友发送一封邀请函。当所有队友都回应接受或拒绝,副本就会开始。", @@ -312,9 +312,9 @@ "teamBasedTasksList": "基于团队的任务清单", "teamBasedTasksListDesc": "为团队设置一个易于查看的共享任务列表。将任务分配给您的同事小组成员,或让他们提出自己的任务以明确每个人的工作!", "groupManagementControls": "团队管理控制", - "groupManagementControlsDesc": "使用任务审批来验证任务是否完成,添加团队管理员以分担责任,并享受为所有小组成员建立的一个私人团队聊天区域。", + "groupManagementControlsDesc": "查看任务状态来确认任务是否完成,添加团队管理员以分担责任,并享受为所有小组成员建立的一个私人团队聊天区域。", "inGameBenefits": "游戏福利", - "inGameBenefitsDesc": "小组成员可获得独家的鹿角兔坐骑以及全套订阅优惠,包括特殊的月度订阅者装备套装和使用金币购买宝石的权利。", + "inGameBenefitsDesc": "小组成员可获得独家的鹿角兔坐骑以及全套订阅权益,包括每月获得独特的订阅者套装和使用金币购买宝石的权利。", "inspireYourParty": "激励你的队伍,一起游戏化生活。", "letsMakeAccount": "首先,来注册一个账号", "nameYourGroup": "然后,给你的队伍命名", @@ -417,5 +417,6 @@ "createGroup": "创建团队", "groupUse": "哪一点最适合用来描述您的团队用途?*", "nextPaymentMethod": "下一步:付款方式", - "sendGiftLabel": "您想通过私信发送礼物吗?" + "sendGiftLabel": "您想通过私信发送礼物吗?", + "invitedToPartyBy": "\" target=\"_blank\">@<%- userName %>邀请你加入队伍<%- party %>" } diff --git a/website/common/locales/zh/limited.json b/website/common/locales/zh/limited.json index 58f6645a9d..885a0a9ac8 100644 --- a/website/common/locales/zh/limited.json +++ b/website/common/locales/zh/limited.json @@ -196,7 +196,7 @@ "winter2021ArcticExplorerHealerSet": "极地探索者(医者)", "winter2021WinterMoonMageSet": "冬月(法师)", "winter2021IceFishingWarriorSet": "冰钓(战士)", - "g1g1Limitations": "该限时活动从美国东部时间12月16日上午8:00(13:00 UTC)开始,于美国东部时间1月6日下午8:00(1:00 UTC)结束。该促销活动只允许您将订阅赠送给另一位Habitica居民。如果您或您的礼物接受者当前的订阅尚未到期或取消,赠送所获得的订阅将进行顺延。", + "g1g1Limitations": "该限时活动从美国东部时间12月15日上午8:00(UTC 13:00)开始,于美国东部时间1月8日下午11:59(UTC 1月9日 04:59)结束。该促销活动只允许您将订阅赠送给另一位Habitica居民。如果您或您的礼物接受者当前的订阅尚未到期或取消,赠送所获得的订阅将进行顺延。", "limitations": "限制因素", "g1g1HowItWorks": "输入你想赠送订阅的账号的用户名。选择你想赠送订阅的时长。你的账号将免费获得一份相同的订阅。", "spring2021TwinFlowerRogueSet": "林奈花(盗贼)", @@ -235,5 +235,42 @@ "fall2022KappaRogueSet": "河童(盗贼)", "fall2022OrcWarriorSet": "兽人(战士)", "fall2022HarpyMageSet": "鹰身女妖(法师)", - "fall2022WatcherHealerSet": "眼魔(医者)" + "fall2022WatcherHealerSet": "眼魔(医者)", + "winter2023WalrusWarriorSet": "海象(战士)", + "winter2023FairyLightsMageSet": "仙灯(法师)", + "winter2023CardinalHealerSet": "红衣主教(医者)", + "winter2023RibbonRogueSet": "缎带(盗贼)", + "dateStartFebruary": "2月8日", + "anniversaryLimitations": "这是一个限时活动,从美国东部时间1月30日上午8:00(13:00 UTC)开始,于美国东部时间2月8日下午11:59(04:59 UTC)结束。在此期间,我们将放开限定版欢沁狮鹫蛇和十种魔法孵化药剂的购买。“免费四件套”中列出的其他礼品将自动发送给前30天内所有活跃的账户。礼品发送后创建的帐户将无法领取。", + "anniversaryLimitedDates": "1月30日至2月8日", + "limitedEvent": "限定事件", + "celebrateAnniversary": "使用下方的礼物和专属物品庆祝Habitica的10岁生日!", + "celebrateBirthday": "用礼物和专属物品庆祝Habitica的10岁生日!", + "jubilantGryphatricePromo": "动画宠物欢沁狮鹫蛇", + "limitedEdition": "限定版", + "anniversaryGryphatriceText": "罕见的欢沁狮鹫蛇加入了生日庆祝活动!不要错过拥有这只专属动画宠物的机会。", + "buyNowMoneyButton": "现在就以9.99美元购买", + "buyNowGemsButton": "现在就以60颗宝石购买", + "wantToPayWithGemsText": "想用宝石支付吗?", + "wantToPayWithMoneyText": "想用Stripe、Paypal或Amazon支付吗?", + "ownJubilantGryphatrice": "你拥有了欢沁狮鹫蛇快点去马厩装备它吧!", + "jubilantSuccess": "您已成功购买欢沁狮鹫蛇", + "stableVisit": "现在就去马厩骑上它!", + "takeMeToStable": "带我去马厩", + "plentyOfPotions": "大量的药水", + "plentyOfPotionsText": "我们返场了10种社区最喜欢的魔法孵化药水。前往市场填充您的收藏吧!", + "visitTheMarketButton": "参观市场", + "fourForFree": "免费四件套", + "fourForFreeText": "为了让派对继续下去,我们将送出派对长袍、20颗宝石,以及限量版生日背景和物品套装,其中包括一个斗篷、一个肩甲和一个眼罩。", + "dayOne": "第1天", + "dayFive": "第5天", + "dayTen": "第10天", + "partyRobes": "派对长袍", + "twentyGems": "20颗宝石", + "birthdaySet": "生日套装", + "anniversaryGryphatricePrice": "今天就以9.99美元60宝石的价格购买", + "spring2023MoonstoneMageSet": "月光石(法师)", + "spring2023HummingbirdWarriorSet": "蜂鸟(战士)", + "spring2023LilyHealerSet": "百合(医者)", + "spring2023CaterpillarRogueSet": "毛毛虫(盗贼)" } diff --git a/website/common/locales/zh/loginincentives.json b/website/common/locales/zh/loginincentives.json index e02d7eb565..6ff68f4105 100644 --- a/website/common/locales/zh/loginincentives.json +++ b/website/common/locales/zh/loginincentives.json @@ -8,7 +8,7 @@ "checkinEarned": "你的签到总次数又升高了!", "unlockedCheckInReward": "你解锁了一个签到奖励!", "checkinProgressTitle": "签到进度", - "incentiveBackgroundsUnlockedWithCheckins": "现在锁着的简约背景套装会通过每日签到解锁。", + "incentiveBackgroundsUnlockedWithCheckins": "现在锁定的普通背景套装会通过每日签到解锁。", "oneOfAllPetEggs": "每种标准宠物蛋各一个", "twoOfAllPetEggs": "每种标准宠物蛋各两个", "threeOfAllPetEggs": "每种标准宠物蛋各三个", diff --git a/website/common/locales/zh/messages.json b/website/common/locales/zh/messages.json index 6d5ce83a03..d21f1bf38b 100644 --- a/website/common/locales/zh/messages.json +++ b/website/common/locales/zh/messages.json @@ -4,7 +4,7 @@ "messageTagNotFound": "找不到标签。", "messagePetNotFound": "找不到该宠物", "messageFoodNotFound": "找不到该食物", - "messageNotAvailable": "这样东西目前不能被购买.", + "messageNotAvailable": "这样东西目前不能被购买。", "messageCannotFeedPet": "不能喂这只宠物。", "messageAlreadyMount": "你已经有这个坐骑了。请喂另一只宠物。", "messageEvolve": "你已经驯服了<%= egg %>,去骑几圈吧!", @@ -15,8 +15,8 @@ "messageMissingEggPotion": "你没选择药水或者宠物蛋", "messageInvalidEggPotionCombo": "你不能用孵化药水孵化副本宠物蛋,试试其他的蛋。", "messageAlreadyPet": "你已经拥有这种宠物了,试着用另一种组合方式孵化吧!", - "messageHatched": "你的蛋孵化了,造访你的马厩来装备你的宠物吧。", - "messageNotEnoughGold": "金币不够", + "messageHatched": "你的蛋孵化好了!快去马厩装备你的宠物吧。", + "messageNotEnoughGold": "金币不足", "messageTwoHandedEquip": "<%= twoHandedText %> 是双手武器,所以 <%= offHandedText %> 被卸下了。", "messageTwoHandedUnequip": "<%= twoHandedText %> 是双手武器,所以 当你装备<%= offHandedText %>时, <%= twoHandedText %> 被卸下了。", "messageDropFood": "你发现了<%= dropText %>!", @@ -27,10 +27,10 @@ "previousGearNotOwned": "在这之前你需要购买一个较低级的装备。", "messageHealthAlreadyMax": "你的生命已经达到最大值。", "messageHealthAlreadyMin": "哦不!你耗光了生命值,而且吃药也来不及了,不过别担心——你能复活!", - "armoireEquipment": "<%= image %> 你在大衣橱里发现了一件稀有装备:<%= dropText %>!恭喜你 !", - "armoireFood": "<%= image %>你翻开了大衣橱并且找到<%= dropText %>。它怎么在这里?", - "armoireExp": "你和大衣橱展开了殊死搏斗,并赢得了经验,尝尝这个吧!", - "messageInsufficientGems": "宝石不够了!", + "armoireEquipment": "<%= image %> 你在衣橱里找到了一件稀有装备:<%= dropText %>!恭喜你 !", + "armoireFood": "<%= image %>你在衣橱里一通乱翻,找到了<%= dropText %>。那里面为啥会有这玩意?", + "armoireExp": "接招吧,魔法衣橱!你和它展开了殊死搏斗,并赢得了经验。", + "messageInsufficientGems": "宝石不足!", "messageGroupAlreadyInParty": "你已加入了一个队伍,请刷新页面。", "messageGroupOnlyLeaderCanUpdate": "只有小组长才可以更新小组信息!", "messageGroupRequiresInvite": "你无法加入没有邀请你的小组。", @@ -47,7 +47,7 @@ "messageNotificationNotFound": "找不到消息。", "messageNotAbleToBuyInBulk": "这件物品只能买1个。", "notificationsRequired": "需要“消息id”。", - "unallocatedStatsPoints": "你有<%= points %>点没分配的属性点", + "unallocatedStatsPoints": "你有<%= points %>点未分配的属性点", "beginningOfConversation": "现在开始和<%= userName %>愉快的聊天吧。", "messageDeletedUser": "抱歉,此用户已删除其帐户。", "messageMissingDisplayName": "缺少昵称。", diff --git a/website/common/locales/zh/pets.json b/website/common/locales/zh/pets.json index e82b3db04b..6c57f78b5f 100644 --- a/website/common/locales/zh/pets.json +++ b/website/common/locales/zh/pets.json @@ -37,12 +37,12 @@ "hatchingPotions": "孵化药水", "magicHatchingPotions": "魔法孵化药水", "hatchingPotion": "孵化药水", - "haveHatchablePet": "你有一个<%= potion %>孵化药水和<%= egg %>蛋去孵化这只宠物!点击印孵化它!", + "haveHatchablePet": "你有一瓶<%= potion %>孵化药水和一个<%= egg %>宠物蛋,可以孵化这只宠物!点击此处即可孵化!", "quickInventory": "物品栏", "foodText": "食物", "food": "宠物食物和鞍", - "noFoodAvailable": "你没有任何宠物食物。", - "noSaddlesAvailable": "你没有任何马鞍。", + "noFoodAvailable": "你没有宠物食物。", + "noSaddlesAvailable": "你没有马鞍。", "noFood": "你没有任何食物或鞍。", "dropsExplanation": "如果你不想等每次完成任务才掉落这些物品,你可以用宝石来加速获取。你可以在这了解更多关于掉落系统的信息。", "dropsExplanationEggs": "花费宝石来更快的获得宠物蛋。如果你不想等待普通宠物蛋掉落或者不想宠物完成副本来得到副本宠物蛋的话。了解更多关于掉落系统。", @@ -63,15 +63,15 @@ "triadBingoAchievement": "由于找到了所有宠物,驯养了所有坐骑和再次找到了所有宠物,你获得了“三全大师称号”成就!", "dropsEnabled": "启用了物品掉落功能!", "firstDrop": "你解锁了物品掉落功能!从今以后,只要你完成每个任务都会有一定的几率能找到一件物品,包括蛋,药水和食物。刚刚你找到了一颗<%= eggText %>蛋!<%= eggNotes %>", - "hatchedPet": "你孵化了一只新的<%= potion %> <%= egg %>!", + "hatchedPet": "你孵化了一只新的<%= potion %><%= egg %>宠物!", "hatchedPetGeneric": "你孵化了一只新宠物!", "hatchedPetHowToUse": "到[马厩](<%= stableUrl %>)去饲养和装备你最新的宠物吧!", "petNotOwned": "你没有拥有这个宠物。", "mountNotOwned": "您还未拥有这一坐骑。", - "feedPet": "喂你的<%= text %> 一个 <%= name %> ?", - "raisedPet": "你让你的<%= pet %>长大了!", - "petName": "<%= potion(locale) %> <%= egg(locale) %>", - "mountName": "<%= potion(locale) %> <%= mount(locale) %>", + "feedPet": "给你的<%= name %>喂个<%= text %>?", + "raisedPet": "你将<%= pet %>喂养成了坐骑!", + "petName": "<%= potion(locale) %><%= egg(locale) %>", + "mountName": "<%= potion(locale) %><%= mount(locale) %>", "keyToPets": "宠物马厩钥匙", "keyToPetsDesc": "释放所有基础宠物,以便您可以再次收集它们。(副本宠物和稀有宠物不受影响。)", "keyToMounts": "坐骑马厩钥匙", @@ -113,5 +113,6 @@ "gryphatrice": "狮鹫蛇", "invalidAmount": "食物数量无效,必须为正整数", "tooMuchFood": "你正在喂宠物过多食物,行动已取消", - "notEnoughFood": "你没有足够的食物" + "notEnoughFood": "你没有足够的食物", + "jubilantGryphatrice": "欢沁狮鹫蛇" } diff --git a/website/common/locales/zh/quests.json b/website/common/locales/zh/quests.json index f1ad5b2346..66a3cacddf 100644 --- a/website/common/locales/zh/quests.json +++ b/website/common/locales/zh/quests.json @@ -45,7 +45,7 @@ "startQuest": "开始副本", "questInvitationDoesNotExist": "还没有发出任何副本邀请。", "questInviteNotFound": "找不到副本邀请。", - "guildQuestsNotSupported": "公会不能被邀请参加副本。", + "guildQuestsNotSupported": "无法邀请公会参与副本。", "questNotOwned": "你还没拥有那个副本卷轴。", "questNotGoldPurchasable": "副本“<%= key %>”不能用金币购买。", "questNotGemPurchasable": "副本“<%= key %>”不可用宝石进行购买。", diff --git a/website/common/locales/zh/questscontent.json b/website/common/locales/zh/questscontent.json index 665bb9899e..4aa9bb7bb2 100644 --- a/website/common/locales/zh/questscontent.json +++ b/website/common/locales/zh/questscontent.json @@ -313,7 +313,7 @@ "questSnailDropSnailEgg": "蜗牛(宠物蛋)", "questSnailUnlockText": "在市场中解锁蜗牛蛋以购买", "questBewilderText": "迷失怪", - "questBewilderNotes": "派对开始的时候和任何一场没什么不同。

开胃菜棒极了,音乐让人摇摆,甚至跳舞的大象都是保留节目。Habitica居民们在中央的花海中大笑嬉闹,不用去想最不喜欢的任务可真逍遥,愚人在他们中间回转,急切地到处展示着有趣的恶作剧和诙谐的动作。

随着浮空城的钟塔在午夜响起,愚人跳上舞台开始演讲。

“朋友们!敌人们!心胸宽广的老熟人们!听我说两句。”人们轻笑着,竖起了耳朵,用新的配饰装扮自己,摆起了姿势。

“如你们所知,”愚人继续说着,“我那摸不着头脑的幻觉仅仅持续了一天。但是,我很开心的宣布,我已经发现一个捷径,可以保证我们的快乐不会停止,不需要去处理责任的重压。可爱的Habitica居民们,见见我新的魔法朋友吧……“迷茫”!”

Lemoness突然脸色苍白,丢下她的餐前甜点。“等等!不要相信——”

但是,突然迷雾灌进了房间,闪闪发光,逐渐变浓,它们绕着愚人打着旋儿,凝聚成云朵般的羽翼和抻长的脖子。人群说不出话来,一只巨大的怪鸟在他们面前显露出来,它的翅膀闪烁着幻觉。它发出恐怖刺耳的笑声。

“噢,已经很多很多年了,一个有够愚蠢的Habitica居民召唤了我!多么美妙啊,终于有一个实体了。”

浮空城的魔法蜜蜂惊恐嗡嗡的逃离了这座浮空城,浮空城开始从天空下落。灿烂的春之花一个接一个枯萎了。

“我最亲爱的朋友,为何如此惊恐?”迷茫啼叫着,扇动着它的翅膀,“没必要再幸苦赢得奖励了。我会给你们所有你们想要的东西!”

金币雨从空中倾泻下来,猛力地敲打在地面,人们尖叫着奔跑着寻找遮蔽物。“这是在开玩笑吗?”Baconsaur大叫,金币砸穿了窗户,打破了屋顶的瓦片。

画家Prophet闪避着,空中出现了闪电裂纹,雾遮挡了太阳。“不!这次我想不是了!”

快,Habitica居民们,不要让这个世界Boss使我们从目标上分心!保持注意力,关注你需要完成的任务,这样我们才能拯救浮空城——还有,充满希望的我们自己。", + "questBewilderNotes": "和以外的派对没有什么区别。

开胃菜棒极了,音乐让人摇摆,甚至跳舞的大象都是保留节目。Habitica居民们在中央的花海中大笑嬉闹,不用去想最不喜欢的任务可真逍遥,愚人在他们中间回转,急切地到处展示着有趣的恶作剧和诙谐的动作。

随着浮空城的钟塔在午夜响起,愚人跳上舞台开始演讲。

“朋友们!敌人们!心胸宽广的老熟人们!听我说两句。”人们轻笑着,竖起了耳朵,用新的配饰装扮自己,摆起了姿势。

“如你们所知,”愚人继续说着,“我那摸不着头脑的幻觉仅仅持续了一天。但是,我很开心的宣布,我已经发现一个捷径,可以保证我们的快乐不会停止,不需要去处理责任的重压。可爱的Habitica居民们,见见我新的魔法朋友吧……“迷茫”!”

Lemoness突然脸色苍白,丢下她的餐前甜点。“等等!不要相信——”

但是,突然迷雾灌进了房间,闪闪发光,逐渐变浓,它们绕着愚人打着旋儿,凝聚成云朵般的羽翼和抻长的脖子。人群说不出话来,一只巨大的怪鸟在他们面前显露出来,它的翅膀闪烁着幻觉。它发出恐怖刺耳的笑声。

“噢,已经很多很多年了,一个有够愚蠢的Habitica居民召唤了我!多么美妙啊,终于有一个实体了。”

浮空城的魔法蜜蜂惊恐嗡嗡的逃离了这座浮空城,浮空城开始从天空下落。灿烂的春之花一个接一个枯萎了。

“我最亲爱的朋友,为何如此惊恐?”迷茫啼叫着,扇动着它的翅膀,“没必要再幸苦赢得奖励了。我会给你们所有你们想要的东西!”

金币雨从空中倾泻下来,猛力地敲打在地面,人们尖叫着奔跑着寻找遮蔽物。“这是在开玩笑吗?”Baconsaur大叫,金币砸穿了窗户,打破了屋顶的瓦片。

画家Prophet闪避着,空中出现了闪电裂纹,雾遮挡了太阳。“不!这次我想不是了!”

快,Habitica居民们,不要让这个世界Boss使我们从目标上分心!保持注意力,关注你需要完成的任务,这样我们才能拯救浮空城——还有,充满希望的我们自己。", "questBewilderCompletion": "“迷茫”被打!败!了!

我们做到了!迷茫在空中扭曲,悲恸大叫,羽毛飘下来就像是雨点。渐渐地,它被卷入一团闪亮的雾中。一缕缕阳光穿透了迷雾,驱散了它,咳嗽着的不幸之幸的人们得以重见天日,其中有Bailey、Matt、Alex...和愚人自己。

浮空城被拯救了!

愚人看起来有点局促不安。“噢,嗯,”他说,“我可能有点....忘乎所以了。”

人们在喃喃低语,湿漉漉的花朵被冲上人行道,在远处还能看到坍塌的屋顶溅起的壮观水花。

“额,好,”愚人说,“也就是说…我想说的是,很抱歉。”他长叹道,“这毕竟可不是什么好玩的游戏,偶尔当心点不会有坏处的。也许我还是会带头开始下一年的恶作剧。”

浴火凤凰故意咳了一声。

“我的意思是,带头开始今年的春季大扫除!”愚人说,“不用担心,我会很快将Habitica修回原样。幸好在双持扫把上没人比我厉害。”

仪仗队开始演奏,鼓舞大家。

用不了多久Habitica的一切就会回归正轨。此外,现在迷茫已经消失了,魔法蜜蜂回到了浮空城开始了忙碌的工作,不久后,城市又一次淹没在了花海中。

Habitica居民拥抱了魔法绒绒蜜蜂,愚人的眼睛瞬间亮了起来,“噢,我有了一个想法!为什么你们都不养一些绒绒蜜蜂当宠物和坐骑呢?如果我要让你感到无聊和有寓意的话,这是一个很好的礼物,它完美的代表了辛勤工作和甜蜜的回报的结合。”他眨了眨眼,“另外,它们没有毒刺!愚人向你致敬。”", "questBewilderCompletionChat": "`“迷茫”被打!败!了!`\n\n我们做到了!迷茫在空中扭曲,悲恸大叫,羽毛飘下来就像是雨点。渐渐地,它被卷入一团闪亮的雾中。一缕缕阳光穿透了迷雾,驱散了它,咳嗽着的不幸之幸的人们得以重见天日,其中有Bailey、Matt、Alex……和愚人自己。\n\n`浮空城被拯救了!`\n\n愚人看起来有点局促不安。“噢,嗯,”他说,“我可能有点……忘乎所以了。”\n\n人们在喃喃低语,湿漉漉的花朵被冲上人行道,在远处还能看到坍塌的屋顶溅起的壮观水花。\n\n“额,好,”愚人说,“也就是说…我想说的是,很抱歉。”他长叹道,“这毕竟可不是什么好玩的游戏,偶尔当心点不会有坏处的。也许我还是会带头开始下一年的恶作剧。”\n\n浴火凤凰故意咳了一声。\n\n“我的意思是,带头开始今年的春季大扫除!”愚人说,“不用担心,我会很快将Habitica修回原样。幸好在双持扫把上没人比我厉害。”\n\n仪仗队开始演奏,鼓舞大家。\n\n用不了多久Habitica的一切就会回归正轨。此外,现在迷茫已经消失了,魔法蜜蜂回到了浮空城开始了忙碌的工作,不久后,城市又一次淹没在了花海中。\n\nHabitica居民拥抱了魔法绒绒蜜蜂,愚人的眼睛瞬间亮了起来,“噢,我有了一个想法!为什么你们都不养一些绒绒蜜蜂当宠物和坐骑呢?如果我要让你感到无聊和有寓意的话,这是一个很好的礼物,它完美的代表了辛勤工作和甜蜜的回报的结合。”他眨了眨眼,“另外,它们没有毒刺!愚人向你致敬。”", "questBewilderBossRageTitle": "欺骗打击", @@ -749,9 +749,18 @@ "questVirtualPetUnlockText": "在市场上解锁电子宠物孵化药水以购买", "questVirtualPetRageDescription": "如果你没有完成每日任务,怒气值会增加。当怒气槽攒满,Wotchimon会减少队伍积累的待定伤害!", "questVirtualPetBoss": "Wotchimon", - "questVirtualPetNotes": "正是宁静祥和的春日清晨时分,距离值得纪念的愚人节已经过去了整整一周。你和@Beffymaroo正呆在马厩里照看宠物们(它们对于变成电子宠物的那段时光仍旧有些困惑呢!)。

这时,你听见远处传来一阵隆隆声和哔哔声,起初还有些隐隐约约的声音,很快就变得越来越嘈杂了,好像有什么东西在靠近一样。很快,一个蛋形物体就出现在地平线上,随着它的不断逼近,哔哔声愈加震耳欲聋,你终于看清了它——那是一个巨型的电子宠物!

“哦不,”@Beffymaroo惊恐地大喊,“我看愚人又留下了一片烂摊子,这个大家伙显然就是他的杰作之一。看起来这个电子宠物很想要吸引我们的注意!”

电子宠物愤怒地“哔哔”叫着,挥舞着双臂,靠得越来越近了。", + "questVirtualPetNotes": "正是宁静祥和的春日清晨时分,距离难忘的愚人节已经过去了整整一周。你和@Beffymaroo正呆在马厩里照看宠物们(它们对于变成电子宠物的那段时光仍旧有些困惑呢!)。

这时,你听见远处传来一阵隆隆声和哔哔声。那响动起初还有些隐约,但很快就变得越来越嘈杂了,好像有什么东西在靠近一样。很快,一个蛋形物体就出现在了地平线上,随着它的不断逼近,哔哔声愈加震耳欲聋,你终于看清了它——那是一个巨型的电子宠物!

“哦不,”@Beffymaroo惊恐地大喊,“我看愚人又留下了一片烂摊子,这个大家伙显然就是他的杰作之一。看起来这个电子宠物很想要吸引我们的关注啊!”

电子宠物愤怒地“哔哔”叫着,挥舞着双臂,靠得越来越近了。", "questVirtualPetCompletion": "你们小心翼翼地这里点点那里按按,一番操作下来,似乎满足了电子宠物难懂的需求。这下它可算是安静下来了,你可以看到它满屏幕都写着满足的神情。

突然,在一阵飘落的彩纸中,愚人提着满满一篮子奇怪的药水出现了,篮子里的药水正柔和地哔哔作响。

“你可来的真是时候啊,愚人,”@Beffymaroo苦笑着说,“我怀疑这个‘哔哔’叫的大家伙,你应该不陌生吧。”

“啊,呃,是的,”愚人窘迫地说,“真是太对不起了,谢谢你们俩帮忙照看Wotchimon!作为感谢,这些药水就送给你们好了,他们可以随时把你们的电子宠物重现出来!”

你没法百分百确定你能接受一天到晚的哔哔声,但电子宠物那么可爱,试试看又何妨呢!", "questVirtualPetText": "和愚人共渡电子宠物风波:震耳欲聋的哔哔声", "questVirtualPetRageTitle": "震耳欲聋的哔哔声", - "questVirtualPetRageEffect": "`Wotchimon使用了烦人的哔哔声!` Wotchimon发出了烦人的哔哔声,它屏幕上显示的心情值槽突然消失了!队伍积累的待定伤害减少。" + "questVirtualPetRageEffect": "`Wotchimon使用了烦人的哔哔声!` Wotchimon发出了烦人的哔哔声,它屏幕上显示的心情值槽突然消失了!队伍积累的待定伤害减少。", + "questPinkMarbleBoss": "丘比特", + "questPinkMarbleNotes": "听说,蜿蜒山脉的某个洞穴中,不断有粉红色的碎石和尘埃冒出,你的队伍决定亲自前去调查一下。快到洞穴时,你们发现果真有一团浓厚的粉红色尘云笼罩着洞口——奇怪的是,你们还听到了稚嫩的呐喊声,紧随其后便是岩石崩裂的巨响。

@Empress42不小心吸了一口尘云,顿时感觉没那么有干劲了,还犯起了花痴。“我也是,”@QuartzFox深表同感,“不知怎的,我突然开始对某人产生了幻想,可我一点也不了解那个人啊!”

透过重重迷雾,@a_diamond窥探着洞穴,发现一个小小的身影正在拖着粉红色的大理石,然后将它砸成细细的粉末。“快找掩护!里面有个堕落的丘比特,正在滥用他的法力,让大家变得痴迷、陷入迷恋的幻想中!我们必须制止他!”", + "questPinkMarbleCompletion": "你终于把这个小家伙按在了地上——他比你想象的还要顽强、还要敏捷。在他挣脱之前,你眼疾手快地夺走了他身上满是发光箭矢的箭袋。他眨了眨眼,有些惊慌失措地左顾右盼。“我本来想着能不能把自己从悲伤和心碎的情绪中解脱出来,就试着拿了根箭扎了自己一下……在那之后我啥都不记得了!”

丘比特本准备开溜,就在这时,他发现@Loremi正在对残留的粉红大理石粉末取样,咧嘴一笑,露出了一口小白牙。“可以加到药水里试试看!用这样的药水孵化宠物,养大以后,你就会深有感触,真正的感情,其实源于沟通、互信和关爱。祝你们幸运,更祝你们幸福!”", + "questPinkMarbleText": "安抚堕落的丘比特", + "questPinkMarbleRageDescription": "如果你没有完成每日任务,怒气值会增加。当怒气槽攒满,丘比特会减少队伍积累的待定伤害!", + "questPinkMarbleRageEffect": "`丘比特使用了粉红小拳拳!`这可一点也不迷人!你的队友们吓了大一跳。队伍积累的待定伤害减少了。", + "questPinkMarbleDropPinkMarblePotion": "粉红大理石孵化药水", + "QuestPinkMarbleUnlockText": "在市场上解锁粉红大理石孵化药水以购买。", + "questPinkMarbleRageTitle": "粉红小拳拳" } diff --git a/website/common/locales/zh/rebirth.json b/website/common/locales/zh/rebirth.json index 0313c77e9d..e1960106b3 100644 --- a/website/common/locales/zh/rebirth.json +++ b/website/common/locales/zh/rebirth.json @@ -8,7 +8,7 @@ "rebirthOrb": "达到<%= level %>级后,使用重生球重新开始一段旅程。", "rebirthOrb100": "在达到100级或更高等级的情况下,使用重生之球重新开始。", "rebirthOrbNoLevel": "使用重生之球重新开始。", - "rebirthPop": "立即重置你的角色成为1级战士,同时保留成就、物品、装备。将保留你的任务和历史,但重置为黄色;移除挑战任务和团队计划任务之外的任务历史;移除金币、经验值以及魔法值和技能。上述内容将立即生效。更多信息请查看wiki重生球页面。", + "rebirthPop": "立即重置你的角色成为1级战士,同时保留成就、物品、装备。将保留你的任务和历史,但重置为黄色;移除挑战任务和团队计划任务之外的任务历史;移除金币、经验值以及魔法值和技能。上述内容将立即生效。更多信息请查看wiki重生球页面。", "rebirthName": "重生球", "rebirthComplete": "你已经重生了!", "nextFreeRebirth": "距离下个免费的重生球还有<%= days %>天" diff --git a/website/common/locales/zh/settings.json b/website/common/locales/zh/settings.json index 4b887cc703..5e161c26c6 100644 --- a/website/common/locales/zh/settings.json +++ b/website/common/locales/zh/settings.json @@ -119,7 +119,7 @@ "unsubscribeAllEmailsText": "以此确认,我明白在我取消邮箱订阅后,Habitica不会再通过邮件通知我关于我的账号或关于网站的重要更改。", "unsubscribeAllPush": "确认 退订所有推送通知", "correctlyUnsubscribedEmailType": "成功退订“<%= emailType %>”的邮件。", - "subscriptionRateText": "每<<%= months %>月充值<%= price %>美元", + "subscriptionRateText": "每<%= months %>月支付<%= price %>美元", "benefits": "好处", "coupon": "优惠券", "couponText": "有时我们会举办送推广码或特殊装备的活动(例如那些来我们的Wondercon摊位的朋友)", @@ -135,7 +135,7 @@ "generate": "生成", "getCodes": "获取代码", "webhooks": "Webhook", - "webhooksInfo": "Habitica提供webhook,以便在您的帐户中发生某些操作时,可以将信息发送到另一个网站上的脚本。您可以在此处指定这些脚本。请注意此功能,因为指定错误的URL可能会导致Habitica出错或缓慢。有关更多信息,请参阅wiki的Webhooks页面。", + "webhooksInfo": "Habitica提供webhook,以便在您的帐户中发生某些操作时,可以将信息发送到另一个网站上的脚本。您可以在此处指定这些脚本。请注意此功能,因为指定错误的URL可能会导致Habitica出错或缓慢。有关更多信息,请参阅wiki的Webhooks页面。", "enabled": "已启用", "webhookURL": "Webhook链接", "invalidUrl": "无效的url", @@ -149,7 +149,7 @@ "pushDeviceRemoved": "成功移除推送设备。", "buyGemsGoldCap": "宝石上限提升至 <%= amount %>", "mysticHourglass": "<%= amount %> 个神秘沙漏", - "purchasedPlanExtraMonths": "你有<%= months %>个月的额外订阅期。", + "purchasedPlanExtraMonths": "你有<%= months %>个月的结存订阅。", "consecutiveSubscription": "连续订阅", "consecutiveMonths": "持续的月份:", "gemCapExtra": "宝石上限红利", @@ -226,5 +226,6 @@ "action": "动作", "note": "笔记", "remainingBalance": "余额", - "passwordIssueLength": "密码长度必须介于8到64个字符之间。" + "passwordIssueLength": "密码长度必须介于8到64个字符之间。", + "thirdPartyTools": "可以在Habitica维基上找到各种可用的第三方应用、扩展和工具。" } diff --git a/website/common/locales/zh/subscriber.json b/website/common/locales/zh/subscriber.json index 06772dd3e6..3d1611144f 100644 --- a/website/common/locales/zh/subscriber.json +++ b/website/common/locales/zh/subscriber.json @@ -5,11 +5,11 @@ "buyGemsGold": "用金币购买宝石", "mustSubscribeToPurchaseGems": "只有订阅后才能用金币购买宝石", "reachedGoldToGemCap": "你已经达到了每月金币=>宝石的兑换上限<%= convCap %>。这是为了防止滥用情况的出现。该上限在每月的前三天内重置。", - "reachedGoldToGemCapQuantity": "你请求的兑换数量<%= quantity %>超过了这个月的上限(<%= convCap %>)。该上限在每月的前三天内重置。谢谢你的订阅!", + "reachedGoldToGemCapQuantity": "请求兑换的数量<%= quantity %>超过了本月的兑换上限(<%= convCap %>)。该上限在每月的前三天内重置。谢谢你的订阅!", "mysteryItem": "绝无仅有的每月装备", "mysteryItemText": "每个月你将收到一件独特的时装物品!另外,每连续订阅三个月,神秘的时空旅行者将允许你有一次机会获得绝版(和未来的)时装物品。", "exclusiveJackalopePet": "高级宠物", - "giftSubscription": "想要把订阅的好处赠送给别人吗?", + "giftSubscription": "想要向他人赠送订阅吗?", "giftSubscriptionText4": "感谢你对Habitica的支持!", "groupPlans": "团队套餐", "subscribe": "订阅", @@ -159,12 +159,12 @@ "needToUpdateCard": "需要更新您的卡吗?", "subMonths": "订阅月", "subscriptionStats": "订阅统计", - "subscriptionInactiveDate": "您的订阅权益将在<%= date %>上失效", + "subscriptionInactiveDate": "您的订阅权益将在
<%= date %>失效", "subscriptionCanceled": "您的订阅已取消", "youAreSubscribed": "您订阅了Habitica的服务", "doubleDropCap": "双倍掉落", "monthlyMysteryItems": "每月神秘物品", - "subscribersReceiveBenefits": "订阅者可以获得这些优越的好处!", + "subscribersReceiveBenefits": "订阅者可以获得这些福利!", "mysterySet202003": "倒刺斗士套装", "giftASubscription": "赠送订阅", "mysterySet202004": "强大的君主斑蝶套装", @@ -217,5 +217,13 @@ "mysterySet202210": "不祥之蛇套装", "mysteryset202211": "电磁套装", "mysterySet202211": "电磁套装", - "mysterySet202212": "冰川守护者套装" + "mysterySet202212": "冰川守护者套装", + "mysterySet202301": "狐之勇者套装", + "haveNonRecurringSub": "您有一个临时的礼品订阅。", + "switchToRecurring": "是否切换到定期订阅?", + "subscriptionCreditConversion": "现在开始新的订阅,会结存当前剩余的订阅。结存的订阅将在定期订阅取消后生效。", + "continueGiftSubBenefits": "想要继续享受权益吗?您可以在获赠订阅到期之前开始新的订阅,便可保留您的权益。", + "mysterySet202302": "Trickster Tabby套装", + "mysterySet202303": "杀马特套装", + "mysterySet202304": "绝品茶壶套装" } diff --git a/website/common/locales/zh/tasks.json b/website/common/locales/zh/tasks.json index 331774615b..3bda56895f 100644 --- a/website/common/locales/zh/tasks.json +++ b/website/common/locales/zh/tasks.json @@ -1,6 +1,6 @@ { "clearCompleted": "清除已完成的任务", - "clearCompletedDescription": "已完成的待办事项将为普通用户保留30天后删除,订阅用户将会延长至90天后删除。", + "clearCompletedDescription": "已完成的待办事项将为普通用户保留30天、为订阅用户保留90天后删除。", "clearCompletedConfirm": "你确定要删除已完成的待办事项吗?", "addMultipleTip": "提示:要添加多个<%= taskType %>,请使用 “Shift + Enter” 分隔每一项,然后按 “Enter” 键", "addATask": "新增一个<%= type %>", diff --git a/website/common/locales/zh_HK/groups.json b/website/common/locales/zh_HK/groups.json index c6df339b49..7681b3b62c 100755 --- a/website/common/locales/zh_HK/groups.json +++ b/website/common/locales/zh_HK/groups.json @@ -312,7 +312,7 @@ "teamBasedTasksList": "Team-Based Task List", "teamBasedTasksListDesc": "Set up an easily-viewed shared task list for the group. Assign tasks to your fellow group members, or let them claim their own tasks to make it clear what everyone is working on!", "groupManagementControls": "Group Management Controls", - "groupManagementControlsDesc": "Use task approvals to verify that a task that was really completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", + "groupManagementControlsDesc": "View task status to verify that a task that was completed, add Group Managers to share responsibilities, and enjoy a private group chat for all team members.", "inGameBenefits": "In-Game Benefits", "inGameBenefitsDesc": "Group members get an exclusive Jackalope Mount, as well as full subscription benefits, including special monthly equipment sets and the ability to buy gems with gold.", "inspireYourParty": "Inspire your party, gamify life together.", diff --git a/website/common/locales/zh_TW/achievements.json b/website/common/locales/zh_TW/achievements.json index fc4e0cc833..cddf489ebb 100644 --- a/website/common/locales/zh_TW/achievements.json +++ b/website/common/locales/zh_TW/achievements.json @@ -141,5 +141,8 @@ "achievementReptacularRumbleModalText": "你集齊了所有爬行寵物!", "achievementBoneToPick": "尋骨者", "achievementBoneToPickText": "已使用骷髏藥水孵化所有基礎寵物和副本寵物!", - "achievementBoneToPickModalText": "您已集齊了所有基礎和副本的骷髏寵物!" + "achievementBoneToPickModalText": "您已集齊了所有基礎和副本的骷髏寵物!", + "achievementPolarPro": "極地專家", + "achievementPolarProModalText": "你集齊了所有的極地寵物!", + "achievementPolarProText": "已孵化所有標準顏色的極地寵物:熊、狐狸、企鵝、鯨魚和狼!" } diff --git a/website/common/locales/zh_TW/backgrounds.json b/website/common/locales/zh_TW/backgrounds.json index 54b2db91f2..867936f6d7 100644 --- a/website/common/locales/zh_TW/backgrounds.json +++ b/website/common/locales/zh_TW/backgrounds.json @@ -738,5 +738,36 @@ "backgroundMistyAutumnForestText": "迷霧籠罩的秋天樹林", "backgroundMistyAutumnForestNotes": "漫步在\t迷霧籠罩的秋天樹林中。", "backgroundAutumnBridgeText": "秋日小橋", - "backgroundAutumnBridgeNotes": "觀賞美麗的秋日小橋。" + "backgroundAutumnBridgeNotes": "觀賞美麗的秋日小橋。", + "backgrounds022023": "第105組:2023年2月發布", + "backgroundInFrontOfFountainText": "噴泉的前方", + "backgroundInFrontOfFountainNotes": "在噴泉的前方漫步。", + "backgroundGoldenBirdcageText": "金色鳥籠", + "backgroundGoldenBirdcageNotes": "躲在金色鳥籠之中。", + "backgroundFancyBedroomText": "別緻的臥室", + "backgroundFancyBedroomNotes": "在別緻的臥室裡盡情享受。", + "backgrounds012023": "第104組:2023年1月發布", + "backgroundRimeIceText": "結冰的霧凇樹林", + "backgroundRimeIceNotes": "欣賞閃閃發光的霧凇冰樹林。", + "backgroundSnowyTempleText": "白雪寺", + "backgroundSnowyTempleNotes": "查看寧靜的白雪皚皚的寺廟。", + "backgroundWinterLakeWithSwansText": "冬季的天鵝湖", + "backgroundWinterLakeWithSwansNotes": "在有天鵝的冬季湖泊中享受大自然。", + "eventBackgrounds": "特別活動背景", + "backgroundBirthdayBashText": "生日聚會", + "backgroundBirthdayBashNotes": "Habitica 正在舉辦生日派對,所有人都收到了邀請!", + "backgroundInsideACrystalText": "水晶之中", + "backgroundSnowyVillageText": "雪之鄉", + "backgroundSnowyVillageNotes": "欣賞飄雪的鄉間村落。", + "backgrounds122022": "第103組:2022年12月發布", + "backgroundBranchesOfAHolidayTreeText": "聖誕樹的枝椏", + "backgroundBranchesOfAHolidayTreeNotes": "在聖誕樹的枝椏上嬉戲。", + "backgroundInsideACrystalNotes": "從水晶裡面往外窺視。", + "backgrounds032023": "SET 106:2023 年 3 月發布", + "backgroundOldTimeyBasketballCourtText": "老舊籃球場", + "backgroundOldTimeyBasketballCourtNotes": "在老舊籃球場上投籃。", + "backgroundJungleWateringHoleText": "叢林水坑", + "backgroundJungleWateringHoleNotes": "在叢林水坑小酌一杯。", + "backgroundMangroveForestText": "紅樹林", + "backgroundMangroveForestNotes": "探索紅樹林邊緣。" } diff --git a/website/common/locales/zh_TW/communityguidelines.json b/website/common/locales/zh_TW/communityguidelines.json index 7d7c4c62cf..f8c1883a0c 100644 --- a/website/common/locales/zh_TW/communityguidelines.json +++ b/website/common/locales/zh_TW/communityguidelines.json @@ -4,55 +4,55 @@ "commGuideHeadingWelcome": "歡迎來到Habitica!", "commGuidePara001": "您好,冒險者!歡迎來到Habitica,這是個有效率、健康生活、偶有狂暴獅鷲出沒的地方。我們有個愉快的社群,到處充滿著樂於助人的好鄉民,彼此扶持並藉此自我提昇。要融入這裡,您只需態度積極上進、尊重他人,以及能理解每個都擁有不同的長處與短處——包括你自己!Habitica的鄉民待人耐心,只要有能力就會盡力幫助。", "commGuidePara002": "為了保證每個人在社群中都是安全、快樂、高效率的,我們確實有一些準則需要遵守。我們謹慎地制定規則,使其盡可能對每個人皆友善且易讀。請在開始聊天之前花點時間閱讀它們。", - "commGuidePara003": "這些規則適用在屬於我們的所有社群空間 (但也不只限於此),包括Trello、GitHub、Weblate以及Wikia(也就是我們的維基)。有時候會出現一些前所未見的狀況,例如新的衝突或是邪惡的亡靈法師。當這些情況發生,管理員們可能會修改這些指導原則以確保整個社群平安。別擔心,假如指導原則有所更動,Bailey會發布公告來通知你!", + "commGuidePara003": "這些規則適用於我們使用的所有社交空間,包括(但不一定限於)Trello、GitHub、Weblate 和 Fandom 上的 Habitica Wiki。隨著社區的發展和變化,他們的規則可能會不時調整。當此處列出的社區規則發生實質性變化時,您會在 Bailey 公告和/或我們的社交媒體上聽到它!", "commGuideHeadingInteractions": "在Habitica中與人互動", "commGuidePara015": "Habitica有兩種社群空間:公共的以及私人的。公共空間包含:公開的公會、Tavern、GitHub、Trello、以及Wiki。私人空間則包含:私人的公會、隊伍聊天室、以及私人訊息。所有顯示的名字和@用戶名皆須符合公共空間守則。若想要修改暱稱/@用戶名,請到網頁上的 玩家圖像>個人檔案 並點擊「編輯」按鈕。在手機上請前往菜單>設置>個人檔案。", "commGuidePara016": "當你在Habitica的公共空間四處閒逛時,請務必遵守基本事項,以確保大家的安全與快樂。", "commGuideList02A": "彼此尊重。成為彬彬有禮、善良且樂於助人的好鄉民。請記得Habitica的鄉民來自於五湖四海,擁有各式各樣不同的經歷與背景。Habitica正是因為如此才如此多采多姿!建立一個社群意味著要彼此尊重與欣賞我們之間的相似與相異之處。", - "commGuideList02B": "在公共和私人空間裡遵守所有的服務條款與條件。", + "commGuideList02B": "在公共和私人空間裡遵守所有的服務條款與條件。", "commGuideList02C": "請不要上傳含有暴力、恐嚇、色情/性暗示的內容。也請不要提倡歧視、偏見、種族主義、仇恨、騷擾、或傷害到他人的圖片或文字。甚至開玩笑都不合宜。這包括含糊說話和措辭表達以及表情包。並非每一個人都有相同的幽默感,所以某些您認為只是玩笑的事可能對他人會造成傷害。", "commGuideList02D": "讓討論內容是老少皆宜的。請避免在公共區域談論成人話題。Habitica居民來自於各行各業,有很多年輕的朋友在使用這個網站。我們希望我們的社區能盡可能地舒適和包容。", - "commGuideList02E": "請避免褻瀆的語言。這包括那些較輕微而帶有宗教性的咒罵,即使它們在其它場合下可能會被接受 。我們有來自各種宗教和文化背景的人,而我們想確保每個人在公共空間中都能感到自在。如果有管理員或是工作人員警告你已違背了某項Habitica的規範,就算你之前不清楚,這仍將是最終的警告。此外,誹謗的言語也將因違背了服務條款,遭受到嚴厲的處份。", - "commGuideList02F": "請避免在酒館中對有爭議且離題的話題繼續討論。如果您覺得有人說了些粗魯或傷人的話,請不要理他們。如果這話題在準則裏是允許的但對您而言是有傷害性的,您可以禮貌地讓別人知道這點。當你覺得談話變得激烈、過於情緒化或有害時,請停止參與。同時報告帖子讓我們知道。版主會盡快回復。 你也可以通過電子郵件發送admin@habitica.com如有需要請包含屏幕截圖。", - "commGuideList02G": "遵守任何管理員的要求。這可能包含但不限於:在特定地方要求限制您的貼文、編輯您的個人檔案並刪除不合適的內容、要求您將該討論移至更合適的空間等等。不要與管理員爭論。如果你對管理員審核的結果存在疑慮或意見,請發送電子郵箱admin@habitica.com 來聯繫我們的社區管理員。", - "commGuideList02J": "請勿發送垃圾訊息。垃圾訊息包含但不限於:在多個地方發布相同的評論或問題,發布沒有附帶任何解釋與說明的連結,大量發布推廣公會、隊伍或挑戰的貼文、或者一次發送多則訊息。若其他使用者點擊某個連結會給您帶來任何好處,您必須在消息中告知大家,否則這些消息也將被視為垃圾消息。是否已構成垃圾訊息的條件或是可能會成為垃圾訊息全由管理員自行判斷。", + "commGuideList02E": "請避免褻瀆的語言。這包括那些較輕微而帶有宗教性的咒罵。 我們有來自各種宗教和文化背景的人,而我們想確保每個人在公共空間中都能感到自在。如果有工作人員警告你已違背了某項 Habitica 的規範,就算你之前不清楚,這仍將是最終的警告。此外,誹謗的言語也將因違背了服務條款,遭受到嚴厲的處份。", + "commGuideList02F": "請避免在酒館中對有爭議且離題的話題繼續討論。如果您覺得有人說了些粗魯或傷人的話,請不要理他們。如果這話題在準則裏是允許的但對您而言是有傷害性的,您可以禮貌地讓別人知道這點。當你覺得談話變得激烈、過於情緒化或有害時,請停止參與。同時報告帖子讓我們知道。我們的工作人員會盡快回復。 你也可以通過電子郵件發送admin@habitica.com如有需要請包含屏幕截圖。", + "commGuideList02G": "遵守任何工作人員的要求。這可能包含但不限於:在特定地方要求限制您的貼文、編輯您的個人檔案並刪除不合適的內容、要求您將該討論移至更合適的空間等等。不要與工作人員爭論。如果你對工作人員審核的結果存在疑慮或意見,請發送電子郵箱admin@habitica.com 來聯繫我們的社區管理員。", + "commGuideList02J": "請勿發送垃圾訊息。垃圾訊息包含但不限於:在多個地方發布相同的評論或問題,發布沒有附帶任何解釋與說明的連結,大量發布推廣公會、隊伍或挑戰的貼文、或者一次發送多則訊息。若其他使用者點擊某個連結會給您帶來任何好處,您必須在消息中告知大家,否則這些消息也將被視為垃圾消息。是否已構成垃圾訊息的條件或是可能會成為垃圾訊息全由工作人員自行判斷。", "commGuideList02K": "請避免在公共的交談空間張貼標題語法,特別是在酒館。比如全大寫的英文字母,因為這會看起來像是您正在大聲咆哮。這樣會干擾到大家舒適的氣氛。", - "commGuideList02L": "我們非常不鼓勵在公共場合交換個人資訊,尤其是那些能夠分辨出您的個人身分的訊息。這些訊息包括但不限於:您的住址、電子信箱、API token或密碼。這是為了您的安全著想!工作人員或管理員將根據他們的判斷移除那些訊息。若有人在私人公會、隊伍或私訊中要求您提供個人訊息,我們強烈建議您禮貌地回絕他,並告知工作人員或管理員。方法1,若是在隊伍或是私人公會裡,請點擊檢舉。方法2,發送郵件至admin@habitica.com並附帶截圖。", + "commGuideList02L": "我們非常不鼓勵在公共場合交換個人資訊,尤其是那些能夠分辨出您的個人身分的訊息。這些訊息包括但不限於:您的住址、電子信箱、API token或密碼。這是為了您的安全著想!工作人員們將根據他們的判斷移除那些訊息。若有人在私人公會、隊伍或私訊中要求您提供個人訊息,我們強烈建議您禮貌地回絕他,並告知工作人員。方法1,若是在隊伍或是私人公會裡,請點擊檢舉。方法2,發送郵件至admin@habitica.com並附帶截圖。", "commGuidePara019": "在個人空間中,使用者能夠更自由的討論任何喜歡的話題。但是,他們仍不能違反服務條款,這包括發布任何歧視性、暴力、或恐嚇性的內容。請記住,由於挑戰名稱將出現在勝利者的個人檔案中,所以所有的挑戰名稱也必須遵守公共空間守則,即使它們只出現在私人空間中。", "commGuidePara020": "私密訊息 (私訊)也有一些附加的規範。如果有使用者封鎖您,請不要在任何別的地方與他們聯繫,並要求他們解除封鎖您。此外,您不應該向別人發送私人訊息請求協助 (因為公開回答別人的疑問,對社群是有正面幫助的)。最後,不要發送任何私人訊息要求其他人送您寶石或訂閱當禮物。", - "commGuidePara020A": "如果您看到一條您認為是違反公共空間指南的消息或私人信息,或者您看到一條困擾您或讓您不舒服的消息,您可以通過點擊舉報標誌將其報告給管理員和工作人員。工作人員或者管理員會盡快對情況作出回應。請注意,故意舉報無辜的消息也是對社區準則的一種違反哦(具體見下方的“違規”)!您可以通過“聯繫我們”頁面上的表格聯繫模組,也可以通過電子郵件admin@habitica.com,在幫助菜單訪問該頁面。當您遇到如下情況,您也可以這樣舉報,比如同一人在不同公會中有多個有問題的帖子,或者需要一些情況說明。您可以用您的母語與我們聯繫如果這對您很方便:我們可能需要使用Google翻譯,但如果您遇到問題,我們希望您能夠輕鬆的與我們交流。", + "commGuidePara020A": "如果您看到一條您認為是違反公共空間指南的消息或私人信息,或者您看到一條困擾您或讓您不舒服的消息,您可以通過點擊舉報標誌將其報告給工作人員。工作人員們會盡快對情況作出回應。請注意,故意舉報無辜的消息也是對社區準則的一種違反哦(具體見下方的“違規”)!您可以通過“聯繫我們”頁面上的表格聯繫模組,也可以通過電子郵件admin@habitica.com,在幫助菜單訪問該頁面。當您遇到如下情況,您也可以這樣舉報,比如同一人在不同公會中有多個有問題的帖子,或者需要一些情況說明。您可以用您的母語與我們聯繫如果這對您很方便:我們可能需要使用Google翻譯,但如果您遇到問題,我們希望您能夠輕鬆的與我們交流。", "commGuidePara021": "此外,在Habitica裡的某些公共區域還有額外的規範。", "commGuideHeadingTavern": "酒館", "commGuidePara022": "酒館是一個Habitica鄉民的主要交流地點。酒館主人Daniel將店裡打掃得一塵不染。而Lemoness將非常樂意地在您坐下聊天時變出幾杯檸檬水。只是您要記住…", - "commGuidePara023": "談話主題盡量請圍繞在閒聊或是對於改善效率及生活的一些小撇步。因為酒館只能保留200條訊息,所以它不是個適合延長話題的地方,尤其是一些敏感話題(例如政治、宗教、抑鬱、或是捕殺哥布林活動是否該被禁止等話題)。這些話題都應該在合適的公會裡進行討論。管理員可能會指引您到合適的公會,但最終您有責任自己找到一個適當的地方來發布您的訊息。", + "commGuidePara023": "談話主題盡量請圍繞在閒聊或是對於改善效率及生活的一些小撇步。因為酒館只能保留200條訊息,所以它不是個適合延長話題的地方,尤其是一些敏感話題(例如政治、宗教、抑鬱、或是捕殺哥布林活動是否該被禁止等話題)。這些話題都應該在合適的公會裡進行討論。工作人員可能會指引您到合適的公會,但最終您有責任自己找到一個適當的地方來發布您的訊息。", "commGuidePara024": "不要在酒館內討論任何容易讓人成癮的東西。很多人嘗試使用Habitica戒掉壞習慣。聽到別人談論這些容易讓人上癮或非法的東西,可能會使他們更難戒除!來到酒館時,請尊重他人,替他們著想。這包括但不限於:抽菸、喝酒、賭博、色情、藥物使用與濫用。", "commGuidePara027": "當管理員示意您在其他地方進行對話時,如果這裡沒有相關的公會,他們可能會建議您到「後方角落(Back Corner)」。後方角落公會(The Back Corner Guild)是一個免費的公共空間,用於討論潛在的敏感話題,只有在管理員的邀請下您才可以進入此公會並使用它。這個公會已受管理員團隊嚴密地監控。這不是個正常討論或對話的地方,所以只有在合適的時候,您才會透過管理員進入此公會。", "commGuideHeadingPublicGuilds": "公開的公會", "commGuidePara029": "公開的公會就像酒館一樣,只是除了一般討論外,他們都有一個聚焦的主題。在公開公會聊天時,內容應該聚焦在這個主題上。例如,語言藝術家公會(Wordsmiths Guild)如果突然專注於園藝的議題而非寫作上,那這個公會可能會被取消;或是龍之愛好者公會(Dragon-Fanciers Guild)就從來不對解密古老符文感到任何的興趣。一些公會可能會要求得較為寬鬆,但一般而言,盡量不要偏離主題!", "commGuidePara031": "一些公開的公會可能提到較為敏感的話題,比如說關於抑鬱、宗教或政治的話題。只要不違反服務條款或公共空間守則,並且將討論限制在話題範圍內,這些討論是不會被受限制的。", "commGuidePara033": "公開的公會不該含有18禁成人內容。若打算定期討論此敏感話題,他們必須在公會介紹欄位裡註明。這是為了確保每個人在Habitica是安全且舒適的。", - "commGuidePara035": "如果一個公會討論到包含各種不同類型的敏感議題,您應尊重您的 Habitica 夥伴,在您的言論前面加註警語 (例如「警告:內容涉及自殘行為」)。這些關鍵字將成為觸發警告或是備註內容的特徵。此時,公會可能會針對這些內容有自己的規定。如果可以的話,請使用 Markdown 語法來隱藏這些在換行符號後的潛在敏感內容,以便那些希望能避開閱讀這些內容的人不會在閱讀時看見該內容。不過 Habitica 的工作人員與管理員仍有可能在慎重考慮後移除這些內容。", + "commGuidePara035": "如果一個公會討論到包含各種不同類型的敏感議題,您應尊重您的 Habitica 夥伴,在您的言論裡加註警語 (例如「警告:內容涉及自殘行為」)。這些關鍵字將成為觸發警告或是備註內容的特徵,公會可能會針對這些內容有自己的規定。不過 Habitica 的工作人員仍有可能在慎重考慮後移除這些內容。", "commGuidePara036": "此外,敏感話題必須貼切主題。例如,在對抗憂鬱症的公會裡談及自殘行為是可被理解的,但在音樂公會裡可能就沒那麼適當了。如果您看見有人一直在違反規範,且屢勸不聽的話,請檢舉該內容並透過管理員聯絡表單通知管理員。", "commGuidePara037": "不允許建立任何用於攻擊某團體或個人的公會,不論是公開或是私人的。建立這樣的公會會被立刻封禁。請對抗您的壞習慣,而非您的冒險者小夥伴!", "commGuidePara038": "所有的酒館挑戰和公開的公會挑戰也都必須遵守這些規則。", "commGuideHeadingInfractionsEtc": "違規、後果和恢復", "commGuideHeadingInfractions": "違規", - "commGuidePara050": "Habitica的鄉民喜歡互相幫助包容,並努力讓整個社群變得更有趣好玩更友善。然而在極少數情況下,Habitica鄉民的所作所為可能已違反了以上的規範。此時,管理員將採取一切必要的行動來確保每個人在Habitica都是安全且舒適的。", - "commGuidePara051": "違規形式各種各樣,我們將根據其嚴重性進行處理。這裡沒有明確的律法,但管理員有權自行決定一些以前沒有提及的規範。他們在評估違規行為時會慎重地考慮上下文才做出判決。", + "commGuidePara050": "Habitica 的鄉民喜歡互相幫助包容,並努力讓整個社群變得更有趣好玩更友善。然而在極少數情況下,Habitica 鄉民的所作所為可能已違反了以上的規範。此時,工作人員將採取一切必要的行動來確保每個人在 Habitica 都是安全且舒適的。", + "commGuidePara051": "違規形式各種各樣,我們將根據其嚴重性進行處理。這裡沒有明確的律法,但工作人員有權自行決定一些以前沒有提及的規範。他們在評估違規行為時會慎重地考慮上下文才做出判決。", "commGuideHeadingSevereInfractions": "嚴重違規", "commGuidePara052": "嚴重違規對於Habitica的社群與用戶的安全將造成很大的損害,因此會有嚴厲的後續處置。", "commGuidePara053": "以下是一些嚴重違規的例子。這並非是個完整的列表。", "commGuideList05A": "違反服務條款", "commGuideList05B": "仇恨性言論/圖片、騷擾/跟踪、網路霸凌、網路論戰以及小白行為", "commGuideList05C": "緩刑期間再度累犯", - "commGuideList05D": "假冒工作人員或是管理員身份——包括聲稱用戶個人創建的頁面是屬於Habitica官方的,或聲稱該頁面內容有Habitica或其管理員、工作人員參與", + "commGuideList05D": "假冒工作人員身份——包括聲稱用戶個人創建的頁面是屬於 Habitica 官方的,或聲稱該頁面內容有 Habitica 工作人員參與", "commGuideList05E": "中度違規並累犯", "commGuideList05F": "創立小帳以逃避後果 (例如,在聊天權被剝奪後又建立新的帳號來聊天)", - "commGuideList05G": "為了逃避後果或是為了使別人深陷麻煩而故意欺騙工作人員或管理員", + "commGuideList05G": "故意欺騙員工以逃避後果或給其他用戶帶來麻煩", "commGuideHeadingModerateInfractions": "中度違規", "commGuidePara054": "中度違規不會讓我們的社群不安全,但是會讓使用者有不愉快的體驗。這些違規將會有中等的處置。若多次違規,處置可能會變得愈加嚴重。", "commGuidePara055": "以下是一些中度違規的例子。這並非是個完整的列表。", - "commGuideList06A": "忽視或不尊重管理員。這包括公開抱怨管理員或其他使用者、公開讚揚被封鎖的用戶或為其辯護、爭論管理員的作為是否合適。如果您對某條規範或某管理員的行為感到顧慮,請寫信與工作人員聯繫 (admin@habitica.com)。", + "commGuideList06A": "忽視或不尊重工作人員。這包括公開抱怨工作人員或其他使用者、公開讚揚被封鎖的用戶或為其辯護、爭論工作人員的作為是否合適。如果您對某條規範或某工作人員的行為感到顧慮,請寫信與我們聯繫 (admin@habitica.com)。", "commGuideList06B": "不要越俎代庖。為了快速闡明相關問題,友好地提及規則是個很好的做法。越俎代庖的行為包括告知、要求、或是強烈暗示某人必須採取您所想到的措施來糾正錯誤。您可以警告某人已經違規了,但是請不要要求他們去做某事。例如,對違規的人說:「正如你所知道的,髒話在酒館裡是非常忌諱的,所以你可能會想要刪掉它們!」更應該說「我命令你必須刪掉那些貼文!」", "commGuideList06C": "無故惡意檢舉無辜的文章。", "commGuideList06D": "多次違反公共空間守則", @@ -61,12 +61,12 @@ "commGuidePara056": "輕度違規,仍會受到輕微的處置。若屢勸不聽,將導致更嚴重的處置。", "commGuidePara057": "以下是一些輕度違規的例子。這並非是個完整的列表。", "commGuideList07A": "初次違反公共空間守則", - "commGuideList07B": "任何觸發了「請不要這樣做」的聲明或行動。當管理員不得不對使用者說「請不要這樣做」時,此時就算是使用者已經犯了一次輕微的違規行為。若管理員不得不對同一使用者進行多次告誡,引發的輕度違規將被視為中度違規", + "commGuideList07B": "任何觸發了「請不要這樣做」的聲明或行動。當工作人員不得不對使用者說「請不要這樣做」時,此時就算是使用者已經犯了一次輕微的違規行為。若工作人員不得不對同一使用者進行多次告誡,引發的輕度違規將被視為中度違規", "commGuidePara057A": "有的貼文可能會被隱藏,這是因為它們包含敏感訊息或是有可能會誤導他人。通常這不會被視為違規,特別是在第一次發生的時候!", "commGuideHeadingConsequences": "後續處置", "commGuidePara058": "在Habitica裡 (正如現實生活一樣),每個行為都會造成一個後果,無論是持續跑步會變得更健康,還是吃太多糖會使你蛀牙,亦或是努力用功念書會讓你考試歐趴。", "commGuidePara059": "同樣地,所有的違規行為都將有不同的後續處置。以下列出一些例子。", - "commGuidePara060": "如果您的違規行為造成中度或是嚴重的處置,那麼您將會收到一封來自工作人員或是管理員對於違規行為的解釋的信件並寫道:", + "commGuidePara060": "如果您的違規行為造成中度或嚴重後果,如果情況適當,工作人員將在違規行為發生的論壇中發帖解釋:", "commGuideList08A": "您違規的行為", "commGuideList08B": "這項行為帶來的後果", "commGuideList08C": "如果可以的話,如何做才能改正此處境,並恢復原狀。", @@ -77,7 +77,7 @@ "commGuideList09C": "永久禁用 (凍結) 在貢獻者層級的進展", "commGuideHeadingModerateConsequences": "中等處置的例子", "commGuideList10A": "限制公開和/或私人聊天的權利", - "commGuideList10A1": "如果您的行為導致聊天權利被剝奪,管理者或工作人員會私訊您,並/或在您被禁言的論壇區塊告知為何被禁言,以及被禁言的時間和/或你需要為了繼續聊天需要做的行為。懲罰時間到了後,如果您表現出願意改正行為並遵守社群規範,您的聊天權利將會被歸還", + "commGuideList10A1": "如果您的行為導致您的聊天權限被撤銷,您必須發送電子郵件至 admin@habitica.com。如果您禮貌地遵守所要求的行動並同意遵守社區準則和服務條款,工作人員可能會酌情決定恢復您的權限", "commGuideList10C": "限制創立公會/挑戰的權利", "commGuideList10D": "暫時禁用 (凍結) 在貢獻者層級的進展", "commGuideList10E": "降低貢獻者層級", @@ -86,15 +86,15 @@ "commGuideList11A": "公共空間守則的提醒", "commGuideList11B": "警告", "commGuideList11C": "申請", - "commGuideList11D": "刪除 (管理員/工作人員可能會刪除有問題的內容)", - "commGuideList11E": "編輯 (管理員/工作人員可能會刪除有問題的內容)", + "commGuideList11D": "刪除 (工作人員可能會刪除有問題的內容)", + "commGuideList11E": "編輯 (工作人員可能會刪除有問題的內容)", "commGuideHeadingRestoration": "復原", "commGuidePara061": "Habitica是一個致力於自我改善的地方,而我們相信有第二次機會。如果您違規且收到處分,那就將其視為是一次評估自己行為的機會,並努力成為一名更好的社群成員吧。", "commGuidePara062": "您收到通知處置的公告、訊息、或是電子郵件都是個很好的教育機會。請配合任何已實施的限制,並努力達到撤銷處置的要求。", - "commGuidePara063": "如果對後續處置,或是違規的行為有任何疑問,可以向工作人員或管理員取得協助,以避免之後再犯同樣的錯誤。如果對任何決定覺得不公平,可以寫信到admin@habitica.com與工作人員進行討論。", - "commGuideHeadingMeet": "一起來認識我們的工作人員與管理員們吧!", + "commGuidePara063": "如果對後續處置,或是違規的行為有任何疑問,可以向工作人員取得協助,以避免之後再犯同樣的錯誤。如果對任何決定覺得不公平,可以寫信到admin@habitica.com與工作人員進行討論。", + "commGuideHeadingMeet": "一起來認識我們的工作人員們吧", "commGuidePara006": "Habitica有一群努力不懈的俠客,他們與工作人員們合作,一起讓社群維持平穩、充實、無白目行為發生。他們雖然各有負責的領域,但有時會應要求出現在其他社交領域。", - "commGuidePara007": "工作人員的標籤是紫色帶皇冠記號。他們的頭銜是「英雄」。", + "commGuidePara007": "Habitica 員工保持應用程式和網站的運行,並可以充當聊天管理員。他們的標籤是紫色帶皇冠記號。他們的頭銜是『英雄』。", "commGuidePara008": "管理員的標籤是深藍色並附帶星記號。他們的頭銜是「護衛」。", "commGuidePara009": "現在的工作人員成員分別是(從左到右):", "commGuideAKA": "<%= habitName %>a.k.a.<%= realName %>", @@ -122,12 +122,13 @@ "commGuidePara069": "以上插圖由下列富有天賦的藝術家提供:", "commGuideList01F": "不允許乞求付費物品,刷信息,或使用大字體/全大寫。", "commGuideList09D": "去除或降低參與者階級", - "commGuideList01D": "請遵守管理者的要求。", + "commGuideList01D": "請遵守工作人員的要求。", "commGuideList01B": "不允許:任何暴力,有威脅性,推廣歧視等等的信息。包括表情包,圖片和笑話。", "commGuidePara017": "這是快捷版,但是我們建議你在下面仔細地看看:", "commGuideList01A": "這些條約對所有空間適用,包括私人工會,隊伍聊天和信息。", "commGuideList01C": "所有討論必須對所有年齡段人群適用,請勿使用髒話。", - "commGuideList01E": "不要在酒館裡煽動或參與有爭議的談話。", + "commGuideList01E": "不要在酒館裡煽動或參與有爭議的談話。", "commGuideList02M": "不要在群組計劃裡索要或乞求寶石,訂閱或會員。這在酒館,公共或私人的聊天空間和在私人訊息中都不被允許。如果你收到索要付費物品的信息,請舉報該消息。重複或嚴重的寶石或訂閱乞求,尤其在警告之後,可能會導致賬號封禁。", - "commGuideList05H": "嚴重或重複地常識詐騙或威脅其他玩家贈與付費物品" + "commGuideList05H": "嚴重或重複地常識詐騙或威脅其他玩家贈與付費物品", + "commGuideList02N": "舉報違反這些指南或服務條款的帖子。我們會盡快處理。您也可以通過 admin@habitica.com 通知工作人員,但舉報是獲得幫助的最快方式。" } diff --git a/website/common/locales/zh_TW/content.json b/website/common/locales/zh_TW/content.json index e8d616bdc9..aff6844ee0 100644 --- a/website/common/locales/zh_TW/content.json +++ b/website/common/locales/zh_TW/content.json @@ -372,5 +372,6 @@ "hatchingPotionSolarSystem": "太陽系", "hatchingPotionOnyx": "縞瑪瑙", "hatchingPotionPorcelain": "瓷器", - "hatchingPotionVirtualPet": "電子寵物" + "hatchingPotionVirtualPet": "電子寵物", + "hatchingPotionPinkMarble": "粉色大理石" } diff --git a/website/common/locales/zh_TW/faq.json b/website/common/locales/zh_TW/faq.json index 535b0bafaa..50e92bbc73 100644 --- a/website/common/locales/zh_TW/faq.json +++ b/website/common/locales/zh_TW/faq.json @@ -56,5 +56,7 @@ "androidFaqStillNeedHelp": "如果您有任何疑問,但沒出現在以上列表中或是 [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ)中,請至「選單 > 酒館」的酒館聊天室裡詢問,我們相當樂意協助。", "webFaqStillNeedHelp": "如果您有任何疑問,但沒出現在以上列表中或是 [Wiki FAQ](https://habitica.fandom.com/wiki/FAQ)中,請至 [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)裡詢問,我們相當樂意協助。", "faqQuestion13": "什麼是團隊計劃?", - "webFaqAnswer13": "## 團隊計劃是如何運作的?\n\n[團隊計劃](/group-plans)讓您的隊伍或公會可以訪問類似於您的個人任務板的共享任務板! 這是一種共享的 Habitica 體驗,團隊中的任何成員都可以創建和檢查任務。\n\n還增加一些新功能,如成員角色,狀態視圖和任務分配,爲您提供更加可控的體驗。想了解團隊計劃的更多信息請[訪問我們的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以從團隊計劃中受益?\n\n團隊計劃最適合那些想要進行協作的小團隊。我們建議保持在2-5名成員。\n\n對於家庭來說,不管是父母、孩子還是你和伴侶,都能從團隊計劃中受益。共同的目標、家務或責任很適合在一塊任務板上記錄下來。\n\n團隊計劃對於那些擁有共同目標的工作團隊或希望向員工介紹遊戲化的管理者也很有幫助。\n\n## 快速入門團隊計劃\n\n以下是一些使用技巧,可以幫助您的新團隊快速起步。同時我們將在下一部分提供更多詳細信息:\n\n* 讓團隊成員成爲管理者,使他們能夠創建和編輯任務\n* 如果任務是一次性且可完成的,則保留未分配的任務\n* 爲確保其他成員不會誤領任務,請將任務指派給一位成員\n* 如果多位成員都需要完成同一任務,請將任務進行分配\n* 在個人任務板上開啓顯示共享任務這一功能,避免錯過任何內容\n* 即使是多人任務,在任務完成後你也能獲得獎勵\n* 任務完成獎勵並不會在團隊成員之間共享或平分\n* 您可以通過任務顏色在團隊任務板上來判斷平均完成率\n* 定期查看團隊任務板上的任務,以確保它們是否需要保留\n* 錯過一個每日任務不會對你或你的團隊造成傷害,但任務顏色會下降\n\n## 團隊中的其他成員如何創建任務?\n\n只有團隊隊長和管理者可以創建任務。如果您希望成員也能進行創建,那麼您需要打開團隊信息選項卡、查看成員列表並單擊其名稱旁的圓點圖標將他們提升爲管理者。\n\n## 任務分配該如何進行?\n\n團隊計劃賦予您將任務分配給其他小組成員的獨特能力。任務分配功能非常適合委派。如果您已將任務分配給某位成員,那麼其他成員將無法完成它。\n\n如果一個任務需要多位成員完成,那麼您也可以將其分配給多人。例如,如果每個人都必須刷牙,請創建一個任務並將其分配給每位成員。這讓他們都能勾選完成並獲得個人獎勵。當每個人勾選完成時,團隊主任務纔會顯示爲完成。\n\n## 未分配的任務如何處理?\n\n團隊裏的任何成員都可以完成未分配的任務,因此請保留那些未分配的任務,以便任何成員都能完成它。例如,倒垃圾。無論誰倒了垃圾,都可以將其勾選,並提示每個人任務已完成。\n\n## 在同步日如何重置工作?\n\n共享任務會同一時間重置,方便大家同步任務共享板。同步時間由團隊隊長設置後展示在任務共享板上。由於共享任務自動重置,第二天早上籤到時,將沒有機會勾選昨天未完成的每日共享任務。\n\n錯過每日共享任務不會造成傷害,但是它們會降低顏色方便團隊成員直觀地瞭解進度。我們不希望任務共享給您帶來負面的體驗!\n\n## 如何在APP上使用團隊?\n\n雖然APP尚未完全支持團隊計劃的所有功能,但通過將任務複製到個人任務板,您仍然可以從iOS和安卓的APP上完成共享任務。您可以在APP裡的“設置”或瀏覽器版本的團隊任務板中打開此選項。這將會使所有打開和分配的共享任務跨平臺顯示在您的個人任務板上。\n\n## 團隊的共同任務與挑戰有何區別?\n\n團隊計劃的共享任務板比挑戰更具動態性,因爲它可以不斷更新交互。如果您有一組任務想要發給許多人,這一操作在挑戰上執行會非常繁瑣,但在團隊計劃裏可以快速實現。\n\n其中團隊計劃是付費功能,而挑戰對每個人都是免費的。\n\n你無法在挑戰中分配特定的任務,挑戰也沒有共享日重置。總的來說,挑戰提供的控制功能和直接交互功能較少。" + "webFaqAnswer13": "## 團隊計劃是如何運作的?\n\n[團隊計劃](/group-plans)讓您的隊伍或公會可以訪問類似於您的個人任務板的共享任務板! 這是一種共享的 Habitica 體驗,團隊中的任何成員都可以創建和檢查任務。\n\n還增加一些新功能,如成員角色,狀態視圖和任務分配,爲您提供更加可控的體驗。想了解團隊計劃的更多信息請[訪問我們的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以從團隊計劃中受益?\n\n團隊計劃最適合那些想要進行協作的小團隊。我們建議保持在2-5名成員。\n\n對於家庭來說,不管是父母、孩子還是你和伴侶,都能從團隊計劃中受益。共同的目標、家務或責任很適合在一塊任務板上記錄下來。\n\n團隊計劃對於那些擁有共同目標的工作團隊或希望向員工介紹遊戲化的管理者也很有幫助。\n\n## 快速入門團隊計劃\n\n以下是一些使用技巧,可以幫助您的新團隊快速起步。同時我們將在下一部分提供更多詳細信息:\n\n* 讓團隊成員成爲管理者,使他們能夠創建和編輯任務\n* 如果任務是一次性且可完成的,則保留未分配的任務\n* 爲確保其他成員不會誤領任務,請將任務指派給一位成員\n* 如果多位成員都需要完成同一任務,請將任務進行分配\n* 在個人任務板上開啓顯示共享任務這一功能,避免錯過任何內容\n* 即使是多人任務,在任務完成後你也能獲得獎勵\n* 任務完成獎勵並不會在團隊成員之間共享或平分\n* 您可以通過任務顏色在團隊任務板上來判斷平均完成率\n* 定期查看團隊任務板上的任務,以確保它們是否需要保留\n* 錯過一個每日任務不會對你或你的團隊造成傷害,但任務顏色會下降\n\n## 團隊中的其他成員如何創建任務?\n\n只有團隊隊長和管理者可以創建任務。如果您希望成員也能進行創建,那麼您需要打開團隊信息選項卡、查看成員列表並單擊其名稱旁的圓點圖標將他們提升爲管理者。\n\n## 任務分配該如何進行?\n\n團隊計劃賦予您將任務分配給其他小組成員的獨特能力。任務分配功能非常適合委派。如果您已將任務分配給某位成員,那麼其他成員將無法完成它。\n\n如果一個任務需要多位成員完成,那麼您也可以將其分配給多人。例如,如果每個人都必須刷牙,請創建一個任務並將其分配給每位成員。這讓他們都能勾選完成並獲得個人獎勵。當每個人勾選完成時,團隊主任務纔會顯示爲完成。\n\n## 未分配的任務如何處理?\n\n團隊裏的任何成員都可以完成未分配的任務,因此請保留那些未分配的任務,以便任何成員都能完成它。例如,倒垃圾。無論誰倒了垃圾,都可以將其勾選,並提示每個人任務已完成。\n\n## 在同步日如何重置工作?\n\n共享任務會同一時間重置,方便大家同步任務共享板。同步時間由團隊隊長設置後展示在任務共享板上。由於共享任務自動重置,第二天早上籤到時,將沒有機會勾選昨天未完成的每日共享任務。\n\n錯過每日共享任務不會造成傷害,但是它們會降低顏色方便團隊成員直觀地瞭解進度。我們不希望任務共享給您帶來負面的體驗!\n\n## 如何在APP上使用團隊?\n\n雖然APP尚未完全支持團隊計劃的所有功能,但通過將任務複製到個人任務板,您仍然可以從iOS和安卓的APP上完成共享任務。您可以在APP裡的“設置”或瀏覽器版本的團隊任務板中打開此選項。這將會使所有打開和分配的共享任務跨平臺顯示在您的個人任務板上。\n\n## 團隊的共同任務與挑戰有何區別?\n\n團隊計劃的共享任務板比挑戰更具動態性,因爲它可以不斷更新交互。如果您有一組任務想要發給許多人,這一操作在挑戰上執行會非常繁瑣,但在團隊計劃裏可以快速實現。\n\n其中團隊計劃是付費功能,而挑戰對每個人都是免費的。\n\n你無法在挑戰中分配特定的任務,挑戰也沒有共享日重置。總的來說,挑戰提供的控制功能和直接交互功能較少。", + "iosFaqAnswer13": "## 團隊計劃是如何運作的?\n\n[團隊計劃](/group-plans)讓您的隊伍或公會可以訪問類似於您的個人任務板的共享任務板!這是一種共享的 Habitica 體驗,團隊中的任何成員都可以創建和檢查任務。\n\n還增加一些新功能,如成員角色,狀態視圖和任務分配,為您提供更加可控的體驗。想了解團隊計劃的更多信息請[訪問我們的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以從團隊計劃中受益?\n\n團隊計劃最適合那些想要進行協作的小團隊。我們建議保持在2-5名成員。\n\n對於家庭來說,不管是父母、孩子還是你和伴侶,都能從團隊計劃中受益。共同的目標、家務或責任很適合在一塊任務板上記錄下來。\n\n團隊計劃對於那些擁有共同目標的工作團隊或希望向員工介紹遊戲化的管理者也很有幫助。\n\n## 快速入門團隊計劃\n\n以下是一些使用技巧,可以幫助您的新團隊快速起步。同時我們將在下文提供更多信息:\n\n* 讓團隊成員成為管理者,使他們能夠創建和編輯任務\n* 如果任務是一次性且可完成的,則保留未分配的任務\n* 為確保其他成員不會誤領任務,請將任務指派給一位成員\n* 如果多位成員都需要完成同一任務,請將任務進行分配\n* 在個人任務板上開啟顯示共享任務這一功能,避免錯過任何內容\n* 即使是多人任務,在任務完成後你也能獲得獎勵\n* 任務完成獎勵並不會在團隊成員之間共享或平分\n* 您可以通過任務顏色在團隊任務板上來判斷平均完成率\n* 定期查看團隊任務板上的任務,以確保它們是否需要保留\n* 錯過一個每日任務不會對你或你的團隊造成傷害,但任務顏色會下降\n\n## 團隊中的其他成員如何創建任務?\n\n只有團隊隊長和管理者可以創建任務。如果您希望成員也能進行創建,那麼您需要打開團隊信息選項卡、查看成員列表並單擊其名稱旁的圓點圖標將他們提升為管理者。\n\n## 任務分配該如何進行?\n\n團隊計劃賦予您將任務分配給團隊其他成員的獨特能力。任務分配功能非常適合委派。如果您已將任務分配給某位成員,那麼其他成員將無法完成它。\n\n如果一個任務需要多位成員完成,那麼您也可以將其分配給多人。例如,如果每個人都必須刷牙,請創建一個任務並將其分配給每位成員。這讓他們都能勾選完成並獲得個人獎勵。當每個人勾選完成時,團隊主任務才會顯示為完成。\n\n## 未分配的任務如何處理?\n\n團隊裡的任何成員都可以完成未分配的任務,因此請保留那些未分配的任務,以便任何成員都能完成它。例如,倒垃圾。無論誰倒了垃圾,都可以將其勾選,並提示每個人任務已完成。\n\n## 在同步日如何重置工作?\n\n共享任務會同一時間重置,方便大家同步共享任務板。同步時間由團隊隊長設置後展示在共享任務板上。由於共享任務自動重置,第二天早上簽到時,將沒有機會勾選昨天未完成的每日共享任務。\n\n錯過每日共享任務不會造成傷害,但是它們會降低顏色方便團隊成員直觀地了解進度。我們不希望任務共享給您帶來負面的體驗!\n\n## 如何在 APP 上使用團隊?\n\n雖然 APP 尚未完全支持團隊計劃的所有功能,但通過將任務複製到個人任務板,您仍然可以在iOS和安卓的APP上完成共享任務。您可以從 APP 裡的“設置”或瀏覽器版本里的團隊任務板打開該選項。這將會使所有打開和分配的共享任務跨平台顯示在您的個人任務板上。\n\n## 團隊的共同任務與挑戰有何區別?\n\n團隊計劃的共享任務板比挑戰更具動態性,因為它可以不斷更新交互。如果您有一組任務想要發給許多人,這一操作在挑戰上執行會非常繁瑣,但在團隊計劃裡可以快速實現。\n\n其中團隊計劃是付費功能,而挑戰對每個人都是免費的。\n\n你無法在挑戰中分配特定的任務,挑戰也沒有共享日重置。總的來說,挑戰提供的控制功能和直接交互功能較少。", + "androidFaqAnswer13": "## 團隊計劃是如何運作的?\n\n[團隊計劃](/group-plans)讓您的隊伍或公會可以訪問類似於您的個人任務板的共享任務板!這是一種共享的 Habitica 體驗,團隊中的任何成員都可以創建和檢查任務。\n\n還增加一些新功能,如成員角色,狀態視圖和任務分配,為您提供更加可控的體驗。想了解團隊計劃的更多信息請[訪問我們的wiki](https://habitica.fandom.com/wiki/Group_Plans) !\n\n## 哪些人可以從團隊計劃中受益?\n\n團隊計劃最適合那些想要進行協作的小團隊。我們建議保持在2-5名成員。\n\n對於家庭來說,不管是父母、孩子還是你和伴侶,都能從團隊計劃中受益。共同的目標、家務或責任很適合在一塊任務板上記錄下來。\n\n團隊計劃對於那些擁有共同目標的工作團隊或希望向員工介紹遊戲化的管理者也很有幫助。\n\n## 快速入門團隊計劃\n\n以下是一些使用技巧,可以幫助您的新團隊快速起步。同時我們將在下文提供更多信息:\n\n* 讓團隊成員成為管理者,使他們能夠創建和編輯任務\n* 如果任務是一次性且可完成的,則保留未分配的任務\n* 為確保其他成員不會誤領任務,請將任務指派給一位成員\n* 如果多位成員都需要完成同一任務,請將任務進行分配\n* 在個人任務板上開啟顯示共享任務這一功能,避免錯過任何內容\n* 即使是多人任務,在任務完成後你也能獲得獎勵\n* 任務完成獎勵並不會在團隊成員之間共享或平分\n* 您可以通過任務顏色在團隊任務板上來判斷平均完成率\n* 定期查看團隊任務板上的任務,以確保它們是否需要保留\n* 錯過一個每日任務不會對你或你的團隊造成傷害,但任務顏色會下降\n\n## 團隊中的其他成員如何創建任務?\n\n只有團隊隊長和管理者可以創建任務。如果您希望成員也能進行創建,那麼您需要打開團隊信息選項卡、查看成員列表並單擊其名稱旁的圓點圖標將他們提升為管理者。\n\n## 任務分配該如何進行?\n\n團隊計劃賦予您將任務分配給團隊其他成員的獨特能力。任務分配功能非常適合委派。如果您已將任務分配給某位成員,那麼其他成員將無法完成它。\n\n如果一個任務需要多位成員完成,那麼您也可以將其分配給多人。例如,如果每個人都必須刷牙,請創建一個任務並將其分配給每位成員。這讓他們都能勾選完成並獲得個人獎勵。當每個人勾選完成時,團隊主任務才會顯示為完成。\n\n## 未分配的任務如何處理?\n\n團隊裡的任何成員都可以完成未分配的任務,因此請保留那些未分配的任務,以便任何成員都能完成它。例如,倒垃圾。無論誰倒了垃圾,都可以將其勾選,並提示每個人任務已完成。\n\n## 在同步日如何重置工作?\n\n共享任務會同一時間重置,方便大家同步共享任務板。同步時間由團隊隊長設置後展示在共享任務板上。由於共享任務自動重置,第二天早上簽到時,將沒有機會勾選昨天未完成的每日共享任務。\n\n錯過每日共享任務不會造成傷害,但是它們會降低顏色方便團隊成員直觀地了解進度。我們不希望任務共享給您帶來負面的體驗!\n\n## 如何在 APP 上使用團隊?\n\n雖然 APP 尚未完全支持團隊計劃的所有功能,但通過將任務複製到個人任務板,您仍然可以在iOS和安卓的APP上完成共享任務。您可以從 APP 裡的“設置”或瀏覽器版本里的團隊任務板打開該選項。這將會使所有打開和分配的共享任務跨平台顯示在您的個人任務板上。\n\n## 團隊的共同任務與挑戰有何區別?\n\n團隊計劃的共享任務板比挑戰更具動態性,因為它可以不斷更新交互。如果您有一組任務想要發給許多人,這一操作在挑戰上執行會非常繁瑣,但在團隊計劃裡可以快速實現。\n\n其中團隊計劃是付費功能,而挑戰對每個人都是免費的。\n\n你無法在挑戰中分配特定的任務,挑戰也沒有共享日重置。總的來說,挑戰提供的控制功能和直接交互功能較少。" } diff --git a/website/common/locales/zh_TW/front.json b/website/common/locales/zh_TW/front.json index ef2152363e..5d78744f53 100644 --- a/website/common/locales/zh_TW/front.json +++ b/website/common/locales/zh_TW/front.json @@ -38,7 +38,7 @@ "marketing2Lead1Title": "一起遊玩", "marketing2Lead1": "您可以獨自遊玩Habitica,但最後您會發現與其他人一起合作、競爭、共同分擔責任,才能真正體會到樂趣。自我成長最有效的方法就是擁有團體責任感。而又有什麼能比遊戲提供更好的責任感與競爭的環境呢?", "marketing2Lead2Title": "擊殺怪物", - "marketing2Lead2": "RPG怎麼能少了戰鬥元素呢?與您的隊伍一起打怪吧!怪物們已開啟「超級責任感模式」,只要您沒達成所有的每日任務,怪物將攻擊*所有的*隊員!", + "marketing2Lead2": "RPG 怎麼能少了戰鬥元素呢?與您的隊伍一起打怪吧!怪物們已開啟「超級責任感模式」,只要您沒達成所有的每日任務,怪物將攻擊*所有隊員!*", "marketing2Lead3Title": "互相挑戰", "marketing2Lead3": "挑戰機制讓您可以與朋友或是陌生人一同競爭。挑戰的獲勝者將可以贏得特別獎勵。", "marketing3Header": "應用程式與擴充套件", @@ -188,5 +188,6 @@ "enterHabitica": "登入Habitica", "footerProduct": "產品", "socialAlreadyExists": "此社交帳號已連結到現有的Habitica帳戶。", - "emailUsernamePlaceholder": "例如 habitrabbit 或者 gryphon@example.com" + "emailUsernamePlaceholder": "例如 habitrabbit 或者 gryphon@example.com", + "translateHabitica": "翻譯 Habitica" } diff --git a/website/common/locales/zh_TW/gear.json b/website/common/locales/zh_TW/gear.json index add1afa6f0..84ef70e1e7 100644 --- a/website/common/locales/zh_TW/gear.json +++ b/website/common/locales/zh_TW/gear.json @@ -1175,7 +1175,7 @@ "headArmoireRedHairbowText": "赤紅蝴蝶結頭飾", "headArmoireRedHairbowNotes": "戴上這副赤紅色的蝴蝶結頭飾,就能讓您變得更強壯、堅韌,還會變聰明喔!增加<%= str %>點力量、<%= con %>點體質和<%= int %>點智力。魔法衣櫥:赤紅蝴蝶結套裝(1/2)。", "headArmoireVioletFloppyHatText": "羅蘭紫寬簷帽", - "headArmoireVioletFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹令人心曠神怡的紫色。增加<%= per %>點感知、<%= int %>點智力和<%= con %>點體質。魔法衣櫥:獨立裝備。", + "headArmoireVioletFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹令人心曠神怡的紫色。增加<%= per %>點感知、<%= int %>點智力和<%= con %>點體質。魔法衣櫥:紫色家居服套裝(1 / 3)。", "headArmoireGladiatorHelmText": "角鬥士頭盔", "headArmoireGladiatorHelmNotes": "要成為一名鬥士,您不但必須要很強壯...還要夠狡猾。增加<%= int %>點智力和<%= per %>點感知。魔法衣櫥:角鬥士套裝(1/3)。", "headArmoireRancherHatText": "牛仔帽", @@ -1753,7 +1753,7 @@ "weaponArmoireVernalTaperText": "春天小蠟燭", "weaponArmoireVernalTaperNotes": "白天越來越長,但這個蠟燭台能幫助您在日出前找到自己的路。增加<%= con %>點體質。魔法衣櫥:春季聖袍套裝(3/3)。", "armorArmoireChefsJacketText": "大廚夾克", - "armorArmoireChefsJacketNotes": "這件厚重的夾克擁有雙排扣,可以保護您免受波濺(還具有方便的反彈功能)。增加<%= int %>點智力。魔法衣櫥:大廚套裝(2/4)", + "armorArmoireChefsJacketNotes": "這件厚重的夾克擁有雙排扣,可以保護您免受波濺(還具有方便的反彈功能)。增加<%= int %>點智力。魔法衣櫥:大廚套裝(2/4)。", "armorArmoireVernalVestmentText": "春季聖袍", "armorArmoireVernalVestmentNotes": "這件柔順的聖袍能以最時髦的方式享受溫和春日。增加力量、智力各<%= attrs %>點。魔法衣櫥:春季聖袍套裝(2/3)。", "headArmoireToqueBlancheText": "廚師帽", @@ -1765,7 +1765,7 @@ "shieldArmoireMightyPizzaText": "巨無霸披薩", "shieldArmoireMightyPizzaNotes": "的確,這是面非常棒的護盾,但我們強烈建議您可以將這些美味的披薩吃掉。增加<%= per %>點感知。魔法衣櫥:大廚套裝(4/4)。", "eyewearMystery201902Text": "神秘破碎面具", - "eyewearMystery201902Notes": "這頂神秘面具能隱藏您的身分,但卻藏不住您迷人的笑容。沒有屬性加成。2019年2月訂閱者物品", + "eyewearMystery201902Notes": "這頂神秘面具能隱藏您的身分,但卻藏不住您迷人的笑容。沒有屬性加成。2019年2月訂閱者物品。", "weaponMystery201911Notes": "這個法杖的水晶球可以讓你看到前程,但你必須小心!用這麼危險的知識會出乎意料地改變一個人。沒有屬性加成。2019年11月訂閱者物品。", "headSpecialFall2019WarriorNotes": "這個骷髏頭盔的黑眼窩會嚇退最勇敢的敵人。增加<%= str %>點力量。2019年秋季限定版裝備。", "headSpecialFall2019WarriorText": "黑曜石骷髏頭盔", @@ -2401,5 +2401,20 @@ "weaponSpecialFall2022HealerNotes": "高舉它宣告勝利,同時喊出命令:“一號眼!” 新增<%= int %>點智力。 2022年秋季限定版裝備。", "weaponMystery202211Notes": "用這根法杖來駕馭閃電風暴的强大威力。 沒有屬性加成。 2022年11月訂閱者物品。", "weaponArmoireEnchantersStaffNotes": "法杖上鑲嵌的綠色寶石,擁有改變秋風的力量。增加<%= per %>點感知。魔法衣櫥:秋日的魔法師套裝(3/4)。", - "weaponArmoireClubOfClubsNotes": "這款時髦的棒子可不會向那些鬼鬼祟祟的老任務揭示你的意圖。增加<%= str %>点力量。魔法衣櫥:梅花J套裝(2/3)。" + "weaponArmoireClubOfClubsNotes": "這款時髦的棒子可不會向那些鬼鬼祟祟的老任務揭示你的意圖。增加<%= str %>点力量。魔法衣櫥:梅花J套裝(2/3)。", + "weaponMystery202212Text": "冰川魔杖", + "weaponMystery202212Notes": "即使在最寒冷的冬夜,這根魔杖中閃耀的雪花也有著溫暖人心的力量!。沒有屬性加成。 2022年12月訂閱者物品。", + "weaponArmoireBlueMoonSaiNotes": "這支釵是一把傳統武器,充滿了月之暗面的力量。增加<%= str %>點力量。魔法衣櫥:藍月盜賊套裝(1/4)。", + "weaponArmoireJadeGlaiveNotes": "這把劍刃戟將使您和敵人保持遠距離! 此外,您還可以用它把東西從高處拿下。增加<%= str %>點力量。魔法衣櫥:翠玉戰士套裝(3/3)。", + "weaponSpecialWinter2023RogueText": "綠色緞面肩帶", + "weaponSpecialWinter2023WarriorText": "獠牙長矛", + "weaponSpecialWinter2023RogueNotes": "傳說中的盜賊抓住了對手的武器,解除他們的武裝,然後又歸還這些武器,只是為了顯得可愛。增加<%= str %>點力量。2022-2023年冬季限定版裝備。", + "headSpecialNye2022Text": "絕佳的派對帽子", + "headSpecialNye2022Notes": "您收到了一頂絕佳的派對帽子! 在慶祝新的一年開始時自豪地穿上它!沒有屬性加成。", + "weaponSpecialWinter2023MageText": "狐火", + "weaponSpecialWinter2023MageNotes": "既不是狐狸也不是火,而是高漲的節日氣氛! 增加<%= int %>點智力,<%= per %>點感知。 2022-2023年冬季限定版裝備。", + "weaponSpecialWinter2023HealerText": "迴旋花環", + "weaponSpecialWinter2023WarriorNotes": "這把長矛的兩個尖端像海象象牙,但威力是它的兩倍。 直擊懷疑和愚蠢的詩歌吧,直到他們退縮!增加<%= str %>點力量。 2022-2023年冬季限定版裝備。", + "weaponSpecialWinter2023HealerNotes": "看著這個慶祝的、多刺的花環在空中旋轉,飛向你的敵人或障礙物,接著像迴旋鏢一樣回到你身邊,等待著下一次的投擲。增加<%= int %>點智力。2022-2023年冬季限定版裝備。", + "weaponArmoireEveningTeaNotes": "這瓶靈丹妙藥將幫助您放鬆,讓那些大型任務看起來沒那麼有威脅性。增加<%= int %>點智力。魔法衣櫥:晨衣套裝(3/3)。" } diff --git a/website/common/locales/zh_TW/groups.json b/website/common/locales/zh_TW/groups.json index e250b652ce..613a15694a 100644 --- a/website/common/locales/zh_TW/groups.json +++ b/website/common/locales/zh_TW/groups.json @@ -20,7 +20,7 @@ "dataTool": "數據顯示工具", "resources": "資源", "communityGuidelines": "社群規範", - "bannedWordUsed": "糟糕!看來這則貼文包含髒話、宗教內容或是成癮物質和成人內容 (<%= swearWordsUsed %>)。Habitica有來自各種背景的人們,所以我們必須保持聊天內容是非常乾淨的。請編輯您的訊息後再次發布!", + "bannedWordUsed": "糟糕!看來這則貼文包含髒話或是成癮物質和成人內容 (<%= swearWordsUsed %>)。Habitica 有來自各種背景的人們,所以我們必須保持聊天內容是非常乾淨的。請編輯您的訊息後再次發布。", "bannedSlurUsed": "您的貼文包含不當的言語,所以您的聊天權限已被撤銷。", "party": "隊伍", "usernameCopied": "使用者名稱已複製到剪貼板。", diff --git a/website/common/locales/zh_TW/limited.json b/website/common/locales/zh_TW/limited.json index 7ba02dec20..a3a6725c7f 100644 --- a/website/common/locales/zh_TW/limited.json +++ b/website/common/locales/zh_TW/limited.json @@ -181,7 +181,7 @@ "summer2020OarfishMageSet": "皇帶魚(法師)", "summer2020RainbowTroutWarriorSet": "虹鱒魚(戰士)", "juneYYYY": "六月 <%= year %>", - "g1g1Limitations": "這是一個開始於十二月十六日上午八點 ET (13:00 UTC) 而將結束於一月六日下午八點ET (1:00 UTC)的限時活動。這個促銷僅適用於當您贈送給另一位Habitica使用者。如果您或您的贈禮接收者已有一份訂閱,此贈送訂閱將會儲值餘月份數至帳號且需當前的訂閱被取消或逾期後才能開始使用。", + "g1g1Limitations": "這是一項限時活動,從美國東部時間 12 月 15 日上午 8:00(世界標準時間 13:00)開始,到美國東部時間 1 月 8 日晚上 11:59(世界標準時間 1 月 9 日 04:59)結束。此促銷活動僅適用於您贈送給另一位 Habitican 的人。如果您或您的禮物接收者已經訂閱,贈送的訂閱將會順延。", "limitations": "侷限", "noLongerAvailable": "這個項目已不再供給。", "howItWorks": "操作說明", @@ -235,5 +235,38 @@ "winter2022PomegranateMageSet": "石榴(法師)", "winter2022IceCrystalHealerSet": "冰晶(補師)", "januaryYYYY": "<%= year %>年1月", - "aprilYYYY": "<%= year %>年3月" + "aprilYYYY": "<%= year %>年3月", + "anniversaryLimitations": "這是一個限時活動,從美國東部時間 1 月 30 日上午 8:00(世界標準時間 13:00)開始,到美國東部時間 2 月 8 日晚上 11:59(世界標準時間 04:59)結束。 限定版節慶獅鷲和十種魔法孵化藥水將在此期間上市銷售。 四件免費部分中列出的其他禮物將自動發送到禮物發送前 30 天內活躍的所有帳戶。 禮物發送後創建的帳戶將無法領取。", + "winter2023WalrusWarriorSet": "海象(戰士)", + "winter2023FairyLightsMageSet": "妖精之光(法師)", + "winter2023CardinalHealerSet": "Cardinal (補師)", + "dateStartFebruary": "2 月 8 日", + "anniversaryLimitedDates": "1 月 30 日至 2 月 8 日", + "limitedEvent": "限時活動", + "celebrateAnniversary": "用下面的禮物和獨家物品慶祝 Habitica 的 10 歲生日!", + "celebrateBirthday": "用禮物和獨家物品慶祝 Habitica 的 10 歲生日!", + "jubilantGryphatricePromo": "動畫版節慶獅鷲寵物", + "limitedEdition": "限定版", + "anniversaryGryphatriceText": "稀有的節慶獅鷲加入生日慶典!不要錯過擁有這只獨家動畫版寵物的機會。", + "anniversaryGryphatricePrice": "今天就以 9.99 美元60 顆寶石 的價格擁有它", + "buyNowMoneyButton": "現在以 9.99 美元購買", + "buyNowGemsButton": "現在以 60 顆寶石購買", + "wantToPayWithGemsText": "想使用寶石支付嗎?", + "wantToPayWithMoneyText": "想使用 Stripe、Paypal 或 Amazon 支付嗎?", + "ownJubilantGryphatrice": "您擁有了節慶獅鷲!趕快去馬廄裝備它!", + "jubilantSuccess": "您已成功購買 節慶獅鷲!", + "stableVisit": "趕快去馬廄裝備它!", + "takeMeToStable": "帶我去馬廄", + "plentyOfPotions": "大量的藥水", + "visitTheMarketButton": "參觀市場", + "plentyOfPotionsText": "我們帶回了 10 種社群最喜歡的魔法孵化藥水。前往市場補充您的收藏!", + "fourForFree": "四個免費", + "fourForFreeText": "為了讓派對繼續進行,我們將贈送派對長袍、20 顆寶石以及限量版生日背景和包含披風、護肩和眼罩的物品套裝。", + "dayOne": "第 1 天", + "dayFive": "5 5 天", + "dayTen": "第 10 天", + "partyRobes": "派對長袍", + "twentyGems": "20 顆寶石", + "birthdaySet": "生日套裝", + "winter2023RibbonRogueSet": "緞帶(盜賊)" } diff --git a/website/common/locales/zh_TW/pets.json b/website/common/locales/zh_TW/pets.json index 908c6c3f49..4cc6f66ded 100644 --- a/website/common/locales/zh_TW/pets.json +++ b/website/common/locales/zh_TW/pets.json @@ -113,5 +113,6 @@ "gryphatrice": "獅鷲", "invalidAmount": "食物數量無效,必須為正整數", "tooMuchFood": "你正在餵寵物過多食物,行動已取消", - "notEnoughFood": "你沒有足夠的食物" + "notEnoughFood": "你沒有足夠的食物", + "jubilantGryphatrice": "節慶獅鷲" } diff --git a/website/common/locales/zh_TW/questscontent.json b/website/common/locales/zh_TW/questscontent.json index 2f7baf5922..4d8c3881b0 100644 --- a/website/common/locales/zh_TW/questscontent.json +++ b/website/common/locales/zh_TW/questscontent.json @@ -313,7 +313,7 @@ "questSnailDropSnailEgg": "蝸牛(蛋)", "questSnailUnlockText": "在市場中解鎖蝸牛蛋以購買", "questBewilderText": "迷失怪", - "questBewilderNotes": "派對開始的時候和任何一場沒什麼不同。

開胃菜棒極了,音樂讓人搖擺,甚至跳舞的大像都是保留節目。Habitica居民們在中央的花海中大笑嬉鬧,不用去想最不喜歡的任務可真逍遙,愚者在他們中間迴轉,急切地到處展示著有趣的惡作劇和詼諧的動作。

隨著Misti飛城的鐘塔在午夜響起,愚者跳上舞台開始演講。

“朋友們!敵人們!心胸寬廣的老熟人們!聽我說兩句。”人們輕笑著,豎起了耳朵,用新的配飾裝扮自己,擺起了姿勢。

“如你們所知,”愚者繼續說著,“我那摸不著頭腦的幻覺僅僅持續了一天。但是,我很開心的宣布,我已經發現一個捷徑,可以保證我們的快樂不會停止,不需要去處理責任的重壓。可愛的Habitica居民們,見見我新的魔法朋友吧……“迷茫”!”

Lemoness突然臉色蒼白,丟下她的餐前甜點。“等等!不要相信——”

但是,突然迷霧灌進了房間,閃閃發光,逐漸變濃,它們繞著愚者打著旋儿,凝聚成雲朵般的羽翼和抻長的脖子。人群說不出話來,一隻巨大的怪鳥在他們面前顯露出來,它的翅膀閃爍著幻覺。它發出恐怖刺耳的笑聲。

“噢,已經很多很多年了,一個有夠愚蠢的Habitica居民召喚了我!多麼美妙啊,終於有一個實體了。”

Misti飛城的魔法蜜蜂驚恐嗡嗡的逃離了這座浮空城,浮空城開始從天空下落。燦爛的春之花一個接一個枯萎了。

“我最親愛的朋友,為何如此驚恐?”迷茫啼叫著,扇動著它的翅膀,“沒必要再幸苦贏得獎勵了。我會給你們所有你們想要的東西! ”

金幣雨從空中傾瀉下來,猛力地敲打在地面,人們尖叫著奔跑著尋找遮蔽物。“這是在開玩笑嗎?”Baconsaur大叫,金幣砸穿了窗戶,打破了屋頂的瓦片。

畫家Prophet閃避著,空中出現了閃電裂紋,霧遮擋了太陽。“不!這次我想不是了!”

快,Habitica居民們,不要讓這個世界Boss使我們從目標上分心!保持注意力,關注你需要完成的任務,這樣我們才能拯救Misti飛城——還有,充滿希望的我們自己。", + "questBewilderNotes": "派對開始的時候和往常一樣。

開胃菜棒極了,音樂使人搖擺,就連跳舞的大象也成了餘興節目。Habitica 鄉民們在中央的花海中大笑嬉鬧,不用去想最不喜歡的任務可真逍遙,愚者在他們中間迴轉,急切地到處展示著有趣的惡作劇和詼諧的動作。

隨著迷霧飛城的鐘塔在午夜響起,愚者跳上舞台開始演講。

“朋友們!敵人們!心胸寬廣的老熟人們!聽我說兩句。”人們輕笑著,豎起了耳朵,用新的配飾裝扮自己,擺起了姿勢。

“如你們所知,”愚者繼續說著,“我那摸不著頭腦的幻覺僅僅持續了一天。但是,我很開心的宣布,我已經發現一個捷徑,可以保證我們的快樂不會停止,不需要去處理責任的重壓。可愛的Habitica居民們,見見我新的魔法朋友吧……“迷茫”!”

Lemoness 突然臉色蒼白,丟下她的餐前甜點。“等等!不要相信——”

但是,突然迷霧灌進了房間,閃閃發光,逐漸變濃,它們繞著愚者打著旋儿,凝聚成雲朵般的羽翼和抻長的脖子。人群說不出話來,一隻巨大的怪鳥在他們面前顯露出來,它的翅膀閃爍著幻覺。它發出恐怖刺耳的笑聲。

“噢,已經很多很多年了,一個有夠愚蠢的 Habitica 鄉民召喚了我!多麼美妙啊,終於有一個實體了。”

迷霧飛城的魔法蜜蜂驚恐嗡嗡的逃離了這座浮空城,浮空城開始從天空下落。燦爛的春之花一個接一個枯萎了。

“我最親愛的朋友,為何如此驚恐?”迷茫啼叫著,扇動著它的翅膀,“沒必要再幸苦贏得獎勵了。我會給你們所有你們想要的東西! ”

金幣雨從空中傾瀉下來,猛力地敲打在地面,人們尖叫著奔跑著尋找遮蔽物。“這是在開玩笑嗎?”Baconsaur 大叫,金幣砸穿了窗戶,打破了屋頂的瓦片。

畫家 Prophet 閃避著,空中出現了閃電裂紋,霧遮擋了太陽。“不!這次我想不是了!”

快,Habitica 鄉民們,不要讓這個世界 Boss 使我們從目標上分心!保持注意力,關注你需要完成的任務,這樣我們才能拯救迷霧飛城——還有我們。", "questBewilderCompletion": "“迷茫”被打!敗!了!

我們做到了!迷茫在空中扭曲,悲慟大叫,羽毛飄下來就像是雨點。漸漸地,它被捲入一團閃亮的霧中。一縷縷陽光穿透了迷霧,驅散了它,咳嗽著的不幸之幸的人們得以重見天日,其中有Bailey、Matt、Alex...和愚者自己。

Misti飛城被拯救了!

愚者看起來有點局促不安。“噢,嗯,”他說,“我可能有點....忘乎所以了。”

人們在喃喃低語,濕漉漉的花朵被沖上人行道,在遠處還能看到坍塌的屋頂濺起的壯觀水花。

“額,好,”愚者說,“也就是說…我想說的是,很抱歉。”他長嘆道,“這畢竟可不是什麼好玩的遊戲,偶爾當心點不會有壞處的。也許我還是會帶頭開始下一年的惡作劇。”

浴火鳳凰故意咳了一聲。

“我的意思是,帶頭開始今年的春季大掃除!”愚者說,“不用擔心,我會很快將Habitica修回原樣。幸好在雙持掃把上沒人比我厲害。”

儀仗隊開始演奏,鼓舞大家。

用不了多久Habitica的一切就會回歸正軌。此外,現在迷茫已經消失了,魔法蜜蜂回到了Misti飛城開始了忙碌的工作,不久後,城市又一次淹沒在了花海中。

Habitica居民擁抱了魔法絨絨蜜蜂,愚者的眼睛瞬間亮了起來,“噢,我有了一個想法!為什麼你們都不養一些絨絨蜜蜂當寵物和坐騎呢?如果我要讓你感到無聊和有寓意的話,這是一個很好的禮物,它完美的代表了辛勤工作和甜蜜的回報的結合。”他眨了眨眼,“另外,它們沒有毒刺!愚者向你致敬。”", "questBewilderCompletionChat": "`“迷茫”被打!敗!了! `\n\n我們做到了!迷茫在空中扭曲,悲慟大叫,羽毛飄下來就像是雨點。漸漸地,它被捲入一團閃亮的霧中。一縷縷陽光穿透了迷霧,驅散了它,咳嗽著的不幸之幸的人們得以重見天日,其中有Bailey、Matt、Alex...和愚者自己。\n\n`Misti飛城被拯救了! `\n\n愚者看起來有點局促不安。“噢,嗯,”他說,“我可能有點....忘乎所以了。”\n\n人們在喃喃低語,濕漉漉的花朵被沖上人行道,在遠處還能看到坍塌的屋頂濺起的壯觀水花。\n\n“額,好,”愚者說,“也就是說…我想說的是,很抱歉。”他長嘆道,“這畢竟可不是什麼好玩的遊戲,偶爾當心點不會有壞處的。也許我還是會帶頭開始下一年的惡作劇。”\n\n浴火鳳凰故意咳了一聲。\n\n“我的意思是,帶頭開始今年的春季大掃除!”愚者說,“不用擔心,我會很快將Habitica修回原樣。幸好在雙持掃把上沒人比我厲害。”\n\n儀仗隊開始演奏,鼓舞大家。\n\n用不了多久Habitica的一切就會回歸正軌。此外,現在迷茫已經消失了,魔法蜜蜂回到了Misti飛城開始了忙碌的工作,不久後,城市又一次淹沒在了花海中。\n\nHabitica居民擁抱了魔法絨絨蜜蜂,愚者的眼睛瞬間亮了起來,“噢,我有了一個想法!為什麼你們都不養一些絨絨蜜蜂當寵物和坐騎呢?如果我要讓你感到無聊和有寓意的話,這是一個很好的禮物,它完美的代表了辛勤工作和甜蜜的回報的結合。”他眨了眨眼,“另外,它們沒有毒刺!愚者向你致敬。”", "questBewilderBossRageTitle": "欺騙打擊", @@ -712,5 +712,23 @@ "sandySidekicksText": "沙沙搭檔副本包裹", "questTurquoiseCollectNeptuneRunes": "海王符文", "questTurquoiseDropTurquoisePotion": "綠松石孵化藥水", - "questTurquoiseUnlockText": "在市場上解鎖綠松石孵化藥水" + "questTurquoiseUnlockText": "在市場上解鎖綠松石孵化藥水", + "questWindupText": "失控的發條戰士", + "questTurquoiseNotes": "@gawrone 跑進你的房間,一手托著 Habitica 的文獻,另一隻手拿著一本皮裝書。這本皮裝書佈滿灰塵,異常的大。

\"你絕對猜不到我發現了什麼!\"他說。 \"全盛田野之所以如此肥沃,是因為那裡曾是一片汪洋。據傳,有一個古老的民族曾居住在海底的魔法城市。通過被遺忘的地圖,我找到了最有可能存在的位置! 拿上你的鐵鍬!\"

第二天晚上,你們如約見面,@QuartzFox 和 @starsystemic 也加入了隊伍,開始一同挖掘。在地下深處,你發現了一張盧恩符文,在其附近還有一顆綠松石石!

\"繼續挖!\" @gawrone 催促道。 \"如果我們還能更多,那麼就可以製作古老藥水,還原歷史!\"", + "questTurquoiseCompletion": "熱得滿頭大汗,隊伍在土堆旁停下來休息,大家看著新發現的符文和寶石。

“難以置信,”@QuartzFox 喃喃自語。 “歷史將被改寫。”

“我們應該把這些材料帶回 Habitica 大學進行分析。”@gawrone 說。 “有很多東西需要研究,我們還可以製作綠松石藥水!誰知道我們還能在這附近發現什麼埋藏的東西呢?”

@starsystemic 也說道。 “只要努力工作,就會有驚人的成就!”", + "questBlackPearlText": "星星的奇思妙想", + "questBlackPearlNotes": "你最近總感到缺乏靈感,所以當 @jjgame83 建議你到生機湖來趟旅行時,你把握住了這個轉換心情的機會。當 @QuartzFox 在岸邊佈置野餐時,你發現在淺灘中有什麼閃爍著。一顆奇怪的黑珍珠。

你嘆道:“我真希望我有新的靈感” 。

一陣刺骨的冷風掃過湖岸。湖水染成了墨水。群星升起使白晝在一瞬間化為午夜。

@PixelStormArt 說: “這可怖是個好兆頭”

大量高聳的腕足隨著噴濺的泡沫從湖中竄出,從它的口中,它吼道:“注視著靈感之星吧, 這來自群星彼端的奇思妙想”

一條觸手向下擊中了野餐籃。無論這是不是個好主意,你採取了行動。", + "questBlackPearlCompletion": "每當你猛擊並炸開怪獸,黑色的珍珠就會飛散至沙灘的各處。當你躲避著另一條打向你的觸手時,珍珠閃耀的表面吸引了你的目光。

雖然你可能正面臨著生死關頭,但你卻無法不去思考它們美麗的光輝。接著你也無法停止去想現在並不是個構想新藥水的好時機。

忽然間怪獸停止了動作。 @jjgame83 和@PixelStormArt 困惑的相視並放下了他們的武器。

“你實現了你的願望,凡人。我的使命結束了。”

靈感之星消逝了,天空和水也清澈了。 @QuartzFox 盯著你。 “介意說明一下嗎?”

你盡了你最大的努力,並一起用黑珍珠裝滿野餐籃。在進行了一個下午的煉金術後,你不得不承認那其實是個不錯的主意。", + "questBlackPearlBoss": "靈感之星", + "questBlackPearlDropBlackPearlPotion": "黑珍珠孵化藥水", + "questBlackPearlUnlockText": "在市場上解鎖黑珍珠孵化藥水以購買", + "questStoneNotes": "你打開忽視堡壘的大門,卻被花園裡的雕像、岩石和表面長滿的苔蘚嚇了一跳。 “哦,不,花園已經被忽視太久了!”@jjgame83 說。

“好吧,現在開始打理花園永遠不會太晚,”@PixelStormArt 熱情地說,“但我們應該從哪裡開始解決佈滿青苔的迷宮呢?”

“我們可以製定並遵循一個計劃,這樣我們就不會迷路。”@QuartzFox 說。

在清理青苔的岩石時,@starsystemic 發現了隱藏在岩石下面的火星、摩羯座符文。 “這些是做什麼用的?打掃完後,把它們帶回 Habit 城市的圖書館去查查看。”

但前提是你能找到離開這裡的路。你在心中默念,沒有大聲說出來。", + "questStoneCompletion": "清除雜草和移動鬆動的石頭的工作使你幾乎透支。但你在團隊中分工合作,通過在你身後的道路上放置石頭,這方法幫助你找到回到其他人身邊。你找到的符文也增強了你的力量和決心。最後,花園看起來並不那麼被忽視了!

你按照@starsystemic 的建議在圖書館查找,找到了使用你收集的符文的魔法藥水配方。

“這是對完成被忽視任務的意外獎勵,”@jjgame83 說。

@QuartzFox 同意,“而且這還帶給了我們一個美麗的花園,我們可以和寵物一起享受。”

“讓我們開始製作一些令人驚嘆的青苔石孵化藥水吧!”@starsystemic 說,大家高興地加入進來。", + "questStoneCollectMarsRunes": "火星符文", + "questStoneCollectCapricornRunes": "摩羯座符文", + "questStoneDropMossyStonePotion": "青苔石孵化藥水", + "questStoneText": "佈滿青苔的迷宮", + "questStoneCollectMossyStones": "青苔石", + "sandySidekicksNotes": "包括“放縱的犰狳”、“分心蛇”和“寒霜蜘蛛”。 <%= date %>前可購買。", + "questStoneUnlockText": "在市場上解鎖青苔石孵化藥水以購買" } diff --git a/website/common/locales/zh_TW/subscriber.json b/website/common/locales/zh_TW/subscriber.json index 1e545bcbb2..93550e77b2 100644 --- a/website/common/locales/zh_TW/subscriber.json +++ b/website/common/locales/zh_TW/subscriber.json @@ -24,7 +24,7 @@ "subGemName": "訂閱者寶石", "maxBuyGems": "你已掃光這個月能得到的所有寶石。寶石將在每個月開始的三天內進貨。感謝訂閱!", "timeTravelers": "時空旅行者", - "timeTravelersPopoverNoSubMobile": "看來你需要一個神秘沙漏來開啟時空傳送門,召喚這些神秘的時空旅行者。", + "timeTravelersPopoverNoSubMobile": "看來你需要一個神秘沙漏來開啟時空傳送門,並召喚這些神秘的時空旅行者。", "timeTravelersPopover": "你的神秘沙漏開啟了我們的時空傳送門!選擇你希望我們從過去或未來帶來之物吧。", "mysterySetNotFound": "找不到神秘裝備,或是已經擁有。", "mysteryItemIsEmpty": "神秘裝備是空的", @@ -158,7 +158,7 @@ "doubleDropCap": "雙倍掉落", "youAreSubscribed": "您訂閱了Habitica的服務", "subscriptionCanceled": "您的訂閱已取消", - "subscriptionInactiveDate": "您的訂閱權益將在<%= date %>上失效", + "subscriptionInactiveDate": "您的訂閱權益將在
<%= date %>失效", "subscriptionStats": "訂閱統計", "subMonths": "訂閱月", "needToUpdateCard": "需要更新您的卡嗎?", @@ -213,5 +213,13 @@ "mysterySet202208": "活潑馬尾套裝", "mysterySet202202": "綠松石雙馬尾套裝", "mysterySet202205": "黃昏翼龍套裝", - "sendAGift": "贈送禮物" + "sendAGift": "贈送禮物", + "mysterySet202303": "長毛角色套裝", + "mysterySet202301": "狐之勇者套裝", + "continueGiftSubBenefits": "想繼續享受您的福利嗎?您可以在贈送的訂閱用完之前開始新的訂閱,以保持您的權益有效。", + "haveNonRecurringSub": "您有一個臨時的贈品訂閱。", + "switchToRecurring": "是否切換至定期訂閱?", + "subscriptionCreditConversion": "開始新的訂閱會將剩餘的所有月份轉換為積分,在取消定期訂閱後將使用這些積分。", + "mysterySet202212": "冰川守護者套裝", + "mysterySet202302": "狡詐虎斑貓套裝" } diff --git a/website/common/script/content/achievements.js b/website/common/script/content/achievements.js index f9451c33de..a7e843d23d 100644 --- a/website/common/script/content/achievements.js +++ b/website/common/script/content/achievements.js @@ -178,11 +178,21 @@ const animalSetAchievs = { titleKey: 'achievementBirdsOfAFeather', textKey: 'achievementBirdsOfAFeatherText', }, + dinosaurDynasty: { + icon: 'achievement-dinosaurDynasty', + titleKey: 'achievementDinosaurDynasty', + textKey: 'achievementDinosaurDynastyText', + }, domesticated: { icon: 'achievement-domesticated', titleKey: 'achievementDomesticated', textKey: 'achievementDomesticatedText', }, + plantParent: { + icon: 'achievement-plantParent', + titleKey: 'achievementPlantParent', + textKey: 'achievementPlantParentText', + }, polarPro: { icon: 'achievement-polarPro', titleKey: 'achievementPolarPro', diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js index 8d188527d9..a3f3d62788 100644 --- a/website/common/script/content/appearance/backgrounds.js +++ b/website/common/script/content/appearance/backgrounds.js @@ -535,6 +535,41 @@ const backgrounds = { inside_a_crystal: { }, snowy_village: { }, }, + backgrounds012023: { + rime_ice: { }, + snowy_temple: { }, + winter_lake_with_swans: { }, + }, + backgrounds022023: { + in_front_of_fountain: { }, + golden_birdcage: { }, + fancy_bedroom: { }, + }, + backgrounds032023: { + jungle_watering_hole: { }, + mangrove_forest: { }, + old_timey_basketball_court: { }, + }, + backgrounds042023: { + leafy_tree_tunnel: { }, + springtime_shower: { }, + under_wisteria: { }, + }, + backgrounds052023: { + in_a_painting: { }, + flying_over_hedge_maze: { }, + cretaceous_forest: { }, + }, + backgrounds062023: { + in_an_aquarium: { }, + inside_adventurers_hideout: { }, + crater_lake: { }, + }, + eventBackgrounds: { + birthday_bash: { + price: 0, + }, + }, timeTravelBackgrounds: { airship: { price: 1, @@ -578,7 +613,9 @@ forOwn(backgrounds, (backgroundsInSet, set) => { forOwn(backgroundsInSet, (background, bgKey) => { background.key = bgKey; background.set = set; - background.price = background.price || 7; + if (background.price !== 0) { + background.price = background.price || 7; + } background.text = background.text || t(`background${upperFirst(camelCase(bgKey))}Text`); background.notes = background.notes || t(`background${upperFirst(camelCase(bgKey))}Notes`); diff --git a/website/common/script/content/appearance/sets.js b/website/common/script/content/appearance/sets.js index a5b61c3a26..5a95f5f4d9 100644 --- a/website/common/script/content/appearance/sets.js +++ b/website/common/script/content/appearance/sets.js @@ -12,7 +12,7 @@ export default prefill({ pastelHairColors: { setPrice: 5, availableUntil: '2016-01-01' }, rainbowHairColors: { setPrice: 5, text: t('rainbowColors') }, shimmerHairColors: { - setPrice: 5, availableFrom: '2022-04-14T08:00-05:00', availableUntil: '2022-04-30T20:00-05:00', text: t('shimmerColors'), + setPrice: 5, availableFrom: '2023-04-11T08:00-05:00', availableUntil: EVENTS.spring2023.end, text: t('shimmerColors'), }, hauntedHairColors: { setPrice: 5, availableFrom: '2022-10-04T08:00-04:00', availableUntil: EVENTS.fall2022.end, text: t('hauntedColors'), @@ -23,14 +23,14 @@ export default prefill({ rainbowSkins: { setPrice: 5, text: t('rainbowSkins') }, animalSkins: { setPrice: 5, text: t('animalSkins') }, pastelSkins: { - setPrice: 5, availableFrom: '2022-04-14T08:00-05:00', availableUntil: '2022-04-30T20:00-05:00', text: t('pastelSkins'), + setPrice: 5, availableFrom: '2022-04-11T08:00-05:00', availableUntil: EVENTS.spring2023.end, text: t('pastelSkins'), }, spookySkins: { setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins') }, 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'), + setPrice: 5, availableFrom: '2023-07-11T08:00-05:00', availableUntil: EVENTS.summer2023.end, text: t('splashySkins'), }, winterySkins: { setPrice: 5, availableFrom: '2023-01-17T08:00-05:00', availableUntil: EVENTS.winter2023.end, text: t('winterySkins'), diff --git a/website/common/script/content/bundles.js b/website/common/script/content/bundles.js index 8214d474a6..4388aca9d4 100644 --- a/website/common/script/content/bundles.js +++ b/website/common/script/content/bundles.js @@ -35,9 +35,9 @@ const bundles = { 'turtle', 'whale', ], - event: EVENTS.bundle202106, + event: EVENTS.bundle202306, canBuy () { - return moment().isBefore(EVENTS.bundle202106.end); + return moment().isBetween(EVENTS.bundle202306.start, EVENTS.bundle202306.end); }, type: 'quests', class: 'quest_bundle_splashyPals', @@ -178,9 +178,9 @@ const bundles = { 'penguin', 'rooster', ], - event: EVENTS.bundle202109, + event: EVENTS.bundle202305, canBuy () { - return moment().isBefore(EVENTS.bundle202109.end); + return moment().isBefore(EVENTS.bundle202305.end); }, type: 'quests', value: 7, @@ -194,8 +194,9 @@ const bundles = { 'seaserpent', 'gryphon', ], + event: EVENTS.bundle202302, canBuy () { - return moment().isBefore('2022-02-28T20:00-05:00'); + return moment().isBetween(EVENTS.bundle202302.start, EVENTS.bundle202302.end); }, type: 'quests', value: 7, @@ -234,14 +235,15 @@ const bundles = { jungleBuddies: { key: 'jungleBuddies', text: t('jungleBuddiesText'), - notes: t('jungleBuddiesNotes', { date: moment('2020-05-31').format('LL') }), + notes: t('jungleBuddiesNotes', { date: moment('2023-03-31').format('LL') }), bundleKeys: [ 'monkey', 'sloth', 'treeling', ], + event: EVENTS.bundle202303, canBuy () { - return moment().isBetween('2020-05-19', '2020-06-02'); + return moment().isBetween(EVENTS.bundle202303.start, EVENTS.bundle202303.end); }, type: 'quests', value: 7, diff --git a/website/common/script/content/constants/animalSetAchievements.js b/website/common/script/content/constants/animalSetAchievements.js index 51c07fabf3..dc49609d12 100644 --- a/website/common/script/content/constants/animalSetAchievements.js +++ b/website/common/script/content/constants/animalSetAchievements.js @@ -26,6 +26,23 @@ const ANIMAL_SET_ACHIEVEMENTS = { achievementKey: 'birdsOfAFeather', notificationType: 'ACHIEVEMENT_ANIMAL_SET', }, + dinosaurDynasty: { + type: 'pet', + species: [ + 'Falcon', + 'Owl', + 'Parrot', + 'Peacock', + 'Penguin', + 'Rooster', + 'Pterodactyl', + 'TRex', + 'Triceratops', + 'Velociraptor', + ], + achievementKey: 'dinosaurDynasty', + notificationType: 'ACHIEVEMENT_ANIMAL_SET', + }, domesticated: { type: 'pet', species: [ @@ -41,6 +58,15 @@ const ANIMAL_SET_ACHIEVEMENTS = { achievementKey: 'domesticated', notificationType: 'ACHIEVEMENT_ANIMAL_SET', }, + plantParent: { + type: 'pet', + species: [ + 'Cactus', + 'Treeling', + ], + achievementKey: 'plantParent', + notificationType: 'ACHIEVEMENT_ANIMAL_SET', + }, polarPro: { type: 'pet', species: [ diff --git a/website/common/script/content/constants/events.js b/website/common/script/content/constants/events.js index c3e8522062..b38991944d 100644 --- a/website/common/script/content/constants/events.js +++ b/website/common/script/content/constants/events.js @@ -10,11 +10,66 @@ const gemsPromo = { export const EVENTS = { noEvent: { - start: '2023-01-31T20:00-05:00', - end: '2023-02-14T08:00-05:00', + start: '2023-08-01T23:59-04:00', + end: '2023-08-31T08:00-04:00', season: 'normal', npcImageSuffix: '', }, + summer2023: { + start: '2023-06-20T08:00-04:00', + end: '2023-07-31T23:59-04:00', + npcImageSuffix: '_summer', + season: 'summer', + gear: true, + }, + bundle202306: { + start:'2023-06-13T08:00-04:00', + end:'2023-06-30T23:59-04:00', + }, + bundle202305: { + start:'2023-05-23T08:00-04:00', + end:'2023-05-31T23:59-04:00', + }, + potions202305: { + start:'2023-05-16T08:00-04:00', + end:'2023-05-31T23:59-04:00', + }, + aprilFools2023: { + start: '2023-04-01T08:00-04:00', + end: '2023-04-02T08:00-04:00', + aprilFools: 'teaShop', + }, + spring2023: { + start: '2023-03-21T08:00-04:00', + end: '2023-04-30T23:59-04:00', + npcImageSuffix: '_spring', + season: 'spring', + gear: true, + }, + bundle202303: { + start: '2023-03-16T08:00-04:00', + end: '2023-03-31T23:59-04:00', + }, + bundle202302: { + start: '2023-02-21T08:00-05:00', + end: '2023-02-28T23:59-05:00', + }, + potions202302:{ + start: '2023-02-13T08:00-05:00', + end: '2023-02-28T23:59-05:00', + }, + valentines2023: { + start: '2023-02-13T08:00-05:00', + end: '2023-02-17T23:59-05:00', + season: 'valentines', + npcImageSuffix: '_valentines', + }, + birthday10: { + start: '2023-01-30T08:00-05:00', + end: '2023-02-08T23:59-05:00', + season: 'birthday', + npcImageSuffix: '_birthday', + }, winter2023: { start: '2022-12-20T08:00-05:00', end: '2023-01-31T23:59-05:00', diff --git a/website/common/script/content/constants/seasonalSets.js b/website/common/script/content/constants/seasonalSets.js index 9af7043ce5..e30ffc82b7 100644 --- a/website/common/script/content/constants/seasonalSets.js +++ b/website/common/script/content/constants/seasonalSets.js @@ -52,6 +52,7 @@ const SEASONAL_SETS = { 'winter2023WalrusWarriorSet', 'winter2023FairyLightsMageSet', 'winter2023CardinalHealerSet', + ], spring: [ // spring 2014 @@ -101,6 +102,11 @@ const SEASONAL_SETS = { 'spring2022PeridotHealerSet', 'spring2022RainstormWarriorSet', 'spring2022MagpieRogueSet', + + 'spring2023CaterpillarRogueSet', + 'spring2023HummingbirdWarriorSet', + 'spring2023MoonstoneMageSet', + 'spring2023LilyHealerSet', ], summer: [ @@ -150,6 +156,11 @@ const SEASONAL_SETS = { 'summer2022WaterspoutWarriorSet', 'summer2022MantaRayMageSet', 'summer2022AngelfishHealerSet', + + 'summer2023GoldfishWarriorSet', + 'summer2023CoralMageSet', + 'summer2023GuppyRogueSet', + 'summer2023KelpHealerSet', ], fall: [ // fall 2014 diff --git a/website/common/script/content/faq.js b/website/common/script/content/faq.js index 10b87a4cbe..71758b49df 100644 --- a/website/common/script/content/faq.js +++ b/website/common/script/content/faq.js @@ -21,10 +21,6 @@ const questionList = [ heading: 'health', translationIndex: 4, }, - { - heading: 'party-with-friends', - translationIndex: 5, - }, { heading: 'pets-mounts', translationIndex: 6, @@ -52,7 +48,54 @@ const questionList = [ { heading: 'group-plans', translationIndex: 13, - excludedPlatforms: ['android', 'ios'], + }, + { + heading: 'party-with-friends', + translationIndex: 5, + }, + { + heading: 'party-detail-1', + translationIndex: 14, + }, + { + heading: 'party-detail-2', + translationIndex: 15, + }, + { + heading: 'party-detail-3', + translationIndex: 16, + }, + { + heading: 'party-detail-4', + translationIndex: 17, + }, + { + heading: 'party-detail-5', + translationIndex: 18, + }, + { + heading: 'party-detail-6', + translationIndex: 19, + }, + { + heading: 'party-detail-7', + translationIndex: 20, + }, + { + heading: 'party-detail-8', + translationIndex: 21, + }, + { + heading: 'party-detail-9', + translationIndex: 22, + }, + { + heading: 'party-detail-10', + translationIndex: 23, + }, + { + heading: 'party-detail-11', + translationIndex: 24, }, ]; diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js index e4ff25a54d..756d0194f0 100644 --- a/website/common/script/content/gear/sets/armoire.js +++ b/website/common/script/content/gear/sets/armoire.js @@ -408,6 +408,32 @@ const armor = { int: 10, set: 'jewelers', }, + shawlCollarCoat: { + con: 8, + }, + teaGown: { + str: 5, + int: 5, + set: 'teaParty', + }, + basketballUniform: { + per: 10, + set: 'oldTimeyBasketball', + }, + paintersApron: { + con: 10, + set: 'painters', + }, + stripedRainbowShirt: { + str: 7, + int: 7, + set: 'rainbow', + }, + diagonalRainbowShirt: { + con: 7, + per: 7, + set: 'rainbow', + }, }; const body = { @@ -829,6 +855,20 @@ const head = { per: 8, set: 'fancyPirate', }, + teaHat: { + per: 10, + set: 'teaParty', + }, + beaniePropellerHat: { + con: 3, + per: 3, + str: 3, + int: 3, + }, + paintersBeret: { + per: 9, + set: 'painters', + }, }; const shield = { @@ -1130,6 +1170,19 @@ const shield = { str: 10, set: 'jewelers', }, + teaKettle: { + con: 10, + set: 'teaParty', + }, + basketball: { + con: 5, + str: 5, + set: 'oldTimeyBasketball', + }, + paintersPalette: { + str: 7, + set: 'painters', + }, }; const headAccessory = { @@ -1572,6 +1625,10 @@ const weapon = { con: 10, set: 'jewelers', }, + paintbrush: { + int: 8, + set: 'painters', + }, }; forEach({ diff --git a/website/common/script/content/gear/sets/mystery.js b/website/common/script/content/gear/sets/mystery.js index e851da7513..a0b355af2d 100644 --- a/website/common/script/content/gear/sets/mystery.js +++ b/website/common/script/content/gear/sets/mystery.js @@ -60,6 +60,9 @@ const armor = { 202207: { }, 202210: { }, 202212: { }, + 202304: { }, + 202306: { }, + 202307: { }, 301404: { }, 301703: { }, 301704: { }, @@ -97,6 +100,8 @@ const back = { 202205: { }, 202206: { }, 202301: { }, + 202302: { }, + 202305: { }, }; const body = { @@ -123,6 +128,7 @@ const eyewear = { '202204A': { mystery: '202204' }, '202204B': { mystery: '202204' }, 202208: { }, + 202303: { }, 301404: { }, 301405: { }, 301703: { }, @@ -200,6 +206,8 @@ const head = { 202210: { }, 202211: { }, 202301: { }, + 202303: { }, + 202304: { }, 301404: { }, 301405: { }, 301703: { }, @@ -227,6 +235,9 @@ const headAccessory = { 202203: { }, 202212: { }, 202205: { }, + 202307: { }, + 202302: { }, + 202305: { }, 301405: { }, }; @@ -259,6 +270,7 @@ const weapon = { 202201: { }, 202212: { }, 202209: { }, + 202306: { }, 301404: { }, }; diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js index 85f7e12284..1600001bb8 100644 --- a/website/common/script/content/gear/sets/special/index.js +++ b/website/common/script/content/gear/sets/special/index.js @@ -16,7 +16,8 @@ import t from '../../../translation'; import { getClassName } from '../../../../libs/getClassName'; const CURRENT_EVENT = find( - EVENTS, event => moment().isBetween(event.start, event.end) && Boolean(event.season), + EVENTS, event => moment().isBetween(event.start, event.end) + && ['winter', 'spring', 'summer', 'fall'].includes(event.season), ); const gearEvents = pickBy(EVENTS, event => event.gear); @@ -788,15 +789,53 @@ const armor = { }, winter2023Rogue: { set: 'winter2023RibbonRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Warrior: { set: 'winter2023WalrusWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Mage: { set: 'winter2023FairyLightsMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Healer: { set: 'winter2023CardinalHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', + }, + birthday2023: { + text: t('armorSpecialBirthday2023Text'), + notes: t('armorSpecialBirthday2023Notes'), + value: 0, + canOwn: ownsItem('armor_special_birthday2023'), + }, + spring2023Rogue: { + set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Warrior: { + set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Mage: { + set: 'spring2023MoonstoneMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Healer: { + set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Mage: { + set: 'summer2023CoralMageSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', }, }; @@ -923,6 +962,12 @@ const back = { value: 0, canOwn: ownsItem('back_special_namingDay2020'), }, + anniversary: { + text: t('backSpecialAnniversaryText'), + notes: t('backSpecialAnniversaryNotes'), + value: 0, + canOwn: ownsItem('back_special_anniversary'), + }, }; const body = { @@ -992,6 +1037,12 @@ const body = { value: 0, canOwn: ownsItem('body_special_namingDay2018'), }, + anniversary: { + text: t('bodySpecialAnniversaryText'), + notes: t('bodySpecialAnniversaryNotes'), + value: 0, + canOwn: ownsItem('body_special_anniversary'), + }, }; const eyewear = { @@ -1140,6 +1191,12 @@ const eyewear = { value: 0, canOwn: ownsItem('eyewear_special_ks2019'), }, + anniversary: { + text: t('eyewearSpecialAnniversaryText'), + notes: t('eyewearSpecialAnniversaryNotes'), + value: 0, + canOwn: ownsItem('eyewear_special_anniversary'), + }, }; const head = { @@ -1922,15 +1979,19 @@ const head = { }, winter2023Rogue: { set: 'winter2023RibbonRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Warrior: { set: 'winter2023WalrusWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Mage: { set: 'winter2023FairyLightsMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Healer: { set: 'winter2023CardinalHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, nye2022: { text: t('headSpecialNye2022Text'), @@ -1938,6 +1999,34 @@ const head = { value: 0, canOwn: ownsItem('head_special_nye2022'), }, + spring2023Rogue: { + set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Warrior: { + set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Mage: { + set: 'spring2023MoonstoneMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Healer: { + set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Mage: { + set: 'summer2023CoralMageSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', + }, }; const headStats = { @@ -2717,7 +2806,7 @@ const shield = { }, spring2022Healer: { set: 'spring2022PeridotHealerSet', - canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'summer', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', }, summer2022Rogue: { set: 'summer2022CrabRogueSet', @@ -2745,12 +2834,36 @@ const shield = { }, winter2023Rogue: { set: 'winter2023RibbonRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Warrior: { set: 'winter2023WalrusWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Healer: { set: 'winter2023CardinalHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', + }, + spring2023Rogue: { + set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Warrior: { + set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Healer: { + set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', }, }; @@ -3494,15 +3607,47 @@ const weapon = { }, winter2023Rogue: { set: 'winter2023RibbonRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Warrior: { set: 'winter2023WalrusWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Mage: { set: 'winter2023FairyLightsMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', }, winter2023Healer: { set: 'winter2023CardinalHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'winter', + }, + spring2023Rogue: { + set: 'spring2023CaterpillarRogueSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Warrior: { + set: 'spring2023HummingbirdWarriorSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Mage: { + set: 'spring2023MoonstoneMageSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + spring2023Healer: { + set: 'spring2023LilyHealerSet', + canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring', + }, + summer2023Rogue: { + set: 'summer2023GuppyRogueSet', + }, + summer2023Warrior: { + set: 'summer2023GoldfishWarriorSet', + }, + summer2023Mage: { + set: 'summer2023CoralMageSet', + }, + summer2023Healer: { + set: 'summer2023KelpHealerSet', }, }; diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js index 9ba437243d..ae08346c4f 100644 --- a/website/common/script/content/hatching-potions.js +++ b/website/common/script/content/hatching-potions.js @@ -62,60 +62,65 @@ const premium = { value: 2, text: t('hatchingPotionCupid'), limited: true, + event: EVENTS.potions202302, + _addlNotes: t('eventAvailabilityReturning', { + availableDate: t('dateEndFebruary'), + previousDate: t('februaryYYYY', { year: 2022 }), + }), canBuy () { - return moment().isBefore('2022-02-28T20:00-05:00'); + return moment().isBetween(EVENTS.potions202302.start, EVENTS.potions202302.end); }, }, Shimmer: { value: 2, text: t('hatchingPotionShimmer'), limited: true, - event: EVENTS.spring2022, + event: EVENTS.birthday10, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMarch'), - previousDate: t('marchYYYY', { year: 2020 }), + availableDate: t('dateStartFebruary'), + previousDate: t('marchYYYY', { year: 2022 }), }), canBuy () { - return moment().isBefore(EVENTS.spring2022.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, Fairy: { value: 2, text: t('hatchingPotionFairy'), limited: true, - event: EVENTS.potions202105, + event: EVENTS.potions202305, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndMay'), - previousDate: t('mayYYYY', { year: 2020 }), + previousDate: t('mayYYYY', { year: 2021 }), }), canBuy () { - return moment().isBefore(EVENTS.potions202105.end); + return moment().isBefore(EVENTS.potions202305.end); }, }, Floral: { value: 2, text: t('hatchingPotionFloral'), limited: true, - event: EVENTS.potions202205, + event: EVENTS.potions202305, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndMay'), - previousDate: t('mayYYYY', { year: 2021 }), + previousDate: t('mayYYYY', { year: 2022 }), }), canBuy () { - return moment().isBefore(EVENTS.potions202205.end); + return moment().isBefore(EVENTS.potions202305.end); }, }, Aquatic: { value: 2, text: t('hatchingPotionAquatic'), limited: true, - event: EVENTS.summer2022, + event: EVENTS.birthday10, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJuly'), - previousDate: t('augustYYYY', { year: 2020 }), + availableDate: t('dateStartFebruary'), + previousDate: t('julyYYYY', { year: 2022 }), }), canBuy () { - return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, Ember: { @@ -188,12 +193,12 @@ const premium = { text: t('hatchingPotionPeppermint'), limited: true, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJanuary'), - previousDate: t('januaryYYYY', { year: 2018 }), + availableDate: t('dateStartFebruary'), + previousDate: t('januaryYYYY', { year: 2022 }), }), - event: EVENTS.winter2022, + event: EVENTS.birthday10, canBuy () { - return moment().isBetween(EVENTS.winter2022.start, EVENTS.winter2022.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, StarryNight: { @@ -214,12 +219,12 @@ const premium = { text: t('hatchingPotionRainbow'), limited: true, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMarch'), - previousDate: t('marchYYYY', { year: 2019 }), + availableDate: t('dateEndApril'), + previousDate: t('marchYYYY', { year: 2021 }), }), - event: EVENTS.spring2021, + event: EVENTS.spring2023, canBuy () { - return moment().isBefore(EVENTS.spring2021.end); + return moment().isBefore(EVENTS.spring2023.end); }, }, Glass: { @@ -228,24 +233,24 @@ const premium = { limited: true, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndJuly'), - previousDate: t('juneYYYY', { year: 2019 }), + previousDate: t('juneYYYY', { year: 2021 }), }), - event: EVENTS.summer2021, + event: EVENTS.summer2023, canBuy () { - return moment().isBetween(EVENTS.summer2021.start, EVENTS.summer2021.end); + return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); }, }, Glow: { value: 2, text: t('hatchingPotionGlow'), limited: true, - event: EVENTS.fall2021, + event: EVENTS.birthday10, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndOctober'), - previousDate: t('septemberYYYY', { year: 2019 }), + availableDate: t('dateStartFebruary'), + previousDate: t('octoberYYYY', { year: 2021 }), }), canBuy () { - return moment().isBefore(EVENTS.fall2021.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, Frost: { @@ -278,21 +283,26 @@ const premium = { value: 2, text: t('hatchingPotionRoseQuartz'), limited: true, + event: EVENTS.potions202302, + _addlNotes: t('eventAvailabilityReturning', { + availableDate: t('dateEndFebruary'), + previousDate: t('februaryYYYY', { year: 2022 }), + }), canBuy () { - return moment().isBefore('2022-02-28T20:00-05:00'); + return moment().isBetween(EVENTS.potions202302.start, EVENTS.potions202302.end); }, }, Celestial: { value: 2, text: t('hatchingPotionCelestial'), limited: true, - event: EVENTS.spring2022, + event: EVENTS.birthday10, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMarch'), - previousDate: t('marchYYYY', { year: 2020 }), + availableDate: t('dateStartFebruary'), + previousDate: t('marchYYYY', { year: 2022 }), }), canBuy () { - return moment().isBefore(EVENTS.spring2022.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, Sunshine: { @@ -379,13 +389,13 @@ const premium = { value: 2, text: t('hatchingPotionBirchBark'), limited: true, - event: EVENTS.spring2021, + event: EVENTS.spring2023, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMarch'), - previousDate: t('marchYYYY', { year: 2020 }), + availableDate: t('dateEndApril'), + previousDate: t('marchYYYY', { year: 2021 }), }), canBuy () { - return moment().isBefore(EVENTS.spring2021.end); + return moment().isBefore(EVENTS.spring2023.end); }, }, Fluorite: { @@ -399,13 +409,13 @@ const premium = { value: 2, text: t('hatchingPotionSandSculpture'), limited: true, - event: EVENTS.summer2021, + event: EVENTS.summer2023, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndJuly'), - previousDate: t('juneYYYY', { year: 2020 }), + previousDate: t('januaryYYYY', { year: 2023 }), }), canBuy () { - return moment().isBetween(EVENTS.summer2021.start, EVENTS.summer2021.end); + return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); }, }, Windup: { @@ -426,26 +436,26 @@ const premium = { value: 2, text: t('hatchingPotionVampire'), limited: true, - event: EVENTS.fall2022, + event: EVENTS.birthday10, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndOctober'), - previousDate: t('octoberYYYY', { year: 2021 }), + availableDate: t('dateStartFebruary'), + previousDate: t('octoberYYYY', { year: 2022 }), }), canBuy () { - return moment().isBetween(EVENTS.fall2022.start, EVENTS.fall2022.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, AutumnLeaf: { value: 2, text: t('hatchingPotionAutumnLeaf'), limited: true, - event: EVENTS.potions202111, + event: EVENTS.birthday10, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndNovember'), - previousDate: t('novemberYYYY', { year: 2020 }), + availableDate: t('dateStartFebruary'), + previousDate: t('novemberYYYY', { year: 2021 }), }), canBuy () { - return moment().isBefore(EVENTS.potions202111.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, BlackPearl: { @@ -460,25 +470,25 @@ const premium = { text: t('hatchingPotionStainedGlass'), limited: true, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndJanuary'), - previousDate: t('januaryYYYY', { year: 2021 }), + availableDate: t('dateStartFebruary'), + previousDate: t('januaryYYYY', { year: 2022 }), }), - event: EVENTS.winter2022, + event: EVENTS.birthday10, canBuy () { - return moment().isBetween(EVENTS.winter2022.start, EVENTS.winter2022.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, PolkaDot: { value: 2, text: t('hatchingPotionPolkaDot'), limited: true, - event: EVENTS.spring2022, + event: EVENTS.spring2023, _addlNotes: t('eventAvailabilityReturning', { - availableDate: t('dateEndMarch'), - previousDate: t('marchYYYY', { year: 2021 }), + availableDate: t('dateEndApril'), + previousDate: t('marchYYYY', { year: 2022 }), }), canBuy () { - return moment().isBefore(EVENTS.spring2022.end); + return moment().isBefore(EVENTS.spring2023.end); }, }, MossyStone: { @@ -492,13 +502,13 @@ const premium = { value: 2, text: t('hatchingPotionSunset'), limited: true, - event: EVENTS.summer2022, + event: EVENTS.summer2023, _addlNotes: t('premiumPotionAddlNotes', { date: t('dateEndJuly'), - previousDate: t('julyYYYY', { year: 2021 }), + previousDate: t('julyYYYY', { year: 2022 }), }), canBuy () { - return moment().isBetween(EVENTS.summer2022.start, EVENTS.summer2022.end); + return moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end); }, }, Moonglow: { @@ -532,27 +542,35 @@ const premium = { value: 2, text: t('hatchingPotionPorcelain'), limited: true, - event: EVENTS.potions202208, - _addlNotes: t('premiumPotionAddlNotes', { - date: t('dateEndAugust'), + event: EVENTS.birthday10, + _addlNotes: t('eventAvailabilityReturning', { + availableDate: t('dateStartFebruary'), + previousDate: t('augustYYYY', { year: 2022 }), }), canBuy () { - return moment().isBetween(EVENTS.potions202208.start, EVENTS.potions202208.end); + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); }, }, + PinkMarble: { + value: 2, + text: t('hatchingPotionPinkMarble'), + limited: true, + canBuy: hasQuestAchievementFunction('pinkMarble'), + _addlNotes: t('premiumPotionUnlimitedNotes'), + }, }; const wacky = { Veggie: { text: t('hatchingPotionVeggie'), limited: true, - event: EVENTS.spring2022, + event: EVENTS.spring2023, _addlNotes: t('eventAvailabilityReturning', { availableDate: t('dateEndApril'), - previousDate: t('aprilYYYY', { year: 2021 }), + previousDate: t('aprilYYYY', { year: 2022 }), }), canBuy () { - return moment().isBetween('2022-04-07T08:00-05:00', EVENTS.spring2022.end); + return moment().isBetween('2023-04-06T08:00-04:00', EVENTS.spring2023.end); }, }, Dessert: { @@ -567,6 +585,17 @@ const wacky = { _addlNotes: t('premiumPotionUnlimitedNotes'), canBuy: hasQuestAchievementFunction('virtualpet'), }, + TeaShop: { + text: t('hatchingPotionTeaShop'), + limited: true, + event: EVENTS.spring2023, + _addlNotes: t('premiumPotionAddlNotes', { + date: t('dateEndApril'), + }), + canBuy () { + return moment().isBetween('2023-04-06T08:00-04:00', EVENTS.spring2023.end); + }, + }, }; each(drops, (pot, key) => { diff --git a/website/common/script/content/index.js b/website/common/script/content/index.js index e4be48f1d7..707f7ea72c 100644 --- a/website/common/script/content/index.js +++ b/website/common/script/content/index.js @@ -127,7 +127,7 @@ api.cardTypes = { nye: { key: 'nye', messageOptions: 5, - yearRound: moment().isBefore('2022-01-02T20:00-04:00'), + yearRound: moment().isBefore('2023-01-02T20:00-05:00'), }, thankyou: { key: 'thankyou', @@ -137,7 +137,7 @@ api.cardTypes = { valentine: { key: 'valentine', messageOptions: 4, - yearRound: moment().isBefore('2022-02-18T20:00-05:00'), + yearRound: moment().isBefore('2023-02-17T23:59-05:00'), }, birthday: { key: 'birthday', @@ -203,7 +203,7 @@ api.specialMounts = stable.specialMounts; api.mountInfo = stable.mountInfo; // For seasonal events, change this constant: -const FOOD_SEASON = moment().isBefore('2022-02-02T20:00-05:00') ? 'Cake' : 'Normal'; +const FOOD_SEASON = moment().isBefore('2023-03-15T12:00-05:00') ? 'Pie' : 'Normal'; api.food = { Meat: { diff --git a/website/common/script/content/quests/potions.js b/website/common/script/content/quests/potions.js index 0b615f46a4..2aca7126ad 100644 --- a/website/common/script/content/quests/potions.js +++ b/website/common/script/content/quests/potions.js @@ -170,6 +170,45 @@ const QUEST_POTIONS = { unlock: t('questOnyxUnlockText'), }, }, + pinkMarble: { + text: t('questPinkMarbleText'), + notes: t('questPinkMarbleNotes'), + completion: t('questPinkMarbleCompletion'), + value: 4, + category: 'hatchingPotion', + boss: { + name: t('questPinkMarbleBoss'), + hp: 1200, + str: 2, + rage: { + title: t('questPinkMarbleRageTitle'), + description: t('questPinkMarbleRageDescription'), + value: 50, + progressDrain: 0.5, + effect: t('questPinkMarbleRageEffect'), + }, + }, + drop: { + items: [ + { + type: 'hatchingPotions', + key: 'PinkMarble', + text: t('questPinkMarbleDropPinkMarblePotion'), + }, { + type: 'hatchingPotions', + key: 'PinkMarble', + text: t('questPinkMarbleDropPinkMarblePotion'), + }, { + type: 'hatchingPotions', + key: 'PinkMarble', + text: t('questPinkMarbleDropPinkMarblePotion'), + }, + ], + gp: 75, + exp: 800, + unlock: t('questPinkMarbleUnlockText'), + }, + }, ruby: { text: t('questRubyText'), notes: t('questRubyNotes'), diff --git a/website/common/script/content/quests/seasonal.js b/website/common/script/content/quests/seasonal.js index 14116db688..d4a9a55307 100644 --- a/website/common/script/content/quests/seasonal.js +++ b/website/common/script/content/quests/seasonal.js @@ -74,7 +74,7 @@ const QUEST_SEASONAL = { egg: { event: CURRENT_EVENT && CURRENT_EVENT.season === 'spring' ? CURRENT_EVENT : null, canBuy () { - return this.event && moment().isBetween(this.event.start, this.event.end); + return this.event && moment().isBetween('2023-03-28T08:00-05:00', this.event.end); }, text: t('questEggHuntText'), notes: t('questEggHuntNotes'), diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js index 44ae32f7f7..965ce7e987 100644 --- a/website/common/script/content/shop-featuredItems.js +++ b/website/common/script/content/shop-featuredItems.js @@ -5,7 +5,7 @@ import { EVENTS } from './constants'; // path: 'premiumHatchingPotions.Rainbow', const featuredItems = { market () { - if (moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end)) { + if (moment().isBetween(EVENTS.summer2023.start, EVENTS.summer2023.end)) { return [ { type: 'armoire', @@ -13,15 +13,15 @@ const featuredItems = { }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.StarryNight', + path: 'premiumHatchingPotions.Sunset', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Holly', + path: 'premiumHatchingPotions.Glass', }, { type: 'premiumHatchingPotion', - path: 'premiumHatchingPotions.Aurora', + path: 'premiumHatchingPotions.SandSculpture', }, ]; } @@ -32,51 +32,68 @@ const featuredItems = { }, { type: 'food', - path: 'food.RottenMeat', + path: 'food.Honey', }, { type: 'hatchingPotions', - path: 'hatchingPotions.CottonCandyBlue', + path: 'hatchingPotions.Golden', }, { type: 'eggs', - path: 'eggs.FlyingPig', + path: 'eggs.Dragon', }, ]; }, quests () { - if (moment().isBetween(EVENTS.winter2023.start, EVENTS.winter2023.end)) { + if (moment().isBetween(EVENTS.bundle202306.start, EVENTS.bundle202306.end)) { return [ { type: 'bundles', - path: 'bundles.winterQuests', + path: 'bundles.splashyPals', }, { type: 'quests', - path: 'quests.whale', + path: 'quests.harpy', }, { type: 'quests', - path: 'quests.turtle', + path: 'quests.owl', }, ]; } + if (moment().isBetween('2023-03-28T08:00-05:00', EVENTS.spring2023.end)) { + return [ + { + type: 'quests', + path: 'quests.egg', + }, + { + type: 'quests', + path: 'quests.yarn', + }, + { + type: 'quests', + path: 'quests.ghost_stag', + }, + ]; + } + return [ { type: 'quests', - path: 'quests.slime', + path: 'quests.rat', }, { type: 'quests', - path: 'quests.seaserpent', + path: 'quests.kraken', }, { type: 'quests', - path: 'quests.unicorn', + path: 'quests.nudibranch', }, ]; }, - seasonal: 'winter2022Healer', + seasonal: 'summer2022MantaRayMageSet', timeTravelers: [ // TODO ], diff --git a/website/common/script/content/spells.js b/website/common/script/content/spells.js index 2be4768dd1..2b201c2c7b 100644 --- a/website/common/script/content/spells.js +++ b/website/common/script/content/spells.js @@ -77,13 +77,11 @@ spells.wizard = { lvl: 12, target: 'party', notes: t('spellWizardMPHealNotes'), - cast (user, target) { - each(target, member => { - const bonus = statsComputed(user).int; - if (user._id !== member._id && member.stats.class !== 'wizard') { - member.stats.mp += Math.ceil(diminishingReturns(bonus, 25, 125)); - } - }); + bulk: true, + cast (user, data) { + const bonus = statsComputed(user).int; + data.query['stats.class'] = { $ne: 'wizard' }; + data.update = { $inc: { 'stats.mp': Math.ceil(diminishingReturns(bonus, 25, 125)) } }; }, }, earth: { // Earthquake @@ -92,12 +90,10 @@ spells.wizard = { lvl: 13, target: 'party', notes: t('spellWizardEarthNotes'), - cast (user, target) { - each(target, member => { - const bonus = statsComputed(user).int - user.stats.buffs.int; - if (!member.stats.buffs.int) member.stats.buffs.int = 0; - member.stats.buffs.int += Math.ceil(diminishingReturns(bonus, 30, 200)); - }); + bulk: true, + cast (user, data) { + const bonus = statsComputed(user).int - user.stats.buffs.int; + data.update = { $inc: { 'stats.buffs.int': Math.ceil(diminishingReturns(bonus, 30, 200)) } }; }, }, frost: { // Chilling Frost @@ -147,12 +143,10 @@ spells.warrior = { lvl: 13, target: 'party', notes: t('spellWarriorValorousPresenceNotes'), - cast (user, target) { - each(target, member => { - const bonus = statsComputed(user).str - user.stats.buffs.str; - if (!member.stats.buffs.str) member.stats.buffs.str = 0; - member.stats.buffs.str += Math.ceil(diminishingReturns(bonus, 20, 200)); - }); + bulk: true, + cast (user, data) { + const bonus = statsComputed(user).str - user.stats.buffs.str; + data.update = { $inc: { 'stats.buffs.str': Math.ceil(diminishingReturns(bonus, 20, 200)) } }; }, }, intimidate: { // Intimidating Gaze @@ -161,12 +155,10 @@ spells.warrior = { lvl: 14, target: 'party', notes: t('spellWarriorIntimidateNotes'), - cast (user, target) { - each(target, member => { - const bonus = statsComputed(user).con - user.stats.buffs.con; - if (!member.stats.buffs.con) member.stats.buffs.con = 0; - member.stats.buffs.con += Math.ceil(diminishingReturns(bonus, 24, 200)); - }); + bulk: true, + cast (user, data) { + const bonus = statsComputed(user).con - user.stats.buffs.con; + data.update = { $inc: { 'stats.buffs.con': Math.ceil(diminishingReturns(bonus, 24, 200)) } }; }, }, }; @@ -203,12 +195,10 @@ spells.rogue = { lvl: 13, target: 'party', notes: t('spellRogueToolsOfTradeNotes'), - cast (user, target) { - each(target, member => { - const bonus = statsComputed(user).per - user.stats.buffs.per; - if (!member.stats.buffs.per) member.stats.buffs.per = 0; - member.stats.buffs.per += Math.ceil(diminishingReturns(bonus, 100, 50)); - }); + bulk: true, + cast (user, data) { + const bonus = statsComputed(user).per - user.stats.buffs.per; + data.update = { $inc: { 'stats.buffs.per': Math.ceil(diminishingReturns(bonus, 100, 50)) } }; }, }, stealth: { // Stealth @@ -257,12 +247,10 @@ spells.healer = { lvl: 13, target: 'party', notes: t('spellHealerProtectAuraNotes'), - cast (user, target) { - each(target, member => { - const bonus = statsComputed(user).con - user.stats.buffs.con; - if (!member.stats.buffs.con) member.stats.buffs.con = 0; - member.stats.buffs.con += Math.ceil(diminishingReturns(bonus, 200, 200)); - }); + bulk: true, + cast (user, data) { + const bonus = statsComputed(user).con - user.stats.buffs.con; + data.update = { $inc: { 'stats.buffs.con': Math.ceil(diminishingReturns(bonus, 200, 200)) } }; }, }, healAll: { // Blessing @@ -360,9 +348,9 @@ spells.special = { previousPurchase: true, target: 'user', notes: t('spellSpecialShinySeedNotes'), - event: EVENTS.spring2022, + event: EVENTS.spring2023, canOwn () { - return moment().isBetween('2022-04-14T08:00-05:00', EVENTS.spring2022.end); + return moment().isBetween('2023-04-18T08:00-05:00', EVENTS.spring2023.end); }, cast (user, target, req) { if (!user.items.special.shinySeed) throw new NotAuthorized(t('spellNotOwned')(req.language)); @@ -398,7 +386,7 @@ spells.special = { target: 'user', notes: t('spellSpecialSeafoamNotes'), canOwn () { - return moment().isBetween('2022-07-12T08:00-04:00', EVENTS.summer2022.end); + return moment().isBetween('2023-07-11T08:00-04:00', EVENTS.summer2023.end); }, cast (user, target, req) { if (!user.items.special.seafoam) throw new NotAuthorized(t('spellNotOwned')(req.language)); @@ -475,7 +463,7 @@ spells.special = { target: 'user', notes: t('valentineCardNotes'), canOwn () { - return false; + return moment().isBetween('2023-02-13T08:00-05:00', '2023-02-17T23:59-05:00'); }, cast (user, target) { if (user === target) { diff --git a/website/common/script/content/stable.js b/website/common/script/content/stable.js index 9119cfca23..457ecd60ee 100644 --- a/website/common/script/content/stable.js +++ b/website/common/script/content/stable.js @@ -1,4 +1,6 @@ import each from 'lodash/each'; +import moment from 'moment'; +import { EVENTS } from './constants/events'; import { drops as dropEggs, quests as questEggs, @@ -118,6 +120,9 @@ const canFindSpecial = { 'Jackalope-RoyalPurple': true, // subscription 'Wolf-Cerberus': false, // Pet once granted to backers 'Gryphon-Gryphatrice': false, // Pet once granted to kickstarter + + // Birthday Pet + 'Gryphatrice-Jubilant': false, }, mounts: { // Thanksgiving pet ladder @@ -174,6 +179,7 @@ const specialPets = { 'Fox-Veteran': 'veteranFox', 'JackOLantern-Glow': 'glowJackolantern', 'Gryphon-Gryphatrice': 'gryphatrice', + 'Gryphatrice-Jubilant': 'jubilantGryphatrice', 'JackOLantern-RoyalPurple': 'royalPurpleJackolantern', }; @@ -207,6 +213,16 @@ each(specialPets, (translationString, key) => { }; }); +Object.assign(petInfo['Gryphatrice-Jubilant'], { + canBuy () { + return moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end); + }, + currency: 'gems', + event: 'birthday10', + value: 60, + purchaseType: 'pets', +}); + each(specialMounts, (translationString, key) => { mountInfo[key] = { key, diff --git a/website/common/script/cron.js b/website/common/script/cron.js index bbe115a5c5..5b827240af 100644 --- a/website/common/script/cron.js +++ b/website/common/script/cron.js @@ -292,7 +292,7 @@ export function getPlanContext (user, now) { if (planMonths > 1) { monthsTillNextHourglass = plan.consecutive.offset + 1; } else { - monthsTillNextHourglass = 3 - (plan.consecutive.count % 3); + monthsTillNextHourglass = 3 - plan.perkMonthCount; } const possibleNextHourglassDate = moment(plan.dateUpdated) diff --git a/website/common/script/errors/apiErrorMessages.js b/website/common/script/errors/apiErrorMessages.js index 531d7e8a04..6e0eae6ce9 100644 --- a/website/common/script/errors/apiErrorMessages.js +++ b/website/common/script/errors/apiErrorMessages.js @@ -18,6 +18,7 @@ export default { groupRemainOrLeaveChallenges: 'req.query.keep must be either "remain-in-challenges" or "leave-challenges"', managerIdRequired: 'req.body.managerId must contain a User ID.', noPrivAccess: 'You don\'t have the required privileges.', + notPartyLeader: 'You are not the leader of a Party.', eventRequired: '"req.params.event" is required.', countRequired: '"req.query.count" is required.', diff --git a/website/common/script/errors/commonErrorMessages.js b/website/common/script/errors/commonErrorMessages.js index b71b37c5b4..d434faa4a8 100644 --- a/website/common/script/errors/commonErrorMessages.js +++ b/website/common/script/errors/commonErrorMessages.js @@ -7,6 +7,7 @@ export default { missingTypeParam: '"req.params.type" is required.', missingKeyParam: '"req.params.key" is required.', itemNotFound: 'Item "<%= key %>" not found.', + petNotFound: 'Pet "<%= key %>" not found.', questNotFound: 'Quest "<%= key %>" not found.', spellNotFound: 'Skill "<%= spellId %>" not found.', invalidQuantity: 'Quantity to purchase must be a positive whole number.', diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js index 79aecd4c2f..d28155e6e5 100644 --- a/website/common/script/libs/achievements.js +++ b/website/common/script/libs/achievements.js @@ -221,6 +221,8 @@ function _getBasicAchievements (user, language) { _addSimple(result, user, { path: 'woodlandWizard', language }); _addSimple(result, user, { path: 'boneToPick', language }); _addSimple(result, user, { path: 'polarPro', language }); + _addSimple(result, user, { path: 'plantParent', language }); + _addSimple(result, user, { path: 'dinosaurDynasty', language }); _addSimpleWithMasterCount(result, user, { path: 'beastMaster', language }); _addSimpleWithMasterCount(result, user, { path: 'mountMaster', language }); diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js index fc6c64fde3..b5f60177bb 100644 --- a/website/common/script/libs/shops-seasonal.config.js +++ b/website/common/script/libs/shops-seasonal.config.js @@ -7,47 +7,44 @@ import { } from '../content/constants'; const CURRENT_EVENT = find( - EVENTS, event => moment().isBetween(event.start, event.end) && Boolean(event.season), + EVENTS, event => moment().isBetween(event.start, event.end) + && ['winter', 'spring', 'summer', 'fall'].includes(event.season), ); -const SHOP_OPEN = CURRENT_EVENT && ['winter', 'spring', 'summer', 'fall'].includes(CURRENT_EVENT.season); - export default { - opened: SHOP_OPEN, + opened: CURRENT_EVENT, - currentSeason: SHOP_OPEN ? upperFirst(CURRENT_EVENT.season) : 'Closed', + currentSeason: CURRENT_EVENT ? upperFirst(CURRENT_EVENT.season) : 'Closed', dateRange: { start: CURRENT_EVENT ? moment(CURRENT_EVENT.start) : moment().subtract(1, 'days').toDate(), end: CURRENT_EVENT ? moment(CURRENT_EVENT.end) : moment().subtract(1, 'seconds').toDate(), }, - availableSets: SHOP_OPEN + availableSets: CURRENT_EVENT ? [ ...SEASONAL_SETS[CURRENT_EVENT.season], ] : [], - pinnedSets: SHOP_OPEN + pinnedSets: CURRENT_EVENT ? { - rogue: 'winter2023RibbonRogueSet', - warrior: 'winter2023WalrusWarriorSet', - wizard: 'winter2023FairyLightsMageSet', - healer: 'winter2023CardinalHealerSet', + rogue: 'summer2023GuppyRogueSet', + warrior: 'summer2023GoldfishWarriorSet', + wizard: 'summer2023CoralMageSet', + healer: 'summer2023KelpHealerSet', } : {}, - availableSpells: SHOP_OPEN && moment().isBetween('2022-12-27T08:00-05:00', CURRENT_EVENT.end) + + availableSpells: CURRENT_EVENT && moment().isBetween('2023-07-11T08:00-04:00', CURRENT_EVENT.end) ? [ - 'snowball', + 'seafoam', ] : [], - availableQuests: SHOP_OPEN && CURRENT_EVENT.season === 'winter' - ? [ - 'evilsanta', - 'evilsanta2', - ] + availableQuests: CURRENT_EVENT && moment().isBetween('2023-07-11T08:00-04:00', CURRENT_EVENT.end) + ? [] : [], - featuredSet: 'winter2022PomegranateMageSet', + featuredSet: 'summer2022MantaRayMageSet', }; diff --git a/website/common/script/ops/buy/buy.js b/website/common/script/ops/buy/buy.js index 07a0ab10e6..f5a0920320 100644 --- a/website/common/script/ops/buy/buy.js +++ b/website/common/script/ops/buy/buy.js @@ -13,6 +13,7 @@ import hourglassPurchase from './hourglassPurchase'; import errorMessage from '../../libs/errorMessage'; import { BuyGemOperation } from './buyGem'; import { BuyQuestWithGemOperation } from './buyQuestGem'; +import { BuyPetWithGemOperation } from './buyPetGem'; import { BuyHourglassMountOperation } from './buyMount'; // @TODO: remove the req option style. Dependency on express structure is an anti-pattern @@ -86,7 +87,12 @@ export default async function buy ( break; } case 'pets': - buyRes = hourglassPurchase(user, req, analytics); + if (key === 'Gryphatrice-Jubilant') { + const buyOp = new BuyPetWithGemOperation(user, req, analytics); + buyRes = await buyOp.purchase(); + } else { + buyRes = hourglassPurchase(user, req, analytics); + } break; case 'quest': { const buyOp = new BuyQuestWithGoldOperation(user, req, analytics); diff --git a/website/common/script/ops/buy/buyPetGem.js b/website/common/script/ops/buy/buyPetGem.js new file mode 100644 index 0000000000..fb1b52d822 --- /dev/null +++ b/website/common/script/ops/buy/buyPetGem.js @@ -0,0 +1,61 @@ +import get from 'lodash/get'; +import { + BadRequest, + NotFound, +} from '../../libs/errors'; +import content from '../../content/index'; + +import errorMessage from '../../libs/errorMessage'; +import { AbstractGemItemOperation } from './abstractBuyOperation'; + +export class BuyPetWithGemOperation extends AbstractGemItemOperation { // eslint-disable-line import/prefer-default-export, max-len + multiplePurchaseAllowed () { // eslint-disable-line class-methods-use-this + return false; + } + + getItemKey () { + return this.key; + } + + getItemValue (item) { // eslint-disable-line class-methods-use-this + return item.value / 4; + } + + getItemType () { // eslint-disable-line class-methods-use-this + return 'pet'; + } + + extractAndValidateParams (user, req) { + this.key = get(req, 'params.key'); + const { key } = this; + if (!key) throw new BadRequest(errorMessage('missingKeyParam')); + + const item = content.petInfo[key]; + + if (!item) throw new NotFound(errorMessage('petNotFound', { key })); + + this.canUserPurchase(user, item); + } + + canUserPurchase (user, item) { + if (item && user.items.pets[item.key]) { + throw new BadRequest(this.i18n('petsAlreadyOwned')); + } + + super.canUserPurchase(user, item); + } + + async executeChanges (user, item, req) { + user.items.pets[item.key] = 5; + if (user.markModified) user.markModified('items.pets'); + + await this.subtractCurrency(user, item); + + return [ + user.items.pets, + this.i18n('messageBought', { + itemText: item.text(req.language), + }), + ]; + } +} diff --git a/website/common/script/ops/unlock.js b/website/common/script/ops/unlock.js index 8ab2711135..342c9dc7a9 100644 --- a/website/common/script/ops/unlock.js +++ b/website/common/script/ops/unlock.js @@ -251,9 +251,10 @@ export default async function unlock (user, req = {}, analytics) { return invalidSet(req); } - cost = getIndividualItemPrice(setType, item, req); - unlockedAlready = alreadyUnlocked(user, setType, firstPath); + if (!unlockedAlready) { + cost = getIndividualItemPrice(setType, item, req); + } // Since only an item is being unlocked here, // remove all the other items from the set diff --git a/website/server/controllers/api-v3/chat.js b/website/server/controllers/api-v3/chat.js index 72df0f719d..c3922bb843 100644 --- a/website/server/controllers/api-v3/chat.js +++ b/website/server/controllers/api-v3/chat.js @@ -282,6 +282,8 @@ api.postChat = { analyticsObject.groupName = group.name; } + res.analytics.track('group chat', analyticsObject); + if (chatUpdated) { res.respond(200, { chat: chatRes.chat }); } else { diff --git a/website/server/controllers/api-v3/groups.js b/website/server/controllers/api-v3/groups.js index c16ba61c7e..85ce52edae 100644 --- a/website/server/controllers/api-v3/groups.js +++ b/website/server/controllers/api-v3/groups.js @@ -1,5 +1,6 @@ import _ from 'lodash'; import nconf from 'nconf'; +import moment from 'moment'; import { authWithHeaders } from '../../middlewares/auth'; import { model as Group, @@ -165,6 +166,7 @@ api.createGroup = { hitType: 'event', category: 'behavior', owner: true, + groupId: savedGroup._id, groupType: savedGroup.type, privacy: savedGroup.privacy, headers: req.headers, @@ -214,6 +216,7 @@ api.createGroupPlan = { hitType: 'event', category: 'behavior', owner: true, + groupId: savedGroup._id, groupType: savedGroup.type, privacy: savedGroup.privacy, headers: req.headers, @@ -717,6 +720,25 @@ api.joinGroup = { } } + const analyticsObject = { + uuid: user._id, + hitType: 'event', + category: 'behavior', + owner: false, + groupId: group._id, + groupType: group.type, + privacy: group.privacy, + headers: req.headers, + invited: isUserInvited, + }; + if (group.type === 'party') { + analyticsObject.seekingParty = Boolean(user.party.seeking); + } + if (group.privacy === 'public') { + analyticsObject.groupName = group.name; + } + user.party.seeking = undefined; + if (inviter) promises.push(inviter.save()); promises = await Promise.all(promises); @@ -731,21 +753,6 @@ api.joinGroup = { response.leader = leader.toJSON({ minimize: true }); } - const analyticsObject = { - uuid: user._id, - hitType: 'event', - category: 'behavior', - owner: false, - groupType: group.type, - privacy: group.privacy, - headers: req.headers, - invited: isUserInvited, - }; - - if (group.privacy === 'public') { - analyticsObject.groupName = group.name; - } - res.analytics.track('join group', analyticsObject); res.respond(200, response); @@ -1201,16 +1208,6 @@ api.inviteToGroup = { results.push(...usernameResults); } - const analyticsObject = { - uuid: user._id, - hitType: 'event', - category: 'behavior', - groupType: group.type, - headers: req.headers, - }; - - res.analytics.track('group invite', analyticsObject); - res.respond(200, results); }, }; @@ -1358,4 +1355,88 @@ api.getGroupPlans = { }, }; +/** + * @api {get} /api/v3/looking-for-party Get users in search of parties + * @apiName GetLookingForParty + * @apiGroup Group + * + * @apiParam (Query) {Number} [page] Page number, defaults to 0 + * + * @apiSuccess {Object[]} data An array of users looking for a party + * + * @apiError (400) {BadRequest} notPartyLeader You are not the leader of a Party. + */ +api.getLookingForParty = { + method: 'GET', + url: '/looking-for-party', + middlewares: [authWithHeaders()], + async handler (req, res) { + const USERS_PER_PAGE = 30; + const { user } = res.locals; + + req.checkQuery('page').optional().isInt({ min: 0 }, apiError('queryPageInteger')); + const PAGE = req.query.page || 0; + const PAGE_START = USERS_PER_PAGE * PAGE; + + const partyLed = await Group + .findOne({ + type: 'party', + leader: user._id, + }) + .select('_id') + .exec(); + + if (!partyLed) { + throw new BadRequest(apiError('notPartyLeader')); + } + + const seekers = await User + .find({ + 'party.seeking': { $exists: true }, + 'auth.timestamps.loggedin': { + $gt: moment().subtract(7, 'days').toDate(), + }, + }) + // eslint-disable-next-line no-multi-str + .select('_id auth.blocked auth.local.username auth.timestamps backer contributor.level \ + flags.chatRevoked flags.classSelected inbox.blocks invitations.party items.gear.costume \ + items.gear.equipped loginIncentives party._id preferences.background preferences.chair \ + preferences.costume preferences.hair preferences.shirt preferences.size preferences.skin \ + preferences.language profile.name stats.buffs stats.class stats.lvl') + .sort('-auth.timestamps.loggedin') + .exec(); + + const filteredSeekers = seekers.filter(seeker => { + if (seeker.party._id) return false; + if (seeker.invitations.party.id) return false; + if (seeker.flags.chatRevoked) return false; + if (seeker.auth.blocked) return false; + if (seeker.inbox.blocks.indexOf(user._id) !== -1) return false; + if (user.inbox.blocks.indexOf(seeker._id) !== -1) return false; + return true; + }).slice(PAGE_START, PAGE_START + USERS_PER_PAGE); + + const cleanedSeekers = filteredSeekers.map(seeker => ({ + _id: seeker._id, + auth: { + local: { + username: seeker.auth.local.username, + }, + timestamps: seeker.auth.timestamps, + }, + backer: seeker.backer, + contributor: seeker.contributor, + flags: seeker.flags, + invited: false, + items: seeker.items, + loginIncentives: seeker.loginIncentives, + preferences: seeker.preferences, + profile: seeker.profile, + stats: seeker.stats, + })); + + res.respond(200, cleanedSeekers); + }, +}; + export default api; diff --git a/website/server/controllers/api-v3/hall.js b/website/server/controllers/api-v3/hall.js index ba9310bef8..d8f5a086e8 100644 --- a/website/server/controllers/api-v3/hall.js +++ b/website/server/controllers/api-v3/hall.js @@ -277,6 +277,9 @@ api.updateHero = { if (updateData.purchased.plan.gemsBought) { hero.purchased.plan.gemsBought = updateData.purchased.plan.gemsBought; } + if (updateData.purchased.plan.perkMonthCount) { + hero.purchased.plan.perkMonthCount = updateData.purchased.plan.perkMonthCount; + } if (updateData.purchased.plan.consecutive) { if (updateData.purchased.plan.consecutive.trinkets) { const changedHourglassTrinkets = updateData.purchased.plan.consecutive.trinkets diff --git a/website/server/controllers/api-v3/quests.js b/website/server/controllers/api-v3/quests.js index 16fc0b8af1..2e073fa4ff 100644 --- a/website/server/controllers/api-v3/quests.js +++ b/website/server/controllers/api-v3/quests.js @@ -93,7 +93,7 @@ api.inviteToQuest = { user.party.quest.RSVPNeeded = false; user.party.quest.key = questKey; - await User.update({ + await User.updateMany({ 'party._id': group._id, _id: { $ne: user._id }, }, { @@ -101,7 +101,7 @@ api.inviteToQuest = { 'party.quest.RSVPNeeded': true, 'party.quest.key': questKey, }, - }, { multi: true }).exec(); + }).exec(); _.each(members, member => { group.quest.members[member._id] = null; @@ -409,10 +409,9 @@ api.cancelQuest = { const [savedGroup] = await Promise.all([ group.save(), newChatMessage.save(), - User.update( + User.updateMany( { 'party._id': groupId }, Group.cleanQuestParty(), - { multi: true }, ).exec(), ]); @@ -467,12 +466,11 @@ api.abortQuest = { }); await newChatMessage.save(); - const memberUpdates = User.update({ + const memberUpdates = User.updateMany({ 'party._id': groupId, - }, Group.cleanQuestParty(), - { multi: true }).exec(); + }, Group.cleanQuestParty()).exec(); - const questLeaderUpdate = User.update({ + const questLeaderUpdate = User.updateOne({ _id: group.quest.leader, }, { $inc: { diff --git a/website/server/controllers/api-v3/tags.js b/website/server/controllers/api-v3/tags.js index 2c38ed5a5f..05ea250de6 100644 --- a/website/server/controllers/api-v3/tags.js +++ b/website/server/controllers/api-v3/tags.js @@ -227,7 +227,7 @@ api.deleteTag = { const tagFound = find(user.tags, tag => tag.id === req.params.tagId); if (!tagFound) throw new NotFound(res.t('tagNotFound')); - await user.update({ + await user.updateOne({ $pull: { tags: { id: tagFound.id } }, }).exec(); @@ -237,13 +237,13 @@ api.deleteTag = { user._v += 1; // Remove from all the tasks TODO test - await Tasks.Task.update({ + await Tasks.Task.updateMany({ userId: user._id, }, { $pull: { tags: tagFound.id, }, - }, { multi: true }).exec(); + }).exec(); res.respond(200, {}); }, diff --git a/website/server/controllers/api-v3/tasks.js b/website/server/controllers/api-v3/tasks.js index c937f5efb0..2745d10884 100644 --- a/website/server/controllers/api-v3/tasks.js +++ b/website/server/controllers/api-v3/tasks.js @@ -840,7 +840,7 @@ api.moveTask = { // Cannot send $pull and $push on same field in one single op const pullQuery = { $pull: {} }; pullQuery.$pull[`tasksOrder.${task.type}s`] = task.id; - await owner.update(pullQuery).exec(); + await owner.updateOne(pullQuery).exec(); let position = to; if (to === -1) position = order.length - 1; // push to bottom @@ -850,7 +850,7 @@ api.moveTask = { $each: [task._id], $position: position, }; - await owner.update(updateQuery).exec(); + await owner.updateOne(updateQuery).exec(); // Update the user version field manually, // it cannot be updated in the pre update hook @@ -1434,7 +1434,7 @@ api.deleteTask = { const pullQuery = { $pull: {} }; pullQuery.$pull[`tasksOrder.${task.type}s`] = task._id; - const taskOrderUpdate = (challenge || user).update(pullQuery).exec(); + const taskOrderUpdate = (challenge || user).updateOne(pullQuery).exec(); // Update the user version field manually, // it cannot be updated in the pre update hook diff --git a/website/server/controllers/api-v3/tasks/groups.js b/website/server/controllers/api-v3/tasks/groups.js index 963fcdbf91..1945ce2dc1 100644 --- a/website/server/controllers/api-v3/tasks/groups.js +++ b/website/server/controllers/api-v3/tasks/groups.js @@ -68,6 +68,7 @@ api.createGroupTasks = { category: 'behavior', taskType: task.type, groupID: group._id, + headers: req.headers, }); }); }, @@ -255,6 +256,7 @@ api.assignTask = { category: 'behavior', taskType: task.type, groupID: group._id, + headers: req.headers, }); }, }; diff --git a/website/server/controllers/api-v3/user.js b/website/server/controllers/api-v3/user.js index e81b171f5c..c26a0802eb 100644 --- a/website/server/controllers/api-v3/user.js +++ b/website/server/controllers/api-v3/user.js @@ -23,6 +23,7 @@ import { import * as inboxLib from '../../libs/inbox'; import * as userLib from '../../libs/user'; +const OFFICIAL_PLATFORMS = ['habitica-web', 'habitica-ios', 'habitica-android']; const TECH_ASSISTANCE_EMAIL = nconf.get('EMAILS_TECH_ASSISTANCE_EMAIL'); const DELETE_CONFIRMATION = 'DELETE'; @@ -494,6 +495,9 @@ api.buy = { let quantity = 1; if (req.body.quantity) quantity = req.body.quantity; req.quantity = quantity; + if (OFFICIAL_PLATFORMS.indexOf(req.headers['x-client']) === -1) { + res.analytics = undefined; + } const buyRes = await common.ops.buy(user, req, res.analytics); await user.save(); @@ -584,6 +588,9 @@ api.buyArmoire = { const { user } = res.locals; req.type = 'armoire'; req.params.key = 'armoire'; + if (OFFICIAL_PLATFORMS.indexOf(req.headers['x-client']) === -1) { + res.analytics = undefined; + } const buyArmoireResponse = await common.ops.buy(user, req, res.analytics); await user.save(); res.respond(200, ...buyArmoireResponse); @@ -975,7 +982,7 @@ api.disableClasses = { * @apiGroup User * * @apiParam (Path) {String="gems","eggs","hatchingPotions","premiumHatchingPotions" - ,"food","quests","gear"} type Type of item to purchase. + ,"food","quests","gear","pets"} type Type of item to purchase. * @apiParam (Path) {String} key Item's key (use "gem" for purchasing gems) * * @apiParam (Body) {Integer} [quantity=1] Count of items to buy. diff --git a/website/server/controllers/top-level/payments/amazon.js b/website/server/controllers/top-level/payments/amazon.js index 4371400161..8aa231d684 100644 --- a/website/server/controllers/top-level/payments/amazon.js +++ b/website/server/controllers/top-level/payments/amazon.js @@ -75,12 +75,14 @@ api.checkout = { middlewares: [authWithHeaders()], async handler (req, res) { const { user } = res.locals; - const { orderReferenceId, gift, gemsBlock } = req.body; + const { + orderReferenceId, gift, gemsBlock, sku, + } = req.body; if (!orderReferenceId) throw new BadRequest('Missing req.body.orderReferenceId'); await amzLib.checkout({ - gemsBlock, gift, user, orderReferenceId, headers: req.headers, + gemsBlock, gift, sku, user, orderReferenceId, headers: req.headers, }); res.respond(200); diff --git a/website/server/controllers/top-level/payments/iap.js b/website/server/controllers/top-level/payments/iap.js index 00ccb31642..9cf0f99967 100644 --- a/website/server/controllers/top-level/payments/iap.js +++ b/website/server/controllers/top-level/payments/iap.js @@ -23,7 +23,7 @@ api.iapAndroidVerify = { middlewares: [authWithHeaders()], async handler (req, res) { if (!req.body.transaction) throw new BadRequest(res.t('missingReceipt')); - const googleRes = await googlePayments.verifyGemPurchase({ + const googleRes = await googlePayments.verifyPurchase({ user: res.locals.user, receipt: req.body.transaction.receipt, signature: req.body.transaction.signature, @@ -120,7 +120,7 @@ api.iapiOSVerify = { middlewares: [authWithHeaders()], async handler (req, res) { if (!req.body.transaction) throw new BadRequest(res.t('missingReceipt')); - const appleRes = await applePayments.verifyGemPurchase({ + const appleRes = await applePayments.verifyPurchase({ user: res.locals.user, receipt: req.body.transaction.receipt, gift: req.body.gift, @@ -144,7 +144,7 @@ api.iapSubscriptioniOS = { if (!req.body.sku) throw new BadRequest(res.t('missingSubscriptionCode')); if (!req.body.receipt) throw new BadRequest(res.t('missingReceipt')); - await applePayments.subscribe(req.body.sku, res.locals.user, req.body.receipt, req.headers); + await applePayments.subscribe(res.locals.user, req.body.receipt, req.headers); res.respond(200); }, diff --git a/website/server/controllers/top-level/payments/paypal.js b/website/server/controllers/top-level/payments/paypal.js index 1432ceea90..05d35b3f20 100644 --- a/website/server/controllers/top-level/payments/paypal.js +++ b/website/server/controllers/top-level/payments/paypal.js @@ -27,10 +27,13 @@ api.checkout = { const gift = req.query.gift ? JSON.parse(req.query.gift) : undefined; req.session.gift = req.query.gift; - const { gemsBlock } = req.query; + const { gemsBlock, sku } = req.query; req.session.gemsBlock = gemsBlock; + req.session.sku = sku; - const link = await paypalPayments.checkout({ gift, gemsBlock, user: res.locals.user }); + const link = await paypalPayments.checkout({ + gift, gemsBlock, sku, user: res.locals.user, + }); if (req.query.noRedirect) { res.respond(200); @@ -56,14 +59,15 @@ api.checkoutSuccess = { const { user } = res.locals; const gift = req.session.gift ? JSON.parse(req.session.gift) : undefined; delete req.session.gift; - const { gemsBlock } = req.session; + const { gemsBlock, sku } = req.session; delete req.session.gemsBlock; + delete req.session.sku; if (!paymentId) throw new BadRequest(apiError('missingPaymentId')); if (!customerId) throw new BadRequest(apiError('missingCustomerId')); await paypalPayments.checkoutSuccess({ - user, gemsBlock, gift, paymentId, customerId, headers: req.headers, + user, gemsBlock, gift, paymentId, customerId, headers: req.headers, sku, }); if (req.query.noRedirect) { diff --git a/website/server/controllers/top-level/payments/stripe.js b/website/server/controllers/top-level/payments/stripe.js index 71835d8c41..9fed9d613d 100644 --- a/website/server/controllers/top-level/payments/stripe.js +++ b/website/server/controllers/top-level/payments/stripe.js @@ -27,13 +27,13 @@ api.createCheckoutSession = { async handler (req, res) { const { user } = res.locals; const { - gift, sub: subKey, gemsBlock, coupon, groupId, + gift, sub: subKey, gemsBlock, coupon, groupId, sku, } = req.body; const sub = subKey ? shared.content.subscriptionBlocks[subKey] : false; const session = await stripePayments.createCheckoutSession({ - user, gemsBlock, gift, sub, groupId, coupon, + user, gemsBlock, gift, sub, groupId, coupon, sku, }); res.respond(200, { diff --git a/website/server/libs/baseModel.js b/website/server/libs/baseModel.js index 544eba8f77..c05125b8c8 100644 --- a/website/server/libs/baseModel.js +++ b/website/server/libs/baseModel.js @@ -37,7 +37,15 @@ export default function baseModel (schema, options = {}) { }); schema.pre('update', function preUpdateModel () { - this.update({}, { $set: { updatedAt: new Date() } }); + this.set({}, { $set: { updatedAt: new Date() } }); + }); + + schema.pre('updateOne', function preUpdateModel () { + this.set({}, { $set: { updatedAt: new Date() } }); + }); + + schema.pre('updateMany', function preUpdateModel () { + this.set({}, { $set: { updatedAt: new Date() } }); }); } diff --git a/website/server/libs/cron.js b/website/server/libs/cron.js index cfbdbb0dc5..1fea7e8cc8 100644 --- a/website/server/libs/cron.js +++ b/website/server/libs/cron.js @@ -63,9 +63,6 @@ const CLEAR_BUFFS = { }; async function grantEndOfTheMonthPerks (user, now) { - // multi-month subscriptions are for multiples of 3 months - const SUBSCRIPTION_BASIC_BLOCK_LENGTH = 3; - const { plan, elapsedMonths } = getPlanContext(user, now); if (elapsedMonths > 0) { @@ -106,32 +103,17 @@ async function grantEndOfTheMonthPerks (user, now) { planMonthsLength = getPlanMonths(plan); } - // every 3 months you get one set of perks - this variable records how many sets you need - let perkAmountNeeded = 0; if (planMonthsLength === 1) { - // User has a single-month recurring subscription and are due for perks - // IF they've been subscribed for a multiple of 3 months. - if (plan.consecutive.count % SUBSCRIPTION_BASIC_BLOCK_LENGTH === 0) { // every 3 months - perkAmountNeeded = 1; - } plan.consecutive.offset = 0; // allow the same logic to be run next month } else { // User has a multi-month recurring subscription // and it renewed in the previous calendar month. - - // e.g., for a 6-month subscription, give two sets of perks - perkAmountNeeded = planMonthsLength / SUBSCRIPTION_BASIC_BLOCK_LENGTH; // don't need to check for perks again for this many months // (subtract 1 because we should have run this when the payment was taken last month) plan.consecutive.offset = planMonthsLength - 1; } - if (perkAmountNeeded > 0) { - // one Hourglass every 3 months - await plan.updateHourglasses(user._id, perkAmountNeeded, 'subscription_perks'); // eslint-disable-line no-await-in-loop - plan.consecutive.gemCapExtra += 5 * perkAmountNeeded; // 5 extra Gems every 3 months - // cap it at 50 (hard 25 limit + extra 25) - if (plan.consecutive.gemCapExtra > 25) plan.consecutive.gemCapExtra = 25; - } + // eslint-disable-next-line no-await-in-loop + await plan.incrementPerkCounterAndReward(user._id, planMonthsLength); } } } @@ -297,6 +279,8 @@ export async function cron (options = {}) { if (user.isSubscribed()) { await grantEndOfTheMonthPerks(user, now); + } if (!user.isSubscribed() && user.purchased.plan.perkMonthCount > 0) { + user.purchased.plan.perkMonthCount = 0; } const { plan } = user.purchased; diff --git a/website/server/libs/inAppPurchases.js b/website/server/libs/inAppPurchases.js index 228626f56a..74b652e8e9 100644 --- a/website/server/libs/inAppPurchases.js +++ b/website/server/libs/inAppPurchases.js @@ -21,6 +21,8 @@ export default { setup: util.promisify(iap.setup.bind(iap)), validate: util.promisify(iap.validate.bind(iap)), isValidated: iap.isValidated, + isCanceled: iap.isCanceled, + isExpired: iap.isExpired, getPurchaseData: iap.getPurchaseData, GOOGLE: iap.GOOGLE, APPLE: iap.APPLE, diff --git a/website/server/libs/invites/index.js b/website/server/libs/invites/index.js index c45c38c246..2a6a6d790d 100644 --- a/website/server/libs/invites/index.js +++ b/website/server/libs/invites/index.js @@ -87,10 +87,9 @@ async function inviteUserToParty (userToInvite, group, inviter, res) { } if (userToInvite.party._id) { - const userParty = await Group.getGroup({ user: userToInvite, groupId: 'party', fields: 'memberCount' }); + const userParty = await Group.getGroup({ user: userToInvite, groupId: 'party', fields: '_id' }); - // Allow user to be invited to a new party when they're partying solo - if (userParty && userParty.memberCount !== 1) throw new NotAuthorized(res.t('userAlreadyInAParty', { userId: uuid, username: userToInvite.profile.name })); + if (userParty) throw new NotAuthorized(res.t('userAlreadyInAParty', { userId: uuid, username: userToInvite.profile.name })); } const partyInvite = { id: group._id, name: group.name, inviter: inviter._id }; @@ -142,6 +141,22 @@ async function inviteByUUID (uuid, group, inviter, req, res) { )); } + const analyticsObject = { + hitType: 'event', + category: 'behavior', + uuid: inviter._id, + invitee: uuid, + groupId: group._id, + groupType: group.type, + headers: req.headers, + }; + + if (group.type === 'party') { + analyticsObject.seekingParty = Boolean(userToInvite.party.seeking); + } + + res.analytics.track('group invite', analyticsObject); + return addInvitationToUser(userToInvite, group, inviter, res); } @@ -189,6 +204,18 @@ async function inviteByEmail (invite, group, inviter, req, res) { const userIsUnsubscribed = await EmailUnsubscription.findOne({ email: invite.email }).exec(); const groupLabel = group.type === 'guild' ? '-guild' : ''; if (!userIsUnsubscribed) sendTxnEmail(invite, `invite-friend${groupLabel}`, variables); + + const analyticsObject = { + hitType: 'event', + category: 'behavior', + uuid: inviter._id, + invitee: 'email', + groupId: group._id, + groupType: group.type, + headers: req.headers, + }; + + res.analytics.track('group invite', analyticsObject); } return userReturnInfo; @@ -214,6 +241,23 @@ async function inviteByUserName (username, group, inviter, req, res) { { userId: userToInvite._id, username: userToInvite.profile.name }, )); } + + const analyticsObject = { + hitType: 'event', + category: 'behavior', + uuid: inviter._id, + invitee: userToInvite._id, + groupId: group._id, + groupType: group.type, + headers: req.headers, + }; + + if (group.type === 'party') { + analyticsObject.seekingParty = Boolean(userToInvite.party.seeking); + } + + res.analytics.track('group invite', analyticsObject); + return addInvitationToUser(userToInvite, group, inviter, res); } diff --git a/website/server/libs/payments/amazon.js b/website/server/libs/payments/amazon.js index 6947f3e5ea..9e72340877 100644 --- a/website/server/libs/payments/amazon.js +++ b/website/server/libs/payments/amazon.js @@ -46,6 +46,7 @@ api.constants = { GIFT_TYPE_SUBSCRIPTION: 'subscription', METHOD_BUY_GEMS: 'buyGems', + METHOD_BUY_SKU_ITEM: 'buySkuItem', METHOD_CREATE_SUBSCRIPTION: 'createSubscription', PAYMENT_METHOD: 'Amazon Payments', PAYMENT_METHOD_GIFT: 'Amazon Payments (Gift)', @@ -110,7 +111,7 @@ api.authorize = function authorize (inputSet) { */ api.checkout = async function checkout (options = {}) { const { - gift, user, orderReferenceId, headers, gemsBlock: gemsBlockKey, + gift, user, orderReferenceId, headers, gemsBlock: gemsBlockKey, sku, } = options; let amount; let gemsBlock; @@ -127,6 +128,12 @@ api.checkout = async function checkout (options = {}) { } else if (gift.type === this.constants.GIFT_TYPE_SUBSCRIPTION) { amount = common.content.subscriptionBlocks[gift.subscription.key].price; } + } else if (sku) { + if (sku === 'Pet-Gryphatrice-Jubilant') { + amount = 9.99; + } else { + throw new NotFound('SKU not found.'); + } } else { gemsBlock = getGemsBlock(gemsBlockKey); amount = gemsBlock.price / 100; @@ -171,12 +178,16 @@ api.checkout = async function checkout (options = {}) { // execute payment let method = this.constants.METHOD_BUY_GEMS; + if (sku) { + method = this.constants.METHOD_BUY_SKU_ITEM; + } const data = { user, paymentMethod: this.constants.PAYMENT_METHOD, headers, gemsBlock, + sku, }; if (gift) { diff --git a/website/server/libs/payments/apple.js b/website/server/libs/payments/apple.js index 8c0fd44184..8a8ab56ade 100644 --- a/website/server/libs/payments/apple.js +++ b/website/server/libs/payments/apple.js @@ -2,7 +2,7 @@ import moment from 'moment'; import shared from '../../../common'; import iap from '../inAppPurchases'; import payments from './payments'; -import { getGemsBlock, validateGiftMessage } from './gems'; +import { validateGiftMessage } from './gems'; import { NotAuthorized, BadRequest, @@ -22,7 +22,7 @@ api.constants = { RESPONSE_NO_ITEM_PURCHASED: 'NO_ITEM_PURCHASED', }; -api.verifyGemPurchase = async function verifyGemPurchase (options) { +api.verifyPurchase = async function verifyPurchase (options) { const { gift, user, receipt, headers, } = options; @@ -44,7 +44,6 @@ api.verifyGemPurchase = async function verifyGemPurchase (options) { if (purchaseDataList.length === 0) { throw new NotAuthorized(api.constants.RESPONSE_NO_ITEM_PURCHASED); } - let correctReceipt = false; // Purchasing one item at a time (processing of await(s) below is sequential not parallel) for (const purchaseData of purchaseDataList) { @@ -62,58 +61,45 @@ api.verifyGemPurchase = async function verifyGemPurchase (options) { userId: user._id, }); - let gemsBlockKey; - switch (purchaseData.productId) { // eslint-disable-line default-case - case 'com.habitrpg.ios.Habitica.4gems': - gemsBlockKey = '4gems'; - break; - case 'com.habitrpg.ios.Habitica.20gems': - case 'com.habitrpg.ios.Habitica.21gems': - gemsBlockKey = '21gems'; - break; - case 'com.habitrpg.ios.Habitica.42gems': - gemsBlockKey = '42gems'; - break; - case 'com.habitrpg.ios.Habitica.84gems': - gemsBlockKey = '84gems'; - break; - } - if (!gemsBlockKey) throw new NotAuthorized(api.constants.RESPONSE_INVALID_ITEM); - const gemsBlock = getGemsBlock(gemsBlockKey); - - if (gift) { - gift.type = 'gems'; - if (!gift.gems) gift.gems = {}; - gift.gems.amount = shared.content.gems[gemsBlock.key].gems; - } - - if (gemsBlock) { - correctReceipt = true; - await payments.buyGems({ // eslint-disable-line no-await-in-loop - user, - gift, - paymentMethod: api.constants.PAYMENT_METHOD_APPLE, - gemsBlock, - headers, - }); - } + await payments.buySkuItem({ // eslint-disable-line no-await-in-loop + user, + gift, + paymentMethod: api.constants.PAYMENT_METHOD_APPLE, + sku: purchaseData.productId, + headers, + }); } } - if (!correctReceipt) throw new NotAuthorized(api.constants.RESPONSE_INVALID_ITEM); - return appleRes; }; -api.subscribe = async function subscribe (sku, user, receipt, headers, nextPaymentProcessing) { - if (user && user.isSubscribed()) { - throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED); +api.subscribe = async function subscribe (user, receipt, headers, nextPaymentProcessing) { + await iap.setup(); + + const appleRes = await iap.validate(iap.APPLE, receipt); + const isValidated = iap.isValidated(appleRes); + if (!isValidated) throw new NotAuthorized(api.constants.RESPONSE_INVALID_RECEIPT); + + const purchaseDataList = iap.getPurchaseData(appleRes); + if (purchaseDataList.length === 0) { + throw new NotAuthorized(api.constants.RESPONSE_NO_ITEM_PURCHASED); } - if (!sku) throw new BadRequest(shared.i18n.t('missingSubscriptionCode')); + let purchase; + let newestDate; + + for (const purchaseData of purchaseDataList) { + const datePurchased = new Date(Number(purchaseData.purchaseDate)); + const dateTerminated = new Date(Number(purchaseData.expirationDate)); + if ((!newestDate || datePurchased > newestDate) && dateTerminated > new Date()) { + purchase = purchaseData; + newestDate = datePurchased; + } + } let subCode; - switch (sku) { // eslint-disable-line default-case + switch (purchase.productId) { // eslint-disable-line default-case case 'subscription1month': subCode = 'basic_earned'; break; @@ -128,45 +114,56 @@ api.subscribe = async function subscribe (sku, user, receipt, headers, nextPayme break; } const sub = subCode ? shared.content.subscriptionBlocks[subCode] : false; - if (!sub) throw new NotAuthorized(this.constants.RESPONSE_INVALID_ITEM); - await iap.setup(); - const appleRes = await iap.validate(iap.APPLE, receipt); - const isValidated = iap.isValidated(appleRes); - if (!isValidated) throw new NotAuthorized(api.constants.RESPONSE_INVALID_RECEIPT); - - const purchaseDataList = iap.getPurchaseData(appleRes); - if (purchaseDataList.length === 0) { - throw new NotAuthorized(api.constants.RESPONSE_NO_ITEM_PURCHASED); - } - - let transactionId; - - for (const purchaseData of purchaseDataList) { - const dateTerminated = new Date(Number(purchaseData.expirationDate)); - if (purchaseData.productId === sku && dateTerminated > new Date()) { - transactionId = purchaseData.transactionId; - break; + if (purchase.originalTransactionId) { + let existingSub; + if (user && user.isSubscribed()) { + if (user.purchased.plan.customerId !== purchase.originalTransactionId) { + throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED); + } + existingSub = shared.content.subscriptionBlocks[user.purchased.plan.planId]; + if (existingSub === sub) { + throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED); + } } - } - - if (transactionId) { - const existingUser = await User.findOne({ - 'purchased.plan.customerId': transactionId, + const existingUsers = await User.find({ + $or: [ + { 'purchased.plan.customerId': purchase.originalTransactionId }, + { 'purchased.plan.customerId': purchase.transactionId }, + ], }).exec(); - if (existingUser) throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED); + if (existingUsers.length > 0) { + if (purchase.originalTransactionId === purchase.transactionId) { + throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED); + } + for (const existingUser of existingUsers) { + if (existingUser._id !== user._id && !existingUser.purchased.plan.dateTerminated) { + throw new NotAuthorized(this.constants.RESPONSE_ALREADY_USED); + } + } + } nextPaymentProcessing = nextPaymentProcessing || moment.utc().add({ days: 2 }); // eslint-disable-line max-len, no-param-reassign + const terminationDate = moment(Number(purchase.expirationDate)); + if (nextPaymentProcessing > terminationDate) { + // For test subscriptions that have a significantly shorter expiration period, this is better + nextPaymentProcessing = terminationDate; // eslint-disable-line no-param-reassign + } - await payments.createSubscription({ + const data = { user, - customerId: transactionId, + customerId: purchase.originalTransactionId, paymentMethod: this.constants.PAYMENT_METHOD_APPLE, sub, headers, nextPaymentProcessing, additionalData: receipt, - }); + }; + if (existingSub) { + data.updatedFrom = existingSub; + data.updatedFrom.logic = 'refundAndRepay'; + } + await payments.createSubscription(data); } else { throw new NotAuthorized(api.constants.RESPONSE_INVALID_RECEIPT); } @@ -258,8 +255,6 @@ api.cancelSubscribe = async function cancelSubscribe (user, headers) { await iap.setup(); - let dateTerminated; - try { const appleRes = await iap.validate(iap.APPLE, plan.additionalData); @@ -268,10 +263,27 @@ api.cancelSubscribe = async function cancelSubscribe (user, headers) { const purchases = iap.getPurchaseData(appleRes); if (purchases.length === 0) throw new NotAuthorized(this.constants.RESPONSE_INVALID_RECEIPT); - const subscriptionData = purchases[0]; + let newestDate; + let newestPurchase; - dateTerminated = new Date(Number(subscriptionData.expirationDate)); - if (dateTerminated > new Date()) throw new NotAuthorized(this.constants.RESPONSE_STILL_VALID); + for (const purchaseData of purchases) { + const datePurchased = new Date(Number(purchaseData.purchaseDate)); + if (!newestDate || datePurchased > newestDate) { + newestDate = datePurchased; + newestPurchase = purchaseData; + } + } + + if (!iap.isCanceled(newestPurchase) && !iap.isExpired(newestPurchase)) { + throw new NotAuthorized(this.constants.RESPONSE_STILL_VALID); + } + + await payments.cancelSubscription({ + user, + nextBill: new Date(Number(newestPurchase.expirationDate)), + paymentMethod: this.constants.PAYMENT_METHOD_APPLE, + headers, + }); } catch (err) { // If we have an invalid receipt, cancel anyway if ( @@ -281,13 +293,6 @@ api.cancelSubscribe = async function cancelSubscribe (user, headers) { throw err; } } - - await payments.cancelSubscription({ - user, - nextBill: dateTerminated, - paymentMethod: this.constants.PAYMENT_METHOD_APPLE, - headers, - }); }; export default api; diff --git a/website/server/libs/payments/google.js b/website/server/libs/payments/google.js index 9beac9b2a4..d61c16a5eb 100644 --- a/website/server/libs/payments/google.js +++ b/website/server/libs/payments/google.js @@ -8,7 +8,7 @@ import { } from '../errors'; import { model as IapPurchaseReceipt } from '../../models/iapPurchaseReceipt'; import { model as User } from '../../models/user'; -import { getGemsBlock, validateGiftMessage } from './gems'; +import { validateGiftMessage } from './gems'; const api = {}; @@ -21,7 +21,7 @@ api.constants = { RESPONSE_STILL_VALID: 'SUBSCRIPTION_STILL_VALID', }; -api.verifyGemPurchase = async function verifyGemPurchase (options) { +api.verifyPurchase = async function verifyPurchase (options) { const { gift, user, receipt, signature, headers, } = options; @@ -61,39 +61,11 @@ api.verifyGemPurchase = async function verifyGemPurchase (options) { userId: user._id, }); - let gemsBlockKey; - - switch (receiptObj.productId) { // eslint-disable-line default-case - case 'com.habitrpg.android.habitica.iap.4gems': - gemsBlockKey = '4gems'; - break; - case 'com.habitrpg.android.habitica.iap.20gems': - case 'com.habitrpg.android.habitica.iap.21gems': - gemsBlockKey = '21gems'; - break; - case 'com.habitrpg.android.habitica.iap.42gems': - gemsBlockKey = '42gems'; - break; - case 'com.habitrpg.android.habitica.iap.84gems': - gemsBlockKey = '84gems'; - break; - } - - if (!gemsBlockKey) throw new NotAuthorized(this.constants.RESPONSE_INVALID_ITEM); - - const gemsBlock = getGemsBlock(gemsBlockKey); - - if (gift) { - gift.type = 'gems'; - if (!gift.gems) gift.gems = {}; - gift.gems.amount = shared.content.gems[gemsBlock.key].gems; - } - - await payments.buyGems({ + await payments.buySkuItem({ // eslint-disable-line no-await-in-loop user, gift, - paymentMethod: this.constants.PAYMENT_METHOD_GOOGLE, - gemsBlock, + paymentMethod: api.constants.PAYMENT_METHOD_GOOGLE, + sku: googleRes.productId, headers, }); diff --git a/website/server/libs/payments/groupPayments.js b/website/server/libs/payments/groupPayments.js index b59566c2fb..dfd7f7eea5 100644 --- a/website/server/libs/payments/groupPayments.js +++ b/website/server/libs/payments/groupPayments.js @@ -180,6 +180,7 @@ async function addSubToGroupUser (member, group) { } // save unused hourglass and mystery items + plan.perkMonthCount = memberPlan.perkMonthCount; plan.consecutive.trinkets = memberPlan.consecutive.trinkets; plan.mysteryItems = memberPlan.mysteryItems; diff --git a/website/server/libs/payments/payments.js b/website/server/libs/payments/payments.js index 3e93bdb8d4..43bcae2f18 100644 --- a/website/server/libs/payments/payments.js +++ b/website/server/libs/payments/payments.js @@ -11,6 +11,9 @@ import { // eslint-disable-line import/no-cycle import { // eslint-disable-line import/no-cycle buyGems, } from './gems'; +import { // eslint-disable-line import/no-cycle + buySkuItem, +} from './skuItem'; import { paymentConstants } from './constants'; const api = {}; @@ -31,4 +34,6 @@ api.cancelSubscription = cancelSubscription; api.buyGems = buyGems; +api.buySkuItem = buySkuItem; + export default api; diff --git a/website/server/libs/payments/paypal.js b/website/server/libs/payments/paypal.js index 30e0a8dff3..70099e6541 100644 --- a/website/server/libs/payments/paypal.js +++ b/website/server/libs/payments/paypal.js @@ -77,7 +77,9 @@ api.paypalBillingAgreementCancel = util api.ipnVerifyAsync = util.promisify(paypalIpn.verify.bind(paypalIpn)); api.checkout = async function checkout (options = {}) { - const { gift, user, gemsBlock: gemsBlockKey } = options; + const { + gift, gemsBlock: gemsBlockKey, sku, user, + } = options; let amount; let gemsBlock; @@ -99,12 +101,17 @@ api.checkout = async function checkout (options = {}) { amount = Number(shared.content.subscriptionBlocks[gift.subscription.key].price).toFixed(2); description = 'mo. Habitica Subscription (Gift)'; } + } else if (sku) { + if (sku === 'Pet-Gryphatrice-Jubilant') { + description = 'Jubilant Gryphatrice'; + amount = 9.99; + } } else { gemsBlock = getGemsBlock(gemsBlockKey); amount = gemsBlock.price / 100; } - if (!gift || gift.type === 'gems') { + if (gemsBlock || (gift && gift.type === 'gems')) { const receiver = gift ? gift.member : user; const receiverCanGetGems = await receiver.canGetGems(); if (!receiverCanGetGems) throw new NotAuthorized(shared.i18n.t('groupPolicyCannotGetGems', receiver.preferences.language)); @@ -146,10 +153,10 @@ api.checkout = async function checkout (options = {}) { api.checkoutSuccess = async function checkoutSuccess (options = {}) { const { - user, gift, gemsBlock: gemsBlockKey, paymentId, customerId, + user, gift, gemsBlock: gemsBlockKey, paymentId, customerId, sku, } = options; - let method = 'buyGems'; + let method = sku ? 'buySkuItem' : 'buyGems'; const data = { user, customerId, @@ -164,6 +171,8 @@ api.checkoutSuccess = async function checkoutSuccess (options = {}) { data.paymentMethod = 'PayPal (Gift)'; data.gift = gift; + } else if (sku) { + data.sku = sku; } else { data.gemsBlock = getGemsBlock(gemsBlockKey); } diff --git a/website/server/libs/payments/skuItem.js b/website/server/libs/payments/skuItem.js new file mode 100644 index 0000000000..0edb551a35 --- /dev/null +++ b/website/server/libs/payments/skuItem.js @@ -0,0 +1,110 @@ +import moment from 'moment'; +import { + BadRequest, +} from '../errors'; +import shared from '../../../common'; +import { getAnalyticsServiceByEnvironment } from '../analyticsService'; +import { getGemsBlock, buyGems } from './gems'; // eslint-disable-line import/no-cycle + +const analytics = getAnalyticsServiceByEnvironment(); + +const RESPONSE_INVALID_ITEM = 'INVALID_ITEM_PURCHASED'; + +const EVENTS = { + birthday10: { + start: '2023-01-30T08:00-05:00', + end: '2023-02-08T23:59-05:00', + }, +}; + +function canBuyGryphatrice (user) { + if (!moment().isBetween(EVENTS.birthday10.start, EVENTS.birthday10.end)) return false; + if (user.items.pets['Gryphatrice-Jubilant']) return false; + return true; +} + +async function buyGryphatrice (data) { + // Double check it's available + if (!canBuyGryphatrice(data.user)) throw new BadRequest(); + const key = 'Gryphatrice-Jubilant'; + data.user.items.pets[key] = 5; + data.user.purchased.txnCount += 1; + + analytics.trackPurchase({ + uuid: data.user._id, + itemPurchased: 'Gryphatrice', + sku: `${data.paymentMethod.toLowerCase()}-checkout`, + purchaseType: 'checkout', + paymentMethod: data.paymentMethod, + quantity: 1, + gift: Boolean(data.gift), + purchaseValue: 10, + headers: data.headers, + firstPurchase: data.user.purchased.txnCount === 1, + }); + if (data.user.markModified) data.user.markModified('items.pets'); + await data.user.save(); +} + +export function canBuySkuItem (sku, user) { + switch (sku) { + case 'com.habitrpg.android.habitica.iap.pets.gryphatrice_jubilant': + case 'com.habitrpg.ios.Habitica.pets.Gryphatrice_Jubilant': + case 'Pet-Gryphatrice-Jubilant': + case 'price_0MPZ6iZCD0RifGXlLah2furv': + return canBuyGryphatrice(user); + default: + return true; + } +} + +export async function buySkuItem (data) { + let gemsBlockKey; + + switch (data.sku) { // eslint-disable-line default-case + case 'com.habitrpg.android.habitica.iap.4gems': + case 'com.habitrpg.ios.Habitica.4gems': + gemsBlockKey = '4gems'; + break; + case 'com.habitrpg.android.habitica.iap.20gems': + case 'com.habitrpg.android.habitica.iap.21gems': + case 'com.habitrpg.ios.Habitica.20gems': + case 'com.habitrpg.ios.Habitica.21gems': + gemsBlockKey = '21gems'; + break; + case 'com.habitrpg.android.habitica.iap.42gems': + case 'com.habitrpg.ios.Habitica.42gems': + gemsBlockKey = '42gems'; + break; + case 'com.habitrpg.android.habitica.iap.84gems': + case 'com.habitrpg.ios.Habitica.84gems': + gemsBlockKey = '84gems'; + break; + case 'com.habitrpg.android.habitica.iap.pets.gryphatrice_jubilant': + case 'com.habitrpg.ios.Habitica.pets.Gryphatrice_Jubilant': + case 'Pet-Gryphatrice-Jubilant': + case 'price_0MPZ6iZCD0RifGXlLah2furv': + buyGryphatrice(data); + return; + } + + if (gemsBlockKey) { + const gemsBlock = getGemsBlock(gemsBlockKey); + + if (data.gift) { + data.gift.type = 'gems'; + if (!data.gift.gems) data.gift.gems = {}; + data.gift.gems.amount = shared.content.gems[gemsBlock.key].gems; + } + + await buyGems({ + user: data.user, + gift: data.gift, + paymentMethod: data.paymentMethod, + gemsBlock, + headers: data.headers, + }); + return; + } + throw new BadRequest(RESPONSE_INVALID_ITEM); +} diff --git a/website/server/libs/payments/stripe/checkout.js b/website/server/libs/payments/stripe/checkout.js index c17dce6d93..fa4fda9217 100644 --- a/website/server/libs/payments/stripe/checkout.js +++ b/website/server/libs/payments/stripe/checkout.js @@ -24,6 +24,7 @@ export async function createCheckoutSession (options, stripeInc) { sub, groupId, coupon, + sku, } = options; // @TODO: We need to mock this, but curently we don't have correct @@ -37,6 +38,8 @@ export async function createCheckoutSession (options, stripeInc) { validateGiftMessage(gift, user); } else if (sub) { type = 'subscription'; + } else if (sku) { + type = 'sku'; } const metadata = { @@ -71,6 +74,12 @@ export async function createCheckoutSession (options, stripeInc) { price: sub.key, quantity, }]; + } else if (type === 'sku') { + metadata.sku = sku; + lineItems = [{ + price: sku, + quantity: 1, + }]; } else { const { amount, diff --git a/website/server/libs/payments/stripe/oneTimePayments.js b/website/server/libs/payments/stripe/oneTimePayments.js index cb5274e182..3989d5b507 100644 --- a/website/server/libs/payments/stripe/oneTimePayments.js +++ b/website/server/libs/payments/stripe/oneTimePayments.js @@ -22,6 +22,20 @@ function getGiftAmount (gift) { return `${(gift.gems.amount / 4) * 100}`; } +export async function applySku (session) { + const { metadata } = session; + const { userId, sku } = metadata; + const user = await User.findById(metadata.userId).exec(); + if (!user) throw new NotFound(shared.i18n.t('userWithIDNotFound', { userId })); + if (sku === 'price_0MPZ6iZCD0RifGXlLah2furv') { + await payments.buySkuItem({ + sku, user, paymentMethod: stripeConstants.PAYMENT_METHOD, + }); + } else { + throw new NotFound('SKU not found.'); + } +} + export async function getOneTimePaymentInfo (gemsBlockKey, gift, user) { let receiver = user; diff --git a/website/server/libs/payments/stripe/webhooks.js b/website/server/libs/payments/stripe/webhooks.js index 8a18fc126e..ae4d73e660 100644 --- a/website/server/libs/payments/stripe/webhooks.js +++ b/website/server/libs/payments/stripe/webhooks.js @@ -14,7 +14,7 @@ import { // eslint-disable-line import/no-cycle basicFields as basicGroupFields, } from '../../../models/group'; import shared from '../../../../common'; -import { applyGemPayment } from './oneTimePayments'; // eslint-disable-line import/no-cycle +import { applyGemPayment, applySku } from './oneTimePayments'; // eslint-disable-line import/no-cycle import { applySubscription, handlePaymentMethodChange } from './subscriptions'; // eslint-disable-line import/no-cycle const endpointSecret = nconf.get('STRIPE_WEBHOOKS_ENDPOINT_SECRET'); @@ -69,10 +69,12 @@ export async function handleWebhooks (options, stripeInc) { if (metadata.type === 'edit-card-group' || metadata.type === 'edit-card-user') { await handlePaymentMethodChange(session); - } else if (metadata.type !== 'subscription') { - await applyGemPayment(session); - } else { + } else if (metadata.type === 'subscription') { await applySubscription(session); + } else if (metadata.type === 'sku') { + await applySku(session); + } else { + await applyGemPayment(session); } break; diff --git a/website/server/libs/payments/subscriptions.js b/website/server/libs/payments/subscriptions.js index b5558e82dc..41e2d1ff26 100644 --- a/website/server/libs/payments/subscriptions.js +++ b/website/server/libs/payments/subscriptions.js @@ -74,7 +74,39 @@ async function prepareSubscriptionValues (data) { ? data.gift.subscription.key : data.sub.key]; const autoRenews = data.autoRenews !== undefined ? data.autoRenews : true; - const months = Number(block.months); + const updatedFrom = data.updatedFrom + ? shared.content.subscriptionBlocks[data.updatedFrom.key] + : undefined; + let months; + if (updatedFrom && Number(updatedFrom.months) !== 1) { + if (Number(updatedFrom.months) > Number(block.months)) { + months = 0; + } else if (data.updatedFrom.logic === 'payDifference') { + months = Math.max(0, Number(block.months) - Number(updatedFrom.months)); + } else if (data.updatedFrom.logic === 'payFull') { + months = Number(block.months); + } else if (data.updatedFrom.logic === 'refundAndRepay') { + const originalMonths = Number(updatedFrom.months); + let currentCycleBegin = moment(recipient.purchased.plan.dateCurrentTypeCreated); + const today = moment(); + while (currentCycleBegin.isBefore()) { + currentCycleBegin = currentCycleBegin.add({ months: originalMonths }); + } + // Subtract last iteration again, because we overshot + currentCycleBegin = currentCycleBegin.subtract({ months: originalMonths }); + // For simplicity we round every month to 30 days since moment can not add half months + if (currentCycleBegin.add({ days: (originalMonths * 30) / 2.0 }).isBefore(today)) { + // user is in second half of their subscription cycle. Give them full benefits. + months = Number(block.months); + } else { + // user is in first half of their subscription cycle. Give them the difference. + months = Math.max(0, Number(block.months) - Number(updatedFrom.months)); + } + } + } + if (months === undefined) { + months = Number(block.months); + } const today = new Date(); let group; let groupId; @@ -82,6 +114,7 @@ async function prepareSubscriptionValues (data) { let purchaseType = 'subscribe'; let emailType = 'subscription-begins'; let recipientIsSubscribed = recipient.isSubscribed(); + const isNewSubscription = !recipientIsSubscribed; // If we are buying a group subscription if (data.groupId) { @@ -122,6 +155,10 @@ async function prepareSubscriptionValues (data) { const { plan } = recipient.purchased; + if (isNewSubscription) { + plan.perkMonthCount = 0; + } + if (data.gift || !autoRenews) { if (plan.customerId && !plan.dateTerminated) { // User has active plan plan.extraMonths += months; @@ -136,6 +173,7 @@ async function prepareSubscriptionValues (data) { plan.dateTerminated = moment().add({ months }).toDate(); plan.dateCreated = today; } + plan.dateCurrentTypeCreated = today; } if (!plan.customerId) { @@ -152,6 +190,7 @@ async function prepareSubscriptionValues (data) { planId: block.key, customerId: data.customerId, dateUpdated: today, + dateCurrentTypeCreated: today, paymentMethod: data.paymentMethod, extraMonths: Number(plan.extraMonths) + _dateDiff(today, plan.dateTerminated), dateTerminated: null, @@ -194,6 +233,7 @@ async function prepareSubscriptionValues (data) { itemPurchased, purchaseType, emailType, + isNewSubscription, }; } @@ -209,15 +249,22 @@ async function createSubscription (data) { itemPurchased, purchaseType, emailType, + isNewSubscription, } = await prepareSubscriptionValues(data); // Block sub perks - const perks = Math.floor(months / 3); - if (perks) { - plan.consecutive.offset += months; - plan.consecutive.gemCapExtra += perks * 5; - if (plan.consecutive.gemCapExtra > 25) plan.consecutive.gemCapExtra = 25; - await plan.updateHourglasses(recipient._id, perks, 'subscription_perks'); // one Hourglass every 3 months + if (months > 1 && (!data.gift || !isNewSubscription)) { + if (!data.gift && !groupId) { + plan.consecutive.offset = block.months; + } + } else if (months === 1) { + plan.consecutive.offset = 0; + } + if (months > 1 || data.gift) { + await plan.incrementPerkCounterAndReward(recipient._id, months); + } else { + // Make sure the perkMonthCount field is initialized. + await plan.incrementPerkCounterAndReward(recipient._id, 0); } if (recipient !== group) { diff --git a/website/server/libs/pushNotifications.js b/website/server/libs/pushNotifications.js index 0be37b7fdc..1ef9e7f387 100644 --- a/website/server/libs/pushNotifications.js +++ b/website/server/libs/pushNotifications.js @@ -21,7 +21,7 @@ const apnProvider = APN_ENABLED ? new apn.Provider({ }) : undefined; function removePushDevice (user, pushDevice) { - return User.update({ _id: user._id }, { + return User.updateOne({ _id: user._id }, { $pull: { pushDevices: { regId: pushDevice.regId } }, }).exec().catch(err => { logger.error(err, `Error removing pushDevice ${pushDevice.regId} for user ${user._id}`); diff --git a/website/server/libs/routes.js b/website/server/libs/routes.js index f46ba997ed..5b4bb9abb7 100644 --- a/website/server/libs/routes.js +++ b/website/server/libs/routes.js @@ -24,7 +24,7 @@ export function readController (router, controller, overrides = []) { // If an authentication middleware is used run getUserLanguage after it, otherwise before // for cron instead use it only if an authentication middleware is present - const authMiddlewareIndex = _.findIndex(middlewares, middleware => { + let authMiddlewareIndex = _.findIndex(middlewares, middleware => { if (middleware.name.indexOf('authWith') === 0) { // authWith{Headers|Session|Url|...} return true; } @@ -36,6 +36,7 @@ export function readController (router, controller, overrides = []) { // disable caching for all routes with mandatory or optional authentication if (authMiddlewareIndex !== -1) { middlewares.unshift(disableCache); + authMiddlewareIndex += 1; } if (action.noLanguage !== true) { // unless getting the language is explictly disabled diff --git a/website/server/libs/spells.js b/website/server/libs/spells.js index cc1b6078cd..ad8a1935ae 100644 --- a/website/server/libs/spells.js +++ b/website/server/libs/spells.js @@ -12,7 +12,7 @@ import { } from '../models/group'; import apiError from './apiError'; -const partyMembersFields = 'profile.name stats achievements items.special notifications flags pinnedItems'; +const partyMembersFields = 'profile.name stats achievements items.special pinnedItems notifications flags'; // Excluding notifications and flags from the list of public fields to return. const partyMembersPublicFields = 'profile.name stats achievements items.special'; @@ -75,12 +75,13 @@ async function castSelfSpell (req, user, spell, quantity = 1) { await user.save(); } -async function castPartySpell (req, party, partyMembers, user, spell, quantity = 1) { +async function getPartyMembers (user, party) { + let partyMembers; if (!party) { // Act as solo party - partyMembers = [user]; // eslint-disable-line no-param-reassign + partyMembers = [user]; } else { - partyMembers = await User // eslint-disable-line no-param-reassign + partyMembers = await User .find({ 'party._id': party._id, _id: { $ne: user._id }, // add separately @@ -90,22 +91,40 @@ async function castPartySpell (req, party, partyMembers, user, spell, quantity = partyMembers.unshift(user); } - - for (let i = 0; i < quantity; i += 1) { - spell.cast(user, partyMembers, req); - } - await Promise.all(partyMembers.map(m => m.save())); - return partyMembers; } -async function castUserSpell (res, req, party, partyMembers, targetId, user, spell, quantity = 1) { +async function castPartySpell (req, party, user, spell, quantity = 1) { + let partyMembers; + if (spell.bulk) { + const data = { }; + if (party) { + data.query = { 'party._id': party._id }; + } else { + data.query = { _id: user._id }; + } + spell.cast(user, data); + await User.updateMany(data.query, data.update); + await user.save(); + partyMembers = await getPartyMembers(user, party); + } else { + partyMembers = await getPartyMembers(user, party); + for (let i = 0; i < quantity; i += 1) { + spell.cast(user, partyMembers, req); + } + await Promise.all(partyMembers.map(m => m.save())); + } + return partyMembers; +} + +async function castUserSpell (res, req, party, targetId, user, spell, quantity = 1) { + let partyMembers; if (!party && (!targetId || user._id === targetId)) { - partyMembers = user; // eslint-disable-line no-param-reassign + partyMembers = user; } else { if (!targetId) throw new BadRequest(res.t('targetIdUUID')); if (!party) throw new NotFound(res.t('partyNotFound')); - partyMembers = await User // eslint-disable-line no-param-reassign + partyMembers = await User .findOne({ _id: targetId, 'party._id': party._id }) .select(partyMembersFields) .exec(); @@ -196,10 +215,10 @@ async function castSpell (req, res, { isV3 = false }) { let partyMembers; if (targetType === 'party') { - partyMembers = await castPartySpell(req, party, partyMembers, user, spell, quantity); + partyMembers = await castPartySpell(req, party, user, spell, quantity); } else { partyMembers = await castUserSpell( - res, req, party, partyMembers, + res, req, party, targetId, user, spell, quantity, ); } diff --git a/website/server/libs/tasks/index.js b/website/server/libs/tasks/index.js index d32280fd3c..aad3a1ddfc 100644 --- a/website/server/libs/tasks/index.js +++ b/website/server/libs/tasks/index.js @@ -114,7 +114,7 @@ async function createTasks (req, res, options = {}) { }; } - await owner.update(taskOrderUpdateQuery).exec(); + await owner.updateOne(taskOrderUpdateQuery).exec(); // tasks with aliases need to be validated asynchronously await validateTaskAlias(toSave, res); diff --git a/website/server/libs/user/index.js b/website/server/libs/user/index.js index 35068ad3f9..e3f9e8d604 100644 --- a/website/server/libs/user/index.js +++ b/website/server/libs/user/index.js @@ -51,6 +51,7 @@ const updatablePaths = [ 'party.orderAscending', 'party.quest.completed', 'party.quest.RSVPNeeded', + 'party.seeking', 'preferences', 'profile', @@ -97,7 +98,9 @@ function checkPreferencePurchase (user, path, item) { const itemPath = `${path}.${item}`; const appearance = _.get(common.content.appearances, itemPath); if (!appearance) return false; - if (appearance.price === 0) return true; + if (appearance.price === 0 && path !== 'background') { + return true; + } return _.get(user.purchased, itemPath); } @@ -120,6 +123,17 @@ export async function update (req, res, { isV3 = false }) { let promisesForTagsRemoval = []; + if (req.body['party.seeking'] !== undefined && req.body['party.seeking'] !== null) { + user.invitations.party = {}; + user.invitations.parties = []; + res.analytics.track('Starts Looking for Party', { + uuid: user._id, + hitType: 'event', + category: 'behavior', + headers: req.headers, + }); + } + if (req.body['profile.name'] !== undefined) { const newName = req.body['profile.name']; if (newName === null) throw new BadRequest(res.t('invalidReqParams')); @@ -168,7 +182,15 @@ export async function update (req, res, { isV3 = false }) { throw new NotAuthorized(res.t('mustPurchaseToSet', { val, key })); } - if (key === 'tags') { + if (key === 'party.seeking' && val === null) { + user.party.seeking = undefined; + res.analytics.track('Leaves Looking for Party', { + uuid: user._id, + hitType: 'event', + category: 'behavior', + headers: req.headers, + }); + } else if (key === 'tags') { if (!Array.isArray(val)) throw new BadRequest('Tag list must be an array.'); const removedTagsIds = []; @@ -198,13 +220,13 @@ export async function update (req, res, { isV3 = false }) { // Remove from all the tasks // NOTE each tag to remove requires a query - promisesForTagsRemoval = removedTagsIds.map(tagId => Tasks.Task.update({ + promisesForTagsRemoval = removedTagsIds.map(tagId => Tasks.Task.updateMany({ userId: user._id, }, { $pull: { tags: tagId, }, - }, { multi: true }).exec()); + }).exec()); } else if (key === 'flags.newStuff' && val === false) { // flags.newStuff was removed from the user schema and is only returned for compatibility // reasons but we're keeping the ability to set it in API v3 @@ -254,6 +276,7 @@ export async function reset (req, res, { isV3 = false }) { uuid: user._id, hitType: 'event', category: 'behavior', + headers: req.headers, }); res.respond(200, ...resetRes); diff --git a/website/server/libs/webhook.js b/website/server/libs/webhook.js index 89e99a5aa4..d22307b160 100644 --- a/website/server/libs/webhook.js +++ b/website/server/libs/webhook.js @@ -61,7 +61,7 @@ function sendWebhook (webhook, body, user) { }; } - return User.update({ + return User.updateOne({ _id: user._id, 'webhooks.id': webhook.id, }, update).exec(); diff --git a/website/server/middlewares/auth.js b/website/server/middlewares/auth.js index 7332ba30c3..cf7804cf20 100644 --- a/website/server/middlewares/auth.js +++ b/website/server/middlewares/auth.js @@ -1,3 +1,4 @@ +import moment from 'moment'; import nconf from 'nconf'; import url from 'url'; import { @@ -10,6 +11,7 @@ import gcpStackdriverTracer from '../libs/gcpTraceAgent'; import common from '../../common'; import { getLanguageFromUser } from '../libs/language'; +const OFFICIAL_PLATFORMS = ['habitica-web', 'habitica-ios', 'habitica-android']; const COMMUNITY_MANAGER_EMAIL = nconf.get('EMAILS_COMMUNITY_MANAGER_EMAIL'); const USER_FIELDS_ALWAYS_LOADED = ['_id', 'notifications', 'preferences', 'auth', 'flags', 'permissions']; @@ -55,6 +57,7 @@ export function authWithHeaders (options = {}) { return function authWithHeadersHandler (req, res, next) { const userId = req.header('x-api-user'); const apiToken = req.header('x-api-key'); + const client = req.header('x-client'); const optional = options.optional || false; if (!userId || !apiToken) { @@ -90,6 +93,11 @@ export function authWithHeaders (options = {}) { req.session.userId = user._id; stackdriverTraceUserId(user._id); user.auth.timestamps.updated = new Date(); + if (OFFICIAL_PLATFORMS.indexOf(client) === -1 + && (!user.flags.thirdPartyTools || moment().diff(user.flags.thirdPartyTools, 'days') > 0) + ) { + User.updateOne(userQuery, { $set: { 'flags.thirdPartyTools': new Date() } }).exec(); + } return next(); }) .catch(next); diff --git a/website/server/middlewares/cron.js b/website/server/middlewares/cron.js index 7c837c9632..a9e584d069 100644 --- a/website/server/middlewares/cron.js +++ b/website/server/middlewares/cron.js @@ -16,7 +16,7 @@ async function checkForActiveCron (user, now) { // To avoid double cron we first set _cronSignature // and then check that it's not changed while processing - const userUpdateResult = await User.update({ + const userUpdateResult = await User.updateOne({ _id: user._id, $or: [ // Make sure last cron was successful or failed before cronRetryTime { _cronSignature: 'NOT_RUNNING' }, @@ -36,7 +36,7 @@ async function checkForActiveCron (user, now) { } async function updateLastCron (user, now) { - await User.update({ + await User.updateOne({ _id: user._id, }, { lastCron: now, // setting lastCron now so we don't risk re-running parts of cron if it fails @@ -44,7 +44,7 @@ async function updateLastCron (user, now) { } async function unlockUser (user) { - await User.update({ + await User.updateOne({ _id: user._id, }, { _cronSignature: 'NOT_RUNNING', @@ -125,7 +125,7 @@ async function cronAsync (req, res) { await Group.processQuestProgress(user, progress); // Set _cronSignature, lastCron and auth.timestamps.loggedin to signal end of cron - await User.update({ + await User.updateOne({ _id: user._id, }, { $set: { @@ -153,7 +153,7 @@ async function cronAsync (req, res) { // For any other error make sure to reset _cronSignature // so that it doesn't prevent cron from running // at the next request - await User.update({ + await User.updateOne({ _id: user._id, }, { _cronSignature: 'NOT_RUNNING', diff --git a/website/server/middlewares/index.js b/website/server/middlewares/index.js index caee16610f..b4b9b269e9 100644 --- a/website/server/middlewares/index.js +++ b/website/server/middlewares/index.js @@ -72,6 +72,7 @@ export default function attachMiddlewares (app, server) { app.use(bodyParser.urlencoded({ extended: true, // Uses 'qs' library as old connect middleware + limit: '10mb', })); app.use(function bodyMiddleware (req, res, next) { // eslint-disable-line prefer-arrow-callback if (req.path === '/stripe/webhooks') { @@ -79,7 +80,7 @@ export default function attachMiddlewares (app, server) { // See https://stripe.com/docs/webhooks/signatures#verify-official-libraries bodyParser.raw({ type: 'application/json' })(req, res, next); } else { - bodyParser.json()(req, res, next); + bodyParser.json({ limit: '10mb' })(req, res, next); } }); diff --git a/website/server/models/challenge.js b/website/server/models/challenge.js index 4d7ce99fad..f7c3aa4aac 100644 --- a/website/server/models/challenge.js +++ b/website/server/models/challenge.js @@ -102,7 +102,7 @@ schema.methods.addToUser = async function addChallengeToUser (user) { // Add challenge to users challenges atomically (with a condition that checks that it // is not there already) to prevent multiple concurrent requests from passing through // see https://github.com/HabitRPG/habitica/issues/11295 - const result = await User.update( + const result = await User.updateOne( { _id: user._id, challenges: { $nin: [this._id] }, @@ -249,7 +249,7 @@ async function _addTaskFn (challenge, tasks, memberId) { }, }; const updateUserParams = { ...updateTasksOrderQ, ...addToChallengeTagSet }; - toSave.unshift(User.update({ _id: memberId }, updateUserParams).exec()); + toSave.unshift(User.updateOne({ _id: memberId }, updateUserParams).exec()); return Promise.all(toSave); } @@ -278,11 +278,11 @@ schema.methods.updateTask = async function challengeUpdateTask (task) { const taskSchema = Tasks[task.type]; // Updating instead of loading and saving for performances, // risks becoming a problem if we introduce more complexity in tasks - await taskSchema.update({ + await taskSchema.updateMany({ userId: { $exists: true }, 'challenge.id': challenge.id, 'challenge.taskId': task._id, - }, updateCmd, { multi: true }).exec(); + }, updateCmd).exec(); }; // Remove a task from challenge members @@ -290,13 +290,13 @@ schema.methods.removeTask = async function challengeRemoveTask (task) { const challenge = this; // Set the task as broken - await Tasks.Task.update({ + await Tasks.Task.updateMany({ userId: { $exists: true }, 'challenge.id': challenge.id, 'challenge.taskId': task._id, }, { $set: { 'challenge.broken': 'TASK_DELETED' }, - }, { multi: true }).exec(); + }).exec(); }; // Unlink challenges tasks (and the challenge itself) from user. TODO rename to 'leave' @@ -311,9 +311,9 @@ schema.methods.unlinkTasks = async function challengeUnlinkTasks (user, keep, sa this.memberCount -= 1; if (keep === 'keep-all') { - await Tasks.Task.update(findQuery, { + await Tasks.Task.updateMany(findQuery, { $set: { challenge: {} }, - }, { multi: true }).exec(); + }).exec(); const promises = [this.save()]; @@ -356,11 +356,12 @@ schema.methods.closeChal = async function closeChal (broken = {}) { // Refund the leader if the challenge is deleted (no winner chosen) if (brokenReason === 'CHALLENGE_DELETED') { - await User.update({ _id: challenge.leader }, { $inc: { balance: challenge.prize / 4 } }).exec(); + await User.updateOne({ _id: challenge.leader }, { $inc: { balance: challenge.prize / 4 } }) + .exec(); } // Update the challengeCount on the group - await Group.update({ _id: challenge.group }, { $inc: { challengeCount: -1 } }).exec(); + await Group.updateOne({ _id: challenge.group }, { $inc: { challengeCount: -1 } }).exec(); // Award prize to winner and notify if (winner) { @@ -370,7 +371,7 @@ schema.methods.closeChal = async function closeChal (broken = {}) { // reimburse the leader const winnerCanGetGems = await winner.canGetGems(); if (!winnerCanGetGems) { - await User.update( + await User.updateOne( { _id: challenge.leader }, { $inc: { balance: challenge.prize / 4 } }, ).exec(); @@ -408,22 +409,22 @@ schema.methods.closeChal = async function closeChal (broken = {}) { Tasks.Task.remove({ 'challenge.id': challenge._id, userId: { $exists: false } }).exec(), // Set the challenge tag to non-challenge status // and remove the challenge from the user's challenges - User.update({ + User.updateMany({ challenges: challenge._id, 'tags.id': challenge._id, }, { $set: { 'tags.$.challenge': false }, $pull: { challenges: challenge._id }, - }, { multi: true }).exec(), + }).exec(), // Break users' tasks - Tasks.Task.update({ + Tasks.Task.updateMany({ 'challenge.id': challenge._id, }, { $set: { 'challenge.broken': brokenReason, 'challenge.winner': winner && winner.profile.name, }, - }, { multi: true }).exec(), + }).exec(), ]; Promise.all(backgroundTasks); diff --git a/website/server/models/group.js b/website/server/models/group.js index 35e35b3b86..a4f8f939fb 100644 --- a/website/server/models/group.js +++ b/website/server/models/group.js @@ -44,6 +44,7 @@ const { questSeriesAchievements } = shared.content; const { Schema } = mongoose; export const INVITES_LIMIT = 100; // must not be greater than MAX_EMAIL_INVITES_BY_USER +export const PARTY_PENDING_LIMIT = 10; export const { TAVERN_ID } = shared; const NO_CHAT_NOTIFICATIONS = [TAVERN_ID]; @@ -267,10 +268,13 @@ schema.statics.getGroup = async function getGroup (options = {}) { if (groupId === user.party._id) { // reset party object to default state user.party = {}; + await user.save(); } else { - removeFromArray(user.guilds, groupId); + const item = removeFromArray(user.guilds, groupId); + if (item) { + await user.save(); + } } - await user.save(); } return group; @@ -403,6 +407,7 @@ schema.statics.toJSONCleanChat = async function groupToJSONCleanChat (group, use if (user._id !== chatMsg.uuid && chatMsg.flagCount >= CHAT_FLAG_LIMIT_FOR_HIDING) { return undefined; } + chatMsg.flagCount = 0; } return chatMsg; @@ -486,6 +491,9 @@ schema.statics.validateInvitations = async function getInvitationErr (invites, r query['invitations.party.id'] = group._id; // @TODO invitations are now stored like this: `'invitations.parties': []` const groupInvites = await User.countDocuments(query).exec(); + if (groupInvites + totalInvites > PARTY_PENDING_LIMIT) { + throw new BadRequest(res.t('partyExceedsInvitesLimit', { maxInvites: PARTY_PENDING_LIMIT })); + } memberCount += groupInvites; // Counting the members that are going to be invited by email and uuids @@ -581,7 +589,10 @@ schema.methods.sendChat = function sendChat (options = {}) { // Kick off chat notifications in the background. - const query = {}; + const query = { + _id: { $ne: user ? user._id : '' }, + 'notifications.data.group.id': { $ne: this._id }, + }; if (this.type === 'party') { query['party._id'] = this._id; @@ -589,16 +600,7 @@ schema.methods.sendChat = function sendChat (options = {}) { query.guilds = this._id; } - query._id = { $ne: user ? user._id : '' }; - - // First remove the old notification (if it exists) - const lastSeenUpdateRemoveOld = { - $pull: { - notifications: { type: 'NEW_CHAT_MESSAGE', 'data.group.id': this._id }, - }, - }; - - // Then add the new notification + // Add the new notification const lastSeenUpdateAddNew = { $set: { // old notification, supported until mobile is updated and we release api v4 [`newMessages.${this._id}`]: { name: this.name, value: true }, @@ -612,9 +614,7 @@ schema.methods.sendChat = function sendChat (options = {}) { }; User - .update(query, lastSeenUpdateRemoveOld, { multi: true }) - .exec() - .then(() => User.update(query, lastSeenUpdateAddNew, { multi: true }).exec()) + .updateMany(query, lastSeenUpdateAddNew).exec() .catch(err => logger.error(err)); if (this.type === 'party' && user) { @@ -662,7 +662,7 @@ schema.methods.handleQuestInvitation = async function handleQuestInvitation (use // to prevent multiple concurrent requests overriding updates // see https://github.com/HabitRPG/habitica/issues/11398 const Group = this.constructor; - const result = await Group.update( + const result = await Group.updateOne( { _id: this._id, [`quest.members.${user._id}`]: { $type: 10 }, // match BSON Type Null (type number 10) @@ -710,7 +710,7 @@ schema.methods.startQuest = async function startQuest (user) { // Persist quest.members early to avoid simultaneous handling of accept/reject // while processing the rest of this script - await this.update({ $set: { 'quest.members': this.quest.members } }).exec(); + await this.updateOne({ $set: { 'quest.members': this.quest.members } }).exec(); const nonUserQuestMembers = _.keys(this.quest.members); removeFromArray(nonUserQuestMembers, user._id); @@ -750,7 +750,7 @@ schema.methods.startQuest = async function startQuest (user) { user.markModified('items.quests'); promises.push(user.save()); } else { // another user is starting the quest, update the leader separately - promises.push(User.update({ _id: this.quest.leader }, { + promises.push(User.updateOne({ _id: this.quest.leader }, { $inc: { [`items.quests.${this.quest.key}`]: -1, }, @@ -758,7 +758,7 @@ schema.methods.startQuest = async function startQuest (user) { } // update the remaining users - promises.push(User.update({ + promises.push(User.updateMany({ _id: { $in: nonUserQuestMembers }, }, { $set: { @@ -766,16 +766,15 @@ schema.methods.startQuest = async function startQuest (user) { 'party.quest.progress.down': 0, 'party.quest.completed': null, }, - }, { multi: true }).exec()); + }).exec()); await Promise.all(promises); // update the users who are not participating // Do not block updates - User.update({ + User.updateMany({ _id: { $in: nonMembers }, - }, _cleanQuestParty(), - { multi: true }).exec(); + }, _cleanQuestParty()).exec(); const newMessage = this.sendChat({ message: `\`${shared.i18n.t('chatQuestStarted', { questName: quest.text('en') }, 'en')}\``, @@ -906,7 +905,7 @@ function _getUserUpdateForQuestReward (itemToAward, allAwardedItems) { async function _updateUserWithRetries (userId, updates, numTry = 1, query = {}) { query._id = userId; try { - return await User.update(query, updates).exec(); + return await User.updateOne(query, updates).exec(); } catch (err) { if (numTry < MAX_UPDATE_RETRIES) { numTry += 1; // eslint-disable-line no-param-reassign @@ -952,7 +951,7 @@ schema.methods.finishQuest = async function finishQuest (quest) { this.markModified('quest'); if (this._id === TAVERN_ID) { - return User.update({}, updates, { multi: true }).exec(); + return User.updateMany({}, updates).exec(); } const promises = participants.map(userId => { @@ -1392,10 +1391,10 @@ schema.methods.leave = async function leaveGroup (user, keep = 'keep-all', keepC const userUpdate = { $pull: { 'preferences.tasks.mirrorGroupTasks': group._id } }; if (group.type === 'guild') { userUpdate.$pull.guilds = group._id; - promises.push(User.update({ _id: user._id }, userUpdate).exec()); + promises.push(User.updateOne({ _id: user._id }, userUpdate).exec()); } else { userUpdate.$set = { party: {} }; - promises.push(User.update({ _id: user._id }, userUpdate).exec()); + promises.push(User.updateOne({ _id: user._id }, userUpdate).exec()); update.$unset = { [`quest.members.${user._id}`]: 1 }; } @@ -1511,7 +1510,7 @@ schema.methods.unlinkTask = async function groupUnlinkTask ( const promises = [unlinkingTask.save()]; if (keep === 'keep-all') { - await Tasks.Task.update(findQuery, { + await Tasks.Task.updateOne(findQuery, { $set: { group: {} }, }).exec(); diff --git a/website/server/models/subscriptionPlan.js b/website/server/models/subscriptionPlan.js index dc04661142..8bc7daa587 100644 --- a/website/server/models/subscriptionPlan.js +++ b/website/server/models/subscriptionPlan.js @@ -3,6 +3,9 @@ import validator from 'validator'; import baseModel from '../libs/baseModel'; import { TransactionModel as Transaction } from './transaction'; +// multi-month subscriptions are for multiples of 3 months +const SUBSCRIPTION_BASIC_BLOCK_LENGTH = 3; + export const schema = new mongoose.Schema({ planId: String, subscriptionId: String, @@ -13,7 +16,9 @@ export const schema = new mongoose.Schema({ dateCreated: Date, dateTerminated: Date, dateUpdated: Date, + dateCurrentTypeCreated: Date, extraMonths: { $type: Number, default: 0 }, + perkMonthCount: { $type: Number, default: -1 }, gemsBought: { $type: Number, default: 0 }, mysteryItems: { $type: Array, default: () => [] }, lastReminderDate: Date, // indicates the last time a subscription reminder was sent @@ -45,6 +50,40 @@ schema.plugin(baseModel, { _id: false, }); +schema.methods.incrementPerkCounterAndReward = async function incrementPerkCounterAndReward +(userID, adding) { + let addingNumber = adding; + if (typeof adding === 'string' || adding instanceof String) { + addingNumber = parseInt(adding, 10); + } + const isSingleMonthPlan = this.planId === 'basic_earned' || this.planId === 'group_plan_auto' || this.planId === 'group_monthly'; + // if perkMonthCount wasn't used before, initialize it. + if (this.perkMonthCount === undefined || this.perkMonthCount === -1) { + if (isSingleMonthPlan && this.consecutive.count > 0) { + this.perkMonthCount = (this.consecutive.count - 1) % SUBSCRIPTION_BASIC_BLOCK_LENGTH; + } else { + this.perkMonthCount = 0; + } + } else if (isSingleMonthPlan) { + const expectedPerkMonthCount = (this.consecutive.count - 1) % SUBSCRIPTION_BASIC_BLOCK_LENGTH; + if (this.perkMonthCount === (expectedPerkMonthCount - 1)) { + // User was affected by a bug that makes their perkMonthCount off by one + this.perkMonthCount += 1; + } + } + this.perkMonthCount += addingNumber; + + const perks = Math.floor(this.perkMonthCount / 3); + if (perks > 0) { + this.consecutive.gemCapExtra += 5 * perks; // 5 extra Gems every 3 months + // cap it at 50 (hard 25 limit + extra 25) + if (this.consecutive.gemCapExtra > 25) this.consecutive.gemCapExtra = 25; + this.perkMonthCount -= (perks * 3); + // one Hourglass every 3 months + await this.updateHourglasses(userID, perks, 'subscription_perks'); // eslint-disable-line no-await-in-loop + } +}; + schema.methods.updateHourglasses = async function updateHourglasses (userId, amount, transactionType, diff --git a/website/server/models/user/hooks.js b/website/server/models/user/hooks.js index 9106f4173a..e1b00de15b 100644 --- a/website/server/models/user/hooks.js +++ b/website/server/models/user/hooks.js @@ -150,10 +150,22 @@ function _setUpNewUser (user) { user.items.quests.dustbunnies = 1; user.purchased.background.violet = true; user.preferences.background = 'violet'; - if (moment().isBetween('2022-12-27T08:00-05:00', '2023-01-02T20:00-05:00')) { - user.migration = '20221227_nye'; - user.items.gear.owned.head_special_nye = true; - user.items.gear.equipped.head = 'head_special_nye'; + if (moment().isBefore('2023-03-15T12:00-05:00')) { + user.migration = '20230314_pi_day'; + user.items.gear.owned.head_special_piDay = true; + user.items.gear.equipped.head = 'head_special_piDay'; + user.items.gear.owned.shield_special_piDay = true; + user.items.gear.equipped.shield = 'shield_special_piDay'; + user.items.food.Pie_Skeleton = 1; + user.items.food.Pie_Base = 1; + user.items.food.Pie_CottonCandyBlue = 1; + user.items.food.Pie_CottonCandyPink = 1; + user.items.food.Pie_Shade = 1; + user.items.food.Pie_White = 1; + user.items.food.Pie_Golden = 1; + user.items.food.Pie_Zombie = 1; + user.items.food.Pie_Desert = 1; + user.items.food.Pie_Red = 1; } user.markModified('items achievements'); @@ -380,6 +392,13 @@ schema.pre('update', function preUpdateUser () { this.update({}, { $inc: { _v: 1 } }); }); +schema.pre('updateOne', function preUpdateUser () { + this.updateOne({}, { $inc: { _v: 1 } }); +}); +schema.pre('updateMany', function preUpdateUser () { + this.updateMany({}, { $inc: { _v: 1 } }); +}); + schema.post('save', function postSaveUser () { // Send a webhook notification when the user has leveled up if (this._tmp && this._tmp.leveledUp && this._tmp.leveledUp.length > 0) { diff --git a/website/server/models/user/methods.js b/website/server/models/user/methods.js index b1f1cd19b2..6272c84b72 100644 --- a/website/server/models/user/methods.js +++ b/website/server/models/user/methods.js @@ -225,10 +225,9 @@ schema.statics.pushNotification = async function pushNotification ( throw validationResult; } - await this.update( + await this.updateMany( query, { $push: { notifications: newNotification.toObject() } }, - { multi: true }, ).exec(); }; @@ -274,13 +273,12 @@ schema.statics.addAchievementUpdate = async function addAchievementUpdate (query const validationResult = newNotification.validateSync(); if (validationResult) throw validationResult; - await this.update( + await this.updateMany( query, { $push: { notifications: newNotification.toObject() }, $set: { [`achievements.${achievement}`]: true }, }, - { multi: true }, ).exec(); }; diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js index 0f47a975d9..8a98ee17ce 100644 --- a/website/server/models/user/schema.js +++ b/website/server/models/user/schema.js @@ -153,6 +153,8 @@ export default new Schema({ woodlandWizard: Boolean, boneToPick: Boolean, polarPro: Boolean, + plantParent: Boolean, + dinosaurDynasty: Boolean, // Onboarding Guide createdTask: Boolean, completedTask: Boolean, @@ -305,6 +307,7 @@ export default new Schema({ cardReceived: { $type: Boolean, default: false }, warnedLowHealth: { $type: Boolean, default: false }, verifiedUsername: { $type: Boolean, default: false }, + thirdPartyTools: { $type: Date }, }, history: { @@ -500,6 +503,7 @@ export default new Schema({ // invite is accepted or rejected, quest starts, or quest is cancelled RSVPNeeded: { $type: Boolean, default: false }, }, + seeking: Date, }, preferences: { dayStart: { @@ -531,6 +535,7 @@ export default new Schema({ stickyHeader: { $type: Boolean, default: true }, disableClasses: { $type: Boolean, default: false }, newTaskEdit: { $type: Boolean, default: false }, + // not used anymore, now the current filter is saved in preferences.activeFilter dailyDueDefaultView: { $type: Boolean, default: false }, advancedCollapsed: { $type: Boolean, default: false }, toolbarCollapsed: { $type: Boolean, default: false }, @@ -591,6 +596,12 @@ export default new Schema({ mirrorGroupTasks: [ { $type: String, validate: [v => validator.isUUID(v), 'Invalid group UUID.'], ref: 'Group' }, ], + activeFilter: { + habit: { $type: String, default: 'all' }, + daily: { $type: String, default: 'all' }, + todo: { $type: String, default: 'remaining' }, + reward: { $type: String, default: 'all' }, + }, }, improvementCategories: { $type: Array, @@ -613,9 +624,9 @@ export default new Schema({ }, stats: { hp: { $type: Number, default: shared.maxHealth }, - mp: { $type: Number, default: 10 }, + mp: { $type: Number, default: 10, min: 0 }, exp: { $type: Number, default: 0 }, - gp: { $type: Number, default: 0 }, + gp: { $type: Number, default: 0, min: 0 }, lvl: { $type: Number, default: 1, @@ -627,17 +638,17 @@ export default new Schema({ class: { $type: String, enum: ['warrior', 'rogue', 'wizard', 'healer'], default: 'warrior', required: true, }, - points: { $type: Number, default: 0 }, - str: { $type: Number, default: 0 }, - con: { $type: Number, default: 0 }, - int: { $type: Number, default: 0 }, - per: { $type: Number, default: 0 }, + points: { $type: Number, default: 0, min: 0 }, + str: { $type: Number, default: 0, min: 0 }, + con: { $type: Number, default: 0, min: 0 }, + int: { $type: Number, default: 0, min: 0 }, + per: { $type: Number, default: 0, min: 0 }, buffs: { - str: { $type: Number, default: 0 }, - int: { $type: Number, default: 0 }, - per: { $type: Number, default: 0 }, - con: { $type: Number, default: 0 }, - stealth: { $type: Number, default: 0 }, + str: { $type: Number, default: 0, min: 0 }, + int: { $type: Number, default: 0, min: 0 }, + per: { $type: Number, default: 0, min: 0 }, + con: { $type: Number, default: 0, min: 0 }, + stealth: { $type: Number, default: 0, min: 0 }, streaks: { $type: Boolean, default: false }, snowball: { $type: Boolean, default: false }, spookySparkles: { $type: Boolean, default: false }, diff --git a/website/server/models/userNotification.js b/website/server/models/userNotification.js index ea9636a1b1..dc270231bf 100644 --- a/website/server/models/userNotification.js +++ b/website/server/models/userNotification.js @@ -31,6 +31,7 @@ const NOTIFICATION_TYPES = [ 'SCORED_TASK', 'UNALLOCATED_STATS_POINTS', 'WON_CHALLENGE', + 'ITEM_RECEIVED', // notify user when they've got goodies via migration // achievement notifications 'ACHIEVEMENT', // generic achievement notification, details inside `notification.data` 'CHALLENGE_JOINED_ACHIEVEMENT',