Si usa Habitica en otras PC o dispositivos móviles, la zona horaria debe ser la misma para todos. Si tus Diarias se han reiniciado en el momento equivocado, repite este control en todas las otras PC y en un navegador en tus dispositivos móviles.",
"push": "Empuja",
- "about": "Acerca de"
+ "about": "Acerca de",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/es_419/subscriber.json b/website/common/locales/es_419/subscriber.json
index 89d4610734..097c816e28 100644
--- a/website/common/locales/es_419/subscriber.json
+++ b/website/common/locales/es_419/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Conjunto del Pavo Real",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Conjunto Steampunk Estándar ",
"mysterySet301405": "Conjunto de Accesorios Steampunk",
"mysterySet301703": "Conjunto Pavo Real Steampunk",
diff --git a/website/common/locales/fr/backgrounds.json b/website/common/locales/fr/backgrounds.json
index 6c280d44a7..937a079eea 100644
--- a/website/common/locales/fr/backgrounds.json
+++ b/website/common/locales/fr/backgrounds.json
@@ -367,11 +367,25 @@
"backgroundDilatoryCityNotes": "Serpenter à travers la ville sous-marine de Dilatory.",
"backgroundTidePoolText": "Marre résiduelle",
"backgroundTidePoolNotes": "Observer la vie océanique dans une marre résiduelle",
- "backgrounds082018": "Ensemble 51 ; sorti en août 2018",
+ "backgrounds082018": "Ensemble 51 : sorti en août 2018",
"backgroundTrainingGroundsText": "Terrain d’entraînement",
"backgroundTrainingGroundsNotes": "Joutez sur le terrain d'entraînement.",
"backgroundFlyingOverRockyCanyonText": "Canyon rocheux",
"backgroundFlyingOverRockyCanyonNotes": "Regardez un paysage à couper le souffle pendant que vous volez au dessus d’un canyon rocheux.",
"backgroundBridgeText": "Pont",
- "backgroundBridgeNotes": "Franchissez un charmant ponton"
+ "backgroundBridgeNotes": "Franchissez un charmant ponton",
+ "backgrounds092018": "Ensemble 52 : sorti en Septembre 2018",
+ "backgroundApplePickingText": "Cueillette de pommes",
+ "backgroundApplePickingNotes": "Allez cueillir des pommes et ramenez boisseau chez vous.",
+ "backgroundGiantBookText": "Livre géant",
+ "backgroundGiantBookNotes": "Lisez alors que vous parcourez les pages d'un livre géant.",
+ "backgroundCozyBarnText": "Grange confortable",
+ "backgroundCozyBarnNotes": "Relaxez-vous avec vos familiers et monture dans leur grange confortable.",
+ "backgrounds102018": "SET 53 : Sorti en Octobre 2018",
+ "backgroundBayouText": "Marécage",
+ "backgroundBayouNotes": "Baignez dans la lueur des lucioles du Marécage brumeux.",
+ "backgroundCreepyCastleText": "Château Terrifiant",
+ "backgroundCreepyCastleNotes": "Osez approcher d'un Château Terrifiant.",
+ "backgroundDungeonText": "Donjon",
+ "backgroundDungeonNotes": "Sauvez les prisonniers d'un Dongeon effrayant."
}
\ No newline at end of file
diff --git a/website/common/locales/fr/character.json b/website/common/locales/fr/character.json
index bbd9ae5f67..43eccf3a55 100644
--- a/website/common/locales/fr/character.json
+++ b/website/common/locales/fr/character.json
@@ -8,6 +8,8 @@
"other": "Autres",
"fullName": "Nom complet",
"displayName": "Pseudonyme",
+ "changeDisplayName": "Changer le nom affiché",
+ "newDisplayName": "Nouveau nom affiché",
"displayPhoto": "Photo",
"displayBlurb": "Résumé",
"displayBlurbPlaceholder": "Veuillez vous présenter",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Cacher la répartition des attributs",
"quickAllocationLevelPopover": "Chaque niveau vous rapporte un point que vous pouvez assigner à un attribut de votre choix. Vous pouvez le faire manuellement ou laissez le jeu décider pour vous, en utilisant les options d'attribution automatique qui se trouvent dans l'icône utilisateur -> caractéristiques.",
"notEnoughAttrPoints": "Vous n'avez pas assez de points d'attribut.",
+ "classNotSelected": "Vous devez choisir une classe avant de pouvoir assigner les points de statistique.",
"style": "Style",
"facialhair": "Pilosité faciale",
"photo": "Photo",
diff --git a/website/common/locales/fr/communityguidelines.json b/website/common/locales/fr/communityguidelines.json
index 019fc83d37..9706c9b788 100644
--- a/website/common/locales/fr/communityguidelines.json
+++ b/website/common/locales/fr/communityguidelines.json
@@ -56,10 +56,10 @@
"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, manquer de respect ou contester un modérateur. 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 à un modérateur. 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).",
"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 dans l'espace public ",
+ "commGuideList06D": "Violations répétées du code de conduite en espace public ",
"commGuideList06E": "Commissions répétées d'infractions mineures",
"commGuideHeadingMinorInfractions": "Infractions mineures",
"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.",
diff --git a/website/common/locales/fr/content.json b/website/common/locales/fr/content.json
index d58f9cfbf9..38e1b6e584 100644
--- a/website/common/locales/fr/content.json
+++ b/website/common/locales/fr/content.json
@@ -175,7 +175,10 @@
"questEggSeaSerpentAdjective": "étincelant",
"questEggKangarooText": "Kangourou",
"questEggKangarooMountText": "Kangourou",
- "questEggKangarooAdjective": "a keen",
+ "questEggKangarooAdjective": "enthousiaste",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Trouvez une potion d’éclosion à verser sur cet œuf et il en sortira <%= eggAdjective(locale) %> bébé <%= eggText(locale) %>.",
"hatchingPotionBase": "de base",
"hatchingPotionWhite": "des neiges",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Nuit étoilée",
"hatchingPotionRainbow": "Arc-en-ciel",
"hatchingPotionGlass": "Verre",
+ "hatchingPotionGlow": "phosphorescent",
"hatchingPotionNotes": "Versez-la sur un œuf et il en sortira un familier <%= potText(locale) %>.",
"premiumPotionAddlNotes": "N'est pas utilisable sur les œufs de quête.",
"foodMeat": "Côtelette",
diff --git a/website/common/locales/fr/front.json b/website/common/locales/fr/front.json
index bb504c592a..3330bb8b92 100644
--- a/website/common/locales/fr/front.json
+++ b/website/common/locales/fr/front.json
@@ -114,7 +114,7 @@
"marketing3Header": "Applications et extensions",
"marketing3Lead1": "Les applications iPhone et Android vous permettent de vous occuper de vos affaires en déplacement. Nous somme conscients que se connecter sur le site web pour cliquer sur des boutons peut être un frein.",
"marketing3Lead2Title": "Intégrations",
- "marketing3Lead2": "D'autres **outils tiers** connectent Habitica à d'autres aspects de votre vie. Notre API permet l’intégration facile de choses comme l'[extension Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=fr-FR), avec laquelle vous perdez des points en naviguant sur des sites non-productifs, et en gagnez sur des sites productifs. [Plus d'informations ici](http://fr.habitica.wikia.com/wiki/Int%C3%A9grations_d%27Applications_et_d%27Extensions).",
+ "marketing3Lead2": "D'autres **outils tiers** connectent Habitica à d'autres aspects de votre vie. Notre API permet l’intégration facile de choses comme l'[extension Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=fr-FR), avec laquelle vous perdez des points en naviguant sur des sites non-productifs, et en gagnez sur des sites productifs. [Plus d'informations ici](http://fr.habitica.wikia.com/wiki/Extensions,_modules_compl%C3%A9mentaires_et_personnalisations).",
"marketing4Header": "Utilisation par une organisation",
"marketing4Lead1": "L'éducation est un des meilleurs domaines pour la ludification. Nous savons tous à quel point les étudiants sont collés à leurs téléphones ; exploitez ce pouvoir ! Dressez vos élèves les uns contre les autres dans une compétition amicale. Récompensez les bons résultats avec des récompenses rares. Observez leurs notes et leur comportement monter en flèche.",
"marketing4Lead1Title": "La ludification dans l'éducation",
@@ -211,7 +211,7 @@
"unlockByline2": "Déverrouillez de nouveaux moyens de motivation comme collectionner des familiers, lancer des sorts, obtenir des récompenses aléatoires et bien d'autres choses !",
"unlockHeadline": "En restant productif, vous déverrouillez plus de contenu !",
"useUUID": "Utilisez l'UUID / le jeton d'API (pour les utilisateurs Facebook)",
- "username": "Nom de connexion",
+ "username": "Nom d'utilisateur",
"emailOrUsername": "Adresse courriel ou nom de connexion (sensible à la casse)",
"watchVideos": "Regarder les vidéos",
"work": "Travailler",
@@ -270,9 +270,16 @@
"notAnEmail": "Adresse courriel invalide.",
"emailTaken": "Adresse courriel déjà utilisée par un utilisateur.",
"newEmailRequired": "Nouvelle adresse courriel manquante.",
- "usernameTaken": "Le nom de connexion est déjà pris.",
+ "usernameTime": "Il est temps de définir votre nom d'utilisateur !",
+ "usernameInfo": "Votre nom affiché n'a pas changé, mais votre ancien nom de connexion va maintenant devenir votre nom d'utilisateur public. Ce nom d'utilisateur sera utilisé pour les invitations, les @mentions dans les discussions, et les messages.
Si vous voulez en savoir plus sur ces modifications, visitez la page Noms de joueur dans le wiki.",
+ "usernameTOSRequirements": "Les noms d'utilisateurs doivent se conformer à nos conditions d'utilisation et à nos règles de vie en communauté. Si vous n'aviez pas précédemment défini un nom de connexion, votre nom d'utilisateur a été auto-généré.",
+ "usernameTaken": "Le nom de connexion est déjà utilisé.",
"usernameWrongLength": "La longueur du nom d'utilisateur doit être comprise entre 1 et 20 caractères.",
- "usernameBadCharacters": "Le nom d'utilisateur doit uniquement contenir des caractères alphanumériques (non accentués), des traits d'union et/ou des tirets bas.",
+ "displayNameWrongLength": "La longueur du nom affiché doit être comprise entre 1 et 30 caractères.",
+ "usernameBadCharacters": "Le nom d'utilisateur doit uniquement contenir des lettres de a à z, des chiffres de 0 à 9, des traits d'union et/ou des tirets bas.",
+ "nameBadWords": "Les noms ne peuvent inclure des mots grossiers.",
+ "confirmUsername": "Confirmer le nom d'utilisateur",
+ "usernameConfirmed": "Nom d'utilisateur confirmé",
"passwordConfirmationMatch": "La confirmation du mot de passe ne correspond pas au mot de passe.",
"invalidLoginCredentials": "Nom d'utilisateur, courriel ou mot de passe incorrect.",
"passwordResetPage": "Réinitialiser le mot de passe",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Inscription via <%= social %>",
"loginWithSocial": "Connexion via <%= social %>",
"confirmPassword": "Confirmer le mot de passe",
- "usernameLimitations": "Le nom d'utilisateur doit être long de 1 à 20 caractères, et contenir uniquement des caractères alphanumériques (non accentués), des traits d'union et/ou des tirets bas.",
+ "usernameLimitations": "Le nom d'utilisateur doit faire de 1 à 20 caractères, contenir des lettres de a à z, des chiffres de 0 à 9, des traits d'union et/ou des tirets bas, et ne peut contenir de mot grossier.",
"usernamePlaceholder": "par exemple Wasabitica",
"emailPlaceholder": "par exemple wasabi@exemple.com",
"passwordPlaceholder": "par exemple ******************",
@@ -329,6 +336,5 @@
"signup": "Inscrivez-vous",
"getStarted": "Commencez",
"mobileApps": "Applications mobiles",
- "learnMore": "En savoir plus",
- "useMobileApps": "Habitica n'est pas optimisé pour un navigateur mobile. Nous vous recommandons de télécharger nos applications mobiles."
+ "learnMore": "En savoir plus"
}
\ No newline at end of file
diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json
index b26397a7b5..feb73dfdfd 100644
--- a/website/common/locales/fr/gear.json
+++ b/website/common/locales/fr/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Sous l’eau, la magie du feu, de la glace ou de l’électricité peut être dangereuse pour le mage qui la détient. Soigner le poison des vives, par contre, est très utile ! Augmente l'Intelligence de <%= int %> et la Perception de <%= per %>. Équipement en édition limitée de l’été 2018.",
"weaponSpecialSummer2018HealerText": "Trident de Sirène Monarque",
"weaponSpecialSummer2018HealerNotes": "D'un geste bienveillant, vous commandez aux eaux revigorantes de couler en vagues à travers votre équipement. Augmente l'intelligence de <%= int %>. Équipement en édition limitée de l'été 2018.",
+ "weaponSpecialFall2018RogueText": "Fiole de clarté",
+ "weaponSpecialFall2018RogueNotes": "Quand vous avez besoin de revenir à la raison, quand vous avez besoin d'un petit coup de pouce, prenez une grande inspiration et une gorgée. Ça va aller ! Augmente la Force de<%= str %>. Équipement d'Automne en édition limitée 2018.",
+ "weaponSpecialFall2018WarriorText": "Fouet de Minos",
+ "weaponSpecialFall2018WarriorNotes": "Pas vraiment assez long pour se dérouler derrière vous et vous aider à trouver votre chemin dans un labyrinthe. Enfin, peut-être dans un très petit labyrinthe. Augmente la Force de<%= str %>. Équipement d'Automne en édition limitée 2018.",
+ "weaponSpecialFall2018MageText": "Bâton du Délice",
+ "weaponSpecialFall2018MageNotes": "C'est loin d'être une sucette ordinaire ! L'orbe rougeoyante de sucre magique perchée en haut de ce bâton possède le pouvoir de coller les bonnes habitudes à vous. Augmente l'Intelligence de <%= int %> et la Perception de <%= per %>. Équipement d'Automne en édition limitée 2018. Objet à deux mains.",
+ "weaponSpecialFall2018HealerText": "Bâton glouton",
+ "weaponSpecialFall2018HealerNotes": "Il suffit de nourrir ce bâton, et celui-ci accordera des bénédictions. Si vous oubliez de le nourrir, attention à vos doigts. Augmente l'Intelligence de <%= int %>. Équipement d'Automne en édition limitée 2018.",
"weaponMystery201411Text": "Fourche festive",
"weaponMystery201411Notes": "Embrochez vos ennemis ou plantez-la dans votre nourriture préférée : cette fourche multi-fonctions peut tout faire ! N'apporte aucun bonus. Équipement d'abonné·e de novembre 2014.",
"weaponMystery201502Text": "Bâton chatoyant ailé d'amour et aussi de vérité",
@@ -350,6 +358,10 @@
"weaponArmoirePoisonedGobletNotes": "Servez-vous de ceci pour augmenter votre résistance à l'iocane en poudre et autres poisons incroyablement dangereux. Augmente l'Intelligence de <%= int %>. Armoire enchantée : ensemble de princesse de la piraterie (objet 3 sur 4).",
"weaponArmoireJeweledArcherBowText": "Arc en joyaux",
"weaponArmoireJeweledArcherBowNotes": "Cet arc en or et en gemmes enverra vos flèches sur leurs cibles à des vitesses incroyables. Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble de l'Archer aux joyaux (Objet 3 de 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Aiguille de reliure",
+ "weaponArmoireNeedleOfBookbindingNotes": "La robustesse des livres est étonnante. Mais cette aiguille peu percer le cœur de vos corvées. Augmente la force de <%= str %>. Armoire enchantée : Ensemble du relieur (Objet 3 de 4).",
+ "weaponArmoireSpearOfSpadesText": "Lance de Pique",
+ "weaponArmoireSpearOfSpadesNotes": "Cette lance chevaleresque est parfaite pour attaquer vos Habitudes et vos Quotidiennes les plus rouges. Augmente la Constitution de <%= con %>. Armoire enchantée : Set As de Pique (objet 3 sur 3).",
"armor": "armure",
"armorCapitalized": "Armure",
"armorBase0Text": "Habit simple",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "La magie des venins a la réputation d'être subtile. Mais pas pour cette armure colorée, dont le message est clair aux bêtes comme aux tâches : Faites attention ! Augmente l'intelligence de <%= int %>. Équipement en édition limitée de l'été 2018.",
"armorSpecialSummer2018HealerText": "Robes de sirène monarque",
"armorSpecialSummer2018HealerNotes": "Ces robes céruléennes révèles que vous avez des pieds terrestres... certes. Même un monarque peut ne pas être parfait. Augmente la constitution de <%= con %>. Équipement en édition limitée de l'été 2018.",
+ "armorSpecialFall2018RogueText": "Redingote Alter Ego",
+ "armorSpecialFall2018RogueNotes": "Du style pendant la journée, du confort et de la protection pendant la nuit. Augmente la Perception de <%= per %>. Équipement d'Automne en édition limitée 2018.",
+ "armorSpecialFall2018WarriorText": "Côte de mailles Minotaure",
+ "armorSpecialFall2018WarriorNotes": "Elle inclut des sabots pour tambouriner une cadence apaisante tandis que vous parcourez votre labyrinthe méditatif. Augmente la Constitution de <%= con %>. Équipement d'Automne en édition limitée 2018.",
+ "armorSpecialFall2018MageText": "Habits de sucromancien",
+ "armorSpecialFall2018MageNotes": "Des bonbons magiques sont tissés dans l'étoffe même de cette tunique. Par contre, nous vous recommandons de ne pas chercher à les manger. Augmente l'Intelligence de <%= int %>. Équipement d'Automne en édition limitée 2018. ",
+ "armorSpecialFall2018HealerText": "Habits de carnivorie",
+ "armorSpecialFall2018HealerNotes": "Elle est constituée de plantes, mais ça ne veut pas dire qu'elle est végétarienne. Les mauvaises habitudes ont peur d'approcher à moins d'un kilomètre de cette tunique. Augmente la Constitution de <%= con %>. Équipement d'Automne en édition limitée 2018.",
"armorMystery201402Text": "Robe du messager",
"armorMystery201402Notes": "Chatoyante et solide, cette robe possède de nombreuses poches dans lesquelles transporter des lettres. N'apporte aucun bonus. Équipement d'abonné·e de février 2014.",
"armorMystery201403Text": "Armure du marcheur sylvain",
@@ -660,6 +680,10 @@
"armorMystery201806Notes": "Cette queue sinueuse possède des points lumineux pour éclairer votre chemin dans les profondeurs. Ne confère aucun bonus. Équipement d'abonné·e de juin 2018.",
"armorMystery201807Text": "Queue de serpent de mer",
"armorMystery201807Notes": "Cette nageoire puissante vous propulsera dans les mers à des vitesses incroyables ! Ne confère aucun bonus. Équipement d'abonné·e de juin 2018.",
+ "armorMystery201808Text": "Armure de dragon de lave",
+ "armorMystery201808Notes": "Cette armure est faite des écailles perdues par l'insaisissable (et très chaud) dragon de lave. Ne confère aucun bonus. Équipement d'abonnement d'Août 2018.",
+ "armorMystery201809Text": "Armure de feuilles d'automne",
+ "armorMystery201809Notes": "Non seulement vous êtes un petit et redoutable pousse, mais en plus vous portez les plus jolies couleurs de la saison ! N'accorde aucun avantage. Équipement d'abonné·e d'Automne 2018.",
"armorMystery301404Text": "Tenue steampunk",
"armorMystery301404Notes": "Pimpant et fringuant ! N'apporte aucun bonus. Équipement d'abonné·e de février 3015.",
"armorMystery301703Text": "Toge du paon steampunk",
@@ -754,6 +778,10 @@
"armorArmoirePiraticalPrincessGownNotes": "Ce vêtement luxueux a de nombreuses poches pour cacher des armes et du butin ! Augmente la perception de <%= per %>. Armoire enchantée : Ensemble de la princesse pirate (Objet 2 de 4).",
"armorArmoireJeweledArcherArmorText": "Armure en joyaux",
"armorArmoireJeweledArcherArmorNotes": "Cette armure soigneusement décorée vous protégera des projectiles ou des Quotidiennes rouges oubliées ! Augmente la constitution de <%= con %>. Armoire enchantée : Ensemble de l'Archer aux joyaux (Objet 2 de 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Combinaison de reliure",
+ "armorArmoireCoverallsOfBookbindingNotes": "Tout ce dont vous avez besoin dans une combinaison, avec des poches pour chaque chose. Une paire de lunettes, de la monnaie, un anneau en or... Augmente la constitution de <%= con %> et la perception de <%= per %>. Armoire enchantée : Ensemble du relieur (Objet 2 de 4).",
+ "armorArmoireRobeOfSpadesText": "Tunique de Pique",
+ "armorArmoireRobeOfSpadesNotes": "Cette tunique luxuriante contient des poches dissimulées pour y ranger des trésors ou des armes - c'est vous qui voyez ! Augmente la Force de <%= str %>. Armoire enchantée : Set As de Pique (objet 2 sur 3).",
"headgear": "heaume",
"headgearCapitalized": "Couvre-chef",
"headBase0Text": "Pas de couvre-chef",
@@ -996,6 +1024,14 @@
"headSpecialSummer2018MageNotes": "Éblouissez dangereusement ceux qui oseraient voir en vous un poisson goûteux. Augmente la perception de <%= per %>. Équipement en édition limitée de l'été 2018.",
"headSpecialSummer2018HealerText": "Couronne de Sirène Monarque",
"headSpecialSummer2018HealerNotes": "Orné d'aigues-marines, ce fin diadème marque l'autorité sur les gens, les poissons, et celles et ceux qui sont un peu des deux ! Augmente l'intelligence de <%= int %>. Équipement en édition limitée de l'été 2018.",
+ "headSpecialFall2018RogueText": "Visage Alter Ego",
+ "headSpecialFall2018RogueNotes": "La plupart des gens préfèrent cacher leurs luttes intérieures. Ce masque montre que tout le monde vit des tensions entre ses pulsions de Bien et de Mal. Et en plus un chapeau super cool est inclus ! Augmente la Perception de <%= per %>. Équipement d'Automne en édition limitée 2018.",
+ "headSpecialFall2018WarriorText": "Visage du minotaure",
+ "headSpecialFall2018WarriorNotes": "Ce masque effrayant montre que vous pouvez vraiment prendre vos tâches par les cornes ! Augmente la Force de <%= str %>. Équipement en édition limitée de l’automne 2018. ",
+ "headSpecialFall2018MageText": "Chapeau de sucromancien",
+ "headSpecialFall2018MageNotes": "Ce chapeau pointu est imprégné de puissants sortilèges sucrés. Attention, s'il se mouille il pourrait coller ! Augmente la Perception de <%= per %>. Équipement d'Automne en édition limitée 2018.",
+ "headSpecialFall2018HealerText": "Heaume vorace",
+ "headSpecialFall2018HealerNotes": "Ce heaume est façonné à partir d'une plante carnivore rendue célèbre par sa capacité à se débarrasser de zombies et d'autres nuisances. Faites seulement attention à ce qu'elle ne mâchouille pas votre tête. Augmente l'Intelligence de <%= int %>. Équipement d'Automne en édition limitée 2018.",
"headSpecialGaymerxText": "Heaume de guerrier arc-en-ciel",
"headSpecialGaymerxNotes": "En l'honneur de la conférence GaymerX, cet casque spécial est décoré avec un motif arc-en-ciel aussi radieux que coloré ! GaymerX est une convention célébrant les LGBTQ et les jeux, et est ouverte à tous.",
"headMystery201402Text": "Heaume ailé",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "La lumière envoûtante au sommet de ce casque appellera à vos côtés les créatures de la mer. Nous vous enjoignons d'utiliser votre puissance d'attraction phosphorescente pour le bien ! Ne confère aucun bonus. Équipement d'abonnement de Juin 2018.",
"headMystery201807Text": "Casque de serpent de mer",
"headMystery201807Notes": "Les grandes écailles sur ce casque vous protégerons de tout type d'ennemi océanique. Ne confère aucun bonus. Équipement d'abonnement de Juin 2018.",
+ "headMystery201808Text": "Capuche de dragon de lave",
+ "headMystery201808Notes": "Les cornes brillantes sur ce capuchon éclaireront votre chemin à travers les cavernes souterraines. Ne confère aucun bonus. Équipement d'abonnement d'Août 2018.",
+ "headMystery201809Text": "Couronne de fleurs d'automne",
+ "headMystery201809Notes": "Les dernières fleurs des jours chauds de l'automne sont un rappel de la beauté de cette saison. N'apporte aucun bonus. Équipement d'abonné·e de septembre 2018. ",
"headMystery301404Text": "Haut-de-forme fantaisiste",
"headMystery301404Notes": "Un couvre-chef fantaisiste pour les gens de bonne famille les plus élégants ! N'apporte aucun bonus. Équipement d'abonné·e de janvier 3015.",
"headMystery301405Text": "Haut-de-forme classique",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Les boucaniers fantaisistes sont connus pour leur chapeaux fantaisistes ! Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée, Ensemble de la princesse pirate (Objet 1 de 4).",
"headArmoireJeweledArcherHelmText": "Casque en joyaux",
"headArmoireJeweledArcherHelmNotes": "Ce casque parait ornemental, mais il est aussi très léger et résistant. Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble de l'Archer aux joyaux (Objet 1 de 3).",
+ "headArmoireVeilOfSpadesText": "Voile de Pique",
+ "headArmoireVeilOfSpadesNotes": "Un voile obscur et mystérieux qui favorisera votre furtivité. Augmente la Perception de <%= per %>. Armoire enchantée : Set As de Pique (objet 1 sur 3).",
"offhand": "objet de main secondaire",
"offhandCapitalized": "Objet de main secondaire",
"shieldBase0Text": "Pas d'équipement de main secondaire",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Façonné en pierre, ce redoutable bouclier en forme de crâne inspire la peur aux ennemis poissons tout en rassemblant vos familiers et montures squelettes. Augmente la constitution de <%= con %>. Équipement en édition limitée de l'été 2018.",
"shieldSpecialSummer2018HealerText": "Emblème de sirène monarque",
"shieldSpecialSummer2018HealerNotes": "Ce bouclier peut produire un dôme d'air au bénéfice des visiteurs terrestres de votre royaume aquatique. Augmente la constitution de <%= con %>Équipement en édition limitée de l'été 2018.. ",
+ "shieldSpecialFall2018RogueText": "Fiole de tentation",
+ "shieldSpecialFall2018RogueNotes": "Cette bouteille représente tous les problèmes et les distractions qui vous empêchent de donner le meilleur de vous-même. Résistez ! On est là pour vous encourager ! Augmente la Force de <%= str %>. Équipement d'Automne en édition limitée 2018.",
+ "shieldSpecialFall2018WarriorText": "Bouclier brillant",
+ "shieldSpecialFall2018WarriorNotes": "Il est super réfléchissant pour dissuader les Gorgones de jouer à cache-cache ! Augmente la Constitution de <%= con %>. Équipement d'Automne en édition limitée 2018.",
+ "shieldSpecialFall2018HealerText": "Bouclier affamé",
+ "shieldSpecialFall2018HealerNotes": "La gueule grande ouverte, ce bouclier absorbe tous les coups de vos ennemis. Augmente la Constitution de <%= con %>. Équipement d'Automne en édition limitée 2018.",
"shieldMystery201601Text": "Tueuse résolue",
"shieldMystery201601Notes": "Cette lame peut être utilisée pour parer toutes les distractions. N'apporte aucun bonus. Équipement d'abonné·e de janvier 2016.",
"shieldMystery201701Text": "Bouclier du temps transi",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Quel joli vase vous avez fait ! Qu’est-ce que vous allez mettre dedans ? Augmente l’Intelligence de <%= int %>. Armoire enchantée : ensemble du souffleur de verre (objet 4 sur 4).",
"shieldArmoirePiraticalSkullShieldText": "Bouclier-crâne de pirate",
"shieldArmoirePiraticalSkullShieldNotes": "Ce bouclier enchanté va murmurer les emplacements secrets des trésors de vos ennemis - écoutez bien ! Augmente la perception et l'intelligence de <%= attrs %> chacun. Armoire enchantée : Ensemble de la princesse pirate (Objet 4 de 4).",
+ "shieldArmoireUnfinishedTomeText": "Tome inachevé",
+ "shieldArmoireUnfinishedTomeNotes": "Vous ne pouvez pas procrastiner alors que vous tenez ceci ! La reliure doit être finie pour qu'on puisse lire ce livre ! Augmente l'intelligence de <%= int %>. Armoire enchantée : Ensemble du relieur (Objet 4 de 4).",
"back": "Accessoire dorsal",
"backCapitalized": "Accessoire dorsal",
"backBase0Text": "Pas d’accessoire dorsal",
"backBase0Notes": "Pas d’accessoire dorsal.",
+ "animalTails": "Queues d'animaux",
"backMystery201402Text": "Ailes d'or",
"backMystery201402Notes": "Ces ailes brillantes ont des plumes qui étincellent au soleil ! N'apportent aucun bonus. Équipement d'abonné·e de février 2014.",
"backMystery201404Text": "Ailes du papillon crépusculaire",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Cette cape a autrefois appartenu à la maîtresse des classes oubliée en personne. Augmente la Perception de <%= per %>.",
"backSpecialTurkeyTailBaseText": "Queue de dindon",
"backSpecialTurkeyTailBaseNotes": "Portez fièrement votre noble queue de dindon tandis que vous célébrez Thanksgiving ! N'apporte aucun bonus.",
+ "backBearTailText": "Queue d'ours",
+ "backBearTailNotes": "Cette queue vous fait ressembler à un Ours courageux ! Ne confère aucun bonus.",
+ "backCactusTailText": "Queue de cactus",
+ "backCactusTailNotes": "Cette queue vous fait ressembler à un cactus piquant ! Ne confère aucun bonus.",
+ "backFoxTailText": "Queue de renard",
+ "backFoxTailNotes": "Cette queue vous fait ressembler à un renard rusé ! Ne confère aucun bonus.",
+ "backLionTailText": "Queue de lion",
+ "backLionTailNotes": "Cette queue vous fait ressembler à un lion royal ! Ne confère aucun bonus.",
+ "backPandaTailText": "Queue de panda",
+ "backPandaTailNotes": "Cette queue vous fait ressembler à un doux panda ! Ne confère aucun bonus.",
+ "backPigTailText": "Queue de cochon",
+ "backPigTailNotes": "Cette queue vous fait ressembler à un cochon capricieux ! Ne confère aucun bonus.",
+ "backTigerTailText": "Queue de tigre",
+ "backTigerTailNotes": "Cette queue vous fait ressembler à un tigre féroce ! Ne confère aucun bonus.",
+ "backWolfTailText": "Queue de loup",
+ "backWolfTailNotes": "Cette queue vous fait ressembler à un loup loyal ! Ne confère aucun bonus.",
"body": "Accessoire de Corps",
"bodyCapitalized": "Accessoire de corps",
"bodyBase0Text": "Pas d'armure.",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Les lunettes c'est pour les yeux,\" disaient-ils. \"Personne ne voudrait de lunettes qu'on ne peut porter que sur la tête\" disaient-ils. Ha ! Vous leur avez bien montré ! N'apportent aucun bonus. Équipement d'abonné·e d'août 3015.",
"headAccessoryArmoireComicalArrowText": "Flèche comique",
"headAccessoryArmoireComicalArrowNotes": "Cet objet saugrenu fait rire à coup sûr ! Augmente la Force de <%= str %>. Armoire enchantée : objet indépendant.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Lunettes de reliure",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "Ces lunettes vous aideront à identifier n'importe quelle tâche, petite ou grande ! Augmente la perception de <%= per %>. Armoire enchantée : Ensemble du relieur (Objet 1 de 4).",
"eyewear": "Lunettes",
"eyewearCapitalized": "Lunettes",
"eyewearBase0Text": "Pas de Lunettes",
diff --git a/website/common/locales/fr/generic.json b/website/common/locales/fr/generic.json
index 1b8e8c4ca4..bfa490c1ba 100644
--- a/website/common/locales/fr/generic.json
+++ b/website/common/locales/fr/generic.json
@@ -71,6 +71,7 @@
"submit": "Poster",
"close": "Fermer",
"saveAndClose": "Enregistrer & Fermer",
+ "saveAndConfirm": "Sauvegarder & confirmer",
"cancel": "Annuler",
"ok": "OK",
"add": "Ajouter",
diff --git a/website/common/locales/fr/groups.json b/website/common/locales/fr/groups.json
index 9914f73601..6a26ee41c8 100644
--- a/website/common/locales/fr/groups.json
+++ b/website/common/locales/fr/groups.json
@@ -6,6 +6,7 @@
"innText": "Vous voici à l'auberge ! Tant que vous y séjournez, vos Quotidiennes non complétées ne vous affectent pas à la fin de la journée ; mais elles vont tout de même se remettre à zéro tous les jours. Attention : si vous êtes en pleine quête contre un boss, il pourra toujours vous blesser pour les Quotidiennes manquées par vos camarades d'équipe, sauf s'ils séjournent aussi à l'auberge ! Et vous ne pourrez vous-même blesser le boss (ou récolter des objets) que lorsque vous quitterez l'auberge.",
"innTextBroken": "Vous créchez à l'auberge, je suppose... Tant que vous y séjournez, vos Quotidiennes non complétées ne vous affectent pas à la fin de la journée ; mais elles vont tout de même se remettre à zéro tous les jours... Si vous êtes en pleine quête contre un boss, il pourra toujours vous blesser pour les Quotidiennes manquées par vos camarades d'équipe... sauf s'ils séjournent aussi à l'auberge... Et vous ne pourrez vous-même blesser le boss (ou récolter des objets) que lorsque vous quitterez l'auberge... si fatigué...",
"innCheckOutBanner": "Vous résidez actuellement à l'Auberge. Vos quotidiennes ne vous causeront aucun dégât et vous ne progresserez pas dans vos quêtes.",
+ "innCheckOutBannerShort": "Vous vous reposez à l'auberge.",
"resumeDamage": "Réactiver les dommages",
"helpfulLinks": "Liens utiles",
"communityGuidelinesLink": "Règles de vie en communauté",
diff --git a/website/common/locales/fr/limited.json b/website/common/locales/fr/limited.json
index 237bbcd73e..835962c931 100644
--- a/website/common/locales/fr/limited.json
+++ b/website/common/locales/fr/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Mage poisson-lion (Mage)",
"summer2018MerfolkMonarchSet": "Sirène Monarque (Guérisseur)",
"summer2018FisherRogueSet": "Voleur-pêcheur (Voleur)",
+ "fall2018MinotaurWarriorSet": "Minotaure (Guerrier)",
+ "fall2018CandymancerMageSet": "Sucromancien (Mage)",
+ "fall2018CarnivorousPlantSet": "Plante Carnivore (Guérisseur)",
+ "fall2018AlterEgoSet": "Alter Ego (Voleur)",
"eventAvailability": "Disponible à l'achat jusqu'au <%= date(locale) %>.",
"dateEndMarch": "30 avril",
"dateEndApril": "19 avril",
@@ -132,6 +136,7 @@
"dateEndJune": "14 juin",
"dateEndJuly": "31 juillet",
"dateEndAugust": "31 août",
+ "dateEndSeptember": "21 Septembre",
"dateEndOctober": "31 octobre",
"dateEndNovember": "30 novembre",
"dateEndJanuary": "31 janvier",
diff --git a/website/common/locales/fr/messages.json b/website/common/locales/fr/messages.json
index abb5158ba7..aa11b4a73d 100644
--- a/website/common/locales/fr/messages.json
+++ b/website/common/locales/fr/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Pas assez de gemmes!",
"messageAuthPasswordMustMatch": ":password et :confirmPassword ne correspondent pas",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword requis",
- "messageAuthUsernameTaken": "Nom d'utilisateur déjà pris",
"messageAuthEmailTaken": "Adresse courriel déjà prise.",
"messageAuthNoUserFound": "Utilisateur introuvable.",
"messageAuthMustBeLoggedIn": "Vous devez être connecté.",
@@ -54,12 +53,13 @@
"messageGroupChatAdminClearFlagCount": "Seul un administrateur peut modifier ce compteur !",
"messageCannotFlagSystemMessages": "Vous ne pouvez pas signaler un message système. Si vous avez besoin de signaler une violation des règles de vie en communauté liée à ce message, veuillez envoyer un courriel avec une capture d'écran à Lemoness à <%= communityManagerEmail %>.",
"messageGroupChatSpam": "Oups, on dirait que vous postez trop de messages ! Merci d'attendre une minute et d'essayer de nouveau. Le fil de discussion de la taverne ne pouvant contenir que 200 messages, Habitica vous encourage à poster des messages plus longs et plus réfléchis, et à répondre en un seul bloc plutôt qu'en plusieurs petits messages. Nous avons hâte d'entendre ce que vous avez à dire. :)",
- "messageCannotLeaveWhileQuesting": "Vous ne pouvez pas accepter cette invitation pendant que vous êtes en quête. Si vous voulez rejoindre cette équipe, vous devez d'abord annuler la quête, ce que vous pouvez faire depuis la page d'équipe. Vous récupérerez le parchemin de quête.",
+ "messageCannotLeaveWhileQuesting": "Vous ne pouvez pas accepter cette invitation tant que vous êtes en quête. Si vous voulez rejoindre cette équipe, vous devez d'abord annuler la quête, ce que vous pouvez faire depuis la page d'équipe. Vous récupérerez le parchemin de quête.",
"messageUserOperationProtected": "chemin `<%= operation %>` n'a pas été sauvegardé car c'est un chemin protégé.",
"messageUserOperationNotFound": "<%= operation %> opération introuvable",
"messageNotificationNotFound": "Notification non trouvée.",
"messageNotAbleToBuyInBulk": "Cet objet ne peut être acheté en quantités supérieures à 1.",
"notificationsRequired": "Les numéros d'identification (ID) de notification sont requis.",
"unallocatedStatsPoints": "Vous avez <%= points %> points d'attribut non alloués",
- "beginningOfConversation": "Ceci marque le commencement de votre conversation avec <%= userName %>. N´oubliez pas de communiquer avec politesse et respect, tout en suivant les règles de vie en communauté !"
+ "beginningOfConversation": "Ceci marque le commencement de votre conversation avec <%= userName %>. N´oubliez pas de communiquer avec politesse et respect, tout en suivant les règles de vie en communauté !",
+ "messageDeletedUser": "Désolé, cet utilisateur a supprimé son compte."
}
\ No newline at end of file
diff --git a/website/common/locales/fr/questscontent.json b/website/common/locales/fr/questscontent.json
index a8a5aa8439..6212a5de1a 100644
--- a/website/common/locales/fr/questscontent.json
+++ b/website/common/locales/fr/questscontent.json
@@ -65,7 +65,7 @@
"questVice1Completion": "Une fois l'emprise de Vice dissipée, vous sentez revenir une force que vous ne pensiez pas avoir en vous. Félicitations ! Mais un ennemi encore plus terrifiant vous attend...",
"questVice1DropVice2Quest": "Vice, 2e partie (Parchemin)",
"questVice2Text": "Vice, 2e partie : trouvez la tanière de la vouivre",
- "questVice2Notes": "Fiers de vous et de votre aptitude à résister à l'emprise de la vouivre, votre équipe prend la route vers le Mont Habitica. Vous arrivez à l'entrée des cavernes de la montagne et stoppez net. Une houle d'ombre, presque comme un brouillard, s'échappe de l'ouverture. Il est presque impossible de voir quoi que ce soit en face de vous. La lumière de vos lanternes semble s'interrompre brusquement là où commencent les ombres. Il est dit que seule une lumière magique peut percer la brume infernale du dragon. Si vous arrivez à réunir assez de cristaux de lumière, vous pourrez atteindre le dragon. ",
+ "questVice2Notes": "Fière d'elle et de son aptitude à résister à l'emprise de la vouivre, votre équipe prend la route vers le Mont Habitica. Vous arrivez à l'entrée des cavernes de la montagne et stoppez net. Une houle d'ombre, presque comme un brouillard, s'échappe de l'ouverture. Il est presque impossible de voir quoi que ce soit en face de vous. La lumière de vos lanternes semble s'interrompre brusquement là où commencent les ombres. Il est dit que seule une lumière magique peut percer la brume infernale du dragon. Si vous arrivez à réunir assez de cristaux de lumière, vous pourrez atteindre le dragon. ",
"questVice2CollectLightCrystal": "Cristaux de lumière",
"questVice2Completion": "Alors que vous levez le dernier cristal, les ombres disparaissent, et votre chemin se révèlent. Le cœur battant, vous entrez dans la caverne.",
"questVice2DropVice3Quest": "Vice, 3e partie (Parchemin)",
@@ -611,10 +611,18 @@
"questSeaSerpentBoss": "Le puissant serpent de mer",
"questSeaSerpentDropSeaSerpentEgg": "Serpent de mer (œuf)",
"questSeaSerpentUnlockText": "Débloque les oeufs de serpents de mer dans la boutique",
- "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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooText": "Catastrophe kangourou",
+ "questKangarooNotes": "Vous auriez peut-être dû terminer cette dernière tâche.... vous savez, celle que vous évitez toujours, même si elle revient toujours ? Mais @Mewrose et @LilithofAlfheim vous invitent, vous et @stefalupagus, à voir un kangourou rare sauter à travers la savane Tanfépaï ; comment pourriez-vous dire non ?! Alors que la troupe entre en vue, quelque chose vous frappe à l'arrière de la tête d'un puissant boum
! Des étoiles devant les yeux, vous ramassez l'objet responsable - un boomerang rouge foncé, avec la tâche même que vous repoussez continuellement gravée sur sa surface. Un coup d'œil rapide confirme que le reste de votre groupe a connu le même sort. Une plus grande kangourou vous regarde avec un sourire suffisant, comme si elle vous mettait au défi de l'affronter, elle et cette tâche redoutée une fois pour toutes !",
+ "questKangarooCompletion": "\"MAINTENANT !\" Vous faites signe à votre groupe de lancer les boomerangs sur la kangourou. La bête saute plus loin à chaque coup jusqu'à ce qu'elle s'enfuit, ne laissant rien de plus qu'un nuage de poussière rouge foncé, quelques œufs et quelques pièces d'or.
@Mewrose marche jusqu'à l'endroit où la kangourou se tenait autrefois. \"Hé, où sont allés les boomerangs ?\"
\"Ils se sont probablement dissous dans la poussière, faisant ce nuage rouge foncé, quand nous avons terminé nos tâches respectives\", spécule @stefalupagus.
@LilithofAlfheim louche à l'horizon. \"Est-ce qu'une autre troupe de kangourou se dirige vers nous ?\"
Vous vous êtes tous introduits dans une course vers Habit City. Mieux vaut affronter vos tâches difficiles que de prendre une autre bosse à l'arrière de la tête !",
+ "questKangarooBoss": "Kangourou catastrophique",
+ "questKangarooDropKangarooEgg": "Kangourou (Œuf) ",
+ "questKangarooUnlockText": " Déverrouille l'achat d’œufs de kangourou au Marché ",
+ "forestFriendsText": "Lot de quête des amis sylvains",
+ "forestFriendsNotes": "Contient \"L'esprit du printemps\", \"La bête hérissée\" et \"L'arbre tortueux\". Disponible jusqu'au 30 Septembre.",
+ "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 (Œuf)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/fr/settings.json b/website/common/locales/fr/settings.json
index 97ab66ab61..f3e9ad3152 100644
--- a/website/common/locales/fr/settings.json
+++ b/website/common/locales/fr/settings.json
@@ -79,7 +79,7 @@
"beeminderDesc": "Laissez Beeminder contrôler automatiquement vos tâches à faire provenant d'Habitica. Vous pouvez vous engager à effectuer un certain nombre de tâches à faire par jour ou par semaine, ou vous pouvez vous engager à diminuer progressivement le nombre de tâches à faire que vous n'avez pas encore effectuées. (Par \"s'engager\" Beeminder vous menace d'avoir à payer de l'argent pour de vrai ! Mais vous pouvez aussi simplement apprécier les graphiques sophistiqués de Beeminder.)",
"chromeChatExtension": "L'extension Habitica Chat Client pour Chrome",
"chromeChatExtensionDesc": "L'extension Habitica Chat Client pour Chrome ajoute une fenêtre de discussion intuitive à l'ensemble du site habitica.com. Elle permet aux utilisateurs et utilisatrices de discuter dans la taverne, avec leur équipe et dans les guildes dont ils sont membres.",
- "otherExtensions": "Autres extensions",
+ "otherExtensions": "Autres extensions",
"otherDesc": "Trouvez d'autres applications, extensions et outils sur le wiki d'Habitica.",
"resetDo": "Allez-y, réinitialisez mon compte !",
"resetComplete": "Réinitialisation terminée !",
@@ -96,6 +96,7 @@
"passwordChangeSuccess": "Votre mot de passe a été changé avec succès pour celui que vous venez de choisir. Vous pouvez maintenant l'utiliser pour accéder à votre compte.",
"passwordSuccess": "Mot de passe modifié avec succès",
"usernameSuccess": "Nom d'utilisateur modifié avec succès",
+ "displayNameSuccess": "Nom affiché modifié avec succès",
"emailSuccess": "Adresse courriel modifiée avec succès",
"detachSocial": "Supprimer la connexion à <%= network %>",
"detachedSocial": " <%= network %> a été retiré de votre compte avec succès",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Afficher le bouton Inviter Dans L'équipe lorsque l'équipe a 1 seul membre.",
"saveCustomDayStart": "Enregistrer l'heure personnalisée de début de journée",
"registration": "S'enregistrer",
- "addLocalAuth": "Ajouter authentification locale",
+ "addLocalAuth": "Ajouter authentification par email et mot de passe",
"generateCodes": "Générer Codes",
"generate": "Générer",
"getCodes": "Obtenir les Codes",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica utilise le fuseau horaire réglé sur votre PC, qui est le suivant : <%= utc %>",
"timezoneInfo": "Si ce n'est pas le bon fuseau horaire, commencez par actualiser la page en utilisant le bouton Actualiser de votre navigateur pour vous assurer qu'Habitica est à jour. Si ce n'est toujours pas le bon, réglez le fuseau horaire sur votre PC et actualisez cette page à nouveau.
Si vous utilisez Habitica sur d'autres PC ou appareils mobiles, le fuseau horaire doit être le même sur tous. Si vos Quotidiennes continuent d'être réinitialisées à la mauvaise heure, répétez cette vérification sur tous les PCs que vous utilisez et sur le navigateur de vos appareils mobiles.",
"push": "Notification push",
- "about": "À propos"
+ "about": "À propos",
+ "setUsernameNotificationTitle": "Confirmez votre nom d'utilisateur !",
+ "setUsernameNotificationBody": "Nous allons effectuer une transition des noms de connexion à des noms d'utilisateur publics très bientôt. Ce nom d'utilisateur sera utilisé pour les invitations, les @mentions dans les discussion, et les messages.",
+ "usernameIssueSlur": "Les noms d'utilisateurs ne doivent pas contenir de mots grossiers.",
+ "usernameIssueForbidden": "Les noms d'utilisateurs ne doivent pas contenir de mots interdits.",
+ "usernameIssueLength": "Les noms d'utilisateurs doivent contenir entre 1 et 20 caractères.",
+ "usernameIssueInvalidCharacters": "Les noms d'utilisateurs ne peuvent contenir que des lettres de a à z, des chiffres de 0 à 9, des tirets et des tirets bas.",
+ "currentUsername": "Nom d'utilisateur actuel :",
+ "displaynameIssueLength": "Les noms affichés doivent contenir entre 1 et 30 caractères.",
+ "displaynameIssueSlur": "Les noms affichés ne doivent pas contenir de mots grossiers",
+ "goToSettings": "Voir les paramètres",
+ "usernameVerifiedConfirmation": "Votre nom d'utilisateur, <%= username %>, est confirmé !",
+ "usernameNotVerified": "Veuillez confirmer votre nom d'utilisateur.",
+ "changeUsernameDisclaimer": "Nous allons effectuer une transition des noms de connexion à des noms d'utilisateur publics très bientôt. Ce nom d'utilisateur sera utilisé pour les invitations, les @mentions dans les discussion, et les messages."
}
\ No newline at end of file
diff --git a/website/common/locales/fr/subscriber.json b/website/common/locales/fr/subscriber.json
index 5050dc2dd9..6b9fb500c7 100644
--- a/website/common/locales/fr/subscriber.json
+++ b/website/common/locales/fr/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Ensemble du paon phénoménal",
"mysterySet201806": "Ensemble de la lotte envoûtante",
"mysterySet201807": "Ensemble du serpent de mer",
+ "mysterySet201808": "Ensemble du dragon de lave",
+ "mysterySet201809": "Ensemble d'armure automnale",
"mysterySet301404": "Ensemble steampunk de base",
"mysterySet301405": "Ensemble d'accessoires steampunks",
"mysterySet301703": "Ensemble du paon steampunk",
diff --git a/website/common/locales/he/backgrounds.json b/website/common/locales/he/backgrounds.json
index 1c6095e5cb..3fe796c3eb 100644
--- a/website/common/locales/he/backgrounds.json
+++ b/website/common/locales/he/backgrounds.json
@@ -310,25 +310,25 @@
"backgroundMidnightCastleText": "Midnight Castle",
"backgroundMidnightCastleNotes": "Stroll by the Midnight Castle.",
"backgroundTornadoText": "טורנדו",
- "backgroundTornadoNotes": "Fly through a Tornado.",
- "backgrounds122017": "SET 43: Released December 2017",
+ "backgroundTornadoNotes": "עוף דרך טורנדו.",
+ "backgrounds122017": "סט 43: שוחרר בדצמבר 2017",
"backgroundCrosscountrySkiTrailText": "Cross-Country Ski Trail",
"backgroundCrosscountrySkiTrailNotes": "Glide along a Cross-Country Ski Trail.",
"backgroundStarryWinterNightText": "Starry Winter Night",
"backgroundStarryWinterNightNotes": "Admire a Starry Winter Night.",
"backgroundToymakersWorkshopText": "Toymaker's Workshop",
"backgroundToymakersWorkshopNotes": "Bask in the wonder of a Toymaker's Workshop.",
- "backgrounds012018": "SET 44: Released January 2018",
+ "backgrounds012018": "סט 44: שוחרר בינואר 2018",
"backgroundAuroraText": "Aurora",
"backgroundAuroraNotes": "Bask in the wintry glow of an Aurora.",
"backgroundDrivingASleighText": "Sleigh",
"backgroundDrivingASleighNotes": "Drive a Sleigh over snow-covered fields.",
"backgroundFlyingOverIcySteppesText": "Icy Steppes",
"backgroundFlyingOverIcySteppesNotes": "Fly over Icy Steppes.",
- "backgrounds022018": "SET 45: Released February 2018",
+ "backgrounds022018": "סט 45: שוחרר בפברואר 2018",
"backgroundChessboardLandText": "Chessboard Land",
"backgroundChessboardLandNotes": "Play a game in Chessboard Land.",
- "backgroundMagicalMuseumText": "Magical Museum",
+ "backgroundMagicalMuseumText": "מוזיאן קסום",
"backgroundMagicalMuseumNotes": "Tour a Magical Museum.",
"backgroundRoseGardenText": "Rose Garden",
"backgroundRoseGardenNotes": "Dally in a fragrant Rose Garden.",
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/he/character.json b/website/common/locales/he/character.json
index 65dc5a7887..306d588b7f 100644
--- a/website/common/locales/he/character.json
+++ b/website/common/locales/he/character.json
@@ -8,6 +8,8 @@
"other": "אחר",
"fullName": "שם מלא",
"displayName": "שם תצוגה",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "תמונה",
"displayBlurb": "חרטוט",
"displayBlurbPlaceholder": "הציגו את עצמכם בבקשה",
@@ -181,7 +183,7 @@
"lostMana": "You used some Mana",
"lostHealth": "You lost some Health",
"lostExperience": "You lost some Experience",
- "displayNameDescription1": "זה מה שמופיע בהודעות שאתם מפרסמים בפונדק, גילדות, ושיחות חבורה, יחד עם מה שמופיע על הדמות שלכם. כדי לשנות זאת, לחצו על כפתור העריכה למעלה. אם במקום זאת אתם רוצים לשנות את שם המשתמש שלכם, לכו ל",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "הגדרות->אתר",
"displayNameDescription3": "והסתכלו באזור ההרשמה.",
"unequipBattleGear": "הסר את ציוד הלחימה",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "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 found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Photo",
diff --git a/website/common/locales/he/content.json b/website/common/locales/he/content.json
index 3ce2a7a4fa..42ffffb622 100644
--- a/website/common/locales/he/content.json
+++ b/website/common/locales/he/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Kangaroo",
"questEggKangarooMountText": "Kangaroo",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "מצא שיקוי הבקעה לשפוך על ביצה זו, והיא תהפוך ל<%= eggText(locale) %> <%= eggAdjective(locale) %>.",
"hatchingPotionBase": "רגיל",
"hatchingPotionWhite": "לבן",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "מזוג שיקוי זה על ביצה, והיא תבקע כ: <%= potText(locale) %>.",
"premiumPotionAddlNotes": "לא ניתן לשימוש על ביצי הרפתקאות.",
"foodMeat": "בשר",
diff --git a/website/common/locales/he/front.json b/website/common/locales/he/front.json
index 436766dfeb..b92f190f49 100644
--- a/website/common/locales/he/front.json
+++ b/website/common/locales/he/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "חישפו תמריצים חדשים, כמו איסוף חיות מחמד, פרסים אקראיים, הטלת קסמים, ועוד!",
"unlockHeadline": "ככל שתישאר פרודקטיבי, ייחשפו בפנייך תכנים חדשים!",
"useUUID": "השתמש בUUID / אסימון API (למשתמשי פייסבוק)",
- "username": "Login Name",
- "emailOrUsername": "Email or Login Name (case-sensitive)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "צפו בסרטונים",
"work": "עבודה",
"zelahQuote": "עם [האביטיקה], אפשר לשכנע אותי ללכת לישון בזמן באמצעות המחשבה של זכייה בנקודות על ללכת לישון מוקדם או הפסד בריאות על איחור!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "חסרות ״כותרות אימות״.",
"missingAuthParams": "חסרים פרמטרי אימות.",
- "missingUsernameEmail": "Missing Login Name or email.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "חסרה כתובת מייל.",
- "missingUsername": "Missing Login Name.",
+ "missingUsername": "Missing username.",
"missingPassword": "חסרה סיסמה.",
"missingNewPassword": "חסרה סיסמה חדשה.",
"invalidEmailDomain": "אינכם יכולים להרשם עם מיילים מהמתחמים (דומיינים) הבאים: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "כתובת מייל לא תקנית.",
"emailTaken": "כתובת המייל כבר בשימוש על ידי חשבון אחר.",
"newEmailRequired": "חסרה כתובת מייל חדשה.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "אימות הסיסמה לא תואם את הסיסמה הראשונה.",
"invalidLoginCredentials": "שם משתמש או מייל או סיסמה לא נכונים.",
"passwordResetPage": "Reset Password",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "איפוס סיסמה עבור האביטיקה",
"passwordResetEmailText": "If you requested a password reset for <%= username %> on Habitica, head to <%= passwordResetLink %> to set a new one. The link will expire after 24 hours. If you haven't requested a password reset, please ignore this email.",
"passwordResetEmailHtml": "If you requested a password reset for <%= username %> on Habitica, \">click here to set a new one. The link will expire after 24 hours.
If you haven't requested a password reset, please ignore this email.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "לא קיים חשבון המשתמש בפרטים אלו.",
- "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 Profile Name.",
+ "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",
"unsupportedNetwork": "רשת זאת לא נתמכת בשלב זה.",
"cantDetachSocial": "לחשבון אין אמצעי זיהוי אחר; לא ניתן לנתק את אמצעי הזיהוי הזה.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/he/gear.json b/website/common/locales/he/gear.json
index a112bea7c8..9924b7e4ef 100644
--- a/website/common/locales/he/gear.json
+++ b/website/common/locales/he/gear.json
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "קילשון למשתאות",
"weaponMystery201411Notes": "דיקרו את אויבייכם או חפרו לתוך מאכליכם - הקילשון רב-השימושים הזה עושה הכל! לא מקנה ייתרון. נובמבר 2014, חפץ מנויים.",
"weaponMystery201502Text": "מטה מכונף ונוצץ של אהבה וגם אמת",
@@ -350,6 +358,10 @@
"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).",
"armor": "שריון",
"armorCapitalized": "שריון",
"armorBase0Text": "בגדים פשוטים",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "גלימות שליח",
"armorMystery201402Notes": "מנצנצות וחזקות, לגלימות אלו כיסים רבים לנשיאת מכתבים. לא מקנות ייתרון. פברואר 2014, חפץ מנויים.",
"armorMystery201403Text": "שריון מהלך היער",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "חליפת סטימפאנק",
"armorMystery301404Notes": "נאה ונמרץ, אה! לא מקנה ייתרון. פברואר 3015, חפץ מנויים.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -754,6 +778,10 @@
"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).",
"headgear": "helm",
"headgearCapitalized": "ציוד ראש",
"headBase0Text": "No Headgear",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "קסדת לוחמי הקשת",
"headSpecialGaymerxNotes": "לרגל חגיגות כנס גיימר-אקס, הקסדה המיוחדת הזו מעוטרת בדוגמה בוהקת של קשת צבעונית! גיימר-אקס הוא כנס שחוגג להט״בים ומשחקים, והוא פתוח לכולם.",
"headMystery201402Text": "קסדה מכונפת",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "כובע ראש מפואר",
"headMystery301404Notes": "כובע ראש מפואר למכובד שבג׳נטלמנים! ינואר 3015, חפץ מנויים. לא מקנה ייתרון.",
"headMystery301405Text": "כובע ראש בסיסי",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "שוחט החלטות",
"shieldMystery201601Notes": "סכין זו יכולה לשמש כדי להדוף הסחות דעת. לא מקנה ייתרון. ינואר 2016, חפץ מנויים.",
"shieldMystery201701Text": "Time-Freezer Shield",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "אביזר גב",
"backCapitalized": "Back Accessory",
"backBase0Text": "אביזר ללא גב",
"backBase0Notes": "אביזר ללא גב.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "כנפי זהב",
"backMystery201402Notes": "כנפיים זוהרות אלו מכילות נוצות שמנצנצות בשמש! לא מקנות ייתרון. פברואר 2014, חפץ מנויים.",
"backMystery201404Text": "כנפי פרפר הדמדומים",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "אביזר גוף",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "ללא אביזר גוף",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "״משקפיים הן לעייניים,״ הם אמרו. ״אף אחד לא ירצה משקפיים שאפשר לחבוש רק על הראש,״ הם אמרו. הא! בהחלט הראיתם להם! לא מקנות ייתרון. אוגוסט 3015, חפץ מנויים.",
"headAccessoryArmoireComicalArrowText": "חץ קומי",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "לבוש לעיניים",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "ללא לבוש לעיניים",
diff --git a/website/common/locales/he/generic.json b/website/common/locales/he/generic.json
index 07c3e6600e..bad222a0b4 100644
--- a/website/common/locales/he/generic.json
+++ b/website/common/locales/he/generic.json
@@ -71,6 +71,7 @@
"submit": "הגש",
"close": "סגור",
"saveAndClose": "שמור וסגור",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "ביטול",
"ok": "בסדר",
"add": "הוסף",
diff --git a/website/common/locales/he/groups.json b/website/common/locales/he/groups.json
index b5b8830379..7d145a2b74 100644
--- a/website/common/locales/he/groups.json
+++ b/website/common/locales/he/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"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",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/he/limited.json b/website/common/locales/he/limited.json
index 449b38546a..81d956925e 100644
--- a/website/common/locales/he/limited.json
+++ b/website/common/locales/he/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
@@ -132,6 +136,7 @@
"dateEndJune": "June 14",
"dateEndJuly": "July 31",
"dateEndAugust": "August 31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "October 31",
"dateEndNovember": "November 30",
"dateEndJanuary": "January 31",
diff --git a/website/common/locales/he/messages.json b/website/common/locales/he/messages.json
index 5cfc6baebf..731a010a0b 100644
--- a/website/common/locales/he/messages.json
+++ b/website/common/locales/he/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "אין לכם די אבני חן!",
"messageAuthPasswordMustMatch": ":סיסמה ו :אימות-סיסמה לא מתאימים",
"messageAuthCredentialsRequired": ":שם-משתמש, :מייל, :סיסמה, :אימות-סיסמה - הכרחיים",
- "messageAuthUsernameTaken": "Login Name already taken",
"messageAuthEmailTaken": "כתובת הדואר כבר תפוסה",
"messageAuthNoUserFound": "משתמש לא נמצא.",
"messageAuthMustBeLoggedIn": "אתם חייבים להיות מחוברים.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "Notification ids are required.",
"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!"
+ "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."
}
\ No newline at end of file
diff --git a/website/common/locales/he/questscontent.json b/website/common/locales/he/questscontent.json
index 442c1e9de8..bfe007f5db 100644
--- a/website/common/locales/he/questscontent.json
+++ b/website/common/locales/he/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/he/settings.json b/website/common/locales/he/settings.json
index eaf1ea0b42..67b3daf8db 100644
--- a/website/common/locales/he/settings.json
+++ b/website/common/locales/he/settings.json
@@ -54,13 +54,13 @@
"misc": "שונות",
"showHeader": "הראה כותרת",
"changePass": "שנו סיסמה",
- "changeUsername": "שנו שם כניסה",
+ "changeUsername": "Change Username",
"changeEmail": "שנו כתובת דוא\"ל",
"newEmail": "כתובת דוא\"ל חדשה",
"oldPass": "סיסמה ישנה",
"newPass": "סיסמה חדשה",
"confirmPass": "וודאו סיסמה חדשה",
- "newUsername": "שם כניסה חדש",
+ "newUsername": "New Username",
"dangerZone": "אזור מסוכן",
"resetText1": "אזהרה! פעולה זו תמחק חלקים רבים מהמשתמש שלכם. זה ממש לא מומלץ, כי תאבדו מידע היסטורי, השימושי למעקב אחר ההתקדמות שלכם לאורך זמן, אם כי, ישנם אנשים שהדבר שימושי עבורם אחרי שהם משחקים בהאביטיקה מזה זמן.",
"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.",
@@ -95,14 +95,15 @@
"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.",
"passwordSuccess": "הסיסמה שונתה בהצלחה",
- "usernameSuccess": "שם הכניסה שונה בהצלחה",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "כתובת הדוא\"ל שונתה בהצלחה",
"detachSocial": "De-register <%= network %>",
"detachedSocial": "Successfully removed <%= network %> authentication from your account",
"addedLocalAuth": "אימות מקומי נוסף בהצלחה",
"data": "מידע",
"exportData": "ייצוא מידע",
- "usernameOrEmail": "שם משתמש או אימייל",
+ "usernameOrEmail": "Username or Email",
"email": "דוא\"ל",
"registerWithSocial": "Register with <%= network %>",
"registeredWithSocial": "Registered with <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "הצג כפתור ״הזמן לחבורה״ כאשר בחבורה יש חבר 1.",
"saveCustomDayStart": "שמור את מועד תחילת היום",
"registration": "הרשמה",
- "addLocalAuth": "הוסיפו אימות מקומי:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "ייצר קודים",
"generate": "ייצר",
"getCodes": "קבלו קודים",
@@ -188,5 +189,18 @@
"timezoneUTC": "האביטיקה משתמשת באזור הזמן של המחשב שלכם, שהוא: <%= utc %> ",
"timezoneInfo": "אם אזור הזמן הזה שגוי, קודם יש לנסות לטעון מחדש את העמוד באמצעות לחיצה על מקש הרענן או הטעינה מחדש של הדפדפן שלך, כדי לוודא שלHabitica יש את המידע העדכני ביותר. אם זה עדיין לא נכון, יש לכוון את אזור הזמן במחשב שלך, ואז לטעון מחדש את העמוד הזה.
אם עשית שימוש בHabitica על מחשבים או מכשירים ניידים אחרים, אזור הזמן חייב להיות זהה בכולם. אם המטלות היומיות שלך אופסו בזמן הלא נכון, יש לחזור על הבדיקה הזו בכל המחשבים האחרים, ובדפדפן שבמכשירים הניידים שלך.",
"push": "דחיפה",
- "about": "About"
+ "about": "About",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/he/subscriber.json b/website/common/locales/he/subscriber.json
index 6ed39a10c1..9951732749 100644
--- a/website/common/locales/he/subscriber.json
+++ b/website/common/locales/he/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "סט סטימפאנק רגיל",
"mysterySet301405": "סט סטימפאנק אקססוריז",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/hu/backgrounds.json b/website/common/locales/hu/backgrounds.json
index c832831549..a80086ff5b 100644
--- a/website/common/locales/hu/backgrounds.json
+++ b/website/common/locales/hu/backgrounds.json
@@ -367,11 +367,25 @@
"backgroundDilatoryCityNotes": "Kóborolj a Halogatás vízalatti városában.",
"backgroundTidePoolText": "Pocsolya",
"backgroundTidePoolNotes": "Vizsgáld meg az óceáni életformákat egy pocsolya közeléből.",
- "backgrounds082018": "SET 51: Released August 2018",
+ "backgrounds082018": "KÉSZLET 51: Kiadva 2018 augusztusában",
"backgroundTrainingGroundsText": "Training Grounds",
"backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/hu/character.json b/website/common/locales/hu/character.json
index e59ca76d99..7cf75db224 100644
--- a/website/common/locales/hu/character.json
+++ b/website/common/locales/hu/character.json
@@ -8,6 +8,8 @@
"other": "Egyéb",
"fullName": "Teljes név",
"displayName": "Nyilvános név",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Fotó",
"displayBlurb": "Bemutatkozás",
"displayBlurbPlaceholder": "Kérlek mutatkozz be",
@@ -181,7 +183,7 @@
"lostMana": "Manát használtál",
"lostHealth": "Életet vesztettél",
"lostExperience": "Tapasztalatot vesztettél",
- "displayNameDescription1": "Ez jelenik meg amikor a fogadóben, a céhekben vagy a party chatben hagysz üzenetet, ezen felül az avatárodon is ez látszik. Megváltoztatásához kattints a szerkesztés gombra. Ha ehelyett a bejelentkezési neved akarod megváltoztatni, akkor menj a",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Beállítások->Oldal",
"displayNameDescription3": "menübe, és keresd meg a regisztrációs részt.",
"unequipBattleGear": "Összes harci felszerelés eltávolítása",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Tulajdonság pont kiosztás elrejtése",
"quickAllocationLevelPopover": "Minden szintlépés ad egy pontot, amit elkölthetsz egy általad választott tulajdonságra. Ezt teheted manuálisan, vagy a játékra is bízhatod a döntést valamelyik automatikus kiosztás opciót választva a Felhasználó ikon -> Statisztika menüpontban.",
"notEnoughAttrPoints": "Nincs elég tulajdonság pontod.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stílus",
"facialhair": "Arc",
"photo": "Fénykép",
diff --git a/website/common/locales/hu/content.json b/website/common/locales/hu/content.json
index aeb826f08b..c0f5f94803 100644
--- a/website/common/locales/hu/content.json
+++ b/website/common/locales/hu/content.json
@@ -163,19 +163,22 @@
"questEggYarnAdjective": "gyapjú",
"questEggPterodactylText": "Pterodactylus",
"questEggPterodactylMountText": "Pterodactylus",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "egy bizakodó",
"questEggBadgerText": "Borz",
"questEggBadgerMountText": "Borz",
- "questEggBadgerAdjective": "a bustling",
+ "questEggBadgerAdjective": "egy fontoskodó",
"questEggSquirrelText": "Mókus",
"questEggSquirrelMountText": "Mókus",
- "questEggSquirrelAdjective": "a bushy-tailed",
+ "questEggSquirrelAdjective": "egy lompos farkú",
"questEggSeaSerpentText": "Tengeri kígyó",
"questEggSeaSerpentMountText": "Tengeri kígyó",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSeaSerpentAdjective": "egy csillámló",
+ "questEggKangarooText": "Kenguru",
+ "questEggKangarooMountText": "Kenguru",
+ "questEggKangarooAdjective": "egy buzgó",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Találj egy keltetőfőzetet ehez a tojáshoz, hogy kikeljen belőle egy <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Alap",
"hatchingPotionWhite": "Fehér",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Csillagos éjszaka",
"hatchingPotionRainbow": "Szivárvány",
"hatchingPotionGlass": "Üveg",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Öntsd ezt egy tojásra, és egy <%= potText(locale) %> háziállat fog belőle kikelni.",
"premiumPotionAddlNotes": "Nem használható küldetésben szerzett tojásokhoz.",
"foodMeat": "Hús",
diff --git a/website/common/locales/hu/front.json b/website/common/locales/hu/front.json
index a8172962d5..3375308722 100644
--- a/website/common/locales/hu/front.json
+++ b/website/common/locales/hu/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Oldj fel újabb motivációs eszközöket, mint például a háziállat gyűjtés, véletlenszerű jutalmak, varázslás, és még sok más!",
"unlockHeadline": "Minél tovább maradsz produktív, annál több új tartalmat érhetsz el!",
"useUUID": "Használj UUID / API kulcsot (Facebook felhasználóknak)",
- "username": "Felhasználónév",
- "emailOrUsername": "E-mail vagy felhasználónév (kis/nagybetű érzékeny)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Nézz videókat",
"work": "Munka",
"zelahQuote": "A [Habiticával] elértem, hogy időben feküdjek le, mert jutalmat kapok a korai lefekvésért és bosszant a gondolat, hogy ha későn fekszem le életet veszítek!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Hiányzó hitelesítő fejléc.",
"missingAuthParams": "Hiányzó hitelesítő paraméter.",
- "missingUsernameEmail": "Hiányzó felhasználónév vagy e-mail cím.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Hiányzó e-mail.",
- "missingUsername": "Hiányzó felhasználónév.",
+ "missingUsername": "Missing username.",
"missingPassword": "Hiányzó jelszó.",
"missingNewPassword": "Hiányzó új jelszó.",
"invalidEmailDomain": "Nem regisztrálhatsz olyan e-mail domainnel mint: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Hibás e-mail cím.",
"emailTaken": "Egy felhasználó már használja ezt az e-mail címet.",
"newEmailRequired": "Hiányzó új e-mail cím.",
- "usernameTaken": "Ez a felhasználónév már foglalt.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Jelszó megerősítés nem egyezik meg a jelszóval.",
"invalidLoginCredentials": "Hibás felhasználó név és/vagy e-mail és/vagy jelszó.",
"passwordResetPage": "Jelszó visszaállítás",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Jelszó megváltoztatása a Habitica-hoz",
"passwordResetEmailText": "Ha te kérted <%= username %> felhasználó jelszavának visszaállítását, akkor használd a <%= passwordResetLink %> linket új jelszó megadásához. A link 24 óra múlva lejár. Ha nem kérted a jelszó visszaállítását, akkor hagyd figyelmen kívül ezt a levelet.",
"passwordResetEmailHtml": "Ha te kérted <%= username %> felhasználó jelszavának visszaállítását, akkor \">kattins ide új jelszó megadásához. A link 24 óra múlva lejár.
Ha nem kérted a jelszó visszaállítását, akkor hagyd figyelmen kívül ezt a levelet.",
- "invalidLoginCredentialsLong": "Uh-oh - a megadott e-mail cím / felhasználónév hibás.\n- Bizonyosodj meg róla hogy helyesen gépelted be. A felhasználóneved és jelszavad kis- és nagybetű érzékeny.\n- Előfordulhat hogy Facebook-n vagy Google-n keresztül regisztráltál, nem pedig e-mail címmel, ezért próbáld ki ezeket az opciókat is.\n- Ha elfelejtetted a jelszavadat, kattints az \"Elfelejtettem a jelszavam\" gombra.",
+ "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\".",
"invalidCredentials": "Nincs olyan felhasználói fiók ami ezeket a hitelesítő adatokat használja.",
- "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 Profile Name.",
+ "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",
"unsupportedNetwork": "Ez a hálózat jelenleg nem támogatott.",
"cantDetachSocial": "A felhasználói fiók nem rendelkezik másik hitelesítő módszerrel; nem lehet leválasztani erről a hitelesítési módszerről.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "<%= social %> regisztráció",
"loginWithSocial": "<%= social %> belépés",
"confirmPassword": "Jelszó megerősítése",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "pl. JellemSzellem",
"emailPlaceholder": "pl. rabbit@example.com",
"passwordPlaceholder": "pl. ******************",
@@ -329,6 +336,5 @@
"signup": "Regisztráció",
"getStarted": "Kezdj hozzá",
"mobileApps": "Mobil alkalmazások",
- "learnMore": "Tudj meg többet",
- "useMobileApps": "A Habitica nem optimális a mobil böngészőben való használathoz. Javasoljuk hogy töltsd le a mobil alkalmazásunkat."
+ "learnMore": "Tudj meg többet"
}
\ No newline at end of file
diff --git a/website/common/locales/hu/gear.json b/website/common/locales/hu/gear.json
index 44e87aafd6..2a6db3215f 100644
--- a/website/common/locales/hu/gear.json
+++ b/website/common/locales/hu/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Víz alatt a tűz, jég, vagy elektromosság alapú varázslatok veszélyesek a mágusra aki használja őket. Ezek a megidézett mérgező tüskék viszont rendkívül hatásosak! Növeli az intelligenciádat <%= int %> ponttal és az észlelésedet <%= per %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"weaponSpecialSummer2018HealerText": "Sellő uralkodó szigony",
"weaponSpecialSummer2018HealerNotes": "Egy jóságos mozdulattal megparancsolod a gyógyító víznek hogy az uralmad alatt lévő területeken kersztülfolyjon. Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "A lakmározás vasvillája",
"weaponMystery201411Notes": "Szúrd le az ellenségeidet vagy túrj bele kedvenc eledeleidbe - ezzel a sokoldalú vasvillával mindent megtehetsz! Nem változtat a tulajdonságaidon. 2014 novemberi előfizetői tárgy.",
"weaponMystery201502Text": "A szeretet csillogó szárnyas botja és az igazságé is",
@@ -350,6 +358,10 @@
"weaponArmoirePoisonedGobletNotes": "Használd ezt hogy növeld az ellenállásodat az iokén porral és más elképzelhetetlenül veszélyes mérgekkel szemben. Növeli az intelligenciádat <%= int %> ponttal. Elvarázsolt láda: Kalózkodó hercegnő szett (3. tárgy a 4-ből).",
"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).",
"armor": "páncél",
"armorCapitalized": "Páncél",
"armorBase0Text": "Egyszerű ruházat",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "A méregvarázslat a találékonyságáról híres. Nem annyira mint ez a színes páncél, aminek üzenete egyértelmű szörnyek és feladatok számára egyaránt: ide nézz! Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"armorSpecialSummer2018HealerText": "Sellő uralkodó köpeny",
"armorSpecialSummer2018HealerNotes": "Ez az égszínkék öltözék felfedi hogy lábaid vannak... Még egy uralkodó sem lehet tökéletes. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "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.",
"armorMystery201402Text": "Hírvivő köpeny",
"armorMystery201402Notes": "Csillámlóak és erősek, ezeknek a köpenyeknek sok zsebük van levelek hordásához. Nem változtat a tulajdonságaidon. 2014 februári előfizetői tárgy.",
"armorMystery201403Text": "Erdőjáró páncél",
@@ -660,6 +680,10 @@
"armorMystery201806Notes": "Ezen a kanyargós farkon világító pettyek vannak amik megvilágítják az utadat a mélyben. Nem változtat a tulajdonságaidon. 2018 júniusi előfizetői tárgy.",
"armorMystery201807Text": "Tengeri kígyó farok",
"armorMystery201807Notes": "Ez az erős farok hatalmas sebességgel hajt végig a tengeren! Nem változtat a tulajdonságaidon. 2018 júliusi előfizetői tárgy.",
+ "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.",
"armorMystery301404Text": "Steampunk öltözet",
"armorMystery301404Notes": "Jól vasalt és lenyűgöző, ugye! Nem változtat a tulajdonságaidon. 3015 februári előfizetői tárgy.",
"armorMystery301703Text": "Steampunk páva köntös",
@@ -754,6 +778,10 @@
"armorArmoirePiraticalPrincessGownNotes": "Ezen a drága ruhán sok zseb van, hogy könnyen elrejthesd a fegyvereidet és zsákmányodat! Növeli az észlelésedet <%= per %> ponttal. Elvarázsolt láda: Kalózkodó hercegnő szett (2. tárgy a 4-ből).",
"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).",
"headgear": "sisak",
"headgearCapitalized": "Fejfedő",
"headBase0Text": "Nincs fejfedő",
@@ -996,6 +1024,14 @@
"headSpecialSummer2018MageNotes": "Bámulj búsan bárkire aki azt mondja úgy nézel ki mint egy \"ínyenchal\". Növeli az észlelésdet <%= per %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"headSpecialSummer2018HealerText": "Sellő uralkodó korona",
"headSpecialSummer2018HealerNotes": "Ez az akvamarinnal díszített uszonyos fejdísz megmutatja ki a vezére embereknek és halaknak, valamint azoknak akik mindkét csoportba tartoznak. Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Szívárványos harci sisak",
"headSpecialGaymerxNotes": "A GaymerX Konferencia ünnepléseként ez a különleges sisak a szívárvány minden színében pompázik! A GaymerX egy játék konferencia, ami az LGBTQ közösséget ünnepli a játékvilágban, valamint elérhető mindenki számára.",
"headMystery201402Text": "Szárnyas sisak",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "Ennek a sisaknak a tetején található megigéző fény a tenger összes lényét magadhoz hívja. Arra biztatunk hogy ezt a vonzó erőt jóra használd! Nem változtat a tulajdonságaidon. 2018 júniusi előfizetői tárgy.",
"headMystery201807Text": "Tengeri kíygó sisak",
"headMystery201807Notes": "Ezen a sisakon találhatő erős pikkelyek megvédenek bármilyen óceáni ellenségtől! Nem változtat a tulajdonságaidon. 2018 júliusi előfizetői tárgy.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Elegáns cilinder",
"headMystery301404Notes": "Egy elegáns cilinder a legelőkelőbb úriembereknek! Nem változtat a tulajdonságaidon. 3015 januári előfizetői tárgy. ",
"headMystery301405Text": "Egyszerű cilinder",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Előkelő kalózok az előkelő fejdíszükről híresek! Növeli az észlelésedet és az intelligenciádat <%= attrs %> ponttal. Elvarázsolt láda: Kalózkodó hercegnő szett (1. tárgy a 4-ből).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "balkezes fegyver",
"offhandCapitalized": "Balkezes fegyver",
"shieldBase0Text": "Nincs balkezes felszerelés",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Ez a kőből faragott félelmetes koponyára emlékeztető pajzs rettegést kelt ellenfeleidben, miközben harcba hívod háziállataidat és hátasaidat. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
"shieldSpecialSummer2018HealerText": "Sellő uralkodó embléma",
"shieldSpecialSummer2018HealerNotes": "Ez a pajzs képes levegővel töltött búrát létrehozni azoknak a látogatóknak akik a szárazföldről érkeznek víz alatti birodalmadba. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadású 2018-as nyári felszerelés.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Eskü pusztító",
"shieldMystery201601Notes": "Ez a penge arra használható hogy minden figyelemeleterlést elhárítson. Nem változtat a tulajdonságaidon. 2016 januári előfizetői tárgy.",
"shieldMystery201701Text": "Idő megállító pajzs",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Micsoda díszes vázát készítettél! Mit fogsz bele tenni? Növeli az intelligenciádat <%= int %> ponttal. Elvarázsolt láda: Üvegfúvó szett (4. tárgy a 4-ből).",
"shieldArmoirePiraticalSkullShieldText": "Kalózkodó koponyapajzs",
"shieldArmoirePiraticalSkullShieldNotes": "Ez az elvarázsolt pajzs megsúgja neked azokat a titkos helyeket, ahol ellenfeleid elrejtett kincsei vannak- ide figyelj! Növeli az észlelésedet és az intelligenciádat <%= attrs %> ponttal. Elvarázsolt láda: Kalózkodó hercegnő szett (4. tárgy a 4-ből).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Háti kiegészítő",
"backCapitalized": "Háti kiegészítő",
"backBase0Text": "Nincs háti kiegészítő",
"backBase0Notes": "Nincs háti kiegészítő.",
+ "animalTails": "Állati farkak",
"backMystery201402Text": "Arany szárnyak",
"backMystery201402Notes": "Ezeknek a ragyogó szárnyaknak a tollai csillognak a napfényben! Nem változtat a tulajdonságaidon. 2014 februári előfizetői tárgy.",
"backMystery201404Text": "Szürkületi pillangó szárnyak",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Ez a palást egyszer az elveszett kasztmester birtokában volt. Növeli az észlelésedet <%= per %> ponttal.",
"backSpecialTurkeyTailBaseText": "Pulyka farok",
"backSpecialTurkeyTailBaseNotes": "Viseld büszkén ezt a nemes pulyka farkat amíg ünnepelsz! Nem változtat a tulajdonságaidon.",
+ "backBearTailText": "Medve farok",
+ "backBearTailNotes": "Ettől a faroktól úgy nézel ki, mint egy bátor medve! Nem változtat a tulajdonságaidon.",
+ "backCactusTailText": "Kaktusz farok",
+ "backCactusTailNotes": "Ettől a faroktól úgy nézel ki, mint egy szúrós kaktusz! Nem változtat a tulajdonságaidon.",
+ "backFoxTailText": "Róka farok",
+ "backFoxTailNotes": "Ettől a faroktól úgy nézel ki, mint egy ravasz róka! Nem változtat a tulajdonságaidon.",
+ "backLionTailText": "Oroszlán farok",
+ "backLionTailNotes": "Ettől a faroktól úgy nézel ki, mint egy fejedelmi oroszlán! Nem változtat a tulajdonságaidon.",
+ "backPandaTailText": "Panda farok",
+ "backPandaTailNotes": "Ettől a faroktól úgy nézel ki, mint egy kedves panda! Nem változtat a tulajdonságaidon.",
+ "backPigTailText": "Malac farok",
+ "backPigTailNotes": "Ettől a faroktól úgy nézel ki, mint egy játékos malac! Nem változtat a tulajdonságaidon.",
+ "backTigerTailText": "Tigris farok",
+ "backTigerTailNotes": "Ettől a faroktól úgy nézel ki, mint egy vad tigris! Nem változtat a tulajdonságaidon.",
+ "backWolfTailText": "Farkas farok",
+ "backWolfTailNotes": "Ettől a faroktól úgy nézel ki, mint egy hűséges farkas! Nem változtat a tulajdonságaidon.",
"body": "Test kiegészítő",
"bodyCapitalized": "Test kiegészítő",
"bodyBase0Text": "Nincs test kiegésztő",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"A szemüvegek a szemhez vannak,\" mondták \"Senki sem akar olyan szemüvegeket amit csak a fejeden hordhatsz,\" mondták. Ha! Jól megmutattad nekik! Nem változtat a tulajdonságaidon. 3015 augusztusi előfizetői tárgy.",
"headAccessoryArmoireComicalArrowText": "Tréfás nyílvessző",
"headAccessoryArmoireComicalArrowNotes": "Ez a hóbortos tárgy nem kínál semmilyen bónuszt, de az biztos hogy nagyon jót lehet rajta nevetni! Növeli az erődet <%= str %> ponttal. Elvarázsolt láda: önálló tárgy.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Szemviselet",
"eyewearCapitalized": "Szemviselet",
"eyewearBase0Text": "Nincs szemviselet",
diff --git a/website/common/locales/hu/generic.json b/website/common/locales/hu/generic.json
index 540d89f6c6..06426cb29c 100644
--- a/website/common/locales/hu/generic.json
+++ b/website/common/locales/hu/generic.json
@@ -71,6 +71,7 @@
"submit": "Küld",
"close": "Bezár",
"saveAndClose": "Ment és bezár",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Mégse",
"ok": "Oké",
"add": "Hozzáad",
@@ -122,8 +123,8 @@
"error": "Hiba",
"menu": "Menü",
"notifications": "Értesítések",
- "noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotifications": "Sikerült mindent bepótolnod!",
+ "noNotificationsText": "Az üzenetértesítő tündérek kitörő tapssal jutalmaznak! Szép munka!",
"clear": "Törlés",
"endTour": "Áttekintés befejezése",
"audioTheme": "Hang téma",
diff --git a/website/common/locales/hu/groups.json b/website/common/locales/hu/groups.json
index b372a65f77..8e5a96072d 100644
--- a/website/common/locales/hu/groups.json
+++ b/website/common/locales/hu/groups.json
@@ -6,6 +6,7 @@
"innText": "A fogadóban pihensz! Amíg itt tartózkodsz a napi feladataid nem okoznak sebzést a nap befejeztével, de új nap kezdetével ugyanúgy frissülnek. Figyelmeztetés: ha egy főellenséggel harcolsz, a csapattagok kihagyott napi feladatai ugyanúgy téged is sebezni fognak, kivéve ha ők is be vannak jelentkezve a fogadóba! A saját sebzésed a főellenség ellen (vagy az összegyűjtött tárgyak) csak akkor lépnek érvénybe ha elhagyod a fogadót.",
"innTextBroken": "Hát úgy néz ki hogy most a fogadóban pihensz... Amíg itt tartózkodsz a napi feladataid nem okoznak sebzést a nap befejeztével, de új nap kezdetével ugyanúgy frissülnek... Ha egy főellenséggel harcolsz, a csapattagok kihagyott napi feladatai ugyanúgy téged is sebezni fognak... kivéve ha ők is be vannak jelentkezve a fogadóba... Továbbá, a saját sebzésed a főellenség ellen (vagy az összegyűjtött tárgyak) csak akkor lépnek érvénybe ha elhagyod a fogadót... annyira fáradt...",
"innCheckOutBanner": "Jelenleg be vagy jelentkezve a fogadóba. A napi feladataid nem fognak sebzést okozni és a küldetésekben sem fogsz haladást elérni.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Sebzés folytatása",
"helpfulLinks": "Hasznos linkek",
"communityGuidelinesLink": "Közösségi irányelvek",
diff --git a/website/common/locales/hu/limited.json b/website/common/locales/hu/limited.json
index b75960951f..b0f864ccc4 100644
--- a/website/common/locales/hu/limited.json
+++ b/website/common/locales/hu/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Tűzhal mágus (mágus)",
"summer2018MerfolkMonarchSet": "Sellő uralkodó (gyógyító)",
"summer2018FisherRogueSet": "Halász tolvaj (tolvaj)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Megvásárolható <%= date(locale) %>-ig.",
"dateEndMarch": "április 30",
"dateEndApril": "április 19",
@@ -132,6 +136,7 @@
"dateEndJune": "június 14",
"dateEndJuly": "július 31",
"dateEndAugust": "augusztus 31",
+ "dateEndSeptember": "szeptember 21",
"dateEndOctober": "október 31",
"dateEndNovember": "november 30",
"dateEndJanuary": "január 31",
diff --git a/website/common/locales/hu/messages.json b/website/common/locales/hu/messages.json
index 2701d40733..60c6005527 100644
--- a/website/common/locales/hu/messages.json
+++ b/website/common/locales/hu/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Nincs elég drágaköved!",
"messageAuthPasswordMustMatch": ":password és :confirmPassword nem egyeznek",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword szükséges",
- "messageAuthUsernameTaken": "A felhasználónév már foglalt. ",
"messageAuthEmailTaken": "Az e-mail cím már foglalt.",
"messageAuthNoUserFound": "Felhasználó nem található",
"messageAuthMustBeLoggedIn": "Be kell jelentkezned.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "Ez a tárgy nem vásárolható meg 1-nél többször.",
"notificationsRequired": "Értesítés azonosítók szükségesek.",
"unallocatedStatsPoints": "Van <%= points %> kiosztatlan tulajdonság pontod",
- "beginningOfConversation": "Elkezdtél beszélgetni <%= userName %> felhasználóval. Ne felejtesd hogy legyél kedves, tisztelettudó és kövesd a közösségi irányelveket!"
+ "beginningOfConversation": "Elkezdtél beszélgetni <%= userName %> felhasználóval. Ne felejtesd hogy legyél kedves, tisztelettudó és kövesd a közösségi irányelveket!",
+ "messageDeletedUser": "Sorry, this user has deleted their account."
}
\ No newline at end of file
diff --git a/website/common/locales/hu/questscontent.json b/website/common/locales/hu/questscontent.json
index 76ae9b8043..e8b1d8fc11 100644
--- a/website/common/locales/hu/questscontent.json
+++ b/website/common/locales/hu/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/hu/settings.json b/website/common/locales/hu/settings.json
index 986e3d3f7b..294258cd4c 100644
--- a/website/common/locales/hu/settings.json
+++ b/website/common/locales/hu/settings.json
@@ -54,13 +54,13 @@
"misc": "Egyéb",
"showHeader": "Fejléc mutatása",
"changePass": "Jelszó megváltoztatása",
- "changeUsername": "Bejelentkezési név megváltoztatása",
+ "changeUsername": "Change Username",
"changeEmail": "E-mail cím megváltoztatása",
"newEmail": "Új e-mail cím",
"oldPass": "Régi jelszó",
"newPass": "Új jelszó",
"confirmPass": "Új jelszó megerősítése",
- "newUsername": "Új bejelentkezési név",
+ "newUsername": "New Username",
"dangerZone": "Veszélyzóna",
"resetText1": "VIGYÁZAT! Ez alapállapotba állítja a fiókod bizonyos részeit. Ezt alapvetően nem ajánljuk, de bizonyos embereknek hasznos lehet az elején, miután még csak egy rövid ideig használták az oldalt.",
"resetText2": "El fogod veszíteni az összes szintedet, aranyadat és tapasztalati pontodat. Minden feladatod (kivéve a kihívásokhoz tartozóak) véglegesen törlődik az előzményekkel együtt. Minden tárgyadat elveszíted, de ezeket később visszavásárolhatod a korlátozott példányszámú tárgyak és a rejtélyes tárgyak esetében is, amiket most birtokolsz (megfelelő kasztba kell tartoznod, hogy a kaszt-specifikus tárgyakat megvehesd). A jelenlegi kasztod, háziállataid és hátasaid megmaradnak. Esetleg jobban jársz az újjászületés gömbjével, mely biztonságosabb opció és megőrzi a feladataidat is.",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "A megadott jelszó visszaállítási kód nem érvényes vagy lejárt.",
"passwordChangeSuccess": "A jelszavadat sikeresen megváltoztattad. Most már használhatod hogy belépj a fiókodba.",
"passwordSuccess": "Jelszó sikeresen módosítva",
- "usernameSuccess": "Bejelentkezési név sikeresen módosítva",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "Az e-mail cím sikeresen módosítva",
"detachSocial": "<%= network %> eltávolítása",
"detachedSocial": "Sikeresen eltávolítottad <%= network %> hitelesítést a fiókodból",
"addedLocalAuth": "Helyi hitelesítés sikeresen hozzáadva",
"data": "Adatok",
"exportData": "Adatok exportálása",
- "usernameOrEmail": "Bejelentkezési név vagy e-mail cím",
+ "usernameOrEmail": "Username or Email",
"email": "E-mail",
"registerWithSocial": "Regisztráció <%= network %> fiókkal",
"registeredWithSocial": "Regisztrált <%= network %> fiókkal",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Mutasd a \"Meghívás a csapatba\" gombot, amikor a csapatnak csak 1 tagja van.",
"saveCustomDayStart": "Egyéni napkezdés mentése",
"registration": "Regisztráció",
- "addLocalAuth": "Helyi hitelesítés hozzáadása:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Kódgenerálás",
"generate": "Generálás",
"getCodes": "Kódok megszerzése",
@@ -188,5 +189,18 @@
"timezoneUTC": "A Habitica a számítógépeden beállított időzónát használja, ami a következő: <%= utc %>",
"timezoneInfo": "Ha ez időzóna téves, frissítsd ezt az oldalt a böngésződ frissítés gombját használva, hogy megbizonyosodj róla hogy a Habitica a legfrissebb információt használja. Ha ezután még mindig téves, változtasd meg az időzónát a számítógépeden és frissítsd újra az oldalt.
Ha a Habitica-t más számítógépen vagy telefonon is használod, az időzónának mindenhol egyeznie kell. Ha a napi feladataid rossz időben indulnak újra ismételd meg ezt az összes számítógépen és a telefonod böngészőjében.",
"push": "Felugró",
- "about": "Névjegy"
+ "about": "Névjegy",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/hu/subscriber.json b/website/common/locales/hu/subscriber.json
index 9b18f664f7..165c37aeeb 100644
--- a/website/common/locales/hu/subscriber.json
+++ b/website/common/locales/hu/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Alap steampunk szett",
"mysterySet301405": "Steampunk kiegészítő szett",
"mysterySet301703": "Steampunk páva szett",
diff --git a/website/common/locales/id/achievements.json b/website/common/locales/id/achievements.json
index b4a8a11b3b..e2a40bdbcd 100644
--- a/website/common/locales/id/achievements.json
+++ b/website/common/locales/id/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Pencapaian",
"share": "Bagikan",
"onwards": "Berjuang!",
"levelup": "Dengan mencapai tujuanmu di kehidupan nyata, kamu naik level dan sekarang disembuhkan sepenuhnya!",
diff --git a/website/common/locales/id/backgrounds.json b/website/common/locales/id/backgrounds.json
index 67e0cac8d9..a3949c1634 100644
--- a/website/common/locales/id/backgrounds.json
+++ b/website/common/locales/id/backgrounds.json
@@ -122,35 +122,35 @@
"backgroundSlimySwampText": "Rawa Berlumpur",
"backgroundSlimySwampNotes": "Meluncur melalui Rawa Berlumpur.",
"backgroundSwarmingDarknessText": "Kegelapan yang Mencekam",
- "backgroundSwarmingDarknessNotes": "Bergidik dalam Kegelapan yang Mencekam.",
+ "backgroundSwarmingDarknessNotes": "Gemetaran di dalam Kegelapan yang Mencekam.",
"backgrounds112015": "SET 18: Dirilis November 2015",
"backgroundFloatingIslandsText": "Pulau Terapung",
"backgroundFloatingIslandsNotes": "Melompati Pulau Terapung.",
"backgroundNightDunesText": "Padang Pasir Malam Hari",
"backgroundNightDunesNotes": "Berjalan santai di Padang Pasir Malam Hari.",
- "backgroundSunsetOasisText": "Senja Oasis",
+ "backgroundSunsetOasisText": "Oasis Senja",
"backgroundSunsetOasisNotes": "Berjemur di Oasis kala Senja.",
"backgrounds122015": "SET 19: Dirilis Desember 2015",
- "backgroundAlpineSlopesText": "Lereng Alpine",
- "backgroundAlpineSlopesNotes": "Berski di Lereng Alpine",
+ "backgroundAlpineSlopesText": "Lereng Alpen",
+ "backgroundAlpineSlopesNotes": "Berski di Lereng Alpen",
"backgroundSnowySunriseText": "Fajar Bersalju",
- "backgroundSnowySunriseNotes": "Pandangi Salju di kala Fajar.",
+ "backgroundSnowySunriseNotes": "Pandangi di kala Fajar Bersajlu.",
"backgroundWinterTownText": "Kota Musim Dingin",
"backgroundWinterTownNotes": "Sibukkan diri di Kota Musim Dingin.",
"backgrounds012016": "SET 20: Dirilis Januari 2016",
"backgroundFrozenLakeText": "Danau Es",
- "backgroundFrozenLakeNotes": "Bersepatu luncur di Danau yang Membeku.",
+ "backgroundFrozenLakeNotes": "Bersepatu luncur di Danau Es.",
"backgroundSnowmanArmyText": "Pasukan Manusia Salju",
"backgroundSnowmanArmyNotes": "Pimpin Pasukan Manusia Salju.",
"backgroundWinterNightText": "Malam Musim Dingin",
"backgroundWinterNightNotes": "Pandangi bintang-bintang di Malam Musim Dingin.",
"backgrounds022016": "SET 21: Dirilis February 2016",
"backgroundBambooForestText": "Hutan Bambu",
- "backgroundBambooForestNotes": "Berjalan - Jalan di Hutan Bambu",
- "backgroundCozyLibraryText": "Perpustakaan yang Nyaman",
- "backgroundCozyLibraryNotes": "Membaca di Perpustakaan yang Nyaman.",
- "backgroundGrandStaircaseText": "Tangga Besar",
- "backgroundGrandStaircaseNotes": "Menuruni Tangga Besar.",
+ "backgroundBambooForestNotes": "Berjalan-jalan di Hutan Bambu.",
+ "backgroundCozyLibraryText": "Perpustakaan Nyaman",
+ "backgroundCozyLibraryNotes": "Membaca di Perpustakaan Nyaman.",
+ "backgroundGrandStaircaseText": "Tangga Mewah",
+ "backgroundGrandStaircaseNotes": "Menuruni Tangga Mewah.",
"backgrounds032016": "SET 22: Dirilis Maret 2016",
"backgroundDeepMineText": "Tambang Terdalam",
"backgroundDeepMineNotes": "Temukan logam-logam berharga di Tambang Terdalam.",
@@ -191,36 +191,36 @@
"backgroundIdyllicCabinNotes": "Mundur ke kabin indah",
"backgroundMountainPyramidText": "Gunung Piramid",
"backgroundMountainPyramidNotes": "Mendaki banyak langkah di gunung piramid",
- "backgroundStormyShipText": "Kapal badai",
- "backgroundStormyShipNotes": "Stabil menahan angin dan ombak di atas kapal badai",
+ "backgroundStormyShipText": "Kapal Badai",
+ "backgroundStormyShipNotes": "Stabil menahan angin dan ombak di atas kapal badai.",
"backgrounds092016": "SET 28: Dirilis September 2016",
"backgroundCornfieldsText": "Ladang Jagung",
"backgroundCornfieldsNotes": "Nikmati hari yang indah di Ladang Jagung",
"backgroundFarmhouseText": "Peternakan",
- "backgroundFarmhouseNotes": "Katakan halo kepada hewan-hewan di peternakan.",
+ "backgroundFarmhouseNotes": "Sapa hewan-hewan di Peternakan.",
"backgroundOrchardText": "Kebun Buah",
- "backgroundOrchardNotes": "Petik buah-buahan matang di Kebun",
+ "backgroundOrchardNotes": "Petik buah-buahan matang di Kebun Buah.",
"backgrounds102016": "SET 29: Dirilis Oktober 2016",
"backgroundSpiderWebText": "Jaring Laba-laba",
- "backgroundSpiderWebNotes": "Tersangkut di Jaring Laba-Laba.",
+ "backgroundSpiderWebNotes": "Tersangkut di Jaring Laba-laba.",
"backgroundStrangeSewersText": "Saluran Air yang Aneh",
"backgroundStrangeSewersNotes": "Meluncur melalui Got Gaib.",
"backgroundRainyCityText": "Kota Hujan",
"backgroundRainyCityNotes": "Memercik melewati Kota Hujan.",
"backgrounds112016": "SET 30: Dirilis November 2016",
"backgroundMidnightCloudsText": "Awan Tengah Malam.",
- "backgroundMidnightCloudsNotes": "Melayang di antara awan malam. ",
+ "backgroundMidnightCloudsNotes": "Terbang menembus Awan Tengah Malam.",
"backgroundStormyRooftopsText": "Atap Berbadai",
"backgroundStormyRooftopsNotes": "Merayap menyusuri Atap Berbadai.",
"backgroundWindyAutumnText": "Musim Gugur Berangin",
- "backgroundWindyAutumnNotes": "Mengejar dedaunan di musim gugur yang berangin. ",
+ "backgroundWindyAutumnNotes": "Mengejar dedaunan pada Musim Gugur Berangin.",
"incentiveBackgrounds": "Set Latar Belakang Polos",
"backgroundVioletText": "Violet",
"backgroundVioletNotes": "Latar belakang violet yang semarak.",
"backgroundBlueText": "Biru",
- "backgroundBlueNotes": "Latar belakang biru.",
+ "backgroundBlueNotes": "Latar belakang biru biasa.",
"backgroundGreenText": "Hijau",
- "backgroundGreenNotes": "Latar belakang hijau yang bagus. ",
+ "backgroundGreenNotes": "Latar belakang hijau yang keren. ",
"backgroundPurpleText": "Ungu",
"backgroundPurpleNotes": "Latar belakang ungu yang menenangkan. ",
"backgroundRedText": "Merah",
@@ -229,7 +229,7 @@
"backgroundYellowNotes": "Latar belakang kuning yang menggiurkan. ",
"backgrounds122016": "SET 31: Dirilis Desember 2016",
"backgroundShimmeringIcePrismText": "Prisma Es Berkilau",
- "backgroundShimmeringIcePrismNotes": "Menari melewati Es Berkilau.",
+ "backgroundShimmeringIcePrismNotes": "Menari melewati Prisma Es Berkilau.",
"backgroundWinterFireworksText": "Kembang Api Musim Dingin",
"backgroundWinterFireworksNotes": "Menyalakan Kembang Api Musim Dingin.",
"backgroundWinterStorefrontText": "Toko Musim Dingin",
@@ -263,8 +263,8 @@
"backgroundMistShroudedMountainText": "Pegunungan Berserabut Kabut",
"backgroundMistShroudedMountainNotes": "Mendaki Pegunungan Berserabut Kabut",
"backgrounds052017": "SET 36: Dirilis Mei 2017",
- "backgroundGuardianStatuesText": "Patung Penunggu",
- "backgroundGuardianStatuesNotes": "Berjaga-jaga di depan Patung Penunggu",
+ "backgroundGuardianStatuesText": "Patung Penjaga",
+ "backgroundGuardianStatuesNotes": "Berjaga-jaga di depan Patung Penjaga.",
"backgroundHabitCityStreetsText": "Jalanan Kota Habit",
"backgroundHabitCityStreetsNotes": "Jelajahi Jalanan di Kota Habit",
"backgroundOnATreeBranchText": "Di Ranting Pohon",
@@ -272,8 +272,8 @@
"backgrounds062017": "SET 37: Dirilis Juni 2017",
"backgroundBuriedTreasureText": "Harta Karun Tersembunyi",
"backgroundBuriedTreasureNotes": "Galilah Harta Karun Tersembunyi",
- "backgroundOceanSunriseText": "Matahari Terbit di Tepi Lautan",
- "backgroundOceanSunriseNotes": "Mengagumi Matahari Terbit di Tepi Lautan",
+ "backgroundOceanSunriseText": "Fajar di Tepi Lautan",
+ "backgroundOceanSunriseNotes": "Mengagumi Fajar di Tepi Lautan",
"backgroundSandcastleText": "Istana Pasir",
"backgroundSandcastleNotes": "Memerintah Sebuah Istana Pasir",
"backgrounds072017": "SET 38: Dirilis Juli 2017",
@@ -334,44 +334,58 @@
"backgroundRoseGardenNotes": "Bersantailah di Kebun Mawar yang harum.",
"backgrounds032018": "SET 46: Dirilis Maret 2018",
"backgroundGorgeousGreenhouseText": "Rumah Kaca Cantik",
- "backgroundGorgeousGreenhouseNotes": "Jalan diantara flora yang disimpan di dalam rumah kaca cantik.",
- "backgroundElegantBalconyText": "Balkon Anggun",
- "backgroundElegantBalconyNotes": "Lihat pemandangan dari balkon anggun.",
+ "backgroundGorgeousGreenhouseNotes": "Jalan diantara flora yang disimpan di dalam Rumah Kaca Cantik.",
+ "backgroundElegantBalconyText": "Balkon Elegan",
+ "backgroundElegantBalconyNotes": "Lihat pemandangan dari Balkon Elegan.",
"backgroundDrivingACoachText": "Menyetir bus",
"backgroundDrivingACoachNotes": "Nikmati menyetir bus melewati padang bunga.",
- "backgrounds042018": "SET 47: Released April 2018",
- "backgroundTulipGardenText": "Tulip Garden",
- "backgroundTulipGardenNotes": "Tiptoe through a Tulip Garden.",
- "backgroundFlyingOverWildflowerFieldText": "Field of Wildflowers",
- "backgroundFlyingOverWildflowerFieldNotes": "Soar above a Field of Wildflowers.",
- "backgroundFlyingOverAncientForestText": "Ancient Forest",
- "backgroundFlyingOverAncientForestNotes": "Fly over the canopy of an Ancient Forest.",
- "backgrounds052018": "SET 48: Released May 2018",
- "backgroundTerracedRiceFieldText": "Terraced Rice Field",
+ "backgrounds042018": "SET 47: Dirilis April 2018",
+ "backgroundTulipGardenText": "Kebun Tulip",
+ "backgroundTulipGardenNotes": "Berjinjit melewati Kebun Tulip.",
+ "backgroundFlyingOverWildflowerFieldText": "Padang Bunga Liar",
+ "backgroundFlyingOverWildflowerFieldNotes": "Terbang melewati Padang Bunga Liar.",
+ "backgroundFlyingOverAncientForestText": "Hutan Kuno",
+ "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.",
- "backgroundFantasticalShoeStoreText": "Fantastical Shoe Store",
+ "backgroundFantasticalShoeStoreText": "Toko Sepatu Fantastis",
"backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.",
- "backgroundChampionsColosseumText": "Champions' Colosseum",
- "backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.",
- "backgrounds062018": "SET 49: Released June 2018",
- "backgroundDocksText": "Docks",
- "backgroundDocksNotes": "Fish from atop the Docks.",
+ "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.",
- "backgroundPirateFlagText": "Pirate Flag",
- "backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.",
- "backgrounds072018": "SET 50: Released July 2018",
+ "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.",
- "backgroundDilatoryCityText": "City of Dilatory",
+ "backgroundDilatoryCityText": "Kota Dilatory",
"backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.",
"backgroundTidePoolText": "Tide Pool",
"backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
- "backgrounds082018": "SET 51: Released August 2018",
+ "backgrounds082018": "SET 51: Dirilis Agustus 2018",
"backgroundTrainingGroundsText": "Training Grounds",
"backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundFlyingOverRockyCanyonText": "Ngarai Berbatu",
+ "backgroundFlyingOverRockyCanyonNotes": "Lihat pemandangan menakjubkan di bawahmu selagi kamu terbang di atas Ngarai Berbatu.",
+ "backgroundBridgeText": "Jembatan",
+ "backgroundBridgeNotes": "Menyebrangi Jembatan yang menawan.",
+ "backgrounds092018": "SET 52: Dirilis September 2018",
+ "backgroundApplePickingText": "Memetik Apel",
+ "backgroundApplePickingNotes": "Pergi Memetik Apel dan bawa pulang segantang penuh apel.",
+ "backgroundGiantBookText": "Buku Raksasa",
+ "backgroundGiantBookNotes": "Membaca cerita selagi berjalan melalui halaman sebuah Buku Raksasa.",
+ "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.",
+ "backgroundCreepyCastleText": "Kastil Menyeramkan",
+ "backgroundCreepyCastleNotes": "Berani mendekati Kastil Menyeramkan.",
+ "backgroundDungeonText": "Penjara Bawah Tanah",
+ "backgroundDungeonNotes": "Selamatkan para tahanan dari Penjara Bawah Tanah yang menyeramkan."
}
\ No newline at end of file
diff --git a/website/common/locales/id/challenge.json b/website/common/locales/id/challenge.json
index 63cf992f8b..409753aca8 100644
--- a/website/common/locales/id/challenge.json
+++ b/website/common/locales/id/challenge.json
@@ -1,20 +1,20 @@
{
"challenge": "Tantangan",
- "challengeDetails": "Tantangan adalah acara komunitas di mana para pemain bersaing dan mendapatkan hadiah dengan menyelesaikan sekumpulan tugas yang berkaitan",
+ "challengeDetails": "Tantangan adalah acara komunitas di mana para pemain bersaing dan mendapatkan hadiah dengan menyelesaikan sekumpulan tugas yang berkaitan.",
"brokenChaLink": "Tautan Tantangan Rusak",
- "brokenTask": "Tautan Tantangan Rusak: tugas ini sebelumnya merupakan bagian dari sebuah tantangan, tapi tugasnya sudah dihapus dari tantangan tersebut. Apa yang mau anda lakukan?",
+ "brokenTask": "Tautan Tantangan Rusak: tugas ini sebelumnya merupakan bagian dari sebuah tantangan, tapi tugasnya sudah dihapus dari tantangan tersebut. Apa yang mau kamu lakukan?",
"keepIt": "Simpan",
"removeIt": "Hapus",
- "brokenChallenge": "Tautan Tantangan Rusak: tugas ini sebelumnya merupakan bagian dari sebuah tantangan, tapi tantangan tersebut (atau grup) sudah dihapus. Apa yang akan anda lakukan kepada tugas tak bertuan ini?",
+ "brokenChallenge": "Tautan Tantangan Rusak: tugas ini sebelumnya merupakan bagian dari sebuah tantangan, tapi tantangan tersebut (atau grup) sudah dihapus. Apa yang akan kamu lakukan kepada tugas tak bertuan ini?",
"keepThem": "Simpan Tugas",
"removeThem": "Hapus Tugas",
"challengeCompleted": "Tantangan ini telah diselesaikan, dan pemenangnya adalah <%= user %>! Apa yang akan dilakukan dengan tugas yang tertinggal?",
- "unsubChallenge": "Tautan Tantangan Rusak: Tadinya tugas ini merupakan bagian dari sebuah tantangan, tapi kamu sudah tidak melakukan tantangannya. Apa yang akan kamu lakukan?",
+ "unsubChallenge": "Tautan Tantangan Rusak: tugas ini sebelumnya merupakan bagian dari sebuah tantangan, tapi kamu sudah tidak melakukan tantangannya. Apa yang akan kamu lakukan?",
"challengeWinner": "Adalah pemenang dari tantangan berikut",
"challenges": "Tantangan",
"challengesLink": "Tantangan",
- "challengePrize": "Challenge Prize",
- "endDate": "Ends",
+ "challengePrize": "Hadiah Tantangan",
+ "endDate": "Berakhir",
"noChallenges": "Belum ada tantangan, kunjungi",
"toCreate": "untuk membuat tantangan baru.",
"selectWinner": "Pilih pemenang dan tutup tantangan:",
@@ -25,9 +25,9 @@
"filter": "Penyaring",
"groups": "Kelompok",
"noNone": "Tidak satupun",
- "category": "Category",
+ "category": "Kategori",
"membership": "Keanggotaan",
- "ownership": "Ownership",
+ "ownership": "Kepemilikan",
"participating": "Berpartisipasi",
"notParticipating": "Tidak Berpartisipasi",
"either": "Yang mana saja",
@@ -53,16 +53,16 @@
"selectGroup": "Silakan pilih kelompok",
"challengeCreated": "Tantangan dibuat",
"sureDelCha": "Kamu yakin ingin menghapus tantangan ini?",
- "sureDelChaTavern": "Kamu yakin ingin menghapus tantangan ini? Permata-mu tidak akan dikembalikan.",
+ "sureDelChaTavern": "Apakah kamu yakin ingin menghapus tantangan ini? Permata-mu tidak akan dikembalikan.",
"removeTasks": "Hapus tugas",
"keepTasks": "Simpan Tugas",
"closeCha": "Tutup tantangan dan...",
"leaveCha": "Tinggalkan tantangan dan...",
"challengedOwnedFilterHeader": "Kepemilikan",
"challengedOwnedFilter": "Dimiliki",
- "owned": "Sudah Punya",
+ "owned": "Milikmu",
"challengedNotOwnedFilter": "Tidak Dimiliki",
- "not_owned": "Belum Punya",
+ "not_owned": "Bukan Milikmu",
"not_participating": "Belum Berpartisipasi",
"challengedEitherOwnedFilter": "Yang Mana Saja",
"backToChallenges": "Kembali ke semua tantangan",
@@ -79,7 +79,7 @@
"challengeMemberNotFound": "Pengguna tidak ditemukan di antara anggota tantangan",
"onlyGroupLeaderChal": "Hanya pemimpin kelompok yang dapat membuat tantangan",
"tavChalsMinPrize": "Hadiah setidaknya harus berjumlah 1 Permata untuk Tantangan Umum.",
- "cantAfford": "Kamu tidak dapat membeli hadiah ini. Beli lebih banyak permata atau turunkan harga hadiah.",
+ "cantAfford": "Kamu tidak dapat membiayai hadiah ini. Beli lebih banyak permata atau turunkan harga hadiah.",
"challengeIdRequired": "\"challengeId\" harus merupakan UUID yang valid.",
"winnerIdRequired": "\"winnerId\" harus merupakan UUID yang valid.",
"challengeNotFound": "Tantangan tidak ditemukan atau kamu tidak memiliki akses.",
@@ -97,7 +97,7 @@
"myChallenges": "Tantangan Saya",
"findChallenges": "Temukan Tantangan",
"noChallengeTitle": "Kamu tidak punya Tantangan apapun.",
- "challengeDescription1": "Tantangan adalah acara komunitas di mana para pemain bersaing dan mendapatkan hadiah dengan menyelesaikan sekumpulan tugas yang berkaitan",
+ "challengeDescription1": "Tantangan adalah acara komunitas di mana para pemain bersaing dan mendapatkan hadiah dengan menyelesaikan sekumpulan tugas yang berkaitan.",
"challengeDescription2": "Temukan rekomendasi Tantangan berdasarkan minat anda, jelajahi Tantangan publik Habitica, atau buat Tantangan anda sendiri.",
"createdBy": "Dibuat Oleh",
"joinChallenge": "Ikuti Tantangan",
@@ -130,8 +130,8 @@
"descriptionRequired": "Deskripsi diperlukan",
"locationRequired": "Lokasi tantangan diperlukan ('Tambahkan ke')",
"categoiresRequired": "Satu atau lebih kategori harus dipilih",
- "viewProgressOf": "Lihat Progress Dari",
- "viewProgress": "View Progress",
+ "viewProgressOf": "Lihat Progres Dari",
+ "viewProgress": "Lihat Progres",
"selectMember": "Pilih Anggota",
"confirmKeepChallengeTasks": "Apakah kamu mau menyimpan tugas dari tantangan ini?",
"selectParticipant": "Pilih Seorang Peserta"
diff --git a/website/common/locales/id/character.json b/website/common/locales/id/character.json
index a705048f8f..53809aa230 100644
--- a/website/common/locales/id/character.json
+++ b/website/common/locales/id/character.json
@@ -8,6 +8,8 @@
"other": "Lainnya",
"fullName": "Nama Lengkap",
"displayName": "Nama Tampilan",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Foto",
"displayBlurb": "Celoteh",
"displayBlurbPlaceholder": "Perkenalkan dirimu",
@@ -94,13 +96,13 @@
"xp": "XP",
"health": "Nyawa",
"allocateStr": "Poin yang diberikan untuk Kekuatan:",
- "allocateStrPop": "Tambahkan satu poin ke Kekuatan",
+ "allocateStrPop": "Tambahkan satu poin kepada Kekuatan",
"allocateCon": "Poin yang diberikan untuk Ketahanan:",
- "allocateConPop": "Tambahkan satu poin ke Ketahanan",
+ "allocateConPop": "Tambahkan satu poin kepada Ketahanan",
"allocatePer": "Poin yang diberikan untuk Persepsi:",
- "allocatePerPop": "Tambahkan satu poin ke Persepsi",
+ "allocatePerPop": "Tambahkan satu poin kepada Persepsi",
"allocateInt": "Poin yang diberikan untuk Kecerdasan:",
- "allocateIntPop": "Tambahkan satu poin ke 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 yang sekarang bisa diambil gratis di Pasar.",
"stats": "Atribut",
"achievs": "Pencapaian",
@@ -181,7 +183,7 @@
"lostMana": "Kamu menggunakan Mana",
"lostHealth": "Kamu kehilangan Nyawa",
"lostExperience": "Kamu kehilangan Pengalaman",
- "displayNameDescription1": "Ini yang akan muncul di pesan yang kamu tulis di Kedai Minuman, guild dan party, begitu juga yang terpampang di avatarmu. Untuk mengubahnya, klik tombol Edit di atas. Tapi kalau kamu mau mengubah nama login-mu, pergi ke",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Pengaturan -> Situs",
"displayNameDescription3": "dan lihat di bagian Registrasi.",
"unequipBattleGear": "Lepaskan Perlengkapan Perang",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Sembunyikan Alokasi Atribut",
"quickAllocationLevelPopover": "Kamu akan mendapat satu Poin setiap level untuk dialokasikan kepada satu Atribut pilihanmu. Kamu dapat melakukan ini sendiri, atau biarkan permainan ini memutuskannya untukmu dengan menggunakan salah satu pilihan dari Alokasi Otomatis yang dapat ditemukan di Ikon Pengguna > Atribut.",
"notEnoughAttrPoints": "Kamu tidak memiliki cukup Poin Atribut.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Gaya",
"facialhair": "Wajah",
"photo": "Foto",
diff --git a/website/common/locales/id/content.json b/website/common/locales/id/content.json
index 98c1f26a1c..973b939a31 100644
--- a/website/common/locales/id/content.json
+++ b/website/common/locales/id/content.json
@@ -4,19 +4,19 @@
"armoireText": "Peti Ajaib",
"armoireNotesFull": "Buka Peti untuk mendapat secara acak antara Perlengkapan, Pengalaman, ataupun Makanan! Sisa perlengkapan:",
"armoireLastItem": "Kamu mendapat Perlengkapan langka terakhir dalam Peti Ajaib.",
- "armoireNotesEmpty": "Peti sekarang akan menyediakan Perlengkapan baru setiap awal minggu pada setiap bulan. Sampai bulan depan, tetap buka peti untuk dapat Pengalaman dan Makanan!",
+ "armoireNotesEmpty": "Peti sekarang akan menyediakan Perlengkapan baru pada awal minggu dari setiap bulan. Hingga bulan depan, tetap membuka peti untuk mendapatkan Pengalaman dan Makanan!",
"dropEggWolfText": "Serigala",
"dropEggWolfMountText": "Serigala",
"dropEggWolfAdjective": "setia",
"dropEggTigerCubText": "Anak Harimau",
"dropEggTigerCubMountText": "Harimau",
- "dropEggTigerCubAdjective": "Gagah berani",
+ "dropEggTigerCubAdjective": "gagah berani",
"dropEggPandaCubText": "Anak Panda",
"dropEggPandaCubMountText": "Panda",
"dropEggPandaCubAdjective": "baik hati",
"dropEggLionCubText": "Anak Singa",
"dropEggLionCubMountText": "Singa",
- "dropEggLionCubAdjective": "megah",
+ "dropEggLionCubAdjective": "agung",
"dropEggFoxText": "Rubah",
"dropEggFoxMountText": "Rubah",
"dropEggFoxAdjective": "cerdik",
@@ -102,14 +102,14 @@
"questEggSnakeMountText": "Ular",
"questEggSnakeAdjective": "meliuk-liuk",
"questEggUnicornText": "Unicorn",
- "questEggUnicornMountText": "Unicorn",
+ "questEggUnicornMountText": "Unicorn Bersayap",
"questEggUnicornAdjective": "ajaib",
"questEggSabretoothText": "Macan Gigi Pedang",
"questEggSabretoothMountText": "Macan Gigi Pedang",
"questEggSabretoothAdjective": "ganas",
"questEggMonkeyText": "Monyet",
"questEggMonkeyMountText": "Monyet",
- "questEggMonkeyAdjective": "Jahil",
+ "questEggMonkeyAdjective": "jahil",
"questEggSnailText": "Siput",
"questEggSnailMountText": "Siput",
"questEggSnailAdjective": "pelan tapi pasti",
@@ -118,7 +118,7 @@
"questEggFalconAdjective": "cepat",
"questEggTreelingText": "Pohon Muda",
"questEggTreelingMountText": "Pohon Muda",
- "questEggTreelingAdjective": "berdaun",
+ "questEggTreelingAdjective": "berdaun lebat",
"questEggAxolotlText": "Axolotl",
"questEggAxolotlMountText": "Axolotl",
"questEggAxolotlAdjective": "kecil",
@@ -167,16 +167,19 @@
"questEggBadgerText": "Luak",
"questEggBadgerMountText": "Luak",
"questEggBadgerAdjective": "a bustling",
- "questEggSquirrelText": "Squirrel",
- "questEggSquirrelMountText": "Squirrel",
- "questEggSquirrelAdjective": "a bushy-tailed",
- "questEggSeaSerpentText": "Sea Serpent",
- "questEggSeaSerpentMountText": "Sea Serpent",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
+ "questEggSquirrelText": "Tupai",
+ "questEggSquirrelMountText": "Tupai",
+ "questEggSquirrelAdjective": "berekor lebat",
+ "questEggSeaSerpentText": "Ular Laut",
+ "questEggSeaSerpentMountText": "Ular Laut",
+ "questEggSeaSerpentAdjective": "berkilauan",
+ "questEggKangarooText": "Kangguru",
+ "questEggKangarooMountText": "Kangguru",
"questEggKangarooAdjective": "a keen",
- "eggNotes": "Gunakan ramuan penetas kepada telur ini, dan ia akan menetas menjadi <%= eggText(locale) %> yang <%= eggAdjective(locale) %>;",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
+ "eggNotes": "Temukan ramuan penetas untuk dituangkan ke telur ini, dan ia akan menetas menjadi <%= eggText(locale) %> yang <%= eggAdjective(locale) %>.",
"hatchingPotionBase": "Biasa",
"hatchingPotionWhite": "Putih",
"hatchingPotionDesert": "Gurun",
@@ -187,7 +190,7 @@
"hatchingPotionCottonCandyPink": "Permen Kapas Pink",
"hatchingPotionCottonCandyBlue": "Permen Kapas Biru",
"hatchingPotionGolden": "Keemasan",
- "hatchingPotionSpooky": "Seram",
+ "hatchingPotionSpooky": "Menyeramkan",
"hatchingPotionPeppermint": "Peppermint",
"hatchingPotionFloral": "Berbunga",
"hatchingPotionAquatic": "Air",
@@ -200,8 +203,9 @@
"hatchingPotionShimmer": "Berkilau",
"hatchingPotionFairy": "Peri",
"hatchingPotionStarryNight": "Malam Berbintang",
- "hatchingPotionRainbow": "Rainbow",
- "hatchingPotionGlass": "Glass",
+ "hatchingPotionRainbow": "Pelangi",
+ "hatchingPotionGlass": "Kaca",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"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.",
"foodMeat": "Daging",
@@ -296,6 +300,6 @@
"foodCandyRedA": "Permen Kayu Manis",
"foodSaddleText": "Pelana",
"foodSaddleNotes": "Membuat peliharaanmu langsung bisa ditunggangi.",
- "foodSaddleSellWarningNote": "Hei! Ini adalah item yang lumayan berguna! Apakah kamu familiar dengan cara menggunakan sebuah Pelana untuk peliharaanmu?",
+ "foodSaddleSellWarningNote": "Hei! Ini item yang lumayan berguna! Apakah kamu familiar dengan cara menggunakan sebuah Pelana untuk peliharaanmu?",
"foodNotes": "Beri makan peliharaanmu agar tumbuh menjadi tunggangan yang kuat."
}
\ No newline at end of file
diff --git a/website/common/locales/id/front.json b/website/common/locales/id/front.json
index 9b4b3ae377..9167982c8e 100644
--- a/website/common/locales/id/front.json
+++ b/website/common/locales/id/front.json
@@ -1,6 +1,6 @@
{
"FAQ": "FAQ",
- "termsAndAgreement": "Dengan menekan tombol di bawah, kamu menunjukkan bahwa kamu telah membaca dan setuju dengan Persyaratan Layanan dan Kebijakan Privasi.",
+ "termsAndAgreement": "Dengan menekan tombol di bawah, kamu menunjukkan bahwa kamu telah membaca dan menyetujui Persyaratan Layanan dan Kebijakan Privasi.",
"accept1Terms": "Dengan menekan tombol berikut, Saya setuju dengan",
"accept2Terms": "dan",
"alexandraQuote": "Tidak mampu TIDAK membicarakan [Habitica] selama pidato saya di Madrid. Sesuatu yang harus dimiliki oleh para pekerja lepas yang masih memerlukan bos.",
@@ -14,7 +14,7 @@
"businessSample5": "Panggil Klien/Menunda Panggilan Telepon",
"businessText": "Gunakan Habitica dalam bisnis anda",
"choreSample1": "Taruh Baju Kotor di Keranjang Cucian",
- "choreSample2": "20 menit pekerjaan rumah",
+ "choreSample2": "20 menit Pekerjaan Rumah",
"choreSample3": "Cuci Piring",
"choreSample4": "Bersih-bersih Satu Ruangan",
"choreSample5": "Cuci Baju",
@@ -132,7 +132,7 @@
"oldNews": "Berita",
"newsArchive": "Arsip berita di Wikia (multibahasa)",
"passConfirm": "Ulangi Kata sandi",
- "setNewPass": "Atur Kata Sandi Baru",
+ "setNewPass": "Pilih Kata Sandi Baru",
"passMan": "Apabila kamu menggunakan manajer kata sandi (seperti 1Password) dan memiliki masalah saat masuk, cobalah memasukkan nama pengguna dan kata sandi secara manual.",
"password": "Kata sandi",
"playButton": "Main",
@@ -151,12 +151,12 @@
"pkQuestion5": "Apa yang membedakan Habitica dari program lain yang juga mengubah hidup menjadi game?",
"pkAnswer5": "Salah satu alasan Habitica sukses menggunakan sistem mengubah hidup menjadi game adalah karena kami menaruh banyak usaha memikirkan aspek permainan untuk memastikan keseruan aspek itu. Kami juga memasukkan banyak komponen sosial, karena kami merasa bahwa beberapa game yang paling memotivasi membiarkanmu bermain bersama temanmu, dan karena riset menunjukkan bahwa lebih mudah untuk membentuk kebiasaan sewaktu kamu harus bertanggung jawab terhadap orang lain.",
"pkQuestion6": "Siapa yang biasa menggunakan Habitica?",
- "pkAnswer6": "Banyak orang berbeda-beda yang menggunakan Habitica. Lebih dari setengah dari pengguna kami berusia 18 hingga 34, tapi kami punya kakek nenek yang menggunakan situs ini bersama cucu mereka dan setiap usia di antaranya. Seringkali keluarga akan bergabung sebuah party dan melawan monster bersama.
Banyak pengguna kami punya latar belakang dalam game, tapi mengejutkannya, sewaktu kami menjalankan survey beberapa waktu lalu, 40% pengguna kami merasa bukan gamer! Jadi kelihatannya metode kami bisa efektif untuk siapa saja yang mau produktifitas dan menjaga kesehatan terasa lebih seru.",
+ "pkAnswer6": "Banyak orang berbeda-beda yang menggunakan Habitica. Lebih dari setengah dari pengguna kami berusia 18 hingga 34, tapi kami punya kakek nenek yang menggunakan situs ini bersama cucu mereka dan setiap usia di antaranya. Seringkali keluarga akan bergabung dalam sebuah party untuk melawan monster bersama.
Banyak pengguna kami punya latar belakang dalam game, tapi mengejutkannya, sewaktu kami menjalankan survey beberapa waktu lalu, 40% pengguna kami merasa bukan gamer! Jadi kelihatannya metode kami bisa efektif untuk siapa saja yang mau produktifitas dan menjaga kesehatan terasa lebih seru.",
"pkQuestion7": "Mengapa Habitica menggunakan seni pixel?",
"pkAnswer7": "Habitica menggunakan seni pixel untuk beberapa alasan. Sebagai tambahan dari faktor nostalgia seru, seni pixel sangat mudah untuk digunakan oleh para seniman relawan kami yang ingin menyumbang. Juga lebih mudah untuk menjaga seni pixel agar tetap konsisten meskipun ada banyak dan berbagai seniman yang berkontribusi, dan ini membuat kami bisa membuat banyak konten baru dengan cepat!",
"pkQuestion8": "Bagaimanakah Habitica mengubah kehidupan nyata orang?",
"pkAnswer8": "Kamu bisa menemukan banyak testimoni dari bagaimana Habitica telah membantu orang di sini: https://habitversary.tumblr.com",
- "pkMoreQuestions": "Do you have a question that’s not on this list? Send an email to admin@habitica.com!",
+ "pkMoreQuestions": "Ada pertanyaan yang tidak ada di daftar ini? Kirimkan sebuah email ke admin@habitica.com!",
"pkVideo": "Video",
"pkPromo": "Promo",
"pkLogo": "Logo",
@@ -188,7 +188,7 @@
"schoolSample4": "Merangkum 1 Bab",
"schoolSample5": "Membaca 1 Bab",
"sixteenBitFilQuote": "Aku memecahkan rekor waktu tersingkat dalam melakukan pekerjaan dan tugas berkat [Habitica]. Aku selalu nggak sabar untuk meningkatkan level!",
- "skysailorQuote": "Party saya dan misi-misi kami membuat saya terus terlibat dalam permainan, yang membuat saya termotivasi untuk menyelesaikan sesuatu dan mengubah hidup saya dengan cara yang positif",
+ "skysailorQuote": "Party-ku dan misi-misi kami mendorongku untuk terus terlibat dalam game ini, yang membuatku termotivasi untuk menyelesaikan sesuatu dan mengubah hidup saya dengan cara yang positif",
"socialTitle": "Habitica - Mainkan Hidup Kamu",
"supermouse35Quote": "Aku berolahraga lebih banyak dan nggak lupa untuk minum obat-obatan secara rutin! makasih, Habit. : D",
"sync": "Sinkronkan",
@@ -211,8 +211,8 @@
"unlockByline2": "Membuka alat motivasi baru, seperti pengumpulan hewan peliharaan, imbalan acak, mantra, dan banyak lagi!",
"unlockHeadline": "Selama kamu produktif, kamu mendapat konten baru!",
"useUUID": "Gunakan UUID/ API Token (untuk Pengguna Facebook)",
- "username": "Nama Login",
- "emailOrUsername": "Email atau Nama Login (sensitif kepada huruf kapital)",
+ "username": "Nama Pengguna",
+ "emailOrUsername": "Email atau Nama Pengguna (sensitif kepada huruf kapital)",
"watchVideos": "Lihat Video",
"work": "Pekerjaan",
"zelahQuote": "Dengan [Habitica], saya dapat memilih untuk pergi tidur lebih awal karena ingin dapat poin atau terancam kehilangan nyawa jika tidur terlaru larut!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Header autentikasi hilang.",
"missingAuthParams": "Parameter autentikasi hilang.",
- "missingUsernameEmail": "Nama Login atau email tidak dapat ditemukan.",
+ "missingUsernameEmail": "Nama pengguna atau email tidak dapat ditemukan.",
"missingEmail": "Email hilang.",
- "missingUsername": "Nama Login Tidak Dapat Ditemukan",
+ "missingUsername": "Nama pengguna tidak dapat ditemukan.",
"missingPassword": "Kata sandi hilang.",
"missingNewPassword": "Kata sandi baru hilang.",
"invalidEmailDomain": "Kamu tidak dapat mendaftar menggunakan email dengan domain berikut ini: <%= domains %>",
@@ -269,20 +269,27 @@
"incorrectDeletePhrase": "Silahkan ketik <%= magicWord %> seluruhnya dengan menggunakan huruf kapital untuk menghapus akunmu.",
"notAnEmail": "Alamat email salah.",
"emailTaken": "Alamat email telah digunakan oleh akun lain.",
- "newEmailRequired": "Alamat email baru hilang.",
- "usernameTaken": "Nama Login sudah diambil.",
- "usernameWrongLength": "Nama Login panjangnya harus di antara 1 hingga 20 karakter.",
- "usernameBadCharacters": "Nama Login hanya boleh terdiri dari huruf a sampai z, angka 0 sampai 9, tanda penghubung, atau garis bawah.",
+ "newEmailRequired": "Alamat email baru tidak ditemukan.",
+ "usernameTime": "Ini waktunya untuk memilih nama penggunamu!",
+ "usernameInfo": "Nama tampilanmu tidak diganti, tetapi nama login lama-mu akan menjadi nama penguna publik-mu. Nama pengguna ini akan digunakan untuk undangan, @mention di obrolan, dan kirim-mengirim pesan singkat.
Jika kamu ingin mengetahui lebih lanjut tentang pergantian ini, kunjungi laman wiki Nama Pemain.",
+ "usernameTOSRequirements": "Nama pengguna harus mengikuti Persyaratan Layanan dan Pedoman Komunitas kami. Jika kamu belum pernah memilih nama login, nama penggunamu akan dibuat secara otomatis.",
+ "usernameTaken": "Nama pengguna sudah diambil.",
+ "usernameWrongLength": "Nama pengguna panjangnya harus di antara 1 hingga 20 karakter.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Nama pengguna hanya boleh terdiri dari huruf a sampai z, angka 0 sampai 9, tanda penghubung, atau garis bawah.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Konfirmasi Nama Pengguna",
+ "usernameConfirmed": "Nama Pengguna Dikonfirmasi",
"passwordConfirmationMatch": "Konfirmasi kata sandi tidak cocok dengan kata sandi.",
"invalidLoginCredentials": "Nama pengguna dan/atau email dan/atau kata sandi salah.",
"passwordResetPage": "Reset Kata Sandi",
- "passwordReset": "Jika email-mu telah terdaftar, instruksi untuk membuat kata sandi baru seharusnya sudah terkirim ke email kamu.",
+ "passwordReset": "Jika email-mu telah terdaftar, instruksi untuk membuat kata sandi baru seharusnya sudah dikirim ke email kamu.",
"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": "O-ow - alamat email / nama penggunamu atau kata sandimu tidak benar.\n- Pastikan semuanya telah diketik dengan benar. Nama pengguna dan kata sandimu sensitif terhadap huruf kapital.\n- Kamu mungkin terdaftar menggunakan Facebook atau sign-in Google, bukan email jadi periksa ulang dengan mencoba opsi-opsi tersebut.\n- Jika kamu lupa kata sandimu, klik \"Lupa Kata Sandi\".",
+ "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\".",
"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 Profile Name.",
+ "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",
"unsupportedNetwork": "Jaringan ini saat ini belum didukung.",
"cantDetachSocial": "Akun tidak memiliki metode autentikasi lain; tidak dapat memutuskan metode autentikasi ini.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Daftar dengan <%= social %>",
"loginWithSocial": "Log in dengan <%= social %>",
"confirmPassword": "Konfirmasi Kata Sandi",
- "usernameLimitations": "Nama Login panjangnya harus di antara 1 hingga 20 karakter, hanya boleh terdiri dari huruf a sampai z, atau angka 0 sampai 9, atau tanda penghubung, atau garis bawah.",
+ "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",
"passwordPlaceholder": "contoh: ******************",
@@ -329,6 +336,5 @@
"signup": "Daftar",
"getStarted": "Memulai",
"mobileApps": "Aplikasi Handphone",
- "learnMore": "Pelajari Lebih Lanjut",
- "useMobileApps": "Habitica tidak dioptimalkan untuk browser ponsel. Kami sarankan untuk mengunduh aplikasi ponsel kami."
+ "learnMore": "Pelajari Lebih Lanjut"
}
\ No newline at end of file
diff --git a/website/common/locales/id/gear.json b/website/common/locales/id/gear.json
index 850086db61..22f44a9afe 100644
--- a/website/common/locales/id/gear.json
+++ b/website/common/locales/id/gear.json
@@ -81,7 +81,7 @@
"weaponSpecial0Text": "Pedang Jiwa Kegelapan",
"weaponSpecial0Notes": "Menyantap jiwa musuh untuk memperkuat tiap sabetan jahatnya. Meningkatkan Kekuatan sebesar <%= str %>.",
"weaponSpecial1Text": "Pedang Kristal",
- "weaponSpecial1Notes": "Permukaan berkilaunya mengisahkan kehidupan para pahlawan. Meningkatkan semua Atribut sebesar <%= attrs %>.",
+ "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",
@@ -93,7 +93,7 @@
"weaponSpecialTridentOfCrashingTidesText": "Trisula Pemecah Ombak",
"weaponSpecialTridentOfCrashingTidesNotes": "Memberi kemampuan untuk memerintah para ikan, sekaligus memberi tusukan yang kuat ke tugas-tugasmu. Meningkatkan Kecerdasan sebesar <%= int %>.",
"weaponSpecialTaskwoodsLanternText": "Lentera Taskwood",
- "weaponSpecialTaskwoodsLanternNotes": "Diberikan kepada hantu penjaga Taskwood Orchards pada waktu fajar, lentera ini dapat menerangi kegelapan terdalam dan menjalin sihir yang kuat. Meningkatkan Persepsi dan Kecerdasan masing-masing sebesar <%= attrs %>.",
+ "weaponSpecialTaskwoodsLanternNotes": "Diberikan kepada hantu penjaga Kebun Buah Taskwood pada awal waktu, lentera ini dapat menerangi kegelapan terdalam dan menjalin sihir yang kuat. Meningkatkan Persepsi dan Kecerdasan masing-masing sebesar <%= attrs %>.",
"weaponSpecialBardInstrumentText": "Kecapi Penyair",
"weaponSpecialBardInstrumentNotes": "Mainkan sebuah lagu gembira dengan kecapi magis ini! Meningkatkan Kecerdasan dan Persepsi masing-masing sebesar <%= attrs %>.",
"weaponSpecialLunarScytheText": "Sabit Bulan",
@@ -113,7 +113,7 @@
"weaponSpecialTachiText": "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 pernah menjadi kepunyaan sang Masterclasser yang Hilang. Meningkatkan semua Atribut sebesar <%= attrs %>.",
+ "weaponSpecialAetherCrystalsNotes": "Pelindung tangan dan kristal ini dulu milik sang Masterclasser yang Hilang. Meningkatkan semua Atribut sebesar <%= attrs %>.",
"weaponSpecialYetiText": "Tombak Penjinak Yeti",
"weaponSpecialYetiNotes": "Tombak ini membuat penggunanya mampu memerintah yeti manapun. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Dingin 2013-2014 Edisi Terbatas.",
"weaponSpecialSkiText": "Tongkat Ski Pembunuh",
@@ -163,9 +163,9 @@
"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.",
"weaponSpecialSummer2015RogueText": "Koral Membara",
- "weaponSpecialSummer2015RogueNotes": "Jenis koral api ini memiliki kemampuan untuk menembakkan racunnya menembus air. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Panas 2015 Edisi Terbatas.",
- "weaponSpecialSummer2015WarriorText": "Ikan Pedang Matahari",
- "weaponSpecialSummer2015WarriorNotes": "Ikan Pedang Matahari adalah senjata yang hebat, buktinya dia bisa disuruh berhenti menggelepar. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Panas 2015 Edisi Terbatas.",
+ "weaponSpecialSummer2015RogueNotes": "Jenis koral api ini bisa menembakkan racunnya menembus air. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Panas 2015 Edisi Terbatas.",
+ "weaponSpecialSummer2015WarriorText": "Ikan Todak Matahari",
+ "weaponSpecialSummer2015WarriorNotes": "Ikan Todak Matahari adalah senjata yang menakutkan, buktinya dia bisa disuruh berhenti menggelepar. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Panas 2015 Edisi Terbatas.",
"weaponSpecialSummer2015MageText": "Tongkat Soothsayer",
"weaponSpecialSummer2015MageNotes": "Kekuatan yang hebat tersembunyi di dalam permata tongkat ini. Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Semi 2015 Edisi Terbatas.",
"weaponSpecialSummer2015HealerText": "Tongkat Ombak",
@@ -186,7 +186,7 @@
"weaponSpecialWinter2016MageNotes": "Trikmu sangat keren, pasti gara-gara sihir! Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Dingin 2015-2016 Edisi Terbatas.",
"weaponSpecialWinter2016HealerText": "Meriam Pesta",
"weaponSpecialWinter2016HealerNotes": "HOREEEEEE!!!!!! SELAMAT MUSIM DINGIN!!!!!!!! Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2015-2016 Edisi Terbatas.",
- "weaponSpecialSpring2016RogueText": "Bolas Api",
+ "weaponSpecialSpring2016RogueText": "Bola Api",
"weaponSpecialSpring2016RogueNotes": "Kamu telah menguasai bola, alat pemukul, dan pisau. Sekarang kamu berlatih sirkus api! Awoo! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Semi 2016 Edisi Terbatas.",
"weaponSpecialSpring2016WarriorText": "Pemukul Keju",
"weaponSpecialSpring2016WarriorNotes": "Tidak ada yang punya teman sebanyak seekor tikus dengan kejunya yang empuk. Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Semi 2016 Edisi Terbatas.",
@@ -207,7 +207,7 @@
"weaponSpecialFall2016WarriorText": "Akar Penyerang",
"weaponSpecialFall2016WarriorNotes": "Serang tugasmu dengan menggunakan pilinan akar-akar ini! Meningkatkan Kekuatan sebesar <%= str %>. Perlengkapan Musim Gugur 2016 Edisi Terbatas.",
"weaponSpecialFall2016MageText": "Bola Firasat Buruk",
- "weaponSpecialFall2016MageNotes": "Jangan meminta bola kristal ini untuk memberitahukan masa depanmu... Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Gugur 2016 Edisi Terbatas.",
+ "weaponSpecialFall2016MageNotes": "Jangan minta bola kristal ini untuk memberitahukan masa depanmu... Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Gugur 2016 Edisi Terbatas.",
"weaponSpecialFall2016HealerText": "Ular Berbisa",
"weaponSpecialFall2016HealerNotes": "Satu gigitan mematikan, dan gigitan lainnya menyembuhkan. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Gugur 2016 Edisi Terbatas.",
"weaponSpecialWinter2017RogueText": "Kapak Es",
@@ -217,12 +217,12 @@
"weaponSpecialWinter2017MageText": "Tongkat Kristal Serigala Musim Dingin",
"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 menghadirkan gambaran para sugarplum yang menari. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Dingin 2016-2017 Edisi Terbatas.",
+ "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",
"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.",
- "weaponSpecialSpring2017MageText": "Tongkat Pengambil Sihir",
+ "weaponSpecialSpring2017MageText": "Tongkat Lempar Ajaib",
"weaponSpecialSpring2017MageNotes": "Saat kamu sedang tidak menggunakannya untuk merapal mantra, kamu bisa melemparnya kemudian membawanya balik! Seru banget kan!! Meningkatkan Kecerdasan sebesar <%= int %> dan Persepsi sebesar <%= per %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.",
"weaponSpecialSpring2017HealerText": "Tongkat Telur",
"weaponSpecialSpring2017HealerNotes": "Sihir asli dari tongkat ini adalah rahasia dari kehidupan baru di dalam cangkang warna-warninya. Meningkatkan Kecerdasan sebesar <%= int %>. Perlengkapan Musim Semi 2017 Edisi Terbatas.",
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"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",
@@ -319,7 +327,7 @@
"weaponArmoireOgreClubText": "Klub Ogre",
"weaponArmoireOgreClubNotes": "Gada ini dirampas dari sebuah sarang Ogre asli. Meningkatkan Kekuatan sebesar <%= str %>. Peti Ajaib: Kostum Ogre (Item 2 dari 3).",
"weaponArmoireWoodElfStaffText": "Tongkat Elf Hutan",
- "weaponArmoireWoodElfStaffNotes": "Dibuat dari ranting pohon kuno yang terjatuh, tongkat ini akan membantumu berkomunikasi dengan penghuni hutan baik besar maupun kecil. Meningkatkan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Peri Pohon (Item 3 dari 3).",
+ "weaponArmoireWoodElfStaffNotes": "Dibuat dari ranting pohon kuno yang terjatuh, tongkat ini akan membantumu berkomunikasi dengan penghuni hutan baik besar maupun kecil. Meningkatkan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Elf Hutan (Item 3 dari 3).",
"weaponArmoireWandOfHeartsText": "Tongkat Hati",
"weaponArmoireWandOfHeartsNotes": "Tongkat ini berkilau dengan cahaya merah hangat. Juga akan memberikan hatimu kebijaksanaan. Meningkatkan Kecerdasan sebesar <%= int %>. Peti Ajaib: Set Ratu Hati (Item 3 dari 3).",
"weaponArmoireForestFungusStaffText": "Tongkat Jamur Hutan",
@@ -350,6 +358,10 @@
"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).",
"armor": "baju perang",
"armorCapitalized": "Baju Perang",
"armorBase0Text": "Pakaian Biasa",
@@ -592,6 +604,14 @@
"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.",
"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 +665,7 @@
"armorMystery201703Text": "Baju Zirah Berkilau",
"armorMystery201703Notes": "Meskipun warnanya mengingatkan tentang bunga musim semi, baju zirah ini lebih kuat dari baja! Tidak menambah status apapun. Item Pelanggan Maret 2017.",
"armorMystery201704Text": "Baju Zirah Dongeng",
- "armorMystery201704Notes": "Bangsa peri menempa baju zirah ini dari embun pagi untuk menangkap warna-warni sebelum matahari terbit. Tidak menambah status apapun. Item Pelanggan April 2017.",
+ "armorMystery201704Notes": "Bangsa peri menempa baju zirah ini dari embun pagi untuk menangkap warna-warni fajar. Tidak menambah status apapun. Item Pelanggan April 2017.",
"armorMystery201707Text": "Baju Zirah Jellymancer",
"armorMystery201707Notes": "Baju zirah ini akan membantumu berbaur dengan makhluk samudra lainnya selagi kamu menyelesaikan misi dan petualangan bawah laut. Tidak menambah status apapun. Item PElanggan Juli 2017.",
"armorMystery201710Text": "Pakaian Imp Angkuh",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "Baju Steampunk",
"armorMystery301404Notes": "Necis dan keren, iya lah! Tidak menambah status apapun. Item Pelanggan Februari 3015.",
"armorMystery301703Text": "Gaun Merak Steampunk",
@@ -754,6 +778,10 @@
"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).",
"headgear": "helm",
"headgearCapitalized": "Akesoris kepala",
"headBase0Text": "Tidak Ada Perlengkapan Kepala",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Helm Prajurit Pelangi",
"headSpecialGaymerxNotes": "Sebagai Perayaan Konferensi GaymerX, helm spesial ini berhiaskan pelangi yang cerah dan indah! GaymerX adalah konvensi gamer yang merayakan LGBTQ",
"headMystery201402Text": "Helm Bersayap",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Topi Fancy",
"headMystery301404Notes": "Topi paling cocok untuk gentleman! Item pelanggan Januari 3015. Tidak menambah status apapun.",
"headMystery301405Text": "Topi Biasa",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Pedang Resolusi",
"shieldMystery201601Notes": "Pedang ini dapat digunakan untuk menangkis semua gangguan. Tidak menambah status apapun. Item Pelanggan Januari 2016.",
"shieldMystery201701Text": "Perisai Penghenti Waktu",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Aksesori Punggung",
"backCapitalized": "Aksesori Punggung",
"backBase0Text": "Tidak Mengenakan Aksesori Punggung",
"backBase0Notes": "Tidak Mengenakan Aksesori Punggung.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Sayap Emas",
"backMystery201402Notes": "Sayap yang berkilauan ini punya bulu yang nampak indah di bawah sinar matahari! Tidak menambah status apapun. Item Pelanggan Februari 2014.",
"backMystery201404Text": "Sayap Kupu-kupu Temaram",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Jubah ini dulunya dimiliki oleh sang Lost Masterclasser sendiri. Meningkatkan Persepsi sebesar <%= per %>.",
"backSpecialTurkeyTailBaseText": "Ekor Kalkun",
"backSpecialTurkeyTailBaseNotes": "Gunakan Ekor Kalkun bangsawan-mu dengan rasa bangga selagi merayakan! Tidak menambah status apapun.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Aksesori Tubuh",
"bodyCapitalized": "Aksesori Tubuh",
"bodyBase0Text": "Tidak Mengenakan Aksesori Badan",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Kacamata untuk mata,\" kata mereka. \"Tidak ada yang pakai kacamata di kepala,\" kata mereka. Hah! Yang benar saja! Tidak menambah status apapun. Item Pelanggan Agustus 3015.",
"headAccessoryArmoireComicalArrowText": "Panah Kocak",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Kacamata",
"eyewearCapitalized": "Kacamata",
"eyewearBase0Text": "Tidak Mengenakan Kacamata",
diff --git a/website/common/locales/id/generic.json b/website/common/locales/id/generic.json
index 349e099bc1..5e47454ba4 100644
--- a/website/common/locales/id/generic.json
+++ b/website/common/locales/id/generic.json
@@ -30,7 +30,7 @@
"titleSettings": "Pengaturan",
"saveEdits": "Simpan Perubahan",
"showMore": "Lihat Selengkapnya",
- "showLess": "Lihat Secara RIngkas",
+ "showLess": "Lihat Secara Ringkas",
"expandToolbar": "Perluas bagan peralatan",
"collapseToolbar": "Tutup bagan peralatan",
"markdownHelpLink": "Format Markdown membantu",
@@ -71,6 +71,7 @@
"submit": "Laporkan",
"close": "Tutup",
"saveAndClose": "Simpan & Tutup",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Batal",
"ok": "OK",
"add": "Tambah",
@@ -271,7 +272,7 @@
"entertainment": "Hiburan",
"finance": "Keuangan",
"health_fitness": "Kesehatan + Kebugaran",
- "hobbies_occupations": "Kesehatan + Pekerjaan",
+ "hobbies_occupations": "Hobi + Pekerjaan",
"location_based": "Berdasarkan Lokasi",
"mental_health": "Kesehatan Mental + Perawatan Diri",
"getting_organized": "Jadi Teratur",
diff --git a/website/common/locales/id/groups.json b/website/common/locales/id/groups.json
index b082685dde..d371509de4 100644
--- a/website/common/locales/id/groups.json
+++ b/website/common/locales/id/groups.json
@@ -6,6 +6,7 @@
"innText": "Kamu beristirahat di Penginapan! Ketika menginap, kamu tidak akan dilukai oleh keseharianmu yang belum selesai, tapi mereka tetap akan diperbarui setiap hari. Ingat: jika kamu sedang ikut misi melawan musuh, musuh masih bisa melukaimu lewat keseharian yang tidak diselesaikan teman Party-mu kecuali mereka ada di Penginapan juga! Selain itu kamu tidak akan bisa menyerang musuh (atau menemukan item misi) hingga kamu keluar dari Penginapan.",
"innTextBroken": "Kamu beristirahat di dalam Penginapan, kurasa... Ketika menginap, kamu tidak akan dilukai oleh keseharianmu yang belum selesai, tapi mereka masih akan diperbarui setiap hari... Jika kamu sedang ikut misi melawan musuh, musuh masih bisa melukaimu karena tugas yang tidak diselesaikan teman Party-mu... kecuali mereka ada di Penginapan juga... Selain itu kamu tidak akan bisa menyerang musuh (atau menemukan item misi) jika masih di dalam Penginapan... capek banget...",
"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",
"helpfulLinks": "Tautan Berguna",
"communityGuidelinesLink": "Pedoman Komunitas",
diff --git a/website/common/locales/id/inventory.json b/website/common/locales/id/inventory.json
index 0cda92544b..67a219578b 100644
--- a/website/common/locales/id/inventory.json
+++ b/website/common/locales/id/inventory.json
@@ -3,6 +3,6 @@
"foodItemType": "Makanan",
"eggsItemType": "Telur",
"hatchingPotionsItemType": "Ramuan Penetas",
- "specialItemType": "Item spesial",
+ "specialItemType": "Item Spesial",
"lockedItem": "Item Terkunci"
}
diff --git a/website/common/locales/id/limited.json b/website/common/locales/id/limited.json
index 79c58e135c..7001e9fb4b 100644
--- a/website/common/locales/id/limited.json
+++ b/website/common/locales/id/limited.json
@@ -117,7 +117,7 @@
"winter2018GiftWrappedSet": "Ksatria Bungkusan Hadiah (Warrior)",
"winter2018MistletoeSet": "Penyembuh Mistletoe (Healer)",
"winter2018ReindeerSet": "Rogue Rusa Kutub (Rogue)",
- "spring2018SunriseWarriorSet": "Sunrise Warrior (Warrior)",
+ "spring2018SunriseWarriorSet": "Ksatria Fajar (Warrior)",
"spring2018TulipMageSet": "Tulip Mage (Mage)",
"spring2018GarnetHealerSet": "Garnet Healer (Healer)",
"spring2018DucklingRogueSet": "Duckling Rogue (Rogue)",
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Tersedia untuk dibeli hingga <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "19 April",
@@ -132,6 +136,7 @@
"dateEndJune": "14 Juni",
"dateEndJuly": "July 31",
"dateEndAugust": "31 Agustus",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "31 Oktober",
"dateEndNovember": "30 November",
"dateEndJanuary": "31 Januari",
diff --git a/website/common/locales/id/loginincentives.json b/website/common/locales/id/loginincentives.json
index 419b869f08..f8370047c0 100644
--- a/website/common/locales/id/loginincentives.json
+++ b/website/common/locales/id/loginincentives.json
@@ -21,7 +21,7 @@
"fourOfEachFood": "empat dari setiap Makanan Peliharaan standar",
"twoSaddles": "dua Pelana",
"threeSaddles": "tiga Pelana",
- "incentiveAchievement": "penghargaan Kesetiaan Mendalam",
+ "incentiveAchievement": "pencapaian Kesetiaan Mendalam",
"royallyLoyal": "Kesetiaan Mendalam",
"royallyLoyalText": "Pengguna ini telah cek in lebih dari 500 kali, dan telah mendapat semua Hadiah Masuk!",
"checkInRewards": "Hadiah Masuk",
diff --git a/website/common/locales/id/messages.json b/website/common/locales/id/messages.json
index 3e8f9197c8..2ff2f96770 100644
--- a/website/common/locales/id/messages.json
+++ b/website/common/locales/id/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Permata tidak cukup!",
"messageAuthPasswordMustMatch": ":password dan :confirm Kata Sandi tidak cocok",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirm Kata Sandi dibutuhkan",
- "messageAuthUsernameTaken": "Nama Login telah diambil",
"messageAuthEmailTaken": "Email telah digunakan",
"messageAuthNoUserFound": "Tidak ada pengguna yang ditemukan",
"messageAuthMustBeLoggedIn": "Anda harus masuk.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 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!"
+ "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."
}
\ No newline at end of file
diff --git a/website/common/locales/id/npc.json b/website/common/locales/id/npc.json
index 5e18a16667..8a4bea40e1 100644
--- a/website/common/locales/id/npc.json
+++ b/website/common/locales/id/npc.json
@@ -48,7 +48,7 @@
"featuredItems": "Barang Sorotan!",
"hideLocked": "Sembunyikan yang terkunci",
"hidePinned": "Sembunyikan yang sudah disematkan",
- "hideMissing": "Hide Missing",
+ "hideMissing": "Sembunyikan yang Tidak Dapat Ditemukan",
"amountExperience": "<%= amount %> Pengalaman",
"amountGold": "<%= amount %> Koin Emas",
"namedHatchingPotion": "Ramuan Penetas <%= type %>",
@@ -81,7 +81,7 @@
"positiveAmountRequired": "Jumlah positif dibutuhkan",
"notAccteptedType": "Tipe harus dalam [eggs, hatchingPotions, premiumHatchingPotions, food, quests, gear]",
"contentKeyNotFound": "Kunci tidak ditemukan untuk Konten <%= type %>",
- "plusGem": "+<%= count %> Gem",
+ "plusGem": "+<%= count %> Permata",
"typeNotSellable": "Tipe tidak dapat dijual. Harus salah satu dari <%= acceptedTypes %> berikut",
"userItemsKeyNotFound": "Kunci tidak ditemukan untuk user.items <%= type %>",
"userItemsNotEnough": "Kamu tidak mempunyai cukup <%= type %>",
@@ -89,7 +89,7 @@
"unlocked": "Item telah dibuka",
"alreadyUnlocked": "Set lengkap telah dibuka.",
"alreadyUnlockedPart": "Set lengkap telah dibuka sebagian.",
- "invalidQuantity": "Quantity to purchase must be a number.",
+ "invalidQuantity": "Jumlah yang dibeli harus berupa angka.",
"USD": "(USD)",
"newStuff": "Hal Baru dari Bailey",
"newBaileyUpdate": "Update Bailey Baru!",
diff --git a/website/common/locales/id/questscontent.json b/website/common/locales/id/questscontent.json
index e2afa3f595..741cf1721d 100644
--- a/website/common/locales/id/questscontent.json
+++ b/website/common/locales/id/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/id/rebirth.json b/website/common/locales/id/rebirth.json
index 707993fdfc..dbf98bce1f 100644
--- a/website/common/locales/id/rebirth.json
+++ b/website/common/locales/id/rebirth.json
@@ -11,7 +11,7 @@
"rebirthInList1": "Tugas, sejarah, perlengkapan, dan pengaturan tidak berubah.",
"rebirthInList2": "Tantangan, Guild, dan Party tidak berubah.",
"rebirthInList3": "Permata, status dan tingkat kontribusi tetap.",
- "rebirthInList4": "Item yang didapatkan dari Permata atau drop (seperti peliharaan dan tunggangan) tetap.",
+ "rebirthInList4": "Item yang didapatkan dari Permata atau drop (seperti peliharaan dan tunggangan) tidak akan terpengaruh.",
"rebirthEarnAchievement": "Kamu juga mendapat Penghargaan karena memulai petualangan baru!",
"beReborn": "Lahirlah kembali",
"rebirthAchievement": "Kamu memulai petualangan baru! Ini adalah Lahir Kembali ke-<%= number %> untukmu, dan Level tertinggi yang kamu dapatkan adalah level <%= level %>. Untuk mengumpulkan Pencapaian ini, mulailah petualangan yang baru ketika kamu sudah mencapai Level yang lebih tinggi!",
diff --git a/website/common/locales/id/settings.json b/website/common/locales/id/settings.json
index a5fbce9a4a..414b66345e 100644
--- a/website/common/locales/id/settings.json
+++ b/website/common/locales/id/settings.json
@@ -11,7 +11,7 @@
"dailyDueDefaultView": "Menyetel Keseharian pada tab 'tenggang waktu'",
"dailyDueDefaultViewPop": "Tugas harian akan menampilkan daftar tugas dalam 'tenggang waktu', bukannya menampilkan semua tugas.",
"reverseChatOrder": "Perlihatkan obrolan dalam urutan terbalik",
- "startAdvCollapsed": "Advanced Settings in tasks start collapsed",
+ "startAdvCollapsed": "Suntingan Tambahan pada tugas tersembunyi",
"startAdvCollapsedPop": "With this option set, Advanced Settings will be hidden when you first open a task for editing.",
"dontShowAgain": "Jangan perlihatkan lagi",
"suppressLevelUpModal": "Jangan perlihatkan notifikasi saat naik level",
@@ -54,13 +54,13 @@
"misc": "Lain-lain",
"showHeader": "Perlihatkan Header",
"changePass": "Ubah Kata Sandi",
- "changeUsername": "Ubah Nama Login",
+ "changeUsername": "Ubah Nama Pengguna",
"changeEmail": "Ubah Alamat Email",
"newEmail": "Alamat Email Baru",
"oldPass": "Kata Sandi Lama",
"newPass": "Kata Sandi Baru",
"confirmPass": "Ulangi Kata Sandi Baru",
- "newUsername": "Nama Login Baru",
+ "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.",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "Kode reset kata sandi salah atau sudah tidak berlaku.",
"passwordChangeSuccess": "Kata sandimu berhasil diganti dengan kata sandi yang telah kamu pilih. Kamu bisa menggunakannya untuk mengakses akunmu.",
"passwordSuccess": "Kata Sandi telah diubah",
- "usernameSuccess": "Nama Login telah diubah",
+ "usernameSuccess": "Nama pengguna berhasil diganti",
+ "displayNameSuccess": "Nama tampilan berhasil diganti",
"emailSuccess": "Email telah diubah",
"detachSocial": "Putuskan <%= network %>",
"detachedSocial": "Berhasil menghapus autentikasi <%= network %> dari akunmu",
"addedLocalAuth": "Autentikasi lokal berhasil ditambahkan",
"data": "Data",
"exportData": "Ekspor Data",
- "usernameOrEmail": "Nama Login atau Email",
+ "usernameOrEmail": "Nama Pengguna atau Email",
"email": "Email",
"registerWithSocial": "Daftar dengan <%= network %>",
"registeredWithSocial": "Terdaftar dengan <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Perlihatkan tombol Undang ke Party saat party memiliki 1 anggota.",
"saveCustomDayStart": "Simpan Awal Hari Kustom",
"registration": "Pendaftaran",
- "addLocalAuth": "Tambah autentikasi lokal:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Buat Kode",
"generate": "Buat",
"getCodes": "Dapatkan Kode",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica menggunakan set zona waktu pada PC kamu, yakni: <%= utc %>",
"timezoneInfo": "Jika zona waktu salah, pertama reload halaman ini menggunakan tombol refresh dari perambanmu untuk memastikan bahwa Habitica memiliki informasi terbaru. Jika masih salah, sesuaikan zona waktu pada PC-mu kemudian muat ulang halaman ini lagi.
Jika kamu menggunakan Habitica pada PC lain atau perangkat mobile, zona waktu harus sama semua. Jika Keseharianmu diulang pada waktu yang salah, periksa lagi semua PC dan browser pada perangkat mobile yang kamu gunakan.",
"push": "Tekan",
- "about": "Tentang"
+ "about": "Tentang",
+ "setUsernameNotificationTitle": "Konfirmasi nama pengguna-mu!",
+ "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": "Nama pengguna tidak boleh mengandung kata-kata kasar.",
+ "usernameIssueForbidden": "Nama pengguna tidak boleh mengandung kata-kata terlarang.",
+ "usernameIssueLength": "Nama pengguna harus di antara 1 hingga 20 karakter.",
+ "usernameIssueInvalidCharacters": "Nama pengguna hanya boleh mengandung huruf a hingga z, angka 0 sampai 9, tanda penghubung, atau garis bawah.",
+ "currentUsername": "Nama pengguna sekarang:",
+ "displaynameIssueLength": "Nama Tampilan harus di antara 1 hingga 30 karakter.",
+ "displaynameIssueSlur": "Nama Tampilan tidak boleh mengandung kata-kata kasar.",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Nama penggunamu, <%= username %>, telah dikonfirmasi!",
+ "usernameNotVerified": "Silahkan konfirmasi nama penggunamu.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/id/spells.json b/website/common/locales/id/spells.json
index e07c6728f9..f2b3711652 100644
--- a/website/common/locales/id/spells.json
+++ b/website/common/locales/id/spells.json
@@ -51,9 +51,9 @@
"spellSpecialSandText": "Pasir",
"spellSpecialSandNotes": "Menghilangkan efek mantra yang mengubahmu menjadi bintang laut.",
"partyNotFound": "Party tidak ditemukan",
- "targetIdUUID": "\"targetId\" harsu merupakan ID Pengguna valid.",
- "challengeTasksNoCast": "Menggunakan kemampuan pada tantangan tidak diperbolehkan.",
+ "targetIdUUID": "\"targetId\" harus merupakan ID Pengguna valid.",
+ "challengeTasksNoCast": "Menggunakan kemampuan pada tugas tantangan tidak diperbolehkan.",
"groupTasksNoCast": "Menggunakan kemampuan pada tugas kelompok tidak diperbolehkan.",
- "spellNotOwned": "Anda tidak memiliki kemampuan ini.",
- "spellLevelTooHigh": "Kamu harus berada di level <%= level %> untuk menggunakan kemampuan ini."
+ "spellNotOwned": "Kamu tidak mempunyai kemampuan ini.",
+ "spellLevelTooHigh": "Kamu harus mencapai level <%= level %> untuk menggunakan kemampuan ini."
}
\ No newline at end of file
diff --git a/website/common/locales/id/subscriber.json b/website/common/locales/id/subscriber.json
index 967c1cc5dd..f590731a9a 100644
--- a/website/common/locales/id/subscriber.json
+++ b/website/common/locales/id/subscriber.json
@@ -5,19 +5,19 @@
"sendGems": "Kirim Permata",
"buyGemsGold": "Beli Permata dengan Koin Emas",
"buyGemsGoldText": "Alexander sang Saudagar akan menjual Permata seharga 20 Koin Emas per Permata. Setiap bulan, batas permata yang dia sediakan adalah 25 Permata, tetapi batas ini meningkat sebanyak 5 Permata setiap kamu berlangganan 3 bulan berturut-turut, hingga maksimal 50 Permata setiap bulan!",
- "mustSubscribeToPurchaseGems": "Harus berlangganan untuk membeli Permata menggunakan Koin Emas",
+ "mustSubscribeToPurchaseGems": "Harus berlangganan untuk membeli permata menggunakan Koin Emas",
"reachedGoldToGemCap": "Kamu telah mencapai batas konversi Emas=>Permata <%= convCap %> untuk bulan ini. Kami menerapkan ini untuk mencegah penyalahgunaan. Batas akan direset pada 3 hari pertama dari setiap bulan.",
"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.",
"retainHistory": "Menyimpan riwayat tambahan",
"retainHistoryText": "Membuat riwayat To-Do dan tugas yang telah selesai dapat disimpan lebih lama.",
- "doubleDrops": "Batas drop harian dua kali lipat",
+ "doubleDrops": "Meningkatkan batas drop harian dua kali lipat",
"doubleDropsText": "Melengkapi istalmu lebih cepat!",
"mysteryItem": "Item unik langganan bulanan",
"mysteryItemText": "Setiap bulan kamu akan mendapatkan item unik untuk memperkeren avatarmu! Ditambah lagi, setiap tiga bulan langganan berurutan, para Penjelajah Waktu Misterius akan memberikanmu akses untuk item unik yang antik (atau futuristik!).",
"supportDevs": "Mendukung para pengembang",
"supportDevsText": "Berlangganan akan membantu Habitica tetap hidup dan membantu menyumbang pengembangan fitur baru. Terimakasih atas kemurahan hatimu!",
"exclusiveJackalopePet": "Peliharaan eksklusif",
- "exclusiveJackalopePetText": "Dapatkan peliharaan Royal Purple Jackalope, tersedia hanya untuk yang berlangganan!",
+ "exclusiveJackalopePetText": "Dapatkan peliharaan Jackalope Ungu Kerajaan, tersedia hanya untuk yang berlangganan!",
"giftSubscription": "Ingin menghadiahkan fitur berlangganan kepada seseorang?",
"giftSubscriptionText1": "Buka profil mereka! Kamu bisa melakukannya dengan mengklik avatar mereka di kolom party atau dengan mengklik nama mereka di obrolan.",
"giftSubscriptionText2": "Klik ikon hadiah di sebelah kanan atas profil mereka.",
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Set Steampunk Standard",
"mysterySet301405": "Set Aksesoris Steampunk",
"mysterySet301703": "Set Merak Steampunk",
@@ -155,7 +157,7 @@
"subUpdateTitle": "Update",
"subUpdateDescription": "Update kartu untuk dapat ditagih",
"notEnoughHourglasses": "Kamu tidak punya cukup Jam Pasir Mistis.",
- "hourglassBuyEquipSetConfirm": "Beli set item seharga 1 Jam Pasir Mistis?",
+ "hourglassBuyEquipSetConfirm": "Beli set item ini seharga 1 Jam Pasir Mistis?",
"hourglassBuyItemConfirm": "Beli item ini seharga 1 Jam Pasir Mistis?",
"petsAlreadyOwned": "Peliharaan telah dimiliki.",
"mountsAlreadyOwned": "Tunggangan telah dimiliki.",
diff --git a/website/common/locales/id/tasks.json b/website/common/locales/id/tasks.json
index aea967d22a..faa101dd6c 100644
--- a/website/common/locales/id/tasks.json
+++ b/website/common/locales/id/tasks.json
@@ -5,7 +5,7 @@
"sureDeleteCompletedTodos": "Apakah kamu yakin kamu ingin menghapus semua To-do yang telah diselesaikan?",
"lotOfToDos": "30 To-Do terakhir yang kamu selesaikan ditampilkan di sini. Kamu dapat melihat To-Do lama yang telah kamu selesaikan dari Data > Data Display Tool atau Data > Ekspor Data > Data Pengguna.",
"deleteToDosExplanation": "Jika kamu menekan tombol di bawah, semua To-Do yang sudah kamu selesaikan dan To-Do di arsip akan dihapus secara permanen, kecuali To-Do dari tantangan yang aktif dan Rencana Grup. Silakan ekspor terlebih dahulu jika kamu mau menyimpan catatan mengenai tugasmu.",
- "addMultipleTip": "Tip: To add multiple <%= taskType %>, separate each one using a line break (Shift + Enter) and then press \"Enter.\"",
+ "addMultipleTip": "Tips: Untuk menambahkan beberapa <%= taskType %> sekaligus, pisahkan baris masing-masing tugas (Shift + Enter) lalu tekan \"Enter.\"",
"addsingle": "Tambah Satu",
"addATask": "Tambahkan sebuah <%= type %>",
"editATask": "Edit sebuah <%= type %>",
@@ -209,5 +209,5 @@
"repeatDayError": "Pastikan bahwa setidaknya ada satu hari dipilih dari minggu tersebut.",
"searchTasks": "Cari judul dan deskripsi...",
"sessionOutdated": "Sesi kamu sudah tidak berlaku. Silakan muat ulang laman atau pilih sinkronkan.",
- "errorTemporaryItem": "This item is temporary and cannot be pinned."
+ "errorTemporaryItem": "Item ini hanya ada untuk sementara dan tidak bisa disematkan."
}
\ No newline at end of file
diff --git a/website/common/locales/it/achievements.json b/website/common/locales/it/achievements.json
index f6770d5a43..6b05c0aed5 100644
--- a/website/common/locales/it/achievements.json
+++ b/website/common/locales/it/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Traguardi",
"share": "Condividi",
"onwards": "Avanti così!",
"levelup": "Lavorando sui tuoi obiettivi nella vita reale, sei salito/a di livello e hai recuperato tutti i punti Salute!!",
diff --git a/website/common/locales/it/backgrounds.json b/website/common/locales/it/backgrounds.json
index 00351cd186..3b610962d7 100644
--- a/website/common/locales/it/backgrounds.json
+++ b/website/common/locales/it/backgrounds.json
@@ -254,7 +254,7 @@
"backgroundMeanderingCaveText": "Caverna Labirintica",
"backgroundMeanderingCaveNotes": "Esplora la Caverna Labirintica.",
"backgroundMistiflyingCircusText": "Circo di Fantalata",
- "backgroundMistiflyingCircusNotes": "Spassatela nel circo di Fantalata.",
+ "backgroundMistiflyingCircusNotes": "Spassatela nel Circo di Fantalata.",
"backgrounds042017": "SERIE 35: Aprile 2017",
"backgroundBugCoveredLogText": "Tronco ricoperto di insetti",
"backgroundBugCoveredLogNotes": "Ispeziona un tronco ricoperto di insetti.",
@@ -305,73 +305,87 @@
"backgroundTarPitsText": "Pozzi di catrame",
"backgroundTarPitsNotes": "In punta di piedi attraverso i pozzi di catrame",
"backgrounds112017": "SERIE 42: Novembre 2017",
- "backgroundFiberArtsRoomText": "Fiber Arts Room",
- "backgroundFiberArtsRoomNotes": "Spin thread in a Fiber Arts Room.",
+ "backgroundFiberArtsRoomText": "Stanza delle Arti della Fibra",
+ "backgroundFiberArtsRoomNotes": "Fila nella Stanza delle Arti della Fibra",
"backgroundMidnightCastleText": "Castello di mezzanotte",
- "backgroundMidnightCastleNotes": "Passeggiata nei pressi del Castello di mezzanotte",
+ "backgroundMidnightCastleNotes": "Passeggia nei pressi del Castello di mezzanotte",
"backgroundTornadoText": "Tornado",
"backgroundTornadoNotes": "Vola attraverso un Tornado.",
"backgrounds122017": "SERIE 43: Dicembre 2017",
- "backgroundCrosscountrySkiTrailText": "Cross-Country Ski Trail",
- "backgroundCrosscountrySkiTrailNotes": "Glide along a Cross-Country Ski Trail.",
+ "backgroundCrosscountrySkiTrailText": "Pista Campestre da Sci",
+ "backgroundCrosscountrySkiTrailNotes": "Plana lungo una Pista Campestre da Sci.",
"backgroundStarryWinterNightText": "Notte Invernale Stellata",
"backgroundStarryWinterNightNotes": "Ammira una Notte Invernale Stellata.",
"backgroundToymakersWorkshopText": "Laboratorio del giocattolaio",
- "backgroundToymakersWorkshopNotes": "Bask in the wonder of a Toymaker's Workshop.",
+ "backgroundToymakersWorkshopNotes": "Scaldati nella meraviglia del Laboratorio del Giocattolaio.",
"backgrounds012018": "SERIE 44: Gennaio 2018",
"backgroundAuroraText": "Aurora",
- "backgroundAuroraNotes": "Bask in the wintry glow of an Aurora.",
+ "backgroundAuroraNotes": "Stenditi sotto il bagliore invernale dell'Aurora.",
"backgroundDrivingASleighText": "Slitta",
"backgroundDrivingASleighNotes": "Guida una slitta sui campi ricoperti di neve.",
- "backgroundFlyingOverIcySteppesText": "Icy Steppes",
- "backgroundFlyingOverIcySteppesNotes": "Fly over Icy Steppes.",
+ "backgroundFlyingOverIcySteppesText": "Steppe Gelide",
+ "backgroundFlyingOverIcySteppesNotes": "Sorvola le Steppe Gelide.",
"backgrounds022018": "SERIE 45: Febbraio 2018",
- "backgroundChessboardLandText": "Chessboard Land",
- "backgroundChessboardLandNotes": "Play a game in Chessboard Land.",
+ "backgroundChessboardLandText": "Landa della Scacchiera",
+ "backgroundChessboardLandNotes": "Gioca una partita nella Landa della Scacchiera ",
"backgroundMagicalMuseumText": "Museo Magico",
- "backgroundMagicalMuseumNotes": "Tour a Magical Museum.",
+ "backgroundMagicalMuseumNotes": "Visita un Museo Magico.",
"backgroundRoseGardenText": "Giardino di Rose",
- "backgroundRoseGardenNotes": "Dally in a fragrant Rose Garden.",
+ "backgroundRoseGardenNotes": "Gioca in un profumato Giardino di Rose.",
"backgrounds032018": "SERIE 46: Marzo 2018",
"backgroundGorgeousGreenhouseText": "Serra Stupenda",
"backgroundGorgeousGreenhouseNotes": "Cammina per la flora nella Serra Stupenda",
"backgroundElegantBalconyText": "Terrazzo Elegante",
- "backgroundElegantBalconyNotes": "Look out over the landscape from an Elegant Balcony.",
- "backgroundDrivingACoachText": "Driving a Coach",
- "backgroundDrivingACoachNotes": "Enjoy Driving a Coach past fields of flowers.",
+ "backgroundElegantBalconyNotes": "Guarda fuori il paesaggio da un Terrazzo Elegante.",
+ "backgroundDrivingACoachText": "Guidando una Carrozza",
+ "backgroundDrivingACoachNotes": "Divertiti a Guidare una Carrozza tra i campi fioriti",
"backgrounds042018": "SET 47: Rilasciato in aprile 2018",
"backgroundTulipGardenText": "Giardino di Tulipani",
- "backgroundTulipGardenNotes": "Tiptoe through a Tulip Garden.",
- "backgroundFlyingOverWildflowerFieldText": "Field of Wildflowers",
- "backgroundFlyingOverWildflowerFieldNotes": "Soar above a Field of Wildflowers.",
+ "backgroundTulipGardenNotes": "Cammina sulle punte dei piedi nel Giardino di Tulipani.",
+ "backgroundFlyingOverWildflowerFieldText": "Campo di Fiori Selvatici",
+ "backgroundFlyingOverWildflowerFieldNotes": "Librati sopra un Campo di Fiori Selvatici",
"backgroundFlyingOverAncientForestText": "Antica Foresta",
- "backgroundFlyingOverAncientForestNotes": "Fly over the canopy of an Ancient Forest.",
- "backgrounds052018": "SET 48: Released May 2018",
+ "backgroundFlyingOverAncientForestNotes": "Vola sopra le punte di un'Antica Foresta.",
+ "backgrounds052018": "SET 48: Rilasciato Maggio 2018",
"backgroundTerracedRiceFieldText": "Terraced Rice Field",
"backgroundTerracedRiceFieldNotes": "Enjoy a Terraced Rice Field in the growing season.",
- "backgroundFantasticalShoeStoreText": "Fantastical Shoe Store",
- "backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.",
- "backgroundChampionsColosseumText": "Champions' Colosseum",
+ "backgroundFantasticalShoeStoreText": "Negozio di Scarpe Fantastiche",
+ "backgroundFantasticalShoeStoreNotes": "Cerca nuove divertenti calzature nel Negozio di Scarpe Fantastico",
+ "backgroundChampionsColosseumText": "Colosseo dei Campioni",
"backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.",
- "backgrounds062018": "SET 49: Released June 2018",
- "backgroundDocksText": "Docks",
- "backgroundDocksNotes": "Fish from atop the Docks.",
- "backgroundRowboatText": "Rowboat",
+ "backgrounds062018": "SET 49: Rilasciato Giugno 2018",
+ "backgroundDocksText": "Moli",
+ "backgroundDocksNotes": "Pesca dalla cima dei Moli",
+ "backgroundRowboatText": "Barca a Remi",
"backgroundRowboatNotes": "Sing rounds in a Rowboat.",
- "backgroundPirateFlagText": "Pirate Flag",
- "backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.",
- "backgrounds072018": "SET 50: Released July 2018",
- "backgroundDarkDeepText": "Dark Deep",
- "backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.",
- "backgroundDilatoryCityText": "City of Dilatory",
- "backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.",
+ "backgroundPirateFlagText": "Bandiera Pirata",
+ "backgroundPirateFlagNotes": "Fai sventolare una temuta Bandiera Pirata.",
+ "backgrounds072018": "SET 50: Rilasciato Luglio 2018",
+ "backgroundDarkDeepText": "Oscura Profondità",
+ "backgroundDarkDeepNotes": "Nuota nell'Oscura Profondità tra animali bioluminescenti",
+ "backgroundDilatoryCityText": "Città di Dilatoria",
+ "backgroundDilatoryCityNotes": "Vaga attraverso la Città Sommersa di Dilatoria",
"backgroundTidePoolText": "Tide Pool",
"backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgrounds082018": "SET 51: Rilasciato Agosto 2018",
+ "backgroundTrainingGroundsText": "Campo di Addestramento",
+ "backgroundTrainingGroundsNotes": "Allenati presso il Campo di Addestramento.",
+ "backgroundFlyingOverRockyCanyonText": "Canyon Roccioso",
+ "backgroundFlyingOverRockyCanyonNotes": "Guarda dall'alto una scena mozzafiato volando sopra il Canyon Roccioso",
+ "backgroundBridgeText": "Ponte",
+ "backgroundBridgeNotes": "Attraversa un incantevole Ponte",
+ "backgrounds092018": "SET 52: rilasciato Settembre 2018",
+ "backgroundApplePickingText": "A Raccogliere Mele",
+ "backgroundApplePickingNotes": "Vai A Raccogliere Mele, e portane a casa un bel cesto.",
+ "backgroundGiantBookText": "Libro Gigante",
+ "backgroundGiantBookNotes": "Leggi mentre cammini tra le pagine del Libro Gigante.",
+ "backgroundCozyBarnText": "Dolce Stalla",
+ "backgroundCozyBarnNotes": "Rilassati con i tuoi animali nella loro Dolce Stalla.",
+ "backgrounds102018": "SET 53: rilasciato Ottobre 2018",
+ "backgroundBayouText": "Palude",
+ "backgroundBayouNotes": "Scaldati al bagliore delle lucciole nella Palude nebbiosa.",
+ "backgroundCreepyCastleText": "Castello Inquietante",
+ "backgroundCreepyCastleNotes": "Avvicinandosi coraggiosamente a un Castello Inquietante",
+ "backgroundDungeonText": "Sotterraneo",
+ "backgroundDungeonNotes": "Salvando i prigionieri da un Sotterraneo spaventoso"
}
\ No newline at end of file
diff --git a/website/common/locales/it/challenge.json b/website/common/locales/it/challenge.json
index a9ada85d78..4bf12eab82 100644
--- a/website/common/locales/it/challenge.json
+++ b/website/common/locales/it/challenge.json
@@ -13,8 +13,8 @@
"challengeWinner": "Ha vinto le seguenti sfide:",
"challenges": "Sfide",
"challengesLink": "Sfide",
- "challengePrize": "Challenge Prize",
- "endDate": "Ends",
+ "challengePrize": "Ricompensa della Sfida",
+ "endDate": "Fini",
"noChallenges": "Ancora nessuna sfida, visita",
"toCreate": "per crearne una.",
"selectWinner": "Scegli un vincitore e chiudi la sfida:",
@@ -25,9 +25,9 @@
"filter": "Filtro",
"groups": "Gruppi",
"noNone": "Nessuno",
- "category": "Category",
+ "category": "Categoria",
"membership": "Partecipazione",
- "ownership": "Ownership",
+ "ownership": "Proprietà",
"participating": "Sto partecipando",
"notParticipating": "Non sto partecipando",
"either": "Entrambi",
@@ -131,7 +131,7 @@
"locationRequired": "E' necessario un luogo della sfida ('Aggiungi a')",
"categoiresRequired": "Una o più categorie devono essere selezionate",
"viewProgressOf": "Vedi i progressi di",
- "viewProgress": "View Progress",
+ "viewProgress": "Vedi il Progresso",
"selectMember": "Seleziona Partecipante",
"confirmKeepChallengeTasks": "Vuoi tenere le attività della sfida?",
"selectParticipant": "Seleziona un partecipante"
diff --git a/website/common/locales/it/character.json b/website/common/locales/it/character.json
index 7dc532b461..e2d9661b0c 100644
--- a/website/common/locales/it/character.json
+++ b/website/common/locales/it/character.json
@@ -8,6 +8,8 @@
"other": "Altro",
"fullName": "Nome completo",
"displayName": "Nome pubblico",
+ "changeDisplayName": "Cambia Nome Pubblico",
+ "newDisplayName": "Nuovo Nome Pubblico",
"displayPhoto": "Foto",
"displayBlurb": "Su di me",
"displayBlurbPlaceholder": "Scrivi una piccola presentazione",
@@ -45,8 +47,8 @@
"beard": "Barba",
"mustache": "Baffi",
"flower": "Fiore",
- "accent": "Accent",
- "headband": "Headband",
+ "accent": "Accento",
+ "headband": "Fascia per Capelli",
"wheelchair": "Sedia a rotelle",
"extra": "Extra",
"basicSkins": "Skin base",
@@ -181,7 +183,7 @@
"lostMana": "Hai usato del Mana",
"lostHealth": "Hai perso della Salute",
"lostExperience": "Hai perso dell'Esperienza",
- "displayNameDescription1": "È quello che appare nei messaggi che posti nella Taverna, nelle gilde e nelle chat di squadra, assieme all'avatar. Per cambiarlo, clicca il pulsante Modifica. Se invece vuoi cambiare il nome con cui effettui il login, vai in ",
+ "displayNameDescription1": "Questo è ciò che appare nei messaggi che pubblichi nella Taverna, nelle gilde e nel chat della squadra, insieme a ciò che si può visualizzare sul tuo avatar. Per cambiare avatar, clicca il pulsante Modifica più in alto. Se invece vuoi cambiare il tuo nome utente, vai a",
"displayNameDescription2": "Impostazioni->Sito",
"displayNameDescription3": "e guarda nella sezione Registrazione.",
"unequipBattleGear": "Rimuovi equipaggiamento di battaglia",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Nascondi allocazione delle Statistiche",
"quickAllocationLevelPopover": "Ogni volta che sali di livello ottieni un punto da assegnare ad una Statistica a tua scelta. Puoi farlo manualmente, o lasciare che se ne occupi il gioco selezionando una delle opzioni di allocazione automatica che trovi in (icona utente) > Statistiche.",
"notEnoughAttrPoints": "Non hai abbastanza Punti Statistica.",
+ "classNotSelected": "Devi selezionare una Classe prima di poter assegnare Punti Statistica.",
"style": "Stile",
"facialhair": "Barba e baffi",
"photo": "Foto",
@@ -219,6 +222,6 @@
"bodyAccess": "Access. busto",
"mainHand": "Mano principale",
"offHand": "Mano secondaria",
- "statPoints": "Stat Points",
+ "statPoints": "Punti Statistiche",
"pts": "punti"
}
\ No newline at end of file
diff --git a/website/common/locales/it/communityguidelines.json b/website/common/locales/it/communityguidelines.json
index ecf495d841..7c07115f09 100644
--- a/website/common/locales/it/communityguidelines.json
+++ b/website/common/locales/it/communityguidelines.json
@@ -3,41 +3,41 @@
"tavernCommunityGuidelinesPlaceholder": "Nota amichevole: questa è una chat per utenti di ogni età, quindi per favore assicurati che il tuo linguaggio e i contenuti che pubblichi siano appropriati. Consulta le Linee guida della community nella sezione \"Link utili\" qui a lato se hai qualche domanda.",
"lastUpdated": "Ultimo aggiornamento:",
"commGuideHeadingWelcome": "Benvenuto ad 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": "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 Habiticanti 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, Transifex e Wikia (o Wiki). A volte, sorgono situazioni impreviste, come una nuova fonte di conflitto o un negromante malvagio. Quando ciò accade, i moderatori potrebbero reagire modificando queste linee guida per mantenere la community sicura da nuove minacce. Non temere: se le linee guida cambieranno, verrai avvertito con un annuncio di Bailey.",
"commGuidePara004": "Ora appronta le tue piume e pergamene per prendere nota e iniziamo!",
- "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.",
+ "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 deve rispettare le linee guida per gli spazi pubblici. Per cambiare il tuo Nome Pubblico, vai sul sito web in Utente > Profilo e clicca sul pulsante \"Modifica\".",
"commGuidePara016": "Quando navighi negli spazi pubblici di Habitica, ci sono delle regole generali che bisogna rispettare per mantenere tutti felici e al sicuro. Dovrebbero essere semplici per un avventuriero come te!",
- "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.",
- "commGuideList02H": "Take time to reflect instead of responding in anger if someone tells you that something you said or did made them uncomfortable. There is great strength in being able to sincerely apologize to someone. If you feel that the way they responded to you was inappropriate, contact a mod rather than calling them out on it publicly.",
- "commGuideList02I": "Divisive/contentious conversations should be reported to mods by flagging the messages involved or using the Moderator Contact Form. 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. It's our job to keep you safe. If you feel that more context is required, you can report the problem using the Moderator Contact Form.",
+ "commGuideList02A": "Rispettarsi a vicenda. Sii cortese, gentile, amichevole e disposto ad aiutare. Ricorda: gli Habiticanti 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. Di seguito potrai trovare alcuni consigli per rispettare gli altri ed essere rispettati:",
+ "commGuideList02B": "Obbedisci ai Termini e condizioni di utilizzo.",
+ "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. 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. Danneggia le tue Daily, non gli altri.",
+ "commGuideList02D": "Adegua le discussioni a tutte le età. Molti giovani abitanti di Habitica usano il sito web ! Non offuschiamo nessun innocente né ostacoliamo nessun abitante di Habitica nei suoi obbiettivi.",
+ "commGuideList02E": "Evita le bestemmie. Questo include profanità anche miti che sarebbero accettate altrove. 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 trovi che qualcuno abbia detto qualcosa di scortese o di offensivo, non dargli corda. Se qualcuno menziona qualche cosa che è permesso dalle linee guida ma che trovi personalmente offensivo, puoi gentilmente farglielo sapere. Se si tratta di qualche cosa che non rispetta le linee guida o i Termini di Servizio, segnalalo e lascia rispondere un moderatore. Se c'è un dubbio, segnala la pubblicazione.",
+ "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.",
+ "commGuideList02H": "Rifletti prima di dare una risposta \"arrabbiata\" se qualcuno ti dice che qualcosa che hai detto o fatto lo mette a disagio. C'è una grande forza nel sapersi scusare sinceramente con qualcuno. Se senti che il modo in cui ti hanno risposto è inappropriato, contatta un moderatore invece che arrabbiarti e rispondere male pubblicamente.",
+ "commGuideList02I": "Le conversazioni di divisione/contenziose devono essere segnalate ai moderatori segnalando i messaggi coinvolti o usando il Modulo di Contatto Moderatori. Se trovi che una conversazione diventa troppo animata, troppo emotiva o offensiva, non coinvolgerti. Invece, segnala le pubblicazioni in modo che noi lo sappiamo. I Moderatori reagiranno al più presto. È nostro compito tenerti al sicuro. Se trovi che più contesto sia necessario, puoi segnalare il problema tramite il Modulo Contatto Moderatori.",
"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.",
+ "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": "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.",
+ "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 gemme o un abbonamento, in quanto può essere considerato spam.",
"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.",
"commGuidePara021": "Inoltre, alcuni spazi pubblici in Habitica hanno delle linee guida specifiche.",
"commGuideHeadingTavern": "Taverna",
- "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…",
+ "commGuidePara022": "La Taverna è il punto di incontro principale degli abitanti di Habitica. 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": "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.",
+ "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": "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": "Gilde pubbliche",
"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.",
+ "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": "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!",
+ "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": "All Tavern Challenges and Public Guild Challenges must comply with these rules as well.",
"commGuideHeadingInfractionsEtc": "Infrazioni, sanzioni e riabilitazione",
"commGuideHeadingInfractions": "Infrazioni",
@@ -58,19 +58,19 @@
"commGuidePara055": "Qui ci sono alcuni esempi di infrazioni lievi. Non è una lista esaustiva.",
"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",
+ "commGuideList06C": "Segnalare intenzionalmente pubblicazioni innocenti.",
+ "commGuideList06D": "Violare più volte le linee guida per gli spazi pubblici",
"commGuideList06E": "Repeatedly Committing Minor Infractions",
"commGuideHeadingMinorInfractions": "Infrazioni minori",
"commGuidePara056": "Infrazioni lievi, anche se scoraggiate, hanno comunque conseguenze lievi. Se continuano a verificarsi, potranno essere trattate con maggiore severità.",
"commGuidePara057": "Questa è una lista di infrazioni minori. Non è una lista esaustiva.",
"commGuideList07A": "Prima violazione delle linee guida per gli spazi pubblici",
- "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.",
+ "commGuideList07B": "Qualsiasi dichiarazione che suscita un \"Per Favore, No\". Quando un Mod deve dire \"Per favore, non fare questo\" a un utente, può contare come una infrazione molto minore per quell'utente. Ad esempio, \"Per favore, non continuare a spingere questa idea di funzionalità dopo che ti è stato detto più volte che non è fattibile.\" In molti casi, il Per Favore, No sarà l'unica conseguenza, ma se i Mod devono dire \"Per Favore, No\" allo stesso utente svariate volte, le infrazioni minori inizieranno a contare come infrazioni moderate.",
"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": "Sanzioni e conseguenze",
"commGuidePara058": "In Habitica - come nella vita reale - ogni azione ha una conseguenza, che sia essere in forma perchè vai a correre, prendere le carie perchè hai mangiato troppo zucchero, oppure prendere un bel voto perchè hai studiato.",
"commGuidePara059": " Similmente, ogni infrazione ha una conseguenza diretta. Alcuni esempi di conseguenze sono elencati di seguito.",
- "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": "Se la tua infrazione ha una conseguenza moderata o severa, ci sarà una pubblicazione di un membro dello staff o di un moderatore nel forum in cui l'infrazione si è svolta, che spiegherà:",
"commGuideList08A": "quale è stata la tua infrazione",
"commGuideList08B": "quali sono le conseguenze",
"commGuideList08C": "cosa fare per correggere la situazione e ripristinare il tuo status, se possibile.",
@@ -93,11 +93,11 @@
"commGuideList11D": "Eliminazioni (moderatori/staff possono eliminare contenuti problematici)",
"commGuideList11E": "Modifiche (moderatori/staff possono modificare contenuti problematici)",
"commGuideHeadingRestoration": "Riabilitazione",
- "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.",
+ "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": "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": "Incontra lo Staff e i moderatori!",
- "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.",
+ "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\". L'unica eccezione è Bailey che, in quanto NPC, ha un'etichetta nera e verde contrassegnata da una stella.",
"commGuidePara009": "L'attuale gruppo dello staff è composto da (partendo da sinistra verso destra):",
@@ -110,7 +110,7 @@
"commGuidePara011b": "su GitHub/Wikia",
"commGuidePara011c": "su Wikia",
"commGuidePara011d": "su GitHub",
- "commGuidePara012": "If you have an issue or concern about a particular Mod, please send an email to our Staff (admin@habitica.com).",
+ "commGuidePara012": "Se hai un problema o un inquietudine con un Mod in particolare, manda un e-mail al nostro 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 e Moderatori emeriti:",
"commGuideHeadingFinal": "La sezione finale",
diff --git a/website/common/locales/it/content.json b/website/common/locales/it/content.json
index 40dc4f0af3..043147fb19 100644
--- a/website/common/locales/it/content.json
+++ b/website/common/locales/it/content.json
@@ -163,19 +163,22 @@
"questEggYarnAdjective": "un lanoso",
"questEggPterodactylText": "Pterodattilo",
"questEggPterodactylMountText": "Pterodattilo",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "un fiducioso",
"questEggBadgerText": "Tasso",
"questEggBadgerMountText": "Tasso",
- "questEggBadgerAdjective": "a bustling",
- "questEggSquirrelText": "Squirrel",
- "questEggSquirrelMountText": "Squirrel",
- "questEggSquirrelAdjective": "a bushy-tailed",
- "questEggSeaSerpentText": "Sea Serpent",
- "questEggSeaSerpentMountText": "Sea Serpent",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggBadgerAdjective": "un vivace",
+ "questEggSquirrelText": "Scoiattolo",
+ "questEggSquirrelMountText": "Scoiattolo",
+ "questEggSquirrelAdjective": "una folta coda",
+ "questEggSeaSerpentText": "Serpente di Mare",
+ "questEggSeaSerpentMountText": "Serpente di Mare",
+ "questEggSeaSerpentAdjective": "un scintillante ",
+ "questEggKangarooText": " Canguro",
+ "questEggKangarooMountText": "Canguro",
+ "questEggKangarooAdjective": "un acuto",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Trova una pozione per far schiudere questo uovo, e nascerà <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Base",
"hatchingPotionWhite": "Bianco",
@@ -201,7 +204,8 @@
"hatchingPotionFairy": "Fatato",
"hatchingPotionStarryNight": "Notte stellata",
"hatchingPotionRainbow": "Arcobaleno",
- "hatchingPotionGlass": "Glass",
+ "hatchingPotionGlass": " Vetro",
+ "hatchingPotionGlow": "Fosforescente",
"hatchingPotionNotes": "Versa questa pozione su un uovo, e nascerà un animale <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Non utilizzabile su uova di animali ottenute dalle missioni.",
"foodMeat": "Carne",
diff --git a/website/common/locales/it/front.json b/website/common/locales/it/front.json
index ec7100d872..11a9613703 100644
--- a/website/common/locales/it/front.json
+++ b/website/common/locales/it/front.json
@@ -85,7 +85,7 @@
"landingend": "Non sei ancora convinto?",
"landingend2": "See a more detailed list of [our features](/static/overview). Are you looking for a more private approach? Check out our [administrative packages](/static/plans), which are perfect for families, teachers, support groups, and businesses.",
"landingp1": "Il problema della maggior parte delle applicazioni di produttività sul mercato è che non forniscono alcun incentivo nel continuare ad utilizzarle. Habitica risolve tutto questo rendendolo divertente! Ricompensando i tuoi successi e penalizzando le tue mancanze, Habitica ti fornisce un'ulteriore motivazione per completare le tue attività giornaliere.",
- "landingp2": "Whenever you reinforce a positive habit, complete a daily task, or take care of an old to-do, Habitica immediately rewards you with Experience points and Gold. As you gain experience, you can level up, increasing your Stats and unlocking more features, like classes and pets. Gold can be spent on in-game items that change your experience or personalized rewards you've created for motivation. When even the smallest successes provide you with an immediate reward, you're less likely to procrastinate.",
+ "landingp2": "Appena rinforzi una abitudine positiva, completi una Daily, o concludi una vecchia Cosa Da Fare, Habitica ti ricompensa immediatamente dandoti punti esperienza e Oro. Man mano che guadagni esperienza, puoi salire di livello, il che aumenterà le tue Statistiche e sbloccherà più funzionalità, come le classi e gli animali. Con l'Oro puoi comperare oggetti nel gioco che cambiano la tua esperienza, oppure ricompense personalizzate che avrai creato per motivarti. Se ogni piccolo successo ti offre una ricompensa immediata, sarà più facile per te evitare di procrastinare.",
"landingp2header": "Gratificazione istantanea",
"landingp3": "Ogni volta che ti lasci andare ad una cattiva abitudine o fallisci nel completare una delle tue attività giornaliere, perdi dei punti vita. Se questi calano troppo, perdi alcuni dei progressi fatti. Attraverso questo sistema di conseguenze immediate, Habitica può aiutarti a interrompere la procrastinazione e le cattive abitudini prima che esse causino problemi nella tua vita reale.",
"landingp3header": "Conseguenze",
@@ -103,7 +103,7 @@
"marketing1Lead2Title": "Ottieni oggetti straordinari",
"marketing1Lead2": "Migliora le tue abitudini per migliorare il tuo avatar. Mostra gli oggetti che hai ottenuto!",
"marketing1Lead3Title": "Trova premi casuali",
- "marketing1Lead3": "For some, it's the gamble that motivates them: a system called \"stochastic rewards.\" Habitica accommodates all reinforcement and punishment styles: positive, negative, predictable, and random.",
+ "marketing1Lead3": "Certe persone sono motivate dall'azzardo: un sistema chiamato \"ricompense stocastiche\". Con Habitica è possibile ogni tipo di rafforzamento e di punizione: positivi, negativi, prevedibili ed aleatori.",
"marketing2Header": "Competi con gli amici, unisciti ai gruppi di interesse",
"marketing2Lead1Title": "Produttività sociale",
"marketing2Lead1": "Puoi giocare ad Habitica da solo, ma il bello viene quando inizi a collaborare, competere e condividere le tue responsabilità. La parte più importante di un programma di automiglioramento è la responsabilità sociale, e quale ambiente migliore per la responsabilità e la competizione se non un videogioco?",
@@ -139,9 +139,9 @@
"playButtonFull": "Entra in Habitica",
"presskit": "Kit per recensioni",
"presskitDownload": "Scarica tutte le immagini:",
- "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": "Grazie per l'interesse riguardo Habitica! Le seguenti immagini possono essere usate per articoli e video riguardanti Habitica. Per maggiori informazioni si prega di contattarci su <%= pressEnquiryEmail %>",
"pkQuestion1": "Cosa ha ispirato Habitica? Come è nato?",
- "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.",
+ "pkAnswer1": "Se hai mai investito del tempo per livellare un personaggio in un gioco, è difficile non chiedersi come sarebbe grandiosa la tua vita se tutto quello sforzo fosse dedicato a migliorare se stessi nella vita reale anzichè al proprio avatar. Abbiamo iniziato a costruire Habitica per rispondere a questa domanda.
Habitica è stata ufficialmente lanciata con un Kickstarter nel 2013 e l'idea ha decollato. Da allora, sta crescendo in un enorme progetto, supportato da i nostri fantastici volontari open-source e dai nostri generosi utenti.",
"pkQuestion2": "Perchè Habitica funziona?",
"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",
"pkQuestion3": "Perchè avete aggiunto delle funzioni social?",
@@ -211,8 +211,8 @@
"unlockByline2": "Sblocca nuovi metodi di motivazione, come collezionare animali, ricompense casuali, lanciare incantesimi e altro!",
"unlockHeadline": "Più sei produttivo, più contenuti sblocchi!",
"useUUID": "Usa ID Utente / Chiave API (per gli utenti Facebook)",
- "username": "Nome di login",
- "emailOrUsername": "E-mail o nome di login (attenzione alle maiuscole)",
+ "username": "Nome Utente",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Guarda i video",
"work": "Lavoro",
"zelahQuote": "Con [Habitica] riesco a persuadermi ad andare a letto in tempo con il pensiero di guadagnare punti per essere andata a dormire presto o perdere salute per esserci andata tardi!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Mancano le intestazioni di autenticazione.",
"missingAuthParams": "Mancano i parametri di autenticazione.",
- "missingUsernameEmail": "Manca l'e-mail o il nome di login.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "E-mail mancante.",
- "missingUsername": "Nome di login mancante.",
+ "missingUsername": "Missing username.",
"missingPassword": "Password mancante.",
"missingNewPassword": "Manca la nuova password.",
"invalidEmailDomain": "Non puoi registrarti usando e-mail con i seguenti domini: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Indirizzo e-mail non valido.",
"emailTaken": "L'indirizzo email è già stato utilizzato per un altro account.",
"newEmailRequired": "Manca il nuovo indirizzo e-mail.",
- "usernameTaken": "Nome di login già utilizzato.",
- "usernameWrongLength": "Il nome di login deve avere al minimo 1 carattere e al massimo 20.",
- "usernameBadCharacters": "Il nome di login può contenere solo le lettere dell'alfabeto, cifre da 0 a 9, trattini alti \"-\" o bassi \"_\".",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Il Nome Pubblico deve comportare tra 1 e 30 caratteri.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "La password non corrisponde alla conferma.",
"invalidLoginCredentials": "Nome utente e/o email e/o password scorretto/i.",
"passwordResetPage": "Reimposta password",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Reset della password di Habitica",
"passwordResetEmailText": "Se hai richiesto la reimpostazione della password per <%= username %> su Habitica, apri <%= passwordResetLink %> per crearne una nuova. Il link sarà valido per 24 ore. Se non hai richiesto la reimpostazione della password, per favore ignora questa e-mail.",
"passwordResetEmailHtml": "Se hai richiesto la reimpostazione della password per <%= username %> su Habitica, \">clicca qui per crearne una nuova. Il link sarà valido per 24 ore.
Se non hai richiesto la reimpostazione della password, per favore ignora questa e-mail.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "Non c'è nessun account che usa quelle credenziali.",
- "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 Profile Name.",
+ "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": "L'account è stato sospeso",
"unsupportedNetwork": "Questa rete non è ancora supportata.",
"cantDetachSocial": "All'account manca un altro metodo di autenticazione; impossibile rimuovere questo metodo di autenticazione.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Registrati con <%= social %>",
"loginWithSocial": "Accedi con <%= social %>",
"confirmPassword": "Conferma password",
- "usernameLimitations": "Il nome di login può avere tra 1 e 20 caratteri e può essere composto solo da lettere dell'alfabeto, cifre da 0 a 9, trattini alti \"-\" o bassi \"_\".",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "es. HabitRabbit",
"emailPlaceholder": "es. rabbit@esempio.it",
"passwordPlaceholder": "es. ******************",
@@ -314,7 +321,7 @@
"earnRewards": "Ottieni ricompense per i tuoi traguardi",
"earnRewardsDesc": "Check off tasks to level up your Avatar and unlock in-game features such as battle armor, mysterious pets, magic skills, and even quests!",
"battleMonsters": "Combatti Mostri coi tuoi Amici",
- "battleMonstersDesc": "Fight monsters with other Habiticans! Use the Gold that you earn to buy in-game or custom rewards, like watching an episode of your favorite TV show.",
+ "battleMonstersDesc": "Combatti mostri insieme ad altri abitanti di Habitica! Usa l'Oro che guadagni per comperare oggetti nel gioco o ricompense personalizzate, come guardare un episodio della tua serie TV preferita.",
"playersUseToImprove": "I giocatori usano Habitica per Migliorare",
"healthAndFitness": "Salute e fitness",
"healthAndFitnessDesc": "Non trovi mai la motivazione per usare il filo interdentale? Andare in palestra sembra un'utopia? Con Habitica tenersi in forma è finalmente un divertimento.",
@@ -329,6 +336,5 @@
"signup": "Registrati",
"getStarted": "Inizia",
"mobileApps": "App Mobile",
- "learnMore": "Maggiori informazioni",
- "useMobileApps": "Habitica non è ottimizzato per i browser dei dispositivi mobili. Consigliamo di scaricare le nostre app."
+ "learnMore": "Maggiori informazioni"
}
\ No newline at end of file
diff --git a/website/common/locales/it/gear.json b/website/common/locales/it/gear.json
index 7ef49b13fa..10b8eebd7c 100644
--- a/website/common/locales/it/gear.json
+++ b/website/common/locales/it/gear.json
@@ -11,7 +11,7 @@
"noGearItemsOfType": "Non possiedi nessuna di queste cose.",
"noGearItemsOfClass": "Possiedi già tutto l'equipaggiamento della tua classe! Altri oggetti verranno messi a disposizione durante i Gran Galà, nel periodo dei solstizi e degli equinozi.",
"classLockedItem": "Questo oggetto è disponibile solo per una classe specifica. \nCambia la tua classe dall'icona Utente > Impostazioni > Build del personaggio",
- "tierLockedItem": "This item is only available once you've purchased the previous items in sequence. Keep working your way up!",
+ "tierLockedItem": "Questo oggetto è disponibile solo quando hai comprato gli oggetti precedenti nella sequenza. Continua a guadagnare un pezzo alla volta!",
"sortByType": "Tipo",
"sortByPrice": "Prezzo",
"sortByCon": "CON",
@@ -81,7 +81,7 @@
"weaponSpecial0Text": "Lama delle Anime Oscure",
"weaponSpecial0Notes": "Si nutre dell'essenza vitale dei nemici per rafforzare i propri malvagi colpi. Aumenta la Forza di <%= str %>.",
"weaponSpecial1Text": "Lama di Cristallo",
- "weaponSpecial1Notes": "Its glittering facets tell the tale of a hero. Increases all Stats by <%= attrs %>.",
+ "weaponSpecial1Notes": "Le sue faccette scintillanti raccontano la storia di un eroe. Aumenta tutte le statistiche di <%= attrs %>.",
"weaponSpecial2Text": "Bastone del Drago di Stephen Weber",
"weaponSpecial2Notes": "Senti la possenza e l'impeto dei draghi scorrere dentro di te! Aumenta la Forza e la Percezione di di <%= attrs %>.",
"weaponSpecial3Text": "Massiccio Martello Miliare di Mustaine",
@@ -89,7 +89,7 @@
"weaponSpecialCriticalText": "Critico Martello Distruggi-Bug",
"weaponSpecialCriticalNotes": "Questo campione ha annientato un pericoloso nemico su Github, dove molti guerrieri sono caduti. Adornato con le ossa del Bug, questo martello garantisce poderosi colpi critici. Aumenta la Forza e la Percezione di <%= attrs %>.",
"weaponSpecialTakeThisText": "Spada Take This",
- "weaponSpecialTakeThisNotes": "This sword was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all Stats by <%= attrs %>.",
+ "weaponSpecialTakeThisNotes": "Questa spada è stata guadagnata partecipando ad una Sfida sponsorizzata creata da Take This. Congratulazioni! Aumenta tutte le statistiche di <%= attrs %>",
"weaponSpecialTridentOfCrashingTidesText": "Tridente delle Maree Fragorose",
"weaponSpecialTridentOfCrashingTidesNotes": "Conferisce l'abilità di comandare i pesci, inoltre colpisce con forza le tue attività. Aumenta l'Intelligenza di <%= int %>.",
"weaponSpecialTaskwoodsLanternText": "Lanterna di Boscocompito",
@@ -113,13 +113,13 @@
"weaponSpecialTachiText": "Tachi",
"weaponSpecialTachiNotes": "Questa leggera spada curva farà a brandelli le tue attività! Aumenta la Forza di <%= str %>.",
"weaponSpecialAetherCrystalsText": "Cristalli Eterei",
- "weaponSpecialAetherCrystalsNotes": "These bracers and crystals once belonged to the Lost Masterclasser herself. Increases all Stats by <%= attrs %>.",
+ "weaponSpecialAetherCrystalsNotes": "Questi bracciali e cristalli appartenevano al Masterclasser perduto. Incrementa tutti gli attributi di <%= attrs %>.",
"weaponSpecialYetiText": "Lancia dell'Addestra-Yeti",
"weaponSpecialYetiNotes": "Questa lancia ti permette di domare gli yeti! Aumenta la Forza di <%= str %>. Edizione limitata, inverno 2013-2014.",
"weaponSpecialSkiText": "Asta del Nevassassino",
"weaponSpecialSkiNotes": "Un'arma capace di distruggere orde di nemici! Aiuta anche a fare splendide curve con gli sci. Aumenta la Forza di <%= str %>. Edizione limitata, inverno 2013-2014.",
"weaponSpecialCandycaneText": "Verga Caramellata",
- "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": "Un possente bastone di mago. Vogliamo dire possentemente DELIZIOSO ! Aumenta l'Intelligenza di <%= int %> e la Percezione di <%= per %>. Attrezzatura Invernale in Edizione Limitata 2013-2014.",
"weaponSpecialSnowflakeText": "Bacchetta Fioccodineve",
"weaponSpecialSnowflakeNotes": "Questa bacchetta risplende di un illimitato potere curativo! Aumenta l'Intelligenza di <%= int %>. Edizione limitata, inverno 2013-2014.",
"weaponSpecialSpringRogueText": "Artigli a uncino",
@@ -243,29 +243,37 @@
"weaponSpecialFall2017HealerText": "Candelabro Raccapricciante",
"weaponSpecialFall2017HealerNotes": "Questa luce disperde la paura e fa sapere agli altri che sei qui per aiutare. Aumenta l'Intelligenza di <%= int %>. Edizione limitata, autunno 2017.",
"weaponSpecialWinter2018RogueText": "Peppermint Hook",
- "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.",
- "weaponSpecialWinter2018MageText": "Holiday Confetti",
+ "weaponSpecialWinter2018RogueNotes": "Perfetto per arrampicarsi sui muri o per distrarre i tuoi nemici con una dolcissima caramella. Aumenta la Forza di <%= str %>. Attrezzatura Invernale in Edizione Limitata 2017-2018.",
+ "weaponSpecialWinter2018WarriorText": "Martello Nastro Festivo",
+ "weaponSpecialWinter2018WarriorNotes": "Questa arma sfavillante abbaglierà i tuoi nemici mentre la agiti! Aumenta la Forza di <%= str %>. Attrezzatura Invernale in Edizione Limitata 2017-2018.",
+ "weaponSpecialWinter2018MageText": "Coriandoli delle Vacanze",
"weaponSpecialWinter2018MageNotes": "Magic--and glitter--is in the air! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
- "weaponSpecialWinter2018HealerText": "Mistletoe Wand",
- "weaponSpecialWinter2018HealerNotes": "This mistletoe ball is sure to enchant and delight passersby! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
+ "weaponSpecialWinter2018HealerText": "Bacchetta di Vischio",
+ "weaponSpecialWinter2018HealerNotes": "Questa palla di giglio incanterà colui che ti passerà vicino! Aumenta l'Intelligenza di <%= int %>. Attrezzatura Invernale in Edizione Limitata 2017-2018.",
"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",
+ "weaponSpecialSpring2018WarriorText": "Ascia dell'Alba",
+ "weaponSpecialSpring2018WarriorNotes": "Fatta di oro luccicante, quest'ascia è abbastanza potente da attaccare l'attività più rossa! Aumenta la Forza di <%= str %>. Edizione Limitata oggetti di Primavera 2018.",
+ "weaponSpecialSpring2018MageText": "Gambo di Tulipano",
+ "weaponSpecialSpring2018MageNotes": "Questo fiore magico non appassisce mai! Aumenta l'Intelligenza di <%= int %> e la Percezione di <%= per %>. Attrezzatura Primaverile in Edizione Limitata 2018.",
+ "weaponSpecialSpring2018HealerText": "Canna di Granato",
+ "weaponSpecialSpring2018HealerNotes": "Le pietre che compongono questo bastone canalizzeranno il tuo potere quando lancerai incantesimi di guarigione! Aumenta l'Intelligenza di <%= int %>. Attrezzatura Primaverile in Edizione Limitata 2018.",
+ "weaponSpecialSummer2018RogueText": "Canna da Pesca",
+ "weaponSpecialSummer2018RogueNotes": "Questa canna da pesca leggera ma infrangibile e il suo mulinello possono essere usati in parallelo per ottimizzare i tuoi DPS (Delfini, Pesci, Squali). Aumenta la Forza di <%= str %>. Attrezzatura Estiva in Edizione Limitata 2018.",
+ "weaponSpecialSummer2018WarriorText": "Lancia Pesce Betta",
+ "weaponSpecialSummer2018WarriorNotes": "Abbastanza potente per combattere, abbastanza elegante per le cerimonie, questa lancia di fattura squisita fa capire a tutti che proteggerai la tua madremare in qualsiasi situazione! Aumenta la Forza di <%= str %>. Attrezzatura Estiva in Edizione Limitata 2018.",
+ "weaponSpecialSummer2018MageText": "Raggi di Pinne di Pesce Leone",
"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": "Fiala di Lucidità",
+ "weaponSpecialFall2018RogueNotes": "Quando hai bisogno di tornare alla ragione, quando hai bisogno di una piccola spinta per prendere la decisione giusta, respira profondamente e prendi un sorso. Andrà tutto bene! Aumenta la Forza di <%= str %>. Attrezzatura Autunnale in Edizione Limitata 2018.",
+ "weaponSpecialFall2018WarriorText": "Frusta di Minosse",
+ "weaponSpecialFall2018WarriorNotes": "Non abbastanza lungo da essere srotolato dietro di te per orientarti in un labirinto. Beh, forse in un labirinto proprio piccolo sì. Aumenta la Forza di <%= str %>. Attrezzatura Autunnale in Edizione Limitata 2018.",
+ "weaponSpecialFall2018MageText": "Bastone della Dolcezza",
+ "weaponSpecialFall2018MageNotes": "Questo è lontano dall'essere un leccalecca normale! La sfera di zucchero magico su questo bastone ha il potere di attaccarti adosso le buone abitudini. Aumenta l'Intelligenza di <%= int %> e la Percezione di <%= per %>. Attrezzatura Autunnale in Edizione Limitata 2018. Oggetto a due mani.",
+ "weaponSpecialFall2018HealerText": "Bastone Affamato",
+ "weaponSpecialFall2018HealerNotes": "Nutri questo bastone, e offrirà delle benedizioni. Se ti dimentichi di nutrirlo, allontana le dita. Aumenta l'Intelligenza di <%= int %>. Attrezzatura Autunnale in Edizione Limitata 2018.",
"weaponMystery201411Text": "Forcone dei festeggiamenti",
"weaponMystery201411Notes": "Infilza i tuoi nemici o inforca i tuoi cibi preferiti - questo versatile forcone può fare di tutto! Non conferisce alcun bonus. Oggetto per abbonati, novembre 2014.",
"weaponMystery201502Text": "Scintillante Scettro Alato dell'Amore e anche della Verità",
@@ -289,7 +297,7 @@
"weaponArmoireIronCrookText": "Bastone Uncinato di Ferro",
"weaponArmoireIronCrookNotes": "Fieramente forgiato dal ferro, questo bastone di ferro è ottimo per condurre le pecore al pascolo. Aumenta la Percezione e la Forza di <%= attrs %> ciascuna. Scrigno Incantato: Set del Ferro Uncinato (Oggetto 3 di 3).",
"weaponArmoireGoldWingStaffText": "Bastone dell'Ala Dorata",
- "weaponArmoireGoldWingStaffNotes": "The wings on this staff constantly flutter and twist. Increases all Stats by <%= attrs %> each. Enchanted Armoire: Independent Item.",
+ "weaponArmoireGoldWingStaffNotes": "Le ali su questo bastone svolazzano e si agitani continuamente. Aumenta tutte le statistiche di <%= attrs %>. Scrigno Incantato: Oggetto indipendente.",
"weaponArmoireBatWandText": "Bacchetta del Pipistrello",
"weaponArmoireBatWandNotes": "Questa bacchetta può trasformare qualunque attività in un pipistrello! Salutalo e guardalo volare via. Aumenta l'Intelligenza di <%= int %> e la Percezione di <%= per %>. Scrigno Incantato: oggetto indipendente.",
"weaponArmoireShepherdsCrookText": "Bastone del Pastore",
@@ -338,7 +346,7 @@
"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)",
"weaponArmoireCoachDriversWhipText": "Coach Driver's Whip",
"weaponArmoireCoachDriversWhipNotes": "Your steeds know what they're doing, so this whip is just for show (and the neat snapping sound!). Increases Intelligence by <%= int %> and Strength by <%= str %>. Enchanted Armoire: Coach Driver Set (Item 3 of 3).",
- "weaponArmoireScepterOfDiamondsText": "Scepter of Diamonds",
+ "weaponArmoireScepterOfDiamondsText": "Scettro di Diamanti",
"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).",
@@ -346,10 +354,14 @@
"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",
+ "weaponArmoirePoisonedGobletText": "Calice Avvelenato",
"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",
+ "weaponArmoireJeweledArcherBowText": "Arco Ingioiellato",
"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": "Ago da Rilegatura",
+ "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).",
"armor": "armatura",
"armorCapitalized": "Armatura",
"armorBase0Text": "Vestiti semplici",
@@ -397,7 +409,7 @@
"armorSpecial0Text": "Armatura Ombra",
"armorSpecial0Notes": "Urla quando viene colpito, prova dolore al posto di chi lo indossa. Aumenta la Costituzione di <%= con %>.",
"armorSpecial1Text": "Armatura di Cristallo",
- "armorSpecial1Notes": "Its tireless power inures the wearer to mundane discomfort. Increases all Stats by <%= attrs %>.",
+ "armorSpecial1Notes": "Il suo potere infaticabile abitua colui che l'indossa allo sconforto mondano. Aumenta tutte le Statistiche di <%= attrs %>.",
"armorSpecial2Text": "Nobile Tunica di Jean Chalard",
"armorSpecial2Notes": "Rende chi lo indossa estremamente morbido e peloso! Aumenta l'Intelligenza e la Costituzione di <%= attrs %>.",
"armorSpecialTakeThisText": "Armatura Take This",
@@ -426,7 +438,7 @@
"armorSpecialDandySuitNotes": "Sei innegabilmente vestito per il successo! Aumenta la Percezione di <%= per %>.",
"armorSpecialSamuraiArmorText": "Armatura da Samurai",
"armorSpecialSamuraiArmorNotes": "Questa resistente armatura a scaglie è tenuta insieme da eleganti fili di seta. Aumenta la Percezione di <%= per %>.",
- "armorSpecialTurkeyArmorBaseText": "Turkey Armor",
+ "armorSpecialTurkeyArmorBaseText": "Armatura Tacchino",
"armorSpecialTurkeyArmorBaseNotes": "Keep your drumsticks warm and cozy in this feathery armor! Confers no benefit.",
"armorSpecialYetiText": "Veste dell'Addestra-Yeti",
"armorSpecialYetiNotes": "Folta e feroce. Aumenta la Costituzione di <%= con %>. Edizione limitata, inverno 2013-2014.",
@@ -568,17 +580,17 @@
"armorSpecialFall2017MageNotes": "Quale completo da Festa in Maschera sarebbe completo senza delle drammatiche vesti che svolazzano? Aumentano l'Intelligenza di <%= int %>. Edizione limitata, autunno 2017.",
"armorSpecialFall2017HealerText": "Armatura della Casa Infestata",
"armorSpecialFall2017HealerNotes": "Il tuo cuore è una porta aperta. E le tue spalle sono tegole! Aumenta la Costituzione di <%= con %>. Edizione limitata, autunno 2017.",
- "armorSpecialWinter2018RogueText": "Reindeer Costume",
+ "armorSpecialWinter2018RogueText": "Costume da Renna",
"armorSpecialWinter2018RogueNotes": "You look so cute and fuzzy, who could suspect you are after holiday loot? Increases Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
- "armorSpecialWinter2018WarriorText": "Wrapping Paper Armor",
- "armorSpecialWinter2018WarriorNotes": "Don't let the papery feel of this armor fool you. It's nearly impossible to rip! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "armorSpecialWinter2018WarriorText": "Armatura di Carta Regalo",
+ "armorSpecialWinter2018WarriorNotes": "Non farti ingannare dalla consistenza cartacea di questa armatura. È quasi impossibile strapparla! Aumenta la Costituzione di <%= con %>. Attrezzatura Invernale in edizione limitata 2017-2018.",
"armorSpecialWinter2018MageText": "Sparkly Tuxedo",
"armorSpecialWinter2018MageNotes": "The ultimate in magical formalwear. Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
- "armorSpecialWinter2018HealerText": "Mistletoe Robes",
+ "armorSpecialWinter2018HealerText": "Vesti di Vischio",
"armorSpecialWinter2018HealerNotes": "These robes are woven with spells for extra holiday joy. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
"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",
+ "armorSpecialSpring2018WarriorText": "Armatura dell'Alba",
"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.",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Vesti del Messaggero",
"armorMystery201402Notes": "Lucenti e robuste, queste vesti hanno diverse tasche per trasportare le lettere. Non conferisce alcun bonus. Oggetto per abbonati, febbraio 2014.",
"armorMystery201403Text": "Armatura del Proteggiforeste",
@@ -658,8 +678,12 @@
"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",
+ "armorMystery201807Text": "Coda di Serpente Marino",
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
+ "armorMystery201808Text": "Armatura del Drago di Lava",
+ "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": "Armatura di Foglie Autunnali",
+ "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.",
"armorMystery301404Text": "Completo Steampunk",
"armorMystery301404Notes": "Raffinato, a dir poco impeccabile! Non conferisce alcun bonus. Oggetto per abbonati, febbraio 3015.",
"armorMystery301703Text": "Vestito da Pavone Steampunk",
@@ -754,6 +778,10 @@
"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).",
"headgear": "elmo",
"headgearCapitalized": "Copricapo",
"headBase0Text": "Nessun elmo",
@@ -801,7 +829,7 @@
"headSpecial0Text": "Elmo delle Ombre",
"headSpecial0Notes": "Sangue e cenere, lava e ossidiana donano a questo elmo la sua potenza. Aumenta l'Intelligenza di <%= int %>.",
"headSpecial1Text": "Elmo di Cristallo",
- "headSpecial1Notes": "The favored crown of those who lead by example. Increases all Stats by <%= attrs %>.",
+ "headSpecial1Notes": "La corona favoreggiata da chi comanda dando l'esempio. Aumenta tutte le Statistiche di <%= attrs %>.",
"headSpecial2Text": "Elmo Senza Nome",
"headSpecial2Notes": "Un'onoreficenza a coloro che hanno dato se stessi senza chiedere nulla in cambio. Aumenta la Forza e l'Intelligenza di <%= attrs %>.",
"headSpecialTakeThisText": "Elmo Take This",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Elmo del Guerriero Arcobaleno",
"headSpecialGaymerxNotes": "Per celebrare il GaymerX, questo speciale elmo è decorato con un raggiante e colorato tema arcobaleno! Il GaymerX è un evento dedicato al gaming e alla comunità LGBTQ, ed è aperto a tutti.",
"headMystery201402Text": "Elmo Alato",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Cilindro Elegante",
"headMystery301404Notes": "Un cilindro per i più fini gentiluomini! Oggetto per abbonati, gennaio 3015. Non conferisce alcun bonus.",
"headMystery301405Text": "Cilindro Base",
@@ -1164,7 +1204,7 @@
"headArmoireFlutteryWigNotes": "This fine powdered wig has plenty of room for your butterflies to rest if they get tired while doing your bidding. Increases Intelligence, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 2 of 4).",
"headArmoireBirdsNestText": "Bird's Nest",
"headArmoireBirdsNestNotes": "If you start feeling movement and hearing chirps, your new hat might have turned into new friends. Increases Intelligence by <%= int %>. Enchanted Armoire: Independent Item.",
- "headArmoirePaperBagText": "Paper Bag",
+ "headArmoirePaperBagText": "Sacchetto di Carta",
"headArmoirePaperBagNotes": "This bag is a hilarious but surprisingly protective helm (don't worry, we know you look good under there!). Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
"headArmoireBigWigText": "Big Wig",
"headArmoireBigWigNotes": "Some powdered wigs are for looking more authoritative, but this one is just for laughs! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "oggetto mano secondaria",
"offhandCapitalized": "Oggetto mano secondaria",
"shieldBase0Text": "Nessun oggetto mano secondaria",
@@ -1201,7 +1243,7 @@
"shieldSpecial0Text": "Teschio Tormentato",
"shieldSpecial0Notes": "Vede oltre il velo della morte, e usa quello che vi trova per terrorizzare i nemici. Aumenta la Percezione di <%= per %>.",
"shieldSpecial1Text": "Scudo di Cristallo",
- "shieldSpecial1Notes": "Shatters arrows and deflects the words of naysayers. Increases all Stats by <%= attrs %>.",
+ "shieldSpecial1Notes": "Frantuma le frecce e devia le parole degli oppositori. Aumenta tutte le Statistiche di <%= attrs %>.",
"shieldSpecialTakeThisText": "Scudo Take This",
"shieldSpecialTakeThisNotes": "This shield was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all Stats by <%= attrs %>.",
"shieldSpecialGoldenknightText": "Massiccio Martello Miliare di Mustaine",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Risoluzione dell'Assassino",
"shieldMystery201601Notes": "Questa lama può essere usata per parare ogni distrazione. Non conferisce alcun bonus. Oggetto per abbonati, gennaio 2016.",
"shieldMystery201701Text": "Scudo ferma-tempo",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Accessorio da schiena",
"backCapitalized": "Accessorio schiena",
"backBase0Text": "Nessun accessorio da schiena",
"backBase0Notes": "Nessun accessorio da schiena.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Ali Dorate",
"backMystery201402Notes": "Le piume di queste lucenti ali brillano alla luce del sole! Non conferisce alcun bonus. Oggetto per abbonati, febbraio 2014.",
"backMystery201404Text": "Ali di Farfalla d'Alba",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Accessorio per il corpo",
"bodyCapitalized": "Accessorio corpo",
"bodyBase0Text": "No accessori da corpo",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Gli occhiali sono per i tuoi occhi\", dicevano. \"Nessuno vuole degli occhiali solo per tenerli in testa\", dicevano. Hah! Ora mostra quanto si sbagliano! Non conferisce alcun bonus. Oggetto per abbonati, agosto 3015.",
"headAccessoryArmoireComicalArrowText": "Freccia Comica",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Occhiali da rilegatore",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Occhiali",
"eyewearCapitalized": "Accessorio occhi",
"eyewearBase0Text": "Nessuna benda",
@@ -1606,5 +1675,5 @@
"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": "Arma a due mani."
}
\ No newline at end of file
diff --git a/website/common/locales/it/generic.json b/website/common/locales/it/generic.json
index 7dbb788b0c..eeb27fea99 100644
--- a/website/common/locales/it/generic.json
+++ b/website/common/locales/it/generic.json
@@ -71,6 +71,7 @@
"submit": "Invia",
"close": "Chiudi",
"saveAndClose": "Salva e chiudi",
+ "saveAndConfirm": "Salva & Conferma",
"cancel": "Annulla",
"ok": "OK",
"add": "Aggiungi",
@@ -87,7 +88,7 @@
"gems": "Gemme",
"gemButton": "Hai <%= number %> Gemme.",
"needMoreGems": "Ti servono più Gemme?",
- "needMoreGemsInfo": "Purchase Gems now, or become a subscriber to buy Gems with Gold, get monthly mystery items, enjoy increased drop caps and more!",
+ "needMoreGemsInfo": "Compra Gemme ora, o diventa un abbonato per comprare Gemme con oro, prendere mensilmente oggetti misteriosi, goditi i drop caps e altro aumentati!",
"moreInfo": "Maggiori informazioni",
"moreInfoChallengesURL": "http://habitica.wikia.com/wiki/Challenges",
"moreInfoTagsURL": "http://habitica.wikia.com/wiki/Tags",
@@ -122,8 +123,8 @@
"error": "Errore",
"menu": "Menù",
"notifications": "Notifiche",
- "noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotifications": "Sei in pari!",
+ "noNotificationsText": "Le fate delle notifche ti danno un rauco turno di applausi! Ben fatto!",
"clear": "Nascondi",
"endTour": "Fine giro",
"audioTheme": "Tema sonoro",
@@ -200,7 +201,7 @@
"birthdayCardAchievementTitle": "Superbonus Compleanno",
"birthdayCardAchievementText": "Cento di questi giorni! Hai inviato o ricevuto <%= count %> auguri di compleanno.",
"congratsCard": "Cartolina di Congratulazioni",
- "congratsCardExplanation": "You both receive the Congratulatory Companion achievement!",
+ "congratsCardExplanation": "Entrambi ricevete la medaglia ‘Compagno di Congratulazioni’!",
"congratsCardNotes": "Manda una cartolina di Congratulazioni ad un membro della tua squadra.",
"congrats0": "Congratulazioni per il tuo successo!",
"congrats1": "Sono molto fiero di te!",
@@ -210,7 +211,7 @@
"congratsCardAchievementTitle": "Compagno di Congratulazioni",
"congratsCardAchievementText": "È bello festeggiare i successi dei tuoi amici! Mandato o ricevuto <%= count %> cartoline di Congratulazioni.",
"getwellCard": "Cartolina di Pronta Guarigione",
- "getwellCardExplanation": "You both receive the Caring Confidant achievement!",
+ "getwellCardExplanation": "Entrambi riceve la medaglia ‘Confidente Premuroso’!",
"getwellCardNotes": "Manda una cartolina di Pronta Guarigione ad un membro della squadra.",
"getwell0": "Spero che presto tu ti senta meglio!",
"getwell1": "Abbi cura di te! <3",
@@ -266,12 +267,12 @@
"health_wellness": "Salute e benessere",
"self_care": "Cura di sè",
"habitica_official": "Ufficiale Habitica",
- "academics": "Academics",
- "advocacy_causes": "Advocacy + Causes",
+ "academics": "Accademico",
+ "advocacy_causes": "Patrocinio + Cause",
"entertainment": "Intrattenimento",
- "finance": "Finance",
+ "finance": "Finanza",
"health_fitness": "Salute + Fitness",
- "hobbies_occupations": "Hobbies + Occupations",
+ "hobbies_occupations": "Abitudini + Occupazioni",
"location_based": "Basate su luoghi",
"mental_health": "Salute mentale + Cura di sè",
"getting_organized": "Organizzarsi",
diff --git a/website/common/locales/it/groups.json b/website/common/locales/it/groups.json
index 3fb6394bc6..86af361424 100644
--- a/website/common/locales/it/groups.json
+++ b/website/common/locales/it/groups.json
@@ -5,8 +5,9 @@
"innCheckIn": "Riposa nella Locanda",
"innText": "Stai riposando nella Locanda! Mentre sei qui, le tue Daily non ti danneggeranno alla fine della giornata, ma si resetteranno comunque ogni giorno. Fai attenzione: se stai partecipando ad una missione Boss, il Boss ti danneggerà comunque per le Daily incomplete dei tuoi compagni di squadra, a meno che non stiano riposando anche loro nella Locanda! Inoltre, il tuo danno al Boss (o la raccolta di oggetti) non avrà effetto finché non lasci la Locanda.",
"innTextBroken": "Stai riposando nella Locanda, credo... Mentre sei qui, le tue Daily non ti danneggeranno alla fine della giornata, ma si resetteranno comunque ogni giorno... Se stai partecipando ad una missione Boss, il Boss ti danneggerà comunque per le Daily incomplete dei tuoi compagni di squadra... a meno che non stiano riposando anche loro nella Locanda... Inoltre, il tuo danno al Boss (o la raccolta di oggetti) non avrà effetto finché non lasci la Locanda... che stanchezza...",
- "innCheckOutBanner": "You are currently checked into the Inn. Your Dailies won't damage you and you won't make progress towards Quests.",
- "resumeDamage": "Resume Damage",
+ "innCheckOutBanner": "Attualmente sei fermo nella locanda. Le tue Daily non ti danneggieranno e non progredirai nelle missioni.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
+ "resumeDamage": "Riattiva Danni",
"helpfulLinks": "Link utili",
"communityGuidelinesLink": "Linee guida della community",
"lookingForGroup": "Sei in cerca di una squadra? Guarda qui! (in inglese)",
@@ -34,15 +35,15 @@
"communityGuidelines": "Linee guida della community",
"communityGuidelinesRead1": "Per favore leggi le",
"communityGuidelinesRead2": "prima di scrivere.",
- "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": "Ops! Sembra che questo messaggio contenga una parolaccia, una bestemmia, o un riferimento ad una sostanza che crea dipendenza o ad un argomento per adulti (<%= swearWordsUsed %>). Habitica ha utenti di età, provenienza e sensibilità molto diverse, quindi ci teniamo a tenere le nostre chat molto pulite. Sentiti libero/a di modificare il tuo messaggio in modo che tu lo possa pubblicare!",
"bannedSlurUsed": "Il tuo messaggio conteneva un linguaggio inappropriato e i tuoi privilegi legati alle chat sono stati revocati.",
"party": "Squadra",
"createAParty": "Crea una Squadra",
"updatedParty": "Impostazioni squadra aggiornate.",
"errorNotInParty": "Non sei in una Squadra",
- "noPartyText": "You are either not in a Party or your Party is taking a while to load. You can either create one and invite friends, or if you want to join an existing Party, have them enter your Unique User ID below and then come back here to look for the invitation:",
- "LFG": "To advertise your new Party or find one to join, go to the <%= linkStart %>Party Wanted (Looking for Group)<%= linkEnd %> Guild.",
- "wantExistingParty": "Want to join an existing Party? Go to the <%= linkStart %>Party Wanted Guild<%= linkEnd %> and post this User ID:",
+ "noPartyText": "Non fai parte di una squadra, oppure la tua squadra sta impiegando troppo tempo a caricare. Hai la possibilità di creare una squadra ed invitarci i tuoi amici, oppure, se vuoi unirti ad una squadra esistente, chiedi ad un tuo amico di inserire il tuo ID Utente unico e torna qui per visualizzare l'invito:",
+ "LFG": "Per pubblicizzare la tua nuova Squadra o trovarne una a cui unirti, vai alla Gilda <%= linkStart %>Party Wanted (Looking for Group)<%= linkEnd %>(in Inglese).",
+ "wantExistingParty": "Vuoi unirti ad una squadra? vai nella gilda <%= linkStart %>Party Wanted Guild<%= linkEnd %> e posta il tuo ID Utente:",
"joinExistingParty": "Unisciti a una squadra",
"needPartyToStartQuest": "Ops! Hai bisogno di unirti ad una Squadra o crearne una prima di poter cominciare una missione!",
"createGroupPlan": "Crea",
@@ -106,39 +107,39 @@
"optionalMessage": "Messaggio opzionale",
"yesRemove": "Sì, rimuovili",
"foreverAlone": "Non puoi mettere 'mi piace' ai tuoi stessi messaggi. Non essere quel tipo di persona.",
- "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",
+ "sortBackground": "Ordina per Sfondo",
+ "sortClass": "Ordina per Classe",
+ "sortDateJoined": "Ordina per data di iscrizione",
+ "sortLogin": "Ordina per data di accesso",
+ "sortLevel": "Ordina per Livello",
+ "sortName": "Ordina per Nome",
+ "sortTier": "Ordina per Grado",
+ "ascendingAbbrev": "Cres",
+ "descendingAbbrev": "Decr",
"applySortToHeader": "Apply Sort Options to Party Header",
"confirmGuild": "Creare una Gilda per 4 Gemme?",
"leaveGroupCha": "Abbandona la sfida e...",
"confirm": "Conferma",
"leaveGroup": "Abbandona Gilda",
- "leavePartyCha": "Leave Party challenges and...",
+ "leavePartyCha": "Abbandona la Sfida di squadra e ...",
"leaveParty": "Abbandona squadra",
"sendPM": "Invia messaggio privato",
"send": "Invia",
"messageSentAlert": "Messaggio inviato!",
"pmHeading": "Messaggio privato a <%= name %>",
- "pmsMarkedRead": "Your Private Messages have been marked as read",
+ "pmsMarkedRead": "I tuoi Messaggi Privati sono stati segnati come letti",
"possessiveParty": "Squadra di <%= name %>",
"clearAll": "Cancella tutti i messaggi",
"confirmDeleteAllMessages": "Vuoi davvero cancellare tutti i messaggi ricevuti? Gli altri utenti potranno ancora vedere i messaggi che gli hai inviato.",
- "PMPlaceholderTitle": "Nothing Here Yet",
- "PMPlaceholderDescription": "Select a conversation on the left",
- "PMPlaceholderTitleRevoked": "Your chat privileges have been revoked",
+ "PMPlaceholderTitle": "Non c'è ancora nulla qui.",
+ "PMPlaceholderDescription": "Seleziona una conversazione sulla sinistra",
+ "PMPlaceholderTitleRevoked": "I tuoi privilegi legati alle chat sono stati revocati",
"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.",
- "PMReceive": "Receive Private Messages",
- "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.",
+ "PMReceive": "Ricevi Messaggi Privati",
+ "PMEnabledOptPopoverText": "I Messaggi Privati sono abilitati. Utenti possono scriverti dal tuo profilo.",
+ "PMDisabledOptPopoverText": "I Messaggi Privati sono disabilitati. Abilitati per permettere ad altri utenti di contattarti dal tuo profilo.",
+ "PMDisabledCaptionTitle": "I Messaggi Privati sono disabilitati",
+ "PMDisabledCaptionText": "Puoi comunque inviare messaggi ma nessuno può inviarli a te",
"block": "Blocca",
"unblock": "Sblocca",
"blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.",
@@ -154,12 +155,12 @@
"badAmountOfGemsToSend": "L'importo deve essere fra 1 e il numero corrente di gemme.",
"report": "Segnala",
"abuseFlag": "Segnala violazione delle linee guida della community",
- "abuseFlagModalHeading": "Report a Violation",
+ "abuseFlagModalHeading": "Segnala una Violazione",
"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.",
"abuseFlagModalButton": "Segnala",
"abuseReported": "Grazie di aver segnalato questa violazione. I moderatori sono stati avvertiti.",
"abuseAlreadyReported": "Hai già segnalato questo messaggio.",
- "whyReportingPost": "Why are you reporting this post?",
+ "whyReportingPost": "Perché stai segnalando questo 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",
"needsText": "Scrivi un messaggio.",
@@ -230,12 +231,12 @@
"inviteMissingUuid": "ID utente mancante nell'invito.",
"inviteMustNotBeEmpty": "L'invito non può essere vuoto.",
"partyMustbePrivate": "Le squadre devono essere private",
- "userAlreadyInGroup": "UserID: <%= userId %>, User \"<%= username %>\" already in that group.",
- "youAreAlreadyInGroup": "You are already a member of this group.",
+ "userAlreadyInGroup": "ID Utente: <%= userId %>, Utente \"<%= username %>\" è già in questo gruppo.",
+ "youAreAlreadyInGroup": "Sei già parte di questo gruppo.",
"cannotInviteSelfToGroup": "Non puoi auto-invitarti in un gruppo.",
- "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.",
+ "userAlreadyInvitedToGroup": "UserID: <%= userId %>, Utente \"<%= username %>\" è già stato invitato a questo gruppo.",
+ "userAlreadyPendingInvitation": "ID Utente: <%= userId %>, Utente \"<%= username %>\" ha già un invito in attesa.",
+ "userAlreadyInAParty": "UserID: <%= userId %>, User \"<%= username %>\" è già in una squadra.",
"userWithIDNotFound": "Utente con id \"<%= userId %>\" non trovato.",
"userHasNoLocalRegistration": "L'utente non ha una registrazione locale (nome utente, e-mail, password).",
"uuidsMustBeAnArray": "ID Utente deve essere un vettore",
@@ -249,18 +250,18 @@
"assignedToUser": "Assegnata a <%= userName %>",
"assignedToMembers": "Assegnata a <%= userCount %> membri",
"assignedToYouAndMembers": "Assegnata a te e<%= userCount %> membri",
- "youAreAssigned": "You are assigned to this task",
+ "youAreAssigned": "Sei assegnato a questa attività.",
"taskIsUnassigned": "Questa attività non è assegnata a nessuno",
"confirmClaim": "Are you sure you want to claim this task?",
"confirmUnClaim": "Are you sure you want to unclaim this task?",
"confirmApproval": "Vuoi davvero approvare questa attività?",
"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.",
- "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.",
+ "userRequestsApproval": "<%= userName %> richiede approvazone",
+ "userCountRequestsApproval": "<%= userCount %> membri hanno richiesto approvazione",
+ "youAreRequestingApproval": "Stai richiedendo approvazione",
+ "chatPrivilegesRevoked": "Non puoi farlo poiché i tuoi privilegi di chat sono stati revocati.",
+ "cannotCreatePublicGuildWhenMuted": "Non puoi creare una gilda pubblica poiché i tuoi privilegi di chat sono stati revocati.",
+ "cannotInviteWhenMuted": "Non puoi invitare nessuno in una gilda o una squadra perché i tuoi privilegi di chat sono stati revocati.",
"newChatMessagePlainNotification": "Nuovo messaggio in <%= groupName %> da <%= authorName %>. Clicca qui per aprire la pagina della chat!",
"newChatMessageTitle": "Nuovo messaggio in <%= groupName %>",
"exportInbox": "Esporta messaggi",
@@ -281,7 +282,7 @@
"userHasRequestedTaskApproval": "<%= user %> richiede approvazione per <%= taskName %>",
"approve": "Approva",
"approveTask": "Approva attività",
- "needsWork": "Needs Work",
+ "needsWork": "Ha bisogno di lavoro.",
"viewRequests": "Visualizza richieste",
"approvalTitle": "<%= userName %> ha completetato <%= type %>: \"<%= text %>\"",
"confirmTaskApproval": "Vuoi premiare <%= username %> per aver completato questa attività?",
@@ -363,7 +364,7 @@
"liked": "Ti piace",
"joinGuild": "Unisciti alla Gilda",
"inviteToGuild": "Invita alla Gilda",
- "messageGuildLeader": "Message Guild Leader",
+ "messageGuildLeader": "Scrivi al Leader della Gilda",
"donateGems": "Dona Gemme",
"updateGuild": "Aggiorna GIlda",
"viewMembers": "Visualizza membri",
@@ -371,17 +372,17 @@
"recentActivity": "Attività recenti",
"myGuilds": "Le mie Gilde",
"guildsDiscovery": "Esplora Gilde",
- "role": "Role",
+ "role": "Ruolo",
"guildOrPartyLeader": "Leader",
"guildLeader": "Leader della Gilda",
"member": "Membro",
- "guildSize": "Guild Size",
+ "guildSize": "Dimensione della Gilda",
"goldTier": "Rango oro",
"silverTier": "Rango argento",
"bronzeTier": "Rango bronzo",
"privacySettings": "Impostazioni privacy",
"onlyLeaderCreatesChallenges": "Solo il Leader può creare delle Sfide",
- "onlyLeaderCreatesChallengesDetail": "With this option selected, ordinary group members cannot create Challenges for the group.",
+ "onlyLeaderCreatesChallengesDetail": "Con questa opzione selezionata, membri ordinari non possono creare Sfide in questo gruppo.",
"privateGuild": "Gilda privata",
"charactersRemaining": "<%= characters %> caratteri rimasti",
"guildSummary": "Riassunto",
diff --git a/website/common/locales/it/limited.json b/website/common/locales/it/limited.json
index 5d1370a014..0d03787cfb 100644
--- a/website/common/locales/it/limited.json
+++ b/website/common/locales/it/limited.json
@@ -36,9 +36,9 @@
"seasonalShopFallTextBroken": "Oh... Benvenuto nel Negozio Stagionale... Abbiamo in vendita oggetti dell'Edizione Stagionale autunnale, o qualcosa del genere... Tutto quello che vedi qui sarà disponibile per l'acquisto durante l'evento \"Fall Festival\" di ogni anno, ma siamo aperti sono fino al 31 ottobre... Penso che dovresti rifornirti ora altrimenti dovrai aspettare... e aspettare... e aspettare... *sigh*",
"seasonalShopBrokenText": "My pavilion!!!!!!! My decorations!!!! Oh, the Dysheartener's destroyed everything :( Please help defeat it in the Tavern so I can rebuild!",
"seasonalShopRebirth": "Se hai comprato questo equipaggiamento in passato ma attualmente non lo possiedi, potrai riacquistarlo dalla colonna delle Ricompense. All'inizio potrai comprare solo gli oggetti per la tua classe attuale (Guerriero, se non l'hai ancora scelta/cambiata), ma niente paura, gli altri oggetti specifici per le varie classi diventeranno disponibili se ti converti a quella classe.",
- "candycaneSet": "Candy Cane (Mage)",
- "skiSet": "Ski-sassin (Rogue)",
- "snowflakeSet": "Snowflake (Healer)",
+ "candycaneSet": "Bastoncino di Zucchero (Mago)",
+ "skiSet": "Assa-sci-no (Assassino)",
+ "snowflakeSet": "Fioccodineve (Guaritore)",
"yetiSet": "Addestra-Yeti (Guerriero)",
"northMageSet": "Mago del Nord (Mago)",
"icicleDrakeSet": "Drago Fatato dei Ghiacci (Assassino)",
@@ -111,33 +111,38 @@
"summer2017SeaDragonSet": "Drago Marino (Assassino)",
"fall2017HabitoweenSet": "Guerriero Habitoween (Guerriero)",
"fall2017MasqueradeSet": "Mago Mascherato (Mago)",
- "fall2017HauntedHouseSet": "Haunted House Healer (Healer)",
+ "fall2017HauntedHouseSet": "Guaritore della Casa Infestata (Guaritore)",
"fall2017TrickOrTreatSet": "Dolcetto o scasseggio (Assassino)",
- "winter2018ConfettiSet": "Confetti Mage (Mage)",
- "winter2018GiftWrappedSet": "Gift-Wrapped Warrior (Warrior)",
- "winter2018MistletoeSet": "Mistletoe Healer (Healer)",
- "winter2018ReindeerSet": "Reindeer Rogue (Rogue)",
- "spring2018SunriseWarriorSet": "Sunrise Warrior (Warrior)",
- "spring2018TulipMageSet": "Tulip Mage (Mage)",
+ "winter2018ConfettiSet": "Mago di Coriandoli (Mago)",
+ "winter2018GiftWrappedSet": "Guerriero dei Regali Incartati (Guerriero)",
+ "winter2018MistletoeSet": "Guaritore del Vischio (Guaritore)",
+ "winter2018ReindeerSet": "Cervo Assassino (Assassino)",
+ "spring2018SunriseWarriorSet": "Guerriero dell'Alba (Guerriero)",
+ "spring2018TulipMageSet": "Mago Tulipano (Mago)",
"spring2018GarnetHealerSet": "Garnet Healer (Healer)",
- "spring2018DucklingRogueSet": "Duckling Rogue (Rogue)",
- "summer2018BettaFishWarriorSet": "Betta Fish Warrior (Warrior)",
- "summer2018LionfishMageSet": "Lionfish Mage (Mage)",
- "summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
+ "spring2018DucklingRogueSet": "Anatroccolo Assassino (Assassino)",
+ "summer2018BettaFishWarriorSet": "Pesce Combattente (Guerriero)",
+ "summer2018LionfishMageSet": "Mago Pesce Leone (Mago)",
+ "summer2018MerfolkMonarchSet": "Monarca dei Mermeidi (Guaritore)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Disponibile fino al <%= date(locale) %>.",
"dateEndMarch": "30 aprile",
"dateEndApril": "19 aprile",
- "dateEndMay": "May 31",
+ "dateEndMay": "31 Maggio",
"dateEndJune": "14 giugno",
- "dateEndJuly": "July 31",
+ "dateEndJuly": "31 Luglio",
"dateEndAugust": "31 agosto",
+ "dateEndSeptember": "21 Settembre",
"dateEndOctober": "31 ottobre",
"dateEndNovember": "30 novembre",
"dateEndJanuary": "31 gennaio",
"dateEndFebruary": "28 febbraio",
"winterPromoGiftHeader": "REGALA UN ABBONAMENTO E NE OTTIENI UNO GRATIS!",
- "winterPromoGiftDetails1": "Until January 12th 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",
+ "winterPromoGiftDetails1": "Solo fino al 12 Gennaio, quando regali un abbonamento a qualcuno, ricevi lo stesso abbonamento per te gratis!",
+ "winterPromoGiftDetails2": "Per favore nota che se tu o la persona a cui stai facendo il regalo avete già un abbonamento che si rinnova automaticamente, l'abbonamento regalato inizierà solo che l'abbonamento sarà cancellato o finirà. Grazie infinite per il supporto! <3",
"discountBundle": "pacchetto"
}
\ No newline at end of file
diff --git a/website/common/locales/it/loadingscreentips.json b/website/common/locales/it/loadingscreentips.json
index 66ed82e4ce..4ad74acc66 100644
--- a/website/common/locales/it/loadingscreentips.json
+++ b/website/common/locales/it/loadingscreentips.json
@@ -14,7 +14,7 @@
"tip12": "Aggiungi una checklist alle tue To-Do per moltiplicare la ricompensa!",
"tip13": "Clicca su \"Etichette\" nella tua pagina principale per rendere un'intricata lista di attività molto più gestibile!",
"tip14": "Puoi aggiungere delle intestazioni (o delle citazioni per ispirarti) alla tua lista come delle Abitudini senza (+/-).",
- "tip15": "Complete all the Masterclasser Quest-lines to learn about Habitica’s secret lore.",
+ "tip15": "Completa tutte le ‘Masterclasser Quest-lines’ per sapere sulla storia segreta di Habitica",
"tip16": "Click the link to the Data Display Tool in the footer for valuable insights on your progress.",
"tip17": "Usa le app per impostare dei promemoria per le tue attività.",
"tip18": "Le abitudini solo positive o solo negative \"sbiadiscono\" gradualmente e tornano gialle.",
@@ -25,7 +25,7 @@
"tip23": "Raggiungi il livello 100 per sbloccare la Sfera della Rinascita gratuitamente e cominciare una nuova avventura!",
"tip24": "Hai una domanda? Vieni a chiedere nella gilda Habitica Help!",
"tip25": "I quattro Gran Galà stagionali iniziano nei pressi dei solstizi e degli equinozi.",
- "tip26": "You can look for a Party or find Party members in the Party Wanted Guild!",
+ "tip26": "Puoi cercare una squadra o trovare nuovi membri nella gilda \"Party Wanted\"!",
"tip27": "Hai fatto una Daily ieri ma hai dimenticato di metterci la spunta? Non preoccuparti! Grazie a una nuova funzione potrai segnare cosa hai fatto ieri prima di cominciare la tua nuova giornata.",
"tip28": "Set a Custom Day Start under User Icon > Settings to control when your day restarts.",
"tip29": "Completa tutte le tue Daily per ottenere un bonus Giorno Perfetto che aumenta le tue statistiche!",
diff --git a/website/common/locales/it/messages.json b/website/common/locales/it/messages.json
index c5bebd8f0f..ae5fc85901 100644
--- a/website/common/locales/it/messages.json
+++ b/website/common/locales/it/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Non hai abbastanza gemme!",
"messageAuthPasswordMustMatch": ":password e :confirmPassword non corrispondono",
"messageAuthCredentialsRequired": "sono necessari :username, :email, :password, :confirmPassword",
- "messageAuthUsernameTaken": "Nome di login già utilizzato",
"messageAuthEmailTaken": "Indirizzo email già utilizzato",
"messageAuthNoUserFound": "Nessun utente trovato.",
"messageAuthMustBeLoggedIn": "Devi aver eseguito l'accesso.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "Non puoi comprare più di 1 unità di questo oggetto.",
"notificationsRequired": "Sono necessari gli id delle notifiche.",
"unallocatedStatsPoints": "Hai <%= points %> Punti Statistica non allocati",
- "beginningOfConversation": "Stai iniziando una conversazione con <%= userName %>. Ricorda di scrivere con gentilezza e rispetto, seguendo le Linee guida della community!"
+ "beginningOfConversation": "Stai iniziando una conversazione con <%= userName %>. Ricorda di scrivere con gentilezza e rispetto, seguendo le Linee guida della community!",
+ "messageDeletedUser": "Siamo spiacenti, questo utente ha eliminato il suo account."
}
\ No newline at end of file
diff --git a/website/common/locales/it/npc.json b/website/common/locales/it/npc.json
index e0b18fd503..6738aeabad 100644
--- a/website/common/locales/it/npc.json
+++ b/website/common/locales/it/npc.json
@@ -9,8 +9,8 @@
"justinIntroMessage2": "Per cominciare, hai bisogno di un avatar.",
"justinIntroMessage3": "Bene! Ora, su cosa vorresti lavorare durante questo viaggio?",
"introTour": "Eccoci qua! Ho creato alcune Attività basate sui tuoi interessi, così hai già qualcosa con cui partire. Clicca su un'Attività per modificarla oppure aggiungine di nuove!",
- "prev": "Prev",
- "next": "Next",
+ "prev": "Prec",
+ "next": "Succ",
"randomize": "Casuale",
"mattBoch": "Matt Boch",
"mattShall": "Devo portarti il tuo destriero, <%= name %>? Una volta che avrai dato abbastanza cibo al tuo animale da trasformarlo in una cavalcatura, apparirà qui. Fai click su una cavalcatura per montare in sella!",
@@ -47,8 +47,8 @@
"sortByNumber": "Numero",
"featuredItems": "Oggetti in vetrina!",
"hideLocked": "Nascondi bloccati",
- "hidePinned": "Nascondi Preferiti",
- "hideMissing": "Hide Missing",
+ "hidePinned": "Nascondi oggetti nella Lista dei Desideri",
+ "hideMissing": "Nascondi Mancanti",
"amountExperience": "<%= amount %> Esperienza",
"amountGold": "<%= amount %> Oro",
"namedHatchingPotion": "Pozione di schiusura <%= type %>",
@@ -67,8 +67,8 @@
"wishlist": "Lista dei desideri",
"wrongItemType": "Il tipo di oggetto \"<%= type %>\" non è valido.",
"wrongItemPath": "Il percorso (path) oggetto \"<%= path %>\" non è valido.",
- "unpinnedItem": "You unpinned <%= item %>! It will no longer display in your Rewards column.",
- "cannotUnpinArmoirPotion": "The Health Potion and Enchanted Armoire cannot be unpinned.",
+ "unpinnedItem": "Hai rimosso <%= item %> dalla Lista dei Desideri. Non apparirà più nella colonna delle ricompense.",
+ "cannotUnpinArmoirPotion": "La Pozione di Cura e lo Scrigno Incantato non possono essere rimossi dalla Lista dei Desideri.",
"purchasedItem": "Hai comprato <%= itemName %>",
"ian": "Ian",
"ianText": "Benvenuto nel Negozio delle Missioni! Qui puoi utilizzare le Pergamene delle missioni per combattere i mostri con i tuoi amici. Assicurati di controllare la nostra raffinata scelta di Pergamene delle missioni per l'acquisto a destra!",
@@ -81,7 +81,7 @@
"positiveAmountRequired": "È richiesto un ammontare positivo",
"notAccteptedType": "Il tipo deve essere uno di questi: [eggs, hatchingPotions, premiumHatchingPotions, food, quests, gear]",
"contentKeyNotFound": "Non trovata la chiave per il Contenuto <%= type %>",
- "plusGem": "+<%= count %> Gem",
+ "plusGem": "+<%= count %>Gemma",
"typeNotSellable": "L'oggetto non è in vendita. deve essere uno dei seguenti <%= acceptedTypes %>",
"userItemsKeyNotFound": "Non trovata la chiave per user.items <%= type %>",
"userItemsNotEnough": "Non hai abbastanza <%= type %>",
diff --git a/website/common/locales/it/pets.json b/website/common/locales/it/pets.json
index 46f50bbb61..8228efa7f6 100644
--- a/website/common/locales/it/pets.json
+++ b/website/common/locales/it/pets.json
@@ -139,7 +139,7 @@
"clickOnEggToHatch": "Clicca su un Uovo per usare la tua Pozione <%= potionName %> e far nascere un nuovo animale!",
"hatchDialogText": "Versa la tua Pozione <%= potionName %> sul tuo uovo di <%= eggName %>, e nascerà <%= petName %>.",
"clickOnPotionToHatch": "Clicca su una pozione per usarla sul tuo <%= eggName %> e far nascere un nuovo animale!",
- "notEnoughPets": "You have not collected enough pets",
- "notEnoughMounts": "You have not collected enough mounts",
- "notEnoughPetsMounts": "You have not collected enough pets and mounts"
+ "notEnoughPets": "Non hai collezionato abbastanza animali",
+ "notEnoughMounts": "Non hai collezionato abbastanza cavalcature",
+ "notEnoughPetsMounts": "Non hai collezionato abbastanza animali e cavalcature"
}
\ No newline at end of file
diff --git a/website/common/locales/it/quests.json b/website/common/locales/it/quests.json
index 3e35925915..4e4006c9f3 100644
--- a/website/common/locales/it/quests.json
+++ b/website/common/locales/it/quests.json
@@ -98,7 +98,7 @@
"guildQuestsNotSupported": "Le Gilde non possono essere invitate a partecipare ad una missione.",
"questNotOwned": "Non possiedi questa pergamena.",
"questNotGoldPurchasable": "La Missione \"<%= key %>\" non può essere comprata con Oro.",
- "questNotGemPurchasable": "Quest \"<%= key %>\" is not a Gem-purchasable quest.",
+ "questNotGemPurchasable": "La missione \"<%= key %>\" non è acquistabile con delle gemme.",
"questLevelTooHigh": "Devi essere almeno al livello <%= level %> per iniziare questa missione.",
"questAlreadyUnderway": "La tua squadra è già in missione. Riprova quando la missione corrente è terminata.",
"questAlreadyAccepted": "Hai già accettato l'invito alla missione.",
@@ -122,7 +122,7 @@
"buyQuestBundle": "Compra pacchetto missioni",
"noQuestToStart": "Non sai con quale missione cominciare? Fai un salto al Negozio Missioni nel Mercato per le nuove uscite!",
"pendingDamage": "<%= damage %> danno in sospeso",
- "pendingDamageLabel": "pending damage",
+ "pendingDamageLabel": "danno accumulato",
"bossHealth": "Salute <%= currentHealth %> / <%= maxHealth %>",
"rageAttack": "Attacco Furia:",
"bossRage": "Furia <%= currentRage %> / <%= maxRage %>",
diff --git a/website/common/locales/it/questscontent.json b/website/common/locales/it/questscontent.json
index 19dd760f30..d7fa200883 100644
--- a/website/common/locales/it/questscontent.json
+++ b/website/common/locales/it/questscontent.json
@@ -17,13 +17,13 @@
"questGryphonDropGryphonEgg": "Grifone (uovo)",
"questGryphonUnlockText": "Sblocca l'acquisto delle uova di Grifone nel Mercato",
"questHedgehogText": "La Bestia Spinosa",
- "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": "I ricci sono delle creature davvero simpatiche, oltre ad essere alcuni degli animali più affettuosi che un Habiticante possa avere al proprio fianco. Ma corre voce che, se gli viene dato del latte dopo la mezzanotte, crescono diventando molto irritabili. E cinquanta volte più grandi del normale. E InspectorCaracal ha fatto proprio questo. Oops.",
"questHedgehogCompletion": "Il tuo gruppo ha calmato con successo il riccio! Dopo essere tornato alle proprie dimensioni normali, zoppica verso le sue uova. Ritorna spingendo alcune di esse verso il tuo gruppo. Speriamo che questi ricci ora apprezzino di più il latte!",
"questHedgehogBoss": "Bestia Spinosa",
"questHedgehogDropHedgehogEgg": "Riccio (uovo)",
"questHedgehogUnlockText": "Sblocca l'acquisto delle uova di Riccio nel Mercato",
"questGhostStagText": "Lo Spirito della 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": "Ahh, la primavera. Quel periodo dell'anno in cui il panorama ricomincia a riempirsi di colori. Il freddo e le cime innevate sono andate, come l'inverno. Dove prima regnava il gelo, ora torna a prevalere la briosa vita delle piante. Verdi foglie riempiono le chiome gli alberi, l'erba si tinge del suo colore migliore, un arcobaleno di fiori spunta in ogni luogo, e una bianca e mistica nebbia ricopre le pianure! ... Un momento. Nebbia mistica? \"Oh no\", esclama InspectorCaracal con apprensione, \"Pare che un qualche spirito sia la causa di questa nebbia. Oh, e sta correndo con rabbia verso di te.\"",
"questGhostStagCompletion": "Lo spirito, apparentemente illeso, avvicina il proprio muso al terreno. Una voce pacifica avvolge la tua squadra. \"Chiedo perdono per il mio comportamento. Mi sono appena svegliato dal mio lungo sonno e pare che il mio buon senso non si sia completamente ripreso. Prendete queste come segno di scusa\". Delle uova si materializzano sull'erba accanto allo spirito. Senza dire una parola, lo spirito scappa nella foresta, risvegliando tutti i fiori al suo passaggio.",
"questGhostStagBoss": "Cervo Fantasma",
"questGhostStagDropDeerEgg": "Cervo (uovo)",
@@ -65,9 +65,9 @@
"questVice1Completion": "L'influenza di Vice su di te è dissipata, e senti il sorgere di una forza che non sapevi d'avere ritornare a te. Congratulazioni! Ma un nemico più spaventoso ti attende...",
"questVice1DropVice2Quest": "Vyce, Parte 2 (Pergamena)",
"questVice2Text": "Vyce, Parte 2: Trova la Tana della Viverna",
- "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": "Fiduciosa in se stessa e nella sua abilità di resistere all'influenza di Vyce l'ombra della Viverna, la tua squadra si fa strada sul Monte Habitica. Vi avvicinate all'entrata della caverna del Monte e fate una pausa. Onde d'ombra, quasi come nebbia, fuoriescono dall'entrata. È quasi impossibile vedere qualcosa davanti a voi. La luce delle vostre lanterne terminano improvvisamente dove inizia l'oscurità. Si dice che solo la luce magica può penetrare la nebbia infernale del drago. Se riuscirete a trovare abbastanza cristalli di luce, potrete farvi strada verso il drago.",
"questVice2CollectLightCrystal": "Cristalli di Luce",
- "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": "Non appena sollevi il cristallo finale in alto, l'ombra si disperde, e la strada davanti a voi è libera. Con il cuore a mille, fai un passo avanti nella caverna.",
"questVice2DropVice3Quest": "Vyce, Parte 3 (Pergamena)",
"questVice3Text": "Vyce, Parte 3: Il Risveglio di Vyce",
"questVice3Notes": "Dopo innumerevoli sforzi, il tuo gruppo ha scoperto la tana di Vyce. Il gigantesco mostro guarda la tua squadra con disgusto. Mentre un'ombra turbina intorno a te, una voce sussurra nella tua testa: \"Altri sciocchi cittadini di Habitica venuti a fermarmi? Che carini. Sarebbe stato più saggio non venire.\" Lo squamoso titano alza di nuovo la testa e si prepara ad attaccare. Questa è la tua occasione! Dai il meglio di te e sconfiggi Vyce volta per tutte!",
@@ -80,15 +80,15 @@
"questMoonstone1Text": "Recidiva, parte 1: La Catena delle Pietre Lunari",
"questMoonstone1Notes": "Una terribile calamità ha colpito gli abitanti di Habitica. Le Cattive Abitudini, ritenute morte da molto tempo, stanno ritornando e meditano vendetta. I piatti restano sporchi, i libri di testo rimangono non letti e la procrastinazione dilaga!
Seguendo le tracce di alcune tue Cattive Abitudini riapparse, scopri il colpevole nelle Paludi del Ristagno: il Negromante Spettrale, Recidivante. Corri verso di lui brandendo le tue armi, che però passano inutilmente attraverso il suo corpo spettrale.
\"Non affannarti\", sibila seccamente con voce rauca. \"Senza una catena di Pietre Lunari, niente può farmi del male - e il maestro gioielliere @aurakami ha disperso ogni Pietra Lunare in tutta Habitica molto tempo fa!\" Ansimando, ti ritiri... ma sai che cosa devi fare.",
"questMoonstone1CollectMoonstone": "Pietre Lunari",
- "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": "Alla fine, riesci a togliere l'ultima Pietra lunare dal fango paludoso. È ora di fabbricare con la tua raccolta un'arma che potrà finalmente sconfiggere Recidivante!",
"questMoonstone1DropMoonstone2Quest": "Recidivante, parte 2: Recidivante, il Negromante (Pergamena)",
"questMoonstone2Text": "Recidivante, parte 2: Recidivante, il Negromante",
- "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": "Il coraggioso armaiolo @InspectorCaracal ti aiuta a unire le Pietre Lunari incantate in una catena. Sei finalmente pronto ad affrontare Recidivante, ma non appena entri nelle Paludi del Ristagno, vieni avvolto da un terribile gelo.
Un soffio marcio ti sussurra all'orecchio. \"Di nuovo qui? Che piacere...\". Ti giri, affondi un colpo e, sotto la luce della catena di Pietre Lunari, la tua arma colpisce carne solida. \"Puoi avermi confinato nel mondo ancora una volta\", ringhia Recidivante, \"ma per te ora è il momento di lasciarlo!\"",
"questMoonstone2Boss": "La Negromante",
- "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": "Recidivante barcolla all'indietro al tuo ultimo colpo e per un momento, il tuo cuore si illumina – ma poi lei butta indietro la testa e lascia uscire un'orribile risata. Cosa sta succedendo?",
"questMoonstone2DropMoonstone3Quest": "Recidivante, parte 3: Recidivante Trasformato (Pergamena)",
"questMoonstone3Text": "Recidivante, parte 3: Recidivante Trasformato",
- "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": "Ridendo perfidamente, Recidivante si accascia a terra, e tu la colpisci con la catena di Pietre Lunari. Con tuo orrore, Recidivante afferra le gemme, i suoi occhi fiammeggianti per il trionfo.
\"Sciocca creatura di carne!\" urla. \"Queste Pietre Lunari mi riportano ad una forma fisica, è vero, ma non nel modo in cui immagini. Come la luna piena cresce dalle tenebre, così anche il mio potere rifiorisce, e dalle ombre io evoco lo spettro del tuo nemico più temuto!\"
Una nebbia verde nauseabonda si alza dalla palude, e il corpo di Recidivante si dibatte e si contorce fino ad assumere una forma che vi riempie di terrore - il corpo non morto di Vyce, orribilmente rinato.",
"questMoonstone3Completion": "Il tuo respiro diventa pesante e il sudore ti punge gli occhi mentre la Viverna non-morta cade. I resti di Recidivante si dissolvono in una sottile nebbia grigia che svanisce rapidamente sotto l'assalto di una brezza rinfrescante. A questa scena fanno da sottofondo le lontane, esultanti grida degli abitanti di Habitica che sconfiggono le loro cattive Abitudini una volta per tutte.
@Baconsaur, il Re delle Bestie, arriva cavalcando un grifone. \"Ho visto la fine della tua battaglia dal cielo, e mi ha molto commosso. Per favore, prendi questa tunica incantata - il tuo coraggio parla di un cuore nobile, e credo che tu debba averla.\"",
"questMoonstone3Boss": "Necro-Vyce",
"questMoonstone3DropRottenMeat": "Carne ammuffita (cibo)",
@@ -97,12 +97,12 @@
"questGoldenknight1Text": "La Cavaliera Dorata, Parte 1: Una Severa Ramanzina",
"questGoldenknight1Notes": "La Cavaliera Dorata si sta intromettendo nelle questioni dei poveri abitanti di Habitica. Non avete terminato tutte le vostre Daily? Registrato un'abitudine negativa? Lei userà questo come motivazione per redarguirvi su come dovreste seguire il suo esempio. Lei è il fulgido esempio di una perfetta cittadina di Habitica, mentre voi non siete altro che un fallimento. Beh, questo non è affatto carino! A tutti capita di sbagliare, nessuno dovrebbe andare incontro a tanta negatività per questo. Forse è giunto il momento di raccogliere alcune testimonianze dagli abitanti e dare alla Cavaliera Dorata una risposta a tono!",
"questGoldenknight1CollectTestimony": "Testimonianze",
- "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": "Guarda tutte queste testimonianze! Sicuramente saranno abbastanza per persuadere la Cavaliera Dorata. Ora tutto ciò che serve è trovarla.",
"questGoldenknight1DropGoldenknight2Quest": "La Cavaliera Dorata, Parte 2: Cavaliera d'Oro (Pergamena)",
"questGoldenknight2Text": "La Cavaliera Dorata, Parte 2: Cavaliera d'Oro",
"questGoldenknight2Notes": "Armato di dozzine di testimonianze degli abitanti di Habitica, finalmente affronti la Cavaliera Dorata. Inizi a recitarle le lamentele dei cittadini, una per una. \"E @Pfeffernusse dice che le vostre costanti vanterie...\". La Cavaliera alza la mano per metterti a tacere e ti sbeffeggia, \"Ma per favore, questa gente è solo gelosa del mio successo. Invece di lamentarsi, dovrebbero semplicemente lavorare sodo come me! Forse dovrei mostrarti la forza che si può ottenere grazie ad una diligenza come la mia!\". La Cavaliera impugna la sua mazza chiodata e si prepara ad attaccarti!",
"questGoldenknight2Boss": "Cavaliera d'Oro",
- "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": "La Cavaliera Dorata, costernata, abbassa la sua Stella del Mattino. \"Mi scuso per il mio sfogo impulsivo,\" dice \" La verità è che è doloroso pensare che ho inavvertitamente ferito gli altri e questo mi ha fatto mettere sulla difensiva... ma forse posso ancora scusarmi?\"",
"questGoldenknight2DropGoldenknight3Quest": "La Cavaliera Dorata, Parte 3: Il Cavaliere di Ferro (Pergamena)",
"questGoldenknight3Text": "La Cavaliera Dorata, Parte 3: Il Cavaliere di Ferro",
"questGoldenknight3Notes": "@Jon Arinbjorn grida disperatamente per ottenere la tua attenzione. Subito dopo la battaglia, è apparsa una nuova figura. Un cavaliere rivestito di ferro nero come la pece si avvicina lentamente a te, con la spada in mano. La Cavaliera Dorata grida alla figura, \"Padre, no!\" ma il cavaliere non mostra segni di arresto. Si gira verso di te e dice: \"Mi dispiace. Sono stata una sciocca, mi sono montata la testa e non mi sono resa conto di quanto sia stata crudele. Ma mio padre è più spietato di quanto io sia mai stata. Se non verrà fermato ci distruggerà tutti! Tieni, usa la mia mazza chiodata e ferma il Cavaliere di Ferro!\"",
@@ -113,7 +113,7 @@
"questGoldenknight3DropWeapon": "Massiccio Martello Miliare di Mustaine (arma per mano sinistra)",
"questGroupEarnable": "Sfide Acquistabili",
"questBasilistText": "Il Basi-list",
- "questBasilistNotes": "C'é subbuglio al mercato! Uno di quelli dai quali bisognerebbe stare alla larga. Ma tu sei un coraggioso avventuriero, quindi ti ci butti a capofitto trovandoci un Basi-list, che si sta generando da un grumo di To-Do ancora incompleti! Gli abitanti vicini sono paralizzati dal terrore alla vista della lunghezza del mostro, incapaci di agire. Da qualche parte ti giunge la voce di @Arcosine che urla: \"Presto! Copleta le tue Daily e To-Do per privare il mostro delle zanne, prima che qualcuno si tagli con la carta!\" Colpisci in fretta, avventuriero, e spunta quelle caselle; ma attento! Se lasci anche solo una Daily non fatta, il Basi-list attaccherà te e il tuo gruppo!",
+ "questBasilistNotes": "C'é subbuglio al mercato! Uno di quelli dai quali bisognerebbe stare alla larga. Ma tu sei un coraggioso avventuriero, quindi ti ci butti a capofitto trovandoci un Basi-list, che si sta generando da un grumo di To-Do ancora incompleti! Gli abitanti vicini sono paralizzati dal terrore alla vista della lunghezza del mostro, incapaci di agire. Da qualche parte ti giunge la voce di @Arcosine che urla: \"Presto! Completa le tue Daily e To-Do per privare il mostro delle sue zanne, prima che qualcuno si tagli con la carta!\" Colpisci in fretta, avventuriero, e spunta quelle caselle; ma attento! Se lasci anche solo una Daily non fatta, il Basi-list attaccherà te e il tuo gruppo!",
"questBasilistCompletion": "Il Basi-list si disperde in frammenti di carta, che hanno un leggero bagliore arcobaleno. \"Whew!\" dice @Arcosine. \"Che fortuna che voi ragazzi siate qui!\" Sentendovi più esperti di prima, raccogliete dell'oro tra i frammenti.",
"questBasilistBoss": "Il Basi-list",
"questEggHuntText": "Caccia all'Uovo",
@@ -143,14 +143,14 @@
"questAtom1Notes": "Hai raggiunto le rive del Lago Lavapiatti per un po' di relax... Ma il lago è infestato da piatti da lavare! Come sarà successo? Beh, non puoi permettere che il lago rimanga in questo stato. C'è soltanto una cosa da fare: lavare i piatti e salvare il vostro luogo di villeggiatura! Sarà meglio trovare un po' di sapone per pulire questa porcheria. Molto sapone...",
"questAtom1CollectSoapBars": "Barrette di Sapone",
"questAtom1Drop": "Il Mostro di SnackLess (Pergamena)",
- "questAtom1Completion": "After some thorough scrubbing, all the dishes are stacked safely on the shore! You stand back and proudly survey your hard work.",
+ "questAtom1Completion": "Dopo alcuni lavaggi completi, tutti i piatti sono al sicuro impilati sulla riva! Ti tiri all'indietro mentre osservi il tuo duro lavoro.",
"questAtom2Text": "Attacco del Mondano, Parte 2: Il Mostro Senza-Snack",
"questAtom2Notes": "Phew, questo posto sembra molto più bello con tutti questi piatti puliti. Forse, adesso potrai finalmente rilassarti un po'. Oh - sembrerebbe un cartone della pizza quello che sta galleggiando nel lago. Beh, cosa sarà mai un'altra cosa da pulire in fondo? Ma, dannazione, non è un semplice cartone di pizza! Con uno scatto improvviso la scatola si solleva dall'acqua per rivelare la sua vera natura: è la testa di un mostro. Non può essere! Il leggendario Mostro Senza-Snack? Si dice che abbia vissuto nascosto sin dalla preistoria: una creatura generata dagli avanzi di cibo e dall'immondizia degli antichi abitanti di Habitica. Bleah!",
"questAtom2Boss": "Il Mostro di SnackLess",
"questAtom2Drop": "Il Bucatomante (Pergamena)",
- "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": "Con un urlo assordante e cinque deliziosi tipi di formaggio che sbucano dalla sua bocca, il Mostro di SnackLess cade a pezzi. Ben fatto, avventuriero coraggioso! Ma aspetta... c'è qualcos'altro di strano con il lago?",
"questAtom3Text": "Attacco del Mondano, Parte 3: Il Bucatomante",
- "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": "Proprio quando pensavi che i tuoi problemi fossero finiti, il lago Washed-Up inizia ad agitarsi violentemente. \"COME OSI!\" scoppia una voce sotto la superficie dell'acqua. Una figura vestita di blu emerge dall'acqua, brandendo uno spazzolone. Del bucato sporco inizia a galleggiare sulla superficie del lago. \"Io sono il Bucatomante!\" dice arrabbiato. \"Hai un bel coraggio - lavare i miei piatti deliziosamente sporchi, distruggere il mio animale domestico ed entrare nella mia proprietà con dei vestiti così puliti. Preparati a sentire la fradicia furia della mia magia anti-bucato!\"",
"questAtom3Completion": "Il pazzo Bucatomante è stato sconfitto! Bucato pulito si deposita a pile intorno a te. Le cose sembrano andare molto bene da queste parti. Mentre inizi a farti strada tra le armature stirate da poco, un bagliore di metallo attrae la tua attenzione, ed il tuo sguardo si posa su un elmo luccicante. Non sai chi possa aver indossato prima questo oggetto luminoso, ma mentre lo indossi, senti la calda presenza di uno spirito generoso. Un peccato che non ci abbiano cucito sopra un'etichetta col nome.",
"questAtom3Boss": "Il Bucatomante",
"questAtom3DropPotion": "Pozione Base",
@@ -295,7 +295,7 @@
"questUnicornDropUnicornEgg": "Unicorno (uovo)",
"questUnicornUnlockText": "Sblocca l'acquisto delle uova di Unicorno nel Mercato",
"questSabretoothText": "Il Gatto Sciabola",
- "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": "Un ruggente mostro sta terrorizzando Habitica! La creatura vaga per i boschi, quindi compare all'improvviso per attaccare prima di scomparire ancora. Sta cacciando innocenti panda e spaventando maiali volanti a tal punto da farli scappare dai loro recinti per posarsi sugli alberi. @InspectorCaracal e @icefelis spiegano che il Gatto sciabola Zombi fu messo in libertà mentre stavano scavando negli antichi e inviolati campi di ghiaccio delle Steppe di Stoïkalm. \"All'inizio era perfettamente amichevole - Non so cosa sia successo. Per favore, devi aiutarci a catturarlo nuovamente! Solo un campione di Habitica può domare questa bestia preistorica!\"",
"questSabretoothCompletion": "Dopo una battaglia lunga e faticosa, bloccate il Gatto Sciabola Zombie a terra. Appena riuscite finalmente ad avvicinarvi, notate una brutta cavità in uno dei suoi denti a sciabola. Comprendendo la vera causa del furore del gatto, riuscite a far otturare la cavità da @Fandekasp, e consigliate a tutti di evitare di alimentare il loro amico con dolci in futuro. Il Gatto Sciabola rifiorisce, e in segno di gratitudine, i suoi domatori ti inviano una generosa ricompensa - una manciata di uova di Dente a Sciabola",
"questSabretoothBoss": "Gatto Sciabola Zombie",
"questSabretoothDropSabretoothEgg": "Dente a sciabola (Uovo)",
@@ -399,7 +399,7 @@
"questFerretDropFerretEgg": "Furetto (uovo)",
"questFerretUnlockText": "Sblocca l'acquisto delle uova di Furetto nel Mercato",
"questDustBunniesText": "I Ferali Conigli della Polvere",
- "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": "È passato molto tempo dall'ultima volta che hai spolverato qui, ma la cosa non ti preoccupa troppo - un po' di polvere non ha mai fatto male a nessuno, no? Non appena appoggi la tua mano vicino a uno degli angoli più impolverati e senti qualcosa mordere ricordi l'avvertimento di @InspectorCaracal: lasciare in giro cumuli di innocua polvere per troppo tempo li fa trasformare in feroci conigli polverosi! È meglio che tu li sconfigga prima che ricoprano tutta Habitica di piccole sporche particelle!",
"questDustBunniesCompletion": "I conigli della polvere scompaiono in una nuvola di... beh, polvere. Man mano che si dirada, ti guardi intorno. Avevi dimenticato quanto è bello questo posto quando è pulito. Noti un piccolo cumulo d'oro dove prima c'era la polvere. Ti starai chiedendo come è arrivato lì!",
"questDustBunniesBoss": "Ferali Conigli della Polvere",
"questGroupMoon": "Battaglia Lunare",
@@ -473,7 +473,7 @@
"questButterflyUnlockText": "Sblocca l'acquisto delle uova di bruco nel Mercato",
"questGroupMayhemMistiflying": "Caos a Fantalata",
"questMayhemMistiflying1Text": "Caos a Fantalata, Parte 1: Fantalata fa esperienza di un tremendo fastidio",
- "questMayhemMistiflying1Notes": "Sebbene indovini locali abbiano predetto un tempo piacevole, il pomeriggio è estremamente ventilato, e quindi segui con gratitudine il tuo amico @Kiwibot nella sua casa per sfuggire alla giornata burrascosa.
Nessuno di voi due si aspetta di trovare il Giullare di Aprile che poltrisce al tavolo della cucina.
\"Oh, ciao\", dice. \" Bello vedervi qui. Per favore, lasciatemi offrirvi un po' di questo delizioso tè.\"
\"Ma quello...\"@Kiwibot esordisce. \"Quello è il MIO-\"
\"Si, si, certo,\" dice il Giullare di Aprile, prendendosi un po' di biscotti. \"Ho solo pensato di entrare dentro per avere un attimo di tregua da tutti quei teschi che richiamano il tornado.\" dice sorseggiando con tranquillità dalla sua tazza di tè. \"E comunque, la città di Fantalata è sotto attacco.\"
Sconvolti, tu e i tuoi amici correte alle Stalle e sellate le vostre cavalcature alate più veloci. Mentre vi levate in volto verso la città fluttuante, vedete uno storno di cinguettanti e volanti teschi che stanno assediando la città...e numerosi di questi volgono la loro attenzione verso di voi!",
+ "questMayhemMistiflying1Notes": "Sebbene indovini locali abbiano predetto un tempo piacevole, il pomeriggio è estremamente ventilato, e quindi segui con gratitudine il tuo amico @Kiwibot nella sua casa per sfuggire alla giornata burrascosa.
Nessuno di voi due si aspetta di trovare il Giullare di Aprile che poltrisce al tavolo della cucina.
\"Oh, ciao\", dice. \" Bello vedervi qui. Per favore, lasciatemi offrirvi un po' di questo delizioso tè.\"
\"Ma quello...\"@Kiwibot esordisce. \"Quello è il MIO-\"
\"Si, si, certo,\" dice il Giullare di Aprile, prendendosi un po' di biscotti. \"Ho solo pensato di entrare dentro per avere un attimo di tregua da tutti quei teschi che richiamano il tornado.\" dice sorseggiando con tranquillità dalla sua tazza di tè. \"E comunque, la città di Fantalata è sotto attacco.\"
Sconvolti, tu e i tuoi amici correte alle Stalle e sellate le vostre cavalcature alate più veloci. Mentre vi levate in volo verso la città fluttuante, vedete uno storno di cinguettanti e volanti teschi che stanno assediando la città...e numerosi di questi volgono la loro attenzione verso di voi!",
"questMayhemMistiflying1Completion": "L'ultimo teschio cade dal cielo, con un luccicante completo di vesti arcobaleno incastrato tra i suoi denti, ma il forte vento non si è quietato. C'è qualcos'altro che non va. E dove è quel Giullare di Aprile indolente? Tiri su le vesti, e quindi ti dirigi in picchiata dentro la città.",
"questMayhemMistiflying1Boss": "Sciame di Teschi di Aria",
"questMayhemMistiflying1RageTitle": "Rinascita dello Sciame",
@@ -490,9 +490,9 @@
"questMayhemMistiflying2CollectGreenMistiflies": "Mosche Fatate Verdi",
"questMayhemMistiflying2DropHeadgear": "Cappello del Messaggero Malandrino Arcobaleno (Equipaggiamento per la testa)",
"questMayhemMistiflying3Text": "Caos a Fantalata, Parte 3: un postino è estremamente rude",
- "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.”",
- "questMayhemMistiflying3Boss": "The Wind-Worker",
+ "questMayhemMistiflying3Notes": "Le Mosche Fatate girano intensamente attraverso il tornado che quasi non si vedono. Strizzando gli occhi, noti molte sagome alate volare al centro della terribile tempesta.
\"Oh cielo,\" sospira il Giullare di Aprile, quasi soffocato dall'ululato del tempo. \"Sembra che Winny sia andato ed è stato posseduto. Questo è un bel problema. Poteva succedere a chiunque.\"
\"Il Lavoratore del Vento!\" Ti urla @Beffymaroo. \"È il mago-messaggero più talentuoso di Fantalata da quando è così abile con la magia meteo. Normalmente è un postino molto educato!\"
Come se per contrastare questa affermazione, Il Lavoratore del Vento emette un urlo furioso e anche con le tue vesti magiche, la tempesta quasi ti strappa dalla tua cavalcatura.
\"Quella sgargiante maschera è nuova,\" commenta il Giullare di Aprile. \"Forse dovresti togliergliela?\"
È una buona idea... ma il mago inferocito non ha intenzione di arrendersi senza un combattimento.",
+ "questMayhemMistiflying3Completion": "Proprio quando pensavi di non poter più resistere al vento, riesci a strappare la maschera dalla faccia del Lavoratore del Vento. Istantaneamente, il tornado viene risucchiato via lasciando solamente fragranti brezze e la luce del sole. Il Lavoratore del Vento si guarda intorno disorientato. \"Dov'è andata?\"
\"Chi?\" chiede il tuo amico @khdarkwolf.
\"Quella dolce donna che si è offerta di consegnare il pacco per me. Tzina.\" Mentre riconosce la città fluttuante, la sua espressione si inscurisce. \"Poi di nuovo, forse non era così dolce...\"
Lo Sciocco di Aprile gli da delle pacche sulla schiena, poi vi consegna due buste scintillanti. \"Qui. Perchè non lasci questo angosciato compagno riposare e prendiamo il controllo della posta per un po? Sento la magia in quelle buste, ne varrà la pena.\"",
+ "questMayhemMistiflying3Boss": "Il Lavoratore del Vento",
"questMayhemMistiflying3DropPinkCottonCandy": "Zucchero Filato Rosa (cibo)",
"questMayhemMistiflying3DropShield": "Roguish Rainbow Message (Off-Hand Item)",
"questMayhemMistiflying3DropWeapon": "Roguish Rainbow Message (Main-Hand Item)",
@@ -507,8 +507,8 @@
"splashyPalsText": "Pacchetto missioni Amici Sguazzanti",
"splashyPalsNotes": "Contiene \"Il Derby Dilatorio\", \"Guida la tartaruga\" e \"Il Lamento della Balena\". Disponibile fino al 31 luglio.",
"questHippoText": "Ma che Ippo-Crita",
- "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.",
+ "questHippoNotes": "Tu e @awesomekitty collassate nell'ombra di un albero di palma esausti. Il sole batte forte sulla Savana Sloensteadi, scottando il suolo sottostante. È stata una giornata produttiva finora, conquistando Daily e quest'oasi sembra un bel posto per prendersi una pausa e rinfrescarsi. Chinandoti vicino all'acqua per bere, inciampi indietro sotto shock mentre un gigante ippopotamo si alza. \"Ti riposi così presto? Non essere pigro, torna al lavoro.\" Cerchi di protestare che hai lavorato duro e hai bisogno di una pausa ma l'ippopotamo non se ne interessa.
@khdarkwolf ti sussurra, \"Notato come si sta rilassando tutto il giorno ma ha il coraggio di chiamarti pigro? È un Ippo-Crita!\"
Il tuo amico @jumorales annuisce. \"Facciamogli vedere cos'è il duro lavoro!\"",
+ "questHippoCompletion": "L'ippopotamo si inginocchia arreso. \"Vi ho sottovalutati. Sembra che non eravate pigri. Scusatemi. A dire il vero, stavo esagerando un po. Forse dovrei lavorare un po da solo. Ecco qui, prendete queste uova come segno della mia gratitudine.\" Afferrandole, ti siedi vicino all'acqua pronto finalmente a rilassarti.",
"questHippoBoss": "L'Ippo-Crita",
"questHippoDropHippoEgg": "Ippopotamo (Uovo)",
"questHippoUnlockText": "Sblocca le uova di Ippopotamo acquistabili nel Mercato",
@@ -521,9 +521,9 @@
"questLostMasterclasser1Text": "The Mystery of the Masterclassers, Part 1: Read Between the Lines",
"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.”",
- "questLostMasterclasser1CollectAncientTomes": "Ancient Tomes",
- "questLostMasterclasser1CollectForbiddenTomes": "Forbidden Tomes",
- "questLostMasterclasser1CollectHiddenTomes": "Hidden Tomes",
+ "questLostMasterclasser1CollectAncientTomes": "Tomi Antichi",
+ "questLostMasterclasser1CollectForbiddenTomes": "Tomi Proibiti",
+ "questLostMasterclasser1CollectHiddenTomes": "Tomi Nascosti",
"questLostMasterclasser2Text": "The Mystery of the Masterclassers, Part 2: Assembling the 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.”",
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/it/settings.json b/website/common/locales/it/settings.json
index 82c77628f9..81f4b4252a 100644
--- a/website/common/locales/it/settings.json
+++ b/website/common/locales/it/settings.json
@@ -54,13 +54,13 @@
"misc": "Altro",
"showHeader": "Mostra header",
"changePass": "Cambia password",
- "changeUsername": "Modifica il nome di login",
+ "changeUsername": "Cambia Username",
"changeEmail": "Cambia indirizzo email",
"newEmail": "Nuovo indirizzo email",
"oldPass": "Vecchia password",
"newPass": "Nuova password",
"confirmPass": "Conferma la nuova password",
- "newUsername": "Nuovo nome utente",
+ "newUsername": "Nuovo Username",
"dangerZone": "Zona pericolosa",
"resetText1": "ATTENZIONE! Questo resetterà diversi aspetti del tuo account. È altamente sconsigliato, ma qualcuno trova questa opzione utile all'inizio, dopo aver provato il sito per un po' di tempo.",
"resetText2": "Perderai tutti i tuoi livelli, l'oro e i punti esperienza. Tutte le tue attività (eccetto quelle delle sfide) verranno cancellate in modo permanente e perderai la cronologia dei loro progressi. Perderai inoltre tutto il tuo equipaggiamento, ma potrai ricomprare ogni cosa, compresi gli oggetti in edizione limitata e gli Oggetti Misteriosi che già possiedi (alcuni oggetti potrebbero richiedere l'appartenenza ad una determinata classe per essere acquistati). Manterrai la tua classe, i tuoi animali e le cavalcature. Potresti forse preferire la Sfera della Rinascita, un'alternativa molto più sicura che ti permette di mantenere le tue attività e il tuo equipaggiamento.",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "Il codice di reimpostazione password fornito non è valido oppure è scaduto.",
"passwordChangeSuccess": "La tua password è stata cambiata con quella che hai appena scelto. Ora puoi usarla per accedere al tuo account.",
"passwordSuccess": "Password modificata con successo",
- "usernameSuccess": "Nome utente modificato con successo",
+ "usernameSuccess": "Username cambiato con successo",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "Email cambiata con successo",
"detachSocial": "Scollega <%= network %>",
"detachedSocial": "<%= network %> è stato scollegato dal tuo account con successo",
"addedLocalAuth": "Autenticazione locale aggiunta con successo",
"data": "Dati utente",
"exportData": "Esporta dati",
- "usernameOrEmail": "Nome di login o email",
+ "usernameOrEmail": "Username o Email",
"email": "Email",
"registerWithSocial": "Registrati con <%= network %>",
"registeredWithSocial": "Registrato con <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Mostra il bottone di invito alla squadra quando la squadra ha solo 1 membro.",
"saveCustomDayStart": "Salva Inizio del Giorno Personalizzato",
"registration": "Registrazione",
- "addLocalAuth": "Aggiungi autenticazione locale:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Genera codici",
"generate": "Genera",
"getCodes": "Ottieni codici",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica usa il fuso orario impostato sul tuo PC, ovvero: <%= utc %>",
"timezoneInfo": "Se il fuso orario è sbagliato, ricarica questa pagina tramite il bottone di ricarica o aggiornamento della pagina del browser, per assicurarti che Habitica contenga le informazioni più aggiornate. Se è ancora sbagliato, imposta il fuso orario corretto sul tuo PC e poi ricarica di nuovo questa pagina.
Se usi Habitica su altri PC o su altri dispositivi mobili, il fuso orario deve essere identico su ognuno di essi. Se le tue Daily sono state reimpostate ad un'ora sbagliata, ripeti questo controllo su tutti gli altri PC e su un browser sui tuoi dispositivi mobili.",
"push": "Push",
- "about": "Info"
+ "about": "Info",
+ "setUsernameNotificationTitle": "Conferma il tuo username!",
+ "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": "Gli username non possono contenere linguaggio inappropriato.",
+ "usernameIssueForbidden": "Gli username non possono contenere parole bandite.",
+ "usernameIssueLength": "Gli username devono avere tra 1 e 20 caratteri.",
+ "usernameIssueInvalidCharacters": "Gli username possono contenere solo lettere da a a z, numeri da 0 a 9, trattini e trattini bassi.",
+ "currentUsername": "Username corrente:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Il tuo username, <%= username %>, è confermato!",
+ "usernameNotVerified": "Per favore, conferma il tuo 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."
}
\ No newline at end of file
diff --git a/website/common/locales/it/subscriber.json b/website/common/locales/it/subscriber.json
index 461c1f44fe..b5563a9123 100644
--- a/website/common/locales/it/subscriber.json
+++ b/website/common/locales/it/subscriber.json
@@ -41,7 +41,7 @@
"cancelSub": "Annulla abbonamento",
"cancelSubInfoGoogle": "Vai nella sezione \"Account\" > \"Abbonamenti\" dell'app Google Play Store per annullare il tuo abbonamento, o per vedere la data di termine del tuo abbonamento se lo hai già annullato. Questa schermata non è in grado di mostrarti se il tuo abbonamento è stato annullato.",
"cancelSubInfoApple": "Per favore segui le istruzioni ufficiali di Appleper cancellare il tuo abbonamento o se lo hai già cancellato per vedere la data in cui il tuo abbonamento termina. Questa schermata non può mostrarti se il tuo abbonamento è stato cancellato.",
- "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.",
+ "cancelSubInfoGroupPlan": "Dato che hai un abbonamento gratuito da un Piano per gruppi, non puoi cancellarlo. Terminerà quando non sarai più nel gruppo. Se sei il leader del gruppo e vuoi cancellare l'intero Piano per gruppi, puoi farlo andando sull'etichetta \"Dettagli di pagamento\" del gruppo.",
"canceledSubscription": "Abbonamento annullato",
"cancelingSubscription": "Annullamento dell'abbonamento",
"adminSub": "Abbonamento per amministratori",
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Set steampunk standard",
"mysterySet301405": "Set accessori steampunk",
"mysterySet301703": "Set Pavone Steampunk",
diff --git a/website/common/locales/it/tasks.json b/website/common/locales/it/tasks.json
index e3e8391be2..09e4a4e45d 100644
--- a/website/common/locales/it/tasks.json
+++ b/website/common/locales/it/tasks.json
@@ -5,7 +5,7 @@
"sureDeleteCompletedTodos": "Vuoi davvero eliminare le tue Cose Da Fare completate?",
"lotOfToDos": "Qui puoi vedere le ultime 30 Cose Da Fare che hai portato a termine. Per vedere le altre Cose Da Fare completate, clicca su \"Dati utente > Visualizzazione dati utente\" oppure \"Dati utente > Esporta dati > Dati utente\".",
"deleteToDosExplanation": "Se clicchi il bottone qua in basso, tutte le tue Cose Da Fare complete o archiviate saranno cancellate permanentemente, eccetto per le Cose Da Fare appartenenti a sfide attive o a piani per gruppi. Se vuoi conservarne una registrazione, devi prima esportarle.",
- "addMultipleTip": "Tip: To add multiple <%= taskType %>, separate each one using a line break (Shift + Enter) and then press \"Enter.\"",
+ "addMultipleTip": "Consiglio: per aggiungere varie <%= taskType %>, scrivi ognuna su una riga diversa andando a capo (Shift + Invio) e poi premi Invio.",
"addsingle": "Aggiungi singola",
"addATask": "Aggiungi una <%= type %>",
"editATask": "Modifica una <%= type %>",
@@ -209,5 +209,5 @@
"repeatDayError": "Assicurati di aver selezionato almeno un giorno della settimana.",
"searchTasks": "Cerca titoli e descrizioni...",
"sessionOutdated": "La tua sessione è obsoleta. Ricarica la pagina o sincronizza.",
- "errorTemporaryItem": "This item is temporary and cannot be pinned."
+ "errorTemporaryItem": "Questo oggetto è temporaneo e non può essere aggiunto alla Lista dei Desideri."
}
\ No newline at end of file
diff --git a/website/common/locales/ja/backgrounds.json b/website/common/locales/ja/backgrounds.json
index 4b156df71d..2a5b57e749 100644
--- a/website/common/locales/ja/backgrounds.json
+++ b/website/common/locales/ja/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "岩石渓谷",
"backgroundFlyingOverRockyCanyonNotes": "岩石渓谷の上空を飛び越えるような息をのむ光景をのぞきこみましょう。",
"backgroundBridgeText": "橋",
- "backgroundBridgeNotes": "素敵な橋を渡りましょう。"
+ "backgroundBridgeNotes": "素敵な橋を渡りましょう。",
+ "backgrounds092018": "セット52: 2018年9月リリース",
+ "backgroundApplePickingText": "リンゴ狩り",
+ "backgroundApplePickingNotes": "リンゴ狩りに行って、お家にたくさん持ち帰りましょう。",
+ "backgroundGiantBookText": "大きな本",
+ "backgroundGiantBookNotes": "大きな本のページを通って、歩きながら読みましょう。",
+ "backgroundCozyBarnText": "居心地のいい納屋",
+ "backgroundCozyBarnNotes": "あなたのペットや乗騎たちと共に、彼らの居心地のいい納屋でくつろぎましょう。",
+ "backgrounds102018": "セット53: 2018年10月リリース",
+ "backgroundBayouText": "バイユー",
+ "backgroundBayouNotes": "霧深いバイユーでホタルの輝きを浴びましょう。",
+ "backgroundCreepyCastleText": "気味の悪い城",
+ "backgroundCreepyCastleNotes": "気味の悪い城にあえて近づいてみましょう。",
+ "backgroundDungeonText": "地下牢",
+ "backgroundDungeonNotes": "不気味な地下牢に囚われた人々を救い出しましょう。"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/character.json b/website/common/locales/ja/character.json
index 679b36daad..c9d8f94d58 100644
--- a/website/common/locales/ja/character.json
+++ b/website/common/locales/ja/character.json
@@ -8,6 +8,8 @@
"other": "その他",
"fullName": "フルネーム",
"displayName": "表示名",
+ "changeDisplayName": "表示名を変更する",
+ "newDisplayName": "新しい表示名",
"displayPhoto": "写真",
"displayBlurb": "自己紹介文",
"displayBlurbPlaceholder": "自己紹介を書いてください。",
@@ -101,7 +103,7 @@
"allocatePerPop": "知覚にポイントを加える",
"allocateInt": "知能のポイント:",
"allocateIntPop": "知能にポイントを加える",
- "noMoreAllocate": "レベル100に到達したので、これ以上能力値は増えません。レベルアップを続けることもできますし、市場で無料で手に入る「転生のオーブ」をつかって、レベル1 から新しい冒険を始めることもできます。",
+ "noMoreAllocate": "レベル100に到達したので、これ以上ステータスポイントは増えません。レベルアップを続けることもできますし、市場で無料で手に入る「転生のオーブ」をつかって、レベル1 から新しい冒険を始めることもできます。",
"stats": "データ",
"achievs": "実績",
"strength": "力",
@@ -128,7 +130,7 @@
"mage": "魔道士",
"wizard": "魔道士",
"mystery": "ミステリー",
- "changeClass": "クラスの変更、能力値ポイントを割り当て前に戻す",
+ "changeClass": "クラスの変更、ステータスポイントを割り当て前に戻す",
"lvl10ChangeClass": "クラスを変えるには、レベル10以上にならないといけません。",
"changeClassConfirmCost": "3ジェムを使用してクラスを変更します。よろしいですか?",
"invalidClass": "クラスは無効です。「warrior」、「rogue」、「wizard」、「healer」のどれかを指定してください。",
@@ -137,10 +139,10 @@
"haveUnallocated": "未振り分けのステータスポイントが<%= points %>あります",
"autoAllocation": "自動割り当て",
"autoAllocationPop": "レベルアップしたときには、好きなステータスにポイントを割り当てましょう",
- "evenAllocation": "ポイントを均等に割りあてる",
+ "evenAllocation": "ステータスポイントを均等に割りあてる",
"evenAllocationPop": "各パラメータに同じ値のポイントを割りあてる",
"classAllocation": "クラスに基づいてポイントを割りあてる",
- "classAllocationPop": "あなたのクラスにとって重要なステータスに多く値を割り振る",
+ "classAllocationPop": "あなたのクラスにとって重要なステータスに多くポイントを割り振る",
"taskAllocation": "タスク活動に基づいてポイントを割りあてる",
"taskAllocationPop": "あなたが達成したタスクの分類にもとづき、力、知能、体質、知覚にポイントを割り当てます。",
"distributePoints": "未割り当てのポイントをふりわける",
@@ -164,7 +166,7 @@
"respawn": "生き返った!",
"youDied": "あなたは死にました!",
"dieText": "レベルが1下がり、すべてのゴールドといくつかの装備品を失ってしまいました。Habitica の民よ、復活せよ! 悪い習慣をひかえ、日課をこなすことに気を配り、つまずいても体力回復の薬を使って、死の手が届かぬよう、もちこたえましょう!",
- "sureReset": "本当によろしいですか? キャラクターのクラスと割り当て済みの能力値ポイントをリセットします(ポイントは全て割り当て前の状態に戻ります)。リセットには3 ジェムが必要です。",
+ "sureReset": "本当によろしいですか? キャラクターのクラスと割り当て済みのステータスポイントをリセットします(ポイントは全て割り当て前の状態に戻ります)。リセットには 3 ジェムが必要です。",
"purchaseFor": "<%= cost %> ジェムで購入しますか?",
"purchaseForHourglasses": "神秘の砂時計を<%= cost %>つ使ってこのアイテムを購入しますか?",
"notEnoughMana": "マナが足りません。",
@@ -181,9 +183,9 @@
"lostMana": "マナを消費しました",
"lostHealth": "体力を失いました",
"lostExperience": "経験値を失いました。",
- "displayNameDescription1": "この名前が、キャンプ場、ギルド、パーティでのチャットへの投稿などのメッセージで表示され、またアバター上にも表示されます。変更するには、上の編集ボタンをクリック。ログイン名を変更したいのなら、",
+ "displayNameDescription1": "この名前が、キャンプ場、ギルド、パーティでのチャットへの投稿などのメッセージで表示され、またアバター上にも表示されます。変更するには、上の編集ボタンをクリックしてください。あるいはもしユーザー名を変更したいのなら、",
"displayNameDescription2": "設定 -> サイト",
- "displayNameDescription3": "。「登録」のブロックにあります。",
+ "displayNameDescription3": "から「登録」のセクションへお立ち寄りください。",
"unequipBattleGear": "武装を外す",
"unequipCostume": "衣装を脱ぐ",
"equip": "装備",
@@ -203,7 +205,8 @@
"showQuickAllocation": "割り当てを表示",
"hideQuickAllocation": "割り当てを非表示",
"quickAllocationLevelPopover": "レベルが1上がるごとに、能力値のどれかに割り当てられるポイントを1獲得します。割り当ては手動で行うほかに、ユーザーアイコン > 設定の「自動割り当て」設定でシステムに任せることもできます。",
- "notEnoughAttrPoints": "割り当てるポイントが足りません",
+ "notEnoughAttrPoints": "割り当てるステータスポイントが足りません。",
+ "classNotSelected": "ステータスポイントを割り当てるためには、先にクラスを選ぶ必要があります。",
"style": "体型",
"facialhair": "顔",
"photo": "写真",
diff --git a/website/common/locales/ja/content.json b/website/common/locales/ja/content.json
index bfb4c70354..2c5b23f9b7 100644
--- a/website/common/locales/ja/content.json
+++ b/website/common/locales/ja/content.json
@@ -163,19 +163,22 @@
"questEggYarnAdjective": "ウールの",
"questEggPterodactylText": "翼竜",
"questEggPterodactylMountText": "翼竜",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "疑うことを知らない",
"questEggBadgerText": "アナグマ",
"questEggBadgerMountText": "アナグマ",
- "questEggBadgerAdjective": "a bustling",
+ "questEggBadgerAdjective": "騒がしい",
"questEggSquirrelText": "リス",
"questEggSquirrelMountText": "リス",
- "questEggSquirrelAdjective": "a bushy-tailed",
+ "questEggSquirrelAdjective": "尻尾がふさふさの",
"questEggSeaSerpentText": "シーサーペント",
"questEggSeaSerpentMountText": "シーサーペント",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSeaSerpentAdjective": "キラキラした",
+ "questEggKangarooText": "カンガルー",
+ "questEggKangarooMountText": "カンガルー",
+ "questEggKangarooAdjective": "するどい",
+ "questEggAlligatorText": "アリゲーター",
+ "questEggAlligatorMountText": "アリゲーター",
+ "questEggAlligatorAdjective": "ずるい",
"eggNotes": "たまごがえしの薬を見つけて、たまごにかけると、<%= eggAdjective(locale) %> <%= eggText(locale) %>が生まれます。",
"hatchingPotionBase": "普通の",
"hatchingPotionWhite": "白い",
@@ -192,8 +195,8 @@
"hatchingPotionFloral": "花の",
"hatchingPotionAquatic": "水中の",
"hatchingPotionEmber": "熾火の",
- "hatchingPotionThunderstorm": "雷雨",
- "hatchingPotionGhost": "おばけ",
+ "hatchingPotionThunderstorm": "雷雨の",
+ "hatchingPotionGhost": "おばけの",
"hatchingPotionRoyalPurple": "高貴な紫の",
"hatchingPotionHolly": "ひいらぎの",
"hatchingPotionCupid": "キューピッドの",
@@ -201,7 +204,8 @@
"hatchingPotionFairy": "フェアリーの",
"hatchingPotionStarryNight": "星降る夜の",
"hatchingPotionRainbow": "にじ色の",
- "hatchingPotionGlass": "ガラス",
+ "hatchingPotionGlass": "ガラスの",
+ "hatchingPotionGlow": "暗闇で輝く",
"hatchingPotionNotes": "これをたまごにかけると、<%= potText(locale) %> ペットが生まれます。",
"premiumPotionAddlNotes": "クエスト ペットのたまごには使えません。",
"foodMeat": "肉",
diff --git a/website/common/locales/ja/front.json b/website/common/locales/ja/front.json
index b34de4eda6..2fc2d34547 100644
--- a/website/common/locales/ja/front.json
+++ b/website/common/locales/ja/front.json
@@ -39,7 +39,7 @@
"dragonsilverQuote": "この10年以上、どれだけの時間・仕事管理システムを試したことか...。その中で仕事をやり遂げるのを実際に手助けしてくれたのは、 [Habitica] だけだったよ。",
"dreimQuote": "去年の夏、試験の半分ぐらいがダメだったときに [Habitica] を見つけた。自分の生活に整理と規律をつくってくれて、1 カ月後の試験はホントにいい結果で通ったんだよ。日課の機能に「ありがとう」をいいたいな。",
"elmiQuote": "毎朝、早起きするのが楽しみ。だってゴールドをゲットできるから!",
- "forgotPassword": "パスワードを忘れた?",
+ "forgotPassword": "パスワードを忘れました?",
"emailNewPass": "パスワード再設定リンクをメールで受け取る",
"forgotPasswordSteps": "Habiticaのアカウント登録に使ったメールアドレスを入力してください。",
"sendLink": "リンクを送る",
@@ -60,7 +60,7 @@
"footerCompany": "会社",
"footerMobile": "モバイル",
"footerSocial": "ソーシャル",
- "forgotPass": "パスワードを忘れた",
+ "forgotPass": "パスワードを忘れました",
"frabjabulousQuote": "私が高収入でやりがいのある憧れの仕事につけたのは [Habitica] のおかげ。しかも、自分でも奇跡的だと思うけど、毎日デンタルフロスする人になっちゃった!",
"free": "参加無料",
"gamifyButton": "今日からあなたの人生がゲームに!",
@@ -137,23 +137,23 @@
"password": "パスワード",
"playButton": "遊ぶ",
"playButtonFull": "Habitica をプレー",
- "presskit": "報道関係者向け",
+ "presskit": "記事向けの素材・資料",
"presskitDownload": "すべての画像をダウンロード",
"presskitText": "Habitica に興味をもっていただき、ありがとうございます!以下の画像データは、Habitica に関する記事や動画でお使いいただけます。詳しくは <%= pressEnquiryEmail %> までご連絡ください。",
"pkQuestion1": "Habiticaを作ることになったきっかけは何でしょうか。最初はどんな風に始まりましたか?",
- "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.",
+ "pkAnswer1": "あなたがゲームでキャラクターのレベル上げに時間を注いだことがあるなら、こんなことを思わずにはいられないでしょう。「もしもゲームのアバターに代わって現実の自分自身を向上させるために全ての時間を注ぐことができたら、どんなに生活が素晴らしくなるだろう?」と。私たちはそんな課題に取り組むために、Habiticaの設立を始めました。
Habiticaは2013年にKickstarterを使って本格的に始動しました。そしてそのアイデアは実際に好評を博するようになったのです。それ以来、プロジェクトは大きく成長し、素晴らしいオープンソースのボランティアたちや、たくさんのユーザーたちによって支えられています。",
"pkQuestion2": "Habiticaはどういう仕組みで成り立っているのですか?",
- "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": "新しい習慣を身につけることは難しいです。なぜなら、人は明らかな、すぐにもらえるご褒美が間違いなく必要だからです。例えば、歯をデンタルフロスできれいにする習慣を始めるのはてごわいです。歯医者さんが長い目で見れば健康的なことだと私たちに教えているにも関わらず、当面の間はまさに歯と歯の間に苦痛を与えるからです。
Habiticaのゲーミフィケ―ションは、難しいタスクに経験値やゴールド…そして、もしかしたらドラゴンのたまごのようなランダムな賞品さえもご褒美として与えることで、毎日の目標に対して即時の満足感をもたらしています! この支援のおかげで、タスクそのものに達成感などの内発的報酬がないときでさえやる気を維持することができ、結果として人生が変わった人々を私たちは見てきました。こちらで成功した体験談の数々を見ることができます。:https://habitversary.tumblr.com",
"pkQuestion3": "他のユーザーと交流する、ソーシャル要素を加えたのはなぜですか?",
- "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.",
+ "pkAnswer3": "社会的なプレッシャーは、多くの人々にとって大きなやる気の要因です。そのことを知っていたので、私たちは目標についてお互いに責任を持ち続け、成功を応援できるような強いコミュニティーを持ちたいと思っていました。幸運にも、マルチプレイヤービデオゲームが最善を尽くしてきたことの一つが、ユーザー同士でコミュニティーの結びつきを育むことなのです! Habiticaのコミュニティーの構造は、これらのタイプのゲームから採用しています。あなたは親密な友達と小さなパーティーを結成できます。しかしそれだけでなく、ギルドとして知られているようなより大きな共通の興味や関心ごとのグループにも参加することができるのです。いくらかのユーザーはソロでプレイすることを選ぶものの、大多数は、パーティーメンバーで一緒にモンスターと戦うために彼らの生産性を共同で負担するクエストといった機能を通して、社会的な責任を促進するサポートとなるネットワークを結成することを決めています。",
"pkQuestion4": "タスクをやり残すと自分のアバターの体力が減るのはなぜですか?",
- "pkAnswer4": "If you skip one of your daily goals, your avatar will lose health the following day. This serves as an important motivating factor to encourage people to follow through with their goals because people really hate hurting their little avatar! Plus, the social accountability is critical for a lot of people: if you’re fighting a monster with your friends, skipping your tasks hurts their avatars, too.",
+ "pkAnswer4": "もしあなたが日課の目標のひとつをやり残してしまうと、翌日にあなたのアバターは体力を失うでしょう。これは、人が目標をふまえて最後までやり通すモチベーションの要因として、重要な役割を果たします。なぜなら、人は彼らの小さなアバターが傷つくのを本当に嫌がるからです! 加えて、社会的な責任は多くの人々にとって重大な意味を持ちます。もしあなたが仲間たちと一緒にモンスターと戦っているときタスクをやり残してしまうと、他の仲間たちのアバターもまた傷つくのです。",
"pkQuestion5": "Habiticaと他のゲーミフィケーション・プログラムの違いは何ですか?",
- "pkAnswer5": "One of the ways that Habitica has been most successful at using gamification is that we've put a lot of effort into thinking about the game aspects to ensure that they are actually fun. We've also included many social components, because we feel that some of the most motivating games let you play with friends, and because research has shown that it's easier to form habits when you have accountability to other people.",
+ "pkAnswer5": "ゲーミフィケーションの活用においてHabiticaがもっとも成功している流儀のひとつは、実際に楽しんでもらえるようにゲームを形作る考察に特に力を注いできたことです。私たちはたくさんのソーシャル的な要素も入れてきました。なぜなら、もっともやる気が出るゲームのいくつかは友達と遊びたくさせるものだと感じているからです。そして、他の人への責任があるときに習慣づけがしやすいということが調査で明らかになったからでもあります。",
"pkQuestion6": "Habiticaの典型的なユーザーとはどんな人ですか?",
- "pkAnswer6": "Lots of different people use Habitica! More than half of our users are ages 18 to 34, but we have grandparents using the site with their young grandkids and every age in-between. Often families will join a party and battle monsters together.
Many of our users have a background in games, but surprisingly, when we ran a survey a while back, 40% of our users identified as non-gamers! So it looks like our method can be effective for anyone who wants productivity and wellness to feel more fun.",
+ "pkAnswer6": "たくさんのさまざまな人々がHabiticaを使っています! 半数以上が18~34歳のユーザーですが、おじいさんやおばあさんが彼らの孫たちと共にサイトを使うこともあり、その間のあらゆるの年齢の人々もいます。家族が一緒にパーティーに参加してモンスターと戦うこともよくあるでしょう。
ユーザーの多くはゲームをした経験があります。しかし驚くことに、私たちがしばらく前に調査をしたとき、ユーザーの40%が非ゲーマーだと分かったのです! つまり、私たちの手法は生産性と健全さを求める方なら誰でも効果的により楽しく感じられるようです。",
"pkQuestion7": "Habiticaがドット絵風グラフィック(ピクセルアート)を採用している理由は?",
- "pkAnswer7": "Habitica uses pixel art for several reasons. In addition to the fun nostalgia factor, pixel art is very approachable to our volunteer artists who want to chip in. It's much easier to keep our pixel art consistent even when lots of different artists contribute, and it lets us quickly generate a ton of new content!",
+ "pkAnswer7": "Habiticaはいくつかの理由のため、ピクセルアートを使っています。楽しくてノスタルジックな要素に加えて、ピクセルアートは力を貸したいボランティアのアーティストたちにとっても非常に取っつきやすいのです。たくさんの異なるアーティストたちが貢献するときでも、ピクセルアートは一貫性を保ちやすく、私たちが多数の新しいコンテンツを迅速に作り出すことを可能にしています!",
"pkQuestion8": "Habiticaは人々の現実の生活にどのような影響を与えていますか?",
"pkAnswer8": "こちらで、たくさんの体験談を読むことができます:\nhttps://habitversary.tumblr.com",
"pkMoreQuestions": "このリストにない質問がおありですか? admin@habitica.comまでメールしてください!",
@@ -211,8 +211,8 @@
"unlockByline2": "ペット集め、ごほうびのチャンス、魔法などなど、やる気の出る新しい能力をアンロックしましょう!",
"unlockHeadline": "生産的であれば、新しい機能がアンロックできます!",
"useUUID": "UUID ・API Token を使う (Facebookユーザ向け)",
- "username": "ログイン名",
- "emailOrUsername": "メールアドレスまたはログイン名(大文字・小文字の区別あり)",
+ "username": "ユーザー名",
+ "emailOrUsername": "メールアドレスまたはユーザー名(大文字・小文字の区別あり)",
"watchVideos": "動画を見る",
"work": "仕事",
"zelahQuote": "[Habitica] は、早く寝てポイントを増やすか、夜ふかしして体力を減らすかと考えさせることで、ぼくを定刻にベッドに行くよう説得してくれたよ。",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "認証ヘッダーが見つかりません。",
"missingAuthParams": "認証パラメーターが見つかりません。",
- "missingUsernameEmail": "ログイン名またはメールアドレスがありません。",
+ "missingUsernameEmail": "ユーザー名またはメールアドレスが見つかりません。",
"missingEmail": "メールアドレスがありません。",
- "missingUsername": "ログイン名がありません。",
+ "missingUsername": "ユーザー名がありません。",
"missingPassword": "パスワードがありません。",
"missingNewPassword": "新しいパスワードがありません。",
"invalidEmailDomain": "以下のドメインのメールアドレスは登録できません : <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "メールアドレスが無効です。",
"emailTaken": "このメールアドレスは、すでに登録されています。",
"newEmailRequired": "新しいメールアドレスがありません。",
- "usernameTaken": "そのログイン名は既に使われています。",
- "usernameWrongLength": "ログイン名は1-20文字以内の長さでなくてはなりません。",
- "usernameBadCharacters": "ログイン名に使える文字はa-z, 0-9, ハイフン、アンダーバーのみです。",
+ "usernameTime": "あなたのユーザー名を決める時間です!",
+ "usernameInfo": "あなたの表示名は変更されていません。しかし、あなたの古いログイン名はこれからあなたの公開のユーザーネームになります。このユーザーネームは、招待、チャットでの@返信、メッセージのやりとりなどに使われるでしょう。
もしこの変更についてより詳しく知りたいときは、wikiのPlayer Namesのページをご覧ください。",
+ "usernameTOSRequirements": "ユーザー名は、私たちのサービスの条項とコミュニティーガイドラインに従わなければなりません。もしあなたが以前にログイン名を設定していなかった場合、あなたのユーザー名は自動生成されました。",
+ "usernameTaken": "そのユーザー名は既に使われています",
+ "usernameWrongLength": "ユーザー名は1~20文字以内の長さでなくてはなりません。",
+ "displayNameWrongLength": "表示名は1~30文字以内の長さでなくてはなりません。",
+ "usernameBadCharacters": "ユーザー名に使える文字は、a~zの英字、0~9の数字、ハイフン、アンダーバーのみです。",
+ "nameBadWords": "名前に不適切な言葉を含めることはできません。",
+ "confirmUsername": "ユーザー名を承認する",
+ "usernameConfirmed": "ユーザー名が承認されました。",
"passwordConfirmationMatch": "パスワードが不一致です。",
"invalidLoginCredentials": "ユーザー名とパスワードのいずれかまたは両方が無効です。",
"passwordResetPage": "パスワードをリセットする",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "パスワードのリセット",
"passwordResetEmailText": "Habiticaで <%= username %> のパスワードのリセットを頼んだのなら、新しいパスワードを設定するために <%= passwordResetLink %> に行ってください。このリンクは24時間後に無効になります。パスワードのリセットを頼んでいない場合、このメールを無視しても結構です。",
"passwordResetEmailHtml": "Habiticaで <%= username %> のパスワードのリセットを頼んだのなら、新しいパスワードを設定するために \"> ここ にクリックしてください。このリンクは24時間後に無効になります。
パスワードのリセットを頼んでいない場合、このメールを無視しても結構です。",
- "invalidLoginCredentialsLong": "ああ…。ユーザー名/メールアドレスまたはパスワードが不正です。\n- ユーザー名またはメールアドレスが正しく入力されているかを確認してください。大文字と小文字は区別されます。\n- メールアドレスではなくGoogleや Facebook を通じて登録した場合は、ログインを再確認してください。\n- パスワードを忘れてしまったのなら、「パスワード忘れ」をクリックしてください。",
+ "invalidLoginCredentialsLong": "おっと。メールアドレス/ユーザー名またはパスワードが間違っています。\n- ユーザー名またはメールアドレスが正しく入力されているかを確認してください。ユーザー名とパスワードは大文字と小文字が区別されます。\n- メールアドレスではなくGoogleや Facebook を通じて登録した場合は、そちらでログインを再確認してください。\n- もしパスワードを忘れてしまった場合は、「パスワードを忘れました」をクリックしてください。",
"invalidCredentials": "この認証情報を使ったアカウントはありません。",
- "accountSuspended": "このアカウント(ユーザーID:<%= userId %>)は[コミュニティガイドライン](https://habitica.com/static/community-guidelines)または[利用規約](https://habitica.com/static/terms)に違反したため、ブロックされています。詳細な説明を受けたい場合、またはブロックの解除を希望する場合は、私たちのコミュニティマネージャー(<%= communityManagerEmail %>)へEメールでご連絡ください。未成年の場合は保護者にメールを送ってもらうよう依頼してください。お問い合わせの際はユーザーIDとプロフィール名を添えてください。",
+ "accountSuspended": "このアカウント(ユーザーID:<%= userId %>)は[コミュニティガイドライン](https://habitica.com/static/community-guidelines)または[利用規約](https://habitica.com/static/terms)に違反したため、ブロックされています。詳細な説明を受けたい場合、またはブロックの解除を求める場合は、私たちのコミュニティマネージャー(<%= communityManagerEmail %>)へEメールでご連絡ください。未成年の場合は保護者にメールを送ってもらうよう依頼してください。お問い合わせの際はユーザーIDとユーザー名を添えてください。 ",
"accountSuspendedTitle": "このアカウントは一時停止されています",
"unsupportedNetwork": "このネットワークは現在対応していません。",
"cantDetachSocial": "アカウントには他の認証方法が設定されていないので、この認証方法 を取りのぞくことはできません。",
@@ -295,7 +302,7 @@
"signUpWithSocial": "<%= social %>で登録する",
"loginWithSocial": "<%= social %>でログインする",
"confirmPassword": "新しいパスワードを確認する",
- "usernameLimitations": "ログイン名は1-20文字以内の長さで、a-z, 0-9, ハイフン、アンダーバーだけで構成されていなくてはなりません。",
+ "usernameLimitations": "ユーザー名は1~20文字以内の長さでなくてはなりません。使える文字は、a~zの英字、0~9の数字、ハイフン、アンダーバーのみです。不適切な言葉を含めることはできません。",
"usernamePlaceholder": "例: HabitRabbit",
"emailPlaceholder": "例: rabbit@example.com",
"passwordPlaceholder": "例: ******************",
@@ -329,6 +336,5 @@
"signup": "登録する",
"getStarted": "今すぐ始める",
"mobileApps": "モバイルアプリ",
- "learnMore": "もっと詳しく知る",
- "useMobileApps": "Habiticaはモバイルブラウザ用に最適化はされていません。モバイルアプリのご利用をお勧めします。"
+ "learnMore": "もっと詳しく知る"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/gear.json b/website/common/locales/ja/gear.json
index 525cbf7088..a04ffc0ce0 100644
--- a/website/common/locales/ja/gear.json
+++ b/website/common/locales/ja/gear.json
@@ -215,7 +215,7 @@
"weaponSpecialWinter2017WarriorText": "力の杖",
"weaponSpecialWinter2017WarriorNotes": "この強靭な杖で目標を叩き、征服するのです!力が<%= str %>上がります。2016-2017年冬限定装備。",
"weaponSpecialWinter2017MageText": "冬オオカミの水晶杖",
- "weaponSpecialWinter2017MageNotes": "この杖の先端に輝く青い結晶は冬オオカミの瞳と呼ばれ、雪と氷の魔力を集めます!知能が<%= int %>、知覚が<%= per %>上がります。2016-2017年冬限定装備。",
+ "weaponSpecialWinter2017MageNotes": "この杖の先端に輝く青い結晶は冬オオカミの瞳と呼ばれ、雪と氷の魔力を集めます! 知能が <%= int %> 、知覚が <%= per %> 上がります。2016-2017年冬限定装備。",
"weaponSpecialWinter2017HealerText": "綿菓子の杖",
"weaponSpecialWinter2017HealerNotes": "この杖はあなたの夢の中に入り、こんぺいとうが踊る幻想をあなたに見せることが出来ます。知能が <%= int %>上がります。2016-2017年冬限定装備。",
"weaponSpecialSpring2017RogueText": "名刀人参丸",
@@ -242,22 +242,22 @@
"weaponSpecialFall2017MageNotes": "この杖についた頭蓋骨の輝く眼は、謎と魔法を放ちます。 知能が <%= int %>、知覚が <%= per %> 上がります。2017年秋の限定装備。",
"weaponSpecialFall2017HealerText": "気味の悪い燭台",
"weaponSpecialFall2017HealerNotes": "この明かりは恐怖を打ち払い、あなたが助けに来たことを他の人に知らせてくれます。知能が<%= int %>上がります。2017年秋の限定装備。",
- "weaponSpecialWinter2018RogueText": "しましまキャンディのかぎ針",
- "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.",
- "weaponSpecialWinter2018MageText": "祝日の紙吹雪",
- "weaponSpecialWinter2018MageNotes": "Magic--and glitter--is in the air! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
+ "weaponSpecialWinter2018RogueText": "しましまキャンディのフック",
+ "weaponSpecialWinter2018RogueNotes": "壁を登ったり、甘い甘いキャンディで敵の目をそらしたりするのにうってつけです。力が <%= str %> 上がります。2017-2018年冬の限定装備。",
+ "weaponSpecialWinter2018WarriorText": "祝祭のリボンのハンマー",
+ "weaponSpecialWinter2018WarriorNotes": "このキラキラした武器の輝かしい見た目は、振り回すとき敵の目をくらませることができます! 力が <%= str %> 上がります。2017年-2018年冬の限定装備。",
+ "weaponSpecialWinter2018MageText": "祝祭の紙吹雪",
+ "weaponSpecialWinter2018MageNotes": "魔法――そしてキラメキ――それは空中に! 知能が 、<%= int %> 知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
"weaponSpecialWinter2018HealerText": "ヤドリギのつえ",
- "weaponSpecialWinter2018HealerNotes": "This mistletoe ball is sure to enchant and delight passersby! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
+ "weaponSpecialWinter2018HealerNotes": "このヤドリギの球は、通りがかった人々に魔法をかけて絶対に喜ばせます! 知能が <%= int %> 上がります。2017年-2018年冬の限定装備。",
"weaponSpecialSpring2018RogueText": "水に浮かぶ蒲の穂",
"weaponSpecialSpring2018RogueNotes": "かわいいと思われるかもしれない蒲の穂は、実はライトウィングにおいてかなり有効な武器です。力が <%= str %> 上がります。2018年春の限定装備。",
"weaponSpecialSpring2018WarriorText": "夜明けの斧",
"weaponSpecialSpring2018WarriorNotes": "キラキラした金で作られたこの斧は、真っ赤に染まりきったタスクを攻撃するに足る力強さがあります! 力が <%= str %> 上がります。2018年春の限定装備。",
"weaponSpecialSpring2018MageText": "チューリップの杖",
- "weaponSpecialSpring2018MageNotes": "This magic flower never wilts! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2018 Spring Gear.",
+ "weaponSpecialSpring2018MageNotes": "この魔法の花は決して枯れません! 知能が <%= int %> 、知覚が <%= per %> 上がります。2018年春の限定装備。",
"weaponSpecialSpring2018HealerText": "ガーネットのロッド",
- "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": "この杖にある石は、あなたが癒しの呪文を唱えるときに力を集中させるでしょう! 知能が <%= int %> 上がります。2018年春の限定装備。",
"weaponSpecialSummer2018RogueText": "釣り竿",
"weaponSpecialSummer2018RogueNotes": "この軽くて実に壊れにくいロッドとリールは、あなたの DPS (Dragonfish Per Summer) を最大限に発揮するために二刀流で振るうことができます。力が <%= str %> 上がります。2018年夏の限定装備。",
"weaponSpecialSummer2018WarriorText": "ベタのヤス",
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "水の中で、魔道士が火や氷または電気に基づく魔法を振るうことは危険だと分ります。その一方で、魔道士の有毒なトゲは見事にキラリとうまくいきます! 知能が <%= int %> 、知覚が <%= per %> 上がります。2018年夏の限定装備。",
"weaponSpecialSummer2018HealerText": "人魚王のトライデント",
"weaponSpecialSummer2018HealerNotes": "慈悲深い身振りで、あなたの領域へ波のように流れていくよう癒しの水に命じます。知能が <%= int %> 上がります。2018年夏の限定装備。",
+ "weaponSpecialFall2018RogueText": "明晰の小びん",
+ "weaponSpecialFall2018RogueNotes": "あなたが正気を取り戻す必要があるとき、正しい決断をするために少しの後押しが必要なとき、深く息をついてから吸い込みましょう。うまくいきますよ! 力が <%= str %> 上がります。2018年秋の限定装備。",
+ "weaponSpecialFall2018WarriorText": "ミノスのむち",
+ "weaponSpecialFall2018WarriorNotes": "迷路で方向感覚を保つためにあなたの後ろにたらして巻き戻すには、あまり長さが足りません。そうですね、たぶんとても小さな迷路でなら。力が <%= str %> 上がります。2018年秋の限定装備。",
+ "weaponSpecialFall2018MageText": "甘味のつえ",
+ "weaponSpecialFall2018MageNotes": "これはただのペロペロキャンディではありません! このつえの先にある魔法の砂糖の輝くオーブは、あなたを良い習慣に留める力を持っています。知能が <%= int %> 、知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "weaponSpecialFall2018HealerText": "腹ペコのつえ",
+ "weaponSpecialFall2018HealerNotes": "このつえにエサを与え続ければ、つえは恵みをもたらすでしょう。もしエサを与えるのを忘れたら、あなたの指を届かないところまで離しておきましょうね。知能が <%= int %> 上がります。2018年秋の限定装備。",
"weaponMystery201411Text": "ごちそうの熊手",
"weaponMystery201411Notes": "敵を突き刺したり、好きな食べ物を掘り出したり - この何にでも使える熊手なら両方できます! 効果なし。2014年11月寄付会員アイテム。",
"weaponMystery201502Text": "キラキラ輝く羽のついた愛と真実のつえ",
@@ -346,10 +354,14 @@
"weaponArmoireCobblersHammerNotes": "このハンマーは革細工のための特別製ですが、赤くなった日課を実際に打ち負かすこともできます。体質と力が<%= attrs %>上がります。ラッキー宝箱:靴修理職人セット(3個中2つ目のアイテム)",
"weaponArmoireGlassblowersBlowpipeText": "ガラス吹き工の吹き竿",
"weaponArmoireGlassblowersBlowpipeNotes": "このチューブで溶かしたガラスを吹いて、美しい花瓶、装飾品などオシャレな物をつくりましょう。力が <%= str %> 上がります。ラッキー宝箱 : ガラス吹き工セット ( 4 個中 1 個目のアイテム)。",
- "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).",
+ "weaponArmoirePoisonedGobletText": "毒入りのゴブレット",
+ "weaponArmoirePoisonedGobletNotes": "これを使って猛毒のアイオカンパウダーや他の想像を絶する危険な毒物への耐性をつけましょう。知能が <%= int %> 上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 3 個目のアイテム)。",
+ "weaponArmoireJeweledArcherBowText": "宝石で飾られた弓",
+ "weaponArmoireJeweledArcherBowNotes": "この金と宝石の弓は、ターゲットたちに信じられない速さで矢を放つことができます。知能が <%= int %> 上がります。ラッキー宝箱:宝石飾りの弓使いセット ( 3 個中 3 個目のアイテム)。",
+ "weaponArmoireNeedleOfBookbindingText": "製本の綴じ針",
+ "weaponArmoireNeedleOfBookbindingNotes": "どうしたらこんな丈夫な本ができるのかと、あなたは驚かせることでしょう。この針は、あなたの作業の核心を正しく刺し通すことができます。力が <%= str %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 3 個目のアイテム)。",
+ "weaponArmoireSpearOfSpadesText": "スペードのスピア",
+ "weaponArmoireSpearOfSpadesNotes": "この騎士にふさわしい槍は、真っ赤な習慣と日課を攻撃するのに最適です。体質が <%= con %> 上がります。ラッキー宝箱 : スペードのエースセット ( 3 個中 3 個目のアイテム)。",
"armor": "よろい",
"armorCapitalized": "よろい",
"armorBase0Text": "無地の服",
@@ -568,22 +580,22 @@
"armorSpecialFall2017MageNotes": "印象的で圧倒的なローブ無くして、何が仮面舞踏会の衣装と言えるのでしょう? 知能が<%= int %>上がります。2017年秋の限定装備。",
"armorSpecialFall2017HealerText": "幽霊屋敷のよろい",
"armorSpecialFall2017HealerNotes": "あなたの心は開いたドア、肩は屋根瓦です! 体質が<%= con %>上がります。2017年秋の限定装備。",
- "armorSpecialWinter2018RogueText": "Reindeer Costume",
- "armorSpecialWinter2018RogueNotes": "You look so cute and fuzzy, who could suspect you are after holiday loot? Increases Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
- "armorSpecialWinter2018WarriorText": "Wrapping Paper Armor",
- "armorSpecialWinter2018WarriorNotes": "Don't let the papery feel of this armor fool you. It's nearly impossible to rip! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "armorSpecialWinter2018RogueText": "トナカイのコスチューム",
+ "armorSpecialWinter2018RogueNotes": "あなたは柔らかな毛で覆われてとっても可愛く見えますよ。誰があなたを祝祭明けの盗品だなんて疑うでしょう? 知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
+ "armorSpecialWinter2018WarriorText": "ラッピングペーパーのよろい",
+ "armorSpecialWinter2018WarriorNotes": "このよろいの薄い手触りにだまされないで。引き裂くのはほぼ不可能です! 体質が <%= con %> 上がります。2017-2018年冬の限定装備。",
"armorSpecialWinter2018MageText": "きらびやかなタキシード",
- "armorSpecialWinter2018MageNotes": "The ultimate in magical formalwear. Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
+ "armorSpecialWinter2018MageNotes": "究極の魔法正装。知能が <%= int %> 上がります。2017-2018年冬限定装備。",
"armorSpecialWinter2018HealerText": "ヤドリギのローブ",
- "armorSpecialWinter2018HealerNotes": "These robes are woven with spells for extra holiday joy. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "armorSpecialWinter2018HealerNotes": "このローブは、極上の祝祭の喜びのために呪文とともに編まれました。体質が <%= con %> 上がります。2017年-2018年冬の限定装備。",
"armorSpecialSpring2018RogueText": "羽根のスーツ",
"armorSpecialSpring2018RogueNotes": "このフワフワの黄色いコスチュームは、あなたがただの無害でかわいいカモちゃんだと敵に思いこませます! 知覚が <%= per %> 上がります。2018年春の限定装備。",
"armorSpecialSpring2018WarriorText": "暁のよろい",
- "armorSpecialSpring2018WarriorNotes": "This colorful plate is forged with the sunrise's fire. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
+ "armorSpecialSpring2018WarriorNotes": "この色鮮やかな板金は、暁の火によって鍛造されました。体質が <%= con %> 上がります。2018年春の限定装備。",
"armorSpecialSpring2018MageText": "チューリップのローブ",
- "armorSpecialSpring2018MageNotes": "Your spell casting can only improve while clad in these soft, silky petals. Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.",
+ "armorSpecialSpring2018MageNotes": "あなたが呪文を放つ力は、この柔らかくスベスベな花びらを纏っている間だけ向上できます。知能が <%= int %> 上がります。2018年春の限定装備。",
"armorSpecialSpring2018HealerText": "ガーネットのよろい",
- "armorSpecialSpring2018HealerNotes": "Let this bright armor infuse your heart with power for healing. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
+ "armorSpecialSpring2018HealerNotes": "この輝くよろいによって、あなたの心に癒しの力を満たしてください。体質が <%= con %> 上がります。2018年春の限定装備。",
"armorSpecialSummer2018RogueText": "ポケット付き釣り用ベスト",
"armorSpecialSummer2018RogueNotes": "浮き? 釣り針の箱? 予備の釣り糸? ピッキング用具? 発煙筒? この服には、あなたが夏の釣り休暇に持っていく必要があるものなら何でも入れられるポケットがありますよ! 知覚が <%= per %> 上がります。2018年夏の限定装備。",
"armorSpecialSummer2018WarriorText": "ベタの尾のよろい",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "毒魔法は名状しがたいイメージがありますが、このカラフルな鎧はそうでもありません。生物にもタスクにも明らかに分かるメッセージを発しています。「気をつけろ!」 知能が <%= int %> 上がります。2018年夏の限定装備。",
"armorSpecialSummer2018HealerText": "人魚王のローブ",
"armorSpecialSummer2018HealerNotes": "この空色の式服は、あなたが陸を歩く足を持つことを露わにします… ええとまぁ、王は完璧なはずだとは思いもしませんよ。体質が <%= con %> 上がります。2018年夏の限定装備。",
+ "armorSpecialFall2018RogueText": "オルター・エゴのフロックコート",
+ "armorSpecialFall2018RogueNotes": "その日のスタイル。一夜の安らぎと保護。知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "armorSpecialFall2018WarriorText": "ミノタウロスの板金甲冑",
+ "armorSpecialFall2018WarriorNotes": "あなたが自己の瞑想的な迷宮を歩くとき、心を落ち着かせる拍子を打つためのひづめを備えています。体質が <%= con %> 上がります。2018年秋の限定装備。",
+ "armorSpecialFall2018MageText": "キャンディマンサーのローブ",
+ "armorSpecialFall2018MageNotes": "このローブの布地には、魔法のキャンディが直に織り込まれています! しかしながら、それを食べようなどと試みないことを推奨します。知能が <%= int %> 上がります。2018年秋の限定装備。",
+ "armorSpecialFall2018HealerText": "肉食性のローブ",
+ "armorSpecialFall2018HealerNotes": "これは植物から作られました。しかし、それはベジタリアンであることを意味しません。悪い習慣はこのローブの領域に足を踏み入れることを恐れます。体質が <%= con %> 上がります。2018年秋の限定装備。",
"armorMystery201402Text": "メッセンジャーのローブ",
"armorMystery201402Notes": "かすかに光って、力強い。このローブは、手紙を運ぶために多くのポケットがついています。効果なし。2014年2月寄付会員アイテム。",
"armorMystery201403Text": "森の散策者のよろい",
@@ -656,10 +676,14 @@
"armorMystery201712Notes": "この魔法のよろいが生み出す光と熱はあなたの心を温めてくれますが、やけどすることはありません! 効果なし。2017年12月寄付会員アイテム。",
"armorMystery201802Text": "ラブ・バッグのよろい",
"armorMystery201802Notes": "この輝くよろいはあなたの心の強さを反映しており、励ましが必要な近くのHabiticanたちにもその力を分け与えます! 効果なし。2018年2月寄付会員アイテム。",
- "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.",
+ "armorMystery201806Text": "誘惑のチョウチンアンコウのしっぽ",
+ "armorMystery201806Notes": "このしなやかなしっぽは、深海であなたが通る道を照らし出すために光り輝く機能があります。効果なし。2018年6月寄付会員アイテム。",
+ "armorMystery201807Text": "シーサーペントのしっぽ",
+ "armorMystery201807Notes": "この力強いしっぽは、信じられないほど素早く海の中を進むことができます! 効果なし。2018年7月寄付会員アイテム。",
+ "armorMystery201808Text": "溶岩竜のよろい",
+ "armorMystery201808Notes": "このよろいは、見つけるのが難しい(そして何よりも温かい)溶岩竜が落としたウロコから作られています。効果なし。2018年8月寄付会員アイテム。",
+ "armorMystery201809Text": "紅葉のよろい",
+ "armorMystery201809Notes": "あなたは小さくて臆病な葉っぱのパフというだけではありません。季節の最も美しい色彩を身にまとっているのです! 効果なし。2018年9月寄付会員アイテム。",
"armorMystery301404Text": "スチームパンクスーツ",
"armorMystery301404Notes": "なんて小粋で最先端! 効果なし。3015年2月寄付会員アイテム。",
"armorMystery301703Text": "スチームパンクなクジャクのガウン",
@@ -748,12 +772,16 @@
"armorArmoireCobblersCoverallsNotes": "この丈夫なカバーオールには工具や革の切れ端、その他お役立ちアイテムを入れるためのポケットがいっぱいついています!知覚と力が<%= attrs %>上がります。ラッキー宝箱:靴修理職人セット(3個中1つ目のアイテム)",
"armorArmoireGlassblowersCoverallsText": "ガラス吹き工のカバーオール",
"armorArmoireGlassblowersCoverallsNotes": "このカバーオールは、あなたが熱く溶かしたガラスで傑作をつくっているときに身を守ってくれます。体質が <%= con %> 上がります。ラッキー宝箱: ガラス吹き工セット( 4 個中 2 個目のアイテム)",
- "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).",
+ "armorArmoireBluePartyDressText": "青いパーティドレス",
+ "armorArmoireBluePartyDressNotes": "あなたは鋭敏で、タフで、賢くて、そして何よりもセンスがいい! 知覚、力、そして体質がそれぞれ <%= attrs %> 上がります。ラッキー宝箱 : 青いリボンセット ( 2 個中 2 個目のアイテム)。",
+ "armorArmoirePiraticalPrincessGownText": "海賊姫のドレス",
+ "armorArmoirePiraticalPrincessGownNotes": "この豪華なお召し物には、武器と戦利品を隠すためのたくさんのポケットがついています! 知覚が <%= per %> 上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 2 個目のアイテム)。",
+ "armorArmoireJeweledArcherArmorText": "宝石で飾られたよろい",
+ "armorArmoireJeweledArcherArmorNotes": "この優美に作り上げられたよろいは、ミサイルもしくはやりそびれた赤い日課からあなたを守るでしょう! 体質が <%= con %> 上がります。ラッキー宝箱 : 宝石飾りの弓使いセット ( 3 個中 2 個目のアイテム)。",
+ "armorArmoireCoverallsOfBookbindingText": "製本のカバーオール",
+ "armorArmoireCoverallsOfBookbindingNotes": "カバーオールのセットには、あなたが必要なものが全部あります。ゴーグル、小銭、黄金のリング… 全てを入れるポケットも含めてね。体質が <%= con %> 、知覚が <%= per %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 2 個目のアイテム)。",
+ "armorArmoireRobeOfSpadesText": "スペードのローブ",
+ "armorArmoireRobeOfSpadesNotes": "この豪華なローブには、秘密のポケットが隠れています。財宝でも武器でも――あなたのお好みで隠せますよ! 力が <%= str %> 上がります。ラッキー宝箱 : スペードのエースセット ( 2 個中 3 個目のアイテム)。",
"headgear": "帽子・兜",
"headgearCapitalized": "帽子・ヘルメット",
"headBase0Text": "頭装備なし",
@@ -972,22 +1000,22 @@
"headSpecialFall2017HealerNotes": "このかぶとが持つ癒しの力を手に入れるため、不気味な霊魂や友好的なモンスターを招き入れましょう! 知能が<%= int %>上がります。2017年秋の限定装備。",
"headSpecialNye2017Text": "しゃれたパーティハット",
"headSpecialNye2017Notes": "しゃれたパーティハットをもらいました! 新年を告げる鐘を聞きながら、誇りをもってかぶりましょう! 効果なし。",
- "headSpecialWinter2018RogueText": "Reindeer Helm",
- "headSpecialWinter2018RogueNotes": "The perfect holiday disguise, with a built-in headlight! Increases Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
- "headSpecialWinter2018WarriorText": "Giftbox Helm",
- "headSpecialWinter2018WarriorNotes": "This jaunty box top and bow are not only festive, but quite sturdy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
- "headSpecialWinter2018MageText": "Sparkly Top Hat",
- "headSpecialWinter2018MageNotes": "Ready for some extra special magic? This glittery hat is sure to boost all your spells! Increases Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
+ "headSpecialWinter2018RogueText": "トナカイのかぶと",
+ "headSpecialWinter2018RogueNotes": "ヘッドライトが内蔵された、パーフェクトな祝祭の仮装です!知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
+ "headSpecialWinter2018WarriorText": "ギフトボックスのかぶと",
+ "headSpecialWinter2018WarriorNotes": "この粋なボックスのフタとリボンは、面白いだけでなくとても頑丈です。力が <%= str %> 上がります。2017年-2018年冬の限定装備。",
+ "headSpecialWinter2018MageText": "輝かしいシルクハット",
+ "headSpecialWinter2018MageNotes": "極上のスペシャルな魔法の準備はできましたか? このピカピカのハットは全ての呪文を必ず強化します! 知覚が <%= per %> 上がります。2017年-2018年冬の限定装備。",
"headSpecialWinter2018HealerText": "ヤドリギのフード",
- "headSpecialWinter2018HealerNotes": "This fancy hood will keep you warm with happy holiday feelings! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
+ "headSpecialWinter2018HealerNotes": "このオシャレなフードは、幸せな祝祭の気分にあなたを温め続けます! 知能が <%= int %> 上がります。2017年-2018年冬の限定装備。",
"headSpecialSpring2018RogueText": "カモのくちばしのかぶと",
"headSpecialSpring2018RogueNotes": "クワッ クワッ! 実は利口でずるくても、見かけは可愛いらしいのです。知覚が <%= per %> 上がります。2018年春の限定装備。",
"headSpecialSpring2018WarriorText": "陽光の兜",
- "headSpecialSpring2018WarriorNotes": "The brightness of this helm will dazzle any enemies nearby! Increases Strength by <%= str %>. Limited Edition 2018 Spring Gear.",
+ "headSpecialSpring2018WarriorNotes": "この兜の輝きは、近づくどんな敵の目もくらませるでしょう! 力が <%= str %> 上がります。2018年春の限定装備。",
"headSpecialSpring2018MageText": "チューリップの兜",
- "headSpecialSpring2018MageNotes": "The fancy petals of this helm will grant you special springtime magic. Increases Perception by <%= per %>. Limited Edition 2018 Spring Gear.",
+ "headSpecialSpring2018MageNotes": "この兜のオシャレな花びらは、あなたに特別な春の魔法を与えるでしょう。知覚が <%= per %> 上がります。2018年春の限定装備。",
"headSpecialSpring2018HealerText": "ガーネットの頭飾り",
- "headSpecialSpring2018HealerNotes": "The polished gems of this circlet will enhance your mental energy. Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.",
+ "headSpecialSpring2018HealerNotes": "この頭飾りの磨き上げられた宝石は、あなたの精神エネルギーを高めるでしょう。知能が <%= int %> 上がります。2018年春の限定装備。",
"headSpecialSummer2018RogueText": "釣り用日よけ帽",
"headSpecialSummer2018RogueNotes": "水面上での夏の太陽の不快な眩しい光から守り、安らぎを提供しましょう。もしあなたが影の中で忍びやかにじっとしている方が慣れているなら、特に重要です!知覚が <%= per %> 上がります。2018年夏の限定装備。",
"headSpecialSummer2018WarriorText": "ベタのバルビュータ",
@@ -996,6 +1024,14 @@
"headSpecialSummer2018MageNotes": "「美味しそうな魚に見える」とあえて誰かに言われたときは、悲しげにギラリとにらみつけましょう。知覚が <%= per %> 上がります。2018年夏の限定装備。",
"headSpecialSummer2018HealerText": "人魚王のクラウン",
"headSpecialSummer2018HealerNotes": "アクアマリンで飾った、ヒレを持つこの王冠は、人々と魚、そしてその両方の特徴を持つ人魚たちのリーダーである印となります。知能が <%= int %> 上がります。2018年夏の限定装備。",
+ "headSpecialFall2018RogueText": "オルター・エゴの面",
+ "headSpecialFall2018RogueNotes": "私たちの大多数は、内面の苦闘を外から隠しています。このマスクは、私たち皆が経験する良い衝動と悪い衝動の間にある葛藤を見せてくれます。加えて、魅力的な帽子もついています! 知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "headSpecialFall2018WarriorText": "ミノタウロスの面",
+ "headSpecialFall2018WarriorNotes": "この恐ろしいマスクは、あなたが間違いなくタスクに取り組むことができるとツノで示します!力が <%= str %> 上がります。 2018年秋の限定装備。",
+ "headSpecialFall2018MageText": "キャンディマンサーの帽子",
+ "headSpecialFall2018MageNotes": "この先のとがった帽子には、甘味の強力な呪文が染み込んでいます。気を付けて。もしも濡れてしまったら、たぶんベトベトになりますよ! 知覚が <%= per %> 上がります。2018年秋の限定装備。",
+ "headSpecialFall2018HealerText": "大食いのヘルメット",
+ "headSpecialFall2018HealerNotes": "このヘルメットは、ゾンビや他の迷惑なものたちを素早く食べる能力があると知られている食肉植物から作られました。あなたの頭をかじられないように本当に気を付けてくださいね。知能が <%= int %> 上がります。2018年秋の限定装備。",
"headSpecialGaymerxText": "レインボーの戦士のヘルメット",
"headSpecialGaymerxNotes": "GaymerX カンファレンスを記念し、この特別なヘルメットは晴れやかでカラフルなレインボー柄で彩られています。GaymerX とは、LGTBQ (性的マイノリティー)とゲームを祝う見本市で、だれにでも開かれています。",
"headMystery201402Text": "羽かぶと",
@@ -1058,7 +1094,7 @@
"headMystery201707Notes": "タスクを片付けるための余分な腕がほしくないですか?この半透明のクラゲ型ヘルメットには、あなたに手を貸すたくさんの触手が付いています!効果なし。2017年7月寄付会員アイテム。",
"headMystery201710Text": "いばりんぼの小鬼ヘルム",
"headMystery201710Notes": "このヘルメットはあなたを威圧的に見せてくれます…でも、あなたの奥行き知覚能力には何の恩恵ももたらしません! 効果なし。2017年10月寄付会員アイテム。",
- "headMystery201712Text": "ろうそく術師の冠",
+ "headMystery201712Text": "ろうそく術士の冠",
"headMystery201712Notes": "一番暗い冬の夜でも、この冠が光とぬくもりをもたらしてくれます。効果なし。2017年12月寄付会員アイテム。",
"headMystery201802Text": "ラブ・バッグのかぶと",
"headMystery201802Notes": "このかぶとの触角は可愛いダウジングロッドの役割を持ち、周辺の愛とサポートの気持ちを探知します。効果なし。2018年2月寄付会員アイテム。",
@@ -1066,10 +1102,14 @@
"headMystery201803Notes": "とっても装飾的な見た目ですが、頭飾りの羽根はより高く上昇するために連携させられます! 効果なし。2018年3月寄付会員アイテム。",
"headMystery201805Text": "グッとくるクジャクのかぶと",
"headMystery201805Notes": "このかぶとはあなたを街でもっとも誇り高く最高に美しい(そして恐らく、一番声が大きい)鳥にしてくれます。効果なし。2018年5月寄付会員アイテム。",
- "headMystery201806Text": "Alluring Anglerfish Helm",
- "headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
- "headMystery201807Text": "Sea Serpent Helm",
- "headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201806Text": "誘惑のチョウチンアンコウのかぶと",
+ "headMystery201806Notes": "誘惑する光を頭上に灯したこのかぶとは、全ての海の生き物をあなたのそばへ呼び寄せることができるでしょう。みんなを惹きつけるあなたの輝かしい力を、良いことに使ってくださいね! 効果なし。2018年6月寄付会員アイテム。",
+ "headMystery201807Text": "シーサーペントのかぶと",
+ "headMystery201807Notes": "このかぶとの強力なウロコは、海洋の敵がどんな振る舞いをしてもあなたを守るでしょう。効果なし。2018年7月寄付会員アイテム。",
+ "headMystery201808Text": "溶岩竜のカウル",
+ "headMystery201808Notes": "このカウルの照り輝く角は、地下洞窟を通るあなたの道を照らすでしょう。効果なし。2018年8月寄付会員アイテム。",
+ "headMystery201809Text": "秋草の冠",
+ "headMystery201809Notes": "秋の暖かい日々の最後の花々は、季節の美しさを思い出させてくれます。効果なし。2018年9月寄付会員アイテム。",
"headMystery301404Text": "かわいいシルクハット",
"headMystery301404Notes": "良家中の良家の方々のためのかわいいシルクハット! 3015年1月寄付会員アイテム。効果なし。",
"headMystery301405Text": "ベーシックなシルクハット",
@@ -1170,10 +1210,12 @@
"headArmoireBigWigNotes": "ある種の髪粉をはたいたかつらはより威厳を与えてくれますが、これはウケるだけです!力が<%= str %>上がります。ラッキー宝箱:個別のアイテム。",
"headArmoireGlassblowersHatText": "ガラス吹き工の帽子",
"headArmoireGlassblowersHatNotes": "この帽子は、あなたが持っている他のガラス吹き用防護装備に大変ぴったり似合います!知覚が <%= per %> 上がります。ラッキー宝箱 : ガラス吹き工セット ( 4 個中 3 個目のアイテム)。",
- "headArmoirePiraticalPrincessHeaddressText": "Piratical Princess Headdress",
- "headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
- "headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
- "headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoirePiraticalPrincessHeaddressText": "海賊姫のヘッドドレス",
+ "headArmoirePiraticalPrincessHeaddressNotes": "オシャレな海賊はこんなオシャレな帽子をかぶることで有名です! 知覚と知能が <%= attrs %> ずつ上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 1 個目のアイテム)。",
+ "headArmoireJeweledArcherHelmText": "宝石で飾られたかぶと",
+ "headArmoireJeweledArcherHelmNotes": "このかぶとは飾り立てて見えるかもしれません。しかし、大変に軽く強力でもあるのです。知能が <%= int %> 上がります。ラッキー宝箱:宝石飾りの弓使いセット ( 3 個中 1 個目のアイテム)。",
+ "headArmoireVeilOfSpadesText": "スペードのベール",
+ "headArmoireVeilOfSpadesNotes": "影になってミステリアスなベールは、あなたの密やかさを高めるでしょう。知覚が <%= per %> 上がります。ラッキー宝箱:スペードのエースセット( 3 個中 1 個目のアイテム)",
"offhand": "利き手と反対の手のアイテム",
"offhandCapitalized": "利き手と反対の手のアイテム",
"shieldBase0Text": "利き手と反対の手の装備はありません",
@@ -1314,20 +1356,26 @@
"shieldSpecialFall2017WarriorNotes": "このキャンディーの盾は強大な防御力を持っています、囓ろうとしないでください!体質が <%= con %> 上がります。2017年冬の限定装備。",
"shieldSpecialFall2017HealerText": "幽霊のオーブ",
"shieldSpecialFall2017HealerNotes": "このオーブは時々おぞましい叫び声をあげます。すみません、理由はわからないんです。でも、しゃれて見えるのは確かです! 体質が<%= con %>上がります。2017年秋の限定装備。",
- "shieldSpecialWinter2018RogueText": "Peppermint Hook",
- "shieldSpecialWinter2018RogueNotes": "Perfect for climbing walls or distracting your foes with sweet, sweet candy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
+ "shieldSpecialWinter2018RogueText": "しましまキャンディのフック",
+ "shieldSpecialWinter2018RogueNotes": "壁を登ったり、甘い甘いキャンディで敵の目をそらしたりするのにうってつけです。力が <%= str %> 上がります。2017-2018年冬の限定装備。",
"shieldSpecialWinter2018WarriorText": "魔法のギフトバッグ",
- "shieldSpecialWinter2018WarriorNotes": "Just about any useful thing you need can be found in this sack, if you know the right magic words to whisper. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "shieldSpecialWinter2018WarriorNotes": "あなたが必要な役立つものは、ほとんど何でもこの袋の中から見つけることができますよ。ささやくべき正しい魔法の合言葉を知っていたらね。体質が <%= con %> 上がります。 2017-2018年冬の限定装備。",
"shieldSpecialWinter2018HealerText": "ヤドリギのベル",
- "shieldSpecialWinter2018HealerNotes": "What's that sound? The sound of warmth and cheer for all to hear! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
+ "shieldSpecialWinter2018HealerNotes": "あの音はなぁに? みんなが聞くための真心と喜びの音です! 体質が <%= con %> 上がります。 2017-2018年冬の限定装備。",
"shieldSpecialSpring2018WarriorText": "黎明の盾",
- "shieldSpecialSpring2018WarriorNotes": "This sturdy shield glows with the glory of first light. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
+ "shieldSpecialSpring2018WarriorNotes": "この頑丈な盾は、黎明の栄光によって輝きます。体質が <%= con %> 上がります。2018年春の限定装備。",
"shieldSpecialSpring2018HealerText": "ガーネットの盾",
- "shieldSpecialSpring2018HealerNotes": "Despite its fancy appearance, this garnet shield is quite durable! Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
- "shieldSpecialSummer2018WarriorText": "ベタのドクロの楯",
+ "shieldSpecialSpring2018HealerNotes": "オシャレな外見にもかかわらず、このガーネットの盾はとても耐久力があります! 体質が <%= con %> 上がります。2018年春の限定装備。",
+ "shieldSpecialSummer2018WarriorText": "ベタのドクロの盾",
"shieldSpecialSummer2018WarriorNotes": "石から作り上げたこの恐ろしいドクロ型の楯は、あなたの骨のペットと乗騎を呼び集めながら、魚の敵を恐怖におとしいれます。体質が <%= con %> 上がります。2018年夏の限定装備。",
"shieldSpecialSummer2018HealerText": "人魚王のエンブレム",
"shieldSpecialSummer2018HealerNotes": "この楯は、あなたの水の領域を訪れる陸からの客人のために、空気のドームを生みだすことができます。体質が <%= con %> 上がります。2018年夏の限定装備。",
+ "shieldSpecialFall2018RogueText": "誘惑の小びん",
+ "shieldSpecialFall2018RogueNotes": "このびんは、最高の自分自身であろうとするあなたを妨げる、全ての気が散ることや問題ごとを象徴しています。こらえて! 私たちはあなたを応援しています! 力が <%= str %> 上がります。2018年秋の限定装備。",
+ "shieldSpecialFall2018WarriorText": "ぴかぴかに輝く盾",
+ "shieldSpecialFall2018WarriorNotes": "厄介なゴルゴンが曲がり角の辺りでいないいないばぁで遊ぶことを思いとどまらせるくらい、素晴らしくぴかぴかです!体質が <%= con %> 上がります。2018年秋の限定装備。",
+ "shieldSpecialFall2018HealerText": "飢えた盾",
+ "shieldSpecialFall2018HealerNotes": "大きく開いた口で、この盾は敵の攻撃をすべて飲み込むでしょう。体質が <%= con %> 上がります。2018年秋の限定装備。",
"shieldMystery201601Text": "決意の剣",
"shieldMystery201601Notes": "この剣はすべての破壊を退けてくれるでしょう。効果なし。2016年寄付会員アイテム。",
"shieldMystery201701Text": "タイムフリーザー シールド",
@@ -1388,12 +1436,15 @@
"shieldArmoireFancyShoeNotes": "あなたが修理に取り組んでいるとても特別な靴。王侯貴族にふさわしい品です! 知能と知覚が<%= attrs %>上がります。ラッキー宝箱:靴修理職人セット(3つ中3つ目のアイテム)",
"shieldArmoireFancyBlownGlassVaseText": "オシャレな吹きガラスの花瓶",
"shieldArmoireFancyBlownGlassVaseNotes": "あなたがつくった花瓶はなんてオシャレなんでしょう!この中に何を生けますか?知能が <%= int %> 上がります。ラッキー宝箱 : ガラス吹き工セット ( 4 個中 4 個目のアイテム)。",
- "shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
- "shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoirePiraticalSkullShieldText": "海賊のドクロの盾",
+ "shieldArmoirePiraticalSkullShieldNotes": "この魅惑の盾は、敵の財宝がある秘密の場所をささやくでしょう。――よく聞きなさい! 知覚と知能が <%= attrs %> ずつ上がります。ラッキー宝箱 : 海賊姫セット ( 4 個中 4 個目のアイテム)。",
+ "shieldArmoireUnfinishedTomeText": "未完成の本",
+ "shieldArmoireUnfinishedTomeNotes": "あなたはこれを持っているとき、簡単には先延ばしができません! 人々がその本を読むためには、製本を終わらせる必要があるのですから! 知能が <%= int %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 4 個目のアイテム ) 。",
"back": "背中のアクセサリー",
"backCapitalized": "背のアクセサリー",
"backBase0Text": "背のアクセサリーなし",
"backBase0Notes": "背のアクセサリーがありません。",
+ "animalTails": "動物のしっぽ",
"backMystery201402Text": "黄金の翼",
"backMystery201402Notes": "この輝く翼は太陽にキラキラ光る羽根でできています! 効果なし。2014年2月寄付会員アイテム。",
"backMystery201404Text": "夕暮れのちょうちょの羽",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "この外套はかつて失われしクラス・マスター本人が所持していたものです。知覚が <%= per %> 上がります。",
"backSpecialTurkeyTailBaseText": "シチメンチョウの尾",
"backSpecialTurkeyTailBaseNotes": "お祝いの間、高貴なシチメンチョウの尾を誇りと共に身につけましょう! 効果なし。",
+ "backBearTailText": "クマのしっぽ",
+ "backBearTailNotes": "このしっぽはあなたを勇ましいクマのように見せます! 効果なし。",
+ "backCactusTailText": "サボテンのしっぽ",
+ "backCactusTailNotes": "このしっぽはあなたをチクチクのサボテンのように見せます! 効果なし。",
+ "backFoxTailText": "キツネのしっぽ",
+ "backFoxTailNotes": "このしっぽはあなたをずる賢いキツネのように見せます! 効果なし。",
+ "backLionTailText": "ライオンのしっぽ",
+ "backLionTailNotes": "このしっぽはあなたを威厳あるライオンのように見せます! 効果なし。",
+ "backPandaTailText": "パンダのしっぽ",
+ "backPandaTailNotes": " このしっぽはあなたを穏やかなパンダのように見せます! 効果なし。",
+ "backPigTailText": "ブタのしっぽ",
+ "backPigTailNotes": "このしっぽはあなたを気まぐれなブタのように見せます! 効果なし。",
+ "backTigerTailText": "トラのしっぽ",
+ "backTigerTailNotes": "このしっぽはあなたを獰猛なトラのように見せます! 効果なし。",
+ "backWolfTailText": "オオカミのしっぽ",
+ "backWolfTailNotes": "このしっぽはあなたを忠誠心あるオオカミのように見せます! 効果なし。",
"body": "胴のアクセサリー",
"bodyCapitalized": "胴のアクセサリー",
"bodyBase0Text": "胴のアクセサリーなし",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "「ゴーグルは目にかけるものだ」、「頭にのせるだけのゴーグルなんてだれも要らないぞ」ってヤツらはいうけど、ハハッ! 見せつけてやりましょう。効果なし。3015年8月寄付会員アイテム。",
"headAccessoryArmoireComicalArrowText": "お笑いの矢",
"headAccessoryArmoireComicalArrowNotes": "この妙なアイテムは笑えるでしょう! 力が<%= str %>上がります。ラッキー宝箱 : 個別のアイテム。",
+ "headAccessoryArmoireGogglesOfBookbindingText": "製本のゴーグル",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "このゴーグルは、大きいのも小さいのも、どんなタスクにも的を絞る助けになるでしょう! 知覚が <%= per %> 上がります。ラッキー宝箱 : 製本屋さんセット ( 4 個中 1 個目のアイテム)。",
"eyewear": "アイウエア",
"eyewearCapitalized": "アイウェア",
"eyewearBase0Text": "アイウエアなし",
diff --git a/website/common/locales/ja/generic.json b/website/common/locales/ja/generic.json
index 4782839028..90b0d94674 100644
--- a/website/common/locales/ja/generic.json
+++ b/website/common/locales/ja/generic.json
@@ -71,6 +71,7 @@
"submit": "送信する",
"close": "閉じる",
"saveAndClose": "保存して閉じる",
+ "saveAndConfirm": "セーブして承認する",
"cancel": "キャンセル",
"ok": "OK",
"add": "追加",
diff --git a/website/common/locales/ja/groups.json b/website/common/locales/ja/groups.json
index 3d623c885d..f05abb2e5d 100644
--- a/website/common/locales/ja/groups.json
+++ b/website/common/locales/ja/groups.json
@@ -6,6 +6,7 @@
"innText": "あなたはロッジで休んでいます! ロッジにチェックインしている間、一日の終わりに日課が未実施でもダメージを受けません、しかし日課は毎日リフレッシュされます。注意: もしあなたがボスクエストに参加しているのなら、あなたのパーティの仲間が日課をし損ねたとき、その仲間もロッジに泊まっていない限り、あなたはダメージを受けます! また、あなたのボスへのダメージ(または収集したアイテム)はロッジをチェックアウトするまで適用されません。",
"innTextBroken": "ロッジで休んでいるようですね...ロッジに泊まっている間はサボった日課でダメージを受けることはありませんが、日課は毎日更新されます...もしボスクエストに参加している場合、パーティーの仲間がサボった日課の分のボスからのダメージは、ロッジにいても受けてしまいます...もし、そのパーティーの仲間もロッジにいるなら話は別ですが...また、あなたが日課をやらなかった分のダメージ(もしくは集めたアイテム)は、ロッジをチェックアウトするまで無効です...疲れた...",
"innCheckOutBanner": "あなたはロッジで休憩中です。日課をこなさなくてもダメージを受けませんが、クエストを進めることもできません。",
+ "innCheckOutBannerShort": "あなたは宿屋にチェックインしています。",
"resumeDamage": "ダメージを再開",
"helpfulLinks": "便利なリンク集",
"communityGuidelinesLink": "コミュニティー ガイドライン",
@@ -115,7 +116,7 @@
"sortTier": "段位で並べ替え",
"ascendingAbbrev": "昇順",
"descendingAbbrev": "降順",
- "applySortToHeader": "Apply Sort Options to Party Header",
+ "applySortToHeader": "パーティーヘッダにソートを適用する",
"confirmGuild": "ジェム4個でギルドを作成しますか?",
"leaveGroupCha": "ギルドのチャレンジをやめて...",
"confirm": "確認",
@@ -131,17 +132,17 @@
"clearAll": "すべてのメッセージを削除する",
"confirmDeleteAllMessages": "受信トレイの全てのメッセージを削除してよろしいですか? 既に送ったメッセージはまだ他のユーザに見られる状態です。",
"PMPlaceholderTitle": "ここにはまだ何もありません。",
- "PMPlaceholderDescription": "Select a conversation on the left",
- "PMPlaceholderTitleRevoked": "Your chat privileges have been revoked",
- "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.",
+ "PMPlaceholderDescription": "左から会話を選択してください",
+ "PMPlaceholderTitleRevoked": "あなたのチャットの特権は取り消されました",
+ "PMPlaceholderDescriptionRevoked": "あなたのチャットの特権は取り消されたため、プライベートメッセージを送ることはできません。もしこのことについて疑問や懸念があるときは、admin@habitica.comへメールを送ってスタッフとの話し合いをお願いします。",
"PMReceive": "プライベートメッセージを受け取る",
- "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": "プライベートメッセージは有効です。ユーザーはあなたのプロフィールからあなたに連絡できます。",
+ "PMDisabledOptPopoverText": "プライベートメッセージは無効です。ユーザーがあなたのプロフィールからあなたへ連絡をとるのを許可するには、このオプションを有効にしてください。",
+ "PMDisabledCaptionTitle": "プライベートメッセージは停止されました",
+ "PMDisabledCaptionText": "あなたはまだメッセージを送ることはできますが、誰もあなたにメッセージを送ることはできません。",
"block": "ブロックする",
"unblock": "ブロックを解除する",
- "blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.",
+ "blockWarning": "ブロック - もしプレイヤーが現在モデレーターである、もしくは将来モデレーターになった場合は効果がありません。",
"pm-reply": "返信する",
"inbox": "受信トレイ",
"messageRequired": "メッセージが必要です。",
@@ -258,7 +259,7 @@
"userRequestsApproval": "<%= userName %>がタスク承認をもとめています",
"userCountRequestsApproval": "<%= userCount %>人のメンバーが承認を求めています。",
"youAreRequestingApproval": "タスク承認を依頼中です",
- "chatPrivilegesRevoked": "You cannot do that because your chat privileges have been revoked.",
+ "chatPrivilegesRevoked": "あなたのチャットの特権は取り消されているため、それはできません。",
"cannotCreatePublicGuildWhenMuted": "あなたのチャットの特権は取り消されているので、公共ギルドを作成することはできません。",
"cannotInviteWhenMuted": "あなたのチャットの特権は取り消されているので、誰かをギルドやパーティーに招待することはできません。",
"newChatMessagePlainNotification": "<%= groupName %> に <%= authorName %> からの新着メッセージがあります。ここをクリックするとチャットページが開きます!",
@@ -269,11 +270,11 @@
"to": "→ ",
"from": "← ",
"desktopNotificationsText": "パーティーチャットの新しいメッセージをデスクトップ通知するため、あなたの認証が必要です! ブラウザに表示される案内にそって、許可をお願いします。
通知されるのは、Habitica を開いている間だけです。もしお気に召さなければ、ブラウザの設定で無効に設定することもできます。
このメッセージボックスは、決定がなされた後、自動的に閉じます。",
- "confirmAddTag": "「<%= tag %>」を追加します。よろしいですか?",
+ "confirmAddTag": "「<%= tag %>」にこのタスクを割り当てます。よろしいですか?",
"confirmRemoveTag": "「<%= tag %>」を削除します。よろしいですか?",
"groupHomeTitle": "ホーム",
"assignTask": "タスクを割り当てる",
- "claim": "受け取る",
+ "claim": "担当する",
"removeClaim": "担当を解除",
"onlyGroupLeaderCanManageSubscription": "グループの登録管理は、グループリーダーだけが行います",
"yourTaskHasBeenApproved": "あなたのタスク \"<%= taskText %>\" は承認されました。",
@@ -292,9 +293,9 @@
"groupBenefitOneTitle": "共有されたタスクリストを作成",
"groupBenefitOneDescription": "メンバーの誰でも閲覧と編集ができる共有されたタスクリストを設定します。",
"groupBenefitTwoTitle": "タスクをグループ内のメンバーに割り当てる",
- "groupBenefitTwoDescription": "同僚に重要なメールについての回答がほしい?ルームメイトに日用品を運んでほしい?タスクを作成して彼らに割り当てましょう。割り当てたタスクは自動的に彼らのタスク一覧に表示されます。",
- "groupBenefitThreeTitle": "取り組んでいるタスクを確保しておく",
- "groupBenefitThreeDescription": "グループタスクは、クリックひとつであなたのものとして確保できます。誰がどのタスクに取り組んでいるのかはっきりさせておきましょう!",
+ "groupBenefitTwoDescription": "同僚に重要なメールについての回答がほしいですか? ルームメイトに日用品を運んでほしいですか? タスクを作成して彼らに割り当てましょう。割り当てたタスクは自動的に彼らのタスク一覧に表示されます。",
+ "groupBenefitThreeTitle": "取り組んでいるタスクの担当になる",
+ "groupBenefitThreeDescription": "どのグループタスクも、クリックひとつであなたの担当として表明できます。誰がどのタスクに取り組んでいるのかはっきりさせておきましょう!",
"groupBenefitFourTitle": "特別な承認が必要なタスクをマーク",
"groupBenefitFourDescription": "ユーザーがごほうびを得る前に、タスクが本当に完了されたのかを確かめたいですか? 承認の設定を調節することでコントロールを強化できますよ。",
"groupBenefitFiveTitle": "あなたのグループ内だけでチャット",
@@ -303,7 +304,7 @@
"groupBenefitSixDescription": "毎月の限定アイテムやジェムをゴールドで購入できる権利を含む、すべての寄付者特典を手に入れましょう!(もしあなたがすでに寄付会員であれば、古いほうの寄付は中止されますが、「神秘の砂時計」などの寄付の継続特典は残ります。)",
"groupBenefitSevenTitle": "ぴかぴかの限定乗騎、ジャッカロープを手に入れよう",
"groupBenefitEightTitle": "タスク管理を助けるためにグループマネージャーを追加",
- "groupBenefitEightDescription": "グループの責任を分かち合いたいですか? メンバーをグループマネージャーに昇進させ、リーダーがタスクを追加、割り当て、承認するのを手伝ってもらいましょう!",
+ "groupBenefitEightDescription": "グループの責任を分かち合いたいですか? メンバーをグループマネージャーに昇進させ、リーダーがタスクを追加、割り当て、承認するのを手伝ってもらいましょう!",
"groupBenefitMessageLimitTitle": "メッセージの上限を増やす",
"groupBenefitMessageLimitDescription": "あなたのメッセージの上限は2倍になり、最大400件までのメッセージを保存することができます!",
"teamBasedTasks": "チーム基準のタスク",
@@ -321,21 +322,21 @@
"approvalsTitle": "承認待ちのタスク",
"upgradeTitle": "アップグレード",
"blankApprovalsDescription": "あなたのグループが、あなたの承認を必要とするタスクを片付けた場合はここに表示されます!タスクの編集にて承認の条件について設定することができます。",
- "userIsClamingTask": "`<%= username %> has claimed:` <%= task %>",
+ "userIsClamingTask": "<%= username %>が担当しています:<%= task %>",
"approvalRequested": "承認が申請されました",
"refreshApprovals": "承認の更新",
"refreshGroupTasks": "グループタスクの更新",
- "claimedBy": "確保しているユーザー: <%= claimingUsers %>",
+ "claimedBy": "担当しているユーザー:<%= claimingUsers %>",
"cantDeleteAssignedGroupTasks": "あなたへと割り当てられたタスクを削除することはできません。",
"confirmGuildPlanCreation": "このグループを作りますか?",
"onlyGroupLeaderCanInviteToGroupPlan": "寄付が有効化されているグループには,グループのリーダーだけがユーザーを招待できます。",
"paymentDetails": "支払いについての詳細",
- "aboutToJoinCancelledGroupPlan": "あなたはプランが中止されたグループに参加しようとしています。無料の寄付者特典を得ることはできません。",
+ "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.",
+ "youHaveGroupPlan": "あなたはグループプランに加入しているグループのメンバーのため、無料で寄付会員特典が受けられます。これはすでにグループプランに加入したグループにいない場合に終了します。あなたが持つ何ヶ月かの余分な寄付会員特典の残高は、グループプランの終了時に適用されます。",
"cancelGroupSub": "グループプランを中止",
- "confirmCancelGroupPlan": "本当にグループプランを中止し、メンバー全員から無料の寄付者特典を含むすべての特典を削除しますか?",
+ "confirmCancelGroupPlan": "本当にグループプランを中止し、メンバー全員から無料の寄付会員特典を含むすべての特典を削除しますか?",
"canceledGroupPlan": "キャンセルされたグループプラン",
"groupPlanCanceled": "グループプランの終了日",
"purchasedGroupPlanPlanExtraMonths": "あなたは <%= months %> カ月分のグループプラン延長クレジットをもっています。",
@@ -381,16 +382,16 @@
"bronzeTier": "ブロンズ段位",
"privacySettings": "プライバシー設定",
"onlyLeaderCreatesChallenges": "リーダーだけが、チャレンジをつくることができます。",
- "onlyLeaderCreatesChallengesDetail": "With this option selected, ordinary group members cannot create Challenges for the group.",
+ "onlyLeaderCreatesChallengesDetail": "このオプションを選ぶと、一般のグループメンバーはグループのためのチャレンジを作成することができません。",
"privateGuild": "プライベート ギルド",
"charactersRemaining": "残り<%= characters %>文字",
"guildSummary": "概要",
"guildSummaryPlaceholder": "他のHabiticanにあなたのチャレンジを宣伝する簡単な紹介文を書きましょう。何がチャレンジの主な目的で、なぜ参加する必要があるのでしょうか? Habiticanたちが探すときに見つけやすいように、有用なキーワードを入れてみましょう!",
"groupDescription": "説明",
- "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!",
+ "guildDescriptionPlaceholder": "あなたのギルドについてギルドメンバーが知るべき全てのことについて、より詳しい情報を述べるためにこのセクションを使ってください。役立つヒント、有益なリンク、そして励みになる言葉は全てここへどうぞ!",
"markdownFormattingHelp": "[Markdown記法のヘルプ](http://habitica.wikia.com/wiki/Markdown_Cheat_Sheet)",
"partyDescriptionPlaceholder": "私たちのパーティーの説明です。このパーティーで何をするかが書かれています。このパーティーでやることについてもっと知りたい場合、この説明を読んでください。楽しもう。",
- "guildGemCostInfo": "A Gem cost promotes high quality Guilds and is transferred into your Guild's bank.",
+ "guildGemCostInfo": "ジェムの費用によって高品質のギルドへ昇進させます。そして、ジェムはあなたのギルド口座に移されます。",
"noGuildsTitle": "あなたはどのギルドにも所属していません。",
"noGuildsParagraph1": "ギルドはプレイヤー同士で助け合い、責任を共有し、チャットで励まし合うために作られる社交のためのグループです。",
"noGuildsParagraph2": "ギルドを探すタブをクリックして、あなたの興味にもとづいてお勧めされるギルドを確認したり、一般公開されているギルドを探したり、自分のギルドを作ったりしてみましょう。",
@@ -405,7 +406,7 @@
"createParty": "パーティーを作る",
"inviteMembersNow": "すぐにメンバーを招待したいですか?",
"playInPartyTitle": "パーティーに入ってHabiticaをプレーしましょう!",
- "playInPartyDescription": "Take on amazing quests with friends or on your own. Battle monsters, create Challenges, and help yourself stay accountable through Parties.",
+ "playInPartyDescription": "仲間たちと一緒に、または各自で、素晴らしいクエストに挑戦しましょう。モンスターと戦ったり、チャレンジを作ったり…… そして、パーティーを通じてあなた自身を責任ある状態にし続けてみましょう。",
"startYourOwnPartyTitle": "自分のパーティーを作る",
"startYourOwnPartyDescription": "一人でモンスターと戦うか、好きなだけたくさんの友達を招待して戦おう!",
"shartUserId": "ユーザーIDを共有する",
@@ -442,36 +443,36 @@
"worldBossBullet4": "ワールドボスとの戦いの進み具合と怒りの一撃を確認するために、キャンプ場を定期的にチェックしよう",
"worldBoss": "ワールドボス",
"groupPlanTitle": "チームのためにより高度な機能をお求めですか?",
- "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!",
+ "groupPlanDesc": "小さなチームを管理したい、もしくは家事を整理したいですか? 私たちのグループプランは、プライベートなタスクボードと、あなたのグループメンバー専用のチャットエリアへの独占的なアクセスを提供します!",
"billedMonthly": "毎月の寄付として請求",
"teamBasedTasksList": "チームのタスクリスト",
- "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": "グループ管理コントロール",
- "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.",
+ "teamBasedTasksListDesc": "グループのために見やすく共有されたタスクリストを使ってみましょう。仲間のグループメンバーにタスクを割り当てたり、みんながどんな作業をしているかを明確にするために、それぞれが受け持つタスクの担当を表明してもらいましょう。",
+ "groupManagementControls": "グループのマネジメント・コントロール",
+ "groupManagementControlsDesc": "タスクが本当に完了されたかを確認するためにタスク承認機能を使いましょう。グループメンバーへ任務を共有するためのグループマネージャーを追加し、全てのチームメンバーのためのプライベートなグループチャットを楽しみましょう。",
"inGameBenefits": "ゲーム中のメリット",
- "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.",
+ "inGameBenefitsDesc": "グループメンバーは、限定のジャッカロープの乗騎だけでなく、特別な月ごとの装備セットや、ゴールドでジェムを買う機能など、たくさんの寄付特典を手に入れます。",
+ "inspireYourParty": "パーティで刺激し合い、一緒に人生をゲーム化しましょう。",
"letsMakeAccount": "まずはアカウントを作成しましょう",
"nameYourGroup": "次に、あなたのグループの名前をつけましょう",
- "exampleGroupName": "Example: Avengers Academy",
- "exampleGroupDesc": "For those selected to join the training academy for The Avengers Superhero Initiative",
+ "exampleGroupName": "例: Avengers Academy",
+ "exampleGroupDesc": "敵を討つスーパーヒーローの第一歩として、訓練学校へ入学する選ばれし者たちのために",
"thisGroupInviteOnly": "このグループは招待制です。",
"gettingStarted": "はじめよう",
- "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.",
+ "congratsOnGroupPlan": "おめでとうございます! あなたの新しいグループが設立されました。こちらにいくつかのよくある質問と答えがあります。",
+ "whatsIncludedGroup": "寄付特典に含まれるもの",
+ "whatsIncludedGroupDesc": "グループのメンバー全員がたくさんの寄付特典を受け取ることができます。月ごとの寄付会員アイテム、ゴールドでジェムを買う機能、そしてグループプランメンバーシップのユーザー限定の、高貴な紫のジャッカロープの乗騎などです。",
+ "howDoesBillingWork": "どのように課金しますか?",
+ "howDoesBillingWorkDesc": "グループリーダーは、月ごとの基準でグループメンバー数に基づいた請求をされます。この料金には、グループリーダーのための $9 (USD) がふくまれ、 さらに各グループメンバーごとに $3 USD が加算されます。 例えば、4人のユーザーのグループは、1人のグループリーダーと3人のグループメンバーで構成されるため、月ごとに $18 USD の費用がかかります。",
"howToAssignTask": "どのようにタスクを割り当てますか?",
- "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.",
+ "howToAssignTaskDesc": "タスクを作る画面の中の「割り当て対象」フィールドにユーザーネームを記入することで、1人かそれ以上のグループメンバー(グループリーダーやマネージャー自身も含む)にタスクを割り当てましょう。タスクを作った後でも、タスクの編集で「割り当て対象」フィールドにユーザーを追加することで割り当てを決定することもできます。",
+ "howToRequireApproval": "承認を求めるとき、どのようにタスクにマークしますか?",
+ "howToRequireApprovalDesc": "グループリーダーかマネージャーに特定のタスクの承認を要求するときは、「承認を求める」設定に切り替えてマークしましょう。そのタスクに完了のチェックを入れたユーザーは、タスクが承認されるまで完了したことへの報酬を受け取ることはできません。",
+ "howToRequireApprovalDesc2": "グループのリーダーとマネージャーは、タスクボードか告知パネルから直接タスクの完了を承認することができます。",
"whatIsGroupManager": "グループマネージャーとは?",
- "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.",
+ "whatIsGroupManagerDesc": "グループマネージャーは、グループの請求明細にアクセスすることはできない役割ですが、グループメンバーのために共有タスクを作ったり、指示したり、承認したりすることができます。グループメンバーリストからグループマネージャーに昇進させましょう。",
"goToTaskBoard": "タスクボードに戻る",
- "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"
+ "sharedCompletion": "共有タスク",
+ "recurringCompletion": "なし - グループタスクは完了しません。",
+ "singleCompletion": "シングル - アサインされたユーザーの誰かが終えると完了します。",
+ "allAssignedCompletion": "全員 - アサインされたユーザーの全員が終えると完了します。"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/limited.json b/website/common/locales/ja/limited.json
index 4e41fc4a76..05c78af6a8 100644
--- a/website/common/locales/ja/limited.json
+++ b/website/common/locales/ja/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "ミノカサゴの魔道士 (魔道士)",
"summer2018MerfolkMonarchSet": "人魚王 (治療師)",
"summer2018FisherRogueSet": "釣り師の盗賊 (盗賊)",
+ "fall2018MinotaurWarriorSet": "ミノタウロス (戦士)",
+ "fall2018CandymancerMageSet": "キャンディマンサー (魔道士)",
+ "fall2018CarnivorousPlantSet": "食肉植物 (治療師)",
+ "fall2018AlterEgoSet": "オルター・エゴ (盗賊)",
"eventAvailability": "<%= date(locale) %>まで購入できます。",
"dateEndMarch": "4月30日",
"dateEndApril": "4月19日",
@@ -132,6 +136,7 @@
"dateEndJune": "6月14日",
"dateEndJuly": "7月31日",
"dateEndAugust": "8月31日",
+ "dateEndSeptember": "9月21日",
"dateEndOctober": "10月31日",
"dateEndNovember": "11月30日",
"dateEndJanuary": "1月31日",
diff --git a/website/common/locales/ja/messages.json b/website/common/locales/ja/messages.json
index 5e7acc478b..7a73d2ee9a 100644
--- a/website/common/locales/ja/messages.json
+++ b/website/common/locales/ja/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "ジェムが足りません!",
"messageAuthPasswordMustMatch": ":password と :confirmPassword が一致していません。",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword は必須です。",
- "messageAuthUsernameTaken": "そのユーザー名は既に使われています",
"messageAuthEmailTaken": "そのEmailアドレスは既に使われています",
"messageAuthNoUserFound": "ユーザーが見つかりませんでした。",
"messageAuthMustBeLoggedIn": "まずログインしてください。",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "このアイテムは1つ以上購入することができません。",
"notificationsRequired": "通知 ID が必要です。",
"unallocatedStatsPoints": "<%= points %>ポイントが割り当てできます。",
- "beginningOfConversation": "<%= userName %>との会話の始まりです。相手に対して思いやりと敬意を持ち、コミュニティガイドラインを守ることを忘れないでください!"
+ "beginningOfConversation": "<%= userName %>との会話の始まりです。相手に対して思いやりと敬意を持ち、コミュニティガイドラインを守ることを忘れないでください!",
+ "messageDeletedUser": "申し訳ありません。このユーザーはアカウントを削除しています。"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/questscontent.json b/website/common/locales/ja/questscontent.json
index 6fc6fedbca..f96b3dbb59 100644
--- a/website/common/locales/ja/questscontent.json
+++ b/website/common/locales/ja/questscontent.json
@@ -60,12 +60,12 @@
"questSpiderUnlockText": "市場でクモのたまごを買えるようにする",
"questGroupVice": "バイス、影のウィルム",
"questVice1Text": "バイス・第1 部:ドラゴンの影響から自分を解放する",
- "questVice1Notes": "うわさでは、Habitica 山の洞穴に、恐ろしい魔物がひそんでいる、と。このモンスターの存在は、この国の勇者たちの意思をねじ曲げ、悪いくせと怠け心へと向かわせるのです! このモンスターは、計り知れない力と自らの影を取りこんだ巨大なドラゴン、その名も「バイス」。悪と名付けられた危険な影のウィルム(ドラゴン)。勇敢な Habitica の挑戦者たちよ! 立ち上がり、力を合わせてこの汚らわしい魔物を打ち倒しましょう。ただし、この計り知れない力に立ち向かう自信のある者だけで。
バイス・第1 部 :
あなた自身がすでに魔物の支配下におかれているとしたら、どうやってその魔物とたたかうことができるでしょうか? 怠け心と悪習の犠牲となってはいけません! ドラゴンの暗い影響力と懸命にたたかい、バイスからの支配をはねのけるのです!
",
+ "questVice1Notes": "うわさでは、Habitica 山の洞穴に、恐ろしい魔物がひそんでいるそうです。このモンスターの存在は、この国の勇者たちの意思をねじ曲げ、悪いくせと怠け心へと向かわせるのです! このモンスターは、計り知れない力と自らの影を取りこんだ巨大なドラゴン、その名も「バイス」。悪と名付けられた危険な影のウィルム(ドラゴン)。勇敢な Habitica の挑戦者たちよ! 立ち上がり、力を合わせてこの汚らわしい魔物を打ち倒しましょう。ただし、この計り知れない力に立ち向かう自信のある者だけで。
バイス・第1 部 :
あなた自身がすでに魔物の支配下におかれているとしたら、どうやってその魔物とたたかうことができるでしょうか? 怠け心と悪習の犠牲となってはいけません! ドラゴンの暗い影響力と懸命にたたかい、バイスからの支配をはねのけるのです!
",
"questVice1Boss": "バイスの影",
"questVice1Completion": "あなたを支配していたバイスの影響力は消え去り、いつの間にか取り戻していた力が湧き上がるのをあなたは感じます。おめでとう!しかし、より恐ろしい敵があなたを待ち受けています・・・",
"questVice1DropVice2Quest": "バイス・第 2 部 ( 巻物 )",
"questVice2Text": "バイス・第 2 部:ウィルムの隠れ家を探せ",
- "questVice2Notes": "自分自身とウィルムの影響力に立ち向かえる自分の能力とへの信頼で、あなたのパーティーは Habitica 山へ向かう道を切り開くことができました。山の洞穴の入り口で、足が止まりました。影のうねりです。まるで霧のようであり、目の前で口を開け、押し寄せてくるようです。前を見ることも不可能です。ランタンからの光は、影がはじまるところで、突然さえぎられてしまいます。奇跡の光だけがドラゴンの地獄のかすみを突きぬけることができるといいます。光のクリスタルを十分探し出すことができれば、ドラゴンへの道を進むことができるはずです。",
+ "questVice2Notes": "影のウィルムであるバイスの影響力に立ち向かえる自分自身と 自分の能力への信頼で、あなたのパーティーは Habitica 山へ向かう道を切り開くことができました。山の洞穴の入り口で、足が止まりました。影のうねりです。まるで霧のようであり、目の前で口を開け、押し寄せてくるようです。前を見ることも不可能です。ランタンからの光は、影がはじまるところで、突然さえぎられてしまいます。奇跡の光だけがドラゴンの地獄のかすみを突きぬけることができると言われています。光のクリスタルを十分探し出すことができれば、ドラゴンへの道を進むことができるはずです。 ",
"questVice2CollectLightCrystal": "光のクリスタル",
"questVice2Completion": "最後のクリスタルを高く掲げると影は追い散らされ、目の前に道が開けました。胸の高鳴りとともに、あなたは洞窟へと歩みを進めます。",
"questVice2DropVice3Quest": "バイス・第 3 部 ( 巻物 )",
@@ -73,7 +73,7 @@
"questVice3Notes": "多くの努力の結果、パーティーはバイスの巣を見つけました。この図体の大きいモンスターはパーティーに嫌悪の目を向けます。まわりを影の渦が取り囲み、ささやき声が頭の中に直接ひびいてくるのです。「もっと愚かな Habitica の市民が私を止めにくる? かわいいものだ。来ない方が賢かったのにな」。うろこで覆われた巨人は頭をもたげて攻撃の構えをとっています。これはチャンスです! これまで得たものすべてをくらわせ、バイスを倒し決着をつけましょう!",
"questVice3Completion": "影は洞穴から消え、鋼のような静けさが訪れました。これは驚いた、あなたはやりました! バイスを倒したのです! あなたとパーティーはやっと、ほっと息をつくことでしょう。勇敢なHabitica の挑戦者たち、勝利を楽しみましょう。しかし、バイスとの戦いで学んだことを教訓に、前に進みましょう。まだやるべきタスク、倒すべき今は目に見えないより凶悪な悪魔も残っているのです。",
"questVice3Boss": "バイス、影のウィルム",
- "questVice3DropWeaponSpecial2": "Stephen Weber のドラゴンの棒",
+ "questVice3DropWeaponSpecial2": "ステファン・ウェバーの竜のシャフト",
"questVice3DropDragonEgg": "ドラゴン ( たまご )",
"questVice3DropShadeHatchingPotion": "影のたまごがえしの薬",
"questGroupMoonstone": "復活のリシディヴェート",
@@ -611,10 +611,18 @@
"questSeaSerpentBoss": "巨大なシーサーペント",
"questSeaSerpentDropSeaSerpentEgg": "シーサーペント (たまご)",
"questSeaSerpentUnlockText": "市場でシーサーペントのたまごを買えるようにする",
- "questKangarooText": "Kangaroo Catastrophe",
+ "questKangarooText": "カンガルーの災難",
"questKangarooNotes": "あなたは最後まで残っているあのタスクを終わらせるべきかもしれません…… ほら、あのタスクはいつもぐるりと回って戻ってくるのに、あなたは避け続けているでしょう?\nしかし @Mewrose と @LilithofAlfheim は、珍しいカンガルーの群れがイッポイッポ平原を通るのを見に行こうとあなたと @stefalupagus を誘いました。こんなの断れませんよね!?\nカンガルーの群れが視界に入ってきたとき、何かがあなたの後頭部をバシッ と叩きました!
脳内を星がぐわんぐわんする中で、あなたは原因である物体―― あなたがずっと先送りしてきた、まさにあのタスクが表面に刻まれた赤黒いブーメランを見つけます。素早く周りをちらっと見て、他の仲間たちも同じような目にあっていることを確かめました。一匹の大きなカンガルーが、きざったらしくニカッと笑ってあなたを見ています。彼女とあの恐ろしいタスクにきっぱりと立ち向かうよう、けしかけているようです!",
"questKangarooCompletion": "「今だ!」 あなたはカンガルーに向けてブーメランを投げ返すよう仲間たちに合図しました。当たるたびにあの獣は遠くへ飛び跳ねていき、ついに彼女は逃げ出します。あとには赤黒い土埃が立ち込めて、いくつかのたまごと、いくらかのゴールドしか残されていませんでした。
@Mewrose はかつてカンガルーが立っていた場所に歩き進みます。「ねぇ、あのブーメランはどこへ行ったの?」
「あれはたぶん、あの赤黒い土埃が立ち込める中へ消えたんだろう。私たちがそれぞれのタスクを終わらせたときにね。」 @stefalupagus は思いを巡らせました。
@LilithofAlfheim は地平線を眺めます。「また違うカンガルーの群れが私たちの方に向かってきてない?」
あなたたちは全員で一目散にHabiticaの街へ走って帰りました。また後頭部にたんこぶをつくるよりも、難しいタスクに立ち向かった方が良いでしょう!",
- "questKangarooBoss": "Catastrophic Kangaroo",
+ "questKangarooBoss": "カタストロフィック・カンガルー",
"questKangarooDropKangarooEgg": "カンガルー (たまご)",
- "questKangarooUnlockText": "市場でカンガルーのたまごを買えるようにする"
+ "questKangarooUnlockText": "市場でカンガルーのたまごを買えるようにする",
+ "forestFriendsText": "「森の仲間たち」クエストセット",
+ "forestFriendsNotes": "「春の精」「巨大ハリネズミ」「混乱の木」のセット。9月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": "アリゲーター ( たまご )",
+ "questAlligatorUnlockText": "市場でアリゲーターのたまごを買えるようにする"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/settings.json b/website/common/locales/ja/settings.json
index 2461c928fb..3a854a647d 100644
--- a/website/common/locales/ja/settings.json
+++ b/website/common/locales/ja/settings.json
@@ -54,13 +54,13 @@
"misc": "その他",
"showHeader": "ヘッダーを表示する",
"changePass": "パスワードを変更する",
- "changeUsername": "ログイン名を変更する",
+ "changeUsername": "ユーザー名を変更する",
"changeEmail": "メールアドレスを変更する",
"newEmail": "新しいメールアドレス",
"oldPass": "元のパスワード",
"newPass": "新しいパスワード",
"confirmPass": "新しいパスワードを確認する",
- "newUsername": "新しいログイン名",
+ "newUsername": "新しいユーザー名",
"dangerZone": "危険地帯",
"resetText1": "警告‼ この操作で、あなたのアカウントの多くの部分をリセットします。とてもがっかりすることです。しかし、お試しで短時間プレーした初心者ユーザーの一部には便利だと思われます。",
"resetText2": "すべてのレベル、ゴールド、経験値を失います。すべてのタスク ( チャレンジ関連のものを除く ) は完全に削除され、履歴データもすべて削除されます。すべての装備を失いますが、限定装備や寄付会員むけのミステリーアイテムを含め、現在あなたがもっている物はすべて買い戻すことができます(クラス固有の装備は、該当するクラスにならなくてはいけません)。現在のクラスと、ペットと乗騎は維持されます。「転生のオーブ」を使のはいかがでしょうか? タスクと装備も維持される、より安全な選択肢です。",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "入力されたパスワード再設定用コードは不正、または失効しています。",
"passwordChangeSuccess": "パスワードが変更されました。今後、新しいパスワードでアカウントにアクセスできます。",
"passwordSuccess": "パスワードを変更しました",
- "usernameSuccess": "ログイン名を変更しました",
+ "usernameSuccess": "ユーザー名を変更しました",
+ "displayNameSuccess": "表示名を変更しました",
"emailSuccess": "メールアドレスを変更しました",
"detachSocial": "<%= network %> との連携解除",
"detachedSocial": "<%= network %>認証 との連携を解除しました",
"addedLocalAuth": "ローカル認証を追加しました",
"data": "データ",
"exportData": "データをエクスポート",
- "usernameOrEmail": "ログイン名またはメールアドレス",
+ "usernameOrEmail": "ユーザー名またはメールアドレス",
"email": "メール",
"registerWithSocial": "<%= network %> で登録",
"registeredWithSocial": "<%= network %> で登録しました。",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "パーティーのメンバーが1人の場合、「パーティに招待する」ボタンを表示する",
"saveCustomDayStart": "日付更新の時間を保存する",
"registration": "登録",
- "addLocalAuth": "ローカル認証を追加 : ",
+ "addLocalAuth": "メールアドレスとログインパスワードを追加する",
"generateCodes": "コードを生成する",
"generate": "生成する",
"getCodes": "コードを取得する",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica はお使いのPCに設定されたタイム ゾーンを利用します。現在の設定 : <%= utc %>",
"timezoneInfo": "タイムゾーンの設定が間違っているなら、このページをブラウザのリロード ( 再読み込み ) またはリフレッシュ ( 更新 ) ボタンで、Habitica を最新の状態にしてください。それでもまだ間違っているなら、PC のタイムゾーンを調整し、再度このページをリロード ( 再読み込み ) してください
もし、別のPCやモバイル機器でも Habitica を使っているなら、すべてを同じタイムゾーンに設定しなくてはなりません。 もし日課がも違った時間にリセットされたら、これまでのチェックを別のすべてのPCとモバイル機器の Web ブラウザでくり返してください。",
"push": "プッシュ",
- "about": "Habitica について"
+ "about": "Habitica について",
+ "setUsernameNotificationTitle": "あなたのユーザー名を承認してください!",
+ "setUsernameNotificationBody": "私たちはもうすぐログイン名を、固有の、公開のユーザー名に移行します。このユーザー名は、招待、チャットでの@返信、メッセージのやりとりなどで使用されます。",
+ "usernameIssueSlur": "ユーザー名に不適切な言葉を含めることはできません。",
+ "usernameIssueForbidden": "ユーザー名に禁止された言葉を含めることはできません。",
+ "usernameIssueLength": "ユーザー名は1~20文字以内でなくてはなりません。",
+ "usernameIssueInvalidCharacters": "ユーザー名に使える文字は、a~zの英字、0~9の数字、ハイフン、アンダーバーのみです。",
+ "currentUsername": "現在のユーザー名",
+ "displaynameIssueLength": "表示名は1~30文字以内でなくてはなりません。",
+ "displaynameIssueSlur": "表示名に不適切な言葉を含めることはできません。",
+ "goToSettings": "設定を行う",
+ "usernameVerifiedConfirmation": "あなたのユーザー名、<%= username %>、は承認されました!",
+ "usernameNotVerified": "あなたのユーザー名を承認してください。",
+ "changeUsernameDisclaimer": "私たちはもうすぐログイン名を、固有の、公開のユーザー名に移行します。このユーザー名は、招待、チャットでの@返信、メッセージのやりとりなどで使用されます。"
}
\ No newline at end of file
diff --git a/website/common/locales/ja/subscriber.json b/website/common/locales/ja/subscriber.json
index e9c21fe7df..3a9c01a56e 100644
--- a/website/common/locales/ja/subscriber.json
+++ b/website/common/locales/ja/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "グッとくるクジャクセット",
"mysterySet201806": " 誘惑のチョウチンアンコウ セット",
"mysterySet201807": "シーサーペント セット",
+ "mysterySet201808": "溶岩竜セット",
+ "mysterySet201809": "秋のよろい セット",
"mysterySet301404": "スチームパンク標準 セット",
"mysterySet301405": "スチームパンク アクセサリー セット",
"mysterySet301703": "クジャクのスチームパンク セット",
diff --git a/website/common/locales/nl/backgrounds.json b/website/common/locales/nl/backgrounds.json
index 628d736108..9a9c9a6b32 100644
--- a/website/common/locales/nl/backgrounds.json
+++ b/website/common/locales/nl/backgrounds.json
@@ -368,10 +368,24 @@
"backgroundTidePoolText": "Getijden Bad",
"backgroundTidePoolNotes": "Observeer het leven van de oceaan bij een Getijden Bad.",
"backgrounds082018": "SET 51: Uitgebracht augustus 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
+ "backgroundTrainingGroundsText": "Oefenterreinen",
+ "backgroundTrainingGroundsNotes": "Train op de Oefenterreinen",
+ "backgroundFlyingOverRockyCanyonText": "Rotsachtig Ravijn",
+ "backgroundFlyingOverRockyCanyonNotes": "Kijk omlaag naar een verademend landschap wanneer je over een Rotsachtig Ravijn vliegt.",
"backgroundBridgeText": "Brug",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Ga over een charmante Brug.",
+ "backgrounds092018": "SET 52: Uitgebracht September 2018",
+ "backgroundApplePickingText": "Appel Plukken",
+ "backgroundApplePickingNotes": "Ga Appels Plukken en breng een er mee naar huis.",
+ "backgroundGiantBookText": "Reuzen Boek",
+ "backgroundGiantBookNotes": "Lees terwijl je door de pagina's van een Reuzen Boek gaat.",
+ "backgroundCozyBarnText": "Gezellige Schuur",
+ "backgroundCozyBarnNotes": "Ontspan met je dieren en rijdieren in hun gezellige schuur",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/nl/character.json b/website/common/locales/nl/character.json
index 8b1e2db43e..89ba2f3689 100644
--- a/website/common/locales/nl/character.json
+++ b/website/common/locales/nl/character.json
@@ -8,6 +8,8 @@
"other": "Overige",
"fullName": "Volledige naam",
"displayName": "Weergegeven naam",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Foto",
"displayBlurb": "Blurb",
"displayBlurbPlaceholder": "Stel jezelf voor, alsjeblieft",
@@ -62,8 +64,8 @@
"winteryColors": "Winterkleuren",
"equipment": "Uitrusting",
"equipmentBonus": "Uitrusting",
- "equipmentBonusText": "Stat bonuses provided by your equipped battle gear. See the Equipment tab under Inventory to select your battle gear.",
- "classBonusText": "Your class (Warrior, if you haven't unlocked or selected another class) uses its own equipment more effectively than gear from other classes. Equipped gear from your current class gets a 50% boost to the Stat bonus it grants.",
+ "equipmentBonusText": "Door je gevechtsuitrusting geleverde bonuspunten voor je eigenschappen. Zie het Uitrustings-tabblad onder Boedel om je gevechtsuitrusting te selecteren.",
+ "classBonusText": "Jouw klasse (Krijger, als je nog geen andere klasse hebt vrijgespeeld of geselecteerd) gebruikt zijn eigen uitrusting effectiever dan de uitrusting van een andere klasse. Uitrustingsstukken die horen bij je huidige klasse geven een 50% bonus bovenop de eigenschapsbonus die het normaal al verleent.",
"classEquipBonus": "Klassebonus",
"battleGear": "Strijduitrusting",
"gear": "Uitrusting",
@@ -72,9 +74,9 @@
"costume": "Kostuum",
"costumeText": "Als een andere uitrusting mooier vindt dan de uitrusting die je gebruikt, vink dan \"Kostuum gebruiken\" aan om een andere uitrusting zichtbaar te maken terwijl je je strijduitrusting eronder draagt.",
"useCostume": "Kostuum gebruiken",
- "useCostumeInfo1": "Click \"Use Costume\" to equip items to your avatar without affecting the Stats from your Battle Gear! This means that you can equip for the best Stats on the left, and dress up your avatar with your equipment on the right.",
- "useCostumeInfo2": "Once you click \"Use Costume\" your avatar will look pretty basic... but don't worry! If you look on the left, you'll see that your Battle Gear is still equipped. Next, you can make things fancy! Anything you equip on the right won't affect your Stats, but can make you look super awesome. Try out different combos, mixing sets, and coordinating your Costume with your pets, mounts, and backgrounds.
Got more questions? Check out the Costume page on the wiki. Find the perfect ensemble? Show it off in the Costume Carnival guild or brag in the Tavern!",
- "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.",
+ "useCostumeInfo1": "Klik op \"Kostuum gebruiken\" om jouw avatar voorwerpen aan te laten trekken zonder de Eigenschappen, die je van jouw Strijduitrusting krijgt, te veranderen! Hierdoor kun je links de uitrusting met de beste eigenschappen gebruiken, en rechts je avatar aankleden met andere uitrusting.",
+ "useCostumeInfo2": "Als je op \"Kostuum gebruiken\" klikt, ziet je avatar er vrij simpel uit... maar maak je geen zorgen! Als je aan de linkerkant kijkt, zie je dat je strijduitrusting nog steeds actief is. Nu kun je het interessant maken! Alles wat je aan de rechterkant aanklikt om aan te trekken heeft geen invloed op je eigenschappen, maar kan er wel voor zorgen dat je er fantastisch uitziet. Probeer de verschillende combinaties eens - mix verschillende sets, en zoek je kostuum uit bij je huisdieren, rijdieren en achtergronden.
Heb je nog vragen? Kijk dan eens naar de Kostuumpagina op de wiki. Heb je de perfecte outfit gevonden? Laat hem dan zien in het Carnavals Verkleedgilde of schep erover op in de Herberg!",
+ "costumePopoverText": "Selecteer \"Kostuum gebruiken\" om jouw avatar voorwerpen aan te laten trekken zonder de Eigenschappen, die je van jouw Strijduitrusting krijgt, te veranderen! Dit betekent dat je jouw avatar elke uitrusting aan kan trekken, terwijl je alsnog je Strijduitrusting gebruikt.",
"autoEquipPopoverText": "Selecteer deze optie om een uitrusting automatisch aan te trekken als je hem koopt.",
"costumeDisabled": "Je hebt je kostuum uitgezet.",
"gearAchievement": "Je hebt de prestatie \"Hoogst haalbare uitrusting\" behaald door de hoogst haalbare uitrusting voor je klasse aan te schaffen! Je hebt de volgende sets compleet gemaakt:",
@@ -115,7 +117,7 @@
"levelBonus": "Niveaugerelateerde bonus",
"levelBonusText": "Elke eigenschap krijgt een bonus gelijk aan de helft van (jouw niveau min 1).",
"allocatedPoints": "Toegewezen punten",
- "allocatedPointsText": "Stat Points you've earned and assigned. Assign Points using the Character Build column.",
+ "allocatedPointsText": "Eigenschapspunten die je hebt verdiend en toegewezen. Wijs punten toe met behulp van de Karakterbouw-kolom.",
"allocated": "Toegewezen",
"buffs": "Versterkingen",
"buffsText": "Tijdelijke eigenschapsbonussen afkomstig van vaardigheden en prestaties. Deze verdwijnen aan het einde van de dag. Je kunt de vaardigheden die je hebt vrijgespeeld vinden in de Beloningslijst van de Takenpagina.",
@@ -128,23 +130,23 @@
"mage": "Magiër",
"wizard": "Magiër",
"mystery": "Verrassingsartikelen",
- "changeClass": "Change Class, Refund Stat Points",
+ "changeClass": "Verander van Klasse, Eigenschapspunten terugkrijgen",
"lvl10ChangeClass": "Om van klasse te veranderen moet je ten minste niveau 10 zijn.",
"changeClassConfirmCost": "Weet je zeker dat je je klasse wil veranderen voor 3 edelstenen?",
"invalidClass": "Ongeldige klasse. Specificeer \"krijger\", \"dief\", \"magiër\" of \"heler\".",
- "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.",
+ "levelPopover": "Elk niveau geeft je één Punt om toe te wijzen aan een Eigenschap van jouw keuze. Je kunt dit handmatig doen of het spel voor jou laten beslissen door gebruik te maken van één van de automatische verdelingsopties.",
"unallocated": "Nog niet toegewezen eigenschapspunten",
- "haveUnallocated": "You have <%= points %> unallocated Stat Point(s)",
+ "haveUnallocated": "Je hebt <%= points %> eigenschapspunt(en) nog niet toegewezen.",
"autoAllocation": "Automatische verdeling",
- "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.",
+ "autoAllocationPop": "Wijst punten toe aan Eigenschappen op basis van jouw voorkeuren, wanneer je een niveau omhoog gaat.",
+ "evenAllocation": "Verdeel Eigenschapspunten gelijkmatig",
+ "evenAllocationPop": "Wijst hetzelfde aantal punten toe aan elke eigenschap.",
"classAllocation": "Verdeel punten op basis van klasse",
- "classAllocationPop": "Assigns more Points to the Stats important to your Class.",
+ "classAllocationPop": "Wijst meer punten toe aan de Eigenschappen die belangrijk zijn voor jouw klasse.",
"taskAllocation": "Verdeel punten gebaseerd op taken activiteiten",
- "taskAllocationPop": "Assigns Points based on the Strength, Intelligence, Constitution, and Perception categories associated with the tasks you complete.",
+ "taskAllocationPop": "Wijst punten toe op basis van de kracht, intelligentie, lichaam en perceptie categorieën die horen bij de taken die je vervuld hebt.",
"distributePoints": "Verdeel niet toegekende punten",
- "distributePointsPop": "Assigns all unallocated Stat Points according to the selected allocation scheme.",
+ "distributePointsPop": "Verdeelt alle nog niet toegekende eigenschapspunten aan de hand van het gekozen toekenningsschema.",
"warriorText": "Krijgers behalen meer en betere \"voltreffers\", die willekeurig extra goud, ervaringspunten, en kans op vondsten geven voor het afstrepen van een taak. Ook doen ze veel schade aan eindbazen. Speel een Krijger als je je gemotiveerd voelt door onvoorspelbare jackpot-achtige beloningen of als je pijn aan eindbazen wil uitdelen in queesten!",
"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": "Magiërs leren snel, ze krijgen sneller ervaringspunten en niveaus dan de andere klassen. Je hebben ook veel mana beschikbaar voor speciale vaardigheden. Speel een magiër als je houdt van de tactische aspecten van Habitica of als je erg gemotiveerd wordt door stijging in niveaus en het vrijspelen van nieuwe functionaliteiten!",
@@ -154,7 +156,7 @@
"optOutOfPMs": "Afmelden",
"chooseClass": "Je klasse kiezen",
"chooseClassLearnMarkdown": "[Leer meer over Habitica's klassesysteem] (http://nl.habitica.wikia.com/wiki/Klasse_systeem)",
- "optOutOfClassesText": "Can't be bothered with classes? Want to choose later? Opt out - you'll be a warrior with no special abilities. You can read about the class system later on the wiki and enable classes at any time under User Icon > Settings.",
+ "optOutOfClassesText": "Geen zin om een klasse te kiezen? Wil je later pas kiezen? Meld je af - je speelt dan een krijger zonder speciale vaardigheden. Je kunt later in de wiki over het klassensysteem lezen en op ieder moment de klassen aanzetten in het menu onder Gebruiker -> Statistieken.",
"selectClass": "Selecteer <%= heroClass %>",
"select": "Selecteren",
"stealth": "Heimelijkheid",
@@ -164,7 +166,7 @@
"respawn": "Herrijs!",
"youDied": "Je bent doodgegaan!",
"dieText": "Je hebt een niveau, al je goud, en een willekeurig onderdeel van je uitrusting verloren. Herrijs, Habiteer, en probeer het opnieuw! Bedwing die slechte gewoontes, let erop je dagelijkse taken bij te houden en houd de dood van je af met een gezondheidsdrankje als je wankelt!",
- "sureReset": "Are you sure? This will reset your character's class and allocated Stat Points (you'll get them all back to re-allocate), and costs 3 Gems.",
+ "sureReset": "Weet je het zeker? Dit zal je karakters klasse en toegewezen Eigenschapspunten resetten (je krijgt ze allemaal terug om opnieuw toe te wijzen) en kost 3 edelstenen.",
"purchaseFor": "Kopen voor <%= cost %> edelstenen?",
"purchaseForHourglasses": "Koop voor <%= cost %> Zandlopers?",
"notEnoughMana": "Niet genoeg mana.",
@@ -181,7 +183,7 @@
"lostMana": "Je hebt wat mana gebruikt",
"lostHealth": "Je hebt wat gezondheidspunten verloren",
"lostExperience": "Je hebt wat ervaring verloren",
- "displayNameDescription1": "Dit is wat je ziet in de berichten die je plaatst in de herberg, gildes en de groepschat, naast wat er op je avatar wordt weergegeven. Om het te wijzigen klik je op de knop Wijzigen. Als je in plaats daarvan je inlognaam wil veranderen, ga dan naar",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Instellingen->Site",
"displayNameDescription3": "en kijk in het registratiegedeelte.",
"unequipBattleGear": "Gevechtsuitrusting uittrekken",
@@ -200,10 +202,11 @@
"con": "LIC",
"per": "PER",
"int": "INT",
- "showQuickAllocation": "Show Stat Allocation",
- "hideQuickAllocation": "Hide Stat Allocation",
- "quickAllocationLevelPopover": "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 found in User Icon > Stats.",
- "notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "showQuickAllocation": "Toon verdeling Eigenschapspunten",
+ "hideQuickAllocation": "Verberg verdeling Eigenschapspunten",
+ "quickAllocationLevelPopover": "Met ieder niveau verdien je een Punt om toe te wijzen aan een Eigenschap van jouw keuze. Je kunt dit eigenhandig doen of het spel voor je laten bepalen door een van de automatische toewijzingsopties te kiezen in Gebruiker -> Statistieken.",
+ "notEnoughAttrPoints": "Je hebt niet genoeg Eigenschapspunten.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stijl",
"facialhair": "Gezicht",
"photo": "Foto",
@@ -217,8 +220,8 @@
"headAccess": "Hoofdaccess.",
"backAccess": "Rugaccess.",
"bodyAccess": "Lichaamsaccess.",
- "mainHand": "Main-Hand",
- "offHand": "Off-Hand",
- "statPoints": "Stat Points",
+ "mainHand": "Dominante-hand ",
+ "offHand": "Andere hand",
+ "statPoints": "Eigenschapspunten",
"pts": "ptn"
}
\ No newline at end of file
diff --git a/website/common/locales/nl/content.json b/website/common/locales/nl/content.json
index ac211c648b..b11c9933c7 100644
--- a/website/common/locales/nl/content.json
+++ b/website/common/locales/nl/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Kangeroe",
"questEggKangarooMountText": "Kangeroe",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Vind een uitbroeddrank om over dit ei te gieten en er zal een <%= eggAdjective(locale) %> <%= eggText(locale) %> uitkomen.",
"hatchingPotionBase": "Normale",
"hatchingPotionWhite": "Witte",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Sterrennacht",
"hatchingPotionRainbow": "Regenboog",
"hatchingPotionGlass": "Glas",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Giet dit over een ei, en er zal een <%= potText(locale) %> dierlijke metgezel uitkomen.",
"premiumPotionAddlNotes": "Niet te gebruiken op eieren van queeste-huisdieren.",
"foodMeat": "Vlees",
@@ -245,7 +249,7 @@
"foodCakeCottonCandyBlueA": "een snoep blauwe cake",
"foodCakeCottonCandyPink": "Snoep-roze taart",
"foodCakeCottonCandyPinkThe": "the Candy Pink Cake",
- "foodCakeCottonCandyPinkA": "a Candy Pink Cake",
+ "foodCakeCottonCandyPinkA": "Een Snoep Roze Cake",
"foodCakeShade": "Chocoladetaart",
"foodCakeShadeThe": "de chocolade cake",
"foodCakeShadeA": "een chocolade cake",
@@ -253,17 +257,17 @@
"foodCakeWhiteThe": "the Cream Cake",
"foodCakeWhiteA": "a Cream Cake",
"foodCakeGolden": "Honingtaart",
- "foodCakeGoldenThe": "the Honey Cake",
- "foodCakeGoldenA": "a Honey Cake",
+ "foodCakeGoldenThe": "De Honing Taart",
+ "foodCakeGoldenA": "een Honing Taart",
"foodCakeZombie": "Bedorven taart",
"foodCakeZombieThe": "de rotte cake",
- "foodCakeZombieA": "a Rotten Cake",
+ "foodCakeZombieA": "Een Rotte Taart",
"foodCakeDesert": "Zandtaartje",
"foodCakeDesertThe": "de zand cake",
"foodCakeDesertA": "een zand cake",
"foodCakeRed": "Aardbeientaart",
- "foodCakeRedThe": "the Strawberry Cake",
- "foodCakeRedA": "a Strawberry Cake",
+ "foodCakeRedThe": "De Aardbei Taart",
+ "foodCakeRedA": "een Aardbei Taart",
"foodCandySkeleton": "Kale-beenderensnoep",
"foodCandySkeletonThe": "the Bare Bones Candy",
"foodCandySkeletonA": "Bare Bones Candy",
@@ -278,19 +282,19 @@
"foodCandyCottonCandyPinkA": "Sour Pink Candy",
"foodCandyShade": "Chocoladesnoep",
"foodCandyShadeThe": "the Chocolate Candy",
- "foodCandyShadeA": "Chocolate Candy",
+ "foodCandyShadeA": "Chocolade Snoep",
"foodCandyWhite": "Vanillesnoep",
- "foodCandyWhiteThe": "the Vanilla Candy",
- "foodCandyWhiteA": "Vanilla Candy",
+ "foodCandyWhiteThe": "De Vanile Snoep",
+ "foodCandyWhiteA": "Vanile Snoep",
"foodCandyGolden": "Honingsnoep",
"foodCandyGoldenThe": "the Honey Candy",
- "foodCandyGoldenA": "Honey Candy",
+ "foodCandyGoldenA": "Honing Snoep",
"foodCandyZombie": "Bedorven snoep",
"foodCandyZombieThe": "het bedorven snoep",
- "foodCandyZombieA": "Rotten Candy",
+ "foodCandyZombieA": "Rotte Snoep",
"foodCandyDesert": "Zandsnoep",
"foodCandyDesertThe": "the Sand Candy",
- "foodCandyDesertA": "Sand Candy",
+ "foodCandyDesertA": "Zand Snoep",
"foodCandyRed": "Kaneelsnoep",
"foodCandyRedThe": "een kaneelsnoepje",
"foodCandyRedA": "Kaneelsnoep",
diff --git a/website/common/locales/nl/front.json b/website/common/locales/nl/front.json
index 7995077603..831800acbd 100644
--- a/website/common/locales/nl/front.json
+++ b/website/common/locales/nl/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Speel nieuwe motivatiemiddelen vrij, zoals huisdieren verzamelen, willekeurige beloningen, toverspreuken en nog veel meer!",
"unlockHeadline": "Zolang je productief blijft, speel je nieuwe content vrij,",
"useUUID": "Gebruik UUID / API token (voor Facebookgebruikers)",
- "username": "Inlognaam",
- "emailOrUsername": "Email of Inlognaam (hoofdlettergevoelig)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Video's bekijken",
"work": "Werken",
"zelahQuote": "Door [Habitica] kan ik overgehaald worden om op tijd naar bed te gaan, omdat ik eraan denk dat ik punten verdien als ik vroeg in bed kruip, en gezondheid verlies als ik lang opblijf!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Mist authenticatie rubrieken.",
"missingAuthParams": "Mist authenticatie parameters.",
- "missingUsernameEmail": "Ontbrekende Inlognaam of email.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Ontbrekende e-mail.",
- "missingUsername": "Ontbrekende Inlognaam.",
+ "missingUsername": "Missing username.",
"missingPassword": "Ontbrekend wachtwoord.",
"missingNewPassword": "Ontbrekend nieuw wachtwoord.",
"invalidEmailDomain": "Je kunt je niet registreren met e-mailadressen met de volgende domeinnamen: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Ongeldig e-mailadres.",
"emailTaken": "E-mailadres is al in gebruik door een account.",
"newEmailRequired": "Ontbrekend nieuw e-mailadres.",
- "usernameTaken": "Loginnaam is al in gebruik.",
- "usernameWrongLength": "Inlognaam moet tussen de 1 en 20 karakters lang zijn.",
- "usernameBadCharacters": "Inlognaam mag alleen bestaan uit letters a t/m z, nummers 0 t/m 9, koppeltekens of liggende streepjes.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Wachtwoordconfirmatie komt niet overeen met wachtwoord.",
"invalidLoginCredentials": "Incorrecte gebruikersnaam en/of e-mail en/of wachtwoord.",
"passwordResetPage": "Reset je wachtwoord",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Wachtwoord reset voor Habitica",
"passwordResetEmailText": "Als je een wachtwoordreset hebt aangevraagd voor <%= username %> op Habitica, ga dan naar <%= passwordResetLink %> om een nieuwe in te stellen. Deze link verloopt na 24 uur. Als je geen wachtwoordreset hebt aangevraagd, negeer deze mail dan.",
"passwordResetEmailHtml": "Als je een wachtwoordreset hebt aangevraagd voor <%= username %> op Habitica, klik dan\">hier om een nieuwe in te stellen. Deze link verloopt na 24 uur.
Als je geen wachtwoordreset hebt aangevraagd, negeer deze mail dan.",
- "invalidLoginCredentialsLong": "oh Ooo! Je emailadres/inlognaam of wachtwoord zijn incorrect.\nZorg ervoor dat ze goed zijn ingevoerd. Je inlognaam en wachtwoord hoofdlettergevoelig.\nHet kan zijn dat je je via Google of Facebook hebt geregistreerd in plaats van met je emailadres. Dit kun je controleren door die login’s te proberen.\nAls je je wachtwoord bent vergeten, klik dan op “wachtwoord vergeten”.",
+ "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\".",
"invalidCredentials": "Er is geen account dat deze aanmeldingsgegevens bevat.",
- "accountSuspended": "Dit account, Gebruikers-ID \"<%= userId %>\", is geblokkeerd voor het breken van de [Community Guidelines](https://habitica.com/static/community-guidelines) of de [Terms of Service](https://habitica.com/static/terms). Voor meer details of voor het vragen van een deblokkering, kun je onze Community Manager een email sturen op <%= communityManagerEmail %> of vraag je ouders om een email te sturen. Vermeldt je Gebruikers-ID en en je gebruikersnaam in de email.",
+ "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 is geschorst ",
"unsupportedNetwork": "Dit netwerk wordt momenteel niet ondersteund.",
"cantDetachSocial": "Deze account mist een andere authenticatie-methode; kan deze authenticatie-methode niet loskoppelen.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Aanmelden met <%= social %>",
"loginWithSocial": "Inloggen met <%= social %>",
"confirmPassword": "Wachtwoord bevestigen",
- "usernameLimitations": "De Login Naam moet tussen de 1 en 20 karakters lang zijn, bevat enkel letters a tot z, of nummers 0 tot 9, of hyfen of uncerscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "Bijv., GewoonteDier",
"emailPlaceholder": "Bijv., dier@voorbeeld.com",
"passwordPlaceholder": "bijv., ******************",
@@ -322,13 +329,12 @@
"schoolAndWorkDesc": "Whether you're preparing a report for your teacher or your boss, it's easy to keep track of your progress as you tackle your toughest tasks.",
"muchmuchMore": "En heel veel meer!",
"muchmuchMoreDesc": "Our fully customizable task list means that you can shape Habitica to fit your personal goals. Work on creative projects, emphasize self-care, or pursue a different dream -- it's all up to you.",
- "levelUpAnywhere": "Level Up Anywhere",
- "levelUpAnywhereDesc": "Our mobile apps make it simple to keep track of your tasks on-the-go. Accomplish your goals with a single tap, no matter where you are.",
- "joinMany": "Join over 2,000,000 people having fun while accomplishing their goals!",
+ "levelUpAnywhere": "Ga overal een niveau omhoog",
+ "levelUpAnywhereDesc": "Onze mobiele app maakt het makkelijk om je taken onderweg bij te houden. Verwezelijk je doelen met een klik, waar je ook bent.",
+ "joinMany": "Sluit je aan bij 2 000 000 mensen die plezier hebben tijdens het verwezelijken van hun doelen!",
"joinToday": "Doe vandaag mee met Habitica",
"signup": "Aanmelden",
"getStarted": "Begin",
"mobileApps": "Mobiele apps",
- "learnMore": "Meer informatie",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Meer informatie"
}
\ No newline at end of file
diff --git a/website/common/locales/nl/gear.json b/website/common/locales/nl/gear.json
index c70118d9d3..c180de7948 100644
--- a/website/common/locales/nl/gear.json
+++ b/website/common/locales/nl/gear.json
@@ -256,9 +256,9 @@
"weaponSpecialSpring2018WarriorNotes": "Gemaakt van helder goud, deze bijl is sterk genoeg om de roodste taken aan te vallen. Verhoogt kracht met <%= str %>. Beperkte oplage 2018 Lenteuitrusting.",
"weaponSpecialSpring2018MageText": "Tulpenstaf",
"weaponSpecialSpring2018MageNotes": "Deze magische bloem verwelkt nooit! Verhoogt Intelligentie met <%= int %> en Perceptie met <%= per %>. Beperkte Oplage 2018 Lente Uitrusting.",
- "weaponSpecialSpring2018HealerText": "Garnet Rod",
+ "weaponSpecialSpring2018HealerText": "Granaat Staf",
"weaponSpecialSpring2018HealerNotes": "De stenen in deze staf zullen je kracht focussen wanneer je genezingstoverspreuken uitspreekt. Verhoogt Intelligentie met <%= int %>. Beperkte Oplage 2018 Lenteuitrusting.",
- "weaponSpecialSummer2018RogueText": "Fishing Rod",
+ "weaponSpecialSummer2018RogueText": "Vis hengel",
"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.",
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "Feestmaal Hooivork",
"weaponMystery201411Notes": "Steek je vijanden neer of neem een schep van je favoriete eten - met deze hooivork kan het allemaal! Verleent geen voordelen. Abonnee-uitrusting november 2014.",
"weaponMystery201502Text": "Glimmende Gevleugelde Staff der Liefde alsook Wijsheid",
@@ -350,6 +358,10 @@
"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).",
"armor": "wapenrusting",
"armorCapitalized": "Pantser",
"armorBase0Text": "Eenvoudige kleding",
@@ -445,7 +457,7 @@
"armorSpecialBirthday2017Text": "Wispelturig feestgewaad",
"armorSpecialBirthday2017Notes": "Fijne verjaardag, Habitica! Draag dit wispelturig feestgewaad om deze wonderbaarlijke dag te vieren. Verleent geen voordelen.",
"armorSpecialBirthday2018Text": "Fantasievolle feestmantel",
- "armorSpecialBirthday2018Notes": "Happy Birthday, Habitica! Wear these Fanciful Party Robes to celebrate this wonderful day. Confers no benefit.",
+ "armorSpecialBirthday2018Notes": "Gefeliciteerd met je verjaardag, Habitica! Draag deze fancy feestmantel om deze prachtige dag te vieren. Verleent geen voordelen.",
"armorSpecialGaymerxText": "Harnas van de Regenboogkrijger",
"armorSpecialGaymerxNotes": "Om de GaymerX-conferentie te vieren is deze speciale wapenrusting gedecoreerd met een stralend, kleurrijk, regenboogpatroon! GaymerX is een game-conventie die LGTBQ en gamen viert en open is voor iedereen.",
"armorSpecialSpringRogueText": "Kittig pakje",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Boodschappersgewaden",
"armorMystery201402Notes": "Het gewaad is glinsterend en sterk en heeft vele zakken om brieven te dragen. Verleent geen voordelen. Abonnee-uitrusting februari 2014.",
"armorMystery201403Text": "Woudlopersharnas",
@@ -660,6 +680,10 @@
"armorMystery201806Notes": "This sinuous tail features glowing spots to light your way through the deep. Confers no benefit. June 2018 Subscriber Item.",
"armorMystery201807Text": "Zeeslang staart",
"armorMystery201807Notes": "This powerful tail will propel you through the sea at incredible speeds! Confers no benefit. July 2018 Subscriber Item.",
+ "armorMystery201808Text": "Lava Draken Harnas",
+ "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.",
"armorMystery301404Text": "Steampunkpak",
"armorMystery301404Notes": "Net en zwierig, niet? Verleent geen voordelen. Abonnee-uitrusting februari 3015.",
"armorMystery301703Text": "Steampunk pauw jurk",
@@ -754,6 +778,10 @@
"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).",
"headgear": "helm",
"headgearCapitalized": "Hoofdbescherming",
"headBase0Text": "Geen hoofduitrusting ",
@@ -966,7 +994,7 @@
"headSpecialFall2017RogueNotes": "Ready for treats? Time to don this festive, glowing helm! Increases Perception by <%= per %>. Limited Edition 2017 Autumn Gear.",
"headSpecialFall2017WarriorText": "Maïssnoephelm",
"headSpecialFall2017WarriorNotes": "This helm might look like a treat, but wayward tasks won't find it so sweet! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.",
- "headSpecialFall2017MageText": "Masquerade Helm",
+ "headSpecialFall2017MageText": "Gemaskerd bal Helm",
"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.",
"headSpecialFall2017HealerText": "Spookslothelm",
"headSpecialFall2017HealerNotes": "Nodig geestige geesten en schattige schepsels uit om je genezende krachten te voelen door deze helm! Verhoogt Intelligentie met<%= int %>. Beperkte Oplage 2017 Herfstuitrusting. ",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Helm van de Regenboogkrijger",
"headSpecialGaymerxNotes": "Om de GaymerX conferentie te vieren, is deze speciale helm gedecoreerd met een stralend, kleurrijk, regenboogpatroon! GaymerX is een game-conventie die LGTBQ en gamen viert en open is voor iedereen.",
"headMystery201402Text": "Gevleugelde helm",
@@ -1060,7 +1096,7 @@
"headMystery201710Notes": "This helm makes you look intimidating... but it won't do any favors for your depth perception! Confers no benefit. October 2017 Subscriber Item.",
"headMystery201712Text": "Candlemancer Crown",
"headMystery201712Notes": "This crown will bring light and warmth to even the darkest winter night. Confers no benefit. December 2017 Subscriber Item.",
- "headMystery201802Text": "Love Bug Helm",
+ "headMystery201802Text": "Lieveheersbeestjes Helm",
"headMystery201802Notes": "The antennae on this helm act as cute dowsing rods, detecting feelings of love and support nearby. Confers no benefit. February 2018 Subscriber Item.",
"headMystery201803Text": "Provocerend Libelle Diadeem",
"headMystery201803Notes": "Although its appearance is quite decorative, you can engage the wings on this circlet for extra lift! Confers no benefit. March 2018 Subscriber Item.",
@@ -1068,8 +1104,12 @@
"headMystery201805Notes": "This helm will make you the proudest and prettiest (possibly also the loudest) bird in town. Confers no benefit. May 2018 Subscriber Item.",
"headMystery201806Text": "Alluring Anglerfish Helm",
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
- "headMystery201807Text": "Sea Serpent Helm",
+ "headMystery201807Text": "Zee Slang Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Draken Kap",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Chique hoge hoed",
"headMystery301404Notes": "Een chique hoge hoed voor lieden van deftigen huize! Abonnee-uitrusting januari 3015. Verleent geen voordelen.",
"headMystery301405Text": "Standaard hoge hoed",
@@ -1162,11 +1202,11 @@
"headArmoireCrownOfDiamondsNotes": "This shining crown isn't just a great hat; it will also sharpen your mind! Increases Intelligence by <%= int %>. Enchanted Armoire: King of Diamonds Set (Item 2 of 4).",
"headArmoireFlutteryWigText": "Fluttery Wig",
"headArmoireFlutteryWigNotes": "This fine powdered wig has plenty of room for your butterflies to rest if they get tired while doing your bidding. Increases Intelligence, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 2 of 4).",
- "headArmoireBirdsNestText": "Bird's Nest",
+ "headArmoireBirdsNestText": "VogelNest",
"headArmoireBirdsNestNotes": "If you start feeling movement and hearing chirps, your new hat might have turned into new friends. Increases Intelligence by <%= int %>. Enchanted Armoire: Independent Item.",
"headArmoirePaperBagText": "Papieren Zak",
"headArmoirePaperBagNotes": "This bag is a hilarious but surprisingly protective helm (don't worry, we know you look good under there!). Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
- "headArmoireBigWigText": "Big Wig",
+ "headArmoireBigWigText": "Grote Pruik",
"headArmoireBigWigNotes": "Some powdered wigs are for looking more authoritative, but this one is just for laughs! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
"headArmoireGlassblowersHatText": "Glassblower's Hat",
"headArmoireGlassblowersHatNotes": "This hat mainly just looks good with your other protective glassblowing gear! Increases Perception by <%= per %>. Enchanted Armoire: Glassblower Set (Item 3 of 4).",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1312,7 +1354,7 @@
"shieldSpecialFall2017RogueNotes": "Defeat your foes with sweetness! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.",
"shieldSpecialFall2017WarriorText": "Candy Corn Shield",
"shieldSpecialFall2017WarriorNotes": "This candy shield has mighty protective powers, so try not to nibble on it! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
- "shieldSpecialFall2017HealerText": "Haunted Orb",
+ "shieldSpecialFall2017HealerText": "Spook Bol",
"shieldSpecialFall2017HealerNotes": "This orb occasionally screeches. We're sorry, we're not sure why. But it sure looks nifty! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
"shieldSpecialWinter2018RogueText": "Pepermunt Haak",
"shieldSpecialWinter2018RogueNotes": "Perfect for climbing walls or distracting your foes with sweet, sweet candy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
@@ -1320,7 +1362,7 @@
"shieldSpecialWinter2018WarriorNotes": "Just about any useful thing you need can be found in this sack, if you know the right magic words to whisper. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
"shieldSpecialWinter2018HealerText": "Maretakbel",
"shieldSpecialWinter2018HealerNotes": "What's that sound? The sound of warmth and cheer for all to hear! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
- "shieldSpecialSpring2018WarriorText": "Shield of the Morning",
+ "shieldSpecialSpring2018WarriorText": "Schild van de Ochtend",
"shieldSpecialSpring2018WarriorNotes": "This sturdy shield glows with the glory of first light. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
"shieldSpecialSpring2018HealerText": "Garnet Shield",
"shieldSpecialSpring2018HealerNotes": "Despite its fancy appearance, this garnet shield is quite durable! Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Slachter van Voornemens",
"shieldMystery201601Notes": "Dit zwaard kan gebruikt worden om alle afleidingen af te weren. Verleent geen voordelen. Abonnee-uitrusting januari 2016.",
"shieldMystery201701Text": "Tijd-Stoppers-Schild",
@@ -1336,7 +1384,7 @@
"shieldMystery201708Notes": "Dit grove uit gesmolten steen bestaande schild beschermd je tegen slechte gewoontes, maar brand niet je handen. Verleent geen voordelen. Abonnee-uitrusting augustus 2017",
"shieldMystery201709Text": "Toverspreukenboek",
"shieldMystery201709Notes": "This book will guide you through your forays into sorcery. Confers no benefit. September 2017 Subscriber Item.",
- "shieldMystery201802Text": "Love Bug Shield",
+ "shieldMystery201802Text": "Lieveheersbeestje schild",
"shieldMystery201802Notes": "Although it may look like brittle candy, this shield is resistant to even the strongest Shattering Heartbreak attacks! Confers no benefit. February 2018 Subscriber Item.",
"shieldMystery301405Text": "Klokkenschild",
"shieldMystery301405Notes": "Je hebt alle tijd van de wereld met dit enorme klokkenschild! Verleent geen voordelen. Abonnee-uitrusting juni 3015.",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Onafgewerkt boekdeel",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Lichaamsaccessoire",
"backCapitalized": "Rug Accessoire ",
"backBase0Text": "Geen rugaccessoire",
"backBase0Notes": "Geen rugaccessoire.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Gouden vleugels",
"backMystery201402Notes": "Deze glanzende vleugels hebben veren die schitteren in de zon! Verleent geen voordelen. Abonnee-uitrusting februari 2014.",
"backMystery201404Text": "Vleugels van de Schemervlinder",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Deze mantel behoorde ooit toe aan de Vermiste Masterclasser. Verhoogt perceptie met <%= per %>.",
"backSpecialTurkeyTailBaseText": "Kalkoen Staart",
"backSpecialTurkeyTailBaseNotes": "Pronk met je Kalkoen Staart terwijl je feest viert! Verleent geen voordelen.",
+ "backBearTailText": "Beren Staart",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Staart",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Vossen Staart",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Leeuwen Staart",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Staart",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Varkens Staart",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tijger Staart",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolven Staart",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Lichaamsaccessoire",
"bodyCapitalized": "Lichaamsaccessoire",
"bodyBase0Text": "Geen lichaamsaccessoire",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Veiligheidsbrillen zijn voor je ogen,\" zeiden ze. \"Niemand wil een veiligheidsbril die je alleen maar op je hoofd kunt dragen,\" zeiden ze. Ha! Jij hebt ze laten zien hoe het echt moet! Verleent geen voordelen. Abonnee-uitrusting augustus 3015.",
"headAccessoryArmoireComicalArrowText": "Komische Pijl",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Oogaccessoire",
"eyewearCapitalized": "Oogaccessoire",
"eyewearBase0Text": "Geen oogaccessoire",
@@ -1604,7 +1673,7 @@
"eyewearMystery301703Notes": "Perfect voor een elegante maskerade of om geniepig door een mooi gekleed publiek te bewegen. Verleent geen voordelen. Abonnee-artikel Maart 3017. ",
"eyewearArmoirePlagueDoctorMaskText": "Pestmeestersmasker",
"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",
+ "eyewearArmoireGoofyGlassesText": "Gekke Bril",
"eyewearArmoireGoofyGlassesNotes": "Perfect for going incognito or just making your partymates giggle. Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.",
"twoHandedItem": "Tweehandig voorwerp."
}
\ No newline at end of file
diff --git a/website/common/locales/nl/generic.json b/website/common/locales/nl/generic.json
index 1f76ce6717..fcbf6f4a64 100644
--- a/website/common/locales/nl/generic.json
+++ b/website/common/locales/nl/generic.json
@@ -71,6 +71,7 @@
"submit": "Verzenden",
"close": "Sluiten",
"saveAndClose": "Opslaan en sluiten",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Annuleren",
"ok": "Oké",
"add": "Toevoegen",
@@ -122,7 +123,7 @@
"error": "Fout",
"menu": "Menu",
"notifications": "Meldingen",
- "noNotifications": "You're all caught up!",
+ "noNotifications": "Je bent volledig klaar",
"noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
"clear": "Leegmaken",
"endTour": "Beëindigen",
@@ -172,9 +173,9 @@
"achievementDysheartenerText": "Helped defeat the Dysheartener during the 2018 Valentine's Event!",
"checkOutProgress": "Moet je mijn vooruitgang in Habitica eens zien!",
"cards": "Kaarten",
- "sentCardToUser": "You sent a card to <%= profileName %>",
- "cardReceivedFrom": "<%= cardType %> from <%= userName %>",
- "cardReceived": "You received a <%= card %>",
+ "sentCardToUser": "Je hebt een kaart verstuurd naar <%= profileName %>",
+ "cardReceivedFrom": "<%= cardType %> van <%= userName %>",
+ "cardReceived": "Je hebt een <%= card %>ontvangen",
"greetingCard": "Kaartje",
"greetingCardExplanation": "Jullie ontvangen allebei de Vrolijke Vriend-prestatie!",
"greetingCardNotes": "Stuur een kaart naar een groepslid.",
@@ -274,16 +275,16 @@
"hobbies_occupations": "Hobbies + bezigheden",
"location_based": "Gebaseerd op locatie",
"mental_health": "Mentale gezondheid + zelfverzorging",
- "getting_organized": "Getting Organized",
+ "getting_organized": "Jezelf Organiseren",
"self_improvement": "zelfverbetering",
"spirituality": "Spiritualiteit",
"time_management": "tijdsmanagement + aansprakelijkheid",
"recovery_support_groups": "Recovery + Support Groups",
- "dismissAll": "Dismiss All",
+ "dismissAll": "Allen afwijzen",
"messages": "Berichten",
"emptyMessagesLine1": "Je hebt geen berichten.",
"emptyMessagesLine2": "Stuur een bericht om een gesprek te beginnen!",
- "userSentMessage": "<%= user %> sent you a message",
+ "userSentMessage": "<%= user %> heeft je een bericht gestuurd",
"letsgo": "Laten we gaan!",
"selected": "Geselecteerd",
"howManyToBuy": "Hoeveel wil je kopen?",
diff --git a/website/common/locales/nl/groups.json b/website/common/locales/nl/groups.json
index ebc3dd1999..5e5f97dbd3 100644
--- a/website/common/locales/nl/groups.json
+++ b/website/common/locales/nl/groups.json
@@ -3,9 +3,10 @@
"tavernChat": "Herbergchat",
"innCheckOut": "Uitchecken bij de herberg",
"innCheckIn": "Rust uit in de herberg",
- "innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
- "innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
+ "innText": "Je bent aan het rusten in de herberg! Tijdens je verblijf zullen je dagelijkse taken je geen schade doen op het einde van de dag, maar ze zullen wel elke dag herladen. Opgelet: Als je in een Baas queeste deelneemt, zal de baas je nog steeds schade aanrichten voor de gemiste dagelijkse taken van je gezelschap leden tenzij ze ook in de herberg zijn! Je eigen schade aan de baas (of gecollecteerde items) zullen ook niet toegepast worden tot je je terug uit checkt.",
+ "innTextBroken": "Je bent aan het uitrusten in de herberg, zo blijkt... Zolang je hier verblijft, zullen je dagelijkse taken je geen pijn doen aan het eind van de dag, maar ze zullen wel elke dag verversen... Wees gewaarschuwd: als je meedoet aan een Baas queeste met een Eindbaas, zal de Eindbaas je nog steeds pijn doen voor de dagelijkse taken die je Groepsgenoten missen... tenzij ze ook in de herberg verblijven... Je zult zelf ook geen schade toebrengen aan de Eindbaas (of voorwerpen krijgen) totdat je de herberg verlaat... zo moe...",
"innCheckOutBanner": "Je bent momenteel in de Herberg. Je dagelijkse taken zullen je niet verwonden en je zal geen vooruitgang maken in Queesten",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Resume Damage",
"helpfulLinks": "Nuttige links",
"communityGuidelinesLink": "Gemeenschapsrichtlijnen",
@@ -44,7 +45,7 @@
"LFG": "To advertise your new Party or find one to join, go to the <%= linkStart %>Party Wanted (Looking for Group)<%= linkEnd %> Guild.",
"wantExistingParty": "Want to join an existing Party? Go to the <%= linkStart %>Party Wanted Guild<%= linkEnd %> and post this User ID:",
"joinExistingParty": "Aansluiten bij het gezelschap van iemand anders",
- "needPartyToStartQuest": "Whoops! You need to create or join a Party before you can start a quest!",
+ "needPartyToStartQuest": "Oeps! Je moet een groep aanmaken of je erbij aansluiten voor je een queeste kan beginnen!",
"createGroupPlan": "Aanmake",
"create": "Creëren",
"userId": "Gebruikers-ID",
@@ -52,20 +53,20 @@
"leave": "Verlaten",
"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 %>",
- "partyInvitationsText": "You have <%= numberInvites %> Party invitations! Choose wisely, because you can only be in one Party at a time.",
+ "invitedToPublicGuild": "Je werd uitgenodigd om je aan te sluiten bij de Gilde <%= guild %>",
+ "partyInvitationsText": "Je hebt <%= numberInvites %> Gezelschap uitnodigingen! Kies verstandig want je kan maar in 1 gezelschap tegelijkertijd. ",
"joinPartyConfirmationText": "Are you sure you want to join the Party \"<%= partyName %>\"? You can only be in one Party at a time. If you join, all other Party invitations will be rejected.",
"invitationAcceptedHeader": "Je uitnodiging is geaccepteerd",
"invitationAcceptedBody": "<%= username %> heeft je uitnodiging voor <%= groupName %> geaccepteerd!",
"joinNewParty": "Aansluiten bij nieuw gezelschap",
"declineInvitation": "Uitnodiging weigeren",
- "partyLoading1": "Your Party is being summoned. Please wait...",
- "partyLoading2": "Your Party is coming in from battle. Please wait...",
- "partyLoading3": "Your Party is gathering. Please wait...",
- "partyLoading4": "Your Party is materializing. Please wait...",
+ "partyLoading1": "Je Gezelschap wordt opgeroepen. Even geduld...",
+ "partyLoading2": "Je Gezelschap komt terug van te strijd. Even geduld...",
+ "partyLoading3": "Je Gezelschap komt samen. Even Geduld...",
+ "partyLoading4": "Je Gezelschap is aan het materialiseren. Even geduld...",
"systemMessage": "Systeembericht",
- "newMsgGuild": "<%= name %> has new posts",
- "newMsgParty": "Your Party, <%= name %>, has new posts",
+ "newMsgGuild": "<%= name %> heeft nieuwe berichten",
+ "newMsgParty": "Je Gezelschap, <%= name %>, heeft nieuwe berichten",
"chat": "Chat",
"sendChat": "Chat verzenden",
"toolTipMsg": "Recente berichten laden",
@@ -85,7 +86,7 @@
"assignLeader": "Groepsleider aanwijzen",
"members": "Leden",
"memberList": "Ledenlijst",
- "partyList": "Order for Party members in header",
+ "partyList": "Volgorde voor de Gezelschap leden in de bovenbalk",
"banTip": "Lid verwijderen",
"moreMembers": "overige leden",
"invited": "Uitgenodigd",
@@ -200,7 +201,7 @@
"battleWithFriends": "Strijd met je vrienden tegen monsters",
"startPartyWithFriends": "Start een gezelschap met je vrienden!",
"startAParty": "Een gezelschap beginnen",
- "addToParty": "Add someone to your Party",
+ "addToParty": "Voeg iemand aan je Gezelschap toe",
"likePost": "Klik hier als je dit bericht leuk vindt!",
"partyExplanation1": "Speel Habitica met vrienden om verantwoordelijk te blijven!",
"partyExplanation2": "Strijd tegen monsters en maak uitdagingen!",
@@ -208,7 +209,7 @@
"wantToStartParty": "Wil je een gezelschap starten?",
"exclusiveQuestScroll": "Inviting a friend to your Party will grant you an exclusive Quest Scroll to battle the Basi-List together!",
"nameYourParty": "Geef een naam aan je gezelschap",
- "partyEmpty": "You're the only one in your Party. Invite your friends!",
+ "partyEmpty": "Je bent de enige in je Gezelschap. Nodig vrienden uit!",
"partyChatEmpty": "Your Party chat is empty! Type a message in the box above to start chatting.",
"guildChatEmpty": "De gildechat is leeg! Typ een bericht in het bovenstaande vak om een conversatie te beginnen.",
"requestAcceptGuidelines": "If you would like to post messages in the Tavern or any Party or Guild chat, please first read our <%= linkStart %>Community Guidelines<%= linkEnd %> and then click the button below to indicate that you accept them.",
@@ -231,7 +232,7 @@
"inviteMustNotBeEmpty": "De uitnodiging mag niet leeg zijn.",
"partyMustbePrivate": "Groepen moeten privé zijn",
"userAlreadyInGroup": "UserID: <%= userId %>, User \"<%= username %>\" already in that group.",
- "youAreAlreadyInGroup": "You are already a member of this group.",
+ "youAreAlreadyInGroup": "Je bent al lid van deze groep",
"cannotInviteSelfToGroup": "Je kunt jezelf niet voor een groep uitnodigen.",
"userAlreadyInvitedToGroup": "UserID: <%= userId %>, User \"<%= username %>\" already invited to that group.",
"userAlreadyPendingInvitation": "UserID: <%= userId %>, User \"<%= username %>\" already pending invitation.",
diff --git a/website/common/locales/nl/limited.json b/website/common/locales/nl/limited.json
index 290b1f3f08..30b4a975a9 100644
--- a/website/common/locales/nl/limited.json
+++ b/website/common/locales/nl/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Koraalduivel Magiër (Magiër)",
"summer2018MerfolkMonarchSet": "Meermens Majesteit (Heler)",
"summer2018FisherRogueSet": "Vissersdief (Dief)",
+ "fall2018MinotaurWarriorSet": "Minotaurus (Krijger)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Vleesetende plant (Heler)",
+ "fall2018AlterEgoSet": "Alter Ego (Dief)",
"eventAvailability": "Verkrijgbaar voor aankoop tot <%=date(locale) %>.",
"dateEndMarch": "30 april",
"dateEndApril": "19 april",
@@ -132,6 +136,7 @@
"dateEndJune": "14 juni",
"dateEndJuly": "31 juli",
"dateEndAugust": "31 augustus",
+ "dateEndSeptember": "21 September",
"dateEndOctober": "31 oktober",
"dateEndNovember": "30 november",
"dateEndJanuary": "31 januari",
diff --git a/website/common/locales/nl/messages.json b/website/common/locales/nl/messages.json
index 7567d8e0da..9543be232c 100644
--- a/website/common/locales/nl/messages.json
+++ b/website/common/locales/nl/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Niet genoeg edelstenen!",
"messageAuthPasswordMustMatch": ":password en :confirmPassword komen niet overeen",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
- "messageAuthUsernameTaken": "Loginnaam al bezet",
"messageAuthEmailTaken": "E-mailadres al in gebruik",
"messageAuthNoUserFound": "Geen gebruiker gevonden.",
"messageAuthMustBeLoggedIn": "Je moet ingelogd zijn.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "Dit voorwerp kan niet worden gekocht in hoeveelheden boven 1.",
"notificationsRequired": "Notificatie-id's zijn vereist.",
"unallocatedStatsPoints": "Je hebt <%= points %> niet toegekende statuspunten",
- "beginningOfConversation": "Dit is het begin van je gesprek met <%= userName %>. Denk eraan aardig en respectvol te zijn en de gemeenschapsrichtlijnen te volgen!"
+ "beginningOfConversation": "Dit is het begin van je gesprek met <%= userName %>. Denk eraan aardig en respectvol te zijn en de gemeenschapsrichtlijnen te volgen!",
+ "messageDeletedUser": "Soory, deze gebruiker heeft zijn account verwijderd."
}
\ No newline at end of file
diff --git a/website/common/locales/nl/questscontent.json b/website/common/locales/nl/questscontent.json
index f2255f98fc..2379ecb1cd 100644
--- a/website/common/locales/nl/questscontent.json
+++ b/website/common/locales/nl/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/nl/settings.json b/website/common/locales/nl/settings.json
index 203bbb8fe8..e5f6da55ac 100644
--- a/website/common/locales/nl/settings.json
+++ b/website/common/locales/nl/settings.json
@@ -54,13 +54,13 @@
"misc": "Diversen",
"showHeader": "Bovenbalk laten zien",
"changePass": "Wachtwoord veranderen",
- "changeUsername": "Inlognaam wijzigen",
+ "changeUsername": "Change Username",
"changeEmail": "E-mailadres veranderen",
"newEmail": "Nieuw e-mailadres",
"oldPass": "Oud wachtwoord",
"newPass": "Nieuw wachtwoord",
"confirmPass": "Nieuw wachtwoord bevestigen",
- "newUsername": "Nieuwe inlognaam",
+ "newUsername": "New Username",
"dangerZone": "Gevarenzone",
"resetText1": "WAARSCHUWING! Deze functie reset veel onderdelen van je account. Hoewel we niet aanraden om dit te doen, vinden sommige mensen het handig na een tijdje geëxperimenteerd te hebben met de site.",
"resetText2": "Je zal al je levels, Goud en Ervaring verliezen. Al je taken (behalve die van Uitdagingen) zullen permanent verwijderd worden en je verliest daarvan ook alle geschiedenis. Je verliest al je uitrusting, maar die kun je opnieuw aanschaffen. Dit geldt ook voor alle beperkte oplage uitrusting en abonnee voorwerpen die je al bezit (je zal in de juiste klasse moeten zitten om klasse-specifieke uitrusting terug te kopen). Je behoudt je huidige klasse en je huisdieren en rijdieren. Wellicht gebruik je liever een Bol der Hergeboorte, die een veiligere optie biedt en je jouw taken en uitrusting laat behouden.",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "De gegeven wachtwoord-herstelcode is ongeldig of verlopen.",
"passwordChangeSuccess": "Je wachtwoord is succesvol veranderd naar degene die je net gekozen hebt. Je kunt deze nu gebruiken op toegang te krijgen tot je account.",
"passwordSuccess": "Wachtwoord succesvol aangepast",
- "usernameSuccess": "Inlognaam succesvol gewijzigd",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "E-mailadres succesvol aangepast",
"detachSocial": "De-registreer <%= network %>",
"detachedSocial": "<%= network %> authenticatie succesvol verwijderd van je account",
"addedLocalAuth": "Plaatselijke authenticatie succesvol toegevoegd",
"data": "Gegevens",
"exportData": "Gegevens exporteren",
- "usernameOrEmail": "Loginnaam of e-mail",
+ "usernameOrEmail": "Username or Email",
"email": "E-mail",
"registerWithSocial": "Registreer met <%= network %>",
"registeredWithSocial": "Geregistreerd met <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Toon de 'Uitnodigen voor gezelschap'-knop wanneer het gezelschap 1 lid heeft.",
"saveCustomDayStart": "Begin van de dag opslaan",
"registration": "Registratie",
- "addLocalAuth": "Plaatselijke authenticatie toevoegen:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Codes genereren",
"generate": "Genereren",
"getCodes": "Codes verkrijgen",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica gebruikt de tijdzone die op je PC ingesteld is: <%=utc %>",
"timezoneInfo": "Als die tijdzone fout is, laad dan eerst deze pagina opnieuw met je browsers herlaad- of verversknop om er zeker van te zijn dat Habitica de meest recente informatie heeft. Als het nog steeds fout is, pas dan de tijdzone op je PC aan en herlaad opnieuw deze pagina.
Als je Habitica op andere PC's of mobiele apparaten gebruikt, dan moet de tijdzone overal hetzelfde zijn. Als je dagelijkse taken op de verkeerde tijd zijn gereset, herhaal dan deze controle op alle andere PC's en in een browser op je mobiele apparaat.",
"push": "Push",
- "about": "Over"
+ "about": "Over",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/nl/subscriber.json b/website/common/locales/nl/subscriber.json
index 87d0eee0ba..08d922d3ce 100644
--- a/website/common/locales/nl/subscriber.json
+++ b/website/common/locales/nl/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Fenomenale Pauw Set",
"mysterySet201806": "Aantrekkelijke Zeeduivel Set",
"mysterySet201807": "Zee Slangen Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Standaard Steampunkset",
"mysterySet301405": "Opgesmukte Steampunkset",
"mysterySet301703": "Pauw steampunkset",
diff --git a/website/common/locales/pl/achievements.json b/website/common/locales/pl/achievements.json
index e30399010c..fb76ba8296 100644
--- a/website/common/locales/pl/achievements.json
+++ b/website/common/locales/pl/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Osiągnięcie",
"share": "Udostępnij",
"onwards": "Naprzód!",
"levelup": "Realizując życiowe cele, zyskałeś poziom i jesteś teraz w pełni wyleczony!",
diff --git a/website/common/locales/pl/backgrounds.json b/website/common/locales/pl/backgrounds.json
index 517978b175..c590284ee4 100644
--- a/website/common/locales/pl/backgrounds.json
+++ b/website/common/locales/pl/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/pl/challenge.json b/website/common/locales/pl/challenge.json
index f03b6a1cb2..7e7265f35d 100644
--- a/website/common/locales/pl/challenge.json
+++ b/website/common/locales/pl/challenge.json
@@ -131,7 +131,7 @@
"locationRequired": "Lokalizacja Wyzwania jest wymagana (\"Dodaj do\")",
"categoiresRequired": "Co najmniej jedna kategoria musi zostać wybrana",
"viewProgressOf": "Zobacz postęp",
- "viewProgress": "View Progress",
+ "viewProgress": "Widok Postępu",
"selectMember": "Wybierz Członka",
"confirmKeepChallengeTasks": "Czy chcesz zachować zadania z wyzwania?",
"selectParticipant": "Wybierz Uczestnika"
diff --git a/website/common/locales/pl/character.json b/website/common/locales/pl/character.json
index 31a781704f..1dafadc104 100644
--- a/website/common/locales/pl/character.json
+++ b/website/common/locales/pl/character.json
@@ -8,6 +8,8 @@
"other": "Inne",
"fullName": "Pełne imię",
"displayName": "Nazwa gracza",
+ "changeDisplayName": "Zmiana nazwy gracza",
+ "newDisplayName": "Nowa nazwa gracza",
"displayPhoto": "Zdjęcie",
"displayBlurb": "Krótki opis",
"displayBlurbPlaceholder": "Prosimy, przedstaw się",
@@ -181,7 +183,7 @@
"lostMana": "Użyłeś many",
"lostHealth": "Utraciłeś punkty zdrowia",
"lostExperience": "Utraciłeś punkty doświadczenia",
- "displayNameDescription1": "Ta nazwa pojawia się przy wiadomościach, które publikujesz w czatach Karczmy, gildii i drużyny, a także widoczna jest na Twoim awatarze. Aby ją zmienić, kliknij przycisk \"Edytuj\" powyżej. Jeśli zamiast tego chcesz zmienić swoją nazwę użytkownika, odwiedź",
+ "displayNameDescription1": "Ta nazwa pojawia się przy wiadomościach, które publikujesz w Karczmie oraz czatach gildii lub drużyny, a także widoczna jest na Twoim awatarze. Aby ją zmienić, kliknij przycisk \"Edytuj\" powyżej. Jeśli zamiast tego chcesz zmienić swoją nazwę użytkownika, odwiedź",
"displayNameDescription2": "Ustawienia → Strona",
"displayNameDescription3": "i zajrzyj do sekcji \"Rejestracja\".",
"unequipBattleGear": "Zdejmij wyposażenie bojowe",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Ukryj przydział Statystyk",
"quickAllocationLevelPopover": "Każdy zdobyty poziom daje Ci jeden punkt, który możesz przydzielić do wybranej przez siebie statystyki. Możesz zrobić to ręcznie lub pozwolić, by gra zdecydowała za Ciebie, używając jednej z opcji automatycznego przydzielania, którą znajdziesz klikając Ikonę Użytkownika > Statystyki",
"notEnoughAttrPoints": "Nie masz wystarczająco Punktów Statystyk.",
+ "classNotSelected": "Musisz wybrać Klasę zanim zaczniesz przydzielać Punkty Statystyk.",
"style": "Styl",
"facialhair": "Zarost",
"photo": "Zdjęcie",
@@ -219,6 +222,6 @@
"bodyAccess": "Dodatki na tułów",
"mainHand": "Główna ręka",
"offHand": "Druga ręka",
- "statPoints": "Stat Points",
+ "statPoints": "Punkty Statystyk",
"pts": "pkt"
}
\ No newline at end of file
diff --git a/website/common/locales/pl/content.json b/website/common/locales/pl/content.json
index 914f36c389..aedf15efff 100644
--- a/website/common/locales/pl/content.json
+++ b/website/common/locales/pl/content.json
@@ -163,19 +163,22 @@
"questEggYarnAdjective": "wełniany",
"questEggPterodactylText": "Pterodaktyl",
"questEggPterodactylMountText": "Pterodaktyl",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "ufny",
"questEggBadgerText": "Borsuk",
"questEggBadgerMountText": "Borsuk",
- "questEggBadgerAdjective": "a bustling",
+ "questEggBadgerAdjective": "ruchliwy",
"questEggSquirrelText": "Wiewiórka",
"questEggSquirrelMountText": "Wiewiórka",
- "questEggSquirrelAdjective": "a bushy-tailed",
- "questEggSeaSerpentText": "Sea Serpent",
- "questEggSeaSerpentMountText": "Sea Serpent",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSquirrelAdjective": "optymistyczna",
+ "questEggSeaSerpentText": "Wąż Morski",
+ "questEggSeaSerpentMountText": "Wąż Morski",
+ "questEggSeaSerpentAdjective": "lśniący",
+ "questEggKangarooText": "Kangur",
+ "questEggKangarooMountText": "Kangur",
+ "questEggKangarooAdjective": "bystry",
+ "questEggAlligatorText": "Krokodyl",
+ "questEggAlligatorMountText": "Krokodyl",
+ "questEggAlligatorAdjective": "uroczy",
"eggNotes": "Znajdź eliksir wyklucia i wylej go na to jajo, a wykluje się z niego <%= eggAdjective(locale) %> <%= eggText(locale) %>. ",
"hatchingPotionBase": "Zwyczajny",
"hatchingPotionWhite": "Biały",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Gwiezdna Noc",
"hatchingPotionRainbow": "Tęcza",
"hatchingPotionGlass": "Szkło",
+ "hatchingPotionGlow": "Lśniący w ciemności",
"hatchingPotionNotes": "Wylej go na jajko, a wykluje się z niego <%=potText(locale)%>.",
"premiumPotionAddlNotes": "Nie nadaje się do użytku na jajach otrzymanych za misje.",
"foodMeat": "Mięso",
diff --git a/website/common/locales/pl/faq.json b/website/common/locales/pl/faq.json
index c78e16191b..a62edc6971 100644
--- a/website/common/locales/pl/faq.json
+++ b/website/common/locales/pl/faq.json
@@ -7,7 +7,7 @@
"faqQuestion1": "Jak ustawić swoje zadania?",
"iosFaqAnswer1": "Dobre Nawyki (oznaczone +) to zadania, które możesz wykonać kilka razy dziennie, np. jedzenie warzyw. Złe Nawyki (oznaczone -) to czynności, których powinieneś unikać, takie jak obgryzanie paznokci. Nawyki z plusem oraz minusem symbolizują dobry lub zły wybór, np. wyjście do góry po schodach w przeciwieństwie do wyjechania windą. Dobre Nawyki nagrodzą cię Doświadczeniem i Złotem. Złe Nawyki zmniejszą twoje zdrowie.\n\nCodzienne to zadania, które musisz wykonać każdego dnia, takie jak umycie zębów lub sprawdzenie poczty elektronicznej. Możesz zmienić w jakie dni powinieneś ukończyć Codzienny klikając na dane zadanie. Jeśli pominiesz Codziennie zadanie zaplanowane na dzisiaj twój awatar w nocy otrzyma obrażenia. Uważaj by nie dodać zbyt wielu Codziennych naraz!\n\nDo-Zrobienia stanowią twoją listę zadań do wykonania. Za ukończenie Do-Zrobienia zyskujesz Złoto oraz Doświadczenie. Nigdy nie stracisz punktów zdrowia z powodu zadań Do-Zrobienia. Możesz ustalić ostateczny termin wykonania tego zadania klikając na nie w celu edycji.",
"androidFaqAnswer1": "Dobre Nawyki (oznaczone +) to zadania, które możesz wykonać kilka razy dziennie, np. jedzenie warzyw. Złe Nawyki (oznaczone -) to czynności, których powinieneś unikać, takie jak obgryzanie paznokci. Nawyki z plusem oraz minusem symbolizują dobry lub zły wybór, np. wyjście do góry po schodach w przeciwieństwie do wyjechania windą. Dobre Nawyki nagrodzą cię Doświadczeniem i Złotem. Złe Nawyki zmniejszą twoje zdrowie.\n\nCodzienne to zadania, które musisz wykonać każdego dnia, takie jak umycie zębów lub sprawdzenie poczty elektronicznej. Możesz zmienić w jakie dni powinieneś ukończyć Codzienny klikając na dane zadanie. Jeśli pominiesz Codziennie zadanie zaplanowane na dzisiaj twoja postać w nocy otrzyma obrażenia. Uważaj by nie dodać zbyt wielu Codziennych naraz!\n\nDo-Zrobienia stanowią twoją listę zadań do wykonania. Za ukończenie Do-Zrobienia zyskujesz Złoto oraz Doświadczenie. Nigdy nie stracisz punktów zdrowia z powodu zadań Do-Zrobienia. Możesz ustalić ostateczny termin wykonania tego zadania klikając na nie w celu edycji.",
- "webFaqAnswer1": "Dobre Nawyki (oznaczone +) to zadania, które możesz wykonać kilka razy dziennie, np. jedzenie warzyw. Złe Nawyki (oznaczone -) to czynności, których powinieneś unikać, takie jak obgryzanie paznokci. Nawyki z plusem oraz minusem symbolizują dobry lub zły wybór, np. wejście po schodach w przeciwieństwie do wjechania windą. Dobre Nawyki nagrodzą cię Doświadczeniem i Złotem. Złe Nawyki zmniejszą twoje zdrowie.\n
\nCodzienne to zadania, które musisz wykonać każdego dnia, takie jak umycie zębów lub sprawdzenie poczty elektronicznej. Możesz zmienić w jakie dni powinieneś ukończyć Codzienne klikając na dane zadanie. Jeśli pominiesz Codziennie zadanie zaplanowane na dzisiaj twój awatar w nocy otrzyma obrażenia. Uważaj by nie dodać zbyt wielu Codziennych naraz!\n
\nDo-Zrobienia stanowią twoją listę zadań do wykonania. Za ukończenie Do-Zrobienia zyskujesz Złoto oraz Doświadczenie. Nigdy nie stracisz punktów zdrowia z powodu zadań Do-Zrobienia. Możesz ustawić termin wykonania zadania klikając na ikonę ołówka aby edytować.",
+ "webFaqAnswer1": "* Dobre Nawyki (oznaczone :heavy_plus_sign:) to zadania, które możesz wykonać kilka razy dziennie, np. jedzenie warzyw. Złe Nawyki (oznaczone :heavy_minus_sign:) to czynności, których powinieneś unikać, takie jak obgryzanie paznokci. Nawyki z :heavy_plus_sign: oraz :heavy_minus_sign: symbolizują dobry lub zły wybór, np. wejście po schodach w przeciwieństwie do wjechania windą. Dobre Nawyki nagrodzą cię Doświadczeniem i Złotem. Złe Nawyki zmniejszą twoje zdrowie.\n* Codzienne to zadania, które musisz wykonać każdego dnia, takie jak umycie zębów lub sprawdzenie poczty elektronicznej. Możesz zmienić w jakie dni powinieneś ukończyć Codzienne klikając na dane zadanie. Jeśli pominiesz Codziennie zadanie zaplanowane na dzisiaj, twój awatar w nocy otrzyma obrażenia. Uważaj by nie dodać zbyt wielu Codziennych naraz!\n* Do-Zrobienia stanowią twoją listę zadań do wykonania. Za ukończenie Do-Zrobienia zyskujesz Złoto oraz Doświadczenie. Nigdy nie stracisz punktów zdrowia z powodu zadań Do-Zrobienia. Możesz ustawić termin wykonania zadania klikając na ikonę ołówka aby wejść w tryb edycji.",
"faqQuestion2": "Jakie są przykładowe zadania?",
"iosFaqAnswer2": "Na wiki są cztery listy przykładowych zadań jako inspiracja:\n
\n*[Przykładowe Nawyki](http://habitica.wikia.com/wiki/Sample_Habits)\n*[Przykładowe Codzienne](http://habitica.wikia.com/wiki/Sample_Dailies)\n*[Przykładowe Do-Zrobienia](http://habitica.wikia.com/wiki/Sample_To-Dos)\n*[Przykładowe losowe nagrody](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
"androidFaqAnswer2": "Na wiki są cztery listy przykładowych zadań jako inspiracja:\n
\n*[Przykładowe Nawyki](http://habitica.wikia.com/wiki/Sample_Habits)\n*[Przykładowe Codzienne](http://habitica.wikia.com/wiki/Sample_Dailies)\n*[Przykładowe Do-Zrobienia](http://habitica.wikia.com/wiki/Sample_To-Dos)\n*[Przykładowe losowe nagrody](http://habitica.wikia.com/wiki/Sample_Custom_Rewards)",
diff --git a/website/common/locales/pl/front.json b/website/common/locales/pl/front.json
index 2306d005db..655f46ba23 100644
--- a/website/common/locales/pl/front.json
+++ b/website/common/locales/pl/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Odblokuj nowe narzędzia motywacji, takie jak gromadzenie chowańców, losowe nagrody, rzucanie czarów i więcej!",
"unlockHeadline": "Gdy pozostajesz produktywny, odblokowujesz nowe możliwości!",
"useUUID": "Wykorzystaj UUID / Token API (opcja dla użytkowników Facebook'a)",
- "username": "Nazwa użytkownika",
- "emailOrUsername": "Email lub Login (Zależnie od przypadku)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Obejrzyj wideo",
"work": "Pracą",
"zelahQuote": "Z [Habitiką], myśl o zdobytych punktach (za dłuższy sen) lub straconym zdrowiu (za zarwanie nocy), skłania mnie do wcześniejszego pójścia do łóżka!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Brak nagłówków uwierzytelnienia.",
"missingAuthParams": "Brak parametrów uwierzytelniających.",
- "missingUsernameEmail": "Brakuje nazwy użytkownika lub adresu e-mail",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Brakuje adresu e-mail.",
- "missingUsername": "Brakuje nazwy użytkownika",
+ "missingUsername": "Missing username.",
"missingPassword": "Zapomniałem hasło.",
"missingNewPassword": "Brakuje nowego hasła.",
"invalidEmailDomain": "Nie możesz zarejestrować się używając adresów z podanych domen: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Nieprawidłowy adres e-mail. ",
"emailTaken": "Adres e-mail jest już używany.",
"newEmailRequired": "Brakuje nowego adresu e-mail.",
- "usernameTaken": "Login zajęty.",
- "usernameWrongLength": "Nazwa użytkownika musi zawierać od 1 do 20 znaków. ",
- "usernameBadCharacters": "Login musi posiadać tylko litery od a do z, cyfry od 0 do 9, łączniki albo podkreślniki.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Potwierdzenie hasła nie jest identyczne z hasłem.",
"invalidLoginCredentials": "Błędna nazwa użytkownika i/lub e-mail i/lub hasło",
"passwordResetPage": "Zresetuj hasło",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Reset hasła do Habitiki",
"passwordResetEmailText": "Jeżeli chciałeś zresetować hasło Habitiki dla użytkownika <%= username %>, idź do <%= passwordResetLink %> aby ustawić nowe. Link wygaśnie po 24 godzinach. Jeżeli nie chciałeś zmieniać hasła, prosimy zignorować tego maila.",
"passwordResetEmailHtml": "Jeżeli chciałeś zresetować hasło Habitiki dla użytkownika <%= username %>, \">kliknij tutaj, aby ustawić nowe. Link wygaśnie po 24 godzinach.
Jeżeli nie chciałeś zmieniać hasła, prosimy zignorować tego maila.",
- "invalidLoginCredentialsLong": "Ojej, twoja adres e-mailowy / nazwa użytkownika lub hasło są błędne.\n– Upewnij się, że poprawnie wpisane. Twój login i hasło są wrażliwe na wielkość liter.\n– Być może rejestrowałeś się za pomocą Facebooka albo Google, a nie e-maila. Upewnij się, że tak nie było, próbując ponownie zalogować się przy ich pomocy.\n– Jeśli zapomniałeś hasła, wybierz \"zapomniałem hasła\".",
+ "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\".",
"invalidCredentials": "Takie konto nie istnieje.",
- "accountSuspended": "To konto, ID użytkownika \"<%= userId %>\", zostało zablokowane za złamanie [Wytycznych Społeczności](https://habitica.com/static/community-guidelines) albo [Warunki Korzystania](https://habitica.com/static/terms). By dowiedzieć się więcej albo poprosić o odblokowanie, proszę o wysłanie maila do naszego Managera Społeczności <%= communityManagerEmail %> albo poproś swoich rodziców lub opiekuna o napisanie do nich. Proszę skopiuj swój ID użytkownika do maila i zawrzyj w nim swoją Nazwę Profilu.",
+ "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": "Konto zostało zawieszone",
"unsupportedNetwork": "Ta sieć nie jest obecnie wspierana.",
"cantDetachSocial": "Konto nie posiada innej formy uwierzytelnienia, nie można rozłączyć tej metody uwierzytelnienia.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Zarejestruj się przez <%= social %>",
"loginWithSocial": "Zaloguj się przez <%= social %>",
"confirmPassword": "Potwierdź hasło",
- "usernameLimitations": "Login musi mieć pomiędzy 1 a 20 znaków, posiadać tylko litery od a do z, cyfry od 0 do 9, łączniki albo podkreślniki.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "np. Zajaczek",
"emailPlaceholder": "np. zajaczek@example.com",
"passwordPlaceholder": "np. ******************",
@@ -329,6 +336,5 @@
"signup": "Zarejestruj się",
"getStarted": "Rozpocznij",
"mobileApps": "Aplikacje mobilne",
- "learnMore": "Dowiedz się więcej",
- "useMobileApps": "Habitica nie jest zoptymalizowana pod przeglądarki mobilne. Zalecamy pobranie naszych aplikacji mobilnych."
+ "learnMore": "Dowiedz się więcej"
}
\ No newline at end of file
diff --git a/website/common/locales/pl/gear.json b/website/common/locales/pl/gear.json
index 946d61fee0..b39ff8917a 100644
--- a/website/common/locales/pl/gear.json
+++ b/website/common/locales/pl/gear.json
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "Widły Ucztowania",
"weaponMystery201411Notes": "Dźgaj swoich wrogów lub rzuć się na ulubione potrawy - te wielofunkcyjne widły nadają się do wszystkiego! Brak dodatkowych korzyści. Przedmiot Abonencki Listopad 2014.",
"weaponMystery201502Text": "Lśniąca Skrzydlata Laska Miłości oraz Prawdy",
@@ -350,6 +358,10 @@
"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).",
"armor": "zbroja",
"armorCapitalized": "Zbroja",
"armorBase0Text": "Zwykłe ubranie",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Szaty posłańca",
"armorMystery201402Notes": "Połyskujące i wytrzymałe, te szaty mają wiele kieszeni na listy. Brak dodatkowych korzyści. Przedmiot Abonencki, luty 2014.",
"armorMystery201403Text": "Zbroja przemierzania lasów",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "Steampunkowy garnitur",
"armorMystery301404Notes": "Elegancki i stylowy! Brak dodatkowych korzyści. Przedmiot Abonencki, luty 2015.",
"armorMystery301703Text": "Steampunkowa pawia suknia",
@@ -754,6 +778,10 @@
"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).",
"headgear": "hełm",
"headgearCapitalized": "Nakrycie głowy",
"headBase0Text": "Brak nakrycia głowy",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Hełm tęczowego wojownika",
"headSpecialGaymerxNotes": "Aby uczcić porę dumy i konwent GaymerX, ten specjalny hełm jest przyozdobiony lśniącym, kolorowym wzorem tęczy! GaymerX to konwent poświęcony środowisku LGBTQ oraz grom komputerowym i jest otwarty dla wszystkich.",
"headMystery201402Text": "Skrzydlaty hełm",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Szykowny cylinder",
"headMystery301404Notes": "Fantazyjny cylinder dla najwyżej urodzonych. Przedmiot Abonencki, styczeń 2015. Brak dodatkowych korzyści.",
"headMystery301405Text": "Klasyczny cylinder",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "przedmiot w drugiej ręce",
"offhandCapitalized": "Przedmiot w drugiej ręce",
"shieldBase0Text": "Brak wyposażenia w drugiej ręce",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Pogromca postanowień",
"shieldMystery201601Notes": "To ostrze jest w stanie odbić wszystko, co rozprasza uwagę. Brak dodatkowych korzyści. Przedmiot Abonencki, styczeń 2016.",
"shieldMystery201701Text": "Tarcza zamrażająca czas",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Dodatki na plecy",
"backCapitalized": "Dodatki na plecy",
"backBase0Text": "Nic na plecach",
"backBase0Notes": "Nic na plecach.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Złote skrzydła",
"backMystery201402Notes": "Te lśniące skrzydła mają migoczące w słońcu pióra. Brak dodatkowych korzyści. Przedmiot abonencki, Luty 2014.",
"backMystery201404Text": "Skrzydła motyla zmierzchu",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Ten płaszcz kiedyś należał do samej Zaginionej Mistrzyni. Zwiększa Percepcję o <%= per %>.",
"backSpecialTurkeyTailBaseText": "Ogon Indyka",
"backSpecialTurkeyTailBaseNotes": "Podczas świętowania noś z dumą swój szlachetny Indyczy Ogon. Nie przynosi żadnych korzyści.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Dodatki na tułów",
"bodyCapitalized": "Dodatki na tułów",
"bodyBase0Text": "Bez ozdoby tułowia",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Gogle nosi się na oczach\", mówili. \"Nikt nie chce gogli które można nosić tylko na głowie\", mówili. Ha! Niech spojrzą na Ciebie! Brak dodatkowych korzyści. Przedmiot Abonencki, sierpień 2015.",
"headAccessoryArmoireComicalArrowText": "Zabawna Strzała",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Okulary",
"eyewearCapitalized": "Okulary",
"eyewearBase0Text": "Brak okularów",
diff --git a/website/common/locales/pl/generic.json b/website/common/locales/pl/generic.json
index dbe2d37e72..26f1d40654 100644
--- a/website/common/locales/pl/generic.json
+++ b/website/common/locales/pl/generic.json
@@ -71,6 +71,7 @@
"submit": "Wyślij",
"close": "Zamknij",
"saveAndClose": "Zapisz i zamknij",
+ "saveAndConfirm": "Zapisz i potwierdź",
"cancel": "Anuluj",
"ok": "OK",
"add": "Dodaj",
@@ -122,8 +123,8 @@
"error": "Błąd",
"menu": "Menu",
"notifications": "Powiadomienia",
- "noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotifications": "Teraz jesteś na bieżąco!",
+ "noNotificationsText": "Wróżki powiadomień składają ci gromkie brawa. Dobra robota!",
"clear": "Wyczyść",
"endTour": "Zamknij przewodnik",
"audioTheme": "Zestaw dźwięków",
diff --git a/website/common/locales/pl/groups.json b/website/common/locales/pl/groups.json
index df99714e0d..b9b55d1a3d 100644
--- a/website/common/locales/pl/groups.json
+++ b/website/common/locales/pl/groups.json
@@ -6,6 +6,7 @@
"innText": "Odpoczywasz w Gospodzie! Dopóki jesteś zameldowany, twoje Codzienne nie zadadzą ci obrażeń na koniec dnia, jednak w dalszym ciągu codziennie będą się odświeżać. Uważaj: Jeśli uczestniczysz w misji z bossem, wciąż może on zadać tobie obrażenia, jeśli członkowie twojej Drużyny ominą Codzienne, chyba że również odpoczywają w Gospodzie! Również twoje obrażenia zadane bossowi (lub zebrane przedmioty) nie zostaną uwzględnione, dopóki nie wymeldujesz się z Gospody.",
"innTextBroken": "Odpoczywasz w gospodzie, zgaduję... Dopóki jesteś zameldowany, twoje Codzienne nie zadadzą ci obrażeń na koniec dnia, jednak w dalszym ciągu codziennie będą się odświeżać... Jeśli uczestniczysz w misji z bossem, wciąż może on zadać tobie obrażenia, jeśli członkowie twojej Drużyny ominą Codzienne... chyba że również odpoczywają w gospodzie... Również Twoje obrażenia zadane bossowi (lub zebrane przedmioty) nie zostaną uwzględnione, dopóki nie wymeldujesz się z gospody... jestem taki zmęczony...",
"innCheckOutBanner": "Wpisałeś się aktualnie do Gospody. Twoje Codzienne nie będą Ciebie ranić i nie będziesz robił postępów w Misjach.",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Wznów otrzymywanie obrażeń",
"helpfulLinks": "Pomocne odnośniki",
"communityGuidelinesLink": "Wytyczne Społeczności",
@@ -369,7 +370,7 @@
"viewMembers": "Zobacz Członków",
"memberCount": "Liczba członków",
"recentActivity": "Ostatnia aktywność",
- "myGuilds": "Moje GIldie",
+ "myGuilds": "Moje Gildie",
"guildsDiscovery": "Odkryj Gildie",
"role": "Rola",
"guildOrPartyLeader": "Przywódca",
diff --git a/website/common/locales/pl/limited.json b/website/common/locales/pl/limited.json
index 246f6edcf8..6bd4cbe934 100644
--- a/website/common/locales/pl/limited.json
+++ b/website/common/locales/pl/limited.json
@@ -125,13 +125,18 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Dostępny w sprzedaży do <%= date(locale) %>.",
"dateEndMarch": "30 kwietnia",
"dateEndApril": "19 kwietnia",
"dateEndMay": "31 Maja",
"dateEndJune": "14 czerwca",
- "dateEndJuly": "July 31",
+ "dateEndJuly": "31 lipca",
"dateEndAugust": "Sierpień 31",
+ "dateEndSeptember": "21 września",
"dateEndOctober": "31 października",
"dateEndNovember": "30 listopada",
"dateEndJanuary": "31 stycznia",
diff --git a/website/common/locales/pl/loadingscreentips.json b/website/common/locales/pl/loadingscreentips.json
index 7140cc386a..31a55da52b 100644
--- a/website/common/locales/pl/loadingscreentips.json
+++ b/website/common/locales/pl/loadingscreentips.json
@@ -23,7 +23,7 @@
"tip21": "Zwiększ swoją Siłę, by zadawać więcej obrażeń Bossom i zdobywać trafienia krytyczne.",
"tip22": "Zwiększ swoją Kondycję, by złagodzić obrażenia za nieukończone Codzienne.",
"tip23": "Osiągnij 100 poziom by odblokować Kulę Odrodzenia za darmo i rozpocząć nową przygodę!",
- "tip24": "Masz pytanie? Zadaj je w Habiticznej Gildii Pomocy!",
+ "tip24": "Masz pytanie? Zadaj je w Gildii pomocy Habitiki!",
"tip25": "Sezonowe Wielkie Gale zaczynają się w okolicach równonocy i przesileń.",
"tip26": "Możesz szukać Drużyny lub jej członków w Party Wanted Guild!",
"tip27": "Wykonałeś Codzienne poprzedniego dnia, ale zapomniałeś je odznaczyć? Nie martw się! Używając opcji sprawdzania wczorajszej aktywności masz szansę na odznaczenie tych zadań, zanim zaczniesz nowy dzień.",
diff --git a/website/common/locales/pl/messages.json b/website/common/locales/pl/messages.json
index 91a4a86fa0..63a12dcf6b 100644
--- a/website/common/locales/pl/messages.json
+++ b/website/common/locales/pl/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Masz za mało klejnotów!",
"messageAuthPasswordMustMatch": ":password i :confirmPassword nie są identyczne",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword wymagane",
- "messageAuthUsernameTaken": "Login już zajęty",
"messageAuthEmailTaken": "Adres e-mail już zajęty.",
"messageAuthNoUserFound": "Nie znaleziono użytkownika.",
"messageAuthMustBeLoggedIn": "Musisz się zalogować.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "Ten przedmiot nie można kupić w liczbie większej niż 1.",
"notificationsRequired": "Wymagane są identyfikatory powiadomienia",
"unallocatedStatsPoints": "Masz nieprzydzielone Punkty Atrybutów: <%= points %>",
- "beginningOfConversation": "To początek Twojej konwersacji z <%= userName %>. Pamiętaj, aby być miłym, odnosić się z szacunkiem i przestrzegać Wytycznych Społeczności!"
+ "beginningOfConversation": "To początek Twojej konwersacji z <%= userName %>. Pamiętaj, aby być miłym, odnosić się z szacunkiem i przestrzegać Wytycznych Społeczności!",
+ "messageDeletedUser": "Niestety, ten użytkownik usunął już swoje konto."
}
\ No newline at end of file
diff --git a/website/common/locales/pl/questscontent.json b/website/common/locales/pl/questscontent.json
index 740fbca4c0..ad2b032c78 100644
--- a/website/common/locales/pl/questscontent.json
+++ b/website/common/locales/pl/questscontent.json
@@ -17,13 +17,13 @@
"questGryphonDropGryphonEgg": "Gryf (jajo)",
"questGryphonUnlockText": "Odblokowuje dostęp do kupna gryfich jaj na Targu",
"questHedgehogText": "Jeżostwór",
- "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": "Jeże należą do grupy zabawnych zwierzaków. To jedne z najsympatyczniejszych chowańców, jakie mógłby posiadać Habitanin. Plotka jednak głosi, że jeśli nakarmisz je mlekiem po północy, staną się nieco rozdrażnione. I urosną pięćdziesięciokrotnie. A InspectorCaracal właśnie tak zrobiła. Ups.",
"questHedgehogCompletion": "Twoja drużyna skutecznie uspokoiła jeża! Po zmniejszeniu się do normalnych rozmiarów, zwierzątko kuśtyka do swoich jaj. Wraca, piszcząc, i trąca w waszym kierunku kilka z nich. Oby te jeże bardziej lubiły mleko!",
"questHedgehogBoss": "Jeżostwór",
"questHedgehogDropHedgehogEgg": "Jeż (jajo)",
"questHedgehogUnlockText": "Odblokowuje dostęp do kupna jaj jeża na Targu",
"questGhostStagText": "Duch wiosny",
- "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": "Ach, wiosna. Czas, gdy krajobraz na powrót wypełnia się kolorami. Koniec z mroźnymi zimowymi zaspami. Tam, gdzie był lód, teraz tętnią życiem rośliny. Soczyście zielone liście spowijają drzewa, trawa powraca do swej wyrazistej barwy, równiny obsypują się tęczą kwiatów, a nad ziemią unosi się tajemnicza mgła! ... Zaraz, zaraz, tajemnicza mgła? \"O nie\" – szepcze z przerażeniem InspectorCaracal – \"Wygląda na to, że sprawcą tej mgły jest jakiś duch. Oj, on pędzi wprost na was!\"",
"questGhostStagCompletion": "Duch, pozornie bez uszczerbku, obniża nos ku ziemi. Uspokajający głos spowija twoją drużynę. \"Wybaczcie mi moje zachowanie. Dopiero zbudziłem się z drzemki i wygląda na to, że nie do końca wrócił mi rozum. Proszę, przyjmijcie to jako symbol moich przeprosin.\" Kilka jaj pojawia się na trawie przed duchem. Duch bez słowa odpływa w kierunku lasu, a w ślad za nim spadają kwiaty.",
"questGhostStagBoss": "Widmowy jeleń",
"questGhostStagDropDeerEgg": "Jelonek (jajo)",
@@ -62,7 +62,7 @@
"questVice1Text": "Nałóg. Część 1: Uwolnij się od wpływu Smoka",
"questVice1Notes": "Mówi się, że w jaskiniach Góry Habitica spoczywa ogromne zło. Potwór, którego obecność nagina wolę silnych bohaterów, skłaniając ich do złych nawyków i lenistwa! Bestią tą jest wielki smok o ogromnej sile, złożony z samych cieni: Nawyk, zdradziecki Żmij cienia. Odważni Habitanie, powstańcie i pokonajcie tego okropnego potwora raz na zawsze, lecz tylko jeśli wierzycie, że oprzecie się jego mocy.
Nałóg, Część 1:
Jak zamierzacie walczyć z bestią, która już ma nad wami kontrolę? Nie dajcie się lenistwu i nałogom! Pracujcie ciężko, by zwalczyć mroczny wpływ smoka i położyć kres jego uciskowi!
",
"questVice1Boss": "Cień Nałogu",
- "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": "Pod wpływem Vice odprężyłeś się i poczułeś przypływ sił, których się nie spodziewałeś. Gratulacje! Lecz niezmiernie przerażający wróg czeka ...",
"questVice1DropVice2Quest": "Nałóg. Część 2 (zwój)",
"questVice2Text": "Nałóg. Część 2: Odnajdź leże Żmija",
"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.",
@@ -603,18 +603,26 @@
"questSquirrelUnlockText": "Odblokowuje dostęp do kupna wiewiórczych jaj na Targu",
"cuddleBuddiesText": "Cuddle Buddies Quest Bundle",
"cuddleBuddiesNotes": "Contains 'The Killer Bunny', 'The Nefarious Ferret', and 'The Guinea Pig Gang'. Available until May 31.",
- "aquaticAmigosText": "Aquatic Amigos Quest Bundle",
+ "aquaticAmigosText": "Pakiet Misji Wodni Przyjaciele",
"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!",
+ "questSeaSerpentText": "Niebezpieczeństwo z Otchłani: Uderzenie Węża Morskiego",
"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)",
- "questSeaSerpentUnlockText": "Unlocks purchasable Sea Serpent eggs in the Market",
- "questKangarooText": "Kangaroo Catastrophe",
+ "questSeaSerpentBoss": "Potężny Wąż Morski",
+ "questSeaSerpentDropSeaSerpentEgg": "Wąż Morski (jajo)",
+ "questSeaSerpentUnlockText": "Odblokowuje dostęp do kupna jaj Węża Morskiego na Targu",
+ "questKangarooText": "Kangurza Katastrofa",
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooBoss": "Kangur Katastroficzny",
+ "questKangarooDropKangarooEgg": "Kangur (jajo)",
+ "questKangarooUnlockText": "Odblokowuje dostęp do kupna kangurzych jaj na Targu",
+ "forestFriendsText": "Leśni Przyjaciele - Paczka Zadań",
+ "forestFriendsNotes": "Zawiera questy \"Duch wiosny\", \"Żywopłot\" oraz \"Wikłacz\". Dostępne do 30 września.",
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/pl/settings.json b/website/common/locales/pl/settings.json
index b94593ce6b..574079d431 100644
--- a/website/common/locales/pl/settings.json
+++ b/website/common/locales/pl/settings.json
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "Dostarczony kod resetu hasła jest nieprawidłowy lub wygasł.",
"passwordChangeSuccess": "Twoje hasło zostało z powodzeniem zmienione, na właśnie przez Ciebie wybrane. Teraz możesz go użyć, aby uzyskać dostęp do swojego konta.",
"passwordSuccess": "Hasło zostało pomyślnie zmienione",
- "usernameSuccess": "Nazwa użytkownika została zmieniona",
+ "usernameSuccess": "Nazwa użytkownika została pomyślnie zmieniona",
+ "displayNameSuccess": "Nazwa gracza została pomyślnie zmieniona",
"emailSuccess": "E-mail pomyślnie zmieniony",
"detachSocial": "Wyrejestruj <%= network %>",
"detachedSocial": "Pomyślnie odpięto uwierzytelnienie za pomocą <%= network %> od Twojego konta",
"addedLocalAuth": "Pomyślnie dodano uwierzytelnianie lokalne",
"data": "Dane",
"exportData": "Eksport danych",
- "usernameOrEmail": "Login lub Email",
+ "usernameOrEmail": "Nazwa użytkownika lub e-mail",
"email": "E-mail",
"registerWithSocial": "Zarejestruj się przez <%= network %>",
"registeredWithSocial": "Zarejestrowany przez <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Wyświetl przycisk Zaproś do drużyny, gdy drużyna ma 1 członka.",
"saveCustomDayStart": "Zapisz własny początek dnia",
"registration": "Rejestracja",
- "addLocalAuth": "Dodaj uwierzytelnianie lokalne:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Generuj kody",
"generate": "Generuj",
"getCodes": "Zdobądź kody",
@@ -183,10 +184,23 @@
"mysticHourglassesTooltip": "Mistyczne Klepsydry",
"paypal": "PayPal",
"amazonPayments": "Płatności 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.",
+ "amazonPaymentsRecurring": "Zaznaczenie poniższej opcji jest wymagane do utworzenia twojej subskrypcji. Opcja zezwala, aby twoje konto na Amazonie było wykorzystane do realizacji stałej płatności dla tejsubskrypcji. Nie spowoduje to jednak automatycznego wykorzystania twojego konta na Amazonie dla realizacji zakupów w przyszłości.",
"timezone": "Strefa czasowa",
"timezoneUTC": "Habitica korzysta ze strefy czasowej ustawionej na twoim komputerze, to znaczy: <%= utc %>",
"timezoneInfo": "Jeśli strefa czasowa jest błędna, spróbuj najpierw odświeżyć stronę przyciskiem odświeżania w przeglądarce, aby upewnić się, że Habitica ma dostęp do najnowszych danych. Jeśli strefa wciąż jest nieprawidłowa, ustaw ją na swoim komputerze i znów odśwież stronę.
Jeśli używasz Habitiki na innych komputerach lub urządzeniach mobilnych, strefa czasowa na każdym z nich musi być taka sama. Jeśli twoje codzienne zadania resetują się o niewłaściwej porze, sprawdź w ten sam sposób inne komputery oraz przeglądarki w twoich urządzeniach mobilnych.",
"push": "Push",
- "about": "O nas"
+ "about": "O nas",
+ "setUsernameNotificationTitle": "Potwierdź swoją nazwę użytkownika!",
+ "setUsernameNotificationBody": "Wkrótce będziemy zmieniać nazwy logowania na unikalne, publiczne nazwy użytkowników. Nowe nazwy użytkowników będą używane do: zaproszeń, wywoływania innych osób na czacie poprzez @nazwę oraz w korespondencji.",
+ "usernameIssueSlur": "Nazwy użytkowników nie mogą zawierać wulgaryzmów.",
+ "usernameIssueForbidden": "Nazwy użytkowników nie mogą zawierać zastrzeżonych wyrazów.",
+ "usernameIssueLength": "Nazwa użytkownika musi zawierać od 1 do 20 znaków.",
+ "usernameIssueInvalidCharacters": "Nazwy użytkowników mogą zawierać wyłącznie litery od a do z, cyfry od 0 do 9, myślniki lub podkreślenia.",
+ "currentUsername": "Aktualna nazwa użytkownika:",
+ "displaynameIssueLength": "Nazwy Graczy muszą zawierać od 1 do 30 znaków.",
+ "displaynameIssueSlur": "Nazwy Graczy nie mogą zawierać wulgaryzmów",
+ "goToSettings": "Przejdź do ustawień",
+ "usernameVerifiedConfirmation": "Twoja nazwa użytkownika, <%= username %>, została potwierdzona!",
+ "usernameNotVerified": "Prosimy potwierdzić swoją nazwę użytkownika.",
+ "changeUsernameDisclaimer": "Wkrótce będziemy zmieniać nazwy logowania na unikalne, publiczne nazwy użytkowników. Nowe nazwy użytkowników będą używane do: zaproszeń, wywoływania innych osób na czacie poprzez @nazwę oraz w korespondencji."
}
\ No newline at end of file
diff --git a/website/common/locales/pl/subscriber.json b/website/common/locales/pl/subscriber.json
index 27b7b7c0b3..fb255870fa 100644
--- a/website/common/locales/pl/subscriber.json
+++ b/website/common/locales/pl/subscriber.json
@@ -145,7 +145,9 @@
"mysterySet201804": "Zestaw Przedniej Wiewiórki",
"mysterySet201805": "Zestaw Fenomenalnego Pawia",
"mysterySet201806": "Zestaw Ponętnego Skalara",
- "mysterySet201807": "Sea Serpent Set",
+ "mysterySet201807": "Zestaw Morskiego Węża",
+ "mysterySet201808": "Zestaw Lawowego Smoka",
+ "mysterySet201809": "Zestaw Jesiennego Uzbrojenia",
"mysterySet301404": "Standardowy zestaw steampunkowy",
"mysterySet301405": "Zestaw steampunkowych akcesoriów",
"mysterySet301703": "Zestaw steampunkowego pawia",
diff --git a/website/common/locales/pt/achievements.json b/website/common/locales/pt/achievements.json
index a581934eba..11a5882c04 100644
--- a/website/common/locales/pt/achievements.json
+++ b/website/common/locales/pt/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Conquista",
"share": "Partilhar",
"onwards": "Em frente!",
"levelup": "Ao concretizar os seus objetivos de vida real, você ganhou um nível e está agora completamente curado!",
diff --git a/website/common/locales/pt/backgrounds.json b/website/common/locales/pt/backgrounds.json
index 08fde2d486..3f6125ed1a 100644
--- a/website/common/locales/pt/backgrounds.json
+++ b/website/common/locales/pt/backgrounds.json
@@ -367,11 +367,25 @@
"backgroundDilatoryCityNotes": "Vagueie pelo mar subterrâneo da Cidade de Retardo",
"backgroundTidePoolText": "Piscina de Maré",
"backgroundTidePoolNotes": "Observe a vida marinha perto de uma Piscina de Maré.",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgrounds082018": "CONJUNTO 51: Lançado em Agosto de 2018",
+ "backgroundTrainingGroundsText": "Campo de Treino",
+ "backgroundTrainingGroundsNotes": "Luta no Campo de Treino",
+ "backgroundFlyingOverRockyCanyonText": "Desfiladeiro Rochoso",
+ "backgroundFlyingOverRockyCanyonNotes": "Espreita um cenário avassalador debaixo de ti enquanto voas sobre um Desfiladeiro Rochoso.",
+ "backgroundBridgeText": "Ponte",
+ "backgroundBridgeNotes": "Atravessa uma ponte catita.",
+ "backgrounds092018": "CONJUNTO 52: Lançado em Setembro de 2018",
+ "backgroundApplePickingText": "Apanha da Maçã",
+ "backgroundApplePickingNotes": "Vai à Apanha da Maçã e leva para casa um alqueire.",
+ "backgroundGiantBookText": "Livro Gigante",
+ "backgroundGiantBookNotes": "Lê enquanto caminhas pelas páginas do Livro Gigante",
+ "backgroundCozyBarnText": "Estábulo Aconchegante",
+ "backgroundCozyBarnNotes": "Descontrai com os teus animais de estimação e montadas no seu Estábulo Aconchegante.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/pt/challenge.json b/website/common/locales/pt/challenge.json
index e6e6bafbf0..815b358a89 100644
--- a/website/common/locales/pt/challenge.json
+++ b/website/common/locales/pt/challenge.json
@@ -131,7 +131,7 @@
"locationRequired": "É necessária a Localização do Desafio ('Adicionar a')",
"categoiresRequired": "Uma ou mais categorias devem ser escolhidas",
"viewProgressOf": "Ver o Progresso de",
- "viewProgress": "View Progress",
+ "viewProgress": "Ver Progresso",
"selectMember": "Escolher Membro",
"confirmKeepChallengeTasks": "Deseja manter as tarefas do desafio?",
"selectParticipant": "Escolha um Participante"
diff --git a/website/common/locales/pt/character.json b/website/common/locales/pt/character.json
index b990ab7df7..cc89fa113b 100644
--- a/website/common/locales/pt/character.json
+++ b/website/common/locales/pt/character.json
@@ -8,6 +8,8 @@
"other": "Outros",
"fullName": "Nome Completo",
"displayName": "Nome a Exibir",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Foto",
"displayBlurb": "Sobre",
"displayBlurbPlaceholder": "Por favor, apresente-se",
@@ -181,7 +183,7 @@
"lostMana": "Usou alguma Mana",
"lostHealth": "Perdeu alguma Vida",
"lostExperience": "Perdeu alguma Experiência",
- "displayNameDescription1": "Isto é o que aparece nas mensagens que você postar na Taverna, guildas, e conversa da equipe, junto com o que é exibido no seu avatar. Para alterar, clique em 'Editar' acima. Se quiser alterar o seu nome de login, vá a",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Configurações -> Site",
"displayNameDescription3": "e veja a secção de Registo.",
"unequipBattleGear": "Desequipar Equipamento de Batalha",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Esconder Alocação por Característica",
"quickAllocationLevelPopover": "Cada nível vale-te um Ponto para atribuíres a uma Característica à escolha. Podes fazê-lo manualmente ou deixar o jogo decidir por ti usando uma das opções de Alocação Automática que podes encontrar em Ícone de Utilizador > Características.",
"notEnoughAttrPoints": "Não tens Pontos de Características suficientes.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Estilo",
"facialhair": "Facial",
"photo": "Foto",
@@ -219,6 +222,6 @@
"bodyAccess": "Acessórios de Corpo.",
"mainHand": "Mão Principal",
"offHand": "Mão Oposta",
- "statPoints": "Stat Points",
+ "statPoints": "Pontos de Atributo",
"pts": "pts"
}
\ No newline at end of file
diff --git a/website/common/locales/pt/content.json b/website/common/locales/pt/content.json
index acfc5eab4b..b08ff9ed35 100644
--- a/website/common/locales/pt/content.json
+++ b/website/common/locales/pt/content.json
@@ -163,19 +163,22 @@
"questEggYarnAdjective": "lanudo",
"questEggPterodactylText": "Pterodáctilo",
"questEggPterodactylMountText": "Pterodáctilo",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "um impetuoso",
"questEggBadgerText": "Texugo",
"questEggBadgerMountText": "Texugo",
- "questEggBadgerAdjective": "a bustling",
+ "questEggBadgerAdjective": "um trepidante",
"questEggSquirrelText": "Esquilo",
"questEggSquirrelMountText": "Esquilo",
- "questEggSquirrelAdjective": "a bushy-tailed",
- "questEggSeaSerpentText": "Sea Serpent",
- "questEggSeaSerpentMountText": "Sea Serpent",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSquirrelAdjective": "um felpudo",
+ "questEggSeaSerpentText": "Serpente Marinha",
+ "questEggSeaSerpentMountText": "Serpente Marinha",
+ "questEggSeaSerpentAdjective": "uma cintilante",
+ "questEggKangarooText": "Canguru",
+ "questEggKangarooMountText": "Canguru",
+ "questEggKangarooAdjective": "um acutilante",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Ache uma poção de eclosão para usar nesse ovo e ele irá eclodir em um <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Básico/a",
"hatchingPotionWhite": "Branco/a",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Noite Estrelada",
"hatchingPotionRainbow": "Arco-Íris",
"hatchingPotionGlass": " de Vidro",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Utilize isto num ovo, e ele chocará como um mascote <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Não utilizável nos ovos de mascote de missão.",
"foodMeat": "Carne",
diff --git a/website/common/locales/pt/front.json b/website/common/locales/pt/front.json
index ed321a6721..f231191661 100644
--- a/website/common/locales/pt/front.json
+++ b/website/common/locales/pt/front.json
@@ -114,7 +114,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": "Other **3rd Party Tools** tie Habitica into various aspects of your life. Our API provides easy integration for things like the [Chrome Extension](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), for which you lose points when browsing unproductive websites, and gain points when on productive ones. [See more here](http://habitica.wikia.com/wiki/Extensions,_Add-Ons,_and_Customizations).",
+ "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.wikia.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",
@@ -141,13 +141,13 @@
"presskitDownload": "Baixar todas as imagens:",
"presskitText": "Obrigada pelo teu interesse no Habitica! As imagens seguintes podem ser usadas em artigos ou vídeos ou o Habitica. Para mais informações, por favor contacta-nos aqui: <%= pressEnquiryEmail %>.",
"pkQuestion1": "O que inspirou o Habitica? Como é que começou?",
- "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.",
+ "pkAnswer1": "Se alguma vez investiste o teu tempo a evoluir uma personagem num jogo, deve ser difícil não imaginares como seria a tua vida se direccionasses esse tipo de esforço a melhorar-te na vida real em vez do teu avatar. O Habitica iniciou-se para dar resposta a esta questão.
O Habitica foi oficialmente laçado através do Kickstarter em 2013, e a ideia desenvolveu-se mesmo. Desde então, cresceu para se tornar um projecto enorme, apoiado pelos nossos incríveis voluntários em open-source e pelos nossos generosos utilizadores.",
"pkQuestion2": "Porque é que o Habitica funciona?",
- "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": "É difícil formar um novo hábito porque as pessoas precisam realmente daquela recompensa imediata e óbvia. Por exemplo, é difícil começar a usar o fio dentário, apesar de o nosso dentista nos dizer que a longo prazo vamos ficar mais saudáveis, porque no preciso momento apenas nos magoa as gengivas.
A ludificação do Habitica adiciona a qualquer objectivo diário uma sensação de gratificação imediata ao recompensar uma tarefa difícil com experiência, ouro... ou até, quem sabe, um prémio aleatório, como um ovo de dragão! Isto ajuda a manter as pessoas motivadas mesmo que a tarefa em si não tenha uma recompensa intrínseca, e já vimos pessoas dar uma completa volta à sua vida como resultado disto. Podes espreitar histórias de sucesso que tais aqui: https://habitversary.tumblr.com",
"pkQuestion3": "Porque é que adicionaram funcionalidades sociais?",
- "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.",
+ "pkAnswer3": "A pressão social é um factor extremamente motivante para muitas pessoas, pelo que sabíamos que queríamos ter uma comunidade forte que responsabilizasse cada um pelos seus objectivos e que festejasse os seus sucessos. Por sorte, uma das coisas em que os jogos de vídeo multiplayer são fortíssimos é a criar um espírito de comunidade entre os seus utilizadores! A estrutura da comunidade do Habitica é emprestada deste tipo de jogo; podes formar uma pequena Equipa de amigos próximos mas também podes aderir a um grupo maior, que partilhe os teus interesses, conhecido por Guilda. Ainda que alguns jogadores escolham jogar sozinhos, a maioria decide criar uma rede de apoio que encoraje a responsabilização socialmente, através de funcionalidades como as Missões, em que os membros de uma Equipa reúnem a sua produtividade para combaterem monstros em conjunto.",
"pkQuestion4": "Porque é que ignorar tarefas reduz a vida do teu avatar?",
- "pkAnswer4": "If you skip one of your daily goals, your avatar will lose health the following day. This serves as an important motivating factor to encourage people to follow through with their goals because people really hate hurting their little avatar! Plus, the social accountability is critical for a lot of people: if you’re fighting a monster with your friends, skipping your tasks hurts their avatars, too.",
+ "pkAnswer4": "Se saltares um dos teus objectivos diários, no dia seguinte o teu avatar vai perder vida. Isto funciona enquanto factor motivante para encorajar as pessoas a cumprirem os seus objectivos porque toda a gente odeia fazer sofrer o seu pequeno avatar! E mais, a responsabilização social é fulcral para muitos: se estás a lutar contra um monstro com os teus amigos, saltar tarefas também magoa os avatares deles.",
"pkQuestion5": "O que é que distingue o Habitica de outros programas de gamificação?",
"pkAnswer5": "One of the ways that Habitica has been most successful at using gamification is that we've put a lot of effort into thinking about the game aspects to ensure that they are actually fun. We've also included many social components, because we feel that some of the most motivating games let you play with friends, and because research has shown that it's easier to form habits when you have accountability to other people.",
"pkQuestion6": "Quem é o típico utilizador do Habitica?",
@@ -211,8 +211,8 @@
"unlockByline2": "Desbloqueie novas ferramentas motivacionais, tais como colecionar mascotes, recompensas aleatórias, feitiços e muito mais!",
"unlockHeadline": "À medida que se mantém produtivo, desbloqueia novo conteúdo!",
"useUUID": "Use UUID / API Token (Para Usuários do Facebook)",
- "username": "Nome de Utilizador",
- "emailOrUsername": "Email ou Nome de Utilizador (atenção às maiúsculas e minúsculas)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Ver Vídeos",
"work": "Trabalho",
"zelahQuote": "Com o [Habitica], eu sou persuadido para ir para a cama a horas, com o pensamento dos pontos ganhos por ir dormir cedo ou pela vida que perco indo dormir mais tarde!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Abrandar",
"missingAuthHeaders": "Cabeçalhos de autenticação em falta.",
"missingAuthParams": "Parâmetros de autenticação em falta.",
- "missingUsernameEmail": "Nome de Utilizador ou email em falta.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "E-mail em falta.",
- "missingUsername": "Nome de Utilizador em falta.",
+ "missingUsername": "Missing username.",
"missingPassword": "Palavra-passe em falta.",
"missingNewPassword": "Nova palavra-passe em falta.",
"invalidEmailDomain": "Não pode registar com e-mails com os seguintes domínios : <%= domains %>",
@@ -270,9 +270,16 @@
"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.",
- "usernameTaken": "Nome de Utilizador já em uso.",
- "usernameWrongLength": "Nome de Utilizador deve ter entre 1 e 20 caracteres.",
- "usernameBadCharacters": "Nome de Utilizador deve ter apenas letras de a-z, números 0-9, hífens ou subtraços.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"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",
@@ -280,9 +287,9 @@
"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": "If you requested a password reset for <%= username %> on Habitica, \">click here to set a new one. The link will expire after 24 hours.
If you haven't requested a password reset, please ignore this email.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "Não há uma conta que usa essas credenciais.",
- "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 Profile Name.",
+ "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": "Esta conta foi suspensa",
"unsupportedNetwork": "Atualmente, esta rede não é suportada.",
"cantDetachSocial": "A conta não possui outra forma de autenticação; não se pode remover este método de autenticação.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Inscrever-se com <%= social %>",
"loginWithSocial": "Iniciar sessão com <%= social %>",
"confirmPassword": "Confirmar Palavra-passe",
- "usernameLimitations": "Nome de Utilizador deve ter entre 1 a 20 caracteres, contendo apenas letras de a-z, ou números 0-9, ou hífens, ou subtraços.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -326,9 +333,8 @@
"levelUpAnywhereDesc": "Our mobile apps make it simple to keep track of your tasks on-the-go. Accomplish your goals with a single tap, no matter where you are.",
"joinMany": "Join over 2,000,000 people having fun while accomplishing their goals!",
"joinToday": "Junta-te ao Habitica Hoje",
- "signup": "Sign Up",
- "getStarted": "Get Started",
- "mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "signup": "Inscrever",
+ "getStarted": "Começar",
+ "mobileApps": "Apps Móveis",
+ "learnMore": "Saber Mais"
}
\ No newline at end of file
diff --git a/website/common/locales/pt/gear.json b/website/common/locales/pt/gear.json
index 3fd2147d26..a786ad119a 100644
--- a/website/common/locales/pt/gear.json
+++ b/website/common/locales/pt/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Debaixo de água, magia baseada em fogo, gelo ou eletricidade podem ser perigosas para o Mago que a use. Invocar espinhos venenosos, no entanto, funciona fenomenalmente! Aumenta Inteligência em <%= int %> e Percepção por <%= per %>. Equipamento de Edição Limitada do Verão de 2018.",
"weaponSpecialSummer2018HealerText": "Tridente de Monarca de Tritões",
"weaponSpecialSummer2018HealerNotes": "Com um gesto benevolente, poderá comandar que água curativas fluam pelos seus domínios em ondas. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada do Verão de 2018.",
+ "weaponSpecialFall2018RogueText": "Frasco de Claridade",
+ "weaponSpecialFall2018RogueNotes": "Quando precisar de recobrar a sua lucidez, quando precisar de um pequeno impulso para tomar a decisão correcta, respire fundo e tome um trago. Tudo vai estar bem! Aumenta Força em <%= str %>. Equipamento de Edição Limitada do Outono de 2018.",
+ "weaponSpecialFall2018WarriorText": "Chicote de Minos",
+ "weaponSpecialFall2018WarriorNotes": "Não é comprido o suficiente para desenrolar atrás de si para o ajudar a manter orientado num labirinto. Bem, talvez num labirinto muito pequeno. Aumenta Força em <%= str %>. Equipamento de Edição Limitada do Outono de 2018.",
+ "weaponSpecialFall2018MageText": "Cajado de Doçura",
+ "weaponSpecialFall2018MageNotes": "Este não é um chupa chupa normal! A orbe brilhante de açucar mágico no topo deste bordão tem o poder de fazer bons hábitos pegarem-se a si. Aumenta Inteligência em <%= int %> e Perceção em <%= per %>. Equipamento de Edição Limitada do Outono de 2018. Item de duas mãos.",
+ "weaponSpecialFall2018HealerText": "Cajado Esfomeado",
+ "weaponSpecialFall2018HealerNotes": "Mantenha este bordão alimentado e ele irá conceder Benções. Se se esquecer de o manter alimentado, tenha a certeza de manter os seus dedos fora de alcance. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada do Outono de 2018.",
"weaponMystery201411Text": "Forcado de Banquete",
"weaponMystery201411Notes": "Apunhale seus inimigos ou cave pelas suas comidas favoritas - esse garfo versátil faz de tudo! Não confere benefícios. Item de Assinante de Novembro 2014.",
"weaponMystery201502Text": "Cajado Brilhante Alado do Amor e Também Verdade.",
@@ -350,6 +358,10 @@
"weaponArmoirePoisonedGobletNotes": "Use este objeto para criar resistência a pó de iocane e outros venenos perigosos e inconcebíveis. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto de Princesa Pirata (Item 3 de 4).",
"weaponArmoireJeweledArcherBowText": "Arco de Jóias de Arqueiro",
"weaponArmoireJeweledArcherBowNotes": "Este arco de ouro e gemas irá enviar as suas flechas contra os seus alvos a velocidades incríveis. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto de Joias de Arqueiro (Item 3 em 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Agulha de Encadernação",
+ "weaponArmoireNeedleOfBookbindingNotes": "Ficaria surpreso com o quão duros livros conseguem ser. Esta agulha consegue perfurar até ao coração das suas tarefas. Aumenta Força em <%= str %>. Armário Encantado: Conjunto de Encadernador (Item 3 de 4).",
+ "weaponArmoireSpearOfSpadesText": "Lança de Espadas",
+ "weaponArmoireSpearOfSpadesNotes": "Esta lança de cavaleiro é perfeita para atacar os seus Hábitos e Tarefas Diárias mais vermelhas. Aumenta Constituição em <%= con %>. Armário Encantado: Conjunto de Ás de Espadas (Item 3 de 3).",
"armor": "armadura",
"armorCapitalized": "Armadura",
"armorBase0Text": "Roupas Modestas",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "Magia de veneno tem uma reputação de subtileza. Não tanto com esta armadura colorida cuja mensagem é clara para besta e tarefa: cuidado! Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada do Verão de 2018.",
"armorSpecialSummer2018HealerText": "Mantos do Monarca de Tritões",
"armorSpecialSummer2018HealerNotes": "Estas vestimentas de azul cerúleo revelam que tem pés para andar em terra...bom. Nem de um monarca se pode esperar que seja perfeito. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada do Verão de 2018.",
+ "armorSpecialFall2018RogueText": "Casaco de Traje de Alter Ego",
+ "armorSpecialFall2018RogueNotes": "Estilo para o dia. Conforto e proteção para a noite. Aumenta Perceção em <%= per %>. Equipamento de Edição Limitada do Outono de 2018.",
+ "armorSpecialFall2018WarriorText": "Couraça de Minotauro",
+ "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.",
"armorMystery201402Text": "Túnicas do Mensageiro",
"armorMystery201402Notes": "Cintilantes e resistentes, essas túnicas tem vários bolsos para carregar cartas. Não concede benefícios. Item de Assinante de Fevereiro 2014.",
"armorMystery201403Text": "Armadura do Andador da Floresta",
@@ -660,6 +680,10 @@
"armorMystery201806Notes": "Esta cauda sinuosa possui manchas brilhantes para iluminar o seu caminho pelas profundezas. Não concede benefícios. Item de Subscritor de Junho de 2018.",
"armorMystery201807Text": "Cauda de Serpente Marinha",
"armorMystery201807Notes": "Esta poderosa cauda irá propeli-lo pelo mar a velocidades incríveis! Não concede benefícios. Item de Subscritor de Julho de 2018.",
+ "armorMystery201808Text": "Armadura de Dragão de Lava",
+ "armorMystery201808Notes": "Esta armadura é feita das escamas soltas do elusivo (e extremamente quente) Dragão de Lava. Não concede benefícios. Item de Subscritor de Agosto de 2018.",
+ "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.",
"armorMystery301404Text": "Fantasia Steampunk",
"armorMystery301404Notes": "Elegante e distinto. Não concede benefícios. Item de Assinante de Fevereiro 3015.",
"armorMystery301703Text": "Vestido do Pavão Steampunk",
@@ -754,6 +778,10 @@
"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).",
"headgear": "elmo",
"headgearCapitalized": "Capacete",
"headBase0Text": "Nenhum equipamento de cabeça",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Elmo do Guerreiro Arco-Íris",
"headSpecialGaymerxNotes": "Para celebrar a Conferência GaymerX, este elmo especial foi decorado com uma colorida e radiante estampa. A GaymerX é uma conferência de games que celebra a comunidade LGTBQ e jogos, sendo aberta para todo mundo.",
"headMystery201402Text": "Elmo Alado",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Cartola Chique",
"headMystery301404Notes": "Uma cartola chique para as damas e cavalheiros mais finos! Item de Assinante de Janeiro 3015. Não concede benefícios.",
"headMystery301405Text": "Cartola Básica",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "item de mão oposta",
"offhandCapitalized": "Item de mão oposta",
"shieldBase0Text": "Nenhum Equipamento de Mão Oposta",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Destruidor de Resoluções",
"shieldMystery201601Notes": "Essa lâmina pode ser usada para bloquear todas as distrações. Não concede benefícios. Item de Assinante de Janeiro 2016",
"shieldMystery201701Text": "Escudo Congelador de Tempo",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Acessório de Costas",
"backCapitalized": "Acessório de Costas",
"backBase0Text": "Sem Acessório de Fundo",
"backBase0Notes": "Sem Acessório de Fundo.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Asas Douradas",
"backMystery201402Notes": "Essas asas brilhantes tem penas que reluzem à luz do sol! Não concede benefícios. Item de Assinante de Fevereiro 2014.",
"backMystery201404Text": "Asas de Borboleta de Crepúsculo",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Esta capa pertenceu no passado à Masterclasser perdida em pessoa. Aumenta Percepção em <%= per %>.",
"backSpecialTurkeyTailBaseText": "Cauda de Perú",
"backSpecialTurkeyTailBaseNotes": "Use a sua Cauda de Perú com orgulho enquanto celebra! Não confere benefícios.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Cauda de Lobo",
+ "backWolfTailNotes": "Esta cauda fá-lo parecer um lobo leal! Não confere benefícios.",
"body": "Acessório de Corpo",
"bodyCapitalized": "Acessório de Corpo",
"bodyBase0Text": "Sem Acessório de Corpo",
@@ -1464,8 +1531,8 @@
"bodySpecialSummer2015MageNotes": "Esta fivela não concede nenhum poder, mas é brilhante. Não concede benefícios. Edição Limitada Conjunto de Verão 2015.",
"bodySpecialSummer2015HealerText": "Lenço de Marinheiro",
"bodySpecialSummer2015HealerNotes": "Bão bão bão? Não, não, não! Não concede benefícios. Edição Limitada Conjunto de Verão 2015.",
- "bodySpecialNamingDay2018Text": "Royal Purple Gryphon Cloak",
- "bodySpecialNamingDay2018Notes": "Happy Naming Day! Wear this fancy and feathery cloak as you celebrate Habitica. Confers no benefit.",
+ "bodySpecialNamingDay2018Text": "Capa do Grifo Real Púrpura",
+ "bodySpecialNamingDay2018Notes": "Feliz Dia de Nome! Use esta capa penuda e fina durante a celebração de Habitica. Não confere benefícios.",
"bodyMystery201705Text": "Asas dobradas de Guerreiro Plumado",
"bodyMystery201705Notes": "Estas asas dobradas não parecem apenas ter pinta: elas dar-lhe-ão a velocidade e agilidade de um grifo! Não confere benefícios. Item de Assinante de Maio de 2017.",
"bodyMystery201706Text": "Capa Rasgada de Corsário",
@@ -1554,12 +1621,14 @@
"headAccessoryMystery201510Notes": "Esses chifres amedrontadores são pegajosos. Não concede benefícios. Item de Assinante de Outubro de 2015.",
"headAccessoryMystery201801Text": "Frost Sprite Antlers",
"headAccessoryMystery201801Notes": "These icy antlers shimmer with the glow of winter auroras. Confers no benefit. January 2018 Subscriber Item.",
- "headAccessoryMystery201804Text": "Squirrel Ears",
+ "headAccessoryMystery201804Text": "Orelhas de Esquilo",
"headAccessoryMystery201804Notes": "These fuzzy sound-catchers will ensure you never miss the rustle of a leaf or the sound of an acorn falling! Confers no benefit. April 2018 Subscriber Item.",
"headAccessoryMystery301405Text": "Óculos de Proteção para Cabeça",
"headAccessoryMystery301405Notes": "\"Óculos de proteção são para os olhos,\" eles disseram. \"Ninguém quer óculos que você só pode usar na cabeça,\" eles disseram. Ha! Você mostrou pra eles. Não concede benefícios. Item de Assinante de Agosto 3015.",
"headAccessoryArmoireComicalArrowText": "Flecha cómica.",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Óculos",
"eyewearCapitalized": "Óculos",
"eyewearBase0Text": "Sem Acessório Para os Olhos",
diff --git a/website/common/locales/pt/generic.json b/website/common/locales/pt/generic.json
index 529c5bef26..e1f797e908 100644
--- a/website/common/locales/pt/generic.json
+++ b/website/common/locales/pt/generic.json
@@ -71,6 +71,7 @@
"submit": "Enviar",
"close": "Fechar",
"saveAndClose": "Salvar & Fechar",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Cancelar",
"ok": "OK",
"add": "Adicionar",
@@ -122,8 +123,8 @@
"error": "Erro",
"menu": "Menu",
"notifications": "Notificações",
- "noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotifications": "Já sabes tudo o que se passa!",
+ "noNotificationsText": "As fadas das notificações dão-te uma ruidosa salva de palmas! Bom trabalho!",
"clear": "Limpar",
"endTour": "Finalizar Tour",
"audioTheme": "Tema de Áudio",
diff --git a/website/common/locales/pt/groups.json b/website/common/locales/pt/groups.json
index 70f987cbb3..7296d38ee6 100644
--- a/website/common/locales/pt/groups.json
+++ b/website/common/locales/pt/groups.json
@@ -6,6 +6,7 @@
"innText": "Está a descansar na Estalagem! Enquanto estiver aí hospedado, as sua Tarefas Diárias não o magoarão ao final do dia, mas continuaram a renovar-se cada dia. Dique avisado: se estiver a participar numa Missão contra Líder, o Líder ainda lhe dará dano pela Tarefas Diárias falhadas pelos seus colegas de Equipa a não ser que também estejam na Estalagem! Adicionalmente, o seu próprio dano ao Líder (ou items colectados) não serão aplicados até sair da Estalagem.",
"innTextBroken": "Está a descansar na Estalagem, acho... Enquanto estiver lá hospedado, as suas Tarefas Diárias não o magoarão ao final do dia, mas continuaram a renovar-se todos os dias... Se estiver a participar numa Missão contra Líder, este ainda o poderá danificar devido a Tarefas Diárias incompletas dos seus colegas de Equipa... a não ser que também estejam na Estalagem... Adicionalmente, o seu dano ao Líder (ou items colectados) não serão aplicados até sair da Estalagem... tão cansado...",
"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": "You are checked into the Inn.",
"resumeDamage": "Retomar Dano",
"helpfulLinks": "Links Prestáveis",
"communityGuidelinesLink": "Guia de Comunidade",
@@ -106,16 +107,16 @@
"optionalMessage": "Mensagem Opcional",
"yesRemove": "Sim, remova-os",
"foreverAlone": "Não é possível curtir a própria mensagem. Não seja aquela pessoa.",
- "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",
+ "sortBackground": "Ordenar por Fundo",
+ "sortClass": "Ordenar por Classe",
+ "sortDateJoined": "Ordenar por Data de Adesão",
+ "sortLogin": "Ordenar por Data de Login",
+ "sortLevel": "Ordenar por Nível",
+ "sortName": "Ordenar por Nome",
+ "sortTier": "Ordenar por Nível",
"ascendingAbbrev": "Asc",
"descendingAbbrev": "Desc",
- "applySortToHeader": "Apply Sort Options to Party Header",
+ "applySortToHeader": "Aplicar opções de ordenação ao Cabeçalho da Equipa",
"confirmGuild": "Criar Guilda por 4 Gemas?",
"leaveGroupCha": "Deixar os desafios da Guilda e...",
"confirm": "Confirmar",
@@ -126,15 +127,15 @@
"send": "Enviar",
"messageSentAlert": "Mensagem enviada",
"pmHeading": "Mensagem privada para <%= name %>",
- "pmsMarkedRead": "Your Private Messages have been marked as read",
+ "pmsMarkedRead": "As suas Mensagens Privadas foram marcadas como lidas",
"possessiveParty": "Equipa de <%= name %>",
"clearAll": "Eliminar Todas as Mensagens",
"confirmDeleteAllMessages": "Tem certeza que desja deletar todas as mensagens na sua caixa de entrada? Outros usuários ainda irão ver as mensagens que você enviou para eles.",
- "PMPlaceholderTitle": "Nothing Here Yet",
- "PMPlaceholderDescription": "Select a conversation on the left",
- "PMPlaceholderTitleRevoked": "Your chat privileges have been revoked",
+ "PMPlaceholderTitle": "Nada aqui ainda",
+ "PMPlaceholderDescription": "Escolha uma conversa à esquerda",
+ "PMPlaceholderTitleRevoked": "Os seus privilégios de conversa foram revogados",
"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.",
- "PMReceive": "Receive Private Messages",
+ "PMReceive": "Receber Mensagens Privadas",
"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",
diff --git a/website/common/locales/pt/limited.json b/website/common/locales/pt/limited.json
index b8f16c14e1..814724c10b 100644
--- a/website/common/locales/pt/limited.json
+++ b/website/common/locales/pt/limited.json
@@ -24,15 +24,15 @@
"gildedTurkey": "Peru Dourado",
"polarBearPup": "Filhote de Urso Polar",
"jackolantern": "O miserável Jack da Lanterna",
- "ghostJackolantern": "Ghost Jack-O-Lantern",
+ "ghostJackolantern": "Lâmpada de Halloween Fantasmagórica",
"seasonalShop": "Loja Sazonal",
"seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>",
"seasonalShopTitle": "<%= linkStart %>Feiticeira Sazonal<%= linkEnd %>",
"seasonalShopClosedText": "A Loja Sazonal está correntemente fechada! Só abre durante as quatro Grande Galas de Habitica.",
- "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": "Feliz Salpico de Verão!! Gostaria de comprar alguns items raros? Só estarão disponíveis até 31 de Julho!",
+ "seasonalShopFallText": "Feliz Festival de Outono!! Gostaria de comprar alguns items raros? Só estarão disponíveis até 31 de Outubro!",
+ "seasonalShopWinterText": "Feliz Evento de Inverno do País das Maravilhas! Gostaria de comprar alguns items raros? Só estarão disponíveis até 31 de Janeiro!",
+ "seasonalShopSpringText": "Feliz Escapadela de Primavera!! Gostaria de comprar alguns items raros? Só estarão disponíveis até 30 de Abril!",
"seasonalShopFallTextBroken": "Ah... Bem-vindo à Loja Sazonal... Estamos estocando itens da Edição Sazonal de outono, ou algo assim... Tudo aqui ficará a disposição para compra durante o Festival de Outono anual, mas ficaremos abertos apenas até o dia 31 de Outubro... Acho que você deveria fazer seu próprio estoque agora, ou terá que esperar... e esperar... e esperar... *argh*",
"seasonalShopBrokenText": "O meu pavilhão!!!!!!! As minhas decorações!!!! Oh, o Descoraçador destruiu tudo :( Por favor, ajuda a derrotá-lo na Estalagem para que eu possa reconstruir!",
"seasonalShopRebirth": "Se você comprou algum deste equipamento no passado, mas atualmente não possui-lo, você pode recomprá-lo na coluna Recompensas. Inicialmente, você só vai ser capaz de comprar os itens para a sua classe atual (Guerreiro por padrão), mas não tenha medo, os outros itens específicos de classe estarão disponível se você alternar para essa classe.",
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Disponível para comprar até <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "19 de abril",
@@ -132,6 +136,7 @@
"dateEndJune": "June 14",
"dateEndJuly": "July 31",
"dateEndAugust": "August 31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "October 31",
"dateEndNovember": "November 30",
"dateEndJanuary": "January 31",
diff --git a/website/common/locales/pt/messages.json b/website/common/locales/pt/messages.json
index f08c5a4b72..7d6a5df90e 100644
--- a/website/common/locales/pt/messages.json
+++ b/website/common/locales/pt/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Gemas insuficientes!",
"messageAuthPasswordMustMatch": ":password e :confirmPassword não combinam",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword requeridos",
- "messageAuthUsernameTaken": "Nome de utilizador já registado",
"messageAuthEmailTaken": "Email já cadastrado",
"messageAuthNoUserFound": "Usuário não encontrado.",
"messageAuthMustBeLoggedIn": "Deve ter a sessão iniciada.",
@@ -61,5 +60,6 @@
"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": "Isto é o início da tua conversa com <%= userName %>. Lembra-te de ser gentil, respeitador, e de seguir as Directrizes da Comunidade.",
+ "messageDeletedUser": "Desculpa, este utilizador eliminou a sua conta."
}
\ No newline at end of file
diff --git a/website/common/locales/pt/npc.json b/website/common/locales/pt/npc.json
index 125322e30e..a7fb6d460a 100644
--- a/website/common/locales/pt/npc.json
+++ b/website/common/locales/pt/npc.json
@@ -40,60 +40,60 @@
"displayEggForGold": "Você quer vender um Ovo <%= itemType %>?",
"displayPotionForGold": "Você quer vender uma Poção <%= itemType %>?",
"sellForGold": "Venda por <%= gold %> Ouro",
- "howManyToSell": "How many would you like to sell?",
+ "howManyToSell": "Quantos quer vender?",
"yourBalance": "O seu saldo",
"sell": "Vender",
"buyNow": "Comprar agora",
"sortByNumber": "Número",
"featuredItems": "Items Promovidos!",
- "hideLocked": "Hide locked",
- "hidePinned": "Hide pinned",
- "hideMissing": "Hide Missing",
+ "hideLocked": "Esconder trancados",
+ "hidePinned": "Esconder fixos",
+ "hideMissing": "Esconder em falta",
"amountExperience": "<%= amount %> Experiência",
"amountGold": "<%= amount %> Ouro",
- "namedHatchingPotion": "<%= type %> Hatching Potion",
+ "namedHatchingPotion": "Poção de eclosão de <%= type %>",
"buyGems": "Comprar Gemas",
"purchaseGems": "Comprar Gemas",
"items": "Items",
"AZ": "A-Z",
- "sort": "Sort",
- "sortBy": "Sort By",
- "groupBy2": "Group By",
- "sortByName": "Name",
- "quantity": "Quantity",
- "cost": "Cost",
- "shops": "Shops",
- "custom": "Custom",
- "wishlist": "Wishlist",
- "wrongItemType": "The item type \"<%= type %>\" is not valid.",
- "wrongItemPath": "The item path \"<%= path %>\" is not valid.",
+ "sort": "Ordenar",
+ "sortBy": "Ordenar por",
+ "groupBy2": "Agrupar por",
+ "sortByName": "Nome",
+ "quantity": "Quantidade",
+ "cost": "Custo",
+ "shops": "Lojas",
+ "custom": "Customizado",
+ "wishlist": "Lista de Desejos",
+ "wrongItemType": "O tipo de item \"<%= type %>\" não é válido",
+ "wrongItemPath": "O caminho de item \"<%= path %>\" não é válido.",
"unpinnedItem": "You unpinned <%= item %>! It will no longer display in your Rewards column.",
"cannotUnpinArmoirPotion": "The Health Potion and Enchanted Armoire cannot be unpinned.",
- "purchasedItem": "You bought <%= itemName %>",
+ "purchasedItem": "Você comprou <%= itemName %>",
"ian": "Ian",
"ianText": "Bem-vindo à Loja de Missões! Aqui pode utilizar os Pergaminhos de Missões para lutar contra monstros com os seus amigos. Não se esqueça de verificar os nossos Pergaminhos de Missões refinados para comprar, à direita.",
- "ianTextMobile": "Can I interest you in some quest scrolls? Activate them to battle monsters with your Party!",
+ "ianTextMobile": "Posso interessá-lo em alguns pergaminhos de missão? Ative-os para combater monstros com a sua Equipa!",
"ianBrokenText": "Bem-vindo à Loja de Missões... Aqui pode utilizar os Pergaminhos de Missões para lutar contra monstros com os seus amigos... Não se esqueça de verificar os nossos Pergaminhos de Missões refinados para comprar, à direita...",
- "featuredQuests": "Featured Quests!",
+ "featuredQuests": "Missões Apresentadas!",
"cannotBuyItem": "Você não pode comprar esse item.",
"mustPurchaseToSet": "Deve comprar <%= val %> para colocar em <%= key %>.",
"typeRequired": "Tipo é necessário",
- "positiveAmountRequired": "Positive amount is required",
+ "positiveAmountRequired": "É necessário uma quantidade positiva",
"notAccteptedType": "Tipo deve ser em [ovos, poções de eclosão, poções de eclosão premium, comida, desafios, equipamento]",
"contentKeyNotFound": "Chave não encontrada para Conteúdo <%= type %>",
- "plusGem": "+<%= count %> Gem",
+ "plusGem": "+<%= count %> Gema",
"typeNotSellable": "Tipo não é vendível. Precisa ser um dos seguintes <%= acceptedTypes %>",
"userItemsKeyNotFound": "Chave não encontrada para user.items <%= type %>",
- "userItemsNotEnough": "You do not have enough <%= type %>",
+ "userItemsNotEnough": "Não tem <%= type %> suficientes",
"pathRequired": "Texto do caminho é necessário",
"unlocked": "Itens foram destravados",
"alreadyUnlocked": "Conjunto completo já destravado.",
"alreadyUnlockedPart": "Conjunto completo já parcialmente destravado.",
- "invalidQuantity": "Quantity to purchase must be a number.",
+ "invalidQuantity": "Quantidade a comprar deve ser um número.",
"USD": "(US$) Dólar",
- "newStuff": "New Stuff by Bailey",
- "newBaileyUpdate": "New Bailey Update!",
- "tellMeLater": "Tell Me Later",
+ "newStuff": "Coisas novas de Bailey",
+ "newBaileyUpdate": "Nova atualização de Bailey!",
+ "tellMeLater": "Digam-me Mais Tarde",
"dismissAlert": "Ignorar Este Alerta",
"donateText1": "Adiciona 20 Gemas em sua conta. Gemas são usadas para comprar itens especiais dentro do jogo, como camisetas e estilos de cabelo.",
"donateText2": "Ajude a suportar o Habitica",
@@ -109,9 +109,9 @@
"classStats": "These are your class's Stats; they affect the game-play. Each time you level up, you get one Point to allocate to a particular Stat. Hover over each Stat for more information.",
"autoAllocate": "Distribuição Automática",
"autoAllocateText": "If 'Automatic Allocation' is selected, your avatar gains Stats automatically based on your tasks' Stats, which you can find in TASK > Edit > Advanced Settings > Stat Allocation. Eg, if you hit the gym often, and your 'Gym' Daily is set to 'Strength', you'll gain Strength automatically.",
- "spells": "Skills",
+ "spells": "Habilidades",
"spellsText": "You can now unlock class-specific skills. You'll see your first at level 11. Your mana replenishes 10 points per day, plus 1 point per completed To-Do.",
- "skillsTitle": "Skills",
+ "skillsTitle": "Habilidades",
"toDo": "Afazeres",
"moreClass": "Para mais informação no sistema-classe, consulte Wikia.",
"tourWelcome": "Bem-vindo ao Habitica! Esta é a sua lista de Afazeres. Complete uma tarefa para prosseguir!",
@@ -159,5 +159,5 @@
"welcome4": "Evite maus hábitos que sugam sua Vida (Saúde), ou seu avatar morrerá!",
"welcome5": "Agora você vai customizar o seu avatar e definir as suas tarefas...",
"imReady": "Entre em Habitica",
- "limitedOffer": "Available until <%= date %>"
+ "limitedOffer": "Disponível até <%= date %>"
}
\ No newline at end of file
diff --git a/website/common/locales/pt/pets.json b/website/common/locales/pt/pets.json
index 6961369f82..67a45d1d83 100644
--- a/website/common/locales/pt/pets.json
+++ b/website/common/locales/pt/pets.json
@@ -94,15 +94,15 @@
"keyToPets": "Chave das Casotas dos Animais de Estimação",
"keyToPetsDesc": "Liberta todos os teus Animais de Estimação comuns para os poderes coleccionar de novo. (Animais de Estimação de Missão e Animais de Estimação raros não são afectados.)",
"keyToMounts": "Chave das Casotas das Montadas",
- "keyToMountsDesc": "Release all standard Mounts so you can collect them again. (Quest Mounts and rare Mounts are not affected.)",
+ "keyToMountsDesc": "Solte todas as montadas standard para possa coleciona-las outra vez. (Montadas de Missão e raras não serão afetadas).",
"keyToBoth": "Chave-Mestra das Casotas",
- "keyToBothDesc": "Release all standard Pets and Mounts so you can collect them again. (Quest Pets/Mounts and rare Pets/Mounts are not affected.)",
- "releasePetsConfirm": "Are you sure you want to release your standard Pets?",
- "releasePetsSuccess": "Your standard Pets have been released!",
- "releaseMountsConfirm": "Are you sure you want to release your standard Mounts?",
- "releaseMountsSuccess": "Your standard Mounts have been released!",
- "releaseBothConfirm": "Are you sure you want to release your standard Pets and Mounts?",
- "releaseBothSuccess": "Your standard Pets and Mounts have been released!",
+ "keyToBothDesc": "Solte todas as Mascotes e Montadas standard para possa colecciona-las outra vez. (Mascotes e Montadas de Missão e raras não serão afetadas).",
+ "releasePetsConfirm": "Tem a certeza que quer libertar as suas Mascotes standard?",
+ "releasePetsSuccess": "As suas Mascotes standard foram soltas!",
+ "releaseMountsConfirm": "Tem a certeza que quer libertar as suas Montadas standard?",
+ "releaseMountsSuccess": "As suas Montadas standard foram soltas!",
+ "releaseBothConfirm": "Tem a certeza que quer libertar todas as suas Mascotes e Montadas standard?",
+ "releaseBothSuccess": "As suas Mascotes e Montadas standard foram soltas!",
"petKeyName": "Chave dos Canis",
"petKeyPop": "Deixe seus mascotes vagarem livres, soltando-os para que iniciem suas próprias aventuras, e se dê a emoção do Mestre das Bestas mais uma vez!",
"petKeyBegin": "Chave dos Canis: Experimente <%= title %> mais uma vez!",
@@ -121,8 +121,8 @@
"gemsEach": "gemas cada",
"foodWikiText": "O que é que a sua mascote gosta de comer?",
"foodWikiUrl": "http://habitica.wikia.com/wiki/Food_Preferences",
- "welcomeStable": "Welcome to the Stable!",
- "welcomeStableText": "I'm Matt, the Beast Master. Starting at level 3, you can hatch Pets from Eggs by using Potions you find! When you hatch a Pet from your Inventory, it will appear here! Click a Pet's image to add it to your avatar. Feed them here with the Food you find after level 3, and they'll grow into hardy Mounts.",
+ "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.",
"petLikeToEat": "O que é que o meu animal de estimação gosta de comer?",
"petLikeToEatText": "Pets will grow no matter what you feed them, but they'll grow faster if you feed them the one food that they like best. Experiment to find out the pattern, or see the answers here:
http://habitica.wikia.com/wiki/Food_Preferences",
"filterByStandard": "Comum",
diff --git a/website/common/locales/pt/questscontent.json b/website/common/locales/pt/questscontent.json
index 29058530a5..dac9291ae2 100644
--- a/website/common/locales/pt/questscontent.json
+++ b/website/common/locales/pt/questscontent.json
@@ -117,7 +117,7 @@
"questBasilistCompletion": "A Basi-lista se dispersou em retalhos de papel, que brilhavam suavemente em cores de arco-íris. \"Ufa!\" diz @Arcosline. \"Ainda bem que vocês estavam aqui!\" Sentindo-se mais experiente do que antes, você recolhe um pouco de ouro de entre os papéis.",
"questBasilistBoss": "A Basi-Lista",
"questEggHuntText": "Caça ao Ovo",
- "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": "Durante a noite, estranhos ovos de aspeto normal apareceram em toda a parte: nos estábulos do Mat, atrás do balcão da Taverna, até entre os ovos de mascote no Mercado! Que incómodo! \"Ningúem sabe de onde vieram ou o que poderá sair deles\", diz Megan, \"mas não podemos simplesmente deixá-los assim em qualquer sítio! Procurem árduamente e ajudem a recolher estes ovos misteriosos. Pode ser que, se apanharmos suficientes, existam algumas sobras para vocês...\"",
"questEggHuntCompletion": "Você conseguiu! Em gratidão, Megan te dá dez ovos. \"Aposto que as poções de eclosão vão pintá-los de cores lindas! Imagino o que vai acontecer quando eles virarem montarias...\"",
"questEggHuntCollectPlainEgg": "Ovos Simples",
"questEggHuntDropPlainEgg": "Ovo Simples",
@@ -148,7 +148,7 @@
"questAtom2Notes": "Ufa, este lugar está ficando muito mais agradável com todos estes pratos limpos. Talvez você finalmente possa ter algum divertimento agora. Oh - parece haver uma caixa de pizza flutuando no lago. Bem, qual o problema de limpar mais uma coisa, não é verdade? Mas, infelizmente, não é uma mera caixa de pizza! Subitamente a caixa levanta da água para revelar-se como a cabeça de um monstro. Não pode ser! O Lendário Monstro de Lanchinhoness?! Diz-se que existe escondido no lago desde os tempos pré-históricos: a criatura criada a partir dos restos de comida e lixo dos antigos Habiticanos. Eca!",
"questAtom2Boss": "O Monstro de Lanchinhoness",
"questAtom2Drop": "O lavadeiromante (Pergaminho)",
- "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": "Com um grito ensurdecedor e cinco tipos diferentes de queijo a saltar da boca, o Monstro de Lanchinhoness cai em pedaços. Bom trabalho, bravo aventureiro! Mas espere...há algo errado com o lago?",
"questAtom3Text": "Ataque do Mundano, Parte 3: O Lavadeiromante",
"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!\"",
"questAtom3Completion": "O louco Lavadeiromante foi derrotado! Roupas limpas caem em pilhas ao seu redor. As coisas estão ficando muito melhor por aqui. Quando você começa a avançar pela armadura recém-passada, um brilho de metal chama sua atenção, e seu olhar recai sobre um elmo reluzente. O proprietário original deste brilhante item pode ser desconhecido, mas quando você o coloca, sente a calorosa presença de um espírito generoso. Pena que eles não colocaram uma etiqueta com nome.",
@@ -614,7 +614,15 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooBoss": "Canguru Catastrófico",
+ "questKangarooDropKangarooEgg": "Canguru (Ovo)",
+ "questKangarooUnlockText": "Desbloqueia ovos para compra de Canguru no Mercado",
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/pt/settings.json b/website/common/locales/pt/settings.json
index 2271aae683..f26907307c 100644
--- a/website/common/locales/pt/settings.json
+++ b/website/common/locales/pt/settings.json
@@ -54,13 +54,13 @@
"misc": "Variados",
"showHeader": "Mostrar Cabeçalho",
"changePass": "Alterar Palavra-passe",
- "changeUsername": "Alterar Nome de Utilizador",
+ "changeUsername": "Change Username",
"changeEmail": "Alterar Endereço de Email",
"newEmail": "Novo Endereço de Email",
"oldPass": "Palavra-passe Antiga",
"newPass": "Nova Palavra-passe",
"confirmPass": "Confirmar Nova Palavra-passe",
- "newUsername": "Novo Nome de Utilizador",
+ "newUsername": "New Username",
"dangerZone": "Zona de Perigo",
"resetText1": "ATENÇÃO! Isso redefine várias partes da sua conta. Isso é altamente desencorajado, mas algumas pessoas acham útil no início, após brincarem com o site por um curto período de tempo.",
"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.",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "O código de reinicio de senha fornecido é inválido ou expirou.",
"passwordChangeSuccess": "A sua senha foi modificada para o valor que forneceu com sucesso. Pode agora usa-la para aceder à sua conta.",
"passwordSuccess": "Palavra-passe alterada com sucesso",
- "usernameSuccess": "Nome de utilizador alterado com sucesso",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "Email alterado com sucesso",
"detachSocial": "Remover <%= network %>",
"detachedSocial": "Removeu a autenticação de <%= network %> com sucesso da sua conta",
"addedLocalAuth": "Autenticação local adicionada com sucesso",
"data": "Dados",
"exportData": "Exportar Dados",
- "usernameOrEmail": "Nome de Utilizador ou E-mail",
+ "usernameOrEmail": "Username or Email",
"email": "E-mail",
"registerWithSocial": "Registar com <%= network %>",
"registeredWithSocial": "Registado com <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Mostrar o botão 'Convidar' para a Equipe quando a equipe tiver 1 membro.",
"saveCustomDayStart": "Salvar Início de Dia Personalizado",
"registration": "Registro",
- "addLocalAuth": "Adicionar autenticação local:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Gerar Códigos",
"generate": "Gerar",
"getCodes": "Obter Códigos",
@@ -188,5 +189,18 @@
"timezoneUTC": "O Habitica usa o fuso horário definido no seu computador, que é <%= utc %>",
"timezoneInfo": "Se esse fuso horário não for o correto, primeiro recarregue esta página utilizando o botão de recarregar do seu navegador para garantir que Habitica tenha a informação mais recente. Se ainda estiver errado, ajuste o fuso horário no seu computador e recarrege esta página novamente.
Se você usa Habitica em outros computadores ou dispositivos móveis, o fuso horário deve ser o mesmo em todos eles. Se suas tarefas diárias têm sido reiniciadas na hora errada, repita esta operação em todos os outros computadores e em um navegador em seus dispositivos móveis.",
"push": "Empurrar",
- "about": "Acerca de"
+ "about": "Acerca de",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/pt/spells.json b/website/common/locales/pt/spells.json
index 93dee6ffe4..fc3a37f16f 100644
--- a/website/common/locales/pt/spells.json
+++ b/website/common/locales/pt/spells.json
@@ -21,7 +21,7 @@
"spellRogueBackStabText": "Facada nas Costas",
"spellRogueBackStabNotes": "Você trai uma tarefa tola e ganha ouro e EXP! (Baseado em: STR)",
"spellRogueToolsOfTradeText": "Ferramentas do Ofício",
- "spellRogueToolsOfTradeNotes": "Your tricky talents buff your whole Party's Perception! (Based on: Unbuffed PER)",
+ "spellRogueToolsOfTradeNotes": "Os teus talentos traiçoeiros aumentam a Percepção de toda a tua Equipa! (Baseado em: PER)",
"spellRogueStealthText": "Furtividade",
"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)",
"spellRogueStealthDaliesAvoided": "<%= originalText %> Número de tarefas diárias evitado: <%= number %>.",
diff --git a/website/common/locales/pt/subscriber.json b/website/common/locales/pt/subscriber.json
index c73458eb04..a2551e7e16 100644
--- a/website/common/locales/pt/subscriber.json
+++ b/website/common/locales/pt/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Conjunto \"Steampunk Padrão\"",
"mysterySet301405": "Conjunto \"Acessórios Steampunk\"",
"mysterySet301703": "Conjunto do Pavão Steampunk",
diff --git a/website/common/locales/pt_BR/backgrounds.json b/website/common/locales/pt_BR/backgrounds.json
index dcc440db25..bd8f79afb7 100644
--- a/website/common/locales/pt_BR/backgrounds.json
+++ b/website/common/locales/pt_BR/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Desfiladeiro Rochoso",
"backgroundFlyingOverRockyCanyonNotes": "Olhe abaixo uma cena de tirar o fôlego enquanto você sobrevoa um Desfiladeiro Rochoso.",
"backgroundBridgeText": "Ponte",
- "backgroundBridgeNotes": "Cruze uma encantadora Ponte."
+ "backgroundBridgeNotes": "Cruze uma encantadora Ponte.",
+ "backgrounds092018": " Conjunto 52: Lançado em Setembro de 2018. ",
+ "backgroundApplePickingText": "Colheita de Maçã",
+ "backgroundApplePickingNotes": "Vá à Colheita de Maçã e traga um alqueire para casa.",
+ "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",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Aproveite o brilho dos vaga-lumes no Bayou enevoado.",
+ "backgroundCreepyCastleText": "Castelo Assustador",
+ "backgroundCreepyCastleNotes": "Atreva-se a se aproximar de um Castelo Assustador.",
+ "backgroundDungeonText": "Masmorra",
+ "backgroundDungeonNotes": "Resgate os prisioneiros de um calabouço assustador"
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/character.json b/website/common/locales/pt_BR/character.json
index 9f5005dbe3..f33f5fef0b 100644
--- a/website/common/locales/pt_BR/character.json
+++ b/website/common/locales/pt_BR/character.json
@@ -8,6 +8,8 @@
"other": "Outros",
"fullName": "Nome Completo",
"displayName": "Nome de Exibição",
+ "changeDisplayName": "Mudar o nome de exibição",
+ "newDisplayName": "Novo nome de exibição",
"displayPhoto": "Foto",
"displayBlurb": "Sobre",
"displayBlurbPlaceholder": "Por favor, apresente-se",
@@ -181,7 +183,7 @@
"lostMana": "Você gastou Mana",
"lostHealth": "Você perdeu Vida",
"lostExperience": "Você perdeu Experiência",
- "displayNameDescription1": "Isto é o que aparece nas mensagens que você postar na Taverna, guildas e chat do grupo, junto com o que é exibido em seu avatar. Para mudá-lo, clique no botão Editar acima. Se você preferir mudar seu nome de usuário, vá para",
+ "displayNameDescription1": "Isto é o que aparece em mensagens que você postar na Taverna, guildas e bate-papo do grupo, juntamente com seu avatar. Para alterá-lo, clique no botão Editar acima. Se, em vez disso, você quiser alterar seu nome de usuário, vá para",
"displayNameDescription2": "Configurações -> Site",
"displayNameDescription3": "e procure na seção de Registro.",
"unequipBattleGear": "Desequipar Equipamento de Batalha",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Esconder Distribuição de Atributos",
"quickAllocationLevelPopover": "A cada nível que alcançar você terá um Ponto para distribuir em um atributo à sua escolha. Você pode fazer isso manualmente, ou deixar o jogo decidir por você usando uma das opções de Distribuição Automática encontradas em Usuário > Atributos.",
"notEnoughAttrPoints": "Você não possui Pontos de Atributos suficientes.",
+ "classNotSelected": " Você deve selecionar uma classe antes de poder distribuir seus Pontos de Atributo",
"style": "Estilo",
"facialhair": "Facial",
"photo": "Foto",
diff --git a/website/common/locales/pt_BR/content.json b/website/common/locales/pt_BR/content.json
index 3b8e33ba0e..409944da81 100644
--- a/website/common/locales/pt_BR/content.json
+++ b/website/common/locales/pt_BR/content.json
@@ -175,7 +175,10 @@
"questEggSeaSerpentAdjective": "um cintilante",
"questEggKangarooText": "Canguru",
"questEggKangarooMountText": "Canguru",
- "questEggKangarooAdjective": "um intenso",
+ "questEggKangarooAdjective": "um entusiasmado ",
+ "questEggAlligatorText": "Jacaré",
+ "questEggAlligatorMountText": "Jacaré",
+ "questEggAlligatorAdjective": "uma astúcia",
"eggNotes": "Ache uma poção de eclosão para usar nesse ovo e ele irá chocar em <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Básico",
"hatchingPotionWhite": "Branco",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Noite Estrelada",
"hatchingPotionRainbow": "Arco-Íris",
"hatchingPotionGlass": "Vidro",
+ "hatchingPotionGlow": "Brilha-no-Escuro",
"hatchingPotionNotes": "Use-a em um ovo e ele chocará como um mascote <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Não utilizável em ovos de mascote de missões.",
"foodMeat": "Carne",
diff --git a/website/common/locales/pt_BR/front.json b/website/common/locales/pt_BR/front.json
index ce665f3285..3c8d3819ff 100644
--- a/website/common/locales/pt_BR/front.json
+++ b/website/common/locales/pt_BR/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Desbloqueie novas ferramentas motivacionais como coleta de mascotes, recompensas aleatórias, uso de magias e mais!",
"unlockHeadline": "À medida que você é produtivo, você desbloqueia novos conteúdos!",
"useUUID": "Use UUID / API Token (Para Usuários do Facebook)",
- "username": "Nome de Usuário",
- "emailOrUsername": "E-mail ou Nome de Usuário (sensíveis a maiúsculo)",
+ "username": "Nome de usuário",
+ "emailOrUsername": "E-mail ou nome de usuário (diferencia minusculas de maiúsculas)",
"watchVideos": "Veja Vídeos",
"work": "Trabalho",
"zelahQuote": "Com o [Habitica], eu sou persuadido a ir para a cama na hora pelos pontos que ganho por dormir cedo ou pela vida que perco dormindo tarde!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Faltando cabeçalhos de autenticação.",
"missingAuthParams": "Faltando parâmetros de autenticação.",
- "missingUsernameEmail": "Digite o Nome de Usuário ou E-mail.",
+ "missingUsernameEmail": "Faltando nome de usuário ou e-mail.",
"missingEmail": "Faltando e-mail.",
- "missingUsername": "Digite o Nome de Usuário.",
+ "missingUsername": "Faltando nome de usuário.",
"missingPassword": "Faltando senha.",
"missingNewPassword": "Faltando nova senha.",
"invalidEmailDomain": "Você não pode se registrar com emails destes domínios: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Endereço de e-mail inválido.",
"emailTaken": "Endereço de e-mail já está sendo usado em uma conta.",
"newEmailRequired": "Faltando novo endereço de e-mail.",
- "usernameTaken": "Nome de Usuário já cadastrado.",
- "usernameWrongLength": "O Nome de Usuário deve conter de 1 a 20 caracteres.",
- "usernameBadCharacters": "O Nome de Usuário deve conter apenas letras de A a Z, números de 0 a 9, hífens ou underlines.",
+ "usernameTime": " É hora de definir seu nome de usuário!",
+ "usernameInfo": "Seu nome de exibição não foi mudado, mas o seu velho nome de usuário agora se tornará seu nome de usuário público. Este nome de usuário será usado para convites, @menções no bate-papo, e mensagens.
Se você quiser saber mais sobre essa mudança, visite a página Nomes de Jogadores, na wiki.",
+ "usernameTOSRequirements": "Os nomes de usuário devem estar de acordo com nossos Termos de Serviço e Diretrizes da Comunidade. Se você não definiu um Nome de Usuário anteriormente, seu nome de usuário foi gerado automaticamente.",
+ "usernameTaken": "Este nome de usuário já está sendo utilizado.",
+ "usernameWrongLength": "O nome de usuário deve conter entre 1 e 20 caracteres.",
+ "displayNameWrongLength": "Os nomes de exibição devem conter entre 1 e 30 caracteres.",
+ "usernameBadCharacters": "Nomes de usuários devem conter apenas letras de A a Z, números de 0 a 9, hífens ou underlines.",
+ "nameBadWords": " Nomes não podem incluir palavras inapropriadas.",
+ "confirmUsername": "Confirmar nome de usuário.",
+ "usernameConfirmed": " Nome de usuário confirmado!",
"passwordConfirmationMatch": "A confirmação de senha não corresponde à senha.",
"invalidLoginCredentials": "Nome de usuário e/ou e-mail e/ou senha incorretos.",
"passwordResetPage": "Mudar a Senha",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Reiniciar senha do Habitica",
"passwordResetEmailText": "Se você pediu para mudar a senha do usuário <%= username %> no Habitica, vá para <%= passwordResetLink %> para definir uma nova senha. Esse link irá expirar após 24 horas. Se você não pediu para mudar a senha, ignore este e-mail.",
"passwordResetEmailHtml": "Se você pediu para mudar a senha do usuário <%= username %> no Habitica, \">clique aqui para definir uma nova senha. O link irá expirar após 24 horas.
Se você não pediu para mudar a senha, ignore este e-mail.",
- "invalidLoginCredentialsLong": "Oh não - seu endereço de e-mail / nome de usuário ou senha está incorreto.\n- Certifique-se de que foram digitados corretamente. Seu nome de usuário e senha são sensíveis a maiúsculo.\n- Você pode ter se cadastrado com o Facebook ou Google, não com o e-mail. Cheque tentando fazer login com estas opções.\n- Se você esqueceu sua senha, clique em \"Esqueci a Senha\".",
+ "invalidLoginCredentialsLong": "Oh não - seu endereço de e-mail / nome de usuário ou senha está incorreto.\n- Certifique-se de que foram digitados corretamente. Seu nome de usuário e senha diferenciam minusculas de maiúsculas.\n- Você pode ter se cadastrado com o Facebook ou Google, não com o e-mail. Cheque tentando fazer login com estas opções.\n- Se você esqueceu sua senha, clique em \"Esqueci a Senha\".",
"invalidCredentials": "Não há uma conta associada a esses dados.",
- "accountSuspended": "Essa conta, com Usuário ID \"<%= userId %>\" foi bloqueada por violar as [Diretrizes da Comunidade](https://habitica.com/static/community-guidelines) ou [Termos de Serviço] (https://habitica.com/static/terms). Para detalhes ou solicitar o desbloqueio, por favor entre em contato com nosso Administrador de Comunidade pelo e-mail <%= communityManagerEmail %> ou peça para seu pais ou tutores para enviar o e-mail. Por favor não se esqueça de colocar no conteúdo do e-mail o seu ID de Usuário e Nome de Perfil.",
+ "accountSuspended": "Essa conta, com Usuário ID \"<%= userId %>\" foi bloqueada por violar as [Diretrizes da Comunidade](https://habitica.com/static/community-guidelines) ou [Termos de Serviço] (https://habitica.com/static/terms). Para detalhes ou solicitar o desbloqueio, por favor, entre em contato com nosso Administrador de Comunidade pelo e-mail <%= communityManagerEmail %> ou peça para seu pais ou tutores para enviar o e-mail. Por gentileza, não se esqueça de colocar no conteúdo do e-mail o seu ID de Usuário e Nome de Perfil.",
"accountSuspendedTitle": "Conta suspensa",
"unsupportedNetwork": "Esta rede social não é suportada atualmente.",
"cantDetachSocial": "A conta não possui outro método de autenticação; não é possível desconectar este método de autenticação.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Cadastre-se com <%= social %>",
"loginWithSocial": "Entre com <%= social %>",
"confirmPassword": "Confirmar Senha",
- "usernameLimitations": "O Nome de Usuário deve conter de 1 a 20 caracteres; dentre eles, apenas letras de A a Z, números de 0 a 9, hífens ou underlines.",
+ "usernameLimitations": "O nome de usuário deve conter entre 1 e 20 caracteres; dentre eles, apenas letras de A a Z, números de 0 a 9, hifens ou underlines, não podendo ser incluso quaisquer termos inapropriados",
"usernamePlaceholder": "Ex: HabitIcante",
"emailPlaceholder": "Ex: habiticante@exemplo.com",
"passwordPlaceholder": "Ex: ******************",
@@ -329,6 +336,5 @@
"signup": "Registre-se",
"getStarted": "Comece Já",
"mobileApps": "Aplicativos Móveis",
- "learnMore": "Aprenda Mais",
- "useMobileApps": "O Habitica não é otimizado para navegadores de dispositivos móveis. Recomendamos o download de nosso aplicativo móvel."
+ "learnMore": "Aprenda Mais"
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/gear.json b/website/common/locales/pt_BR/gear.json
index 08d57a9449..b1dacc71ed 100644
--- a/website/common/locales/pt_BR/gear.json
+++ b/website/common/locales/pt_BR/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "É bem perigoso mergulhar e ao mesmo tempo invocar magias baseadas em fogo, gelo ou eletricidade. No entanto conjurar espinhos venenosos funcionam maravilhosamente bem. Aumenta Inteligência em <%= int %> e Percepção em <%= per %>. Equipamento de Edição Limitada. Verão de 2018.",
"weaponSpecialSummer2018HealerText": "Tridente do Monarca Atlântico",
"weaponSpecialSummer2018HealerNotes": "Em um gesto benevolente, vossa majestade comanda que flua, em ondas, água curadoras em seus domínios. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "weaponSpecialFall2018RogueText": " Frasco da Clareza",
+ "weaponSpecialFall2018RogueNotes": "Quando você precisar voltar aos seus sentidos, quando você precisar se impulsionar para tomar a decisão correta, respire fundo e tome um gole. Ficará tudo bem! Aumenta Força em <%= str %>. Equipamento de Edição Limitada Outono 2018.",
+ "weaponSpecialFall2018WarriorText": " Chicote do Minotauro",
+ "weaponSpecialFall2018WarriorNotes": "Não é longo o suficiente para desenrolar atrás de você e manter suas orientações em um labirinto. Bem, talvez um pequeno labirinto. Aumenta Força em <%= str %>. Equipamento de Edição Limitada Outono de 2018.",
+ "weaponSpecialFall2018MageText": " Cajado da Doçura",
+ "weaponSpecialFall2018MageNotes": "Isto não é um pirulito comum! O brilhante globo de açúcar mágico no topo desse cajado tem o poder de fazer com que os Bons hábitos se apeguem a você. Aumenta Inteligência em <%= int %>e Percepção em <%= per %>. Equipamento de Edição Limitada Outono de 2018. Equipamento de duas mãos.",
+ "weaponSpecialFall2018HealerText": " Cajado Faminto",
+ "weaponSpecialFall2018HealerNotes": "Apenas mantenha este cajado alimentado e ele lhe trará Bênçãos. Se você esquecer de alimentá-lo, mantenha seus dedos longe. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada Outono de 2018.",
"weaponMystery201411Text": "Garfo de Banquete",
"weaponMystery201411Notes": "Apunhale seus inimigos ou empilhe suas comidas favoritas - esse versátil garfão faz de tudo! Não concede benefícios. Item de Assinante, Novembro de 2014.",
"weaponMystery201502Text": "Cajado Brilhante Alado do Amor e Também da Verdade",
@@ -350,6 +358,10 @@
"weaponArmoirePoisonedGobletNotes": "Use isso para reforçar sua resistência a pó de cianeto e outros venenos inconcebivelmente perigosos. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto da Princesa Pirática (Item 3 of 4).",
"weaponArmoireJeweledArcherBowText": "Arco Ornamentado do Arqueiro",
"weaponArmoireJeweledArcherBowNotes": "Este Arco de ouro e gemas irá enviar suas flechas nos seus inimigos em uma incrível velocidade. Aumenta a Inteligência por <%= int %>. Armário Encantado: Conjunto do Arqueiro Ornamentado (Item 3 de 3).",
+ "weaponArmoireNeedleOfBookbindingText": " Agulha de Encadernação",
+ "weaponArmoireNeedleOfBookbindingNotes": "Você ficaria surpreso com o quão duro os livros podem ser. Essa agulha pode penetrar diretamente no coração de suas tarefas. Aumenta Força em <%= str %>. Armário Encantado: Conjunto do Encadernador (Item 3 de 4).",
+ "weaponArmoireSpearOfSpadesText": "Lança de Espadas",
+ "weaponArmoireSpearOfSpadesNotes": "Esta lança de cavaleiro é perfeita para atacar seus Hábitos e Diárias mais vermelhas. Aumenta Constituição em <%= con %>. Armário Encantado: Conjunto Ás de Espadas (Item 3 de 3).",
"armor": "armadura",
"armorCapitalized": "Armadura",
"armorBase0Text": "Roupas Modestas",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "Magia venenosa é famosa pela sua sutiliza. Esta armadura não só tem uma cor vibrante, como também passa uma mensagem bem clara para as tarefas e inimigos: Se cuidem! Aumenta Inteligência em <%= int %> Equipamento de Edição Limitada. Verão de 2018.",
"armorSpecialSummer2018HealerText": "Robes do Monarca Atlântico",
"armorSpecialSummer2018HealerNotes": "Estas vestes cerúleas revelam ... seus pés de anfíbios ... Bem, nem mesmo um monarca pode ser perfeito. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "armorSpecialFall2018RogueText": "Sobretudo do Alter Ego",
+ "armorSpecialFall2018RogueNotes": "Estilo para o dia. Conforto e proteção para a noite. Aumenta Percepção em <%= per %>. Equipamento de Edição Limitada Outono de 2018.",
+ "armorSpecialFall2018WarriorText": "Armadura do Minotauro",
+ "armorSpecialFall2018WarriorNotes": "Completo com cascos para tamborilar uma cadência calmante enquanto caminha pelo seu labirinto meditativo. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada Outono de 2018.",
+ "armorSpecialFall2018MageText": "Túnica do Docemago",
+ "armorSpecialFall2018MageNotes": "O tecido desta túnica tem doces mágicos dentro! No entanto, recomendamos que você não tente comê-los. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada Outono de 2018.",
+ "armorSpecialFall2018HealerText": " Roupas Carnívoras",
+ "armorSpecialFall2018HealerNotes": "Isto é feito de plantas, mas não significa que é vegetariano. Maus hábitos têm medo de ficar a poucos quilômetros dessa túnica. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada Outono de 2018.",
"armorMystery201402Text": "Túnica do Mensageiro",
"armorMystery201402Notes": "Cintilante e resistente, essa túnica tem vários bolsos para carregar cartas. Não concede benefícios. Item de Assinante, Fevereiro de 2014.",
"armorMystery201403Text": "Armadura de Caminhante da Floresta",
@@ -660,6 +680,10 @@
"armorMystery201806Notes": " Esta cauda sinuante apresenta pontos cintilantes para iluminar o seu caminho em meio às profundezas.Item de Assinante, Junho de 2018.",
"armorMystery201807Text": "Cauda da Serpente Marinha",
"armorMystery201807Notes": "Esta cauda poderosa o impulsionará pelo mar a velocidades incríveis! Não concede benefícios. Item de Assinante, Julho de 2018.",
+ "armorMystery201808Text": "Armadura Dragão de Lava",
+ "armorMystery201808Notes": "Essa armadura é feita da troca de escamas do furtivo (e extremamente quente) Dragão de Lava. Não concede benefícios. Item de Assinante, Agosto de 2018.",
+ "armorMystery201809Text": "Armadura de Folhas Outonais",
+ "armorMystery201809Notes": "Você não é apenas um luvada de folhas pequenas e assustadoras, mas também está ostentando as cores mais bonitas da temporada! Não confere benefícios. Item de Assinante Setembro de 2018.",
"armorMystery301404Text": "Traje da Revolução Industrial",
"armorMystery301404Notes": "Elegante e distinto! Não concede benefícios. Item de Assinante, Fevereiro de 3015.",
"armorMystery301703Text": "Vestido de Pavão da Revolução Industrial",
@@ -754,6 +778,10 @@
"armorArmoirePiraticalPrincessGownNotes": "Esse traje exuberante possui muitos bolsos para esconder armas e espólios! Aumenta Percepção em <%= per %>. Armário Encantado: Conjunto da Princesa Pirática (Item 2 de 4).",
"armorArmoireJeweledArcherArmorText": "Armadura do Arqueiro Ornamentado",
"armorArmoireJeweledArcherArmorNotes": "Esta armadura feita delicadamente irá protegê-lo dos projéteis ou das Diárias vermelhas errantes! Aumenta Constituição em <%= con %>. Armário Encantado: Conjunto do Arqueiro Ornamentado (Item 2 de 3).",
+ "armorArmoireCoverallsOfBookbindingText": " Macacão do Encadernador",
+ "armorArmoireCoverallsOfBookbindingNotes": "Tudo que você precisa em um Conjunto de Macacão, incluindo bolsos para tudo. Um par de óculos de proteção, troco solto, um anel de ouro... Aumenta Constituição em <%= con %> e Percepção em <%= per %>. Armário Encantado: Conjunto do Encadernador (Item 2 de 4).",
+ "armorArmoireRobeOfSpadesText": "Túnica de Espadas",
+ "armorArmoireRobeOfSpadesNotes": "Estas vestes exuberantes escondem bolsos ocultos para guardar tesouros ou armas - a escolha é sua! Aumenta Força em <%= str %>. Armário Encantado: Conjunto Ás de Espadas (Item 2 de 3).",
"headgear": "Elmo",
"headgearCapitalized": "Equipamento De Cabeça",
"headBase0Text": "Sem Equipamento de Cabeça",
@@ -996,6 +1024,14 @@
"headSpecialSummer2018MageNotes": "O brilho afiado relembra o gosto da dor para aqueles que lhe acharem apetitoso. Aumenta Percepção em <%= per %>. Equipamento de Edição Limitada. Verão de 2018.",
"headSpecialSummer2018HealerText": "Coroa do Monarca Atlântico",
"headSpecialSummer2018HealerNotes": "Adornado com água-marinha, este refinado diadema marca a liderança dos atlantes, peixes e aqueles que são um pouco dos dois! Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "headSpecialFall2018RogueText": "Face do Alter Ego",
+ "headSpecialFall2018RogueNotes": "A maioria de nós esconde nossas lutas internas. Esta máscara mostra que todos nós experimentamos tensão entre nossos impulsos bons e maus. Além disso, vem com um lindo chapéu! Aumenta Percepção em <%= per %>. Equipamento de Edição Limitada Outono de 2018.",
+ "headSpecialFall2018WarriorText": " Face do Minotauro",
+ "headSpecialFall2018WarriorNotes": "Esta temível máscara mostra que você pode realmente pegar suas tarefas pelos chifres. Aumenta Força em <%= str %>. Equipamento de Edição Limitada Outono de 2018.",
+ "headSpecialFall2018MageText": "Chapéu do Docemago",
+ "headSpecialFall2018MageNotes": "Este chapéu pontiagudo é imbuído de poderosos feitiços de doçura. Cuidado, se ele ficar molhado pode ficar pegajoso! Aumenta Percepção em <%= per %>. Equipamento de Edição Limitada Outono de 2018.",
+ "headSpecialFall2018HealerText": " Elmo Faminto",
+ "headSpecialFall2018HealerNotes": "Este elmo é formado a partir de uma uma planta carnívora, reconhecida pelo sua habilidade de eliminar zumbis e outros inconvenientes. Apenas observe que não mastiga sua cabeça. Aumenta Inteligência em <%= int %>. Equipamento de Edição Limitada Outono de 2018.",
"headSpecialGaymerxText": "Elmo dos Guerreiros Arco-Íris",
"headSpecialGaymerxNotes": "Para celebrar a Conferência GaymerX, este elmo especial foi decorado com uma colorida e radiante estampa. A GaymerX é uma conferência de games que celebra a comunidade LGTBQ e jogos e é aberta para todo mundo.",
"headMystery201402Text": "Elmo Alado",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "A luz hipnotizante deste elmo chamará todas as criaturas do mar para perto de você. Nós pedimos que você use seu cintilante poder de atração para o bem! Não confere nenhum benefício. Item de Assinante, Junho de 2018.",
"headMystery201807Text": "Elmo da Serpente Marinha",
"headMystery201807Notes": "As fortes escamas neste elmo irão protegê-lo de qualquer tipo de inimigo oceânico. Não concede benefícios. Item de Assinante, Julho de 2018.",
+ "headMystery201808Text": "Capuz Dragão de Lava",
+ "headMystery201808Notes": "Os chifres incandescentes nesse capuz iluminarão seu caminho pelas cavernas subterrâneas. Não concede benefícios. Item de Assinante, Agosto de 2018.",
+ "headMystery201809Text": "Coroa de Folhas Outonais",
+ "headMystery201809Notes": "As últimas flores dos dias quentes do Outono são um lembrete da beleza desta estação. Não confere benefícios. Item de Assinante Setembro de 2018.",
"headMystery301404Text": "Cartola Chique",
"headMystery301404Notes": "Uma cartola chique para os mais finos cavalheiros e damas! Não concede benefícios. Item de Assinante, Janeiro de 3015.",
"headMystery301405Text": "Cartola Básica",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Bucaneiros elegantes são conhecidos pelos seus elegantes chapéus! Aumenta Percepção e Inteligência em <%= attrs %> cada. Armário Encantado: Conjunto da Princesa Pirática (Item 1 de 4).",
"headArmoireJeweledArcherHelmText": "Elmo do Arqueiro Ornamentado",
"headArmoireJeweledArcherHelmNotes": "Este elmo pode parecer cheio de enfeites, mas é excecionalmente leve e forte. Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto do Arqueiro Ornamentado (Item 1 de 3). ",
+ "headArmoireVeilOfSpadesText": "Véu de Espadas",
+ "headArmoireVeilOfSpadesNotes": "Um véu sombrio e misterioso que aumentará a sua discrição. Aumenta Percepção em <%= per %>. Armário Encantado: Conjunto Ás de Espadas (Item 1 de 3).",
"offhand": "mão secundária",
"offhandCapitalized": "Mão Secundária",
"shieldBase0Text": "Sem Item na Mão Secundária",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Talhado em pedra, este temível escudo em forma de crânio enche os peixefóbicos de medo ao lhe ver trotando com sua montaria e mascote de ossos. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada. Verão de 2018.",
"shieldSpecialSummer2018HealerText": "Brasão do Monarca Atlântico",
"shieldSpecialSummer2018HealerNotes": "Este escudo produz um domo de ar para graça dos visitantes terrestres em seu reino aquático. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada. Verão de 2018.",
+ "shieldSpecialFall2018RogueText": " Frasco da Tentação",
+ "shieldSpecialFall2018RogueNotes": "Esta garrafa representa todas as distrações e problemas que impedem você de ser o melhor de si. Resista! Estamos torcendo por você! Aumenta Força em <%= str %>. Equipamento de Edição Limitada Outono de 2018.",
+ "shieldSpecialFall2018WarriorText": " Escudo Brilhante",
+ "shieldSpecialFall2018WarriorNotes": "Super brilhante para dissuadir quaisquer Górgonas problemáticas de brincar de esconde-esconde pelos cantos! Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada Outono de 2018.",
+ "shieldSpecialFall2018HealerText": "Escudo Faminto",
+ "shieldSpecialFall2018HealerNotes": "Com sua boa aberta, este escudo irá absorver todos os golpes dos seus inimigos. Aumenta Constituição em <%= con %>. Equipamento de Edição Limitada Outono de 2018.",
"shieldMystery201601Text": "Destruidora de Resoluções",
"shieldMystery201601Notes": "Essa lâmina pode ser usada para bloquear todas as distrações. Não concede benefícios. Item de Assinante, Janeiro de 2016",
"shieldMystery201701Text": "Escudo Congela-Tempo",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Que vaso luxuoso você fez! O que colocará dentro? Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto do Vidreiro (Item 4 de 4).",
"shieldArmoirePiraticalSkullShieldText": "Escudo da Caveira Pirática",
"shieldArmoirePiraticalSkullShieldNotes": "Este escudo encantado sussurrará as localizações secretas dos tesouros dos seus inimigos- ouça atentamente! Aumenta Percepção e Inteligência em <%= attrs %>cada. Armário Encantado: Conjunto da Princesa Pirática (Item 4 de 4).",
+ "shieldArmoireUnfinishedTomeText": "Livro inacabado",
+ "shieldArmoireUnfinishedTomeNotes": "Você não pode simplesmente procrastinar quando está segurando isto! A encadernaçao precisa ser concluída para que as pessoas possam ler o livro! Aumenta Inteligência em <%= int %>. Armário Encantado: Conjunto do Encadernador (Item 4 de 4).",
"back": "Acessório de Fundo",
"backCapitalized": "Acessório para costas",
"backBase0Text": "Sem Acessório de Fundo",
"backBase0Notes": "Sem Acessório de Fundo.",
+ "animalTails": "Cauda de Animais",
"backMystery201402Text": "Asas Douradas",
"backMystery201402Notes": "Essas asas brilhantes tem penas que reluzem à luz do sol! Não concede benefícios. Item de Assinante, Fevereiro de 2014.",
"backMystery201404Text": "Asas de Borboleta Crepuscular",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Esta capa já pertenceu uma vez à própria Mestre de Classe Perdida. Aumenta Percepção em <%= per %>.",
"backSpecialTurkeyTailBaseText": "Rabo de Peru",
"backSpecialTurkeyTailBaseNotes": "Vista seu nobre Rabo de Peru enquanto celebra as festividades. Não concede benefícios.",
+ "backBearTailText": "Cauda de Urso",
+ "backBearTailNotes": "Esta cauda faz com você pareça com um bravo urso! Não confere benefícios.",
+ "backCactusTailText": "Cauda de Cacto",
+ "backCactusTailNotes": "Esta cauda faz com você pareça com um cacto espinhoso! Não confere benefícios.",
+ "backFoxTailText": "Cauda de Raposa",
+ "backFoxTailNotes": "Esta cauda faz com você pareça com uma raposa astuta! Não confere benefícios.",
+ "backLionTailText": "Cauda de Leão",
+ "backLionTailNotes": "Esta cauda faz com você pareça com um leão real! Não confere benefícios.",
+ "backPandaTailText": "Cauda de Panda",
+ "backPandaTailNotes": "Esta cauda faz com você pareça com um panda gentil! Não confere benefícios.",
+ "backPigTailText": "Cauda de Porco",
+ "backPigTailNotes": "Esta cauda faz com você pareça com um porco extravagante! Não confere benefícios.",
+ "backTigerTailText": "Cauda de Tigre",
+ "backTigerTailNotes": "Esta cauda faz com você pareça com um tigre feroz! Não confere benefícios.",
+ "backWolfTailText": "Cauda de Lobo",
+ "backWolfTailNotes": "Esta cauda faz com você pareça com um lobo leal! Não confere benefícios.",
"body": "Acessório de Corpo",
"bodyCapitalized": "Acessório de corpo",
"bodyBase0Text": "Sem Acessório de Corpo",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Óculos de proteção são para os olhos,\" eles disseram. \"Ninguém quer óculos que você só pode usar na cabeça,\" eles disseram. Ha! Você mostrou pra eles! Não concede benefícios. Item de Assinante, Agosto de 3015.",
"headAccessoryArmoireComicalArrowText": "Flecha Cômica",
"headAccessoryArmoireComicalArrowNotes": "Este item excêntrico serve para dar uma boa gargalhada! Aumenta Força em <%= str %>. Armário Encantado: Item Independente.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Óculos do Encadernador",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "Esses óculos irão ajudá-lo a se concentrar em qualquer tarefa, grande ou pequena! Aumenta Percepção em <%= per %>. Armário Encantado: Conjunto do Encadernador (Item 1 de 4).",
"eyewear": "Acessório de Olhos",
"eyewearCapitalized": "Óculos",
"eyewearBase0Text": "Sem Acessório Para Olhos",
diff --git a/website/common/locales/pt_BR/generic.json b/website/common/locales/pt_BR/generic.json
index df485d0576..542c08c7c0 100644
--- a/website/common/locales/pt_BR/generic.json
+++ b/website/common/locales/pt_BR/generic.json
@@ -71,6 +71,7 @@
"submit": "Enviar",
"close": "Fechar",
"saveAndClose": "Salvar e Fechar",
+ "saveAndConfirm": "Salvar & Confirmar",
"cancel": "Cancelar",
"ok": "OK",
"add": "Adicionar",
@@ -123,7 +124,7 @@
"menu": "Menu",
"notifications": "Notificações",
"noNotifications": "Você está com tudo em dia!",
- "noNotificationsText": "As fadas da notificação te deram uma rodada de aplausos barulhentos! Muito bem!",
+ "noNotificationsText": "As fadas da notificação lhe deram uma rodada de aplausos barulhentos! Muito bem!",
"clear": "Limpar",
"endTour": "Finalizar Tutorial",
"audioTheme": "Tema de Áudio",
diff --git a/website/common/locales/pt_BR/groups.json b/website/common/locales/pt_BR/groups.json
index 6132f6ec4d..dd98a62e8f 100644
--- a/website/common/locales/pt_BR/groups.json
+++ b/website/common/locales/pt_BR/groups.json
@@ -6,6 +6,7 @@
"innText": "Você está descansando na Pousada! Durante o check-in, suas Diárias não lhe causarão dano no final do dia, mas elas ainda irão atualizar todos os dias. Fique avisado: se você estiver participando de uma Missão de Chefão, o chefe ainda irá causar dano pelas Diárias perdidas dos membros do seu Grupo, a menos que eles também estejam na Pousada! Além disso, seu próprio dano ao Chefão (ou itens coletados) não será aplicado até que você saia da Pousada.",
"innTextBroken": "Você está descansando na Pousada, eu acho ... Enquanto estiver na Pousada, suas Diárias não vão te machucar no final do dia, mas elas ainda irão atualizar todos os dias ... Se você estiver participando de uma Missão de Chefão, o Chefão ainda irá causar dano pelas Diárias perdidas dos membros do seu Grupo, a menos que eles também estejam na Pousada... Além disso, seu próprio dano ao Chefão (ou itens coletados) não será aplicado até você sair da Pousada... estou tão cansado...",
"innCheckOutBanner": "Você está atualmente na Pousada. Suas Diárias não realizadas não te causarão dano e também não poderá ser feito progresso em Missões enquanto estiver na Pousada.",
+ "innCheckOutBannerShort": " Você está descansando na Pousada. ",
"resumeDamage": "Reativar Dano",
"helpfulLinks": "Links Úteis",
"communityGuidelinesLink": "Diretrizes da Comunidade",
diff --git a/website/common/locales/pt_BR/limited.json b/website/common/locales/pt_BR/limited.json
index b117348192..c9ebbca3b8 100644
--- a/website/common/locales/pt_BR/limited.json
+++ b/website/common/locales/pt_BR/limited.json
@@ -109,10 +109,10 @@
"summer2017WhirlpoolMageSet": "Mago do Turbilhão (Mago)",
"summer2017SeashellSeahealerSet": "Curandeiro Concha Marinha (Curandeiro)",
"summer2017SeaDragonSet": "Dragão do Mar (Gatuno)",
- "fall2017HabitoweenSet": "Guerreiros Habitoween (Guerreiros)",
- "fall2017MasqueradeSet": "Magos Masgarados (Magos)",
- "fall2017HauntedHouseSet": "Curandeiros Casa Assombrada (Curandeiros)",
- "fall2017TrickOrTreatSet": "Gatunos Doçura ou Travessura (Gatunos)",
+ "fall2017HabitoweenSet": "Guerreiro Habitoween (Guerreiro)",
+ "fall2017MasqueradeSet": "Máscara-cadabra (Mago)",
+ "fall2017HauntedHouseSet": "Curandeiro Casa Assombrada (Curandeiro)",
+ "fall2017TrickOrTreatSet": "Gatuno Doçura ou Travessura (Gatuno)",
"winter2018ConfettiSet": "Mago de Confete (Mago)",
"winter2018GiftWrappedSet": "Guerreiro Embrulhado para Presente (Guerreiro)",
"winter2018MistletoeSet": "Curandeiro do Visco (Curandeiro)",
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Leão-Maguinho (Mago)",
"summer2018MerfolkMonarchSet": "Monarca Atlântico (Curandeiro) ",
"summer2018FisherRogueSet": "Pescador Trapaceiro (Gatuno) ",
+ "fall2018MinotaurWarriorSet": "Minotauro (Guerreiro)",
+ "fall2018CandymancerMageSet": "Magodoce (Mago)",
+ "fall2018CarnivorousPlantSet": "Planta Carnívora (Curandeiro)",
+ "fall2018AlterEgoSet": "Alter Ego (Gatuno)",
"eventAvailability": "Disponível para compra até <%= date(locale) %>.",
"dateEndMarch": "30 de Abril.",
"dateEndApril": "19 de Abril",
@@ -132,6 +136,7 @@
"dateEndJune": "14 de Junho",
"dateEndJuly": "31 de Julho",
"dateEndAugust": "31 de Agosto",
+ "dateEndSeptember": "21 de Setembro",
"dateEndOctober": "31 de Outubro",
"dateEndNovember": "30 de Novembro",
"dateEndJanuary": "31 de Janeiro",
diff --git a/website/common/locales/pt_BR/messages.json b/website/common/locales/pt_BR/messages.json
index 5c56c359f9..b9b3dd6e2a 100644
--- a/website/common/locales/pt_BR/messages.json
+++ b/website/common/locales/pt_BR/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Gemas insuficientes!",
"messageAuthPasswordMustMatch": ":password e :confirmPassword não combinam",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword necessários",
- "messageAuthUsernameTaken": "Nome de Usuário em uso",
"messageAuthEmailTaken": "Email já cadastrado",
"messageAuthNoUserFound": "Usuário não encontrado.",
"messageAuthMustBeLoggedIn": "Você deve estar logado.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "Esse item não pode ser adquirido em quantidades maiores que 1.",
"notificationsRequired": "Os IDs de notificação são obrigatórios.",
"unallocatedStatsPoints": "Você tem <%= points %> Pontos de Atributos não distribuidos",
- "beginningOfConversation": "Este é o começo de sua conversa com <%= userName %>. Lembre-se da gentileza, respeito e de seguir as Diretrizes da Comunidade."
+ "beginningOfConversation": "Este é o começo de sua conversa com <%= userName %>. Lembre-se da gentileza, respeito e de seguir as Diretrizes da Comunidade.",
+ "messageDeletedUser": "Desculpe, esse usuário deletou sua conta."
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/questscontent.json b/website/common/locales/pt_BR/questscontent.json
index a3826e41fa..11bc412109 100644
--- a/website/common/locales/pt_BR/questscontent.json
+++ b/website/common/locales/pt_BR/questscontent.json
@@ -612,9 +612,17 @@
"questSeaSerpentDropSeaSerpentEgg": "Serpente Marinha (Ovo)",
"questSeaSerpentUnlockText": "Desbloqueia ovos de Serpente Marinha para compra no Mercado",
"questKangarooText": "A Catástrofe do Canguru",
- "questKangarooNotes": "Talvez você devesse ter finalizado aquela última tarefa... sabe, aquela que você anda evitando, mesmo que ela insista em te rondar? Mas @Mewrose e @LilithofAlfheim convidaram você e @stefalupagus para observar um raro bando de cangurus saltando pela Savana Tvagaresempr; como você poderia recusar?! Mal o bando se torna visível, algo o atinge na nuca com um violento whack!
Chacoalhando as estrelas da sua visão, você pega o objeto responsável--um bumerangue vermelho escuro, com aquela mesma tarefa de que você constantemente se esquiva gravada em sua superfície. Um breve olhar ao redor confirma que o restante do seu grupo teve o mesmo azar. Uma canguru maior o observa com um sorriso presunçoso, como se ela o desafiasse a enfrentá-la e àquela temida tarefa de uma vez por todas!",
- "questKangarooCompletion": "\"AGORA!\" Você avisa para que seu grupo lance os bumerangues de volta à canguru. A besta salta para mais longe com cada golpe até que ela foge, deixando nada mais que uma nuvem vermelha escura de poeira, alguns ovos e moedas de Ouro. @Mewrose se adianta até onde a canguru esteve. \"Ei, aonde foram os bumerangues?\" \"Eles provavelmente se desfizeram em poeira, deixando aquela nuvem vermelha escura, quando terminamos nossas respectivas tarefas\", especula @stefalupagus. @LilithofAlfheim fita o horizonte. \"Aquilo é outro bando de cangurus vindo na nossa direção?\" Vocês todos disparam em corrida de volta à Cidade dos Hábitos. Antes encarar suas tarefas difíceis a ganhar outro calo na cabeça!",
+ "questKangarooNotes": "Talvez você devesse ter finalizado aquela última tarefa... sabe, aquela que você anda evitando, mesmo que ela insista em te rondar? Mas @Mewrose e @LilithofAlfheim convidaram você e @stefalupagus para observar um raro bando de cangurus saltando pela Savana Tvagaresempr; como você poderia recusar?! Mal o bando se torna visível, algo o atinge na nuca com um violento crack!
Chacoalhando as estrelas da sua visão, você pega o objeto responsável--um bumerangue vermelho escuro, com aquela mesma tarefa de que você constantemente se esquiva gravada em sua superfície. Um breve olhar ao redor confirma que o restante do seu grupo teve o mesmo azar. Uma canguru maior o observa com um sorriso presunçoso, como se ela o desafiasse a enfrentá-la e aquela temida tarefa de uma vez por todas!",
+ "questKangarooCompletion": "\"AGORA!\" Você avisa para que seu grupo lance os bumerangues de volta à canguru. A besta salta para mais longe com cada golpe até que ela foge, deixando nada mais que uma nuvem vermelha escura de poeira, alguns ovos e moedas de Ouro.
@Mewrose se adianta até onde a canguru esteve. \"Ei, aonde foram os bumerangues?\"
\"Eles provavelmente se desfizeram em poeira, deixando aquela nuvem vermelha escura, quando terminamos nossas respectivas tarefas\", especula @stefalupagus.
@LilithofAlfheim fita o horizonte. \"Aquilo é outro bando de cangurus vindo na nossa direção?\"
Vocês todos disparam em corrida de volta à Cidade dos Hábitos. É melhor encarar suas tarefas difíceis a ganhar outro calo na cabeça!",
"questKangarooBoss": "Canguru Catastrófico",
"questKangarooDropKangarooEgg": "Canguru (Ovo)",
- "questKangarooUnlockText": "Desbloqueia Ovos de Canguru compráveis no Mercado"
+ "questKangarooUnlockText": "Desbloqueia Ovos de Canguru compráveis no Mercado",
+ "forestFriendsText": "Pacote de Missões Amigos da Floresta",
+ "forestFriendsNotes": "Contém 'O Espírito da Primavera', 'O Monstrouriço' e 'A Árvore Enrolada'. Disponível até o dia 30 de Setembro.",
+ "questAlligatorText": "O Éprajá-caré",
+ "questAlligatorNotes": "\"Uau!\", exclama @gully. \"Um Éprajá-caré no seu habitat natura! Cuidado, ele distrai sua presa com coisas que parecem urgentes NESTE INSTANTE e se alimenta do resultado de diárias não concluídas.\" Você fica em silêncio para evitar atrair a atenção, mas sem sucesso. O Éprajá-caré te te vê e te cobra! Vozes que distraem se levantam no Pântano da Estagnação, agarrando sua atenção: \"Leia esta postagem! Veja esta foto! Preste atenção em mim NESTE INSTANTE!\" Você luta para montar um contra-ataque, completando suas Diárias e reforçando os seus Hábitos positivos para lutar contra o temido Éprajá-caré.",
+ "questAlligatorCompletion": "Com sua atenção focada no que é importante e não nas distrações do Éprajá-caré, ele foge. Vitória! \"São esses ovos? Eles se parecem com ovos de jacaré para mim\", pergunta @mfonda. \"Se nos importarmos com eles corretamente, eles serão mascotes leais ou corcéis fiéis\", responde @UncommonCriminal, entregando-lhe três para cuidar. Espero que sim, ou então o Éprajá-caré pode retornar...",
+ "questAlligatorBoss": "Éprajá-caré",
+ "questAlligatorDropAlligatorEgg": "Jacaré (Ovo)",
+ "questAlligatorUnlockText": "Desbloqueia ovos de Jacaré para compra no Mercado"
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/settings.json b/website/common/locales/pt_BR/settings.json
index 90cc61f20d..b89f0eefa5 100644
--- a/website/common/locales/pt_BR/settings.json
+++ b/website/common/locales/pt_BR/settings.json
@@ -54,7 +54,7 @@
"misc": "Variados",
"showHeader": "Mostrar Cabeçalho",
"changePass": "Alterar Senha",
- "changeUsername": "Mudar Nome de Usuário",
+ "changeUsername": "Alterar Nome de Usuário",
"changeEmail": "Alterar Endereço de Email",
"newEmail": "Novo Endereço de Email",
"oldPass": "Senha Antiga",
@@ -96,6 +96,7 @@
"passwordChangeSuccess": "Sua senha foi atualizada com sucesso para aquela que você escolheu. Você agora pode usá-la para acessar sua conta.",
"passwordSuccess": "Senha alterada com sucesso",
"usernameSuccess": "Nome de usuário alterado com sucesso",
+ "displayNameSuccess": "Nome de exibição alterado com sucesso",
"emailSuccess": "Email alterado com sucesso",
"detachSocial": "Desconectar <%= network %>",
"detachedSocial": "Removido <%= network %> com sucesso como modo de autenticação.",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Mostrar o botão 'Convidar para o Grupo' quando o grupo tiver 1 membro.",
"saveCustomDayStart": "Salvar Início de Dia Personalizado",
"registration": "Registro",
- "addLocalAuth": "Adicionar autenticação local:",
+ "addLocalAuth": "Adicionar e-mail e senha",
"generateCodes": "Gerar Códigos",
"generate": "Gerar",
"getCodes": "Obter Códigos",
@@ -188,5 +189,18 @@
"timezoneUTC": "O Habitica usa o fuso horário definido no seu computador, que é <%= utc %>",
"timezoneInfo": "Se esse fuso horário não for o correto, recarregue esta página utilizando o botão de recarregar do seu navegador para garantir que o Habitica tenha a informação mais recente. Se ainda estiver errado, ajuste o fuso horário no seu computador e recarregue esta página novamente.
Se você usa o Habitica em outros computadores ou dispositivos móveis, o fuso horário deve ser o mesmo em todos eles. Se suas Diárias têm sido reiniciadas na hora errada, repita esta operação em todos os outros computadores e em um navegador em seus dispositivos móveis.",
"push": "Enviar",
- "about": "Sobre"
+ "about": "Sobre",
+ "setUsernameNotificationTitle": "Confirme seu nome de usuário!",
+ "setUsernameNotificationBody": "Faremos a transição dos nomes de login para nomes de usuários públicos exclusivos em breve. Este nome de usuário será usado para convites, @menções em bate-papo e mensagens.",
+ "usernameIssueSlur": "Nomes de usuários não podem conter linguagem imprópria.",
+ "usernameIssueForbidden": "Os nomes de usuários não podem conter palavras restritas.",
+ "usernameIssueLength": "Nomes de usuário devem conter entre 1 e 20 caracteres.",
+ "usernameIssueInvalidCharacters": "Nomes de usuários devem conter apenas letras de A a Z, números de 0 a 9, hífens ou underlines.",
+ "currentUsername": "Nome de usuário atual:",
+ "displaynameIssueLength": "Os nomes de exibição devem conter entre 1 e 30 caracteres.",
+ "displaynameIssueSlur": "Os nomes de exibição não podem conter linguagem imprópria.",
+ "goToSettings": "Ir para Configurações",
+ "usernameVerifiedConfirmation": "Seu nome de usuário, <%= username %>, foi confirmado!",
+ "usernameNotVerified": "Por favor, confirme seu nome de usuário.",
+ "changeUsernameDisclaimer": "Faremos a transição dos nomes de login para nomes de usuários públicos exclusivos em breve. Este nome de usuário será usado para convites, @menções em bate-papo e mensagens."
}
\ No newline at end of file
diff --git a/website/common/locales/pt_BR/subscriber.json b/website/common/locales/pt_BR/subscriber.json
index 767f974c1a..9ce1ba7382 100644
--- a/website/common/locales/pt_BR/subscriber.json
+++ b/website/common/locales/pt_BR/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Conjunto do Pavão Phenomenal",
"mysterySet201806": "Peixe-Pescador Atraente",
"mysterySet201807": "Conjunto da Serpente Marinha",
+ "mysterySet201808": "Conjunto Dragão de Lava",
+ "mysterySet201809": "Conjunto Armadura de Outono.",
"mysterySet301404": "Conjunto \"Revolução Industrial Padrão\"",
"mysterySet301405": "Conjunto \"Acessórios Revolução Industrial\"",
"mysterySet301703": "Conjunto \"Revolução Industrial Pavão\"",
diff --git a/website/common/locales/ro/backgrounds.json b/website/common/locales/ro/backgrounds.json
index 73303bfd32..78e57baa9f 100644
--- a/website/common/locales/ro/backgrounds.json
+++ b/website/common/locales/ro/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/ro/character.json b/website/common/locales/ro/character.json
index ce3bbb2f60..011788798c 100644
--- a/website/common/locales/ro/character.json
+++ b/website/common/locales/ro/character.json
@@ -8,6 +8,8 @@
"other": "Altele",
"fullName": "Numele complet",
"displayName": "Numele afișat",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Poză",
"displayBlurb": "Prezentare",
"displayBlurbPlaceholder": "Te rugăm să te prezinți",
@@ -181,7 +183,7 @@
"lostMana": "Ai folosit niște Mana",
"lostHealth": "Ai pierdut niște Sănătate",
"lostExperience": "Ai pierdut niște Experiență",
- "displayNameDescription1": "Asta e ce apare în mesajele pe care le postezi în Tavernă, bresle și în chat-ul cetelor, împreună cu ce este afișat cu avatarul tău. Pentru a schimba, apasă pe butonul de Edit de mai sus. Dacă dorești să-ți schimbi numele de login, în schimb, mergi la",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Settings->Site",
"displayNameDescription3": "și uită-te la secțiunea de Înregistrare.",
"unequipBattleGear": "Unequip Battle Gear",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Ascunde Alocarea Punctelor",
"quickAllocationLevelPopover": "Fiecare nivel îți oferă un punct pe care-l poți repartiza unui atribut la alegere. Poți face acest lucru manual, sau poți lăsa jocul să decidă pentru tine folosind una din opțiunile de Alocare Automată, aflate în Icon-ul Utilizatorului > Stats.",
"notEnoughAttrPoints": "Nu ai suficiente Puncte.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stil",
"facialhair": "Facial",
"photo": "Poză",
diff --git a/website/common/locales/ro/content.json b/website/common/locales/ro/content.json
index 87074dbeda..206f6e33cb 100644
--- a/website/common/locales/ro/content.json
+++ b/website/common/locales/ro/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Kangaroo",
"questEggKangarooMountText": "Kangaroo",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Găsește o licoare de eclozat pentru a turna peste acest ou și va ecloza în <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "de bază",
"hatchingPotionWhite": "Alb",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Noapte Înstelată",
"hatchingPotionRainbow": "Curcubeu",
"hatchingPotionGlass": "Sticlă",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Toarnă aceasta pe un ou și va ecloza ca un companion <%= potText(locale) %>.",
"premiumPotionAddlNotes": "Neutilizabil pe ouă de companioni obținute din expediții.",
"foodMeat": "Carne",
diff --git a/website/common/locales/ro/front.json b/website/common/locales/ro/front.json
index 263e0b662a..e675197b0d 100644
--- a/website/common/locales/ro/front.json
+++ b/website/common/locales/ro/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Unlock new motivational tools, such as pet collecting, random rewards, spell-casting, and more!",
"unlockHeadline": "As you stay productive, you unlock new content!",
"useUUID": "Folosește UUID / Token API (pentru utilizatorii de Facebook)",
- "username": "Login Name",
- "emailOrUsername": "Email or Login Name (case-sensitive)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Privește filme",
"work": "Work",
"zelahQuote": "With [Habitica], I can be persuaded to go to bed on time by the thought of gaining points for an early night or losing health for a late one!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Missing authentication headers.",
"missingAuthParams": "Missing authentication parameters.",
- "missingUsernameEmail": "Missing Login Name or email.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Missing email.",
- "missingUsername": "Missing Login Name.",
+ "missingUsername": "Missing username.",
"missingPassword": "Missing password.",
"missingNewPassword": "Missing new password.",
"invalidEmailDomain": "You cannot register with emails with the following domains: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Password Reset for Habitica",
"passwordResetEmailText": "If you requested a password reset for <%= username %> on Habitica, head to <%= passwordResetLink %> to set a new one. The link will expire after 24 hours. If you haven't requested a password reset, please ignore this email.",
"passwordResetEmailHtml": "If you requested a password reset for <%= username %> on Habitica, \">click here to set a new one. The link will expire after 24 hours.
If you haven't requested a password reset, please ignore this email.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "There is no account that uses those credentials.",
- "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 Profile Name.",
+ "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",
"unsupportedNetwork": "This network is not currently supported.",
"cantDetachSocial": "Account lacks another authentication method; can't detach this authentication method.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/ro/gear.json b/website/common/locales/ro/gear.json
index 0a91b133ce..26b7ca33d4 100644
--- a/website/common/locales/ro/gear.json
+++ b/website/common/locales/ro/gear.json
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "Furca îmbuibării",
"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": "Toiagul înnaripat strălucitor al iubirii și totodată al adevărului",
@@ -350,6 +358,10 @@
"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).",
"armor": "armură",
"armorCapitalized": "Armor",
"armorBase0Text": "Îmbrăcăminte simplă",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Veșminte de sol",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Armura Drumețului Pădurar",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -754,6 +778,10 @@
"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).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Coiful curcubeu",
"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.",
"headMystery201402Text": "Coif înaripat",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 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",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn 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",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "Niciun accesoriu pentru spate",
"backBase0Notes": "Niciun accesoriu pentru spate",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Aripi de aur.",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Aripi de fluture de amurg",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Niciun accesoriu pentru corp",
@@ -1560,6 +1627,8 @@
"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.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/ro/generic.json b/website/common/locales/ro/generic.json
index 5f3831ca21..90e5f93269 100644
--- a/website/common/locales/ro/generic.json
+++ b/website/common/locales/ro/generic.json
@@ -71,6 +71,7 @@
"submit": "Trimite",
"close": "Închide",
"saveAndClose": "Salvează și Închide",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Anulează",
"ok": "OK",
"add": "Adaugă",
diff --git a/website/common/locales/ro/groups.json b/website/common/locales/ro/groups.json
index e1718d0a21..7d8be58a3d 100644
--- a/website/common/locales/ro/groups.json
+++ b/website/common/locales/ro/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"innCheckOutBanner": "Momentan ești cazat la Han. Cotidienele tale nu îți vor provoca deteriorări și nu vei putea face progrese în Expediții. ",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "Reia Deteriorarea",
"helpfulLinks": "Link-uri utile",
"communityGuidelinesLink": "Ghidurile Comunității",
diff --git a/website/common/locales/ro/limited.json b/website/common/locales/ro/limited.json
index 3f5c0963c2..2fb2db3568 100644
--- a/website/common/locales/ro/limited.json
+++ b/website/common/locales/ro/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
@@ -132,6 +136,7 @@
"dateEndJune": "June 14",
"dateEndJuly": "July 31",
"dateEndAugust": "August 31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "October 31",
"dateEndNovember": "November 30",
"dateEndJanuary": "January 31",
diff --git a/website/common/locales/ro/messages.json b/website/common/locales/ro/messages.json
index 63cf3ce47c..aca9f8ebbc 100644
--- a/website/common/locales/ro/messages.json
+++ b/website/common/locales/ro/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Nu ai destule nestemate!",
"messageAuthPasswordMustMatch": ":password și :confirmPassword nu se potrivesc",
"messageAuthCredentialsRequired": "sunt necesare :username, :email, :password și :confirmPassword",
- "messageAuthUsernameTaken": "Login Name already taken",
"messageAuthEmailTaken": "E-mailul este deja folosit",
"messageAuthNoUserFound": "Niciun utilizator găsit",
"messageAuthMustBeLoggedIn": "Trebuie să fii autentificat.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "Notification ids are required.",
"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!"
+ "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."
}
\ No newline at end of file
diff --git a/website/common/locales/ro/questscontent.json b/website/common/locales/ro/questscontent.json
index 5f068a48aa..44f4d8bb6f 100644
--- a/website/common/locales/ro/questscontent.json
+++ b/website/common/locales/ro/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/ro/settings.json b/website/common/locales/ro/settings.json
index fcdb247de7..fa6f4ef6ea 100644
--- a/website/common/locales/ro/settings.json
+++ b/website/common/locales/ro/settings.json
@@ -54,13 +54,13 @@
"misc": "Altele",
"showHeader": "Arată antet",
"changePass": "Schimbă parola",
- "changeUsername": "Change Login Name",
+ "changeUsername": "Change Username",
"changeEmail": "Change Email Address",
"newEmail": "New Email Address",
"oldPass": "Parola veche",
"newPass": "Parola nouă",
"confirmPass": "Confirmă parola nouă",
- "newUsername": "New Login Name",
+ "newUsername": "New Username",
"dangerZone": "Zona de pericol",
"resetText1": "ATENȚIE! Aceasta îți va reseta multe setari ale contului. Este foarte nerecomandat dar totuși unii utilizatori găsesc aceasta resetare folositoare la început după ce s-au distrat cu site-ul pentru puțin timp.",
"resetText2": "Vei pierde toate nivelurile, Aurul și punctele de Experiență. Toate sarcinile tale (cu excepția celor din provocări) vor fi șterse permanent și vei pierde toate datele de istoric. Vei pierde tot echipamentul și obiectele Misterioase de abonat pe care le deții (va trebui să fii în clasa corespunzătoare pentru a recumpăra echipamentele specifice clasei). Îți vei păstra clasa curentă, animalele de companie și de călărit. E posibil să preferi utilizarea Globului Renașterii, care este o opțiune mult mai sigură și care îți va păstra sarcinile și echipamentul. ",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "Codul de resetare a parolei este invalid sau expirat.",
"passwordChangeSuccess": "Parola ți-a fost modificată cu succes la cea tocmai aleasă. Acum o poți utiliza pentru a-ți accesa contul.",
"passwordSuccess": "Password successfully changed",
- "usernameSuccess": "Login Name successfully changed",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "Email successfully changed",
"detachSocial": "De-înregistrează <%= network %>",
"detachedSocial": "Ai eliminat cu succes autentificarea <%= network %> din cont ",
"addedLocalAuth": "Successfully added local authentication",
"data": "Data",
"exportData": "Export Data",
- "usernameOrEmail": "Login Name or Email",
+ "usernameOrEmail": "Username or Email",
"email": "Email",
"registerWithSocial": "Înregistrează-te cu <%= network %>",
"registeredWithSocial": "Înregistrat cu <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Display Invite To Party button when party has 1 member.",
"saveCustomDayStart": "Sarvează ora personală de început a zilei",
"registration": "Înregistrare",
- "addLocalAuth": "Adaugă autentificare local:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Generează coduri",
"generate": "Generează",
"getCodes": "Primește Coduri",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica folosește fusul orar al calculatorului dumneavoastră, anume: <%= utc %>",
"timezoneInfo": "Dacă acest fus orar este greșit, întâi te rugăm să dai refresh paginii folosind butonul de reload sau refresh, ca să te asiguri că Habitica deține cele mai recente informații. Dacă este în continuare greșit, ajustează fusul orar în PC-ul tău și apoi dă refresh paginii din nou.
Dacă folosești Habitica pe alte PC-uri sau dispozitive mobile, fusul orar trebuie să fie același pe toate. Dacă ale tale Cotidiene au fost resetate la momentul nepotrivit, repetă verificarea pe toate PC-urile și într-un broweser al dispozitivelor mobile deținute.",
"push": "Push",
- "about": "Despre"
+ "about": "Despre",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/ro/subscriber.json b/website/common/locales/ro/subscriber.json
index 60b4e16038..82a74a55f6 100644
--- a/website/common/locales/ro/subscriber.json
+++ b/website/common/locales/ro/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/ru/backgrounds.json b/website/common/locales/ru/backgrounds.json
index 23733d36a1..fe4bcc771b 100644
--- a/website/common/locales/ru/backgrounds.json
+++ b/website/common/locales/ru/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Скалистый каньон",
"backgroundFlyingOverRockyCanyonNotes": "Посмотрите вниз на захватывающий вид пролетая над Скалистым каньоном.",
"backgroundBridgeText": "Мост",
- "backgroundBridgeNotes": "Перейти Мост."
+ "backgroundBridgeNotes": "Перейти Мост.",
+ "backgrounds092018": "Набор 52: Выпущен в сентябре 2018",
+ "backgroundApplePickingText": "Сбор яблок",
+ "backgroundApplePickingNotes": "Иди собирай яблоки и принеси домой ведро.",
+ "backgroundGiantBookText": "Гигантская книга",
+ "backgroundGiantBookNotes": "Читайте, проходя по страницам Гигантской книги.",
+ "backgroundCozyBarnText": "Уютный амбар",
+ "backgroundCozyBarnNotes": "Отдохните со своими питомцами и скакунами в вашем уютном амбаре.",
+ "backgrounds102018": "Набор 53: Выпущен в Октябре 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Погреться в лучах ярких светлячков Bayou",
+ "backgroundCreepyCastleText": "Пугающий Замок",
+ "backgroundCreepyCastleNotes": "Робко приблизиться к Пугающему Замку.",
+ "backgroundDungeonText": "Подземелье",
+ "backgroundDungeonNotes": "Спасти заключенных из страшного Подземелья."
}
\ No newline at end of file
diff --git a/website/common/locales/ru/character.json b/website/common/locales/ru/character.json
index fd95113e92..f1a7f4dedc 100644
--- a/website/common/locales/ru/character.json
+++ b/website/common/locales/ru/character.json
@@ -8,6 +8,8 @@
"other": "Прочее",
"fullName": "Полное имя",
"displayName": "Отображаемое имя",
+ "changeDisplayName": "Изменить отображаемое имя",
+ "newDisplayName": "Новое отображаемое имя",
"displayPhoto": "Фото",
"displayBlurb": "О себе",
"displayBlurbPlaceholder": "Пожалуйста, расскажите о себе",
@@ -181,7 +183,7 @@
"lostMana": "Вы потратили ману.",
"lostHealth": "Вы теряете здоровье.",
"lostExperience": "Вы теряете опыт.",
- "displayNameDescription1": "Отображается в сообщениях, которые вы пишете в Таверне, гильдиях и командных чатах вместе с вашим аватаром. Чтобы изменить имя, нажмите кнопку \"Изменить\". Если хотите поменять логин, перейдите в",
+ "displayNameDescription1": "Это имя отображается в сообщениях, которые вы пишете в Таверне, гильдиях и командных чатах, а также рядом с вашим аватаром. Чтобы изменить имя, нажмите кнопку \"Изменить\". Если хотите поменять логин, перейдите сюда:",
"displayNameDescription2": "Настройки->Сайт",
"displayNameDescription3": "в раздел Регистрация.",
"unequipBattleGear": "Снять боевую экипировку",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Спрятать распределение характеристик",
"quickAllocationLevelPopover": "Каждый уровень приносит вам одно очко для распределения на характеристики по вашему выбору. Вы можете сделать это вручную или позволить игре решать для вас, используя автоматическое распределение, находящееся в Пользователь > Характеристики.",
"notEnoughAttrPoints": "У вас недостаточно очков характеристик.",
+ "classNotSelected": "Вы должны выбрать Класс, перед распределением своих очков характеристик.",
"style": "Стиль",
"facialhair": "Лицо",
"photo": "Фото",
diff --git a/website/common/locales/ru/content.json b/website/common/locales/ru/content.json
index 0e87c0ce19..b9a9d1e18b 100644
--- a/website/common/locales/ru/content.json
+++ b/website/common/locales/ru/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Кенгуру",
"questEggKangarooMountText": "Кенгуру",
"questEggKangarooAdjective": "острый",
+ "questEggAlligatorText": "Аллигатор",
+ "questEggAlligatorMountText": "Аллигатор",
+ "questEggAlligatorAdjective": "хитрость",
"eggNotes": "Найдите инкубационный эликсир, чтобы полить им это яйцо, и из него вылупится <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Обыкновенный",
"hatchingPotionWhite": "Белый",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Ночной звездный",
"hatchingPotionRainbow": "Радужный",
"hatchingPotionGlass": "Стеклянный",
+ "hatchingPotionGlow": "Светящийся-ночью",
"hatchingPotionNotes": "Полейте его на яйцо и из него вылупится <%= potText(locale) %> питомец.",
"premiumPotionAddlNotes": "Несовместим с яйцами квестовых питомцев.",
"foodMeat": "Мясо",
diff --git a/website/common/locales/ru/front.json b/website/common/locales/ru/front.json
index cc9014d685..599b0be605 100644
--- a/website/common/locales/ru/front.json
+++ b/website/common/locales/ru/front.json
@@ -212,7 +212,7 @@
"unlockHeadline": "Пока вы остаетесь продуктивными, вы открываете что-то новое!",
"useUUID": "Используйте UUID / токен API (для пользователей Facebook)",
"username": "Имя пользователя",
- "emailOrUsername": "Электронная почта или логин (с учётом регистра)",
+ "emailOrUsername": "Электронный адрес или имя пользователя (с учетом регистра)",
"watchVideos": "Смотреть видео",
"work": "Работа",
"zelahQuote": "Благодаря [Habitica], я чаще стараюсь ложиться спать вовремя, потому что знаю, что получу очки, если лягу пораньше, и потеряю здоровье, если долго засижусь.",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Отсутствуют заголовки аутентификации.",
"missingAuthParams": "Отсутствуют параметры аутентификации.",
- "missingUsernameEmail": "Отсутствует имя пользователя или адрес электронной почты. ",
+ "missingUsernameEmail": "Отсутствует имя пользователя или адрес электронной почты.",
"missingEmail": "Отсутствует адрес электронной почты.",
- "missingUsername": "Отсутствует имя пользователя",
+ "missingUsername": "Отсутствует имя пользователя.",
"missingPassword": "Отсутствует пароль.",
"missingNewPassword": "Отсутствует новый пароль.",
"invalidEmailDomain": "Нельзя регистрироваться с электронной почтой этих доменов: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Неверный адрес электронной почты.",
"emailTaken": "Адрес электронной почты уже используется.",
"newEmailRequired": "Отсутствует новый адрес электронной почты.",
+ "usernameTime": "Время выбрать свое имя пользователя!",
+ "usernameInfo": "Ваше отображаемое имя не изменилось, но ваше прежнее имя для логина пользователя станет общедоступным именем пользователя. Имя пользователя будет использоваться для приглашений, @упоминаний в чате и сообщений.
Если вы хотите узнать более подробно об изменениях, посетите википедию Имена игроков.",
+ "usernameTOSRequirements": "Имя пользователя должно соответствовать нашим Условиям обслуживания и Принципам сообщества. Если вы ранее не выбирали имя для логина, то ваше имя пользователя было автоматически сгенерировано.",
"usernameTaken": "Имя пользователя уже занято.",
"usernameWrongLength": "Имя пользователя должно быть от 1 до 20 символов.",
- "usernameBadCharacters": "Имя пользователя должно содержать только буквы a-z, цифры 0-9 и дефисы или подчеркивания.",
+ "displayNameWrongLength": "Отображаемое имя должно быть от 1 до 30 символов.",
+ "usernameBadCharacters": "Имя пользователя должно содержать только буквы от a-z, цифры 0-9 и дефисы или подчеркивания.",
+ "nameBadWords": "Имя не может содержать не разрешенные слова.",
+ "confirmUsername": "Подтвердите свое имя пользователя",
+ "usernameConfirmed": "Имя пользователя принято",
"passwordConfirmationMatch": "Подтверждение пароля не совпадает с паролем.",
"invalidLoginCredentials": "Неправильное имя пользователя и/или адрес электронной почты и/или пароль.",
"passwordResetPage": "Сбросить пароль",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Сброс пароля для Habitica",
"passwordResetEmailText": "Если вы запрашивали сброс пароля для <%= username %> в Habitica, перейдите по ссылке: <%= passwordResetLink %>, чтобы выбрать новый. Ссылка перестанет работать через 24 часа. Если вы не запрашивали сброс пароля, пожалуйста, проигнорируйте это письмо.",
"passwordResetEmailHtml": "Если вы запрашивали сброс пароля для <%= username %> в Habitica, \">нажмите здесь, чтобы выбрать новый. Ссылка перестанет работать через 24 часа.
Если вы не запрашивали сброс пароля, пожалуйста, проигнорируйте это письмо.",
- "invalidLoginCredentialsLong": "Ой-ой - ваш адрес электронной почты / логин или пароль неверный.\n Убедитесь в том, что они введены верно. Введите ваш логин и пароль с учётом регистра.\n- Возможно, вы регистрировались через Facebook или Google, а не по адресу электронной почты. Перепроверьте, попробовав войти с помощью Facebook или Google.\n- Если вы забыли свой пароль, кликните \"Напомнить пароль\".",
+ "invalidLoginCredentialsLong": "Ой-ой - ваш адрес электронной почты / логин или пароль неверный.\n- Убедитесь в том, что они введены верно. Введите ваш логин и пароль с учётом регистра.\n- Возможно, вы регистрировались через Facebook или Google, а не по адресу электронной почты. Перепроверьте еще раз.\n- Если вы забыли свой пароль, кликните \"Напомнить пароль\".",
"invalidCredentials": "Аккаунта с такими учетными данными не существует.",
- "accountSuspended": "Аккаунт с ID: \"<%= userId %>\", был заблокирован в связи с нарушением [Правил сообщества](https://habitica.com/static/community-guidelines) или [Пользовательского соглашения](https://habitica.com/static/terms). Пожалуйста, отправьте электронное письмо нашему Менеджеру по работе с Сообществом <%= communityManagerEmail %> или попросите ваших родителей или наставника сделать это, чтобы узнать подробности блокировки аккаунта и отправить запрос на его разблокировку. В письме необходимо указать ваш ID пользователя и имя вашего персонажа. ",
+ "accountSuspended": "Аккаунт с ID: \"<%= userId %>\", был заблокирован в связи с нарушением [Правил сообщества](https://habitica.com/static/community-guidelines) или [Пользовательского соглашения](https://habitica.com/static/terms). По вопросам и деталям, отправьте электронное письмо нашему Менеджеру по работе с Сообществом <%= communityManagerEmail %> или попросите ваших родителей или наставника сделать это, чтобы узнать подробности блокировки аккаунта и отправить запрос на его разблокировку. В письме необходимо указать ваш ID пользователя и имя вашего персонажа. ",
"accountSuspendedTitle": "Аккаунт был заблокирован",
"unsupportedNetwork": "Эта сеть на текущий момент не поддерживается.",
"cantDetachSocial": "У аккаунта нет другого метода аутентификации; этот метод сейчас удалить невозможно.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Зарегистрироваться с помощью <%= social %>",
"loginWithSocial": "Войти с помощью <%= social %>",
"confirmPassword": "Подтвердите пароль",
- "usernameLimitations": "Имя пользователя должно быть длиной от 1 до 20 символов, содержащее буквы от a до z, цифры от 0 до 9, дефисы или подчеркивания.",
+ "usernameLimitations": "Имя пользователя должно быть длиной от 1 до 20 символов, содержащее буквы от a до z, цифры от 0 до 9, дефисы или подчеркивания и не может содержать запрещенные слова.",
"usernamePlaceholder": "например, HabitRabbit",
"emailPlaceholder": "например, rabbit@example.com",
"passwordPlaceholder": "например, ***********",
@@ -329,6 +336,5 @@
"signup": "Регистрация",
"getStarted": "Начать",
"mobileApps": "Мобильные приложения",
- "learnMore": "Подробнее",
- "useMobileApps": "Habitica не оптимизирована для работы с браузером мобильного. Мы рекомендуем использовать наши приложения."
+ "learnMore": "Подробнее"
}
\ No newline at end of file
diff --git a/website/common/locales/ru/gear.json b/website/common/locales/ru/gear.json
index 9c29457afb..4f65db8216 100644
--- a/website/common/locales/ru/gear.json
+++ b/website/common/locales/ru/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Подводная магия, основанная на огне, льде или электричестве, может оказаться опасной для мага, владеющего ею. Тем не менее, заклинание ядовитых шипов работает прекрасно! Увеличивает интеллект на <%= int %> и восприятие на <%= per %>. Ограниченный выпуск лета 2018.",
"weaponSpecialSummer2018HealerText": "Трезубец Амфибии",
"weaponSpecialSummer2018HealerNotes": "С доброжелательным жестом, вы приказываете целебной воде течь сквозь ваши владения под волнами. Увеличивает интеллект на <%= int %>. Ограниченный выпуск лета 2018. ",
+ "weaponSpecialFall2018RogueText": "Флакон ясности",
+ "weaponSpecialFall2018RogueNotes": "Когда вам нужно взять себя в руки, когда вам нужен волшебный пендель, чтобы принять верное решение, сделайте глубокий вдох и глоток воды. Все будет отлично! Увеличивает силу на <%= str %>. Ограниченный выпуск осени 2018.",
+ "weaponSpecialFall2018WarriorText": "Кнут Минотавра",
+ "weaponSpecialFall2018WarriorNotes": "Не такой длинный, чтобы, распутываясь, провести вас через весь лабиринт. Ну, может, если только лабиринт очень маленький. Увеличивает Силу на <%= str %>. Ограниченый выпуск осени 2018.",
+ "weaponSpecialFall2018MageText": "Сладостный посох",
+ "weaponSpecialFall2018MageNotes": "Это не простой леденец! Сияющая сфера из магического сахара на верхушке посоха заставит хорошие привычки к вам буквально прилипнуть. Повышает Интеллект на<%= int %> и Восприятие на <%= per %>. Ограниченный выпуск осени 2018.",
+ "weaponSpecialFall2018HealerText": "Проголодавшийся посох",
+ "weaponSpecialFall2018HealerNotes": "Просто следите, чтобы этот посох был сыт, и он будет одаривать вас Благословениями. Если же вы забыли его покормить, что ж, лучше держите пальцы подальше. Повышает Интеллект на<%= int %>. Ограниченный выпуск осени 2018.",
"weaponMystery201411Text": "Вилы пиршества",
"weaponMystery201411Notes": "Многофункциональные вилы – вонзайте их во врагов, или в свои любимые блюда! Бонусов не дают. Подарок подписчикам ноября 2014.",
"weaponMystery201502Text": "Сверкающий крылатый посох Любви-а-также-Правды",
@@ -350,6 +358,10 @@
"weaponArmoirePoisonedGobletNotes": "Используйте это, чтобы выработать иммунитет к иокановому порошку и другим невероятно опасным ядам. Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор пиратской принцессы (предмет 3 из 4).",
"weaponArmoireJeweledArcherBowText": "Инкрустированный Самострел лучника",
"weaponArmoireJeweledArcherBowNotes": "Золото лук с самоцветами отправит ваши стрелы прямо в цель на невообразимой скорости. Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор Инкрустированного лучника (Предмет 3 из 3).",
+ "weaponArmoireNeedleOfBookbindingText": "Иголка переплетчика",
+ "weaponArmoireNeedleOfBookbindingNotes": "Вы будете удивлены на сколько книги могут быть сложны. Эта игла может кольнуть прямо в сердце ваших обязанностей. Увеличивает Силу на <%= str %>. Зачарованный сундук: Набор Переплетчика (Предмет 3 из 4).",
+ "weaponArmoireSpearOfSpadesText": "Тузовое копье",
+ "weaponArmoireSpearOfSpadesNotes": "Это рыцарское копье идеально подходит для атаки на ваши красные Привычки и Ежедневки. Увеличивает Телосложение на <%= con %>. Зачарованный сундук: Набор Тузов Пик (Предмет 3 из 3).",
"armor": "Броня",
"armorCapitalized": "Броня",
"armorBase0Text": "Обычная одежда",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "Магия ядов относится к навыкам хитрости. Но броня ярких оттенков, давая ясно понять хищнику: я ядовитый! Увеличивает интеллект на <%= int %>. Ограниченный выпуск лета 2018.",
"armorSpecialSummer2018HealerText": "Роба Амфибии",
"armorSpecialSummer2018HealerNotes": "Эти лазурные облачения приоткрывают тайну, что у вас есть ноги для ходьбы по суше. Ну... Даже монарх не настолько идеальный. Увеличивает телосложение на <%= con %>. Ограниченный выпуск лета 2018.",
+ "armorSpecialFall2018RogueText": "Сюртук Альтер эго",
+ "armorSpecialFall2018RogueNotes": "Днем выглядит стильно. Ночью - дарует комфорт и защиту. Увеличивает Восприятие на <%= per %>. Ограниченный выпуск осени 2018.",
+ "armorSpecialFall2018WarriorText": "Броня Минотавра",
+ "armorSpecialFall2018WarriorNotes": "И в завершение - копыта, чтобы отбивать успокаивающий ритм, пока вы блуждаете по медитативному лабиринту. Увеличивает Телосложение на <%= con %>. Ограниченый выпуск осени 2018.",
+ "armorSpecialFall2018MageText": "Мантия Сладомастера",
+ "armorSpecialFall2018MageNotes": "Магические сладости вплетены прямо в ткань этой мантии! Но мы не рекомендуем пытаться её съесть. Повышает Интеллект на<%= int %>. Ограниченный выпуск осени 2018",
+ "armorSpecialFall2018HealerText": "Роба плотоядного",
+ "armorSpecialFall2018HealerNotes": "Эта мантия сделана из растений, но это не означает, что она вегетарианская. Плохие привычки боятся и обходят её стороной. Повышает Телосложение на <%= con %>. Ограниченный выпуск осени 2018",
"armorMystery201402Text": "Облачение посланника",
"armorMystery201402Notes": "Сверкающая и крепкая, эта броня снабжена большим количеством карманов для переноски писем. Бонусов не дает. Подарок подписчикам февраля 2014.",
"armorMystery201403Text": "Доспехи лесовика",
@@ -660,6 +680,10 @@
"armorMystery201806Notes": "На этом извилистом хвосте есть светящиеся точки, которые осветят ваш путь в глубинах. Бонусов не даёт. Подарок подписчикам июня 2018.",
"armorMystery201807Text": "Хвост морского змея",
"armorMystery201807Notes": "Этот мощный хвост проведёт вас через всё море на невероятной скорости! Бонусов не даёт. Подарок подписчикам июля 2018.",
+ "armorMystery201808Text": "Доспехи Лавового дракона",
+ "armorMystery201808Notes": "Эта броня сделана из чешуйчатых пластин неуловимого (и чрезвычайно горячего) Лавового Дракона. Бонусов не дают. Подарок подписчикам августа 2018.",
+ "armorMystery201809Text": "Защита из Осенних листьев",
+ "armorMystery201809Notes": "Вы не просто маленькая и грозная кучка листвы. В самых стильных цветах сезона Вы - законодатель моды! Бонусов не дает. Подарок подписчикам сентября 2018.",
"armorMystery301404Text": "Стимпанковский костюм",
"armorMystery301404Notes": "Чудной и лихой! Бонусов не дает. Подарок подписчикам февраля 3015.",
"armorMystery301703Text": "Павлинье платье в стиле стимпанк",
@@ -754,6 +778,10 @@
"armorArmoirePiraticalPrincessGownNotes": "Это дорогое одеяние имеет множество карманов для скрытых оружий и добычи! Увеличивает восприятие на <%= per %>. Зачарованный сундук: Набор пиратской принцессы (предмет 2 из 4).",
"armorArmoireJeweledArcherArmorText": "Инкрустированная Броня лучника",
"armorArmoireJeweledArcherArmorNotes": "Созданная броня защитит вас от снарядов или загадочных красных Ежедневных заданий! Увеличивает телосложение на <%= con %>. Зачарованный сундук: Набор Инкрустированного лучника (Предмет 2 из 3).",
+ "armorArmoireCoverallsOfBookbindingText": "Одежда переплетчика",
+ "armorArmoireCoverallsOfBookbindingNotes": "В рабочей одежде есть все необходимое, включая многофункциональные карманы. Очки, сменка, золотое кольцо ... Увеличивает телосложения на <%= con %> и восприятие на <%= per %>. Зачарованный сундук: Набор Переплетчика (предмет 2 из 4).",
+ "armorArmoireRobeOfSpadesText": "Тузовая мантия",
+ "armorArmoireRobeOfSpadesNotes": "Эта свободная мантия скрывает потайные карманы с драгоценностями или оружиями - на ваш выбор! Увеличивает Силу на <%= str %>. Зачарованный сундук: Набор Тузов Пик (Предмет 2 из 3).",
"headgear": "Головной убор",
"headgearCapitalized": "Головной убор",
"headBase0Text": "Нет шлема",
@@ -996,6 +1024,14 @@
"headSpecialSummer2018MageNotes": "Свирепо бросьте взгляд на всякого, кто посмеет сказать, что вы похожи на «вкусную рыбу». Увеличивает восприятие на <%= per %>. Ограниченный выпуск лета 2018.",
"headSpecialSummer2018HealerText": "Корона Амфибии",
"headSpecialSummer2018HealerNotes": "Эта украшенная аквамарином диадема с плавниками выделяет лидерство народа, рыб, и тех, кто отчасти относится к обеим группам! Увеличивает интеллект на <%= int %>. Ограниченный выпуск лета 2018.",
+ "headSpecialFall2018RogueText": "Лицо Альтер эго",
+ "headSpecialFall2018RogueNotes": "Большинство из нас скрывают свои переживания внутри. Но эта маска наглядно показывает, что у всех нас есть как положительные, так и отрицательные порывы. А в добавок к ней идет отличная шляпа! Увеличивает Восприятие на <%= per %>. Ограниченый выпуск осени 2018.",
+ "headSpecialFall2018WarriorText": "Морда Минотавра",
+ "headSpecialFall2018WarriorNotes": "Эта устрашающая маска показывает, что вы можете взять свои дела за рога! Увеличивает Силу на <%= str %>. Ограниченный выпуск осени 2018.",
+ "headSpecialFall2018MageText": "Шляпа Сладомансера",
+ "headSpecialFall2018MageNotes": "Эта остроконечная шляпа пропитана сильными заклинаниями сладости. Осторожно, если она намокнет, то станет липкой! Увеличивает Восприятие на <%= per %>. Ограниченный выпуск осени 2018.",
+ "headSpecialFall2018HealerText": "Голодный шлем",
+ "headSpecialFall2018HealerNotes": "Этот шлем вдохновлен образом плотоядного растения, которое знаменито своей способностью уничтожать зомби, так и прочими неприятностями. Просто следите, чтобы оно не пожевало вашу голову. Увеличивает Интеллект на <%= int %>. Ограниченый выпуск осени 2018. ",
"headSpecialGaymerxText": "Радужный шлем воина.",
"headSpecialGaymerxNotes": "В честь Конференции GaymerX этот особый шлем выкрашен в яркие радужные цвета! GaymerX это интернациональная игровая конвенция, поддерживающая ЛГБТ+ сообщества и видео игры. Она открыта каждому!",
"headMystery201402Text": "Шлем с крыльями",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "Гипнотизирующий свет, исходящий из верхушки этого шлема переведёт всех обитателей моря на вашу сторону. Мы призываем вас использовать ваши привлекающие световые силы для хороших целей! Бонусов не даёт. Подарок подписчикам июня 2018.",
"headMystery201807Text": "Шлем морского змея",
"headMystery201807Notes": "Крепкая чешуя этого шлема даст вам защиту от любого вида океанического врага. Бонусов не даёт. Подарок подписчикам июля 2018.",
+ "headMystery201808Text": "Капюшон Лавового дракона",
+ "headMystery201808Notes": "Светящиеся рога на этом капюшоне осветит вам путь в глубоких пещерах. Бонусов не даёт. Подарок подписчикам августа 2018.",
+ "headMystery201809Text": "Корона из осенних цветков",
+ "headMystery201809Notes": "Последние цветы теплых осенних дней служат напоминанием о красоте этого времени года. Бонусов не дает. Подарок подписчикам сентября 2018.",
"headMystery301404Text": "Модный цилиндр",
"headMystery301404Notes": "Модный цилиндр для самых уважаемых господ! Подарок подписчикам января 3015. Бонусов не дает.",
"headMystery301405Text": "Обычный цилиндр",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Модные пираты известны своими модными головными уборами! Увеличивает восприятие и интеллект на <%= attrs %>. Зачарованный сундук: Набор пиратской принцессы (предмет 1 из 4).",
"headArmoireJeweledArcherHelmText": "Инкрустированный Шлем лучника",
"headArmoireJeweledArcherHelmNotes": "Этот шлем может и выглядит изысканно, но он также на удивление легкий и прочный. Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор Инкрустированного лучника (Предмет 1 из 3).",
+ "headArmoireVeilOfSpadesText": "Тузовый капюшон",
+ "headArmoireVeilOfSpadesNotes": "Теневой и таинственный капюшон, который увеличивает вашу скрытность. Прибавляет Восприятие на <%= per %>. Зачарованный сундук: Набор Тузов Пик (Предмет 1 из 3).",
"offhand": "предмет для защитной руки",
"offhandCapitalized": "Защита",
"shieldBase0Text": "Нет снаряжения для защитной руки",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Этот устрашающий, сделанный из камня щит в виде черепа вселит страх в рыб-недругов, пока вы будете выгуливать своих питомцев-скелетов и скакунов. Увеличивает телосложение на <%= con %>. Ограниченный выпуск лета 2018.",
"shieldSpecialSummer2018HealerText": "Герб Амфибии",
"shieldSpecialSummer2018HealerNotes": "Этот щит может создать воздушный купол для удобства проживающих на суше посетителей вашего водяного царства. Увеличивает телосложение на <%= con %>. Ограниченный выпуск лета 2018.",
+ "shieldSpecialFall2018RogueText": "Флакон искушения",
+ "shieldSpecialFall2018RogueNotes": "Эта бутылочка олицетворяет все проблемы и отвлекающие факторы, которые не дают вам быть лучшей версией себя. Держитесь! Мы верим в вас! Увеличивает Силу на <%= str %>. Ограниченый выпуск осени 2018.",
+ "shieldSpecialFall2018WarriorText": "Бриллиантовый щит",
+ "shieldSpecialFall2018WarriorNotes": "Отражающая поверхность заставит надоедливых Горгон дважды подумать, стоит ли неожиданно выпрыгивать на вас из-за угла! Увеличивает Телосложение на <%= con %>. Ограниченый выпуск осени 2018.",
+ "shieldSpecialFall2018HealerText": "Голодный щит",
+ "shieldSpecialFall2018HealerNotes": "Широко открытая пасть этого щита поглотит урон от ваших врагов. Увеличивает Телосложение на <%= con %>. Ограниченый выпуск осени 2018.",
"shieldMystery201601Text": "Уничтожитель Решительности",
"shieldMystery201601Notes": "Этот клинок может быть использован, чтобы парировать все отвлечения. Бонусов не дает. Подарок подписчикам января 2016.",
"shieldMystery201701Text": "Время-Замораживающий Щит",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Какую красивую вазу вы сделали! Что же вы положите внутрь? Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор Стеклодува (предмет 4 из 4).",
"shieldArmoirePiraticalSkullShieldText": "Пиратский щит-череп",
"shieldArmoirePiraticalSkullShieldNotes": "Этот зачарованный щит прошепчет вам потайные места вражеских сокровищ- слушайте внимательно! Увеличивает телосложение и интеллект на <%= attrs %>. Зачарованный сундук: Набор пиратской принцессы (предмет 4 из 4).",
+ "shieldArmoireUnfinishedTomeText": "Незаконченная книга",
+ "shieldArmoireUnfinishedTomeNotes": "Вы просто не можете прокрастинировать, держа в руках это! Нужно закончить переплет, чтобы люди могли читать книгу! Увеличивает интеллект на <%= int %>. Зачарованный сундук: Набор Переплетчика (предмет 4 из 4).",
"back": "Аксессуар на спину",
"backCapitalized": "Аксессуар на спину",
"backBase0Text": "Нет аксессуаров на спине",
"backBase0Notes": "Нет аксессуаров на спине.",
+ "animalTails": "Хвосты животных",
"backMystery201402Text": "Золотые крылья",
"backMystery201402Notes": "Перья на этих сияющих крыльях сверкают на солнце! Бонусов не дают. Подарок подписчикам февраля 2014.",
"backMystery201404Text": "Крылья Сумеречной бабочки",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Этот плащ когда-то принадлежал самой последней из ордена Мастеров. Увеличивает восприятие на <%= per %>. ",
"backSpecialTurkeyTailBaseText": "Хвост индейки",
"backSpecialTurkeyTailBaseNotes": "Носите ваш превосходный Хвост Индейки с гордостью, пока празднуете. Бонусов не дает.",
+ "backBearTailText": "Медвежий хвост",
+ "backBearTailNotes": "С этим хвостом вы похоже на смелого медведя! Бонусов не дает.",
+ "backCactusTailText": "Кактусовый хвост",
+ "backCactusTailNotes": "С этим хвостом вы похоже на колючий кактус! Бонусов не дает.",
+ "backFoxTailText": "Лисий хвост",
+ "backFoxTailNotes": "С этим хвостом вы похоже на хитрую лису! Бонусов не дает.",
+ "backLionTailText": "Львиный хвост",
+ "backLionTailNotes": "С этим хвостом вы похоже на свирепого льва! Бонусов не дает.",
+ "backPandaTailText": "Панды хвост",
+ "backPandaTailNotes": "С этим хвостом вы похоже на милого панду! Бонусов не дает.",
+ "backPigTailText": "Свинной хвост",
+ "backPigTailNotes": "С этим хвостом вы похоже на капризного поросенка! Бонусов не дает.",
+ "backTigerTailText": "Тигриный хвост",
+ "backTigerTailNotes": "С этим хвостом вы похоже на бесстрашного тигра! Бонусов не дает.",
+ "backWolfTailText": "Волчий хвост",
+ "backWolfTailNotes": "С этим хвостом вы похоже на преданного волка! Бонусов не дает.",
"body": "Аксессуар на тело",
"bodyCapitalized": "Аксессуар на тело",
"bodyBase0Text": "Нет аксессуаров на теле",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Защищать очками надо глаза,\" говорили они. \"Кому сдались защитные очки на макушке,\" говорили они. Ха! Вы им показали! Подарок подписчикам августа 3015. Бонусов не дает.",
"headAccessoryArmoireComicalArrowText": "Забавная Стрела",
"headAccessoryArmoireComicalArrowNotes": "Этот причудливый предмет определенно хорош для потехи! Увеличивает силу на <%= str %>. Зачарованный сундук: независимый предмет.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Очки переплетчика",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "Эти очки помогут вам справиться с любой задачей, большой или малой! Увеличивает восприятие на <%= per %>. Зачарованный сундук: Набор Переплетчика (предмет 1 из 4).",
"eyewear": "Очки",
"eyewearCapitalized": "Очки",
"eyewearBase0Text": "Нет очков или маски",
diff --git a/website/common/locales/ru/generic.json b/website/common/locales/ru/generic.json
index f03d522eb6..9b076e85ac 100644
--- a/website/common/locales/ru/generic.json
+++ b/website/common/locales/ru/generic.json
@@ -71,6 +71,7 @@
"submit": "Отправить",
"close": "Закрыть",
"saveAndClose": "Сохранить и закрыть",
+ "saveAndConfirm": "Подтвердить и сохранить",
"cancel": "Отмена",
"ok": "ОК",
"add": "Добавить",
diff --git a/website/common/locales/ru/groups.json b/website/common/locales/ru/groups.json
index 080b0b0669..575d035d04 100644
--- a/website/common/locales/ru/groups.json
+++ b/website/common/locales/ru/groups.json
@@ -6,6 +6,7 @@
"innText": "Вы отдыхаете в Гостинице! Пропущенные Ежедневные задания не будут причинять вам вреда в конце дня, но отметки об их выполнении будут сбрасываться каждый день. Будьте осторожны: если ваша команда сражается с Боссом, он все же будет наносить вам урон за Ежедневные задания, пропущенные вашими товарищами, если только они также не в Гостинице! Кроме того, нанесенный вами урон Боссу (или найденные предметы) не будут зарегистрированы, пока вы не покинете Гостиницу.",
"innTextBroken": "Вы отдыхаете в Гостинице, я так полагаю... Пропущенные Ежедневные задания не будут причинять вам вреда в конце дня, но отметки об их выполнении будут сбрасываться каждый день... Если вы участвуете в квесте с Боссом, он все же будет наносить вам урон за ежедневные задания, пропущенные вашими товарищами... Если только они не тоже находятся в Гостинице... Также, нанесённый вами урон Боссу (или найденные предметы) не будут засчитаны, пока вы не выпишитесь из Гостиницы... так устал...",
"innCheckOutBanner": "В настоящее время вы остановились в гостинице. Пропуск ежедневных дел не повредит вам, но и вы не получите прогресса в квестах.",
+ "innCheckOutBannerShort": "Вы отдыхаете в гостинице.",
"resumeDamage": "Вернуться в игру",
"helpfulLinks": "Полезные ссылки",
"communityGuidelinesLink": "Правила сообщества",
diff --git a/website/common/locales/ru/limited.json b/website/common/locales/ru/limited.json
index dccb00b5a8..14540b367e 100644
--- a/website/common/locales/ru/limited.json
+++ b/website/common/locales/ru/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Крылатковый Маг (Маг)",
"summer2018MerfolkMonarchSet": "Амфибия (Целитель)",
"summer2018FisherRogueSet": "Рыбак-Разбойник (Разбойник)",
+ "fall2018MinotaurWarriorSet": "Минотавр (Воин)",
+ "fall2018CandymancerMageSet": "Сладомансер (Маг)",
+ "fall2018CarnivorousPlantSet": "Хищная мухоловка (Целитель)",
+ "fall2018AlterEgoSet": "Альтер эго (Разбойник)",
"eventAvailability": "Доступно для покупки до <%= date(locale) %>.",
"dateEndMarch": "Апрель 30",
"dateEndApril": "Апрель 19",
@@ -132,6 +136,7 @@
"dateEndJune": "14 Июня",
"dateEndJuly": "31 июля",
"dateEndAugust": "31 августа",
+ "dateEndSeptember": "21 Сентября",
"dateEndOctober": "31 октября",
"dateEndNovember": "30 ноября",
"dateEndJanuary": "31 января",
diff --git a/website/common/locales/ru/messages.json b/website/common/locales/ru/messages.json
index 7df91f152b..7e6a6a251c 100644
--- a/website/common/locales/ru/messages.json
+++ b/website/common/locales/ru/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Недостаточно самоцветов!",
"messageAuthPasswordMustMatch": ":password и :confirmPassword не совпадают",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword обязательны",
- "messageAuthUsernameTaken": "Имя пользователя уже занято",
"messageAuthEmailTaken": "Электронная почта уже занята",
"messageAuthNoUserFound": "Пользователь не найден.",
"messageAuthMustBeLoggedIn": "Вы должны быть авторизованы.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "Этот предмет не может быть приобретен в количествах, превышающих 1.",
"notificationsRequired": "Необходим идентификатор оповещений.",
"unallocatedStatsPoints": "Вы не распределили <%= points %> очков",
- "beginningOfConversation": "Это начало вашего разговора с <%= userName %>. Не забывайте, что общепринятые правила сообщества предписавыют быть добрыми, уважительными!"
+ "beginningOfConversation": "Это начало вашего разговора с <%= userName %>. Не забывайте, что общепринятые правила сообщества предписавыют быть добрыми, уважительными!",
+ "messageDeletedUser": "Приносим свои извинения, этот пользователь удалил свой аккаунт."
}
\ No newline at end of file
diff --git a/website/common/locales/ru/questscontent.json b/website/common/locales/ru/questscontent.json
index 568dff05ac..4406122d9d 100644
--- a/website/common/locales/ru/questscontent.json
+++ b/website/common/locales/ru/questscontent.json
@@ -612,9 +612,17 @@
"questSeaSerpentDropSeaSerpentEgg": "Морской змей (яйцо)",
"questSeaSerpentUnlockText": "Позволяет покупать на рынке морского змея в яйце.",
"questKangarooText": "Катастрофа Кенгуру",
- "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!",
+ "questKangarooNotes": "Может быть стоило завершить ту задачу...вы знаете, та, которую откладывали на потом, но всегда мозолила глаза? Но как можно отказаться, если @Mewrose и @LilithofAlfheim пригласили вас и @stefalupagus, посмотреть на редкого кенгуру в Sloensteadi Savannah?! По мере приближения к команде, что-то сильно ударяет вас прямо в голову!
Встряхнув звездочки после удара, поднимаете ответственный предмет: бордовый бумеранг вместе с той самой задачей, которую постоянно отталкиваете от себя. Быстро оглядевшись, поняли, что остальная часть вашей команды также встретила подобную проблему. Самый большой кенгуру смотрит на вас с самодовольной усмешкой, провоцируя выполнить эту страшную задачу раз и навсегда!",
+ "questKangarooCompletion": "«СЕЙЧАС!» Вы отдаете приказ своей команде, чтобы бросить бумеранг в кенгуру. Зверь отпрыгивает назад с каждым ударом, до тех пор, пока не спасается прыгством, оставив за собой красноватое облако пыли и несколько яиц с горсткой золотых монет.
@ Мьюроуз идет к месту, где когда-то стоял кенгуру. «Эй, а где бумеранги?»
«Вероятно, они пропали вместе с пылью из красноватого облака, когда мы закончили наши задачи», - размышляет @stefalupagus.
@ LilithofAlfheim прищуривается вдаль. «Это еще один отряд кенгуру, направляющийся к нам?»
Все убегают в «Хабит Сити». Лучше столкнуться с вашими трудными задачами, чем отхватить еще один удар в голову!",
"questKangarooBoss": "Катастрофическая Кенгуру",
"questKangarooDropKangarooEgg": "Кенгуру (Яйцо)",
- "questKangarooUnlockText": "Позволяет покупать на Рынке яйцо Кенгуру."
+ "questKangarooUnlockText": "Позволяет покупать на Рынке яйцо Кенгуру.",
+ "forestFriendsText": "Набор квестов «Лесная братва»",
+ "forestFriendsNotes": "Содержит квесты «Дух весны», «Еж-монстр» и «Запутанное дерево». Акция доступна до 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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/ru/settings.json b/website/common/locales/ru/settings.json
index e1e4e01eb7..28d87b3952 100644
--- a/website/common/locales/ru/settings.json
+++ b/website/common/locales/ru/settings.json
@@ -54,13 +54,13 @@
"misc": "Разное",
"showHeader": "Показывать область персонажа",
"changePass": "Изменение пароля",
- "changeUsername": "Изменить имя пользователя",
+ "changeUsername": "Сменить Имя Пользователя",
"changeEmail": "Сменить адрес электронной почты",
"newEmail": "Новый адрес электронной почты",
"oldPass": "Старый пароль",
"newPass": "Новый пароль",
"confirmPass": "Подтвердите новый пароль",
- "newUsername": "Новое имя пользователя",
+ "newUsername": "Новое Имя Пользователя",
"dangerZone": "Опасная зона",
"resetText1": "Осторожно! Это обнулит многое в вашем аккаунте. Использовать эту функцию крайне не рекомендуется, однако некоторым игрокам она может пригодится в начале — после того, как они попробуют приложение.",
"resetText2": "Вы потеряете все свои уровни, Золото и Очки Опыта. Все ваши задания (за исключением тех, что являются частью испытания) будут удалены навсегда, и вы потеряете всю информацию по ним. Вы потеряете всю свои экипировку, но вы сможете выкупить обратно всё, всключая все предметы ограниченного выпуска и Загадочные предметы, которые вы уже имеете ввиду подписки. (Вы должны быть нужного класса, чтобы выкупить предметы для определённого класса). Вы сохраните ваш класс, питомцев и оседланных питомцев. Быть может, вы предпочтёте использовать Шар Возрождения, который является более безопасным вариантом, и который сохранит ваши задания и экипировку.",
@@ -95,7 +95,8 @@
"invalidPasswordResetCode": "Прилагаемый код для сброса пароля недействителен или истек.",
"passwordChangeSuccess": "Ваш пароль был успешно изменен на только что выбранный вами. Теперь для доступа к вашему аккаунту вы можете использовать его.",
"passwordSuccess": "Пароль успешно изменен",
- "usernameSuccess": "Имя пользователя успешно изменено",
+ "usernameSuccess": "Имя Пользователя успешно изменено",
+ "displayNameSuccess": "Отображаемое имя успешно изменено",
"emailSuccess": "Адрес электронной почты успешно изменен",
"detachSocial": "Отменить регистрацию через <%= network %>",
"detachedSocial": "Регистрация через <%= network %> успешно удалена с вашего аккаунта",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Отображать кнопку приглашения в команду, когда в команде 1 человек",
"saveCustomDayStart": "Сохранить персональное начало суток",
"registration": "Регистрация",
- "addLocalAuth": "Добавить локальную аутентификацию:",
+ "addLocalAuth": "Введите Email и Пароль от аккаунта",
"generateCodes": "Сгенерировать коды",
"generate": "Сгенерировать",
"getCodes": "Получить коды",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica использует часовой пояс, установленный на вашем компьютере. В данный момент это: <%= utc %>",
"timezoneInfo": "Если часовой пояс определен неверно, сначала следует перезагрузить страницу, нажав на кнопку \"обновить\" в вашем браузере, чтобы убедиться, что Habitica использует самую последнюю информацию. Если время по-прежнему определено неверно, поправьте установки времени на вашем компьютере и снова перезагрузите эту страницу.
Если вы используете Habitica на нескольких компьютерах или мобильных устройствах, необходимо установить одинаковый часовой пояс на всех используемых устройствах.Если ваши Ежедневные задания сбрасываются в неправильное время, повторите эту проверку на всех остальных компьютерах и в браузерах на мобильных устройствах.",
"push": "Push",
- "about": "О себе"
+ "about": "О себе",
+ "setUsernameNotificationTitle": "Подтвердите свое имя пользователя!",
+ "setUsernameNotificationBody": "В ближайшее время мы начнем использовать имена пользователей, которые будут уникальные, общедоступные. Имя пользователя будет использоваться для приглашений, @упоминаний в чате и для обмена сообщениями.",
+ "usernameIssueSlur": "Отображаемое имя пользователя не должно содержать ненормативную лексику",
+ "usernameIssueForbidden": "Имя пользователя не должно содержать запрещенные слова.",
+ "usernameIssueLength": "Имя пользователя должно быть от 1 до 20 символов.",
+ "usernameIssueInvalidCharacters": "Имя пользователя может содержать только буквы от a-z, цифры 0-9, дефисы или подчеркивания.",
+ "currentUsername": "Используемое Имя пользователя:",
+ "displaynameIssueLength": "Отображаемое имя должно быть от 1 до 30 символов.",
+ "displaynameIssueSlur": "Отображаемое имя не должно содержать ненормативной лексики",
+ "goToSettings": "Перейти в Настройки",
+ "usernameVerifiedConfirmation": "Ваше Имя пользователя, <%= username %>, подтверждено!",
+ "usernameNotVerified": "Подтвердите свое имя пользователя.",
+ "changeUsernameDisclaimer": "В ближайшее время мы начнем использовать имена, которые будут уникальные, общедоступные. Имя пользователя будет использоваться для приглашений, @упоминаний в чате и для обмена сообщениями."
}
\ No newline at end of file
diff --git a/website/common/locales/ru/subscriber.json b/website/common/locales/ru/subscriber.json
index a7cc06237c..61b47cbcb6 100644
--- a/website/common/locales/ru/subscriber.json
+++ b/website/common/locales/ru/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Восхитительный Набор Павлина",
"mysterySet201806": "Притигающий набор удильщика",
"mysterySet201807": "Набор морского змея",
+ "mysterySet201808": "Набор Лавового дракона",
+ "mysterySet201809": "Осенний набор защиты",
"mysterySet301404": "Стандартный Стимпанковый набор",
"mysterySet301405": "Набор аксессуаров в стиле Стимпанка",
"mysterySet301703": "Набор Стимпанк Павлина",
diff --git a/website/common/locales/sk/achievements.json b/website/common/locales/sk/achievements.json
index 6b5990718e..e816e81cc2 100644
--- a/website/common/locales/sk/achievements.json
+++ b/website/common/locales/sk/achievements.json
@@ -1,5 +1,5 @@
{
- "achievement": "Achievement",
+ "achievement": "Odznak",
"share": "Zdieľaj",
"onwards": "Vpred!",
"levelup": "Plnením cieľov v reálnom živote si získal level a bol si vyliečený!",
diff --git a/website/common/locales/sk/backgrounds.json b/website/common/locales/sk/backgrounds.json
index 9ba6c4f15b..ba15f7f2d2 100644
--- a/website/common/locales/sk/backgrounds.json
+++ b/website/common/locales/sk/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Obrovská kniha",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/sk/challenge.json b/website/common/locales/sk/challenge.json
index f401ad4b95..087c0cab9c 100644
--- a/website/common/locales/sk/challenge.json
+++ b/website/common/locales/sk/challenge.json
@@ -13,7 +13,7 @@
"challengeWinner": "sa stal víťazom nasledujúcich výziev",
"challenges": "Výzvy",
"challengesLink": "Výzvy",
- "challengePrize": "Challenge Prize",
+ "challengePrize": "Odmena",
"endDate": "Ends",
"noChallenges": "Zatial žiadne výzvy, choď na",
"toCreate": "ak chceš nejakú vytvoriť.",
@@ -25,9 +25,9 @@
"filter": "Filter",
"groups": "Skupiny",
"noNone": "Žiadne",
- "category": "Category",
+ "category": "Kategória",
"membership": "Členstvo",
- "ownership": "Ownership",
+ "ownership": "Vlastníctvo",
"participating": "Zúčastnený",
"notParticipating": "Nezúčastnený",
"either": "Oboje",
@@ -131,7 +131,7 @@
"locationRequired": "Umiestnenie výzvy je vyžadované (\"Pridaj k\")",
"categoiresRequired": "Musí byť zvolená jedna alebo viac kategórií",
"viewProgressOf": "Pozri si pokrok",
- "viewProgress": "View Progress",
+ "viewProgress": "Pozri si pokrok",
"selectMember": "Zvoľ člena",
"confirmKeepChallengeTasks": "Chceš si nechať úlohy z výzvy?",
"selectParticipant": "Zvoľ účastníka"
diff --git a/website/common/locales/sk/character.json b/website/common/locales/sk/character.json
index 24a83d6561..7fb35a7bc6 100644
--- a/website/common/locales/sk/character.json
+++ b/website/common/locales/sk/character.json
@@ -8,6 +8,8 @@
"other": "Ostatné",
"fullName": "Celé meno",
"displayName": "Zobrazené meno",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Fotka",
"displayBlurb": "O mne",
"displayBlurbPlaceholder": "Prosím, predstav sa",
@@ -181,7 +183,7 @@
"lostMana": "Použil si Manu",
"lostHealth": "Stratil si Zdravie",
"lostExperience": "Stratil si Skúsenosti",
- "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your login name, go to",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Nastavenia->Stránka",
"displayNameDescription3": "and look in the Registration section.",
"unequipBattleGear": "Odlož bojovú výstroj",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "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 found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Fotka",
diff --git a/website/common/locales/sk/content.json b/website/common/locales/sk/content.json
index 5744dd7db5..3c8023d41f 100644
--- a/website/common/locales/sk/content.json
+++ b/website/common/locales/sk/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Kangaroo",
"questEggKangarooMountText": "Kangaroo",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Nájdi liahoxír a vylej ho na toto vajíčko, aby sa z neho vyliahlo zvieratko: <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Základný",
"hatchingPotionWhite": "Biely",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Vylej tento elixír na vajíčko a vyliahne sa z neho <%= potText(locale) %> zvieratko.",
"premiumPotionAddlNotes": "Nedá sa použiť na vajíčka zvieratiek z výprav.",
"foodMeat": "Mäso",
diff --git a/website/common/locales/sk/front.json b/website/common/locales/sk/front.json
index 0d6656f83a..7b6a97a3f1 100644
--- a/website/common/locales/sk/front.json
+++ b/website/common/locales/sk/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Odomkni nové motivačné nástroje ako zbieranie zvieratiek, náhodné odmeny, zosielanie kúziel a oveľa viac!",
"unlockHeadline": "Tým, že ostaneš produktívny, odomkneš nový obsah!",
"useUUID": "Použi UUID / API Token (Pre používateľov Facebooku)",
- "username": "Login Name",
- "emailOrUsername": "Email or Login Name (case-sensitive)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Pozri si videá",
"work": "Práca",
"zelahQuote": "With [Habitica], I can be persuaded to go to bed on time by the thought of gaining points for an early night or losing health for a late one!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Missing authentication headers.",
"missingAuthParams": "Missing authentication parameters.",
- "missingUsernameEmail": "Missing Login Name or email.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Chýba e-mail.",
- "missingUsername": "Missing Login Name.",
+ "missingUsername": "Missing username.",
"missingPassword": "Chýba heslo.",
"missingNewPassword": "Chýba nové heslo.",
"invalidEmailDomain": "Nemôžeš sa registrovať s e-mailom z nasledujúcich domén: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Neplatná e-mailová adresa.",
"emailTaken": "E-mailová adresa je už použitá k účtu.",
"newEmailRequired": "Chýba nová e-mailová adresa.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Potvrdenie hesla sa nezhoduje s heslom.",
"invalidLoginCredentials": "Nesprávne používateľské meno a/alebo e-mail a/alebo heslo.",
"passwordResetPage": "Reset Password",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Resetovanie hesla na Habitike",
"passwordResetEmailText": "If you requested a password reset for <%= username %> on Habitica, head to <%= passwordResetLink %> to set a new one. The link will expire after 24 hours. If you haven't requested a password reset, please ignore this email.",
"passwordResetEmailHtml": "If you requested a password reset for <%= username %> on Habitica, \">click here to set a new one. The link will expire after 24 hours.
If you haven't requested a password reset, please ignore this email.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "There is no account that uses those credentials.",
- "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 Profile Name.",
+ "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",
"unsupportedNetwork": "This network is not currently supported.",
"cantDetachSocial": "Account lacks another authentication method; can't detach this authentication method.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/sk/gear.json b/website/common/locales/sk/gear.json
index 5477c73998..649f4bd01f 100644
--- a/website/common/locales/sk/gear.json
+++ b/website/common/locales/sk/gear.json
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"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",
@@ -350,6 +358,10 @@
"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).",
"armor": "zbroj",
"armorCapitalized": "Armor",
"armorBase0Text": "Prosté ošatenie",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Rúcho posla",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Zálesákove brnenie",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -754,6 +778,10 @@
"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).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn 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.",
"headMystery201402Text": "Okrídlená helma",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 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",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn 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",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "No Back Accessory",
"backBase0Notes": "No Back Accessory.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Zlaté krídla",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Krídla súmračného motýľa",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Žiadny doplnok na telo",
@@ -1560,6 +1627,8 @@
"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.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/sk/generic.json b/website/common/locales/sk/generic.json
index 30bf30c817..eb4088e9d3 100644
--- a/website/common/locales/sk/generic.json
+++ b/website/common/locales/sk/generic.json
@@ -71,6 +71,7 @@
"submit": "Odoslať",
"close": "Zavrieť",
"saveAndClose": "Uložiť a zavrieť",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Zrušiť",
"ok": "OK",
"add": "Pridať",
diff --git a/website/common/locales/sk/groups.json b/website/common/locales/sk/groups.json
index aa1211d76a..38de1267f1 100644
--- a/website/common/locales/sk/groups.json
+++ b/website/common/locales/sk/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"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",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/sk/limited.json b/website/common/locales/sk/limited.json
index dcfdfb2a0a..eb7b9f462c 100644
--- a/website/common/locales/sk/limited.json
+++ b/website/common/locales/sk/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
@@ -132,6 +136,7 @@
"dateEndJune": "June 14",
"dateEndJuly": "July 31",
"dateEndAugust": "August 31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "October 31",
"dateEndNovember": "November 30",
"dateEndJanuary": "January 31",
diff --git a/website/common/locales/sk/loginincentives.json b/website/common/locales/sk/loginincentives.json
index 52f2724882..e7de9e9a54 100644
--- a/website/common/locales/sk/loginincentives.json
+++ b/website/common/locales/sk/loginincentives.json
@@ -2,7 +2,7 @@
"unlockedReward": "Máš <%= reward %>",
"earnedRewardForDevotion": "You have earned <%= reward %> for being committed to improving your life.",
"nextRewardUnlocksIn": "Check-ins until your next prize: <%= numberOfCheckinsLeft %>",
- "awesome": "Awesome!",
+ "awesome": "Úžasne!",
"totalCount": "<%= count %> total count",
"countLeft": "Check-ins until next reward: <%= count %>",
"incentivesDescription": "When it comes to building habits, consistency is key. Each day you check-in you get closer to a prize.",
diff --git a/website/common/locales/sk/messages.json b/website/common/locales/sk/messages.json
index 579fa41c92..1dc12dfa2e 100644
--- a/website/common/locales/sk/messages.json
+++ b/website/common/locales/sk/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Nemáš dostatok drahokamov!",
"messageAuthPasswordMustMatch": ":heslo a :potvrďHeslo sa nezhodujú",
"messageAuthCredentialsRequired": ":používateľskéMeno, :email, :heslo, :potvrďHeslo sú požadované",
- "messageAuthUsernameTaken": "Login Name already taken",
"messageAuthEmailTaken": "Email je už obsadený",
"messageAuthNoUserFound": "Používateľ sa nenašiel.",
"messageAuthMustBeLoggedIn": "Musíš byť prihlásený/á.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "Notification ids are required.",
"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!"
+ "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."
}
\ No newline at end of file
diff --git a/website/common/locales/sk/questscontent.json b/website/common/locales/sk/questscontent.json
index 0e429af1ce..a851bcdd06 100644
--- a/website/common/locales/sk/questscontent.json
+++ b/website/common/locales/sk/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/sk/rebirth.json b/website/common/locales/sk/rebirth.json
index c94077da77..ceadbe7efb 100644
--- a/website/common/locales/sk/rebirth.json
+++ b/website/common/locales/sk/rebirth.json
@@ -11,16 +11,16 @@
"rebirthInList1": "Úlohy, história, výstroj a nastavenia sa nezmenia.",
"rebirthInList2": "Členstvo vo výzvách, cechoch, a družine ostáva.",
"rebirthInList3": "Drahokamy, úroveň podporovateľa na Kickstarteri a prispievateľské levely ostávajú.",
- "rebirthInList4": "Items obtained from Gems or drops (such as pets and mounts) remain.",
+ "rebirthInList4": "Predmety, ktoré si si kúpil za drahokamy alebo ti padli (ako napríklad zvieratká a tátoši) ostávajú.",
"rebirthEarnAchievement": "Za začatie nového dobrodružstva získavaš aj špeciálny odznak!",
"beReborn": "Znovu sa zrodiť",
"rebirthAchievement": "Začal si nové dobrodružstvo! Toto je tvoje znovuzrodenie čislo <%= number %> a najvušší level, ktorý si dosiahol je <%= level %>. Ak chceš tento odznak vylepšiť, začni nové dobrodružstvo po dosiahnutí ešte vyššieho levelu!",
"rebirthAchievement100": "Začal si nové dobrodružstvo! Toto je tvoje znovuzrodenie číslo <%= number %> a najvyšší level, ktorý si získal je 100 alebo vyšší. Ak chceš tento odznak vylepšiť, začni nové dobrodružstvo po dosiahnutí aspoň levelu 100!",
"rebirthBegan": "Začal nové dobrodružstvo",
"rebirthText": "Začal niekoľko nových dobrodružstiev: <%= rebirths %>",
- "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.",
+ "rebirthOrb": "Použil Orb znovuzrodenia, aby začal odznovu, po dosiahnutí levelu <%= level %>.",
+ "rebirthOrb100": "Použil Orb znovuzrodenia, aby začal odznovu, po dosiahnutí levelu 100 alebo vyššieho",
+ "rebirthOrbNoLevel": "Použil Orb znovuzrodenia, aby začal odznovu.",
"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": "Orb znovuzrodenia",
"reborn": "Znovuzrodený, najvyšší dosiahnutý level: <%= reLevel %>",
diff --git a/website/common/locales/sk/settings.json b/website/common/locales/sk/settings.json
index 454c77b462..f7fd79ccd5 100644
--- a/website/common/locales/sk/settings.json
+++ b/website/common/locales/sk/settings.json
@@ -54,13 +54,13 @@
"misc": "Rôzne",
"showHeader": "Zobraziť záhlavie",
"changePass": "Zmeniť heslo",
- "changeUsername": "Zmeniť používateľské meno",
+ "changeUsername": "Change Username",
"changeEmail": "Zmeniť Emailovú adresu",
"newEmail": "Nová Emailová adresa",
"oldPass": "Staré heslo",
"newPass": "Nové heslo",
"confirmPass": "Zopakuj nové heslo",
- "newUsername": "Nové používateľské meno",
+ "newUsername": "New Username",
"dangerZone": "Nebezpečná zóna",
"resetText1": "POZOR! Toto vynuluje veľa častí tvojho konta. Táto možnosť sa neodporúča, ale niektorí ľudia to považujú za užitočné po krátkom hraní sa so stránkou.",
"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.",
@@ -95,14 +95,15 @@
"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.",
"passwordSuccess": "Heslo úspešne zmenené",
- "usernameSuccess": "Prihlasovacie meno úspešne zmenené",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "Email bol úspešne zmenený",
"detachSocial": "De-register <%= network %>",
"detachedSocial": "Successfully removed <%= network %> authentication from your account",
"addedLocalAuth": "Successfully added local authentication",
"data": "Dáta",
"exportData": "Exportovať Data",
- "usernameOrEmail": "Prihlasovacie meno alebo email",
+ "usernameOrEmail": "Username or Email",
"email": "Email",
"registerWithSocial": "Register with <%= network %>",
"registeredWithSocial": "Registered with <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Display Invite To Party button when party has 1 member.",
"saveCustomDayStart": "Ulož Vlastný začiatok dňa",
"registration": "Registrácia",
- "addLocalAuth": "Add local authentication:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Generate Codes",
"generate": "Generate",
"getCodes": "Get Codes",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitika používa časovú zónu nastavenú na tvojom PC, čo je: <%= utc %>",
"timezoneInfo": "If that time zone is wrong, first reload this page using your browser's reload or refresh button to ensure that Habitica has the most recent information. If it is still wrong, adjust the time zone on your PC and then reload this page again.
If you use Habitica on other PCs or mobile devices, the time zone must be the same on them all. If your Dailies have been resetting at the wrong time, repeat this check on all other PCs and on a browser on your mobile devices.",
"push": "Push",
- "about": "About"
+ "about": "About",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/sk/subscriber.json b/website/common/locales/sk/subscriber.json
index 29392583d5..6cf21f38d2 100644
--- a/website/common/locales/sk/subscriber.json
+++ b/website/common/locales/sk/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/sk/tasks.json b/website/common/locales/sk/tasks.json
index 82dc3f043a..e2017c4b2f 100644
--- a/website/common/locales/sk/tasks.json
+++ b/website/common/locales/sk/tasks.json
@@ -1,14 +1,14 @@
{
"clearCompleted": "Zmaž hotové",
"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?",
- "sureDeleteCompletedTodos": "Are you sure you want to delete your completed To-Dos?",
+ "clearCompletedConfirm": "Si si istý, že chceš zmazať tvoje splnené úlohy?",
+ "sureDeleteCompletedTodos": "Si si istý, že chceš zmazať tvoje splnené úlohy?",
"lotOfToDos": "Tvojich naposledy splnených 30 úloh je ukázaných tu. Staršie splnené úlohy si môžeš pozrieť: Dáta > Nástroj na zobrazenie dát alebo Dáta > Export dát > Používateľské dáta.",
"deleteToDosExplanation": "If you click the button below, all of your completed To-Dos and archived To-Dos will be permanently deleted, except for To-Dos from active challenges and Group Plans. Export them first if you want to keep a record of them.",
"addMultipleTip": "Tip: To add multiple <%= taskType %>, separate each one using a line break (Shift + Enter) and then press \"Enter.\"",
"addsingle": "Pridať jeden",
"addATask": "Pridaj <%= type %>",
- "editATask": "Edit a <%= type %>",
+ "editATask": "Uprav <%= type %>",
"createTask": "Create <%= type %>",
"addTaskToUser": "Pridaj Úlohu",
"scheduled": "Naplánované",
@@ -18,8 +18,8 @@
"newHabit": "Nový návyk",
"newHabitBulk": "Nový návyk (jeden na riadok)",
"habitsDesc": "Habits don't have a rigid schedule. You can check them off multiple times per day.",
- "positive": "Positive",
- "negative": "Negative",
+ "positive": "Pozitív",
+ "negative": "Negatív",
"yellowred": "Slabé",
"greenblue": "Silné",
"edit": "Upraviť",
@@ -32,7 +32,7 @@
"collapseChecklist": "Collapse Checklist",
"text": "Názov",
"extraNotes": "Poznámky",
- "notes": "Notes",
+ "notes": "Poznámky",
"direction/Actions": "Dobrý/zlý",
"advancedSettings": "Advanced Settings",
"taskAlias": "Task Alias",
@@ -76,9 +76,9 @@
"dueDate": "Dokončiť do",
"remaining": "Aktívne",
"complete": "Hotové",
- "complete2": "Complete",
+ "complete2": "Hotové",
"dated": "S dátumom",
- "today": "Today",
+ "today": "Dnes",
"dueIn": "Due <%= dueIn %>",
"due": "Povinné",
"notDue": "Nepovinné",
@@ -165,9 +165,9 @@
"perceptionExample": "Týka sa práce a finančných úloh",
"constitutionExample": "Týka sa zdravia, wellnessu a sociálnej interakcie",
"counterPeriod": "Counter Resets Every",
- "counterPeriodDay": "Day",
- "counterPeriodWeek": "Week",
- "counterPeriodMonth": "Month",
+ "counterPeriodDay": "Deň",
+ "counterPeriodWeek": "Týždeň",
+ "counterPeriodMonth": "Mesiac",
"habitCounter": "Counter (Resets <%= frequency %>)",
"habitCounterUp": "Positive Counter (Resets <%= frequency %>)",
"habitCounterDown": "Negative Counter (Resets <%= frequency %>)",
@@ -180,20 +180,20 @@
"repeatType": "Repeat Type",
"repeatTypeHelpTitle": "What kind of repeat is this?",
"repeatTypeHelp": "Select \"Daily\" if you want this task to repeat every day or every third day, etc. Select \"Weekly\"if you want it to repeat on certain days of the week. If you select \"Monthly\" or \"Yearly\", adjust the Start Date to control which day of the month or year the task will be due on.",
- "weekly": "Weekly",
- "monthly": "Monthly",
- "yearly": "Yearly",
+ "weekly": "Týždenné",
+ "monthly": "Mesačné",
+ "yearly": "Ročné",
"onDays": "On Days",
"summary": "Summary",
"repeatsOn": "Repeats On",
"dayOfWeek": "Day of the Week",
"dayOfMonth": "Day of the Month",
- "month": "Month",
- "months": "Months",
- "week": "Week",
- "weeks": "Weeks",
- "year": "Year",
- "years": "Years",
+ "month": "Mesiac",
+ "months": "Mesiace",
+ "week": "Týždeň",
+ "weeks": "Týždne",
+ "year": "Rok",
+ "years": "Roky",
"groupTasksByChallenge": "Group tasks by challenge title",
"taskNotes": "Task Notes",
"monthlyRepeatHelpContent": "This task will be due every X months",
diff --git a/website/common/locales/sr/backgrounds.json b/website/common/locales/sr/backgrounds.json
index d8eb394ffc..40ad73815f 100644
--- a/website/common/locales/sr/backgrounds.json
+++ b/website/common/locales/sr/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/sr/character.json b/website/common/locales/sr/character.json
index 27e3430680..6055b5a582 100644
--- a/website/common/locales/sr/character.json
+++ b/website/common/locales/sr/character.json
@@ -8,6 +8,8 @@
"other": "Ostalo",
"fullName": "Ime i prezime",
"displayName": "Pseudonim",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Fotografija",
"displayBlurb": "Komentar",
"displayBlurbPlaceholder": "Predstavite se",
@@ -181,7 +183,7 @@
"lostMana": "You used some Mana",
"lostHealth": "You lost some Health",
"lostExperience": "You lost some Experience",
- "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your login name, go to",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Postavke -> Sajt",
"displayNameDescription3": "and look in the Registration section.",
"unequipBattleGear": "Skinuti borbenu opremu",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "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 found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Style",
"facialhair": "Facial",
"photo": "Photo",
diff --git a/website/common/locales/sr/content.json b/website/common/locales/sr/content.json
index 8baac8878c..6e1674cd49 100644
--- a/website/common/locales/sr/content.json
+++ b/website/common/locales/sr/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Kangaroo",
"questEggKangarooMountText": "Kangaroo",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Find a hatching potion to pour on this egg, and it will hatch into <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Običan",
"hatchingPotionWhite": "Beli",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Pospite ovo po jajetu, i iz njega će se izleći <%= potText(locale) %> ljubimac.",
"premiumPotionAddlNotes": "Not usable on quest pet eggs.",
"foodMeat": "Meso",
diff --git a/website/common/locales/sr/front.json b/website/common/locales/sr/front.json
index 87e2e13289..c128497b6b 100644
--- a/website/common/locales/sr/front.json
+++ b/website/common/locales/sr/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Otključajte nove funkcije, poput životinja, nasumičnih nagrada, i magija.",
"unlockHeadline": "Produktivnošću otključavate nove sadržaje!",
"useUUID": "UUID / API Token (za korisnike Facebooka-a)",
- "username": "Login Name",
- "emailOrUsername": "Email or Login Name (case-sensitive)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Video prezentacija",
"work": "Posao",
"zelahQuote": "With [Habitica], I can be persuaded to go to bed on time by the thought of gaining points for an early night or losing health for a late one!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Missing authentication headers.",
"missingAuthParams": "Missing authentication parameters.",
- "missingUsernameEmail": "Missing Login Name or email.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Missing email.",
- "missingUsername": "Missing Login Name.",
+ "missingUsername": "Missing username.",
"missingPassword": "Missing password.",
"missingNewPassword": "Missing new password.",
"invalidEmailDomain": "You cannot register with emails with the following domains: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Password Reset for Habitica",
"passwordResetEmailText": "If you requested a password reset for <%= username %> on Habitica, head to <%= passwordResetLink %> to set a new one. The link will expire after 24 hours. If you haven't requested a password reset, please ignore this email.",
"passwordResetEmailHtml": "If you requested a password reset for <%= username %> on Habitica, \">click here to set a new one. The link will expire after 24 hours.
If you haven't requested a password reset, please ignore this email.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "There is no account that uses those credentials.",
- "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 Profile Name.",
+ "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",
"unsupportedNetwork": "This network is not currently supported.",
"cantDetachSocial": "Account lacks another authentication method; can't detach this authentication method.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Sign Up",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/sr/gear.json b/website/common/locales/sr/gear.json
index 9f9da7a5ce..c1250d15d5 100644
--- a/website/common/locales/sr/gear.json
+++ b/website/common/locales/sr/gear.json
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "Vile za gozbe",
"weaponMystery201411Notes": "Probodite protivnike ili ih koristite kao viljušku dok jedete svoju omiljenu hranu - ove višenamenske vile obavljaju sve poslove s lakoćom. Ne daju nikakav bonus. Predmet za pretplatnike novembar 2014.",
"weaponMystery201502Text": "Svetlucavo krilato žezlo ljubavi, i istine, takođe",
@@ -350,6 +358,10 @@
"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).",
"armor": "oklop",
"armorCapitalized": "Armor",
"armorBase0Text": "Obična odeća",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Odora pismonoše",
"armorMystery201402Notes": "Ova svetlucava i izdržljiva odora ima mnoštvo džepova za čuvanje pisama. Ne daje nikakav bonus. Predmet za pretplatnike februar 2014.",
"armorMystery201403Text": "Šumski kamuflažni oklop",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "Stimpank odelo",
"armorMystery301404Notes": "Kicoško i zanosno! Ne daje nikakav bonus. Predmet za pretplatnike februar 3015..",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -754,6 +778,10 @@
"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).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Dugin šlem",
"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.",
"headMystery201402Text": "Krilati šlem",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Otmeni cilindar",
"headMystery301404Notes": "Otmeni cilindar za pripadnike visokog društva! Predmet za pretplatnike januar 3015. Ne daje nikakav bonus.",
"headMystery301405Text": "Jednostavni cilindar",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn 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",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "modni detalj za leđa",
"backCapitalized": "Back Accessory",
"backBase0Text": "Bez ukrasa na leđima",
"backBase0Notes": "Bez ukrasa na leđima.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Zlatna krila",
"backMystery201402Notes": "Ova krila imaju perje koje svetluca na suncu! Ne daje nikakav bonus. Predmet za pretplatnike februar 2014.",
"backMystery201404Text": "Leptirova krila sumraka",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "ukras za telo",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Bez ukrasa na telu",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "Svi tvrde da se zaštitne naočare nose na očima. Kažu da nikom ne trebaju naočare koje se nose na čeli. Ha! Pokažite im da nisu u pravu. Ne daje nikakav bonus.Predmet za pretplatnike avgust 3015.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "naočare",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "Bez naočara",
diff --git a/website/common/locales/sr/generic.json b/website/common/locales/sr/generic.json
index d4c37fb861..5faa78677e 100644
--- a/website/common/locales/sr/generic.json
+++ b/website/common/locales/sr/generic.json
@@ -71,6 +71,7 @@
"submit": "Poslati",
"close": "Zatvoriti",
"saveAndClose": "Sačuvati i zatvoriti",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Otkazati",
"ok": "OK",
"add": "Dodati",
diff --git a/website/common/locales/sr/groups.json b/website/common/locales/sr/groups.json
index ed435df328..f118767055 100644
--- a/website/common/locales/sr/groups.json
+++ b/website/common/locales/sr/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"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",
"helpfulLinks": "Helpful Links",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/sr/limited.json b/website/common/locales/sr/limited.json
index 76093f36c6..bd21cec021 100644
--- a/website/common/locales/sr/limited.json
+++ b/website/common/locales/sr/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
@@ -132,6 +136,7 @@
"dateEndJune": "June 14",
"dateEndJuly": "July 31",
"dateEndAugust": "August 31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "October 31",
"dateEndNovember": "November 30",
"dateEndJanuary": "January 31",
diff --git a/website/common/locales/sr/messages.json b/website/common/locales/sr/messages.json
index 164bc0784f..9eefa7246b 100644
--- a/website/common/locales/sr/messages.json
+++ b/website/common/locales/sr/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Not enough gems!",
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
- "messageAuthUsernameTaken": "Login Name already taken",
"messageAuthEmailTaken": "Email already taken",
"messageAuthNoUserFound": "No user found.",
"messageAuthMustBeLoggedIn": "You must be logged in.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "Notification ids are required.",
"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!"
+ "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."
}
\ No newline at end of file
diff --git a/website/common/locales/sr/questscontent.json b/website/common/locales/sr/questscontent.json
index 3246e2cc33..14325e6b62 100644
--- a/website/common/locales/sr/questscontent.json
+++ b/website/common/locales/sr/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/sr/settings.json b/website/common/locales/sr/settings.json
index a1b00e6861..75ba3fb214 100644
--- a/website/common/locales/sr/settings.json
+++ b/website/common/locales/sr/settings.json
@@ -54,13 +54,13 @@
"misc": "Ostalo",
"showHeader": "Prikazati zaglavlje",
"changePass": "Promeniti lozinku",
- "changeUsername": "Promeniti korisničko ime",
+ "changeUsername": "Change Username",
"changeEmail": "Promeniti imejl adresu",
"newEmail": "Nova imejl adresa",
"oldPass": "Stara lozinka",
"newPass": "Nova lozinka",
"confirmPass": "Potvrdite novu lozinku:",
- "newUsername": "Novo korisničko ime",
+ "newUsername": "New Username",
"dangerZone": "Opasna zona",
"resetText1": "PAŽNjA! Ova funkcija nulira delove Vašeg naloga. Njena upotreba se ne preporučuje, ali neki korisnici je koriste nakon igranja s postavkama i upoznavanja sa sajtom.",
"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.",
@@ -95,14 +95,15 @@
"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.",
"passwordSuccess": "Lozinka promenjena",
- "usernameSuccess": "Korisničko ime promenjeno",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "Imejl adresa promenjena",
"detachSocial": "De-register <%= network %>",
"detachedSocial": "Successfully removed <%= network %> authentication from your account",
"addedLocalAuth": "Successfully added local authentication",
"data": "Podaci",
"exportData": "Eksport podataka",
- "usernameOrEmail": "Korisničko ime ili imejl-adresa",
+ "usernameOrEmail": "Username or Email",
"email": "E-mail adresa",
"registerWithSocial": "Register with <%= network %>",
"registeredWithSocial": "Registered with <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Prikazati opciju „Pozvati u družinu” kad družina ima 1 člana.",
"saveCustomDayStart": "Save Custom Day Start",
"registration": "Registration",
- "addLocalAuth": "Add local authentication:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Generate Codes",
"generate": "Generate",
"getCodes": "Get Codes",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica uses the time zone set on your PC, which is: <%= utc %>",
"timezoneInfo": "If that time zone is wrong, first reload this page using your browser's reload or refresh button to ensure that Habitica has the most recent information. If it is still wrong, adjust the time zone on your PC and then reload this page again.
If you use Habitica on other PCs or mobile devices, the time zone must be the same on them all. If your Dailies have been resetting at the wrong time, repeat this check on all other PCs and on a browser on your mobile devices.",
"push": "Push",
- "about": "About"
+ "about": "About",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/sr/subscriber.json b/website/common/locales/sr/subscriber.json
index 1b31e028b4..1fd25f2450 100644
--- a/website/common/locales/sr/subscriber.json
+++ b/website/common/locales/sr/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/sv/backgrounds.json b/website/common/locales/sv/backgrounds.json
index 06a004e6ac..54918b32b9 100644
--- a/website/common/locales/sv/backgrounds.json
+++ b/website/common/locales/sv/backgrounds.json
@@ -339,7 +339,7 @@
"backgroundElegantBalconyNotes": "Se ut över landskapet från en Elegant Balkong.",
"backgroundDrivingACoachText": "Driving a Coach",
"backgroundDrivingACoachNotes": "Enjoy Driving a Coach past fields of flowers.",
- "backgrounds042018": "SET 47: Released April 2018",
+ "backgrounds042018": "SET 47: Utgiven April 2018",
"backgroundTulipGardenText": "Tulpanträdgård",
"backgroundTulipGardenNotes": "Tippa igenom en Tulpanträdgård.",
"backgroundFlyingOverWildflowerFieldText": "Fält av vildblommor",
@@ -353,25 +353,39 @@
"backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.",
"backgroundChampionsColosseumText": "Champions' Colosseum",
"backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.",
- "backgrounds062018": "SET 49: Released June 2018",
- "backgroundDocksText": "Docks",
- "backgroundDocksNotes": "Fish from atop the Docks.",
- "backgroundRowboatText": "Rowboat",
+ "backgrounds062018": "Set 49: Utgiven Juni 2018",
+ "backgroundDocksText": "Hamnen",
+ "backgroundDocksNotes": "Fiska från hamnen.",
+ "backgroundRowboatText": "Roddbåt",
"backgroundRowboatNotes": "Sing rounds in a Rowboat.",
- "backgroundPirateFlagText": "Pirate Flag",
+ "backgroundPirateFlagText": "Piratflagga",
"backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.",
- "backgrounds072018": "SET 50: Released July 2018",
+ "backgrounds072018": "SET 50: Utgiven Juli 2018",
"backgroundDarkDeepText": "Dark Deep",
"backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.",
"backgroundDilatoryCityText": "City of Dilatory",
"backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.",
"backgroundTidePoolText": "Tide Pool",
"backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.",
- "backgrounds082018": "SET 51: Released August 2018",
+ "backgrounds082018": "SET 51: Utgiven Augusti 2018",
"backgroundTrainingGroundsText": "Training Grounds",
"backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeText": "Bro",
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Utgiven September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/sv/character.json b/website/common/locales/sv/character.json
index 191c2fd82f..df33eb9e9e 100644
--- a/website/common/locales/sv/character.json
+++ b/website/common/locales/sv/character.json
@@ -8,6 +8,8 @@
"other": "Annat",
"fullName": "Fullständigt namn",
"displayName": "Användarnamn",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Foto",
"displayBlurb": "Några ord om dig",
"displayBlurbPlaceholder": "Vänligen presentera dig",
@@ -181,7 +183,7 @@
"lostMana": "Du använde Mana",
"lostHealth": "Du förlorade Hälsa",
"lostExperience": "Du förlorade Erfarenhet",
- "displayNameDescription1": "Det här är vad som visas i meddelanden som du postar i värdshus-, gille- och sällskapschatter, tillsammans med vad som visas på din avatar. För att ändra det, klicka på Ändra-knappen ovanför. Om du istället vill ändra ditt inloggningsnamn, gå till",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Inställningar->Sida",
"displayNameDescription3": "och kolla i registreringssektionen.",
"unequipBattleGear": "Ta av stridsutrustning",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Göm poängfördelning",
"quickAllocationLevelPopover": "För varje nivå tjänar du ett poäng som du kan tilldela till en egenskap av ditt val. Du kan göra det manuellt eller så kan du låta spelet välja åt dig med hjälp av Automatisk Tilldelning som finns under Användarikon > Egenskaper.",
"notEnoughAttrPoints": "Du har inte tillräckligt med egenskapspoäng.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Stil",
"facialhair": "Ansikte",
"photo": "Foto",
diff --git a/website/common/locales/sv/content.json b/website/common/locales/sv/content.json
index 3a94cff4a6..a25027a5ad 100644
--- a/website/common/locales/sv/content.json
+++ b/website/common/locales/sv/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Kangaroo",
"questEggKangarooMountText": "Kangaroo",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Hitta en kläckningsdryck och häll på det här ägget så kommer det kläckas till <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Standard",
"hatchingPotionWhite": "Vit",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Stjärnklar Natt",
"hatchingPotionRainbow": "Regnbåge",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Häll den här på ett ägg, så kläcks det som ett <%= potText(locale) %> husdjur.",
"premiumPotionAddlNotes": "Kan ej användas på ägg till uppdragshusdjur",
"foodMeat": "Kött",
diff --git a/website/common/locales/sv/front.json b/website/common/locales/sv/front.json
index c9a563a6f6..bfb3a7df37 100644
--- a/website/common/locales/sv/front.json
+++ b/website/common/locales/sv/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Lås upp nya motiveringsverktyg, som att samla husdjur, få slumpmässiga belöningar, kasta förtrollningar och mer!",
"unlockHeadline": "När du håller dig produktiv, låser du upp nytt innehåll.",
"useUUID": "Använd UUID / API Token (För Facebook-användare)",
- "username": "Inloggningsnamn",
- "emailOrUsername": "Email eller Inloggningsnamn (skiftlägeskänslig)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Se videor",
"work": "Arbete",
"zelahQuote": "Med [Habitica] kan jag få mig själv i säng i tid tack vare motivationen att få poäng för en tidig natt och rädslan att förlora poäng för en sen!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Missing authentication headers.",
"missingAuthParams": "Saknar autentisering parameter.",
- "missingUsernameEmail": "Saknar inloggningsnamn eller email.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Saknar E-postadress.",
- "missingUsername": "Saknar inloggningsnamn.",
+ "missingUsername": "Missing username.",
"missingPassword": "Saknar lösenord.",
"missingNewPassword": "Saknar nytt lösenord.",
"invalidEmailDomain": "Du kan inte registrera med e-mails med följande domäner: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Ogiltig E-postadress.",
"emailTaken": "E-postadressen används redan av ett annat konto.",
"newEmailRequired": "Saknar ny E-postadress.",
- "usernameTaken": "Inloggningsnamn är redan taget.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Lösenordsbekräftning matchar inte lösenord.",
"invalidLoginCredentials": "Fel användarnamn och/eller email och/eller lösenord.",
"passwordResetPage": "Återställ Lösenord",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Lösenordsåterställning för Habitica",
"passwordResetEmailText": "Om du har begärt en lösenordsåterställning för <%= username %> på Habitica, gå till <%= passwordResetLink %> för att skriva in ett nytt. Länken kommer att gå ut efter 24 timmar. Om du inte har begärt en lösenordsåterställning, var god ignorera detta mail.",
"passwordResetEmailHtml": "Om du har begärt en lösenordsåterställning för <%= username %> på Habitica, \">klicka här för att skriva in ett nytt. Länken kommer att gå ut efter 24 timmar.
Om du inte har begärt en lösenordsåterställning, var god ignorera detta mail.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "Det finns inget konto som använder de uppgifterna.",
- "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 Profile Name.",
+ "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",
"unsupportedNetwork": "Detta nätverk stöds inte för tillfället.",
"cantDetachSocial": "Account lacks another authentication method; can't detach this authentication method.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Bli medlem med <%= social %>",
"loginWithSocial": "Logga in med <%= social %>",
"confirmPassword": "Bekräfta Lösenord",
- "usernameLimitations": "Inloggningsnamn måste vara mellan 1 till 20 tecken lång, bara innehålla bokstäver från a till z, eller nummer 0 till 9, eller bindestreck, eller understräck.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "t.ex., HabitRabbit",
"emailPlaceholder": "t.ex., rabbit@example.com",
"passwordPlaceholder": "t.ex., ******************",
@@ -329,6 +336,5 @@
"signup": "Bli Medlem",
"getStarted": "Kom Igång",
"mobileApps": "Mobil Appar",
- "learnMore": "Lär Dig Mer",
- "useMobileApps": "Habitica är inte optimiserat för mobila webbläsare. Vi rekommenderar att ladda ner våran mobila app."
+ "learnMore": "Lär Dig Mer"
}
\ No newline at end of file
diff --git a/website/common/locales/sv/gear.json b/website/common/locales/sv/gear.json
index 6b559b0cfd..51953b955c 100644
--- a/website/common/locales/sv/gear.json
+++ b/website/common/locales/sv/gear.json
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "Måltidernas högaffel",
"weaponMystery201411Notes": "Hugg dina fiender eller ät din favoritmat - denna mångsidiga högaffel gör allt! Ger ingen fördel. November 2014 Prenumerantobjekt.",
"weaponMystery201502Text": "Glittrig Bevingad Stav av Kärlek och Också Sanning",
@@ -350,6 +358,10 @@
"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).",
"armor": "rustning",
"armorCapitalized": "Rustning",
"armorBase0Text": "Vanliga kläder",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Budbärarskrud",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Skogsvandrarrustning",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "Steampunk-dräkt",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -754,6 +778,10 @@
"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).",
"headgear": "hjälm",
"headgearCapitalized": "Huvudbonader",
"headBase0Text": "No Headgear",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Regnbågsfärgad krigarhjälm",
"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.",
"headMystery201402Text": "Bevingad hjälm",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Stilig cylinderhatt",
"headMystery301404Notes": "A fancy top hat for the finest of gentlefolk! January 3015 Subscriber Item. Confers no benefit.",
"headMystery301405Text": "Vanlig cylinderhatt",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn 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",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Ryggtillbehör",
"backCapitalized": "Back Accessory",
"backBase0Text": "Inget ryggtillbehör",
"backBase0Notes": "Inget ryggtillbehör.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Guldvingar",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Twilight Butterfly Wings",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Kroppstillbehör",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "Inget kroppstillbehör",
@@ -1560,6 +1627,8 @@
"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.",
"headAccessoryArmoireComicalArrowText": "Komisk Pil",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Ögonskydd",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "Inget ögonskydd",
diff --git a/website/common/locales/sv/generic.json b/website/common/locales/sv/generic.json
index 676cbe15bb..0918311f6e 100644
--- a/website/common/locales/sv/generic.json
+++ b/website/common/locales/sv/generic.json
@@ -71,6 +71,7 @@
"submit": "Skicka",
"close": "Stäng",
"saveAndClose": "Spara & Stäng",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Avbryt",
"ok": "OK",
"add": "Lägg till",
diff --git a/website/common/locales/sv/groups.json b/website/common/locales/sv/groups.json
index c913e152aa..e804e41184 100644
--- a/website/common/locales/sv/groups.json
+++ b/website/common/locales/sv/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"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",
"helpfulLinks": "Hjälpfulla Länkar",
"communityGuidelinesLink": "Gemenskapens riktlinjer",
diff --git a/website/common/locales/sv/limited.json b/website/common/locales/sv/limited.json
index 84692cfc82..4917e5ed39 100644
--- a/website/common/locales/sv/limited.json
+++ b/website/common/locales/sv/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Tillgänglig för köp tills <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
@@ -132,6 +136,7 @@
"dateEndJune": "Juni 14",
"dateEndJuly": "July 31",
"dateEndAugust": "Augusti 31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "Den 31:a Oktober",
"dateEndNovember": "30:e November",
"dateEndJanuary": "31:a Januari",
diff --git a/website/common/locales/sv/messages.json b/website/common/locales/sv/messages.json
index f51f2d3065..944e1e947e 100644
--- a/website/common/locales/sv/messages.json
+++ b/website/common/locales/sv/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Inte tillräckligt med juveler!",
"messageAuthPasswordMustMatch": ":password och :confirmPassword matchar inte",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword är nödvändiga",
- "messageAuthUsernameTaken": "Användarnamn finns redan",
"messageAuthEmailTaken": "E-postadressen är upptagen",
"messageAuthNoUserFound": "Ingen användare hittades.",
"messageAuthMustBeLoggedIn": "Du måste vara inloggad.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "Notifikations-id krävs.",
"unallocatedStatsPoints": "Du har <%= points %> outdelat Egenskapspoäng",
- "beginningOfConversation": "Detta är början av din konversation med <%= userName %>. Kom ihåg att vara trevlig, respektfull, och att följa gemenskapens riktlinjer!"
+ "beginningOfConversation": "Detta är början av din konversation med <%= userName %>. Kom ihåg att vara trevlig, respektfull, och att följa gemenskapens riktlinjer!",
+ "messageDeletedUser": "Tyvärr har denna användare raderat sitt konto."
}
\ No newline at end of file
diff --git a/website/common/locales/sv/questscontent.json b/website/common/locales/sv/questscontent.json
index ac417505bf..0b467121d2 100644
--- a/website/common/locales/sv/questscontent.json
+++ b/website/common/locales/sv/questscontent.json
@@ -52,7 +52,7 @@
"questRoosterBoss": "Tupp",
"questRoosterDropRoosterEgg": "Tupp (ägg)",
"questRoosterUnlockText": "Låser upp köpbara tuppägg på Marknaden",
- "questSpiderText": "FrostSpindeln",
+ "questSpiderText": "Frostspindeln",
"questSpiderNotes": "När vädret går mot kallare tider börjar frost dyka upp på Habiticanernas fönster, likt skira spindelnät.. Utom hos @Arcosine, vars fönster är helt igenfrusna av Frostspindeln som valt att flytta in i hans hem. Kära nån..",
"questSpiderCompletion": "Frostspindeln kollapsar i en liten hög av iskristaller och några av hennes förtrollade ägg. @Arcosine skyndar sig att erbjuda er dem i belöning - kanske kan ni föda upp några snällare spindlar som husdjur?",
"questSpiderBoss": "Spindel",
@@ -271,7 +271,7 @@
"questBurnoutBoss": "Burnout",
"questBurnoutBossRageTitle": "Exhaust Strike",
"questBurnoutBossRageDescription": "When this gauge fills, Burnout will unleash its Exhaust Strike on Habitica!",
- "questBurnoutDropPhoenixPet": "Phoenix (Husdjur)",
+ "questBurnoutDropPhoenixPet": "Fenix (Husdjur)",
"questBurnoutDropPhoenixMount": "Fenix (Riddjur)",
"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!",
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/sv/settings.json b/website/common/locales/sv/settings.json
index ebf3f95040..f5eb9caf34 100644
--- a/website/common/locales/sv/settings.json
+++ b/website/common/locales/sv/settings.json
@@ -3,7 +3,7 @@
"language": "Språk",
"americanEnglishGovern": "I den händelse att det uppstår en oförenlighet i översättningarna, så är den amerikansk engelska versionen styrande.",
"helpWithTranslation": "Skulle du vilja hjälpa till med översättningen av Habitica? Toppen! Besök då detta Trello-kort.",
- "showHeaderPop": "Visa din avatar, hälsa-/erfarenhetsmätare, och sällskap.",
+ "showHeaderPop": "Visa din avatar, hälsa/erfarenhetsmätare, och sällskap.",
"stickyHeader": "Fastklistrat sidhuvud",
"stickyHeaderPop": "Fäster sidhuvudet högst upp på skärmen. Omarkerad betyder att den skrollar bort utom synhåll.",
"newTaskEdit": "Öppna nya uppgifter i redigeringsläge",
@@ -14,7 +14,7 @@
"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": "Visa inte det här igen",
- "suppressLevelUpModal": "Visa inte popup när jag levlar upp",
+ "suppressLevelUpModal": "Visa inte en popup när jag levlar upp",
"suppressHatchPetModal": "Visa inte en popup när ett husdjur kläcks",
"suppressRaisePetModal": "Visa inte en popup när ett husdjur blir ett riddjur",
"suppressStreakModal": "Visa inte en popup när jag når en följd av bedrifter",
@@ -54,13 +54,13 @@
"misc": "Blandat",
"showHeader": "Visa sidhuvud",
"changePass": "Ändra lösenord",
- "changeUsername": "Ändra Inloggningsnamn",
+ "changeUsername": "Change Username",
"changeEmail": "Ändra E-postadress",
"newEmail": "Ny e-postadress",
"oldPass": "Gammalt lösenord",
"newPass": "Nytt lösenord",
"confirmPass": "Bekräfta nytt lösenord",
- "newUsername": "Nytt Inloggningsnamn",
+ "newUsername": "New Username",
"dangerZone": "Riskområde",
"resetText1": "VARNING! Detta kommer återställa många delar av ditt konto. Vi rekommenderar det inte, men somliga anser det praktiskt i början efter att ha provat spelet en kort stund.",
"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.",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "The supplied password reset code is invalid or has expired.",
"passwordChangeSuccess": "Ditt lösenord blev framgångsrikt ändrat till det du just valde. Du kan nu använda det för att få tillgång till ditt konto.",
"passwordSuccess": "Lösenord framgångsrikt ändrat",
- "usernameSuccess": "Inloggningsnamn framgångsrikt ändrat",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "E-postadress framgångsrikt ändrad",
"detachSocial": "Avregistrera <%= network %>",
"detachedSocial": "Tog framgångsrikt bort <%= network %>autentisering från ditt konto.",
"addedLocalAuth": "Successfully added local authentication",
"data": "Data",
"exportData": "Exportera data",
- "usernameOrEmail": "Inloggningsnamn eller E-post",
+ "usernameOrEmail": "Username or Email",
"email": "E-postadress",
"registerWithSocial": "Registrera med <%= network %>",
"registeredWithSocial": "Registrerad med <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Visa Bjud In Till Sällskaps-knappen när ett sällskap har 1 medlem.",
"saveCustomDayStart": "Spara skräddarsydd dagsstart",
"registration": "Registrering",
- "addLocalAuth": "Lägg till lokal autentisering:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Generera Koder",
"generate": "Generera",
"getCodes": "Få koder",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica använder den tidszon som är inställd på din dator, vilket är: <%= utc %>",
"timezoneInfo": "If that time zone is wrong, first reload this page using your browser's reload or refresh button to ensure that Habitica has the most recent information. If it is still wrong, adjust the time zone on your PC and then reload this page again.
If you use Habitica on other PCs or mobile devices, the time zone must be the same on them all. If your Dailies have been resetting at the wrong time, repeat this check on all other PCs and on a browser on your mobile devices.",
"push": "Push",
- "about": "Om"
+ "about": "Om",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/sv/subscriber.json b/website/common/locales/sv/subscriber.json
index 67b9476112..c9c857e94c 100644
--- a/website/common/locales/sv/subscriber.json
+++ b/website/common/locales/sv/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Tillbehör Set",
"mysterySet301703": "Påfågel Steampunk Set",
diff --git a/website/common/locales/tr/backgrounds.json b/website/common/locales/tr/backgrounds.json
index b250641744..3dd56e39fa 100644
--- a/website/common/locales/tr/backgrounds.json
+++ b/website/common/locales/tr/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Kayalık Kanyon",
"backgroundFlyingOverRockyCanyonNotes": "Kayalık Kanyonun üzerinde uçarken aşağıdaki nefes kesici manzaraya bak.",
"backgroundBridgeText": "Köprü",
- "backgroundBridgeNotes": "Sevimli bir Köprüyü geç."
+ "backgroundBridgeNotes": "Büyüleyici bir köprüyü geç.",
+ "backgrounds092018": "SET 52: Eylül 2018'de yayımlandı",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Dev Kitap",
+ "backgroundGiantBookNotes": "Dev Kitabın sayfalarını dolaşırken oku.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/tr/character.json b/website/common/locales/tr/character.json
index 812822927d..da4977d3df 100644
--- a/website/common/locales/tr/character.json
+++ b/website/common/locales/tr/character.json
@@ -8,6 +8,8 @@
"other": "Diğer",
"fullName": "Tam Ad",
"displayName": "Görünecek Ad",
+ "changeDisplayName": "Görünen Adı Değiştir",
+ "newDisplayName": "Yeni Görünen Ad",
"displayPhoto": "Fotoğraf",
"displayBlurb": "Tanıtıcı Yazı",
"displayBlurbPlaceholder": "Lütfen kendini tanıt",
@@ -181,7 +183,7 @@
"lostMana": "Bir miktar Mana harcadın",
"lostHealth": "Bir miktar Sağlık kaybettin",
"lostExperience": "Bir miktar Tecrübe kaybettin",
- "displayNameDescription1": "Bu, avatarının üzerinde görüntülenmesinin yanında Tavernada, loncalarda ve takım sohbetlerindeki mesajlarında görünür. Değiştirmek için yukarıdaki Düzenle butonuna tıkla. Eğer girişte kullandığın kullanıcı adını değiştirmek istiyorsan,",
+ "displayNameDescription1": "Bu Taverna, lonca ve takım sohbetlerinde paylaştığın mesajlarda avatarınla beraber görünür. Değiştirmek için yukarıdaki Düzenle tuşuna tıkla. Eğer bunun yerine kullanıcı adını değiştirmek istiyorsan,",
"displayNameDescription2": "Ayarlar->Site",
"displayNameDescription3": "sayfasını ziyaret et ve Kayıt sekmesine göz at.",
"unequipBattleGear": "Savaş Ekipmanını Çıkar",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Nitelik Dağılımını gizle",
"quickAllocationLevelPopover": "Her seviye, sana istediğin bir Niteliğe harcaman için bir Puan kazandırır. Bunu elle yapabileceğin gibi, Kullanıcı İkonu -> Nitelikler menüsü altındaki Otomatik Dağıtma ayarlarından biri ile oyunun senin yerine karar vermesini de sağlayabilirsin.",
"notEnoughAttrPoints": "Yeterince Nitelik Puanın yok.",
+ "classNotSelected": "Nitelik Puanı kullanmadan önce Sınıf seçmelisin.",
"style": "Tarz",
"facialhair": "Sakal & Bıyık",
"photo": "Fotoğraf",
diff --git a/website/common/locales/tr/content.json b/website/common/locales/tr/content.json
index 96b1de8466..d1f49dc2b8 100644
--- a/website/common/locales/tr/content.json
+++ b/website/common/locales/tr/content.json
@@ -163,19 +163,22 @@
"questEggYarnAdjective": "yünlü",
"questEggPterodactylText": "Pterodaktil",
"questEggPterodactylMountText": "Pterodaktil",
- "questEggPterodactylAdjective": "a trusting",
+ "questEggPterodactylAdjective": "güvenen bir",
"questEggBadgerText": "Porsuk",
"questEggBadgerMountText": "Porsuk",
- "questEggBadgerAdjective": "a bustling",
+ "questEggBadgerAdjective": "Kıpır kıpır",
"questEggSquirrelText": "Sincap",
"questEggSquirrelMountText": "Sincap",
- "questEggSquirrelAdjective": "a bushy-tailed",
+ "questEggSquirrelAdjective": "gür kuyruklu",
"questEggSeaSerpentText": "Su Yılanı",
"questEggSeaSerpentMountText": "Su Yılanı",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSeaSerpentAdjective": "Parıltılı",
+ "questEggKangarooText": "Kanguru",
+ "questEggKangarooMountText": "Kanguru",
+ "questEggKangarooAdjective": "istekli bit",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Bir kuluçka iksiri bulup bu yumurtanın üzerine döktüğünde yumurtadan <%= eggAdjective(locale) %> <%= eggText(locale) %> çıkacak.",
"hatchingPotionBase": "Sıradan",
"hatchingPotionWhite": "Beyaz",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Yıldızlı Gece",
"hatchingPotionRainbow": "Gökkuşağı",
"hatchingPotionGlass": "Cam",
+ "hatchingPotionGlow": "Karanlıkta Parlayan",
"hatchingPotionNotes": "Bunu yumurtanın üstüne döktüğünde <%= potText(locale) %> türünde bir hayvan çıkacak.",
"premiumPotionAddlNotes": "Görev yumurtalarıyla kullanılamaz.",
"foodMeat": "Et",
diff --git a/website/common/locales/tr/front.json b/website/common/locales/tr/front.json
index 9b738270bd..a214f17fe1 100644
--- a/website/common/locales/tr/front.json
+++ b/website/common/locales/tr/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Hayvan toplama, tesadüfi ödüller, büyüler ve pek daha fazla motivasyon aracına erişim hakkı kazan!",
"unlockHeadline": "Üretken olduğun sürece yeni içeriklere eriş!",
"useUUID": "UUID / API Dizgesi kullan (Facebook Kullanıcıları için)",
- "username": "Giriş İsmi",
- "emailOrUsername": "E-posta veya Giriş İsmi (büyük-küçük harfe duyarlı)",
+ "username": "Kullanıcı Adı",
+ "emailOrUsername": "Eposta veya Giriş Adı (büyük-küçük harfe duyarlı)",
"watchVideos": "Video İzle",
"work": "İş",
"zelahQuote": "[Habitica] sayesinde erken yatarsam puan kazanacağımı veya geç yatarsam sağlık kaybedeceğimi düşünerek zamanında yatmaya ikna olabilirim!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Doğrulama başlıkları eksik.",
"missingAuthParams": "Doğrulama parametreleri eksik.",
- "missingUsernameEmail": "Giriş İsmi veya e-posta eksik.",
+ "missingUsernameEmail": "Eksik kullanıcı adı veya eposta.",
"missingEmail": "E-posta eksik.",
- "missingUsername": "Giriş İsmi eksik.",
+ "missingUsername": "Eksik kullanıcı adı.",
"missingPassword": "Şifre eksik.",
"missingNewPassword": "Yeni şifre eksik.",
"invalidEmailDomain": "Bu alan adına sahip e-posta adresleri ile kaydolamazsın: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Geçersiz e-posta adresi.",
"emailTaken": "Bu e-posta adresi zaten bir kullanıcı hesabında kayıtlı.",
"newEmailRequired": "Yeni e-posta adresi eksik.",
- "usernameTaken": "Giriş İsmi başkası tarafından kullanılıyor.",
- "usernameWrongLength": "Giriş İsmi 1-20 karakter arası uzunlukta olmalıdır.",
- "usernameBadCharacters": "Giriş İsmi yalnızca a'dan z'ye İngilizce harfler, 0'dan 9'a rakamlar, tire ve alt çizgi içerebilir.",
+ "usernameTime": "Kullanıcı adını ayarlama vakti!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Şifre onayı şifreyle uyuşmuyor.",
"invalidLoginCredentials": "Kullanıcı adı ve/veya e-posta ve/veya şifre yanlış.",
"passwordResetPage": "Şifre Sıfırla",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Habitica için Şifre Sıfırla",
"passwordResetEmailText": "Eğer Habitica kullanıcısı <%= username %> için şifre sıfırlama isteğinde bulunduysan, yeni bir şifre belirlemek için buraya git <%= passwordResetLink %> . Bu bağlantının süresi 24 saat sonra dolacak. Eğer şifre sıfırlama talebinde bulunmadıysan, lütfen bu epostayı görmezden gel.",
"passwordResetEmailHtml": "Eğer Habitica kullanıcısı <%= username %> için şifre sıfırlama isteğinde bulunduysan, yeni bir şifre belirlemek için \">buraya tıkla . Bu bağlantının süresi 24 saat sonra dolacak.
Eğer şifre sıfırlama talebinde bulunmadıysan, lütfen bu epostayı görmezden gel.",
- "invalidLoginCredentialsLong": "Tüh - e-posta adresin / giriş ismin veya şifren hatalı.\n- Doğru yazıldıklarından emin ol. Giriş ismin ve şifren büyük-küçük harfe duyarlıdır.\n- E-posta yerine Facebook veya Google Plus ile kayıt olmuş olabilirsin, bu yüzden bu seçenekleri de deneyerek ikinci bir kez kontrol et.\n- Eğer şifreni unuttuysan, \"Şifremi Unuttum\" linkine tıkla.",
+ "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\".",
"invalidCredentials": "Bu bilgileri kullanan bir hesap yok.",
- "accountSuspended": "Bu hesap, Kullanıcı ID \"<%= userId %>\", [Topluluk Kuralları](https://habitica.com/static/community-guidelines) veya [Hizmet Koşulları](https://habitica.com/static/terms) ihmali nedeniyle engellenmiştir. Detaylar veya engelin kaldırılmasını talep etmek için, lütfen <%= communityManagerEmail %> adresinden Topluluk Yöneticimize mail at veya ebeveyninden bu adrese mail göndermesini iste. Lütfen maile Kullanıcı ID'ni ve Profil İsmini eklemeyi unutma.",
+ "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": "Hesap askıya alındı",
"unsupportedNetwork": "Bu ağ henüz desteklenmiyor.",
"cantDetachSocial": "Hesabın başka bir kimlik doğrulama yöntemi yok, bu doğrulama şekli ayrılamıyor.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "<%= social %> ile kayıt ol",
"loginWithSocial": "<%= social %> ile giriş yap",
"confirmPassword": "Şifreyi Onayla",
- "usernameLimitations": "Giriş İsmi 1-20 karakter arası uzunlukta olmalı; yalnızca a'dan z'ye İngilizce harfler, 0'dan 9'a rakamlar, tire ve alt çizgi içermelidir.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "örn., HabitRabbit",
"emailPlaceholder": "ör., rabbit@example.com",
"passwordPlaceholder": "ör., ******************",
@@ -329,6 +336,5 @@
"signup": "Kaydol",
"getStarted": "Buradan Başla",
"mobileApps": "Mobil Uygulamalar",
- "learnMore": "Daha Fazlasını Öğren",
- "useMobileApps": "Habitica mobil tarayıcı için optimize edilmemiştir. Mobil uygulamalarımızı indirmeni tavsiye ederiz."
+ "learnMore": "Daha Fazlasını Öğren"
}
\ No newline at end of file
diff --git a/website/common/locales/tr/gear.json b/website/common/locales/tr/gear.json
index 00d96c9d7f..3ee7e39b60 100644
--- a/website/common/locales/tr/gear.json
+++ b/website/common/locales/tr/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "Suyun altında ateş, buz ve elektrik büyüeri, bunu yapan Büyücüye tehlike yaratabilir. Sihirle zehirli iğneler yaratmak ise hiçbir sorun teşkil etmez! Zekayı <%= int %> ve Sezgiyi <%= per %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"weaponSpecialSummer2018HealerText": "Denizhalkı Hükümdarının Üç Dişli Mızrağı",
"weaponSpecialSummer2018HealerNotes": "İyilikçi bir hamle ile şifalı suların ülkene dalga dalga akmasını sağlarsın. Zekayı <%= int %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "weaponSpecialFall2018RogueText": "Duruluk Şişesi",
+ "weaponSpecialFall2018RogueNotes": "Kendine gelmen gerektiğinde, doğru kararı vermek için itici bir güce ihtiyacın olduğunda derin bir nefes ve bir yudum al. Her şey yoluna girecek! Gücü <%= str %> artırır. Sınırlı Sürüm 2018 Sonbahar Eşyası.",
+ "weaponSpecialFall2018WarriorText": "Minos'un Kırbacı",
+ "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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "Hasat Tırmığı",
"weaponMystery201411Notes": "Düşmanlarına saplamak ya da favori yiyeceklerine yumulmak - bu çok kullanışlı tırmık ile hepsini yapabilirsin! Bir fayda sağlamaz. Kasım 2014 Abone Eşyası.",
"weaponMystery201502Text": "Aşkın ve Aynı Zamanda Dürüstlüğün Parıltılı, Kanatlı Asası",
@@ -350,6 +358,10 @@
"weaponArmoirePoisonedGobletNotes": "Iocane tozu ve daha başka nice inanılmaz tehlikeli zehre karşı direnç oluşturmak için bunu kullan. Zekayı <%= int %> puan arttırır. Efsunlu Gardırop: Korsani Prenses Seti (4 Eşyadan 3'üncüsü).",
"weaponArmoireJeweledArcherBowText": "Mücehverli Okçu Yayı",
"weaponArmoireJeweledArcherBowNotes": "Altın ve Elmaslardan oluşan bu yay, oklarını hedeflerine inanılmaz bir hızla atar. Zekayı<%= int %> arttırır. Efsunlu Gardırop: Mücehverli Okçu Seti (3 eşyadan 3'üncüsü)",
+ "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).",
"armor": "zırh",
"armorCapitalized": "Zırh",
"armorBase0Text": "Sade Giysi",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "Zehir büyücülüğü kurnazlık üzerine nam salmıştır. Bu rengarenk zırh hariç. Canavarlara ve işlere karşı mesajı oldukça açıktır: dikkat edin! Zekayı <%= int %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"armorSpecialSummer2018HealerText": "Denizhalkı Hükümdarı Cübbesi",
"armorSpecialSummer2018HealerNotes": "Bu gök mavisi cübbenin altından karada yürüyebilen ayakların olduğu fark edilebilir. Yani... Kraliyet mensubu da olsa kimsenin mükemmel olmasını bekleyemezsin. Bünyeyi <%= con %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "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.",
"armorMystery201402Text": "Haberci Kaftanı",
"armorMystery201402Notes": "Parıltılı ve güçlü olan bu kaftan, mektupları taşımak için birçok cebe sahiptir. Bir fayda sağlamaz. Şubat 2014 Abone Eşyası.",
"armorMystery201403Text": "Orman Yürüyüşçüsü Zırhı",
@@ -660,6 +680,10 @@
"armorMystery201806Notes": "Bu kıvrık kuyruk, derinlerde yolunu aydınlatması için ışıldayan beneklere sahiptir. Bir fayda sağlamaz. Haziran 2018 Abone Eşyası.",
"armorMystery201807Text": "Su Yılanı Kuyruğu",
"armorMystery201807Notes": "Bu kuvvetli kuyruk seni suyun içinde inanılmaz bir hızla ileri itecek! Bir fayda sağlamaz. Temmuz 2018 Abone Eşyası.",
+ "armorMystery201808Text": "Lav Ejderi Zırhı",
+ "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.",
"armorMystery301404Text": "Steampunk Takım",
"armorMystery301404Notes": "Şık ve enerjik, tam gaz! Bir fayda sağlamaz. Şubat 3015 Abone Eşyası.",
"armorMystery301703Text": "Steampunk Tavuskuşu Cübbesi",
@@ -754,6 +778,10 @@
"armorArmoirePiraticalPrincessGownNotes": "Bu süslü elbise, silahları ve ganimetleri gizlemek için çokça cebe sahiptir! Sezgiyi <%= per %> puan arttırır. Efsunlu Gardırop: Korsani Prenses Seti (4 Eşyadan 2'ncisi).",
"armorArmoireJeweledArcherArmorText": "Mücehverli Okçu Zırhı",
"armorArmoireJeweledArcherArmorNotes": "Bu özenlice yapılmış zırh seni oklardan veya serseri kırmızı Günlük İşlerden koruyacak! Bünyeyi <%= con %> puan arttırır. Efsunlu Gardırop: Mücevherli Okçu Seti (3 Eşyadan 2'ncisi).",
+ "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).",
"headgear": "başlık",
"headgearCapitalized": "Başlık",
"headBase0Text": "Başlık Yok",
@@ -996,6 +1024,14 @@
"headSpecialSummer2018MageNotes": "\"Leziz bir balığa\" benzediğini söyleyenlerin üstünden acıklı bir bakış at. Sezgiyi <%= per %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"headSpecialSummer2018HealerText": "Denizhalkı Hükümdarı Tacı",
"headSpecialSummer2018HealerNotes": "Akuamarin ile süslenmiş bu yüzgeçli taç halkın, balıkların ve ikisinden de biraz olanların liderliğini simgeler! Zekayı <%= int %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "Gökkuşağı Savaşçısı Miğferi",
"headSpecialGaymerxNotes": "GaymerX konferansının şerefine tasarlanan bu miğfer ışıltılı, rengarenk gökkuşağı desenleri ile bezenmiştir. GaymerX, LGBTQ'yu ve oyunculuğu kutlayan bir fuardır ve herkese açıktır.",
"headMystery201402Text": "Kanatlı Miğfer",
@@ -1062,7 +1098,7 @@
"headMystery201712Notes": "Bu taç en karanlık kış gecesine bile aydınlık ve sıcaklık getirecek. Bir fayda sağlamaz. Aralık 2017 Abone Eşyası.",
"headMystery201802Text": "Aşk Böceği Miğferi",
"headMystery201802Notes": "Bu miğferin üstündeki antenler şirin kaynak arama çubukları olarak iş görürler; yakınlardaki sevgi ve destek hislerini tespit ederler. Bir fayda sağlamaz. Şubat 2018 Abone Eşyası.",
- "headMystery201803Text": "Gözüpek Yusufçuk Tacı",
+ "headMystery201803Text": "Gözü Pek Yusufçuk Tacı",
"headMystery201803Notes": "Görüntüsü pek dekoratif olsa da, bu tacın üzerindeki kanatları fazladan havalanmak için kullanabilirsin! Bir fayda sağlamaz. Mart 2018 Abone Eşyası.",
"headMystery201805Text": "Olağanüstü Tavus Kuşu Miğferi",
"headMystery201805Notes": "Bu miğfer seni şehirdeki en gururlu ve en sevimli (muhtemelen aynı zamanda da en gürültücü) kuş yapacak. Bir fayda sağlamaz. Mayıs 2018 Abone Eşyası.",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "Bu miğferin üzerindeki büyüleyici ışık, denizin tüm canlılarını senin tarafına çağıracak. Işıklı etkileyici güçlerini iyilik adına kullanmanda ısrar ediyoruz! Bir fayda sağlamaz. Haziran 2018 Abone Eşyası.",
"headMystery201807Text": "Su Yılanı Miğferi",
"headMystery201807Notes": "Bu miğferin üstündeki güçlü pullar, seni her türlü okyanus sakini düşmanının davranışından koruyacak. Bir fayda sağlamaz. Temmuz 2018 Abone Eşyası.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "Süslü Silindir Şapka",
"headMystery301404Notes": "Centilmenlerin en iyisine layık, süslü bir silindir şapka! Ocak 3015 Abone Eşyası. Bir fayda sağlamaz.",
"headMystery301405Text": "Sade Silindir Şapka",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Süslü deniz eşkıyaları süslü başlıklarıyla bilinirler! Sezgiyi ve Zekayı <%= attrs %> puan arttırır. Efsunlu Gardırop: Korsani Prenses Seti (4 Eşyadan 1'incisi).",
"headArmoireJeweledArcherHelmText": "Mücehverli Okçu Miğferi",
"headArmoireJeweledArcherHelmNotes": "Bu miğfer süslü görünebilir fakat aynı zamanda inanılmaz derecede hafif ve sağlamdır. Zekayı <%= int %> arttırır. Efsunlu Gardırop: Mücehverli Okçu Seti (3 Eşyadan 1'ncisi).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "ikincil el eşyası",
"offhandCapitalized": "İkincil El Eşyası",
"shieldBase0Text": "İkincil El Eşyası Yok",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Taşlarla bezeli bu korkusuz, kafatası şeklindeki kalkan, İskelet hayvanlarını ve bineklerini çağırırken balık düşmanlarına korku salar. Bünyeyi <%= con %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
"shieldSpecialSummer2018HealerText": "Denizhalkı Hükümdarı Amblemi",
"shieldSpecialSummer2018HealerNotes": "Bu kalkan, sulu diyarlarını ziyaret eden karada yaşayan ziyaretçilerinin faydalanması için bir hava kubbesi oluşturabilir. Bünyeyi <%= con %> puan arttırır. Sınırlı Sürüm 2018 Yaz Ekipmanı.",
+ "shieldSpecialFall2018RogueText": "Cezbetme Şişesi",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "Çözüm Katledicisi",
"shieldMystery201601Notes": "Bu pala, tüm dikkat dağınıklığını bertaraf etmekte kullanılabilir. Bir fayda sağlamaz. Ocak 2016 Abone Eşyası.",
"shieldMystery201701Text": "Zaman Dondurucu Kalkan",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "Ne kadar da gösterişli bir vazo yaptın! İçine ne koyacaksın? Zekayı <%= int %> puan arttırır. Efsunlu Gardırop: Cam Üfleyicisi Seti (4 Eşyadan 4'üncüsü).",
"shieldArmoirePiraticalSkullShieldText": "Korsani Kafatası Kalkanı",
"shieldArmoirePiraticalSkullShieldNotes": "Bu sihirli kalkan, düşmanlarının ganimetlerinin yerlerini sana fısıldar - iyi dinle! Sezgiyi ve Zekayı <%= attrs %> puan arttırır. Efsunlu Gardırop: Korsani Prenses Seti (4 Eşyadan 4'üncüsü).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Sırt Aksesuarı",
"backCapitalized": "Sırt Aksesuarı",
"backBase0Text": "Sırt Aksesuarı Yok",
"backBase0Notes": "Sırt Aksesuarı Yok.",
+ "animalTails": "Hayvan Kuyrukları",
"backMystery201402Text": "Altın Kanatlar",
"backMystery201402Notes": "Bu ışıltılı kanatlar, güneş altında parıldayan tüylere sahiptir! Bir fayda sağlamaz. Şubat 2014 Abone Eşyası.",
"backMystery201404Text": "Alacakaranlık Kelebeği Kanatları",
@@ -1420,7 +1471,7 @@
"backMystery201709Notes": "Büyü öğrenmek çok fazla okumayı gerektirir ama hiç yoktan çalışırken zevk alırsın! Bir fayda sağlamaz. Eylül 2017 Abone Eşyası.",
"backMystery201801Text": "Buz Perisi Kanatları",
"backMystery201801Notes": "Kar taneleri kadar narin görünseler de bu büyülü kanatlar seni dilediğin yere taşıyabilir! Bir fayda sağlamaz. Ocak 2018 Abone Eşyası.",
- "backMystery201803Text": "Gözüpek Yusufçuk Kanatları",
+ "backMystery201803Text": "Gözü Pek Yusufçuk Kanatları",
"backMystery201803Notes": "Bu renkli ve ışıltılı kanatlar seni yumuşak bahar esintilerinin içinden ve nilüfer göllerinin üzerinden taşıyacak. Bir fayda sağlamaz. Mart 2018 Abone Eşyası.",
"backMystery201804Text": "Sincap Kuyruğu",
"backMystery201804Notes": "Elbette dalların üzerinden atlarken dengeni kurmana yardımcı olacak ama en önemli özelliği şu: MAKSİMUM YUMUŞAKLIK. Bir fayda sağlamaz. Nisan 2018 Abone Eşyası.",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "Bu pelerin bir zamanlar Kayıp Uzmaneleman'ın kendine aitti. Sezgiyi <%= per %> puan arttırır.",
"backSpecialTurkeyTailBaseText": "Hindi Kuyruğu",
"backSpecialTurkeyTailBaseNotes": "Kutlama yaparken asil Hindi Kuyruğunu gururla tak! Bir fayda sağlamaz.",
+ "backBearTailText": "Ayı Kuyruğu",
+ "backBearTailNotes": "Bu kuyruk seni cesur bir ayı gibi gösterecek! Bir fayda sağlamaz.",
+ "backCactusTailText": "Kaktüs Kuyruğu",
+ "backCactusTailNotes": "Bu kuyruk seni dikenli bir kaktüs gibi gösterecek! Bir fayda sağlamaz.",
+ "backFoxTailText": "Tilki Kuyruğu",
+ "backFoxTailNotes": "Bu kuyruk seni cingöz bir tilki gibi gösterecek! Bir fayda sağlamaz.",
+ "backLionTailText": "Aslan Kuyruğu",
+ "backLionTailNotes": "Bu kuyruk seni gösterişli bir aslan gibi gösterecek! Bir fayda sağlamaz.",
+ "backPandaTailText": "Panda Kuyruğu",
+ "backPandaTailNotes": "Bu kuyruk seni nazik bir panda gibi gösterecek! Bir fayda sağlamaz.",
+ "backPigTailText": "Domuz Kuyruğu",
+ "backPigTailNotes": "Bu kuyruk seni esprili bir domuz gibi gösterecek! Bir fayda sağlamaz.",
+ "backTigerTailText": "Kaplan Kuyruğu",
+ "backTigerTailNotes": "Bu kuyruk seni vahşi bir kaplan gibi gösterecek! Bir fayda sağlamaz.",
+ "backWolfTailText": "Kurt Kuyruğu",
+ "backWolfTailNotes": "Bu kuyruk seni sadık bir kurt gibi gösterecek! Bir fayda sağlamaz.",
"body": "Vücut Aksesuarı",
"bodyCapitalized": "Vücut Aksesuarı",
"bodyBase0Text": "Vücut Aksesuarı Yok",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "\"Gözlükler gözler içindir,\" dediler. \"Kimse sadece kafasına takabileceği gözlükler istemez,\" dediler. Hah! Gözlerine soktuğuna emin ol! Bir fayda sağlamaz. Ağustos 3015 Abone Eşyası.",
"headAccessoryArmoireComicalArrowText": "Esprili Ok",
"headAccessoryArmoireComicalArrowNotes": "Bu şakacı eşya etraftakileri güldürmekte başarılıdır! Gücü <%= str %> puan arttırır. Efsunlu Gardırop: Bağımsız Eşya.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Gözlük",
"eyewearCapitalized": "Gözlük",
"eyewearBase0Text": "Gözlük Yok",
diff --git a/website/common/locales/tr/generic.json b/website/common/locales/tr/generic.json
index e43d6c130b..3352cb27cf 100644
--- a/website/common/locales/tr/generic.json
+++ b/website/common/locales/tr/generic.json
@@ -71,6 +71,7 @@
"submit": "Gönder",
"close": "Kapat",
"saveAndClose": "Kaydet & Kapat",
+ "saveAndConfirm": "Kaydet & Onayla",
"cancel": "Vazgeç",
"ok": "Tamam",
"add": "Ekle",
diff --git a/website/common/locales/tr/groups.json b/website/common/locales/tr/groups.json
index 8fe5ab5355..734f93abc0 100644
--- a/website/common/locales/tr/groups.json
+++ b/website/common/locales/tr/groups.json
@@ -6,6 +6,7 @@
"innText": "Handa dinleniyorsun! Burada iken, Günlük İşlerin gün sonunda sana hasar vermezler ancak her gün yenilenmeye devam ederler. Dikkatli ol: Eğer bir Canavar Görevine katılıyorsan, takım arkadaşların da Handa olmadığı sürece, onların aksattığı Günlük İşler yüzünden Canavar sana da hasar verecektir! Aynı zamanda, Handan ayrılmadığın sürece Canavara vereceğin hasar (veya toplayacağın eşyalar) da sayılmayacaktır.",
"innTextBroken": "Handa dinleniyorsun, sanırım... Burada iken, Günlük İşlerin gün sonunda sana hasar vermezler ancak her gün yenilenmeye devam ederler... Eğer bir Canavar Görevine katılıyorsan, onların aksattığı Günlük İşler yüzünden Canavar sana da hasar verecektir... takım arkadaşların da Handa olmadığı sürece... Aynı zamanda, Handan ayrılmadığın sürece Canavara vereceğin hasar (veya toplayacağın eşyalar) da sayılmayacaktır... çok yorgunum...",
"innCheckOutBanner": "Şu anda Handa dinleniyorsun. Günlük işlerin sana zarar vermez ve görevlere katkıda bulunmazsın.",
+ "innCheckOutBannerShort": "Handa dinleniyorsun.",
"resumeDamage": "Handan çıkış yap",
"helpfulLinks": "Yararlı Bağlantılar",
"communityGuidelinesLink": "Topluluk Kuralları",
diff --git a/website/common/locales/tr/limited.json b/website/common/locales/tr/limited.json
index 8db123013d..238d59ed50 100644
--- a/website/common/locales/tr/limited.json
+++ b/website/common/locales/tr/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Aslan Balığı Büyücü (Büyücü)",
"summer2018MerfolkMonarchSet": "Denizhalkı Hükümdarı (Şifacı)",
"summer2018FisherRogueSet": "Balıkçı Düzenbaz (Düzenbaz)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "İkincil Şahsiyet (Düzenbaz)",
"eventAvailability": "<%= date(locale) %> tarihine kadar satın alınabilir. ",
"dateEndMarch": "30 Nisan",
"dateEndApril": "19 Nisan",
@@ -132,6 +136,7 @@
"dateEndJune": "14 Haziran",
"dateEndJuly": "31 Temmuz",
"dateEndAugust": "31 Ağustos",
+ "dateEndSeptember": "21 Eylül",
"dateEndOctober": "31 Ekim",
"dateEndNovember": "30 Kasım",
"dateEndJanuary": "31 Ocak",
diff --git a/website/common/locales/tr/messages.json b/website/common/locales/tr/messages.json
index 9659d06039..9b634e8e80 100644
--- a/website/common/locales/tr/messages.json
+++ b/website/common/locales/tr/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Yeteri kadar elmasın yok!",
"messageAuthPasswordMustMatch": ":password ve :confirmPassword uyuşmuyor",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword zorunludur",
- "messageAuthUsernameTaken": "Kullanıcı Adı zaten kullanılıyor",
"messageAuthEmailTaken": "Mail adresi zaten kullanımda",
"messageAuthNoUserFound": "Kullanıcı bulunamadı.",
"messageAuthMustBeLoggedIn": "Giriş yapman gerekiyor.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "Bu eşya 1 taneden fazla alınamaz.",
"notificationsRequired": "Bildirm ID'leri gerekmektedir.",
"unallocatedStatsPoints": "<%= points %> adet dağıtılmamış Nitelik Puanın var.",
- "beginningOfConversation": "Bu <%= userName %> ile konuşmanın başlangıcıdır.Kibar ve saygılı olmayı ve Topluluk Kurallarına uymayı unutma."
+ "beginningOfConversation": "Bu <%= userName %> ile konuşmanın başlangıcıdır.Kibar ve saygılı olmayı ve Topluluk Kurallarına uymayı unutma.",
+ "messageDeletedUser": "Üzgünüz, bu kullanıcı hesabını silmiş."
}
\ No newline at end of file
diff --git a/website/common/locales/tr/questscontent.json b/website/common/locales/tr/questscontent.json
index 8135140802..cedf8d5af7 100644
--- a/website/common/locales/tr/questscontent.json
+++ b/website/common/locales/tr/questscontent.json
@@ -611,10 +611,18 @@
"questSeaSerpentBoss": "Kudretli Su Yılanı",
"questSeaSerpentDropSeaSerpentEgg": "Su Yılanı (Yumurta)",
"questSeaSerpentUnlockText": "Pazardan Su Yılanı yumurtaları satın alabilmeni sağlar",
- "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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "questKangarooText": "Kanguru Felaketi",
+ "questKangarooNotes": "Belki de şu son işini bitirmeliydin... hani var ya, şu hep yeniden karşına çıksa da sürekli görmezden geldiğin iş? Fakat @Mewrose ve @LilithofAlfheim, seni ve @stefalupagus'u, Sloensteadi Savanı'nda zıplayıp duran ender bir kanguru sürüsü görmeye davet etti; nasıl hayır diyebilirdin ki buna?! Sürü görüş alanına girerken bir şey küt
diye kafanın arkasına çarptı! Gözünün önünde beliren yıldızları savuşturduktan sonra bu darbeden sorumlu nesneyi yerden aldın: Yüzeyine sürekli ertelediğin şu iş kazılı, koyu kırmızı bir bumerang. Etrafına şöyle bir bakınca takımının geri kalanının da benzer bir kaderle karşılaştığını tasdikledin. Bir büyükçe kanguru da mağrur gülümsemesiyle sana bakıyor, sanki sana, kendisiyle ve şu haşmetli işle bir kez daha yüzleşmek için meydan okur gibi!",
+ "questKangarooCompletion": "\"ŞİMDİ!\" Takımına bumerangları kanguruya geri fırlatmaları için komut verdin. Canavar her darbeyle daha da uzağa zıpladı ve en sonunda ardında koyu kırmızı toz bulutları, birkaç yumurta ve biraz da altından başka bir şey bırakmadan kaçıp gitti.
@Mewrose kangurunun biraz önce dikildiği noktaya ilerledi: \"Hey, bumeranglar nereye gitti?\"
\"Muhtemelen hepimiz şahsi işlerimizi bitirince toza dönüşüp o kırmızı bulutu oluşturdular.\" dedi @stefalupagus .
@LilithofAlfheim ufka doğru gözlerini kıstı. \"Başka bir kanguru sürüsü üzerimize mi geliyor sanki?\"
Hepiniz Alışkanlık Şehri'ne doğru koşturmaya başladınız. Zorlandığın işlerle yüzleşmek kafanın arkasında başka bir şişlikten iyidir!",
+ "questKangarooBoss": "Felaket Getiren Kanguru",
+ "questKangarooDropKangarooEgg": "Kanguru (Yumurta)",
+ "questKangarooUnlockText": "Pazardan Kanguru yumurtaları satın alabilmeni sağlar",
+ "forestFriendsText": "Orman Arkadaşları Görev Paketi",
+ "forestFriendsNotes": "'Baharın Ruhu', 'Kabakirpi' ve 'Sarmaşıklı Ağaç' içerir. 30 Eylül'e kadar yararlanılabilir.",
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/tr/settings.json b/website/common/locales/tr/settings.json
index 7fb26e5c8e..c37a255630 100644
--- a/website/common/locales/tr/settings.json
+++ b/website/common/locales/tr/settings.json
@@ -54,7 +54,7 @@
"misc": "Diğer",
"showHeader": "Üst Menüyü Göster",
"changePass": "Şifre Değiştir",
- "changeUsername": "Kullanıcı Adı Değiştir",
+ "changeUsername": "Kullanıcı Adını Değiştir",
"changeEmail": "E-Mail Adresi Değiştir",
"newEmail": "Yeni E-Mail Adresi",
"oldPass": "Eski Şifre",
@@ -96,13 +96,14 @@
"passwordChangeSuccess": "Şifren yeni seçtiğinle başarıyla değiştirildi. Artık bu şifre ile hesabına giriş yapabilirsin. ",
"passwordSuccess": "Şifre başarıyla değiştirildi",
"usernameSuccess": "Kullanıcı Adı başarıyla değiştirildi",
+ "displayNameSuccess": "Görünen Ad başarıyla değiştirildi",
"emailSuccess": "E-posta başarıyla değiştirildi",
"detachSocial": "<%= network %> bağlantısını kaldır",
"detachedSocial": "Hesabının <%= network %> bağlantısı başarıyla kaldırıldı",
"addedLocalAuth": "Başarıyla yerel yetkilendirme eklendi",
"data": "Veri",
"exportData": "Veriyi Dışa Aktar",
- "usernameOrEmail": "Kullanıcı Adı ya da E-Posta",
+ "usernameOrEmail": "Kullanıcı Adı veya Eposta",
"email": "E-posta",
"registerWithSocial": "<%= network %> ile kaydol",
"registeredWithSocial": "<%= network %> ile kaydolundu",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Takımın 1 üyesi varken Takıma Davet Et butonunu göster.",
"saveCustomDayStart": "Kişisel Gün Başlangıcını Kaydet",
"registration": "Kayıt",
- "addLocalAuth": "Yerel doğrulama ekle:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Kod Üret",
"generate": "Üret",
"getCodes": "Kod Al",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica bilgisayarında tanımlı zaman dilimini kullanır: <%= utc %>",
"timezoneInfo": "Eğer bu zaman dilimi yanlışsa, önce tarayıcının yeniden yükle veya yenile butonunu kullanarak bu sayfayı yeniden yükle ve Habitica'nın en son bilgiye sahip olduğundan emin ol. Eğer hala yanlışsa, bilgisayarındaki zaman dilimini ayarla ve sayfayı tekrar yenile.
Eğer Habitica'yı başka bilgisayarlarda ya da mobil cihazlarda da kullanıyorsan, zaman dilimi hepsinde aynı olmalıdır. Eğer Günlük İşlerin yanlış zamanda sıfırlanıyorsa, bu kontrolü diğer tüm bilgisayarlara ve mobil cihazların tarayıcılarına da uygula.",
"push": "Anlık",
- "about": "Hakkında"
+ "about": "Hakkında",
+ "setUsernameNotificationTitle": "Kullanıcı adını onayla!",
+ "setUsernameNotificationBody": "Yakında giriş adlarını özgün ve aleni kullanıcı adlarına dönüştüreceğiz. Bu kullanıcı adı davetler, sohbetlerdeki @bahisler ve mesajlaşmalar için kullanılacak.",
+ "usernameIssueSlur": "Kullanıcı adı uygunsuz dil içeremez.",
+ "usernameIssueForbidden": "Kullanıcı adı kısıtlanmış kelimeler içeremez.",
+ "usernameIssueLength": "Kullanıcı adı 1 ile 20 karakter arasında olmalıdır.",
+ "usernameIssueInvalidCharacters": "Kullanıcı adı yalnızca a'dan z'ye harf, 0'dan 9'a rakam, tire ve alt tire içerebilir.",
+ "currentUsername": "Geçerli kullanıcı adı:",
+ "displaynameIssueLength": "Görünen Ad 1 ile 30 karakter arasında olmalıdır.",
+ "displaynameIssueSlur": "Görünen Ad uygunsuz dil içeremez.",
+ "goToSettings": "Ayarlara Git",
+ "usernameVerifiedConfirmation": "Kullanıcı adın, <%= username %>, onaylandı!",
+ "usernameNotVerified": "Lütfen kullanıcı adınızı onaylayın.",
+ "changeUsernameDisclaimer": "Yakında giriş adlarını özgün ve aleni kullanıcı adlarına dönüştüreceğiz. Bu kullanıcı adı davetler, sohbetlerdeki @bahisler ve mesajlaşmalar için kullanılacak."
}
\ No newline at end of file
diff --git a/website/common/locales/tr/subscriber.json b/website/common/locales/tr/subscriber.json
index 5908b3095a..eea6e57d8d 100644
--- a/website/common/locales/tr/subscriber.json
+++ b/website/common/locales/tr/subscriber.json
@@ -141,11 +141,13 @@
"mysterySet201712": "Mumbükücü Seti",
"mysterySet201801": "Buz Perisi Seti",
"mysterySet201802": "Aşk Böceği Seti",
- "mysterySet201803": "Gözüpek Yusufçuk Seti",
+ "mysterySet201803": "Gözü Pek Yusufçuk Seti",
"mysterySet201804": "Zarif Sincap Seti",
"mysterySet201805": "Olağanüstü Tavus Kuşu Seti",
"mysterySet201806": "Alımlı Fener Balığı Seti",
"mysterySet201807": "Su Yılanı Seti",
+ "mysterySet201808": "Lav Ejderi Seti",
+ "mysterySet201809": "Sonbaharsal Zırh Seti",
"mysterySet301404": "Standart Steampunk Seti",
"mysterySet301405": "Steampunk Aksesuarları Seti",
"mysterySet301703": "Tavuskuşu Steampunk Seti",
diff --git a/website/common/locales/uk/backgrounds.json b/website/common/locales/uk/backgrounds.json
index 816bf3027c..f82c789be3 100644
--- a/website/common/locales/uk/backgrounds.json
+++ b/website/common/locales/uk/backgrounds.json
@@ -373,5 +373,19 @@
"backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
"backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
"backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgroundBridgeNotes": "Cross a charming Bridge.",
+ "backgrounds092018": "SET 52: Released September 2018",
+ "backgroundApplePickingText": "Apple Picking",
+ "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.",
+ "backgroundGiantBookText": "Giant Book",
+ "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.",
+ "backgroundCozyBarnText": "Cozy Barn",
+ "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.",
+ "backgrounds102018": "SET 53: Released October 2018",
+ "backgroundBayouText": "Bayou",
+ "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.",
+ "backgroundCreepyCastleText": "Creepy Castle",
+ "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.",
+ "backgroundDungeonText": "Dungeon",
+ "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon."
}
\ No newline at end of file
diff --git a/website/common/locales/uk/character.json b/website/common/locales/uk/character.json
index 23216210e2..41a62f2c64 100644
--- a/website/common/locales/uk/character.json
+++ b/website/common/locales/uk/character.json
@@ -8,6 +8,8 @@
"other": "Інше",
"fullName": "Повне ім'я",
"displayName": "Ім’я на показ",
+ "changeDisplayName": "Change Display Name",
+ "newDisplayName": "New Display Name",
"displayPhoto": "Світлина",
"displayBlurb": "Додатково",
"displayBlurbPlaceholder": "Будь ласка, представтесь",
@@ -181,7 +183,7 @@
"lostMana": "You used some Mana",
"lostHealth": "You lost some Health",
"lostExperience": "You lost some Experience",
- "displayNameDescription1": "Відображується у повідомленнях, які ви пишете у чаті таверни, гільдії або команди, поруч із вашим аватаром. Для зміни імені натисніть кнопку «Редагувати» вище. Якщо ж ви хочете змінити ім’я профілю, то зайдіть у",
+ "displayNameDescription1": "This is what appears in messages you post in the Tavern, guilds, and party chat, along with what is displayed on your avatar. To change it, click the Edit button above. If instead you want to change your username, go to",
"displayNameDescription2": "Налаштування->Сайт",
"displayNameDescription3": "та прогляньте розділ «Реєстрація».",
"unequipBattleGear": "Зняти бойову екіпіровку",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "Hide Stat Allocation",
"quickAllocationLevelPopover": "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 found in User Icon > Stats.",
"notEnoughAttrPoints": "You don't have enough Stat Points.",
+ "classNotSelected": "You must select Class before you can assign Stat Points.",
"style": "Стиль",
"facialhair": "Facial",
"photo": "Світлина",
diff --git a/website/common/locales/uk/content.json b/website/common/locales/uk/content.json
index c8f35ffb85..a987d36666 100644
--- a/website/common/locales/uk/content.json
+++ b/website/common/locales/uk/content.json
@@ -176,6 +176,9 @@
"questEggKangarooText": "Kangaroo",
"questEggKangarooMountText": "Kangaroo",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "Вилийте на це яйце інкубаційне зілля, і з нього вилупиться <%= eggAdjective(locale) %> <%= eggText(locale) %>.",
"hatchingPotionBase": "Простий",
"hatchingPotionWhite": "Білий",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "Starry Night",
"hatchingPotionRainbow": "Rainbow",
"hatchingPotionGlass": "Glass",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "Вилийте це на яйце, і з нього вилупиться улюбленець<%= potText(locale) %>.",
"premiumPotionAddlNotes": "Неможливо використати на квестових яйцях з улюбленцями.",
"foodMeat": "М'ясо",
diff --git a/website/common/locales/uk/front.json b/website/common/locales/uk/front.json
index 6b9f71e7bd..2d20122667 100644
--- a/website/common/locales/uk/front.json
+++ b/website/common/locales/uk/front.json
@@ -211,8 +211,8 @@
"unlockByline2": "Unlock new motivational tools, such as pet collecting, random rewards, spell-casting, and more!",
"unlockHeadline": "As you stay productive, you unlock new content!",
"useUUID": "Використати UUID / API Token (для користувачів Facebook )",
- "username": "Login Name",
- "emailOrUsername": "Email or Login Name (case-sensitive)",
+ "username": "Username",
+ "emailOrUsername": "Email or Username (case-sensitive)",
"watchVideos": "Переглядай відео",
"work": "Work",
"zelahQuote": "With [Habitica], I can be persuaded to go to bed on time by the thought of gaining points for an early night or losing health for a late one!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "Missing authentication headers.",
"missingAuthParams": "Missing authentication parameters.",
- "missingUsernameEmail": "Missing Login Name or email.",
+ "missingUsernameEmail": "Missing username or email.",
"missingEmail": "Missing email.",
- "missingUsername": "Missing Login Name.",
+ "missingUsername": "Missing username.",
"missingPassword": "Missing password.",
"missingNewPassword": "Missing new password.",
"invalidEmailDomain": "You cannot register with emails with the following domains: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "Invalid email address.",
"emailTaken": "Email address is already used in an account.",
"newEmailRequired": "Missing new email address.",
- "usernameTaken": "Login Name already taken.",
- "usernameWrongLength": "Login Name must be between 1 and 20 characters long.",
- "usernameBadCharacters": "Login Name must contain only letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "usernameTime": "It's time to set your username!",
+ "usernameInfo": "Your display name hasn't changed, but your old login name will now become your public username. This username will be used for invitations, @mentions in chat, and messaging.
If you'd like to learn more about this change, visit the wiki's Player Names page.",
+ "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.",
+ "usernameTaken": "Username already taken.",
+ "usernameWrongLength": "Username must be between 1 and 20 characters long.",
+ "displayNameWrongLength": "Display names must be between 1 and 30 characters long.",
+ "usernameBadCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "nameBadWords": "Names cannot include any inappropriate words.",
+ "confirmUsername": "Confirm Username",
+ "usernameConfirmed": "Username Confirmed",
"passwordConfirmationMatch": "Password confirmation doesn't match password.",
"invalidLoginCredentials": "Incorrect username and/or email and/or password.",
"passwordResetPage": "Reset Password",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Password Reset for Habitica",
"passwordResetEmailText": "If you requested a password reset for <%= username %> on Habitica, head to <%= passwordResetLink %> to set a new one. The link will expire after 24 hours. If you haven't requested a password reset, please ignore this email.",
"passwordResetEmailHtml": "If you requested a password reset for <%= username %> on Habitica, \">click here to set a new one. The link will expire after 24 hours.
If you haven't requested a password reset, please ignore this email.",
- "invalidLoginCredentialsLong": "Uh-oh - your email address / login name or password is incorrect.\n- Make sure they are typed correctly. Your login name 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": "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\".",
"invalidCredentials": "There is no account that uses those credentials.",
- "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 Profile Name.",
+ "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",
"unsupportedNetwork": "This network is not currently supported.",
"cantDetachSocial": "Account lacks another authentication method; can't detach this authentication method.",
@@ -295,7 +302,7 @@
"signUpWithSocial": "Sign up with <%= social %>",
"loginWithSocial": "Log in with <%= social %>",
"confirmPassword": "Confirm Password",
- "usernameLimitations": "Login Name must be 1 to 20 characters long, containing only letters a to z, or numbers 0 to 9, or hyphens, or underscores.",
+ "usernameLimitations": "Username must be 1 to 20 characters, containing only letters a to z, numbers 0 to 9, hyphens, or underscores, and cannot include any inappropriate terms.",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "Зареєструватися",
"getStarted": "Get Started",
"mobileApps": "Mobile Apps",
- "learnMore": "Learn More",
- "useMobileApps": "Habitica is not optimized for a mobile browser. We recommend downloading our mobile apps."
+ "learnMore": "Learn More"
}
\ No newline at end of file
diff --git a/website/common/locales/uk/gear.json b/website/common/locales/uk/gear.json
index 58222132cb..f6c67b9da3 100644
--- a/website/common/locales/uk/gear.json
+++ b/website/common/locales/uk/gear.json
@@ -266,6 +266,14 @@
"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. Two-handed item.",
+ "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.",
"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",
@@ -350,6 +358,10 @@
"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).",
"armor": "броня",
"armorCapitalized": "Armor",
"armorBase0Text": "Звичайний одяг",
@@ -592,6 +604,14 @@
"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.",
"armorMystery201402Text": "Мантія посланця",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Броня лісовика",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "Steampunk Suit",
"armorMystery301404Notes": "Dapper and dashing, wot! Confers no benefit. February 3015 Subscriber Item.",
"armorMystery301703Text": "Steampunk Peacock Gown",
@@ -754,6 +778,10 @@
"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).",
"headgear": "helm",
"headgearCapitalized": "Headgear",
"headBase0Text": "No Headgear",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn 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.",
"headMystery201402Text": "Крилатий шолом",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 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",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "off-hand item",
"offhandCapitalized": "Off-Hand Item",
"shieldBase0Text": "No Off-Hand Equipment",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn 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",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "Back Accessory",
"backCapitalized": "Back Accessory",
"backBase0Text": "No Back Accessory",
"backBase0Notes": "No Back Accessory.",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "Золоті крила",
"backMystery201402Notes": "These shining wings have feathers that glitter in the sun! Confers no benefit. February 2014 Subscriber Item.",
"backMystery201404Text": "Twilight Butterfly Wings",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
"backSpecialTurkeyTailBaseText": "Turkey Tail",
"backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "Body Accessory",
"bodyCapitalized": "Body Accessory",
"bodyBase0Text": "No Body Accessory",
@@ -1560,6 +1627,8 @@
"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.",
"headAccessoryArmoireComicalArrowText": "Comical Arrow",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "Eyewear",
"eyewearCapitalized": "Eyewear",
"eyewearBase0Text": "No Eyewear",
diff --git a/website/common/locales/uk/generic.json b/website/common/locales/uk/generic.json
index d8cce107f3..2eb095562d 100644
--- a/website/common/locales/uk/generic.json
+++ b/website/common/locales/uk/generic.json
@@ -71,6 +71,7 @@
"submit": "Надіслати",
"close": "Закрити",
"saveAndClose": "Зберегти",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "Скасувати",
"ok": "ОК",
"add": "Додати",
diff --git a/website/common/locales/uk/groups.json b/website/common/locales/uk/groups.json
index f56b4efddb..49084d920e 100644
--- a/website/common/locales/uk/groups.json
+++ b/website/common/locales/uk/groups.json
@@ -6,6 +6,7 @@
"innText": "You're resting in the Inn! While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day. Be warned: If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies unless they are also in the Inn! Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn.",
"innTextBroken": "You're resting in the Inn, I guess... While checked-in, your Dailies won't hurt you at the day's end, but they will still refresh every day... If you are participating in a Boss Quest, the Boss will still damage you for your Party mates' missed Dailies... unless they are also in the Inn... Also, your own damage to the Boss (or items collected) will not be applied until you check out of the Inn... so tired...",
"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",
"helpfulLinks": "Корисні посилання",
"communityGuidelinesLink": "Community Guidelines",
diff --git a/website/common/locales/uk/limited.json b/website/common/locales/uk/limited.json
index d916d9cf8d..7307ce1a75 100644
--- a/website/common/locales/uk/limited.json
+++ b/website/common/locales/uk/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "Lionfish Mage (Mage)",
"summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)",
"summer2018FisherRogueSet": "Fisher-Rogue (Rogue)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"dateEndMarch": "April 30",
"dateEndApril": "April 19",
@@ -132,6 +136,7 @@
"dateEndJune": "June 14",
"dateEndJuly": "July 31",
"dateEndAugust": "August 31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "October 31",
"dateEndNovember": "November 30",
"dateEndJanuary": "January 31",
diff --git a/website/common/locales/uk/messages.json b/website/common/locales/uk/messages.json
index 81b33b98cc..f8066703bb 100644
--- a/website/common/locales/uk/messages.json
+++ b/website/common/locales/uk/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "Not enough gems!",
"messageAuthPasswordMustMatch": ":password and :confirmPassword don't match",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirmPassword required",
- "messageAuthUsernameTaken": "Login Name already taken",
"messageAuthEmailTaken": "Email already taken",
"messageAuthNoUserFound": "No user found.",
"messageAuthMustBeLoggedIn": "You must be logged in.",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "Notification ids are required.",
"unallocatedStatsPoints": "Ви маєте <%= points %> нерозподілених Очків Характеристики",
- "beginningOfConversation": "This is the beginning of your conversation with <%= userName %>. Remember to be kind, respectful, and follow the Community Guidelines!"
+ "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."
}
\ No newline at end of file
diff --git a/website/common/locales/uk/questscontent.json b/website/common/locales/uk/questscontent.json
index 6ea4be1ace..570e20797c 100644
--- a/website/common/locales/uk/questscontent.json
+++ b/website/common/locales/uk/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/uk/settings.json b/website/common/locales/uk/settings.json
index b78c4ca5be..e58bb75c8e 100644
--- a/website/common/locales/uk/settings.json
+++ b/website/common/locales/uk/settings.json
@@ -54,13 +54,13 @@
"misc": "Усяке",
"showHeader": "Показати заголовок",
"changePass": "Змінити пароль",
- "changeUsername": "Змінити логін",
+ "changeUsername": "Change Username",
"changeEmail": "Змінити електронну адресу ",
"newEmail": "Нова електронна адреса ",
"oldPass": "Старий пароль",
"newPass": "Новий пароль",
"confirmPass": "Підтвердити новий пароль",
- "newUsername": "Новий логін",
+ "newUsername": "New Username",
"dangerZone": "Небезпечна зона",
"resetText1": "УВАГА! Це призведе до скидання багатьох частин вашого акаунта. Це вкрай небажано, але деякі люди вважають це корисним після гри з сайтом протягом короткого часу.",
"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.",
@@ -95,14 +95,15 @@
"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.",
"passwordSuccess": "Пароль успішно змінено",
- "usernameSuccess": "Логін успішно змінений",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "Email успішно змінено",
"detachSocial": "De-register <%= network %>",
"detachedSocial": "Successfully removed <%= network %> authentication from your account",
"addedLocalAuth": "Successfully added local authentication",
"data": "Дані",
"exportData": "Експортувати Дані",
- "usernameOrEmail": "Логін або Email",
+ "usernameOrEmail": "Username or Email",
"email": "електронна адреса ",
"registerWithSocial": "Зарегеструйтеся з <%= network %>",
"registeredWithSocial": "Registered with <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "Display Invite To Party button when party has 1 member.",
"saveCustomDayStart": "Save Custom Day Start",
"registration": "Registration",
- "addLocalAuth": "Add local authentication:",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "Generate Codes",
"generate": "Generate",
"getCodes": "Отримати коди",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica uses the time zone set on your PC, which is: <%= utc %>",
"timezoneInfo": "If that time zone is wrong, first reload this page using your browser's reload or refresh button to ensure that Habitica has the most recent information. If it is still wrong, adjust the time zone on your PC and then reload this page again.
If you use Habitica on other PCs or mobile devices, the time zone must be the same on them all. If your Dailies have been resetting at the wrong time, repeat this check on all other PCs and on a browser on your mobile devices.",
"push": "Push",
- "about": "About"
+ "about": "About",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/uk/subscriber.json b/website/common/locales/uk/subscriber.json
index 85ad99b401..cce9baa277 100644
--- a/website/common/locales/uk/subscriber.json
+++ b/website/common/locales/uk/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "Steampunk Standard Set",
"mysterySet301405": "Steampunk Accessories Set",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/zh/backgrounds.json b/website/common/locales/zh/backgrounds.json
index 6169e3abdb..438ab3deed 100644
--- a/website/common/locales/zh/backgrounds.json
+++ b/website/common/locales/zh/backgrounds.json
@@ -367,11 +367,25 @@
"backgroundDilatoryCityNotes": "在海底的拖延城漫步吧",
"backgroundTidePoolText": "潮汐水池",
"backgroundTidePoolNotes": "在潮汐水池旁观察海洋生物吧",
- "backgrounds082018": "SET 51: Released August 2018",
- "backgroundTrainingGroundsText": "Training Grounds",
- "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.",
- "backgroundFlyingOverRockyCanyonText": "Rocky Canyon",
- "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.",
- "backgroundBridgeText": "Bridge",
- "backgroundBridgeNotes": "Cross a charming Bridge."
+ "backgrounds082018": "第51组:2018年8月推出",
+ "backgroundTrainingGroundsText": "训练场地",
+ "backgroundTrainingGroundsNotes": "在训练场地中练习。",
+ "backgroundFlyingOverRockyCanyonText": "岩石峡谷",
+ "backgroundFlyingOverRockyCanyonNotes": "当您飞越岩石峡谷时,俯视一个令人惊叹的风景。",
+ "backgroundBridgeText": "桥",
+ "backgroundBridgeNotes": "通过拥有迷人风景的桥",
+ "backgrounds092018": "SET 52: 2018年9月发布",
+ "backgroundApplePickingText": "摘苹果",
+ "backgroundApplePickingNotes": "去摘苹果然后满载而归",
+ "backgroundGiantBookText": "鸿篇巨著",
+ "backgroundGiantBookNotes": "慢慢浏览这部鸿篇巨著",
+ "backgroundCozyBarnText": "舒适的谷仓",
+ "backgroundCozyBarnNotes": "与你的宠物和坐骑在舒适的谷仓放松。",
+ "backgrounds102018": "第53组:2018年10月推出",
+ "backgroundBayouText": "黑暗河口",
+ "backgroundBayouNotes": "沐浴在萤火虫的光芒中的朦胧的河口上。",
+ "backgroundCreepyCastleText": "恐怖城堡",
+ "backgroundCreepyCastleNotes": "勇气十足的接近一个令人毛骨悚然的城堡。",
+ "backgroundDungeonText": "地牢",
+ "backgroundDungeonNotes": "拯救一个幽灵地牢的囚犯。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/character.json b/website/common/locales/zh/character.json
index aafad04fbc..6b09482443 100644
--- a/website/common/locales/zh/character.json
+++ b/website/common/locales/zh/character.json
@@ -8,6 +8,8 @@
"other": "其他",
"fullName": "全名",
"displayName": "显示名",
+ "changeDisplayName": "更改显示名",
+ "newDisplayName": "新显示名",
"displayPhoto": "图片",
"displayBlurb": "简述",
"displayBlurbPlaceholder": "请介绍你自己",
@@ -181,7 +183,7 @@
"lostMana": "你使用了一些魔法",
"lostHealth": "你损失了一些生命值",
"lostExperience": "你失去了一些经验值",
- "displayNameDescription1": "这将会与显示在您人物形象上的部分一起显示在你发布在酒馆,工会,和队伍两天的消息中.想要修改的话,点击上面的编辑按钮.如果你想要修改登录名称,到",
+ "displayNameDescription1": "这就是你发布在酒馆或公会的帖子以及队伍聊天中所显示的内容,同时也会显示你的角色形象。需要修改的话,点击上面的编辑按钮。如果你想要修改用户名,到",
"displayNameDescription2": "设置->站点",
"displayNameDescription3": "并查看注册部分。",
"unequipBattleGear": "卸除战斗装备",
@@ -204,6 +206,7 @@
"hideQuickAllocation": "隐藏属性分配的状态",
"quickAllocationLevelPopover": "每一级您都可以获得一个可自由分配的属性点。你可以手动分配,也可以在用户图标 -> 状态界面中选择让系统为你自动分配。",
"notEnoughAttrPoints": "您没有足够的属性点数。",
+ "classNotSelected": "在分配属性点之前您必须选择职业。",
"style": "风格",
"facialhair": "面部",
"photo": "图片",
diff --git a/website/common/locales/zh/content.json b/website/common/locales/zh/content.json
index 91dfd06189..d09db5498c 100644
--- a/website/common/locales/zh/content.json
+++ b/website/common/locales/zh/content.json
@@ -172,10 +172,13 @@
"questEggSquirrelAdjective": "a bushy-tailed",
"questEggSeaSerpentText": "海蛇",
"questEggSeaSerpentMountText": "海蛇",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
+ "questEggSeaSerpentAdjective": "一个闪闪发光的",
+ "questEggKangarooText": "袋鼠",
+ "questEggKangarooMountText": "袋鼠",
"questEggKangarooAdjective": "a keen",
+ "questEggAlligatorText": "鳄鱼",
+ "questEggAlligatorMountText": "鳄鱼",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "将一瓶孵化药水倒在这个宠物蛋上,你就能孵化出一只<%= eggAdjective(locale) %><%= eggText(locale) %>。",
"hatchingPotionBase": "普通",
"hatchingPotionWhite": "白色",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "星夜",
"hatchingPotionRainbow": "彩虹",
"hatchingPotionGlass": "玻璃",
+ "hatchingPotionGlow": "Glow-in-the-Dark",
"hatchingPotionNotes": "把它倒在宠物蛋上可以孵化出一只<%= potText(locale) %>宠物。",
"premiumPotionAddlNotes": "无法在任务奖励宠物蛋上使用",
"foodMeat": "肉",
diff --git a/website/common/locales/zh/front.json b/website/common/locales/zh/front.json
index ed897d37c9..b0d0dd075b 100644
--- a/website/common/locales/zh/front.json
+++ b/website/common/locales/zh/front.json
@@ -212,7 +212,7 @@
"unlockHeadline": "当你保持生产,你会解锁新内容哦!",
"useUUID": "用户ID / API令牌 (面向 Facebook 用户)",
"username": "登录名",
- "emailOrUsername": "电子邮件或登录名(区分大小写)",
+ "emailOrUsername": "电子邮箱或登录名(区分大小写)",
"watchVideos": "观看视频",
"work": "工作",
"zelahQuote": "因为 [Habitica] 的帮助,我能够准时上床休息了,因为我老想着早睡能挣经验,晚睡会掉血!",
@@ -259,9 +259,9 @@
"altAttrSlack": "Slack",
"missingAuthHeaders": "丢失认证头文件。",
"missingAuthParams": "丢失认证参数。",
- "missingUsernameEmail": "缺少用户名或邮箱。",
+ "missingUsernameEmail": "缺少登录名或邮箱。",
"missingEmail": "缺少电子邮件地址。",
- "missingUsername": "缺少用户名。",
+ "missingUsername": "缺少登录名。",
"missingPassword": "缺少密码。",
"missingNewPassword": "缺少新密码。",
"invalidEmailDomain": "你不能使用下列邮件供应商提供的邮箱注册 Habitica: <%= domains %>",
@@ -270,9 +270,16 @@
"notAnEmail": "无效的电子邮件地址。",
"emailTaken": "邮件地址已经在现有账号中存在",
"newEmailRequired": "缺少新的邮件地址",
- "usernameTaken": "登录用户名已被使用",
- "usernameWrongLength": "用户登录名的长度必须在1至20个字符之间。",
- "usernameBadCharacters": "用户登陆名只能含有字母a至z,数字0至9,连字符,或者下划线。",
+ "usernameTime": "是时候设置你的登录名啦!",
+ "usernameInfo": "您的显示名未更改,但您的旧登录名现在将成为您的公共登录名。 此新登录名将用于邀请,聊天中的@和消息。
如果您想了解有关此更改的更多信息,请访问wiki的角色姓名页面。",
+ "usernameTOSRequirements": "登录名必须符合我们的服务条款和社区准则。 如果您之前未设置登录名,则我们会自动生成您的登录名。",
+ "usernameTaken": "登录名已被使用。",
+ "usernameWrongLength": "登录名的长度必须在1至20个字符之间。",
+ "displayNameWrongLength": "角色名的长度必须在1至30个字符之间。",
+ "usernameBadCharacters": "登录名只能含有字母a至z,数字0至9,连字符,或者下划线。",
+ "nameBadWords": "名称不能包含任何不恰当的字句。",
+ "confirmUsername": "确认登录名",
+ "usernameConfirmed": "登录名已确认",
"passwordConfirmationMatch": "密码不匹配",
"invalidLoginCredentials": "错误的用户名 和/或 电子邮件 和/或 密码。",
"passwordResetPage": "重置密码",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "Habitica的密码重置",
"passwordResetEmailText": "如果你在Habitica的用户 <%= username %> 希望重置密码,请前往<%= passwordResetLink %>去设置一个新的密码。这个链接会在24小时后到期。如果你没有请求重置密码,请忽略这封邮件。",
"passwordResetEmailHtml": "如果你在Habitica的用户 <%= username %> 希望重置密码,\">点击这里 去设置一个新的密码。这个链接会在24小时后到期。
如果你没有请求重置密码,请忽略这封邮件。",
- "invalidLoginCredentialsLong": "噢,糟了 - 你的用户名或密码错误。\n- 确保你的用户名或电子邮箱输入正确。\n- 你可能使用Facebook登记,而不是电子邮箱。再次检查尝试用Facebook登陆。\n- 如果你忘记了密码,点击 \"忘记密码\"。",
+ "invalidLoginCredentialsLong": "噢,糟了 - 您的电子邮箱/登录名或密码错误。\n- 确保您的用户名或电子邮箱输入正确。您的登录名和密码注意区分大小写。\n- 您可能使用Facebook或Google登录,而不是电子邮箱,所以再次检查尝试用Facebook或Google登陆。\n- 如果您忘记了密码,点击 \"忘记密码\"。",
"invalidCredentials": "没有运用那些授权证书的账号。",
- "accountSuspended": "该帐户,用户ID为“<%= userId %>”因违反[社区准则](https://habitica.com/static/community-guidelines)或[服务条款](https://habitica.com/static/terms)已被冻结。有关详细信息或要求解除封禁,请发送电子邮件给我们的社区管理员<%= communityManagerEmail %> 或要求您的家长或监护人通过电子邮件发送。 请将您的用户ID复制到电子邮件中并包含您的角色信息。",
+ "accountSuspended": "该帐户,用户ID为“<%= userId %>”因违反[社区准则](https://habitica.com/static/community-guidelines)或[服务条款](https://habitica.com/static/terms)已被冻结。有关详细信息或要求解除封禁,请发送电子邮件给我们的社区管理员<%= communityManagerEmail %> 或要求您的家长或监护人通过电子邮件发送。 请将您的用户ID复制到电子邮件中并包含您的登录名。",
"accountSuspendedTitle": "账户已被暂停使用",
"unsupportedNetwork": "当前网络不支持。",
"cantDetachSocial": "帐户缺少另一个认证方式;无法分离此认证方式。",
@@ -295,7 +302,7 @@
"signUpWithSocial": "使用<%= social %>注册",
"loginWithSocial": "使用<%= social %>登陆",
"confirmPassword": "确认密码",
- "usernameLimitations": "用户登陆名的长度必须在1至20个字符之间,只含有字母a至z,或数字0至9,或连字符,或下划线。",
+ "usernameLimitations": "登录名的长度必须在1至20个字符之间,只含有字母a至z,数字0至9,连字符,或下划线,并且不能包含任何不适当的条款。",
"usernamePlaceholder": "例如HabitRabbit",
"emailPlaceholder": "例如rabbit@example.com",
"passwordPlaceholder": "例如哔——",
@@ -329,6 +336,5 @@
"signup": "注册",
"getStarted": "现在加入我们!",
"mobileApps": "手机客户端",
- "learnMore": "了解更多",
- "useMobileApps": "Habitica并不适合在移动网页端使用。我们建议您下载我们的手机APP。"
+ "learnMore": "了解更多"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/gear.json b/website/common/locales/zh/gear.json
index 8ccd920b05..3a7c142b92 100644
--- a/website/common/locales/zh/gear.json
+++ b/website/common/locales/zh/gear.json
@@ -266,6 +266,14 @@
"weaponSpecialSummer2018MageNotes": "水下使用,魔力基于火,冰或电会对操纵它的法师产生伤害。但是,变幻出的毒刺作用出色!增加 <%= int %> 点智力和 <%= per %>点感知。2018年夏季限量版装备。",
"weaponSpecialSummer2018HealerText": "人鱼王的三叉戟",
"weaponSpecialSummer2018HealerNotes": "你用仁慈的手势指挥着治愈之水的波涛流过你的领土。增加 <%= int %>点智力。2018年夏季限量版装备。",
+ "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. Two-handed item.",
+ "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.",
"weaponMystery201411Text": "盛宴之叉",
"weaponMystery201411Notes": "刺伤你的仇敌或是插进你最爱的食物——这把多才多艺的叉子可是无所不能!没有属性加成。2014年11月捐助者物品。",
"weaponMystery201502Text": "爱与真理之微光翅膀法杖",
@@ -348,8 +356,12 @@
"weaponArmoireGlassblowersBlowpipeNotes": "用这只吹管把融化的玻璃吹成漂亮的花瓶、装饰品和其他的漂亮的东西。增加 <%= str %> 点力量。魔法衣橱:玻璃吹制工套装(4件套的第1件)",
"weaponArmoirePoisonedGobletText": "有毒的高脚杯",
"weaponArmoirePoisonedGobletNotes": "用它来抵抗有毒粉末及其他不可思议的危险毒药。增加 <%= int %>点智力。魔法衣橱:海盗公主套装(4件套中的第3件)",
- "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).",
+ "weaponArmoireJeweledArcherBowText": "阿切尔宝石弓",
+ "weaponArmoireJeweledArcherBowNotes": "这把黄金和宝石制成的弓会以无以伦比的速度将你的箭射向目标。提升智力<%= int %>点。魔法衣橱:宝石弓箭手套装(3件中的第3件)。",
+ "weaponArmoireNeedleOfBookbindingText": "装订针",
+ "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).",
"armor": "护甲",
"armorCapitalized": "护甲",
"armorBase0Text": "普通服装",
@@ -592,6 +604,14 @@
"armorSpecialSummer2018MageNotes": "毒液魔法素以不易察觉闻名。这个色彩斑斓的护甲并非如此,它向猛兽般的任务传递的信息很明确:当心!增加 <%= int %>点智力。2018年夏季限定装备。",
"armorSpecialSummer2018HealerText": "人鱼王的长袍",
"armorSpecialSummer2018HealerNotes": "这些天蓝色的法衣透露着你有可以在陆地上行走的双脚。哪怕是君王也不可能是完美的。增加 <%= con %>点体质。2018年夏季限定装备。",
+ "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.",
"armorMystery201402Text": "使者长袍",
"armorMystery201402Notes": "闪闪发光又强大,这些衣服有很多携带信件的口袋。没有赋予好处。2014年2月订阅者物品。",
"armorMystery201403Text": "森林行者护甲",
@@ -660,6 +680,10 @@
"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.",
"armorMystery301404Text": "蒸汽朋克套装",
"armorMystery301404Notes": "整洁又精神,真聪明!没有属性加成。3015年2月订阅者物品",
"armorMystery301703Text": "蒸汽朋克孔雀装礼服",
@@ -754,6 +778,10 @@
"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).",
"headgear": "头饰",
"headgearCapitalized": "头饰",
"headBase0Text": "没有头盔",
@@ -996,6 +1024,14 @@
"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.",
+ "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",
+ "headSpecialFall2018WarriorNotes": "This fearsome mask shows you can really take your tasks by the horns! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018MageText": "Candymancer's Hat",
+ "headSpecialFall2018MageNotes": "This pointy hat is imbued with powerful spells of sweetness. Careful, if it gets wet it may become sticky! Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.",
+ "headSpecialFall2018HealerText": "Ravenous Helm",
+ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.",
"headSpecialGaymerxText": "彩虹战士头盔",
"headSpecialGaymerxNotes": "为了庆祝GaymerX会议的召开,这个特殊的头盔i带有炫目多彩的发光彩虹图样!GaymerX是一个向所有人开放并声援LGBTQ的游戏集会。",
"headMystery201402Text": "翼盔",
@@ -1070,6 +1106,10 @@
"headMystery201806Notes": "The mesmerizing light atop this helm will call all the creatures of the sea to your side. We urge you to use your glowy powers of attraction for good! Confers no benefit. June 2018 Subscriber Item.",
"headMystery201807Text": "Sea Serpent Helm",
"headMystery201807Notes": "The strong scales on this helm will protect you from any manner of oceanic foe. Confers no benefit. July 2018 Subscriber Item.",
+ "headMystery201808Text": "Lava Dragon Cowl",
+ "headMystery201808Notes": "The glowing horns on this cowl will light your way through underground caverns. Confers no benefit. August 2018 Subscriber Item.",
+ "headMystery201809Text": "Crown of Autumn Flowers",
+ "headMystery201809Notes": "The last flowers of autumn's warm days are a reminder of the beauty of the season. Confers no benefit. September 2018 Subscriber Item.",
"headMystery301404Text": "华丽礼帽",
"headMystery301404Notes": "上流社会佼佼者的华丽礼帽!3015年1月捐赠者物品。没有属性加成。",
"headMystery301405Text": "基础礼帽",
@@ -1174,6 +1214,8 @@
"headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
"headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
"headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
+ "headArmoireVeilOfSpadesText": "Veil of Spades",
+ "headArmoireVeilOfSpadesNotes": "A shadowy and mysterious veil that will boost your stealth. Increases Perception by <%= per %>. Enchanted Armoire: Ace of Spades Set (Item 1 of 3).",
"offhand": "副手物品",
"offhandCapitalized": "副手物品",
"shieldBase0Text": "没有副手装备",
@@ -1328,6 +1370,12 @@
"shieldSpecialSummer2018WarriorNotes": "Fashioned from stone, this fearsome skull-styled shield strikes fear into fish foes while rallying your Skeleton pets and mounts. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
"shieldSpecialSummer2018HealerText": "Merfolk Monarch Emblem",
"shieldSpecialSummer2018HealerNotes": "This shield can produce a dome of air for the benefit of land-dwelling visitors to your watery realm. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.",
+ "shieldSpecialFall2018RogueText": "Vial of Temptation",
+ "shieldSpecialFall2018RogueNotes": "This bottle represents all the distractions and troubles that keep you from being your best self. Resist! We're cheering for you! Increases Strength by <%= str %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018WarriorText": "Brilliant Shield",
+ "shieldSpecialFall2018WarriorNotes": "Super shiny to dissuade any troublesome Gorgons from playing peek-a-boo around the corners! Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
+ "shieldSpecialFall2018HealerText": "Hungry Shield",
+ "shieldSpecialFall2018HealerNotes": "With its wide-open maw, this shield will absorb all your enemies' blows. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.",
"shieldMystery201601Text": "决心屠戮者",
"shieldMystery201601Notes": "这把剑能挡开所有的干扰。没有属性加成。2016年1月订阅者物品。",
"shieldMystery201701Text": "冻结时间之盾",
@@ -1390,10 +1438,13 @@
"shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
"shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
"shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
+ "shieldArmoireUnfinishedTomeText": "Unfinished Tome",
+ "shieldArmoireUnfinishedTomeNotes": "You simply can't procrastinate when you're holding this! The binding needs to be finished so people can read the book! Increases Intelligence by <%= int %>. Enchanted Armoire: Bookbinder Set (Item 4 of 4).",
"back": "背部挂件",
"backCapitalized": "背部挂件",
"backBase0Text": "没有背部挂件",
"backBase0Notes": "没有背部挂件。",
+ "animalTails": "Animal Tails",
"backMystery201402Text": "黄金之翼",
"backMystery201402Notes": "这双耀眼的翅膀上的羽毛在阳光下闪闪发光!没有属性加成。2014年2月捐赠者物品。",
"backMystery201404Text": "薄暮蝶翼",
@@ -1438,6 +1489,22 @@
"backSpecialAetherCloakNotes": "这件斗篷曾经属于迷失的大法师。增加感知<%= per %>点。",
"backSpecialTurkeyTailBaseText": "火鸡之尾",
"backSpecialTurkeyTailBaseNotes": "在庆祝时记得穿上这条高贵的火鸡尾巴! 没有属性加成。",
+ "backBearTailText": "Bear Tail",
+ "backBearTailNotes": "This tail makes you look like a brave bear! Confers no benefit.",
+ "backCactusTailText": "Cactus Tail",
+ "backCactusTailNotes": "This tail makes you look like a prickly cactus! Confers no benefit.",
+ "backFoxTailText": "Fox Tail",
+ "backFoxTailNotes": "This tail makes you look like a wily fox! Confers no benefit.",
+ "backLionTailText": "Lion Tail",
+ "backLionTailNotes": "This tail makes you look like a regal lion! Confers no benefit.",
+ "backPandaTailText": "Panda Tail",
+ "backPandaTailNotes": "This tail makes you look like a gentle panda! Confers no benefit.",
+ "backPigTailText": "Pig Tail",
+ "backPigTailNotes": "This tail makes you look like a whimsical pig! Confers no benefit.",
+ "backTigerTailText": "Tiger Tail",
+ "backTigerTailNotes": "This tail makes you look like a fierce tiger! Confers no benefit.",
+ "backWolfTailText": "Wolf Tail",
+ "backWolfTailNotes": "This tail makes you look like a loyal wolf! Confers no benefit.",
"body": "身体配件",
"bodyCapitalized": "身体挂件",
"bodyBase0Text": "没有身体配件",
@@ -1560,6 +1627,8 @@
"headAccessoryMystery301405Notes": "“护目镜是戴在眼睛上的,”人们说。“没有人会想要一副只能戴在头上的护目镜。”人们说。哈!你果然让他们长见识了!没有增益效果。3015年8月捐赠者物品。",
"headAccessoryArmoireComicalArrowText": "滑稽的箭",
"headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryArmoireGogglesOfBookbindingText": "Goggles of Bookbinding",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "These goggles will help you zero in on any task, large or small! Increases Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 1 of 4).",
"eyewear": "眼镜",
"eyewearCapitalized": "眼镜",
"eyewearBase0Text": "没有眼镜",
diff --git a/website/common/locales/zh/generic.json b/website/common/locales/zh/generic.json
index 20606546eb..850353128f 100644
--- a/website/common/locales/zh/generic.json
+++ b/website/common/locales/zh/generic.json
@@ -71,6 +71,7 @@
"submit": "提交",
"close": "关闭",
"saveAndClose": "保存并关闭",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "取消",
"ok": "好的",
"add": "添加",
@@ -122,8 +123,8 @@
"error": "错误",
"menu": "菜单",
"notifications": "通知",
- "noNotifications": "You're all caught up!",
- "noNotificationsText": "The notification fairies give you a raucous round of applause! Well done!",
+ "noNotifications": "您全部都完成了!",
+ "noNotificationsText": "小信使仙女们围着你欢快得鼓起了热烈的掌声!恭喜,做得太棒了!",
"clear": "清除",
"endTour": "结束教程",
"audioTheme": "声音主题",
diff --git a/website/common/locales/zh/groups.json b/website/common/locales/zh/groups.json
index 81963da260..6b42ac7e5f 100644
--- a/website/common/locales/zh/groups.json
+++ b/website/common/locales/zh/groups.json
@@ -6,6 +6,7 @@
"innText": "你正在酒馆中休息!当你在酒馆中时,你没完成的每日任务不会在一天结束时对你造成伤害,但是它们仍然会每天刷新。注意:如果你正在参与一个Boss战任务,你仍然会因为队友未完成的每日任务受到boss的伤害!同样,你对Boss的伤害(或者收集的道具)在你离开客栈之前不会结算。",
"innTextBroken": "我想……你正在客酒馆中休息。入住酒馆以后,你的每日任务不会在每天结束时因为没完成而减少你的生命值,但它们仍然会每天刷新。但如果你正在参与一场BOSS战,怪物仍然会因为你所在队伍中的队友没完成每日任务而攻击到你,除非你的队友也在酒馆中休息。同样,你对怪物的伤害(或是收集的道具)在从客栈离开前页不会结算。唉好累啊……",
"innCheckOutBanner": "您目前已入住客栈。 你的每日任务不会对你造成伤害,你也不会在任务中取得进度。",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
"resumeDamage": "继续伤害",
"helpfulLinks": "有帮助的链接",
"communityGuidelinesLink": "社区准则",
@@ -138,10 +139,10 @@
"PMEnabledOptPopoverText": "私信功能已被开启,其他用户可以用你的主页联系到你。",
"PMDisabledOptPopoverText": "私信功能已被关闭,开启这项功能可以使其他用户用你的主页联系到你。",
"PMDisabledCaptionTitle": "私信功能已关闭",
- "PMDisabledCaptionText": "You can still send messages, but no one can send them to you.",
+ "PMDisabledCaptionText": "您仍然可以发送消息,但是没有人可以给您发送消息。",
"block": "阻止",
"unblock": "解锁",
- "blockWarning": "Block - This will have no effect if the player is a moderator now or becomes a moderator in future.",
+ "blockWarning": "屏蔽-如果角色现在是管理员或将来会成为管理员,此功能将无效。",
"pm-reply": "发送回复",
"inbox": "收件箱",
"messageRequired": "请填写信息",
@@ -256,7 +257,7 @@
"confirmApproval": "你肯定你要批准這個任务?",
"confirmNeedsWork": "您确定要将此任务标记为需要处理吗?",
"userRequestsApproval": "<%= userName %>的请求被肯定了",
- "userCountRequestsApproval": "<%= userCount %> members request approval",
+ "userCountRequestsApproval": "<%= userCount %>位成员的要求被批准",
"youAreRequestingApproval": "你在等待请求被肯定",
"chatPrivilegesRevoked": "您不能发送消息因为您的聊天权利已被撤销。",
"cannotCreatePublicGuildWhenMuted": "您不能创建一个公共的工会因为您的聊天权利已被撤销。",
@@ -381,7 +382,7 @@
"bronzeTier": "铜奖",
"privacySettings": "隐私设置",
"onlyLeaderCreatesChallenges": "只有公会会长能创建挑战",
- "onlyLeaderCreatesChallengesDetail": "With this option selected, ordinary group members cannot create Challenges for the group.",
+ "onlyLeaderCreatesChallengesDetail": "选择此选项后,普通组成员无法为该团队创建挑战。",
"privateGuild": "私人公会",
"charactersRemaining": "<%= characters %>剩余字符",
"guildSummary": "概要",
diff --git a/website/common/locales/zh/limited.json b/website/common/locales/zh/limited.json
index 2ec31c70f4..ab29cf14f3 100644
--- a/website/common/locales/zh/limited.json
+++ b/website/common/locales/zh/limited.json
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "狮子鱼法师(法师)",
"summer2018MerfolkMonarchSet": "人鱼王(医师)",
"summer2018FisherRogueSet": "渔夫盗贼(盗贼)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "在<%= date(locale) %>前可购买。",
"dateEndMarch": "4月30日",
"dateEndApril": "4月19日",
@@ -132,6 +136,7 @@
"dateEndJune": "6月14日",
"dateEndJuly": "7月31日",
"dateEndAugust": "8月31日",
+ "dateEndSeptember": "9月21日",
"dateEndOctober": "10月31日",
"dateEndNovember": "11月30日",
"dateEndJanuary": "1月31日",
diff --git a/website/common/locales/zh/messages.json b/website/common/locales/zh/messages.json
index a62665d14b..320181b472 100644
--- a/website/common/locales/zh/messages.json
+++ b/website/common/locales/zh/messages.json
@@ -38,7 +38,6 @@
"messageInsufficientGems": "宝石不够了!",
"messageAuthPasswordMustMatch": "密码不匹配",
"messageAuthCredentialsRequired": "需要输入用户名,邮箱,密码和确认密码",
- "messageAuthUsernameTaken": "登录用户名已被使用",
"messageAuthEmailTaken": "邮箱已被使用",
"messageAuthNoUserFound": "没有找到这个用户",
"messageAuthMustBeLoggedIn": "你必须登入",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "这件物品不能以大于1的数量购买。",
"notificationsRequired": "需要Notification ids",
"unallocatedStatsPoints": "你有<%= points %>没分配的属性点",
- "beginningOfConversation": "现在开始和<%= userName %>愉快的聊天吧!记住要善待和尊重他人并遵守社区准则!"
+ "beginningOfConversation": "现在开始和<%= userName %>愉快的聊天吧!记住要善待和尊重他人并遵守社区准则!",
+ "messageDeletedUser": "抱歉,此用户已删除其帐户。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/questscontent.json b/website/common/locales/zh/questscontent.json
index 5712c89c6c..d75fb832e0 100644
--- a/website/common/locales/zh/questscontent.json
+++ b/website/common/locales/zh/questscontent.json
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/settings.json b/website/common/locales/zh/settings.json
index d12d910ea0..5b2a5f0fa4 100644
--- a/website/common/locales/zh/settings.json
+++ b/website/common/locales/zh/settings.json
@@ -54,13 +54,13 @@
"misc": "其他",
"showHeader": "显示顶部",
"changePass": "修改密码",
- "changeUsername": "更改登陆名",
+ "changeUsername": "更改登录名",
"changeEmail": "更改邮箱地址",
"newEmail": "新的邮箱地址",
"oldPass": "旧密码",
"newPass": "新密码",
"confirmPass": "确认新密码",
- "newUsername": "新的登录名",
+ "newUsername": "新登录名",
"dangerZone": "危险区域",
"resetText1": "警告!这会重置你角色的许多数值。强烈不建议你这样做。不过,在短暂的试玩一段时间后,进行重置或许会有所帮助。",
"resetText2": "将丢失级别、金币、经验信息;永久删除所有任务及其历史记录(除挑战外);丢失所有装备,包括限定装备和捐赠获得的神秘装备(重置后仍可购买获得,职业装备仍需达到级别才能重新购买);同时保持当前职业,拥有宠物和坐骑。你可能需要另一种方案,如果使用重生球任务与装备不会丢失。",
@@ -95,14 +95,15 @@
"invalidPasswordResetCode": "提供的密码重置代码无效或已过期。",
"passwordChangeSuccess": "您的密码已成功更改为您刚才选择的。您现在可以使用它来访问您的帐户。",
"passwordSuccess": "密码修改成功",
- "usernameSuccess": "登陆名更改成功",
+ "usernameSuccess": "登录名更改成功",
+ "displayNameSuccess": "角色名更改成功",
"emailSuccess": "邮箱修改成功",
"detachSocial": "去登记 <%= network %>",
"detachedSocial": "成功的移除了来自你的账号 <%= network %> 的认证",
"addedLocalAuth": "成功加入本地端认证",
"data": "数据",
"exportData": "导出数据",
- "usernameOrEmail": "登录用户名或者邮箱",
+ "usernameOrEmail": "登录名或电子邮箱",
"email": "邮箱",
"registerWithSocial": "注册 <%= network %>",
"registeredWithSocial": "注册 <%= network %>",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "当队伍有1名成员时显示“邀请至队伍”",
"saveCustomDayStart": "保存自定义起始日期设定",
"registration": "注册",
- "addLocalAuth": "添加本地认证",
+ "addLocalAuth": "添加电子邮箱和密码登录",
"generateCodes": "生成代码",
"generate": "生成",
"getCodes": "获取代码",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica直接引用你电脑上的时区设置:<%= utc %>",
"timezoneInfo": "如果那个时区是错误的,首先用你浏览器的重载或刷新按钮重载这个页面以确保Habitica有最新的信息。如果还是不行,调整你电脑上的时区然后再次重载页面。
如果你在其他电脑或移动设备上使用Habitica,它们上的时区必须是一样的才行。如果你的每日任务已经在错误的时间被重置,在你所有其他的电脑和你移动设备的一个浏览器上重复这个检查。",
"push": "推",
- "about": "关于"
+ "about": "关于",
+ "setUsernameNotificationTitle": "确认你的登录名!",
+ "setUsernameNotificationBody": "我们很快就会将登录名转换为唯一的公共登录名。 此用户名将用于邀请,聊天中的@和消息。",
+ "usernameIssueSlur": "登录名不得含有不恰当的语言。",
+ "usernameIssueForbidden": "登录名不得含有限制词。",
+ "usernameIssueLength": "登录名的长度必须在1至20个字符之间。",
+ "usernameIssueInvalidCharacters": "登陆名只能含有字母a至z,数字0至9,连字符,或者下划线。",
+ "currentUsername": "现在的登录名:",
+ "displaynameIssueLength": "用户名的长度必须在1至30个字符之间。",
+ "displaynameIssueSlur": "角色名不得含有不恰当的语言。",
+ "goToSettings": "前往设置。",
+ "usernameVerifiedConfirmation": "您的登录名,<%= username %>,已确认!",
+ "usernameNotVerified": "请确认您的登录名。",
+ "changeUsernameDisclaimer": "我们很快就会将登录名转换为唯一的公共登录名。 此用户名将用于邀请,聊天中的提到他人的@和消息。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh/subscriber.json b/website/common/locales/zh/subscriber.json
index 6b89acfa57..cfeec0ee84 100644
--- a/website/common/locales/zh/subscriber.json
+++ b/website/common/locales/zh/subscriber.json
@@ -146,6 +146,8 @@
"mysterySet201805": "华丽孔雀套装",
"mysterySet201806": "迷人琵琶鱼套装",
"mysterySet201807": "海蛇套装",
+ "mysterySet201808": "熔岩龙套装",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "蒸汽朋克标准套装",
"mysterySet301405": "蒸汽朋克配饰套装",
"mysterySet301703": "孔雀蒸汽朋克套装",
diff --git a/website/common/locales/zh_TW/backgrounds.json b/website/common/locales/zh_TW/backgrounds.json
index d71604fce4..80478c31b7 100644
--- a/website/common/locales/zh_TW/backgrounds.json
+++ b/website/common/locales/zh_TW/backgrounds.json
@@ -214,7 +214,7 @@
"backgroundStormyRooftopsNotes": "爬上陰雲密布的屋頂。",
"backgroundWindyAutumnText": "風之秋",
"backgroundWindyAutumnNotes": "在風之秋中追逐落葉。",
- "incentiveBackgrounds": "簡樸的的背景套組",
+ "incentiveBackgrounds": "樸素的的背景套組",
"backgroundVioletText": "紫色",
"backgroundVioletNotes": "一個鮮豔的紫色背景",
"backgroundBlueText": "藍色",
@@ -289,7 +289,7 @@
"backgroundDesertDunesText": "沙漠之丘",
"backgroundDesertDunesNotes": "在沙漠之丘無畏探索。",
"backgroundSummerFireworksText": "夏季煙火",
- "backgroundSummerFireworksNotes": "伴隨夏季煙火慶祝Habitica的命名日!",
+ "backgroundSummerFireworksNotes": "利用夏日煙火來歡慶 Habitica 命名節!",
"backgrounds092017": "第 40 組: 2017 年 9 月推出",
"backgroundBesideWellText": "在古井邊",
"backgroundBesideWellNotes": "在古井邊散步。",
@@ -367,11 +367,25 @@
"backgroundDilatoryCityNotes": "漫步在海底中的慢吞吞城市。",
"backgroundTidePoolText": "潮汐池",
"backgroundTidePoolNotes": "在潮汐池邊發現了許許多多的海洋生物!!",
- "backgrounds082018": "第51組:2018八月推出",
+ "backgrounds082018": "第 51 組: 2018 年 8 月推出",
"backgroundTrainingGroundsText": "訓練廣場",
- "backgroundTrainingGroundsNotes": "訓練廣場上的水晶",
+ "backgroundTrainingGroundsNotes": "訓練廣場上的鬥爭。",
"backgroundFlyingOverRockyCanyonText": "巨石峽谷",
- "backgroundFlyingOverRockyCanyonNotes": "當你飛越巨石峽谷,別忘了低頭看那令人屏息的美景。",
+ "backgroundFlyingOverRockyCanyonNotes": "當您飛越巨石峽谷,別忘了低頭看那令人屏息的美景。",
"backgroundBridgeText": "橋樑",
- "backgroundBridgeNotes": "穿過一座美麗的橋。"
+ "backgroundBridgeNotes": "穿過一座美麗的小橋。",
+ "backgrounds092018": "第 52 組: 2018 年 9 月推出",
+ "backgroundApplePickingText": "採集蘋果",
+ "backgroundApplePickingNotes": "採集蘋果並抱走一大箱蘋果回家。",
+ "backgroundGiantBookText": "巨大書籍",
+ "backgroundGiantBookNotes": "邊走過巨大書籍邊閱讀書裡的內容。",
+ "backgroundCozyBarnText": "窩心小穀倉",
+ "backgroundCozyBarnNotes": "讓您的寵物與坐騎在窩心小穀倉裡好好地休息。",
+ "backgrounds102018": "第 53 組:2018 年 10 月推出",
+ "backgroundBayouText": "螢光海灣",
+ "backgroundBayouNotes": "沉浸於螢火蟲照耀下的朦朧海灣。",
+ "backgroundCreepyCastleText": "驚悚城堡",
+ "backgroundCreepyCastleNotes": "勇敢地進入毛骨悚然的城堡。",
+ "backgroundDungeonText": "地牢",
+ "backgroundDungeonNotes": "在幽靈地牢中協助囚犯越獄。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/character.json b/website/common/locales/zh_TW/character.json
index 086705b54e..c059ca8d7f 100644
--- a/website/common/locales/zh_TW/character.json
+++ b/website/common/locales/zh_TW/character.json
@@ -1,5 +1,5 @@
{
- "communityGuidelinesWarning": "請記得你的角色名稱,簡介照片以及簡介內容必須遵守使用者規範(比如說:不可有猥褻行為、不可有成人議題、不可汙辱他人等等)。如果你不確定某些事有沒有合乎規定,歡迎寫信到 <%= hrefBlankCommunityManagerEmail %>!",
+ "communityGuidelinesWarning": "請記得您的暱稱、簡介照片以及簡介內容皆須遵守社群守則 (比如說: 不允許猥褻行為、不允許成人議題、不允許汙辱他人等等)。如果您不確定某些事有沒有合乎規範,歡迎寫信到 <%= hrefBlankCommunityManagerEmail %>!",
"profile": "基本資料",
"avatar": "客制化角色圖像",
"editAvatar": "編輯角色",
@@ -8,6 +8,8 @@
"other": "其他",
"fullName": "全名",
"displayName": "顯示名稱",
+ "changeDisplayName": "修改暱稱",
+ "newDisplayName": "新的暱稱",
"displayPhoto": "照片",
"displayBlurb": "自我介紹",
"displayBlurbPlaceholder": "請介紹你自己",
@@ -105,7 +107,7 @@
"stats": "狀態統計",
"achievs": "成就",
"strength": "力量",
- "strText": "力量會增加「會心一擊」、金幣、經驗和物品掉落的機率。力量還能幫助你攻擊傷害 BOSS。",
+ "strText": "力量會增加「會心一擊」、金幣、經驗和物品掉落的機率。力量還能幫助你攻擊傷害魔王怪物。",
"constitution": "體質",
"conText": "體質會降低壞習慣和未達成的每日任務造成的傷害。",
"perception": "感知",
@@ -154,7 +156,7 @@
"optOutOfPMs": "暫時不選擇",
"chooseClass": "選擇您的職業",
"chooseClassLearnMarkdown": "[了解關於 Habitica 職業系統的更多資訊](http://habitica.wikia.com/wiki/Class_System)",
- "optOutOfClassesText": "懶得選職業嗎?想晚點再決定嗎?可以暫時不選擇 - 您將成為戰士且沒有任何特別技能。您之後可到wiki了解職業系統,並隨時在使用者圖示 > 設定中啟用職業。",
+ "optOutOfClassesText": "懶得選職業嗎?想晚點再決定嗎?可以暫時不選擇 - 您將成為戰士且沒有任何特別技能。您之後可到wiki了解職業系統,並隨時在 玩家 > 設定 中啟用職業。",
"selectClass": "選擇<%= heroClass %>",
"select": "選擇",
"stealth": "匿蹤",
@@ -181,7 +183,7 @@
"lostMana": "您使用了一些魔力",
"lostHealth": "您失去了一些生命值",
"lostExperience": "您失去了一些經驗值",
- "displayNameDescription1": "此訊息與你的角色圖像會一併顯示在你酒館、公會與隊伍聊天室的貼文中。如果要更改,請按上面的\"更改\"按鈕。而如果你想要更改登入名稱,請至",
+ "displayNameDescription1": "這將出現於酒館小棧、公會、隊伍等的訊息當中。同時也會出現在您的角色名稱中。需要修改它,請點選上方的編輯按鍵。如果您是想要修改使用者名稱,可以到",
"displayNameDescription2": "設定->網站",
"displayNameDescription3": "並查看註冊部分。",
"unequipBattleGear": "卸下戰鬥裝備",
@@ -202,8 +204,9 @@
"int": "智力",
"showQuickAllocation": "顯示屬性分配",
"hideQuickAllocation": "隱藏屬性分配",
- "quickAllocationLevelPopover": "每一次升等,你將獲得一點可自由分配的屬性點。你可以手動選擇,或是讓系統依據在玩家圖像>屬性 中的其中一種分配規則來自種分配屬性點。",
+ "quickAllocationLevelPopover": "每一次升等,你將獲得一點可自由分配的屬性點。你可以手動選擇,或是讓系統依據在 玩家圖示>屬性 中的其中一種分配規則來自種分配屬性點。",
"notEnoughAttrPoints": "你沒足夠的屬性點。",
+ "classNotSelected": "您必須選先選擇職業才能分配屬性點數。",
"style": "樣式",
"facialhair": "臉部",
"photo": "照片",
diff --git a/website/common/locales/zh_TW/communityguidelines.json b/website/common/locales/zh_TW/communityguidelines.json
index e54e23c422..b2044e750e 100644
--- a/website/common/locales/zh_TW/communityguidelines.json
+++ b/website/common/locales/zh_TW/communityguidelines.json
@@ -1,6 +1,6 @@
{
"iAcceptCommunityGuidelines": "我願意遵守社群守則",
- "tavernCommunityGuidelinesPlaceholder": "友情提示:這裡的討論適合所有年齡層,所以請保持適當的內容和言語!如果您有任何問題,歡迎查閱側邊欄位的社區指南。",
+ "tavernCommunityGuidelinesPlaceholder": "友情提示:這裡的討論適合所有年齡層,所以請保持適當的內容和言語!如果您有任何問題,歡迎查閱側邊欄位的社群守則。",
"lastUpdated": "最後更新:",
"commGuideHeadingWelcome": "歡迎來到 Habitica!",
"commGuidePara001": "您好,冒險者!歡迎來到Habitica,這是個有效率、健康生活、偶有狂暴獅鷲出沒的地方。我們有個愉快的社群,到處充滿著樂於助人的好鄉民,彼此扶持並藉此自我提昇。要融入這裡,您只需態度積極上進、尊重他人,以及能理解每個都擁有不同的長處與短處——包括你自己!Habitica的鄉民待人耐心,只要有能力就會盡力幫助。",
@@ -8,7 +8,7 @@
"commGuidePara003": "這些規則適用在屬於我們的所有社群空間(但也不只限於此),包括 Trello, GitHub, Transifex 以及 Wikia (也就是我們的維基)。有時候會出現一些前所未見的狀況,例如新的衝突或是邪惡的亡靈法師。當這些情況發生,管理員們可能會修改這些指導原則以確保整個社群平安。別擔心,假如指導原則有所更動,Bailey 會發布公告來通知你。",
"commGuidePara004": "拿起你的羽毛筆跟羊皮卷軸,準備做筆記吧!",
"commGuideHeadingInteractions": "在Habitica中與人互動",
- "commGuidePara015": "Habitica有兩種社群空間: 公共的以及私人的。公共空間包含: 公開的公會、Tavern、GitHub、Trello、以及Wiki。私人空間則包含: 私人的公會、隊伍聊天室、以及私人訊息。所有顯示的名字皆須符合公共空間守則。若想要修改顯示名字,請到網頁上的 玩家圖像>基本資料 並點擊「編輯」按鈕。",
+ "commGuidePara015": "Habitica有兩種社群空間: 公共的以及私人的。公共空間包含: 公開的公會、Tavern、GitHub、Trello、以及Wiki。私人空間則包含: 私人的公會、隊伍聊天室、以及私人訊息。所有顯示的名字皆須符合公共空間守則。若想要修改暱稱,請到網頁上的 玩家圖像>基本資料 並點擊「編輯」按鈕。",
"commGuidePara016": "當你在 Habitica 的公共空間四處閒逛時,請務必遵守基本事項,以確保大家的安全與快樂。對於像您這樣的冒險者而言,想必是易如反掌!",
"commGuideList02A": "彼此尊重。成為彬彬有禮、善良且樂於助人的好鄉民。請記得 Habitica的鄉民來自於五湖四海,擁有各式各樣不同的經歷與背景。Habitica正是因為如此才如此多采多姿! 建立一個社群意味著要彼此尊重與欣賞我們之間的相似與相異之處。以下是一些簡單的尊重彼此的方式: ",
"commGuideList02B": "遵守所有的服務條款與條件。",
@@ -105,7 +105,7 @@
"commGuideOnTrello": "負責 Trello 的 <%= trelloName %>",
"commGuideOnGitHub": "負責 GitHub 的 <%= gitHubName %>",
"commGuidePara010": "有些管理員會協助工作人員。他們都經過精挑細選,所以請給予尊重並聽取他們的建議。",
- "commGuidePara011": "現在的工作人員分別是(從左到右):",
+ "commGuidePara011": "現任的管理員分別是(從左到右):",
"commGuidePara011a": "在酒館對話",
"commGuidePara011b": "在 GitHub/Wikia 上",
"commGuidePara011c": "在 Wikia 上",
@@ -114,7 +114,7 @@
"commGuidePara013": "像 Habitica 這麼大的社群裡,鄉民來來去去,有時管理員也需要卸下他們尊貴的外袍,讓自己放鬆一下。下面列舉的是榮譽退休的工作人員與管理員們。雖然他們不再有管理員的權限,但我們仍然想要表彰他們的貢獻!",
"commGuidePara014": "榮譽退休的工作人員與管理員: ",
"commGuideHeadingFinal": "最後一節",
- "commGuidePara067": "勇敢的Habitica鄉民,以上就是我們的社群規範!累了嗎? 擦乾額頭上的汗水,並給您自己一些經驗值作為讀完所有準則的獎勵吧! 如果有任何關於社群規範的問題,請透過管理員聯絡表單與我們聯繫,我們會很樂意地幫助並回答任何問題。",
+ "commGuidePara067": "勇敢的Habitica鄉民們,以上就是我們的社群守則!已經累了嗎? 擦乾額頭上的汗水,並給您自己一些經驗值作為讀完所有準則的獎勵吧! 如果有任何關於社群守則的問題,請透過管理員聯絡表單與我們聯繫,我們會很樂意地幫助並回答任何問題。",
"commGuidePara068": "現在讓我們一同向前進吧,勇敢的冒險家,並擊殺掉一些每日任務吧!",
"commGuideHeadingLinks": "有用的連結",
"commGuideLink01": "Habitica諮詢台: 一個讓使用者提問的友善公會!!",
diff --git a/website/common/locales/zh_TW/content.json b/website/common/locales/zh_TW/content.json
index b47003f948..d39f09c784 100644
--- a/website/common/locales/zh_TW/content.json
+++ b/website/common/locales/zh_TW/content.json
@@ -103,7 +103,7 @@
"questEggSnakeAdjective": "一隻滑行的",
"questEggUnicornText": "獨角獸",
"questEggUnicornMountText": "有翼獨角獸",
- "questEggUnicornAdjective": "一個神奇的",
+ "questEggUnicornAdjective": "一隻神奇的",
"questEggSabretoothText": "劍齒虎",
"questEggSabretoothMountText": "劍齒虎",
"questEggSabretoothAdjective": "兇猛",
@@ -115,19 +115,19 @@
"questEggSnailAdjective": "緩慢但穩定的",
"questEggFalconText": "鷹",
"questEggFalconMountText": "鷹",
- "questEggFalconAdjective": "一顆迅捷的",
+ "questEggFalconAdjective": "迅捷的",
"questEggTreelingText": "樹精",
"questEggTreelingMountText": "樹精",
"questEggTreelingAdjective": "一顆茂盛的",
"questEggAxolotlText": "蠑螈",
"questEggAxolotlMountText": "蠑螈",
- "questEggAxolotlAdjective": "一顆小的",
+ "questEggAxolotlAdjective": "小小",
"questEggTurtleText": "海龜",
"questEggTurtleMountText": "巨型海龜",
"questEggTurtleAdjective": "一顆寧靜的",
"questEggArmadilloText": "犰狳",
"questEggArmadilloMountText": "犰狳",
- "questEggArmadilloAdjective": "一顆武裝的",
+ "questEggArmadilloAdjective": "武裝的",
"questEggCowText": "牛",
"questEggCowMountText": "牛",
"questEggCowAdjective": "一顆鳴叫著的",
@@ -163,19 +163,22 @@
"questEggYarnAdjective": "毛織物",
"questEggPterodactylText": "翼手龍",
"questEggPterodactylMountText": "翼手龍",
- "questEggPterodactylAdjective": "a trusting",
- "questEggBadgerText": "獾皮",
- "questEggBadgerMountText": "獾皮",
- "questEggBadgerAdjective": "a bustling",
+ "questEggPterodactylAdjective": "誠信的",
+ "questEggBadgerText": "獾",
+ "questEggBadgerMountText": "獾",
+ "questEggBadgerAdjective": "忙碌的",
"questEggSquirrelText": "松鼠",
"questEggSquirrelMountText": "松鼠",
- "questEggSquirrelAdjective": "a bushy-tailed",
+ "questEggSquirrelAdjective": "尾巴毛茸茸的",
"questEggSeaSerpentText": "大海蛇",
"questEggSeaSerpentMountText": "大海蛇",
- "questEggSeaSerpentAdjective": "a shimmering",
- "questEggKangarooText": "Kangaroo",
- "questEggKangarooMountText": "Kangaroo",
- "questEggKangarooAdjective": "a keen",
+ "questEggSeaSerpentAdjective": "閃耀的",
+ "questEggKangarooText": "袋鼠",
+ "questEggKangarooMountText": "袋鼠",
+ "questEggKangarooAdjective": "敏銳的",
+ "questEggAlligatorText": "Alligator",
+ "questEggAlligatorMountText": "Alligator",
+ "questEggAlligatorAdjective": "a cunning",
"eggNotes": "把孵化藥水倒在寵物蛋上會把它孵化成一隻<%= eggAdjective(locale) %> <%= eggText(locale) %>。",
"hatchingPotionBase": "普通",
"hatchingPotionWhite": "白色",
@@ -202,6 +205,7 @@
"hatchingPotionStarryNight": "星夜",
"hatchingPotionRainbow": "彩虹",
"hatchingPotionGlass": "玻璃",
+ "hatchingPotionGlow": "暗黑閃亮",
"hatchingPotionNotes": "把它倒在寵物蛋上可以孵化出一隻<%= potText(locale) %>寵物。",
"premiumPotionAddlNotes": "不能夠在任務寵物蛋上使用。",
"foodMeat": "肉",
diff --git a/website/common/locales/zh_TW/faq.json b/website/common/locales/zh_TW/faq.json
index 595c374c53..4bc0267382 100644
--- a/website/common/locales/zh_TW/faq.json
+++ b/website/common/locales/zh_TW/faq.json
@@ -17,8 +17,8 @@
"androidFaqAnswer3": "您的任務會改根據您完成該任務的次數而改變!每一個新任務最初始都是從黃色的。當您完成每日任務或是好習慣越多次時,它們就會逐漸轉變成藍色。如果沒有完成每日任務或是您做了壞習慣時,它們就會開始轉變成紅色。完成越偏紅色的任務,就能得到越多獎勵。但是如果您又沒有達成每日任務或是它是個壞習慣,其扣損的生命就會越多!這有助於您完成比較困難的任務!",
"webFaqAnswer3": "您的任務會改根據您完成該任務的次數而改變!每一個新任務最初始都是從黃色的。當您完成每日任務或是好習慣越多次時,它們就會逐漸轉變成藍色。如果沒有完成每日任務或是您做了壞習慣時,它們就會開始轉變成紅色。完成越偏紅色的任務,就能得到越多獎勵。但是如果您又沒有達成每日任務或是它是個壞習慣,其扣損的生命就會越多!這有助於您完成比較困難的任務!",
"faqQuestion4": "為什麼我的角色的生命值減少了? 我要怎麼恢復它們?",
- "iosFaqAnswer4": "有很多方式都會扣損角色的生命值。第一,如果您沒有每天完成每日任務的話,角色就會在隔天受到傷害。第二,如果您做了壞習慣,這也會使生命值受損。最後,若您正在隊伍裡一起進行Boss任務戰的,一旦其中一個隊友沒有在當天完成全部的每日任務,那麼任務魔王也會攻擊您喔。\n\n主要回復生命值的方法就是提升等級。當您升等時就會自動回復全部的生命值。您也可以用金幣購買獎勵欄裡的治療藥水。另外,當您等級達到10等或以上時,您可以選擇成為醫者,這樣您就能夠學習治癒術。或者您的隊伍中有人剛好是醫者的話,也可以請他們治療您喔。",
- "androidFaqAnswer4": "有很多方式都會扣損角色的生命值。第一,如果您沒有每天完成每日任務的話,角色就會在隔天受到傷害。第二,如果您做了壞習慣,這也會使生命值受損。最後,若您正在隊伍裡一起進行Boss任務戰的,一旦其中一個隊友沒有在當天完成全部的每日任務,那麼任務魔王也會攻擊您喔。\n\n主要回復生命值的方法就是提升等級。當您升等時就會自動回復全部的生命值。您也可以用金幣購買獎勵欄裡的治療藥水。另外,當您等級達到10等或以上時,您可以選擇成為醫者,這樣您就能夠學習治癒術。或者您的隊伍中有人剛好是醫者的話,也可以請他們治療您喔。",
+ "iosFaqAnswer4": "有很多方式都會扣損角色的生命值。第一,如果您沒有每天完成每日任務的話,角色就會在隔天受到傷害。第二,如果您做了壞習慣,這也會使生命值受損。最後,若您正在隊伍裡一起進行魔王戰爭,一旦其中一個隊友沒有在當天完成全部的每日任務,那麼任務魔王也會攻擊您喔。\n\n主要回復生命值的方法就是提升等級。當您升等時就會自動回復全部的生命值。您也可以用金幣購買獎勵欄裡的治療藥水。另外,當您等級達到10等或以上時,您可以選擇成為醫者,這樣您就能夠學習治癒術。或者您的隊伍中有人剛好是醫者的話,也可以請他們治療您喔。",
+ "androidFaqAnswer4": "有很多方式都會扣損角色的生命值。第一,如果您沒有每天完成每日任務的話,角色就會在隔天受到傷害。第二,如果您做了壞習慣,這也會使生命值受損。最後,若您正在隊伍裡一起進行魔王戰爭,一旦其中一個隊友沒有在當天完成全部的每日任務,那麼任務魔王也會攻擊您喔。\n\n主要回復生命值的方法就是提升等級。當您升等時就會自動回復全部的生命值。您也可以用金幣購買獎勵欄裡的治療藥水。另外,當您等級達到10等或以上時,您可以選擇成為醫者,這樣您就能夠學習治癒術。或者您的隊伍中有人剛好是醫者的話,也可以請他們治療您喔。",
"webFaqAnswer4": "有很多方式都會扣損角色的生命值。第一,如果您沒有每天完成每日任務的話,角色就會在隔天受到傷害。第二,如果您做了壞習慣,這也會使生命值受損。最後,若您正在隊伍裡一起進行Boss任務戰的,一旦其中一個隊友沒有在當天完成全部的每日任務,那麼任務魔王也會攻擊您喔。\n\n主要回復生命值的方法就是提升等級。當您升等時就會自動回復全部的生命值。您也可以用金幣購買獎勵欄裡的治療藥水。另外,當您等級達到10等或以上時,您可以選擇成為醫者,這樣您就能夠學習治癒術。如果您的隊伍中剛好有人是醫者的話,也可以請他們治療您喔。可以在導覽列上點選「隊伍」來查看更多。",
"faqQuestion5": "要怎麼做才能夠跟朋友一起玩Habitica?",
"iosFaqAnswer5": "最好的方法就是邀請他們加入您的隊伍!隊伍可以參加活動任務、跟魔王對抗、施放技能來支援彼此。如果您沒有加入任何的隊伍,可前往「選單」>「隊伍」,接著點選「建立新隊伍」。然後點選成員名單,就可以在右上角看到邀請朋友的選項。請輸入您的好朋友的使用者ID (即UUID: 一串由數字和英文字母組成的字串,每個人都可以在手機app中的設定>帳號,或是網站裡的設定>API 裡面找到自己的UUID。)在網站上,您還可以透過電子郵件邀請朋友,之後app也將會引進此功能。\n\n在網站裡,您也可以和朋友們一同加入公會,裡面有一個公共的聊天室。app也將在未來引進此功能。",
@@ -45,14 +45,14 @@
"androidFaqAnswer10": "寶石需要透過點擊導覽列上的寶石圖示後並花費真錢才能購買。當您購買寶石的同時,您也正幫助了我們維持網站的營運。我們由衷地感謝您的支持!\n\n除了直接利用現金購買寶石外,還有三種其他的方式可以獲取寶石:\n*在別人設立好的挑戰中贏得勝利 。您可以到「社交」>「挑戰」裡加入一些挑戰。\n*訂閱我們,這樣就能每個月用遊戲金幣購買一定數量的寶石。\n*為Habitica作出貢獻,可查看wiki頁面以獲得詳細資訊:[幫助Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica)。\n\n注意! 購買寶石將不會得到額外的優勢。所以就算您沒有任何的寶石,還是可以開心順利地使用Habitica哦!",
"webFaqAnswer10": "寶石需要花費真錢才能購買。但是[訂閱者](https://habitica.com/user/settings/subscription)可以花費遊戲金幣購買它們。當您訂閱我們或是購買寶石的同時,您也正幫助了我們維持網站的營運。我們由衷地感謝您的支持!除了直接利用現金購買寶石外,還有兩種其他的方式可以獲取寶石:\n*在別人設立好的挑戰中贏得勝利 。可以到「社交」>「挑戰」裡加入一些挑戰。\n*為Habitica作出貢獻,可查看wiki頁面以獲得詳細資訊:[幫助Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica)。注意! 購買寶石將不會得到額外的優勢。所以就算您沒有任何的寶石,還是可以開心順利地使用Habitica哦!",
"faqQuestion11": "我要怎麼做才能回報問題或者建議新功能呢?",
- "iosFaqAnswer11": "您可以到「選單」>「關於」>「提交Bug」或是「回饋意見」裡回報錯誤、建議新功能或者是提供意見。我們將盡其所能的協助您!",
- "androidFaqAnswer11": "您可以到「關於」>「回報問題」或是「提出問題」裡回報錯誤、建議新功能或者是提供意見。我們將盡其所能的協助您!",
+ "iosFaqAnswer11": "您可以到「選單」>「關於」>「提交Bug」或是「提交反饋」裡回報錯誤、建議新功能或者是提供意見。我們將盡其所能的協助您!",
+ "androidFaqAnswer11": "您可以到「關於」>「回報問題」或是「提交反饋」裡回報錯誤、建議新功能或者是提供意見。我們將盡其所能的協助您!",
"webFaqAnswer11": "您可以到[幫助>回報問題](https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac)裡回報錯誤。如果您無法登入Habitica,請提供您的登入資訊(不是您的密碼!)到[<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>)。別著急,我們將盡快解決問題! 我們都是透過Trello收集建議的新功能,請到[幫助>請求新功能](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents)並依照指示操作。接著就期待您建議的新功能能在未來出現吧!",
"faqQuestion12": "我要如何才能夠挑戰世界老闆?",
- "iosFaqAnswer12": "世界級BOSS是出現在酒館的特別怪獸。所有在線的使用者都將自動跟Boss作戰。完成日常任務和使用技能都將自動對Boss造成傷害。\n\n您可以同時解一般的任務。您完成的日常任務與使用的技能都將同時對世界級Boss以及隊伍中的任務Boss造成傷害。\n\n世界Boss永遠無法攻擊您。取而代之的是,它有一個憤怒值,當使用者沒有完成每日任務時就會自動增加。如果憤怒值滿了,它就會隨機攻擊一位NPC,而它們的角色圖像也將被改變。\n\n您可以到wiki中獲得更多[歷史中的世界級BOSS](http://habitica.wikia.com/wiki/World_Bosses)的相關資訊。",
- "androidFaqAnswer12": "世界級BOSS是出現在酒館的特別怪獸。所有在線的使用者都將自動跟Boss作戰。完成日常任務和使用技能都將自動對Boss造成傷害。\n\n您可以同時解一般的任務。您完成的日常任務與使用的技能都將同時對世界級Boss以及隊伍中的任務Boss造成傷害。\n\n世界Boss永遠無法攻擊您。取而代之的是,它有一個憤怒值,當使用者沒有完成每日任務時就會自動增加。如果憤怒值滿了,它就會隨機攻擊一位NPC,而它們的角色圖像也將被改變。\n\n您可以到wiki中獲得更多[歷史中的世界級BOSS](http://habitica.wikia.com/wiki/World_Bosses)的相關資訊。",
- "webFaqAnswer12": "世界級BOSS是出現在酒館的特別怪獸。所有在線的使用者都將自動跟Boss作戰。完成日常任務和使用技能都將自動對Boss造成傷害。\n\n您可以同時解一般的任務。您完成的日常任務與使用的技能都將同時對世界級Boss以及隊伍中的任務Boss造成傷害。\n\n世界Boss永遠無法攻擊您。取而代之的是,它有一個憤怒值,當使用者沒有完成每日任務時就會自動增加。如果憤怒值滿了,它就會隨機攻擊一位NPC,而它們的角色圖像也將被改變。\n\n您可以到wiki中獲得更多[歷史中的世界級BOSS](http://habitica.wikia.com/wiki/World_Bosses)的相關資訊。",
+ "iosFaqAnswer12": "世界級魔王是出現在酒館的特別怪獸。所有在線的使用者都將自動跟魔王作戰。完成日常任務和使用技能都將自動對魔王造成傷害。\n\n您可以同時解一般的任務。您完成的日常任務與使用的技能都將同時對世界級魔王以及隊伍中的任務魔王造成傷害。\n\n世界魔王永遠無法攻擊您。取而代之的是,它有一個憤怒值,當使用者沒有完成每日任務時就會自動增加。如果憤怒值滿了,它就會隨機攻擊一位NPC,而它們的角色圖像也將被改變。\n\n您可以到wiki中獲得更多[已出現過的世界級魔王](http://habitica.wikia.com/wiki/World_Bosses)的相關資訊。",
+ "androidFaqAnswer12": "世界級魔王是出現在酒館的特別怪獸。所有在線的使用者都將自動與魔王作戰。完成日常任務和使用技能都將自動對魔王造成傷害。\n\n您可以同時解一般的任務。您完成的日常任務與使用的技能都將同時對世界級魔王以及隊伍中的副本魔王造成傷害。\n\n世界Boss永遠無法攻擊您。取而代之的是,它有一個憤怒值,當使用者沒有完成每日任務時就會自動增加。如果憤怒值滿了,它就會隨機攻擊一位NPC,而它們的角色圖像也將被改變。\n\n您可以到wiki中獲得更多[已出現過的世界級魔王](http://habitica.wikia.com/wiki/World_Bosses)的相關資訊。",
+ "webFaqAnswer12": "世界級魔王是出現在酒館的特別怪獸。所有在線的使用者都將自動與魔王作戰。完成日常任務和使用技能都將自動對魔王造成傷害。\n\n您可以同時解一般的任務。您完成的日常任務與使用的技能都將同時對世界級魔王以及隊伍中的副本魔王造成傷害。\n\n世界級魔王永遠無法攻擊您。取而代之的是,它有一個憤怒值,當使用者沒有完成每日任務時就會自動增加。如果憤怒值滿了,它就會隨機攻擊一位NPC,而它們的角色圖像也將被改變。\n\n您可以到wiki中獲得更多[已出現過的世界級魔王](http://habitica.wikia.com/wiki/World_Bosses)的相關資訊。",
"iosFaqStillNeedHelp": "如果您有任何疑問,但沒出現在以上列表中或是 [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ),請到「選單」 > 「酒館」的酒館聊天室裡詢問,我們將很高興地為您服務!",
"androidFaqStillNeedHelp": "如果您有任何疑問,但沒出現在以上列表中或是 [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ),請到「選單」 > 「酒館」的酒館聊天室裡詢問,我們將很高興地為您服務!",
- "webFaqStillNeedHelp": "如果您有任何疑問,但沒出現在以上列表中或是 [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ),請到「Habitica協助公會」(https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)裡詢問,我們將很高興地為您服務!"
+ "webFaqStillNeedHelp": "如果您有任何疑問,但沒出現在以上列表中或是 [Wiki FAQ](http://habitica.wikia.com/wiki/FAQ),請到 [Habitica Help guild](https://habitica.com/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a)裡詢問,我們將很高興地為您服務!"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/front.json b/website/common/locales/zh_TW/front.json
index ab614e80c4..93693fe142 100644
--- a/website/common/locales/zh_TW/front.json
+++ b/website/common/locales/zh_TW/front.json
@@ -160,7 +160,7 @@
"pkVideo": "影片",
"pkPromo": "宣傳品",
"pkLogo": "Logo",
- "pkBoss": "Boss",
+ "pkBoss": "魔王",
"pkSamples": "截圖範例",
"pkWebsite": "網頁版",
"pkiOS": "iOS",
@@ -172,7 +172,7 @@
"punishHeading2": "生命值下降!",
"questByline1": "和您的朋友一同遊玩,讓您對自己的任務有責任感",
"questByline2": "對彼此發出挑戰,然後一起完成目標吧!",
- "questHeading1": "和朋友們一起大戰怪物!",
+ "questHeading1": "與朋友們一同消滅怪物!",
"questHeading2": "您的偷懶將會傷害同伴!",
"register": "註冊",
"rewardByline1": "花費金幣獲得虛擬及現實的獎勵",
@@ -212,7 +212,7 @@
"unlockHeadline": "當您持續保持高生產力,您將解鎖新的遊戲內容! ",
"useUUID": "使用 UUID / API Token (供 Facebook 用戶使用)",
"username": "使用者名稱",
- "emailOrUsername": "電子郵件或使用者名稱(大小寫敏感)",
+ "emailOrUsername": "電子郵件 或 使用者名稱(大小寫敏感)",
"watchVideos": "觀看影片",
"work": "工作",
"zelahQuote": "有了 Habitica,我能夠說服自己準時上床睡覺了,因為早睡能得到經驗值,晚睡會被扣血!",
@@ -257,22 +257,29 @@
"altAttrGithub": "GitHub",
"altAttrTrello": "Trello",
"altAttrSlack": "Slack",
- "missingAuthHeaders": "沒有輸入認證標頭碼。",
- "missingAuthParams": "沒有輸入認證參數。",
- "missingUsernameEmail": "沒有輸入使用者名稱或電子郵件。",
- "missingEmail": "沒有輸入電子郵件。",
- "missingUsername": "沒有輸入使用者名稱。",
- "missingPassword": "沒有輸入密碼。",
- "missingNewPassword": "沒有輸入新密碼。",
+ "missingAuthHeaders": "尚未輸入身份驗證標頭。",
+ "missingAuthParams": "尚未輸入認證參數。",
+ "missingUsernameEmail": "尚未輸入使用者名稱或電子郵件。",
+ "missingEmail": "尚未輸入電子郵件。",
+ "missingUsername": "尚未輸入使用者名稱。",
+ "missingPassword": "尚未輸入密碼。",
+ "missingNewPassword": "尚未輸入新密碼。",
"invalidEmailDomain": "您無法利用以下電子郵件的網域申請帳號:<%= domains %>",
"wrongPassword": "密碼錯誤",
"incorrectDeletePhrase": "請用大寫輸入<%= magicWord %>以刪除您的帳號。",
"notAnEmail": "無效的電子郵件。",
"emailTaken": "該電子郵件已經被其他帳戶使用。",
- "newEmailRequired": "沒有輸入新電子郵件地址。",
- "usernameTaken": "使用者名稱以被使用。",
- "usernameWrongLength": "使用者名稱的長度需在1至20個字符之間。",
- "usernameBadCharacters": "使用者名稱只能含有英文字母a至z、數字0至9、連字號-、或是底線_。",
+ "newEmailRequired": "尚未輸入新電子郵件地址。",
+ "usernameTime": "是時候來設定您的使用者名稱了!",
+ "usernameInfo": "您的暱稱不會被更改,但您的舊名稱將會成為您的公開使用者名稱。此名稱將會被用來邀請、在聊天時的@標記、還有通知。
想進一步了解這項改變,可以參訪我們的玩家名稱維基頁面。",
+ "usernameTOSRequirements": "使用者名稱必須遵守我們的服務條款和社群規範。如果您之前尚未設定使用者名稱,您的使用者名稱將會被自動生產。",
+ "usernameTaken": "此使用者名稱已有人使用。",
+ "usernameWrongLength": "使用者名稱字數必須介於 1 到 20 個字元。",
+ "displayNameWrongLength": "暱稱必須介於 1 到 30 個字元。",
+ "usernameBadCharacters": "使用者名稱只能包含 a-z、0-9、連字號(\"-\")、或下底線(\"_\")。",
+ "nameBadWords": "名稱不能包含任何不適當的字詞。",
+ "confirmUsername": "確認使用者名稱",
+ "usernameConfirmed": "使用者名稱確認",
"passwordConfirmationMatch": "密碼不匹配。",
"invalidLoginCredentials": "錯誤的使用者名稱 和(或) 電子郵件 和(或) 密碼。",
"passwordResetPage": "重設密碼",
@@ -280,9 +287,9 @@
"passwordResetEmailSubject": "重設Habitica的密碼。",
"passwordResetEmailText": "如果您已在Habitica上申請重設<%= username %>的密碼,請到<%= passwordResetLink %>設置一個新的密碼。此連結將於24小時後到期。如果您未提出重設密碼的申請,請忽略此封郵件。",
"passwordResetEmailHtml": "如果您已在Habitica上申請重設<%= username %>的密碼,\"點擊這裡以設置一個新的密碼。此連結將於24小時後到期。
如果您未提出重設密碼的申請,請忽略此封郵件。",
- "invalidLoginCredentialsLong": "噢,糟了 - 您的電子郵件地址/使用者名稱或是密碼錯誤。\n-請檢查所有資訊是否皆輸入正確。使用者名稱與密碼採用大小寫敏感。\n-您可能使用Facebook或Google註冊而非電子郵件。請嘗試使用它們登入。\n-如果您忘記密碼,請點擊「忘記密碼」。",
+ "invalidLoginCredentialsLong": "噢,糟了 - 您輸入的電子郵件地址/使用者名稱或是密碼是錯誤的。\n-請檢查所有資訊是否皆輸入正確。使用者名稱與密碼皆為大小寫敏感。\n-您可能使用Facebook或Google註冊而非電子郵件。請嘗試使用它們登入。\n-如果您忘記密碼了,請點擊「忘記密碼」。",
"invalidCredentials": "沒有任何帳號使用那些身份驗證資訊。",
- "accountSuspended": "此帳號,UUID\"<%= userId %>\",已因為違反[社群規範](https://habitica.com/static/community-guidelines) 或是[服務條款](https://habitica.com/static/terms) 而遭到封鎖。詳細資訊或想要求解除封鎖,請透過電子郵件寄信給我們的社群管理員<%= communityManagerEmail %>或是請求您的家長或是監護人透過電子郵件寄信。請將您的UUID及使用者名稱複製到電子郵件中。",
+ "accountSuspended": "此帳號,UUID \"<%= userId %>\",已因為違反[社群守則](https://habitica.com/static/community-guidelines)或是[服務條款](https://habitica.com/static/terms) 而遭到封鎖。詳細資訊或想要求解除封鎖,請透過電子郵件寄信給我們的社群管理員<%= communityManagerEmail %>或是請求您的家長或監護人協助寄送電子郵寄給我們。請記得將您的UUID及使用者名稱註記於電子郵件中。",
"accountSuspendedTitle": "帳號已遭停用",
"unsupportedNetwork": "當前網路不支援。",
"cantDetachSocial": "帳號缺少另一個驗證方式。無法分離此驗證方法。",
@@ -295,7 +302,7 @@
"signUpWithSocial": "使用<%= social %>註冊。",
"loginWithSocial": "使用<%= social %>登入。",
"confirmPassword": "確認密碼",
- "usernameLimitations": "使用者名稱的長度需在1至20個字符之間,只能含有英文字母a至z、數字0至9、連字號-、或是底線_。",
+ "usernameLimitations": "使用者名稱字數必須介於 1 到 20 個字元。並且只能包含 a-z、0-9、連字號(\"-\")、或下底線(\"_\")。且不得包含任何不適當的字詞。",
"usernamePlaceholder": "e.g., HabitRabbit",
"emailPlaceholder": "e.g., rabbit@example.com",
"passwordPlaceholder": "e.g., ******************",
@@ -329,6 +336,5 @@
"signup": "註冊",
"getStarted": "加入我們",
"mobileApps": "行動版APP",
- "learnMore": "了解更多",
- "useMobileApps": "Habitica沒有針對手機版瀏覽器作最佳優化。我們建議您下載行動版app。"
+ "learnMore": "了解更多"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/gear.json b/website/common/locales/zh_TW/gear.json
index 73bcfe7618..e9e16e33fc 100644
--- a/website/common/locales/zh_TW/gear.json
+++ b/website/common/locales/zh_TW/gear.json
@@ -3,15 +3,15 @@
"equipmentType": "種類",
"klass": "職業",
"groupBy": "依<%= type %>分組",
- "classBonus": "(這項物品與您的職業匹配,所以它獲得1.5倍的額外屬性加成。)",
+ "classBonus": "(這項裝備與您的職業相匹配,可獲得1.5倍的額外屬性加成。)",
"classArmor": "職業盔甲",
"featuredset": "精選套裝<%= name %>",
"mysterySets": "神秘套裝",
- "gearNotOwned": "您尚未擁有此物品。",
+ "gearNotOwned": "您尚未擁有此裝備。",
"noGearItemsOfType": "您尚未擁有任何此類物品。",
- "noGearItemsOfClass": "您已經擁有所有該職業的裝備! 更多的裝備將在下一個季節時進貨。",
- "classLockedItem": "此物品只有特定的職業才可以擁有。可以到玩家>設定>角色屬性 變更您的職業!",
- "tierLockedItem": "此物品只在您按順序購買了前一項物品時才會解鎖開放。繼續努力吧!",
+ "noGearItemsOfClass": "您已擁有所有您所屬職業的裝備! 更多裝備將於下一個季節時進貨。",
+ "classLockedItem": "此裝備只有特定的職業才可以擁有。可以到玩家>設定>角色屬性 變更您的職業!",
+ "tierLockedItem": "此裝備只在您按順序購買了前一項物品時才會解鎖開放。繼續努力吧!",
"sortByType": "種類",
"sortByPrice": "價錢",
"sortByCon": "體質",
@@ -19,11 +19,11 @@
"sortByStr": "力量",
"sortByInt": "智力",
"weapon": "武器",
- "weaponCapitalized": "主手物品",
+ "weaponCapitalized": "主手裝備",
"weaponBase0Text": "沒有武器",
"weaponBase0Notes": "沒有武器。",
"weaponWarrior0Text": "訓練用劍",
- "weaponWarrior0Notes": "練習用武器。沒有屬性加成。",
+ "weaponWarrior0Notes": "練習用武器。無屬性加成。",
"weaponWarrior1Text": "劍",
"weaponWarrior1Notes": "普通士兵的劍。增加 <%= str %> 點力量。",
"weaponWarrior2Text": "斧",
@@ -37,7 +37,7 @@
"weaponWarrior6Text": "黃金寶劍",
"weaponWarrior6Notes": "暗黑生物的剋星,增加 <%= str %> 點力量。",
"weaponRogue0Text": "匕首",
- "weaponRogue0Notes": "盜賊最基礎的武器。沒有屬性加成。",
+ "weaponRogue0Notes": "盜賊最基礎的武器。無屬性加成。",
"weaponRogue1Text": "短劍",
"weaponRogue1Notes": "又輕又短的劍,增加 <%= str %> 點力量。",
"weaponRogue2Text": "半月彎刀",
@@ -51,7 +51,7 @@
"weaponRogue6Text": "鉤劍",
"weaponRogue6Notes": "中國傳統武器,用以誘捕或解除對手的武裝。增加 <%= str %> 點力量。",
"weaponWizard0Text": "學徒法杖",
- "weaponWizard0Notes": "練習用法杖。沒有屬性加成。",
+ "weaponWizard0Notes": "練習用法杖。無屬性加成。",
"weaponWizard1Text": "木製法杖",
"weaponWizard1Notes": "木頭雕刻成的基礎武器。增加 <%= int %> 點智力和 <%= per %> 點感知。",
"weaponWizard2Text": "寶石法杖",
@@ -65,7 +65,7 @@
"weaponWizard6Text": "黃金法杖",
"weaponWizard6Notes": "使用古老的奧利哈根礦石—煉金術之金—所打造,稀有且強大。增加 <%= int %> 點智力和 <%= per %> 點感知。",
"weaponHealer0Text": "新手棍",
- "weaponHealer0Notes": "治療師練習用棍。沒有屬性加成。",
+ "weaponHealer0Notes": "治療師練習用棍。無屬性加成。",
"weaponHealer1Text": "侍僧棍",
"weaponHealer1Notes": "為新手治療師打造。增加 <%= int %> 點智力。",
"weaponHealer2Text": "石英棍",
@@ -81,23 +81,23 @@
"weaponSpecial0Text": "闇魂利刃",
"weaponSpecial0Notes": "饕餮敵人的靈魂以助長自己的邪惡。增加 <%= str %> 點力量。",
"weaponSpecial1Text": "水晶利刃",
- "weaponSpecial1Notes": "閃耀的晶面宛如正訴說著一位英雄的傳說。增加全屬性 <%= attrs %>點。",
+ "weaponSpecial1Notes": "閃耀的晶面宛如正訴說著一位英雄的傳說。增加所有屬性各 <%= attrs %> 點。",
"weaponSpecial2Text": "史蒂芬‧韋伯的巨龍長矛",
- "weaponSpecial2Notes": "(Stephen Weber's Shaft of the Dragon) 內部散發著龍的洶湧之力!增加力量和感知各 <%= attrs %> 點。",
+ "weaponSpecial2Notes": "(Stephen Weber's Shaft of the Dragon) 內部散發著龍的洶湧之力!增加力量、感知各 <%= attrs %> 點。",
"weaponSpecial3Text": "馬斯泰恩的碎石流星錘",
"weaponSpecial3Notes": "(Mustaine's Milestone Mashing Morning Star) 看到怪物統統搗爛!增加力量、智力、體質各 <%= attrs %> 點。",
"weaponSpecialCriticalText": "碾蟲大師強力戰鎚",
- "weaponSpecialCriticalNotes": "這位勇者殺死了一個讓無數戰士殞落的 Gitthub敵人。這把戰鎚由臭蟲的骨頭打造,能給敵人帶來強大的致命一擊。增加力量與感知各 <%= attrs %>點。",
+ "weaponSpecialCriticalNotes": "這位勇者殺死了一個讓無數戰士殞落的 Gitthub敵人。這把戰鎚由臭蟲的骨頭打造,能給敵人帶來強大的致命一擊。增加力量、感知各 <%= attrs %>點。",
"weaponSpecialTakeThisText": "收下這把劍",
- "weaponSpecialTakeThisNotes": "這把劍只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %>點。",
+ "weaponSpecialTakeThisNotes": "這把劍只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"weaponSpecialTridentOfCrashingTidesText": "怒潮三叉戟",
"weaponSpecialTridentOfCrashingTidesNotes": "賜予您指揮魚群的力量,再給您擊潰任務的強大觸針。增加 <%= int %> 點智力。",
"weaponSpecialTaskwoodsLanternText": "任務樹林燈籠",
- "weaponSpecialTaskwoodsLanternNotes": "此燈籠在破曉之時即為任務樹林果園(Taskwood Orchards) 的守護靈所擁有。它既能照亮最深沉的黑暗,也能放出強力的法術。增加感知與智力各 <%= attrs %> 點。",
+ "weaponSpecialTaskwoodsLanternNotes": "此燈籠在破曉之時即為任務樹林果園(Taskwood Orchards) 的守護靈所擁有。它既能照亮最深沉的黑暗,也能放出強力的法術。增加感知、智力各 <%= attrs %> 點。",
"weaponSpecialBardInstrumentText": "吟遊詩人古琵琶",
- "weaponSpecialBardInstrumentNotes": "試著用這把宛如附有魔力般的古琵琶彈奏出歡樂愉快的旋律吧!增加智力與感知各 <%= attrs %> 點。",
+ "weaponSpecialBardInstrumentNotes": "試著用這把宛如附有魔力般的古琵琶彈奏出歡樂愉快的旋律吧!增加智力、感知各 <%= attrs %> 點。",
"weaponSpecialLunarScytheText": "月鐮刀",
- "weaponSpecialLunarScytheNotes": "請好好定期為此鐮刀磨光,不然它的力量將會消失無蹤。增加力量與感知各 <%= attrs %> 點。",
+ "weaponSpecialLunarScytheNotes": "請好好定期為此鐮刀磨光,不然它的力量將會消失無蹤。增加力量、感知各 <%= attrs %> 點。",
"weaponSpecialMammothRiderSpearText": "長毛象騎士長矛",
"weaponSpecialMammothRiderSpearNotes": "這把玫瑰石英長矛將會賦予您古老的施術能力。增加 <%= int %> 點智力。",
"weaponSpecialPageBannerText": "書頁旗幟",
@@ -113,7 +113,7 @@
"weaponSpecialTachiText": "太極劍",
"weaponSpecialTachiNotes": "這把輕穎的彎曲長劍可以把您的任務撕成碎片! 增加 <%= str %> 點力量。",
"weaponSpecialAetherCrystalsText": "以太紫水晶護碗",
- "weaponSpecialAetherCrystalsNotes": "這雙水晶護碗曾屬於迷失的職業統治大師(Lost Masterclasser)。全屬性增加 <%= attrs %> 點。",
+ "weaponSpecialAetherCrystalsNotes": "這雙水晶護碗曾屬於迷失的職業統治大師(Lost Masterclasser)。增加所有屬性各 <%= attrs %> 點。",
"weaponSpecialYetiText": "雪怪馴化師長矛",
"weaponSpecialYetiNotes": "這把長矛賜予使用者指揮雪怪的權力。增加 <%= str %> 點力量。 2013-2014冬季限定版裝備",
"weaponSpecialSkiText": "滑雪刺客手杖",
@@ -171,7 +171,7 @@
"weaponSpecialSummer2015HealerText": "潮汐權杖",
"weaponSpecialSummer2015HealerNotes": "出門必備良品,專治暈車暈船!增加 <%= int %> 點智力。 2015年夏季限定版裝備",
"weaponSpecialFall2015RogueText": "戰蝠巨斧",
- "weaponSpecialFall2015RogueNotes": "令人生畏的待辦事項被這把斧頭的揮砍下立馬退避三舍。 增加 <%= str %> 點力量。 2015年秋季限定版裝備",
+ "weaponSpecialFall2015RogueNotes": "那些令人生畏的待辦事項都在這把神斧的揮砍之下瑟瑟發抖。增加 <%= str %> 點力量。 2015年秋季限定版裝備",
"weaponSpecialFall2015WarriorText": "原木片",
"weaponSpecialFall2015WarriorNotes": "萬中選一的武器!如果你是要在玉米田工作或是揍小屁孩的話啦。增加 <%= str %> 點力量。 2015年秋季限定版裝備",
"weaponSpecialFall2015MageText": "附魔棉線",
@@ -243,11 +243,11 @@
"weaponSpecialFall2017HealerText": "驚魂燭火台",
"weaponSpecialFall2017HealerNotes": "這亮光能夠驅散恐懼的力量,並讓大家知道您是來幫助他們的。增加 <%= int %> 點智力。 2017年秋季限定裝備",
"weaponSpecialWinter2018RogueText": "紅色貓薄荷掛鉤",
- "weaponSpecialWinter2018RogueNotes": "這件裝備極為適合攀爬圍牆或是用上面附帶的甜美多汁的糖果分散敵人的注意力。增加 <%= str %> 點力量。 2017-2018冬季限定版裝備",
+ "weaponSpecialWinter2018RogueNotes": "此裝備極為適合用於攀爬圍牆或利用掛鉤上甜美多汁的糖果來分散敵人的注意力。增加 <%= str %> 點力量。 2017-2018冬季限定版裝備",
"weaponSpecialWinter2018WarriorText": "慶典領結鎚",
- "weaponSpecialWinter2018WarriorNotes": "揮動這閃亮亮的武器時,其閃耀的外觀勢必會讓敵人搞得眼花撩亂! 增加 <%= str %> 點力量。 2017-2018冬限定季裝備",
+ "weaponSpecialWinter2018WarriorNotes": "揮動這閃亮亮的武器時,其閃耀的外觀勢必會讓敵人搞得眼花撩亂! 增加 <%= str %> 點力量。 2017-2018冬季限定版裝備",
"weaponSpecialWinter2018MageText": "慶典五彩碎紙",
- "weaponSpecialWinter2018MageNotes": "魔法的光芒在空中閃耀! 增加 <%= int %> 點智力和 <%= per %> 點感知。 2017-2018冬季限定裝備",
+ "weaponSpecialWinter2018MageNotes": "魔法的光芒在空中閃耀! 增加 <%= int %> 點智力和 <%= per %> 點感知。 2017-2018冬季限定版裝備",
"weaponSpecialWinter2018HealerText": "槲寄生魔杖",
"weaponSpecialWinter2018HealerNotes": "這團槲寄生必定會讓路過的人感到更加快樂更加具有魅力! 增加 <%= int %> 點智力。 2017-2018冬季限定版裝備",
"weaponSpecialSpring2018RogueText": "俏皮香蒲",
@@ -266,18 +266,26 @@
"weaponSpecialSummer2018MageNotes": "不論是在水裡,還是被火、冰或電的法術攻擊都能輕鬆躲避傷害。召喚有毒的刺攻擊敵人時卻意外的出色!增加 <%= int %> 點智力和 <%= per %> 點感知。 2018年夏季限定版裝備",
"weaponSpecialSummer2018HealerText": "人魚帝王三叉戟",
"weaponSpecialSummer2018HealerNotes": "您擺出一個友善的手勢,並指揮治癒之水從您的領海中波濤洶湧地滾滾流出。增加 <%= int %> 點智力。 2018年夏季限定版裝備",
+ "weaponSpecialFall2018RogueText": "清晰藥水瓶",
+ "weaponSpecialFall2018RogueNotes": "當您想要停止做傻事、或是需要一點提神來作一個正確的選擇。可以深呼吸並啜一小口。萬事都變得OK! 增加 <%= str %> 點力量。 2018年秋季限定版裝備",
+ "weaponSpecialFall2018WarriorText": "米諾斯藤條",
+ "weaponSpecialFall2018WarriorNotes": "(Whip of Minos) 。不夠長到能夠讓您能夠脫離迷宮。甚至是在像這樣那麼小的迷宮裡。增加 <%= str %> 點力量。 2018年秋季限定版裝備",
+ "weaponSpecialFall2018MageText": "甜蜜蜜法杖",
+ "weaponSpecialFall2018MageNotes": "這可不是一般的棒棒糖! 在這法杖上閃閃發光之魔法糖果擁有能讓好習慣黏在您身旁的能力。增加 <%= int %> 點智力和 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "weaponSpecialFall2018HealerText": "飢餓法杖",
+ "weaponSpecialFall2018HealerNotes": "要時常餵食這根法杖,這樣它就會帶來賜福。一旦忘記餵食,就要記得將它放在手勾不到的地方。增加 <%= int %> 點智力。 2018年秋季限定版裝備",
"weaponMystery201411Text": "盛宴草叉",
- "weaponMystery201411Notes": "刺擊您的敵人或是插入您最愛的食物——這把多才多藝的叉子可是無所不能!沒有屬性加成。 2014年11月訂閱者專屬裝備",
+ "weaponMystery201411Notes": "刺擊您的敵人或是插入您最愛的食物——這把多才多藝的叉子可是無所不能!無屬性加成。 2014年11月訂閱者專屬裝備",
"weaponMystery201502Text": "愛與真理之微光翅膀法杖",
- "weaponMystery201502Notes": "為了翅膀!為了愛!也為了真理!沒有屬性加成。 2015年2月訂閱者專屬裝備",
+ "weaponMystery201502Notes": "為了翅膀!為了愛!也為了真理!無屬性加成。 2015年2月訂閱者專屬裝備",
"weaponMystery201505Text": "綠騎士長矛",
- "weaponMystery201505Notes": "光榮的騎士們不知已經用這根銀綠相間的長矛將多少強敵通通打落馬下。沒有屬性加成。 2015年5月訂閱者專屬裝備",
+ "weaponMystery201505Notes": "光榮的騎士們不知已經用這根銀綠相間的長矛將多少強敵通通打落馬下。無屬性加成。 2015年5月訂閱者專屬裝備",
"weaponMystery201611Text": "富產的豐饒羊角",
- "weaponMystery201611Notes": "(Copious Cornucopia) 各種美味又健康的食物從各個號角中溢出。享受這場盛宴吧! 沒有屬性加成。 2016年11月訂閱者專屬裝備",
+ "weaponMystery201611Notes": "(Copious Cornucopia) 各種美味又健康的食物從各個號角中溢出。享受這場盛宴吧! 沒無屬性加成。 2016年11月訂閱者專屬裝備",
"weaponMystery201708Text": "熔岩長刃",
- "weaponMystery201708Notes": "在這熾熱光輝的庇護之下,即使是碰到深紅色的任務也能迅速斬除! 沒有屬性加成。2017年8月訂閱者專屬裝備",
+ "weaponMystery201708Notes": "在這熾熱光輝的庇護之下,即使是碰到深紅色的任務也能迅速斬除! 無屬性加成。 2017年8月訂閱者專屬裝備",
"weaponMystery301404Text": "蒸氣龐克風手杖",
- "weaponMystery301404Notes": "特別適合在城裡散步。沒有屬性加成。3015年3月訂閱者專屬裝備。",
+ "weaponMystery301404Notes": "特別適合用於城裡散步。無屬性加成。 3015年3月訂閱者專屬裝備",
"weaponArmoireBasicCrossbowText": "基礎級十字弩",
"weaponArmoireBasicCrossbowNotes": "不管從多遠,都能夠用這把十字弩射出的弓箭刺穿任何任務的鎧甲!增加 <%= str %> 點力量、 <%= per %> 點感知和 <%= con %> 點體質。 來自神祕寶箱: 獨立裝備",
"weaponArmoireLunarSceptreText": "治癒之月權杖",
@@ -287,9 +295,9 @@
"weaponArmoireMythmakerSwordText": "神話英雄寶劍",
"weaponArmoireMythmakerSwordNotes": "重劍無鋒大巧不工,這把寶劍已經造就了許多神話英雄。增加 <%= attrs %> 點感知和力量。 來自神祕寶箱: 黃金托加長袍套裝(3/3)",
"weaponArmoireIronCrookText": "鋼鐵彎杖",
- "weaponArmoireIronCrookNotes": "純鋼打造,力透杖柄。這鋼鐵彎杖用來放牧效果極好。增加感知與力量各 <%= attrs %> 點。 來自神秘寶箱: 鐵角套裝(3/3)",
+ "weaponArmoireIronCrookNotes": "純鋼打造,力透杖柄。這鋼鐵彎杖用來放牧效果極好。增加感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 鐵角套裝(3/3)",
"weaponArmoireGoldWingStaffText": "金翅法杖",
- "weaponArmoireGoldWingStaffNotes": "法杖上的金翅振翅高飛,永垂不朽。增加各屬性 <%= attrs %> 點。 來自神秘寶箱: 獨立裝備",
+ "weaponArmoireGoldWingStaffNotes": "法杖上的金翅振翅高飛,永垂不朽。增加所有屬性各 <%= attrs %> 點。 來自神秘寶箱: 獨立裝備",
"weaponArmoireBatWandText": "蝙蝠魔杖",
"weaponArmoireBatWandNotes": "這把魔杖可以把任何任務轉變成一隻小蝙蝠!揮一揮,讓牠們飛得遠遠的。增加 <%= int %> 點智力和 <%= per %> 點感知。 來自神祕寶箱: 獨立裝備",
"weaponArmoireShepherdsCrookText": "牧羊人手杖",
@@ -301,9 +309,9 @@
"weaponArmoireGlowingSpearText": "炙光長矛",
"weaponArmoireGlowingSpearNotes": "這支長矛能把任務通通催眠,以便您展開攻擊。增加 <%= str %> 點力量。 來自神祕寶箱: 獨立裝備",
"weaponArmoireBarristerGavelText": "大律師木槌",
- "weaponArmoireBarristerGavelNotes": "通通給我肅靜! 增加力量及體質各 <%= attrs %> 點。 來自神秘寶箱: 大律師套裝(3/3)",
+ "weaponArmoireBarristerGavelNotes": "通通給我肅靜! 增加力量、體質各 <%= attrs %> 點。 來自神秘寶箱: 大律師套裝(3/3)",
"weaponArmoireJesterBatonText": "小丑旗桿",
- "weaponArmoireJesterBatonNotes": "揮動旗桿,妙語連珠,讓最複雜的任務都變得一目了然。增加智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 小丑套裝(3/3)",
+ "weaponArmoireJesterBatonNotes": "揮動旗桿,妙語連珠,讓最複雜的任務都變得一目了然。增加智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 小丑套裝(3/3)",
"weaponArmoireMiningPickaxText": "挖礦十字鎬",
"weaponArmoireMiningPickaxNotes": "從您的任務山堆中挖出最大量的金幣! 增加 <%= per %> 點感知。 來自神祕寶箱: 挖礦大師套裝(3/3)",
"weaponArmoireBasicLongbowText": "基礎級長弓",
@@ -331,29 +339,33 @@
"weaponArmoireBattleAxeText": "古老戰斧",
"weaponArmoireBattleAxeNotes": "這把精製鍛造的鐵斧非常適合與您一同對抗最凶猛的敵人以及最艱困的任務。增加 <%= int %> 點智力和 <%= con %> 點體質。 來自神秘寶箱: 獨立裝備",
"weaponArmoireHoofClippersText": "腳蹄老虎鉗",
- "weaponArmoireHoofClippersNotes": "修剪陪您身經百戰的坐騎們的腳蹄,讓牠們在冒險途中保持安全! 增加力量、智力和體質各 <%= attrs %> 點。 來自神秘寶箱: 蹄鐵工套裝(1/3)",
+ "weaponArmoireHoofClippersNotes": "修剪陪您身經百戰的坐騎們的腳蹄,讓牠們在冒險途中保持安全! 增加力量、智力、體質各 <%= attrs %> 點。 來自神秘寶箱: 蹄鐵工套裝(1/3)",
"weaponArmoireWeaversCombText": "織女的簪釵",
- "weaponArmoireWeaversCombNotes": "用這個簪釵將您的織紗捆在一起,作成一塊緊密編織的布料。增加感知 <%= per %> 點和 <%= str %> 點力量。 來自神秘寶箱: 紡織套件(2/3)",
+ "weaponArmoireWeaversCombNotes": "用這個簪釵將您的織紗捆在一起,作成一塊緊密編織的布料。增加感知 <%= per %> 點和 <%= str %> 點力量。 來自神秘寶箱: 織布工套裝(2/3)",
"weaponArmoireLamplighterText": "點燈器",
"weaponArmoireLamplighterNotes": "在這長竿上的一端有一根用於點燈的燈芯,另一端則有用於熄滅它們的鐵鉤。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神秘寶箱: 點燈伕套裝(1/4)",
"weaponArmoireCoachDriversWhipText": "馬車伕鞭條",
"weaponArmoireCoachDriversWhipNotes": "您的坐騎其實都知道牠們要怎麼做,所以這條鞭子只是裝飾品而已啦 (忽然傳出鞭條的拍打啪噠聲!)。增加 <%= int %> 點智力和 <%= str %> 點力量。 來自神秘寶箱: 馬車伕套裝(3/3)",
"weaponArmoireScepterOfDiamondsText": "鑲鑽權杖",
- "weaponArmoireScepterOfDiamondsNotes": "這支權杖閃爍著溫暖的紅光,他會提高您的戰鬥意志力。增加 <%= str %> 點力量。 來自神秘寶箱: 國王的鑽石套裝(3/4)",
- "weaponArmoireFlutteryArmyText": "飛舞軍團",
- "weaponArmoireFlutteryArmyNotes": "這群好鬥的飛蛾已經磨刀霍霍地準備大顯身手,棒強您最泛紅的任務了! 增加體質、智力和力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(3/4)",
+ "weaponArmoireScepterOfDiamondsNotes": "這支權杖閃爍著溫暖的紅光,他會提高您的戰鬥意志力。增加 <%= str %> 點力量。 來自神秘寶箱: 鑽石之王套裝(3/4)",
+ "weaponArmoireFlutteryArmyText": "翩翩飛舞軍團",
+ "weaponArmoireFlutteryArmyNotes": "這群好鬥的飛蛾已經磨刀霍霍地準備大顯身手,棒強您最泛紅的任務了! 增加體質、智力、力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(3/4)",
"weaponArmoireCobblersHammerText": "鞋匠鐵鎚",
- "weaponArmoireCobblersHammerNotes": "這支是專門用於製造皮革的鐵鎚。但它可以在緊要關頭之時給泛紅的每日任務一擊重拳。增加體質和力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(2/3)",
+ "weaponArmoireCobblersHammerNotes": "這支是專門用於製造皮革的鐵鎚。但它可以在緊要關頭之時給泛紅的每日任務一擊重拳。增加體質、力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(2/3)",
"weaponArmoireGlassblowersBlowpipeText": "玻璃吹製工的吹管",
"weaponArmoireGlassblowersBlowpipeNotes": "用這根管子將熔化的玻璃吹製成漂亮的花瓶、裝飾品、或是其他酷炫的作品。增加 <%= str %> 點力量。 來自神秘寶箱: 玻璃吹製工套裝(1/4)",
"weaponArmoirePoisonedGobletText": "劇毒潔淨高腳杯",
"weaponArmoirePoisonedGobletNotes": "用這高腳杯來盛裝劇毒的粉末以及其他危險的藥水。這個杯子會自動消毒轉變成乾淨可口的飲料。增加 <%= int %> 點智力。 來自神秘寶箱: 海盜公主套裝(3/4)",
"weaponArmoireJeweledArcherBowText": "射手寶石弓箭",
"weaponArmoireJeweledArcherBowNotes": "這套由黃金與鑽石打造的弓箭能讓您射出的箭以光一般的速度擊落目標。增加 <%= int %> 點智力。 來自神祕寶箱: 射手寶石套裝(3/3)",
+ "weaponArmoireNeedleOfBookbindingText": "裝訂針",
+ "weaponArmoireNeedleOfBookbindingNotes": "您將會非常驚訝這書竟然能夠變得這樣堅固。這根裝訂針能刺穿您所有雜務事們的心臟。增加 <%= str %> 點力量。 來自神秘寶箱: 圖書裝訂工套裝(3/4)",
+ "weaponArmoireSpearOfSpadesText": "黑桃長矛",
+ "weaponArmoireSpearOfSpadesNotes": "這根騎士長矛非常適合用來攻擊您最深紅色的習慣或每日任務。增加 <%= con %> 點體質。 來自神祕寶箱: 黑桃長矛套裝(3/3)",
"armor": "鎧甲",
"armorCapitalized": "鎧甲",
"armorBase0Text": "便衣",
- "armorBase0Notes": "普通的衣服。 沒有屬性加成。",
+ "armorBase0Notes": "普通的衣服。無屬性加成。",
"armorWarrior1Text": "皮甲",
"armorWarrior1Notes": "堅固的加工皮革外套。增加 <%= con %> 點體質。",
"armorWarrior2Text": "鎖鏈鎧甲",
@@ -397,11 +409,11 @@
"armorSpecial0Text": "影子鎧甲",
"armorSpecial0Notes": "這件鎧甲能代替穿戴者感受到的疼痛,所以當它被擊中時會發出尖叫。增加 <%= con %> 點體質。",
"armorSpecial1Text": "水晶鎧甲",
- "armorSpecial1Notes": "它永垂不朽的力量讓穿戴者漸漸習慣了單調的痛苦。加成所有屬性 <%= attrs %> 點。",
+ "armorSpecial1Notes": "它永垂不朽的力量讓穿戴者漸漸習慣了單調的痛苦。增加所有屬性各 <%= attrs %> 點。",
"armorSpecial2Text": "設計大師的典雅束腰外衣",
- "armorSpecial2Notes": "由Jean Chalard親自操刀設計的束腰外衣。讓您看起來更加格外蓬鬆!增加體質和智力各 <%= attrs %> 點。",
+ "armorSpecial2Notes": "由Jean Chalard親自操刀設計的束腰外衣。讓您看起來更加格外蓬鬆!增加體質、智力各 <%= attrs %> 點。",
"armorSpecialTakeThisText": "收下這套鎧甲",
- "armorSpecialTakeThisNotes": "這套鎧甲只有參加過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
+ "armorSpecialTakeThisNotes": "這套鎧甲只有參加過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"armorSpecialFinnedOceanicArmorText": "魚鰭海洋護甲",
"armorSpecialFinnedOceanicArmorNotes": "雖然看起來很精緻,但這件鎧甲會讓您變得像火紅珊瑚一樣碰不得哦。增加 <%= str %> 點力量。",
"armorSpecialPyromancersRobesText": "烈焰術士長袍",
@@ -409,7 +421,7 @@
"armorSpecialBardRobesText": "吟遊詩人長袍",
"armorSpecialBardRobesNotes": "這五顏六色的長袍或許看起來非常引人注目,但您可以在任何情况下盡情地歡唱自己的歌。增加 <%= per %> 點感知。",
"armorSpecialLunarWarriorArmorText": "月亮戰士鎧甲",
- "armorSpecialLunarWarriorArmorNotes": "這件鎧甲是由月光石及魔法金屬融合打造而成。增加力量及體質各 <%= attrs %> 點。",
+ "armorSpecialLunarWarriorArmorNotes": "這件鎧甲是由月光石及魔法金屬融合打造而成。增加力量、體質各 <%= attrs %> 點。",
"armorSpecialMammothRiderArmorText": "長毛象騎士皮甲",
"armorSpecialMammothRiderArmorNotes": "這套皮甲由毛皮和皮革製做而成,外面覆有釘上薔薇石英的時髦披風。當您在極寒地區冒險時,它能在寒風中庇護您。增加 <%= con %> 點體質。",
"armorSpecialPageArmorText": "書頁鎧甲",
@@ -427,7 +439,7 @@
"armorSpecialSamuraiArmorText": "日本武士鎧甲",
"armorSpecialSamuraiArmorNotes": "這件鎧甲是由成千上萬個堅硬的鎖鏈組成,並用極為講究的高級絲線所串起來。增加 <%= per %> 點感知。",
"armorSpecialTurkeyArmorBaseText": "火雞鎧甲",
- "armorSpecialTurkeyArmorBaseNotes": "穿上這套毛茸茸的鎧甲就能讓您的小腿感到溫暖舒適! 沒有屬性加成。",
+ "armorSpecialTurkeyArmorBaseNotes": "穿上這套毛茸茸的鎧甲就能讓您的小腿感到溫暖舒適! 無屬性加成。",
"armorSpecialYetiText": "雪怪馴化師長袍",
"armorSpecialYetiNotes": "毛茸茸而且非常地兇猛! 增加 <%= con %> 點體質。2013-2014冬季限定版裝備",
"armorSpecialSkiText": "滑雪刺客毛皮外套",
@@ -437,17 +449,17 @@
"armorSpecialSnowflakeText": "雪花長袍",
"armorSpecialSnowflakeNotes": "即使在暴風雪中,這件長袍也能讓您感到保暖。增加 <%= con %> 點體質。 2013-2014冬季限定版裝備",
"armorSpecialBirthdayText": "滑稽派對長袍",
- "armorSpecialBirthdayNotes": "生日快樂,Habitica!快穿上這些滑稽的派對長袍一同慶祝這美好的一天。沒有屬性加成。",
+ "armorSpecialBirthdayNotes": "生日快樂,Habitica!快穿上這些滑稽的派對長袍一同慶祝這美好的一天。無屬性加成。",
"armorSpecialBirthday2015Text": "傻氣派對長袍",
- "armorSpecialBirthday2015Notes": "生日快樂,Habitica!快穿上這些愚蠢的派對長袍一同慶祝這美好的一天。沒有屬性加成。",
+ "armorSpecialBirthday2015Notes": "生日快樂,Habitica!快穿上這些愚蠢的派對長袍一同慶祝這美好的一天。無屬性加成。",
"armorSpecialBirthday2016Text": "荒謬派對長袍",
- "armorSpecialBirthday2016Notes": "生日快樂,Habitica!快穿上這些荒謬的派對長袍一同慶祝這美好的一天。沒有屬性加成。",
+ "armorSpecialBirthday2016Notes": "生日快樂,Habitica!快穿上這些荒謬的派對長袍一同慶祝這美好的一天。無屬性加成。",
"armorSpecialBirthday2017Text": "古怪派對長袍",
- "armorSpecialBirthday2017Notes": "生日快樂,Habitica!快穿上這些古怪的派對長袍一同慶祝這美好的一天。沒有屬性加成。",
+ "armorSpecialBirthday2017Notes": "生日快樂,Habitica!快穿上這些古怪的派對長袍一同慶祝這美好的一天。無屬性加成。",
"armorSpecialBirthday2018Text": "夢幻派對長袍",
- "armorSpecialBirthday2018Notes": "生日快樂,Habitica!快穿上這些夢幻的派對長袍一同慶祝這美好的一天。沒有屬性加成。",
+ "armorSpecialBirthday2018Notes": "生日快樂,Habitica!快穿上這些夢幻的派對長袍一同慶祝這美好的一天。無屬性加成。",
"armorSpecialGaymerxText": "彩虹戰士鎧甲",
- "armorSpecialGaymerxNotes": "為了慶祝GaymerX大會,這件特別的鎧甲飾有炫目多彩、光芒四射的彩虹圖案! GaymerX是一個向所有人開放且支持LGTBQ的遊戲展覽會。",
+ "armorSpecialGaymerxNotes": "為了慶祝GaymerX大會,這件特別的鎧甲飾有炫目多彩、光芒四射的彩虹圖案! GaymerX是一個向所有人開放且支持LGTBQ的遊戲展覽會。無屬性加成。",
"armorSpecialSpringRogueText": "時髦紫貓禮服",
"armorSpecialSpringRogueNotes": "無可挑剔的整潔。增加 <%= per %> 點感知。 2014年春季限定版裝備",
"armorSpecialSpringWarriorText": "三葉草鋼鎧甲",
@@ -534,8 +546,8 @@
"armorSpecialFall2016WarriorNotes": "怪異地長滿潮濕的苔癬! 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
"armorSpecialFall2016MageText": "罪惡披風",
"armorSpecialFall2016MageNotes": "當您的斗篷陣陣拍動,您將聽到邪惡的咯咯笑聲。增加 <%= int %> 點智力。 2016年秋季限定版裝備",
- "armorSpecialFall2016HealerText": "蛇髮女怪長袍",
- "armorSpecialFall2016HealerNotes": "(Gorgon Robes) 這件長袍實際上是由石頭變成的。但為甚麼它穿起來如此的舒適? 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
+ "armorSpecialFall2016HealerText": "蛇髮女妖長袍",
+ "armorSpecialFall2016HealerNotes": "(Gorgon) 這件長袍實際上是由石頭變成的。但為甚麼它穿起來如此的舒適? 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
"armorSpecialWinter2017RogueText": "寒霜鎧甲",
"armorSpecialWinter2017RogueNotes": "這件隱密的服裝能夠折射出閃瞎所有任務的光,然後您就可以盡情奪取它們身上的獎品。增加 <%= per %> 點感知。 2016-2017冬季限定版裝備",
"armorSpecialWinter2017WarriorText": "冰棍球鎧甲",
@@ -592,80 +604,92 @@
"armorSpecialSummer2018MageNotes": "惡毒魔法以其隱密而聞名。所以絕對不是指這件鮮艷的鎧甲,因為它傳達給野獸和任務的訊息太明顯了: 你給我注意點! 增加 <%= int %> 點智力。 2018年夏季限量版裝備",
"armorSpecialSummer2018HealerText": "人魚帝王長袍",
"armorSpecialSummer2018HealerNotes": "這件蔚藍色的聖袍能顯露出您能在陸地行走的雙腳……好吧,即使是帝王也不能期望他們是完美的。增加 <%= con %> 點體質。 2018年夏季限量版裝備",
+ "armorSpecialFall2018RogueText": "「另我」教士服",
+ "armorSpecialFall2018RogueNotes": "在早上看起來很時髦,在晚上卻又非常舒適且具有保護性。增加 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "armorSpecialFall2018WarriorText": "彌諾陶洛斯板鏈甲",
+ "armorSpecialFall2018WarriorNotes": "(Minotaur Platemail) 當您走向冥想迷宮時,快用蹄子敲打舒緩的節奏。增加 <%= con %> 點體質。 2018年秋季限定版裝備",
+ "armorSpecialFall2018MageText": "糖果法師長袍",
+ "armorSpecialFall2018MageNotes": "這長袍的布料是由魔法糖果所編織而成的!但是,我們建議您不要嘗試吃它們。增加 <%= int %> 點智力。 2018年秋季限定版裝備",
+ "armorSpecialFall2018HealerText": "肉食植物長袍",
+ "armorSpecialFall2018HealerNotes": "它是由植物所製成,但這不代表它是素食主義者。壞習慣們都非常討厭太靠近這件長袍。增加 <%= con %> 點體質。 2018年秋季限定版裝備",
"armorMystery201402Text": "信使長袍",
- "armorMystery201402Notes": "閃閃發光又非常耐用,這件長袍上有許多能攜帶信件的口袋。沒有屬性加成。 2014年2月訂閱者專屬裝備",
- "armorMystery201403Text": "森林行者板甲",
- "armorMystery201403Notes": "這件佈滿青苔的木製板甲會隨著您的動作而彎曲。沒有屬性加成。 2014年3月訂閱者專屬裝備",
+ "armorMystery201402Notes": "閃閃發光又非常耐用,這件長袍上有許多能攜帶信件的口袋。無屬性加成。 2014年2月訂閱者專屬裝備",
+ "armorMystery201403Text": "森林步行者板甲",
+ "armorMystery201403Notes": "這件佈滿青苔的木製板甲會隨著您的動作而彎曲。無屬性加成。 2014年3月訂閱者專屬裝備",
"armorMystery201405Text": "愛心火焰",
- "armorMystery201405Notes": "當您被火焰纏繞後,沒有任何東西可以傷害您!沒有屬性加成。 2014年5月訂閱者專屬裝備",
+ "armorMystery201405Notes": "當您被火焰纏繞後,沒有任何東西可以傷害您!無屬性加成。 2014年5月訂閱者專屬裝備",
"armorMystery201406Text": "章魚長袍",
- "armorMystery201406Notes": "這件滑溜溜的長袍能使他的穿戴者能穿越所有物品,即使是最小的裂縫也能輕鬆通過。沒有屬性加成。 2014年6月訂閱者專屬裝備",
+ "armorMystery201406Notes": "這件滑溜溜的長袍能使他的穿戴者能穿越所有物品,即使是最小的裂縫也能輕鬆通過。無屬性加成。 2014年6月訂閱者專屬裝備",
"armorMystery201407Text": "海底探險服裝",
- "armorMystery201407Notes": "被形容為「太厚啦」或是「老實講,這有點過於笨重」之類的話。但這套服裝仍是任何勇敢的海底探險家最好的朋友。沒有屬性加成。 2014年7月訂閱者專屬裝備",
+ "armorMystery201407Notes": "被形容為「太厚啦」或是「老實講,這有點過於笨重」之類的話。但這套服裝仍是任何勇敢的海底探險家最好的朋友。無屬性加成。 2014年7月訂閱者專屬裝備",
"armorMystery201408Text": "太陽長袍",
- "armorMystery201408Notes": "這些長袍是由陽光和黃金編織而成。沒有屬性加成。 2014年8月訂閱者專屬裝備",
+ "armorMystery201408Notes": "這些長袍是由陽光和黃金編織而成。無屬性加成。 2014年8月訂閱者專屬裝備",
"armorMystery201409Text": "戰鬥者背心",
- "armorMystery201409Notes": "一件被枯葉覆蓋住的背心。可以幫助穿戴者偽裝。沒有屬性加成。 2014年9月訂閱者專屬裝備",
+ "armorMystery201409Notes": "一件被枯葉覆蓋住的背心。可以幫助穿戴者偽裝。無屬性加成。 2014年9月訂閱者專屬裝備",
"armorMystery201410Text": "哥布林套裝",
- "armorMystery201410Notes": "粗糙的觸感、黏黏的外表、非常堅硬的外殼!沒有屬性加成。 2014年10月訂閱者專屬裝備",
+ "armorMystery201410Notes": "粗糙的觸感、黏黏的外表、非常堅硬的外殼!無屬性加成。 2014年10月訂閱者專屬裝備",
"armorMystery201412Text": "企鵝套裝",
- "armorMystery201412Notes": "您是企鵝!沒有屬性加成。 2014年12月訂閱者專屬裝備",
+ "armorMystery201412Notes": "您是企鵝!無屬性加成。 2014年12月訂閱者專屬裝備",
"armorMystery201501Text": "眾星拱月鎧甲",
- "armorMystery201501Notes": "銀河的光芒蘊育在這件鎧甲的金屬塊中,可以增強穿戴者的決心。沒有屬性加成。 2015年1月訂閱者專屬裝備",
+ "armorMystery201501Notes": "銀河的光芒蘊育在這件鎧甲的金屬塊中,可以增強穿戴者的決心。無屬性加成。 2015年1月訂閱者專屬裝備",
"armorMystery201503Text": "藍寶石鎧甲",
- "armorMystery201503Notes": "這種藍色的礦物象徵著吉祥、幸福和永恆的生產力。沒有屬性加成。 2015年3月訂閱者專屬裝備",
+ "armorMystery201503Notes": "這種藍色的礦物象徵著吉祥、幸福和永恆的生產力。無屬性加成。 2015年3月訂閱者專屬裝備",
"armorMystery201504Text": "忙碌蜜蜂長袍",
- "armorMystery201504Notes": "穿上這件長袍能讓您的生產力像蜜蜂一樣勤快!沒有屬性加成。 2015年5月訂閱者專屬裝備",
+ "armorMystery201504Notes": "穿上這件長袍能讓您的生產力像蜜蜂一樣勤快!無屬性加成。 2015年5月訂閱者專屬裝備",
"armorMystery201506Text": "浮潛套裝",
- "armorMystery201506Notes": "穿上這件色澤鮮豔的泳裝在珊瑚礁潛水吧!沒有屬性加成。 2015年6月訂閱者專屬裝備",
+ "armorMystery201506Notes": "穿上這件色澤鮮豔的泳裝在珊瑚礁潛水吧! 無屬性加成。 2015年6月訂閱者專屬裝備",
"armorMystery201508Text": "獵豹服飾",
- "armorMystery201508Notes": "穿上這件毛茸茸的獵豹服飾就能讓您跑得跟閃光一樣快! 咻! 沒有屬性加成。 2015年8月訂閱者專屬裝備",
+ "armorMystery201508Notes": "穿上這件毛茸茸的獵豹服飾就能讓您跑得跟閃光一樣快! 咻! 無屬性加成。 2015年8月訂閱者專屬裝備",
"armorMystery201509Text": "狼人服飾",
- "armorMystery201509Notes": "這真的「是」打扮而已,對吧?沒有屬性加成。 2015年9月訂閱者專屬裝備",
+ "armorMystery201509Notes": "這真的「是」打扮而已,對吧? 無屬性加成。 2015年9月訂閱者專屬裝備",
"armorMystery201511Text": "木製鎧甲",
- "armorMystery201511Notes": "考慮到這件鎧甲是由魔法木材直接雕刻而成的,這穿起來還真的是意外地舒適。沒有屬性加成。 2015年11月訂閱者專屬裝備",
+ "armorMystery201511Notes": "考慮到這件鎧甲是由魔法木材直接雕刻而成的,這穿起來還真的是意外地舒適。無屬性加成。 2015年11月訂閱者專屬裝備",
"armorMystery201512Text": "冷焰鎧甲",
- "armorMystery201512Notes": "召喚寒冬冷焰!沒有能力加乘。 2015年12月訂閱者專屬裝備",
+ "armorMystery201512Notes": "召喚寒冬冷焰! 無屬性加成。 2015年12月訂閱者專屬裝備",
"armorMystery201603Text": "幸運禮服",
- "armorMystery201603Notes": "這套禮服是由成千上萬個四葉幸運草縫製而成的! 沒有屬性加成。 2016年3月訂閱者專屬裝備",
+ "armorMystery201603Notes": "這套禮服是由成千上萬個四葉幸運草縫製而成的! 無屬性加成。 2016年3月訂閱者專屬裝備",
"armorMystery201604Text": "葉片鎧甲",
- "armorMystery201604Notes": "您的身邊噴發著許多雖然微小卻非常駭人的葉片。沒有屬性加成。 2016年4月訂閱者專屬裝備",
+ "armorMystery201604Notes": "您的身邊噴發著許多雖然微小卻非常駭人的葉片。無屬性加成。 2016年4月訂閱者專屬裝備",
"armorMystery201605Text": "吟遊詩人行軍制服",
- "armorMystery201605Notes": "不像傳統參加冒險派對的吟遊詩人因到在地牢到處掠奪而聞名,所有參加Habitica遊行樂隊的吟遊詩人皆是因為舉辦盛大的遊行而聞名。沒有屬性加成。 2016年5月訂閱者專屬裝備",
+ "armorMystery201605Notes": "不像傳統參加冒險派對的吟遊詩人因到在地牢到處掠奪而聞名,所有參加Habitica遊行樂隊的吟遊詩人皆是因為舉辦盛大的遊行而聞名。無屬性加成。 2016年5月訂閱者專屬裝備",
"armorMystery201606Text": "海豹人燕尾服",
- "armorMystery201606Notes": "(Selkie Tail) 這套禮服閃閃發光,就像海水與河岸激起的泡沫一樣。沒有屬性加成。 2016年6月訂閱者專屬裝備",
+ "armorMystery201606Notes": "(Selkie Tail) 這套禮服閃閃發光,就像海水與河岸激起的泡沫一樣。無屬性加成。 2016年6月訂閱者專屬裝備",
"armorMystery201607Text": "海底盜賊鎧甲",
- "armorMystery201607Notes": "快用這套能與海底融合為一的潛行鎧甲吧。沒有屬性加成。 2016年7月訂閱者專屬裝備",
+ "armorMystery201607Notes": "快用這套能與海底融合為一的潛行鎧甲吧。無屬性加成。 2016年7月訂閱者專屬裝備",
"armorMystery201609Text": "乳牛鎧甲",
- "armorMystery201609Notes": "穿上這套舒適的鎧甲與牛群一同休憩吧! 沒有屬性加成。 2016年9月訂閱者專屬裝備",
+ "armorMystery201609Notes": "穿上這套舒適的鎧甲與牛群一同休憩吧! 無屬性加成。 2016年9月訂閱者專屬裝備",
"armorMystery201610Text": "妖精鎧甲",
- "armorMystery201610Notes": "能讓您像幽靈一樣輕飄飄的神祕鎧甲。沒有屬性加成。 2016年10月訂閱者專屬裝備",
+ "armorMystery201610Notes": "能讓您像幽靈一樣輕飄飄的神祕鎧甲。無屬性加成。 2016年10月訂閱者專屬裝備",
"armorMystery201612Text": "胡桃鉗鎧甲",
- "armorMystery201612Notes": "穿上這套盛大慶典禮服,就可以以時髦地方式撥開堅果。但小心千萬不要夾到您的手指頭! 沒有屬性加成。 2016年12月訂閱者專屬裝備",
+ "armorMystery201612Notes": "穿上這套盛大慶典禮服,就可以以時髦地方式撥開堅果。但小心千萬不要夾到您的手指頭! 無屬性加成。 2016年12月訂閱者專屬裝備",
"armorMystery201703Text": "一閃一閃亮鎧甲",
- "armorMystery201703Notes": "雖然這件鎧甲的顏色會讓人想起春天的花瓣,但他卻比鋼鐵還堅硬! 沒有屬性加成。 2017年3月訂閱者專屬裝備",
+ "armorMystery201703Notes": "雖然這件鎧甲的顏色會讓人想起春天的花瓣,但他卻比鋼鐵還堅硬! 無屬性加成。 2017年3月訂閱者專屬裝備",
"armorMystery201704Text": "童話鎧甲",
- "armorMystery201704Notes": "仙女們用晨露製作了這件鎧甲,可用來捕捉輕晨的第一道曙光的顏色。沒有屬性加成。 2017年4月訂閱者專屬裝備",
+ "armorMystery201704Notes": "仙女們用晨露製作了這件鎧甲,可用來捕捉輕晨的第一道曙光的顏色。無屬性加成。 2017年4月訂閱者專屬裝備",
"armorMystery201707Text": "水母法師鎧甲",
- "armorMystery201707Notes": "當您正進行海底任務和冒險時,這件鎧甲能幫助您巧聲無息地融入海洋生物之中。沒有屬性加成。 2017年7月訂閱者專屬裝備",
+ "armorMystery201707Notes": "當您正進行海底任務和冒險時,這件鎧甲能幫助您巧聲無息地融入海洋生物之中。無屬性加成。 2017年7月訂閱者專屬裝備",
"armorMystery201710Text": "傲慢惡鬼服飾",
- "armorMystery201710Notes": "粗糙的觸感、閃亮的外表、非常堅硬的外殼! 沒有屬性加成。 2017年10月訂閱者專屬裝備",
+ "armorMystery201710Notes": "粗糙的觸感、閃亮的外表、非常堅硬的外殼! 無屬性加成。 2017年10月訂閱者專屬裝備",
"armorMystery201711Text": "飛毯駕駛員服飾",
- "armorMystery201711Notes": "這件舒適的毛衣能讓您穿梭於天空時還能保持溫暖! 沒有屬性加成。 2017年11月訂閱者專屬裝備",
+ "armorMystery201711Notes": "這件舒適的毛衣能讓您穿梭於天空時還能保持溫暖! 無屬性加成。 2017年11月訂閱者專屬裝備",
"armorMystery201712Text": "蠟燭法師鎧甲",
- "armorMystery201712Notes": "這件魔法鎧甲照射出的光和熱會能溫暖您的心,但卻不會同時燒傷您! 沒有屬性加成。 2017年12月訂閱者專屬裝備",
+ "armorMystery201712Notes": "這件魔法鎧甲照射出的光和熱會能溫暖您的心,但卻不會同時燒傷您! 無屬性加成。 2017年12月訂閱者專屬裝備",
"armorMystery201802Text": "蟲粉鎧甲",
- "armorMystery201802Notes": "這件閃亮亮的鎧甲將反射出您心中的力量,並注入給附近每一位需要鼓勵的Habitica鄉民。沒有屬性加成。 2018年2月訂閱者專屬裝備",
+ "armorMystery201802Notes": "這件閃亮亮的鎧甲將反射出您心中的力量,並注入給附近每一位需要鼓勵的Habitica鄉民。無屬性加成。 2018年2月訂閱者專屬裝備",
"armorMystery201806Text": "驚艷琵琶魚燕尾服",
- "armorMystery201806Notes": "這件彎彎曲曲的燕尾服以能夠在深海中照亮前路為特色。沒有屬性加成。 2018年6月訂閱者專屬裝備",
+ "armorMystery201806Notes": "這件彎彎曲曲的燕尾服以能夠在深海中照亮前路為特色。無屬性加成。 2018年6月訂閱者專屬裝備",
"armorMystery201807Text": "大海蛇燕尾服",
- "armorMystery201807Notes": "這件強大的燕尾服能驅使您快速漫遊於深海裡! 沒有屬性加成。 2018年7月訂閱者專屬裝備",
+ "armorMystery201807Notes": "這件強大的燕尾服能驅使您快速漫遊於深海裡! 無屬性加成。 2018年7月訂閱者專屬裝備",
+ "armorMystery201808Text": "熔岩巨龍鎧甲",
+ "armorMystery201808Notes": "這副鎧甲是以難以捉摸(而且非常燙)的熔岩巨龍身上的蛻皮製作而成。無屬性加成。 2018年8月訂閱者專屬裝備",
+ "armorMystery201809Text": "秋葉鎧甲",
+ "armorMystery201809Notes": "您不僅是一片既微小又令人恐懼的葉片,您也正在炫耀這個季節裡最美麗的顏色。無屬性加成。 2018年9月訂閱者專屬裝備",
"armorMystery301404Text": "蒸汽龐克風套裝",
- "armorMystery301404Notes": "精巧又瀟灑,哇嗚!沒有屬性加成。 3015年2月訂閱者專屬裝備",
+ "armorMystery301404Notes": "精巧又瀟灑,哇嗚! 無屬性加成。 3015年2月訂閱者專屬裝備",
"armorMystery301703Text": "蒸汽龐克風孔雀禮服",
- "armorMystery301703Notes": "這件優雅的禮服極其適合於最奢華的慶典中穿上! 沒有屬性加成。 3017年3月訂閱者專屬裝備",
+ "armorMystery301703Notes": "這件優雅的禮服極其適合於最奢華的慶典中穿上! 無屬性加成。 3017年3月訂閱者專屬裝備",
"armorMystery301704Text": "蒸汽龐克風野雉洋裝",
- "armorMystery301704Notes": "這件高雅的服飾最適合在夜晚外出或於白天在工作室裡工作時穿上! 沒有屬性加成。 3017年4月訂閱者專屬裝備",
+ "armorMystery301704Notes": "這件高雅的服飾最適合在夜晚外出或於白天在工作室裡工作時穿上! 無屬性加成。 3017年4月訂閱者專屬裝備",
"armorArmoireLunarArmorText": "治癒之月鎧甲",
"armorArmoireLunarArmorNotes": "月光會使您變得更堅強與聰明。增加 <%= str %> 點力量和 <%= int %> 點智力。 來自神祕寶箱: 治癒之月套裝(2/3)",
"armorArmoireGladiatorArmorText": "角鬥士鎧甲",
@@ -673,17 +697,17 @@
"armorArmoireRancherRobesText": "牛仔長袍",
"armorArmoireRancherRobesNotes": "穿著這件奇妙的牛仔長袍,圈住您的坐騎,套上您的寵物!增加 <%= str %> 點力量、 <%= per %> 點感知和 <%= int %> 點智力。 來自神祕寶箱: 牛仔套裝(2/3)",
"armorArmoireGoldenTogaText": "黃金托加長袍",
- "armorArmoireGoldenTogaNotes": "這件閃閃發光的托加長袍只有真英雄才夠格穿戴。增加力量和體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(1/3)",
+ "armorArmoireGoldenTogaNotes": "這件閃閃發光的托加長袍只有真英雄才夠格穿戴。增加力量、體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(1/3)",
"armorArmoireHornedIronArmorText": "鐵角鎧甲",
"armorArmoireHornedIronArmorNotes": "純鋼打造,無懈可擊!增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 鐵角套裝(2/3)",
"armorArmoirePlagueDoctorOvercoatText": "瘟疫醫師大衣",
"armorArmoirePlagueDoctorOvercoatNotes": "怠惰瘟疫主治醫生專用的正式大衣。增加 <%= int %> 點智力、 <%= str %> 點力量和 <%= con %> 點體質。 來自神祕寶箱: 瘟疫醫師套裝(3/3)",
"armorArmoireShepherdRobesText": "牧羊人長袍",
- "armorArmoireShepherdRobesNotes": "布料材質涼爽、透氣,非常適合在沙漠中的大熱天放牧獅鷲。增加力量和感知各 <%= attrs %> 點。 來自神秘寶箱: 牧羊人套裝(2/3)",
+ "armorArmoireShepherdRobesNotes": "布料材質涼爽、透氣,非常適合在沙漠中的大熱天放牧獅鷲。增加力量、感知各 <%= attrs %> 點。 來自神秘寶箱: 牧羊人套裝(2/3)",
"armorArmoireRoyalRobesText": "皇家長袍",
- "armorArmoireRoyalRobesNotes": "偉大的統治者,吾王萬歲!增加體質、智力和感知各 <%= attrs %> 點。 來自神秘寶箱: 皇家套裝(3/3)",
+ "armorArmoireRoyalRobesNotes": "偉大的統治者,吾王萬歲!增加體質、智力、感知各 <%= attrs %> 點。 來自神秘寶箱: 皇家套裝(3/3)",
"armorArmoireCrystalCrescentRobesText": "玄月水晶長袍",
- "armorArmoireCrystalCrescentRobesNotes": "這件魔法長袍會在夜裡發出淡淡冷光。體質和感知各增加 <%= attrs %> 點。 來自神秘寶箱: 玄月水晶套裝 (2/3)",
+ "armorArmoireCrystalCrescentRobesNotes": "這件魔法長袍會在夜裡發出淡淡冷光。增加體質、感知各 <%= attrs %> 點。 來自神秘寶箱: 玄月水晶套裝 (2/3)",
"armorArmoireDragonTamerArmorText": "馴龍師鎧甲",
"armorArmoireDragonTamerArmorNotes": "這件堅硬的鎧甲可以抵擋熊熊烈火。增加 <%= con %> 點體質。 來自神祕寶箱: 馴龍師套裝(3/3)",
"armorArmoireBarristerRobesText": "大律師長袍",
@@ -706,34 +730,34 @@
"armorArmoireVermilionArcherArmorNotes": "這件鎧甲是用特別的附魔朱紅金屬製成,他將帶給您最少的拘束、最大化的保護、和天賦! 增加 <%= per %> 點感知。 來自神祕寶箱: 朱紅射手套裝(2/3)",
"armorArmoireOgreArmorText": "食人魔鎧甲",
"armorArmoireOgreArmorNotes": "這件鎧甲效仿了食人魔堅硬的皮膚,但它的內襯卻是用羊毛製成的,可以任人穿得更為舒適! 增加 <%= con %> 點體質。 來自神祕寶箱: 食人魔套裝(3/3)",
- "armorArmoireIronBlueArcherArmorText": "弓箭手藍鐵鎧甲",
+ "armorArmoireIronBlueArcherArmorText": "弓箭手水藍鐵鎧甲",
"armorArmoireIronBlueArcherArmorNotes": "這件鎧甲能保護您在戰場中免受飛來的弓箭所帶來的傷害! 增加 <%= str %> 點力量。 來自神祕寶箱: 鋼鐵弓箭手套裝(2/3)",
"armorArmoireRedPartyDressText": "赤紅派對洋裝",
- "armorArmoireRedPartyDressNotes": "您很強壯、堅強、聰明、又時尚! 增加力量、體質和智力各 <%= attrs %> 點。 來自神祕寶箱: 赤紅蝴蝶結套裝(2/2)",
+ "armorArmoireRedPartyDressNotes": "您很強壯、堅強、聰明、又時尚! 增加力量、體質、智力各 <%= attrs %> 點。 來自神祕寶箱: 赤紅蝴蝶結套裝(2/2)",
"armorArmoireWoodElfArmorText": "木精靈皮甲",
"armorArmoireWoodElfArmorNotes": "這件皮甲上的樹皮和樹葉能讓您在森林中提供持久的偽裝。增加 <%= per %> 點感知。 來自神祕寶箱: 森林妖精套裝(2/3)",
"armorArmoireRamFleeceRobesText": "牡羊毛長袍",
- "armorArmoireRamFleeceRobesNotes": "這件長袍能讓您在最猛烈的暴風雪中保持溫暖不失溫。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 野蠻牡羊套裝(2/3)",
+ "armorArmoireRamFleeceRobesNotes": "這件長袍能讓您在最猛烈的暴風雪中保持溫暖不失溫。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 牡羊野蠻人套裝(2/3)",
"armorArmoireGownOfHeartsText": "愛心禮服",
"armorArmoireGownOfHeartsNotes": "這套禮服處處皆有飾邊! 帶這還不是全部,他還會增加您內心的堅韌。增加 <%= con %> 點體質。 來自神祕寶箱: 心皇后套裝(2/3)",
"armorArmoireMushroomDruidArmorText": "德魯伊蘑菇鎧甲",
- "armorArmoireMushroomDruidArmorNotes": "這套長著蘑菇的棕色木鎧甲能夠讓您聽見各種森林中生物的低語聲。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 德魯伊蘑菇套裝(2/3)",
+ "armorArmoireMushroomDruidArmorNotes": "Mushroom Druid Armor。 這套長著蘑菇的棕色木鎧甲能夠讓您聽見各種森林中生物的低語聲。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 德魯伊蘑菇套裝(2/3)",
"armorArmoireGreenFestivalYukataText": "慶典草綠浴衣",
- "armorArmoireGreenFestivalYukataNotes": "這件輕盈的浴衣能讓您爽快地享受任何節日慶典。增加體質和感知各 <%= attrs %> 點。 來自神祕寶箱: 節日慶典套裝(1/3)",
+ "armorArmoireGreenFestivalYukataNotes": "這件輕盈的浴衣能讓您爽快地享受任何節日慶典。增加體質、感知各 <%= attrs %> 點。 來自神祕寶箱: 節日慶典套裝(1/3)",
"armorArmoireMerchantTunicText": "束腰外衣",
"armorArmoireMerchantTunicNotes": "這件束腰外衣的大袖子最適合將您賺到的錢塞在裡面! 增加 <%= per %> 點感知。 來自神祕寶箱: 商業大亨套裝(2/3)",
"armorArmoireVikingTunicText": "維京海盜束腰大衣",
"armorArmoireVikingTunicNotes": "這件溫暖的羊毛上衣藏有一件披風,即使被海洋中的強風吹拂,也會覺得格外地舒適。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 維京海盜套裝(1/3)",
"armorArmoireSwanDancerTutuText": "天鵝湖芭蕾舞裙",
- "armorArmoireSwanDancerTutuNotes": "當您穿著這件華麗的芭蕾舞裙旋轉揮舞時,您也將會與風一同扶搖直上飛到九霄雲外! 增加智力和力量各 <%= attrs %> 點。 來自神祕寶箱: 天鵝湖舞者套裝(2/3)",
+ "armorArmoireSwanDancerTutuNotes": "當您穿著這件華麗的芭蕾舞裙旋轉揮舞時,您也將會與風一同扶搖直上飛到九霄雲外! 增加智力、力量各 <%= attrs %> 點。 來自神祕寶箱: 天鵝湖舞者套裝(2/3)",
"armorArmoireAntiProcrastinationArmorText": "反怠惰鎧甲",
"armorArmoireAntiProcrastinationArmorNotes": "浸泡於古老的增長效率魔法之下,這件鐵製鎧甲能帶給您額外的力量來對抗您的任務。增加 <%= str %> 點力量。 來自神祕寶箱: 反怠惰套裝(2/3)",
"armorArmoireYellowPartyDressText": "金黃派對洋裝",
- "armorArmoireYellowPartyDressNotes": "您很敏銳、堅強、聰明又時尚! 增加感知、力量和智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(2/2)",
+ "armorArmoireYellowPartyDressNotes": "您很敏銳、堅強、聰明又時尚! 增加感知、力量、智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(2/2)",
"armorArmoireFarrierOutfitText": "蹄鐵工服飾",
- "armorArmoireFarrierOutfitNotes": "這件結實的工作服能讓您忍受處於最骯髒的馬廄。增加致力、感知和體質各 <%= attrs %> 點。 來自神祕寶箱: 蹄鐵工套裝(2/3)",
- "armorArmoireCandlestickMakerOutfitText": "蠟燭製作師服飾",
- "armorArmoireCandlestickMakerOutfitNotes": "這件結實的衣服可以讓您在製作蠟燭的同時不被高溫的蠟所燙傷。增加 <%= con %> 點體質。 來自神祕寶箱: 蠟燭製作師套裝(1/3)",
+ "armorArmoireFarrierOutfitNotes": "這件結實的工作服能讓您忍受處於最骯髒的馬廄。增加智力、感知、體質各 <%= attrs %> 點。 來自神祕寶箱: 蹄鐵工套裝(2/3)",
+ "armorArmoireCandlestickMakerOutfitText": "蠟燭台製作師服飾",
+ "armorArmoireCandlestickMakerOutfitNotes": "這件結實的衣服可以讓您在製作蠟燭的同時不被高溫的蠟所燙傷。增加 <%= con %> 點體質。 來自神祕寶箱: 蠟燭台製作師套裝(1/3)",
"armorArmoireWovenRobesText": "梭織長袍",
"armorArmoireWovenRobesNotes": "穿上這件多彩的長袍,驕傲地秀一下您的編織作品吧! 增加 <%= con %> 點體質和 <%= int %> 點智力。 來自神祕寶箱: 織布工套裝(1/3)",
"armorArmoireLamplightersGreatcoatText": "點燈伕長大衣",
@@ -741,19 +765,23 @@
"armorArmoireCoachDriverLiveryText": "馬車伕制服",
"armorArmoireCoachDriverLiveryNotes": "這件厚重的長大衣能讓您在駕車途中免受天氣的干擾。此外,它還看起來非常時髦亮麗! 增加 <%= str %> 點力量。 來自神秘寶箱: 馬車伕套裝(1/3)",
"armorArmoireRobeOfDiamondsText": "鑲鑽長袍",
- "armorArmoireRobeOfDiamondsNotes": "這件皇家長袍不僅讓您看起很高尚,還能讓您看見其他人的典雅。增加 <%= per %> 點感知。 來自神秘寶箱: 國王的鑽石套裝(1/4)",
- "armorArmoireFlutteryFrockText": "飛舞連衣裙",
- "armorArmoireFlutteryFrockNotes": "這件輕柔通風的長裙有寬大的裙襬,蝴蝶們可能會誤以為這是巨大的花朵! 增加體質、感知和力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(1/4)",
+ "armorArmoireRobeOfDiamondsNotes": "這件皇家長袍不僅讓您看起很高尚,還能讓您看見其他人的典雅。增加 <%= per %> 點感知。 來自神秘寶箱: 鑽石王者套裝(1/4)",
+ "armorArmoireFlutteryFrockText": "翩翩飛舞連衣裙",
+ "armorArmoireFlutteryFrockNotes": "這件輕柔通風的長裙有寬大的裙襬,蝴蝶們可能會誤以為這是巨大的花朵! 增加體質、感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(1/4)",
"armorArmoireCobblersCoverallsText": "鞋匠工作服",
- "armorArmoireCobblersCoverallsNotes": "這件結實的連體工作服上有很多口袋,可以裝工具、皮革廢料和其他有用的東西! 增加感知和力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(1/3)",
+ "armorArmoireCobblersCoverallsNotes": "這件結實的連體工作服上有很多口袋,可以裝工具、皮革廢料和其他有用的東西! 增加感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(1/3)",
"armorArmoireGlassblowersCoverallsText": "玻璃吹製工工作服",
"armorArmoireGlassblowersCoverallsNotes": "當您在用融化的熱玻璃製作偉大巨作時,這件工作服將能妥善地保護您。增加 <%= con %> 點體質。 來自神秘寶箱: 玻璃吹製工套裝(2/4)",
"armorArmoireBluePartyDressText": "水藍派對洋裝",
- "armorArmoireBluePartyDressNotes": "您很靈敏、堅韌、聰明又時尚! 增加感知、力量和體質各 <%= attrs %> 點。 來自神祕寶箱: 水藍蝴蝶結套裝(2/2) ",
+ "armorArmoireBluePartyDressNotes": "您很靈敏、堅韌、聰明又時尚! 增加感知、力量、體質各 <%= attrs %> 點。 來自神祕寶箱: 水藍蝴蝶結套裝(2/2) ",
"armorArmoirePiraticalPrincessGownText": "海盜公主禮服",
"armorArmoirePiraticalPrincessGownNotes": "這件高檔的禮服有很多口袋能裝許多武器和您的戰利品! 增加 <%= per %> 點感知。 來自神秘寶箱: 海盜公主套裝(2/4)",
"armorArmoireJeweledArcherArmorText": "射手寶石鎧甲",
"armorArmoireJeweledArcherArmorNotes": "這件精心打造的鎧甲能讓您免於受到飛彈或是讓人誤入歧途的深紅色的每日任務所威脅! 增加 <%= con %> 點體質。 來自神祕寶箱: 射手寶石套裝(2/3)",
+ "armorArmoireCoverallsOfBookbindingText": "圖書裝訂工工作服",
+ "armorArmoireCoverallsOfBookbindingNotes": "您需要的所有工具都裝在這件工作服的口袋裡。護目鏡、零錢、金戒指... 樣樣齊全。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神秘寶箱: 圖書裝訂工套裝(2/4)",
+ "armorArmoireRobeOfSpadesText": "黑桃長袍",
+ "armorArmoireRobeOfSpadesNotes": "這件高貴的長袍藏有能容納所有寶藏或武器的隱藏口袋 - 一切由您決定! 增加 <%= str %> 點力量。 來自神祕寶箱: 黑桃長矛套裝(2/3)",
"headgear": "頭盔",
"headgearCapitalized": "頭部裝備",
"headBase0Text": "沒有頭部裝備",
@@ -801,11 +829,11 @@
"headSpecial0Text": "黑影頭盔",
"headSpecial0Notes": "鮮血和灰燼、熔岩和黑曜岩分別賜予這頂頭盔意象與力量。增加 <%= int %> 點智力。",
"headSpecial1Text": "水晶頭盔",
- "headSpecial1Notes": "那些以身作則的人最想得到的皇冠。增加所有屬性 <%= attrs %> 點。",
+ "headSpecial1Notes": "那些以身作則的人最想得到的皇冠。增加所有屬性各 <%= attrs %> 點。",
"headSpecial2Text": "無名頭盔",
- "headSpecial2Notes": "不求回報的人對自己許下的誓約。增加智力和力量各 <%= attrs %> 點。",
+ "headSpecial2Notes": "不求回報的人對自己許下的誓約。增加智力、力量各 <%= attrs %> 點。",
"headSpecialTakeThisText": "收下這頂頭盔",
- "headSpecialTakeThisNotes": "這頂頭盔只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
+ "headSpecialTakeThisNotes": "這頂頭盔只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
"headSpecialFireCoralCircletText": "火珊瑚飾環",
"headSpecialFireCoralCircletNotes": "這副頭飾是由Habitica中最厲害的煉金術師所操刀設計的。可以讓您在水中呼吸和潛水尋寶! 增加 <%= per %> 點感知。",
"headSpecialPyromancersTurbanText": "烈焰術士包頭巾",
@@ -813,7 +841,7 @@
"headSpecialBardHatText": "吟遊詩人之帽",
"headSpecialBardHatNotes": "替您的帽帽插根羽毛並稱它為「效率飛毛」! 增加 <%= int %> 點智力。",
"headSpecialLunarWarriorHelmText": "月亮戰士頭盔",
- "headSpecialLunarWarriorHelmNotes": "月光會在您戰鬥時賜予您力量! 增加力量和智力各 <%= attrs %> 點。",
+ "headSpecialLunarWarriorHelmNotes": "月光會在您戰鬥時賜予您力量! 增加力量、智力各 <%= attrs %> 點。",
"headSpecialMammothRiderHelmText": "長毛象騎士頭盔",
"headSpecialMammothRiderHelmNotes": "可千萬別被它軟綿綿的外表給騙了! 這頂帽子能賜予您最敏銳的感知! 增加 <%= per %> 點感知。",
"headSpecialPageHelmText": "書頁頭盔",
@@ -830,12 +858,12 @@
"headSpecialDandyHatNotes": "這是一頂多麼賞心悅目的帽子啊! 您會很享受戴著它閒逛的感覺。增加 <%= con %> 點體質。",
"headSpecialKabutoText": "假面騎士頭盔",
"headSpecialKabutoNotes": "這頂頭盔也太酷了吧! 您的敵人也一定會忍不住讚美它! 增加 <%= int %> 點智力。",
- "headSpecialNamingDay2017Text": "上等紫獅鷲頭盔",
- "headSpecialNamingDay2017Notes": "命名節快樂! 快戴上這頂由兇猛獅鷲的羽毛編製而成的頭盔一同前來慶祝Habitica吧! 沒有屬性加成。",
+ "headSpecialNamingDay2017Text": "紫禦獅鷲頭盔",
+ "headSpecialNamingDay2017Notes": "命名節快樂! 快戴上這頂由兇猛獅鷲的羽毛編製而成的頭盔一同前來為 Habitica 歡慶吧! 無屬性加成。",
"headSpecialTurkeyHelmBaseText": "火雞頭盔",
- "headSpecialTurkeyHelmBaseNotes": "唯有戴上這頂鳥嘴狀的頭盔,您的火雞Cosplay才算完整喔! 沒有屬性加成。",
+ "headSpecialTurkeyHelmBaseNotes": "唯有戴上這頂鳥嘴狀的頭盔,您的火雞Cosplay才算完整喔! 無屬性加成。",
"headSpecialNyeText": "滑稽派對帽",
- "headSpecialNyeNotes": "恭喜您收到一頂滑稽的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 沒有屬性加成。",
+ "headSpecialNyeNotes": "恭喜您收到一頂滑稽的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 無屬性加成。",
"headSpecialYetiText": "雪怪馴化師頭盔",
"headSpecialYetiNotes": "一頂可愛又可怕的帽子。提高<%= str %>點力量。2013-2014冬季限量版裝備。",
"headSpecialSkiText": "滑雪刺客頭盔",
@@ -869,7 +897,7 @@
"headSpecialFallHealerText": "頭部繃帶",
"headSpecialFallHealerNotes": "極具衛生,又兼具時尚。增加 <%= int %> 點智力。 2014年秋季限定版裝備",
"headSpecialNye2014Text": "傻氣派對帽",
- "headSpecialNye2014Notes": "恭喜您收到一頂傻氣的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 沒有屬性加成。",
+ "headSpecialNye2014Notes": "恭喜您收到一頂傻氣的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 無屬性加成。",
"headSpecialWinter2015RogueText": "冰錐龍獸面罩",
"headSpecialWinter2015RogueNotes": "(Icicle Drake) 您千真、萬卻、絕對就是那隻傳說中的冰錐龍獸。您不曾想過要攻佔冰錐龍獸的老巢。您對傳說中躺在寒冷隧道裡的巨額財富也毫無興趣。嗷。增加 <%= per %> 點感知。 2014-2015冬季限定版裝備",
"headSpecialWinter2015WarriorText": "薑餅頭盔",
@@ -889,7 +917,7 @@
"headSpecialSummer2015RogueText": "叛變者帽子",
"headSpecialSummer2015RogueNotes": "這頂海盜帽是從船上掉進海裡的。帽上裝飾著火珊瑚的碎片。增加 <%= per %> 點感知。 2015年夏季限定版裝備",
"headSpecialSummer2015WarriorText": "海洋寶石頭盔",
- "headSpecialSummer2015WarriorNotes": "由辦事拖拉的工匠從深海金屬提煉製作而成。是頂堅固又兼具美觀的頭盔。增加<%= str %>點力量。2015年夏季限定版裝備",
+ "headSpecialSummer2015WarriorNotes": "由怠慢小鎮出生的工匠從深海金屬提煉製作而成。是頂堅固又兼具美觀的頭盔。增加 <%= str %> 點力量。2015年夏季限定版裝備",
"headSpecialSummer2015MageText": "預言家圍巾",
"headSpecialSummer2015MageNotes": "神秘力量閃耀在這條圍巾的絲線中。增加 <%= per %> 點感知。 2015年夏季限定版裝備",
"headSpecialSummer2015HealerText": "水手帽",
@@ -903,7 +931,7 @@
"headSpecialFall2015HealerText": "青蛙帽子",
"headSpecialFall2015HealerNotes": "這是一頂非供娛樂用的帽子。只有最優秀的魔藥師能夠配戴它。增加 <%= int %> 點智力。 2015年秋季限定版裝備",
"headSpecialNye2015Text": "荒謬派對帽",
- "headSpecialNye2015Notes": "恭喜您收到一頂荒謬的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 沒有屬性加成。",
+ "headSpecialNye2015Notes": "恭喜您收到一頂荒謬的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 無屬性加成。",
"headSpecialWinter2016RogueText": "可可豆頭盔",
"headSpecialWinter2016RogueNotes": "在這頂舒適的頭盔裡還藏有一條能夠保護您的圍巾。您可以將他拿下來並細細品嚐裝在裡面的冬季飲品喔! 增加 <%= per %> 點感知。 2015-2016冬季限定版裝備",
"headSpecialWinter2016WarriorText": "雪人帽子",
@@ -927,7 +955,7 @@
"headSpecialSummer2016MageText": "噴射水柱帽",
"headSpecialSummer2016MageNotes": "附魔藥水正不停地從這頂帽子上噴灑出來。增加 <%= per %> 點感知。 2016年夏季限定版裝備",
"headSpecialSummer2016HealerText": "海馬頭盔",
- "headSpecialSummer2016HealerNotes": "這頂頭盔顯示著它的穿戴者是位由主治怠慢症的魔法治療師海馬所訓練長大的。增加 <%= int %> 點智力。 2016年夏季限定版裝備",
+ "headSpecialSummer2016HealerNotes": "這頂頭盔彰顯著它的穿戴者是位由怠慢小鎮出生的海馬所訓練長大的。增加 <%= int %> 點智力。 2016年夏季限定版裝備",
"headSpecialFall2016RogueText": "黑寡婦頭盔",
"headSpecialFall2016RogueNotes": "頭盔上的蜘蛛腳持續不停地在抽搐。增加 <%= per %> 點感知。 2016年秋季限定版裝備",
"headSpecialFall2016WarriorText": "粗糙樹皮頭盔",
@@ -937,7 +965,7 @@
"headSpecialFall2016HealerText": "美杜莎皇冠",
"headSpecialFall2016HealerNotes": "(Medusa's Crown) 任何看著您眼睛的人都將被賜予禍害。增加 <%= int %> 點智力。 2016年秋季限定版裝備",
"headSpecialNye2016Text": "古怪派對帽",
- "headSpecialNye2016Notes": "恭喜您收到一頂古怪的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 沒有屬性加成。",
+ "headSpecialNye2016Notes": "恭喜您收到一頂古怪的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 無屬性加成。",
"headSpecialWinter2017RogueText": "寒霜頭盔",
"headSpecialWinter2017RogueNotes": "這件盔甲是由冰晶塑造而成的,能幫助您無聲無息地穿過冰雪地形。增加 <%= per %> 點感知。 2016-2017冬季限定版裝備",
"headSpecialWinter2017WarriorText": "曲棍球頭盔",
@@ -971,7 +999,7 @@
"headSpecialFall2017HealerText": "鬼屋頭盔",
"headSpecialFall2017HealerNotes": "快來邀請陰森可怕的靈魂和友好的生物們一同來見證您戴上這頂帽子後的強大治癒能力吧! 增加 <%= int %> 點智力。 2017年秋季限定版裝備",
"headSpecialNye2017Text": "夢幻派對帽",
- "headSpecialNye2017Notes": "恭喜您收到一頂夢幻的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 沒有屬性加成。",
+ "headSpecialNye2017Notes": "恭喜您收到一頂夢幻的派對慶生帽! 當新年鐘聲響起時,就自豪地戴上它吧! 無屬性加成。",
"headSpecialWinter2018RogueText": "馴鹿頭盔",
"headSpecialWinter2018RogueNotes": "這是一頂置有內建頭燈的絕佳慶典裝扮! 增加 <%= per %> 點感知。 2017-2018冬季限定版裝備",
"headSpecialWinter2018WarriorText": "禮盒頭盔",
@@ -996,88 +1024,100 @@
"headSpecialSummer2018MageNotes": "用痛苦難耐的強光照射在膽敢叫您「失智魚」的人身上。增加 <%= per %> 點感知。 2018年夏季限定版裝備。",
"headSpecialSummer2018HealerText": "人魚帝王皇冠",
"headSpecialSummer2018HealerNotes": "這頂帶鰭的王冕以海藍寶石點綴,象徵著擁有人類、魚類,還有兼具兩者的生物的統治權!增加 <%= int %> 點智力。 2018年夏季限定版裝備。",
+ "headSpecialFall2018RogueText": "雙重人格面具",
+ "headSpecialFall2018RogueNotes": "絕大多數的人都會將自己內心的糾葛所隱藏。這副面具正表明了我們都經歷了各種好念頭與壞衝動的戰爭。此外,它還配有一頂甜美的帽子! 增加 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "headSpecialFall2018WarriorText": "彌諾陶洛斯面具",
+ "headSpecialFall2018WarriorNotes": "(Minotaur Visage) 這副令人驚悚的面具正表明了您可以只花九牛一毛之力就完成您所有的任務! 增加 <%= str %> 點力量。 2018年秋季限定版裝備",
+ "headSpecialFall2018MageText": "糖果法師帽",
+ "headSpecialFall2018MageNotes": "這頂帶有尖頭的帽子充滿了強烈的甜蜜蜜咒語。小心,如果它開始融化,將會變得非常黏人! 增加 <%= per %> 點感知。 2018年秋季限定版裝備",
+ "headSpecialFall2018HealerText": "狼吞虎嚥頭盔",
+ "headSpecialFall2018HealerNotes": "這頂頭盔是由一種食肉植物所製成,它以能夠製造殭屍和麻煩而聞名。要小心不要讓它在您頭上咀嚼。增加 <%= int %> 點智力。 2018年秋季限定版裝備",
"headSpecialGaymerxText": "彩虹戰士頭盔",
- "headSpecialGaymerxNotes": "為了慶祝GaymerX大會,這頂特別的頭盔飾有炫目多彩、光芒四射的彩虹圖案! GaymerX是一個向所有人開放且支持LGTBQ的遊戲展覽會。",
+ "headSpecialGaymerxNotes": "為了慶祝GaymerX大會,這頂特別的頭盔飾有炫目多彩、光芒四射的彩虹圖案! GaymerX是一個向所有人開放且支持LGTBQ的遊戲展覽會。無屬性加成。",
"headMystery201402Text": "翼盔",
- "headMystery201402Notes": "這副帶有翅膀的頭飾能使佩戴者風馳電掣!沒有屬性加成。 2014年2月訂閱者專屬裝備",
+ "headMystery201402Notes": "這副帶有翅膀的頭飾能使佩戴者風馳電掣! 無屬性加成。 2014年2月訂閱者專屬裝備",
"headMystery201405Text": "精神烈焰",
- "headMystery201405Notes": "怠惰通通燒毀!沒有屬性加成。 2014年5月訂閱者專屬裝備",
+ "headMystery201405Notes": "怠惰通通燒毀! 無屬性加成。 2014年5月訂閱者專屬裝備",
"headMystery201406Text": "觸角皇冠",
- "headMystery201406Notes": "這頂頭盔的觸手能從水中聚集魔力。沒有屬性加成。 2014年6月訂閱者專屬裝備",
+ "headMystery201406Notes": "這頂頭盔的觸手能從水中聚集魔力。無屬性加成。 2014年6月訂閱者專屬裝備",
"headMystery201407Text": "海底探險家頭盔",
- "headMystery201407Notes": "這頂頭盔能讓探索海底變得易如反掌! 同時它也能讓您變得有點像瞪大眼睛的魚。非常具有復古風!沒有屬性加成。 2014年7月訂閱者專屬裝備",
+ "headMystery201407Notes": "這頂頭盔能讓探索海底變得易如反掌! 同時它也能讓您變得有點像瞪大眼睛的魚。非常具有復古風!無屬性加成。 2014年7月訂閱者專屬裝備",
"headMystery201408Text": "太陽皇冠",
- "headMystery201408Notes": "這頂閃耀的皇冠給它的佩戴者帶來強大的意志力。沒有屬性加成。 2014年8月訂閱者專屬裝備",
+ "headMystery201408Notes": "這頂閃耀的皇冠給它的佩戴者帶來強大的意志力。無屬性加成。 2014年8月訂閱者專屬裝備",
"headMystery201411Text": "運動鐵盔",
- "headMystery201411Notes": "這頂帽子是一種傳說中在Habitica裡備受歡迎的體育項目所配戴的。名子就叫平衡球。內容包括將自己全身包覆在防禦裝備之下,並能致力於取得工作和生活之間的平衡... 在被獅鷲獸追趕的時候!沒有屬性加成。 2014年11月訂閱者專屬裝備",
+ "headMystery201411Notes": "這頂帽子是一種傳說中在Habitica裡備受歡迎的體育項目所配戴的。名子就叫平衡球。內容包括將自己全身包覆在防禦裝備之下,並能致力於取得工作和生活之間的平衡... 在被獅鷲獸追趕的時候!無屬性加成。 2014年11月訂閱者專屬裝備",
"headMystery201412Text": "企鵝帽子",
- "headMystery201412Notes": "誰是企鵝? 沒有屬性加成。 2014年12月訂閱者專屬裝備",
+ "headMystery201412Notes": "誰是企鵝? 無屬性加成。 2014年12月訂閱者專屬裝備",
"headMystery201501Text": "繁星頭盔",
- "headMystery201501Notes": "頭盔上閃爍搖曳的星座能指引佩戴者的思緒並朝向目標前進。沒有屬性加成。 2015年1月訂閱者專屬裝備",
+ "headMystery201501Notes": "頭盔上閃爍搖曳的星座能指引佩戴者的思緒並朝向目標前進。無屬性加成。 2015年1月訂閱者專屬裝備",
"headMystery201505Text": "綠騎士頭盔",
- "headMystery201505Notes": "頭盔上的綠色長羽正驕傲的舞動著。沒有屬性加成。 2015年5月訂閱者專屬裝備",
+ "headMystery201505Notes": "頭盔上的綠色長羽正驕傲的舞動著。無屬性加成。 2015年5月訂閱者專屬裝備",
"headMystery201508Text": "獵豹帽",
- "headMystery201508Notes": "這頂柔順的獵豹帽可真是毛茸茸啊!沒有屬性加成。 2015年8月訂閱者專屬裝備",
+ "headMystery201508Notes": "這頂柔順的獵豹帽可真是毛茸茸啊! 無屬性加成。 2015年8月訂閱者專屬裝備",
"headMystery201509Text": "狼人面具",
- "headMystery201509Notes": "這是頂面具,對吧? 沒有屬性加成。 2015年9月訂閱者專屬裝備",
+ "headMystery201509Notes": "這是頂面具,對吧? 無屬性加成。 2015年9月訂閱者專屬裝備",
"headMystery201511Text": "木材皇冠",
- "headMystery201511Notes": "數數看這頂皇冠上有多少條年輪,這樣就能知道這頂皇冠的年齡有多大了。沒有屬性加成。 2015年11月訂閱者專屬裝備",
+ "headMystery201511Notes": "數數看這頂皇冠上有多少條年輪,這樣就能知道這頂皇冠的年齡有多大了。無屬性加成。 2015年11月訂閱者專屬裝備",
"headMystery201512Text": "冬日烈焰",
- "headMystery201512Notes": "這團烈焰以最純粹的智慧燃燒著冰冷。沒有屬性加成。 2015年12月訂閱者專屬裝備",
+ "headMystery201512Notes": "這團烈焰以最純粹的智慧燃燒著冰冷。無屬性加成。 2015年12月訂閱者專屬裝備",
"headMystery201601Text": "真決心頭盔",
- "headMystery201601Notes": "保持堅定,勇敢的鬥士! 沒有屬性加成。 2016年1月訂閱者專屬裝備",
+ "headMystery201601Notes": "保持堅定,勇敢的鬥士! 無屬性加成。 2016年1月訂閱者專屬裝備",
"headMystery201602Text": "破心者頭罩",
- "headMystery201602Notes": "在所有愛慕者面前捍衛您的身分。沒有屬性加成。 2016年2月訂閱者專屬裝備",
+ "headMystery201602Notes": "在所有愛慕者面前捍衛您的身分。無屬性加成。 2016年2月訂閱者專屬裝備",
"headMystery201603Text": "幸運帽",
- "headMystery201603Notes": "這頂高頂禮帽散發著神奇的好運魔力。沒有屬性加成。 2016年3月訂閱者專屬裝備",
+ "headMystery201603Notes": "這頂高頂禮帽散發著神奇的好運魔力。無屬性加成。 2016年3月訂閱者專屬裝備",
"headMystery201604Text": "鮮花皇冠",
- "headMystery201604Notes": "這些被編織在一起的鮮花造就了一頂驚奇的強大頭盔! 沒有屬性加成。 2016年4月訂閱者專屬裝備",
+ "headMystery201604Notes": "這些被編織在一起的鮮花造就了一頂驚奇的強大頭盔! 無屬性加成。 2016年4月訂閱者專屬裝備",
"headMystery201605Text": "吟遊詩人行軍高帽",
- "headMystery201605Notes": "76隻龍帶領著整個大遊行,另外有110隻獅鷲就在旁邊! 沒有屬性加成。 2016年5月訂閱者專屬裝備",
+ "headMystery201605Notes": "76隻龍帶領著整個大遊行,另外有110隻獅鷲就在旁邊! 無屬性加成。 2016年5月訂閱者專屬裝備",
"headMystery201606Text": "海豹人帽子",
- "headMystery201606Notes": "(Selkie Cap) 一邊融入嬉戲中的海豹裡,一邊哼著海洋的曲調! 沒有屬性加成。 2016年6月訂閱者專屬裝備",
+ "headMystery201606Notes": "(Selkie Cap) 一邊融入嬉戲中的海豹裡,一邊哼著海洋的曲調! 無屬性加成。 2016年6月訂閱者專屬裝備",
"headMystery201607Text": "海底盜賊頭盔",
- "headMystery201607Notes": "生長在這頂頭盔上的海帶有助於進行偽裝自己。沒有屬性加成。 2016年7月訂閱者專屬裝備",
+ "headMystery201607Notes": "生長在這頂頭盔上的海帶有助於進行偽裝自己。無屬性加成。 2016年7月訂閱者專屬裝備",
"headMystery201608Text": "閃電頭盔",
- "headMystery201608Notes": "這頂霹靂啪啦作響的頭盔可以導電! 沒有屬性加成。 2016年8月訂閱者專屬裝備",
+ "headMystery201608Notes": "這頂霹靂啪啦作響的頭盔可以導電! 無屬性加成。 2016年8月訂閱者專屬裝備",
"headMystery201609Text": "乳牛帽",
- "headMystery201609Notes": "您絕對不會想要哞~下這頂乳牛帽。沒有屬性加成。 2016年9月訂閱者專屬裝備",
+ "headMystery201609Notes": "您絕對不會想要哞~下這頂乳牛帽。無屬性加成。 2016年9月訂閱者專屬裝備",
"headMystery201610Text": "幽靈火焰",
- "headMystery201610Notes": "這些火焰將會喚醒您的鬼魂力量。沒有屬性加成。 2016年10月訂閱者專屬裝備",
+ "headMystery201610Notes": "這些火焰將會喚醒您的鬼魂力量。無屬性加成。 2016年10月訂閱者專屬裝備",
"headMystery201611Text": "豪華盛宴帽",
- "headMystery201611Notes": "有了這頂有羽毛裝飾的帽子,您絕對會是這次盛宴中最華麗的人。沒有屬性加成。 2016年11月訂閱者專屬裝備",
+ "headMystery201611Notes": "有了這頂有羽毛裝飾的帽子,您絕對會是這次盛宴中最華麗的人。無屬性加成。 2016年11月訂閱者專屬裝備",
"headMystery201612Text": "胡桃鉗頭盔",
- "headMystery201612Notes": "這頂高大而壯麗的頭盔給您的慶典服裝增添了華麗的元素! 沒有屬性加成。 2016年12月訂閱者專屬裝備",
+ "headMystery201612Notes": "這頂高大而壯麗的頭盔給您的慶典服裝增添了華麗的元素! 無屬性加成。 2016年12月訂閱者專屬裝備",
"headMystery201702Text": "盜心者頭罩",
- "headMystery201702Notes": "儘管這條頭罩隱藏了您的臉,但這只會增加您的魅力! 沒有屬性加成。 2017年2月訂閱者專屬裝備",
+ "headMystery201702Notes": "儘管這條頭罩隱藏了您的臉,但這只會增加您的魅力! 無屬性加成。 2017年2月訂閱者專屬裝備",
"headMystery201703Text": "一閃一閃亮頭盔",
- "headMystery201703Notes": "從角狀頭盔上反射而來的柔和微光,就算是脾氣最差的敵人都能平靜下來。沒有屬性加成。 2017年3月訂閱者專屬裝備",
+ "headMystery201703Notes": "從角狀頭盔上反射而來的柔和微光,就算是脾氣最差的敵人都能平靜下來。無屬性加成。 2017年3月訂閱者專屬裝備",
"headMystery201705Text": "羽毛戰士頭盔",
- "headMystery201705Notes": "Habitica 因為其兇猛、極具效率的獅鷲戰士而聞名天下! 快戴上這頂羽毛頭盔,一同加入這個受人尊敬的行列之中吧。沒有屬性加成。 2017年5月訂閱者專屬裝備",
+ "headMystery201705Notes": "Habitica 因為其兇猛、極具效率的獅鷲戰士而聞名天下! 快戴上這頂羽毛頭盔,一同加入這個受人尊敬的行列之中吧。無屬性加成。 2017年5月訂閱者專屬裝備",
"headMystery201707Text": "水母法師頭盔",
- "headMystery201707Notes": "對於任務,您需要額外的援助嗎? 這頂半透明的水母頭盔上有相當多的觸手願意伸出援手! 沒有屬性加成。 2017年7月訂閱者專屬裝備",
+ "headMystery201707Notes": "對於任務,您需要額外的援助嗎? 這頂半透明的水母頭盔上有相當多的觸手願意伸出援手! 無屬性加成。 2017年7月訂閱者專屬裝備",
"headMystery201710Text": "傲慢惡鬼頭盔",
- "headMystery201710Notes": "這頂頭盔讓您看起來有點嚇人。但它不會對您的深度感知有任何幫助! 沒有屬性加成。 2017年10月訂閱者專屬裝備",
+ "headMystery201710Notes": "這頂頭盔讓您看起來有點嚇人。但它不會對您的深度感知有任何幫助! 無屬性加成。 2017年10月訂閱者專屬裝備",
"headMystery201712Text": "蠟燭法師皇冠",
- "headMystery201712Notes": "這頂皇冠能在最黑暗的寒冬夜晚裡帶來光明和溫暖。沒有屬性加成。 2017年12月訂閱者專屬裝備",
+ "headMystery201712Notes": "這頂皇冠能在最黑暗的寒冬夜晚裡帶來光明和溫暖。無屬性加成。 2017年12月訂閱者專屬裝備",
"headMystery201802Text": "蟲粉頭盔",
- "headMystery201802Notes": "這頂頭盔上的觸鬚可作為可愛的探測桿,可以探測四周愛與支持的氣氛。沒有屬性加成。 2018年2月訂閱者專屬裝備",
+ "headMystery201802Notes": "這頂頭盔上的觸鬚可作為可愛的探測桿,可以探測四周愛與支持的氣氛。無屬性加成。 2018年2月訂閱者專屬裝備",
"headMystery201803Text": "勇猛蜻蜓飾環",
- "headMystery201803Notes": "雖然它的外觀非常具有裝飾性,但您可以將翅膀放在這個頭飾上以獲得額外的上升能力! 沒有屬性加成。 2018年3月訂閱者專屬裝備",
+ "headMystery201803Notes": "雖然它的外觀非常具有裝飾性,但您可以將翅膀放在這個頭飾上以獲得額外的上升能力! 無屬性加成。 2018年3月訂閱者專屬裝備",
"headMystery201805Text": "華麗孔雀頭盔",
- "headMystery201805Notes": "這頂頭盔將能讓您成為城鎮裡最自豪、漂亮(也有可能是最吵鬧)的鳥類。沒有屬性加成。 2018年5月訂閱者專屬裝備",
+ "headMystery201805Notes": "這頂頭盔將能讓您成為城鎮裡最自豪、漂亮(也有可能是最吵鬧)的鳥類。無屬性加成。 2018年5月訂閱者專屬裝備",
"headMystery201806Text": "驚豔琵琶魚頭盔",
- "headMystery201806Notes": "這頂頭盔上非常吸引人的光線能喚使所有海中的生物到您的身旁。我們懇請您使用這個誘人的發光能力於正面的地方! 沒有屬性加成。 2018年6月訂閱者專屬裝備",
+ "headMystery201806Notes": "這頂頭盔上非常吸引人的光線能喚使所有海中的生物到您的身旁。我們懇請您使用這個誘人的發光能力於正面的地方! 無屬性加成。 2018年6月訂閱者專屬裝備",
"headMystery201807Text": "大海蛇頭盔",
- "headMystery201807Notes": "這頂頭盔上堅韌的魚鱗能保護您免於受到任何海洋中敵人的攻擊。沒有屬性加成。 2018年7月訂閱者專屬裝備",
+ "headMystery201807Notes": "這頂頭盔上堅韌的魚鱗能保護您免於受到任何海洋中敵人的攻擊。無屬性加成。 2018年7月訂閱者專屬裝備",
+ "headMystery201808Text": "熔岩巨龍披風",
+ "headMystery201808Notes": "披風上那閃閃發亮的龍角能夠在地底的洞穴中照亮您的路。無屬性加成。 2018年8月訂閱者專屬裝備",
+ "headMystery201809Text": "秋季花朵皇冠",
+ "headMystery201809Notes": "來自秋季溫暖日子中的最後一朵花正是紀念此季節中的美麗事物之最佳信物。無屬性加成。 2018年9月訂閱者專屬裝備",
"headMystery301404Text": "華麗高頂禮帽",
- "headMystery301404Notes": "上流社會佼佼者的華麗高頂禮帽! 沒有屬性加成。3015年1月訂閱者專屬裝備",
+ "headMystery301404Notes": "上流社會佼佼者的華麗高頂禮帽! 無屬性加成。 3015年1月訂閱者專屬裝備",
"headMystery301405Text": "基礎高頂禮帽",
- "headMystery301405Notes": "一頂基礎級的高頂禮帽。一直渴望能與一些華麗的頭飾搭配。沒有屬性加成。 3015年5月訂閱者專屬裝備",
+ "headMystery301405Notes": "一頂基礎級的高頂禮帽。一直渴望能與一些華麗的頭飾搭配。無屬性加成。 3015年5月訂閱者專屬裝備",
"headMystery301703Text": "華麗羽毛帽",
- "headMystery301703Notes": "這頂帽子上的羽毛是由普理女士的淑女學校(Miss Prue's Finishing School)捐贈給華麗孔雀們的。請自豪地戴上它們吧! 沒有屬性加成。 3017年3月訂閱者專屬裝備",
+ "headMystery301703Notes": "這頂帽子上的羽毛是由普理女士的淑女學校(Miss Prue's Finishing School)捐贈給華麗孔雀們的。請自豪地戴上它們吧! 無屬性加成。 3017年3月訂閱者專屬裝備",
"headMystery301704Text": "野雉羽帽",
- "headMystery301704Notes": "有甚麼事情能比獲得一根野雉的羽毛還讓人更開心呢? 沒有屬性加成。 3017年4月訂閱者專屬裝備",
+ "headMystery301704Notes": "有甚麼事情能比獲得一根野雉的羽毛還讓人更開心呢? 無屬性加成。 3017年4月訂閱者專屬裝備",
"headArmoireLunarCrownText": "治癒之月皇冠",
"headArmoireLunarCrownNotes": "這頂皇冠能增強您的生命並讓您變得更敏捷,尤其是在滿月的時候。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 治癒之月套裝(1/3)",
"headArmoireRedHairbowText": "赤紅蝴蝶結頭飾",
@@ -1093,25 +1133,25 @@
"headArmoireRoyalCrownText": "皇家王冠",
"headArmoireRoyalCrownNotes": "吾王萬歲萬萬歲,年年有今日歲歲有今朝!增加 <%= str %> 點力量。 來自神秘寶箱: 皇家套裝(1/3)",
"headArmoireGoldenLaurelsText": "黃金桂冠",
- "headArmoireGoldenLaurelsNotes": "這個金色桂冠是用來獎勵那些已經成功克服壞習慣的人們。增加感知和體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(2/3)",
+ "headArmoireGoldenLaurelsNotes": "這個金色桂冠是用來獎勵那些已經成功克服壞習慣的人們。增加感知、體質各 <%= attrs %> 點。 來自神祕寶箱: 黃金托加長袍套裝(2/3)",
"headArmoireHornedIronHelmText": "鐵角頭盔",
"headArmoireHornedIronHelmNotes": "純鋼打造,無懈可擊。這頂鐵角頭盔硬得幾乎無法被打破。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 鐵角套裝(1/3)",
"headArmoireYellowHairbowText": "金黃蝴蝶結頭飾",
- "headArmoireYellowHairbowNotes": "戴上這副金黃色的蝴蝶結頭飾,就能讓您變得更敏銳、強壯,還會變聰明喔! 增加感知、力量和智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(1/2)",
+ "headArmoireYellowHairbowNotes": "戴上這副金黃色的蝴蝶結頭飾,就能讓您變得更敏銳、強壯,還會變聰明喔! 增加感知、力量、智力各 <%= attrs %> 點。 來自神祕寶箱: 金黃蝴蝶結套裝(1/2)",
"headArmoireRedFloppyHatText": "亮紅寬簷帽",
- "headArmoireRedFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹光芒四射的紅色。增加感知、智力和體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireRedFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹光芒四射的紅色。增加感知、智力、體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoirePlagueDoctorHatText": "瘟疫醫師帽",
"headArmoirePlagueDoctorHatNotes": "怠惰瘟疫主治醫生,值得一頂真實可靠的帽子!增加 <%= str %> 點力量、 <%= int %> 點智力和 <%= con %> 點體質。 來自神祕寶箱: 瘟疫醫師套裝(1/3)",
"headArmoireBlackCatText": "黑貓帽",
- "headArmoireBlackCatNotes": "這頂黑帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireBlackCatNotes": "這頂黑帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoireOrangeCatText": "橘貓帽",
- "headArmoireOrangeCatNotes": "這頂橘帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加力量和體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireOrangeCatNotes": "這頂橘帽正在...打鼾,還甩動尾巴並深呼吸? 沒錯,在您頭上的正是一隻正在睡覺的貓。增加力量、體質各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoireBlueFloppyHatText": "水藍寬簷帽",
- "headArmoireBlueFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹燦爛的藍色。增加體質、智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireBlueFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹燦爛的藍色。增加體質、智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
"headArmoireShepherdHeaddressText": "牧羊人頭飾",
"headArmoireShepherdHeaddressNotes": "你戴上這頂頭飾能讓您顯得智力非凡,不過您放養的獅鷲無聊時喜歡咀嚼它。增加 <%= int %> 點智力。 來自神秘寶箱: 牧羊人套裝(3/3)",
"headArmoireCrystalCrescentHatText": "弦月水晶帽",
- "headArmoireCrystalCrescentHatNotes": "這頂帽子的力量會隨著月亮的陰晴圓缺而變化。增加智力和感知各 <%= attrs %> 點。神秘寶箱: 弦月水晶套裝(1/3)",
+ "headArmoireCrystalCrescentHatNotes": "這頂帽子的力量會隨著月亮的陰晴圓缺而變化。增加智力、感知各 <%= attrs %> 點。神秘寶箱: 弦月水晶套裝(1/3)",
"headArmoireDragonTamerHelmText": "馴龍師頭盔",
"headArmoireDragonTamerHelmNotes": "您看起來就像一條真正的龍。這根本是完美的偽裝。增加<%= int %> 點智力。 來自神祕寶箱: 馴龍師套裝(1/3)",
"headArmoireBarristerWigText": "大律師假髮",
@@ -1124,487 +1164,516 @@
"headArmoireBasicArcherCapNotes": "唯有戴上這頂寬鬆的帽子,射手的裝備才算齊全! 增加 <%= per %> 點感知。 來自神祕寶箱: 基礎射手套裝(3/3)",
"headArmoireGraduateCapText": "畢業四方帽",
"headArmoireGraduateCapNotes": "恭喜恭喜! 您有遠見的思維讓自己贏得了這頂思考帽。增加 <%= int %> 點智力。 來自神祕寶箱: 畢業生套裝(3/3)",
- "headArmoireGreenFloppyHatText": "Green Floppy Hat",
- "headArmoireGreenFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹令人愉悅的綠色。增加體質、智力和感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
- "headArmoireCannoneerBandannaText": "Cannoneer Bandanna",
- "headArmoireCannoneerBandannaNotes": "'Tis a cannoneer's life for me! Increases Intelligence and Perception by <%= attrs %> each. Enchanted Armoire: Cannoneer Set (Item 3 of 3).",
- "headArmoireFalconerCapText": "Falconer Cap",
- "headArmoireFalconerCapNotes": "This jaunty cap helps you better understand birds of prey. Increases Intelligence by <%= int %>. Enchanted Armoire: Falconer Set (Item 2 of 3).",
- "headArmoireVermilionArcherHelmText": "Vermilion Archer Helm",
- "headArmoireVermilionArcherHelmNotes": "The magic ruby in this helm will help you aim with laser focus! Increases Perception by <%= per %>. Enchanted Armoire: Vermilion Archer Set (Item 3 of 3).",
- "headArmoireOgreMaskText": "Ogre Mask",
- "headArmoireOgreMaskNotes": "Your enemies will run for the hills when they see an Ogre coming their way! Increases Constitution and Strength by <%= attrs %> each. Enchanted Armoire: Ogre Outfit (Item 1 of 3).",
- "headArmoireIronBlueArcherHelmText": "Iron Blue Archer Helm",
- "headArmoireIronBlueArcherHelmNotes": "Hard-headed? No, you're just well protected. Increases Constitution by <%= con %>. Enchanted Armoire: Iron Archer Set (Item 1 of 3).",
- "headArmoireWoodElfHelmText": "Wood Elf Helm",
- "headArmoireWoodElfHelmNotes": "This helm of leaves may look delicate, but it can protect you from inclement weather and dangerous foes. Increases Constitution by <%= con %>. Enchanted Armoire: Wood Elf Set (Item 1 of 3).",
- "headArmoireRamHeaddressText": "Ram Headdress",
- "headArmoireRamHeaddressNotes": "This elaborate helm is fashioned to look like a ram's head. Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Ram Barbarian Set (Item 1 of 3).",
- "headArmoireCrownOfHeartsText": "Crown of Hearts",
- "headArmoireCrownOfHeartsNotes": "This rosy red crown isn't just eye-catching! It will also strengthen your heart against tough tasks. Increases Strength by <%= str %>. Enchanted Armoire: Queen of Hearts Set (Item 1 of 3).",
- "headArmoireMushroomDruidCapText": "Mushroom Druid Cap",
- "headArmoireMushroomDruidCapNotes": "Harvested deep in a misty forest, this cap grants the wearer knowledge of medicinal plants. Increases Intelligence by <%= int %> and Strength by <%= str %>. Enchanted Armoire: Mushroom Druid Set (Item 1 of 3).",
- "headArmoireMerchantChaperonText": "Merchant Chaperon",
- "headArmoireMerchantChaperonNotes": "This versatile wrapped wool hat will surely make you the most stylish seller in the market! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Merchant Set (Item 1 of 3).",
- "headArmoireVikingHelmText": "Viking Helm",
- "headArmoireVikingHelmNotes": "No horns or wings are found on this helm: those are too easy for enemies to grab! Increases Strength by <%= str %> and Perception by <%= per %>. Enchanted Armoire: Viking Set (Item 2 of 3).",
- "headArmoireSwanFeatherCrownText": "Swan Feather Crown",
- "headArmoireSwanFeatherCrownNotes": "This tiara is lovely and light as a swan's feather! Increases Intelligence by <%= int %>. Enchanted Armoire: Swan Dancer Set (Item 1 of 3).",
- "headArmoireAntiProcrastinationHelmText": "Anti-Procrastination Helm",
- "headArmoireAntiProcrastinationHelmNotes": "This mighty steel helm will help you win the fight to be healthy, happy, and productive! Increases Perception by <%= per %>. Enchanted Armoire: Anti-Procrastination Set (Item 1 of 3).",
- "headArmoireCandlestickMakerHatText": "Candlestick Maker Hat",
- "headArmoireCandlestickMakerHatNotes": "A jaunty hat makes every job more fun, and candlemaking is no exception! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Candlestick Maker Set (Item 2 of 3).",
- "headArmoireLamplightersTopHatText": "Lamplighter's Top Hat",
- "headArmoireLamplightersTopHatNotes": "This jaunty black hat completes your lamp-lighting ensemble! Increases Constitution by <%= con %>. Enchanted Armoire: Lamplighter's Set (Item 3 of 4).",
- "headArmoireCoachDriversHatText": "Coach Driver's Hat",
- "headArmoireCoachDriversHatNotes": "This hat is dressy, but not quite so dressy as a top hat. Make sure you don't lose it as you drive speedily across the land! Increases Intelligence by <%= int %>. Enchanted Armoire: Coach Driver Set (Item 2 of 3).",
- "headArmoireCrownOfDiamondsText": "Crown of Diamonds",
- "headArmoireCrownOfDiamondsNotes": "This shining crown isn't just a great hat; it will also sharpen your mind! Increases Intelligence by <%= int %>. Enchanted Armoire: King of Diamonds Set (Item 2 of 4).",
- "headArmoireFlutteryWigText": "Fluttery Wig",
- "headArmoireFlutteryWigNotes": "This fine powdered wig has plenty of room for your butterflies to rest if they get tired while doing your bidding. Increases Intelligence, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 2 of 4).",
- "headArmoireBirdsNestText": "Bird's Nest",
- "headArmoireBirdsNestNotes": "If you start feeling movement and hearing chirps, your new hat might have turned into new friends. Increases Intelligence by <%= int %>. Enchanted Armoire: Independent Item.",
- "headArmoirePaperBagText": "Paper Bag",
- "headArmoirePaperBagNotes": "This bag is a hilarious but surprisingly protective helm (don't worry, we know you look good under there!). Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
- "headArmoireBigWigText": "Big Wig",
- "headArmoireBigWigNotes": "Some powdered wigs are for looking more authoritative, but this one is just for laughs! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
- "headArmoireGlassblowersHatText": "Glassblower's Hat",
- "headArmoireGlassblowersHatNotes": "This hat mainly just looks good with your other protective glassblowing gear! Increases Perception by <%= per %>. Enchanted Armoire: Glassblower Set (Item 3 of 4).",
- "headArmoirePiraticalPrincessHeaddressText": "Piratical Princess Headdress",
- "headArmoirePiraticalPrincessHeaddressNotes": "Fancy buccaneers are known for their fancy headwear! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 1 of 4).",
- "headArmoireJeweledArcherHelmText": "Jeweled Archer Helm",
- "headArmoireJeweledArcherHelmNotes": "This helm may look ornate, but it's also exceedingly light and strong. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweled Archer Set (Item 1 of 3).",
- "offhand": "副手物品",
- "offhandCapitalized": "副手物品",
+ "headArmoireGreenFloppyHatText": "翠綠寬簷帽",
+ "headArmoireGreenFloppyHatNotes": "這頂簡易的帽子是由眾多咒語縫製而成的。最後再給它一抹令人愉悅的綠色。增加體質、智力、感知各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "headArmoireCannoneerBandannaText": "砲兵頭巾",
+ "headArmoireCannoneerBandannaNotes": "這頭巾就是我的生命! 增加智力、感知各 <%= attrs %> 點。 來自神秘寶箱: 砲兵套裝(3/3)",
+ "headArmoireFalconerCapText": "獵鷹者便帽",
+ "headArmoireFalconerCapNotes": "這頂輕巧的便帽能幫助您更容易找到獵物。增加 <%= int %> 點智力。 來自神祕寶箱: 獵鷹者套裝(2/3)",
+ "headArmoireVermilionArcherHelmText": "朱紅射手頭盔",
+ "headArmoireVermilionArcherHelmNotes": "頭盔上的魔法紅石能讓您像雷射光一樣輕易地瞄準目標! 增加 <%= per %> 點感知。 來自神祕寶箱: 朱紅射手套裝(3/3)",
+ "headArmoireOgreMaskText": "食人魔面罩",
+ "headArmoireOgreMaskNotes": "您的敵人一看到您就會馬上退避三舍: 夭壽,食人魔來啦! 增加 <%= attrs %> 點體質。 來自神祕寶箱: 食人魔套裝(1/3)",
+ "headArmoireIronBlueArcherHelmText": "弓箭手水藍鐵頭盔",
+ "headArmoireIronBlueArcherHelmNotes": "您的頭很硬? 不,您只是受到良好保護。增加 <%= con %> 點體質。 來自神祕寶箱: 鋼鐵弓箭手套裝(1/3)",
+ "headArmoireWoodElfHelmText": "木妖精頭盔",
+ "headArmoireWoodElfHelmNotes": "這頂由葉子製作而成的頭盔或許看起來非常脆弱,但它卻可以在惡劣天氣或是在強敵面前保護您。增加 <%= con %> 點體質。 來自神祕寶箱: 木妖精(1/3)",
+ "headArmoireRamHeaddressText": "牡羊頭套",
+ "headArmoireRamHeaddressNotes": "這頂精美的頭盔被塑造成牡羊的樣式。增加 <%= con %> 點體質和 <%= per %> 點感知。 來自神祕寶箱: 牡羊野蠻人套裝(1/3)",
+ "headArmoireCrownOfHeartsText": "愛心皇冠",
+ "headArmoireCrownOfHeartsNotes": "這頂玫瑰紅的皇冠不僅僅只是很搶眼。它還能在您面對艱難的任務時堅定您的心! 增加 <%= str %> 點力量。 來自神祕寶箱: 心皇后套裝(1/3)",
+ "headArmoireMushroomDruidCapText": "德魯伊蘑菇帽",
+ "headArmoireMushroomDruidCapNotes": "Mushroom Druid Cap。 這頂在迷霧森林深處得到的帽子能賜予穿戴者藥用植物的知識。增加 <%= int %> 點智力和 <%= str %> 點力量。 來自神祕寶箱: 德魯伊蘑菇套裝(1/3)",
+ "headArmoireMerchantChaperonText": "中古世紀 Chaperone 頭巾",
+ "headArmoireMerchantChaperonNotes": "這件多功能毛製頭巾絕對會讓您成為市場上最時髦的商人! 增加感知、智力各 <%= attrs %> 點。 來自神祕寶箱: 商人套裝(1/3)",
+ "headArmoireVikingHelmText": "維京海盜頭盔",
+ "headArmoireVikingHelmNotes": "這頂特製的頭盔上不再有犄角的裝飾。因為哪樣會讓敵人輕鬆抓住! 增加 <%= str %> 點力量和 <%= per %> 點感知。 來自神祕寶箱: 維京套裝(2/3)",
+ "headArmoireSwanFeatherCrownText": "天鵝羽毛皇冠",
+ "headArmoireSwanFeatherCrownNotes": "這頂皇冠既可愛又輕巧,彷彿就像是天鵝的羽毛! 增加 <%= int %> 點智力。 來自神祕寶箱: 天鵝湖舞者套裝(1/3)",
+ "headArmoireAntiProcrastinationHelmText": "反怠惰頭盔",
+ "headArmoireAntiProcrastinationHelmNotes": "這頂強韌的鋼鐵頭盔能幫助您戰勝怠惰並保持健康、快樂有效率! 增加 <%= per %> 點感知。 來自神祕寶箱: 反怠惰套裝(1/3)",
+ "headArmoireCandlestickMakerHatText": "蠟燭台製作師帽子",
+ "headArmoireCandlestickMakerHatNotes": "一頂俏皮的帽子能讓工作變得更有趣,而這頂帽子也不例外! 增加感知、智力各 <%= attrs %> 點。 來自神祕寶箱: 蠟燭台製作師套裝(2/3)",
+ "headArmoireLamplightersTopHatText": "點燈伕高頂禮帽",
+ "headArmoireLamplightersTopHatNotes": "這頂優雅的黑色帽子能幫您完成您的點燈任務! 增加 <%= con %> 點體質。 來自神祕寶箱: 點燈伕套裝(3/4)",
+ "headArmoireCoachDriversHatText": "馬車伕禮帽",
+ "headArmoireCoachDriversHatNotes": "這頂帽子相當正式,但又不會像高頂禮帽那樣講究。請小心當您在高速駕駛時可別弄丟了帽子! 增加 <%= int %> 點智力。 來自神祕寶箱: 馬車伕套裝(2/3)",
+ "headArmoireCrownOfDiamondsText": "鑽石皇冠",
+ "headArmoireCrownOfDiamondsNotes": "這頂閃亮亮的皇冠不僅僅只是頂好帽子,他還能磨練您的心靈! 增加 <%= int %> 點智力。 來自神秘寶箱: 鑽石王者套裝(2/4)",
+ "headArmoireFlutteryWigText": "翩翩飛舞假髮",
+ "headArmoireFlutteryWigNotes": "這頂精美的撲粉歐式假髮裡有許許多多的空隙可以讓正聽您的吩咐而勞累的蝴蝶稍作休息、喘口氣。增加智力、感知、力量各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(2/4)",
+ "headArmoireBirdsNestText": "鳥巢",
+ "headArmoireBirdsNestNotes": "如果您開始感覺到頭上有些陣陣騷動且聽到不間斷吱吱喳喳的鳥聲音,這代表著這頂新帽子已經成為您的新朋友了。增加 <%= int %> 點智力。 來自神秘寶箱: 獨立裝備",
+ "headArmoirePaperBagText": "紙袋",
+ "headArmoirePaperBagNotes": "這個袋子是個看起來很滑稽,戴上後卻意外地非常安全的頭盔 (別擔心,我們知道您戴上這之後看起來狀況非常好! ) 增加 <%= con %> 點體質。 來自神秘寶箱: 獨立裝備",
+ "headArmoireBigWigText": "巨大假髮",
+ "headArmoireBigWigNotes": "撲粉假髮是為了讓人看起來更有威嚴,但這頂假髮只會讓人看了捧腹大笑而已! 增加 <%= str %> 點力量。 來自神祕寶箱: 獨立裝備。",
+ "headArmoireGlassblowersHatText": "玻璃吹製工工作帽",
+ "headArmoireGlassblowersHatNotes": "這頂帽子與您的其他玻璃吹製工套裝穿搭在一起會看起來非常好看唷! 增加 <%= per %> 點感知。 來自神祕寶箱: 玻璃吹製工套裝(3/4)",
+ "headArmoirePiraticalPrincessHeaddressText": "海盜公主頭飾",
+ "headArmoirePiraticalPrincessHeaddressNotes": "自古以來經驗老到的海盜皆是以擁有高檔的頭飾而聞名的! 增加感知、智力各 <%= attrs %> 點。 來自神祕寶箱: 海盜公主套裝(1/4)",
+ "headArmoireJeweledArcherHelmText": "射手寶石頭盔",
+ "headArmoireJeweledArcherHelmNotes": "這頂頭盔不僅看起來非常華麗,它還格外地輕穎和堅固。增加 <%= int %> 點智力。 來自神祕寶箱: 射手寶石套裝(1/3)",
+ "headArmoireVeilOfSpadesText": "黑桃面紗",
+ "headArmoireVeilOfSpadesNotes": "一件朦朧而神秘的面紗,可以增加您的潛行能力。增加 <%= per %> 點感知。 來自神祕寶箱: 黑桃長矛套裝(1/3)",
+ "offhand": "副手裝備",
+ "offhandCapitalized": "副手裝備",
"shieldBase0Text": "沒有副手裝備",
- "shieldBase0Notes": "沒有盾牌或其他副手物品。",
- "shieldWarrior1Text": "木盾",
- "shieldWarrior1Notes": "厚木頭製的圓盾。增加<%= con %>體質。",
- "shieldWarrior2Text": "圓盾",
- "shieldWarrior2Notes": "輕便而堅實,快點拿來防禦。提高<%= con %>點體質。",
+ "shieldBase0Notes": "沒有護盾或其他副手裝備。",
+ "shieldWarrior1Text": "木質護盾",
+ "shieldWarrior1Notes": "厚木頭製成的圓盾。增加 <%= con %> 點體質。",
+ "shieldWarrior2Text": "防護盾",
+ "shieldWarrior2Notes": "輕便、堅實,快拿去防護敵人。增加 <%= con %> 點體質。",
"shieldWarrior3Text": "強化盾",
- "shieldWarrior3Notes": "木製,以金屬環框住。提高<%= con %>點體質。",
- "shieldWarrior4Text": "紅色盾牌",
- "shieldWarrior4Notes": "以一陣火焰反擊攻擊。提高<%= con %>點體質。",
- "shieldWarrior5Text": "金色盾牌",
- "shieldWarrior5Notes": "先鋒的閃耀徽章。提高<%= con %>點體質。",
- "shieldHealer1Text": "醫療兵盾牌",
- "shieldHealer1Notes": "便於解除並騰出一隻手包紮。提高<%= con %>點體質。",
- "shieldHealer2Text": "鳶形盾牌",
- "shieldHealer2Notes": "帶有治療標誌的錐形盾牌。提高<%= con %>點體質。",
- "shieldHealer3Text": "保護者盾牌",
- "shieldHealer3Notes": "防衛騎士的傳統盾牌。提高<%= con %>點體質。",
- "shieldHealer4Text": "救主盾",
- "shieldHealer4Notes": "能製止對周遭無辜民眾的攻擊,也能阻擋針對自己的攻擊。提高<%= con %>點體質。",
- "shieldHealer5Text": "皇家盾牌",
- "shieldHealer5Notes": "授予對保家衛國做出最大貢獻的人們。提高<%= con %>點體質。",
- "shieldSpecial0Text": "苦痛骷髏",
- "shieldSpecial0Notes": "看透死亡的面紗,以陰間的慘象使敵人顫抖。提高<%= per %>點感知。",
- "shieldSpecial1Text": "水晶盾",
- "shieldSpecial1Notes": "Shatters arrows and deflects the words of naysayers. Increases all Stats by <%= attrs %>.",
+ "shieldWarrior3Notes": "雖然這是一面木製盾牌,但外環已被金屬框住。增加 <%= con %> 點體質。",
+ "shieldWarrior4Text": "赤紅護盾",
+ "shieldWarrior4Notes": "能夠反彈攻擊並附帶一團火焰。增加 <%= con %> 點體質。",
+ "shieldWarrior5Text": "黃金護盾",
+ "shieldWarrior5Notes": "先鋒部隊的閃耀徽章。增加 <%= con %> 點體質。",
+ "shieldHealer1Text": "醫療兵護盾",
+ "shieldHealer1Notes": "易於摘除以利騰出空手來包紮友軍。增加 <%= con %> 點體質。",
+ "shieldHealer2Text": "鳶形護盾",
+ "shieldHealer2Notes": "帶有治療標誌的錐狀護盾。增加 <%= con %> 點體質。",
+ "shieldHealer3Text": "護衛盾牌",
+ "shieldHealer3Notes": "後衛騎士的傳統護盾。增加 <%= con %> 點體質。",
+ "shieldHealer4Text": "救世主護盾",
+ "shieldHealer4Notes": "能同時制止對周遭無辜百姓及針對自己的攻擊。增加 <%= con %> 點體質。",
+ "shieldHealer5Text": "皇家護盾",
+ "shieldHealer5Notes": "授予對保家衛國做出最大貢獻的人們。莎莎給油! 增加 <%= con %> 點體質。",
+ "shieldSpecial0Text": "苦難骷髏",
+ "shieldSpecial0Notes": "看透死亡的面紗,以陰間的慘象使敵人顫抖。增加 <%= per %> 點感知。",
+ "shieldSpecial1Text": "水晶護盾",
+ "shieldSpecial1Notes": "能夠粉碎弓箭並折射反對者施加的咒語。增加所有屬性各 <%= attrs %> 點。",
"shieldSpecialTakeThisText": "收下這面盾牌",
- "shieldSpecialTakeThisNotes": "這面盾牌只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
- "shieldSpecialGoldenknightText": "Mustaine的碎石流星錘",
- "shieldSpecialGoldenknightNotes": "怪物統統搗碎!增加力量、智力、體質各<%= attrs %>點。",
- "shieldSpecialMoonpearlShieldText": "月亮珍珠盾",
- "shieldSpecialMoonpearlShieldNotes": "被設計用來幫助快速游泳,還能夠形成一點防禦。增加<%= con %>點體質。",
- "shieldSpecialMammothRiderHornText": "Mammoth Rider's Horn",
- "shieldSpecialMammothRiderHornNotes": "One blow on this mighty rose quartz horn and you'll summon powerful magical forces. Increases Strength by <%= str %>.",
- "shieldSpecialDiamondStaveText": "Diamond Stave",
- "shieldSpecialDiamondStaveNotes": "This valuable stave has mystical powers. Increases Intelligence by <%= int %>.",
- "shieldSpecialRoguishRainbowMessageText": "Roguish Rainbow Message",
- "shieldSpecialRoguishRainbowMessageNotes": "This sparkly envelope contains messages of encouragement from Habiticans, and a touch of magic to help speed your deliveries! Increases Intelligence by <%= int %>.",
- "shieldSpecialLootBagText": "Loot Bag",
- "shieldSpecialLootBagNotes": "This bag is ideal for storing all the goodies you've stealthily removed from unsuspecting Tasks! Increases Strength by <%= str %>.",
- "shieldSpecialWintryMirrorText": "Wintry Mirror",
- "shieldSpecialWintryMirrorNotes": "How else to best admire your wintry look? Increases Intelligence by <%= int %>.",
- "shieldSpecialWakizashiText": "Wakizashi",
- "shieldSpecialWakizashiNotes": "This short sword is perfect for close-quarters battles with your Dailies! Increases Constitution by <%= con %>.",
- "shieldSpecialYetiText": "雪怪馴化師盾牌",
- "shieldSpecialYetiNotes": "這塊盾牌映射著雪光。提高<%= con %>點體質。2013-2014冬季限定版裝備。",
- "shieldSpecialSnowflakeText": "雪花盾",
- "shieldSpecialSnowflakeNotes": "每一塊盾牌都是獨一無二的。提高<%= con %>點體質。2013-2014冬季限定版裝備。",
+ "shieldSpecialTakeThisNotes": "這面盾牌只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
+ "shieldSpecialGoldenknightText": "馬斯泰恩的碎石流星錘",
+ "shieldSpecialGoldenknightNotes": "(Mustaine's Milestone Mashing Morning Star) 看到怪物統統搗爛!增加體質、感知各 <%= attrs %> 點。",
+ "shieldSpecialMoonpearlShieldText": "月亮明珠護盾",
+ "shieldSpecialMoonpearlShieldNotes": "專為快速游泳、以及防禦工作所設計之護盾。增加 <%= con %> 點體質。",
+ "shieldSpecialMammothRiderHornText": "長毛象騎士號角",
+ "shieldSpecialMammothRiderHornNotes": "只要一吹響這只強大的玫瑰石英號角就能召喚出最強大的魔力。增加 <%= str %> 點力量。",
+ "shieldSpecialDiamondStaveText": "鑽石魔杖",
+ "shieldSpecialDiamondStaveNotes": "這隻價值連城的魔杖擁有深不可測的魔力。增加 <%= int %> 點智力。",
+ "shieldSpecialRoguishRainbowMessageText": "俏皮彩虹信件",
+ "shieldSpecialRoguishRainbowMessageNotes": "這件閃閃發光的信件包含了來自Habitica鄉民的鼓勵。此外還被賦予神奇的魔力能夠加快完成任務的速度! 增加 <%= int %> 點智力。",
+ "shieldSpecialLootBagText": "戰利品背包",
+ "shieldSpecialLootBagNotes": "這個包包是大量儲存您從大家意想不到的任務中偷來的贓物的絕佳選擇! 增加 <%= str %> 點力量。",
+ "shieldSpecialWintryMirrorText": "寒冬手持鏡",
+ "shieldSpecialWintryMirrorNotes": "有甚麼更好的方法能欣賞您在寒冬中的妝容呢? 增加 <%= int %> 點智力。",
+ "shieldSpecialWakizashiText": "脇差",
+ "shieldSpecialWakizashiNotes": "(Wakizashi) 這把短刀是您正與每日任務近戰時的絕佳選擇! 增加 <%= con %> 點認知。",
+ "shieldSpecialYetiText": "雪怪馴化師護盾",
+ "shieldSpecialYetiNotes": "這面護盾可映射雪光。增加 <%= con %> 點體質。 2013-2014冬季限定版裝備",
+ "shieldSpecialSnowflakeText": "雪花護盾",
+ "shieldSpecialSnowflakeNotes": "每一面護盾都是獨一無二的。增加 <%= con %> 點體質。 2013-2014冬季限定版裝備",
"shieldSpecialSpringRogueText": "鉤爪",
- "shieldSpecialSpringRogueNotes": "用來攀爬高樓的裝備,當然也可以用來抓爛地毯。增加<%= str %>點力量。2014年春季限量版裝備。",
- "shieldSpecialSpringWarriorText": "蛋盾",
- "shieldSpecialSpringWarriorNotes": "蛋盾永遠不會裂開,無論你多用力敲他!增加<%= con %>點體質。2014年春季限量版裝備。",
- "shieldSpecialSpringHealerText": "終極保護的吱吱球",
- "shieldSpecialSpringHealerNotes": "在戰鬥中釋放出令人討厭的持續不斷的吱吱聲來驅趕敵人。增加<%= con %>點體質。2014年春季限量版裝備。",
+ "shieldSpecialSpringRogueNotes": "非常適合用來攀爬高樓,當然也可以用來抓爛地毯。增加 <%= str %> 點力量。 2014年春季限定版裝備",
+ "shieldSpecialSpringWarriorText": "蛋蛋護盾",
+ "shieldSpecialSpringWarriorNotes": "無論您多用力地敲這面護盾,它就是永遠不會出現裂痕!增加 <%= con %> 點體質。 2014年春季限定版裝備",
+ "shieldSpecialSpringHealerText": "終極護衛吱吱球",
+ "shieldSpecialSpringHealerNotes": "在戰鬥中將盡情發出令人厭惡且不間斷的吱吱聲以驅趕敵人。增加 <%= con %> 點體質。 2014年春季限定版裝備",
"shieldSpecialSummerRogueText": "海盜彎刀",
- "shieldSpecialSummerRogueNotes": "退散吧!你將讓那些每日任務自取滅亡!增強力量<%= str %>點。2014夏季限量版裝備。",
+ "shieldSpecialSummerRogueNotes": "停!!您這樣子會讓那些每日任務走上跳板一去不復返!增加 <%= str %> 點力量。 2014年夏季限定版裝備",
"shieldSpecialSummerWarriorText": "漂流木盾",
- "shieldSpecialSummerWarriorNotes": "由沉船的木頭製成,就算最困難的每日任務也能克服。提升體質<%= con %>。2014年夏季限量版裝備。",
- "shieldSpecialSummerHealerText": "淺灘盾",
- "shieldSpecialSummerHealerNotes": "面對這塊閃亮的盾牌,沒人敢攻擊珊瑚礁!增加<%= con %>點體質。2014年夏季限量版裝備。",
- "shieldSpecialFallRogueText": "銀樁",
- "shieldSpecialFallRogueNotes": "能驅走亡靈,也能對狼人造成暴擊,謹記凡事小心為上。增加<%= str %>點力量。2014秋季限量版裝備。",
- "shieldSpecialFallWarriorText": "實驗強力藥劑",
- "shieldSpecialFallWarriorNotes": "潑灑神秘物質的實驗衣。增加<%= con %>點體質。2014秋季限量版裝備。",
- "shieldSpecialFallHealerText": "寶石盾",
- "shieldSpecialFallHealerNotes": "這塊閃亮的盾牌被發掘自一座古墓。增加<%= con %>點體質。2014秋季限量版裝備。",
- "shieldSpecialWinter2015RogueText": "冰刺",
- "shieldSpecialWinter2015RogueNotes": "真的,肯定,絕對從地上拿了它。提升力量<%= str %>。2014-2015冬季限量裝備。",
- "shieldSpecialWinter2015WarriorText": "橡皮糖盾",
- "shieldSpecialWinter2015WarriorNotes": "這塊看起來甜蜜蜜的盾牌其實是由富有營養的植物性凝膠製成的。增加<%= con %>點體質。2014-2015冬季限量裝備。",
- "shieldSpecialWinter2015HealerText": "寬慰之盾",
- "shieldSpecialWinter2015HealerNotes": "這塊盾牌抵擋了刺骨的寒風。增加<%= con %>點體質。2014-2015冬季限量裝備。",
+ "shieldSpecialSummerWarriorNotes": "這面盾牌是由已沉船的漂流木所製成。但就算是最艱難的每日任務也能克服。增加 <%= con %> 點體質。 2014年夏季限定版裝備",
+ "shieldSpecialSummerHealerText": "淺灘護盾",
+ "shieldSpecialSummerHealerNotes": "看到這面閃亮亮的護盾,就沒人敢再來攻擊珊瑚礁!增加 <%= con %> 點體質。 2014年夏季限定版裝備",
+ "shieldSpecialFallRogueText": "銀製鐵樁",
+ "shieldSpecialFallRogueNotes": "可以驅走亡靈,同時也能有效抵禦狼人,因為您應謹記凡事小心為上。增加 <%= str %> 點力量。 2014年秋季限定版裝備",
+ "shieldSpecialFallWarriorText": "科學強效藥水",
+ "shieldSpecialFallWarriorNotes": "灑滿於實驗室大衣上的神祕藥水。增加 <%= con %> 點體質。 2014年秋季限定版裝備",
+ "shieldSpecialFallHealerText": "寶石護盾",
+ "shieldSpecialFallHealerNotes": "這面閃亮亮的護盾被發掘於一座古墓。增加 <%= con %> 點體質。 2014年秋季限定版裝備",
+ "shieldSpecialWinter2015RogueText": "冰柱尖釘",
+ "shieldSpecialWinter2015RogueNotes": "這真的是,完全是,絕對是剛從地上撿起來的。增加 <%= str %> 點力量。 2014-2015冬季限定版裝備",
+ "shieldSpecialWinter2015WarriorText": "果凍糖護盾",
+ "shieldSpecialWinter2015WarriorNotes": "這面看起來甜蜜蜜的護盾其實是由富有營養的植物性凝膠所製作而成的。增加 <%= con %> 點體質。 2014-2015冬季限定版裝備",
+ "shieldSpecialWinter2015HealerText": "鎮靜護盾",
+ "shieldSpecialWinter2015HealerNotes": "這面護盾可抵擋刺骨的寒風。增加 <%= con %> 點體質。 2014-2015冬季限定版裝備",
"shieldSpecialSpring2015RogueText": "霹靂爆破管",
- "shieldSpecialSpring2015RogueNotes": "Don't let the sound fool you - these explosives pack a punch. Increases Strength by <%= str %>. Limited Edition 2015 Spring Gear.",
+ "shieldSpecialSpring2015RogueNotes": "別被它軟弱的聲音給搞糊塗了——這爆炸威力可大得不得了。增加 <%= str %> 點力量。 2015年春季限定版裝備",
"shieldSpecialSpring2015WarriorText": "盤子鐵餅",
- "shieldSpecialSpring2015WarriorNotes": "向你的敵人擲去……或者只是單純地拿著它,因為到了晚飯時間它就會裝滿美味的狗食。提高<%= con %>點體質。2015春季限量版裝備。",
- "shieldSpecialSpring2015HealerText": "印花枕頭",
- "shieldSpecialSpring2015HealerNotes": "你可以把頭靠在這個軟軟的枕頭上,也可以用你可怕的爪子和它玩摔跤。嗷嗚!提高<%= con %>點體質。2015春季限量版裝備。",
+ "shieldSpecialSpring2015WarriorNotes": "向您的敵人擲去……或者也可以一直握著它,因為到了晚飯時間它就會自動裝滿美味的狗食。增加 <%= con %> 點體質。 2015年春季限定版裝備",
+ "shieldSpecialSpring2015HealerText": "圖騰枕頭",
+ "shieldSpecialSpring2015HealerNotes": "您可以把頭靠在這塊軟綿綿的枕頭上,也可以用您可怕的爪子和它玩摔跤。嗷嗚!增加 <%= con %> 點體質。 2015年春季限定版裝備",
"shieldSpecialSummer2015RogueText": "火焰珊瑚",
- "shieldSpecialSummer2015RogueNotes": "這種火珊瑚具有一種能力,可以在水裡散播毒液。提高<%= str %>點力量。2014夏季限量版裝備。",
- "shieldSpecialSummer2015WarriorText": "太陽魚盾",
- "shieldSpecialSummer2015WarriorNotes": "由辦事拖拉的工匠從深海金屬提煉製作而成。是一面閃耀著細沙和海浪的盾牌。增加 <%= con %>點體質。2015夏季限量版裝備。",
- "shieldSpecialSummer2015HealerText": "綑綁之盾",
- "shieldSpecialSummer2015HealerNotes": "用這面盾牌擊退船艙裡的老鼠吧。增加<%= con %>點體質。2015年夏季限量版裝備。",
+ "shieldSpecialSummer2015RogueNotes": "此火珊瑚具有能在水裡散播毒液的能力。增加 <%= str %> 點力量。 2015年夏季限定版裝備",
+ "shieldSpecialSummer2015WarriorText": "太陽魚護盾",
+ "shieldSpecialSummer2015WarriorNotes": "由怠慢小鎮出生的工匠從深海金屬提煉製作而成。是頂堅固又兼具美觀的頭盔。增加 <%= con %> 點體質。2015年夏季限定版裝備",
+ "shieldSpecialSummer2015HealerText": "橡皮膏護盾",
+ "shieldSpecialSummer2015HealerNotes": "用這面盾牌擊退船艙裡的老鼠吧。增加 <%= con %> 點體質。 2015年夏季限定版裝備",
"shieldSpecialFall2015RogueText": "戰蝠巨斧",
- "shieldSpecialFall2015RogueNotes": "令人恐懼的待辦事項看到這把斧頭在晃動時,也給嚇的縮起來。2015秋季限量版裝備。",
- "shieldSpecialFall2015WarriorText": "鳥飼料袋",
- "shieldSpecialFall2015WarriorNotes": "沒錯你是該嚇唬走烏鴉,但是交些朋友也不是什麼壞事!增加 <%= con %>點體質。2015年秋季限量版裝備。",
+ "shieldSpecialFall2015RogueNotes": "都在这把神斧的挥砍之下瑟瑟发抖。增加 <%= str %> 點力量。 2015年秋季限定版裝備",
+ "shieldSpecialFall2015WarriorText": "鳥飼料囊包",
+ "shieldSpecialFall2015WarriorNotes": "沒錯,您是真的該嚇走這些烏鴉,但交些朋友也不是什麼壞事呀!增加 <%= con %> 點體質。 2015年秋季限定版裝備",
"shieldSpecialFall2015HealerText": "攪拌棒",
- "shieldSpecialFall2015HealerNotes": "這根棒子無論攪拌任何東西都不會融化、溶解、更不會起火燃燒!你可以用它戳爆敵方任務。增加<%= con %>點體質。2015年秋季限量版裝備。",
- "shieldSpecialWinter2016RogueText": "可可杯",
- "shieldSpecialWinter2016RogueNotes": "Warming drink, or boiling projectile? You decide... Increases Strength by <%= str %>. Limited Edition 2015-2016 Winter Gear.",
- "shieldSpecialWinter2016WarriorText": "Sled Shield",
- "shieldSpecialWinter2016WarriorNotes": "Use this sled to block attacks, or ride it triumphantly into battle! Increases Constitution by <%= con %>. Limited Edition 2015-2016 Winter Gear.",
- "shieldSpecialWinter2016HealerText": "Pixie Present",
- "shieldSpecialWinter2016HealerNotes": "Open it open it open it open it open it open it!!!!!!!!! Increases Constitution by <%= con %>. Limited Edition 2015-2016 Winter Gear.",
+ "shieldSpecialFall2015HealerNotes": "這根棒子無論攪拌任何東西都不會融化、溶解、更不會起火燃燒!您還可用它狠狠地戳向敵方的任務。增加 <%= con %> 點體質。 2015年秋季限定版裝備",
+ "shieldSpecialWinter2016RogueText": "可可豆馬克杯",
+ "shieldSpecialWinter2016RogueNotes": "這是一杯熱可可,還是炙手可熱的投擲物呢?由您決定!增加 <%= str %> 點力量。 2015-2016冬季限定版裝備",
+ "shieldSpecialWinter2016WarriorText": "雪橇護盾",
+ "shieldSpecialWinter2016WarriorNotes": "用這塊雪橇來格擋攻擊,或者乘著它華麗地進入戰場! 增加 <%= con %> 點體質。 2015-2016冬季限定版裝備",
+ "shieldSpecialWinter2016HealerText": "小仙子禮物",
+ "shieldSpecialWinter2016HealerNotes": "快拆開來快拆開來快拆開來! 因為很重要,所以要說三次!!!!!! 增加 <%= con %> 點感知。 2015-2016冬季限定版裝備",
"shieldSpecialSpring2016RogueText": "鍊火球",
- "shieldSpecialSpring2016RogueNotes": "You've mastered the ball, the club, and the knife. Now you advance to juggling fire! Awoo! Increases Strength <%= str %>. Limited Edition 2016 Spring Gear.",
- "shieldSpecialSpring2016WarriorText": "Cheese Wheel",
- "shieldSpecialSpring2016WarriorNotes": "You braved fiendish traps to procure this defense-boosting food. Increases Constitution by <%= con %>. Limited Edition 2016 Spring Gear.",
- "shieldSpecialSpring2016HealerText": "Floral Buckler",
- "shieldSpecialSpring2016HealerNotes": "The April Fool claims this little shield will block Shiny Seeds. Don't believe him. Increases Constitution by <%= con %>. Limited Edition 2016 Spring Gear.",
- "shieldSpecialSummer2016RogueText": "Electric Rod",
- "shieldSpecialSummer2016RogueNotes": "Anyone who battles you is in for a shocking surprise... Increases Strength by <%= str %>. Limited Edition 2016 Summer Gear.",
- "shieldSpecialSummer2016WarriorText": "Shark Tooth",
- "shieldSpecialSummer2016WarriorNotes": "Bite those tough tasks with this toothy shield! Increases Constitution by <%= con %>. Limited Edition 2016 Summer Gear.",
- "shieldSpecialSummer2016HealerText": "Sea Star Shield",
- "shieldSpecialSummer2016HealerNotes": "Sometimes mistakenly called a Starfish Shield. Increases Constitution by <%= con %>. Limited Edition 2016 Summer Gear.",
- "shieldSpecialFall2016RogueText": "Spiderbite Dagger",
- "shieldSpecialFall2016RogueNotes": "Feel the sting of the spider's bite! Increases Strength by <%= str %>. Limited Edition 2016 Autumn Gear.",
- "shieldSpecialFall2016WarriorText": "Defensive Roots",
- "shieldSpecialFall2016WarriorNotes": "Defend against Dailies with these writhing roots! Increases Constitution by <%= con %>. Limited Edition 2016 Autumn Gear.",
- "shieldSpecialFall2016HealerText": "Gorgon Shield",
- "shieldSpecialFall2016HealerNotes": "Don't admire your own reflection in this. Increases Constitution by <%= con %>. Limited Edition 2016 Autumn Gear.",
- "shieldSpecialWinter2017RogueText": "Ice Axe",
- "shieldSpecialWinter2017RogueNotes": "This axe is great for attack, defense, and ice-climbing! Increases Strength by <%= str %>. Limited Edition 2016-2017 Winter Gear.",
- "shieldSpecialWinter2017WarriorText": "Puck Shield",
- "shieldSpecialWinter2017WarriorNotes": "Made from a giant hockey puck, this shield can stand up to quite a beating. Increases Constitution by <%= con %>. Limited Edition 2016-2017 Winter Gear.",
- "shieldSpecialWinter2017HealerText": "Sugarplum Shield",
- "shieldSpecialWinter2017HealerNotes": "This fibrous armament will help protect you from even the sourest of tasks! Increases Constitution by <%= con %>. Limited Edition 2016-2017 Winter Gear.",
- "shieldSpecialSpring2017RogueText": "Karrotana",
- "shieldSpecialSpring2017RogueNotes": "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.",
- "shieldSpecialSpring2017WarriorText": "Yarn Shield",
- "shieldSpecialSpring2017WarriorNotes": "Every fiber of this shield is woven with protective spells! Try not to play with it (too much). Increases Constitution by <%= con %>. Limited Edition 2017 Spring Gear.",
- "shieldSpecialSpring2017HealerText": "Basket Shield",
- "shieldSpecialSpring2017HealerNotes": "Protective and also handy for holding your many healing herbs and accoutrements. Increases Constitution by <%= con %>. Limited Edition 2017 Spring Gear.",
- "shieldSpecialSummer2017RogueText": "Sea Dragon Fins",
- "shieldSpecialSummer2017RogueNotes": "The edges of these fins are razor-sharp. Increases Strength by <%= str %>. Limited Edition 2017 Summer Gear.",
- "shieldSpecialSummer2017WarriorText": "Scallop Shield",
- "shieldSpecialSummer2017WarriorNotes": "This shell that you just found is both decorative AND defensive! Increases Constitution by <%= con %>. Limited Edition 2017 Summer Gear.",
- "shieldSpecialSummer2017HealerText": "Oyster Shield",
- "shieldSpecialSummer2017HealerNotes": "This magical oyster constantly generates pearls as well as protection. Increases Constitution by <%= con %>. Limited Edition 2017 Summer Gear.",
- "shieldSpecialFall2017RogueText": "Candied Apple Mace",
- "shieldSpecialFall2017RogueNotes": "Defeat your foes with sweetness! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.",
- "shieldSpecialFall2017WarriorText": "Candy Corn Shield",
- "shieldSpecialFall2017WarriorNotes": "This candy shield has mighty protective powers, so try not to nibble on it! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
- "shieldSpecialFall2017HealerText": "Haunted Orb",
- "shieldSpecialFall2017HealerNotes": "This orb occasionally screeches. We're sorry, we're not sure why. But it sure looks nifty! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.",
- "shieldSpecialWinter2018RogueText": "Peppermint Hook",
- "shieldSpecialWinter2018RogueNotes": "Perfect for climbing walls or distracting your foes with sweet, sweet candy. Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
- "shieldSpecialWinter2018WarriorText": "Magic Gift Bag",
- "shieldSpecialWinter2018WarriorNotes": "Just about any useful thing you need can be found in this sack, if you know the right magic words to whisper. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
- "shieldSpecialWinter2018HealerText": "Mistletoe Bell",
- "shieldSpecialWinter2018HealerNotes": "What's that sound? The sound of warmth and cheer for all to hear! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.",
- "shieldSpecialSpring2018WarriorText": "Shield of the Morning",
- "shieldSpecialSpring2018WarriorNotes": "This sturdy shield glows with the glory of first light. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
- "shieldSpecialSpring2018HealerText": "Garnet Shield",
- "shieldSpecialSpring2018HealerNotes": "Despite its fancy appearance, this garnet shield is quite durable! Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.",
- "shieldSpecialSummer2018WarriorText": "鬥魚骨盾",
- "shieldSpecialSummer2018WarriorNotes": "以石頭塑成,這面嚇人的骨頭風格盾牌當你和你的骸骨寵物與坐騎齊聚一堂時,最能給予魚類敵人恐懼。增加<%= con %>點體質。2018年夏季限量版裝備。",
+ "shieldSpecialSpring2016RogueNotes": "您已精通了錘球、棍棒、和小刀。現在您可晉身到雜耍火球! 啊嗚! 增加 <%= str %> 點力量。 2016年春季限定版裝備",
+ "shieldSpecialSpring2016WarriorText": "起司輪盤",
+ "shieldSpecialSpring2016WarriorNotes": "您勇敢地面對惡魔的陷阱並取得這份能夠提升防禦的食物。增加 <%= con %> 點體質。 2016年春季限定版裝備",
+ "shieldSpecialSpring2016HealerText": "花卉圓盾",
+ "shieldSpecialSpring2016HealerNotes": "愚人節宣稱這副小而美的護盾將能阻止閃亮種子的侵襲。千萬別相信它。增加 <%= con %> 點體質。 2016年春季限定版裝備",
+ "shieldSpecialSummer2016RogueText": "電桿",
+ "shieldSpecialSummer2016RogueNotes": "所有與您戰鬥的人都將會得到一份觸目驚心的驚喜... 增加 <%= str %> 點力量。 2016年夏季限定版裝備",
+ "shieldSpecialSummer2016WarriorText": "鯊魚牙齒",
+ "shieldSpecialSummer2016WarriorNotes": "用這副齒盾來盡情撕咬那些艱鉅的任務吧! 增加 <%= con %> 點體質。 2016年夏季限定版裝備",
+ "shieldSpecialSummer2016HealerText": "海星護盾",
+ "shieldSpecialSummer2016HealerNotes": "有時會被誤叫做星海護盾。增加 <%= con %> 點體質。 2016年夏季限定版裝備",
+ "shieldSpecialFall2016RogueText": "蛛咬匕首",
+ "shieldSpecialFall2016RogueNotes": "感受一下被蜘蛛咬到的刺痛感吧! 增加 <%= str %> 點力量。 2016年秋季限定版裝備",
+ "shieldSpecialFall2016WarriorText": "防禦樹根",
+ "shieldSpecialFall2016WarriorNotes": "用這條扭曲的樹根來對抗每日任務吧! 增加 <%= con %> 點體質。 2016年秋季限定版裝備",
+ "shieldSpecialFall2016HealerText": "蛇髮女妖護盾",
+ "shieldSpecialFall2016HealerNotes": "(Gorgon) 千萬別陶醉於這面護盾映射中的自己。增加 <%= con %> 點體質。 2016年秋季限定版裝備",
+ "shieldSpecialWinter2017RogueText": "冰之巨斧",
+ "shieldSpecialWinter2017RogueNotes": "這根斧頭非常適合拿來攻擊、防禦、甚至是攀登冰坡! 增加 <%= str %> 點力量。 2016-2017冬季限定版裝備",
+ "shieldSpecialWinter2017WarriorText": "冰上曲棍球護盾",
+ "shieldSpecialWinter2017WarriorNotes": "這面盾牌是由巨大的冰上曲棍球所製成,能夠禁得起相當大的撞擊力道。增加 <%= con %> 點體質。 2016-2017冬季限定版裝備",
+ "shieldSpecialWinter2017HealerText": "酸梅護盾",
+ "shieldSpecialWinter2017HealerNotes": "這套充滿纖維的裝備就算是碰到最酸溜溜的任務也能夠抵禦下來! 增加 <%= con %> 點體質。 2016-2017冬季限定版裝備",
+ "shieldSpecialSpring2017RogueText": "胡蘿蔔武士刀",
+ "shieldSpecialSpring2017RogueNotes": "這把利刃不但能加速完成任務,而且還非常方便於切蔬菜! Yum! 增加 <%= str %> 點力量。 2017年春季限定版裝備",
+ "shieldSpecialSpring2017WarriorText": "紡紗護盾",
+ "shieldSpecialSpring2017WarriorNotes": "這面護盾上的任何一條纖維皆由防護咒語所編織而成! 千萬不要玩(壞)它。增加 <%= con %> 點體質。 2017年春季限定版裝備",
+ "shieldSpecialSpring2017HealerText": "編織籃護盾",
+ "shieldSpecialSpring2017HealerNotes": "這面護盾不僅能夠用來防禦,對於放置您採集來的草藥和隨身裝備也非常方便。增加 <%= con %> 點體質。 2017年春季限定版裝備",
+ "shieldSpecialSummer2017RogueText": "海龍魚鰭",
+ "shieldSpecialSummer2017RogueNotes": "這些鰭有著像剃刀般鋒利的邊緣。增加 <%= str %> 點力量。 2017年夏季限定版裝備",
+ "shieldSpecialSummer2017WarriorText": "紫扇貝護盾",
+ "shieldSpecialSummer2017WarriorNotes": "您剛找到的貝殼同時兼具裝飾性和防禦性! 增加 <%= con %> 點體質。 2017年夏季限定版裝備",
+ "shieldSpecialSummer2017HealerText": "牡蠣護盾",
+ "shieldSpecialSummer2017HealerNotes": "這顆魔法牡蠣時時刻刻都在為您帶來珍珠和保護。增加 <%= con %> 點體質。 2017年夏季限定版裝備",
+ "shieldSpecialFall2017RogueText": "蘋果糖葫蘆權杖",
+ "shieldSpecialFall2017RogueNotes": "用甜蜜蜜香死您的敵人吧! 增加 <%= str %> 點力量。 2017年限定版秋季裝備",
+ "shieldSpecialFall2017WarriorText": "玉米糖漿護盾",
+ "shieldSpecialFall2017WarriorNotes": "這面糖果護盾擁有非常強力的防禦力量,可別因為一時的嘴饞而去咬它喔! 增加 <%= con %> 點體質。 2017年秋季限定版裝備",
+ "shieldSpecialFall2017HealerText": "幽靈寶珠",
+ "shieldSpecialFall2017HealerNotes": "這顆小球不定期會發出尖叫聲。我們深表歉意,因為我們也不知道確切的原因。但它看起來真的非常俏皮可愛! 增加 <%= con %> 點體質。 2017年秋季限定版裝備",
+ "shieldSpecialWinter2018RogueText": "紅色貓薄荷掛鉤",
+ "shieldSpecialWinter2018RogueNotes": "此裝備極為適合用於攀爬圍牆或利用掛鉤上甜美多汁的糖果來分散敵人的注意力。增加 <%= str %> 點力量。 2017-2018冬季限定版裝備",
+ "shieldSpecialWinter2018WarriorText": "魔術禮物包",
+ "shieldSpecialWinter2018WarriorNotes": "任何您想要的實用物品都可以在這個麻袋裡找到。只要您能低語說出正確的通關咒語。增加 <%= con %> 點體質。 2017-2018冬季限定版裝備",
+ "shieldSpecialWinter2018HealerText": "槲寄生鈴鐺",
+ "shieldSpecialWinter2018HealerNotes": "那是甚麼聲音? 就是那所有人都能聽見的暖心歡呼聲! 增加 <%= con %> 點體質。 2017-2018冬季限定版裝備",
+ "shieldSpecialSpring2018WarriorText": "早晨護盾",
+ "shieldSpecialSpring2018WarriorNotes": "這面堅固的護盾能與輝煌的第一道曙光一同發光發熱。增加 <%= con %> 點體質。 2018年春季限定版裝備",
+ "shieldSpecialSpring2018HealerText": "石榴石護盾",
+ "shieldSpecialSpring2018HealerNotes": "這面護盾不但擁有華麗的外表,還非常耐用呢! 增加 <%= con %> 點體質。 2018年春季限定版裝備",
+ "shieldSpecialSummer2018WarriorText": "鬥魚骨護盾",
+ "shieldSpecialSummer2018WarriorNotes": "以石頭塑成,這面嚇人的魚骨護盾能在與骸骨寵物和坐騎們齊聚一堂時,讓所有魚類敵人都深感畏懼。增加 <%= con %> 點體質。 2018年夏季限量版裝備",
"shieldSpecialSummer2018HealerText": "人魚帝王紋章",
- "shieldSpecialSummer2018HealerNotes": "這面盾牌可以製造空氣球體,以供來到你水中王國的陸棲訪客使用。增加<%= con %>點體質。2018年夏季限量版裝備。",
- "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",
- "shieldMystery201701Notes": "Freeze time in its tracks and conquer your tasks! Confers no benefit. January 2017 Subscriber Item.",
- "shieldMystery201708Text": "Lava Shield",
- "shieldMystery201708Notes": "This rugged shield of molten rock protects you from bad Habits but won't singe your hands. Confers no benefit. August 2017 Subscriber Item.",
- "shieldMystery201709Text": "Sorcery Handbook",
- "shieldMystery201709Notes": "This book will guide you through your forays into sorcery. Confers no benefit. September 2017 Subscriber Item.",
- "shieldMystery201802Text": "Love Bug Shield",
- "shieldMystery201802Notes": "Although it may look like brittle candy, this shield is resistant to even the strongest Shattering Heartbreak attacks! Confers no benefit. February 2018 Subscriber Item.",
- "shieldMystery301405Text": "時鐘之盾",
- "shieldMystery301405Notes": "擁有這塊高聳的時鐘之盾,時間與你同在!沒有屬性加成。3015年6月訂閱者物品。",
- "shieldMystery301704Text": "Fluttery Fan",
- "shieldMystery301704Notes": "This fine fan will keep you feeling cool and looking fancy! Confers no benefit. April 3017 Subscriber Item.",
- "shieldArmoireGladiatorShieldText": "角鬥士盾",
- "shieldArmoireGladiatorShieldNotes": "想成為一名夠格的角鬥士,你不僅要⋯⋯算了隨便啦,用盾牌打爆他們就對了。增加體質 <%= con %> 點和力量<%= str %>。神祕寶箱:角鬥士系列(1/3)。",
- "shieldArmoireMidnightShieldText": "午夜之盾",
- "shieldArmoireMidnightShieldNotes": "在午夜鐘聲響起時,這面盾牌將會展現它最大的力量!增加<%= con %> 點體質和<%= str %>點力量。神祕寶箱:獨立物品。",
+ "shieldSpecialSummer2018HealerNotes": "這面盾牌能夠製造出充滿空氣的球狀空間,以利來自陸地上的訪客拜訪您的水中王國時能夠呼吸。增加 <%= con %> 點體質。2018年夏季限量版裝備",
+ "shieldSpecialFall2018RogueText": "迷惑藥水瓶",
+ "shieldSpecialFall2018RogueNotes": "這瓶子代表了所有讓您分心或讓您不能成為最佳自我的雜事! 請忍住! 我們為您歡呼! 增加 <%= str %> 點力量。 2018年秋季限定版裝備",
+ "shieldSpecialFall2018WarriorText": "輝煌護盾",
+ "shieldSpecialFall2018WarriorNotes": "像黃金般地閃耀以阻止煩人的蛇髮女妖不再跟您玩躲貓貓! 增加 <%= con %> 點體質。 2018年秋季限定版裝備",
+ "shieldSpecialFall2018HealerText": "飢餓護盾",
+ "shieldSpecialFall2018HealerNotes": "這面護盾擁有寬闊的嗦囊能夠吸收所有敵人的轟炸。增加 <%= con %> 點體質。 2018年春季限定版裝備",
+ "shieldMystery201601Text": "決心屠殺者",
+ "shieldMystery201601Notes": "這把劍能夠斬除所有的干擾物。無屬性加成。 2016年1月訂閱者專屬裝備",
+ "shieldMystery201701Text": "時間凍結護盾",
+ "shieldMystery201701Notes": "時間速速凍! 快來征服您的任務吧! 無屬性加成。 2017年1月訂閱者專屬裝備",
+ "shieldMystery201708Text": "熔岩護盾",
+ "shieldMystery201708Notes": "這面崎嶇不平的熔岩護盾可以保護您不受壞習慣的傷害。使用時保證不會燙傷您的手。無屬性加成。 2017年8月訂閱者專屬裝備",
+ "shieldMystery201709Text": "《魔法入門手冊》",
+ "shieldMystery201709Notes": "這本書將逐步引導您進入巫術世界。無屬性加成。 2017年9月訂閱者專屬裝備",
+ "shieldMystery201802Text": "蟲粉護盾",
+ "shieldMystery201802Notes": "這面護盾雖然看起來很像是顆易碎的糖果,但它甚至可以抵擋最強大的粉碎破心術攻擊! 無屬性加成。 2018年2月訂閱者專屬裝備",
+ "shieldMystery301405Text": "時鐘護盾",
+ "shieldMystery301405Notes": "擁有這面巨大的時鐘護盾,時間就能與您同在! 無屬性加成。 3015年6月訂閱者專屬裝備",
+ "shieldMystery301704Text": "輕盈紙扇",
+ "shieldMystery301704Notes": "這把高尚的扇子能讓您感到涼爽,並且讓您看起來非常時髦! 無屬性加成。 3017年4月訂閱者專屬裝備",
+ "shieldArmoireGladiatorShieldText": "角鬥士護盾",
+ "shieldArmoireGladiatorShieldNotes": "想成為一名夠格的角鬥士,您不僅要⋯⋯算了隨便啦,用盾牌打爆他們就對了。增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 角鬥士套裝(3/3)",
+ "shieldArmoireMidnightShieldText": "午夜護盾",
+ "shieldArmoireMidnightShieldNotes": "在午夜鐘聲響起時,這面盾牌將會展現它最大的力量! 增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 獨立裝備",
"shieldArmoireRoyalCaneText": "皇家手杖",
- "shieldArmoireRoyalCaneNotes": "皇上吉祥!為此高唱!增加體質、智力和感知各<%= attrs %>點。神秘寶箱:皇家系列(2/3)",
- "shieldArmoireDragonTamerShieldText": "Dragon Tamer Shield",
- "shieldArmoireDragonTamerShieldNotes": "Distract enemies with this dragon-shaped shield. Increases Perception by <%= per %>. Enchanted Armoire: Dragon Tamer Set (Item 2 of 3).",
- "shieldArmoireMysticLampText": "神秘之燈",
- "shieldArmoireMysticLampNotes": "Light the darkest caves with this mystic lamp! Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.",
- "shieldArmoireFloralBouquetText": "Bouquet o' Flowers",
- "shieldArmoireFloralBouquetNotes": "Not much help in battle, but aren't they beautiful? Increases Constitution by <%= con %>. Enchanted Armoire: Independent Item.",
- "shieldArmoireSandyBucketText": "Sandy Bucket",
- "shieldArmoireSandyBucketNotes": "Good for storing all that Gold that you'll earn from completing tasks! Increases Perception by <%= per %>. Enchanted Armoire: Seaside Set (Item 3 of 3).",
- "shieldArmoirePerchingFalconText": "Perching Falcon",
- "shieldArmoirePerchingFalconNotes": "A falcon friend perches on your arm, prepared to swoop at your enemies. Increases Strength by <%= str %>. Enchanted Armoire: Falconer Set (Item 3 of 3).",
- "shieldArmoireRamHornShieldText": "Ram Horn Shield",
- "shieldArmoireRamHornShieldNotes": "Ram this shield into opposing Dailies! Increases Constitution and Strength by <%= attrs %> each. Enchanted Armoire: Ram Barbarian Set (Item 3 of 3).",
- "shieldArmoireRedRoseText": "Red Rose",
- "shieldArmoireRedRoseNotes": "This deep red rose smells enchanting. It will also sharpen your understanding. Increases Perception by <%= per %>. Enchanted Armoire: Independent Item.",
- "shieldArmoireMushroomDruidShieldText": "Mushroom Druid Shield",
- "shieldArmoireMushroomDruidShieldNotes": "Though made from a mushroom, there's nothing mushy about this tough shield! Increases Constitution by <%= con %> and Strength by <%= str %>. Enchanted Armoire: Mushroom Druid Set (Item 3 of 3).",
- "shieldArmoireFestivalParasolText": "Festival Parasol",
- "shieldArmoireFestivalParasolNotes": "This lightweight parasol will shield you from the glare--whether it's from the sun or from dark red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Festival Attire Set (Item 2 of 3).",
- "shieldArmoireVikingShieldText": "Viking Shield",
- "shieldArmoireVikingShieldNotes": "This sturdy shield of wood and hide can stand up to the most daunting of foes. Increases Perception by <%= per %> and Intelligence by <%= int %>. Enchanted Armoire: Viking Set (Item 3 of 3).",
- "shieldArmoireSwanFeatherFanText": "Swan Feather Fan",
- "shieldArmoireSwanFeatherFanNotes": "Use this fan to accentuate your movement as you dance like a graceful swan. Increases Strength by <%= str %>. Enchanted Armoire: Swan Dancer Set (Item 3 of 3).",
- "shieldArmoireGoldenBatonText": "Golden Baton",
- "shieldArmoireGoldenBatonNotes": "When you dance into battle waving this baton to the beat, you are unstoppable! Increases Intelligence and Strength by <%= attrs %> each. Enchanted Armoire: Independent Item.",
- "shieldArmoireAntiProcrastinationShieldText": "Anti-Procrastination Shield",
- "shieldArmoireAntiProcrastinationShieldNotes": "This strong steel shield will help you block distractions when they approach! Increases Constitution by <%= con %>. Enchanted Armoire: Anti-Procrastination Set (Item 3 of 3).",
- "shieldArmoireHorseshoeText": "Horseshoe",
- "shieldArmoireHorseshoeNotes": "Help protect the feet of your hooved mounts with this iron shoe. Increases Constitution, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Farrier Set (Item 3 of 3)",
- "shieldArmoireHandmadeCandlestickText": "Handmade Candlestick",
- "shieldArmoireHandmadeCandlestickNotes": "Your fine wax wares provide light and warmth to grateful Habiticans! Increases Strength by <%= str %>. Enchanted Armoire: Candlestick Maker Set (Item 3 of 3).",
- "shieldArmoireWeaversShuttleText": "Weaver's Shuttle",
- "shieldArmoireWeaversShuttleNotes": "This tool passes your weft thread through the warp to make cloth! Increases Intelligence by <%= int %> and Perception by <%= per %>. Enchanted Armoire: Weaver Set (Item 3 of 3).",
- "shieldArmoireShieldOfDiamondsText": "Shield of Diamonds",
- "shieldArmoireShieldOfDiamondsNotes": "This radiant shield not only provides protection, it empowers you with endurance! Increases Constitution by <%= con %>. Enchanted Armoire: King of Diamonds Set (Item 4 of 4).",
- "shieldArmoireFlutteryFanText": "Fluttery Fan",
- "shieldArmoireFlutteryFanNotes": "On a hot day, there's nothing quite like a fancy fan to help you look and feel cool. Increases Constitution, Intelligence, and Perception by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 4 of 4).",
- "shieldArmoireFancyShoeText": "Fancy Shoe",
- "shieldArmoireFancyShoeNotes": "A very special shoe you're working on. It's fit for royalty! Increases Intelligence and Perception by <%= attrs %> each. Enchanted Armoire: Cobbler Set (Item 3 of 3).",
- "shieldArmoireFancyBlownGlassVaseText": "Fancy Blown Glass Vase",
- "shieldArmoireFancyBlownGlassVaseNotes": "What a fancy vase you've made! What will you put inside? Increases Intelligence by <%= int %>. Enchanted Armoire: Glassblower Set (Item 4 of 4).",
- "shieldArmoirePiraticalSkullShieldText": "Piratical Skull Shield",
- "shieldArmoirePiraticalSkullShieldNotes": "This enchanted shield will whisper the secret locations of your enemies' treasures- listen closely! Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Piratical Princess Set (Item 4 of 4).",
- "back": "後背附件",
- "backCapitalized": "Back Accessory",
- "backBase0Text": "沒有後背附件",
- "backBase0Notes": "沒有後背附件。",
+ "shieldArmoireRoyalCaneNotes": "皇上萬歲!為此高唱!增加體質、智力、感知各<%= attrs %>點。 來自神秘寶箱: 皇家套裝(2/3)",
+ "shieldArmoireDragonTamerShieldText": "馴龍師護盾",
+ "shieldArmoireDragonTamerShieldNotes": "快用這面龍形護盾來轉移敵人的注意力吧! 增加 <%= per %> 點感知。 來自神秘寶箱: 馴龍師套裝(2/3)",
+ "shieldArmoireMysticLampText": "神秘油燈",
+ "shieldArmoireMysticLampNotes": "用這神秘的油燈照亮黑暗的洞穴! 增加 <%= per %> 點感知。 來自神祕寶箱: 獨立裝備",
+ "shieldArmoireFloralBouquetText": "鮮花花束",
+ "shieldArmoireFloralBouquetNotes": "這對戰鬥沒啥幫助。但您不覺得它很漂亮嗎? 增加 <%= con %> 點體質。 來自神祕寶箱: 獨立裝備",
+ "shieldArmoireSandyBucketText": "沙桶",
+ "shieldArmoireSandyBucketNotes": "最適合用來容納您完成任務後獲得的金幣! 增加 <%= per %> 點感知。 來自神祕寶箱: 海濱套裝(3/3)",
+ "shieldArmoirePerchingFalconText": "棲息獵鷹",
+ "shieldArmoirePerchingFalconNotes": "您的獵鷹好友正棲息在您的手臂上,隨時準備撲向您的敵人。增加 <%= str %> 點力量。 來自神秘寶箱: 獵鷹者套裝(3/3)",
+ "shieldArmoireRamHornShieldText": "牡羊角護盾",
+ "shieldArmoireRamHornShieldNotes": "用這面護盾狠狠地甩向看您不順眼的每日任務! 增加感知、力量各 <%= attrs %> 點。 來自神祕寶箱: 牡羊野蠻人套裝(3/3)",
+ "shieldArmoireRedRoseText": "紅玫瑰",
+ "shieldArmoireRedRoseNotes": "這朵深紅色玫瑰聞起來相當迷人。它同時還能增強您的理解力。增加 <%= per %> 點感知。 來自神祕寶箱: 獨立裝備",
+ "shieldArmoireMushroomDruidShieldText": "德魯伊蘑菇護盾",
+ "shieldArmoireMushroomDruidShieldNotes": "Mushroom Druid Shield。 雖然是用蘑菇製成的,卻堅硬無比! 增加 <%= con %> 點體質和 <%= str %> 點力量。 來自神祕寶箱: 德魯伊蘑菇套裝(3/3) ",
+ "shieldArmoireFestivalParasolText": "慶典陽傘",
+ "shieldArmoireFestivalParasolNotes": "這把輕穎的陽傘可以幫您抵禦強光。不論它是來自於太陽,亦或是深紅色的每日任務! 增加 <%= con %> 點體質。 來自神祕寶箱: 節日慶典套裝(2/3)",
+ "shieldArmoireVikingShieldText": "維京海盜護盾",
+ "shieldArmoireVikingShieldNotes": "這面由結實的木頭和獸皮製作而成的護盾能夠抵禦最令人畏懼的敵人。增加 <%= per %> 點感知和 <%= int %> 點智力。 來自神祕寶箱: 維京海盜套裝(3/3)",
+ "shieldArmoireSwanFeatherFanText": "天鵝毛風扇",
+ "shieldArmoireSwanFeatherFanNotes": "當您在跳舞時,使用這把扇子能讓您的動作變得更優美,宛如一隻翩翩起舞的優雅天鵝。增加 <%= str %> 點力量。 來自神祕寶箱: 天鵝湖舞者套裝(3/3)",
+ "shieldArmoireGoldenBatonText": "黃金指揮棒",
+ "shieldArmoireGoldenBatonNotes": "當您跳進戰爭後跟著節奏揮舞這跟指揮棒,您簡直銳不可擋! 增加智力、力量各 <%= attrs %> 點。 來自神祕寶箱: 獨立裝備",
+ "shieldArmoireAntiProcrastinationShieldText": "反怠惰護盾",
+ "shieldArmoireAntiProcrastinationShieldNotes": "這面堅固的鋼盾將能幫您擋下分心物的干擾! 增加 <%= con %> 點體質。 來自神祕寶箱: 反怠惰套裝(3/3)",
+ "shieldArmoireHorseshoeText": "馬蹄鐵",
+ "shieldArmoireHorseshoeNotes": "快用這塊鐵製的馬蹄保護您飼養的坐騎之腳吧。增加 體質、感知、力量各 <%= attrs %> 點。 來自神祕寶箱: 蹄鐵工套裝(3/3)",
+ "shieldArmoireHandmadeCandlestickText": "手工蠟燭台",
+ "shieldArmoireHandmadeCandlestickNotes": "您精美的蠟製品為心懷感激的 Habitica 鄉民提供光明和溫暖! 增加 <%= str %> 點力量。 來自神祕寶箱: 蠟燭台製作師套裝(3/3)",
+ "shieldArmoireWeaversShuttleText": "織女的梭子",
+ "shieldArmoireWeaversShuttleNotes": "這個工具在您的經緯線之間來回穿梭,並製作出一塊布! 增加 <%= int %> 點智力和 <%= per %> 點感知。 來自神秘寶箱: 織布工套裝(3/3)",
+ "shieldArmoireShieldOfDiamondsText": "鑽石護盾",
+ "shieldArmoireShieldOfDiamondsNotes": "這面閃耀的護盾不但能提供保護,還能賜予您耐力! 增加 <%= con %> 點體質。 來自神秘寶箱: 鑽石王者套裝(4/4)",
+ "shieldArmoireFlutteryFanText": "翩翩飛舞紙扇",
+ "shieldArmoireFlutteryFanNotes": "炎炎夏日中,除了它,沒有任何東西能同時讓您看起來和感覺起來更清爽。 增加體質、智力、感知各 <%= attrs %> 點。 來自神秘寶箱: 飛舞連身裙套裝(4/4)",
+ "shieldArmoireFancyShoeText": "高級高跟鞋",
+ "shieldArmoireFancyShoeNotes": "這是您正在製作中的訂製高跟鞋。它非常適合皇家成員! 增加智力、感知各 <%= attrs %> 點。 來自神秘寶箱: 鞋匠套裝(3/3)",
+ "shieldArmoireFancyBlownGlassVaseText": "華麗吹製玻璃花瓶",
+ "shieldArmoireFancyBlownGlassVaseNotes": "您做出來的花瓶是多麼的高尚啊! 您會想要將甚麼東西放在這裡頭呢? 增加 <%= int %> 點智力。 來自神秘寶箱: 玻璃吹製工套裝(4/4)",
+ "shieldArmoirePiraticalSkullShieldText": "海盜骷髏護盾",
+ "shieldArmoirePiraticalSkullShieldNotes": "這面附魔過的護盾將能竊聽敵人寶藏的藏匿點。請仔細聆聽! 增加感知、智力各 <%= attrs %> 點。 來自神秘寶箱: 海盜公主套裝(4/4)",
+ "shieldArmoireUnfinishedTomeText": "未完成的巨著",
+ "shieldArmoireUnfinishedTomeNotes": "當您持有這本書時,您完全無法怠慢! 因為這本書的裝訂需要盡快被完成,才能讓大家讀這本書! 增加 <%= int %> 點致力。 來自神秘寶箱: 圖書裝訂工套裝(4/4)",
+ "back": "後背配件",
+ "backCapitalized": "後背配件",
+ "backBase0Text": "沒有後背配件",
+ "backBase0Notes": "沒有後背配件。",
+ "animalTails": "動物尾巴",
"backMystery201402Text": "金翅膀",
- "backMystery201402Notes": "這雙耀眼翅膀上的羽毛在陽光下閃閃發光!沒有屬性加成。2014年2月訂閱者物品。",
- "backMystery201404Text": "暮光蝴蝶翅膀",
- "backMystery201404Notes": "成為蝴蝶翩翩飛舞!沒有屬性加成。2014年4月訂閱者物品。",
+ "backMystery201402Notes": "這雙耀眼的翅膀上擁有能在陽光下閃閃發光的羽毛! 無屬性加成。 2014年2月訂閱者專屬裝備",
+ "backMystery201404Text": "薄暮蝶翼",
+ "backMystery201404Notes": "成為蝴蝶,翩翩飛舞! 無屬性加成。 2014年4月訂閱者專屬裝備",
"backMystery201410Text": "哥布林之翼",
- "backMystery201410Notes": "夜晚,以這雙強壯的翅膀俯衝。沒有屬性加成。2014年10月訂閱者物品。",
- "backMystery201504Text": "匆忙蜜蜂翅膀",
- "backMystery201504Notes": "嗡嗡嗡!掠過一樣又一項的任務。沒有屬性加成。2015年5月訂閱者品。",
- "backMystery201507Text": "抗輻射衝浪板",
- "backMystery201507Notes": "Surf off the Diligent Docks and ride the waves in Inkomplete Bay!沒有屬性加成。2015年7月訂閱者物品。",
+ "backMystery201410Notes": "用這雙堅固的翅膀俯衝整個夜晚。無屬性加成。 2014年10月訂閱者專屬裝備",
+ "backMystery201504Text": "忙碌蜜蜂之翼",
+ "backMystery201504Notes": "嗡嗡嗡!掠過一項又一項的任務。無屬性加成。 2015年5月訂閱者專屬裝備",
+ "backMystery201507Text": "超爽快衝浪板",
+ "backMystery201507Notes": "在勤奮碼頭(Diligent Docks) 裡盡情衝浪,並在怪完工海灣(Inkomplete Bay) 中乘浪前行! 無屬性加成。 2015年7月訂閱者專屬裝備",
"backMystery201510Text": "哥布林尾巴",
- "backMystery201510Notes": "很好抓握而且力量強大!2015年10月訂閱者物品。",
- "backMystery201602Text": "Heartbreaker Cape",
- "backMystery201602Notes": "With a swish of your cape, your enemies fall before you! Confers no benefit. February 2016 Subscriber Item.",
- "backMystery201608Text": "Cape of Thunder",
- "backMystery201608Notes": "Fly through the stormy skies with this billowing cape! Confers no benefit. August 2016 Subscriber Item.",
- "backMystery201702Text": "Heartstealer Cape",
- "backMystery201702Notes": "A swoosh of this cape, and all near you will be swept off their feet by your charm! Confers no benefit. February 2017 Subscriber Item.",
- "backMystery201704Text": "Fairytale Wings",
- "backMystery201704Notes": "These shimmering wings will carry you anywhere, even the hidden realms ruled by magical creatures. Confers no benefit. April 2017 Subscriber Item.",
- "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.",
- "backMystery201709Text": "Stack o' Sorcery Books",
- "backMystery201709Notes": "Learning magic takes a lot of reading, but you're sure to enjoy your studies! Confers no benefit. September 2017 Subscriber Item.",
- "backMystery201801Text": "Frost Sprite Wings",
- "backMystery201801Notes": "They may look as delicate as snowflakes, but these enchanted wings can carry you anywhere you wish! Confers no benefit. January 2018 Subscriber Item.",
- "backMystery201803Text": "Daring Dragonfly Wings",
- "backMystery201803Notes": "These bright and shiny wings will carry you through soft spring breezes and across lily ponds with ease. Confers no benefit. March 2018 Subscriber Item.",
- "backMystery201804Text": "Squirrel Tail",
- "backMystery201804Notes": "Sure, it helps you balance while you jump on branches, but the most important thing is MAXIMUM FLUFF. Confers no benefit. April 2018 Subscriber Item.",
- "backMystery201805Text": "Phenomenal Peacock Tail",
- "backMystery201805Notes": "This gorgeous feathery tail is perfect for a strut down a lovely garden path! Confers no benefit. May 2018 Subscriber Item.",
- "backSpecialWonderconRedText": "威武斗篷",
- "backSpecialWonderconRedNotes": "力量與美貌在刷刷作響。沒有屬性加成。特別版參與者物品。",
- "backSpecialWonderconBlackText": "潛行斗篷",
- "backSpecialWonderconBlackNotes": "由暗影與低語織成。沒有屬性加成。特別版參與者物品。",
- "backSpecialTakeThisText": "收下這雙翅膀",
- "backSpecialTakeThisNotes": "這雙翅膀只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
- "backSpecialSnowdriftVeilText": "Snowdrift Veil",
- "backSpecialSnowdriftVeilNotes": "This translucent veil makes it appear you are surrounded by an elegant flurry of snow! Confers no benefit.",
- "backSpecialAetherCloakText": "Aether Cloak",
- "backSpecialAetherCloakNotes": "This cloak once belonged to the Lost Masterclasser herself. Increases Perception by <%= per %>.",
- "backSpecialTurkeyTailBaseText": "Turkey Tail",
- "backSpecialTurkeyTailBaseNotes": "Wear your noble Turkey Tail with pride while you celebrate! Confers no benefit.",
+ "backMystery201510Notes": "易於抓握且強而有力! 無屬性加成。 2015年10月訂閱者專屬裝備",
+ "backMystery201602Text": "破心者披風",
+ "backMystery201602Notes": "揚起披風嗖的一聲,您的敵人就落在您面前! 無屬性加成。 2016年2月訂閱者專屬裝備",
+ "backMystery201608Text": "閃電披風",
+ "backMystery201608Notes": "用這件波濤般的披風飛越暴風雨! 無屬性加成。 2016年8月訂閱者專屬裝備",
+ "backMystery201702Text": "盜心者披風",
+ "backMystery201702Notes": "這件披風激起的旋風讓您的魅力橫掃全場! 無屬性加成。 2017年2月訂閱者專屬裝備",
+ "backMystery201704Text": "童話之翼",
+ "backMystery201704Notes": "這雙閃亮的翅膀將帶您到任何地方,甚至是由魔法生物統治下最隱密的王國。無屬性加成。 2017年4月訂閱者專屬裝備",
+ "backMystery201706Text": "殘破海盜旗",
+ "backMystery201706Notes": "這面印有骷髏圖騰的海盜旗(Jolly Roger) 能讓所有待辦事項或每日任務恐懼無比! 沒無屬性加成。 2017年6月訂閱者專屬裝備",
+ "backMystery201709Text": "一疊魔法圖書",
+ "backMystery201709Notes": "學習魔法需要大量的閱讀,但您一定會非常享受這些閱讀時光! 無屬性加成。 2017年9月訂閱者專屬裝備",
+ "backMystery201801Text": "冰霜精靈之翼",
+ "backMystery201801Notes": "這雙附魔翅膀或許看起來就像雪片那樣脆弱,但它可以帶您到任何您想去的地方! 無屬性加成。 2018年1月訂閱者專屬裝備",
+ "backMystery201803Text": "勇猛蜻蜓之翼",
+ "backMystery201803Notes": "這雙亮麗的翅膀將帶您穿過柔和的春風,並越過一窪又一窪的睡蓮池。無屬性加成。 2018年3月訂閱者專屬裝備",
+ "backMystery201804Text": "松鼠尾",
+ "backMystery201804Notes": "的確,它能幫助您在樹枝間跳躍時保持平衡,但更重要的是那蓬鬆的絨毛。無屬性加成。 2018年4月訂閱者專屬裝備",
+ "backMystery201805Text": "華麗孔雀尾巴",
+ "backMystery201805Notes": "這條華麗的羽毛尾巴非常適合在行走於花園小徑時配戴! 無屬性加成。 2018年5月訂閱者專屬裝備",
+ "backSpecialWonderconRedText": "威武披風",
+ "backSpecialWonderconRedNotes": "力量與美貌在嗖嗖作響。無屬性加成。 集會參與者特別版裝備",
+ "backSpecialWonderconBlackText": "潛行披風",
+ "backSpecialWonderconBlackNotes": "由暗影與低語交織而成。無屬性加成。 集會參與者特別版裝備",
+ "backSpecialTakeThisText": "Take This 翅膀",
+ "backSpecialTakeThisNotes": "這雙翅膀只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
+ "backSpecialSnowdriftVeilText": "雪堆面紗",
+ "backSpecialSnowdriftVeilNotes": "這個半透明的面紗能讓您看起來像是被優雅紛飛的雪所包圍! 無屬性加成。",
+ "backSpecialAetherCloakText": "以太斗篷",
+ "backSpecialAetherCloakNotes": "這件斗篷曾屬於迷失的職業統治大師(Lost Masterclasser)。增加 <%= per %> 點感知。",
+ "backSpecialTurkeyTailBaseText": "火雞尾巴",
+ "backSpecialTurkeyTailBaseNotes": "在慶祝時別忘了穿上這條高尚的火雞尾巴! 無屬性加成。",
+ "backBearTailText": "猛熊尾巴",
+ "backBearTailNotes": "這條尾巴能讓您看起來就像是一隻英勇的熊! 無屬性加成。",
+ "backCactusTailText": "仙人掌尾巴",
+ "backCactusTailNotes": "這條尾巴能讓您看起來就像是一株多刺的仙人掌! 無屬性加成。",
+ "backFoxTailText": "狐狸尾巴",
+ "backFoxTailNotes": "這條尾巴能讓您看起來就像是一隻詭計多端的狐狸! 無屬性加成。",
+ "backLionTailText": "獅子尾巴",
+ "backLionTailNotes": "這條尾巴能讓您看起來就像是一隻萬獸之王的獅子! 無屬性加成。",
+ "backPandaTailText": "貓熊尾巴",
+ "backPandaTailNotes": "這條尾巴能讓您看起來就像是一隻溫和的貓熊! 無屬性加成。",
+ "backPigTailText": "小豬尾巴",
+ "backPigTailNotes": "這條尾巴能讓您看起來就像是一隻異想天開的小豬! 無屬性加成。",
+ "backTigerTailText": "老虎尾巴",
+ "backTigerTailNotes": "這條尾巴能讓您看起來就像是一隻兇猛的老虎! 無屬性加成。",
+ "backWolfTailText": "灰狼尾巴",
+ "backWolfTailNotes": "這條尾巴能讓您看起來就像是一隻忠誠的灰狼! 無屬性加成。",
"body": "身體配件",
- "bodyCapitalized": "Body Accessory",
+ "bodyCapitalized": "身體配件",
"bodyBase0Text": "沒有身體配件",
"bodyBase0Notes": "沒有身體配件。",
- "bodySpecialWonderconRedText": "紅寶石領子",
- "bodySpecialWonderconRedNotes": "一個迷人的紅寶石領子!沒有屬性加成。特別版參與者物品。",
- "bodySpecialWonderconGoldText": "黃金領子",
- "bodySpecialWonderconGoldNotes": "一個迷人的黃金領子!沒有屬性加成。特別版參與者物品。",
- "bodySpecialWonderconBlackText": "黑檀木領子",
- "bodySpecialWonderconBlackNotes": "一個迷人的黑檀木領子!沒有屬性加成。特別版參與者物品。",
- "bodySpecialTakeThisText": "收下這套護肩",
- "bodySpecialTakeThisNotes": "這套護肩只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加全屬性 <%= attrs %> 點。",
- "bodySpecialAetherAmuletText": "Aether Amulet",
- "bodySpecialAetherAmuletNotes": "This amulet has a mysterious history. Increases Constitution and Strength by <%= attrs %> each.",
- "bodySpecialSummerMageText": "閃耀披肩",
- "bodySpecialSummerMageNotes": "無論鹹水、淡水,都無法使這件含金屬纖維的披肩黯然失色。沒有屬性加成。2014夏季限量版裝備。",
- "bodySpecialSummerHealerText": "珊瑚領子",
- "bodySpecialSummerHealerNotes": "以活珊瑚製成的拉風領子!沒有屬性加成。2014夏季限量版裝備。",
- "bodySpecialSummer2015RogueText": "叛變者腰帶",
- "bodySpecialSummer2015RogueNotes": "沒有派頭和腰帶,你就沒辦法成為頂天立地的好叛徒。沒有屬性加成。2015夏季限量版裝備。",
+ "bodySpecialWonderconRedText": "紅寶石項圈",
+ "bodySpecialWonderconRedNotes": "這是一條有魅力的紅寶石項圈! 無屬性加成。 集會參與者特別版裝備",
+ "bodySpecialWonderconGoldText": "黃金項圈",
+ "bodySpecialWonderconGoldNotes": "這是一條有魅力的黃金項圈! 無屬性加成。 集會參與者特別版裝備",
+ "bodySpecialWonderconBlackText": "黑檀木項圈",
+ "bodySpecialWonderconBlackNotes": "這是一條有魅力的黑檀木項圈! 無屬性加成。 集會參與者特別版裝備",
+ "bodySpecialTakeThisText": "Take This 護肩",
+ "bodySpecialTakeThisNotes": "這套護肩只有參與過由 \"Take This\" 贊助的挑戰才可獲得! 恭喜您! 增加所有屬性各 <%= attrs %> 點。",
+ "bodySpecialAetherAmuletText": "以太護身符",
+ "bodySpecialAetherAmuletNotes": "這是一個擁有神秘歷史的護身符。增加體質、力量各 <%= attrs %> 點。",
+ "bodySpecialSummerMageText": "閃耀披風",
+ "bodySpecialSummerMageNotes": "無論鹹水、淡水,都無法使這件含金屬纖維的披風黯然失色。無屬性加成。 2014年夏季限定版裝備",
+ "bodySpecialSummerHealerText": "珊瑚項圈",
+ "bodySpecialSummerHealerNotes": "以活珊瑚製成的時尚項圈! 無屬性加成。 2014年夏季限定版裝備",
+ "bodySpecialSummer2015RogueText": "叛變者飾帶",
+ "bodySpecialSummer2015RogueNotes": "沒有氣派和... 飾帶,您就沒辦法成為一位頂天立地的叛徒。無屬性加成。 2015年夏季限定版裝備",
"bodySpecialSummer2015WarriorText": "海洋尖刺",
- "bodySpecialSummer2015WarriorNotes": "為了保護佩戴者,每根刺都沾有水母毒液。沒有屬性加成。2015夏季限量版裝備。",
+ "bodySpecialSummer2015WarriorNotes": "為了保護佩戴者,這上頭的每一根刺都沾有水母毒液。無屬性加成。 2015年夏季限定版裝備",
"bodySpecialSummer2015MageText": "黃金扣環",
- "bodySpecialSummer2015MageNotes": "雖然扣環完全沒有任何力量,但它可真是閃耀啊!沒有屬性加成。2015夏季限量版裝備。",
- "bodySpecialSummer2015HealerText": "水手圍巾",
- "bodySpecialSummer2015HealerNotes": "喲齁齁?不要,不,不不不!沒有屬性加成。2015夏季限量版裝備。",
- "bodySpecialNamingDay2018Text": "Royal Purple Gryphon Cloak",
- "bodySpecialNamingDay2018Notes": "Happy Naming Day! Wear this fancy and feathery cloak as you celebrate Habitica. Confers no benefit.",
- "bodyMystery201705Text": "Folded Feathered Fighter Wings",
- "bodyMystery201705Notes": "These folded wings don't just look snazzy: they will give you the speed and agility of a gryphon! Confers no benefit. May 2017 Subscriber Item.",
- "bodyMystery201706Text": "Ragged Corsair's Cloak",
- "bodyMystery201706Notes": "This cloak has secret pockets to hide all the Gold you loot from your Tasks. Confers no benefit. June 2017 Subscriber Item.",
- "bodyMystery201711Text": "Carpet Rider Scarf",
- "bodyMystery201711Notes": "This soft knitted scarf looks quite majestic blowing in the wind. Confers no benefit. November 2017 Subscriber Item.",
- "bodyArmoireCozyScarfText": "Cozy Scarf",
- "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).",
+ "bodySpecialSummer2015MageNotes": "雖然這個扣環不能讓您變強,但它可真是閃耀啊!無屬性加成。 2015年夏季限定版裝備",
+ "bodySpecialSummer2015HealerText": "水手領巾",
+ "bodySpecialSummer2015HealerNotes": "唷呵呵? 不,不,不~! 無屬性加成。 2015年夏季限定版裝備",
+ "bodySpecialNamingDay2018Text": "紫禦獅鷲披風",
+ "bodySpecialNamingDay2018Notes": "命名節快樂! 快戴上這件典雅又柔軟的披風一同前來為 Habitica 歡慶吧! 無屬性加成。",
+ "bodyMystery201705Text": "折疊式羽毛戰士之翼",
+ "bodyMystery201705Notes": "這雙可折疊的翅膀不只是看起來很時髦,它還能帶給您獅鷲般的速度和敏捷! 無屬性加成。 2017年5月訂閱者專屬裝備",
+ "bodyMystery201706Text": "殘破海盜披風",
+ "bodyMystery201706Notes": "這件披風中藏有秘密口袋,可將您從任務中獲得的金幣通通 Bang 不見! 無屬性加成。 2017年7月訂閱者專屬裝備",
+ "bodyMystery201711Text": "飛毯駕駛員圍巾",
+ "bodyMystery201711Notes": "這條柔軟的針織圍巾在風中飄逸看起來相當雄偉。無屬性加成。 2017年11月訂閱者專屬裝備",
+ "bodyArmoireCozyScarfText": "舒適圍巾",
+ "bodyArmoireCozyScarfNotes": "這條上等的圍巾能讓您在寒冷環境下工作時,還能保持溫暖。增加體質、感知各 <%= attrs %> 點。 來自神祕寶箱: 點燈伕套裝(4/4)",
"headAccessory": "頭部配件",
- "headAccessoryCapitalized": "頭部裝飾",
+ "headAccessoryCapitalized": "頭部配件",
"accessories": "配件",
"animalEars": "動物耳朵",
- "headAccessoryBase0Text": "沒有頭配件",
- "headAccessoryBase0Notes": "沒有頭配件。",
- "headAccessorySpecialSpringRogueText": "紫色的貓耳朵",
- "headAccessorySpecialSpringRogueNotes": "這對抽動的貓耳偵察著即將到來的威脅。沒有屬性加成。2014春季限量版裝備。",
- "headAccessorySpecialSpringWarriorText": "綠色的兔耳朵",
- "headAccessorySpecialSpringWarriorNotes": "敏銳的兔耳偵察著每一捆胡蘿蔔。沒有增益效果。2014春季限量版裝備。",
- "headAccessorySpecialSpringMageText": "藍色的老鼠耳朵",
- "headAccessorySpecialSpringMageNotes": "這對圓圓的鼠耳如絲綢般柔軟。沒有屬性加成。2014春季限量版裝備。",
- "headAccessorySpecialSpringHealerText": "黃犬順風耳",
- "headAccessorySpecialSpringHealerNotes": "又軟又可愛。要不要一起玩呀?沒有屬性加成。2014春季限量版裝備。",
+ "headAccessoryBase0Text": "沒有頭部配件",
+ "headAccessoryBase0Notes": "沒有頭部配件。",
+ "headAccessorySpecialSpringRogueText": "紫色貓耳",
+ "headAccessorySpecialSpringRogueNotes": "這雙貓耳能在偵測到淺在威脅時抽搐抖動。無屬性加成。 2014年春季限定版裝備",
+ "headAccessorySpecialSpringWarriorText": "綠色兔耳",
+ "headAccessorySpecialSpringWarriorNotes": "這雙兔耳可敏銳地偵測到胡蘿蔔的嘎吱聲。無屬性加成。 2014年春季限定版裝備",
+ "headAccessorySpecialSpringMageText": "藍色鼠耳",
+ "headAccessorySpecialSpringMageNotes": "這雙圓圓的鼠耳如絲綢般柔軟。無屬性加成。 2014年春季限定版裝備",
+ "headAccessorySpecialSpringHealerText": "黃色犬耳",
+ "headAccessorySpecialSpringHealerNotes": "又軟又可愛。想來玩嗎?無屬性加成。 2014年春季限定版裝備",
"headAccessorySpecialSpring2015RogueText": "黃色鼠耳",
- "headAccessorySpecialSpring2015RogueNotes": "這對耳朵的鋼板能使自己不受爆炸聲干擾。沒有屬性加成。2015春季限量版裝備。",
- "headAccessorySpecialSpring2015WarriorText": "紫犬順風耳",
- "headAccessorySpecialSpring2015WarriorNotes": "它們是紫色的。它們是狗耳朵。別讓進一步的愚蠢浪費你的時間。沒有屬性加成。2015春季限量版裝備。",
+ "headAccessorySpecialSpring2015RogueNotes": "這雙耳朵可以防止爆炸聲的干擾。無屬性加成。 2015年春季限定版裝備",
+ "headAccessorySpecialSpring2015WarriorText": "紫色犬耳",
+ "headAccessorySpecialSpring2015WarriorNotes": "它們是紫色的。它們是狗耳朵。別再愚蠢地浪費您的時間了。無屬性加成。 2015年春季限定版裝備",
"headAccessorySpecialSpring2015MageText": "藍色兔耳",
- "headAccessorySpecialSpring2015MageNotes": "這對耳朵聽力過人,以防有魔術師在隨處洩密。沒有屬性加成。2015春季限量版裝備。",
+ "headAccessorySpecialSpring2015MageNotes": "這雙耳朵聽力過人,可聽到任何在洩密中的魔術師。無屬性加成。 2015年春季限定版裝備",
"headAccessorySpecialSpring2015HealerText": "綠色貓耳",
- "headAccessorySpecialSpring2015HealerNotes": "這對可愛的貓耳會讓其他人嫉妒到眼睛發綠。沒有屬性加成。2015春季限量版裝備。",
- "headAccessorySpecialSpring2016RogueText": "綠犬順風耳",
- "headAccessorySpecialSpring2016RogueNotes": "使用這個,你將可以追蹤到隱形的神秘法師!沒有屬性加成,2016 限量春季裝備。",
- "headAccessorySpecialSpring2016WarriorText": "赤鼠耳",
- "headAccessorySpecialSpring2016WarriorNotes": "To better hear your theme song across clamorous battlefields. Confers no benefit. Limited Edition 2016 Spring Gear.",
- "headAccessorySpecialSpring2016MageText": "黃貓耳",
- "headAccessorySpecialSpring2016MageNotes": "These sharp ears can detect the minute hum of ambient Mana, or the muted footfalls of a Rogue. Confers no benefit. Limited Edition 2016 Spring Gear.",
- "headAccessorySpecialSpring2016HealerText": "紫兔耳",
- "headAccessorySpecialSpring2016HealerNotes": "They stand like flags above the fray, letting others know where to run for help. Confers no benefit. Limited Edition 2016 Spring Gear.",
- "headAccessorySpecialSpring2017RogueText": "Red Bunny Ears",
- "headAccessorySpecialSpring2017RogueNotes": "No sounds will escape you thanks to these ears. Confers no benefit. Limited Edition 2017 Spring Gear.",
- "headAccessorySpecialSpring2017WarriorText": "Blue Kitty Ears",
- "headAccessorySpecialSpring2017WarriorNotes": "These ears can hear a bag of kitty treats open even in the din of battle! Confers no benefit. Limited Edition 2017 Spring Gear.",
- "headAccessorySpecialSpring2017MageText": "Teal Dog Ears",
- "headAccessorySpecialSpring2017MageNotes": "You can hear the magic in the air! Confers no benefit. Limited Edition 2017 Spring Gear.",
- "headAccessorySpecialSpring2017HealerText": "Purple Mouse Ears",
- "headAccessorySpecialSpring2017HealerNotes": "These ears will help you hear healing secrets. Confers no benefit. Limited Edition 2017 Spring Gear.",
- "headAccessoryBearEarsText": "小熊耳",
- "headAccessoryBearEarsNotes": "這些耳朵使你更像一隻勇敢的熊!沒有屬性加成。",
- "headAccessoryCactusEarsText": "仙人掌耳(等等仙人掌有耳朵?)",
- "headAccessoryCactusEarsNotes": "這對耳朵讓你看起來活脫脫像叢仙人掌!(咦?)沒有屬性加成。",
- "headAccessoryFoxEarsText": "狐狸耳",
- "headAccessoryFoxEarsNotes": "這對耳朵讓你看來像隻討喜的小狐狸!沒有屬性加成。",
- "headAccessoryLionEarsText": "獅子耳",
- "headAccessoryLionEarsNotes": "這對耳朵讓你看來像隻帝王般的獅子!沒有屬性加成。",
- "headAccessoryPandaEarsText": "熊貓耳",
- "headAccessoryPandaEarsNotes": "這對耳朵讓你看來像隻溫順的小熊貓!沒有屬性加成。",
- "headAccessoryPigEarsText": "豬耳朵",
- "headAccessoryPigEarsNotes": "這對耳朵讓你看來像隻異想天開的豬!沒有屬性加成。",
- "headAccessoryTigerEarsText": "老虎耳",
- "headAccessoryTigerEarsNotes": "這對老虎耳讓你看來像隻兇猛的老虎!沒有屬性加成。",
- "headAccessoryWolfEarsText": "狼耳",
- "headAccessoryWolfEarsNotes": "這對耳朵讓你看來像隻忠厚老實的狼!沒有屬性加成。",
- "headAccessoryBlackHeadbandText": "黑色髮箍",
- "headAccessoryBlackHeadbandNotes": "一個簡單的黑色髮箍,沒有屬性加成。",
- "headAccessoryBlueHeadbandText": "藍色髮箍",
- "headAccessoryBlueHeadbandNotes": "一個簡單的藍色髮箍,沒有屬性加成。",
- "headAccessoryGreenHeadbandText": "綠色髮箍",
- "headAccessoryGreenHeadbandNotes": "一個簡單的綠色髮箍,沒有屬性加成。",
- "headAccessoryPinkHeadbandText": "粉紅色髮箍",
- "headAccessoryPinkHeadbandNotes": "一個簡單的粉紅色髮箍,沒有屬性加成。",
- "headAccessoryRedHeadbandText": "紅色髮箍",
- "headAccessoryRedHeadbandNotes": "一個簡單的紅色髮箍,沒有屬性加成。",
- "headAccessoryWhiteHeadbandText": "白色髮箍",
- "headAccessoryWhiteHeadbandNotes": "一個簡單的白色髮箍,沒有屬性加成。",
- "headAccessoryYellowHeadbandText": "黃色髮箍",
- "headAccessoryYellowHeadbandNotes": "一個簡單的黃色髮箍,沒有屬性加成。",
- "headAccessoryMystery201403Text": "森林徒步者鹿角",
- "headAccessoryMystery201403Notes": "這對鹿角上的苔蘚和地衣閃爍著微光。沒有屬性加成。2014年3月訂閱者物品。",
- "headAccessoryMystery201404Text": "暮光之城蝴蝶觸角",
- "headAccessoryMystery201404Notes": "這對觸角能幫助佩戴者察覺到危險的干擾!沒有屬性加成。2014年4月訂閱者物品。",
+ "headAccessorySpecialSpring2015HealerNotes": "這雙可愛的貓耳會讓其他人嫉妒到眼睛發綠。無屬性加成。 2015年春季限定版裝備",
+ "headAccessorySpecialSpring2016RogueText": "綠色犬耳",
+ "headAccessorySpecialSpring2016RogueNotes": "戴上它,您就可以跟蹤隱形的狡猾魔法師! 無屬性加成。 2016年春季限定版裝備",
+ "headAccessorySpecialSpring2016WarriorText": "紅色鼠耳",
+ "headAccessorySpecialSpring2016WarriorNotes": "它能在吵鬧的戰場中方便您聽見自己的主題曲。無屬性加成。 2016年春季限定版裝備",
+ "headAccessorySpecialSpring2016MageText": "黃色貓耳",
+ "headAccessorySpecialSpring2016MageNotes": "這雙尖銳的耳朵可以偵測到四周魔法微小的嗡嗡聲,或是盜賊無聲的腳步。無屬性加成。 2016年春季限定版裝備",
+ "headAccessorySpecialSpring2016HealerText": "紫色兔耳",
+ "headAccessorySpecialSpring2016HealerNotes": "它們立起來就像戰鬥時的旗幟,能讓四周的人知道要到哪裡取得協助。無屬性加成。 2016年春季限定版裝備",
+ "headAccessorySpecialSpring2017RogueText": "紅色兔耳",
+ "headAccessorySpecialSpring2017RogueNotes": "多虧了這雙耳朵,沒有任何聲音可以躲過它。無屬性加成。 2017年春季限定版裝備",
+ "headAccessorySpecialSpring2017WarriorText": "藍色貓耳",
+ "headAccessorySpecialSpring2017WarriorNotes": "即使是在喧鬧的戰場上,這雙耳朵還是能聽見袋子裡小貓的呼叫聲! 無屬性加成。 2017年春季限定版裝備",
+ "headAccessorySpecialSpring2017MageText": "藍綠犬耳",
+ "headAccessorySpecialSpring2017MageNotes": "您可以聽見空氣中的魔法聲! 無屬性加成。 2017年春季限定版裝備",
+ "headAccessorySpecialSpring2017HealerText": "紫色鼠耳",
+ "headAccessorySpecialSpring2017HealerNotes": "這雙耳朵可讓您聽見治療的秘訣。無屬性加成。 2017年春季限定版裝備",
+ "headAccessoryBearEarsText": "猛熊耳朵",
+ "headAccessoryBearEarsNotes": "這雙耳朵能讓您看起來就像是一隻英勇的熊! 無屬性加成。",
+ "headAccessoryCactusEarsText": "仙人掌耳朵",
+ "headAccessoryCactusEarsNotes": "這雙耳朵能讓您看起來就像是一隻多刺的仙人掌! 無屬性加成。",
+ "headAccessoryFoxEarsText": "狐狸耳朵",
+ "headAccessoryFoxEarsNotes": "這雙耳朵能讓您看起來就像是一隻詭計多端的狐狸! 無屬性加成。",
+ "headAccessoryLionEarsText": "獅子耳朵",
+ "headAccessoryLionEarsNotes": "這雙耳朵能讓您看起來就像是一隻萬獸之王的獅子! 無屬性加成。",
+ "headAccessoryPandaEarsText": "貓熊耳朵",
+ "headAccessoryPandaEarsNotes": "這雙耳朵能讓您看起來就像是一隻溫和的貓熊! 無屬性加成。",
+ "headAccessoryPigEarsText": "小豬耳朵",
+ "headAccessoryPigEarsNotes": "這雙耳朵能讓您看起來就像是一隻異想天開的小豬! 無屬性加成。",
+ "headAccessoryTigerEarsText": "老虎耳朵",
+ "headAccessoryTigerEarsNotes": "這雙耳朵能讓您看起來就像是一隻兇猛的老虎! 無屬性加成。",
+ "headAccessoryWolfEarsText": "灰狼耳朵",
+ "headAccessoryWolfEarsNotes": "這雙耳朵能讓您看起來就像是一隻忠誠的灰狼! 無屬性加成。",
+ "headAccessoryBlackHeadbandText": "黝黑髮箍",
+ "headAccessoryBlackHeadbandNotes": "一副簡易的黑色髮箍。無屬性加成。",
+ "headAccessoryBlueHeadbandText": "寶藍髮箍",
+ "headAccessoryBlueHeadbandNotes": "一副簡易的藍色髮箍。無屬性加成。",
+ "headAccessoryGreenHeadbandText": "草綠髮箍",
+ "headAccessoryGreenHeadbandNotes": "一副簡易的綠色髮箍。無屬性加成。",
+ "headAccessoryPinkHeadbandText": "粉紅髮箍",
+ "headAccessoryPinkHeadbandNotes": "一副簡易的粉紅色髮箍。無屬性加成。",
+ "headAccessoryRedHeadbandText": "赤紅髮箍",
+ "headAccessoryRedHeadbandNotes": "一副簡易的紅色髮箍。無屬性加成。",
+ "headAccessoryWhiteHeadbandText": "純白髮箍",
+ "headAccessoryWhiteHeadbandNotes": "一副簡易的白色髮箍。無屬性加成。",
+ "headAccessoryYellowHeadbandText": "金黃髮箍",
+ "headAccessoryYellowHeadbandNotes": "一副簡易的黃色髮箍。無屬性加成。",
+ "headAccessoryMystery201403Text": "森林步行者鹿角",
+ "headAccessoryMystery201403Notes": "這雙鹿角上的苔蘚和地衣正閃爍著微光。無屬性加成。 2014年3月訂閱者專屬裝備",
+ "headAccessoryMystery201404Text": "薄暮蝴蝶觸角",
+ "headAccessoryMystery201404Notes": "這雙觸角能幫助佩戴者察覺到危險的干擾! 無屬性加成。 2014年4月訂閱者專屬裝備",
"headAccessoryMystery201409Text": "秋季鹿角",
- "headAccessoryMystery201409Notes": "這對強大的鹿角會隨著樹葉一起改變顏色。沒有屬性加成。2014年9月訂閱者物品。",
+ "headAccessoryMystery201409Notes": "這雙擁有強大力量的鹿角會隨著樹葉一同改變顏色。無屬性加成。 2014年9月訂閱者專屬裝備",
"headAccessoryMystery201502Text": "思緒之翼",
- "headAccessoryMystery201502Notes": "讓想像力翱翔吧!沒有屬性加成。2015年2月訂閱者物品。",
- "headAccessoryMystery201510Text": "哥布林角",
- "headAccessoryMystery201510Notes": "這些嚇人的角有一點黏糊糊的。沒有屬性加成。2015年10月訂閱者物品。",
- "headAccessoryMystery201801Text": "Frost Sprite Antlers",
- "headAccessoryMystery201801Notes": "These icy antlers shimmer with the glow of winter auroras. Confers no benefit. January 2018 Subscriber Item.",
- "headAccessoryMystery201804Text": "Squirrel Ears",
- "headAccessoryMystery201804Notes": "These fuzzy sound-catchers will ensure you never miss the rustle of a leaf or the sound of an acorn falling! Confers no benefit. April 2018 Subscriber Item.",
- "headAccessoryMystery301405Text": "頭戴護目鏡",
- "headAccessoryMystery301405Notes": "人們說,\"護目鏡是戴在眼睛上的\"。人們說,\"沒有人會想要一個只能戴在頭上的護目鏡\"。哈!你的確是讓他們長見識了!沒有屬性加成。3015年8月訂閱者物品。",
- "headAccessoryArmoireComicalArrowText": "Comical Arrow",
- "headAccessoryArmoireComicalArrowNotes": "This whimsical item sure is good for a laugh! Increases Strength by <%= str %>. Enchanted Armoire: Independent Item.",
+ "headAccessoryMystery201502Notes": "讓想像力盡情翱翔吧! 無屬性加成。 2015年2月訂閱者專屬裝備",
+ "headAccessoryMystery201510Text": "哥布林觸角",
+ "headAccessoryMystery201510Notes": "這對嚇人的觸角摸起來有一點黏糊糊的。無屬性加成。 2015年10月訂閱者專屬裝備",
+ "headAccessoryMystery201801Text": "冰霜精靈鹿角",
+ "headAccessoryMystery201801Notes": "這對冰晶鹿角隨著冬季極光的閃爍而閃閃發光。無屬性加成。 2018年1月訂閱者專屬裝備",
+ "headAccessoryMystery201804Text": "松鼠耳",
+ "headAccessoryMystery201804Notes": "這對毛茸茸的聲音捕捉器能確保您永遠不會錯過葉子的沙沙聲或橡子的掉落聲! 無屬性加成。 2018年4月訂閱者專屬裝備",
+ "headAccessoryMystery301405Text": "護目鏡頭飾",
+ "headAccessoryMystery301405Notes": "人們說,\"護目鏡是戴在眼睛上的\"。人們說,\"沒有人會想要一個只能戴在頭上的護目鏡\"。哈!您這次真的讓他們大開眼界了! 無屬性加成。 3015年8月訂閱者專屬裝備",
+ "headAccessoryArmoireComicalArrowText": "可笑的箭",
+ "headAccessoryArmoireComicalArrowNotes": "這根奇特的東西的確會想讓人捧腹大笑! 增加 <%= str %> 點力量。 來自神祕寶箱: 獨立裝備",
+ "headAccessoryArmoireGogglesOfBookbindingText": "圖書裝訂護目鏡",
+ "headAccessoryArmoireGogglesOfBookbindingNotes": "這副護目鏡將不會為為您的任何任務帶來一丁點的幫助! 增加 <%= per %> 點感知。 圖書裝訂工套裝(1/4)",
"eyewear": "眼部配件",
- "eyewearCapitalized": "Eyewear",
+ "eyewearCapitalized": "眼部配件",
"eyewearBase0Text": "沒有眼部配件",
- "eyewearBase0Notes": "沒有眼部配件",
+ "eyewearBase0Notes": "沒有眼部配件。",
"eyewearSpecialBlackTopFrameText": "黑框眼鏡",
- "eyewearSpecialBlackTopFrameNotes": "黑色鏡框崁著鏡片;沒有任何能力加成。",
+ "eyewearSpecialBlackTopFrameNotes": "黑色鏡框嵌著鏡片。無屬性加成。",
"eyewearSpecialBlueTopFrameText": "藍框眼鏡",
- "eyewearSpecialBlueTopFrameNotes": "藍色鏡框崁著鏡片;沒有任何能力加成。",
+ "eyewearSpecialBlueTopFrameNotes": "藍色鏡框嵌著鏡片。無屬性加成。",
"eyewearSpecialGreenTopFrameText": "綠框眼鏡",
- "eyewearSpecialGreenTopFrameNotes": "綠色鏡框崁著鏡片;沒有任何能力加成。",
+ "eyewearSpecialGreenTopFrameNotes": "綠色鏡框嵌著鏡片。無屬性加成。",
"eyewearSpecialPinkTopFrameText": "粉紅框眼鏡",
- "eyewearSpecialPinkTopFrameNotes": "粉紅色鏡框崁著鏡片;沒有任何能力加成。",
+ "eyewearSpecialPinkTopFrameNotes": "粉紅色鏡框嵌著鏡片。無屬性加成。",
"eyewearSpecialRedTopFrameText": "紅框眼鏡",
- "eyewearSpecialRedTopFrameNotes": "紅色鏡框崁著鏡片;沒有任何能力加成。",
+ "eyewearSpecialRedTopFrameNotes": "紅色鏡框嵌著鏡片。無屬性加成。",
"eyewearSpecialWhiteTopFrameText": "白框眼鏡",
- "eyewearSpecialWhiteTopFrameNotes": "白色鏡框崁著鏡片;沒有任何能力加成。",
+ "eyewearSpecialWhiteTopFrameNotes": "白色鏡框嵌著鏡片。無屬性加成。",
"eyewearSpecialYellowTopFrameText": "黃框眼鏡",
- "eyewearSpecialYellowTopFrameNotes": "黃色鏡框崁著鏡片;沒有任何能力加成。",
- "eyewearSpecialAetherMaskText": "Aether Mask",
- "eyewearSpecialAetherMaskNotes": "This mask has a mysterious history. Increases Intelligence by <%= int %>.",
- "eyewearSpecialSummerRogueText": "流氓眼罩",
- "eyewearSpecialSummerRogueNotes": "即使是無賴也能看出這個眼罩有多時髦!沒有屬性加成。限定版2014夏季裝備。",
+ "eyewearSpecialYellowTopFrameNotes": "黃色鏡框嵌著鏡片。無屬性加成。",
+ "eyewearSpecialAetherMaskText": "以太面具",
+ "eyewearSpecialAetherMaskNotes": "這是一個擁有神秘歷史的面具。增加 <%= int %> 點智力。",
+ "eyewearSpecialSummerRogueText": "盜賊眼罩",
+ "eyewearSpecialSummerRogueNotes": "即使是無賴也能看出這個眼罩有多時髦! 無屬性加成。 2014年夏季限定版裝備",
"eyewearSpecialSummerWarriorText": "時髦眼罩",
- "eyewearSpecialSummerWarriorNotes": "即使是惡棍也能看出這個眼罩有多時髦!沒有屬性加成。2014夏季限量版裝備。",
- "eyewearSpecialWonderconRedText": "威武面罩",
- "eyewearSpecialWonderconRedNotes": "真是個威武的面部裝飾!沒有屬性加成!特別版參與者物品。",
- "eyewearSpecialWonderconBlackText": "潛行面罩",
- "eyewearSpecialWonderconBlackNotes": "你的動機絕對合法。沒有增益效果。特別版參與者物品。",
- "eyewearMystery201503Text": "藍寶石眼鏡",
- "eyewearMystery201503Notes": "別被這些閃閃發光的寶石閃瞎!沒有屬性加成。2015年3月訂閱者物品。",
+ "eyewearSpecialSummerWarriorNotes": "即使是惡棍也能看出這個眼罩有多時髦! 無屬性加成。 2014年夏季限定版裝備",
+ "eyewearSpecialWonderconRedText": "威武面具",
+ "eyewearSpecialWonderconRedNotes": "這真是個威武的臉部配件! 無屬性加成。 集會參與者特別版裝備",
+ "eyewearSpecialWonderconBlackText": "潛行面具",
+ "eyewearSpecialWonderconBlackNotes": "您的動機絕對合法。無屬性加成。 集會參與者特別版裝備",
+ "eyewearMystery201503Text": "海藍寶石眼鏡",
+ "eyewearMystery201503Notes": "千萬別被這些閃閃發光的寶石給閃瞎! 無屬性加成。 2015年3月訂閱者專屬裝備",
"eyewearMystery201506Text": "霓虹浮潛罩",
- "eyewearMystery201506Notes": "戴上霓虹浮潛罩就能一窺海底世界!沒有屬性加成。2015夏季限量版裝備。",
- "eyewearMystery201507Text": "抗輻射墨鏡",
- "eyewearMystery201507Notes": "這個墨鏡讓你在大熱天依舊酷勁涼快好帥氣!沒有屬性加成。2015年7月訂閱者物品。",
- "eyewearMystery201701Text": "Timeless Shades",
- "eyewearMystery201701Notes": "These sunglasses will protect your eyes from harmful rays and will look stylish no matter where you find yourself in time! Confers no benefit. January 2017 Subscriber Item.",
- "eyewearMystery301404Text": "眼戴護目鏡",
- "eyewearMystery301404Notes": "沒有什麼小飾品能比一副護目鏡更炫了—可能吧,除了單片眼鏡。3015年3月訂閱者物品。",
- "eyewearMystery301405Text": "單片眼鏡",
- "eyewearMystery301405Notes": "沒有什麼飾品能比單片眼鏡更炫—可能吧,除了護目鏡。沒有屬性加成。3015年7月訂閱者物品",
- "eyewearMystery301703Text": "Peacock Masquerade Mask",
- "eyewearMystery301703Notes": "Perfect for a fancy masquerade or for stealthily moving through a particularly well-dressed crowd. Confers no benefit. March 3017 Subscriber Item.",
- "eyewearArmoirePlagueDoctorMaskText": "瘟疫醫師面罩",
- "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.",
+ "eyewearMystery201506Notes": "戴上霓虹浮潛罩就能一窺海底世界! 無屬性加成。 2015年6月訂閱者專屬裝備",
+ "eyewearMystery201507Text": "超爽快太陽眼鏡",
+ "eyewearMystery201507Notes": "這副太陽眼鏡能讓您在大熱天依舊酷勁消暑好帥氣! 無屬性加成。 2015年7月訂閱者專屬裝備",
+ "eyewearMystery201701Text": "永恆墨鏡",
+ "eyewearMystery201701Notes": "這副太陽眼鏡能保護您不受有害的射線給傷害,還能讓您在任何時刻都看起來非常時髦。無屬性加成。 2017年1月訂閱者專屬裝備",
+ "eyewearMystery301404Text": "護目鏡頭飾",
+ "eyewearMystery301404Notes": "沒有任何眼部配件能比這副護目鏡更潮了— 也許,除了單眼鏡以外。無屬性加成。 3015年3月訂閱者專屬裝備",
+ "eyewearMystery301405Text": "單眼鏡",
+ "eyewearMystery301405Notes": "沒有任何眼部配件能比這副護目鏡更潮了— 也許,除了護目鏡以外。無屬性加成。 3015年7月訂閱者專屬裝備",
+ "eyewearMystery301703Text": "孔雀假面舞會面具",
+ "eyewearMystery301703Notes": "最適合在花俏的化裝舞會時穿戴或是想靜悄悄地穿過那群講究穿著的人群時穿戴。無屬性加成。 3017年3月訂閱者專屬裝備",
+ "eyewearArmoirePlagueDoctorMaskText": "瘟疫醫師面具",
+ "eyewearArmoirePlagueDoctorMaskNotes": "這是一副由某位正與怠惰瘟疫抗爭的醫生穿戴過的真品面具。增加體質、智力各 <%= attrs %> 點。 來自神祕寶箱: 瘟疫醫師套裝(2/3)",
+ "eyewearArmoireGoofyGlassesText": "愚蠢眼鏡",
+ "eyewearArmoireGoofyGlassesNotes": "非常適合給想隱姓埋名或是想讓您的同伴咯咯大笑時穿戴。增加 <%= per %> 點感知。 來自神祕寶箱: 獨立裝備",
"twoHandedItem": "雙持物品。"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/generic.json b/website/common/locales/zh_TW/generic.json
index 5e3a5824c9..9680294c08 100644
--- a/website/common/locales/zh_TW/generic.json
+++ b/website/common/locales/zh_TW/generic.json
@@ -26,14 +26,14 @@
"titleMounts": "坐騎",
"titleEquipment": "裝備",
"titleTimeTravelers": "時光旅行者",
- "titleSeasonalShop": "季節性商品",
+ "titleSeasonalShop": "季節限定商店",
"titleSettings": "設定",
"saveEdits": "儲存編輯",
"showMore": "顯示更多",
"showLess": "顯示更少",
"expandToolbar": "展開列表",
"collapseToolbar": "隱藏列表",
- "markdownHelpLink": "Markdown格式說明",
+ "markdownHelpLink": "Markdown 格式說明",
"showFormattingHelp": "開啟格式使用提示",
"hideFormattingHelp": "關閉格式使用提示",
"youType": "輸入 :",
@@ -71,6 +71,7 @@
"submit": "提交",
"close": "關閉",
"saveAndClose": "保存並關閉",
+ "saveAndConfirm": "Save & Confirm",
"cancel": "取消",
"ok": "確定",
"add": "新增",
@@ -103,19 +104,19 @@
"habitBirthdayPluralText": "慶祝了<%= number %> 次的 Habitica 生日派對!",
"habiticaDay": "Habitica 命名日",
"habiticaDaySingularText": "慶祝了 Habitica 命名日! 感謝這位超棒的玩家。",
- "habiticaDayPluralText": " 慶祝了<%= count %> 命名日! 感謝這位超棒的玩家。",
+ "habiticaDayPluralText": " 慶祝 <%= count %> 命名節! 感謝您成為一位了不起的玩家。",
"achievementDilatory": "拖延的救世者",
"achievementDilatoryText": "2014年夏季世界事件中協助打敗了恐怖的拖延巨龍!",
"costumeContest": "變裝比賽",
- "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!",
+ "costumeContestText": "參加萬聖節變裝大賽。在blog.habitrpg.com看看那些傑出的作品!",
+ "costumeContestTextPlural": "加入<%= count %>萬聖節變裝大賽。去blog.habitrpg.com看看那些傑出的作品!",
"memberSince": "- 加入於",
"lastLoggedIn": "- 最後上線於",
"notPorted": "這個功能未從原版網站中導出。",
"buyThis": "你有<%= gems %>個寶石,用其中的<%= price %>個購買<%= text %>?",
"noReachServer": "暫時連不上伺服器,請稍後再試",
"errorUpCase": "錯誤:",
- "newPassSent": "If we have your email on file, instructions for setting a new password have been sent to your email.",
+ "newPassSent": "如果你的電子郵件住址有在我們的檔案中,設定新密碼的指示將會寄到你的電子郵件信箱。",
"serverUnreach": "暫時連不上伺服器。",
"requestError": "出錯了! 請重新加載頁面, 你的最後行動可能沒有被儲存。",
"seeConsole": "如果錯誤仍然存在,請在 幫助 > 回報問題 告訴我們。如果你熟悉瀏覽器的控制介面,請連同任何錯誤訊息一起回報給我們。",
diff --git a/website/common/locales/zh_TW/groups.json b/website/common/locales/zh_TW/groups.json
index 337b1cd33e..b63b0a47dc 100644
--- a/website/common/locales/zh_TW/groups.json
+++ b/website/common/locales/zh_TW/groups.json
@@ -1,14 +1,15 @@
{
- "tavern": "酒館",
- "tavernChat": "酒館閒談",
+ "tavern": "酒館聊天室",
+ "tavernChat": "酒館聊天室",
"innCheckOut": "離開旅館",
"innCheckIn": "在旅館休息",
- "innText": "你正在酒館休息!當你入住後,你的每日任務將不會傷害你,但它們仍然會每日刷新。注意:如果你正在參與一個魔王任務,當你的隊友沒有完成他的每日任務時,魔王的攻擊仍然會傷害到你,除非那位隊友也正在酒館裡休息。另外,當你在酒館內時,你對魔王的攻擊(或是物品收集)將不會生效,直到你離開酒館。",
+ "innText": "你正在酒館小棧裡休息!當你入住後,你的每日任務將不會傷害你,但它們仍然會每日刷新。注意:如果你正在參與一個魔王任務,當你的隊友沒有完成他的每日任務時,魔王的攻擊仍然會傷害到你,除非那位隊友也正在酒館裡休息。另外,當你在酒館內時,你對魔王的攻擊(或是物品收集)將不會生效,直到你離開酒館。",
"innTextBroken": "你正在酒館裡休息,我猜啦......當你入住後,你的每日任務將不會在一日結束時對你造成傷害,但他們仍然會每天刷新。如果你正在進行一個魔王任務,而你的˙隊友沒有完成他的每日任務,魔王仍然會對你造成傷害,除非你的隊友同時也在酒館裡休息。另外,你對魔王的傷害(或是你收集的物品)將不會被計入直到你離開酒館。好累啊......",
"innCheckOutBanner": "你已經入住酒館了。你的每日任務將不會傷害你,而你的任務進度也會暫停。",
- "resumeDamage": "回復傷害",
+ "innCheckOutBannerShort": "You are checked into the Inn.",
+ "resumeDamage": "離開酒館",
"helpfulLinks": "有幫助的連結",
- "communityGuidelinesLink": "社群規範",
+ "communityGuidelinesLink": "社群守則",
"lookingForGroup": "尋找團體(需要隊伍)的貼文",
"dataDisplayTool": "數據顯示工具",
"reportProblem": "回報Bug",
@@ -27,7 +28,7 @@
"community": "社區論壇",
"dataTool": "數據顯示工具",
"resources": "資源",
- "askQuestionNewbiesGuild": "提問(Habitica 新手公會)",
+ "askQuestionNewbiesGuild": "問問題 (Habitica Help guild)",
"tavernAlert1": "如果您想回報一個bug,請至",
"tavernAlert2": "bug回報公會",
"moderatorIntro1": "酒館和公會的版主是:",
@@ -41,8 +42,8 @@
"updatedParty": "隊與設置更新。",
"errorNotInParty": "你不在任何隊伍中",
"noPartyText": "你不在一個隊伍裡或是隊伍需要一些時間來載入。你可以成立一個隊伍並且邀請朋友,或是加入一個已經存在的隊伍,讓他們輸入下方你的UUID,並且回來這裡確認邀請。",
- "LFG": "要宣傳你的新隊伍或是找尋可加入的隊伍,請到<%= linkStart %>需要隊伍(尋找團體)<%= linkEnd %>公會",
- "wantExistingParty": "想要加入一個已存在的隊伍?前往<%= linkStart %>隊伍招募公會<%= linkEnd %>並且張貼這個UUID",
+ "LFG": "要宣傳你的新隊伍或是找尋可加入的隊伍,請到<%= linkStart %> Party Wanted 公會 <%= linkEnd %>",
+ "wantExistingParty": "想要加入一個已存在的隊伍?前往<%= linkStart %> Party Wanted Guild <%= linkEnd %>並且張貼這個UUID",
"joinExistingParty": "加入他人的隊伍",
"needPartyToStartQuest": "哎呀!在你開始一個任務之前,你需要建立或加入一個隊伍!",
"createGroupPlan": "建立",
@@ -153,9 +154,9 @@
"cannotSendGemsToYourself": "無法寄寶石給你自己。請嘗試訂閱我們。",
"badAmountOfGemsToSend": "數量應該在1和你現有的水晶數量之間。",
"report": "檢舉",
- "abuseFlag": "舉報社群規範違規事件",
+ "abuseFlag": "舉報社群守則違規事件",
"abuseFlagModalHeading": "違規檢舉",
- "abuseFlagModalBody": "你確定你要檢舉這則貼文?你只應該檢舉違反<%= firstLinkStart %>社群規範<%= linkEnd %>和/或<%= secondLinkStart %>服務條款<%= linkEnd %>的貼文。不正確的檢舉不但違反社群規範也可能讓你被懲罰。",
+ "abuseFlagModalBody": "你確定你要檢舉這則貼文?你只應該檢舉違反<%= firstLinkStart %>社群守則<%= linkEnd %>和/或<%= secondLinkStart %>服務條款<%= linkEnd %>的貼文。不正確的檢舉不但違反社群規範也可能讓你被懲罰。",
"abuseFlagModalButton": "舉報違規行為",
"abuseReported": "感謝您舉報這起違規事件。管理員將會被告知。",
"abuseAlreadyReported": "您已經舉報過此留言訊息。",
@@ -196,7 +197,7 @@
"sendGiftPurchase": "購買",
"sendGiftMessagePlaceholder": "私信 (可選)",
"sendGiftSubscription": "<%= months %> 個月的價格: $<%= price %> USD",
- "gemGiftsAreOptional": "請注意Habitica不需要你給任何玩家水晶。乞討水晶的玩家已經違反社群規範,並且這些案例應該要回報至<%= hrefTechAssistanceEmail %>。",
+ "gemGiftsAreOptional": "請注意Habitica不需要你給任何玩家水晶。乞討水晶的玩家已經違反社群守則,並且這些案例應該要回報至<%= hrefTechAssistanceEmail %>。",
"battleWithFriends": "與朋友一起打怪",
"startPartyWithFriends": "和你的朋友們組成一隊!",
"startAParty": "開團",
@@ -211,7 +212,7 @@
"partyEmpty": "你是隊伍中唯一一個人,邀請你的朋友!",
"partyChatEmpty": "你的隊伍聊天室是空的!在上方文字欄輸入訊息以開啟談話。",
"guildChatEmpty": "你的工會對話是空的!在上方空白處輸入一個訊息即可開始對話。",
- "requestAcceptGuidelines": "如果你想張貼訊息在酒館或任何隊伍及公會聊天室,請先閱讀我們的<%= linkStart %>社群規範<%= linkEnd %>並且點選下方的按鈕確認你接受它。",
+ "requestAcceptGuidelines": "如果你想張貼訊息在酒館或任何隊伍及公會聊天室,請先閱讀我們的<%= linkStart %>社群守則<%= linkEnd %>並且點選下方的按鈕確認你接受它。",
"partyUpName": "隊伍參與",
"partyOnName": "龐大隊伍參與",
"partyUpText": "和別人一起加入隊伍吧!在與怪物對戰以及協助他人的途中享受樂趣。",
@@ -223,59 +224,59 @@
"onlyLeaderCanRemoveMember": "只有隊長可以移除隊員!",
"cannotRemoveCurrentLeader": "你不能移除隊長,請先指定一名新的隊長。",
"memberCannotRemoveYourself": "想把你自己移除掉嗎?不可能的!",
- "groupMemberNotFound": "User not found among group's members",
- "mustBeGroupMember": "Must be member of the group.",
+ "groupMemberNotFound": "無法在群組中找到此成員",
+ "mustBeGroupMember": "必須要是群組成員",
"canOnlyInviteEmailUuid": "只能使用uuid或是email邀請。",
- "inviteMissingEmail": "Missing email address in invite.",
- "inviteMissingUuid": "Missing user id in invite",
- "inviteMustNotBeEmpty": "Invite must not be empty.",
- "partyMustbePrivate": "Parties must be private",
- "userAlreadyInGroup": "UserID: <%= userId %>, User \"<%= username %>\" already in that group.",
- "youAreAlreadyInGroup": "You are already a member of this group.",
- "cannotInviteSelfToGroup": "You cannot invite yourself to a group.",
- "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.",
+ "inviteMissingEmail": "邀請函中缺少電子郵件地址",
+ "inviteMissingUuid": "邀請函中缺少UUID",
+ "inviteMustNotBeEmpty": "邀請函不能為空",
+ "partyMustbePrivate": "隊伍必須為私人的",
+ "userAlreadyInGroup": "UUID:<%= userId %>,使用者「<%= username %>」已經在群組中。",
+ "youAreAlreadyInGroup": "你已經是群組成員了。",
+ "cannotInviteSelfToGroup": "你不能邀請你自己進入群組。",
+ "userAlreadyInvitedToGroup": "UUID: <%= userId %>,使用者「<%= username %>」已經被邀請進入群組。",
+ "userAlreadyPendingInvitation": "UUID:<%= userId %>,使用者「<%= username %>」已經在邀請中。",
+ "userAlreadyInAParty": "UUID:<%= userId %>,使用者「<%= username %>」已經在隊伍中。",
"userWithIDNotFound": "找不到玩家ID \"<%= userId %>\"",
"userHasNoLocalRegistration": "User does not have a local registration (username, email, password).",
- "uuidsMustBeAnArray": "User ID invites must be an array.",
- "emailsMustBeAnArray": "Email address invites must be an array.",
- "canOnlyInviteMaxInvites": "You can only invite \"<%= maxInvites %>\" at a time",
- "partyExceedsMembersLimit": "Party size is limited to <%= maxMembersParty %> members",
- "onlyCreatorOrAdminCanDeleteChat": "Not authorized to delete this message!",
- "onlyGroupLeaderCanEditTasks": "Not authorized to manage tasks!",
- "onlyGroupTasksCanBeAssigned": "Only group tasks can be assigned",
- "assignedTo": "Assigned To",
- "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",
- "confirmClaim": "Are you sure you want to claim this task?",
- "confirmUnClaim": "Are you sure you want to unclaim this task?",
- "confirmApproval": "Are you sure you want to approve 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.",
- "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.",
+ "uuidsMustBeAnArray": "邀請UUID必須是個序列。",
+ "emailsMustBeAnArray": "電子郵件位址邀請必須是個序列。",
+ "canOnlyInviteMaxInvites": "你只能同時邀請\"<%= maxInvites %>\"個人",
+ "partyExceedsMembersLimit": "隊伍最多有<%= maxMembersParty %>個隊員",
+ "onlyCreatorOrAdminCanDeleteChat": "未被授權刪除此訊息!",
+ "onlyGroupLeaderCanEditTasks": "未被授權管理任務!",
+ "onlyGroupTasksCanBeAssigned": "只有群組任務可以分配",
+ "assignedTo": "分配給",
+ "assignedToUser": "分配給<%= userName %>",
+ "assignedToMembers": "分配給<%= userCount %>位成員",
+ "assignedToYouAndMembers": "分配給你以及<%= userCount %>位成員",
+ "youAreAssigned": "你被分配到這個任務",
+ "taskIsUnassigned": "這個任務被取消分配",
+ "confirmClaim": "你確定你要請求這個任務?",
+ "confirmUnClaim": "你確定你要取消請求這個任務?",
+ "confirmApproval": "你確定你要同意這個任務?",
+ "confirmNeedsWork": "你確定你要標註這個任務為需要進行?",
+ "userRequestsApproval": "<%= userName %>個請求批准",
+ "userCountRequestsApproval": "<%= userCount %>位成員的請求批准",
+ "youAreRequestingApproval": "你在請求批准",
+ "chatPrivilegesRevoked": "你無法這樣做因為你的聊天權限已被撤銷。",
+ "cannotCreatePublicGuildWhenMuted": "你無法成立一個公開公會因為你的聊天權限已被撤銷。",
+ "cannotInviteWhenMuted": "你無法邀請任何人到一個公會或隊伍,因為你的聊天權限已被撤銷。",
"newChatMessagePlainNotification": "由 <%= authorName %>發出的新訊息在 <%= groupName %> 。點擊這裡打開聊天頁面!",
"newChatMessageTitle": "新訊息在 <%= groupName %>",
"exportInbox": "匯出訊息",
- "exportInboxPopoverTitle": "Export your messages as HTML",
- "exportInboxPopoverBody": "HTML allows easy reading of messages in a browser. For a machine-readable format, use Data > Export Data",
+ "exportInboxPopoverTitle": "以HTML格式輸出你的訊息",
+ "exportInboxPopoverBody": "HTML使在瀏覽器上的訊息容易閱讀。如果需要機器語言,使用Data>Export Data。",
"to": "收件人:",
"from": "寄件人:",
- "desktopNotificationsText": "We need your permission to enable desktop notifications for new messages in party chat! Follow your browser's instructions to turn them on.
You'll receive these notifications only while you have Habitica open. If you decide you don't like them, they can be disabled in your browser's settings.
This box will close automatically when a decision is made.",
- "confirmAddTag": "Do you want to assign this task to \"<%= tag %>\"?",
- "confirmRemoveTag": "Do you really want to remove \"<%= tag %>\"?",
+ "desktopNotificationsText": "我們需要你的同意來開啟桌面通知,以接收來自隊伍聊天室的新訊息!遵照你瀏覽器的指示來開啟。
你將只在開啟Habitica時收到這些通知。如果你發現你不喜歡他們,你可以在瀏覽器設定中關閉他們。
這個視窗將在決定完成後自動關閉。",
+ "confirmAddTag": "你要分配這項任務到\"<%= tag %>\"嗎?",
+ "confirmRemoveTag": "你真的要移除\"<%= tag %>\"嗎?",
"groupHomeTitle": "首頁",
- "assignTask": "Assign Task",
- "claim": "Claim",
- "removeClaim": "Remove Claim",
- "onlyGroupLeaderCanManageSubscription": "Only the group leader can manage the group's subscription",
+ "assignTask": "分配任務",
+ "claim": "請求",
+ "removeClaim": "移除請求",
+ "onlyGroupLeaderCanManageSubscription": "只有群組負責人可以管理群組的訂閱內容",
"yourTaskHasBeenApproved": "Your task <%= taskText %> has been approved.",
"taskNeedsWork": "<%= managerName %> marked <%= taskText %> as needing additional work.",
"userHasRequestedTaskApproval": "<%= user %> requests approval for <%= taskName %>",
@@ -440,7 +441,7 @@
"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",
+ "worldBoss": "世界級魔王",
"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",
diff --git a/website/common/locales/zh_TW/limited.json b/website/common/locales/zh_TW/limited.json
index 53414afdbf..a4a2a19dba 100644
--- a/website/common/locales/zh_TW/limited.json
+++ b/website/common/locales/zh_TW/limited.json
@@ -3,47 +3,47 @@
"seasonalEdition": "季節限量版",
"winterColors": "冬天顏色",
"annoyingFriends": "吵鬧的朋友",
- "annoyingFriendsText": "Got snowballed <%= count %> times by party members.",
+ "annoyingFriendsText": "隊友砸了你雪球<%= count %>次。",
"alarmingFriends": "愛嚇人的好友",
- "alarmingFriendsText": "Got spooked <%= count %> times by party members.",
+ "alarmingFriendsText": "被隊友嚇唬了<%= count %>次。",
"agriculturalFriends": "園藝之友",
- "agriculturalFriendsText": "Got transformed into a flower <%= count %> times by party members.",
+ "agriculturalFriendsText": "被隊友變成了鮮花<%= count %>次。",
"aquaticFriends": "水族夥伴",
- "aquaticFriendsText": "Got splashed <%= count %> times by party members.",
+ "aquaticFriendsText": "被隊友潑了<%= count %>次水。",
"valentineCard": "情人節卡片",
"valentineCardExplanation": "因為你們兩個可以忍受這種噁心的互誇文,你們都可以獲得\"崇拜的友情\"徽章!",
"valentineCardNotes": "寄送情人節卡片給隊伍成員。",
"valentine0": "\"玫瑰是鮮紅的\n每日任務是碧藍的\n我很興高采烈的\n能與你在同個隊伍中!\"",
"valentine1": "\"玫瑰是鮮紅的\n紫羅蘭是美好的\n讓我們一起\n與邪惡抗爭!\"",
- "valentine2": "\"玫瑰是鮮紅的\n而這首詩是舊的\n我希望您能喜歡\n因為它價值千金。\"",
+ "valentine2": "\"鮮紅的玫瑰\n古風的詩句\n願你悅納這張卡片\n因它值十金。\"",
"valentine3": "\"玫瑰是鮮紅的\n冰龍是深藍的\n沒有什麼寶藏能比得上\n與你共度的時光!\"",
"valentineCardAchievementTitle": "崇拜的友情",
"valentineCardAchievementText": "哇,你和你的朋友很重視彼此呢!送出了<%= count %> 張情人節卡片。",
"polarBear": "北極熊",
"turkey": "火雞",
- "gildedTurkey": "Gilded Turkey",
+ "gildedTurkey": "金黃火雞",
"polarBearPup": "小北極熊",
"jackolantern": "南瓜燈",
- "ghostJackolantern": "Ghost Jack-O-Lantern",
+ "ghostJackolantern": "南瓜燈之魂",
"seasonalShop": "季節限定商店",
- "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>",
+ "seasonalShopClosedTitle": "<%= linkStart %>萊絲莉<%= linkEnd %>",
"seasonalShopTitle": "<%= linkStart %> 季節魔女 <%= 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!",
+ "seasonalShopClosedText": "季節商店現在關閉中!!只有Habitica的四個盛大宴會中它才會開啟。",
+ "seasonalShopSummerText": "夏日祭典愉快!!你想要買些稀有的物品嗎?他們只在7/31以前能夠購買!",
+ "seasonalShopFallText": "秋日節慶快樂!!!你想要買些稀有的物品嗎?他們只在10/31前開放購買!",
+ "seasonalShopWinterText": "歡迎來到夢幻之地!!你想要買些稀有的物品嗎?他們只在11/31前開放購買!",
+ "seasonalShopSpringText": "春之祭典快樂!!想要買一些稀有的物品嗎?他們只供購買到四月30日!",
"seasonalShopFallTextBroken": "哦....歡迎來到季節商店...我們目前有秋季季節限定的商品,之類的...這裡的所有東西會在每年的秋季節慶活動中開放購買,但我們只開放到 10 月 31 日...我想你現在就該買起來,不然你就要一直等...一直等...一直等...*嘆氣*",
- "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.",
+ "seasonalShopBrokenText": "我的看臺!!!!!!!!!我的裝飾!!!!!!!!!!!噢!碎心蟻后破壞了所有東西 :( 請幫忙在酒館擊敗她,讓我可以重建!",
+ "seasonalShopRebirth": "如果你之前買了這些裝備裡的任何東西,但是現在沒有他,你可以在獎勵欄位重新購買他。現在,你只能買你現在職業的用品(除了戰士之外),但別怕,其他職業限定的物品將可購買,如果你轉換到那個職業。",
"candycaneSet": "拐杖糖 ( 法師 )",
"skiSet": "滑雪杖 ( 盜賊 )",
"snowflakeSet": "雪花 ( 醫者 )",
"yetiSet": "雪怪馴獸師 ( 戰士 )",
- "northMageSet": "Mage of the North (Mage)",
- "icicleDrakeSet": "Icicle Drake (Rogue)",
- "soothingSkaterSet": "Soothing Skater (Healer)",
- "gingerbreadSet": "Gingerbread Warrior (Warrior)",
+ "northMageSet": "北方魔法師(魔法師)",
+ "icicleDrakeSet": "冰錐巨龍(盜賊)",
+ "soothingSkaterSet": "撫慰溜冰者(醫者)",
+ "gingerbreadSet": "薑餅戰士(戰士)",
"snowDaySet": "酷寒戰士(戰士)",
"snowboardingSet": "Snowboarding Sorcerer (Mage)",
"festiveFairySet": "Festive Fairy (Healer)",
@@ -125,6 +125,10 @@
"summer2018LionfishMageSet": "獅子魚法師(法師)",
"summer2018MerfolkMonarchSet": "人魚帝王(醫者)",
"summer2018FisherRogueSet": "漁夫盜賊(盜賊)",
+ "fall2018MinotaurWarriorSet": "Minotaur (Warrior)",
+ "fall2018CandymancerMageSet": "Candymancer (Mage)",
+ "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)",
+ "fall2018AlterEgoSet": "Alter Ego (Rogue)",
"eventAvailability": "可供購買直到<%= date(locale) %>。",
"dateEndMarch": "四月30",
"dateEndApril": "四月19",
@@ -132,6 +136,7 @@
"dateEndJune": "六月14",
"dateEndJuly": "七月31",
"dateEndAugust": "八月31",
+ "dateEndSeptember": "September 21",
"dateEndOctober": "十月31",
"dateEndNovember": "十一月30",
"dateEndJanuary": "一月31",
diff --git a/website/common/locales/zh_TW/loadingscreentips.json b/website/common/locales/zh_TW/loadingscreentips.json
index f36e0d3ec8..edd446e4ee 100644
--- a/website/common/locales/zh_TW/loadingscreentips.json
+++ b/website/common/locales/zh_TW/loadingscreentips.json
@@ -1,38 +1,38 @@
{
"tipTitle": "提示 #<%= tipNumber %>",
- "tip1": "使用Habitica行動Apps來隨時檢查任務。",
- "tip2": "點擊任何裝備來觀看預覽,或是透過點擊左上角的星星來立即裝備它!",
- "tip3": "可以使用表情符號來快速辨別你的任務。",
- "tip4": "在任務名稱前使用「#」符號可以使文字變大!",
- "tip5": "最好在早上使用技能,因為這樣增益效果才能持續最久。",
- "tip6": "把滑鼠移到一個任務上並且點擊右上角的點點圖案,將能夠使用進階任務控制項目,例如將任務在清單中置頂/置底。",
- "tip7": "如果隊伍成員使用相同的背景,其中一些可以完美地連接起來。例如:山中湖畔、東方寶塔和連綿長丘。",
- "tip8": "透過點擊聊天室中某個人的名字,然後點擊他們介紹中上方的信封圖示,你可以寄送訊息給他們!",
- "tip9": "在背包、商店、公會和挑戰中使用篩選+搜尋欄讓你快速找到你想要的。",
- "tip10": "你可以透過挑戰競賽來贏得寶石。每天都有更多的挑戰!",
- "tip11": "有四個以上的隊伍成員可以增加責任感!",
- "tip12": "在待辦事項當中增加核對清單將使獎勵倍增!",
- "tip13": "點擊任務頁面的「標籤」可以讓你輕鬆地管理大量的任務!",
- "tip14": "您可以使用沒有 (+/-) 的習慣在清單上加上標題或激勵人心的名言佳句。",
- "tip15": "Complete all the Masterclasser Quest-lines to learn about Habitica’s secret lore.",
- "tip16": "Click the link to the Data Display Tool in the footer for valuable insights on your progress.",
- "tip17": "使用手機APP替你的任務設置提醒。",
+ "tip1": "使用 Habitica 行動版 Apps 來隨時查看任務。",
+ "tip2": "點擊裝備來預覽,或是點擊左上角的星星直接穿上它!",
+ "tip3": "可以使用表情符號來快速區分您的任務。",
+ "tip4": "在任務名稱前加上「#」符號可以使任務名稱字體放大!",
+ "tip5": "盡量在早上施放增益技能,這樣會使它的持續時間更長。",
+ "tip6": "將滑鼠移到一個任務上並點擊右上角的點點圖案,將能使用進階任務控制項目,例如可將任務置頂/置底。",
+ "tip7": "隊伍成員可使用相同的背景,有些背景可完美地連接起來。例如:山中湖畔、東方寶塔和連綿長丘。",
+ "tip8": "透過點擊聊天室中的名字,然後點擊他們個人訊息中上方的信封圖示,就可以發送私訊給他們!",
+ "tip9": "在背包、商店、公會和挑戰中使用篩選&搜尋欄能讓您快速找到想要的東西。",
+ "tip10": "您可以透過挑戰來贏得寶石。每天都會有新的挑戰!",
+ "tip11": "擁有4人以上的隊伍成員可以彼此增加責任感!",
+ "tip12": "在待辦事項中加入清單可以獲得更多獎勵!",
+ "tip13": "點擊任務頁面的「標籤」可以讓您輕鬆管理大量的任務清單!",
+ "tip14": "您可以加入沒有 (+/-) 的習慣,並加上分類標題或是激勵人心的名言佳句。",
+ "tip15": "完成所有「職業統治大師」副本線來了解 Habtica 的神秘傳說。",
+ "tip16": "點擊頁面最下面的「數據顯示工具」來進一步查看您寶貴的任務進度歷史資訊。",
+ "tip17": "使用行動版 APP 可以替您的任務設置提醒。",
"tip18": "只有正面或負面的習慣會逐漸「淡化」並變回黃色。",
- "tip19": "提升你的智力屬性會使你在完成任務時獲得更多經驗值。",
- "tip20": "提升你的感知屬性來獲得更多的物品與金幣。",
- "tip21": "提升你的力量屬性來對魔王造更多傷害或得到會心一擊。",
- "tip22": "提升你的體質屬性來減低未完成每日任務所造成的傷害。",
- "tip23": "Reach level 100 to unlock the Orb of Rebirth for free and start a new adventure!",
- "tip24": "有問題想問?來Habitica Help Guild問吧!",
+ "tip19": "提升您的智力屬性可讓您在完成任務時獲得更多的經驗值。",
+ "tip20": "提升您的感知屬性可讓您獲得更多的物品與金幣。",
+ "tip21": "提升您的力量屬性可讓您對魔王施加更多傷害或造成會心一擊。",
+ "tip22": "提升您的體質屬性可減低未完成的每日任務所造成的傷害。",
+ "tip23": "升級到100等可免費解鎖重生球,並且展開全新的旅程!",
+ "tip24": "有問題想問?到 \"Habitica Help Guild\" 裡詢問吧!",
"tip25": "四季盛典會在夏至、冬至、春分和秋分前後開始。",
- "tip26": "你可以在Party Wanted Guild尋找隊伍或發現隊伍成員!",
- "tip27": "昨天完成了一項每日任務,但忘記勾取了嗎?別擔心!有了昨日活動紀錄,您有機會可以在新的一天開始前記錄所做的活動。",
- "tip28": "Set a Custom Day Start under User Icon > Settings to control when your day restarts.",
- "tip29": "完成所有每日任務來得到增加屬性的完美日增益效果!",
- "tip30": "你可以邀請其他冒險者到公會裡面,不只是隊伍成員。",
- "tip31": "在「Library of Tasks and Challenges」公會查看預建的範例任務清單。",
- "tip32": "許多Habitica的程式碼、畫作和文章是由自願貢獻者製作的!前往Aspiring Legends Guild來幫助我們。",
- "tip33": "Check out The Bulletin Board Guild for news about Guilds, Challenges, and other player-created events - and announce your own there!",
- "tip34": "Occasionally re-evaluate your tasks to make sure they’re up-to-date!",
- "tip35": "Users who are part of a Group Plan gain the ability to assign tasks to other users in that Group for extra task management and accountability."
+ "tip26": "您可以在 \"Party Wanted Guild\" 裡面尋找隊伍或是隊伍成員!",
+ "tip27": "昨天完成了一項每日任務,但忘記勾選了嗎?別擔心!您可以在開始新的一天之前補勾選。",
+ "tip28": "可以到 玩家>設定 裡自定義新的一天的重置時間。",
+ "tip29": "完成所有每日任務來獲得完美日的增益效果並提升屬性數值!",
+ "tip30": "您不僅可以邀請其他玩家到隊伍裡面,還可以邀請至公會裡面。",
+ "tip31": "可以透過 \"Library of Tasks and Challenges\" 公會中的預製列表來查看各類型的範例任務。",
+ "tip32": "Habitica 中許多的程式碼、畫作和文章都是由志工貢獻者創作的!可以前往 \"Aspiring Legends Guild\" 來幫助們。",
+ "tip33": "可以到 \"The Bulletin Board Guild\" 中查看有關工會、挑戰和其他玩家製作的活動的最新情報,也歡迎您到這裡發布自己製作的活動! ",
+ "tip34": "時常重新評估您的任務來確保他們能與時俱進! ",
+ "tip35": "使用群組方案的玩家可以在該群組中指派其他成員任務,以進行額外的任務管理並增進責任感。"
}
diff --git a/website/common/locales/zh_TW/loginincentives.json b/website/common/locales/zh_TW/loginincentives.json
index 68796c02fe..980e9498be 100644
--- a/website/common/locales/zh_TW/loginincentives.json
+++ b/website/common/locales/zh_TW/loginincentives.json
@@ -11,7 +11,7 @@
"unlockedCheckInReward": "你解鎖了簽到獎勵!",
"totalCheckinsTitle": "簽到總數",
"checkinProgressTitle": "到下一次的進度",
- "incentiveBackgroundsUnlockedWithCheckins": "簡樸的背景可以透過每日簽到來解鎖",
+ "incentiveBackgroundsUnlockedWithCheckins": "未解鎖的樸素背景可以透過每日簽到來解鎖",
"checkinReceivedAllRewardsMessage": "You have received all the Check-In prizes available! Congratulations!",
"oneOfAllPetEggs": "每種一顆標準型寵物蛋",
"twoOfAllPetEggs": "每種兩顆標準型寵物蛋",
diff --git a/website/common/locales/zh_TW/maintenance.json b/website/common/locales/zh_TW/maintenance.json
index a616e9a537..94ee53ffee 100644
--- a/website/common/locales/zh_TW/maintenance.json
+++ b/website/common/locales/zh_TW/maintenance.json
@@ -1,6 +1,6 @@
{
"habiticaBackSoon": "別擔心。Habitica一會兒就回來!",
- "importantMaintenance": "我們在大約晚間10點鐘(太平洋時間)(UTC的早上5點)前會進行一些重要的維修。",
+ "importantMaintenance": "我們在大約晚間10點鐘(太平洋時間的早上5點)前會進行一些重要的維修。",
"maintenance": "維修",
"maintenanceMoreInfo": "你想要更多關於維修的資訊? <%= linkStart %>去瀏覽我們的資訊頁吧!<%= linkEnd %>.",
"noDamageKeepStreaks": "你不會受到傷害或失去連擊!",
@@ -10,10 +10,10 @@
"maintenanceInfoTitle": "在Habitica中最近的維修",
"maintenanceInfoWhat": "發生了甚麼事?",
- "maintenanceInfoWhatText": "On May 21, Habitica will be down for maintenance for most of the day. You will not take any damage or have your account harmed during that weekend, even if you can’t log in to check off your Dailies in time! We will be working very hard to make the downtime as short as possible, and will be posting regular updates on our Twitter account. At the end of the downtime, to thank everyone for their patience, you will all receive a rare pet!",
+ "maintenanceInfoWhatText": "5月21日Habiitca將維護最多一天的時間。那個周末你將不會受到傷害或是使帳戶受損,即使你無法及時登入以勾選你的每日任務!我們會非常努力地使維修時間降到最短,並且更新維修進度在我們的推特上。在維修結束後,為了感謝大家的耐心,你們將會每個人收到一隻罕見的寵物!",
"maintenanceInfoWhy": "為甚麼他會發生?",
- "maintenanceInfoWhyText": "For the past several months, we have been thoroughly revamping Habitica behind-the-scenes. Specifically, we have rewritten the API. While it may not look much different on the surface, it’s a whole new world underneath. This will allow us WAY more flexibility when we want to build features in the future, and lead to improved performance!",
- "maintenanceInfoTechDetails": "Want more details on the technical side of the process? Visit The Forge, our dev blog.",
+ "maintenanceInfoWhyText": "在過去的幾個月哩,我們在後台徹底改進了Habitica。特別的是我們重新寫了API。雖然在前台可能看起來沒有什麼改變,在後台它已經是一個全新的世界。這將使我們在未來想要寫一個新功能的時候有更大的彈性,並且帶來更好的表現!",
+ "maintenanceInfoTechDetails": "想要知道更多有關這個技術過程嗎?造訪The Forge,我們的開發部落格。",
"maintenanceInfoMore": "更多資訊",
"maintenanceInfoAccountChanges": "What changes will I see to my account after the rewrite is complete?",
"maintenanceInfoAccountChangesText": "At first, there won’t be any notable changes aside from performance improvements for features such as Challenges. If you notice any changes that shouldn’t be there, email us at <%= hrefTechAssistanceEmail %> and we will investigate them for you!",
diff --git a/website/common/locales/zh_TW/messages.json b/website/common/locales/zh_TW/messages.json
index 3447eae91e..6d0e37256b 100644
--- a/website/common/locales/zh_TW/messages.json
+++ b/website/common/locales/zh_TW/messages.json
@@ -29,16 +29,15 @@
"messageFoundQuest": "你找到了新任務《<%= questText %>》!",
"messageAlreadyPurchasedGear": " 你曾經買過這個裝備,但是現在沒有了。你可在獎勵欄裡重買一次。",
"messageAlreadyOwnGear": "你已經有這個了物品。到裝備頁裡裝備它吧。",
- "previousGearNotOwned": "You need to purchase a lower level gear before this one.",
+ "previousGearNotOwned": "在購買這件裝備前你需要先購買較低等級的裝備。",
"messageHealthAlreadyMax": "你的生命力已經是最大值。",
"messageHealthAlreadyMin": "喔不!您沒有生命值了,購買治療藥水已經來不及了。但別擔心,您還可以復活!",
"armoireEquipment": "<%= image %> 你在神祕寶箱裡找到稀有的裝備 <%= dropText %>!好棒!",
- "armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropText %>. What's that doing in here?",
+ "armoireFood": "<%= image %>你在神秘寶箱裡找到了<%= dropText %>。這是什麼?",
"armoireExp": "你打開神祕寶箱⋯⋯只得到經驗值。",
"messageInsufficientGems": "寶石不足 !",
"messageAuthPasswordMustMatch": ":password 和 :confirm密碼不配合。",
"messageAuthCredentialsRequired": ":username, :email, :password, :confirm需要密碼",
- "messageAuthUsernameTaken": "登入名稱已被使用",
"messageAuthEmailTaken": "電子郵件已被使用。",
"messageAuthNoUserFound": "找不到戶口。",
"messageAuthMustBeLoggedIn": "你需要登入。",
@@ -52,7 +51,7 @@
"messageGroupChatFlagAlreadyReported": "你已經舉報了這個留言。",
"messageGroupChatNotFound": "找不到留言 !",
"messageGroupChatAdminClearFlagCount": "只有管理員才可以把標記計數清除!",
- "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 %>.",
+ "messageCannotFlagSystemMessages": "你無法標記系統訊息。如果你要檢舉違反社群守則的訊息,請以電子郵件傳送截圖以及說明到<%= communityManagerEmail %>給Lemoness。",
"messageGroupChatSpam": "唉呀,看來您發布了太多訊息!請稍等一分鐘並重新嘗試。酒館聊天一次只能容納 200 個訊息,因此 Habitica 鼓勵發布較長而經過考慮的訊息以及有效的回覆。期待看到您想表達的想法。:)",
"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": "路徑`<%= operation %>`沒有保留,因為它是一個受保護的路徑。",
@@ -61,5 +60,6 @@
"messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.",
"notificationsRequired": "通知用ID是必須的。",
"unallocatedStatsPoints": "你有<%= points %>點未分配屬性點",
- "beginningOfConversation": "您與 <%= userName %> 的對話即將開始。記得要和善、尊重,並遵守社群準則!"
+ "beginningOfConversation": "您與 <%= userName %> 的對話即將開始。記得要和善、尊重,並遵守社群守則!",
+ "messageDeletedUser": "Sorry, this user has deleted their account."
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/npc.json b/website/common/locales/zh_TW/npc.json
index ffd55136bc..4165a6cde9 100644
--- a/website/common/locales/zh_TW/npc.json
+++ b/website/common/locales/zh_TW/npc.json
@@ -10,29 +10,29 @@
"justinIntroMessage3": "太棒了!現在,你在進行這一場旅途中會對什麼有興趣?",
"introTour": "我們到了!我已經基於你的興趣填寫了一些任務,所以你可以立刻開始。點擊一個任務來編輯,或增加符合你日常生活的新任務!",
"prev": "往前",
- "next": "往後",
+ "next": "下一頁",
"randomize": "隨機",
"mattBoch": "Matt Boch",
"mattShall": "需要我把你的坐騎<%= name %>帶出來嗎?當寵物吃飽時就會變成坐騎顯示在這邊。點擊一隻坐騎來騎上牠吧 !",
"mattBochText1": "歡迎來到馬廄!我是Matt,一名寵物大師。從等級3開始,你將會發現蛋和藥水來孵育寵物。當你在市集中孵化了一隻寵物,牠將會在這裡出現!點選寵物的圖片可以把牠增加到你的角色中。餵食牠們你在等級3之後發現的食物,寵物將會成長為強壯的坐騎。",
- "welcomeToTavern": "歡迎來到酒館!",
- "sleepDescription": "需要休息一會兒?在Daniel的旅館登記住宿將暫停一些Habitica中比較艱難的遊戲機制:",
+ "welcomeToTavern": "歡迎來到酒館小棧!",
+ "sleepDescription": "需要休息一會兒?在Daniel的酒館登記住宿將暫停一些Habitica中比較艱難的遊戲機制:",
"sleepBullet1": "未完成的每日任務不會對你造成傷害",
"sleepBullet2": "任務不會中斷連擊或改變顏色",
- "sleepBullet3": "Boss不會因為你未完成的任務造成傷害",
- "sleepBullet4": "你的Boss傷害或收藏任務物品將維持直到退房離開",
- "pauseDailies": "暫停傷害",
- "unpauseDailies": "停止暫停傷害",
+ "sleepBullet3": "魔王不會因為你未完成的任務造成傷害",
+ "sleepBullet4": "你對魔王造成的傷害或收藏任務物品將維持直到退房離開",
+ "pauseDailies": "入住酒館",
+ "unpauseDailies": "離開酒館",
"staffAndModerators": "員工和管理員",
- "communityGuidelinesIntro": "Habitica試著創造對所有年齡和背景的使用者而言都感到歡迎的環境,特別是在像酒館之類的公共空間。如果你有任何問題,請查閱我們的社群規範。",
- "acceptCommunityGuidelines": "我願意遵守社群規範",
+ "communityGuidelinesIntro": "Habitica試著創造對所有年齡和背景的使用者而言都感到歡迎的環境,特別是在像酒館之類的公共空間。如果你有任何問題,請查閱我們的社群守則。",
+ "acceptCommunityGuidelines": "我願意遵守社群守則",
"daniel": "Daniel",
- "danielText": "歡迎來到酒館!在這裡坐一下來認識其他人吧。如果你需要休息(休假?生病?),我會讓你入住旅館。一旦入住,你的每日任務會原地凍結,直到退房的隔天。你將不用為錯過每日任務受傷,但是你仍然能點選完成那些任務。",
- "danielText2": "警告:如果你正在參與一個boss戰任務,你仍然會因為隊友未完成的每日任務,受到boss的傷害。而且你給boss的傷害(或是收到東西)將會在妳離開旅館時才生效。",
- "danielTextBroken": "歡迎來到酒館...痾應該是吧...如果你想休息,我會幫你安排到旅館...在旅館裡休息的期間,你的每日任務在每天結算時不會對你造成傷害,但你還是可以完成他們...如果你有體力的話...",
- "danielText2Broken": "哦...如果你正參與一場 boss 任務,boss 還是會因為隊友未完成的每日任務而傷害你...另外,你無法對 Boss 造成傷害 ( 或獲得物品 ),直到你離開旅館為止...",
- "worldBossEvent": "世界Boss事件",
- "worldBossDescription": "世界Boss說明",
+ "danielText": "歡迎來到酒館!在這裡坐一下來認識其他人吧。如果你需要休息(休假?生病?),我會讓你入住酒館小棧。一旦入住,你的每日任務會原地凍結,直到退房的隔天。你將不用為錯過每日任務受傷,但是你仍然能點選完成那些任務。",
+ "danielText2": "警告:如果您正在參與一個魔王戰副本,您仍然會因為隊友未完成的每日任務而受到魔王的傷害。而且您對魔王造成的傷害(或是收到東西)將會在您離開酒館時才生效。",
+ "danielTextBroken": "歡迎來到酒館...痾應該是吧...如果你想休息,我會幫你安排到酒館小棧...在酒館裡休息的期間,你的每日任務在每天結算時不會對你造成傷害,但你還是可以完成他們...如果你有體力的話...",
+ "danielText2Broken": "哦...如果你正參與一場魔王副本,魔王還是會因為隊友未完成的每日任務而傷害你...另外,你無法對魔王造成傷害 ( 或獲得物品 ),直到你離開酒館為止...",
+ "worldBossEvent": "世界級魔王事件",
+ "worldBossDescription": "世界級魔王介紹",
"alexander": "商人Alexander",
"welcomeMarket": "歡迎來到市場!在這裡買少見的蛋和藥水!賣掉你多餘的物品!委託服務!來瞧瞧我們能為你提供什麼。",
"welcomeMarketMobile": "歡迎來到市場!在這裡買少見的蛋和藥水!來瞧瞧我們能為你提供什麼。",
@@ -126,7 +126,7 @@
"tourScrollDown": "一定要滾動看完所有的選單的選項喔!再次點擊你的角色回到任務界面。",
"tourMuchMore": "完成新手教學後,你可以與朋友一起成立隊伍,在興趣相投的公會裡聊天,參與挑戰,還有更多的樂趣等著你!",
"tourStatsPage": "這是你的屬性點界面!完成任務列表來獲得成就。",
- "tourTavernPage": "歡迎來到酒館,適合全年齡的聊天室!如果你生命了或外出旅行,你可以透過點擊「暫停傷害」使每日任務不會傷害你。來跟大家問好吧!",
+ "tourTavernPage": "歡迎來到酒館小棧,這是個適合各年齡的聊天室!如果您生病了或是正在外面旅行,您可以點擊「入住酒館」來防止未達成每日任務造成的傷害。快來跟大家說聲 HI!",
"tourPartyPage": "你的隊伍會使你保持責任心。邀請朋友來解鎖任務捲軸!",
"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": "一些夥伴會創造挑戰,參與挑戰會加入一些工作到你的工作中,贏得挑戰會得到成就甚至是寶石!",
diff --git a/website/common/locales/zh_TW/overview.json b/website/common/locales/zh_TW/overview.json
index 2b24c5be54..a50c671e40 100644
--- a/website/common/locales/zh_TW/overview.json
+++ b/website/common/locales/zh_TW/overview.json
@@ -8,7 +8,7 @@
"webStep2Text": "接著,開始處理您清單上的目標吧!完成任務並在 Habitica 中勾選完成後,您將會獲得[經驗值](http://habitica.wikia.com/wiki/Experience_Points),這能幫助您升級;另外也會獲得[金幣](http://habitica.wikia.com/wiki/Gold_Points),讓您購買獎勵。若您落入壞習慣或未完成某項每日任務,將會失去[生命值](http://habitica.wikia.com/wiki/Health_Points)。如此一來,Habitica 的經驗值和生命值顯示條即可作為呈現您目標進度的有趣指標。隨著您的角色在遊戲中成長,可以看到您的現實生活逐漸改善。",
"step3": "步驟3:個人化並探索Habitica",
- "webStep3Text": "熟悉基礎後,您可以透過以下有趣功能深入使用 Habitica:\n * 運用[標籤](http://habitica.wikia.com/wiki/Tags)管理您的任務 ( 編輯任務來新增標籤 )。\n * 按下右上角的使用者圖示來自訂您的[角色](http://habitica.wikia.com/wiki/Avatar)。\n * 在獎勵欄位或[商店](/shops/market)中購買[裝備](http://habitica.wikia.com/wiki/Equipment),並在[背包 > 裝備](/inventory/equipment)中更換裝束。\n * 透過[酒館](http://habitica.wikia.com/wiki/Tavern)與其他使用者交流。\n * 等級 3 開始可以收集[蛋](http://habitica.wikia.com/wiki/Eggs)和[孵化藥水](http://habitica.wikia.com/wiki/Hatching_Potions)來孵化[寵物](http://habitica.wikia.com/wiki/Pets)。[餵食](http://habitica.wikia.com/wiki/Food)牠們來培育[坐騎](http://habitica.wikia.com/wiki/Mounts)。\n * 等級 10 時:可選擇一項[職業](http://habitica.wikia.com/wiki/Class_System)並使用職業專屬[技能](http://habitica.wikia.com/wiki/Skills) ( 等級 11 至 14 習得 )。\n * 與好友組成隊伍 ( 點選導覽列中的[隊伍](/party) ) 維持責任感並取得任務卷軸。\n * 在[任務](http://habitica.wikia.com/wiki/Quests)中擊敗怪物並收集物品 ( 您將在等級 15 時獲得任務 )。",
+ "webStep3Text": "熟悉基礎後,您可以透過以下有趣功能深入使用 Habitica:\n * 運用[標籤](http://habitica.wikia.com/wiki/Tags)管理您的任務 ( 編輯任務來新增標籤 )。\n * 按下右上角的玩家按鈕來自訂您的[角色](http://habitica.wikia.com/wiki/Avatar)。\n * 在獎勵欄位或[商店](/shops/market)中購買[裝備](http://habitica.wikia.com/wiki/Equipment),並在[背包 > 裝備](/inventory/equipment)中更換裝束。\n * 透過[酒館](http://habitica.wikia.com/wiki/Tavern)與其他使用者交流。\n * 等級 3 開始可以收集[蛋](http://habitica.wikia.com/wiki/Eggs)和[孵化藥水](http://habitica.wikia.com/wiki/Hatching_Potions)來孵化[寵物](http://habitica.wikia.com/wiki/Pets)。[餵食](http://habitica.wikia.com/wiki/Food)牠們來培育[坐騎](http://habitica.wikia.com/wiki/Mounts)。\n * 等級 10 時:可選擇一項[職業](http://habitica.wikia.com/wiki/Class_System)並使用職業專屬[技能](http://habitica.wikia.com/wiki/Skills) ( 等級 11 至 14 習得 )。\n * 與好友組成隊伍 ( 點選導覽列中的[隊伍](/party) ) 維持責任感並取得任務卷軸。\n * 在[任務](http://habitica.wikia.com/wiki/Quests)中擊敗怪物並收集物品 ( 您將在等級 15 時獲得任務 )。",
"overviewQuestions": "有疑問嗎?請查看 [FAQ](/static/faq/)!若您的問題並未列在上面,可以在 [Habitica Help guild](/groups/guild/5481ccf3-5d2d-48a9-a871-70a7380cee5a) 尋求進一步協助。\n\n祝您執行任務順利!"
}
diff --git a/website/common/locales/zh_TW/pets.json b/website/common/locales/zh_TW/pets.json
index 6ce3063950..c5a11add9f 100644
--- a/website/common/locales/zh_TW/pets.json
+++ b/website/common/locales/zh_TW/pets.json
@@ -18,7 +18,7 @@
"veteranWolf": "退伍軍狼",
"veteranTiger": "資深的老虎",
"veteranLion": "資深的獅子",
- "veteranBear": "Veteran Bear",
+ "veteranBear": "退伍熊",
"cerberusPup": "三頭地獄幼犬",
"hydra": "三頭蛇",
"mantisShrimp": "瀨尿蝦",
@@ -27,10 +27,10 @@
"royalPurpleGryphon": "紫禦獅鷲",
"phoenix": "鳳凰",
"magicalBee": "奇幻蜜蜂",
- "hopefulHippogriffPet": "Hopeful Hippogriff",
- "hopefulHippogriffMount": "Hopeful Hippogriff",
+ "hopefulHippogriffPet": "希望鷹馬",
+ "hopefulHippogriffMount": "希望鷹馬",
"royalPurpleJackalope": "紫禦鹿角兔",
- "invisibleAether": "Invisible Aether",
+ "invisibleAether": "隱形乙太",
"rarePetPop1": "按按金色的爪印,看看怎麼為Habitica貢獻而獲得這隻稀有寵物!",
"rarePetPop2": "得到這個寵物的方法!",
"potion": "<%= potionType %> 藥水",
@@ -51,7 +51,7 @@
"noSaddlesAvailable": "你沒有任何鞍。",
"noFood": "你沒有任何食物或鞍。",
"dropsExplanation": "如果不想要再苦苦等待完成任務捲軸後掉落的獎賞的話,使用寶石將可以更快速的得到這些物品哦!點擊這裡瞭解更多掉落系統",
- "dropsExplanationEggs": "Spend Gems to get eggs more quickly, if you don't want to wait for standard eggs to drop, or to repeat Quests to earn Quest eggs. Learn more about the drop system.",
+ "dropsExplanationEggs": "用寶石來更快獲得蛋,如果你不想等待標準蛋掉落或是重新完成任務以獲得任務蛋。了解更多關於掉落物系統。",
"premiumPotionNoDropExplanation": "魔法孵化藥水不能使用在從任務中獲得的蛋上。唯一可以得到魔法孵化藥水的辦法就是在下面購買,而不是從掉落系統中獲得。",
"beastMasterProgress": "寵物大師進度",
"stableBeastMasterProgress": "寵物大師進度:目前找到<%= number %>隻寵物",
@@ -91,18 +91,18 @@
"rideLater": "稍後騎",
"petName": "<%= potion(locale) %> <%= egg(locale) %>",
"mountName": "<%= potion(locale) %> <%= mount(locale) %>",
- "keyToPets": "Key to the Pet Kennels",
- "keyToPetsDesc": "Release all standard Pets so you can collect them again. (Quest Pets and rare Pets are not affected.)",
- "keyToMounts": "Key to the Mount Kennels",
- "keyToMountsDesc": "Release all standard Mounts so you can collect them again. (Quest Mounts and rare Mounts are not affected.)",
- "keyToBoth": "Master Keys to the Kennels",
- "keyToBothDesc": "Release all standard Pets and Mounts so you can collect them again. (Quest Pets/Mounts and rare Pets/Mounts are not affected.)",
- "releasePetsConfirm": "Are you sure you want to release your standard Pets?",
- "releasePetsSuccess": "Your standard Pets have been released!",
- "releaseMountsConfirm": "Are you sure you want to release your standard Mounts?",
- "releaseMountsSuccess": "Your standard Mounts have been released!",
- "releaseBothConfirm": "Are you sure you want to release your standard Pets and Mounts?",
- "releaseBothSuccess": "Your standard Pets and Mounts have been released!",
+ "keyToPets": "寵物之家的鑰匙",
+ "keyToPetsDesc": "釋放所有標準寵物來重新收集牠們。(任務寵物以及稀有寵物將不會被影響。)",
+ "keyToMounts": "坐騎之家的鑰匙",
+ "keyToMountsDesc": "釋放所有的標準坐騎來重新收集牠們。(任務坐騎及稀有坐騎將不會被影響。)",
+ "keyToBoth": "馬廄的大師級鑰匙",
+ "keyToBothDesc": "釋放所有的標準寵物及坐騎來重新收集牠們。(任務寵物/坐騎及稀有寵物/坐騎將不會被影響。)",
+ "releasePetsConfirm": "你確定你要釋放你的標準寵物?",
+ "releasePetsSuccess": "你的標準寵物已經被釋放!",
+ "releaseMountsConfirm": "你確定你要釋放標準坐騎?",
+ "releaseMountsSuccess": "你的標準坐騎已經被釋放!",
+ "releaseBothConfirm": "你確定你要釋放你的標準寵物及坐騎?",
+ "releaseBothSuccess": "你的標準寵物及坐騎已經被釋放!",
"petKeyName": "寵物之家的鑰匙",
"petKeyPop": "讓你的寵物盡情嘶吼,展開自己的旅程,然後再次成為寵物大師吧!",
"petKeyBegin": "寵物之家的鑰匙:再次體驗 <%= title %>吧!",
@@ -121,13 +121,13 @@
"gemsEach": "寶石/次",
"foodWikiText": "我的寵物喜歡吃甚麼?",
"foodWikiUrl": "http://habitica.wikia.com/wiki/Food_Preferences",
- "welcomeStable": "Welcome to the Stable!",
- "welcomeStableText": "I'm Matt, the Beast Master. Starting at level 3, you can hatch Pets from Eggs by using Potions you find! When you hatch a Pet from your Inventory, it will appear here! Click a Pet's image to add it to your avatar. Feed them here with the Food you find after level 3, and they'll grow into hardy Mounts.",
+ "welcomeStable": "歡迎來到馬廄!",
+ "welcomeStableText": "我是寵物大師Matt,等級3開始,你可以使用你找到的孵化藥水來由蛋孵化寵物!當你孵化一隻你背包中的寵物,牠會在這裡出現!點擊一隻寵物的畫像來將牠放到你的角色旁。用你在等級3之後找到的食物餵食牠們,牠們將成長為可靠的坐騎。",
"petLikeToEat": "我的寵物喜歡吃甚麼?",
"petLikeToEatText": "無論你餵寵物吃什麼牠們都會長大,但如果你餵寵物最喜歡的食物給牠們,寵物會成長地比較快。試驗來挖掘關聯,或在這裡看答案:
http://habitica.wikia.com/wiki/Food_Preferences",
"filterByStandard": "標準",
"filterByMagicPotion": "魔法藥水",
- "filterByQuest": "Quest",
+ "filterByQuest": "任務",
"standard": "標準型",
"sortByColor": "顏色",
"sortByHatchable": "可孵化",
diff --git a/website/common/locales/zh_TW/quests.json b/website/common/locales/zh_TW/quests.json
index 95d31e1615..0ff9d3045c 100644
--- a/website/common/locales/zh_TW/quests.json
+++ b/website/common/locales/zh_TW/quests.json
@@ -6,17 +6,17 @@
"questsForSale": "可買的任務",
"petQuests": "寵物與坐騎任務",
"unlockableQuests": "可解鎖的任務",
- "goldQuests": "Masterclasser Quest Lines",
+ "goldQuests": "「職業統治大師」副本線",
"questDetails": "任務內容",
"questDetailsTitle": "任務內容",
- "questDescription": "Quests allow players to focus on long-term, in-game goals with the members of their party.",
+ "questDescription": "任務使玩家與他們的隊伍一起專注在一個遊戲中長時間的目標。",
"invitations": "邀請",
"completed": "完成了!",
- "rewardsAllParticipants": "Rewards for all Quest Participants",
- "rewardsQuestOwner": "Additional Rewards for Quest Owner",
- "questOwnerReceived": "The Quest Owner Has Also Received",
+ "rewardsAllParticipants": "每位參與任務者的獎勵",
+ "rewardsQuestOwner": "任務擁有者的額外獎勵",
+ "questOwnerReceived": "任務的擁有者同時獲得了",
"youWillReceive": "你會得到",
- "questOwnerWillReceive": "The Quest Owner Will Also Receive",
+ "questOwnerWillReceive": "任務的擁有者將同時獲得",
"youReceived": "你收到了",
"dropQuestCongrats": "恭喜你拿到任務卷軸 ! 你可以邀請你的隊伍開始任務,或隨時透過 背包 > 任務 回來查看。",
"questSend": "點擊「邀請」會向你的隊友發送邀請。當所有成員接受或拒絕後,任務才會開始。在社交 > 組隊裡查看任務狀態。",
@@ -25,12 +25,12 @@
"questInvitation": "任務邀請:",
"questInvitationTitle": "任務邀請",
"questInvitationInfo": "<%= quest %> 的邀請",
- "invitedToQuest": "You were invited to the Quest <%= quest %>",
+ "invitedToQuest": "你被邀請進入任務<%= quest %>",
"askLater": "稍後再問",
"questLater": "等會再進行仼務",
"buyQuest": "購買任務",
"accepted": "接受",
- "declined": "Declined",
+ "declined": "拒絕",
"rejected": "拒絕",
"pending": "等待中",
"questStart": "一旦所有隊員都接受或拒絕任務,任務就開始了。只有接受任務的隊員可以參加任務並取得掉落物。如果隊員回應時間太長,任務擁有者可以略過他們直接按「開始」來啟動任務。任務擁有者還可以透過接「取消」取消任務,並恢復任務捲軸。",
@@ -38,7 +38,7 @@
"questCollection": "+ <%= val %> 個任務道具被找到。",
"questDamage": "+ <%= val %> 點傷害給魔王。",
"begin": "開始",
- "bossHP": "Boss HP",
+ "bossHP": "魔王的生命值",
"bossStrength": "魔王的力量",
"rage": "憤怒值",
"collect": "收集",
@@ -49,11 +49,11 @@
"bossDmg2": "只有參與者會跟魔王戰鬥,並共享任務獎勵。",
"bossDmg1Broken": "想要攻擊魔王,你必須完成你的每日任務和待辦事項。任務傷害越高,你對魔王的傷害也越大...達成紅色事項、法師的法術、戰士的攻擊等等...如果你未能完成每日任務,除了本來就會遭受的傷害,魔王會針對你遺漏的事項(乘上魔王的力量)額外再傷害你和你的隊友。所以想要使隊員的生命值不受損,就去完成你的每日任務... 所有從魔王和你攻擊的傷害將在跨日(一天結束)時結算... ",
"bossDmg2Broken": "只有參與者會跟魔王戰鬥,並共享任務獎勵。",
- "tavernBossInfo": "Complete Dailies and To-Dos and score positive Habits to damage the World Boss! Incomplete Dailies fill the Rage Bar. When the Rage bar is full, the World Boss will attack an NPC. A World Boss will never damage individual players or accounts in any way. Only active accounts not resting in the Inn will have their tasks tallied.",
- "tavernBossInfoBroken": "想要攻擊世界Boss,你必須完成每日任務、待辦事項和正面的習慣...未完成的任務將增加廢氣攻擊值...當廢氣攻擊值被填滿,世界Boss就會對 NPC發動攻擊...世界Boss永遠不會對玩家或是玩家帳號造成傷害...不過若是在旅館休息的帳號就會被排除在世界Boss任務之外囉...",
- "bossColl1": "To collect items, do your positive tasks. Quest items drop just like normal items; you can monitor your quest item drops by hovering over the quest progress icon.",
+ "tavernBossInfo": "完成每日任務、待辦事項以及好習慣來打擊世界級魔王! 未完成的每日任務會增加憤怒值,當憤怒值充滿後,世界級魔王將會攻擊一位NPC。世界級魔王不會以任何方式傷害任何玩家或帳戶。只有未在酒館中休息的帳號任務才會計算在世界級魔王傷害中。",
+ "tavernBossInfoBroken": "想要攻擊世界級魔王,你必須完成每日任務、待辦事項和正面的習慣...未完成的任務將增加廢氣攻擊值...當廢氣攻擊值被填滿,世界Boss世界級魔王就會對 NPC發動攻擊...世界級魔王永遠不會對玩家或是玩家帳號造成傷害...不過若是在酒館中休息的帳號就會被排除在世界級魔王任務之外囉...",
+ "bossColl1": "要收集物品,你需要完成正向任務。任務物品會像一般物品一樣的掉落,你可以將你的鼠標懸停在任務進度上以查看你的任務物品掉落。",
"bossColl2": "只有參與者會跟魔王戰鬥,並共享任務獎勵。",
- "bossColl1Broken": "To collect items, do your positive tasks... Quest items drop just like normal items; you can monitor your quest item drops by hovering over the quest progress icon...",
+ "bossColl1Broken": "要收集物品,你需要完成正向任務......任務物品會像一般物品一樣的掉落,你可以將你的鼠標懸停在任務進度上以查看你的任務物品掉落......",
"bossColl2Broken": "只有參與者會跟魔王戰鬥,並共享任務獎勵...",
"abort": "放棄",
"leaveQuest": "退出任務",
@@ -78,8 +78,8 @@
"mustLevel": "你需要達到第<%= level %>級才能開始此任務。",
"mustLvlQuest": "你需要先達到第<%= level %>級才能購買這個任務!",
"mustInviteFriend": "你必須邀請朋友到你的對物才能開始任務。開始邀請了嗎?",
- "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.",
+ "unlockByQuesting": "要解鎖這個任務,請完成<%= title %>。",
+ "questConfirm": "你確定嗎?只有你隊伍<%= totalmembers %>人中的<%= questmembers %>個人加入了這個˙任務!任務會在所有隊員都加入或拒絕邀請後自動開始。",
"sureCancel": "你是否確定要放棄這個任務?將會失去所有接受的邀請。任務擁有者將保留原有的任務捲軸。",
"sureAbort": "你是否確定要放棄這個任務?這樣做會讓你的所有隊員都退出這個任務,並且消除所有進度。任務捲軸將會回到任務擁有者手上。",
"doubleSureAbort": "你真的真的要這樣做嗎?要確保他們不會一輩子討厭你喲!",
@@ -98,33 +98,33 @@
"guildQuestsNotSupported": "公會不能邀請任務。",
"questNotOwned": "你不擁有這件任務卷軸。",
"questNotGoldPurchasable": "任務 \"<%= key %>\" 不是可用金幣購買的任務。",
- "questNotGemPurchasable": "Quest \"<%= key %>\" is not a Gem-purchasable quest.",
+ "questNotGemPurchasable": "任務「<%= key %>」不能用寶石購買。",
"questLevelTooHigh": "你必須達到等級 <%= level %> 才能開始這個任務。",
"questAlreadyUnderway": "你的隊伍正在進行任務。請在任務結束後再試一次。",
- "questAlreadyAccepted": "You already accepted the quest invitation.",
- "noActiveQuestToLeave": "No active quest to leave",
- "questLeaderCannotLeaveQuest": "Quest leader cannot leave quest",
- "notPartOfQuest": "You are not part of the quest",
- "youAreNotOnQuest": "You're not on a quest",
- "noActiveQuestToAbort": "There is no active quest to abort.",
- "onlyLeaderAbortQuest": "Only the group or quest leader can abort a quest.",
- "questAlreadyRejected": "You already rejected the quest invitation.",
- "cantCancelActiveQuest": "You can not cancel an active quest, use the abort functionality.",
+ "questAlreadyAccepted": "你接受了任務邀請>",
+ "noActiveQuestToLeave": "沒有正在進行的任務可供離開",
+ "questLeaderCannotLeaveQuest": "任務隊長不能離開任務。",
+ "notPartOfQuest": "你沒有加入這個任務",
+ "youAreNotOnQuest": "你沒有加入任何任務",
+ "noActiveQuestToAbort": "沒有正在進行的任務可捨棄",
+ "onlyLeaderAbortQuest": "只有群組或任務的隊長可以捨棄任務。",
+ "questAlreadyRejected": "你已經拒絕了任務邀請。",
+ "cantCancelActiveQuest": "你無法取消一個正在進行的任務,請使用捨棄任務功能。",
"onlyLeaderCancelQuest": "只有群組發起者或任務擁有者可以取消任務。",
"questNotPending": "沒有任務要開始。",
- "questOrGroupLeaderOnlyStartQuest": "Only the quest leader or group leader can force start the quest",
+ "questOrGroupLeaderOnlyStartQuest": "只有任務或群組的隊長可以強迫開始任務",
"createAccountReward": "創建帳號",
- "loginIncentiveQuest": "To unlock this quest, check in to Habitica on <%= count %> different days!",
- "loginIncentiveQuestObtained": "You earned this quest by checking in to Habitica on <%= count %> different days!",
- "loginReward": "<%= count %> Check-ins",
- "createAccountQuest": "You received this quest when you joined Habitica! If a friend joins, they'll get one too.",
- "questBundles": "Discounted Quest Bundles",
- "buyQuestBundle": "Buy Quest Bundle",
- "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"
+ "loginIncentiveQuest": "要解鎖這個任務,請登入簽到Habitica<%= count %>天!",
+ "loginIncentiveQuestObtained": "因為你登入簽到Habitica<%= count %>天,所以你得到這個任務!",
+ "loginReward": "登入簽到<%= count %>天",
+ "createAccountQuest": "當你加入Habitica時你就得到了這個任務!如果你的朋友加入,他們也會得到這個任務。",
+ "questBundles": "優惠任務包",
+ "buyQuestBundle": "購買任務包",
+ "noQuestToStart": "找不到任務做?試試前往任務商店找尋新推出的任務!",
+ "pendingDamage": "<%= damage %>預期傷害",
+ "pendingDamageLabel": "預期傷害",
+ "bossHealth": "<%= currentHealth %>/<%= maxHealth %> 生命值",
+ "rageAttack": "憤怒攻擊:",
+ "bossRage": "<%= currentRage %>/<%= maxRage %> 憤怒值",
+ "rageStrikes": "憤怒一擊"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/questscontent.json b/website/common/locales/zh_TW/questscontent.json
index c757478f60..8ad2d68c45 100644
--- a/website/common/locales/zh_TW/questscontent.json
+++ b/website/common/locales/zh_TW/questscontent.json
@@ -1,6 +1,6 @@
{
"questEvilSantaText": "聖誕盜獵者",
- "questEvilSantaNotes": "從冰原的深處,你聽到了一陣痛苦的嘶吼.你跟著那吠叫-從中夾帶著些許的笑聲-到了一個森林中的空地.你在那看到了一個成長完全的北極熊.在籠中的她身上被束縛著鎖鏈,為了生存而反抗著.在籠子上,有個身穿著破爛的聖誕服裝並跳著舞的惡毒小妖靈.擊敗\n聖誕盜獵者,拯救那被監禁的猛獸!",
+ "questEvilSantaNotes": "從冰原的深處,你聽到了一陣痛苦的嘶吼.你跟著那吠叫-從中夾帶著些許的笑聲-到了一個森林中的空地.你在那看到了一個成長完全的北極熊.在籠中的她身上被束縛著鎖鏈,為了生存而反抗著.在籠子上,有個身穿著破爛的聖誕服裝並跳著舞的惡毒小妖靈.擊敗聖誕盜獵者,拯救那被監禁的猛獸!",
"questEvilSantaCompletion": "聖誕盜獵者憤怒地嚎叫,縱身躍入夜幕之中。一隻充滿感激的母熊咆哮著似乎在訴說著什麼。你把她帶回馬厩,馴獸大師Matt Boch聆聽了她帶著恐懼的喘息講述的故事。她有個寶寶!當母熊被陷阱抓住的時候寶寶跑入了冰原。",
"questEvilSantaBoss": "聖誕盜獵者",
"questEvilSantaDropBearCubPolarMount": "北極熊 (坐騎)",
@@ -22,7 +22,7 @@
"questHedgehogBoss": "巨型刺猬",
"questHedgehogDropHedgehogEgg": "刺猬(蛋)",
"questHedgehogUnlockText": "解鎖-可在市集中購買刺蝟蛋",
- "questGhostStagText": "春之幽靈",
+ "questGhostStagText": "春之精靈",
"questGhostStagNotes": "喔!春天。一個顏色再度回到景色中的季節。冬天的雪丘消融。充滿活力的植物取代了寒霜曾經的位置。甜美的綠葉長滿了樹叢,青草變回了他從前活潑的顏色,繁花構成的彩虹順著平原升起,白色的神祕煙霧覆蓋了整個大地!......等等,神秘煙霧?「喔我的天!」InspectorCaracal憂愁地說「似乎有某種精靈造成了這場霧。喔,牠現在往你那邊衝過去了。」",
"questGhostStagCompletion": "精靈似乎毫髮無傷,將它的鼻子靠近地面。一股平靜的聲音包圍著你的隊伍。「我為我的所作所為感到抱歉。我剛從睡眠中甦醒,神智似乎未清。請把這些當做我道歉的象徵。」一窩蛋忽然出現在精靈前的草地上。精靈片語未留,奔跑進森林之中,只留下花朵兀自在他的身後飄落。",
"questGhostStagBoss": "精靈雄鹿",
@@ -58,56 +58,56 @@
"questSpiderBoss": "蜘蛛",
"questSpiderDropSpiderEgg": "蜘蛛 ( 蛋 )",
"questSpiderUnlockText": "解鎖 - 可在市集中購買蜘蛛蛋",
- "questGroupVice": "Vice the Shadow Wyrm",
+ "questGroupVice": "暗影惡習巨龍",
"questVice1Text": "惡習,第1部:從龍的影響中解放你自己",
"questVice1Notes": "傳言說,有一個可怕的惡魔藏身於Habitica山的洞穴中。它會扭轉接近這片土地的英雄堅強的意志,讓他們染上惡習並變得懶惰!這個野獸由巨大的力量和陰影組成,並化身為一條奸詐的陰影巨龍——惡習之龍。勇敢的Habitica居民,一起站出來,擊敗這個邪惡的怪物。但是,你一定要相信自己能抵抗他巨大的邪惡之力。
惡習第1部:
小心不要讓他控制你的意志,不然你怎麼和他戰鬥?不要成為懶惰和惡習的犧牲品!努力與巨龍的力量對抗吧,逃出他邪惡之力的影響!
",
"questVice1Boss": "惡習之龍的陰影",
- "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": "惡習之龍—第 2 部 ( 捲軸 )",
"questVice2Text": "惡習,第2部:尋覓巨龍之巢",
- "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": "帶著對自己能夠對抗暗影惡習巨龍影響的信心,你的隊伍前往Habitica山。你靠近山洞的入口並且停了下來。暗影膨脹如煙似霧,縷縷飄出洞口。幾乎無法看見眼前的任何事物,燈籠的光線似乎在暗影所到之處突然消失。據說只有魔法光芒能夠穿過巨龍地獄般的霧霾。如果你能夠找到夠多的光明水晶,你就能找到去巨龍那裏的路了。",
"questVice2CollectLightCrystal": "光明水晶",
- "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": "惡習之龍—第 3 部 ( 捲軸 )",
"questVice3Text": "惡習,第3部:惡習甦醒",
"questVice3Notes": "在不斷的努力之下,你的隊伍終於發現了惡習之龍的巢穴.這個龐大的怪物用厭惡的眼神盯著你的隊伍。黑暗的漩渦圍繞著你們,一個聲音在你們的腦海中耳語。\"又有更多愚蠢的Habitic公民來阻止我了嗎?有意思。你們會後悔來到這裡的。\"這隻長滿鱗片的巨物抬起了頭,回過身來準備攻擊。你們的機會來了!盡你們所能,最後一次擊敗惡習之龍吧!",
- "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!",
- "questVice3Boss": "黑影巨龍惡習",
+ "questVice3Completion": "陰影從洞穴中消散,一切歸於沉寂。你們做到了!你們打敗了惡習!你和你的隊伍終於可以鬆一口氣了。勇敢的Habit公民,盡情享受勝利的喜悅吧,但是請銘記你在打敗惡習的過程中學到的一切,繼續向前邁進吧。還有更多的習慣等著你,還有更兇猛的惡魔需要征服!",
+ "questVice3Boss": "暗影惡習巨龍",
"questVice3DropWeaponSpecial2": "Stephen Weber的龍矛",
"questVice3DropDragonEgg": "龍 ( 蛋 )",
"questVice3DropShadeHatchingPotion": "深色孵化藥水",
- "questGroupMoonstone": "Recidivate Rising",
- "questMoonstone1Text": "Recidivate, Part 1: The Moonstone Chain",
- "questMoonstone1Notes": "一個可怕的災難困擾著Habitica居民。已經消失很久的壞習慣回來復仇了。盤子沒有清洗,課本很長時間沒有看,拖延症開始猖獗!
你跟踪著你自己的一些歸來的壞習慣,來到了淤塞之沼,並發現了這一切的元兇:可怕的死靈巫師,雷茜德維特。你衝了進去,揮舞著你的武器,但是它們都穿過了她幽靈一般的身體,沒有造成任何傷害。
“別費勁兒了,”她用粗糙刺耳的聲音嘶嘶得說。 “沒有月長石項鍊的話,沒有什麼可以傷害我--而且寶石大師@aurakami很久以前就將月長石分散到了Habitica的各處!”雖然你氣喘吁籲的撤退了... 但是你知道你需要做什麼。",
- "questMoonstone1CollectMoonstone": "月之石",
- "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!",
+ "questGroupMoonstone": "Recidivate崛起",
+ "questMoonstone1Text": "Recidivate,第 1 部:月光石項鍊 ",
+ "questMoonstone1Notes": "一個可怕的災難困擾著Habitica居民。已經消失很久的壞習慣回來復仇了。盤子沒有清洗,課本很長時間沒有看,拖延症開始猖獗!
你跟踪著你自己的一些歸來的壞習慣,來到了淤塞之沼,並發現了這一切的元兇:可怕的死靈巫師,Recidivate。你衝了進去,揮舞著你的武器,但是它們都穿過了她幽靈一般的身體,沒有造成任何傷害。
“別費勁兒了,”她用粗糙刺耳的聲音嘶嘶得說。 “沒有月光石項鍊的話,沒有什麼可以傷害我--而且寶石大師@aurakami很久以前就將月光石分散到了Habitica的各處!”雖然你氣喘吁籲的撤退了... 但是你知道你需要做什麼。",
+ "questMoonstone1CollectMoonstone": "月光石",
+ "questMoonstone1Completion": "最後,你設法把最後一顆月光石從沼澤的汙泥中拉出。是時候把你收集的東西塑造成一把能夠打敗Recidivate的武器了!",
"questMoonstone1DropMoonstone2Quest": "月光石項鍊,第2部:死靈法師 Recidivate (卷軸)",
- "questMoonstone2Text": "Recidivate, Part 2: Recidivate the 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!\"",
+ "questMoonstone2Text": "Recidivate,第2部:死靈法師Recidivate",
+ "questMoonstone2Notes": "勇敢的武器匠@InspectorCaracal幫你將迷人的月光石塑造成一條項鍊,你終於準備好去面對Recidivate了,但當你進入淤滯沼澤,一陣可怕的寒意掃過你的身體。
腐爛的氣息在你身邊耳語。「又回來了?真是愉快....」你轉身以弓步站好,在月光石項鍊光芒的引導下,你的武器刺入堅實的肉體。「你可能又一次阻止了我回到世上」Recidivate咆哮著「但現在你該滾蛋了!」",
"questMoonstone2Boss": "死靈法師",
- "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?",
- "questMoonstone2DropMoonstone3Quest": "月光石項鍊第 3 部分: Recidivate 的轉化(卷軸)",
+ "questMoonstone2Completion": "Recidivate在你的最後一擊之下踉蹌地後退,有那麼一陣子你的心情亮了起來──但接著她把她的頭向後一丟,並且發出了可怕的笑聲。發生什麼事了?",
+ "questMoonstone2DropMoonstone3Quest": "月光石項鍊第 3 部: Recidivate 的轉化(卷軸)",
"questMoonstone3Text": "月光石項鍊,第3部: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.",
- "questMoonstone3Completion": "Your breath comes hard and sweat stings your eyes as the undead Wyrm collapses. The remains of Recidivate dissipate into a thin grey mist that clears quickly under the onslaught of a refreshing breeze, and you hear the distant, rallying cries of Habiticans defeating their Bad Habits for once and for all.
@Baconsaur the beast master swoops down on a gryphon. \"I saw the end of your battle from the sky, and I was greatly moved. Please, take this enchanted tunic – your bravery speaks of a noble heart, and I believe you were meant to have it.\"",
+ "questMoonstone3Notes": "Recidivate癱倒在地邪惡地笑著,你再次用月光石項鍊攻擊她。令你害怕的是,Recidivate抓住月光石,眼裡燃燒著勝利的光芒。
「愚蠢的肉身生物啊!」她喊叫著。「這些月光石將會重塑我的實體,但和你想的不同,就像滿月光潔了黑暗,我的力量將不斷湧現,在暗影中我召喚你最害怕敵人的幽魂!」
一陣病態的綠霧自沼澤中上升,而Recidivate的身體翻騰扭曲成你的恐懼──那惡習的不死身軀,可怕地重生。",
+ "questMoonstone3Completion": "當不死的巨龍終於倒下,你的呼吸困難,汗水刺痛了你的眼睛。Recidivate的遺體化為一陣薄薄的灰霧隨清風吹拂而去,而你聽見遙遠處傳來Habit公民永遠地打敗壞習慣的振臂高呼。
寵物大師@Baconsaur乘著他的獅鷲俯衝下來。「我在天上看到了這場戰役的終結,我非常感動。請收下這件有魔力的長袍──你的勇敢訴說著你高尚的心靈,我相信你值得擁有它。」",
"questMoonstone3Boss": "死靈-惡習",
"questMoonstone3DropRottenMeat": "腐肉 ( 食物 )",
"questMoonstone3DropZombiePotion": "殭屍孵化藥水",
- "questGroupGoldenknight": "The Golden Knight",
- "questGoldenknight1Text": "黃金騎士之鍊,第1部:義正嚴詞",
+ "questGroupGoldenknight": "黃金騎士",
+ "questGoldenknight1Text": "黃金騎士之鍊,第1部:義正詞嚴",
"questGoldenknight1Notes": "黃金騎士得知了可憐的Habitica居民們的情況。你們沒有將每日任務全部完成?點擊了一個不好的習慣?她會以此為理由來不斷的騷擾你,教你怎樣追尋她的腳步。她是完美的Habitica居民光輝的榜樣,而你只不過是一個失敗者。好吧,這一點也不好!所有人都會犯錯。那些犯了錯的人也不應因此就受到這樣的否定。也許現在對你來說正是時候,從受到傷害的Habitica居民們那裡收集一些證據,然後和黃金騎士來一場嚴肅的談話。",
"questGoldenknight1CollectTestimony": "證明",
- "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": "黃金騎士之鍊,第2部:金幣騎士 (卷軸)",
"questGoldenknight2Text": "黃金騎士之鍊,第2部:金幣騎士",
"questGoldenknight2Notes": "從無數Habitica居民們那裡收集到證據後,你終於站在黃金騎士的面前。開始陳述Habitica公民們對她的不滿。“還有@Pfeffernusse說你總是不停的討價還價……”騎士舉手打斷你並嘲笑說:“拜托,這些人只是嫉妒我的成功。他們應該像我這樣努力而不是抱怨。或許我該向你展示我靠勤奮獲得的力量!”她舉起了她的流星錘,准備攻擊你!",
"questGoldenknight2Boss": "黃金騎士",
- "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": "黃金騎士,第 3 部:鋼鐵騎士 (卷軸)",
"questGoldenknight3Text": "黃金騎士,第 3 部:鋼鐵騎士",
- "questGoldenknight3Notes": "@Jon Arinbjorn 大聲嘶叫期望得到你的注意。在戰鬥過後,有個神秘身影現身。一位全身被染黑的鐵騎士拿著利劍悄悄地靠近你。黃金騎士對著他喊著,「不要啊,父親!」但黑騎士並沒有因此停下來。她看向你,接著說,「真的很抱歉,我太傲慢了,無法看清自己曾經做過的事有多麼殘忍,但我的父親比起我有過之而無不及。如果他再不停手,連我們都會被他給毀了!你拿去吧,用我的流星錘制止鐵騎士吧!」",
+ "questGoldenknight3Notes": "@Jon Arinbjorn 大聲嘶叫期望得到你的注意。在戰鬥過後,有個神秘身影現身。一位全身被染黑的鋼鐵騎士拿著利劍悄悄地靠近你。黃金騎士對著他喊著,「不要啊,父親!」但黑騎士並沒有因此停下來。她看向你,接著說,「真的很抱歉,我太傲慢了,無法看清自己曾經做過的事有多麼殘忍,但我的父親比起我有過之而無不及。如果他再不停手,連我們都會被他給毀了!你拿去吧,用我的流星錘制止鋼鐵騎士吧!」",
"questGoldenknight3Completion": "鏗鏘一聲,鋼鐵騎士雙膝跪地倒下了。\"你太強了,\"他氣喘吁吁說, \"今天,我被輕而易舉地打敗了。\"黃金騎士向你走來,說道:\"謝謝你。我相信我們都從與你的相遇中學會了謙遜。我會和我的父親好好談談,並解釋那些針對我們的怨言。也許是時候向其他Habitica公民道歉了。\"她 考慮了一會兒,又向你轉過身來,\"拿上它吧,作為我們給你的禮物,我希望你能帶上我的流星錘。它現在是你的了。\"",
- "questGoldenknight3Boss": "鐵騎士",
+ "questGoldenknight3Boss": "鋼鐵騎士",
"questGoldenknight3DropHoney": "蜂蜜(食物)",
"questGoldenknight3DropGoldenPotion": "金色孵化藥水",
"questGoldenknight3DropWeapon": "馬斯泰因的碎石流星錘(副手武器)",
@@ -138,24 +138,24 @@
"questSeahorseBoss": "海種馬",
"questSeahorseDropSeahorseEgg": "海馬 ( 蛋 )",
"questSeahorseUnlockText": "解鎖 - 可在市集中購買海馬蛋",
- "questGroupAtom": "Attack of the Mundane",
+ "questGroupAtom": "平凡任務線的進攻",
"questAtom1Text": "平凡任務線的進攻,卷1:碗盤災害!",
- "questAtom1Notes": "你到了一個洗手池旁好好休息一下……但是洗手池被一堆沒洗的盤子污染了!這怎麼行?你當然不能允許這種事情。你唯一能做的就是:洗掉這些盤子,拯救你的休息區!最好找些肥皂來清洗這團糟。要好多肥皂……",
+ "questAtom1Notes": "你到了清洗之湖岸想好好休息一下……但是清洗之湖被一堆沒洗的盤子污染了!這怎麼行?你當然不能允許這種事情。你唯一能做的就是:洗掉這些盤子,拯救你的休息區!最好找些肥皂來清洗這團糟。要好多肥皂……",
"questAtom1CollectSoapBars": "一塊肥皂",
"questAtom1Drop": "好吃懶做怪 (卷軸)",
- "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": "平凡任務線的進攻,卷 2:好吃懶做怪",
"questAtom2Notes": "呼,盤子洗掉之後這個地方看起來舒服多了。也許,你終於可以找點樂子休息一下了。喔—那看起來有個披薩餅盒子浮在池子裡。好吧,下一個清理一個是什麼東西?等等,那並不是一個披薩盒!那個盒子突然從水里升高,原來是一個怪物的腦袋。不會吧!傳說中的好吃懶做怪?據說它自從史前就一直隱藏在池子裡:一個從廢棄食品和垃圾中召喚出的古老Habit生物。嘔!",
"questAtom2Boss": "好吃懶做怪",
"questAtom2Drop": "洗衣傳奇 (卷軸)",
- "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": "平凡任務線的進攻,卷3:洗衣傳奇",
- "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": "邪惡的洗衣傳奇被打敗了!乾淨的衣服堆在你們周圍,一切看起來好極了。當你準備穿過這些新壓好的衣服時,一道金屬的閃光吸引了你的視線。你注意到一個閃閃發光的頭盔,不過已經無法知道這個閃亮物品的主人是誰了,但是當你把它帶上時,你感覺到慷慨精神所帶來的溫暖。真可惜他們沒幫頭盔縫上名字標籤。",
"questAtom3Boss": "洗衣傳奇",
- "questAtom3DropPotion": "Base Hatching Potion",
+ "questAtom3DropPotion": "普通孵化藥水",
"questOwlText": "暗夜貓頭鷹",
- "questOwlNotes": "The Tavern light is lit 'til dawn
Until one eve the glow is gone!
How can we see for our all-nighters?
@Twitching cries, \"I need some fighters!
See that Night-Owl, starry foe?
Fight with haste and do not slow!
We'll drive its shadow from our door,
And make the night shine bright once more!\"",
+ "questOwlNotes": "酒館的燈火徹夜明亮
直到一個傍晚那光輝消逝!
我們這些夜貓子要怎麼辦?
@Twitching大喊道\"我需要一些戰士!!
看到那隻暗夜貓頭鷹,滿身星斗的敵人了嗎?
快快打敗他別慢下來!
我們將他的黑影趕出門外,
並且讓夜晚再度明亮!\"",
"questOwlCompletion": "暗夜貓頭鷹在黎明前消失了,
即便如此,你依然打一個哈欠.。
也許現在應該是休息的時候了?
這時,你發現你的床上有個窩!
對於暗夜貓頭鷹來說那是最棒的了
你為了完成目標而徹夜不眠,
但是你的新寵物會悅耳的鳴叫
來告訴你應該去睡覺了。",
"questOwlBoss": "暗夜貓頭鷹",
"questOwlDropOwlEgg": "貓頭鷹(蛋)",
@@ -167,7 +167,7 @@
"questPenguinDropPenguinEgg": "企鵝 ( 蛋 )",
"questPenguinUnlockText": "解鎖 - 可在市集中購買企鵝蛋",
"questStressbeastText": "Stoïkalm草原的惡劣壓力雪怪",
- "questStressbeastNotes": "完成每日任務和待辦事項來攻擊世界Boss!未完成的每日任務會填充壓力表。當壓力表滿時,這個世界怪獸會攻擊一個NPC。世界Boss不會攻擊單一玩家。只有沒在酒館休息的玩家才會被他們的未完成的每日任務傷害。
~*~
我們首先聽到的是腳步聲,緩慢,卻勢如千軍。玩家們一個一個走出門外去看,嚇得連話都說不出來。
我們以前都見過壓力雪怪,當然是那種在困難時刻才出現的惡毒的小東西。但這一個?這一個比大樓還高,一爪子能輕易撕碎巨龍。冰霜從它惡臭的皮毛上落下,而它嘶吼,冰爆把我們的屋頂都掀翻了。除了在古老的傳說裡,我們從沒聽說過這樣可怕的怪物。
\"注意了,玩家們!\"SabreCat大喊,\"注意並且躲在屋內!這是可惡壓力雪怪!\"
\"這肯定是幾百年累積的壓力形成的怪物!\"Kiwibot說,緊閉酒館的門窗。\"
\"在Stoïkalm 草原,\"Lemoness面色嚴峻,\"那時我們覺得他們溫和無害,但這些傢伙肯定偷偷把他們的壓力藏在什麼地方了。一代一代演化成這個怪物。現在這個怪物重獲自由,去襲擊他們……還有我們!\"
只有一個辦法能趕跑一個壓力雪怪,無論是可惡壓力雪怪還是其他的,那就是完成每日任務和待辦事項去攻擊它!讓我們團聚在一起達到這個可怕的敵人—不過千萬不要懈怠,否則未完成的每日任務可能會激怒它,而它會……",
+ "questStressbeastNotes": "完成每日任務和待辦事項來攻擊世界級魔王!未完成的每日任務會填充壓力表。當壓力表滿時,這個世界怪獸會攻擊一個NPC。世界級魔王不會攻擊單一玩家。只有沒在酒館休息的玩家才會被他們的未完成的每日任務傷害。
~*~
我們首先聽到的是腳步聲,緩慢,卻勢如千軍。玩家們一個一個走出門外去看,嚇得連話都說不出來。
我們以前都見過壓力雪怪,當然是那種在困難時刻才出現的惡毒的小東西。但這一個?這一個比大樓還高,一爪子能輕易撕碎巨龍。冰霜從它惡臭的皮毛上落下,而它嘶吼,冰爆把我們的屋頂都掀翻了。除了在古老的傳說裡,我們從沒聽說過這樣可怕的怪物。
\"注意了,玩家們!\"SabreCat大喊,\"注意並且躲在屋內!這是可惡壓力雪怪!\"
\"這肯定是幾百年累積的壓力形成的怪物!\"Kiwibot說,緊閉酒館的門窗。\"
\"在Stoïkalm 草原,\"Lemoness面色嚴峻,\"那時我們覺得他們溫和無害,但這些傢伙肯定偷偷把他們的壓力藏在什麼地方了。一代一代演化成這個怪物。現在這個怪物重獲自由,去襲擊他們……還有我們!\"
只有一個辦法能趕跑一個壓力雪怪,無論是可惡壓力雪怪還是其他的,那就是完成每日任務和待辦事項去攻擊它!讓我們團聚在一起達到這個可怕的敵人—不過千萬不要懈怠,否則未完成的每日任務可能會激怒它,而它會……",
"questStressbeastBoss": "惡劣壓力雪怪",
"questStressbeastBossRageTitle": "壓力一擊",
"questStressbeastBossRageDescription": "當此壓力表滿時,惡劣雪怪將會釋放他的壓力攻擊在Habitica上",
@@ -228,14 +228,14 @@
"questWhaleCompletion": "努力一段時間後,這隻鯨魚終於停下她雷鳴般的哭號。「看來她淹沒在壞習慣的浪潮之中了。」@zoebeagle 解釋著,「謝謝你持續的努力,我們可以扭轉局面了!」當你踏入潛水艇時,許多鯨魚蛋彈跳著向你而來,你把它們收集了起來。",
"questWhaleDropWhaleEgg": "鯨魚 (蛋)",
"questWhaleUnlockText": "解鎖 - 可在市集中購買鯨魚蛋",
- "questGroupDilatoryDistress": "Dilatory Distress",
- "questDilatoryDistress1Text": "Dilatory 危機,第 1 章:瓶中信",
+ "questGroupDilatoryDistress": "怠慢危機",
+ "questDilatoryDistress1Text": "怠慢危機,第 1 章:瓶中信",
"questDilatoryDistress1Notes": "一封來自 Dilatory 重建城市的瓶中信!上面寫著:「親愛的 Habit 公民,我們再次需要你的幫助。我們的公主失蹤了,而且城市正被不明的水生怪物給包圍著!目前瀨尿蝦們正在海灣邊抵禦著襲擊者。請幫幫我們!」這趟前往水中城市的漫長旅途,必須擁有在水中呼吸的能力。幸運的是煉金術士 @Benga 和 @hazel 能夠使其成真!你只要找到適當的材料就行了。",
"questDilatoryDistress1Completion": "你穿上鰭狀盔甲並盡快地游到 Dilatory 。魚人族和他們的瀨尿蝦盟友雖然將怪物抵擋在城外,但正在節節敗退。你剛進到城牆內,恐怖的圍攻就開始了!",
"questDilatoryDistress1CollectFireCoral": "火焰珊瑚",
"questDilatoryDistress1CollectBlueFins": "藍鰭",
"questDilatoryDistress1DropArmor": "魚鰭海洋盔甲 (盔甲)",
- "questDilatoryDistress2Text": "Dilatory 危機,第 2 章:海溝裡的怪物",
+ "questDilatoryDistress2Text": "怠慢危機,第 2 章:海溝裡的怪物",
"questDilatoryDistress2Notes": "圍城的攻勢從幾里外就看得到:遊魂般的骷髏們通過海溝壁上的傳送門向 Dilatory 襲來。
你在作戰室見到 Manta 國王,他的雙眼凹陷,神情憂慮。「就在這次的大軍進攻前,我的女兒 Adva 在黑暗海溝失蹤了。請找到她,並把她平安帶回來!我會借你我的火焰珊瑚環來協助你。如果你成功,它就是你的了。」",
"questDilatoryDistress2Completion": "你擊敗了夢魘般的骷髏大軍,但是你感覺距離找到 Adva 仍然遙遙無期。於是你向皇家追蹤者 @Kiwibot 詢問是否有任何頭緒。「守衛城市的瀨尿蝦們一定有看到 Adva 逃跑。」@Kiwibot 說,「跟著牠們進入黑暗海溝看看吧。」",
"questDilatoryDistress2Boss": "水骷髏群",
@@ -245,13 +245,13 @@
"questDilatoryDistress2DropSkeletonPotion": "骨骸孵化藥水",
"questDilatoryDistress2DropCottonCandyBluePotion": "棉花糖藍色孵化藥水",
"questDilatoryDistress2DropHeadgear": "火焰珊瑚環 (頭飾)",
- "questDilatoryDistress3Text": "Dilatory 危機,第 3 章:不單純是個少女",
+ "questDilatoryDistress3Text": "怠慢危機,第 3 章:不單純是個少女",
"questDilatoryDistress3Notes": "你跟隨著瀨尿蝦們深入大海溝,並發現了一座海底堡壘。Adva 公主由更多的水骷髏護衛著,在正殿中等著你。「我父親派你來的,對吧?告訴他我不回去。我想待在這裡,並練習我的法術。現在離開吧,否則你將體會到海洋新女王的憤怒!」Adva 看起來十分強硬,但在她說話時你注意到有個奇怪的紅寶石墜飾在她頸上發著不祥的光...也許當你破壞它就能解除公主的蠱惑狀態?",
"questDilatoryDistress3Completion": "終於你設法從 Adva 的頸間扯下那蠱惑人心的墜飾並扔到一旁。Adva 緊抱著頭。「我在哪裡?! 發生了什麼事?」聽完你的話後她皺起了眉頭。「這條項鍊是一個奇怪的使者給我的──一個叫 Tzina 的女人。之後的事我什麼都想不起來了!」
回到 Dilatory,Manta 為你達成任務欣喜若狂。「請收下這三叉戟和盾作為報答!這本來是從 @aiseant 和 @starsystemic 那兒訂來送給 Adva 的禮物,但...短期內我還是不要給她任何武器好了。」",
"questDilatoryDistress3Boss": "Adva,篡位的人魚",
"questDilatoryDistress3DropFish": "魚 (食物)",
"questDilatoryDistress3DropWeapon": "擊潰浪潮的三叉戟 (武器)",
- "questDilatoryDistress3DropShield": "Moonpearl Shield (Off-Hand Item)",
+ "questDilatoryDistress3DropShield": "月亮石之盾(副手物品)",
"questCheetahText": "就像獵豹一樣",
"questCheetahNotes": "當你和友人們 @PainterProphet, @tivaquinn, @Unruly Hyena, 和 @Crawford, 在 Sloensteadi Savannah遠足時,你驚訝地發現有位新加入的Habiti公民被壓在獵豹的腳下,在獵豹炙熱的爪子下,在新Habit公民有機會真的完成自己的任務前-把任務燒毀就像被完成過似地消失殆盡!Habiti公民看到你們便求救 \"拜託幫幫我! 這隻獵豹讓我的等級急速飆升, 但我什麼都沒有做。我想要慢慢享受這個遊戲。拜託讓牠停下來!\"你想起自己當初羽翼未豐的日子,你認為你必須要停止獵豹的舉動來幫助這位新人!",
"questCheetahCompletion": "新人Habit公民大力地喘氣,但依舊感謝你和你的朋友的幫助。 “我很高興,獵豹再也無法抓住任何人。它還留下了一些獵豹蛋給我們,所以也許我們可以培養這些小獵豹成為更值得信賴的寵物!”",
@@ -471,7 +471,7 @@
"questButterflyBoss": "Flaming Butterfry",
"questButterflyDropButterflyEgg": "Caterpillar (Egg)",
"questButterflyUnlockText": "Unlocks purchasable Caterpillar eggs in the Market",
- "questGroupMayhemMistiflying": "Mayhem in Mistiflying",
+ "questGroupMayhemMistiflying": "混亂薄霧之蝶",
"questMayhemMistiflying1Text": "Mayhem in Mistiflying, Part 1: In Which Mistiflying Experiences a Dreadful Bother",
"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.",
@@ -576,7 +576,7 @@
"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",
+ "questDysheartenerBossRageTitle": "粉碎破心術",
"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!",
@@ -616,5 +616,13 @@
"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)",
- "questKangarooUnlockText": "Unlocks purchasable Kangaroo eggs in the Market"
+ "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)",
+ "questAlligatorUnlockText": "Unlocks purchasable Alligator eggs in the Market"
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/rebirth.json b/website/common/locales/zh_TW/rebirth.json
index 61b33a45d2..33ef75f8c8 100644
--- a/website/common/locales/zh_TW/rebirth.json
+++ b/website/common/locales/zh_TW/rebirth.json
@@ -4,7 +4,7 @@
"rebirthBegin": "重生:開始新的冒險",
"rebirthStartOver": "「重生」讓你的角色重返等級 1 !",
"rebirthAdvList1": "生命值完全復原",
- "rebirthAdvList2": "你沒有經驗或金幣。",
+ "rebirthAdvList2": "您沒有經驗或金幣。",
"rebirthAdvList3": "你的習慣、每日任務和待辦事項會重置到黃色;挑戰以外的連擊會重置。",
"rebirthAdvList4": "你會從戰士職業開始,直到你解鎖了新的職業。",
"rebirthInherit": "你的新角色繼承了一些前輩的東西:",
diff --git a/website/common/locales/zh_TW/settings.json b/website/common/locales/zh_TW/settings.json
index fc0bc552d1..16d44d2f28 100644
--- a/website/common/locales/zh_TW/settings.json
+++ b/website/common/locales/zh_TW/settings.json
@@ -2,7 +2,7 @@
"settings": "設定",
"language": "語言",
"americanEnglishGovern": "不同語言描述不同時,以美式英語為準。",
- "helpWithTranslation": "你想要協助翻譯 Habitica?太好了!請上這個 Trello 板。",
+ "helpWithTranslation": "想要協助翻譯 Habitica?太好了!歡迎到我們的 Trello 板。",
"showHeaderPop": "顯示你的角色、生命值 / 經驗值和隊伍。",
"stickyHeader": "頂部保持不動",
"stickyHeaderPop": "把頂部固定在屏幕上方。如果不選這個選項,當你滾動到頁面下面時,頂部會被滾離頁面。",
@@ -54,16 +54,16 @@
"misc": "其他",
"showHeader": "顯示頂部",
"changePass": "修改密碼",
- "changeUsername": "修改帳號",
+ "changeUsername": "Change Username",
"changeEmail": "更改電子郵件位置",
"newEmail": "新的電子郵件位置",
"oldPass": "舊密碼",
"newPass": "新密碼",
"confirmPass": "確認新密碼",
- "newUsername": "新帳號",
+ "newUsername": "New Username",
"dangerZone": "危險區域",
"resetText1": "警告!此功能會重設你角色的多數資料。強烈不建議你這樣做,但是有些人短暫地玩這個網站後,希望能重新開始。",
- "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.",
+ "resetText2": "你將失去所有的等級、金幣以及經驗值。所有你的任務(除了那些來自挑戰的之外)將會被永久刪除,而你將會失去關於這些所有的歷史數據。你將會失去所有的裝備,但你可以將他們全部買回來,包含所有你已經擁有的限定版裝備或訂閱者神秘物品(但你需要在正確的職業來重新購買職業限定裝備)。你將會留在你現在的職業,並且保留你的寵物及坐騎。你可能比較喜歡使用重生球來代替,它是一個比較安全的方法,可以保留你的任務及裝備。",
"deleteLocalAccountText": "確定嗎?這會永久地刪除你的帳號,並且再也無法恢復!如果希望再次使用 Habitica,需要註冊一個全新的帳號。舊帳號內儲存的和花掉的寶石也無法被退費。如果你非常確定要刪除帳號,在下面的文字欄中輸入。",
"deleteSocialAccountText": "你確定嗎?你的帳戶將被刪除,並且無法回復!如果你想再加入Habitica,你必須申請一個新的帳號,已經存入或花費的水晶將不會被復原。如果你非常確定,請在下方的文字欄中輸入「<%= magicWord %>」。",
"API": "API",
@@ -95,18 +95,19 @@
"invalidPasswordResetCode": "提供的重置密碼金鑰是無效的或逾期的。",
"passwordChangeSuccess": "你已經成功地更改密碼,你現在可以去登入你的帳戶。",
"passwordSuccess": "成功更改密碼",
- "usernameSuccess": "成功修改帳號",
+ "usernameSuccess": "Username successfully changed",
+ "displayNameSuccess": "Display name successfully changed",
"emailSuccess": "成功更改電子郵件位置",
"detachSocial": "註銷<%= network %>註冊",
"detachedSocial": "成功地從你的帳號移除<%= network %>認證",
"addedLocalAuth": "成功加入本地端認證",
"data": "數據",
"exportData": "匯出數據",
- "usernameOrEmail": "登入名稱或電子郵件",
+ "usernameOrEmail": "Username or Email",
"email": "Email",
"registerWithSocial": "使用<%= network %>註冊",
"registeredWithSocial": "已使用<%= network %>註冊",
- "loginNameDescription": "This is what you use to log in to Habitica. To change it, use the form below. If instead you want to change the Display Name that appears on your avatar and in chat messages, go to the User Icon > Profile and click the Edit button.",
+ "loginNameDescription": "這是您登入Habitica的方式。如果需要變更,請填寫下方的表單。如果您想要變更在聊天室中出現的暱稱,點擊玩家圖示 >基本資料 並點選編輯按鈕。",
"emailNotifications": "電子郵件通知",
"wonChallenge": "你贏得一個挑戰!",
"newPM": "收到的私密訊息",
@@ -114,14 +115,14 @@
"sentGems": "發送寶石!",
"giftedGems": "禮物用寶石",
"giftedGemsInfo": "<%= name %> 贈送你 <%= amount %> 顆寶石。",
- "giftedGemsFull": "Hello <%= username %>, <%= sender %> has sent you <%= gemAmount %> gems!",
+ "giftedGemsFull": "哈囉<%= username %>,<%= sender %>送給你<%= gemAmount %>顆寶石!",
"giftedSubscription": "禮物用訂閱",
"giftedSubscriptionInfo": "<%= name %> 贈送你 <%= months %> 月的訂閱。",
- "giftedSubscriptionFull": "Hello <%= username %>, <%= sender %> has sent you <%= monthCount %> months of subscription!",
- "giftedSubscriptionWinterPromo": "Hello <%= username %>, you received <%= monthCount %> months of subscription as part of our holiday gift-giving promotion!",
+ "giftedSubscriptionFull": "哈囉<%= username %>,<%= sender %>送給了你<%= monthCount %>個月的訂閱者資格!",
+ "giftedSubscriptionWinterPromo": "哈囉<%= username %>,你收到了<%= monthCount %>個月的訂閱者資格作為我們的假期送禮升級的一部份!",
"invitedParty": "邀請至隊伍",
"invitedGuild": "受邀至公會",
- "importantAnnouncements": "Reminders to check in to complete tasks and receive prizes",
+ "importantAnnouncements": "提醒:登入以完成任務以及獲得獎勵",
"weeklyRecaps": "上個星期你的帳戶活動彙整 (注意:這個彙整可能會因為系統效能而關閉,但是我們會快點回復並且趕快寄給你!)",
"onboarding": "指引設定你的Habitica帳號",
"questStarted": "你的任務開始了",
@@ -134,7 +135,7 @@
"unsubscribedTextOthers": "你將不會從Habitica收到任何其他電子郵件。",
"unsubscribeAllEmails": "取消電子郵件訂閱",
"unsubscribeAllEmailsText": "勾選此欄,並且我明白地知道我將取消全部的電子郵件訂閱,Habitica再也沒辦法利用電子郵件提醒我,關於網站或帳戶的重大更改。",
- "unsubscribeAllPush": "Check to Unsubscribe from all Push Notifications",
+ "unsubscribeAllPush": "勾選以停止訂閱所有的推播通知",
"correctlyUnsubscribedEmailType": "從\"<%= emailType %>\"取消訂閱電子郵件。",
"subscriptionRateText": "每 <%= months %> 月定期 $<%= price %> 美金",
"recurringText": "定期",
@@ -150,7 +151,7 @@
"displayInviteToPartyWhenPartyIs1": "當隊伍有1個夥伴時,會顯示邀請入隊的按鈕。",
"saveCustomDayStart": "儲存開始日期",
"registration": "登錄",
- "addLocalAuth": "新增本地認證",
+ "addLocalAuth": "Add Email and Password Login",
"generateCodes": "產生驗證碼",
"generate": "產生",
"getCodes": "得到驗證碼",
@@ -158,14 +159,14 @@
"enabled": "啟用",
"webhookURL": "Webhook URL",
"invalidUrl": "無效的網址",
- "invalidEnabled": "the \"enabled\" parameter should be a boolean.",
- "invalidWebhookId": "the \"id\" parameter should be a valid UUID.",
- "missingWebhookId": "The webhook's id is required.",
- "invalidWebhookType": "\"<%= type %>\" is not a valid value for the parameter \"type\".",
- "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": "RegId is required",
+ "invalidEnabled": "\"enabled\"參數應該為一個布林值。",
+ "invalidWebhookId": "\"id\"參數應該為一個有效的UUID。",
+ "missingWebhookId": "需要webhook ID。",
+ "invalidWebhookType": "\"<%= type %>\"對\"type\"參數不是一個有效的值。",
+ "webhookBooleanOption": "\"<%= option %>\"必須為一個布林值。",
+ "webhookIdAlreadyTaken": "webhook搭配這個ID<%= id %>已經存在。",
+ "noWebhookWithId": "沒有webhook搭配這個ID<%= id %>",
+ "regIdRequired": "需要RegId",
"invalidPushClient": "Invalid client. Only Official Habitica clients can receive push notifications.",
"pushDeviceAdded": "Push device added successfully",
"pushDeviceAlreadyAdded": "The user already has the push device",
@@ -188,5 +189,18 @@
"timezoneUTC": "Habitica 使用您電腦的時區,現在是:<%= utc %>",
"timezoneInfo": "If that time zone is wrong, first reload this page using your browser's reload or refresh button to ensure that Habitica has the most recent information. If it is still wrong, adjust the time zone on your PC and then reload this page again.
If you use Habitica on other PCs or mobile devices, the time zone must be the same on them all. If your Dailies have been resetting at the wrong time, repeat this check on all other PCs and on a browser on your mobile devices.",
"push": "推送通知",
- "about": "關於"
+ "about": "關於",
+ "setUsernameNotificationTitle": "Confirm your username!",
+ "setUsernameNotificationBody": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging.",
+ "usernameIssueSlur": "Usernames may not contain inappropriate language.",
+ "usernameIssueForbidden": "Usernames may not contain restricted words.",
+ "usernameIssueLength": "Usernames must be between 1 and 20 characters.",
+ "usernameIssueInvalidCharacters": "Usernames can only contain letters a to z, numbers 0 to 9, hyphens, or underscores.",
+ "currentUsername": "Current username:",
+ "displaynameIssueLength": "Display Names must be between 1 and 30 characters.",
+ "displaynameIssueSlur": "Display Names may not contain inappropriate language",
+ "goToSettings": "Go to Settings",
+ "usernameVerifiedConfirmation": "Your username, <%= username %>, is confirmed!",
+ "usernameNotVerified": "Please confirm your username.",
+ "changeUsernameDisclaimer": "We will be transitioning login names to unique, public usernames soon. This username will be used for invitations, @mentions in chat, and messaging."
}
\ No newline at end of file
diff --git a/website/common/locales/zh_TW/spells.json b/website/common/locales/zh_TW/spells.json
index fc56fe1260..9cfacf40fc 100644
--- a/website/common/locales/zh_TW/spells.json
+++ b/website/common/locales/zh_TW/spells.json
@@ -1,6 +1,6 @@
{
"spellWizardFireballText": "火焰爆轟",
- "spellWizardFireballNotes": "你召喚出經驗值並對Boss造成火焰傷害!(基於:智力)",
+ "spellWizardFireballNotes": "您你召喚出經驗值並對魔王造成火焰傷害!(基於:智力)",
"spellWizardMPHealText": "澎湃靈泉",
"spellWizardMPHealNotes": "你獻出魔力所以你隊伍裡的其他人,除了法師,獲得了MP!(基於:智力)",
"spellWizardEarthText": "地震",
@@ -9,7 +9,7 @@
"spellWizardFrostNotes": "以一個施咒,寒冰凍結了你所有的連擊,所以它們不會在明天歸零!",
"spellWizardFrostAlreadyCast": "今天你已經用了「極寒霜凍」技能,不需要再用一次了!",
"spellWarriorSmashText": "致命一擊",
- "spellWarriorSmashNotes": "你讓一個任務變得更藍/比較不紅並對Boss造成額外的傷害!(基於:力量)",
+ "spellWarriorSmashNotes": "您讓一個任務顏色變得更藍/不那麼深紅,並對魔王造成額外的傷害!(基於:力量)",
"spellWarriorDefensiveStanceText": "防禦姿態",
"spellWarriorDefensiveStanceNotes": "你壓低身子並獲得一個對體質的增益效果!(基於:未增益體質)",
"spellWarriorValorousPresenceText": "英勇現身",
diff --git a/website/common/locales/zh_TW/subscriber.json b/website/common/locales/zh_TW/subscriber.json
index 0031389f19..a7e43d2d97 100644
--- a/website/common/locales/zh_TW/subscriber.json
+++ b/website/common/locales/zh_TW/subscriber.json
@@ -4,9 +4,9 @@
"subDescription": "用金幣購買寶石、獲得每月的神秘物品、保留歷史進度、日常掉寶率上限加倍、支持開發者。點擊這裡來獲取更多資訊。",
"sendGems": "寄送寶石",
"buyGemsGold": "用金幣購買寶石",
- "buyGemsGoldText": "Alexander the Merchant will sell you Gems at a cost of 20 Gold per Gem. His monthly shipments are initially capped at 25 Gems per month, but for every 3 consecutive months that you are subscribed, this cap increases by 5 Gems, up to a maximum of 50 Gems per month!",
- "mustSubscribeToPurchaseGems": "Must subscribe to purchase gems with 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.",
+ "buyGemsGoldText": "商人 Alexander會以每個寶石20金幣的價錢賣給你寶石。他在剛開始每月的可販售量是25個寶石,但每3個月連續訂閱,這個上限會增加5個寶石。最高額度是每個月50個寶石!",
+ "mustSubscribeToPurchaseGems": "必須訂閱以使用金幣獲得寶石",
+ "reachedGoldToGemCap": "你達到了一個月的金幣=>寶石兌換上限<%= convCap %>。我們用這個來避免濫用和刻意耕耘。這個上限會在一個月的前三天內重置。",
"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.",
"retainHistory": "保留額外的歷史記錄",
"retainHistoryText": "讓已完成的代辦事項以及任務的歷史記錄可以保留更久。",
@@ -88,7 +88,7 @@
"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.",
"timeTravelersAlreadyOwned": "恭喜!你已擁有時光旅行者目前所供應的所有物品。感謝你對這個網站的支持!",
- "mysticHourglassPopover": "神秘沙漏能讓你購買特定的限期物品,像是每個月的神祕物品和世界 Boss 的獎品,取得過去的東西!",
+ "mysticHourglassPopover": "神秘沙漏能讓你購買特定的限期物品,像是每個月的神祕物品和世界級魔王的獎品,取得過去的東西!",
"mysterySetNotFound": "Mystery set not found, or set already owned.",
"mysteryItemIsEmpty": "神秘禮物是空的。",
"mysteryItemOpened": "打開神秘禮物。",
@@ -146,6 +146,8 @@
"mysterySet201805": "Phenomenal Peacock Set",
"mysterySet201806": "Alluring Anglerfish Set",
"mysterySet201807": "Sea Serpent Set",
+ "mysterySet201808": "Lava Dragon Set",
+ "mysterySet201809": "Autumnal Armor Set",
"mysterySet301404": "蒸氣龐克標準套裝",
"mysterySet301405": "蒸氣龐克配件套裝",
"mysterySet301703": "Peacock Steampunk Set",
diff --git a/website/common/locales/zh_TW/tasks.json b/website/common/locales/zh_TW/tasks.json
index 0e66cfa5be..163900b774 100644
--- a/website/common/locales/zh_TW/tasks.json
+++ b/website/common/locales/zh_TW/tasks.json
@@ -49,7 +49,7 @@
"attributeAllocation": "屬性分配",
"attributeAllocationHelp": "屬性點分配是一個功能讓Habitica自動地分配得到的屬性點讓屬性升級,
你可以在你個人檔案的屬性點頁面設定你的自動分配功能為任務取向。",
"progress": "進度",
- "daily": "每日任務",
+ "daily": "每日",
"dailies": "每日任務",
"newDaily": "增加一個每日任務",
"newDailyBulk": "新每日任務(每行一個)",
@@ -126,11 +126,11 @@
"taskToTop": "置頂",
"taskToBottom": "置底",
"emptyTask": "請先輸入任務的標題",
- "dailiesRestingInInn": "你正在酒館休息中!你今天不會因為未完成每日任務而受到傷害,但是任務還是會每天刷新哦。如果你正在隊伍中解任務的話,在你離開酒館前,你將不會受到傷害也無法獲得獎勵,可是若你的隊伍沒有乖乖完成他們自己的每日任務的話,你的生命值仍然會受損哦。",
+ "dailiesRestingInInn": "您正在酒館小棧裡休息!您的每日任務將不會因為未完成每日任務而受到傷害,但是任務還是會每天刷新哦。如果你正在打隊伍副本的話,在您離開酒館前,將不會受到傷害但也無法獲得獎勵。若您的隊伍沒有乖乖完成他們自己的每日任務的話,您的生命值仍然會受到傷害哦。",
"habitHelp1": "「好習慣」就是你每天都可以完成好幾次的正面事情。當你每次點擊 <%= plusIcon %>的時候,它會為你帶來金幣和經驗值哦。",
"habitHelp2": "「壞習慣」就是你想要盡力避免去做的事。當你每次點擊<%= minusIcon %>的時候,壞習慣會折損你的生命值。",
"habitHelp3": "想要獲得些任務靈感?你可以點擊 範例參考!",
- "newbieGuild": "還有一肚子疑問?到這裏問問吧!<%= linkStart %>新手公會<%= linkEnd %>",
+ "newbieGuild": "還有一肚子疑問?到這裏問問吧!<%= linkStart %> Habitica Help guild<%= linkEnd %>",
"dailyHelp1": "每日任務重複 <%= emphasisStart %>每一天<%= emphasisEnd %>它們被設定好的日子。點擊 <%= pencilIcon %> 可以編輯一星期中的哪幾天開啟任務。",
"dailyHelp2": "如果你沒有如期完成每日任務的話,你的生命值會在任務過期的時候受損。",
"dailyHelp3": "當你錯過每日任務時它會變得<%= emphasisStart %>越來越紅<%= emphasisEnd %>,而當你完成它時,他則會變得<%= emphasisStart %>越來越藍<%= emphasisEnd %>。\n越紅的每日任務他的獎勵越多...或者對你造成的傷害更多。",
diff --git a/website/common/script/content/appearance/backgrounds.js b/website/common/script/content/appearance/backgrounds.js
index 384d858b6d..f17fe9e254 100644
--- a/website/common/script/content/appearance/backgrounds.js
+++ b/website/common/script/content/appearance/backgrounds.js
@@ -717,6 +717,34 @@ let backgrounds = {
notes: t('backgroundBridgeNotes'),
},
},
+ backgrounds092018: {
+ apple_picking: {
+ text: t('backgroundApplePickingText'),
+ notes: t('backgroundApplePickingNotes'),
+ },
+ giant_book: {
+ text: t('backgroundGiantBookText'),
+ notes: t('backgroundGiantBookNotes'),
+ },
+ cozy_barn: {
+ text: t('backgroundCozyBarnText'),
+ notes: t('backgroundCozyBarnNotes'),
+ },
+ },
+ backgrounds102018: {
+ bayou: {
+ text: t('backgroundBayouText'),
+ notes: t('backgroundBayouNotes'),
+ },
+ creepy_castle: {
+ text: t('backgroundCreepyCastleText'),
+ notes: t('backgroundCreepyCastleNotes'),
+ },
+ dungeon: {
+ text: t('backgroundDungeonText'),
+ notes: t('backgroundDungeonNotes'),
+ },
+ },
incentiveBackgrounds: {
violet: {
text: t('backgroundVioletText'),
diff --git a/website/common/script/content/appearance/sets.js b/website/common/script/content/appearance/sets.js
index 67bf3d8021..4f62c8d404 100644
--- a/website/common/script/content/appearance/sets.js
+++ b/website/common/script/content/appearance/sets.js
@@ -11,13 +11,13 @@ module.exports = prefill({
pastelHairColors: {setPrice: 5, availableUntil: '2016-01-01'},
rainbowHairColors: {setPrice: 5, text: t('rainbowColors')},
shimmerHairColors: {setPrice: 5, availableFrom: '2018-04-05', availableUntil: '2018-05-02', text: t('shimmerColors')},
- hauntedHairColors: {setPrice: 5, availableFrom: '2017-10-01', availableUntil: '2017-11-02', text: t('hauntedColors')},
+ hauntedHairColors: {setPrice: 5, availableFrom: '2018-10-11', availableUntil: '2018-11-02', text: t('hauntedColors')},
winteryHairColors: {setPrice: 5, availableFrom: '2018-01-04', availableUntil: '2018-02-02', text: t('winteryColors')},
rainbowSkins: {setPrice: 5, text: t('rainbowSkins')},
animalSkins: {setPrice: 5, text: t('animalSkins')},
pastelSkins: {setPrice: 5, availableFrom: '2018-04-05', availableUntil: '2018-05-02', text: t('pastelSkins')},
spookySkins: {setPrice: 5, availableUntil: '2016-01-01', text: t('spookySkins')},
- supernaturalSkins: {setPrice: 5, availableFrom: '2017-10-01', availableUntil: '2017-11-02', text: t('supernaturalSkins')},
+ supernaturalSkins: {setPrice: 5, availableFrom: '2018-10-11', availableUntil: '2018-11-02', text: t('supernaturalSkins')},
splashySkins: {setPrice: 5, availableFrom: '2018-07-10', availableUntil: '2018-08-02', text: t('splashySkins')},
winterySkins: {setPrice: 5, availableFrom: '2018-01-04', availableUntil: '2018-02-02', text: t('winterySkins')},
});
diff --git a/website/common/script/content/constants.js b/website/common/script/content/constants.js
index 161c09f280..f90f7a5ef3 100644
--- a/website/common/script/content/constants.js
+++ b/website/common/script/content/constants.js
@@ -33,6 +33,7 @@ export const EVENTS = {
winter2018: { start: '2017-12-19', end: '2018-02-02' },
spring2018: { start: '2018-03-20', end: '2018-05-02' },
summer2018: { start: '2018-06-19', end: '2018-08-02' },
+ fall2018: { start: '2018-09-20', end: '2018-11-02' },
};
export const SEASONAL_SETS = {
@@ -129,6 +130,37 @@ export const SEASONAL_SETS = {
'summer2018MerfolkMonarchSet',
'summer2018FisherRogueSet',
],
+ fall: [
+ // fall 2014
+ 'vampireSmiterSet',
+ 'monsterOfScienceSet',
+ 'witchyWizardSet',
+ 'mummyMedicSet',
+
+ // fall 2015
+ 'battleRogueSet',
+ 'scarecrowWarriorSet',
+ 'stitchWitchSet',
+ 'potionerSet',
+
+ // fall 2016
+ 'fall2016BlackWidowSet',
+ 'fall2016SwampThingSet',
+ 'fall2016WickedSorcererSet',
+ 'fall2016GorgonHealerSet',
+
+ // fall 2017
+ 'fall2017TrickOrTreatSet',
+ 'fall2017HabitoweenSet',
+ 'fall2017MasqueradeSet',
+ 'fall2017HauntedHouseSet',
+
+ // fall 2018
+ 'fall2018MinotaurWarriorSet',
+ 'fall2018CandymancerMageSet',
+ 'fall2018CarnivorousPlantSet',
+ 'fall2018AlterEgoSet',
+ ],
};
export const GEAR_TYPES = [
diff --git a/website/common/script/content/eggs.js b/website/common/script/content/eggs.js
index 75d66ebaae..cdec4f9875 100644
--- a/website/common/script/content/eggs.js
+++ b/website/common/script/content/eggs.js
@@ -368,6 +368,12 @@ let quests = {
adjective: t('questEggKangarooAdjective'),
canBuy: hasQuestAchievementFunction('kangaroo'),
},
+ Alligator: {
+ text: t('questEggAlligatorText'),
+ mountText: t('questEggAlligatorMountText'),
+ adjective: t('questEggAlligatorAdjective'),
+ canBuy: hasQuestAchievementFunction('alligator'),
+ },
};
applyEggDefaults(drops, {
diff --git a/website/common/script/content/faq.js b/website/common/script/content/faq.js
index 91870abea9..e66b293ce8 100644
--- a/website/common/script/content/faq.js
+++ b/website/common/script/content/faq.js
@@ -14,6 +14,7 @@ for (let i = 0; i <= NUMBER_OF_QUESTIONS; i++) {
let question = {
question: t(`faqQuestion${i}`),
ios: t(`iosFaqAnswer${i}`),
+ android: t(`androidFaqAnswer${i}`),
web: t(`webFaqAnswer${i}`, {
// TODO: Need to pull these values from nconf
techAssistanceEmail: 'admin@habitica.com',
diff --git a/website/common/script/content/gear/sets/armoire.js b/website/common/script/content/gear/sets/armoire.js
index 9763dcd57a..90fd00c1be 100644
--- a/website/common/script/content/gear/sets/armoire.js
+++ b/website/common/script/content/gear/sets/armoire.js
@@ -383,6 +383,23 @@ let armor = {
set: 'jeweledArcher',
canOwn: ownsItem('armor_armoire_JeweledArcherArmor'),
},
+ coverallsOfBookbinding: {
+ text: t('armorArmoireCoverallsOfBookbindingText'),
+ notes: t('armorArmoireCoverallsOfBookbindingNotes', { con: 10, per: 5 }),
+ value: 100,
+ con: 10,
+ per: 5,
+ set: 'bookbinder',
+ canOwn: ownsItem('armor_armoire_coverallsOfBookbinding'),
+ },
+ robeOfSpades: {
+ text: t('armorArmoireRobeOfSpadesText'),
+ notes: t('armorArmoireRobeOfSpadesNotes', { str: 13 }),
+ value: 100,
+ str: 13,
+ set: 'aceOfSpades',
+ canOwn: ownsItem('armor_armoire_robeOfSpades'),
+ },
};
let body = {
@@ -827,6 +844,14 @@ let head = {
set: 'jeweledArcher',
canOwn: ownsItem('head_armoire_JeweledArcherHelm'),
},
+ veilOfSpades: {
+ text: t('headArmoireVeilOfSpadesText'),
+ notes: t('headArmoireVeilOfSpadesNotes', { per: 13 }),
+ value: 100,
+ per: 13,
+ set: 'aceOfSpades',
+ canOwn: ownsItem('head_armoire_veilOfSpades'),
+ },
};
let shield = {
@@ -1032,6 +1057,14 @@ let shield = {
set: 'piraticalPrincess',
canOwn: ownsItem('shield_armoire_piraticalSkullShield'),
},
+ unfinishedTome: {
+ text: t('shieldArmoireUnfinishedTomeText'),
+ notes: t('shieldArmoireUnfinishedTomeNotes', { int: 10 }),
+ value: 100,
+ int: 10,
+ set: 'bookbinder',
+ canOwn: ownsItem('shield_armoire_unfinishedTome'),
+ },
};
let headAccessory = {
@@ -1042,6 +1075,14 @@ let headAccessory = {
str: 10,
canOwn: ownsItem('headAccessory_armoire_comicalArrow'),
},
+ gogglesOfBookbinding: {
+ text: t('headAccessoryArmoireGogglesOfBookbindingText'),
+ notes: t('headAccessoryArmoireGogglesOfBookbindingNotes', { per: 8 }),
+ value: 100,
+ per: 8,
+ set: 'bookbinder',
+ canOwn: ownsItem('headAccessory_armoire_gogglesOfBookbinding'),
+ },
};
let weapon = {
@@ -1356,7 +1397,23 @@ let weapon = {
value: 100,
int: 15,
set: 'jeweledArcher',
- canOwn: ownsItem('weapon_armoire_JeweledArcherBow'),
+ canOwn: ownsItem('weapon_armoire_jeweledArcherBow'),
+ },
+ needleOfBookbinding: {
+ text: t('weaponArmoireNeedleOfBookbindingText'),
+ notes: t('weaponArmoireNeedleOfBookbindingNotes', { str: 8 }),
+ value: 100,
+ str: 8,
+ set: 'bookbinder',
+ canOwn: ownsItem('weapon_armoire_needleOfBookbinding'),
+ },
+ spearOfSpades: {
+ text: t('weaponArmoireSpearOfSpadesText'),
+ notes: t('weaponArmoireSpearOfSpadesNotes', { con: 13 }),
+ value: 100,
+ con: 13,
+ set: 'aceOfSpades',
+ canOwn: ownsItem('weapon_armoire_spearOfSpades'),
},
};
diff --git a/website/common/script/content/gear/sets/mystery.js b/website/common/script/content/gear/sets/mystery.js
index f4fb51452e..679592bc0e 100644
--- a/website/common/script/content/gear/sets/mystery.js
+++ b/website/common/script/content/gear/sets/mystery.js
@@ -205,6 +205,18 @@ let armor = {
mystery: '201807',
value: 0,
},
+ 201808: {
+ text: t('armorMystery201808Text'),
+ notes: t('armorMystery201808Notes'),
+ mystery: '201808',
+ value: 0,
+ },
+ 201809: {
+ text: t('armorMystery201809Text'),
+ notes: t('armorMystery201809Notes'),
+ mystery: '201809',
+ value: 0,
+ },
301404: {
text: t('armorMystery301404Text'),
notes: t('armorMystery301404Notes'),
@@ -607,6 +619,18 @@ let head = {
mystery: '201807',
value: 0,
},
+ 201808: {
+ text: t('headMystery201808Text'),
+ notes: t('headMystery201808Notes'),
+ mystery: '201808',
+ value: 0,
+ },
+ 201809: {
+ text: t('headMystery201809Text'),
+ notes: t('headMystery201809Notes'),
+ mystery: '201809',
+ value: 0,
+ },
301404: {
text: t('headMystery301404Text'),
notes: t('headMystery301404Notes'),
diff --git a/website/common/script/content/gear/sets/special/index.js b/website/common/script/content/gear/sets/special/index.js
index 427af1643f..d163bde3f5 100644
--- a/website/common/script/content/gear/sets/special/index.js
+++ b/website/common/script/content/gear/sets/special/index.js
@@ -8,7 +8,7 @@ import takeThisGear from './special-takeThis';
import wonderconGear from './special-wondercon';
import t from '../../../translation';
-const CURRENT_SEASON = '_NONE_';
+const CURRENT_SEASON = 'fall';
let armor = {
0: backerGear.armorSpecial0,
@@ -863,6 +863,9 @@ let armor = {
notes: t('armorSpecialFall2017RogueNotes', { per: 15 }),
value: 90,
per: 15,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -872,6 +875,9 @@ let armor = {
notes: t('armorSpecialFall2017WarriorNotes', { con: 9 }),
value: 90,
con: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Mage: {
event: EVENTS.fall2017,
@@ -881,6 +887,9 @@ let armor = {
notes: t('armorSpecialFall2017MageNotes', { int: 9 }),
value: 90,
int: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -890,6 +899,9 @@ let armor = {
notes: t('armorSpecialFall2017HealerNotes', { con: 15 }),
value: 90,
con: 15,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
winter2018Rogue: {
event: EVENTS.winter2018,
@@ -1005,6 +1017,42 @@ let armor = {
value: 90,
con: 15,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('armorSpecialFall2018RogueText'),
+ notes: t('armorSpecialFall2018RogueNotes', { per: 15 }),
+ value: 90,
+ per: 15,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('armorSpecialFall2018WarriorText'),
+ notes: t('armorSpecialFall2018WarriorNotes', { con: 9 }),
+ value: 90,
+ con: 9,
+ },
+ fall2018Mage: {
+ event: EVENTS.fall2018,
+ specialClass: 'wizard',
+ set: 'fall2018CandymancerMageSet',
+ text: t('armorSpecialFall2018MageText'),
+ notes: t('armorSpecialFall2018MageNotes', { int: 9 }),
+ value: 90,
+ int: 9,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('armorSpecialFall2018HealerText'),
+ notes: t('armorSpecialFall2018HealerNotes', { con: 15 }),
+ value: 90,
+ con: 15,
+ },
};
let back = {
@@ -1029,6 +1077,86 @@ let back = {
value: 0,
canOwn: ownsItem('back_special_turkeyTailBase'),
},
+ bearTail: {
+ gearSet: 'animal',
+ text: t('backBearTailText'),
+ notes: t('backBearTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_bearTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ cactusTail: {
+ gearSet: 'animal',
+ text: t('backCactusTailText'),
+ notes: t('backCactusTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_cactusTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ foxTail: {
+ gearSet: 'animal',
+ text: t('backFoxTailText'),
+ notes: t('backFoxTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_foxTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ lionTail: {
+ gearSet: 'animal',
+ text: t('backLionTailText'),
+ notes: t('backLionTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_lionTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ pandaTail: {
+ gearSet: 'animal',
+ text: t('backPandaTailText'),
+ notes: t('backPandaTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_pandaTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ pigTail: {
+ gearSet: 'animal',
+ text: t('backPigTailText'),
+ notes: t('backPigTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_pigTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ tigerTail: {
+ gearSet: 'animal',
+ text: t('backTigerTailText'),
+ notes: t('backTigerTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_tigerTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
+ wolfTail: {
+ gearSet: 'animal',
+ text: t('backWolfTailText'),
+ notes: t('backWolfTailNotes'),
+ value: 20,
+ canOwn: ownsItem('back_special_wolfTail'),
+ canBuy: () => {
+ return true;
+ },
+ },
};
let body = {
@@ -2062,6 +2190,9 @@ let head = {
notes: t('headSpecialFall2017RogueNotes', { per: 9 }),
value: 60,
per: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -2071,6 +2202,9 @@ let head = {
notes: t('headSpecialFall2017WarriorNotes', { str: 9 }),
value: 60,
str: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Mage: {
event: EVENTS.fall2017,
@@ -2080,6 +2214,9 @@ let head = {
notes: t('headSpecialFall2017MageNotes', { per: 7 }),
value: 60,
per: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -2089,6 +2226,9 @@ let head = {
notes: t('headSpecialFall2017HealerNotes', { int: 7 }),
value: 60,
int: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
nye2017: {
text: t('headSpecialNye2017Text'),
@@ -2204,6 +2344,42 @@ let head = {
value: 60,
int: 7,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('headSpecialFall2018RogueText'),
+ notes: t('headSpecialFall2018RogueNotes', { per: 9 }),
+ value: 60,
+ per: 9,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('headSpecialFall2018WarriorText'),
+ notes: t('headSpecialFall2018WarriorNotes', { str: 9 }),
+ value: 60,
+ str: 9,
+ },
+ fall2018Mage: {
+ event: EVENTS.fall2018,
+ specialClass: 'wizard',
+ set: 'fall2018CandymancerMageSet',
+ text: t('headSpecialFall2018MageText'),
+ notes: t('headSpecialFall2018MageNotes', { per: 7 }),
+ value: 60,
+ per: 7,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('headSpecialFall2018HealerText'),
+ notes: t('headSpecialFall2018HealerNotes', { int: 7 }),
+ value: 60,
+ int: 7,
+ },
};
let headAccessory = {
@@ -3123,6 +3299,9 @@ let shield = {
notes: t('shieldSpecialFall2017RogueNotes', { str: 8 }),
value: 80,
str: 8,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -3132,6 +3311,9 @@ let shield = {
notes: t('shieldSpecialFall2017WarriorNotes', { con: 7 }),
value: 70,
con: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -3141,6 +3323,9 @@ let shield = {
notes: t('shieldSpecialFall2017HealerNotes', { con: 9 }),
value: 70,
con: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
winter2018Rogue: {
event: EVENTS.winter2018,
@@ -3223,6 +3408,33 @@ let shield = {
value: 70,
con: 9,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('shieldSpecialFall2018RogueText'),
+ notes: t('shieldSpecialFall2018RogueNotes', { str: 8 }),
+ value: 80,
+ str: 8,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('shieldSpecialFall2018WarriorText'),
+ notes: t('shieldSpecialFall2018WarriorNotes', { con: 7 }),
+ value: 70,
+ con: 7,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('shieldSpecialFall2018HealerText'),
+ notes: t('shieldSpecialFall2018HealerNotes', { con: 9 }),
+ value: 70,
+ con: 9,
+ },
};
let weapon = {
@@ -4084,6 +4296,9 @@ let weapon = {
notes: t('weaponSpecialFall2017RogueNotes', { str: 8 }),
value: 80,
str: 8,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Warrior: {
event: EVENTS.fall2017,
@@ -4093,6 +4308,9 @@ let weapon = {
notes: t('weaponSpecialFall2017WarriorNotes', { str: 15 }),
value: 90,
str: 15,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Mage: {
event: EVENTS.fall2017,
@@ -4104,6 +4322,9 @@ let weapon = {
value: 160,
int: 15,
per: 7,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
fall2017Healer: {
event: EVENTS.fall2017,
@@ -4113,6 +4334,9 @@ let weapon = {
notes: t('weaponSpecialFall2017HealerNotes', { int: 9 }),
value: 90,
int: 9,
+ canBuy: () => {
+ return CURRENT_SEASON === 'fall';
+ },
},
winter2018Rogue: {
event: EVENTS.winter2018,
@@ -4228,6 +4452,44 @@ let weapon = {
value: 90,
int: 9,
},
+ fall2018Rogue: {
+ event: EVENTS.fall2018,
+ specialClass: 'rogue',
+ set: 'fall2018AlterEgoSet',
+ text: t('weaponSpecialFall2018RogueText'),
+ notes: t('weaponSpecialFall2018RogueNotes', { str: 8 }),
+ value: 80,
+ str: 8,
+ },
+ fall2018Warrior: {
+ event: EVENTS.fall2018,
+ specialClass: 'warrior',
+ set: 'fall2018MinotaurWarriorSet',
+ text: t('weaponSpecialFall2018WarriorText'),
+ notes: t('weaponSpecialFall2018WarriorNotes', { str: 15 }),
+ value: 90,
+ str: 15,
+ },
+ fall2018Mage: {
+ event: EVENTS.fall2018,
+ specialClass: 'wizard',
+ set: 'fall2018CandymancerMageSet',
+ twoHanded: true,
+ text: t('weaponSpecialFall2018MageText'),
+ notes: t('weaponSpecialFall2018MageNotes', { int: 15, per: 7 }),
+ value: 160,
+ int: 15,
+ per: 7,
+ },
+ fall2018Healer: {
+ event: EVENTS.fall2018,
+ specialClass: 'healer',
+ set: 'fall2018CarnivorousPlantSet',
+ text: t('weaponSpecialFall2018HealerText'),
+ notes: t('weaponSpecialFall2018HealerNotes', { int: 9 }),
+ value: 90,
+ int: 9,
+ },
};
let specialSet = {
diff --git a/website/common/script/content/hatching-potions.js b/website/common/script/content/hatching-potions.js
index c9abca198b..700f6886f1 100644
--- a/website/common/script/content/hatching-potions.js
+++ b/website/common/script/content/hatching-potions.js
@@ -3,7 +3,7 @@ import defaults from 'lodash/defaults';
import each from 'lodash/each';
import t from './translation';
-const CURRENT_SEASON = '_NONE_';
+const CURRENT_SEASON = 'October';
let drops = {
Base: {
@@ -88,7 +88,7 @@ let premium = {
value: 2,
text: t('hatchingPotionEmber'),
limited: true,
- _season: 'August',
+ _season: 'September',
},
Thunderstorm: {
value: 2,
@@ -100,7 +100,7 @@ let premium = {
value: 2,
text: t('hatchingPotionSpooky'),
limited: true,
- _season: 'October',
+ _season: '_PENDING_',
},
Ghost: {
value: 2,
@@ -138,6 +138,12 @@ let premium = {
limited: true,
_season: 'July',
},
+ Glow: {
+ value: 2,
+ text: t('hatchingPotionGlow'),
+ limited: true,
+ _season: 'October',
+ },
};
each(drops, (pot, key) => {
diff --git a/website/common/script/content/index.js b/website/common/script/content/index.js
index 1974ebfc0a..fa20b70fa3 100644
--- a/website/common/script/content/index.js
+++ b/website/common/script/content/index.js
@@ -182,6 +182,21 @@ api.bundles = {
type: 'quests',
value: 7,
},
+ forestFriends: {
+ key: 'forestFriends',
+ text: t('forestFriendsText'),
+ notes: t('forestFriendsNotes'),
+ bundleKeys: [
+ 'ghost_stag',
+ 'hedgehog',
+ 'treeling',
+ ],
+ canBuy () {
+ return moment().isBetween('2018-09-11', '2018-10-02');
+ },
+ type: 'quests',
+ value: 7,
+ },
};
/*
diff --git a/website/common/script/content/mystery-sets.js b/website/common/script/content/mystery-sets.js
index b5105b04be..33817c4360 100644
--- a/website/common/script/content/mystery-sets.js
+++ b/website/common/script/content/mystery-sets.js
@@ -218,6 +218,14 @@ let mysterySets = {
start: '2018-07-24',
end: '2018-08-02',
},
+ 201808: {
+ start: '2018-08-23',
+ end: '2018-09-02',
+ },
+ 201809: {
+ start: '2018-09-25',
+ end: '2018-10-02',
+ },
301404: {
start: '3014-03-24',
end: '3014-04-02',
diff --git a/website/common/script/content/quests.js b/website/common/script/content/quests.js
index 399f0a7f4e..2ca850a74b 100644
--- a/website/common/script/content/quests.js
+++ b/website/common/script/content/quests.js
@@ -3289,6 +3289,38 @@ let quests = {
unlock: t('questKangarooUnlockText'),
},
},
+ alligator: {
+ text: t('questAlligatorText'),
+ notes: t('questAlligatorNotes'),
+ completion: t('questAlligatorCompletion'),
+ value: 4,
+ category: 'pet',
+ boss: {
+ name: t('questAlligatorBoss'),
+ hp: 1100,
+ str: 2.5,
+ },
+ drop: {
+ items: [
+ {
+ type: 'eggs',
+ key: 'Alligator',
+ text: t('questAlligatorDropAlligatorEgg'),
+ }, {
+ type: 'eggs',
+ key: 'Alligator',
+ text: t('questAlligatorDropAlligatorEgg'),
+ }, {
+ type: 'eggs',
+ key: 'Alligator',
+ text: t('questAlligatorDropAlligatorEgg'),
+ },
+ ],
+ gp: 73,
+ exp: 725,
+ unlock: t('questAlligatorUnlockText'),
+ },
+ },
};
each(quests, (v, key) => {
diff --git a/website/common/script/content/shop-featuredItems.js b/website/common/script/content/shop-featuredItems.js
index 4c07f993a5..27028660fe 100644
--- a/website/common/script/content/shop-featuredItems.js
+++ b/website/common/script/content/shop-featuredItems.js
@@ -8,30 +8,30 @@ const featuredItems = {
path: 'armoire',
},
{
- type: 'food',
- path: 'food.Saddle',
+ type: 'premiumHatchingPotion',
+ path: 'premiumHatchingPotions.Ghost',
},
{
- type: 'food',
- path: 'food.Fish',
+ type: 'premiumHatchingPotion',
+ path: 'premiumHatchingPotions.Glow',
},
{
type: 'card',
- path: 'cardTypes.congrats',
+ path: 'cardTypes.getwell',
},
],
quests: [
{
type: 'quests',
- path: 'quests.seaserpent',
+ path: 'quests.alligator',
},
{
type: 'quests',
- path: 'quests.dilatoryDistress1',
+ path: 'quests.taskwoodsTerror1',
},
{
type: 'quests',
- path: 'quests.whale',
+ path: 'quests.kangaroo',
},
],
seasonal: '',
diff --git a/website/common/script/index.js b/website/common/script/index.js
index 57eaa890ca..9298468707 100644
--- a/website/common/script/index.js
+++ b/website/common/script/index.js
@@ -110,6 +110,9 @@ api.achievements = achievements;
import randomVal from './libs/randomVal';
api.randomVal = randomVal;
+import hasClass from './libs/hasClass';
+api.hasClass = hasClass;
+
import autoAllocate from './fns/autoAllocate';
import crit from './fns/crit';
import handleTwoHanded from './fns/handleTwoHanded';
@@ -152,8 +155,6 @@ import unlock from './ops/unlock';
import revive from './ops/revive';
import rebirth from './ops/rebirth';
import blockUser from './ops/blockUser';
-import clearPMs from './ops/clearPMs';
-import deletePM from './ops/deletePM';
import reroll from './ops/reroll';
import reset from './ops/reset';
import markPmsRead from './ops/markPMSRead';
@@ -182,8 +183,6 @@ api.ops = {
revive,
rebirth,
blockUser,
- clearPMs,
- deletePM,
reroll,
reset,
markPmsRead,
diff --git a/website/common/script/libs/achievements.js b/website/common/script/libs/achievements.js
index dc2355e3b2..0793c45ee6 100644
--- a/website/common/script/libs/achievements.js
+++ b/website/common/script/libs/achievements.js
@@ -316,4 +316,6 @@ achievs.getAchievementsForProfile = function getAchievementsForProfile (user, la
return result;
};
+achievs.getContribText = contribText;
+
module.exports = achievs;
diff --git a/website/common/script/libs/getItemInfo.js b/website/common/script/libs/getItemInfo.js
index bd65552af6..151ae0bb28 100644
--- a/website/common/script/libs/getItemInfo.js
+++ b/website/common/script/libs/getItemInfo.js
@@ -338,7 +338,7 @@ module.exports = function getItemInfo (user, type, item, officialPinnedItems, la
if (itemInfo) {
itemInfo.isSuggested = isItemSuggested(officialPinnedItems, itemInfo);
- itemInfo.pinned = isPinned(user, itemInfo);
+ itemInfo.pinned = isPinned(user, itemInfo, officialPinnedItems);
} else {
throw new BadRequest(i18n.t('wrongItemType', {type}, language));
}
diff --git a/website/common/script/libs/hasClass.js b/website/common/script/libs/hasClass.js
new file mode 100644
index 0000000000..f9eeabfd5a
--- /dev/null
+++ b/website/common/script/libs/hasClass.js
@@ -0,0 +1,8 @@
+// Check if user has Class system enabled
+module.exports = function hasClass (member) {
+ return (
+ member.stats.lvl >= 10 &&
+ !member.preferences.disableClasses &&
+ member.flags.classSelected
+ );
+};
diff --git a/website/common/script/libs/shops-seasonal.config.js b/website/common/script/libs/shops-seasonal.config.js
index 92db8b86c3..65a3bf448b 100644
--- a/website/common/script/libs/shops-seasonal.config.js
+++ b/website/common/script/libs/shops-seasonal.config.js
@@ -1,22 +1,29 @@
-// import { SEASONAL_SETS } from '../content/constants';
+import { SEASONAL_SETS } from '../content/constants';
module.exports = {
- opened: false,
+ opened: true,
- currentSeason: 'Closed',
+ currentSeason: 'Fall',
- dateRange: { start: '2018-06-19', end: '2018-07-31' },
+ dateRange: { start: '2018-09-20', end: '2018-10-31' },
availableSets: [
+ ...SEASONAL_SETS.fall,
],
- pinnedSets: {},
+ pinnedSets: {
+ wizard: 'fall2018CandymancerMageSet',
+ warrior: 'fall2018MinotaurWarriorSet',
+ rogue: 'fall2018AlterEgoSet',
+ healer: 'fall2018CarnivorousPlantSet',
+ },
availableSpells: [
+ 'spookySparkles',
],
availableQuests: [
],
- featuredSet: 'strappingSailorSet',
+ featuredSet: 'mummyMedicSet',
};
diff --git a/website/common/script/libs/shops.js b/website/common/script/libs/shops.js
index 68243c98ee..f781512e3b 100644
--- a/website/common/script/libs/shops.js
+++ b/website/common/script/libs/shops.js
@@ -104,6 +104,7 @@ function getClassName (classType, language) {
}
}
+// TODO Refactor the `.locked` logic
shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
let result = filter(items, ['pinType', 'marketGear']);
let availableGear = map(updateStore(user), (item) => getItemInfo(user, 'marketGear', item).path);
@@ -116,12 +117,6 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
gear.locked = true;
}
- // @TODO: I'm not sure what the logic for locking is supposed to be
- // But, I am pretty sure if we pin an armoire item, it needs to be unlocked
- if (gear.klass === 'armoire') {
- gear.locked = false;
- }
-
if (Boolean(gear.specialClass) && Boolean(gear.set)) {
let currentSet = gear.set === seasonalShopConfig.pinnedSets[gear.specialClass];
@@ -132,7 +127,6 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
gear.locked = !gear.canOwn(user);
}
-
let itemOwned = user.items.gear.owned[gear.key];
if (itemOwned === false && !availableGear.includes(gear.path)) {
@@ -140,6 +134,12 @@ shops.checkMarketGearLocked = function checkMarketGearLocked (user, items) {
}
gear.owned = itemOwned;
+
+ // @TODO: I'm not sure what the logic for locking is supposed to be
+ // But, I am pretty sure if we pin an armoire item, it needs to be unlocked
+ if (gear.klass === 'armoire') {
+ gear.locked = false;
+ }
}
};
diff --git a/website/common/script/ops/buy/abstractBuyOperation.js b/website/common/script/ops/buy/abstractBuyOperation.js
index 78256d21c3..85b9588f0a 100644
--- a/website/common/script/ops/buy/abstractBuyOperation.js
+++ b/website/common/script/ops/buy/abstractBuyOperation.js
@@ -38,10 +38,22 @@ export class AbstractBuyOperation {
* @param item
* @returns {String}
*/
- getIemKey (item) {
+ getItemKey (item) {
return item.key;
}
+ /**
+ * Returns the item type
+ * @param item
+ * @returns {String}
+ */
+ getItemType (item) {
+ if (!item.type)
+ throw new NotImplementedError('item doesn\'t have a type property');
+
+ return item.type;
+ }
+
/**
* Shortcut to get the translated string without passing `req.language`
* @param {String} key - translation key
@@ -141,8 +153,8 @@ export class AbstractGoldItemOperation extends AbstractBuyOperation {
analyticsData () {
return {
- itemKey: this.getIemKey(this.item),
- itemType: 'Market',
+ itemKey: this.getItemKey(this.item),
+ itemType: this.getItemType(this.item),
acquireMethod: 'Gold',
goldCost: this.getItemValue(this.item),
};
@@ -175,8 +187,8 @@ export class AbstractGemItemOperation extends AbstractBuyOperation {
analyticsData () {
return {
- itemKey: this.getIemKey(this.item),
- itemType: 'Market',
+ itemKey: this.getItemKey(this.item),
+ itemType: this.getItemType(this.item),
acquireMethod: 'Gems',
gemCost: this.getItemValue(this.item) * 4,
};
diff --git a/website/common/script/ops/buy/buyArmoire.js b/website/common/script/ops/buy/buyArmoire.js
index 4d091a2c12..82c7868e3a 100644
--- a/website/common/script/ops/buy/buyArmoire.js
+++ b/website/common/script/ops/buy/buyArmoire.js
@@ -135,10 +135,4 @@ export class BuyArmoireOperation extends AbstractGoldItemOperation {
},
};
}
-
- analyticsData () {
- let data = super.analyticsData();
- data.itemKey = 'Armoire';
- return data;
- }
}
diff --git a/website/common/script/ops/buy/buyGem.js b/website/common/script/ops/buy/buyGem.js
index 9655537d42..b2ea03046e 100644
--- a/website/common/script/ops/buy/buyGem.js
+++ b/website/common/script/ops/buy/buyGem.js
@@ -21,10 +21,14 @@ export class BuyGemOperation extends AbstractGoldItemOperation {
return planGemLimits.convRate;
}
- getIemKey () {
+ getItemKey () {
return 'gem';
}
+ getItemType () {
+ return 'gems';
+ }
+
extractAndValidateParams (user, req) {
let key = this.key = get(req, 'params.key');
if (!key) throw new BadRequest(this.i18n('missingKeyParam'));
@@ -72,10 +76,4 @@ export class BuyGemOperation extends AbstractGoldItemOperation {
analyticsLabel () {
return 'purchase gems';
}
-
- analyticsData () {
- let data = super.analyticsData();
- data.itemKey = 'gem';
- return data;
- }
}
diff --git a/website/common/script/ops/buy/buyHealthPotion.js b/website/common/script/ops/buy/buyHealthPotion.js
index cad055a97c..e3d6c1062a 100644
--- a/website/common/script/ops/buy/buyHealthPotion.js
+++ b/website/common/script/ops/buy/buyHealthPotion.js
@@ -46,10 +46,4 @@ export class BuyHealthPotionOperation extends AbstractGoldItemOperation {
message,
];
}
-
- analyticsData () {
- let data = super.analyticsData();
- data.itemKey = 'Potion';
- return data;
- }
}
diff --git a/website/common/script/ops/buy/buyQuest.js b/website/common/script/ops/buy/buyQuest.js
index acc0b88940..92e5e92dcf 100644
--- a/website/common/script/ops/buy/buyQuest.js
+++ b/website/common/script/ops/buy/buyQuest.js
@@ -33,6 +33,10 @@ export class BuyQuestWithGoldOperation extends AbstractGoldItemOperation {
return item.goldValue;
}
+ getItemType () {
+ return 'quest';
+ }
+
extractAndValidateParams (user, req) {
let key = this.key = get(req, 'params.key');
if (!key) throw new BadRequest(errorMessage('missingKeyParam'));
diff --git a/website/common/script/ops/buy/buyQuestGem.js b/website/common/script/ops/buy/buyQuestGem.js
index d3dae03502..90cf0190e8 100644
--- a/website/common/script/ops/buy/buyQuestGem.js
+++ b/website/common/script/ops/buy/buyQuestGem.js
@@ -26,6 +26,10 @@ export class BuyQuestWithGemOperation extends AbstractGemItemOperation {
return item.value / 4;
}
+ getItemType () {
+ return 'quest';
+ }
+
extractAndValidateParams (user, req) {
let key = this.key = get(req, 'params.key');
if (!key) throw new BadRequest(errorMessage('missingKeyParam'));
diff --git a/website/common/script/ops/buy/buySpell.js b/website/common/script/ops/buy/buySpell.js
index 2a26d0defb..46e73a5d81 100644
--- a/website/common/script/ops/buy/buySpell.js
+++ b/website/common/script/ops/buy/buySpell.js
@@ -18,6 +18,10 @@ export class BuySpellOperation extends AbstractGoldItemOperation {
return this.key;
}
+ getItemType () {
+ return 'spell';
+ }
+
multiplePurchaseAllowed () {
return true;
}
diff --git a/website/common/script/ops/buy/purchase.js b/website/common/script/ops/buy/purchase.js
index 4904b74fe3..bd07248590 100644
--- a/website/common/script/ops/buy/purchase.js
+++ b/website/common/script/ops/buy/purchase.js
@@ -107,7 +107,7 @@ module.exports = function purchase (user, req = {}, analytics) {
analytics.track('acquire item', {
uuid: user._id,
itemKey: key,
- itemType: 'Market',
+ itemType: type,
acquireMethod: 'Gems',
gemCost: price * 4,
quantityPurchased: quantity,
diff --git a/website/common/script/ops/clearPMs.js b/website/common/script/ops/clearPMs.js
deleted file mode 100644
index de9760b439..0000000000
--- a/website/common/script/ops/clearPMs.js
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = function clearPMs (user) {
- user.inbox.messages = {};
- if (user.markModified) user.markModified('inbox.messages');
- return [
- user.inbox.messages,
- ];
-};
diff --git a/website/common/script/ops/deletePM.js b/website/common/script/ops/deletePM.js
deleted file mode 100644
index e780c94274..0000000000
--- a/website/common/script/ops/deletePM.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import get from 'lodash/get';
-
-module.exports = function deletePM (user, req = {}) {
- delete user.inbox.messages[get(req, 'params.id')];
- if (user.markModified) user.markModified(`inbox.messages.${req.params.id}`);
- return [
- user.inbox.messages,
- ];
-};
diff --git a/website/common/script/ops/index.js b/website/common/script/ops/index.js
index dadecd6815..f9407fad67 100644
--- a/website/common/script/ops/index.js
+++ b/website/common/script/ops/index.js
@@ -14,8 +14,6 @@ import addTag from './addTag';
import sortTag from './sortTag';
import updateTag from './updateTag';
import deleteTag from './deleteTag';
-import clearPMs from './clearPMs';
-import deletePM from './deletePM';
import blockUser from './blockUser';
import feed from './feed';
import releasePets from './releasePets';
@@ -50,8 +48,6 @@ module.exports = {
sortTag,
updateTag,
deleteTag,
- clearPMs,
- deletePM,
blockUser,
feed,
releasePets,
diff --git a/website/common/script/ops/stats/allocate.js b/website/common/script/ops/stats/allocate.js
index d65b2e05cb..0db8c59732 100644
--- a/website/common/script/ops/stats/allocate.js
+++ b/website/common/script/ops/stats/allocate.js
@@ -8,6 +8,7 @@ import {
} from '../../libs/errors';
import i18n from '../../i18n';
import errorMessage from '../../libs/errorMessage';
+import hasClass from '../../libs/hasClass';
module.exports = function allocate (user, req = {}) {
let stat = get(req, 'query.stat', 'str');
@@ -16,6 +17,10 @@ module.exports = function allocate (user, req = {}) {
throw new BadRequest(errorMessage('invalidAttribute', {attr: stat}));
}
+ if (!hasClass(user)) {
+ throw new NotAuthorized(i18n.t('classNotSelected', req.language));
+ }
+
if (user.stats.points > 0) {
user.stats[stat]++;
user.stats.points--;
diff --git a/website/common/script/ops/stats/allocateBulk.js b/website/common/script/ops/stats/allocateBulk.js
index 7a68972d03..ad6e2aeedf 100644
--- a/website/common/script/ops/stats/allocateBulk.js
+++ b/website/common/script/ops/stats/allocateBulk.js
@@ -8,6 +8,7 @@ import {
} from '../../libs/errors';
import i18n from '../../i18n';
import errorMessage from '../../libs/errorMessage';
+import hasClass from '../../libs/hasClass';
module.exports = function allocateBulk (user, req = {}) {
const stats = get(req, 'body.stats');
@@ -21,6 +22,10 @@ module.exports = function allocateBulk (user, req = {}) {
throw new BadRequest(errorMessage('invalidAttribute', {attr: invalidStats.join(',')}));
}
+ if (!hasClass(user)) {
+ throw new NotAuthorized(i18n.t('classNotSelected', req.language));
+ }
+
if (user.stats.points <= 0) {
throw new NotAuthorized(i18n.t('notEnoughAttrPoints', req.language));
}
diff --git a/website/common/script/ops/unlock.js b/website/common/script/ops/unlock.js
index bbe4a79109..bbf59c7b2a 100644
--- a/website/common/script/ops/unlock.js
+++ b/website/common/script/ops/unlock.js
@@ -73,6 +73,8 @@ module.exports = function unlock (user, req = {}, analytics) {
if (path.indexOf('gear.') !== -1) {
// Using Object so path[1] won't create an array but an object {path: {1: value}}
setWith(user, pathPart, true, Object);
+ let itemName = pathPart.split('.').pop();
+ removeItemByPath(user, `gear.flat.${itemName}`);
}
// Using Object so path[1] won't create an array but an object {path: {1: value}}
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_apple_picking.png b/website/raw_sprites/spritesmith/backgrounds/background_apple_picking.png
new file mode 100644
index 0000000000..6f48b8d1c7
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_apple_picking.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_bayou.png b/website/raw_sprites/spritesmith/backgrounds/background_bayou.png
new file mode 100644
index 0000000000..5eaa37f5c7
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_bayou.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_cozy_barn.png b/website/raw_sprites/spritesmith/backgrounds/background_cozy_barn.png
new file mode 100644
index 0000000000..2c13b1568e
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_cozy_barn.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_creepy_castle.png b/website/raw_sprites/spritesmith/backgrounds/background_creepy_castle.png
new file mode 100644
index 0000000000..e96c4f8bdf
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_creepy_castle.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_dungeon.png b/website/raw_sprites/spritesmith/backgrounds/background_dungeon.png
new file mode 100644
index 0000000000..33dc848fbf
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_dungeon.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/background_giant_book.png b/website/raw_sprites/spritesmith/backgrounds/background_giant_book.png
new file mode 100644
index 0000000000..a6dd83d0e7
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/background_giant_book.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_apple_picking.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_apple_picking.png
new file mode 100644
index 0000000000..4122e672a8
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_apple_picking.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_bayou.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_bayou.png
new file mode 100644
index 0000000000..e73d7f60a6
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_bayou.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_cozy_barn.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_cozy_barn.png
new file mode 100644
index 0000000000..02a5afdec0
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_cozy_barn.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_creepy_castle.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_creepy_castle.png
new file mode 100644
index 0000000000..87ac02f867
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_creepy_castle.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_dungeon.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_dungeon.png
new file mode 100644
index 0000000000..3a03ba88dd
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_dungeon.png differ
diff --git a/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_giant_book.png b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_giant_book.png
new file mode 100644
index 0000000000..ed60881aeb
Binary files /dev/null and b/website/raw_sprites/spritesmith/backgrounds/icons/icon_background_giant_book.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_coverallsOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_coverallsOfBookbinding.png
new file mode 100644
index 0000000000..7cd47c9e8c
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_coverallsOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_robeOfSpades.png b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_robeOfSpades.png
new file mode 100644
index 0000000000..484c91a559
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/broad_armor_armoire_robeOfSpades.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/headAccessory_armoire_gogglesOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/headAccessory_armoire_gogglesOfBookbinding.png
new file mode 100644
index 0000000000..e395171eb1
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/headAccessory_armoire_gogglesOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/head_armoire_veilOfSpades.png b/website/raw_sprites/spritesmith/gear/armoire/head_armoire_veilOfSpades.png
new file mode 100644
index 0000000000..297c089fcc
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/head_armoire_veilOfSpades.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_unfinishedTome.png b/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_unfinishedTome.png
new file mode 100644
index 0000000000..016cf936f3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shield_armoire_unfinishedTome.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_coverallsOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_coverallsOfBookbinding.png
new file mode 100644
index 0000000000..6bfd8584ba
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_coverallsOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop_armor_armoire_piraticalPrincessGown.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_piraticalPrincessGown.png
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/armoire/shop_armor_armoire_piraticalPrincessGown.png
rename to website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_piraticalPrincessGown.png
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_robeOfSpades.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_robeOfSpades.png
new file mode 100644
index 0000000000..d8fb8461ac
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_armor_armoire_robeOfSpades.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_headAccessory_armoire_gogglesOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_headAccessory_armoire_gogglesOfBookbinding.png
new file mode 100644
index 0000000000..07af00a7e7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_headAccessory_armoire_gogglesOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop_head_armoire_piraticalPrincessHeaddress.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_head_armoire_piraticalPrincessHeaddress.png
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/armoire/shop_head_armoire_piraticalPrincessHeaddress.png
rename to website/raw_sprites/spritesmith/gear/armoire/shop/shop_head_armoire_piraticalPrincessHeaddress.png
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_head_armoire_veilOfSpades.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_head_armoire_veilOfSpades.png
new file mode 100644
index 0000000000..db6eb2b3b7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_head_armoire_veilOfSpades.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop_shield_armoire_piraticalSkullShield.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_piraticalSkullShield.png
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/armoire/shop_shield_armoire_piraticalSkullShield.png
rename to website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_piraticalSkullShield.png
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_unfinishedTome.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_unfinishedTome.png
new file mode 100644
index 0000000000..efaf888fb7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_shield_armoire_unfinishedTome.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_needleOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_needleOfBookbinding.png
new file mode 100644
index 0000000000..4248230b9b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_needleOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop_weapon_armoire_poisonedGoblet.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_poisonedGoblet.png
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/armoire/shop_weapon_armoire_poisonedGoblet.png
rename to website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_poisonedGoblet.png
diff --git a/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_spearOfSpades.png b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_spearOfSpades.png
new file mode 100644
index 0000000000..e02de61ae9
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/shop/shop_weapon_armoire_spearOfSpades.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_coverallsOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_coverallsOfBookbinding.png
new file mode 100644
index 0000000000..4a405dce2f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_coverallsOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_robeOfSpades.png b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_robeOfSpades.png
new file mode 100644
index 0000000000..75909e13a4
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/slim_armor_armoire_robeOfSpades.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_needleOfBookbinding.png b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_needleOfBookbinding.png
new file mode 100644
index 0000000000..c0726418af
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_needleOfBookbinding.png differ
diff --git a/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_spearOfSpades.png b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_spearOfSpades.png
new file mode 100644
index 0000000000..890c1058fa
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/armoire/weapon_armoire_spearOfSpades.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_bearTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_bearTail.png
new file mode 100644
index 0000000000..3890a77601
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_bearTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_cactusTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_cactusTail.png
new file mode 100644
index 0000000000..dcf01e079b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_cactusTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_foxTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_foxTail.png
new file mode 100644
index 0000000000..2c8cc5cb63
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_foxTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_lionTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_lionTail.png
new file mode 100644
index 0000000000..5997ff7624
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_lionTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_pandaTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_pandaTail.png
new file mode 100644
index 0000000000..90803059c8
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_pandaTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_pigTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_pigTail.png
new file mode 100644
index 0000000000..bc4d4582b1
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_pigTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_tigerTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_tigerTail.png
new file mode 100644
index 0000000000..6b954ef391
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_tigerTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/back_special_wolfTail.png b/website/raw_sprites/spritesmith/gear/back/back_special_wolfTail.png
new file mode 100644
index 0000000000..56706c0e4f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/back_special_wolfTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_bearTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_bearTail.png
new file mode 100644
index 0000000000..1db7571e28
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_bearTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_cactusTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_cactusTail.png
new file mode 100644
index 0000000000..698947fc9a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_cactusTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_foxTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_foxTail.png
new file mode 100644
index 0000000000..8a134938f4
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_foxTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_lionTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_lionTail.png
new file mode 100644
index 0000000000..8ff47e562e
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_lionTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pandaTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pandaTail.png
new file mode 100644
index 0000000000..f12461af54
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pandaTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pigTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pigTail.png
new file mode 100644
index 0000000000..6fcb8a6618
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_pigTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_tigerTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_tigerTail.png
new file mode 100644
index 0000000000..c7ea3f6b4c
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_tigerTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_wolfTail.png b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_wolfTail.png
new file mode 100644
index 0000000000..3486e595cb
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/icon/icon_back_special_wolfTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop_back_special_aetherCloak.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_aetherCloak.png
old mode 100755
new mode 100644
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/back/shop_back_special_aetherCloak.png
rename to website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_aetherCloak.png
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_bearTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_bearTail.png
new file mode 100644
index 0000000000..a8160b78ae
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_bearTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_cactusTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_cactusTail.png
new file mode 100644
index 0000000000..09abd9036a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_cactusTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_foxTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_foxTail.png
new file mode 100644
index 0000000000..de458c36d6
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_foxTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_lionTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_lionTail.png
new file mode 100644
index 0000000000..1efdd8f720
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_lionTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pandaTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pandaTail.png
new file mode 100644
index 0000000000..322816bec0
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pandaTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pigTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pigTail.png
new file mode 100644
index 0000000000..c983bd3a8a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_pigTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop_back_special_snowdriftVeil.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_snowdriftVeil.png
old mode 100755
new mode 100644
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/back/shop_back_special_snowdriftVeil.png
rename to website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_snowdriftVeil.png
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_tigerTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_tigerTail.png
new file mode 100644
index 0000000000..de05959b68
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_tigerTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/back/shop_back_special_turkeyTailBase.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_turkeyTailBase.png
similarity index 100%
rename from website/raw_sprites/spritesmith/gear/back/shop_back_special_turkeyTailBase.png
rename to website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_turkeyTailBase.png
diff --git a/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_wolfTail.png b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_wolfTail.png
new file mode 100644
index 0000000000..be9f26086b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/back/shop/shop_back_special_wolfTail.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Healer.png
new file mode 100644
index 0000000000..53731ba1c7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Mage.png
new file mode 100644
index 0000000000..b4dbd6b764
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Rogue.png
new file mode 100644
index 0000000000..d904924418
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Warrior.png
new file mode 100644
index 0000000000..daf7866b04
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/broad_armor_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Healer.png
new file mode 100644
index 0000000000..3907e94d35
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Mage.png
new file mode 100644
index 0000000000..acebc161b5
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Rogue.png
new file mode 100644
index 0000000000..bca414d73b
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Warrior.png
new file mode 100644
index 0000000000..45a8b9cb28
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/head_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Healer.png
new file mode 100644
index 0000000000..9e0e925004
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Rogue.png
new file mode 100644
index 0000000000..86691f7878
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Warrior.png
new file mode 100644
index 0000000000..dd74849cd2
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shield_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Healer.png
new file mode 100644
index 0000000000..37ca54bb16
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Mage.png
new file mode 100644
index 0000000000..918859e5b3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Rogue.png
new file mode 100644
index 0000000000..804f3a544e
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Warrior.png
new file mode 100644
index 0000000000..ed99372973
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_armor_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Healer.png
new file mode 100644
index 0000000000..753f0064bb
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Mage.png
new file mode 100644
index 0000000000..1c0ff72228
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Rogue.png
new file mode 100644
index 0000000000..96825aa18c
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Warrior.png
new file mode 100644
index 0000000000..c82eea88c7
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_head_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Healer.png
new file mode 100644
index 0000000000..0a16b12876
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Rogue.png
new file mode 100644
index 0000000000..5c0e2d2b1a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Warrior.png
new file mode 100644
index 0000000000..b37edc50f3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_shield_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Healer.png
new file mode 100644
index 0000000000..64eeb2e468
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Mage.png
new file mode 100644
index 0000000000..c1a1653052
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Rogue.png
new file mode 100644
index 0000000000..5daa0813bb
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Warrior.png
new file mode 100644
index 0000000000..df73e88fa6
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/shop/shop_weapon_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Healer.png
new file mode 100644
index 0000000000..54b76f24dc
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Mage.png
new file mode 100644
index 0000000000..bbf377ab1f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Rogue.png
new file mode 100644
index 0000000000..b3b085806f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Warrior.png
new file mode 100644
index 0000000000..9fafe6f8a3
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/slim_armor_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Healer.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Healer.png
new file mode 100644
index 0000000000..c93c786082
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Healer.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Mage.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Mage.png
new file mode 100644
index 0000000000..917bbe7d3f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Mage.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Rogue.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Rogue.png
new file mode 100644
index 0000000000..e84b60616f
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Rogue.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Warrior.png b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Warrior.png
new file mode 100644
index 0000000000..119a1cf489
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/fall/weapon_special_fall2018Warrior.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201808/broad_armor_mystery_201808.png b/website/raw_sprites/spritesmith/gear/events/mystery_201808/broad_armor_mystery_201808.png
new file mode 100644
index 0000000000..14f97fdf29
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201808/broad_armor_mystery_201808.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201808/head_mystery_201808.png b/website/raw_sprites/spritesmith/gear/events/mystery_201808/head_mystery_201808.png
new file mode 100644
index 0000000000..63ef41686d
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201808/head_mystery_201808.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_armor_mystery_201808.png b/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_armor_mystery_201808.png
new file mode 100644
index 0000000000..bc635b5882
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_armor_mystery_201808.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_head_mystery_201808.png b/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_head_mystery_201808.png
new file mode 100644
index 0000000000..3a3364acb8
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_head_mystery_201808.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_set_mystery_201808.png b/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_set_mystery_201808.png
new file mode 100644
index 0000000000..110d325503
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201808/shop_set_mystery_201808.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201808/slim_armor_mystery_201808.png b/website/raw_sprites/spritesmith/gear/events/mystery_201808/slim_armor_mystery_201808.png
new file mode 100644
index 0000000000..285a0388b8
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201808/slim_armor_mystery_201808.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/broad_armor_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/broad_armor_mystery_201809.png
new file mode 100644
index 0000000000..71eafe53f4
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/broad_armor_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/head_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/head_mystery_201809.png
new file mode 100644
index 0000000000..bd2a1bea6a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/head_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_armor_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_armor_mystery_201809.png
new file mode 100644
index 0000000000..0dcf8cc154
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_armor_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_head_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_head_mystery_201809.png
new file mode 100644
index 0000000000..19edca0204
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_head_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_set_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_set_mystery_201809.png
new file mode 100644
index 0000000000..5e3fd3926e
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/shop_set_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/gear/events/mystery_201809/slim_armor_mystery_201809.png b/website/raw_sprites/spritesmith/gear/events/mystery_201809/slim_armor_mystery_201809.png
new file mode 100644
index 0000000000..3126dffe9a
Binary files /dev/null and b/website/raw_sprites/spritesmith/gear/events/mystery_201809/slim_armor_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith/npcs/npc_bailey.png b/website/raw_sprites/spritesmith/npcs/npc_bailey.png
index d5940b986b..ea7bd68e40 100644
Binary files a/website/raw_sprites/spritesmith/npcs/npc_bailey.png and b/website/raw_sprites/spritesmith/npcs/npc_bailey.png differ
diff --git a/website/raw_sprites/spritesmith/npcs/npc_justin.png b/website/raw_sprites/spritesmith/npcs/npc_justin.png
index 08ba7025c2..d1973b48df 100644
Binary files a/website/raw_sprites/spritesmith/npcs/npc_justin.png and b/website/raw_sprites/spritesmith/npcs/npc_justin.png differ
diff --git a/website/raw_sprites/spritesmith/npcs/npc_matt.png b/website/raw_sprites/spritesmith/npcs/npc_matt.png
index 2531f1084b..1cd1006fd3 100644
Binary files a/website/raw_sprites/spritesmith/npcs/npc_matt.png and b/website/raw_sprites/spritesmith/npcs/npc_matt.png differ
diff --git a/website/raw_sprites/spritesmith/quests/bosses/quest_alligator.png b/website/raw_sprites/spritesmith/quests/bosses/quest_alligator.png
new file mode 100644
index 0000000000..ad0766592b
Binary files /dev/null and b/website/raw_sprites/spritesmith/quests/bosses/quest_alligator.png differ
diff --git a/website/raw_sprites/spritesmith/quests/scrolls/inventory_quest_scroll_alligator.png b/website/raw_sprites/spritesmith/quests/scrolls/inventory_quest_scroll_alligator.png
new file mode 100644
index 0000000000..04ab146e2a
Binary files /dev/null and b/website/raw_sprites/spritesmith/quests/scrolls/inventory_quest_scroll_alligator.png differ
diff --git a/website/raw_sprites/spritesmith/quests/scrolls/quest_bundle_forestFriends.png b/website/raw_sprites/spritesmith/quests/scrolls/quest_bundle_forestFriends.png
new file mode 100644
index 0000000000..2bfc50360e
Binary files /dev/null and b/website/raw_sprites/spritesmith/quests/scrolls/quest_bundle_forestFriends.png differ
diff --git a/website/raw_sprites/spritesmith/stable/eggs/Pet_Egg_Alligator.png b/website/raw_sprites/spritesmith/stable/eggs/Pet_Egg_Alligator.png
new file mode 100644
index 0000000000..21753999dd
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/eggs/Pet_Egg_Alligator.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Base.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Base.png
new file mode 100644
index 0000000000..e78edf6764
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Base.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-CottonCandyBlue.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-CottonCandyBlue.png
new file mode 100644
index 0000000000..886b70f0fe
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-CottonCandyBlue.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-CottonCandyPink.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-CottonCandyPink.png
new file mode 100644
index 0000000000..7b74eb9103
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-CottonCandyPink.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Desert.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Desert.png
new file mode 100644
index 0000000000..576dcc7cba
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Desert.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Golden.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Golden.png
new file mode 100644
index 0000000000..77f8b82049
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Golden.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Red.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Red.png
new file mode 100644
index 0000000000..c9fca956a4
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Red.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Shade.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Shade.png
new file mode 100644
index 0000000000..6d65c3b7f2
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Shade.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Skeleton.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Skeleton.png
new file mode 100644
index 0000000000..54f4f46278
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Skeleton.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-White.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-White.png
new file mode 100644
index 0000000000..35e01b937d
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-White.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Zombie.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Zombie.png
new file mode 100644
index 0000000000..8aa41493d1
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Alligator-Zombie.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Glow.png
new file mode 100644
index 0000000000..f90f7ad536
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Glow.png
new file mode 100644
index 0000000000..6655fcb125
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Glow.png
new file mode 100644
index 0000000000..cb277563fd
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Glow.png
new file mode 100644
index 0000000000..053c542a24
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Glow.png
new file mode 100644
index 0000000000..333ba32c89
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Glow.png
new file mode 100644
index 0000000000..59b42d7bf6
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Glow.png
new file mode 100644
index 0000000000..11703b0399
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Glow.png
new file mode 100644
index 0000000000..22eb334d99
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Glow.png
new file mode 100644
index 0000000000..2f7ea46f99
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/body/Mount_Body_Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Base.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Base.png
new file mode 100644
index 0000000000..3513c4f386
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Base.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-CottonCandyBlue.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-CottonCandyBlue.png
new file mode 100644
index 0000000000..79e9565498
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-CottonCandyBlue.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-CottonCandyPink.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-CottonCandyPink.png
new file mode 100644
index 0000000000..5f65c68211
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-CottonCandyPink.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Desert.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Desert.png
new file mode 100644
index 0000000000..b9ea35a081
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Desert.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Golden.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Golden.png
new file mode 100644
index 0000000000..b1dc34dfdc
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Golden.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Red.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Red.png
new file mode 100644
index 0000000000..0e85b95f9e
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Red.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Shade.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Shade.png
new file mode 100644
index 0000000000..ff84ae4dd3
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Shade.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Skeleton.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Skeleton.png
new file mode 100644
index 0000000000..cef2d6f450
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Skeleton.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-White.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-White.png
new file mode 100644
index 0000000000..e989816bad
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-White.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Zombie.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Zombie.png
new file mode 100644
index 0000000000..04ab8a6eda
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Alligator-Zombie.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Glow.png
new file mode 100644
index 0000000000..8558e62bab
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Glow.png
new file mode 100644
index 0000000000..057e5fb116
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Glow.png
new file mode 100644
index 0000000000..83bdfb956b
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Glow.png
new file mode 100644
index 0000000000..73012b1fd0
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Glow.png
new file mode 100644
index 0000000000..eba09c9fd9
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Glow.png
new file mode 100644
index 0000000000..d6f140f351
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Glow.png
new file mode 100644
index 0000000000..4083fd9fa2
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Glow.png
new file mode 100644
index 0000000000..aa592c694f
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Glow.png
new file mode 100644
index 0000000000..7bb694c832
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/head/Mount_Head_Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Base.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Base.png
new file mode 100644
index 0000000000..317c9d48fb
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Base.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-CottonCandyBlue.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-CottonCandyBlue.png
new file mode 100644
index 0000000000..f0e44c522a
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-CottonCandyBlue.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-CottonCandyPink.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-CottonCandyPink.png
new file mode 100644
index 0000000000..7fd81c5baf
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-CottonCandyPink.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Desert.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Desert.png
new file mode 100644
index 0000000000..4c06d0457a
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Desert.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Golden.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Golden.png
new file mode 100644
index 0000000000..4ddb2167c3
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Golden.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Red.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Red.png
new file mode 100644
index 0000000000..b0e775d8f8
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Red.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Shade.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Shade.png
new file mode 100644
index 0000000000..32e03eb45a
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Shade.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Skeleton.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Skeleton.png
new file mode 100644
index 0000000000..44dfeccf92
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Skeleton.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-White.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-White.png
new file mode 100644
index 0000000000..6d0f6ca39c
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-White.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Zombie.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Zombie.png
new file mode 100644
index 0000000000..4a90eb198a
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Alligator-Zombie.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Glow.png
new file mode 100644
index 0000000000..c38258455b
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Glow.png
new file mode 100644
index 0000000000..d3aae46692
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Glow.png
new file mode 100644
index 0000000000..13f399e495
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Glow.png
new file mode 100644
index 0000000000..9eefedd551
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Glow.png
new file mode 100644
index 0000000000..d793a2463f
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Glow.png
new file mode 100644
index 0000000000..50dcbc3d49
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Glow.png
new file mode 100644
index 0000000000..68aa53d13b
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Glow.png
new file mode 100644
index 0000000000..ad661940f6
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Glow.png
new file mode 100644
index 0000000000..94798fb87e
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/mounts/icon/Mount_Icon_Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Base.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Base.png
new file mode 100644
index 0000000000..e875943c39
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Base.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-CottonCandyBlue.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-CottonCandyBlue.png
new file mode 100644
index 0000000000..70197166da
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-CottonCandyBlue.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-CottonCandyPink.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-CottonCandyPink.png
new file mode 100644
index 0000000000..f27bdcda6c
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-CottonCandyPink.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Desert.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Desert.png
new file mode 100644
index 0000000000..6534b15950
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Desert.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Golden.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Golden.png
new file mode 100644
index 0000000000..fe3e32c8f0
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Golden.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Red.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Red.png
new file mode 100644
index 0000000000..99364c7e60
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Red.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Shade.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Shade.png
new file mode 100644
index 0000000000..52e8fa5625
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Shade.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Skeleton.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Skeleton.png
new file mode 100644
index 0000000000..f52c514b12
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Skeleton.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-White.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-White.png
new file mode 100644
index 0000000000..ae928786d1
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-White.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Zombie.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Zombie.png
new file mode 100644
index 0000000000..e14052082f
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Alligator-Zombie.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-Glow.png
new file mode 100644
index 0000000000..0db3468f44
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-BearCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-Glow.png
new file mode 100644
index 0000000000..82fa389e1f
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Cactus-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-Glow.png
new file mode 100644
index 0000000000..2ccc314e9d
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Dragon-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-Glow.png
new file mode 100644
index 0000000000..bcc7708ac0
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-FlyingPig-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-Glow.png
new file mode 100644
index 0000000000..f1377dd972
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Fox-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-Glow.png
new file mode 100644
index 0000000000..e5f14dceb5
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-LionCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-Glow.png
new file mode 100644
index 0000000000..614905fc72
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-PandaCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-Glow.png
new file mode 100644
index 0000000000..f9fd18fbe5
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-TigerCub-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-Glow.png b/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-Glow.png
new file mode 100644
index 0000000000..a24569e092
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/pets/Pet-Wolf-Glow.png differ
diff --git a/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_Glow.png b/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_Glow.png
new file mode 100644
index 0000000000..ac2eab5080
Binary files /dev/null and b/website/raw_sprites/spritesmith/stable/potions/Pet_HatchingPotion_Glow.png differ
diff --git a/website/raw_sprites/spritesmith_large/achievement-costumeContest6x.png b/website/raw_sprites/spritesmith_large/achievement-costumeContest6x.png
new file mode 100644
index 0000000000..f3794e8c84
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/achievement-costumeContest6x.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_alligator.png b/website/raw_sprites/spritesmith_large/promo_alligator.png
new file mode 100644
index 0000000000..8cd98e107b
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_alligator.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_animal_tails.png b/website/raw_sprites/spritesmith_large/promo_animal_tails.png
new file mode 100644
index 0000000000..d3ac373513
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_animal_tails.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201808.png b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201808.png
deleted file mode 100644
index 9b5a824a01..0000000000
Binary files a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201808.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201810.png b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201810.png
new file mode 100644
index 0000000000..ee5749aae6
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_armoire_backgrounds_201810.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_fall_avatar_customizations.png b/website/raw_sprites/spritesmith_large/promo_fall_avatar_customizations.png
new file mode 100644
index 0000000000..8dbe955467
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_fall_avatar_customizations.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_fall_festival_2017.png b/website/raw_sprites/spritesmith_large/promo_fall_festival_2017.png
new file mode 100644
index 0000000000..44ccccc8cc
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_fall_festival_2017.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_fall_festival_2018.png b/website/raw_sprites/spritesmith_large/promo_fall_festival_2018.png
new file mode 100644
index 0000000000..641d468138
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_fall_festival_2018.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_forest_friends_bundle.png b/website/raw_sprites/spritesmith_large/promo_forest_friends_bundle.png
new file mode 100644
index 0000000000..072193d723
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_forest_friends_bundle.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_ghost_potions.png b/website/raw_sprites/spritesmith_large/promo_ghost_potions.png
new file mode 100644
index 0000000000..a985b78953
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_ghost_potions.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_kangaroo.png b/website/raw_sprites/spritesmith_large/promo_kangaroo.png
deleted file mode 100644
index 1d3dcb6b0f..0000000000
Binary files a/website/raw_sprites/spritesmith_large/promo_kangaroo.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/promo_mystery_201807.png b/website/raw_sprites/spritesmith_large/promo_mystery_201807.png
deleted file mode 100644
index 8ce6b07fd3..0000000000
Binary files a/website/raw_sprites/spritesmith_large/promo_mystery_201807.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/promo_mystery_201809.png b/website/raw_sprites/spritesmith_large/promo_mystery_201809.png
new file mode 100644
index 0000000000..50178e9eac
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_mystery_201809.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png b/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png
new file mode 100644
index 0000000000..cfbcc5bddd
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_seasonal_shop.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_spooky_sparkles.png b/website/raw_sprites/spritesmith_large/promo_spooky_sparkles.png
new file mode 100644
index 0000000000..514abddd90
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/promo_spooky_sparkles.png differ
diff --git a/website/raw_sprites/spritesmith_large/promo_unconventional_armor.png b/website/raw_sprites/spritesmith_large/promo_unconventional_armor.png
deleted file mode 100644
index 3343520c9a..0000000000
Binary files a/website/raw_sprites/spritesmith_large/promo_unconventional_armor.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/scene_nametag.png b/website/raw_sprites/spritesmith_large/scene_nametag.png
new file mode 100644
index 0000000000..3d7e4ab9b5
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/scene_nametag.png differ
diff --git a/website/raw_sprites/spritesmith_large/scene_tavern.png b/website/raw_sprites/spritesmith_large/scene_tavern.png
deleted file mode 100644
index 63078b9e28..0000000000
Binary files a/website/raw_sprites/spritesmith_large/scene_tavern.png and /dev/null differ
diff --git a/website/raw_sprites/spritesmith_large/scene_tools.png b/website/raw_sprites/spritesmith_large/scene_tools.png
new file mode 100644
index 0000000000..fc30edbb05
Binary files /dev/null and b/website/raw_sprites/spritesmith_large/scene_tools.png differ
diff --git a/website/server/controllers/api-v3/auth.js b/website/server/controllers/api-v3/auth.js
index 760a9f584b..a21464f21a 100644
--- a/website/server/controllers/api-v3/auth.js
+++ b/website/server/controllers/api-v3/auth.js
@@ -1,83 +1,35 @@
import validator from 'validator';
import moment from 'moment';
-import passport from 'passport';
import nconf from 'nconf';
+
import {
authWithHeaders,
} from '../../middlewares/auth';
+import { model as User } from '../../models/user';
+import common from '../../../common';
import {
NotAuthorized,
BadRequest,
NotFound,
} from '../../libs/errors';
import * as passwordUtils from '../../libs/password';
-import logger from '../../libs/logger';
-import { model as User } from '../../models/user';
-import { model as Group } from '../../models/group';
-import { model as EmailUnsubscription } from '../../models/emailUnsubscription';
-import { sendTxn as sendTxnEmail } from '../../libs/email';
-import { decrypt, encrypt } from '../../libs/encryption';
import { send as sendEmail } from '../../libs/email';
import pusher from '../../libs/pusher';
-import common from '../../../common';
import { validatePasswordResetCodeAndFindUser, convertToBcrypt} from '../../libs/password';
+import { encrypt } from '../../libs/encryption';
+import {
+ loginRes,
+ hasBackupAuth,
+ hasLocalAuth,
+ loginSocial,
+ registerLocal,
+} from '../../libs/auth';
const BASE_URL = nconf.get('BASE_URL');
const TECH_ASSISTANCE_EMAIL = nconf.get('EMAILS:TECH_ASSISTANCE_EMAIL');
-const COMMUNITY_MANAGER_EMAIL = nconf.get('EMAILS:COMMUNITY_MANAGER_EMAIL');
-const USERNAME_LENGTH_MIN = 1;
-const USERNAME_LENGTH_MAX = 20;
let api = {};
-// When the user signed up after having been invited to a group, invite them automatically to the group
-async function _handleGroupInvitation (user, invite) {
- // wrapping the code in a try because we don't want it to prevent the user from signing up
- // that's why errors are not translated
- try {
- let {sentAt, id: groupId, inviter} = JSON.parse(decrypt(invite));
-
- // check that the invite has not expired (after 7 days)
- if (sentAt && moment().subtract(7, 'days').isAfter(sentAt)) {
- let err = new Error('Invite expired.');
- err.privateData = invite;
- throw err;
- }
-
- let group = await Group.getGroup({user, optionalMembership: true, groupId, fields: 'name type'});
- if (!group) throw new NotFound('Group not found.');
-
- if (group.type === 'party') {
- user.invitations.party = {id: group._id, name: group.name, inviter};
- user.invitations.parties.push(user.invitations.party);
- } else {
- user.invitations.guilds.push({id: group._id, name: group.name, inviter});
- }
-
- // award the inviter with 'Invited a Friend' achievement
- inviter = await User.findById(inviter);
- if (!inviter.achievements.invitedFriend) {
- inviter.achievements.invitedFriend = true;
- inviter.addNotification('INVITED_FRIEND_ACHIEVEMENT');
- await inviter.save();
- }
- } catch (err) {
- logger.error(err);
- }
-}
-
-function hasBackupAuth (user, networkToRemove) {
- if (user.auth.local.username) {
- return true;
- }
-
- let hasAlternateNetwork = common.constants.SUPPORTED_SOCIAL_NETWORKS.find((network) => {
- return network.key !== networkToRemove && user.auth[network.key].id;
- });
-
- return hasAlternateNetwork;
-}
-
/**
* @api {post} /api/v3/user/auth/local/register Register
* @apiDescription Register a new user with email, login name, and password or attach local auth to a social user
@@ -98,123 +50,10 @@ api.registerLocal = {
})],
url: '/user/auth/local/register',
async handler (req, res) {
- let existingUser = res.locals.user; // If adding local auth to social user
-
- req.checkBody({
- username: {
- notEmpty: true,
- errorMessage: res.t('missingUsername'),
- // TODO use the constants in the error message above
- isLength: {options: {min: USERNAME_LENGTH_MIN, max: USERNAME_LENGTH_MAX}, errorMessage: res.t('usernameWrongLength')},
- matches: {options: /^[-_a-zA-Z0-9]+$/, errorMessage: res.t('usernameBadCharacters')},
- },
- email: {
- notEmpty: true,
- errorMessage: res.t('missingEmail'),
- isEmail: {errorMessage: res.t('notAnEmail')},
- },
- password: {
- notEmpty: true,
- errorMessage: res.t('missingPassword'),
- equals: {options: [req.body.confirmPassword], errorMessage: res.t('passwordConfirmationMatch')},
- },
- });
-
- let validationErrors = req.validationErrors();
- if (validationErrors) throw validationErrors;
-
- let { email, username, password } = req.body;
-
- // Get the lowercase version of username to check that we do not have duplicates
- // So we can search for it in the database and then reject the choosen username if 1 or more results are found
- email = email.toLowerCase();
- username = username.trim();
- let lowerCaseUsername = username.toLowerCase();
-
- // Search for duplicates using lowercase version of username
- let user = await User.findOne({$or: [
- {'auth.local.email': email},
- {'auth.local.lowerCaseUsername': lowerCaseUsername},
- ]}, {'auth.local': 1}).exec();
-
- if (user) {
- if (email === user.auth.local.email) throw new NotAuthorized(res.t('emailTaken'));
- // Check that the lowercase username isn't already used
- if (lowerCaseUsername === user.auth.local.lowerCaseUsername) throw new NotAuthorized(res.t('usernameTaken'));
- }
-
- let hashed_password = await passwordUtils.bcryptHash(password); // eslint-disable-line camelcase
- let newUser = {
- auth: {
- local: {
- username,
- lowerCaseUsername,
- email,
- hashed_password, // eslint-disable-line camelcase,
- passwordHashMethod: 'bcrypt',
- },
- },
- preferences: {
- language: req.language,
- },
- };
-
- if (existingUser) {
- let hasSocialAuth = common.constants.SUPPORTED_SOCIAL_NETWORKS.find(network => {
- if (existingUser.auth.hasOwnProperty(network.key)) {
- return existingUser.auth[network.key].id;
- }
- });
- if (!hasSocialAuth) throw new NotAuthorized(res.t('onlySocialAttachLocal'));
- existingUser.auth.local = newUser.auth.local;
- newUser = existingUser;
- } else {
- newUser = new User(newUser);
- newUser.registeredThrough = req.headers['x-client']; // Not saved, used to create the correct tasks based on the device used
- }
-
- // we check for partyInvite for backward compatibility
- if (req.query.groupInvite || req.query.partyInvite) {
- await _handleGroupInvitation(newUser, req.query.groupInvite || req.query.partyInvite);
- }
-
- let savedUser = await newUser.save();
-
- if (existingUser) {
- res.respond(200, savedUser.toJSON().auth.local); // We convert to toJSON to hide private fields
- } else {
- let userJSON = savedUser.toJSON();
- userJSON.newUser = true;
- res.respond(201, userJSON);
- }
-
- // Clean previous email preferences and send welcome email
- EmailUnsubscription
- .remove({email: savedUser.auth.local.email})
- .then(() => {
- if (!existingUser) sendTxnEmail(savedUser, 'welcome');
- });
-
- if (!existingUser) {
- res.analytics.track('register', {
- category: 'acquisition',
- type: 'local',
- gaLabel: 'local',
- uuid: savedUser._id,
- headers: req.headers,
- user: savedUser,
- });
- }
-
- return null;
+ await registerLocal(req, res, { isV3: true });
},
};
-function _loginRes (user, req, res) {
- if (user.auth.blocked) throw new NotAuthorized(res.t('accountSuspended', {communityManagerEmail: COMMUNITY_MANAGER_EMAIL, userId: user._id}));
- return res.respond(200, {id: user._id, apiToken: user.apiToken, newUser: user.newUser || false});
-}
-
/**
* @api {post} /api/v3/user/auth/local/login Login
* @apiDescription Login a user with email / username and password
@@ -286,101 +125,19 @@ api.loginLocal = {
headers: req.headers,
});
- return _loginRes(user, ...arguments);
+ return loginRes(user, ...arguments);
},
};
-function _passportProfile (network, accessToken) {
- return new Promise((resolve, reject) => {
- passport._strategies[network].userProfile(accessToken, (err, profile) => {
- if (err) {
- reject(err);
- } else {
- resolve(profile);
- }
- });
- });
-}
-
// Called as a callback by Facebook (or other social providers). Internal route
api.loginSocial = {
method: 'POST',
middlewares: [authWithHeaders({
optional: true,
})],
- url: '/user/auth/social', // this isn't the most appropriate url but must be the same as v2
+ url: '/user/auth/social',
async handler (req, res) {
- let existingUser = res.locals.user;
- let accessToken = req.body.authResponse.access_token;
- let network = req.body.network;
-
- let isSupportedNetwork = common.constants.SUPPORTED_SOCIAL_NETWORKS.find(supportedNetwork => {
- return supportedNetwork.key === network;
- });
- if (!isSupportedNetwork) throw new BadRequest(res.t('unsupportedNetwork'));
-
- let profile = await _passportProfile(network, accessToken);
-
- let user = await User.findOne({
- [`auth.${network}.id`]: profile.id,
- }, {_id: 1, apiToken: 1, auth: 1}).exec();
-
- // User already signed up
- if (user) {
- _loginRes(user, ...arguments);
- } else { // Create new user
- user = {
- auth: {
- [network]: {
- id: profile.id,
- emails: profile.emails,
- },
- },
- profile: {
- name: profile.displayName || profile.name || profile.username,
- },
- preferences: {
- language: req.language,
- },
- };
- if (existingUser) {
- existingUser.auth[network] = user.auth[network];
- user = existingUser;
- } else {
- user = new User(user);
- user.registeredThrough = req.headers['x-client']; // Not saved, used to create the correct tasks based on the device used
- }
-
- let savedUser = await user.save();
-
- if (!existingUser) {
- user.newUser = true;
- }
- _loginRes(user, ...arguments);
-
- // Clean previous email preferences
- if (savedUser.auth[network].emails && savedUser.auth[network].emails[0] && savedUser.auth[network].emails[0].value) {
- EmailUnsubscription
- .remove({email: savedUser.auth[network].emails[0].value.toLowerCase()})
- .exec()
- .then(() => {
- if (!existingUser) sendTxnEmail(savedUser, 'welcome');
- }); // eslint-disable-line max-nested-callbacks
- }
-
- if (!existingUser) {
- res.analytics.track('register', {
- category: 'acquisition',
- type: network,
- gaLabel: network,
- uuid: savedUser._id,
- headers: req.headers,
- user: savedUser,
- });
- }
-
- return null;
- }
+ return await loginSocial(req, res);
},
};
@@ -398,9 +155,7 @@ api.loginSocial = {
*/
api.pusherAuth = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/pusher',
async handler (req, res) {
let user = res.locals.user;
@@ -468,9 +223,7 @@ api.pusherAuth = {
**/
api.updateUsername = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/update-username',
async handler (req, res) {
let user = res.locals.user;
@@ -487,7 +240,7 @@ api.updateUsername = {
let validationErrors = req.validationErrors();
if (validationErrors) throw validationErrors;
- if (!user.auth.local.username) throw new BadRequest(res.t('userHasNoLocalRegistration'));
+ if (!hasLocalAuth(user)) throw new BadRequest(res.t('userHasNoLocalRegistration'));
let password = req.body.password;
let isValidPassword = await passwordUtils.compare(user, password);
@@ -524,9 +277,7 @@ api.updateUsername = {
**/
api.updatePassword = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/update-password',
async handler (req, res) {
let user = res.locals.user;
@@ -636,9 +387,7 @@ api.resetPassword = {
*/
api.updateEmail = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/auth/update-email',
async handler (req, res) {
let user = res.locals.user;
@@ -725,9 +474,7 @@ api.resetPasswordSetNewOne = {
api.deleteSocial = {
method: 'DELETE',
url: '/user/auth/social/:network',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let network = req.params.network;
diff --git a/website/server/controllers/api-v3/challenges.js b/website/server/controllers/api-v3/challenges.js
index 083dd926e9..6405eb59ad 100644
--- a/website/server/controllers/api-v3/challenges.js
+++ b/website/server/controllers/api-v3/challenges.js
@@ -184,9 +184,7 @@ let api = {};
api.createChallenge = {
method: 'POST',
url: '/challenges',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -235,9 +233,7 @@ api.createChallenge = {
api.joinChallenge = {
method: 'POST',
url: '/challenges/:challengeId/join',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -251,7 +247,7 @@ api.joinChallenge = {
if (challenge.isMember(user)) throw new NotAuthorized(res.t('userAlreadyInChallenge'));
let group = await Group.getGroup({user, groupId: challenge.group, fields: basicGroupFields, optionalMembership: true});
- if (!group || !challenge.hasAccess(user, group)) throw new NotFound(res.t('challengeNotFound'));
+ if (!group || !challenge.canJoin(user, group)) throw new NotFound(res.t('challengeNotFound'));
challenge.memberCount += 1;
@@ -294,9 +290,7 @@ api.joinChallenge = {
api.leaveChallenge = {
method: 'POST',
url: '/challenges/:challengeId/leave',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let keep = req.body.keep === 'remove-all' ? 'remove-all' : 'keep-all';
@@ -329,7 +323,7 @@ api.leaveChallenge = {
};
/**
- * @api {get} /api/v3/challenges/user Get challenges for a user.
+ * @api {get} /api/v3/challenges/user Get challenges for a user
* @apiName GetUserChallenges
* @apiGroup Challenge
* @apiDescription Get challenges the user has access to. Includes public challenges, challenges belonging to the user's group, and challenges the user has already joined.
@@ -345,9 +339,7 @@ api.leaveChallenge = {
api.getUserChallenges = {
method: 'GET',
url: '/challenges/user',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const CHALLENGES_PER_PAGE = 10;
const page = req.query.page;
@@ -508,9 +500,7 @@ api.getGroupChallenges = {
api.getChallenge = {
method: 'GET',
url: '/challenges/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
@@ -640,7 +630,7 @@ api.exportChallengeCsv = {
};
/**
- * @api {put} /api/v3/challenges/:challengeId Update the name, description, or leader of a challenge.
+ * @api {put} /api/v3/challenges/:challengeId Update the name, description, or leader of a challenge
*
* @apiName UpdateChallenge
* @apiGroup Challenge
@@ -664,9 +654,7 @@ api.exportChallengeCsv = {
api.updateChallenge = {
method: 'PUT',
url: '/challenges/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
@@ -708,9 +696,7 @@ api.updateChallenge = {
api.deleteChallenge = {
method: 'DELETE',
url: '/challenges/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -755,9 +741,7 @@ api.deleteChallenge = {
api.selectChallengeWinner = {
method: 'POST',
url: '/challenges/:challengeId/selectWinner/:winnerId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -806,9 +790,7 @@ api.selectChallengeWinner = {
api.cloneChallenge = {
method: 'POST',
url: '/challenges/:challengeId/clone',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/chat.js b/website/server/controllers/api-v3/chat.js
index f1b2b7a9cd..b5cf41d489 100644
--- a/website/server/controllers/api-v3/chat.js
+++ b/website/server/controllers/api-v3/chat.js
@@ -1,7 +1,7 @@
import { authWithHeaders } from '../../middlewares/auth';
import { model as Group } from '../../models/group';
import { model as User } from '../../models/user';
-import { model as Chat } from '../../models/chat';
+import { chatModel as Chat } from '../../models/message';
import {
BadRequest,
NotFound,
@@ -62,9 +62,7 @@ function textContainsBannedSlur (message) {
api.getChat = {
method: 'GET',
url: '/groups/:groupId/chat',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -103,9 +101,7 @@ function getBannedWordsFromText (message) {
api.postChat = {
method: 'POST',
url: '/groups/:groupId/chat',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -227,9 +223,7 @@ api.postChat = {
api.likeChat = {
method: 'POST',
url: '/groups/:groupId/chat/:chatId/like',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -286,9 +280,7 @@ api.likeChat = {
api.flagChat = {
method: 'POST',
url: '/groups/:groupId/chat/:chatId/flag',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const chatReporter = chatReporterFactory('Group', req, res);
const message = await chatReporter.flag();
@@ -317,9 +309,7 @@ api.flagChat = {
api.clearChatFlags = {
method: 'Post',
url: '/groups/:groupId/chat/:chatId/clearflags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -389,9 +379,7 @@ api.clearChatFlags = {
api.seenChat = {
method: 'POST',
url: '/groups/:groupId/chat/seen',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
@@ -457,9 +445,7 @@ api.seenChat = {
api.deleteChat = {
method: 'DELETE',
url: '/groups/:groupId/chat/:chatId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
diff --git a/website/server/controllers/api-v3/coupon.js b/website/server/controllers/api-v3/coupon.js
index f18644306e..7acc406a44 100644
--- a/website/server/controllers/api-v3/coupon.js
+++ b/website/server/controllers/api-v3/coupon.js
@@ -4,10 +4,11 @@ import {
authWithSession,
} from '../../middlewares/auth';
import { ensureSudo } from '../../middlewares/ensureAccessRight';
-import { model as Coupon } from '../../models/coupon';
import _ from 'lodash';
+import * as couponsLib from '../../libs/coupons';
import couponCode from 'coupon-code';
import apiError from '../../libs/apiError';
+import { model as Coupon } from '../../models/coupon';
let api = {};
@@ -68,9 +69,7 @@ api.getCoupons = {
api.generateCoupons = {
method: 'POST',
url: '/coupons/generate/:event',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- }), ensureSudo],
+ middlewares: [authWithHeaders(), ensureSudo],
async handler (req, res) {
req.checkParams('event', apiError('eventRequired')).notEmpty();
req.checkQuery('count', apiError('countRequired')).notEmpty().isNumeric();
@@ -83,6 +82,8 @@ api.generateCoupons = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/coupons/enter/:code Redeem a coupon code
* @apiName RedeemCouponCode
@@ -95,19 +96,12 @@ api.generateCoupons = {
api.enterCouponCode = {
method: 'POST',
url: '/coupons/enter/:code',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
- let user = res.locals.user;
-
- req.checkParams('code', res.t('couponCodeRequired')).notEmpty();
-
- let validationErrors = req.validationErrors();
- if (validationErrors) throw validationErrors;
-
- await Coupon.apply(user, req, req.params.code);
- res.respond(200, user);
+ const user = res.locals.user;
+ await couponsLib.enterCode(req, res, user);
+ const userToJSON = await user.toJSONWithInbox();
+ res.respond(200, userToJSON);
},
};
@@ -125,7 +119,6 @@ api.validateCoupon = {
url: '/coupons/validate/:code',
middlewares: [authWithHeaders({
optional: true,
- userFieldsToExclude: ['inbox'],
})],
async handler (req, res) {
req.checkParams('code', res.t('couponCodeRequired')).notEmpty();
diff --git a/website/server/controllers/api-v3/groups.js b/website/server/controllers/api-v3/groups.js
index 16d586a5ca..73d41e2957 100644
--- a/website/server/controllers/api-v3/groups.js
+++ b/website/server/controllers/api-v3/groups.js
@@ -109,9 +109,7 @@ let api = {};
api.createGroup = {
method: 'POST',
url: '/groups',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let group = new Group(Group.sanitize(req.body));
@@ -182,9 +180,7 @@ api.createGroup = {
api.createGroupPlan = {
method: 'POST',
url: '/groups/create-plan',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let group = new Group(Group.sanitize(req.body.groupToCreate));
@@ -293,9 +289,7 @@ api.createGroupPlan = {
api.getGroups = {
method: 'GET',
url: '/groups',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -443,9 +437,7 @@ api.getGroup = {
api.updateGroup = {
method: 'PUT',
url: '/groups/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -508,9 +500,7 @@ api.updateGroup = {
api.joinGroup = {
method: 'POST',
url: '/groups/:groupId/join',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let inviter;
@@ -590,11 +580,6 @@ api.joinGroup = {
// @TODO: Review the need for this and if still needed, don't base this on memberCount
if (!group.hasNotCancelled() && group.memberCount === 0) group.leader = user._id; // If new user is only member -> set as leader
- if (group.hasNotCancelled()) {
- await payments.addSubToGroupUser(user, group);
- await group.updateGroupPlan();
- }
-
group.memberCount += 1;
let promises = [group.save(), user.save()];
@@ -638,6 +623,11 @@ api.joinGroup = {
promises = await Promise.all(promises);
+ if (group.hasNotCancelled()) {
+ await payments.addSubToGroupUser(user, group);
+ await group.updateGroupPlan();
+ }
+
let response = await Group.toJSONCleanChat(promises[0], user);
let leader = await User.findById(response.leader).select(nameFields).exec();
if (leader) {
@@ -682,9 +672,7 @@ api.joinGroup = {
api.rejectGroupInvite = {
method: 'POST',
url: '/groups/:groupId/reject-invite',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -759,9 +747,7 @@ function _removeMessagesFromMember (member, groupId) {
api.leaveGroup = {
method: 'POST',
url: '/groups/:groupId/leave',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty();
@@ -790,7 +776,6 @@ api.leaveGroup = {
}
await group.leave(user, req.query.keep, req.body.keepChallenges);
- if (group.hasNotCancelled()) await group.updateGroupPlan(true);
_removeMessagesFromMember(user, group._id);
await user.save();
@@ -804,6 +789,7 @@ api.leaveGroup = {
await payments.cancelGroupSubscriptionForUser(user, group);
}
+ if (group.hasNotCancelled()) await group.updateGroupPlan(true);
res.respond(200, {});
},
};
@@ -848,9 +834,7 @@ function _sendMessageToRemoved (group, removedUser, message, isInGroup) {
api.removeGroupMember = {
method: 'POST',
url: '/groups/:groupId/removeMember/:memberId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -892,10 +876,6 @@ api.removeGroupMember = {
if (isInGroup) {
group.memberCount -= 1;
- if (group.hasNotCancelled()) {
- await group.updateGroupPlan(true);
- await payments.cancelGroupSubscriptionForUser(member, group, true);
- }
if (group.quest && group.quest.leader === member._id) {
group.quest.key = undefined;
@@ -944,6 +924,12 @@ api.removeGroupMember = {
member.save(),
group.save(),
]);
+
+ if (isInGroup && group.hasNotCancelled()) {
+ await group.updateGroupPlan(true);
+ await payments.cancelGroupSubscriptionForUser(member, group, true);
+ }
+
res.respond(200, {});
},
};
@@ -1174,7 +1160,7 @@ async function _inviteByEmail (invite, group, inviter, req, res) {
api.inviteToGroup = {
method: 'POST',
url: '/groups/:groupId/invite',
- middlewares: [authWithHeaders({})],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1213,6 +1199,16 @@ api.inviteToGroup = {
results.push(...emailResults);
}
+ let analyticsObject = {
+ uuid: user._id,
+ hitType: 'event',
+ category: 'behavior',
+ groupType: group.type,
+ headers: req.headers,
+ };
+
+ res.analytics.track('group invite', analyticsObject);
+
res.respond(200, results);
},
};
@@ -1237,9 +1233,7 @@ api.inviteToGroup = {
api.addGroupManager = {
method: 'POST',
url: '/groups/:groupId/add-manager',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let managerId = req.body.managerId;
@@ -1288,9 +1282,7 @@ api.addGroupManager = {
api.removeGroupManager = {
method: 'POST',
url: '/groups/:groupId/remove-manager',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let managerId = req.body.managerId;
@@ -1343,9 +1335,7 @@ api.removeGroupManager = {
api.getGroupPlans = {
method: 'GET',
url: '/group-plans',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/hall.js b/website/server/controllers/api-v3/hall.js
index d009d536b6..21dfdadbb0 100644
--- a/website/server/controllers/api-v3/hall.js
+++ b/website/server/controllers/api-v3/hall.js
@@ -61,9 +61,7 @@ let api = {};
api.getPatrons = {
method: 'GET',
url: '/hall/patrons',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkQuery('page').optional().isInt({min: 0}, apiError('queryPageInteger'));
@@ -123,9 +121,7 @@ api.getPatrons = {
api.getHeroes = {
method: 'GET',
url: '/hall/heroes',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let heroes = await User
.find({
diff --git a/website/server/controllers/api-v3/inbox.js b/website/server/controllers/api-v3/inbox.js
new file mode 100644
index 0000000000..54a577de46
--- /dev/null
+++ b/website/server/controllers/api-v3/inbox.js
@@ -0,0 +1,29 @@
+import { authWithHeaders } from '../../middlewares/auth';
+import * as inboxLib from '../../libs/inbox';
+
+let api = {};
+
+/* NOTE most inbox routes are either in the user or members controller */
+
+/**
+ * @api {get} /api/v3/inbox/messages Get inbox messages for a user
+ * @apiName GetInboxMessages
+ * @apiGroup Inbox
+ * @apiDescription Get inbox messages for a user
+ *
+ * @apiSuccess {Array} data An array of inbox messages
+ */
+api.getInboxMessages = {
+ method: 'GET',
+ url: '/inbox/messages',
+ middlewares: [authWithHeaders()],
+ async handler (req, res) {
+ const user = res.locals.user;
+
+ const userInbox = await inboxLib.getUserInbox(user);
+
+ res.respond(200, userInbox);
+ },
+};
+
+module.exports = api;
diff --git a/website/server/controllers/api-v3/members.js b/website/server/controllers/api-v3/members.js
index 421e2cf4bb..4e77b51636 100644
--- a/website/server/controllers/api-v3/members.js
+++ b/website/server/controllers/api-v3/members.js
@@ -32,6 +32,62 @@ let api = {};
*
* @apiSuccess {Object} data The member object
*
+ * @apiSuccess {Object} data.inbox Basic information about person's inbox
+ * @apiSuccess {Object} data.stats Includes current stats and buffs
+ * @apiSuccess {Object} data.profile Includes name
+ * @apiSuccess {Object} data.preferences Includes info about appearance and public prefs
+ * @apiSuccess {Object} data.party Includes basic info about current party and quests
+ * @apiSuccess {Object} data.items Basic inventory information includes quests, food, potions, eggs, gear, special items
+ * @apiSuccess {Object} data.achievements Lists current achievements
+ * @apiSuccess {Object} data.auth Includes latest timestamps
+ *
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "success": true,
+ * "data": {
+ * "_id": "99999999-9999-9999-9999-8f14c101aeff",
+ * "inbox": {
+ * "optOut": false
+ * },
+ * "stats": {
+ * ---INCLUDES STATS AND BUFFS---
+ * },
+ * "profile": {
+ * "name": "Ezra"
+ * },
+ * "preferences": {
+ * ---INCLUDES INFO ABOUT APPEARANCE AND PUBLIC PREFS---
+ * },
+ * "party": {
+ * "_id": "12345678-0987-abcd-82a6-837c81db4c1e",
+ * "quest": {
+ * "RSVPNeeded": false,
+ * "progress": {}
+ * },
+ * },
+ * "items": {
+ * "lastDrop": {
+ * "count": 0,
+ * "date": "2017-01-15T02:41:35.009Z"
+ * },
+ * ----INCLUDES QUESTS, FOOD, POTIONS, EGGS, GEAR, CARDS, SPECIAL ITEMS (E.G. SNOWBALLS)----
+ * }
+ * },
+ * "achievements": {
+ * "partyUp": true,
+ * "habitBirthdays": 2,
+ * },
+ * "auth": {
+ * "timestamps": {
+ * "loggedin": "2017-03-05T12:30:54.545Z",
+ * "created": "2017-01-12T03:30:11.842Z"
+ * }
+ * },
+ * "id": "99999999-9999-9999-9999-8f14c101aeff"
+ * }
+ * }
+ *)
+ *
* @apiUse UserNotFound
*/
api.getMember = {
@@ -302,15 +358,28 @@ function _getMembersForItem (type) {
* @apiParam (Query) {Boolean} includeAllPublicFields Query parameter available only when fetching a party. If === `true` then all public fields for members will be returned (like when making a request for a single member)
*
* @apiSuccess {Array} data An array of members, sorted by _id
+ *
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "success": true,
+ * "data": [
+ * {
+ * "_id": "00000001-1111-9999-9000-111111111111",
+ * "profile": {
+ * "name": "Jiminy"
+ * },
+ * "id": "00000001-1111-9999-9000-111111111111"
+ * },
+ * }
+ *
+ *
* @apiUse ChallengeNotFound
* @apiUse GroupNotFound
*/
api.getMembersForGroup = {
method: 'GET',
url: '/groups/:groupId/members',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
handler: _getMembersForItem('group-members'),
};
@@ -325,15 +394,28 @@ api.getMembersForGroup = {
*
* @apiSuccess {array} data An array of invites, sorted by _id
*
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "success": true,
+ * "data": [
+ * {
+ * "_id": "99f3cb9d-4af8-4ca4-9b82-6b2a6bf59b7a",
+ * "profile": {
+ * "name": "DoomSmoocher"
+ * },
+ * "id": "99f3cb9d-4af8-4ca4-9b82-6b2a6bf59b7a"
+ * }
+ * ]
+ * }
+ *
+ *
* @apiUse ChallengeNotFound
* @apiUse GroupNotFound
*/
api.getInvitesForGroup = {
method: 'GET',
url: '/groups/:groupId/invites',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
handler: _getMembersForItem('group-invites'),
};
@@ -359,9 +441,7 @@ api.getInvitesForGroup = {
api.getMembersForChallenge = {
method: 'GET',
url: '/challenges/:challengeId/members',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
handler: _getMembersForItem('challenge-members'),
};
@@ -375,15 +455,55 @@ api.getMembersForChallenge = {
*
* @apiSuccess {Object} data Return an object with member _id, profile.name and a tasks object with the challenge tasks for the member
*
+ * @apiSuccessExample {json} Success-Response:
+ * {
+ * "data": {
+ * "_id": "b0413351-405f-416f-8787-947ec1c85199",
+ * "profile": {"name": "MadPink"},
+ * "tasks": [
+ * {
+ * "_id": "9cd37426-0604-48c3-a950-894a6e72c156",
+ * "text": "Make sure the place where you sleep is quiet, dark, and cool.",
+ * "updatedAt": "2017-06-17T17:44:15.916Z",
+ * "createdAt": "2017-06-17T17:44:15.916Z",
+ * "reminders": [],
+ * "group": {
+ * "approval": {
+ * "requested": false,
+ * "approved": false,
+ * "required": false
+ * },
+ * "assignedUsers": []
+ * },
+ * "challenge": {
+ * "taskId": "6d3758b1-071b-4bfa-acd6-755147a7b5f6",
+ * "id": "4db6bd82-b829-4bf2-bad2-535c14424a3d",
+ * "shortName": "Take This June 2017"
+ * },
+ * "attribute": "str",
+ * "priority": 1,
+ * "value": 0,
+ * "notes": "",
+ * "type": "todo",
+ * "checklist": [],
+ * "collapseChecklist": false,
+ * "completed": false,
+ * },
+ * "startDate": "2016-09-01T05:00:00.000Z",
+ * "everyX": 1,
+ * "frequency": "weekly",
+ * "id": "b207a15e-8bfd-4aa7-9e64-1ba89699da06"
+ * }
+ * ]
+ * }
+ *
* @apiUse ChallengeNotFound
* @apiUse UserNotFound
*/
api.getChallengeMemberProgress = {
method: 'GET',
url: '/challenges/:challengeId/members/:memberId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
req.checkParams('memberId', res.t('memberIdRequired')).notEmpty().isUUID();
@@ -466,7 +586,7 @@ api.getObjectionsToInteraction = {
* @apiParam (Body) {String} message Body parameter - The message
* @apiParam (Body) {UUID} toUserId Body parameter - The user to contact
*
- * @apiSuccess {Object} data An empty Object
+ * @apiSuccess {Object} data.message The message just sent
*
* @apiUse UserNotFound
*/
@@ -478,25 +598,25 @@ api.sendPrivateMessage = {
req.checkBody('message', res.t('messageRequired')).notEmpty();
req.checkBody('toUserId', res.t('toUserIDRequired')).notEmpty().isUUID();
- let validationErrors = req.validationErrors();
+ const validationErrors = req.validationErrors();
if (validationErrors) throw validationErrors;
- let sender = res.locals.user;
- let message = req.body.message;
- let receiver = await User.findById(req.body.toUserId).exec();
+ const sender = res.locals.user;
+ const message = req.body.message;
+ const receiver = await User.findById(req.body.toUserId).exec();
if (!receiver) throw new NotFound(res.t('userNotFound'));
- let objections = sender.getObjectionsToInteraction('send-private-message', receiver);
-
+ const objections = sender.getObjectionsToInteraction('send-private-message', receiver);
if (objections.length > 0 && !sender.isAdmin()) throw new NotAuthorized(res.t(objections[0]));
- await sender.sendMessage(receiver, { receiverMsg: message });
+ const messageSent = await sender.sendMessage(receiver, { receiverMsg: message });
if (receiver.preferences.emailNotifications.newPM !== false) {
sendTxnEmail(receiver, 'new-pm', [
{name: 'SENDER', content: getUserInfo(sender, ['name']).name},
]);
}
+
if (receiver.preferences.pushNotifications.newPM !== false) {
sendPushNotification(
receiver,
@@ -510,7 +630,7 @@ api.sendPrivateMessage = {
);
}
- res.respond(200, {});
+ res.respond(200, {message: messageSent});
},
};
@@ -519,7 +639,7 @@ api.sendPrivateMessage = {
* @apiName TransferGems
* @apiGroup Member
*
- * @apiParam (Body) {String} message The message
+ * @apiParam (Body) {String} message The message to the user
* @apiParam (Body) {UUID} toUserId The toUser _id
* @apiParam (Body) {Integer} gemAmount The number of gems to send
*
@@ -554,6 +674,7 @@ api.transferGems = {
receiver.balance += amount;
sender.balance -= amount;
+ // @TODO necessary? Also saved when sending the inbox message
let promises = [receiver.save(), sender.save()];
await Promise.all(promises);
diff --git a/website/server/controllers/api-v3/news.js b/website/server/controllers/api-v3/news.js
index 4678ff7a55..ea69b4da26 100644
--- a/website/server/controllers/api-v3/news.js
+++ b/website/server/controllers/api-v3/news.js
@@ -3,7 +3,7 @@ import { authWithHeaders } from '../../middlewares/auth';
let api = {};
// @TODO export this const, cannot export it from here because only routes are exported from controllers
-const LAST_ANNOUNCEMENT_TITLE = 'NEW PET QUEST: KANGAROOS! PLUS SPOTLIGHT ON HABITICA COMMUNITY INVOLVEMENT';
+const LAST_ANNOUNCEMENT_TITLE = 'FALL FESTIVAL AVATAR CUSTOMIZATIONS AND USERNAME FAQS';
const worldDmg = { // @TODO
bailey: false,
};
@@ -30,28 +30,28 @@ api.getNews = {
${res.t('newStuff')}
- 8/16/2018 - ${LAST_ANNOUNCEMENT_TITLE}
+ 10/11/2018 - ${LAST_ANNOUNCEMENT_TITLE}
-
-
- Plus, we're collecting user submissions for the next Use Case Spotlight! How do you use Habitica as you learn practical and hands-on skills? We’ll be featuring player-submitted examples in Use Case Spotlights on the Habitica Blog next month, so post your suggestions in the Use Case Spotlight Guild now. We look forward to learning more about how you use Habitica to improve your life and get things done!
- by shanaqui
+
+ Supernatural Skins & Haunted Hair Colors
+ The Seasonal Edition Haunted Hair Colors are now available for purchase! Now you can dye your avatar's hair Pumpkin, Midnight, Candy Corn, Ghost White, Zombie, or Halloween. They’ll vanish after October 31, so be sure to check them out!
+ The Supernatural Skin Set is also available until October 31st! Now your avatar can become an Ogre, Skeleton, Pumpkin, Candy Corn, Reptile, or Dread Shade.
+ Seasonal Edition items recur unchanged every year, but they are only available to purchase during a short period of time. Find these exciting skins and hair colors in User>Edit Avatar. Get them now, or you'll have to wait until next year!
+ by Lemoness, mariahm, and crystalphoenix
+
+ Unique Usernames Update and FAQ
+ It’s been a week since we announced the switch to unique usernames. So far, around half of active Habiticans have confirmed their usernames and are ready to go. Be sure to go to Settings and confirm yours!
+ We’ve seen a few questions floating around the community and wanted to provide some clarification about the change:
+
+ - Usernames will appear beside your display name in chats and your profile
+ - Usernames must be unique to be sure you’re inviting or messaging the right person
+ - Display names aren’t unique, and two people can have the same one. Your display name can be the same as or different than your username.
+ - You can change your display name and username at any time, even after confirmation
+ - Changes to chat and invitations will roll out gradually after about a month
+
+ If you want to read a more in-depth Q&A on this change and see an example to show how it will work, please visit our blog!
`,
});
@@ -69,9 +69,7 @@ api.getNews = {
*/
api.tellMeLaterNews = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/news/tell-me-later',
async handler (req, res) {
const user = res.locals.user;
diff --git a/website/server/controllers/api-v3/notifications.js b/website/server/controllers/api-v3/notifications.js
index 48fc61f304..114017c2d8 100644
--- a/website/server/controllers/api-v3/notifications.js
+++ b/website/server/controllers/api-v3/notifications.js
@@ -23,9 +23,7 @@ let api = {};
api.readNotification = {
method: 'POST',
url: '/notifications/:notificationId/read',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -67,9 +65,7 @@ api.readNotification = {
api.readNotifications = {
method: 'POST',
url: '/notifications/read',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -117,9 +113,7 @@ api.readNotifications = {
api.seeNotification = {
method: 'POST',
url: '/notifications/:notificationId/see',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -168,9 +162,7 @@ api.seeNotification = {
api.seeNotifications = {
method: 'POST',
url: '/notifications/see',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/pushNotifications.js b/website/server/controllers/api-v3/pushNotifications.js
index 4f0586d5ad..27c37f7812 100644
--- a/website/server/controllers/api-v3/pushNotifications.js
+++ b/website/server/controllers/api-v3/pushNotifications.js
@@ -22,9 +22,7 @@ let api = {};
api.addPushDevice = {
method: 'POST',
url: '/user/push-devices',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const user = res.locals.user;
@@ -72,9 +70,7 @@ api.addPushDevice = {
api.removePushDevice = {
method: 'DELETE',
url: '/user/push-devices/:regId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
const user = res.locals.user;
diff --git a/website/server/controllers/api-v3/quests.js b/website/server/controllers/api-v3/quests.js
index b579cc3862..fd4a724b68 100644
--- a/website/server/controllers/api-v3/quests.js
+++ b/website/server/controllers/api-v3/quests.js
@@ -55,9 +55,7 @@ let api = {};
api.inviteToQuest = {
method: 'POST',
url: '/groups/:groupId/quests/invite/:questKey',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let questKey = req.params.questKey;
@@ -171,9 +169,7 @@ api.inviteToQuest = {
api.acceptQuest = {
method: 'POST',
url: '/groups/:groupId/quests/accept',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -232,9 +228,7 @@ api.acceptQuest = {
api.rejectQuest = {
method: 'POST',
url: '/groups/:groupId/quests/reject',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -297,9 +291,7 @@ api.rejectQuest = {
api.forceStart = {
method: 'POST',
url: '/groups/:groupId/quests/force-start',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -357,9 +349,7 @@ api.forceStart = {
api.cancelQuest = {
method: 'POST',
url: '/groups/:groupId/quests/cancel',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
// Cancel a quest BEFORE it has begun (i.e., in the invitation stage)
// Quest scroll has not yet left quest owner's inventory so no need to return it.
@@ -413,9 +403,7 @@ api.cancelQuest = {
api.abortQuest = {
method: 'POST',
url: '/groups/:groupId/quests/abort',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
// Abort a quest AFTER it has begun (see questCancel for BEFORE)
let user = res.locals.user;
@@ -475,9 +463,7 @@ api.abortQuest = {
api.leaveQuest = {
method: 'POST',
url: '/groups/:groupId/quests/leave',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.params.groupId;
diff --git a/website/server/controllers/api-v3/shops.js b/website/server/controllers/api-v3/shops.js
index 11c0c8fac0..32c46bcd9d 100644
--- a/website/server/controllers/api-v3/shops.js
+++ b/website/server/controllers/api-v3/shops.js
@@ -15,9 +15,7 @@ let api = {};
api.getMarketItems = {
method: 'GET',
url: '/shops/market',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -38,9 +36,7 @@ api.getMarketItems = {
api.getMarketGear = {
method: 'GET',
url: '/shops/market-gear',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -64,9 +60,7 @@ api.getMarketGear = {
api.getQuestShopItems = {
method: 'GET',
url: '/shops/quests',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -88,9 +82,7 @@ api.getQuestShopItems = {
api.getTimeTravelerShopItems = {
method: 'GET',
url: '/shops/time-travelers',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -112,9 +104,7 @@ api.getTimeTravelerShopItems = {
api.getSeasonalShopItems = {
method: 'GET',
url: '/shops/seasonal',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -136,9 +126,7 @@ api.getSeasonalShopItems = {
api.getBackgroundShopItems = {
method: 'GET',
url: '/shops/backgrounds',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/tags.js b/website/server/controllers/api-v3/tags.js
index 520db3edbf..9b8ea2a596 100644
--- a/website/server/controllers/api-v3/tags.js
+++ b/website/server/controllers/api-v3/tags.js
@@ -38,9 +38,7 @@ let api = {};
api.createTag = {
method: 'POST',
url: '/tags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -66,9 +64,7 @@ api.createTag = {
api.getTags = {
method: 'GET',
url: '/tags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
res.respond(200, user.tags);
@@ -93,9 +89,7 @@ api.getTags = {
api.getTag = {
method: 'GET',
url: '/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -132,9 +126,7 @@ api.getTag = {
api.updateTag = {
method: 'PUT',
url: '/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -176,9 +168,7 @@ api.updateTag = {
api.reorderTags = {
method: 'POST',
url: '/reorder-tags',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -217,9 +207,7 @@ api.reorderTags = {
api.deleteTag = {
method: 'DELETE',
url: '/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/tasks.js b/website/server/controllers/api-v3/tasks.js
index a7707e9772..0ee33b26a5 100644
--- a/website/server/controllers/api-v3/tasks.js
+++ b/website/server/controllers/api-v3/tasks.js
@@ -158,9 +158,7 @@ let requiredGroupFields = '_id leader tasksOrder name';
api.createUserTasks = {
method: 'POST',
url: '/tasks/user',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let tasks = await createTasks(req, res, {user});
@@ -175,6 +173,7 @@ api.createUserTasks = {
hitType: 'event',
category: 'behavior',
taskType: task.type,
+ headers: req.headers,
});
}
@@ -231,9 +230,7 @@ api.createUserTasks = {
api.createChallengeTasks = {
method: 'POST',
url: '/tasks/challenge/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
@@ -327,9 +324,7 @@ api.getUserTasks = {
api.getChallengeTasks = {
method: 'GET',
url: '/tasks/challenge/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
let types = Tasks.tasksTypes.map(type => `${type}s`);
@@ -379,9 +374,7 @@ api.getChallengeTasks = {
api.getTask = {
method: 'GET',
url: '/tasks/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let taskId = req.params.taskId;
@@ -435,9 +428,7 @@ api.getTask = {
api.updateTask = {
method: 'PUT',
url: '/tasks/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -551,9 +542,7 @@ api.updateTask = {
api.scoreTask = {
method: 'POST',
url: '/tasks/:taskId/score/:direction',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('direction', res.t('directionUpDown')).notEmpty().isIn(['up', 'down']);
@@ -702,6 +691,7 @@ api.scoreTask = {
category: 'behavior',
taskType: task.type,
direction,
+ headers: req.headers,
});
}
},
@@ -726,9 +716,7 @@ api.scoreTask = {
api.moveTask = {
method: 'POST',
url: '/tasks/:taskId/move/to/:position',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty();
req.checkParams('position', res.t('positionRequired')).notEmpty().isNumeric();
@@ -797,9 +785,7 @@ api.moveTask = {
api.addChecklistItem = {
method: 'POST',
url: '/tasks/:taskId/checklist',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -859,9 +845,7 @@ api.addChecklistItem = {
api.scoreCheckListItem = {
method: 'POST',
url: '/tasks/:taskId/checklist/:itemId/score',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -915,9 +899,7 @@ api.scoreCheckListItem = {
api.updateChecklistItem = {
method: 'PUT',
url: '/tasks/:taskId/checklist/:itemId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -982,9 +964,7 @@ api.updateChecklistItem = {
api.removeChecklistItem = {
method: 'DELETE',
url: '/tasks/:taskId/checklist/:itemId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
@@ -1047,9 +1027,7 @@ api.removeChecklistItem = {
api.addTagToTask = {
method: 'POST',
url: '/tasks/:taskId/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1098,9 +1076,7 @@ api.addTagToTask = {
api.removeTagFromTask = {
method: 'DELETE',
url: '/tasks/:taskId/tags/:tagId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1145,9 +1121,7 @@ api.removeTagFromTask = {
api.unlinkAllTasks = {
method: 'POST',
url: '/tasks/unlink-all/:challengeId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('challengeId', res.t('challengeIdRequired')).notEmpty().isUUID();
req.checkQuery('keep', apiError('keepOrRemoveAll')).notEmpty().isIn(['keep-all', 'remove-all']);
@@ -1214,9 +1188,7 @@ api.unlinkAllTasks = {
api.unlinkOneTask = {
method: 'POST',
url: '/tasks/unlink-one/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkQuery('keep', apiError('keepOrRemove')).notEmpty().isIn(['keep', 'remove']);
@@ -1266,9 +1238,7 @@ api.unlinkOneTask = {
api.clearCompletedTodos = {
method: 'POST',
url: '/tasks/clearCompletedTodos',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -1319,9 +1289,7 @@ api.clearCompletedTodos = {
api.deleteTask = {
method: 'DELETE',
url: '/tasks/:taskId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let challenge;
diff --git a/website/server/controllers/api-v3/tasks/groups.js b/website/server/controllers/api-v3/tasks/groups.js
index 11f45a2259..69f050ad3d 100644
--- a/website/server/controllers/api-v3/tasks/groups.js
+++ b/website/server/controllers/api-v3/tasks/groups.js
@@ -42,9 +42,7 @@ let api = {};
api.createGroupTasks = {
method: 'POST',
url: '/tasks/group/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty().isUUID();
@@ -88,9 +86,7 @@ api.createGroupTasks = {
api.getGroupTasks = {
method: 'GET',
url: '/tasks/group/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty().isUUID();
req.checkQuery('type', res.t('invalidTasksType')).optional().isIn(types);
@@ -123,9 +119,7 @@ api.getGroupTasks = {
api.groupMoveTask = {
method: 'POST',
url: '/group-tasks/:taskId/move/to/:position',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty();
req.checkParams('position', res.t('positionRequired')).notEmpty().isNumeric();
@@ -176,9 +170,7 @@ api.groupMoveTask = {
api.assignTask = {
method: 'POST',
url: '/tasks/:taskId/assign/:assignedUserId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('assignedUserId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -238,9 +230,7 @@ api.assignTask = {
api.unassignTask = {
method: 'POST',
url: '/tasks/:taskId/unassign/:assignedUserId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('assignedUserId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -290,9 +280,7 @@ api.unassignTask = {
api.approveTask = {
method: 'POST',
url: '/tasks/:taskId/approve/:userId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('userId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -390,9 +378,7 @@ api.approveTask = {
api.taskNeedsWork = {
method: 'POST',
url: '/tasks/:taskId/needs-work/:userId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('taskId', apiError('taskIdRequired')).notEmpty().isUUID();
req.checkParams('userId', res.t('userIdRequired')).notEmpty().isUUID();
@@ -489,9 +475,7 @@ api.taskNeedsWork = {
api.getGroupApprovals = {
method: 'GET',
url: '/approvals/group/:groupId',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('groupId', apiError('groupIdRequired')).notEmpty().isUUID();
diff --git a/website/server/controllers/api-v3/user.js b/website/server/controllers/api-v3/user.js
index 763caeab2e..6b70470896 100644
--- a/website/server/controllers/api-v3/user.js
+++ b/website/server/controllers/api-v3/user.js
@@ -8,9 +8,6 @@ import {
basicFields as basicGroupFields,
model as Group,
} from '../../models/group';
-import {
- model as User,
-} from '../../models/user';
import * as Tasks from '../../models/task';
import _ from 'lodash';
import * as passwordUtils from '../../libs/password';
@@ -22,6 +19,8 @@ import {
sendTxn as txnEmail,
} from '../../libs/email';
import Queue from '../../libs/queue';
+import * as inboxLib from '../../libs/inbox';
+import * as userLib from '../../libs/user';
import nconf from 'nconf';
import get from 'lodash/get';
@@ -35,6 +34,8 @@ const DELETE_CONFIRMATION = 'DELETE';
let api = {};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {get} /api/v3/user Get the authenticated user's profile
* @apiName UserGet
@@ -47,7 +48,7 @@ let api = {};
* Flags (including armoire, tutorial, tour etc...)
* Guilds
* History (including timestamps and values)
- * Inbox (includes message history)
+ * Inbox
* Invitations (to parties/guilds)
* Items (character's full inventory)
* New Messages (flags for groups/guilds that have new messages)
@@ -61,7 +62,7 @@ let api = {};
* Tags
* TasksOrder (list of all ids for dailys, habits, rewards and todos)
*
- * @apiParam (Query) {UUID} userFields A list of comma separated user fields to be returned instead of the entire document. Notifications are always returned.
+ * @apiParam (Query) {String} [userFields] A list of comma separated user fields to be returned instead of the entire document. Notifications are always returned.
*
* @apiExample {curl} Example use:
* curl -i https://habitica.com/api/v3/user?userFields=achievements,items.mounts
@@ -83,20 +84,7 @@ api.getUser = {
middlewares: [authWithHeaders()],
url: '/user',
async handler (req, res) {
- let user = res.locals.user;
- let userToJSON = user.toJSON();
-
- // Remove apiToken from response TODO make it private at the user level? returned in signup/login
- delete userToJSON.apiToken;
-
- if (!req.query.userFields) {
- let {daysMissed} = user.daysUserHasMissed(new Date(), req);
- userToJSON.needsCron = false;
- if (daysMissed > 0) userToJSON.needsCron = true;
- User.addComputedStatsToJSONObj(userToJSON.stats, userToJSON);
- }
-
- return res.respond(200, userToJSON);
+ await userLib.get(req, res, { isV3: true });
},
};
@@ -128,9 +116,7 @@ api.getUser = {
*/
api.getBuyList = {
method: 'GET',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/inventory/buy',
async handler (req, res) {
let list = _.cloneDeep(common.updateStore(res.locals.user));
@@ -147,7 +133,7 @@ api.getBuyList = {
};
/**
- * @api {get} /api/v3/user/in-app-rewards Get the in app items appaearing in the user's reward column
+ * @api {get} /api/v3/user/in-app-rewards Get the in app items appearing in the user's reward column
* @apiName UserGetInAppRewards
* @apiGroup User
*
@@ -173,9 +159,7 @@ api.getBuyList = {
*/
api.getInAppRewardsList = {
method: 'GET',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/in-app-rewards',
async handler (req, res) {
let list = common.inAppRewards(res.locals.user);
@@ -191,78 +175,7 @@ api.getInAppRewardsList = {
},
};
-let updatablePaths = [
- '_ABtests.counter',
-
- 'flags.customizationsNotification',
- 'flags.showTour',
- 'flags.tour',
- 'flags.tutorial',
- 'flags.communityGuidelinesAccepted',
- 'flags.welcomed',
- 'flags.cardReceived',
- 'flags.warnedLowHealth',
- 'flags.newStuff',
-
- 'achievements',
-
- 'party.order',
- 'party.orderAscending',
- 'party.quest.completed',
- 'party.quest.RSVPNeeded',
-
- 'preferences',
- 'profile',
- 'stats',
- 'inbox.optOut',
- 'tags',
-];
-
-// This tells us for which paths users can call `PUT /user`.
-// The trick here is to only accept leaf paths, not root/intermediate paths (see http://goo.gl/OEzkAs)
-let acceptablePUTPaths = _.reduce(require('./../../models/user').schema.paths, (accumulator, val, leaf) => {
- let found = _.find(updatablePaths, (rootPath) => {
- return leaf.indexOf(rootPath) === 0;
- });
-
- if (found) accumulator[leaf] = true;
-
- return accumulator;
-}, {});
-
-let restrictedPUTSubPaths = [
- 'stats.class',
-
- 'preferences.disableClasses',
- 'preferences.sleep',
- 'preferences.webhooks',
-];
-
-_.each(restrictedPUTSubPaths, (removePath) => {
- delete acceptablePUTPaths[removePath];
-});
-
-let requiresPurchase = {
- 'preferences.background': 'background',
- 'preferences.shirt': 'shirt',
- 'preferences.size': 'size',
- 'preferences.skin': 'skin',
- 'preferences.hair.bangs': 'hair.bangs',
- 'preferences.hair.base': 'hair.base',
- 'preferences.hair.beard': 'hair.beard',
- 'preferences.hair.color': 'hair.color',
- 'preferences.hair.flower': 'hair.flower',
- 'preferences.hair.mustache': 'hair.mustache',
-};
-
-let checkPreferencePurchase = (user, path, item) => {
- let itemPath = `${path}.${item}`;
- let appearance = _.get(common.content.appearances, itemPath);
- if (!appearance) return false;
- if (appearance.price === 0) return true;
-
- return _.get(user.purchased, itemPath);
-};
+/* NOTE this route has also an API v4 version */
/**
* @api {put} /api/v3/user Update the user
@@ -297,67 +210,7 @@ api.updateUser = {
middlewares: [authWithHeaders()],
url: '/user',
async handler (req, res) {
- let user = res.locals.user;
-
- let promisesForTagsRemoval = [];
-
- _.each(req.body, (val, key) => {
- let purchasable = requiresPurchase[key];
-
- if (purchasable && !checkPreferencePurchase(user, purchasable, val)) {
- throw new NotAuthorized(res.t('mustPurchaseToSet', { val, key }));
- }
-
- if (acceptablePUTPaths[key] && key !== 'tags') {
- _.set(user, key, val);
- } else if (key === 'tags') {
- if (!Array.isArray(val)) throw new BadRequest('mustBeArray');
-
- const removedTagsIds = [];
-
- const oldTags = [];
-
- // Keep challenge and group tags
- user.tags.forEach(t => {
- if (t.group) {
- oldTags.push(t);
- } else {
- removedTagsIds.push(t.id);
- }
- });
-
- user.tags = oldTags;
-
- val.forEach(t => {
- let oldI = removedTagsIds.findIndex(id => id === t.id);
- if (oldI > -1) {
- removedTagsIds.splice(oldI, 1);
- }
-
- user.tags.push(t);
- });
-
- // Remove from all the tasks
- // NOTE each tag to remove requires a query
-
- promisesForTagsRemoval = removedTagsIds.map(tagId => {
- return Tasks.Task.update({
- userId: user._id,
- }, {
- $pull: {
- tags: tagId,
- },
- }, {multi: true}).exec();
- });
- } else {
- throw new NotAuthorized(res.t('messageUserOperationProtected', { operation: key }));
- }
- });
-
-
- await Promise.all([user.save()].concat(promisesForTagsRemoval));
-
- return res.respond(200, user);
+ await userLib.update(req, res, { isV3: true });
},
};
@@ -488,7 +341,7 @@ api.getUserAnonymized = {
middlewares: [authWithHeaders()],
url: '/user/anonymized',
async handler (req, res) {
- let user = res.locals.user.toJSON();
+ let user = await res.locals.user.toJSONWithInbox();
user.stats.toNextLevel = common.tnl(user.stats.lvl);
user.stats.maxHealth = common.maxHealth;
user.stats.maxMP = common.statsComputed(res.locals.user).maxMP;
@@ -513,6 +366,7 @@ api.getUserAnonymized = {
_.forEach(user.inbox.messages, (msg) => {
msg.text = 'inbox message text';
});
+
_.forEach(user.tags, (tag) => {
tag.name = 'tag';
tag.challenge = 'challenge';
@@ -556,9 +410,7 @@ api.getUserAnonymized = {
*/
api.sleep = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/sleep',
async handler (req, res) {
let user = res.locals.user;
@@ -602,9 +454,7 @@ const buyKnownKeys = ['armoire', 'mystery', 'potion', 'quest', 'special'];
*/
api.buy = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -668,9 +518,7 @@ api.buy = {
*/
api.buyGear = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-gear/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -710,9 +558,7 @@ api.buyGear = {
*/
api.buyArmoire = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-armoire',
async handler (req, res) {
let user = res.locals.user;
@@ -752,9 +598,7 @@ api.buyArmoire = {
*/
api.buyHealthPotion = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-health-potion',
async handler (req, res) {
let user = res.locals.user;
@@ -796,9 +640,7 @@ api.buyHealthPotion = {
*/
api.buyMysterySet = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-mystery-set/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -841,9 +683,7 @@ api.buyMysterySet = {
*/
api.buyQuest = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-quest/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -883,9 +723,7 @@ api.buyQuest = {
*/
api.buySpecialSpell = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/buy-special-spell/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -929,9 +767,7 @@ api.buySpecialSpell = {
*/
api.hatch = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/hatch/:egg/:hatchingPotion',
async handler (req, res) {
let user = res.locals.user;
@@ -983,9 +819,7 @@ api.hatch = {
*/
api.equip = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/equip/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1020,9 +854,7 @@ api.equip = {
*/
api.feed = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/feed/:pet/:food',
async handler (req, res) {
let user = res.locals.user;
@@ -1066,9 +898,7 @@ api.feed = {
*/
api.changeClass = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/change-class',
async handler (req, res) {
let user = res.locals.user;
@@ -1089,9 +919,7 @@ api.changeClass = {
*/
api.disableClasses = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/disable-classes',
async handler (req, res) {
let user = res.locals.user;
@@ -1123,9 +951,7 @@ api.disableClasses = {
*/
api.purchase = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/purchase/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1172,9 +998,7 @@ api.purchase = {
*/
api.userPurchaseHourglass = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/purchase-hourglass/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1226,9 +1050,7 @@ api.userPurchaseHourglass = {
*/
api.readCard = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/read-card/:cardType',
async handler (req, res) {
let user = res.locals.user;
@@ -1270,9 +1092,7 @@ api.readCard = {
*/
api.userOpenMysteryItem = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/open-mystery-item',
async handler (req, res) {
let user = res.locals.user;
@@ -1304,9 +1124,7 @@ api.userOpenMysteryItem = {
*/
api.userReleasePets = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/release-pets',
async handler (req, res) {
let user = res.locals.user;
@@ -1355,9 +1173,7 @@ api.userReleasePets = {
*/
api.userReleaseBoth = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/release-both',
async handler (req, res) {
let user = res.locals.user;
@@ -1393,9 +1209,7 @@ api.userReleaseBoth = {
*/
api.userReleaseMounts = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/release-mounts',
async handler (req, res) {
let user = res.locals.user;
@@ -1425,9 +1239,7 @@ api.userReleaseMounts = {
*/
api.userSell = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/sell/:type/:key',
async handler (req, res) {
let user = res.locals.user;
@@ -1470,9 +1282,7 @@ api.userSell = {
*/
api.userUnlock = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/unlock',
async handler (req, res) {
let user = res.locals.user;
@@ -1498,9 +1308,7 @@ api.userUnlock = {
*/
api.userRevive = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/revive',
async handler (req, res) {
let user = res.locals.user;
@@ -1510,6 +1318,8 @@ api.userRevive = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/rebirth Use Orb of Rebirth on user
* @apiName UserRebirth
@@ -1540,27 +1350,10 @@ api.userRevive = {
*/
api.userRebirth = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/rebirth',
async handler (req, res) {
- let user = res.locals.user;
- let tasks = await Tasks.Task.find({
- userId: user._id,
- type: {$in: ['daily', 'habit', 'todo']},
- ...Tasks.taskIsGroupOrChallengeQuery,
- }).exec();
-
- let rebirthRes = common.ops.rebirth(user, tasks, req, res.analytics);
-
- let toSave = tasks.map(task => task.save());
-
- toSave.push(user.save());
-
- await Promise.all(toSave);
-
- res.respond(200, ...rebirthRes);
+ await userLib.rebirth(req, res, { isV3: true });
},
};
@@ -1591,6 +1384,8 @@ api.blockUser = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {delete} /api/v3/user/messages/:id Delete a message
* @apiName deleteMessage
@@ -1625,12 +1420,15 @@ api.deleteMessage = {
url: '/user/messages/:id',
async handler (req, res) {
let user = res.locals.user;
- let deletePMRes = common.ops.deletePM(user, req);
- await user.save();
- res.respond(200, ...deletePMRes);
+
+ await inboxLib.deleteMessage(user, req.params.id);
+
+ res.respond(200, ...[await inboxLib.getUserInbox(user, false)]);
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {delete} /api/v3/user/messages Delete all messages
* @apiName clearMessages
@@ -1647,9 +1445,10 @@ api.clearMessages = {
url: '/user/messages',
async handler (req, res) {
let user = res.locals.user;
- let clearPMsRes = common.ops.clearPMs(user, req);
- await user.save();
- res.respond(200, ...clearPMsRes);
+
+ await inboxLib.clearPMs(user);
+
+ res.respond(200, ...[]);
},
};
@@ -1658,7 +1457,7 @@ api.clearMessages = {
* @apiName markPmsRead
* @apiGroup User
*
- * @apiSuccess {Object} data user.inbox.messages
+ * @apiSuccess {Object} data user.inbox.newMessages
*
* @apiSuccessExample {json}
* {"success":true,"data":[0,"Your private messages have been marked as read"],"notifications":[]}
@@ -1676,6 +1475,8 @@ api.markPmsRead = {
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/reroll Reroll a user using the Fortify Potion
* @apiName UserReroll
@@ -1700,29 +1501,15 @@ api.markPmsRead = {
*/
api.userReroll = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/reroll',
async handler (req, res) {
- let user = res.locals.user;
- let query = {
- userId: user._id,
- type: {$in: ['daily', 'habit', 'todo']},
- ...Tasks.taskIsGroupOrChallengeQuery,
- };
- let tasks = await Tasks.Task.find(query).exec();
- let rerollRes = common.ops.reroll(user, tasks, req, res.analytics);
-
- let promises = tasks.map(task => task.save());
- promises.push(user.save());
-
- await Promise.all(promises);
-
- res.respond(200, ...rerollRes);
+ await userLib.reroll(req, res, { isV3: true });
},
};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/reset Reset user
* @apiName UserReset
@@ -1746,32 +1533,10 @@ api.userReroll = {
*/
api.userReset = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/reset',
async handler (req, res) {
- let user = res.locals.user;
-
- let tasks = await Tasks.Task.find({
- userId: user._id,
- ...Tasks.taskIsGroupOrChallengeQuery,
- }).select('_id type challenge group').exec();
-
- let resetRes = common.ops.reset(user, tasks);
-
- await Promise.all([
- Tasks.Task.remove({_id: {$in: resetRes[0].tasksToRemove}, userId: user._id}),
- user.save(),
- ]);
-
- res.analytics.track('account reset', {
- uuid: user._id,
- hitType: 'event',
- category: 'behavior',
- });
-
- res.respond(200, ...resetRes);
+ await userLib.reset(req, res, { isV3: true });
},
};
@@ -1799,9 +1564,7 @@ api.userReset = {
*/
api.setCustomDayStart = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/custom-day-start',
async handler (req, res) {
let user = res.locals.user;
@@ -1839,9 +1602,7 @@ api.setCustomDayStart = {
*/
api.togglePinnedItem = {
method: 'GET',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/toggle-pinned-item/:type/:path',
async handler (req, res) {
let user = res.locals.user;
@@ -1879,9 +1640,7 @@ api.togglePinnedItem = {
api.movePinnedItem = {
method: 'POST',
url: '/user/move-pinned-item/:path/move/to/:position',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
req.checkParams('path', res.t('taskIdRequired')).notEmpty();
req.checkParams('position', res.t('positionRequired')).notEmpty().isNumeric();
diff --git a/website/server/controllers/api-v3/user/spells.js b/website/server/controllers/api-v3/user/spells.js
index 3a8e6a56d9..8740458427 100644
--- a/website/server/controllers/api-v3/user/spells.js
+++ b/website/server/controllers/api-v3/user/spells.js
@@ -1,25 +1,12 @@
import { authWithHeaders } from '../../../middlewares/auth';
-import common from '../../../../common';
import {
- model as Group,
-} from '../../../models/group';
-import {
- NotAuthorized,
- NotFound,
-} from '../../../libs/errors';
-import {
- castTaskSpell,
- castMultiTaskSpell,
- castSelfSpell,
- castPartySpell,
- castUserSpell,
+ castSpell,
} from '../../../libs/spells';
-import apiError from '../../../libs/apiError';
-
-const partyMembersFields = 'profile.name stats achievements items.special';
let api = {};
+/* NOTE this route has also an API v4 version */
+
/**
* @api {post} /api/v3/user/class/cast/:spellId Cast a skill (spell) on a target
* @apiName UserCast
@@ -72,69 +59,9 @@ api.castSpell = {
middlewares: [authWithHeaders()],
url: '/user/class/cast/:spellId',
async handler (req, res) {
- let user = res.locals.user;
- let spellId = req.params.spellId;
- let targetId = req.query.targetId;
- const quantity = req.body.quantity || 1;
-
- // optional because not required by all targetTypes, presence is checked later if necessary
- req.checkQuery('targetId', res.t('targetIdUUID')).optional().isUUID();
-
- let reqValidationErrors = req.validationErrors();
- if (reqValidationErrors) throw reqValidationErrors;
-
- let klass = common.content.spells.special[spellId] ? 'special' : user.stats.class;
- let spell = common.content.spells[klass][spellId];
-
- if (!spell) throw new NotFound(apiError('spellNotFound', {spellId}));
- if (spell.mana > user.stats.mp) throw new NotAuthorized(res.t('notEnoughMana'));
- if (spell.value > user.stats.gp && !spell.previousPurchase) throw new NotAuthorized(res.t('messageNotEnoughGold'));
- if (spell.lvl > user.stats.lvl) throw new NotAuthorized(res.t('spellLevelTooHigh', {level: spell.lvl}));
-
- let targetType = spell.target;
-
- if (targetType === 'task') {
- const results = await castTaskSpell(res, req, targetId, user, spell, quantity);
- res.respond(200, {
- user: results[0],
- task: results[1],
- });
- } else if (targetType === 'self') {
- await castSelfSpell(req, user, spell, quantity);
- res.respond(200, { user });
- } else if (targetType === 'tasks') { // new target type in v3: when all the user's tasks are necessary
- const response = await castMultiTaskSpell(req, user, spell, quantity);
- res.respond(200, response);
- } else if (targetType === 'party' || targetType === 'user') {
- const party = await Group.getGroup({groupId: 'party', user});
- // arrays of users when targetType is 'party' otherwise single users
- let partyMembers;
-
- if (targetType === 'party') {
- partyMembers = await castPartySpell(req, party, partyMembers, user, spell, quantity);
- } else {
- partyMembers = await castUserSpell(res, req, party, partyMembers, targetId, user, spell, quantity);
- }
-
- let partyMembersRes = Array.isArray(partyMembers) ? partyMembers : [partyMembers];
-
- // Only return some fields.
- // See comment above on why we can't just select the necessary fields when querying
- partyMembersRes = partyMembersRes.map(partyMember => {
- return common.pickDeep(partyMember.toJSON(), common.$w(partyMembersFields));
- });
-
- res.respond(200, {
- partyMembers: partyMembersRes,
- user,
- });
-
- if (party && !spell.silent) {
- let message = `\`${user.profile.name} casts ${spell.text()}${targetType === 'user' ? ` on ${partyMembers.profile.name}` : ' for the party'}.\``;
- const newChatMessage = party.sendChat(message);
- await newChatMessage.save();
- }
- }
+ await castSpell(req, res, {
+ isV3: true,
+ });
},
};
diff --git a/website/server/controllers/api-v3/user/stats.js b/website/server/controllers/api-v3/user/stats.js
index 658a3e4fbd..c3d3ed74e1 100644
--- a/website/server/controllers/api-v3/user/stats.js
+++ b/website/server/controllers/api-v3/user/stats.js
@@ -27,9 +27,7 @@ let api = {};
*/
api.allocate = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/allocate',
async handler (req, res) {
let user = res.locals.user;
@@ -69,9 +67,7 @@ api.allocate = {
*/
api.allocateBulk = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/allocate-bulk',
async handler (req, res) {
let user = res.locals.user;
@@ -128,9 +124,7 @@ api.allocateBulk = {
*/
api.allocateNow = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/allocate-now',
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v3/webhook.js b/website/server/controllers/api-v3/webhook.js
index 0084caea85..a39b05ce3d 100644
--- a/website/server/controllers/api-v3/webhook.js
+++ b/website/server/controllers/api-v3/webhook.js
@@ -31,7 +31,7 @@ let api = {};
* @apiParam (Body) {String} url The webhook's URL
* @apiParam (Body) {String} [label] A label to remind you what this webhook does
* @apiParam (Body) {Boolean} [enabled=true] If the webhook should be enabled
- * @apiParam (Body) {Sring="taskActivity","groupChatReceived","userActivity"} [type="taskActivity"] The webhook's type.
+ * @apiParam (Body) {String="taskActivity","groupChatReceived","userActivity"} [type="taskActivity"] The webhook's type.
* @apiParam (Body) {Object} [options] The webhook's options. Wil differ depending on type. Required for `groupChatReceived` type. If a webhook supports options, the default values are displayed in the examples below
* @apiParamExample {json} Task Activity Example
* {
@@ -73,9 +73,7 @@ let api = {};
*/
api.addWebhook = {
method: 'POST',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/webhook',
async handler (req, res) {
let user = res.locals.user;
@@ -107,7 +105,7 @@ api.addWebhook = {
* @apiParam (Body) {String} [url] The webhook's URL
* @apiParam (Body) {String} [label] A label to remind you what this webhook does
* @apiParam (Body) {Boolean} [enabled] If the webhook should be enabled
- * @apiParam (Body) {Sring="taskActivity","groupChatReceived"} [type] The webhook's type.
+ * @apiParam (Body) {String="taskActivity","groupChatReceived"} [type] The webhook's type.
* @apiParam (Body) {Object} [options] The webhook's options. Wil differ depending on type. The options are enumerated in the [add webhook examples](#api-Webhook-UserAddWebhook).
* @apiParamExample {json} Update Enabled and Type Properties
* {
@@ -135,9 +133,7 @@ api.addWebhook = {
*/
api.updateWebhook = {
method: 'PUT',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/webhook/:id',
async handler (req, res) {
let user = res.locals.user;
@@ -188,9 +184,7 @@ api.updateWebhook = {
*/
api.deleteWebhook = {
method: 'DELETE',
- middlewares: [authWithHeaders({
- userFieldsToExclude: ['inbox'],
- })],
+ middlewares: [authWithHeaders()],
url: '/user/webhook/:id',
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/api-v4/auth.js b/website/server/controllers/api-v4/auth.js
new file mode 100644
index 0000000000..607562aca4
--- /dev/null
+++ b/website/server/controllers/api-v4/auth.js
@@ -0,0 +1,141 @@
+import {
+ authWithHeaders,
+} from '../../middlewares/auth';
+import * as authLib from '../../libs/auth';
+import {
+ NotAuthorized,
+ BadRequest,
+} from '../../libs/errors';
+import * as passwordUtils from '../../libs/password';
+import { model as User } from '../../models/user';
+import {verifyUsername} from '../../libs/user/validation';
+
+const api = {};
+
+/**
+ * @api {put} /api/v4/user/auth/update-username Update username
+ * @apiDescription Update the username of a local user
+ * @apiName UpdateUsername
+ * @apiGroup User
+ *
+ * @apiParam (Body) {String} username The new username
+
+ * @apiSuccess {String} data.username The new username
+ **/
+api.updateUsername = {
+ method: 'PUT',
+ middlewares: [authWithHeaders()],
+ url: '/user/auth/update-username',
+ async handler (req, res) {
+ const user = res.locals.user;
+
+ req.checkBody({
+ username: {
+ notEmpty: {errorMessage: res.t('missingUsername')},
+ },
+ });
+
+ const validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ const newUsername = req.body.username;
+
+ const issues = verifyUsername(newUsername, res);
+ if (issues.length > 0) throw new BadRequest(issues.join(' '));
+
+ const password = req.body.password;
+ if (password !== undefined) {
+ let isValidPassword = await passwordUtils.compare(user, password);
+ if (!isValidPassword) throw new NotAuthorized(res.t('wrongPassword'));
+ }
+
+ const existingUser = await User.findOne({ 'auth.local.lowerCaseUsername': newUsername.toLowerCase() }, {auth: 1}).exec();
+ if (existingUser !== undefined && existingUser !== null && existingUser._id !== user._id) {
+ throw new BadRequest(res.t('usernameTaken'));
+ }
+
+ // if password is using old sha1 encryption, change it
+ if (user.auth.local.passwordHashMethod === 'sha1' && password !== undefined) {
+ await passwordUtils.convertToBcrypt(user, password); // user is saved a few lines below
+ }
+
+ // save username
+ user.auth.local.lowerCaseUsername = newUsername.toLowerCase();
+ user.auth.local.username = newUsername;
+ user.flags.verifiedUsername = true;
+ await user.save();
+
+ res.respond(200, { username: req.body.username });
+ },
+};
+
+api.verifyUsername = {
+ method: 'POST',
+ url: '/user/auth/verify-username',
+ middlewares: [authWithHeaders({
+ optional: true,
+ })],
+ async handler (req, res) {
+ req.checkBody({
+ username: {
+ notEmpty: {errorMessage: res.t('missingUsername')},
+ },
+ });
+
+ const validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ const user = res.locals.user;
+ const chosenUsername = req.body.username;
+
+ const issues = verifyUsername(chosenUsername, res);
+
+ const existingUser = await User.findOne({
+ 'auth.local.lowerCaseUsername': chosenUsername.toLowerCase(),
+ }, {auth: 1}).exec();
+
+ if (existingUser) {
+ if (!user || existingUser._id !== user._id) issues.push(res.t('usernameTaken'));
+ }
+
+ if (issues.length > 0) {
+ res.respond(200, { isUsable: false, issues });
+ } else {
+ res.respond(200, { isUsable: true });
+ }
+ },
+};
+
+/*
+* NOTE most user routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/auth/local/register Register
+ * @apiDescription Register a new user with email, login name, and password or attach local auth to a social user
+ * @apiName UserRegisterLocal
+ * @apiGroup User
+ *
+ * @apiParam (Body) {String} username Login name of the new user. Must be 1-36 characters, containing only a-z, 0-9, hyphens (-), or underscores (_).
+ * @apiParam (Body) {String} email Email address of the new user
+ * @apiParam (Body) {String} password Password for the new user
+ * @apiParam (Body) {String} confirmPassword Password confirmation
+ *
+ * @apiSuccess {Object} data The user object, if local auth was just attached to a social user then only user.auth.local
+ */
+api.registerLocal = {
+ method: 'POST',
+ middlewares: [authWithHeaders({
+ optional: true,
+ })],
+ url: '/user/auth/local/register',
+ async handler (req, res) {
+ await authLib.registerLocal(req, res, { isV3: false });
+ },
+};
+
+module.exports = api;
diff --git a/website/server/controllers/api-v4/coupon.js b/website/server/controllers/api-v4/coupon.js
new file mode 100644
index 0000000000..dde0f8c8d0
--- /dev/null
+++ b/website/server/controllers/api-v4/coupon.js
@@ -0,0 +1,34 @@
+import { authWithHeaders } from '../../middlewares/auth';
+import * as couponsLib from '../../libs/coupons';
+
+/*
+* NOTE most coupons routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+const api = {};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/coupons/enter/:code Redeem a coupon code
+ * @apiName RedeemCouponCode
+ * @apiGroup Coupon
+ *
+ * @apiParam (Path) {String} code The coupon code to apply
+ *
+ * @apiSuccess {Object} data User object
+ */
+api.enterCouponCode = {
+ method: 'POST',
+ url: '/coupons/enter/:code',
+ middlewares: [authWithHeaders()],
+ async handler (req, res) {
+ const user = res.locals.user;
+ await couponsLib.enterCode(req, res, user);
+ res.respond(200, user);
+ },
+};
+
+module.exports = api;
\ No newline at end of file
diff --git a/website/server/controllers/api-v4/inbox.js b/website/server/controllers/api-v4/inbox.js
index f2684d9e9b..bfceab993c 100644
--- a/website/server/controllers/api-v4/inbox.js
+++ b/website/server/controllers/api-v4/inbox.js
@@ -1,28 +1,74 @@
import { authWithHeaders } from '../../middlewares/auth';
-import { toArray, orderBy } from 'lodash';
+import apiError from '../../libs/apiError';
+import * as inboxLib from '../../libs/inbox';
+import {
+ NotFound,
+} from '../../libs/errors';
-let api = {};
+const api = {};
/* NOTE most inbox routes are either in the user or members controller */
-/**
- * @api {get} /api/v3/inbox/messages Get inbox messages for a user
- * @apiPrivate
- * @apiName GetInboxMessages
- * @apiGroup Inbox
- * @apiDescription Get inbox messages for a user
- *
- * @apiSuccess {Array} data An array of inbox messages
- */
-api.getInboxMessages = {
- method: 'GET',
- url: '/inbox/messages',
- middlewares: [authWithHeaders()],
- async handler (req, res) {
- const messagesObj = res.locals.user.inbox.messages;
- const messagesArray = orderBy(toArray(messagesObj), ['timestamp'], ['desc']);
+/* NOTE the getInboxMessages route is implemented in v3 only */
- res.respond(200, messagesArray);
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {delete} /api/v4/inbox/messages/:messageId Delete a message
+ * @apiName deleteMessage
+ * @apiGroup User
+ *
+ * @apiParam (Path) {UUID} messageId The id of the message to delete
+ *
+ * @apiSuccess {Object} data Empty object
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {}
+ * }
+ */
+api.deleteMessage = {
+ method: 'DELETE',
+ middlewares: [authWithHeaders()],
+ url: '/inbox/messages/:messageId',
+ async handler (req, res) {
+ req.checkParams('messageId', apiError('messageIdRequired')).notEmpty().isUUID();
+
+ const validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ const messageId = req.params.messageId;
+ const user = res.locals.user;
+
+ const deleted = await inboxLib.deleteMessage(user, messageId);
+ if (!deleted) throw new NotFound(res.t('messageGroupChatNotFound'));
+
+ res.respond(200);
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {delete} /api/v4/inbox/clear Delete all messages
+ * @apiName clearMessages
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data Empty object
+ *
+ * @apiSuccessExample {json}
+ * {"success":true,"data":{},"notifications":[]}
+ */
+api.clearMessages = {
+ method: 'DELETE',
+ middlewares: [authWithHeaders()],
+ url: '/inbox/clear',
+ async handler (req, res) {
+ const user = res.locals.user;
+
+ await inboxLib.clearPMs(user);
+
+ res.respond(200, {});
},
};
diff --git a/website/server/controllers/api-v4/user.js b/website/server/controllers/api-v4/user.js
new file mode 100644
index 0000000000..77183bdf98
--- /dev/null
+++ b/website/server/controllers/api-v4/user.js
@@ -0,0 +1,209 @@
+import { authWithHeaders } from '../../middlewares/auth';
+import * as userLib from '../../libs/user';
+
+const api = {};
+
+/*
+* NOTE most user routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {get} /api/v4/user Get the authenticated user's profile
+ * @apiName UserGet
+ * @apiGroup User
+ *
+ * @apiDescription The user profile contains data related to the authenticated user including (but not limited to);
+ * Achievements
+ * Authentications (including types and timestamps)
+ * Challenges
+ * Flags (including armoire, tutorial, tour etc...)
+ * Guilds
+ * History (including timestamps and values)
+ * Inbox (without messages in v4)
+ * Invitations (to parties/guilds)
+ * Items (character's full inventory)
+ * New Messages (flags for groups/guilds that have new messages)
+ * Notifications
+ * Party (includes current quest information)
+ * Preferences (user selected prefs)
+ * Profile (name, photo url, blurb)
+ * Purchased (includes purchase history, gem purchased items, plans)
+ * PushDevices (identifiers for mobile devices authorized)
+ * Stats (standard RPG stats, class, buffs, xp, etc..)
+ * Tags
+ * TasksOrder (list of all ids for dailys, habits, rewards and todos)
+ *
+ * @apiParam (Query) {String} [userFields] A list of comma separated user fields to be returned instead of the entire document. Notifications are always returned.
+ *
+ * @apiExample {curl} Example use:
+ * curl -i https://habitica.com/api/v3/user?userFields=achievements,items.mounts
+ *
+ * @apiSuccess {Object} data The user object
+ *
+ * @apiSuccessExample {json} Result:
+ * {
+ * "success": true,
+ * "data": {
+ * -- User data included here, for details of the user model see:
+ * -- https://github.com/HabitRPG/habitica/tree/develop/website/server/models/user
+ * }
+ * }
+ *
+*/
+api.getUser = {
+ method: 'GET',
+ middlewares: [authWithHeaders()],
+ url: '/user',
+ async handler (req, res) {
+ await userLib.get(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {put} /api/v4/user Update the user
+ * @apiName UserUpdate
+ * @apiGroup User
+ *
+ * @apiDescription Some of the user items can be updated, such as preferences, flags and stats.
+ ^
+ * @apiParamExample {json} Request-Example:
+ * {
+ * "achievements.habitBirthdays": 2,
+ * "profile.name": "MadPink",
+ * "stats.hp": 53,
+ * "flags.warnedLowHealth":false,
+ * "preferences.allocationMode":"flat",
+ * "preferences.hair.bangs": 3
+ * }
+ *
+ * @apiSuccess {Object} data The updated user object, the result is identical to the get user call
+ *
+ * @apiError (401) {NotAuthorized} messageUserOperationProtected Returned if the change is not allowed.
+ *
+ * @apiErrorExample {json} Error-Response:
+ * {
+ * "success": false,
+ * "error": "NotAuthorized",
+ * "message": "path `stats.class` was not saved, as it's a protected path."
+ * }
+ */
+api.updateUser = {
+ method: 'PUT',
+ middlewares: [authWithHeaders()],
+ url: '/user',
+ async handler (req, res) {
+ await userLib.update(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/rebirth Use Orb of Rebirth on user
+ * @apiName UserRebirth
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data.user
+ * @apiSuccess {Array} data.tasks User's modified tasks (no rewards)
+ * @apiSuccess {String} message Success message
+ *
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {
+ * },
+ * "message": "You have been reborn!"
+ * {
+ * "type": "REBIRTH_ACHIEVEMENT",
+ * "data": {},
+ * "id": "424d69fa-3a6d-47db-96a4-6db42ed77a43"
+ * }
+ * ]
+ * }
+ *
+ * @apiError {NotAuthorized} Not enough gems
+ *
+ * @apiErrorExample {json}
+ * {"success":false,"error":"NotAuthorized","message":"Not enough Gems"}
+ */
+api.userRebirth = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/rebirth',
+ async handler (req, res) {
+ await userLib.rebirth(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/reroll Reroll a user using the Fortify Potion
+ * @apiName UserReroll
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data.user
+ * @apiSuccess {Object} data.tasks User's modified tasks (no rewards)
+ * @apiSuccess {Object} message Success message
+ *
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {
+ * },
+ * "message": "Fortify complete!"
+ * }
+ *
+ * @apiError {NotAuthorized} Not enough gems
+ *
+ * @apiErrorExample {json}
+ * {"success":false,"error":"NotAuthorized","message":"Not enough Gems"}
+ */
+api.userReroll = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/reroll',
+ async handler (req, res) {
+ await userLib.reroll(req, res, { isV3: false });
+ },
+};
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/reset Reset user
+ * @apiName UserReset
+ * @apiGroup User
+ *
+ * @apiSuccess {Object} data.user
+ * @apiSuccess {Array} data.tasksToRemove IDs of removed tasks
+ * @apiSuccess {String} message Success message
+ *
+ * @apiSuccessExample {json}
+ * {
+ * "success": true,
+ * "data": {--TRUNCATED--},
+ * "tasksToRemove": [
+ * "ebb8748c-0565-431e-9036-b908da25c6b4",
+ * "12a1cecf-68eb-40a7-b282-4f388c32124c"
+ * ]
+ * },
+ * "message": "Reset complete!"
+ * }
+ */
+api.userReset = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/reset',
+ async handler (req, res) {
+ await userLib.reset(req, res, { isV3: false });
+ },
+};
+
+module.exports = api;
diff --git a/website/server/controllers/api-v4/user/spells.js b/website/server/controllers/api-v4/user/spells.js
new file mode 100644
index 0000000000..b167a1aa0a
--- /dev/null
+++ b/website/server/controllers/api-v4/user/spells.js
@@ -0,0 +1,74 @@
+import { authWithHeaders } from '../../../middlewares/auth';
+import {
+ castSpell,
+} from '../../../libs/spells';
+
+let api = {};
+
+/*
+* NOTE most spells routes are still in the v3 controller
+* here there are only routes that had to be split from the v3 version because of
+* some breaking change (for example because their returned the entire user object).
+*/
+
+/* NOTE this route has also an API v3 version */
+
+/**
+ * @api {post} /api/v4/user/class/cast/:spellId Cast a skill (spell) on a target
+ * @apiName UserCast
+ * @apiGroup User
+ *
+
+ * @apiParam (Path) {String=fireball, mpheal, earth, frost, smash, defensiveStance, valorousPresence, intimidate, pickPocket, backStab, toolsOfTrade, stealth, heal, protectAura, brightness, healAll} spellId The skill to cast.
+ * @apiParam (Query) {UUID} targetId Query parameter, necessary if the spell is cast on a party member or task. Not used if the spell is case on the user or the user's current party.
+ * @apiParamExample {json} Query example:
+ * Cast "Pickpocket" on a task:
+ * https://habitica.com/api/v3/user/class/cast/pickPocket?targetId=fd427623...
+ *
+ * Cast "Tools of the Trade" on the party:
+ * https://habitica.com/api/v3/user/class/cast/toolsOfTrade
+ *
+ * @apiSuccess data Will return the modified targets. For party members only the necessary fields will be populated. The user is always returned.
+ *
+ * @apiDescription Skill Key to Name Mapping
+ * Mage
+ * fireball: "Burst of Flames"
+ * mpheal: "Ethereal Surge"
+ * earth: "Earthquake"
+ * frost: "Chilling Frost"
+ *
+ * Warrior
+ * smash: "Brutal Smash"
+ * defensiveStance: "Defensive Stance"
+ * valorousPresence: "Valorous Presence"
+ * intimidate: "Intimidating Gaze"
+ *
+ * Rogue
+ * pickPocket: "Pickpocket"
+ * backStab: "Backstab"
+ * toolsOfTrade: "Tools of the Trade"
+ * stealth: "Stealth"
+ *
+ * Healer
+ * heal: "Healing Light"
+ * protectAura: "Protective Aura"
+ * brightness: "Searing Brightness"
+ * healAll: "Blessing"
+ *
+ * @apiError (400) {NotAuthorized} Not enough mana.
+ * @apiUse TaskNotFound
+ * @apiUse PartyNotFound
+ * @apiUse UserNotFound
+ */
+api.castSpell = {
+ method: 'POST',
+ middlewares: [authWithHeaders()],
+ url: '/user/class/cast/:spellId',
+ async handler (req, res) {
+ await castSpell(req, res, {
+ isV3: false,
+ });
+ },
+};
+
+module.exports = api;
diff --git a/website/server/controllers/top-level/dataexport.js b/website/server/controllers/top-level/dataexport.js
index af59996f4f..70cb25a91a 100644
--- a/website/server/controllers/top-level/dataexport.js
+++ b/website/server/controllers/top-level/dataexport.js
@@ -1,5 +1,6 @@
import { authWithSession } from '../../middlewares/auth';
import { model as User } from '../../models/user';
+import * as inboxLib from '../../libs/inbox';
import * as Tasks from '../../models/task';
import {
NotFound,
@@ -81,15 +82,23 @@ api.exportUserHistory = {
},
};
-// Convert user to json and attach tasks divided by type
+// Convert user to json and attach tasks divided by type and inbox messages
// at user.tasks[`${taskType}s`] (user.tasks.{dailys/habits/...})
async function _getUserDataForExport (user, xmlMode = false) {
let userData = user.toJSON();
userData.tasks = {};
- let tasks = await Tasks.Task.find({
- userId: user._id,
- }).exec();
+ userData.inbox.messages = {};
+
+ const [tasks, messages] = await Promise.all([
+ Tasks.Task.find({
+ userId: user._id,
+ }).exec(),
+
+ inboxLib.getUserInbox(user, false),
+ ]);
+
+ userData.inbox.messages = messages;
_(tasks)
.map(task => task.toJSON())
@@ -296,18 +305,14 @@ api.exportUserPrivateMessages = {
url: '/export/inbox.html',
middlewares: [authWithSession],
async handler (req, res) {
- let user = res.locals.user;
+ const user = res.locals.user;
const timezoneOffset = user.preferences.timezoneOffset;
const dateFormat = user.preferences.dateFormat.toUpperCase();
const TO = res.t('to');
const FROM = res.t('from');
- let inbox = Object.keys(user.inbox.messages).map(key => user.inbox.messages[key]);
-
- inbox = _.sortBy(inbox, function sortBy (num) {
- return num.sort * -1;
- });
+ const inbox = await inboxLib.getUserInbox(user);
let messages = '';
diff --git a/website/server/controllers/top-level/payments/amazon.js b/website/server/controllers/top-level/payments/amazon.js
index 660569135a..c2d5d09ffd 100644
--- a/website/server/controllers/top-level/payments/amazon.js
+++ b/website/server/controllers/top-level/payments/amazon.js
@@ -4,7 +4,6 @@ import {
import amzLib from '../../../libs/payments/amazon';
import {
authWithHeaders,
- authWithUrl,
} from '../../../middlewares/auth';
import shared from '../../../../common';
@@ -128,7 +127,7 @@ api.subscribe = {
api.subscribeCancel = {
method: 'GET',
url: '/amazon/subscribe/cancel',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.query.groupId;
diff --git a/website/server/controllers/top-level/payments/iap.js b/website/server/controllers/top-level/payments/iap.js
index adca65e23c..f6f6a3653c 100644
--- a/website/server/controllers/top-level/payments/iap.js
+++ b/website/server/controllers/top-level/payments/iap.js
@@ -1,6 +1,5 @@
import {
authWithHeaders,
- authWithUrl,
} from '../../../middlewares/auth';
import {
BadRequest,
@@ -21,7 +20,7 @@ let api = {};
api.iapAndroidVerify = {
method: 'POST',
url: '/iap/android/verify',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let iapBody = req.body;
@@ -41,7 +40,7 @@ api.iapAndroidVerify = {
api.iapSubscriptionAndroid = {
method: 'POST',
url: '/iap/android/subscribe',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
if (!req.body.sku) throw new BadRequest(res.t('missingSubscriptionCode'));
let user = res.locals.user;
@@ -62,7 +61,7 @@ api.iapSubscriptionAndroid = {
api.iapCancelSubscriptionAndroid = {
method: 'GET',
url: '/iap/android/subscribe/cancel',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
@@ -104,7 +103,7 @@ api.iapiOSVerify = {
api.iapSubscriptioniOS = {
method: 'POST',
url: '/iap/ios/subscribe',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
if (!req.body.sku) throw new BadRequest(res.t('missingSubscriptionCode'));
if (!req.body.receipt) throw new BadRequest(res.t('missingReceipt'));
@@ -124,7 +123,7 @@ api.iapSubscriptioniOS = {
api.iapCancelSubscriptioniOS = {
method: 'GET',
url: '/iap/ios/subscribe/cancel',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
diff --git a/website/server/controllers/top-level/payments/paypal.js b/website/server/controllers/top-level/payments/paypal.js
index cb3f9a00af..6461bccc79 100644
--- a/website/server/controllers/top-level/payments/paypal.js
+++ b/website/server/controllers/top-level/payments/paypal.js
@@ -2,8 +2,8 @@
import paypalPayments from '../../../libs/payments/paypal';
import shared from '../../../../common';
import {
- authWithUrl,
authWithSession,
+ authWithHeaders,
} from '../../../middlewares/auth';
import {
BadRequest,
@@ -21,7 +21,7 @@ let api = {};
api.checkout = {
method: 'GET',
url: '/paypal/checkout',
- middlewares: [authWithUrl],
+ middlewares: [authWithSession],
async handler (req, res) {
let gift = req.query.gift ? JSON.parse(req.query.gift) : undefined;
req.session.gift = req.query.gift;
@@ -75,7 +75,7 @@ api.checkoutSuccess = {
api.subscribe = {
method: 'GET',
url: '/paypal/subscribe',
- middlewares: [authWithUrl],
+ middlewares: [authWithSession],
async handler (req, res) {
if (!req.query.sub) throw new BadRequest(apiError('missingSubKey'));
@@ -136,7 +136,7 @@ api.subscribeSuccess = {
api.subscribeCancel = {
method: 'GET',
url: '/paypal/subscribe/cancel',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.query.groupId;
diff --git a/website/server/controllers/top-level/payments/stripe.js b/website/server/controllers/top-level/payments/stripe.js
index 216129ed76..4dbd8c8c4d 100644
--- a/website/server/controllers/top-level/payments/stripe.js
+++ b/website/server/controllers/top-level/payments/stripe.js
@@ -1,7 +1,6 @@
import shared from '../../../../common';
import {
authWithHeaders,
- authWithUrl,
} from '../../../middlewares/auth';
import stripePayments from '../../../libs/payments/stripe';
@@ -74,16 +73,18 @@ api.subscribeEdit = {
api.subscribeCancel = {
method: 'GET',
url: '/stripe/subscribe/cancel',
- middlewares: [authWithUrl],
+ middlewares: [authWithHeaders()],
async handler (req, res) {
let user = res.locals.user;
let groupId = req.query.groupId;
- let redirect = req.query.redirect;
await stripePayments.cancelSubscription({user, groupId});
- if (redirect === 'none') return res.respond(200, {});
- return res.redirect('/');
+ if (req.query.noRedirect) {
+ res.respond(200);
+ } else {
+ res.redirect('/');
+ }
},
};
diff --git a/website/server/libs/auth/index.js b/website/server/libs/auth/index.js
new file mode 100644
index 0000000000..f783c59b40
--- /dev/null
+++ b/website/server/libs/auth/index.js
@@ -0,0 +1,208 @@
+import {
+ BadRequest,
+ NotAuthorized,
+ NotFound,
+} from '../../libs/errors';
+import * as passwordUtils from '../../libs/password';
+import { model as User } from '../../models/user';
+import { model as EmailUnsubscription } from '../../models/emailUnsubscription';
+import { sendTxn as sendTxnEmail } from '../../libs/email';
+import common from '../../../common';
+import logger from '../../libs/logger';
+import { decrypt } from '../../libs/encryption';
+import { model as Group } from '../../models/group';
+import moment from 'moment';
+import { loginSocial } from './social.js';
+import { loginRes } from './utils';
+import { verifyUsername } from '../user/validation';
+
+const USERNAME_LENGTH_MIN = 1;
+const USERNAME_LENGTH_MAX = 20;
+
+// When the user signed up after having been invited to a group, invite them automatically to the group
+async function _handleGroupInvitation (user, invite) {
+ // wrapping the code in a try because we don't want it to prevent the user from signing up
+ // that's why errors are not translated
+ try {
+ let {sentAt, id: groupId, inviter} = JSON.parse(decrypt(invite));
+
+ // check that the invite has not expired (after 7 days)
+ if (sentAt && moment().subtract(7, 'days').isAfter(sentAt)) {
+ let err = new Error('Invite expired.');
+ err.privateData = invite;
+ throw err;
+ }
+
+ let group = await Group.getGroup({user, optionalMembership: true, groupId, fields: 'name type'});
+ if (!group) throw new NotFound('Group not found.');
+
+ if (group.type === 'party') {
+ user.invitations.party = {id: group._id, name: group.name, inviter};
+ user.invitations.parties.push(user.invitations.party);
+ } else {
+ user.invitations.guilds.push({id: group._id, name: group.name, inviter});
+ }
+
+ // award the inviter with 'Invited a Friend' achievement
+ inviter = await User.findById(inviter);
+ if (!inviter.achievements.invitedFriend) {
+ inviter.achievements.invitedFriend = true;
+ inviter.addNotification('INVITED_FRIEND_ACHIEVEMENT');
+ await inviter.save();
+ }
+ } catch (err) {
+ logger.error(err);
+ }
+}
+
+function hasLocalAuth (user) {
+ return user.auth.local.email && user.auth.local.hashed_password;
+}
+
+function hasBackupAuth (user, networkToRemove) {
+ if (hasLocalAuth(user)) {
+ return true;
+ }
+
+ let hasAlternateNetwork = common.constants.SUPPORTED_SOCIAL_NETWORKS.find((network) => {
+ return network.key !== networkToRemove && user.auth[network.key].id;
+ });
+
+ return hasAlternateNetwork;
+}
+
+async function registerLocal (req, res, { isV3 = false }) {
+ const existingUser = res.locals.user; // If adding local auth to social user
+
+ req.checkBody({
+ username: {
+ notEmpty: true,
+ errorMessage: res.t('missingUsername'),
+ // TODO use the constants in the error message above
+ isLength: {options: {min: USERNAME_LENGTH_MIN, max: USERNAME_LENGTH_MAX}, errorMessage: res.t('usernameWrongLength')},
+ matches: {options: /^[-_a-zA-Z0-9]+$/, errorMessage: res.t('usernameBadCharacters')},
+ },
+ email: {
+ notEmpty: true,
+ errorMessage: res.t('missingEmail'),
+ isEmail: {errorMessage: res.t('notAnEmail')},
+ },
+ password: {
+ notEmpty: true,
+ errorMessage: res.t('missingPassword'),
+ equals: {options: [req.body.confirmPassword], errorMessage: res.t('passwordConfirmationMatch')},
+ },
+ });
+
+ let validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ const issues = verifyUsername(req.body.username, res);
+ if (issues.length > 0) throw new BadRequest(issues.join(' '));
+
+ let { email, username, password } = req.body;
+
+ // Get the lowercase version of username to check that we do not have duplicates
+ // So we can search for it in the database and then reject the choosen username if 1 or more results are found
+ email = email.toLowerCase();
+ username = username.trim();
+ let lowerCaseUsername = username.toLowerCase();
+
+ // Search for duplicates using lowercase version of username
+ let user = await User.findOne({$or: [
+ {'auth.local.email': email},
+ {'auth.local.lowerCaseUsername': lowerCaseUsername},
+ ]}, {'auth.local': 1}).exec();
+
+ if (user) {
+ if (email === user.auth.local.email) throw new NotAuthorized(res.t('emailTaken'));
+ // Check that the lowercase username isn't already used
+ if (existingUser) {
+ if (lowerCaseUsername === user.auth.local.lowerCaseUsername && existingUser._id !== user._id) throw new NotAuthorized(res.t('usernameTaken'));
+ } else if (lowerCaseUsername === user.auth.local.lowerCaseUsername) {
+ throw new NotAuthorized(res.t('usernameTaken'));
+ }
+ }
+
+ let hashed_password = await passwordUtils.bcryptHash(password); // eslint-disable-line camelcase
+ let newUser = {
+ auth: {
+ local: {
+ username,
+ lowerCaseUsername,
+ email,
+ hashed_password, // eslint-disable-line camelcase,
+ passwordHashMethod: 'bcrypt',
+ },
+ },
+ preferences: {
+ language: req.language,
+ },
+ };
+
+ if (existingUser) {
+ let hasSocialAuth = common.constants.SUPPORTED_SOCIAL_NETWORKS.find(network => {
+ if (existingUser.auth.hasOwnProperty(network.key)) {
+ return existingUser.auth[network.key].id;
+ }
+ });
+ if (!hasSocialAuth) throw new NotAuthorized(res.t('onlySocialAttachLocal'));
+ existingUser.auth.local = newUser.auth.local;
+ newUser = existingUser;
+ } else {
+ newUser = new User(newUser);
+ newUser.registeredThrough = req.headers['x-client']; // Not saved, used to create the correct tasks based on the device used
+ }
+
+ // we check for partyInvite for backward compatibility
+ if (req.query.groupInvite || req.query.partyInvite) {
+ await _handleGroupInvitation(newUser, req.query.groupInvite || req.query.partyInvite);
+ }
+
+ newUser.flags.verifiedUsername = true;
+
+ let savedUser = await newUser.save();
+
+ let userToJSON;
+ if (isV3) {
+ userToJSON = await savedUser.toJSONWithInbox();
+ } else {
+ userToJSON = savedUser.toJSON();
+ }
+
+ if (existingUser) {
+ res.respond(200, userToJSON.auth.local); // We convert to toJSON to hide private fields
+ } else {
+ let userJSON = userToJSON;
+ userJSON.newUser = true;
+ res.respond(201, userJSON);
+ }
+
+ // Clean previous email preferences and send welcome email
+ EmailUnsubscription
+ .remove({email: savedUser.auth.local.email})
+ .then(() => {
+ if (!existingUser) sendTxnEmail(savedUser, 'welcome');
+ });
+
+ if (!existingUser) {
+ res.analytics.track('register', {
+ category: 'acquisition',
+ type: 'local',
+ gaLabel: 'local',
+ uuid: savedUser._id,
+ headers: req.headers,
+ user: savedUser,
+ });
+ }
+
+ return null;
+}
+
+module.exports = {
+ loginRes,
+ hasBackupAuth,
+ hasLocalAuth,
+ loginSocial,
+ registerLocal,
+};
diff --git a/website/server/libs/auth/social.js b/website/server/libs/auth/social.js
new file mode 100644
index 0000000000..63edb96085
--- /dev/null
+++ b/website/server/libs/auth/social.js
@@ -0,0 +1,108 @@
+import passport from 'passport';
+import common from '../../../common';
+import { BadRequest } from '../errors';
+import {
+ generateUsername,
+ loginRes,
+} from './utils';
+import { model as User } from '../../models/user';
+import { model as EmailUnsubscription } from '../../models/emailUnsubscription';
+import { sendTxn as sendTxnEmail } from '../email';
+
+function _passportProfile (network, accessToken) {
+ return new Promise((resolve, reject) => {
+ passport._strategies[network].userProfile(accessToken, (err, profile) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(profile);
+ }
+ });
+ });
+}
+
+async function loginSocial (req, res) {
+ const existingUser = res.locals.user;
+ const accessToken = req.body.authResponse.access_token;
+ const network = req.body.network;
+
+ const isSupportedNetwork = common.constants.SUPPORTED_SOCIAL_NETWORKS.find(supportedNetwork => {
+ return supportedNetwork.key === network;
+ });
+ if (!isSupportedNetwork) throw new BadRequest(res.t('unsupportedNetwork'));
+
+ const profile = await _passportProfile(network, accessToken);
+
+ let user = await User.findOne({
+ [`auth.${network}.id`]: profile.id,
+ }, {_id: 1, apiToken: 1, auth: 1}).exec();
+
+ // User already signed up
+ if (user) {
+ return loginRes(user, ...arguments);
+ }
+
+ const generatedUsername = generateUsername();
+
+ user = {
+ auth: {
+ [network]: {
+ id: profile.id,
+ emails: profile.emails,
+ },
+ local: {
+ username: generatedUsername,
+ lowerCaseUsername: generatedUsername,
+ },
+ },
+ profile: {
+ name: profile.displayName || profile.name || profile.username,
+ },
+ preferences: {
+ language: req.language,
+ },
+ };
+
+ if (existingUser) {
+ existingUser.auth[network] = user.auth[network];
+ user = existingUser;
+ } else {
+ user = new User(user);
+ user.registeredThrough = req.headers['x-client']; // Not saved, used to create the correct tasks based on the device used
+ }
+
+ const savedUser = await user.save();
+
+ if (!existingUser) {
+ user.newUser = true;
+ }
+
+ loginRes(user, ...arguments);
+
+ // Clean previous email preferences
+ if (savedUser.auth[network].emails && savedUser.auth[network].emails[0] && savedUser.auth[network].emails[0].value) {
+ EmailUnsubscription
+ .remove({email: savedUser.auth[network].emails[0].value.toLowerCase()})
+ .exec()
+ .then(() => {
+ if (!existingUser) sendTxnEmail(savedUser, 'welcome');
+ }); // eslint-disable-line max-nested-callbacks
+ }
+
+ if (!existingUser) {
+ res.analytics.track('register', {
+ category: 'acquisition',
+ type: network,
+ gaLabel: network,
+ uuid: savedUser._id,
+ headers: req.headers,
+ user: savedUser,
+ });
+ }
+
+ return null;
+}
+
+module.exports = {
+ loginSocial,
+};
diff --git a/website/server/libs/auth/utils.js b/website/server/libs/auth/utils.js
new file mode 100644
index 0000000000..954dfc36f0
--- /dev/null
+++ b/website/server/libs/auth/utils.js
@@ -0,0 +1,30 @@
+import nconf from 'nconf';
+import shortid from 'short-uuid';
+
+import { NotAuthorized } from '../errors';
+
+const COMMUNITY_MANAGER_EMAIL = nconf.get('EMAILS:COMMUNITY_MANAGER_EMAIL');
+const translator = shortid('0123456789abcdefghijklmnopqrstuvwxyz');
+
+function generateUsername () {
+ let newName = `hb-${translator.new()}`;
+ return newName.substring(0, 20);
+}
+
+function loginRes (user, req, res) {
+ if (user.auth.blocked) throw new NotAuthorized(res.t('accountSuspended', {communityManagerEmail: COMMUNITY_MANAGER_EMAIL, userId: user._id}));
+
+ const responseData = {
+ id: user._id,
+ apiToken: user.apiToken,
+ newUser: user.newUser || false,
+ username: user.auth.local.username,
+ };
+
+ return res.respond(200, responseData);
+}
+
+module.exports = {
+ generateUsername,
+ loginRes,
+};
diff --git a/website/server/libs/bannedWords.js b/website/server/libs/bannedWords.js
index a694cf2672..7b50c77b85 100644
--- a/website/server/libs/bannedWords.js
+++ b/website/server/libs/bannedWords.js
@@ -108,6 +108,8 @@ let bannedWords = [
'fucker',
'fuckers',
'f\\*ck',
+ 'fuckhead',
+ 'fuckheads',
'motherfucker',
'motherfuckers',
'motherfucking',
diff --git a/website/server/libs/chat/group-chat.js b/website/server/libs/chat/group-chat.js
index 55a6089c94..72edb4d52d 100644
--- a/website/server/libs/chat/group-chat.js
+++ b/website/server/libs/chat/group-chat.js
@@ -1,4 +1,4 @@
-import { model as Chat } from '../../models/chat';
+import { chatModel as Chat } from '../../models/message';
import { MAX_CHAT_COUNT, MAX_SUBBED_GROUP_CHAT_COUNT } from '../../models/group';
// @TODO: Don't use this method when the group can be saved.
diff --git a/website/server/libs/chatReporting/groupChatReporter.js b/website/server/libs/chatReporting/groupChatReporter.js
index f883b6716d..1e06d24d5c 100644
--- a/website/server/libs/chatReporting/groupChatReporter.js
+++ b/website/server/libs/chatReporting/groupChatReporter.js
@@ -9,7 +9,7 @@ import {
import { getGroupUrl, sendTxn } from '../email';
import slack from '../slack';
import { model as Group } from '../../models/group';
-import { model as Chat } from '../../models/chat';
+import { chatModel as Chat } from '../../models/message';
import apiError from '../apiError';
const COMMUNITY_MANAGER_EMAIL = nconf.get('EMAILS:COMMUNITY_MANAGER_EMAIL');
diff --git a/website/server/libs/coupons/index.js b/website/server/libs/coupons/index.js
new file mode 100644
index 0000000000..e32c469962
--- /dev/null
+++ b/website/server/libs/coupons/index.js
@@ -0,0 +1,10 @@
+import { model as Coupon } from '../../models/coupon';
+
+export async function enterCode (req, res, user) {
+ req.checkParams('code', res.t('couponCodeRequired')).notEmpty();
+
+ let validationErrors = req.validationErrors();
+ if (validationErrors) throw validationErrors;
+
+ await Coupon.apply(user, req, req.params.code);
+}
\ No newline at end of file
diff --git a/website/server/libs/cron.js b/website/server/libs/cron.js
index e83a92f6b9..3091987637 100644
--- a/website/server/libs/cron.js
+++ b/website/server/libs/cron.js
@@ -186,6 +186,16 @@ function trackCronAnalytics (analytics, user, _progress, options) {
headers: options.headers,
loginIncentives: user.loginIncentives,
});
+
+ if (user.party && user.party.quest && !user.party.quest.RSVPNeeded && !user.party.quest.completed && user.party.quest.key && !user.preferences.sleep) {
+ analytics.track('quest participation', {
+ category: 'behavior',
+ uuid: user._id,
+ user,
+ questName: user.party.quest.key,
+ headers: options.headers,
+ });
+ }
}
function awardLoginIncentives (user) {
diff --git a/website/server/libs/forbiddenUsernames.js b/website/server/libs/forbiddenUsernames.js
new file mode 100644
index 0000000000..b39f10032e
--- /dev/null
+++ b/website/server/libs/forbiddenUsernames.js
@@ -0,0 +1,20 @@
+/* eslint-disable no-multiple-empty-lines */
+
+// This file contains usernames that we do not want users to use, because they give the account more legitimacy and may deceive users.
+let bannedWords = [
+ 'TESTPLACEHOLDERSWEARWORDHERE',
+ 'TESTPLACEHOLDERSWEARWORDHERE1',
+
+
+
+
+ 'support',
+ 'habitica',
+ 'habitrpg',
+ 'admin',
+ 'administrator',
+ 'moderator',
+ 'gryphon',
+];
+
+module.exports = bannedWords;
diff --git a/website/server/libs/inbox/index.js b/website/server/libs/inbox/index.js
new file mode 100644
index 0000000000..cbdda9d8e2
--- /dev/null
+++ b/website/server/libs/inbox/index.js
@@ -0,0 +1,34 @@
+import { inboxModel as Inbox } from '../../models/message';
+
+export async function getUserInbox (user, asArray = true) {
+ const messages = (await Inbox
+ .find({ownerId: user._id})
+ .sort({timestamp: -1})
+ .exec()).map(msg => msg.toJSON());
+
+ if (asArray) {
+ return messages;
+ } else {
+ const messagesObj = {};
+ messages.forEach(msg => messagesObj[msg._id] = msg);
+
+ return messagesObj;
+ }
+}
+
+export async function deleteMessage (user, messageId) {
+ const message = await Inbox.findOne({_id: messageId, ownerId: user._id }).exec();
+ if (!message) return false;
+ await Inbox.remove({_id: message._id, ownerId: user._id}).exec();
+
+ return true;
+}
+
+export async function clearPMs (user) {
+ user.inbox.newMessages = 0;
+
+ await Promise.all([
+ user.save(),
+ Inbox.remove({ownerId: user._id}).exec(),
+ ]);
+}
diff --git a/website/server/libs/payments/groupPayments.js b/website/server/libs/payments/groupPayments.js
index 539200fe55..2ad944d71f 100644
--- a/website/server/libs/payments/groupPayments.js
+++ b/website/server/libs/payments/groupPayments.js
@@ -207,7 +207,7 @@ async function cancelGroupSubscriptionForUser (user, group, userWasRemoved = fal
if (user.purchased.plan.customerId !== this.constants.GROUP_PLAN_CUSTOMER_ID) return;
let userGroups = user.guilds.toObject();
- userGroups.push('party');
+ if (user.party._id) userGroups.push(user.party._id);
let index = userGroups.indexOf(group._id);
userGroups.splice(index, 1);
diff --git a/website/server/libs/routes.js b/website/server/libs/routes.js
index 5d9864940b..85a7141300 100644
--- a/website/server/libs/routes.js
+++ b/website/server/libs/routes.js
@@ -52,7 +52,7 @@ module.exports.walkControllers = function walkControllers (router, filePath, ove
.readdirSync(filePath)
.forEach(fileName => {
if (!fs.statSync(filePath + fileName).isFile()) {
- walkControllers(router, `${filePath}${fileName}/`);
+ walkControllers(router, `${filePath}${fileName}/`, overrides);
} else if (fileName.match(/\.js$/)) {
let controller = require(filePath + fileName); // eslint-disable-line global-require
module.exports.readController(router, controller, overrides);
diff --git a/website/server/libs/setupPassport.js b/website/server/libs/setupPassport.js
index b8ce774983..9f17200fd1 100644
--- a/website/server/libs/setupPassport.js
+++ b/website/server/libs/setupPassport.js
@@ -20,6 +20,9 @@ passport.use(new FacebookStrategy({
clientID: nconf.get('FACEBOOK_KEY'),
clientSecret: nconf.get('FACEBOOK_SECRET'),
profileFields: ['id', 'email', 'displayName'],
+ profileURL: 'https://graph.facebook.com/v2.8/me',
+ authorizationURL: 'https://www.facebook.com/v2.8/dialog/oauth',
+ tokenURL: 'https://graph.facebook.com/v2.8/oauth/access_token',
// callbackURL: nconf.get("BASE_URL") + "/auth/facebook/callback"
}, (accessToken, refreshToken, profile, done) => done(null, profile)));
diff --git a/website/server/libs/spells.js b/website/server/libs/spells.js
index 61f4d83ccb..2af8f7e8b7 100644
--- a/website/server/libs/spells.js
+++ b/website/server/libs/spells.js
@@ -3,7 +3,15 @@ import * as Tasks from '../models/task';
import {
NotFound,
BadRequest,
+ NotAuthorized,
} from './errors';
+import common from '../../common';
+import {
+ model as Group,
+} from '../models/group';
+import apiError from '../libs/apiError';
+
+const partyMembersFields = 'profile.name stats achievements items.special';
// @TODO: After refactoring individual spells, move quantity to the calculations
@@ -116,4 +124,91 @@ async function castUserSpell (res, req, party, partyMembers, targetId, user, spe
return partyMembers;
}
-export {castTaskSpell, castMultiTaskSpell, castSelfSpell, castPartySpell, castUserSpell};
+async function castSpell (req, res, {isV3 = false}) {
+ const user = res.locals.user;
+ const spellId = req.params.spellId;
+ const targetId = req.query.targetId;
+ const quantity = req.body.quantity || 1;
+
+ // optional because not required by all targetTypes, presence is checked later if necessary
+ req.checkQuery('targetId', res.t('targetIdUUID')).optional().isUUID();
+
+ let reqValidationErrors = req.validationErrors();
+ if (reqValidationErrors) throw reqValidationErrors;
+
+ let klass = common.content.spells.special[spellId] ? 'special' : user.stats.class;
+ let spell = common.content.spells[klass][spellId];
+
+ if (!spell) throw new NotFound(apiError('spellNotFound', {spellId}));
+ if (spell.mana > user.stats.mp) throw new NotAuthorized(res.t('notEnoughMana'));
+ if (spell.value > user.stats.gp && !spell.previousPurchase) throw new NotAuthorized(res.t('messageNotEnoughGold'));
+ if (spell.lvl > user.stats.lvl) throw new NotAuthorized(res.t('spellLevelTooHigh', {level: spell.lvl}));
+
+ let targetType = spell.target;
+
+ if (targetType === 'task') {
+ const results = await castTaskSpell(res, req, targetId, user, spell, quantity);
+ let userToJson = results[0];
+
+ if (isV3) userToJson = await userToJson.toJSONWithInbox();
+
+ res.respond(200, {
+ user: userToJson,
+ task: results[1],
+ });
+ } else if (targetType === 'self') {
+ await castSelfSpell(req, user, spell, quantity);
+
+ let userToJson = user;
+ if (isV3) userToJson = await userToJson.toJSONWithInbox();
+
+ res.respond(200, {
+ user: userToJson,
+ });
+ } else if (targetType === 'tasks') { // new target type in v3: when all the user's tasks are necessary
+ const response = await castMultiTaskSpell(req, user, spell, quantity);
+ if (isV3) response.user = await response.user.toJSONWithInbox();
+ res.respond(200, response);
+ } else if (targetType === 'party' || targetType === 'user') {
+ const party = await Group.getGroup({groupId: 'party', user});
+ // arrays of users when targetType is 'party' otherwise single users
+ let partyMembers;
+
+ if (targetType === 'party') {
+ partyMembers = await castPartySpell(req, party, partyMembers, user, spell, quantity);
+ } else {
+ partyMembers = await castUserSpell(res, req, party, partyMembers, targetId, user, spell, quantity);
+ }
+
+ let partyMembersRes = Array.isArray(partyMembers) ? partyMembers : [partyMembers];
+
+ // Only return some fields.
+ // See comment above on why we can't just select the necessary fields when querying
+ partyMembersRes = partyMembersRes.map(partyMember => {
+ return common.pickDeep(partyMember.toJSON(), common.$w(partyMembersFields));
+ });
+
+ let userToJson = user;
+ if (isV3) userToJson = await userToJson.toJSONWithInbox();
+
+ res.respond(200, {
+ partyMembers: partyMembersRes,
+ user: userToJson,
+ });
+
+ if (party && !spell.silent) {
+ let message = `\`${user.profile.name} casts ${spell.text()}${targetType === 'user' ? ` on ${partyMembers.profile.name}` : ' for the party'}.\``;
+ const newChatMessage = party.sendChat(message);
+ await newChatMessage.save();
+ }
+ }
+}
+
+export {
+ castTaskSpell,
+ castMultiTaskSpell,
+ castSelfSpell,
+ castPartySpell,
+ castUserSpell,
+ castSpell,
+};
diff --git a/website/server/libs/user/index.js b/website/server/libs/user/index.js
new file mode 100644
index 0000000000..1274e16d21
--- /dev/null
+++ b/website/server/libs/user/index.js
@@ -0,0 +1,251 @@
+import common from '../../../common';
+import * as Tasks from '../../models/task';
+import _ from 'lodash';
+import {
+ BadRequest,
+ NotAuthorized,
+} from '../../libs/errors';
+import { model as User } from '../../models/user';
+import {nameContainsSlur} from './validation';
+
+
+export async function get (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+ let userToJSON;
+
+ if (isV3) {
+ userToJSON = await user.toJSONWithInbox();
+ } else {
+ userToJSON = user.toJSON();
+ }
+
+ // Remove apiToken from response TODO make it private at the user level? returned in signup/login
+ delete userToJSON.apiToken;
+
+ if (!req.query.userFields) {
+ let {daysMissed} = user.daysUserHasMissed(new Date(), req);
+ userToJSON.needsCron = false;
+ if (daysMissed > 0) userToJSON.needsCron = true;
+ User.addComputedStatsToJSONObj(userToJSON.stats, userToJSON);
+ }
+
+ return res.respond(200, userToJSON);
+}
+
+const updatablePaths = [
+ '_ABtests.counter',
+
+ 'flags.customizationsNotification',
+ 'flags.showTour',
+ 'flags.tour',
+ 'flags.tutorial',
+ 'flags.communityGuidelinesAccepted',
+ 'flags.welcomed',
+ 'flags.cardReceived',
+ 'flags.warnedLowHealth',
+ 'flags.newStuff',
+
+ 'achievements',
+
+ 'party.order',
+ 'party.orderAscending',
+ 'party.quest.completed',
+ 'party.quest.RSVPNeeded',
+
+ 'preferences',
+ 'profile',
+ 'stats',
+ 'inbox.optOut',
+ 'tags',
+];
+
+// This tells us for which paths users can call `PUT /user`.
+// The trick here is to only accept leaf paths, not root/intermediate paths (see http://goo.gl/OEzkAs)
+let acceptablePUTPaths = _.reduce(require('./../../models/user').schema.paths, (accumulator, val, leaf) => {
+ let found = _.find(updatablePaths, (rootPath) => {
+ return leaf.indexOf(rootPath) === 0;
+ });
+
+ if (found) accumulator[leaf] = true;
+
+ return accumulator;
+}, {});
+
+const restrictedPUTSubPaths = [
+ 'stats.class',
+
+ 'preferences.disableClasses',
+ 'preferences.sleep',
+ 'preferences.webhooks',
+];
+
+_.each(restrictedPUTSubPaths, (removePath) => {
+ delete acceptablePUTPaths[removePath];
+});
+
+const requiresPurchase = {
+ 'preferences.background': 'background',
+ 'preferences.shirt': 'shirt',
+ 'preferences.size': 'size',
+ 'preferences.skin': 'skin',
+ 'preferences.hair.bangs': 'hair.bangs',
+ 'preferences.hair.base': 'hair.base',
+ 'preferences.hair.beard': 'hair.beard',
+ 'preferences.hair.color': 'hair.color',
+ 'preferences.hair.flower': 'hair.flower',
+ 'preferences.hair.mustache': 'hair.mustache',
+};
+
+function checkPreferencePurchase (user, path, item) {
+ let itemPath = `${path}.${item}`;
+ let appearance = _.get(common.content.appearances, itemPath);
+ if (!appearance) return false;
+ if (appearance.price === 0) return true;
+
+ return _.get(user.purchased, itemPath);
+}
+
+export async function update (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+
+ let promisesForTagsRemoval = [];
+
+ if (req.body['profile.name'] !== undefined) {
+ const newName = req.body['profile.name'];
+ if (newName === null) throw new BadRequest(res.t('invalidReqParams'));
+ if (newName.length > 30) throw new BadRequest(res.t('displaynameIssueLength'));
+ if (nameContainsSlur(newName)) throw new BadRequest(res.t('displaynameIssueSlur'));
+ }
+
+ _.each(req.body, (val, key) => {
+ let purchasable = requiresPurchase[key];
+
+ if (purchasable && !checkPreferencePurchase(user, purchasable, val)) {
+ throw new NotAuthorized(res.t('mustPurchaseToSet', { val, key }));
+ }
+
+ if (acceptablePUTPaths[key] && key !== 'tags') {
+ _.set(user, key, val);
+ } else if (key === 'tags') {
+ if (!Array.isArray(val)) throw new BadRequest('mustBeArray');
+
+ const removedTagsIds = [];
+
+ const oldTags = [];
+
+ // Keep challenge and group tags
+ user.tags.forEach(t => {
+ if (t.group) {
+ oldTags.push(t);
+ } else {
+ removedTagsIds.push(t.id);
+ }
+ });
+
+ user.tags = oldTags;
+
+ val.forEach(t => {
+ let oldI = removedTagsIds.findIndex(id => id === t.id);
+ if (oldI > -1) {
+ removedTagsIds.splice(oldI, 1);
+ }
+
+ user.tags.push(t);
+ });
+
+ // Remove from all the tasks
+ // NOTE each tag to remove requires a query
+
+ promisesForTagsRemoval = removedTagsIds.map(tagId => {
+ return Tasks.Task.update({
+ userId: user._id,
+ }, {
+ $pull: {
+ tags: tagId,
+ },
+ }, {multi: true}).exec();
+ });
+ } else {
+ throw new NotAuthorized(res.t('messageUserOperationProtected', { operation: key }));
+ }
+ });
+
+
+ await Promise.all([user.save()].concat(promisesForTagsRemoval));
+
+ let userToJSON = user;
+
+ if (isV3) userToJSON = await user.toJSONWithInbox();
+
+ return res.respond(200, userToJSON);
+}
+
+export async function reset (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+
+ const tasks = await Tasks.Task.find({
+ userId: user._id,
+ ...Tasks.taskIsGroupOrChallengeQuery,
+ }).select('_id type challenge group').exec();
+
+ const resetRes = common.ops.reset(user, tasks);
+ if (isV3) {
+ resetRes[0].user = await resetRes[0].user.toJSONWithInbox();
+ }
+
+ await Promise.all([
+ Tasks.Task.remove({_id: {$in: resetRes[0].tasksToRemove}, userId: user._id}),
+ user.save(),
+ ]);
+
+ res.analytics.track('account reset', {
+ uuid: user._id,
+ hitType: 'event',
+ category: 'behavior',
+ });
+
+ res.respond(200, ...resetRes);
+}
+
+export async function reroll (req, res, { isV3 = false }) {
+ let user = res.locals.user;
+ let query = {
+ userId: user._id,
+ type: {$in: ['daily', 'habit', 'todo']},
+ ...Tasks.taskIsGroupOrChallengeQuery,
+ };
+ let tasks = await Tasks.Task.find(query).exec();
+ const rerollRes = common.ops.reroll(user, tasks, req, res.analytics);
+ if (isV3) {
+ rerollRes[0].user = await rerollRes[0].user.toJSONWithInbox();
+ }
+
+ let promises = tasks.map(task => task.save());
+ promises.push(user.save());
+
+ await Promise.all(promises);
+
+ res.respond(200, ...rerollRes);
+}
+
+export async function rebirth (req, res, { isV3 = false }) {
+ const user = res.locals.user;
+ const tasks = await Tasks.Task.find({
+ userId: user._id,
+ type: {$in: ['daily', 'habit', 'todo']},
+ ...Tasks.taskIsGroupOrChallengeQuery,
+ }).exec();
+
+ const rebirthRes = common.ops.rebirth(user, tasks, req, res.analytics);
+ if (isV3) {
+ rebirthRes[0].user = await rebirthRes[0].user.toJSONWithInbox();
+ }
+
+ const toSave = tasks.map(task => task.save());
+
+ toSave.push(user.save());
+
+ await Promise.all(toSave);
+
+ res.respond(200, ...rebirthRes);
+}
diff --git a/website/server/libs/user/validation.js b/website/server/libs/user/validation.js
new file mode 100644
index 0000000000..a56446bc91
--- /dev/null
+++ b/website/server/libs/user/validation.js
@@ -0,0 +1,37 @@
+import bannedSlurs from '../bannedSlurs';
+import {getMatchesByWordArray} from '../stringUtils';
+import forbiddenUsernames from '../forbiddenUsernames';
+
+const bannedSlurRegexs = bannedSlurs.map((word) => new RegExp(`.*${word}.*`, 'i'));
+
+export function nameContainsSlur (username) {
+ for (let i = 0; i < bannedSlurRegexs.length; i += 1) {
+ const regEx = bannedSlurRegexs[i];
+ const match = username.match(regEx);
+ if (match !== null && match[0] !== null) {
+ return true;
+ }
+ }
+ return false;
+}
+
+function usernameIsForbidden (username) {
+ const forbidddenWordsMatched = getMatchesByWordArray(username, forbiddenUsernames);
+ return forbidddenWordsMatched.length > 0;
+}
+
+const invalidCharsRegex = new RegExp('[^a-z0-9_-]', 'i');
+function usernameContainsInvalidCharacters (username) {
+ let match = username.match(invalidCharsRegex);
+ return match !== null && match[0] !== null;
+}
+
+export function verifyUsername (username, res) {
+ let issues = [];
+ if (username.length < 1 || username.length > 20) issues.push(res.t('usernameIssueLength'));
+ if (usernameContainsInvalidCharacters(username)) issues.push(res.t('usernameIssueInvalidCharacters'));
+ if (nameContainsSlur(username)) issues.push(res.t('usernameIssueSlur'));
+ if (usernameIsForbidden(username)) issues.push(res.t('usernameIssueForbidden'));
+
+ return issues;
+}
diff --git a/website/server/middlewares/appRoutes.js b/website/server/middlewares/appRoutes.js
index f735771cef..5fe0408a8f 100644
--- a/website/server/middlewares/appRoutes.js
+++ b/website/server/middlewares/appRoutes.js
@@ -34,6 +34,17 @@ app.use('/api/v3', v3Router);
// A list of v3 routes in the format METHOD-URL to skip
const v4RouterOverrides = [
// 'GET-/status', Example to override the GET /status api call
+ 'PUT-/user/auth/update-username',
+ 'POST-/user/auth/local/register',
+ 'GET-/user',
+ 'PUT-/user',
+ 'POST-/user/class/cast/:spellId',
+ 'POST-/user/rebirth',
+ 'POST-/user/reset',
+ 'POST-/user/reroll',
+ 'DELETE-/user/messages/:id',
+ 'DELETE-/user/messages',
+ 'POST-/coupons/enter/:code',
];
const v4Router = express.Router(); // eslint-disable-line new-cap
diff --git a/website/server/middlewares/auth.js b/website/server/middlewares/auth.js
index 301f14ea5e..906c8f42e9 100644
--- a/website/server/middlewares/auth.js
+++ b/website/server/middlewares/auth.js
@@ -97,26 +97,3 @@ export function authWithSession (req, res, next) {
})
.catch(next);
}
-
-export function authWithUrl (req, res, next) {
- let userId = req.query._id;
- let apiToken = req.query.apiToken;
-
- // Always allow authentication with headers
- if (!userId || !apiToken) {
- if (!req.header('x-api-user') || !req.header('x-api-key')) {
- return next(new NotAuthorized(res.t('missingAuthParams')));
- } else {
- return authWithHeaders()(req, res, next);
- }
- }
-
- return User.findOne({ _id: userId, apiToken }).exec()
- .then((user) => {
- if (!user) throw new NotAuthorized(res.t('invalidCredentials'));
-
- res.locals.user = user;
- return next();
- })
- .catch(next);
-}
diff --git a/website/server/models/challenge.js b/website/server/models/challenge.js
index a094814fe7..bb18888928 100644
--- a/website/server/models/challenge.js
+++ b/website/server/models/challenge.js
@@ -66,6 +66,11 @@ schema.statics.sanitizeUpdate = function sanitizeUpdate (updateObj) {
return this.sanitize(updateObj, noUpdate);
};
+// Returns true if user is the leader/owner of the challenge
+schema.methods.isLeader = function isChallengeLeader (user) {
+ return this.leader === user._id;
+};
+
// Returns true if user is a member of the challenge
schema.methods.isMember = function isChallengeMember (user) {
return user.challenges.indexOf(this._id) !== -1;
@@ -73,20 +78,21 @@ schema.methods.isMember = function isChallengeMember (user) {
// Returns true if the user can modify (close, selectWinner, ...) the challenge
schema.methods.canModify = function canModifyChallenge (user) {
- return user.contributor.admin || this.leader === user._id;
+ return user.contributor.admin || this.isLeader(user);
};
-// Returns true if user has access to the challenge (can join)
-schema.methods.hasAccess = function hasAccessToChallenge (user, group) {
+// Returns true if user can join the challenge
+schema.methods.canJoin = function canJoinChallenge (user, group) {
if (group.type === 'guild' && group.privacy === 'public') return true;
+ if (this.isLeader(user)) return true; // for when leader has left private group that contains the challenge
return user.getGroups().indexOf(this.group) !== -1;
};
// Returns true if user can view the challenge
-// Different from hasAccess because you can see challenges of groups you've been removed from if you're partecipating in them
+// Different from canJoin because you can see challenges of groups you've been removed from if you're participating in them
schema.methods.canView = function canViewChallenge (user, group) {
if (this.isMember(user)) return true;
- return this.hasAccess(user, group);
+ return this.canJoin(user, group);
};
// Sync challenge to user, including tasks and tags.
diff --git a/website/server/models/chat.js b/website/server/models/chat.js
deleted file mode 100644
index cbddeb0361..0000000000
--- a/website/server/models/chat.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import mongoose from 'mongoose';
-import baseModel from '../libs/baseModel';
-
-const schema = new mongoose.Schema({
- timestamp: Date,
- user: String,
- text: String,
- contributor: {type: mongoose.Schema.Types.Mixed},
- backer: {type: mongoose.Schema.Types.Mixed},
- uuid: String,
- id: String,
- groupId: {type: String, ref: 'Group'},
- flags: {type: mongoose.Schema.Types.Mixed, default: {}},
- flagCount: {type: Number, default: 0},
- likes: {type: mongoose.Schema.Types.Mixed},
- userStyles: {type: mongoose.Schema.Types.Mixed},
- _meta: {type: mongoose.Schema.Types.Mixed},
-}, {
- minimize: false, // Allow for empty flags to be saved
-});
-
-schema.plugin(baseModel, {
- noSet: ['_id'],
-});
-
-export const model = mongoose.model('Chat', schema);
diff --git a/website/server/models/group.js b/website/server/models/group.js
index f1612af3e8..15f880fd71 100644
--- a/website/server/models/group.js
+++ b/website/server/models/group.js
@@ -7,7 +7,11 @@ import {
import shared from '../../common';
import _ from 'lodash';
import { model as Challenge} from './challenge';
-import { model as Chat } from './chat';
+import {
+ chatModel as Chat,
+ setUserStyles,
+ messageDefaults,
+} from './message';
import * as Tasks from './task';
import validator from 'validator';
import { removeFromArray } from '../libs/collectionManipulators';
@@ -72,17 +76,7 @@ export let schema = new Schema({
leader: {type: String, ref: 'User', validate: [validator.isUUID, 'Invalid uuid.'], required: true},
type: {type: String, enum: ['guild', 'party'], required: true},
privacy: {type: String, enum: ['private', 'public'], default: 'private', required: true},
- chat: Array,
- /*
- # [{
- # timestamp: Date
- # user: String
- # text: String
- # contributor: String
- # uuid: String
- # id: String
- # }]
- */
+ chat: Array, // Used for backward compatibility, but messages aren't stored here
leaderOnly: { // restrict group actions to leader (members can't do them)
challenges: {type: Boolean, default: false, required: true},
// invites: {type: Boolean, default: false, required: true},
@@ -473,81 +467,8 @@ schema.methods.getMemberCount = async function getMemberCount () {
return await User.count(query).exec();
};
-export function chatDefaults (msg, user) {
- const id = shared.uuid();
- const message = {
- id,
- _id: id,
- text: msg.substring(0, 3000),
- timestamp: Number(new Date()),
- likes: {},
- flags: {},
- flagCount: 0,
- };
-
- if (user) {
- _.defaults(message, {
- uuid: user._id,
- contributor: user.contributor && user.contributor.toObject(),
- backer: user.backer && user.backer.toObject(),
- user: user.profile.name,
- });
- } else {
- message.uuid = 'system';
- }
-
- return message;
-}
-
-function setUserStyles (newMessage, user) {
- let userStyles = {};
- userStyles.items = {gear: {}};
-
- let userCopy = user;
- if (user.toObject) userCopy = user.toObject();
-
- if (userCopy.items) {
- userStyles.items.gear = {};
- userStyles.items.gear.costume = Object.assign({}, userCopy.items.gear.costume);
- userStyles.items.gear.equipped = Object.assign({}, userCopy.items.gear.equipped);
-
- userStyles.items.currentMount = userCopy.items.currentMount;
- userStyles.items.currentPet = userCopy.items.currentPet;
- }
-
-
- if (userCopy.preferences) {
- userStyles.preferences = {};
- if (userCopy.preferences.style) userStyles.preferences.style = userCopy.preferences.style;
- userStyles.preferences.hair = userCopy.preferences.hair;
- userStyles.preferences.skin = userCopy.preferences.skin;
- userStyles.preferences.shirt = userCopy.preferences.shirt;
- userStyles.preferences.chair = userCopy.preferences.chair;
- userStyles.preferences.size = userCopy.preferences.size;
- userStyles.preferences.chair = userCopy.preferences.chair;
- userStyles.preferences.background = userCopy.preferences.background;
- userStyles.preferences.costume = userCopy.preferences.costume;
- }
-
- if (userCopy.stats) {
- userStyles.stats = {};
- userStyles.stats.class = userCopy.stats.class;
- if (userCopy.stats.buffs) {
- userStyles.stats.buffs = {
- seafoam: userCopy.stats.buffs.seafoam,
- shinySeed: userCopy.stats.buffs.shinySeed,
- spookySparkles: userCopy.stats.buffs.spookySparkles,
- snowball: userCopy.stats.buffs.snowball,
- };
- }
- }
-
- newMessage.userStyles = userStyles;
- newMessage.markModified('userStyles');
-}
-
schema.methods.sendChat = function sendChat (message, user, metaData) {
- let newMessage = chatDefaults(message, user);
+ let newMessage = messageDefaults(message, user);
let newChatMessage = new Chat();
newChatMessage = Object.assign(newChatMessage, newMessage);
newChatMessage.groupId = this._id;
@@ -560,17 +481,6 @@ schema.methods.sendChat = function sendChat (message, user, metaData) {
newChatMessage._meta = metaData;
}
- // @TODO: Completely remove the code below after migration
- // this.chat.unshift(newMessage);
-
- let maxCount = MAX_CHAT_COUNT;
-
- if (this.isSubscribed()) {
- maxCount = MAX_SUBBED_GROUP_CHAT_COUNT;
- }
-
- this.chat.splice(maxCount);
-
// do not send notifications for guilds with more than 5000 users and for the tavern
if (NO_CHAT_NOTIFICATIONS.indexOf(this._id) !== -1 || this.memberCount > LARGE_GROUP_COUNT_MESSAGE_CUTOFF) {
return newChatMessage;
@@ -913,22 +823,6 @@ schema.methods.finishQuest = async function finishQuest (quest) {
'lostMasterclasser4',
];
- if (masterClasserQuests.includes(questK)) {
- let lostMasterclasserQuery = {
- 'achievements.lostMasterclasser': {$ne: true},
- };
- masterClasserQuests.forEach(questName => {
- lostMasterclasserQuery[`achievements.quests.${questName}`] = {$gt: 0};
- });
- let lostMasterclasserUpdate = {
- $set: {'achievements.lostMasterclasser': true},
- };
-
- promises = promises.concat(participants.map(userId => {
- return _updateUserWithRetries(userId, lostMasterclasserUpdate, null, lostMasterclasserQuery);
- }));
- }
-
// Send webhooks in background
// @TODO move the find users part to a worker as well, not just the http request
User.find({
@@ -954,7 +848,24 @@ schema.methods.finishQuest = async function finishQuest (quest) {
});
});
- return await Promise.all(promises);
+ await Promise.all(promises);
+
+ if (masterClasserQuests.includes(questK)) {
+ let lostMasterclasserQuery = {
+ 'achievements.lostMasterclasser': {$ne: true},
+ };
+ masterClasserQuests.forEach(questName => {
+ lostMasterclasserQuery[`achievements.quests.${questName}`] = {$gt: 0};
+ });
+ let lostMasterclasserUpdate = {
+ $set: {'achievements.lostMasterclasser': true},
+ };
+
+ let lostMasterClasserPromises = participants.map(userId => {
+ return _updateUserWithRetries(userId, lostMasterclasserUpdate, null, lostMasterclasserQuery);
+ });
+ await Promise.all(lostMasterClasserPromises);
+ }
};
function _isOnQuest (user, progress, group) {
@@ -1090,6 +1001,8 @@ schema.methods._processCollectionQuest = async function processCollectionQuest (
};
schema.statics.processQuestProgress = async function processQuestProgress (user, progress) {
+ if (user.preferences.sleep) return;
+
let group = await this.getGroup({user, groupId: 'party'});
if (!_isOnQuest(user, progress, group)) return;
@@ -1100,7 +1013,7 @@ schema.statics.processQuestProgress = async function processQuestProgress (user,
let questType = quest.boss ? 'Boss' : 'Collection';
- await group[`_process${questType}Quest`]({
+ await group[`_process${questType}Quest`]({ // _processBossQuest, _processCollectionQuest
user,
progress,
group,
@@ -1130,6 +1043,7 @@ process.nextTick(() => {
// returns a promise
schema.statics.tavernBoss = async function tavernBoss (user, progress) {
if (!progress) return;
+ if (user.preferences.sleep) return;
// hack: prevent crazy damage to world boss
let dmg = Math.min(900, Math.abs(progress.up || 0));
diff --git a/website/server/models/message.js b/website/server/models/message.js
new file mode 100644
index 0000000000..5e7089677c
--- /dev/null
+++ b/website/server/models/message.js
@@ -0,0 +1,124 @@
+import mongoose from 'mongoose';
+import baseModel from '../libs/baseModel';
+import { v4 as uuid } from 'uuid';
+import { defaults } from 'lodash';
+
+const defaultSchema = () => ({
+ id: String,
+ timestamp: Date,
+ text: String,
+
+ // sender properties
+ user: String, // profile name
+ contributor: {type: mongoose.Schema.Types.Mixed},
+ backer: {type: mongoose.Schema.Types.Mixed},
+ uuid: String, // sender uuid
+ userStyles: {type: mongoose.Schema.Types.Mixed},
+
+ flags: {type: mongoose.Schema.Types.Mixed, default: {}},
+ flagCount: {type: Number, default: 0},
+ likes: {type: mongoose.Schema.Types.Mixed},
+ _meta: {type: mongoose.Schema.Types.Mixed},
+});
+
+const chatSchema = new mongoose.Schema({
+ ...defaultSchema(),
+ groupId: {type: String, ref: 'Group'},
+}, {
+ minimize: false, // Allow for empty flags to be saved
+});
+
+chatSchema.plugin(baseModel, {
+ noSet: ['_id'],
+});
+
+const inboxSchema = new mongoose.Schema({
+ sent: {type: Boolean, default: false}, // if the owner sent this message
+ // the uuid of the user where the message is stored,
+ // we store two copies of each inbox messages:
+ // one for the sender and one for the receiver
+ ownerId: {type: String, ref: 'User'},
+ ...defaultSchema(),
+}, {
+ minimize: false, // Allow for empty flags to be saved
+});
+
+inboxSchema.plugin(baseModel, {
+ noSet: ['_id'],
+});
+
+export const chatModel = mongoose.model('Chat', chatSchema);
+export const inboxModel = mongoose.model('Inbox', inboxSchema);
+
+export function setUserStyles (newMessage, user) {
+ let userStyles = {};
+ userStyles.items = {gear: {}};
+
+ let userCopy = user;
+ if (user.toObject) userCopy = user.toObject();
+
+ if (userCopy.items) {
+ userStyles.items.gear = {};
+ userStyles.items.gear.costume = Object.assign({}, userCopy.items.gear.costume);
+ userStyles.items.gear.equipped = Object.assign({}, userCopy.items.gear.equipped);
+
+ userStyles.items.currentMount = userCopy.items.currentMount;
+ userStyles.items.currentPet = userCopy.items.currentPet;
+ }
+
+
+ if (userCopy.preferences) {
+ userStyles.preferences = {};
+ if (userCopy.preferences.style) userStyles.preferences.style = userCopy.preferences.style;
+ userStyles.preferences.hair = userCopy.preferences.hair;
+ userStyles.preferences.skin = userCopy.preferences.skin;
+ userStyles.preferences.shirt = userCopy.preferences.shirt;
+ userStyles.preferences.chair = userCopy.preferences.chair;
+ userStyles.preferences.size = userCopy.preferences.size;
+ userStyles.preferences.chair = userCopy.preferences.chair;
+ userStyles.preferences.background = userCopy.preferences.background;
+ userStyles.preferences.costume = userCopy.preferences.costume;
+ }
+
+ if (userCopy.stats) {
+ userStyles.stats = {};
+ userStyles.stats.class = userCopy.stats.class;
+ if (userCopy.stats.buffs) {
+ userStyles.stats.buffs = {
+ seafoam: userCopy.stats.buffs.seafoam,
+ shinySeed: userCopy.stats.buffs.shinySeed,
+ spookySparkles: userCopy.stats.buffs.spookySparkles,
+ snowball: userCopy.stats.buffs.snowball,
+ };
+ }
+ }
+
+ newMessage.userStyles = userStyles;
+ newMessage.markModified('userStyles');
+}
+
+export function messageDefaults (msg, user) {
+ const id = uuid();
+ const message = {
+ id,
+ _id: id,
+ text: msg.substring(0, 3000),
+ timestamp: Number(new Date()),
+ likes: {},
+ flags: {},
+ flagCount: 0,
+ };
+
+ if (user) {
+ defaults(message, {
+ uuid: user._id,
+ contributor: user.contributor && user.contributor.toObject(),
+ backer: user.backer && user.backer.toObject(),
+ user: user.profile.name,
+ });
+ } else {
+ message.uuid = 'system';
+ }
+
+ return message;
+}
diff --git a/website/server/models/task.js b/website/server/models/task.js
index 52b1a0450b..7614f46903 100644
--- a/website/server/models/task.js
+++ b/website/server/models/task.js
@@ -169,9 +169,13 @@ TaskSchema.statics.findByIdOrAlias = async function findByIdOrAlias (identifier,
// Sanitize user tasks linked to a challenge
// See http://habitica.wikia.com/wiki/Challenges#Challenge_Participant.27s_Permissions for more info
TaskSchema.statics.sanitizeUserChallengeTask = function sanitizeUserChallengeTask (taskObj) {
- let initialSanitization = this.sanitize(taskObj);
+ const initialSanitization = this.sanitize(taskObj);
- return _.pick(initialSanitization, ['streak', 'checklist', 'attribute', 'reminders', 'tags', 'notes', 'collapseChecklist', 'alias', 'yesterDaily', 'counterDown', 'counterUp']);
+ return _.pick(initialSanitization, [
+ 'streak', 'checklist', 'attribute', 'reminders',
+ 'tags', 'notes', 'collapseChecklist',
+ 'alias', 'yesterDaily', 'counterDown', 'counterUp',
+ ]);
};
// Sanitize checklist objects (disallowing id)
diff --git a/website/server/models/user/methods.js b/website/server/models/user/methods.js
index 078ae60cab..c80cec0159 100644
--- a/website/server/models/user/methods.js
+++ b/website/server/models/user/methods.js
@@ -2,15 +2,21 @@ import moment from 'moment';
import common from '../../../common';
import {
- chatDefaults,
TAVERN_ID,
model as Group,
} from '../group';
-import {defaults, map, flatten, flow, compact, uniq, partialRight} from 'lodash';
-import {model as UserNotification} from '../userNotification';
+import {
+ messageDefaults,
+ setUserStyles,
+ inboxModel as Inbox,
+} from '../message';
+
+import { defaults, map, flatten, flow, compact, uniq, partialRight } from 'lodash';
+import { model as UserNotification } from '../userNotification';
import schema from './schema';
import payments from '../../libs/payments/payments';
+import * as inboxLib from '../../libs/inbox';
import amazonPayments from '../../libs/payments/amazon';
import stripePayments from '../../libs/payments/stripe';
import paypalPayments from '../../libs/payments/paypal';
@@ -101,15 +107,19 @@ schema.methods.getObjectionsToInteraction = function getObjectionsToInteraction
* @return N/A
*/
schema.methods.sendMessage = async function sendMessage (userToReceiveMessage, options) {
- let sender = this;
- let senderMsg = options.senderMsg || options.receiverMsg;
+ const sender = this;
+ const senderMsg = options.senderMsg || options.receiverMsg;
// whether to save users after sending the message, defaults to true
- let saveUsers = options.save === false ? false : true;
+ const saveUsers = options.save === false ? false : true;
+
+ const newReceiverMessage = new Inbox({
+ ownerId: userToReceiveMessage._id,
+ });
+ Object.assign(newReceiverMessage, messageDefaults(options.receiverMsg, sender));
+ setUserStyles(newReceiverMessage, sender);
- common.refPush(userToReceiveMessage.inbox.messages, chatDefaults(options.receiverMsg, sender));
userToReceiveMessage.inbox.newMessages++;
userToReceiveMessage._v++;
- userToReceiveMessage.markModified('inbox.messages');
/* @TODO disabled until mobile is ready
@@ -133,12 +143,31 @@ schema.methods.sendMessage = async function sendMessage (userToReceiveMessage, o
*/
- common.refPush(sender.inbox.messages, defaults({sent: true}, chatDefaults(senderMsg, userToReceiveMessage)));
- sender.markModified('inbox.messages');
+ const sendingToYourself = userToReceiveMessage._id === sender._id;
+
+ // Do not add the message twice when sending it to yourself
+ let newSenderMessage;
+
+ if (!sendingToYourself) {
+ newSenderMessage = new Inbox({
+ sent: true,
+ ownerId: sender._id,
+ });
+ Object.assign(newSenderMessage, messageDefaults(senderMsg, userToReceiveMessage));
+ setUserStyles(newSenderMessage, sender);
+ }
+
+ const promises = [newReceiverMessage.save()];
+ if (!sendingToYourself) promises.push(newSenderMessage.save());
if (saveUsers) {
- await Promise.all([userToReceiveMessage.save(), sender.save()]);
+ promises.push(sender.save());
+ if (!sendingToYourself) promises.push(userToReceiveMessage.save());
}
+
+ await Promise.all(promises);
+
+ return sendingToYourself ? newReceiverMessage : newSenderMessage;
};
/**
@@ -363,3 +392,16 @@ schema.methods.isMemberOfGroupPlan = async function isMemberOfGroupPlan () {
schema.methods.isAdmin = function isAdmin () {
return this.contributor && this.contributor.admin;
};
+
+// When converting to json add inbox messages from the Inbox collection
+// for backward compatibility in API v3.
+schema.methods.toJSONWithInbox = async function userToJSONWithInbox () {
+ const user = this;
+ const toJSON = user.toJSON();
+
+ if (toJSON.inbox) {
+ toJSON.inbox.messages = await inboxLib.getUserInbox(user, false);
+ }
+
+ return toJSON;
+};
diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js
index 81d7386d5c..d8517a753d 100644
--- a/website/server/models/user/schema.js
+++ b/website/server/models/user/schema.js
@@ -241,6 +241,7 @@ let schema = new Schema({
armoireEmpty: {type: Boolean, default: false},
cardReceived: {type: Boolean, default: false},
warnedLowHealth: {type: Boolean, default: false},
+ verifiedUsername: {type: Boolean, default: false},
},
history: {
@@ -558,11 +559,9 @@ let schema = new Schema({
tags: [TagSchema],
inbox: {
+ // messages are stored in the Inbox collection
newMessages: {type: Number, default: 0},
blocks: {type: Array, default: () => []},
- messages: {type: Schema.Types.Mixed, default: () => {
- return {};
- }},
optOut: {type: Boolean, default: false},
},
tasksOrder: {