From 8ac48406e91f39a475f41bd11bfe01dab98aebe3 Mon Sep 17 00:00:00 2001 From: Melior Date: Thu, 5 Nov 2020 22:49:10 +0100 Subject: [PATCH 01/19] Translated using Weblate (Spanish (Latin America)) Currently translated at 86.2% (619 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 86.2% (619 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (61 of 61 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (182 of 182 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es_419/ Translated using Weblate (Spanish) Currently translated at 100.0% (182 of 182 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/es/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (13 of 13 strings) Translation: Habitica/Rebirth Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/pt_BR/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (366 of 366 strings) Translation: Habitica/Groups Translate-URL: https://translate.habitica.com/projects/habitica/groups/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 82.3% (1806 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (363 of 363 strings) Translation: Habitica/Content Translate-URL: https://translate.habitica.com/projects/habitica/content/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (571 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (98 of 98 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es_419/ Translated using Weblate (Japanese) Currently translated at 90.0% (1974 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/ Translated using Weblate (Japanese) Currently translated at 100.0% (181 of 181 strings) Translation: Habitica/Front Translate-URL: https://translate.habitica.com/projects/habitica/front/ja/ Translated using Weblate (Spanish) Currently translated at 100.0% (100 of 100 strings) Translation: Habitica/Challenge Translate-URL: https://translate.habitica.com/projects/habitica/challenge/es/ Translated using Weblate (Japanese) Currently translated at 100.0% (571 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/ Translated using Weblate (Spanish) Currently translated at 99.2% (567 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/ Translated using Weblate (Hindi) Currently translated at 99.1% (122 of 123 strings) Translation: Habitica/Communityguidelines Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/hi/ Translated using Weblate (Chinese (Simplified)) Currently translated at 99.7% (2187 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/zh_Hans/ Translated using Weblate (Chinese (Hong Kong)) Currently translated at 16.3% (16 of 98 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant_HK/ Translated using Weblate (Chinese (Hong Kong)) Currently translated at 15.3% (15 of 98 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/zh_Hant_HK/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (98 of 98 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/pt_BR/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (100 of 100 strings) Translation: Habitica/Challenge Translate-URL: https://translate.habitica.com/projects/habitica/challenge/es_419/ Translated using Weblate (Spanish) Currently translated at 99.1% (566 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/es/ Translated using Weblate (Spanish (Latin America)) Currently translated at 86.2% (619 of 718 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/es_419/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (182 of 182 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/ Translated using Weblate (Spanish (Latin America)) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/es_419/ Translated using Weblate (Spanish (Latin America)) Currently translated at 96.9% (95 of 98 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/es_419/ Translated using Weblate (Ukrainian) Currently translated at 87.1% (319 of 366 strings) Translation: Habitica/Groups Translate-URL: https://translate.habitica.com/projects/habitica/groups/uk/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (2193 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/ Translated using Weblate (Japanese) Currently translated at 89.9% (1972 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/ja/ Translated using Weblate (German) Currently translated at 100.0% (2193 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/pt_BR/ Translated using Weblate (Japanese) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/ja/ Translated using Weblate (German) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/de/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (571 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/pt_BR/ Translated using Weblate (Japanese) Currently translated at 99.6% (569 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/ja/ Translated using Weblate (German) Currently translated at 100.0% (571 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/de/ Translated using Weblate (Hindi) Currently translated at 97.5% (121 of 124 strings) Translation: Habitica/Npc Translate-URL: https://translate.habitica.com/projects/habitica/npc/hi/ Translated using Weblate (Italian) Currently translated at 100.0% (2193 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/ Translated using Weblate (Italian) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/it/ Translated using Weblate (Italian) Currently translated at 100.0% (571 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/it/ Translated using Weblate (Hindi) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Spells Translate-URL: https://translate.habitica.com/projects/habitica/spells/hi/ Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (571 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/zh_Hans/ Translated using Weblate (French) Currently translated at 100.0% (366 of 366 strings) Translation: Habitica/Groups Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/ Translated using Weblate (French) Currently translated at 100.0% (2193 of 2193 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/ Translated using Weblate (Chinese (Simplified)) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/zh_Hans/ Translated using Weblate (French) Currently translated at 100.0% (571 of 571 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/fr/ Translated using Weblate (French) Currently translated at 100.0% (182 of 182 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/ Translated using Weblate (French) Currently translated at 100.0% (185 of 185 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/ Translated using Weblate (French) Currently translated at 99.7% (365 of 366 strings) Translation: Habitica/Groups Translate-URL: https://translate.habitica.com/projects/habitica/groups/fr/ Translated using Weblate (French) Currently translated at 100.0% (56 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/fr/ Translated using Weblate (French) Currently translated at 100.0% (100 of 100 strings) Translation: Habitica/Challenge Translate-URL: https://translate.habitica.com/projects/habitica/challenge/fr/ --- website/common/locales/de/backgrounds.json | 9 +- website/common/locales/de/faq.json | 2 +- website/common/locales/de/gear.json | 8 +- website/common/locales/es/backgrounds.json | 5 +- website/common/locales/es/challenge.json | 3 +- website/common/locales/es/subscriber.json | 3 +- .../common/locales/es_419/achievements.json | 13 +- .../common/locales/es_419/backgrounds.json | 40 +++++- website/common/locales/es_419/challenge.json | 3 +- website/common/locales/es_419/content.json | 3 +- website/common/locales/es_419/faq.json | 2 +- website/common/locales/es_419/gear.json | 122 +++++++++++------- website/common/locales/es_419/groups.json | 4 +- website/common/locales/es_419/messages.json | 8 +- .../common/locales/es_419/questscontent.json | 82 ++++++------ website/common/locales/es_419/subscriber.json | 9 +- website/common/locales/fr/backgrounds.json | 9 +- website/common/locales/fr/challenge.json | 3 +- website/common/locales/fr/faq.json | 2 +- website/common/locales/fr/gear.json | 12 +- website/common/locales/fr/groups.json | 4 +- website/common/locales/fr/limited.json | 3 +- website/common/locales/fr/subscriber.json | 3 +- .../locales/hi_IN/communityguidelines.json | 2 +- website/common/locales/hi_IN/npc.json | 17 ++- website/common/locales/hi_IN/spells.json | 3 +- website/common/locales/it/backgrounds.json | 9 +- website/common/locales/it/faq.json | 2 +- website/common/locales/it/gear.json | 8 +- website/common/locales/ja/backgrounds.json | 35 +++-- website/common/locales/ja/faq.json | 2 +- website/common/locales/ja/front.json | 4 +- website/common/locales/ja/gear.json | 6 +- .../common/locales/pt_BR/achievements.json | 2 +- website/common/locales/pt_BR/backgrounds.json | 9 +- website/common/locales/pt_BR/faq.json | 2 +- website/common/locales/pt_BR/gear.json | 12 +- website/common/locales/pt_BR/rebirth.json | 4 +- website/common/locales/pt_BR/subscriber.json | 3 +- website/common/locales/uk/groups.json | 11 +- website/common/locales/zh/backgrounds.json | 9 +- website/common/locales/zh/faq.json | 2 +- website/common/locales/zh/gear.json | 2 +- .../common/locales/zh_HK/achievements.json | 12 +- 44 files changed, 346 insertions(+), 162 deletions(-) diff --git a/website/common/locales/de/backgrounds.json b/website/common/locales/de/backgrounds.json index 092ac24833..0cc3fa375d 100644 --- a/website/common/locales/de/backgrounds.json +++ b/website/common/locales/de/backgrounds.json @@ -562,5 +562,12 @@ "backgroundSpookyScarecrowFieldNotes": "Beweise Deinen Wagemut und überquere das Feld der schauerlichen Vogelscheuchen.", "backgroundSpookyScarecrowFieldText": "Feld der schauerlichen Vogelscheuchen", "backgroundHauntedForestNotes": "Verlauf Dich bloß nicht im Verwunschenen Wald.", - "backgroundCrescentMoonNotes": "Tu' was Du sonst nur erträumst, sitzend auf dem Sichelmond." + "backgroundCrescentMoonNotes": "Tu' was Du sonst nur erträumst, sitzend auf dem Sichelmond.", + "backgroundRiverOfLavaNotes": "Trotze der Konvektion, beim Spaziergang am Lavastrom.", + "backgroundRiverOfLavaText": "Lavastrom", + "backgroundRestingInTheInnNotes": "Sicher und komfortabel lässt es sich arbeiten und ruhen in Diesem gemütlichen Gasthauszimmer.", + "backgroundRestingInTheInnText": "Pause im Gasthaus", + "backgroundMysticalObservatoryNotes": "Deine Bestimmung steht in den Sternen; vom Mystischen Observatorium aus kannst Du sie lesen.", + "backgroundMysticalObservatoryText": "Mystisches Observatorium", + "backgrounds112020": "SET 78: Veröffentlicht im November 2020" } diff --git a/website/common/locales/de/faq.json b/website/common/locales/de/faq.json index 4fd3848f3b..192d38f238 100644 --- a/website/common/locales/de/faq.json +++ b/website/common/locales/de/faq.json @@ -30,7 +30,7 @@ "webFaqAnswer6": "Jedes Mal, wenn Du eine Aufgabe erledigst, hast Du eine Chance, zufällig ein Ei, ein Schlüpfelixier oder Futter zu erhalten. Diese werden unter Inventar > Marktplatz gespeichert. Um ein Haustier auszubrüten, benötigst Du ein Ei und ein Schlüpfelixier. Wenn Du beides hast, gehe zu Inventar > Haustiere um Dein Haustier mit einem Klick auf sein Bild schlüpfen zu lassen. Um ein geschlüpftes Haustier Deinem Avatar hinzuzufügen, klicke auf das gewünschte Tier. Du kannst Deine Haustiere unter Inventar > Haustiere auch füttern, sodass sie zu Reittieren heranwachsen. Ziehe dazu Futter aus dem Aktionsbalken am unteren Bildschirmrand auf ein Haustier. Damit es zu einem Reittier heranwächst, musst Du Dein Haustier mehrmals füttern. Wenn Du jedoch sein bevorzugtes Futter herausfindest, wächst es schneller. Dies kannst Du entweder durch ausprobieren selbst herausfinden oder [im Wiki nachschauen - Vorsicht: Spoiler!](https://habitica.fandom.com/de/wiki/Futter#Bevorzugtes_Futter). Wenn Du ein Reittier erhalten hast, klicke das Tier an, um es Deinem Avatar hinzuzufügen. Du kannst auch Eier für Quest-Haustiere erhalten, indem Du bestimmte Quests abschließt. (Siehe weiter unten, um mehr über Quests zu erfahren.)", "faqQuestion7": "Wie werde ich ein Krieger, Magier, Schurke oder Heiler?", "iosFaqAnswer7": "Wenn Du Level 10 erreichst, kannst Du wählen, ob Du Krieger, Magier, Schurke oder Heiler werden möchtest. (Alle Spieler beginnen standardmäßig als Krieger.) Jede Klasse hat unterschiedliche Ausrüstungsoptionen, unterschiedliche Fähigkeiten, die sie ab Level 11 verwenden können, und unterschiedliche Vorteile. Krieger fügen Bossen leicht Schaden zu, halten mehr Schaden von ihren Aufgaben aus und helfen ihrer Party widerstandsfähiger zu werden. Magier schaden Bossen ebenfalls leicht, steigen schnell Level auf und können Mana für ihre Party wiederherstellen. Schurken erhalten das meiste Geld, finden die meiste Beute und können ihrer Party helfen, dies ebenfalls zu tun. Zum Schluss können Heiler sich selbst und ihre Party heilen. \n\nWenn Du nicht direkt eine Klasse auswählen möchtest -- zum Beispiel, wenn Du gerade dabei bist, die gesamte Ausrüstung für Deine aktuelle Klasse zu kaufen -- kannst Du \"Abbrechen\" klicken und die Klasse später auswählen, indem Du das Menü öffnest, auf das Symbol für Einstellungen klickst und dann auf \"Klassensystem freischalten\" tippst.", - "androidFaqAnswer7": "Wenn Du Level 10 erreichst, kannst Du wählen, ob Du Krieger, Magier, Schurke oder Heiler werden möchtest. (Alle Spieler beginnen standardmäßig als Krieger.) Jede Klasse hat unterschiedliche Ausrüstungsoptionen, unterschiedliche Fähigkeiten, die sie ab Level 11 verwenden können, und unterschiedliche Vorteile. Krieger fügen Bossen leichter Schaden zu, halten mehr Schaden von ihren Aufgaben aus und helfen ihrer Party widerstandsfähiger zu werden. Magier schaden Bossen ebenfalls leichter, steigen schnell Level auf und können Mana für ihre Party wieder auffüllen. Schurken erhalten das meiste Gold, finden die meiste Beute und können ihrer Party helfen, dies ebenfalls zu tun. Heiler können sich selbst und ihre Party heilen. \n\nWenn Du nicht sofort eine Klasse auswählen möchtest -- zum Beispiel, wenn Du gerade dabei bist die gesamte Ausrüstung für Deine aktuelle Klasse zu kaufen -- kannst Du \"Später entscheiden\" klicken und die Klasse unter Menü > Klasse wählen später auswählen.", + "androidFaqAnswer7": "Wenn Du Level 10 erreichst, kannst Du wählen, ob Du Krieger, Magier, Schurke oder Heiler werden möchtest. (Alle Spieler beginnen standardmäßig als Krieger.) Jede Klasse hat unterschiedliche Ausrüstungsoptionen, unterschiedliche Fähigkeiten, die sie ab Level 11 verwenden können, und unterschiedliche Vorteile. Krieger fügen Bossen leichter Schaden zu, halten mehr Schaden von ihren Aufgaben aus und helfen ihrer Party widerstandsfähiger zu werden. Magier schaden Bossen ebenfalls leichter, steigen schnell Level auf und können Mana für ihre Party wieder auffüllen. Schurken erhalten das meiste Gold, finden die meiste Beute und können ihrer Party helfen, dies ebenfalls zu tun. Heiler können sich selbst und ihre Party heilen. \n\nWenn Du nicht sofort eine Klasse auswählen möchtest -- zum Beispiel, wenn Du gerade dabei bist die gesamte Ausrüstung für Deine aktuelle Klasse zu kaufen -- kannst Du \"Später entscheiden\" drücken und dann später im Menü unter Einstellungen mit \"Klassensystem einschalten\"Deine Klasse auswählen.", "webFaqAnswer7": "Wenn Du Level 10 erreichst, kannst Du wählen, ob Du Krieger, Magier, Schurke oder Heiler werden möchtest. (Alle Spieler beginnen standardmäßig als Krieger). Jede Klasse hat unterschiedliche Ausrüstungsoptionen, unterschiedliche Fähigkeiten, die sie ab Level 11 verwenden können, und unterschiedliche Vorteile. Krieger fügen Bossen leichter Schaden zu, halten mehr Schaden von ihren Aufgaben aus und helfen ihrer Party widerstandsfähiger zu werden. Magier schaden Bossen ebenfalls leichter, steigen schnell Level auf und können Mana für ihre Party wieder auffüllen. Schurken erhalten das meiste Gold, finden die meiste Beute und können ihrer Party helfen, dies ebenfalls zu tun. Heiler können sich selbst und ihre Party heilen.\nWenn Du nicht sofort eine Klasse auswählen möchtest -- zum Beispiel, wenn Du gerade dabei bist die gesamte Ausrüstung für Deine aktuelle Klasse zu kaufen -- kannst Du \"Später entscheiden\" klicken und die Klasse unter Menü > Einstellungen später aktivieren.", "faqQuestion8": "Was ist das für eine blaue Status-Leiste, die in der Kopfzeile nach Level 10 erscheint?", "iosFaqAnswer8": "Der blaue Balken, der erschienen ist, als Du Level 10 erreicht hast und eine Klasse gewählt hast, ist Dein Manabalken. Mit dem Erreichen weiterer Level wirst Du spezielle Fähigkeiten freischalten, die Dich Mana kosten. Jede Klasse hat verschiedene Fähigkeiten, die nach Level 11 unter Ausrüstung & Fähigkeiten erscheinen. Im Gegensatz zu Deinem Lebensbalken füllt sich Dein Mana nicht automatisch beim Stufenanstieg wieder auf. Stattdessen füllt sich Dein Mana durch das Erfüllen von Gewohnheiten, Tagesaufgaben und To-Dos wieder auf. Gehst Du schlechten Gewohnheiten nach, verlierst Du dafür Mana. Außerdem regenerierst Du etwas Mana über Nacht – abhängig von der Anzahl der Tagesaufgaben, die Du erfüllt hast. Je mehr Aufgaben, desto mehr Mana regenerierst Du.", diff --git a/website/common/locales/de/gear.json b/website/common/locales/de/gear.json index 1b00685a43..21ce604517 100644 --- a/website/common/locales/de/gear.json +++ b/website/common/locales/de/gear.json @@ -2217,5 +2217,11 @@ "shieldMystery202011Notes": "Zügle die Kraft des Herbstwinds mit diesem Zauberstab. Benutze ihn für geheimnisvolle Magie oder um großartige Laubhaufen zu kreieren, ganz nach Deinem Belieben! Gewährt keinen Attributbonus. November 2020 Abonnentengegenstand.", "shieldMystery202011Text": "Belaubter Zauberstab", "headMystery202011Notes": "Nutze die Kraft des Jahreszeitenwechsels und sehe auch noch stylisch dabei aus! Gewährt keinen Attributbonus. November 2020 Abonnentengegenstand.", - "headMystery202011Text": "Belaubter Zauberhut" + "headMystery202011Text": "Belaubter Zauberhut", + "headArmoireCapOfClubsNotes": "Lasse alle wissen was Du erreicht hast und nehme es auf deine eigene Kappe! Erhöht Intelligenz um <%= int %>. Verzauberter Schrank: Kreuzbube Set (Gegenstand 1 von 3).", + "headArmoireCapOfClubsText": "Kreuzkappe", + "armorArmoireDoubletOfClubsNotes": "Wer weiß was für Dich noch in den Karten steht, aber mit diesem Wams mit Umhang siehst Du in jedem Fall stilvoll dabei aus! Erhöht Ausdauer um <%= con %>. Verzauberter Schrank: Kreuzbube Set (Gegenstand 3 von 3).", + "armorArmoireDoubletOfClubsText": "Wams des Kreuzes", + "weaponArmoireClubOfClubsNotes": "Diese stilvolle Keule lässt heimtückischen Aufgaben keine Chance Deine Pläne durchkreuzen. Erhöht Stärke um <%= str %>. Verzauberter Schrank: Kreuzbube Set (Gegenstand 2 von 3).", + "weaponArmoireClubOfClubsText": "Keule des Kreuzes" } diff --git a/website/common/locales/es/backgrounds.json b/website/common/locales/es/backgrounds.json index 38138c0b1e..912842671a 100644 --- a/website/common/locales/es/backgrounds.json +++ b/website/common/locales/es/backgrounds.json @@ -562,5 +562,8 @@ "backgroundUnderwaterRuinsText": "Ruinas subacuáticas", "backgroundSwimmingAmongJellyfishNotes": "Emocionate con la belleza y el peligro Nadando entre medusas.", "backgroundSwimmingAmongJellyfishText": "Nadando entre medusas", - "backgroundSpookyScarecrowFieldNotes": "Demuestra que eres más atrevido que un pájaro enfrentandote al campo de espantapájaros espeluznantes." + "backgroundSpookyScarecrowFieldNotes": "Demuestra que eres más atrevido que un pájaro enfrentandote al campo de espantapájaros espeluznantes.", + "backgroundRestingInTheInnText": "descansando en la posada", + "backgrounds112020": "78. serie: Publicado en Noviembre 2020", + "backgroundMysticalObservatoryText": "Observatorio Místico" } diff --git a/website/common/locales/es/challenge.json b/website/common/locales/es/challenge.json index b5ed0b356e..8eadf3155f 100644 --- a/website/common/locales/es/challenge.json +++ b/website/common/locales/es/challenge.json @@ -100,5 +100,6 @@ "viewProgress": "Ver Progreso", "selectMember": "Elegir miembro", "confirmKeepChallengeTasks": "¿Deseas mantener las tareas del desafío?", - "selectParticipant": "Elige un participante" + "selectParticipant": "Elige un participante", + "filters": "Filtros" } diff --git a/website/common/locales/es/subscriber.json b/website/common/locales/es/subscriber.json index 4bec5adf75..fea9c63fdb 100644 --- a/website/common/locales/es/subscriber.json +++ b/website/common/locales/es/subscriber.json @@ -183,5 +183,6 @@ "lookingForMoreItems": "¿Quieres más Artículos?", "dropCapLearnMore": "Aprende más acerca del sistema de botín de Habitica", "dropCapExplanation": "Tu botín se reiniciara junto con tus tareas mañana. Sin embargo, seguirás ganando Oro, Experiencia y progresando en tus Misiones cuando completes tareas.", - "dropCapReached": "Has encontrado todos los artículos por hoy!" + "dropCapReached": "Has encontrado todos los artículos por hoy!", + "mysterySet202011": "Conjunto de Mago Foliado" } diff --git a/website/common/locales/es_419/achievements.json b/website/common/locales/es_419/achievements.json index 524b4b1574..cef4a4723f 100644 --- a/website/common/locales/es_419/achievements.json +++ b/website/common/locales/es_419/achievements.json @@ -75,8 +75,8 @@ "achievementRosyOutlookModalText": "¡Has domesticado todas las monturas de algodón de azúcar rosa!", "achievementRosyOutlookText": "Ha domesticado todas las monturas de algodón de azúcar rosa.", "achievementRosyOutlook": "Perspectiva Rosa", - "achievementBareNecessitiesModalText": "¡Completaste las misiones de las mascotas Mono, Perezoso, y Brote de Árbol!", - "achievementBareNecessitiesText": "Completó las misiones de mascota de Mono, Perezoso y Brote de Árbol.", + "achievementBareNecessitiesModalText": "¡Completaste las misiones de las mascotas Mono, Perezoso, y Arbolito!", + "achievementBareNecessitiesText": "Completó las misiones de mascota de Mono, Perezoso y Arbolito.", "achievementBareNecessities": "Necesidades Básicas", "achievementBugBonanzaModalText": "¡Completaste las misiones de las mascotas Escarabajo, Mariposa, Caracol y Araña!", "achievementBugBonanza": "Bonanza de insectos", @@ -91,7 +91,10 @@ "achievementFreshwaterFriendsText": "Completó las misiones de mascota de Ajolote, Rana e Hipopótamo.", "achievementFreshwaterFriends": "Amigos De Agua Dulce", "yourRewards": "Tus Recompensas", - "achievementBoneCollectorModalText": "¡Complaste todas las Mascotas de huesos!", - "achievementBoneCollectorText": "Ha coleccionado todas las Mascotas de huesos.", - "achievementBoneCollector": "Colector de los Huesos" + "achievementBoneCollectorModalText": "¡Coleccionaste a todas las Mascotas Esqueléticas!", + "achievementBoneCollectorText": "Has coleccionado todas las Mascotas Esqueléticas.", + "achievementBoneCollector": "Colector de los Huesos", + "achievementSkeletonCrewText": "Has domado a todas las Monturas Esqueléticas.", + "achievementSkeletonCrew": "Tripulación de los Esqueletos", + "achievementSkeletonCrewModalText": "¡Domaste a todas las Monturas Esqueléticas!" } diff --git a/website/common/locales/es_419/backgrounds.json b/website/common/locales/es_419/backgrounds.json index c0bd33a702..bad89b67b0 100644 --- a/website/common/locales/es_419/backgrounds.json +++ b/website/common/locales/es_419/backgrounds.json @@ -527,15 +527,47 @@ "backgroundButterflyGardenText": "Jardín de mariposas", "backgroundAmongGiantFlowersText": "Entre flores gigantes", "backgrounds032020": "CONJUNTO 70: Lanzado en marzo 2020", - "backgroundUnderwaterRuinsNotes": "Explora las ruinas submarinas hundidas hace mucho.", - "backgroundUnderwaterRuinsText": "Ruinas submarinas", + "backgroundUnderwaterRuinsNotes": "Explora las Ruinas Submarinas hundidas hace mucho.", + "backgroundUnderwaterRuinsText": "Ruinas Submarinas", "backgroundSwimmingAmongJellyfishNotes": "Emoción con belleza y peligro nadando entre medusas.", - "backgroundSwimmingAmongJellyfishText": "Nadando entre medusas", + "backgroundSwimmingAmongJellyfishText": "Nadando Entre Medusas", "backgroundVikingShipNotes": "Navega a la aventura en un Barco Vikingo.", "backgroundVikingShipText": "Barco Vikingo", "backgroundRelaxationRiverText": "Río Relajante", "backgroundStrawberryPatchNotes": "Recolecta golosinas frescas de un Huerto de Fresas.", "backgroundSaltLakeText": "Lago Salado", "backgroundRelaxationRiverNotes": "Flota lánguidamente por el Río Relajante.", - "backgrounds062020": "CONJUNTO 73: Lanzado en junio 2020" + "backgrounds062020": "CONJUNTO 73: Lanzado en junio 2020", + "backgroundRiverOfLavaNotes": "Desafia la convección dando un paseo a lo largo de un Río de Lava.", + "backgroundRiverOfLavaText": "Río de Lava", + "backgroundRestingInTheInnNotes": "Trabaja desde la comodidad y seguridad de tu habitación mientras Descansas en la Posada.", + "backgroundRestingInTheInnText": "Descansando en la Posada", + "backgroundMysticalObservatoryNotes": "Lee tu destino en las estrellas desde un Observatorio Místico.", + "backgroundMysticalObservatoryText": "Observatorio Místico", + "backgrounds112020": "CONJUNTO 78: Lanzado en Noviembre 2020", + "backgroundSpookyScarecrowFieldNotes": "Demuestra que eres más atrevido que un pájaro al enfrentarte a un Espeluznante Campo de Espantapájaros.", + "backgroundSpookyScarecrowFieldText": "Campo de Espantapájaros Espeluznante", + "backgroundHauntedForestNotes": "Trata de no perderte en el Bosque Embrujado.", + "backgroundHauntedForestText": "Bosque Embrujado", + "backgroundCrescentMoonNotes": "Haz el trabajo de los sueños mientras estás sentado en una Luna Creciente.", + "backgroundCrescentMoonText": "Luna Creciente", + "backgroundHerdingSheepInAutumnNotes": "Mezclate en un Rebaño de Ovejas.", + "backgroundHerdingSheepInAutumnText": "Rebaño de Ovejas", + "backgroundGiantAutumnLeafNotes": "Posa en una Hoja Gigante antes de que caiga.", + "backgroundGiantAutumnLeafText": "Hoja Gigante", + "backgrounds102020": "CONJUNTO 77: Lanzado en Octubre 2020", + "backgroundFlyingOverAnAutumnForestNotes": "Toma los brillantes colores de abajo mientras vuelas sobre un Bosque de Otoño.", + "backgroundFlyingOverAnAutumnForestText": "Volando Sobre un Bosque de Otoño", + "backgroundProductivityPlazaNotes": "Toma un inspirador paseo por la Plaza de la Productividad de la Ciudad de Habitica.", + "backgroundProductivityPlazaText": "Plaza de la Productividad", + "backgroundJungleCanopyNotes": "Disfruta del sofocante esplendor de un Dosel de la Selva.", + "backgroundJungleCanopyText": "Dosel de la Jungla", + "backgrounds092020": "CONJUNTO 76: Lanzado en Septiembre 2020", + "backgroundCampingOutNotes": "Disfruta del aire libre acampando.", + "backgroundCampingOutText": "Acampando", + "backgrounds082020": "CONJUNTO 75: Lanzado en Agosto 2020", + "backgroundBeachCabanaNotes": "Relájate a la sombra de una Cabaña en la Playa.", + "backgroundBeachCabanaText": "Cabaña de Playa", + "backgrounds072020": "CONJUNTO 74: Lanzado en Julio 2020", + "backgroundSaltLakeNotes": "Contempla las llamativas ondas rojas de un Lago Salado." } diff --git a/website/common/locales/es_419/challenge.json b/website/common/locales/es_419/challenge.json index b66879601d..548fa85164 100644 --- a/website/common/locales/es_419/challenge.json +++ b/website/common/locales/es_419/challenge.json @@ -100,5 +100,6 @@ "viewProgress": "Ver Progreso", "selectMember": "Seleccionar miembro", "confirmKeepChallengeTasks": "¿Quieres mantener las tareas del reto?", - "selectParticipant": "Seleccionar un Participante" + "selectParticipant": "Seleccionar un Participante", + "filters": "filtros" } diff --git a/website/common/locales/es_419/content.json b/website/common/locales/es_419/content.json index b2236a0b86..fee20aad02 100644 --- a/website/common/locales/es_419/content.json +++ b/website/common/locales/es_419/content.json @@ -360,5 +360,6 @@ "hatchingPotionDessert": "Confite", "hatchingPotionBirchBark": "Corteza de Abedul", "hatchingPotionAurora": "Aurora", - "hatchingPotionAmber": "Ámbar" + "hatchingPotionAmber": "Ámbar", + "hatchingPotionVampire": "Vampiro" } diff --git a/website/common/locales/es_419/faq.json b/website/common/locales/es_419/faq.json index 1d16446b82..65b202f198 100644 --- a/website/common/locales/es_419/faq.json +++ b/website/common/locales/es_419/faq.json @@ -30,7 +30,7 @@ "webFaqAnswer6": "Cada vez que completas una tarea, tendrás una oportunidad aleatoria de recibir un huevo, una poción de eclosión o un trozo de comida. Serán almacenados en Inventario > Artículos. Para eclosionar una Mascota, necesitarás un huevo y una poción de eclosión. Una vez tengas un huevo y una poción, ve al Inventario > Establo para eclosionar tu mascota haciendo clic en su imagen. Una vez hayas eclosionado una mascota, puedes equiparla haciendo clic en ella. También puedes hacer que tus Mascotas crezcan hasta ser Monturas alimentándolas en tu Inventario > Establo. ¡Arrastra un trozo de comida de la barra de acción en la parte inferior de la pantalla y déjala caer en una mascota para alimentarla! Tendrás que alimentar una mascota muchas veces antes de que se vuelva una Montura, pero si puedes identificar su comida favorita, crecerá más rápido. Utiliza ensayo y error, o [encuentra los spoilers acá](http://habitica.fandom.com/wiki/Food#Food_Preferences). Cuando tengas una montura, haz clic en ella para equiparla a tu personaje. También puedes obtener huevos de Mascotas de Misión completando algunas Misiones. (Mira abajo para aprender más sobre Misiones.)", "faqQuestion7": "¿Cómo me convierto en Guerrero, Mago, Pícaro o Sanador?", "iosFaqAnswer7": "En el nivel 10, puedes elegir convertirte en Guerrero, Mago, Pícaro o Sanador. (Todos los jugadores comienzan como Guerreros por defecto.) Cada Clase tiene distintas opciones de equipamiento, distintas habilidades que pueden usar a partir del nivel 11, y distintas ventajas. Los Guerreros pueden hacer daño fácilmente a los Jefes, resistir más daño de sus tareas y ayudar a que su Equipo sea más fuerte. Los Magos también pueden hacer daño a los Jefes con facilidad, además de subir rápidamente de nivel y restaurar la Maná de su Equipo. Los Pícaros son los que más oro obtienen y más botines encuentran, y pueden ayudar a que su Equipo también lo haga. Finalmente, los Sanadores pueden curarse a ellos mismos y a los miembros de su Equipo.\n\nSi no quieres elegir una Clase inmediatamente -- por ejemplo, si todavía estás trabajando para comprar todo el equipamiento de tu clase actual -- puedes hacer clic en \"Cancelar\" y elegir más tarde abriendo el Menú, haciendo clic en el ícono de Ajustes y luego haciendo clic en \"Activar Sistema de Clases\".", - "androidFaqAnswer7": "En nivel 10, puedes elegir convertirte en Guerrero, Mago, Pícaro o Sanador. (Todos los jugadores comienzan como Guerreros por defecto). Cada Clase tiene distintas opciones de equipamiento, distintas Habilidades que pueden usar a partir del nivel 11, y distintas ventajas. Los Guerreros pueden hacerle daño fácilmente a los Jefes, resistir más daño de sus tareas, y ayudar a que su Equipo se haga más fuerte. Los Magos también pueden hacerle mucho daño a los Jefes, y subir rápidamente de nivel y restaurar la Mana de su equipo. Los Pícaros son los que más oro ganan y más botines encuentran, y pueden ayudar a que su equipo también lo haga. Finalmente, los Sanadores pueden curarse a ellos mismos y a su equipo. \n\nSi no quieres elegir una Clase inmediatamente - por ejemplo, si todavía estás trabajando para comprar todo el equipamiento de tu clase actual -- puedes hacer clic en \"Decidir más tarde\" y elegir más tarde en Menú > Elegir Clase.", + "androidFaqAnswer7": "En nivel 10, puedes elegir convertirte en Guerrero, Mago, Pícaro o Sanador. (Todos los jugadores comienzan como Guerreros por defecto). Cada Clase tiene distintas opciones de equipamiento, distintas Habilidades que pueden usar a partir del nivel 11, y distintas ventajas. Los Guerreros pueden hacerle daño fácilmente a los Jefes, resistir más daño de sus tareas, y ayudar a que su Equipo se haga más fuerte. Los Magos también pueden hacerle mucho daño a los Jefes, y subir rápidamente de nivel y restaurar la Mana de su equipo. Los Pícaros son los que más oro ganan y más botines encuentran, y pueden ayudar a que su equipo también lo haga. Finalmente, los Sanadores pueden curarse a ellos mismos y a su equipo. \n\nSi no quieres elegir una Clase inmediatamente -- por ejemplo, si todavía estás tratando de comprar todo el equipamiento de tu clase actual -- puedes seleccionar \"No Usar\" y elegir más tarde abriendo el Menú, seleccionando el ícono de Ajustes, y seleccionando \"Activar el Sistema de Clases\".", "webFaqAnswer7": "En el nivel 10, puedes elegir si te conviertes en Guerrero, Mago, Pícaro o Sanador. (Todos los jugadores comienzan como Guerreros por defecto). Cada Clase tiene diferentes opciones de equipamiento, diferentes Habilidades que pueden lanzar a partir del nivel 11 y diferentes ventajas. Los Guerreros pueden hacer daño a los Jefes con facilidad, aguantar más daño de sus tareas y ayudar a hacer más resistente al equipo. Los Magos pueden también dañar a los Jefes con facilidad, así como subir rápidamente de nivel y recuperar Maná para su equipo. Los pícaros ganan más oro y encuentran más objetos de botín, y pueden ayudar a su equipo a hacer lo mismo. Finalmente, los Sanadores pueden curarse a sí mismos y a los miembros de su equipo. Si no quieres elegir una Clase de forma inmediata -- por ejemplo, todavía estás comprando todo el equipamiento para tu clase actual -- puedes hacer click en \"excluir\" y reabrirlo más tarde en Ajustes.", "faqQuestion8": "¿Qué es la barra azul que aparece en la Cabecera después del nivel 10?", "iosFaqAnswer8": "La barra azul que apareció cuando llegaste al nivel 10 y elegiste una Clase es tu barra de Mana. A medida que sigas subiendo de nivel, vas a desbloquear Habilidades especiales que requieren Maná para su uso. Cada Clase tiene diferentes Habilidades, las cuales aparecen después del nivell 11 en Menú > Habilidades. A diferencia de tu barra de Salud, tu barra de Maná no se resetea cuando subes de nivel. En lugar de eso, obtienes Mana cuando completas buenos Hábitos, Diarias y Pendientes, y la pierdes cuando sucumbes a los malos Hábitos. También ganas algo de Mana por la noche -- cuantas más Diarias completes, más Mana ganarás.", diff --git a/website/common/locales/es_419/gear.json b/website/common/locales/es_419/gear.json index 9eed425a2c..247dc11d1a 100644 --- a/website/common/locales/es_419/gear.json +++ b/website/common/locales/es_419/gear.json @@ -9,7 +9,7 @@ "mysterySets": "Conjuntos Misteriosos", "gearNotOwned": "No posees este item.", "noGearItemsOfType": "No posees ninguno de estos.", - "noGearItemsOfClass": "¡Ya posees todo tu equipo de clase! Durante las Galas Estacionales, cerca a los solsticios y equinoccios será liberado más.", + "noGearItemsOfClass": "¡Ya posees todo el equipamiento de tu clase! Serán liberados más durante las Galas Estacionales, cerca a los solsticios y equinoccios.", "classLockedItem": "Este artículo solo está disponible para una clase específica. ¡En nivel 10 o superior, puedes cambiar tu clase en el ícono de Usuario > Ajustes > Creación de Personaje!", "tierLockedItem": "Este artículo solo está disponible una vez hayas comprado los artículos previos en secuencia. ¡Sigue trabajando para lograrlo!", "sortByType": "Tipo", @@ -201,7 +201,7 @@ "weaponSpecialSummer2016MageText": "Báculo de espuma marina", "weaponSpecialSummer2016MageNotes": "Todo el poder de los mares se canaliza por este báculo. Incrementa la Inteligencia por <%= int %> y la Percepción por <%= per %>. Equipamiento de edición limitada Verano de 2016.", "weaponSpecialSummer2016HealerText": "Tridente sanador", - "weaponSpecialSummer2016HealerNotes": "Una espina daña, la otra cura. Incrementa tu inteligecncia por <%= int %>. Equipamiento de Edición Limitada de Verano 2016.", + "weaponSpecialSummer2016HealerNotes": "Una espina daña, la otra cura. Incrementa la inteligencia en <%= int %>. Equipamiento de Edición Limitada de Verano 2016.", "weaponSpecialFall2016RogueText": "Daga de mordida de araña", "weaponSpecialFall2016RogueNotes": "¡Siente el dolor de la picadura de la araña! Incrementa la Fuerza por <%= str %>. Equipamiento de Edición Limitada de Otoño 2016.", "weaponSpecialFall2016WarriorText": "Raices que atacan", @@ -781,44 +781,44 @@ "armorArmoireYellowPartyDressText": "Vestido amarillo de fiesta", "armorArmoireYellowPartyDressNotes": "¡Tú eres perceptivo, fuerte, listo y muy a la moda! Aumenta la Percepción, Fuerza e Inteligencia en <%= attrs %> cada una. Armario Encantado: Conjunto Moño Amarillo (Artículo 2 de 2).", "armorArmoireFarrierOutfitText": "Traje de herrador", - "armorArmoireFarrierOutfitNotes": "These sturdy work clothes can stand up to the messiest Stable. Increases Intelligence, Constitution, and Perception by <%= attrs %> each. Enchanted Armoire: Farrier Set (Item 2 of 3).", - "armorArmoireCandlestickMakerOutfitText": "Candlestick Maker Outfit", - "armorArmoireCandlestickMakerOutfitNotes": "This sturdy set of clothes will protect you from hot wax spills as you ply your craft! Increases Constitution by <%= con %>. Enchanted Armoire: Candlestick Maker Set (Item 1 of 3).", - "armorArmoireWovenRobesText": "Woven Robes", - "armorArmoireWovenRobesNotes": "Display your weaving work proudly by wearing this colorful robe! Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Weaver Set (Item 1 of 3).", - "armorArmoireLamplightersGreatcoatText": "Lamplighter's Greatcoat", - "armorArmoireLamplightersGreatcoatNotes": "This heavy woolen coat can stand up to the harshest wintry night! Increases Perception by <%= per %>. Enchanted Armoire: Lamplighter's Set (Item 2 of 4).", - "armorArmoireCoachDriverLiveryText": "Coach Driver's Livery", - "armorArmoireCoachDriverLiveryNotes": "This heavy overcoat will protect you from the weather as you drive. Plus it looks pretty snazzy, too! Increases Strength by <%= str %>. Enchanted Armoire: Coach Driver Set (Item 1 of 3).", - "armorArmoireRobeOfDiamondsText": "Robe of Diamonds", - "armorArmoireRobeOfDiamondsNotes": "These royal robes not only make you appear noble, they allow you to see the nobility within others. Increases Perception by <%= per %>. Enchanted Armoire: King of Diamonds Set (Item 1 of 4).", - "armorArmoireFlutteryFrockText": "Fluttery Frock", - "armorArmoireFlutteryFrockNotes": "A light and airy gown with a wide skirt the butterflies might mistake for a giant blossom! Increases Constitution, Perception, and Strength by <%= attrs %> each. Enchanted Armoire: Fluttery Frock Set (Item 1 of 4).", - "armorArmoireCobblersCoverallsText": "Cobbler's Coveralls", - "armorArmoireCobblersCoverallsNotes": "These sturdy coveralls have lots of pockets for tools, leather scraps, and other useful items! Increases Perception and Strength by <%= attrs %> each. Enchanted Armoire: Cobbler Set (Item 1 of 3).", - "armorArmoireGlassblowersCoverallsText": "Glassblower's Coveralls", - "armorArmoireGlassblowersCoverallsNotes": "These coveralls will protect you while you're making masterpieces with hot molten glass. Increases Constitution by <%= con %>. Enchanted Armoire: Glassblower Set (Item 2 of 4).", - "armorArmoireBluePartyDressText": "Blue Party Dress", + "armorArmoireFarrierOutfitNotes": "Estas resistentes ropas de trabajo pueden resistir el más desordenado de los establos. Aumenta la Inteligencia, Constitución y Percepción por <%= attrs %> cada uno. Armario Encantado: Conjunto de herrador (Ítem 2 de 3).", + "armorArmoireCandlestickMakerOutfitText": "Traje de Fabricante de Velas", + "armorArmoireCandlestickMakerOutfitNotes": "¡Este resistente conjunto de ropa te protegerá de los derrames de cera caliente mientras realizas tu trabajo! Aumenta la Constitución en <%= con %>. Armario Encantado: Conjunto de fabricación de velas (Artículo 1 de 3).", + "armorArmoireWovenRobesText": "Túnicas Tejidas", + "armorArmoireWovenRobesNotes": "¡Muestra tu trabajo de tejedor con orgullo usando esta colorida bata! Aumenta la Constitución en <%= con %> y la Inteligencia en <%= int %>. Armario Encantado: Conjunto de Tejedor (Artículo 1 de 3).", + "armorArmoireLamplightersGreatcoatText": "Abrigo de Farolelo", + "armorArmoireLamplightersGreatcoatNotes": "¡Este pesado abrigo de lana puede soportar la más dura noche de invierno! Aumenta la Percepción en <%= per %>. Armario Encantado: Conjunto de Lámparas (Artículo 2 de 4).", + "armorArmoireCoachDriverLiveryText": "Traje de Conductor en Entrenamiento Caballeresco", + "armorArmoireCoachDriverLiveryNotes": "Este pesado abrigo te protegerá del clima mientras conduces. Además, ¡también se ve muy elegante! Aumenta la fuerza en <%= str %>. Armario Encantado: Conjunto de Conductor en Entrenamiento (Artículo 1 de 3).", + "armorArmoireRobeOfDiamondsText": "Túnica de Diamantes", + "armorArmoireRobeOfDiamondsNotes": "Estas ropas reales no sólo te hacen parecer noble, sino que te permiten ver la nobleza dentro de los demás. Aumenta la Percepción en <%= per %>. Armario Encantado: Conjunto de Rey de Diamantes (Artículo 1 de 4).", + "armorArmoireFlutteryFrockText": "Hábito Revoloteado", + "armorArmoireFlutteryFrockNotes": "¡Un vestido ligero y aireado con una falda ancha que las mariposas podrían confundir con una flor gigante! Aumenta la Constitución, la Percepción y la Fuerza en <%= attrs %> cada uno. Armario Encantado: Conjunto de Hábitos Revoloteados (Artículo 1 de 4).", + "armorArmoireCobblersCoverallsText": "Mono de Zapatero", + "armorArmoireCobblersCoverallsNotes": "¡Estos robustos monos tienen muchos bolsillos para herramientas, retazos de cuero y otros artículos útiles! Aumenta la percepción y la fuerza en <%= attrs %> cada uno. Armario encantado: Conjunto de Zapatero (Artículo 1 de 3).", + "armorArmoireGlassblowersCoverallsText": "Mono de Soplador de Vidrio", + "armorArmoireGlassblowersCoverallsNotes": "Este mono te protegerá mientras haces obras maestras con vidrio fundido caliente. Aumenta la Constitución en <%= con %>. Armario encantado: Conjunto de Sopladores de Vidrio (Artículo 2 de 4).", + "armorArmoireBluePartyDressText": "Vestido de Fiestas Azul", "armorArmoireBluePartyDressNotes": "Tú eres perceptivo, resistente, listo y ¡tan a la moda! Aumenta la Percepción, Fuerza y Constitución en <%= attrs %> cada una. Armario Encantado: Conjunto Moño Azul (Artículo 2 de 2).", - "armorArmoirePiraticalPrincessGownText": "Piratical Princess Gown", - "armorArmoirePiraticalPrincessGownNotes": "This luxuriant garment has many pockets for concealing weapons and loot! Increases Perception by <%= per %>. Enchanted Armoire: Piratical Princess Set (Item 2 of 4).", - "armorArmoireJeweledArcherArmorText": "Jeweled Archer Armor", - "armorArmoireJeweledArcherArmorNotes": "This finely crafted armor will protect you from projectiles or errant red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Jeweled Archer Set (Item 2 of 3).", - "armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding", - "armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).", - "armorArmoireRobeOfSpadesText": "Robe of Spades", - "armorArmoireRobeOfSpadesNotes": "These luxuriant robes conceal hidden pockets for treasures or weapons--your choice! Increases Strength by <%= str %>. Enchanted Armoire: Ace of Spades Set (Item 2 of 3).", - "armorArmoireSoftBlueSuitText": "Soft Blue Suit", - "armorArmoireSoftBlueSuitNotes": "Blue is a calming colour. So calming, some even wear this soft outfit to sleep... zZz. Increases Intelligence by <%= int %> and Perception by <%= per %>. Enchanted Armoire: Blue Loungewear Set (Item 2 of 3).", - "armorArmoireSoftGreenSuitText": "Soft Green Suit", - "armorArmoireSoftGreenSuitNotes": "Green is the most refreshing color! Ideal for resting those tired eyes... mmm, or even a nap... Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Green Loungewear Set (Item 2 of 3).", - "armorArmoireSoftRedSuitText": "Soft Red Suit", - "armorArmoireSoftRedSuitNotes": "Red is such an invigorating color. If you need to wake up bright and early, this suit could make the perfect pajamas... Increases Intelligence by <%= int %> and Strength by <%= str %>. Enchanted Armoire: Red Loungewear Set (Item 2 of 3).", - "armorArmoireScribesRobeText": "Scribe's Robes", - "armorArmoireScribesRobeNotes": "These velvety robes are woven with inspirational and motivational magic. Increases Perception and Intelligence by <%= attrs %> each. Enchanted Armoire: Scribe Set (Item 1 of 3).", + "armorArmoirePiraticalPrincessGownText": "Vestido de Princesa Piratesca", + "armorArmoirePiraticalPrincessGownNotes": "¡Esta exuberante prenda tiene muchos bolsillos para ocultar armas y botín! Aumenta la percepción en <%= per %>. Armario encantado: Conjunto de Princesa Piratesca (Artículo 2 de 4).", + "armorArmoireJeweledArcherArmorText": "Armadura de Arquero Enjoyado", + "armorArmoireJeweledArcherArmorNotes": "¡Esta armadura finamente elaborada te protegerá de los proyectiles o de las Tareas Diarias rojas errantes! Aumenta la Constitución en <%= con %>. Armario Encantado: Conjunto de Arqueros Enjoyados (Artículo 2 de 3).", + "armorArmoireCoverallsOfBookbindingText": "Mono de Encuadernación", + "armorArmoireCoverallsOfBookbindingNotes": "Todo lo que necesitas en un conjunto de monos, incluyendo bolsillos para todo. Un par de gafas, monedas sueltas, un anillo de oro... Aumenta la Constitución en <%= con %> y la Percepción en <%= per %>. Armario Encantado: Conjunto de Encuadernación (Artículo 2 de 4).", + "armorArmoireRobeOfSpadesText": "Traje de Picas", + "armorArmoireRobeOfSpadesNotes": "Estas lujosas túnicas esconden bolsillos ocultos para tesoros o armas... ¡tú eliges! Aumenta la fuerza en <%= str %>. Armario Encantado: Conjunto de As de Espadas (Ítem 2 de 3).", + "armorArmoireSoftBlueSuitText": "Traje Suave Azul", + "armorArmoireSoftBlueSuitNotes": "El azul es un color calmante. Tan calmante que algunos incluso usan este suave traje para dormir... zZz. Aumenta la Inteligencia en <%= int %> y la Percepción en <%= per %>. Armario encantado: Conjunto de Ropa de Cama Azul (Artículo 2 de 3).", + "armorArmoireSoftGreenSuitText": "Traje Suave Verde", + "armorArmoireSoftGreenSuitNotes": "¡El verde es el color más refrescante! Ideal para descansar esos ojos cansados... mmm, o incluso una siesta... Aumenta la Constitución y la Inteligencia en <%= attrs %> cada uno. Armario Encantado: Conjunto de Ropa de Cama Verde (Artículo 2 de 3).", + "armorArmoireSoftRedSuitText": "Traje Suave Rojo", + "armorArmoireSoftRedSuitNotes": "El rojo es un color tan vigorizante. Si necesitas levantarte temprano, este traje podría ser el pijama perfecto... Aumenta la Inteligencia en <%= int %> y laFfuerza en <%= str %>. Armario Encantado: Conjunto de Ropa de Cama Roja (Artículo 2 de 3).", + "armorArmoireScribesRobeText": "Ropas de Escribano", + "armorArmoireScribesRobeNotes": "Estas túnicas aterciopeladas están tejidas con magia inspiradora y motivadora. Aumenta la Percepción y la Inteligencia en <%= attrs %> cada uno. Armario Encantado: Conjunto de Escribano (Item 1 de 3).", "headgear": "Casco", "headgearCapitalized": "Gorros", - "headBase0Text": "No Headgear", + "headBase0Text": "", "headBase0Notes": "Sin equipamiento para la cabeza.", "headWarrior1Text": "Yelmo de Cuero", "headWarrior1Notes": "Gorro de robusta piel hervida. Incrementa la Fuerza por <%= str %>.", @@ -863,11 +863,11 @@ "headSpecial0Text": "Yelmo de Sombra", "headSpecial0Notes": "La sangre y la ceniza, la lava y la obsidiana le dan a este casco su simbolismo y su poder. Incrementa la Inteligencia por <%= int %>.", "headSpecial1Text": "Yelmo de Cristal", - "headSpecial1Notes": "The favored crown of those who lead by example. Increases all Stats by <%= attrs %>.", + "headSpecial1Notes": "", "headSpecial2Text": "Yelmo sin Nombre", "headSpecial2Notes": "Un testimonio a quienes fueron generosos sin pedir nada a cambio. Incrementa la Inteligencia y Fuerza por <%= attrs %> cada una.", "headSpecialTakeThisText": "Llevate Este Casco", - "headSpecialTakeThisNotes": "This helm was earned by participating in a sponsored Challenge made by Take This. Congratulations! Increases all Stats by <%= attrs %>.", + "headSpecialTakeThisNotes": "Este casco se ganó participando en un desafío patrocinado por Take This. ¡Felicidades! Incrementa todas las estadísticas en <%= attrs %>.", "headSpecialFireCoralCircletText": "Diadema de Coral de Fuego", "headSpecialFireCoralCircletNotes": "¡Esta diadema, diseñada por los mejores alquimistas de Habitica, te permite respirar agua y bucear en busca de tesoros! Incrementa la Percepción por <%= per %>.", "headSpecialPyromancersTurbanText": "Turbante de Piromante", @@ -876,12 +876,12 @@ "headSpecialBardHatNotes": "¡Pon una pluma en tu gorro y llámalo \"productividad\"! Aumenta la Inteligencia en <%= int %>.", "headSpecialLunarWarriorHelmText": "Yelmo de Guerrero Lunar", "headSpecialLunarWarriorHelmNotes": "¡El poder de la luna te fortalecerá en batalla! Aumenta la Fuerza y la Inteligencia en <%= attrs %> cada una.", - "headSpecialMammothRiderHelmText": "Mammoth Rider Helm", - "headSpecialMammothRiderHelmNotes": "Don't let its fluffiness fool you--this hat will grant you piercing powers of perception! Increases Perception by <%= per %>.", + "headSpecialMammothRiderHelmText": "Casco del Jinete Mamut", + "headSpecialMammothRiderHelmNotes": "No dejes que su esponjosidad te engañe... ¡Este sombrero te dará penetrantes poderes de percepción! Aumenta la Percepción en <%= per %>.", "headSpecialPageHelmText": "Yelmo de paje", - "headSpecialPageHelmNotes": "Chainmail: for the stylish AND the practical. Increases Perception by <%= per %>.", - "headSpecialRoguishRainbowMessengerHoodText": "Roguish Rainbow Messenger Hood", - "headSpecialRoguishRainbowMessengerHoodNotes": "This bright hood emits a colorful glow that will protect you from unpleasant weather! Increases Constitution by <%= con %>.", + "headSpecialPageHelmNotes": "Cota de Malla: para lo elegante Y lo práctico. Aumenta la Percepción en <%= per %>.", + "headSpecialRoguishRainbowMessengerHoodText": "Capucha de Mensajero del Arco Iris Picarón", + "headSpecialRoguishRainbowMessengerHoodNotes": "¡Esta brillante capucha emite un colorido resplandor que te protegerá de las inclemencias del tiempo! Aumenta la Constitución en <%= con %>.", "headSpecialClandestineCowlText": "Clandestine Cowl", "headSpecialClandestineCowlNotes": "Take care to conceal your face as you rob your Tasks of gold and loot! Increases Perception by <%= per %>.", "headSpecialSnowSovereignCrownText": "Corona del Soberano de la Nieve", @@ -1181,7 +1181,7 @@ "headArmoireRancherHatText": "Sombrero Ranchero", "headArmoireRancherHatNotes": "¡Arrea a tus monturas y reúne a tus mascotas mientras usas este Sombrero Ranchero mágico! Incrementa la Fuerza por <%= str %>, la Percepción por <%= per %> y la Inteligencia por <%= int %>. Armario Encantado: Conjunto Ranchero (Artículo 1 de 3).", "headArmoireBlueHairbowText": "Lazo Azul", - "headArmoireBlueHairbowNotes": "¡Vuélvete perceptivo, robusto e inteligente mientras usas este hermoso Lazo Azul! Incrementa la Percepción por <%= per %>, la Constitución por <%= con %> y la Inteligencia por <%= int %>. Armario Encantado: Artículo Independiente.", + "headArmoireBlueHairbowNotes": "¡Vuélvete perceptivo, robusto e inteligente mientras usas este hermoso Lazo Azul! Incrementa la Percepción por <%= per %>, la Constitución por <%= con %> y la Inteligencia por <%= int %>. Armario Encantado: Conjunto de Arco de Pelo Azul (Artículo 1 de 2).", "headArmoireRoyalCrownText": "Corona Real", "headArmoireRoyalCrownNotes": "¡Viva el líder, poderoso y fuerte! Incrementa la Fuerza por <%= str %>. Armario Encantado: Conjunto Real (Artículo 1 de 3).", "headArmoireGoldenLaurelsText": "Laureles Dorados", @@ -1479,7 +1479,7 @@ "shieldArmoireAntiProcrastinationShieldText": "Escudo Anti-Procrastinación", "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": "Herradura", - "shieldArmoireHorseshoeNotes": "Ayude a proteger los pies de sus soportes con este zapato de hierro. Aumenta la Constitución, la Percepción y la Fuerza de cada uno por <%= attrs %>. Armario Encantado: Conjunto de Herrero(artículo 3 de 3)", + "shieldArmoireHorseshoeNotes": "Ayuda a proteger los pies de tus monturas con este zapato de hierro. Aumenta la Constitución, la Percepción y la Fuerza de cada uno por <%= attrs %>. Armario Encantado: Conjunto de Herrador (artículo 3 de 3).", "shieldArmoireHandmadeCandlestickText": "Candelero hecho a mano", "shieldArmoireHandmadeCandlestickNotes": "¡Sus productos de cera fina proporcionan luz y calidez a los Habiticanos agradecidos! Aumenta la fuerza en <%= str %>. Armario Encantado: Conjunto del fabricante de candeleros (Artículo 3 de 3).", "shieldArmoireWeaversShuttleText": "Lanzadera de tejedor", @@ -1530,7 +1530,7 @@ "backMystery201704Text": "Alas de cuento de hadas", "backMystery201704Notes": "Estas alas brillantes te llevarán a donde sea, incluso los reinos ocultos gobernados por criaturas mágicas. No otorgan ningún beneficio. Artículo de Suscriptor de Abril 2017.", "backMystery201706Text": "Bandera de saqueo emparchada", - "backMystery201706Notes": "¡La visión de esta bandera con el emblema de Jolly Roger llena cualquier Tarea o Diaria con temor! No confiere ningún beneficio. Artículo del suscriptor de junio de 2017.", + "backMystery201706Notes": "¡La visión de esta bandera con el emblema de Jolly Roger llena cualquier Tarea Pendiente o Tarea Diaria con temor! No confiere ningún beneficio. Artículo del suscriptor de junio de 2017.", "backMystery201709Text": "Libros de magia apilados", "backMystery201709Notes": "Aprender magia requiere mucha lectura, ¡pero seguro que disfrutarás de tus estudios! No confiere ningún beneficio. Artículo del suscriptor de septiembre de 2017.", "backMystery201801Text": "Alas del Duende de Escarcha", @@ -1812,5 +1812,31 @@ "weaponSpecialFall2020MageText": "Tres Visiones", "weaponSpecialFall2020MageNotes": "Si algo escapa a tu vista de mago, los cristales brillantes sobre este bastón iluminarán lo que pasaste por alto. Aumenta la inteligencia en un <% = int%> y la percepción en un <% = per%>. Edición limitada de otoño 2020.", "weaponSpecialFall2020HealerText": "Caña Capullo", - "weaponSpecialFall2020HealerNotes": "Ahora que tu transformación está completa, este remanente de tu vida como pupa ahora sirve como la vara adivina con la que mides los destinos. Aumenta la inteligencia en <% = int%>. Edición limitada de otoño 2020." + "weaponSpecialFall2020HealerNotes": "Ahora que tu transformación está completa, este remanente de tu vida como pupa ahora sirve como la vara adivina con la que mides los destinos. Aumenta la inteligencia en <% = int%>. Edición limitada de otoño 2020.", + "armorArmoireBoatingJacketText": "Chaqueta de Barco", + "armorArmoireNephriteArmorNotes": "Hecha de fuertes anillos de acero y decorada con jade, ¡esta armadura te protegerá de la procrastinación! Aumenta la Fuerza en <%= str %> y la Percepción en <%= per %>. Armario encantado: Conjunto de arquero de nefrita (Artículo 3 de 3).", + "armorArmoireNephriteArmorText": "Armadura de Nefrita", + "armorArmoireVernalVestmentNotes": "Esta prenda sedosa es perfecta para disfrutar con estilo el suave clima primaveral. Aumenta la Fuerza y la Inteligencia en <%= attrs %> cada uno. Armario Encantado: Conjunto de Vestimentas Vernales (Artículo 2 de 3).", + "armorArmoireVernalVestmentText": "Vestimenta Vernal", + "weaponArmoireNephriteBowText": "Arco de Neferita", + "weaponArmoireSlingshotNotes": "¡Apunta a tus Tareas Diarias! Aumenta la Fuerza en <%= str %>. Armario Encantado: Artículo Independiente.", + "weaponArmoireSlingshotText": "Honda", + "armorArmoireChefsJacketNotes": "Esta gruesa chaqueta de algodón tiene doble pecho para protegerte de los derrames (y es convenientemente reversible...) Aumenta la Inteligencia en <%= int %>. Armario Encantado: Conjunto de Chef (Artículo 2 de 4).", + "armorArmoireChefsJacketText": "Chaqueta de Chef", + "weaponArmoireResplendentRapierNotes": "Demuestra tu habilidad con la espada con esta arma de punta afilada. Aumenta la Percepción en <%= per %>. Armario Encantado: Artículo independiente.", + "weaponArmoireResplendentRapierText": "Estoque Resplandeciente", + "weaponArmoireFloridFanNotes": "Este encantador abanico de seda se pliega cuando no está en uso. Aumenta la Constitución en <%= con %>. Armario Encantado: Artículo independiente.", + "weaponArmoireFloridFanText": "Abanico Florido", + "weaponArmoireMagnifyingGlassNotes": "¡Ajá! ¡Una pieza de evidencia! Examínalo de cerca con este fino lente. Aumenta la Percepción en <%= per %>. Armario Encantado: Conjunto de Detective (Artículo 3 de 4).", + "weaponArmoireMagnifyingGlassText": "Lente de Aumento", + "weaponArmoireHappyBannerNotes": "¿La \"H\" es de Feliz, o de Habitica? ¡Tu elección! Aumenta la Percepción en <%= per %>. Armario Encantado: Conjunto de Cumpleaños Feliz (Artículo 3 de 4).", + "weaponArmoireHappyBannerText": "Banner de la Felicidad", + "weaponArmoireAlchemistsDistillerNotes": "Purifica los metales y otros compuestos mágicos con este brillante instrumento de latón. Aumenta la Fuerza en <%= str %> y la Inteligencia en <%= int %>. Armario Encantado: Conjunto de Alquimista (Artículo 3 de 4).", + "weaponArmoireAlchemistsDistillerText": "Destilador del Alquimista", + "weaponArmoireShadowMastersMaceNotes": "Las criaturas de la oscuridad obedecerán todas tus órdenes cuando agites esta brillante maza. Aumenta la percepción en <%= per %>. Armario Encantado: Conjunto de Maestro de las Sombras (Artículo 3 de 4).", + "weaponArmoireShadowMastersMaceText": "Maza del Maestro de Las Sombras", + "weaponArmoireJugglingBallsNotes": "Los Habiticanos son maestros multi-tareas, ¡así que no deberías tener problemas para mantener todas estas pelotas en el aire! Aumenta la inteligencia en <%= int %>. Armario Encantado: Artículo independiente.", + "weaponArmoireJugglingBallsText": "Pelotas de Malabarismo", + "weaponArmoireVernalTaperNotes": "Los días son cada vez más largos, pero esta vela te ayudará a encontrar tu camino antes del amanecer. Aumenta la Constitución en <%= con %>. Armario Encantado: Conjunto de Vestimentas Vernales (Artículo 3 de 3).", + "weaponArmoireVernalTaperText": "Cónico Vernal" } diff --git a/website/common/locales/es_419/groups.json b/website/common/locales/es_419/groups.json index d69bbc16a4..1ba05a9804 100644 --- a/website/common/locales/es_419/groups.json +++ b/website/common/locales/es_419/groups.json @@ -365,5 +365,7 @@ "bannedWordsAllowedDetail": "Con esta opción seleccionada, se permitirá el uso de palabras prohibidas en este Gremio.", "bannedWordsAllowed": "Permitir palabras prohibidas", "languageSettings": "Configuración de Lenguaje", - "newPartyPlaceholder": "Ingresa el nombre de tu Grupo." + "newPartyPlaceholder": "Ingresa el nombre de tu Grupo.", + "cannotRemoveQuestOwner": "No puedes eliminar al dueño de la misión activa. Aborta la misión primero.", + "features": "Características" } diff --git a/website/common/locales/es_419/messages.json b/website/common/locales/es_419/messages.json index 51d5fdffc6..2390cb1482 100644 --- a/website/common/locales/es_419/messages.json +++ b/website/common/locales/es_419/messages.json @@ -53,5 +53,11 @@ "messageMissingDisplayName": "Nombre de Usuario ausente.", "canDeleteNow": "Ahora puedes borrar el mensaje si lo desea.", "reportedMessage": "Has reportado este mensaje a los moderadores.", - "beginningOfConversationReminder": "¡Recuerda de ser amable, respetuoso, y seguir las Normas de la Comunidad!" + "beginningOfConversationReminder": "¡Recuerda de ser amable, respetuoso, y seguir las Normas de la Comunidad!", + "newsPostNotFound": "No se ha encontrado la publicación nueva o no tienes acceso.", + "messageAllUnEquipped": "Todo sin equipar.", + "messageBackgroundUnEquipped": "Fondo no equipado.", + "messagePetMountUnEquipped": "Mascota y Montura no equipados.", + "messageCostumeUnEquipped": "Disfraz no equipado.", + "messageBattleGearUnEquipped": "Equipo de Batalla no equipado." } diff --git a/website/common/locales/es_419/questscontent.json b/website/common/locales/es_419/questscontent.json index ab704cc095..8c1ce95070 100644 --- a/website/common/locales/es_419/questscontent.json +++ b/website/common/locales/es_419/questscontent.json @@ -113,7 +113,7 @@ "questGoldenknight3DropWeapon": "Lucero del Alba Pulverizador de Hitos de Mustaine (Arma de Mano Secundaria)", "questGroupEarnable": "Misiones Adquiribles", "questBasilistText": "La Basilista", - "questBasilistNotes": "Hay una conmoción en el mercado--del tipo que debería hacerte huir. Pero dado que eres un intrépido aventurero, en lugar de eso corres hacia ella y descubres una Basilista, ¡fusionándose a partir de Pendientes incompletas! Los Habiticanos en la cercanía están paralizados de miedo debido a la longitud de la Basilista, incapaces de empezar a trabajar. Desde alguna parte de los alrededores escuchas a @Arcosine gritar: \"¡Rápido! ¡Completen sus Pendientes y Diarias para reducir al monstruo, antes de que alguien se corte con el papel!\" Golpea velozmente, aventurero, y marca algunas casillas pendientes - ¡pero cuidado! Si dejas alguna Diaria sin hacer, ¡la Basilista te atacará a ti y a tu equipo!", + "questBasilistNotes": "Hay una conmoción en el mercado, del tipo que debería hacerte huir. Pero dado que eres un intrépido aventurero, en lugar de eso corres hacia ella y ¡descubres una Basilista, fusionándose a partir de Pendientes incompletas! Los Habiticanos en la cercanía están paralizados de miedo debido a la longitud de la Basilista, incapaces de empezar a trabajar. Desde alguna parte de los alrededores escuchas a @Arcosine gritar: \"¡Rápido! ¡Completen sus Pendientes y Diarias para reducir al monstruo, antes de que alguien se corte con el papel!\" Golpea velozmente, aventurero, y marca algunas tareas pendientes . Pero ¡cuidado! Si dejas alguna Diaria sin hacer, ¡la Basilista te atacará a ti y a tu equipo!", "questBasilistCompletion": "La Basilista se ha esparcido en forma de trozos de papel, los cuales centellean ligeramente con los colores de un arco iris. \"¡Uf!\", dice @Arcosine. \"¡Suerte que ustedes andaban por aquí!\" Sintiéndote más experimentado que antes, juntas un poco de oro de entre los papeles.", "questBasilistBoss": "La Basilista", "questEggHuntText": "Búsqueda de Huevos", @@ -167,7 +167,7 @@ "questPenguinDropPenguinEgg": "Pingüino (Huevo)", "questPenguinUnlockText": "Desbloquea huevos de Pinguino adquiribles en el Mercado", "questStressbeastText": "La Abominable Bestia del Estrés de las Estepas de Stoïkalm", - "questStressbeastNotes": "¡Completa Diarias y Pendientes para dañar al Jefe Global! Las Diarias incompletas rellenan la barra de Ataque de Estrés. Cuando la barra de Ataque de Estrés se llene completamente, el Jefe Global atacará a un PNJ. Un Jefe Global jamás dañará a jugadores o cuentas particulares en ninguna forma. Sólo las cuentas activas que no estén descansando en la posada tendrán sus Diarias incompletas computadas.

~*~

Lo primero que escuchamos son los pasos, más lentos y estruendosos que la estampida. Uno a uno, los Habiticanos miramos más allá de nuestras puertas, y nos faltan las palabras.

Todos hemos visto anteriormente a las bestias del estrés, claro - diminutas criaturas feroces que atacan en tiempos difíciles. ¿Pero esto? Esto se alza más alto que los edificios, con garras que pueden destrozar fácilmente a un dragón. La escarcha se balancea sobre su maloliente pelaje, y al tiempo que ruge, heladas ráfagas desgarran los techos de nuestras casas. Un monstruo de esta magnitud jamás fue mencionado salvo en antiguas leyendas.

\"¡Cuidado, Habiticanos!\" grita SabreCat. \"¡Armen barricadas en sus hogares - esta es la mismísima Abominable Bestia del Estrés!\"

\"¡Esa cosa se debió haber formado a partir de siglos de estrés!\" dice Kiwibot, cerrando la puerta de la Taberna y las persianas.

\"Las Estepas de Stoïkalm,\" dice Lemoness, con el rostro sombrío. \"Durante todo este tiempo pensamos que eran tranquilas y despreocupadas, pero deben haber estado escondiendo en secreto su estrés en algún lugar. Con el paso de las generaciones se convirtió en esto, y ahora se ha liberado y las ha atacado - ¡y a nosotros también!\"

Sólo hay una manera de ahuyentar a una Bestia del Estrés, Abominable o no, ¡y es atacándola con Diarias y Pendientes completadas! Unámonos todos y luchemos contra este aterrador enemigo - pero asegúrense de no holgazanear, o nuestras Diarias sin hacer podrían enfurecerlo tanto que arremetería...", + "questStressbeastNotes": "¡Completa Diarias y Pendientes para dañar al Jefe Global! Las Diarias incompletas rellenan la barra de Ataque de Estrés. Cuando la barra de Ataque de Estrés se llene completamente, el Jefe Global atacará a un PNJ. Un Jefe Global jamás dañará a jugadores o cuentas particulares en ninguna forma. Sólo las cuentas activas que no estén descansando en la posada tendrán sus Diarias incompletas computadas.

~*~

Lo primero que escuchamos son los pasos, más lentos y estruendosos que la estampida. Uno a uno, los Habiticanos miramos más allá de nuestras puertas, y nos faltan las palabras.

Todos hemos visto anteriormente a las bestias del estrés, claro - diminutas criaturas feroces que atacan en tiempos difíciles. ¿Pero esto? Esto se alza más alto que los edificios, con garras que pueden destrozar fácilmente a un dragón. La escarcha se balancea sobre su maloliente pelaje, y al tiempo que ruge, heladas ráfagas desgarran los techos de nuestras casas. Un monstruo de esta magnitud jamás fue mencionado salvo en antiguas leyendas.

\"¡Cuidado, Habiticanos!\" grita SabreCat. \"¡Armen barricadas en sus hogares - esta es la mismísima Abominable Bestia del Estrés!\"

\"¡Esa cosa debe estar hecha de siglos de estrés!\" dice Kiwibot, cerrando la puerta de la Taberna y las persianas.

\"Las Estepas de Stoïkalm,\" dice Lemoness, con el rostro sombrío. \"Durante todo este tiempo pensamos que eran tranquilas y despreocupadas, pero deben haber estado escondiendo en secreto su estrés en algún lugar. Con el paso de las generaciones se convirtió en esto, y ahora se ha liberado y las ha atacado - ¡y a nosotros también!\"

Sólo hay una manera de ahuyentar a una Bestia del Estrés, Abominable o no, ¡y es atacándola con Diarias y Pendientes completadas! Unámonos todos y luchemos contra este aterrador enemigo - pero asegúrense de no holgazanear, o nuestras Diarias sin hacer podrían enfurecerlo tanto que arremetería...", "questStressbeastBoss": "La Abominable Bestia del Estrés", "questStressbeastBossRageTitle": "Ataque de Estrés", "questStressbeastBossRageDescription": "Cuando esta barra se llene, ¡la Abominable Bestia del Estrés desatará su Ataque de Estrés sobre Habitica!", @@ -231,7 +231,7 @@ "questGroupDilatoryDistress": "Angustia en Dilatoria", "questDilatoryDistress1Text": "Peligro en Dilatoria, Parte 1: Mensaje en una Botella", "questDilatoryDistress1Notes": "¡Un mensaje en una botella llegó desde la recientemente reconstruida ciudad de Dilatoria! Dice: \"Queridos Habiticanos, necesitamos su ayuda una vez más. ¡Nuestra princesa ha desaparecido y la ciudad está bajo asedio de unos demonios acuáticos desconocidos! Las mantis marinas están manteniendo a raya a los atacantes. ¡Por favor ayúdennos!\" Para efectuar el largo viaje a la ciudad sumergida, uno debe tener la capacidad de respirar agua. ¡Por suerte, los alquimistas @Benga y @hazel pueden hacerlo todo posible! Sólo tienes que encontrar los ingredientes adecuados.", - "questDilatoryDistress1Completion": "Te pones la armadura con aletas y nadas a Dilatoria lo más rápido que puedes. Los tritones y sirenas y sus aliadas, las mantis marinas, han logrado mantener a los monstruos fuera de la ciudad por el momento, pero están perdiendo. Acabas de entrar al castillo ¡cuando el espeluznante asedio desciende!", + "questDilatoryDistress1Completion": "Te pones la armadura con aletas y nadas a Dilatoria lo más rápido que puedes. Los tritones y sirenas y sus aliadas, las mantis marinas, han logrado mantener a los monstruos fuera de la ciudad por el momento, pero están perdiendo. ¡Apenas acabas de entrar al castillo cuando el espeluznante asedio desciende!", "questDilatoryDistress1CollectFireCoral": "Coral de Fuego", "questDilatoryDistress1CollectBlueFins": "Aletas Azules", "questDilatoryDistress1DropArmor": "Armadura Oceánica con Aletas (Armadura)", @@ -324,7 +324,7 @@ "questBewilderBossRageStables": "`¡El Obnubilave usa ATAQUE ENGAÑADOR!`\n\n¡¡¡Ahh!!! Una vez más el Obnubilave nos ha deslumbrado y ha hecho que descuidemos nuestras Diarias, ¡y ahora ha atacado a Matt el Maestro de las Bestias! Con un remolino de niebla, Matt se transforma en una aterradora criatura alada, y todas las mascotas y monturas aúllan tristemente en sus establos. Rápido, ¡manténganse enfocados en sus tareas para vencer a esta cruel distracción!", "questBewilderBossRageBailey": "`¡El Obnubilave usa ATAQUE ENGAÑADOR!`\n\n¡Cuidado! En medio del informe de las noticias, ¡Bailey la Pregonera ha sido poseída por el Obnubilave! Bailey deja escapar un chillido maligno y poco informativo a medida que asciende en el aire. Ahora, ¿cómo sabremos qué está ocurriendo?\n\nNo se rindan... ¡estamos tan cerca de derrotar a esta molesta ave de una vez por todas!", "questFalconText": "Las Aves de la Procrastinación", - "questFalconNotes": "El Monte Habitica ha sido ensombrecido por una montaña de pendientes. Solía ser un lugar para ir de picnic y disfrutar de una sensación de logro, hasta que las tareas descuidadas se salieron de control. Ahora es el hogar de las temibles Aves de la Procrastinación, ¡criaturas terribles que no permiten a los Habiticanos completar sus tareas!

\"¡Es demasiado difícil!\" les graznan a @JonArinbjorn y a @Onheiron. \"¡Tomará mucho tiempo si lo hacen ahora! ¡No habrá diferencia si lo dejan para mañana! ¿Por qué mejor no hacen algo divertido?\"

No más, juras. ¡Escalarás tu montaña personal de Pendientes y vencerás a las Aves de la Procrastinación!", + "questFalconNotes": "El Monte Habitica ha sido ensombrecido por una montaña amenazante de pendientes. Solía ser un lugar para ir de picnic y disfrutar de una sensación de logro, hasta que las tareas descuidadas se salieron de control. Ahora es el hogar de las temibles Aves de la Procrastinación, ¡criaturas terribles que no permiten a los Habiticanos completar sus tareas!

\"¡Es demasiado difícil!\" les graznan a @JonArinbjorn y a @Onheiron. \"¡Tomará mucho tiempo si lo hacen ahora! ¡No habrá diferencia si lo dejan para mañana! ¿Por qué mejor no hacen algo divertido?\"

No más, juras. ¡Escalarás tu montaña personal de Pendientes y vencerás a las Aves de la Procrastinación!", "questFalconCompletion": "Habiendo triunfado finalmente sobre las Aves de la Procrastinación, te sientas para disfrutar la vista y un merecido descanso.

\"¡Guau!\" dice @Trogdorina. \"¡Ganaste!\"

@Squish agrega, \"Ten, llévate estos huevos que encontré como recompensa.\"", "questFalconBoss": "Aves de la Procrastinación", "questFalconDropFalconEgg": "Halcón (Huevo)", @@ -334,7 +334,7 @@ "questTreelingCompletion": "Te quitas el polvo cuando las últimas hojas caen al suelo. A pesar del malestar, la competencia Garden ahora es segura, ¡aunque el árbol que acaba de reducir a un montón de astillas de madera no ganará ningún premio! \"Aún quedan algunos inconvenientes por resolver\", dice @PainterProphet. \"Tal vez alguien más haría un mejor trabajo entrenando los retoños. ¿Te apetece ir?\"", "questTreelingBoss": "Árbol Enredado", "questTreelingDropTreelingEgg": "Treeling (Huevo)", - "questTreelingUnlockText": "Desbloquea huevos de Treeling adquiribles en el Mercado", + "questTreelingUnlockText": "Desbloquea Huevos de Arbolito adquiribles en el Mercado", "questAxolotlText": "El Axolote Mágico", "questAxolotlNotes": "Del fondo del Lago Lavado ves burbujas subiendo y... ¿fuego? Un axolote pequeño sube del agua turbia, arrojando rachas de colores. De repente, empieza a abrir la boca, y ¡@streak grita \"¡Cuidado!\" mientras el Axolote Mágico empieza a engullir tu fuerza de voluntad!

El Axolote Mágico crece con el encanto, burlándose de ti. \"¿Sabes algo de mis poderes de regeneración? ¡Te cansarás antes que yo!\"

\"¡Te venceremos con los hábitos buenos que hemos desarrollado!\" @PainterProphet grita en tono desafiante. ¡Te pones firme para ser productivo, para vencerle al Axolote Mágico y para recuperar tu fuerza de voluntad robada!", "questAxolotlCompletion": "Después de derrotar al Axolote Mágico, te das cuenta de que has recuperado tu fuerza de voluntad por tu cuenta.

\"¿La fuerza de voluntad? ¿La regeneración? ¿Fue todo una ilusión?\" @Kiwibot pregunta.

\"La mayoría de la magia es,\" contesta el Axolote Mágico. \"Lo siento tanto por engañarlos. Por favor acepten estos huevos como una disculpa. Confió en que los criaran para usar su magia para hábitos buenos, ¡Y no para el mal!\"

Tu y @hazel40 toman los huevos nuevos en una mano y se despiden con la otra mientras el Axolote Mágico regresa al lago.", @@ -345,7 +345,7 @@ "questAxolotlRageDescription": "Esta barra se va llenando cuando no completas tus Diarias. Cuando se llene completamente, ¡El Axolote Mágico sanará un 30% de su vida restante!", "questAxolotlRageEffect": "`¡El Axolote Mágico usa REGENERACIÓN AXOLOTE!`\n\n`¡Una cortina de coloridas burbujas nublan al monstruo por un momento, y cuando se despeja, algunas de sus heridas se han desvanecido!`", "questTurtleText": "Guía a la Tortuga", - "questTurtleNotes": "Help! This giant sea turtle cannot find her way to her nesting beach. She returns there every year to lay her eggs, but this year Inkomplete Bay is filled with toxic Task Flotsam made of red dailies and unchecked to-dos. \"She's thrashing in a panic!\" @JessicaChase says.

@UncommonCriminal nods. \"It's because her guiding senses are fogged and confused.\"

@Scarabsi grabs your arm. \"Can you help clear the Task Flotsam blocking her path? It may be hazardous, but we have to help her!\"", + "questTurtleNotes": "¡Ayuda! Esta tortuga de mar gigante no puede encontrar el camino a su playa de anidamiento. Regresa cada año para poner sus huevos, pero este año la Bahía Inkompleta está llena de Pecio tóxico de Tareas compuesto por diarias rojas y pendientes sin marcar. \"¡Está chapoteando en pánico!\", dice @JessicaChase.

@UncommonCriminal asiente. \"Es porque sus sentidos de dirección están nublados y confusos.\"

@Scarabsi agarra tu brazo. \"¿Puedes ayudar a limpiar el Pecio de Tareas que bloquea su camino? Tal vez sea peligroso, pero ¡tenemos que ayudarla!\"", "questTurtleCompletion": "Tu valiente esfuerzo ha limpiado las aguas para que nuestra tortuga marina encuentre su playa. @Bambin, @JaizakAripaik y tú observan mientras ella entierra su nidada de huevos profundamente en la arena para que puedan crecer y producir cientos de pequeñas tortugas marinas. Toda una dama, les da tres huevos a cada uno de ustedes, pidiéndoles que los alimenten y cuiden para que un día sean grandes tortugas marinas también.", "questTurtleBoss": "Pecio de la Tarea", "questTurtleDropTurtleEgg": "Tortuga (Huevo)", @@ -370,24 +370,24 @@ "questBeetleUnlockText": "Desbloquea Huevos de Escarabajo adquiribles en el Mercado", "questGroupTaskwoodsTerror": "Terror en Bosquetareas", "questTaskwoodsTerror1Text": "Terror en Bosquetareas, Parte 1: El Resplandor en Bosquetareas", - "questTaskwoodsTerror1Notes": "You have never seen the Joyful Reaper so agitated. The ruler of the Flourishing Fields lands her skeleton gryphon mount right in the middle of Productivity Plaza and shouts without dismounting. \"Lovely Habiticans, we need your help! Something is starting fires in the Taskwoods, and we still haven't fully recovered from our battle against Burnout. If it's not halted, the flames could engulf all of our wild orchards and berry bushes!\"

You quickly volunteer, and hasten to the Taskwoods. As you creep into Habitica’s biggest fruit-bearing forest, you suddenly hear clanking and cracking voices from far ahead, and catch the faint smell of smoke. Soon enough, a horde of cackling, flaming skull-creatures flies by you, biting off branches and setting the treetops on fire!", + "questTaskwoodsTerror1Notes": "Nunca has visto a la Parca Alegre tan agitada. La soberana de los Campos Florecientes aterriza su montura de grifo esqueleto justo en el medio de Plaza Productividad y grita sin desmontar: \"¡Queridos Habitianos, necesitamos su ayuda! Algo está iniciando incendios en Bosquetareas, y aún no nos hemos recuperado completamente de nuestra batalla contra Burnout. Si no es detenido, ¡las llamas podrían envolver todos nuestros huertos salvajes y arbustos de bayas!\"

Te ofreces como voluntario rápidamente, y te apresuras a Bosquetareas. Mientras te arrastras al interior del bosque de fruta más grande de Habitica, repentinamente escuchas cacareos y voces entrecortadas de más adelante, y detectas el débil olor a humo. Poco después, ¡una horda de criaturas de calavera cacareando y en llamas pasa volando, mordiendo ramas y prendiendo fuego a las copas de los árboles!", "questTaskwoodsTerror1Completion": "Con la ayuda de la Parca Alegre y el renombrado piromante @Beffymaroo, logras repeler al enjambre. En un gesto de solidaridad, Beffymaroo te ofrece su Turbante de Piromante mientras te adentras en el bosque.", "questTaskwoodsTerror1Boss": "Enjambre de Calaveras de Fuego", "questTaskwoodsTerror1RageTitle": "Regeneración de Enjambre", - "questTaskwoodsTerror1RageDescription": "Reaparición del Enjambre: Esta barra se llena cuando no completas tus Tareas Diarias. Cuando se llena, ¡el Enjambre de Calaveras de Fuego curará el 30% de su salud restante!", - "questTaskwoodsTerror1RageEffect": "`¡El Enjambre de Calaveras de Fuego usa REAPARICIÓN DEL ENJAMBRE!`\n\nAlentadas por sus victorias, ¡más calaveras se arremolinan a tu alrededor en una llamarada!", + "questTaskwoodsTerror1RageDescription": "Regeneración del Enjambre: Esta barra se llena cuando no completas tus Tareas Diarias. Cuando se llena, ¡el Enjambre de Calaveras de Fuego curará el 30% de su salud restante!", + "questTaskwoodsTerror1RageEffect": "`¡El Enjambre de Calaveras de Fuego usa REGENERACIÓN DEL ENJAMBRE!`\n\nAlentadas por sus victorias, ¡más calaveras se arremolinan a tu alrededor en una llamarada!", "questTaskwoodsTerror1DropSkeletonPotion": "Poción de eclosión Esqueleto", "questTaskwoodsTerror1DropRedPotion": "Posión de eclosión roja", "questTaskwoodsTerror1DropHeadgear": "Turbante de Piromante (Equipamiento de cabeza)", "questTaskwoodsTerror2Text": "Terror en Bosquetareas, Parte 2: Encontrando las Hadas Florecientes", "questTaskwoodsTerror2Notes": "Habiendo luchado a través del enjambre de calaveras en llamas, llegas a un gran grupo de granjeros refugiados al borde del bosque. \"Su pueblo fue quemado por un espíritu otoñal renegado\" dice una voz familiar. Es @Kiwibot, ¡el rastreador legendario! \"Logré reunir a los sobrevivientes, pero no hay señal de las Hadas Florecientes que ayudan a crecer la fruta silvestre de Bosquetareas. Por favor, ¡tienes que ayudarme a rescatarlas!\"", - "questTaskwoodsTerror2Completion": "Logras localizar la última dríade y alejarla de los monstruos. Cuando regresas a los granjeros refugiados, eres saludado por las hadas agradecidas, quienes te dan una túnica tejida con magia resplandeciente y seda. De repente, un sonido profundo y retumbante hace eco en los árboles, sacudiendo la tierra misma. \"Ese debe ser el espíritu renegado\", dice la Parca Alegre. \"¡Vamos rápido!\"", + "questTaskwoodsTerror2Completion": "Logras localizar la última dríade y alejarla de los monstruos. Cuando regresas a los granjeros refugiados, eres saludado por las hadas agradecidas, quienes te dan una túnica tejida con magia resplandeciente y seda. De repente, un sonido profundo y retumbante hace eco en los árboles, sacudiendo la tierra misma. \"Ese debe ser el espíritu renegado\", dice la Parca Alegre. \"¡Vamos rápido!\"", "questTaskwoodsTerror2CollectPixies": "Hadas", "questTaskwoodsTerror2CollectBrownies": "Brownies", "questTaskwoodsTerror2CollectDryads": "Dríades", "questTaskwoodsTerror2DropArmor": "Túnica de un piromántico (Armadura)", "questTaskwoodsTerror3Text": "Terror en Bosquetareas, Parte 3: Jacko de la linterna", - "questTaskwoodsTerror3Notes": "Ready for battle, your group marches to the heart of the forest, where the renegade spirit is trying to destroy an ancient apple tree surrounded by fruitful berry bushes. His pumpkin-like head radiates a terrible light wherever it turns, and in his left hand he holds a long rod, with a lantern hanging from its tip. Instead of fire or flame, however, the lantern contains a dark crystal that chills you to the very bone.

The Joyful Reaper raises a bony hand to her mouth. \"That's -- that's Jacko, the Lantern Spirit! But he's a helpful harvest ghost who guides our farmers. What could possibly drive the dear soul to act this way?\"

\"I don't know,\" says @bridgetteempress. \"But it looks like that 'dear soul' is about to attack us!\"", + "questTaskwoodsTerror3Notes": "Listo para la batalla, tu equipo marcha al corazón del bosque, donde el espíritu renegado está tratando de destruir un manzano ancestral rodeado de fértiles arbustos de baya. Su cabeza en forma de calabaza irradia una luz terrible a donde sea que voltea, y en su mano izquierda sostiene una vara larga con una lámpara colgando de la punta. En lugar de fuego o llama, sin embargo, la linterna contiene un cristal oscuro que te estremece hasta los huesos.

La Parca Alegre lleva una mano huesuda a su boca. \"Ese... Ese es Jacko, ¡el Espíritu Linterna! Pero él es un fantasma atento de la cosecha que guía a nuestros granjeros. ¿Qué puede llevar a esta querida alma a actuar de esta forma?\"

\"No sé,\" dice @bridgetteempress. \"¡Pero parece que esa 'querida alma' está a punto de atacarnos!\"", "questTaskwoodsTerror3Completion": "After a long battle, you manage to land a well-aimed blow at the lantern that Jacko carries, and the crystal within shatters. Jacko suddenly snaps back to his senses and bursts into glowing tears. \"Oh, my beautiful forest! What have I done?!\" he wails. His tears extinguish the remaining fires, and the apple tree and wild berries are saved.

After you help him relax, he explains, \"I met this charming lady named Tzina, and she gave me this glowing crystal as a gift. At her urging, I put it in my lantern... but that's the last thing I recall.\" He turns to you with a golden smile. \"Perhaps you should take it for safekeeping while I help the wild orchards to regrow.\"", "questTaskwoodsTerror3Boss": "Jacko de la Linterna", "questTaskwoodsTerror3DropStrawberry": "Fresa (Comida)", @@ -433,66 +433,66 @@ "questGroupStoikalmCalamity": "Calamidad de Stoïkalm", "questStoikalmCalamity1Text": "Calamidad de Stoïkalm, Parte 1: Enemigos Terrosos", "questStoikalmCalamity1Notes": "A terse missive arrives from @Kiwibot, and the frost-crusted scroll chills your heart as well as your fingertips. \"Visiting Stoïkalm Steppes -- monsters bursting from earth -- send help!\" You gather your party and ride north, but as soon as you venture down from the mountains, the snow beneath your feet explodes and gruesomely grinning skulls surround you!

Suddenly, a spear sails past, burying itself in a skull that was burrowing through the snow in an attempt to catch you unawares. A tall woman in finely-crafted armor gallops into the fray on the back of a mastodon, her long braid swinging as she yanks the spear unceremoniously from the crushed beast. It's time to fight off these foes with the help of Lady Glaciate, the leader of the Mammoth Riders!", - "questStoikalmCalamity1Completion": "As you deliver a final blow to the skulls, they dissipate in a puff of magic. \"The dratted swarm may be gone,\" Lady Glaciate says, \"but we have bigger problems. Follow me.\" She tosses you a cloak to protect you from the chill air, and you ride off after her.", + "questStoikalmCalamity1Completion": "Cuando asestas el golpe final a las calaveras, desaparecen en una nube de magia. \"El condenado enjambre puede haberse ido\", dice Lady Glaciate, \"pero tenemos problemas más grandes. Sígueme.\" Te lanza una capa para protegerte del aire frío y vas con ella .", "questStoikalmCalamity1Boss": "Enjambre de Calaveras Terrestres", "questStoikalmCalamity1RageTitle": "Regeneración de Enjambre", - "questStoikalmCalamity1RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Earth Skull Swarm will heal 30% of its remaining health!", - "questStoikalmCalamity1RageEffect": "`Earth Skull Swarm uses SWARM RESPAWN!`\n\nMore skulls break free from the ground, their teeth chattering in the cold!", + "questStoikalmCalamity1RageDescription": "Regeneración de Enjambre: Esta barra se va llenando cuando no completas tus Diarias. Cuando está llena, ¡el Enjambre de Calaveras Terrestres sanará el 30% de su salud restante!", + "questStoikalmCalamity1RageEffect": "`¡El Enjambre de Calaveras de Tierra usa REGENERACIÓN DE ENJAMBRE!`\n\n¡Más calaveras salen de la tierra, con sus dientes castañeteando de frío!", "questStoikalmCalamity1DropSkeletonPotion": "Poción de eclosión Esqueleto", "questStoikalmCalamity1DropDesertPotion": "Posión de eclosión del desierto", - "questStoikalmCalamity1DropArmor": "Mammoth Rider Armor", - "questStoikalmCalamity2Text": "Stoïkalm Calamity, Part 2: Seek the Icicle Caverns", + "questStoikalmCalamity1DropArmor": "Armadura de Jinete de Mamut", + "questStoikalmCalamity2Text": "Calamidad de Stoïkalm, Parte 2: Busca las Cavernas de Carámbanos", "questStoikalmCalamity2Notes": "The stately hall of the Mammoth Riders is an austere masterpiece of architecture, but it is also entirely empty. There's no furniture, the weapons are missing, and even the columns were picked clean of their inlays.

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

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

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

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

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

Quickly, go follow the trail of Icicle Coins!", - "questStoikalmCalamity2Completion": "The Icicle Coins lead you straight to the buried entrance of a cleverly hidden cavern. Though the weather outside is calm and lovely, with the sunlight sparkling across the expanse of snow, there is a howling within like a fierce winter wind. Lady Glaciate grimaces and hands you a Mammoth Rider helm. \"Wear this,\" she says. \"You'll need it.\"", + "questStoikalmCalamity2Completion": "Las Monedas de Carámbanos te llevan directamente a la entrada enterrada de una caverna hábilmente escondida. Aunque el clima afuera es calmado y agradable, con la luz del sol brillando en la inmensidad de la nieve, hay un aullido adentro, como un feroz viento de invierno. Lady Glaciate frunce el ceño y te da un casco de Jinete de Mamut. \"Ponte esto\", dice. \"Lo vas a necesitar\".", "questStoikalmCalamity2CollectIcicleCoins": "Monedas del Carámbano", - "questStoikalmCalamity2DropHeadgear": "Mammoth Rider Helm (Headgear)", - "questStoikalmCalamity3Text": "Stoïkalm Calamity, Part 3: Icicle Drake Quake", + "questStoikalmCalamity2DropHeadgear": "Casco de Jinete de Mamut (Equipamiento de Cabeza)", + "questStoikalmCalamity3Text": "Calamidad de Stoïkalm, Parte 3: Temblor del Dragón de Hielo", "questStoikalmCalamity3Notes": "The twining tunnels of the icicle drake caverns shimmer with frost... and with untold riches. You gape, but Lady Glaciate strides past without a glance. \"Excessively flashy,\" she says. \"Obtained admirably, though, from respectable mercenary work and prudent banking investments. Look further.\" Squinting, you spot a towering pile of stolen items hidden in the shadows.

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

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

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

Lady Glaciate claps you on the arm. \"You did well today,\" she says, handing you a spear and a horn from the pile. \"Be proud.\"", - "questStoikalmCalamity3Boss": "Icicle Drake Queen", + "questStoikalmCalamity3Boss": "Reina Dragón del Hielo", "questStoikalmCalamity3DropBlueCottonCandy": "Algodón de Azúcar Azul (Comida)", - "questStoikalmCalamity3DropShield": "Mammoth Rider's Horn (Off-Hand Item)", - "questStoikalmCalamity3DropWeapon": "Mammoth Rider Spear (Weapon)", - "questGuineaPigText": "The Guinea Pig Gang", + "questStoikalmCalamity3DropShield": "Cuerno de Jinete de Mamut (Artículo de Mano Secundaria)", + "questStoikalmCalamity3DropWeapon": "Lanza de Jinete de Mamut (Arma)", + "questGuineaPigText": "La Pandilla de Conejillos de Indias", "questGuineaPigNotes": "You're casually strolling through Habit City's famous Market when @Pandah waves you down. \"Hey, check these out!\" They're holding up a brown and beige egg you don't recognize.

Alexander the Merchant frowns at it. \"I don't remember putting that out. I wonder where it came--\" A small paw cuts him off.

\"Guinea all your gold, merchant!\" squeaks a tiny voice brimming with evil.

\"Oh no, the egg was a distraction!\" @mewrose exclaims. \"It's the gritty, greedy Guinea Pig Gang! They never do their Dailies, so they constantly steal gold to buy health potions.\"

\"Robbing the Market?\" says @emmavig. \"Not on our watch!\" Without further prompting, you leap to Alexander's aid.", "questGuineaPigCompletion": "\"We submit!\" The Guinea Pig Gang Boss waves his paws at you, fluffy head hanging in shame. From underneath his hat falls a list, and @snazzyorange quickly swipes it for evidence. \"Wait a minute,\" you say. \"It's no wonder you've been getting hurt! You've got way too many Dailies. You don't need health potions -- you just need help organizing.\"

\"Really?\" squeaks the Guinea Pig Gang Boss. \"We've robbed so many people because of this! Please take our eggs as an apology for our crooked ways.\"", - "questGuineaPigBoss": "Guinea Pig Gang", + "questGuineaPigBoss": "Pandilla de Conejillos de Indias", "questGuineaPigDropGuineaPigEgg": "Conejillo de Indias (Huevo)", "questGuineaPigUnlockText": "Desbloquea Huevos de Conejillo de Indias adquiribles en el Mercado", - "questPeacockText": "The Push-and-Pull Peacock", + "questPeacockText": "El Pavo Real del Tira y Afloja", "questPeacockNotes": "You trek through the Taskwoods, wondering which of the enticing new goals you should pick. As you go deeper into the forest, you realize that you're not alone in your indecision. \"I could learn a new language, or go to the gym...\" @Cecily Perez mutters. \"I could sleep more,\" muses @Lilith of Alfheim, \"or spend time with my friends...\" It looks like @PainterProphet, @Pfeffernusse, and @Draayder are equally paralyzed by the overwhelming options.

You realize that these ever-more-demanding feelings aren't really your own... you've stumbled straight into the trap of the pernicious Push-and-Pull Peacock! Before you can run, it leaps from the bushes. With each head pulling you in conflicting directions, you start to feel burnout overcoming you. You can't defeat both foes at once, so you only have one option -- concentrate on the nearest task to fight back!", "questPeacockCompletion": "The Push-and-Pull Peacock is caught off guard by your sudden conviction. Defeated by your single-minded drive, its heads merge back into one, revealing the most beautiful creature you've ever seen. \"Thank you,\" the peacock says. \"I’ve spent so long pulling myself in different directions that I lost sight of what I truly wanted. Please accept these eggs as a token of my gratitude.\"", - "questPeacockBoss": "Push-and-Pull Peacock", + "questPeacockBoss": "Pavo Real del Tira y Afloja", "questPeacockDropPeacockEgg": "Pavo real (Huevo)", "questPeacockUnlockText": "Desbloquea Huevos de Pavo real adquiribles en el Mercado", - "questButterflyText": "Bye, Bye, Butterfry", + "questButterflyText": "Adios, Mariposa", "questButterflyNotes": "Your gardener friend @Megan sends you an invitation: “These warm days are the perfect time to visit Habitica’s butterfly garden in the Taskan countryside. Come see the butterflies migrate!” When you arrive, however, the garden is in shambles -- little more than scorched grass and dried-out weeds. It’s been so hot that the Habiticans haven’t come out to water the flowers, and the dark-red Dailies have turned it into a dry, sun-baked, fire-hazard. There's only one butterfly there, and there's something odd about it...

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

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

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

One of the other gardeners, @Beffymaroo, comes up to you, singed but smiling. “Will you help raise these foundling chrysalises we found? Perhaps next year we’ll have a greener garden for them.”", "questButterflyBoss": "Mariposa Llameante", "questButterflyDropButterflyEgg": "Oruga (Huevo)", "questButterflyUnlockText": "Desbloquea Huevos de Oruga adquiribles en el Mercado", - "questGroupMayhemMistiflying": "Mayhem in Mistiflying", - "questMayhemMistiflying1Text": "Mayhem in Mistiflying, Part 1: In Which Mistiflying Experiences a Dreadful Bother", + "questGroupMayhemMistiflying": "Caos en Desconcertaire", + "questMayhemMistiflying1Text": "Caos en Desconcertaire, Parte 1: En la que Desconcertaire Experimenta una Terrible Molestia", "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.", "questMayhemMistiflying1Boss": "Enjambre de Calaveras Aéreas", "questMayhemMistiflying1RageTitle": "Regeneración de Enjambre", - "questMayhemMistiflying1RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Air Skull Swarm will heal 30% of its remaining health!", - "questMayhemMistiflying1RageEffect": "`Air Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls come whirling out of the clouds!", + "questMayhemMistiflying1RageDescription": "Regeneración del Enjambre: Esta barra se llena cuando no completas tus Diarias. Cuando se llena, ¡el Enjambre de Calaveras de Aire curará el 30% de su salud restante!", + "questMayhemMistiflying1RageEffect": "`¡El Enjambre de Calaveras de Aire usa REGENERACIÓN DEL ENJAMBRE!`\n\nAlentadas por sus victorias, ¡más calaveras salen arremolinándose de las nubes!", "questMayhemMistiflying1DropSkeletonPotion": "Poción de Eclosión Calavera", "questMayhemMistiflying1DropWhitePotion": "Poción de Eclosión Blanca", - "questMayhemMistiflying1DropArmor": "Roguish Rainbow Messenger Robes (Armor)", - "questMayhemMistiflying2Text": "Mayhem in Mistiflying, Part 2: In Which the Wind Worsens", + "questMayhemMistiflying1DropArmor": "Túnicas del Mensajero Pícaro Arcoiris (Armadura)", + "questMayhemMistiflying2Text": "Caos en Desconcertaire, Parte 2: En la Cual el Viento Empeora", "questMayhemMistiflying2Notes": "Mistiflying dips and rocks as the magical bees keeping it afloat are buffeted by the gale. After a desperate search for the April Fool, you find him inside a cottage, blithely playing cards with an angry, trussed-up skull.

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

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

“This should help,” says a voice directly in your ear, and you nearly fall off of your mount. The April Fool is somehow sitting directly behind you in the saddle. “I hear these messenger hoods emit an aura that guards against inclement weather — very useful to avoid losing missives as you fly around. Perhaps give it a try?”", - "questMayhemMistiflying2CollectRedMistiflies": "Red Mistiflies", - "questMayhemMistiflying2CollectBlueMistiflies": "Blue Mistiflies", - "questMayhemMistiflying2CollectGreenMistiflies": "Green Mistiflies", - "questMayhemMistiflying2DropHeadgear": "Roguish Rainbow Messenger Hood (Headgear)", - "questMayhemMistiflying3Text": "Mayhem in Mistiflying, Part 3: In Which a Mailman is Extremely Rude", + "questMayhemMistiflying2CollectRedMistiflies": "Mistiposas Rojas", + "questMayhemMistiflying2CollectBlueMistiflies": "Mistiposas Azules", + "questMayhemMistiflying2CollectGreenMistiflies": "Mistiposas Verdes", + "questMayhemMistiflying2DropHeadgear": "Capucha del Mensajero Pícaro Arcoiris (Artículo de Cabeza)", + "questMayhemMistiflying3Text": "Caos en Desconcertaire, Parte 3: En la Cual un Cartero es Extremadamente Grosero", "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", + "questMayhemMistiflying3Boss": "El Trabajador del Viento", "questMayhemMistiflying3DropPinkCottonCandy": "Algodón de azúcar rosa (Comida)", "questMayhemMistiflying3DropShield": "Roguish Rainbow Message (Off-Hand Item)", "questMayhemMistiflying3DropWeapon": "Roguish Rainbow Message (Main-Hand Item)", @@ -533,7 +533,7 @@ "questLostMasterclasser3Notes": "As night unfurls over the scorching sands of the Timewastes, your guides @AnnDeLune, @Kiwibot, and @Katy133 lead you forward. Some bleached pillars poke from the shadowed dunes, and as you approach them, a strange skittering sound echoes across the seemingly-abandoned expanse.

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

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

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

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

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

Before she can finish her sentence, a portal roars open in the sky. Wasn’t that magic supposed to be nearly impossible here? The hoofbeats of the invisible animals thunder as they flee in panic, and you steady yourself against the onslaught of shrieking skulls that flood the skies.", "questLostMasterclasser3Completion": "The April Fool surprises the final skull with a spray of sand, and it blunders backwards into Lady Glaciate, who smashes it expertly. As you catch your breath and look up, you see a single flash of someone’s silhouette moving on the other side of the closing portal. Thinking quickly, you snatch up the amulet from the chest of previously-possessed items, and sure enough, it’s drawn towards the unseen person. Ignoring the shouts of alarm from Lady Glaciate and the April Fool, you leap through the portal just as it snaps shut, plummeting into an inky swath of nothingness.", "questLostMasterclasser3Boss": "Void Skull Swarm", - "questLostMasterclasser3RageTitle": "Swarm Respawn", + "questLostMasterclasser3RageTitle": "Regeneración del Enjambre", "questLostMasterclasser3RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Void Skull Swarm will heal 30% of its remaining health!", "questLostMasterclasser3RageEffect": "`Void Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls scream down from the heavens, bolstering the swarm!", "questLostMasterclasser3DropBodyAccessory": "Aether Amulet (Body Accessory)", @@ -633,7 +633,7 @@ "questVelociraptorNotes": "You’re sharing honey cakes with @*~Seraphina~*, @Procyon P, and @Lilith of Alfheim by a lake in the Stoïkalm Steppes. Suddenly, a mournful voice interrupts your picnic.

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


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

You pump a fist in determination. “There's only one thing to do. Rap battle time!”", "questVelociraptorCompletion": "You burst through the grass, confronting the Veloci-Rapper.

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


Filled with renewed confidence, it bounds off to freestyle another day, leaving behind three eggs where it sat.", "questVelociraptorBoss": "Veloci-Rapper", - "questVelociraptorDropVelociraptorEgg": "Velociraptor (Egg)", + "questVelociraptorDropVelociraptorEgg": "Velociraptor (Huevo)", "questVelociraptorUnlockText": "Unlocks purchasable Velociraptor eggs in the Market", "evilSantaAddlNotes": "Nota que \"Santa Trampero\" y \"Encuentra al Cachorro\" premian una mission apilable pero dan una mascota rara que solo se puede agregar a tu establo una vez.", "questRubyUnlockText": "Desbloquea pociones de Eclosión Rubí para comprar en el Mercado", diff --git a/website/common/locales/es_419/subscriber.json b/website/common/locales/es_419/subscriber.json index a8c7799d96..c7e1fa68df 100644 --- a/website/common/locales/es_419/subscriber.json +++ b/website/common/locales/es_419/subscriber.json @@ -177,5 +177,12 @@ "youAreSubscribed": "Estás suscrito a Habitica", "doubleDropCap": "Duplica el Botín", "monthlyMysteryItems": "Artículos Misteriosos Mensuales", - "subscribersReceiveBenefits": "¡Los suscriptores reciben estos útiles beneficios!" + "subscribersReceiveBenefits": "¡Los suscriptores reciben estos útiles beneficios!", + "dropCapSubs": "¡Los suscriptores de Habitica pueden encontrar el doble de objetos al azar cada día y recibir mensualmente objetos de misterio!", + "lookingForMoreItems": "¿Buscando Más Objetos?", + "dropCapLearnMore": "Aprende más sobre el sistema de botines de Habitica", + "dropCapExplanation": "Tu botín se reajustará con tus tareas mañana. Sin embargo, seguirás ganando Oro, Experiencia y Progreso en las misiones cuando completes las tareas.", + "dropCapReached": "¡Encontraste todos los objetos del día!", + "mysterySet202011": "Conjunto de Mago Foliado", + "mysterySet202010": "Conjunto de Murciélago Cautivador" } diff --git a/website/common/locales/fr/backgrounds.json b/website/common/locales/fr/backgrounds.json index 522c5f416f..7544ee7426 100644 --- a/website/common/locales/fr/backgrounds.json +++ b/website/common/locales/fr/backgrounds.json @@ -562,5 +562,12 @@ "backgroundHauntedForestNotes": "Essayez de ne pas vous perdre dans la forêt hantée.", "backgroundHauntedForestText": "Forêt hantée", "backgroundCrescentMoonNotes": "Faites le travail des rêves assis sur un croissant de lune.", - "backgroundCrescentMoonText": "Croissant de lune" + "backgroundCrescentMoonText": "Croissant de lune", + "backgroundRiverOfLavaNotes": "Défiez la convection en vous promenant le long d'une rivière de lave.", + "backgroundRiverOfLavaText": "Rivière de lave", + "backgroundRestingInTheInnNotes": "Travaillez depuis le confort et la sécurité de votre chambre tandis que vous vous reposez à l'auberge.", + "backgroundRestingInTheInnText": "Repos à l'auberge", + "backgroundMysticalObservatoryNotes": "Lisez votre destinée dans les étoiles depuis un observatoire mystique.", + "backgroundMysticalObservatoryText": "Observatoire mystique", + "backgrounds112020": "Ensemble 78 : Sorti en Novembre 2020" } diff --git a/website/common/locales/fr/challenge.json b/website/common/locales/fr/challenge.json index eaffdc56b5..dbc2f9a838 100644 --- a/website/common/locales/fr/challenge.json +++ b/website/common/locales/fr/challenge.json @@ -100,5 +100,6 @@ "viewProgress": "Voir les progrès", "selectMember": "Choisir un membre", "confirmKeepChallengeTasks": "Voulez-vous conserver les tâches du défi ?", - "selectParticipant": "Sélectionnez un participant" + "selectParticipant": "Sélectionnez un participant", + "filters": "Filtres" } diff --git a/website/common/locales/fr/faq.json b/website/common/locales/fr/faq.json index 597b53ec3f..950b7c401d 100644 --- a/website/common/locales/fr/faq.json +++ b/website/common/locales/fr/faq.json @@ -30,7 +30,7 @@ "webFaqAnswer6": "Chaque fois que vous réaliserez une tâche, vous aurez une chance aléatoire de recevoir un œuf, une potion d'éclosion, ou un morceau de nourriture. Ils seront stockés dans Inventaire > Objets. Pour faire éclore un familier, vous aurez besoin d'un œuf et d'une potion d'éclosion. Une fois que vous avez les deux, allez dans Inventaire > Écurie et cliquez sur l'image pour faire éclore votre familier. Pour ajouter votre nouveau familier à votre avatar, cliquez dessus. Vous pouvez aussi transformer votre familier en monture en le nourrissant dans Inventaire > Ecurie. Déplacez une nourriture de la barre d'action en bas de l'écran sur votre familier pour le nourrir ! Vous devrez nourrir un familier plusieurs fois avant qu'il ne devienne une monture, mais si vous devinez sa nourriture préférée, il grandira plus vite. Faites des essais, ou [lisez les spoilers ici](http://habitica.fandom.com/fr/wiki/Nourriture#Pr.C3.A9f.C3.A9rences_alimentaires). Une fois que vous avez obtenu une monture, allez dans Inventaire > Montures et sélectionnez-la pour l'équiper. Vous pouvez aussi gagner des œufs de familiers de quête, en accomplissant certaines quêtes. (Voir ci-dessous pour en apprendre plus sur les quêtes.)", "faqQuestion7": "Comment devenir Guerrier, Mage, Voleur ou Guérisseur ?", "iosFaqAnswer7": "Arrivé au niveau 10, vous pourrez choisir de devenir un Guerrier, un Mage, un Voleur ou un Guérisseur. (Tous les joueurs commencent comme Guerrier par défaut.) Chaque classe a différents options d'équipement, différentes Compétences qu'ils peuvent utiliser après le niveau 11, et différents avantages. Les Guerriers peuvent facilement infliger des dégâts aux boss, supportent plus de dégâts de leurs tâches et rendent leur équipe plus forte. Les Mages peuvent aussi facilement infliger des dégâts aux boss, ainsi que gagner rapidement des niveaux et rendre du mana à leur équipe. Les Voleurs gagnent le plus d'or et trouvent le plus de butin, et peuvent aider leur équipe à faire pareil. Enfin, les Guérisseurs peuvent se soigner et soigner les membres de leur équipe.\n\nSi vous ne voulez pas immédiatement choisir une classe -- par exemple, si vous faites en sorte de d'abord recueillir tout l'équipement de votre classe actuelle -- vous pouvez choisir \"Annuler\" et décider plus tard en ouvrant le menu, en choisissant l'icône de paramètres, et en choisissant \"Activer le système de classes\".", - "androidFaqAnswer7": "Au niveau 10, vous pourrez choisir de devenir Guerrier, Mage, Voleur ou Guérisseur. (Tout le monde démarre en tant que Guerrier par défaut.) Chaque classe a différentes options d'équipement, différentes compétences qu'elle peut utiliser après le niveau 11, et différents avantages. Les guerriers peuvent facilement infliger des dégâts aux boss, peuvent mieux résister aux dégâts de leurs tâches, et aident leur équipe à devenir plus forte. Les mages peuvent aussi infliger des dégâts aux boss, gagnent plus d'expérience et restaurent du mana de leur équipe. Les voleurs gagnent le plus d'or et trouvent le plus de butins, et peuvent aider leur équipe à en faire autant. Enfin, les guérisseurs peuvent se soigner et soigner les membres de leur équipe.\n\nSi vous ne voulez pas choisir de classe tout de suite -- par exemple si vous devez encore acheter de l'équipement pour votre classe courante -- vous pouvez choisir \"Désactiver\" et choisir plus tard dans Menu > Choisir une classe.", + "androidFaqAnswer7": "Au niveau 10, vous pourrez choisir de devenir Guerrier, Mage, Voleur ou Guérisseur. (Tout le monde démarre en tant que Guerrier par défaut.) Chaque classe a différentes options d'équipement, différentes compétences qu'elle peut utiliser après le niveau 11, et différents avantages. Les guerriers peuvent facilement infliger des dégâts aux boss, peuvent mieux résister aux dégâts de leurs tâches, et aident leur équipe à devenir plus forte. Les mages peuvent aussi infliger des dégâts aux boss, gagnent plus d'expérience et restaurent du mana de leur équipe. Les voleurs gagnent le plus d'or et trouvent le plus de butins, et peuvent aider leur équipe à en faire autant. Enfin, les guérisseurs peuvent se soigner et soigner les membres de leur équipe.\n\nSi vous ne voulez pas choisir de classe tout de suite -- par exemple si vous devez encore acheter de l'équipement pour votre classe courante -- vous pouvez choisir \"Désactiver\" et choisir plus tard en ouvrant le menu, en choisissant l'icône des paramètres, puis \"Activer le système de classes\".", "webFaqAnswer7": "Au niveau 10, vous pourrez choisir de devenir un Guerrier, un Mage, un Voleur ou un Guérisseur. (Tous les joueurs commencent comme Guerrier par défaut.) Chaque classe a différentes options d'équipement, différentes compétences qu'elles peuvent utiliser après le niveau 11, et différents avantages. Les guerriers peuvent facilement infliger des dégâts aux boss, supportent plus de dégâts de leurs tâches et rendent leur équipe plus forte. Les mages peuvent aussi facilement infliger des dégâts aux boss, ainsi que gagner rapidement des niveaux et rendre du mana à leur équipe. Les voleurs gagnent le plus d'or et trouvent le plus de butin, et ils peuvent aider leur équipe à faire pareil. Enfin, les guérisseurs peuvent se soigner et soigner les membres de leur équipe. Si vous ne voulez pas immédiatement choisir une classe – par exemple, pour faire en sorte de d'abord recueillir tout l'équipement de votre classe actuelle – vous pouvez cliquer sur \"Ne pas choisir\" et reprendre le choix plus tard dans les paramètres.", "faqQuestion8": "À quoi correspond la barre de progression bleue qui apparaît dans l'en-tête après le niveau 10 ?", "iosFaqAnswer8": "Cette barre bleue qui apparaît lorsque vous atteignez le niveau 10 et choisissez une classe est votre barre de mana. En gagnant des niveaux supplémentaires, vous débloquerez des compétences spéciales qui coûtent du mana. Chaque classe a des compétences différentes, qui apparaissent après le niveau 11 dans Menu > Utiliser les compétences. Contrairement à votre barre de vie, votre barre de mana ne se réinitialise pas quand vous gagnez un niveau. À la place, du mana est récupéré lorsque vous réalisez une bonne habitude, une quotidienne ou une tâche à faire, et du mana est perdu quand vous succombez à une mauvaise habitude. Vous regagnerez aussi du mana pendant la nuit – Plus vous aurez complété de quotidiennes, plus vous en regagnerez.", diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json index 018849b350..b31df40aed 100644 --- a/website/common/locales/fr/gear.json +++ b/website/common/locales/fr/gear.json @@ -2213,5 +2213,15 @@ "headArmoireHornsOfAutumnText": "Cornes d'automne", "shieldArmoireDarkAutumnFlameNotes": "Ces flammes envoûtantes dansent avec une énergie intense et inquiétante, même dans les nuits les plus fraîches de l'automne. Augmente la constitution de <%= con %>. Armoire enchantée : ensemble d'enchantement d'automne (objet 4 de 4).", "shieldArmoireDarkAutumnFlameText": "Flamme sombre d'automne", - "weaponArmoireEnchantersStaffText": "Bâton d'enchantement" + "weaponArmoireEnchantersStaffText": "Bâton d'enchantement", + "shieldMystery202011Notes": "Exploitez la puissance des vents d'automne avec ce bâton. Utilisez-le pour la magie arcanique ou pour faire de magnifiques tas de feuilles, vous choisissez ! Ne confère aucun bonus. Équipement d'abonnement de novembre 2020.", + "shieldMystery202011Text": "Bâton folié", + "headArmoireCapOfClubsNotes": "Faites savoir à tout le monde quelles sont vos dernières réalisations avec cette plume littérale à votre casquette ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble du valet de trèfle (objet 1 de 3).", + "headArmoireCapOfClubsText": "Casquette de trèfles", + "headMystery202011Notes": "Maniez la puissance des saisons changeantes tout en ayant du style ! Ne confère aucun bonus. Équipement d'abonnement de novembre 2020.", + "headMystery202011Text": "Chapeau de magie foliée", + "armorArmoireDoubletOfClubsNotes": "Qui sait ce que les cartes vous réservent, mais vous aurez invariablement du style avec ce doublet et cette cape ! Augmente la constitution de <%= con %>. Armoire enchantée : ensemble du valet de trèfles (objet 3 de 3).", + "armorArmoireDoubletOfClubsText": "Doublet de trèfles", + "weaponArmoireClubOfClubsNotes": "Cette matraque stylisée ne révélera pas votre main trop tôt à propos de vos intentions envers ces vilaines tâches. Augmente la force de <%= str %>. Armoire enchantée : ensemble du valet de trèfle (objet 2 de 3).", + "weaponArmoireClubOfClubsText": "Matraque de trèfle" } diff --git a/website/common/locales/fr/groups.json b/website/common/locales/fr/groups.json index 31ec34f67c..e3e6d3e298 100644 --- a/website/common/locales/fr/groups.json +++ b/website/common/locales/fr/groups.json @@ -365,5 +365,7 @@ "bannedWordsAllowedDetail": "En activant cette option, l'utilisation de mots bannis sur cette guilde sera autorisée.", "bannedWordsAllowed": "Autoriser les mots bannis", "languageSettings": "Paramètres de langue", - "onlyPrivateGuildsCanUpgrade": "Seules les guildes privées peuvent être améliorée en offre de groupe." + "onlyPrivateGuildsCanUpgrade": "Seules les guildes privées peuvent être améliorée en offre de groupe.", + "features": "Fonctionnalités", + "cannotRemoveQuestOwner": "Vous ne pouvez pas retirer le propriétaire de la quête active. Annulez d'abord la quête." } diff --git a/website/common/locales/fr/limited.json b/website/common/locales/fr/limited.json index f04f9bd367..a5238e9072 100644 --- a/website/common/locales/fr/limited.json +++ b/website/common/locales/fr/limited.json @@ -185,5 +185,6 @@ "fall2020ThirdEyeMageSet": "Troisième œil (Mage)", "fall2020DeathsHeadMothHealerSet": "Tête de mort de la mite (Guérisseur)", "fall2020WraithWarriorSet": "Spectre (Guerrier)", - "septemberYYYY": "Septembre <%= year %>" + "septemberYYYY": "Septembre <%= year %>", + "royalPurpleJackolantern": "Citrouille d'Habitoween pourpre royal" } diff --git a/website/common/locales/fr/subscriber.json b/website/common/locales/fr/subscriber.json index 0b6c6b2261..277eab8c7c 100644 --- a/website/common/locales/fr/subscriber.json +++ b/website/common/locales/fr/subscriber.json @@ -185,5 +185,6 @@ "lookingForMoreItems": "Vous voulez plus d'objets ?", "dropCapLearnMore": "En apprendre plus sur le système de butin de Habitica", "dropCapExplanation": "Vous recommencerez à trouver du butin dès demain. Cependant, vous continuerez à gagner de l'or et de l'expérience, et votre quête continuera de progresser lorsque vous remplirez vos tâches.", - "dropCapReached": "Vous avez trouvé tous les objets du jour !" + "dropCapReached": "Vous avez trouvé tous les objets du jour !", + "mysterySet202011": "Ensemble de magie foliée" } diff --git a/website/common/locales/hi_IN/communityguidelines.json b/website/common/locales/hi_IN/communityguidelines.json index b0964ab3aa..25f69dab3d 100755 --- a/website/common/locales/hi_IN/communityguidelines.json +++ b/website/common/locales/hi_IN/communityguidelines.json @@ -23,7 +23,7 @@ "commGuideList02L": "We highly discourage the exchange of personal information -- particularly information that can be used to identify you -- in public chat spaces. Identifying information can include but is not limited to: your address, your email address, and your API token/password. This is for your safety! Staff or moderators may remove such posts at their discretion. If you are asked for personal information in a private Guild, Party, or PM, we highly recommend that you politely refuse and alert the staff and moderators by either 1) flagging the message if it is in a Party or private Guild, or 2) filling out the Moderator Contact Form and including screenshots.", "commGuidePara019": "In private spaces, users have more freedom to discuss whatever topics they would like, but they still may not violate the Terms and Conditions, including posting slurs or any discriminatory, violent, or threatening content. Note that, because Challenge names appear in the winner's public profile, ALL Challenge names must obey the public space guidelines, even if they appear in a private space.", "commGuidePara020": "Private Messages (PMs) have some additional guidelines. If someone has blocked you, do not contact them elsewhere to ask them to unblock you. Additionally, you should not send PMs to someone asking for support (since public answers to support questions are helpful to the community). Finally, do not send anyone PMs begging for a gift of gems or a subscription, as this can be considered spamming.", - "commGuidePara020A": "If you see a post that you believe is in violation of the public space guidelines outlined above, or if you see a post that concerns you or makes you uncomfortable, you can bring it to the attention of Moderators and Staff by clicking the flag icon to report it. A Staff member or Moderator will respond to the situation as soon as possible. Please note that intentionally reporting innocent posts is an infraction of these Guidelines (see below in “Infractions”). PMs cannot be flagged at this time, so if you need to report a PM, please contact the Mods via the form on the “Contact Us” page, which you can also access via the help menu by clicking “Contact the Moderation Team.” You may want to do this if there are multiple problematic posts by the same person in different Guilds, or if the situation requires some explanation. You may contact us in your native language if that is easier for you: we may have to use Google Translate, but we want you to feel comfortable about contacting us if you have a problem.", + "commGuidePara020A": " यदि आपको लगता है कि आपके द्वारा उल्लिखित सार्वजनिक स्थान दिशानिर्देशों के उल्लंघन में कोई पोस्ट दिखाई देती है, या यदि आपको कोई ऐसी पोस्ट दिखाई देती है जो आपको चिंतित करती है या आपको असहज करती है, तो आप इसे क्लिक करके मॉडरेटर और कर्मचारियों के ध्यान में ला सकते हैं फ्लैग आइकन रिपोर्ट करने के लिए। एक कर्मचारी सदस्य या मॉडरेटर जल्द से जल्द स्थिति का जवाब देगा। कृपया ध्यान दें कि जानबूझकर निर्दोष पदों की रिपोर्टिंग इन दिशानिर्देशों का एक उल्लंघन है (नीचे देखें \"Infractions\")। इस समय पीएम को ध्वजांकित नहीं किया जा सकता है, इसलिए यदि आपको पीएम रिपोर्ट करने की आवश्यकता है, तो कृपया \"संपर्क करें\" पृष्ठ पर फ़ॉर्म के माध्यम से संपर्क करें, जिसे आप \" मॉडरेशन टीम से संपर्क करें । \" आप ऐसा करना चाह सकते हैं यदि एक ही व्यक्ति द्वारा विभिन्न गिल्डों में कई समस्याग्रस्त पोस्ट हैं, या यदि स्थिति को कुछ स्पष्टीकरण की आवश्यकता है। आप अपनी मूल भाषा में हमसे संपर्क कर सकते हैं यदि आपके लिए यह आसान है: हमें Google अनुवाद का उपयोग करना पड़ सकता है, लेकिन हम चाहते हैं कि यदि आपको कोई समस्या हो तो आप हमसे संपर्क करने में सहज महसूस करें।", "commGuidePara021": "Furthermore, some public spaces in Habitica have additional guidelines.", "commGuideHeadingTavern": "The Tavern", "commGuidePara022": "The Tavern is the main spot for Habiticans to mingle. Daniel the Innkeeper keeps the place spic-and-span, and Lemoness will happily conjure up some lemonade while you sit and chat. Just keep in mind…", diff --git a/website/common/locales/hi_IN/npc.json b/website/common/locales/hi_IN/npc.json index a8bd0a632d..54c5f68559 100755 --- a/website/common/locales/hi_IN/npc.json +++ b/website/common/locales/hi_IN/npc.json @@ -14,12 +14,12 @@ "next": "Next", "randomize": "Randomize", "mattBoch": "Matt Boch", - "mattBochText1": "Welcome to the Stable! I'm Matt, the beast master. Starting at level 3, you will find eggs and potions to hatch pets with. When you hatch a pet in the Market, it will appear here! Click a pet's image to add it to your avatar. Feed them with the food you find after level 3, and they'll grow into hardy mounts.", + "mattBochText1": "अस्तबल में आपका स्वागत है! आई एम मैट, द बीस्ट मास्टर। 3 स्तर पर शुरू, आप अंडे और औषधि पालतू जानवरों के साथ मिल जाएगा। जब आप बाज़ार में एक पालतू जानवर पालेंगे, तो यह यहाँ दिखाई देगा! अपने अवतार में जोड़ने के लिए एक पालतू जानवर की छवि पर क्लिक करें। 3 स्तर के बाद मिलने वाले भोजन के साथ उन्हें खिलाएं, और वे हार्डी माउंट में बढ़ेंगे।", "welcomeToTavern": "Welcome to The Tavern!", "sleepDescription": "Need a break? Check into Daniel's Inn to pause some of Habitica's more difficult game mechanics:", "sleepBullet1": "Missed Dailies won't damage you", - "sleepBullet2": "Tasks won't lose streaks or decay in color", - "sleepBullet3": "Bosses won't do damage for your missed Dailies", + "sleepBullet2": "कार्य रंग में लकीरें या क्षय नहीं खोएंगे", + "sleepBullet3": "बॉस आपके छूटे दैनिकों के लिए नुकसान नहीं करेंगे", "sleepBullet4": "Your boss damage or collection Quest items will stay pending until check-out", "pauseDailies": "Pause Damage", "unpauseDailies": "Unpause Damage", @@ -30,7 +30,7 @@ "worldBossDescription": "World Boss Description", "welcomeMarketMobile": "Welcome to the Market! Buy hard-to-find eggs and potions! Come see what we have to offer.", "howManyToSell": "How many would you like to sell?", - "yourBalance": "Your balance", + "yourBalance": "आपका धन:", "sell": "Sell", "buyNow": "Buy Now", "sortByNumber": "Number", @@ -74,7 +74,7 @@ "pathRequired": "Path string is required", "unlocked": "Items have been unlocked", "alreadyUnlocked": "Full set already unlocked.", - "alreadyUnlockedPart": "Full set already partially unlocked.", + "alreadyUnlockedPart": "पूर्ण सेट पहले से ही आंशिक रूप से खुला हुआ है।", "invalidQuantity": "Quantity to purchase must be a number.", "USD": "(USD)", "newStuff": "New Stuff by Bailey", @@ -118,5 +118,10 @@ "welcome3": "Progress in life and the game!", "welcome3notes": "As you improve your life, your avatar will level up and unlock pets, quests, equipment, and more!", "imReady": "Enter Habitica", - "limitedOffer": "Available until <%= date %>" + "limitedOffer": "Available until <%= date %>", + "paymentCanceledDisputes": "हमने आपके ईमेल को रद्द करने की पुष्टि कर दी है। यदि आप ईमेल नहीं देखते हैं, तो कृपया भविष्य के बिलिंग विवादों को रोकने के लिए हमसे संपर्क करें.", + "paymentAutoRenew": "यह सदस्यता रद्द होने तक स्वतः नवीनीकृत हो जाएगी। यदि आपको इस सदस्यता को रद्द करने की आवश्यकता है, तो आप अपनी सेटिंग्स से ऐसा कर सकते हैं।", + "paymentSubBillingWithMethod": "आपकी सदस्यता को बिल भेजा जाएगा $ <% = राशि%> हर <% = महीने%> महीने <% = paymentMethod%> के माध्यम से।", + "invalidUnlockSet": "आइटम का यह सेट अमान्य है और इसे अनलॉक नहीं किया जा सकता है।", + "cannotUnpinItem": "यह आइटम अनपिन नहीं किया जा सकता है।" } diff --git a/website/common/locales/hi_IN/spells.json b/website/common/locales/hi_IN/spells.json index bfeac35aa6..76427895e3 100755 --- a/website/common/locales/hi_IN/spells.json +++ b/website/common/locales/hi_IN/spells.json @@ -55,5 +55,6 @@ "challengeTasksNoCast": "Casting a skill on challenge tasks is not allowed.", "groupTasksNoCast": "Casting a skill on group tasks is not allowed.", "spellNotOwned": "You don't own this skill.", - "spellLevelTooHigh": "You must be level <%= level %> to use this skill." + "spellLevelTooHigh": "You must be level <%= level %> to use this skill.", + "spellAlreadyCast": "इस कौशल का उपयोग करने से कोई अतिरिक्त प्रभाव नहीं पड़ेगा।" } diff --git a/website/common/locales/it/backgrounds.json b/website/common/locales/it/backgrounds.json index 0aadc40410..9238a3e7e3 100644 --- a/website/common/locales/it/backgrounds.json +++ b/website/common/locales/it/backgrounds.json @@ -562,5 +562,12 @@ "backgroundHauntedForestText": "Foresta infestata", "backgroundCrescentMoonNotes": "Fai il lavoro dei tuoi sogni mentre siedi sulla luna crescente.", "backgroundCrescentMoonText": "Luna crescente", - "backgrounds102020": "SET 77: Rilasciato a ottobre 2020" + "backgrounds102020": "SET 77: Rilasciato a ottobre 2020", + "backgroundRiverOfLavaNotes": "Sfida la convezione passeggiando lungo un fiume di lava.", + "backgroundRiverOfLavaText": "Fiume di lava", + "backgroundRestingInTheInnNotes": "Lavora dal comfort e dalla sicurezza della tua camera mentre sosti alla locanda.", + "backgroundRestingInTheInnText": "Sosta alla locanda", + "backgroundMysticalObservatoryNotes": "Leggi il tuo destino tra le stelle da un osservatorio mistico.", + "backgroundMysticalObservatoryText": "Osservatorio Mistico", + "backgrounds112020": "SET 78: Rilasciato a novembre 2020" } diff --git a/website/common/locales/it/faq.json b/website/common/locales/it/faq.json index 2b760f6411..0b2fbece37 100644 --- a/website/common/locales/it/faq.json +++ b/website/common/locales/it/faq.json @@ -30,7 +30,7 @@ "webFaqAnswer6": "Ogni volta che completi un'attività avrai una possibilità di vincere un Uovo, una Pozione di schiusura o del Cibo. Questi verranno immagazzinati in Inventario > Oggetti. Per far nascere un Animale avrai bisogno di un Uovo e di una Pozione di schiusura. Quando hai sia un uovo che una pozione, vai su Inventario > Scuderia per far nascere il tuo cliccando sulla sua immagine. Quando hai fatto nascere l'animale, puoi utilizzarlo cliccando su di esso. Puoi anche far evolvere i tuoi Animali in Cavalcature cibandoli in Inventario > Scuderia. Trasporta un pezzo di cibo dalla barra di azione nella parte bassa dello schermo e clicca su un animale per dargli da mangiare! Dovrai alimentare l'Animale diverse volte prima di farlo diventare una Cavalcatura, ma se riesci a trovare il suo cibo preferito crescerà molto più in fretta. Fai diverse prove o [guarda lo Spoiler qui](http://habitica.fandom.com/wiki/Food#Food_Preferences). Una volta che hai una Cavalcatura, clicca su di essa equipaggiarla al tuo avatar. Potrai inoltre ricevere Uova dalle Missioni Animali completandole. (Vedi sotto per saperne di più sulle Missioni)", "faqQuestion7": "Come faccio a diventare un Guerriero, un Mago, un Ladro o un Guaritore?", "iosFaqAnswer7": "Al livello 10, puoi scegliere di diventare un Guerriero, un Mago, un Ladro, o un Guaritore. (Tutti i giocatori iniziano come Guerrieri per impostazione predefinita.) Ogni classe ha diverse opzioni di equipaggiamento, diverse abilità che possono lanciare dopo il livello 11, e diversi vantaggi. I Guerrieri possono facilmente danneggiare i Boss, sopportare più danni dalle loro attività, e contribuire a rendere la loro squadra più forte. Anche i Maghi possono facilmente danneggiare i Boss, così come possono salire di livello velocemente e ripristinare mana per la loro squadra. I Ladri guadagnano più oro e trovano più bottino e possono aiutare la loro squadra a fare lo stesso. Infine, i Guaritori possono curare loro stessi e i loro compagni di squadra.\n\nSe non vuoi scegliere subito una Classe -- per esempio, se stai ancora lavorando per comprare tutto l'equipaggiamento della tua classe attuale -- puoi cliccare \"Annulla\" e sceglierla successivamente in Menu > Abilita Classi.", - "androidFaqAnswer7": "Al livello 10, puoi scegliere di diventare un Guerriero, un Mago, un Ladro, o un Guaritore. (Tutti i giocatori iniziano come Guerrieri per impostazione predefinita.) Ogni classe ha diverse opzioni di equipaggiamento, diverse abilità che possono utilizzare dopo il livello 11, e diversi vantaggi. I Guerrieri possono danneggiare facilmente i Boss, sopportare più danni dalle loro attività, e contribuire a rendere la loro squadra più forte. Anche i Maghi possono danneggiare facilmente i Boss, così come possono salire di livello velocemente e ripristinare mana per la loro squadra. I Ladri guadagnano più oro e trovano più oggetti (bottino), e possono aiutare la loro squadra a fare lo stesso. Infine, i Guaritori possono curare loro stessi e i loro compagni di squadra.\n\nSe non vuoi scegliere subito una Classe -- per esempio, se stai ancora lavorando per comprare tutto l'equipaggiamento della tua classe attuale -- puoi cliccare \"Rinuncia\" e riattivarla successivamente in Menu > Scegli Classe.", + "androidFaqAnswer7": "Al livello 10, puoi scegliere di diventare un Guerriero, un Mago, un Ladro, o un Guaritore. (Tutti i giocatori iniziano come Guerrieri per impostazione predefinita.) Ogni classe ha diverse opzioni di equipaggiamento, diverse abilità che possono utilizzare dopo il livello 11 e diversi vantaggi. I Guerrieri possono danneggiare facilmente i Boss, sopportare più danni dalle loro attività e contribuire a rendere la loro squadra più forte. Anche i Maghi possono danneggiare facilmente i Boss, così come possono salire di livello velocemente e ripristinare mana per la loro squadra. I Ladri guadagnano più oro e trovano più oggetti (bottino) e possono aiutare la loro squadra a fare lo stesso. Infine, i Guaritori possono curare loro stessi e i loro compagni di squadra.\n\nSe non vuoi scegliere subito una Classe -- per esempio, se stai ancora lavorando per comprare tutto l'equipaggiamento della tua classe attuale -- puoi cliccare \"Rinuncia\" e sceglierla successivamente aprendo il menu, cliccando sull'icona delle impostazioni e quindi su “Abilita sistema delle classi”.", "webFaqAnswer7": "Al livello 10, puoi scegliere di diventare un Guerriero, un Mago, un Ladro, o un Guaritore. (Tutti i giocatori iniziano come Guerrieri per impostazione predefinita.) Ogni classe ha diverse opzioni di equipaggiamento, diverse Abilità che possono utilizzare dopo il livello 11, e diversi vantaggi. I Guerrieri possono danneggiare facilmente i Boss, sopportare più danni dalle loro attività, e contribuire a rendere la loro squadra più forte. Anche i Maghi possono danneggiare facilmente i Boss, così come possono salire di livello velocemente e ripristinare mana per la loro squadra. I Ladri guadagnano più oro e trovano più oggetti (bottino), e possono aiutare la loro squadra a fare lo stesso. Infine, i Guaritori possono curare loro stessi e i loro compagni di squadra. Se non vuoi scegliere subito una Classe -- per esempio, se stai ancora lavorando per comprare tutto l'equipaggiamento della tua classe attuale -- puoi cliccare \"Rinuncia\" e riattivarla successivamente nelle Preferenze.", "faqQuestion8": "Cos'è la barra blu che appare vicino a Salute ed Esperienza dopo il livello 10?", "iosFaqAnswer8": "La barra blu che appare nell'intestazione quando raggiungi il livello 10 e scegli une Classe e la barra di Mana. Quando avanzi di livello, potrai scegliere delle Abilità speciali che costano Mana ad ogni uso. Ogni Classe ha Abilità diverse che appaiono dopo il livello 11, sotto Menu> Usare Abilità. All'opposto della barra Salute, la barra Mana non si ripiena quando avanzi di livello, invece, si riempie ogni volta che completi buone Abitudini, Attività Giornaliere e Cose da fare, e si svuota quando cedi ad una cattiva abitudine. Puoi anche guadagnare un po' di Mana durante la notte-- più Attività Giornaliere hai completato, più Mana guadagni.", diff --git a/website/common/locales/it/gear.json b/website/common/locales/it/gear.json index 4304807f93..5469f42b2a 100644 --- a/website/common/locales/it/gear.json +++ b/website/common/locales/it/gear.json @@ -2217,5 +2217,11 @@ "shieldMystery202011Notes": "Sfrutta la potenza del vento autunnale con questo bastone. Usalo per la magia arcana o per creare fantastici mucchi di foglie, a te la scelta! Non conferisce alcun bonus. Oggetto abbonati novembre 2020.", "shieldMystery202011Text": "Bastone foglioso", "headMystery202011Notes": "Sfrutta il potere del cambio di stagione restando anche alla moda! Non conferisce alcun bonus. Oggetto abbonati novembre 2020.", - "headMystery202011Text": "Cappello del mago foglioso" + "headMystery202011Text": "Cappello del mago foglioso", + "headArmoireCapOfClubsNotes": "Sul cappello, sul cappello che noi portiamo c'è una lunga, c'è una lunga penna... bianca. Usala per sfoggiare i tuoi successi! Aumenta l'intelligenza di <%= int %>. Scrigno Incantato: Set del Fante di Fiori (Oggetto 2 di 3).", + "headArmoireCapOfClubsText": "Cappello di Fiori", + "armorArmoireDoubletOfClubsText": "Farsetto di fiori", + "armorArmoireDoubletOfClubsNotes": "Nessuno sa cosa rivelano le carte, ma sarai elegante in ogni evento con questo farsetto e mantello! Aumenta la costituzione di <%= con %>. Scrigno Incantato: Set del Fante di Fiori (Oggetto 2 di 3).", + "weaponArmoireClubOfClubsNotes": "Questa bella picca non svelerà subito i suoi intenti verso quei tuoi vecchi subdoli compiti. Aumenta la forza di <%= str %>. Scrigno Incantato: Set del Fante di Fiori (Oggetto 2 di 3).", + "weaponArmoireClubOfClubsText": "Picca di... fiori" } diff --git a/website/common/locales/ja/backgrounds.json b/website/common/locales/ja/backgrounds.json index ada6d3f06c..53177dc32c 100644 --- a/website/common/locales/ja/backgrounds.json +++ b/website/common/locales/ja/backgrounds.json @@ -8,33 +8,33 @@ "backgroundBeachText": "ビーチ", "backgroundBeachNotes": "暖かいビーチでまったりしよう。", "backgroundFairyRingText": "妖精の輪", - "backgroundFairyRingNotes": "妖精の輪の中で踊ろう。", + "backgroundFairyRingNotes": "妖精の輪の中で踊りましょう。", "backgroundForestText": "森", - "backgroundForestNotes": "夏の森で散歩をしよう。", + "backgroundForestNotes": "夏の森で散歩をしましょう。", "backgrounds072014": "セット2:2014年7月リリース", "backgroundCoralReefText": "サンゴ礁", - "backgroundCoralReefNotes": "サンゴ礁で泳ごう。", + "backgroundCoralReefNotes": "サンゴ礁で泳ぎましょう。", "backgroundOpenWatersText": "一面の海", - "backgroundOpenWatersNotes": "一面の海を楽しもう。", + "backgroundOpenWatersNotes": "一面の海を楽しみましょう。", "backgroundSeafarerShipText": "船乗りの船", - "backgroundSeafarerShipNotes": "船乗りになりきろう。", + "backgroundSeafarerShipNotes": "船乗りになりきりましょう。", "backgrounds082014": "セット3: 2014年8月リリース", "backgroundCloudsText": "雲", - "backgroundCloudsNotes": "雲の間を突き抜けよう。", + "backgroundCloudsNotes": "雲の間を突き抜けましょう。", "backgroundDustyCanyonsText": "埃っぽい峡谷", - "backgroundDustyCanyonsNotes": "乾いた埃っぽい峡谷で彷徨い歩こう。", + "backgroundDustyCanyonsNotes": "乾いた埃っぽい峡谷で彷徨い歩きましょう。", "backgroundVolcanoText": "火山", - "backgroundVolcanoNotes": "火山の中で熱くなろう。", + "backgroundVolcanoNotes": "火山の中で熱くなりましょう。", "backgrounds092014": "セット4:2014年9月リリース", "backgroundThunderstormText": "雷雨", - "backgroundThunderstormNotes": "雷雨の中で雷を操ろう。", + "backgroundThunderstormNotes": "雷雨の中で雷を操りましょう。", "backgroundAutumnForestText": "秋の森", - "backgroundAutumnForestNotes": "秋の森で気ままに散歩しよう。", + "backgroundAutumnForestNotes": "秋の森で気ままに散歩しましょう。", "backgroundHarvestFieldsText": "豊作の畑", - "backgroundHarvestFieldsNotes": "畑を耕そう。", - "backgrounds102014": "セット5: 2014年10月リリース", + "backgroundHarvestFieldsNotes": "畑を耕しましょう。", + "backgrounds102014": "セット5:2014年10月リリース", "backgroundGraveyardText": "墓場", - "backgroundGraveyardNotes": "気味の悪い墓場を訪れてみよう。", + "backgroundGraveyardNotes": "気味の悪い墓場を訪れてみましょう。", "backgroundHauntedHouseText": "幽霊屋敷", "backgroundHauntedHouseNotes": "幽霊屋敷をそっと通りぬけよう。", "backgroundPumpkinPatchText": "カボチャ畑", @@ -562,5 +562,12 @@ "backgroundGiantAutumnLeafText": "巨大な葉っぱ", "backgroundFlyingOverAnAutumnForestNotes": "秋の森の上を飛んで、眼下に広がるまばゆい色彩を堪能しよう。", "backgroundFlyingOverAnAutumnForestText": "紅葉の空中散歩", - "backgroundSpookyScarecrowFieldNotes": "幽霊かかしの原っぱで、鳥よりも勇敢なことを証明しよう。" + "backgroundSpookyScarecrowFieldNotes": "幽霊かかしの原っぱで、鳥よりも勇敢なことを証明しよう。", + "backgroundRestingInTheInnNotes": "ロッジに滞在して、快適で安全な部屋で活動しましょう。", + "backgroundRestingInTheInnText": "ロッジで休憩", + "backgroundMysticalObservatoryNotes": "神秘の天文台で見える星からあなたの運命を読み解きましょう。", + "backgroundMysticalObservatoryText": "神秘の天文台", + "backgrounds112020": "セット78:2020年11月リリース", + "backgroundRiverOfLavaNotes": "流れをものともせず、溶岩の川を散歩しましょう。", + "backgroundRiverOfLavaText": "溶岩の川" } diff --git a/website/common/locales/ja/faq.json b/website/common/locales/ja/faq.json index fa55fbb7bd..e4b911be9d 100644 --- a/website/common/locales/ja/faq.json +++ b/website/common/locales/ja/faq.json @@ -30,7 +30,7 @@ "webFaqAnswer6": "あなたがタスクを達成するたびに、ランダムに「たまご」や「たまごがえしの薬」や「ペットのえさ」を手に入れるチャンスが得られます。手に入れたアイテムはメニュー > 所持品 に保存されています。ペットをかえすには「たまご」と「たまごがえしの薬」が必要です。「たまご」と「たまごがえしの薬」を両方持っているなら、所持品 > 動物小屋 に行きペットのアイコンをクリックして「たまご」をかえしましょう。ペットをかえしたら、クリックすることでアバターのそばに表示できます。ペットを育てて乗騎にすることもできます。所持品 > 動物小屋 で画面下のアクションバーから「ペットのえさ」をドラッグしてペットのところで放せば、えさをあげられます! ペットを乗騎にするにはたくさんのえさが必要ですが、お気に入りのえさを見つけ出して与えれば、より早く成長します。いろいろ試してみてください。もしくは[ここでネタバレを見ましょう](https://habitica.fandom.com/ja/wiki/えさの好み)。手に入れた乗騎を押すと、あなたのアバターに表示できます。特定のクエストを達成することで、クエストペットのたまごを手に入れることもできます。(クエストについてより詳しく知るには、下記をご覧ください)", "faqQuestion7": "どうすれば戦士、魔道士、盗賊、治療師になれるの?", "iosFaqAnswer7": "レベル10になると、戦士、魔道士、盗賊、治療師のクラスを選べるようになります。( 標準では、すべてのプレイヤーは戦士でスタートします。) クラスによって、装備や、レベル11以降に使えるようになるスキル、そして長所が異なります。戦士はボスにダメージを与えるのがうまく、タスクからのダメージへの耐久力も高いので、パーティーがタフになります。魔道士もボスへのダメージを与えるのがうまく、レベルアップが速く、パーティーのマナを回復します。盗賊がいちばんゴールドと落ちているアイテムを獲得でき、パーティーにも同様の効果をもたらします。最後に、治療師は、自分自身とパーティーの仲間の体力を回復することができます。\n\nすぐにクラスを選びたくなければ――たとえば、いまのクラスの装備を買い集めている最中の場合――「キャンセル」をタップし、後から選ぶときは メニューから設定アイコンをタップし、「クラスシステムを有効にする」をタップします。", - "androidFaqAnswer7": "レベルが10になると、戦士、魔道士、盗賊、治療師になるための選択ができます。(すべてのプレーヤーは、標準で戦士としてスタートします。) それぞれのクラスは、異なった装備、異なるスキル(レベル11以降、使えるようになります)、異なる特技をもっています。戦士はボスにダメージを与えやすく、タスクからのダメージへの耐性も強いので、戦士がいるパーティはタフになります。魔道士も戦士と同様、ボスへのダメージが与えやすいですが、レベルアップが早く、マナを回復してパーティーに貢献します。盗賊は、もっともゴールドを稼ぎ、もっとも「落とし物」を見つけます。所属するパーティーが同じようにできるよう貢献します。最後に治療師は、自分とパーティーのメンバーの体力を回復できます。\n\nすぐにクラスを選びたくなければ——例えば、現在のクラスの装備をすべて買い集めたいなど——「辞退する」をクリックし、後で メニュー > クラス選択 で選択してください。", + "androidFaqAnswer7": "レベルが10になると、戦士、魔道士、盗賊、治療師になるための選択ができます。(すべてのプレーヤーは、標準で戦士としてスタートします。) それぞれのクラスは、異なった装備、異なるスキル(レベル11以降、使えるようになります)、異なる特技をもっています。戦士はボスにダメージを与えやすく、タスクからのダメージへの耐性も強いので、戦士がいるパーティはタフになります。魔道士も戦士と同様、ボスへのダメージが与えやすいですが、レベルアップが早く、マナを回復してパーティーに貢献します。盗賊は、もっともゴールドを稼ぎ、もっとも「落とし物」を見つけます。所属するパーティーが同じようにできるよう貢献します。最後に治療師は、自分とパーティーのメンバーの体力を回復できます。\n\nすぐにクラスを選びたくなければ——例えば、現在のクラスの装備をすべて買い集めたいなど——「辞退する」をタップし、その後 メニュー から設定の歯車アイコン>「クラスシステムを有効にする」をタップしてください。", "webFaqAnswer7": "レベル10になると、戦士、魔道士、盗賊、治療師のクラスを選べるようになります。( 標準では、すべてのプレイヤーは戦士でスタートします。) クラスによって、装備や、レベル11以降に使えるようになるスキル、そして長所が異なります。戦士はボスにダメージを与えるのがうまく、タスクからのダメージへの耐久力も高いので、パーティーがタフになります。魔道士もボスへのダメージを与えるのがうまく、レベルアップが速く、パーティーのマナを回復します。盗賊がいちばんゴールドと落ちているアイテムを獲得でき、パーティーにも同様の効果をもたらします。最後に、治療師は、自分自身とパーティーの仲間の体力を回復することができます。すぐにクラスを選びたくなければ――たとえば、いまのクラスの装備を買い集めている最中――「後で決める」をクリックし、後から選ぶときは設定画面で行います。", "faqQuestion8": "レベル10以降、ヘッダーに表示される青いバーは何ですか?", "iosFaqAnswer8": "レベル10になってクラスを選択すると表示される青いバーは、マナ バーです。レベルアップを続けると、マナを使うスキルの機能がアンロックされます。それぞれのクラスは異なった特殊能力をもっており、レベル11以降、メニュー > 特殊能力を使う に表示されます。体力バーと違って、マナ バーはレベルを上げてもリセットされません。マナは、いい習慣、日課、To Doを達成することで増え、悪い習慣を行うと減ります。夜が明けたときにも少し回復しますが、それはより多くの日課を完了すると、より回復します。", diff --git a/website/common/locales/ja/front.json b/website/common/locales/ja/front.json index 920796b3d8..d190986116 100644 --- a/website/common/locales/ja/front.json +++ b/website/common/locales/ja/front.json @@ -160,8 +160,8 @@ "motivateYourself": "やる気を出して目標を達成しよう。", "timeToGetThingsDone": "楽しみながら仕事を片付けよう!<%= userCountInMillions %>00万人を超えるHabiticaの冒険者達と一緒にあなたの人生もタスクも一気に改善しましょう。", "singUpForFree": "無料で登録する", - "or": "あるいは", - "gamifyYourLife": "あなたの人生がゲームに", + "or": "または", + "gamifyYourLife": "あなたの人生をゲームに", "aboutHabitica": "Habitica はあなたの実生活をゲームのように見ることで、習慣を身につけ生産的にする無料のアプリケーションです。やる気につながるゲーム内の報酬・懲罰システム、励ましとなる強力なソーシャルネットワークによって、Habitica は健康になりたい、しっかり働きたい、そして幸せになりたいというあなたのゴールを実現するお手伝いをします。", "trackYourGoals": "習慣と目標をトラッキングしよう", "trackYourGoalsDesc": "Habiticaの使いやすいモバイルアプリやWebインターフェイスであなたの習慣や日々の目標、To Doリストを管理し、責任感を維持しましょう。", diff --git a/website/common/locales/ja/gear.json b/website/common/locales/ja/gear.json index efafff5724..86732f2a7b 100644 --- a/website/common/locales/ja/gear.json +++ b/website/common/locales/ja/gear.json @@ -2002,5 +2002,9 @@ "headArmoireHornsOfAutumnNotes": "秋のすがすがしい空気から魔法の力を引き出し、あなたの魔法に注ぎ込みましょう!力が<%= str %>上がります。ラッキー宝箱:秋の魔法使いセット(4個中1個目のアイテム)。", "headArmoireHornsOfAutumnText": "秋の角", "armorArmoireAutumnEnchantersCloakNotes": "あなたのような熟練した魔術師は、実力にふさわしい見た目でなければなりません!知能が12上がります。ラッキー宝箱:秋の魔法使いセット(4個中2個目のアイテム)。", - "armorArmoireAutumnEnchantersCloakText": "秋の魔法使いのマント" + "armorArmoireAutumnEnchantersCloakText": "秋の魔法使いのマント", + "shieldArmoireDarkAutumnFlameNotes": "この魅惑的な炎は秋の最も寒い夜でさえ、活発に、しかし不吉なエネルギーをたたえながら踊ります。体質が<%= con %>上がります。ラッキー宝箱:秋の魔法使いセット(4個中4個目のアイテム)。", + "shieldArmoireDarkAutumnFlameText": "暗黒の秋の炎", + "weaponArmoireClubOfClubsNotes": "このおしゃれなクラブを使っていれば、こっそり留まっている古いタスクにあなたの関心が向くまでは、早々に手の内を見せることはありません。力が<%= str %>上がります。ラッキー宝箱:クラブのジャックセット(3個中2個目のアイテム)。", + "weaponArmoireClubOfClubsText": "クラブの……クラブ(こん棒)" } diff --git a/website/common/locales/pt_BR/achievements.json b/website/common/locales/pt_BR/achievements.json index 197fc4274b..8d60697424 100644 --- a/website/common/locales/pt_BR/achievements.json +++ b/website/common/locales/pt_BR/achievements.json @@ -75,7 +75,7 @@ "achievementBugBonanzaModalText": "Você completou as missões dos mascotes Besouro, Borboleta, Caracol e Aranha!", "achievementBugBonanzaText": "Completou as missões dos mascotes Besouro, Borboleta, Caracol e Aranha.", "achievementBugBonanza": "Inseto próspero", - "yourProgress": "Seu progresso", + "yourProgress": "Seu Progresso", "onboardingCompleteDescSmall": "Se você quiser ainda mais, dê uma olhada nas Conquistas e comece a coletá-las!", "onboardingComplete": "Você completou suas tarefas de integração!", "achievementBareNecessitiesModalText": "Você completou a missão dos mascotes Macaco, Bicho-preguiça e Broto de Árvore!", diff --git a/website/common/locales/pt_BR/backgrounds.json b/website/common/locales/pt_BR/backgrounds.json index 25ff8579c0..785fc4b4bc 100644 --- a/website/common/locales/pt_BR/backgrounds.json +++ b/website/common/locales/pt_BR/backgrounds.json @@ -562,5 +562,12 @@ "backgroundCrescentMoonNotes": "Fazer o trabalho dos sonhos enquanto sentado em uma Lua Crescente.", "backgroundCrescentMoonText": "Lua Crescente", "backgrounds102020": "CONJUNTO 77: Lançado em Outubro de 2020", - "backgroundSpookyScarecrowFieldNotes": "Prove que você é mais ousado do que um pássaro ao enfrentar um Campo de Espantalho Assustador." + "backgroundSpookyScarecrowFieldNotes": "Prove que você é mais ousado do que um pássaro ao enfrentar um Campo de Espantalho Assustador.", + "backgroundRiverOfLavaNotes": "Desafie a convecção dando um passeio ao longo do Rio de Lava.", + "backgroundRiverOfLavaText": "Rio de Lava", + "backgroundRestingInTheInnNotes": "Trabalhe no conforto e segurança do seu quarto Descansando na Taverna.", + "backgroundRestingInTheInnText": "Descansando na Taverna", + "backgroundMysticalObservatoryNotes": "Leia o seu destino nas estrelas a partir de um Observatório Místico.", + "backgroundMysticalObservatoryText": "Observatório Místico", + "backgrounds112020": "Conjunto 78: Lançado em Novembro de 2020" } diff --git a/website/common/locales/pt_BR/faq.json b/website/common/locales/pt_BR/faq.json index 0ea8a134b1..4aadd3de1e 100644 --- a/website/common/locales/pt_BR/faq.json +++ b/website/common/locales/pt_BR/faq.json @@ -30,7 +30,7 @@ "webFaqAnswer6": "Cada vez que você completar uma tarefa, terá uma chance aleatória de receber um Ovo, uma Poção de eclosão ou uma Comida para mascote. Eles ficarão guardados em Inventário > Itens. Para chocar um Mascote, você precisará tanto de um Ovo quanto uma Poção de eclosão. Uma vez que tiver ambos, o Ovo e a Poção, vá até Inventário > Estábulo e clique na imagem de seu mascote para chocá-lo. Quando tiver chocado o Mascote, você poderá equipá-lo simplesmente clicando nele. Você também pode evoluir seus Mascotes em Montarias alimentando-os em Inventário > Estábulo. Arraste uma comida da barra de ação na parte inferir da tela e solte-a em um mascote para alimentá-lo! Você terá de alimentar o Mascote diversas vezes antes dele se tornar uma Montaria, mas se você descobrir a comida favorita dele, ele crescerá mais rápido. Use tentativa e erro ou [veja spoilers aqui](https://habitica.fandom.com/pt-br/wiki/Food#Prefer.C3.AAncias_de_Comida). Uma vez que você tiver uma Montaria, clique nela para equipá-la junto do seu Avatar. Você também pode conseguir Ovos de Missões de Mascotes ao completar certas Missões. (Veja abaixo para aprender mais sobre Missões.)", "faqQuestion7": "Como me tornar Guerreiro(a), Mago(a), Gatuno(a) ou Curandeiro(a)?", "iosFaqAnswer7": "No nível 10, você poderá escolher entre se tornar um(a) Guerreiro, Mago, Gatuno ou Curandeiro. (Todo jogador começa como Guerreiro por padrão). Cada Classe tem diferentes opções de equipamento, diferentes Habilidades que podem ser usadas após o nível 11 e diferentes vantagens. Guerreiros podem causar dano a Chefões com facilidade, aguentar mais dano pelas suas tarefas e ajudar seu Grupo a ficar mais forte. Magos também podem facilmente causar dano a Chefões, além de ganhar níveis rapidamente e restaurar a Mana de seu Grupo. Gatunos ganham mais ouro e encontram mais itens, além de poder ajudar seu Grupo a fazer o mesmo. Finalmente, Curandeiros podem curar a si mesmos e seus companheiros de Grupo.\n\nSe você não quer escolher uma Classe imediatamente -- por exemplo, se você ainda está se esforçando para comprar todo o equipamento de sua classe atual -- você pode clicar em \"Cancelar\" e escolher mais tarde ao abrir o Menu, clicando no ícone de Configurações, e então clicando em \"Habilitar Sistema de Classes\".", - "androidFaqAnswer7": "No nível 10, você poderá escolher entre se tornar um Guerreiro, Mago, Gatuno ou Curandeiro. (Todo jogador começa como Guerreiro por padrão). Cada Classe tem diferentes opções de equipamento, diferentes Habilidades que podem ser usadas após o nível 11 e diferentes vantagens. Guerreiros podem causar dano a Chefões com facilidade, aguentar mais dano pelas suas tarefas e ajudar seu Grupo a ficar mais forte. Magos também podem facilmente causar dano a Chefões, além de ganhar níveis rapidamente e restaurar a Mana de seu Grupo. Gatunos ganham mais ouro e encontram mais itens, além de poder ajudar seu Grupo a fazer o mesmo. Finalmente, Curandeiros podem curar a si mesmos e seus companheiros de Grupo. \n\nSe você não quer escolher uma Classe imediatamente -- por exemplo, se você ainda está se esforçando para comprar todo o equipamento de sua classe atual -- você pode clicar em \"Decidir Depois\" e escolher mais tarde em Menu > Escolher Classe.", + "androidFaqAnswer7": "No nível 10, você poderá escolher entre se tornar um Guerreiro, Mago, Gatuno ou Curandeiro. (Todo jogador começa como Guerreiro por padrão). Cada Classe tem diferentes opções de equipamento, diferentes Habilidades que podem ser usadas após o nível 11, e diferentes vantagens. Guerreiros podem causar dano a Chefões com facilidade, aguentar mais dano pelas suas tarefas e ajudar seu Grupo a ficar mais forte. Magos também podem facilmente causar dano a Chefões, além de ganhar níveis rapidamente e restaurar a Mana de seu Grupo. Gatunos ganham mais ouro e encontram mais itens, além de poder ajudar seu Grupo a fazer o mesmo. Finalmente, Curandeiros podem curar a si mesmos e seus companheiros de Grupo. \n\nSe você não quer escolher uma Classe imediatamente -- por exemplo, se você ainda está se esforçando para comprar todo o equipamento de sua classe atual -- você pode clicar em \"Decidir Depois\" e escolher mais tarde ao abrir o Menu, clicando no ícone de Configurações, então clicando em \"Habilitar Sistema de Classes\".", "webFaqAnswer7": "No nível 10, você poderá escolher se juntar aos Guerreiros, Magos, Gatunos ou Curandeiros. (Todo jogador começa como Guerreiro por padrão). Cada Classe tem diferentes opções de equipamento, diferentes Habilidades que podem ser usadas após o nível 11 e diferentes vantagens. Guerreiros podem causar dano a Chefões com facilidade, aguentar mais dano pelas suas tarefas e ajudar seu Grupo a ficar mais forte. Magos também podem facilmente causar dano a Chefões, além de ganhar níveis rapidamente e restaurar a Mana de seu Grupo. Gatunos ganham mais ouro e encontram mais itens, além de poder ajudar seu Grupo a fazer o mesmo. Por último, Curandeiros podem curar a si mesmos e seus companheiros de Grupo. Se você não quer escolher uma Classe imediatamente -- por exemplo, se você ainda está se esforçando para comprar todo o equipamento de sua classe atual -- você pode clicar em \"Recusar\" e depois reabilitar em nas Configurações.", "faqQuestion8": "O que é a barra azul de Atributos que aparece no Cabeçalho após o nível 10?", "iosFaqAnswer8": "A barra azul que apareceu após você chegar no nível 10 e escolher sua Classe é sua barra de Mana. À medida que você continua ganhando níveis, você desbloqueará Habilidades especiais que custarão Mana para serem usadas. Cada Classe tem diferentes Habilidades que aparecerão após o nível 11 em Menu > Usar Habilidades. Diferente da barra de vida, sua Mana não enche quando você ganha um nível. Ao invés disso, Mana é adquirida quando você completa Bons Hábitos, Diárias e Afazeres, mas perdida quando você faz Maus Hábitos. Você também irá recuperar um pouco de Mana ao fim do dia -- quanto mais Diárias você completar, mais você irá ganhar.", diff --git a/website/common/locales/pt_BR/gear.json b/website/common/locales/pt_BR/gear.json index ad83331f9c..0d4c23c9e7 100644 --- a/website/common/locales/pt_BR/gear.json +++ b/website/common/locales/pt_BR/gear.json @@ -2213,5 +2213,15 @@ "shieldArmoireDarkAutumnFlameNotes": "Estas chamas hipnotizantes dançam com uma energia viva, mas agourenta, mesmo nas noites mais frias de outono. Aumenta a Constituição em <%= con %>. Armário Encantado: Conjunto Encantadores de Outono (Item 4 de 4).", "shieldArmoireDarkAutumnFlameText": "Chama Escura de Outono", "headArmoireHornsOfAutumnNotes": "Extraia o poder do ar fresco da estação e canalize-o por meio de sua magia! Aumenta a Força em <%= str %>. Armário Encantado: Conjunto Encantadores de Outono (Item 1 de 4).", - "headArmoireHornsOfAutumnText": "Chifres de Outono" + "headArmoireHornsOfAutumnText": "Chifres de Outono", + "shieldMystery202011Notes": "Aproveite a força do vento de outono com este cajado. Use para magia arcana ou para fazer pilhas de folhas incríveis, a escolha é sua! Não concede benefícios. Item de assinante de Novembro de 2020.", + "shieldMystery202011Text": "Cajado Folheado", + "headArmoireCapOfClubsNotes": "Deixe todos saberem sobre suas últimas conquistas com esta pena literal em seu chapéu! Aumenta a inteligência em <%= int %>. Armário Encantado: Conjunto Valete de Paus (Item 1 de 3).", + "headArmoireCapOfClubsText": "Chapéu de Paus", + "headMystery202011Notes": "Domine o poder da mudança das estações ao mesmo tempo que fica muito elegante! Não concede benefícios. Item de assinante de Novembro de 2020.", + "headMystery202011Text": "Chapéu de Mago Folheado", + "armorArmoireDoubletOfClubsNotes": "Quem sabe o que está nas cartas, mas você ficará estiloso(a) em qualquer evento com este gibão e capa! Aumenta a Constituição em <%= con %>. Armário Encantado: Conjunto Valete de Paus (Item 3 de 3).", + "armorArmoireDoubletOfClubsText": "Gibão de Paus", + "weaponArmoireClubOfClubsNotes": "Esta clava estilosa não vai denunciar muito cedo suas intenções em relação a essas tarefas antigas e sorrateiras. Aumenta a força em <%= str %>. Armário Encantado: Conjunto Valete de Paus (Item 2 de 3).", + "weaponArmoireClubOfClubsText": "Clava de Paus" } diff --git a/website/common/locales/pt_BR/rebirth.json b/website/common/locales/pt_BR/rebirth.json index 1008b8e5e3..8db73968fd 100644 --- a/website/common/locales/pt_BR/rebirth.json +++ b/website/common/locales/pt_BR/rebirth.json @@ -5,9 +5,9 @@ "rebirthAchievement100": "Você iniciou uma nova aventura! Esse é seu <%= number %>º Renascimento e o nível mais alto que você atingiu foi 100 ou maior. Para acumular essa Conquista, comece sua próxima aventura quando atingir pelo menos nível 100!", "rebirthBegan": "Iniciou uma Nova Aventura", "rebirthText": "Iniciou <%= rebirths %> Novas Aventuras", - "rebirthOrb": "Usou um Orbe do Renascimento para recomeçar depois de alcançar Nível.", + "rebirthOrb": "Usou um Orbe do Renascimento para recomeçar depois de alcançar o Nível <%= level %>.", "rebirthOrb100": "Usou um Orbe do Renascimento para recomeçar depois de alcançar Nível 100 ou mais.", - "rebirthOrbNoLevel": "Usou um Orbe do Renascimento para recomeçar depois de alcançar Nível.", + "rebirthOrbNoLevel": "Usou um Orbe do Renascimento para recomeçar.", "rebirthPop": "Recomece seu personagem no Nível 1 enquanto mantém conquistas, colecionáveis e equipamentos. Suas tarefas, incluindo o histórico, continuarão, mas se tornarão amarelas. Seus combos das tarefas serão removidos, com exceção das tarefas pertencentes a Desafios ativos ou a Planos de Grupo. Seu Ouro, Experiência, Mana e efeitos de todas as Habilidades serão removidos. Tudo isso terá efeito imediatamente. Para mais informações, confira Orbe de Renascimento na Wiki.", "rebirthName": "Orbe do Renascimento", "rebirthComplete": "Você renasceu!", diff --git a/website/common/locales/pt_BR/subscriber.json b/website/common/locales/pt_BR/subscriber.json index ea0b382c60..5efeb874e3 100644 --- a/website/common/locales/pt_BR/subscriber.json +++ b/website/common/locales/pt_BR/subscriber.json @@ -185,5 +185,6 @@ "lookingForMoreItems": "Procurando por mais itens?", "dropCapLearnMore": "Aprenda mais sobre o sistema de Drop do Habitica", "dropCapExplanation": "Seus Drops serão reiniciados com as suas tarefas amanhã. No entanto, você continuará recebendo Ouro, Experiência e progredindo na Missão ao completar tarefas.", - "dropCapReached": "Você encontrou todos os itens por hoje!" + "dropCapReached": "Você encontrou todos os itens por hoje!", + "mysterySet202011": "Conjunto Mago Folheado" } diff --git a/website/common/locales/uk/groups.json b/website/common/locales/uk/groups.json index f833ba497b..b0b82409e0 100644 --- a/website/common/locales/uk/groups.json +++ b/website/common/locales/uk/groups.json @@ -221,10 +221,10 @@ "joinedGuildText": "Ventured into the social side of Habitica by joining a Guild!", "badAmountOfGemsToPurchase": "Amount must be at least 1.", "groupPolicyCannotGetGems": "The policy of one group you're part of prevents its members from obtaining gems.", - "viewParty": "View Party", - "newGuildPlaceholder": "Enter your guild's name.", - "guildBank": "Guild Bank", - "chatPlaceholder": "Type your message to Guild members here", + "viewParty": "Продивитись гурт", + "newGuildPlaceholder": "Введіть назву вашої гільдії.", + "guildBank": "Банк гільдії", + "chatPlaceholder": "Введіть тут повідомлення для учасників гільдії", "partyChatPlaceholder": "Type your message to Party members here", "fetchRecentMessages": "Fetch Recent Messages", "like": "Like", @@ -339,5 +339,6 @@ "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" + "allAssignedCompletion": "All - Completes when all assigned users finish", + "newPartyPlaceholder": "Введіть назву вашого гурту." } diff --git a/website/common/locales/zh/backgrounds.json b/website/common/locales/zh/backgrounds.json index 4c3439246e..401f5c22e9 100644 --- a/website/common/locales/zh/backgrounds.json +++ b/website/common/locales/zh/backgrounds.json @@ -562,5 +562,12 @@ "backgroundHauntedForestText": "闹鬼森林", "backgroundCrescentMoonNotes": "坐在新月上,做梦想的工作。", "backgroundCrescentMoonText": "新月", - "backgrounds102020": "第77组:2020年10月推出" + "backgrounds102020": "第77组:2020年10月推出", + "backgroundRiverOfLavaNotes": "藐视熔浆,在河畔散步。", + "backgroundRiverOfLavaText": "熔浆河", + "backgroundRestingInTheInnNotes": "入住客栈,你可以在舒适安全的房间里工作。", + "backgroundRestingInTheInnText": "在客栈休息", + "backgroundMysticalObservatoryNotes": "从神秘天文台的星空中解读你的命运。", + "backgroundMysticalObservatoryText": "神秘天文台", + "backgrounds112020": "第78组:2020年11月推出" } diff --git a/website/common/locales/zh/faq.json b/website/common/locales/zh/faq.json index 1fbd1b5d78..930c1fc4e6 100644 --- a/website/common/locales/zh/faq.json +++ b/website/common/locales/zh/faq.json @@ -30,7 +30,7 @@ "webFaqAnswer6": "每当你完成任务时,你就会有一定的机率收到宠物蛋、孵化药水,或是喂养宠物的食物。当你收到物品时,会自动存入「背包」>「市场」。如果你想要孵化宠物,你需要同时拥有宠物蛋和孵化药水各一个。点击宠物蛋确认你要孵化的种类,然后选择孵化药水就能够确认宠物的颜色喽!孵化完成后你可以到「背包」>「宠物」将你的宠物显示到角色形象上。你也可以用喂食的方式让宠物进化成坐骑。点击「背包」>「宠物」后选择宠物,这时画面右方会出现选单,点选食物然后「喂食」就可以了!你会看到一条绿色的状态列随着你喂食次数而增长,当状态列额满后就会进化成坐骑。这需要花点时间,不过如果你能找到宠物最喜欢的食物,就可以加速宠物进化的速度喽!请多多尝试食物种类或者看这个[查看食物种类](http://habitica.fandom.com/zh/wiki/食物偏好)。当你拥有了一只坐骑,你可以到「背包」>「坐骑」将它显示到角色形象上。当你完成某些副本卷轴时,你也可能收到副本宠物蛋。(你可以看看下面有一些关于副本卷轴的介绍。)", "faqQuestion7": "我怎样才能够成为战士、法师、盗贼或是医师?", "iosFaqAnswer7": "在10级的时候,你可以选择成为战士、法师、盗贼或是医者。(所有玩家在一开始都会被系统默认为是战士直到你的升到10级)每种职业都有各自的优点以及不同的装备选择,当你到达11级后,还能够施放职业技能。战士可以很轻松地击退魔王,还能够抵挡来自任务的伤害,同时也是队伍攻击主力。法师也能够给予魔王有效的攻击,等级提升快速且能够帮助队伍的成员补充魔力。盗贼能获得最多金币,也是能捡到最多掉落物品的职业,而这些优点也能回馈给队伍。最后是医师,医师拥有特殊技能可以治愈他们自身以及队伍成员的生命值。\n\n如果你还没能够决定该选择哪种作为职业的话--比如,你觉得与其马上选择职业,不如先补足目前所需的装备的话--你可以点选「取消」,之后再通过菜单>角色信息>选择职业。", - "androidFaqAnswer7": "在10级的时候,你可以选择成为战士、法师、盗贼或是医者。(所有玩家在一开始都会被系统默认为是战士直到你的升到10级)每种职业都有各自的优点以及不同的装备选择,当你11级时还能够施放职业技能。战士可以很轻松地击退魔王,还能够抵挡来自任务的伤害,同时也是队伍攻击主力。法师也能够给予魔王有效的攻击,等级提升快速且能够帮助队伍的成员补充魔力。盗贼能获得最多金币,也是能捡到最多掉落物品的职业,而这些优点也能回馈给队伍。最后是医师,医师拥有特殊技能可以治愈他们自身以及队伍成员的生命值。\n\n如果你还没能够决定该选择哪种作为职业的话--举例,如果你觉得与其马上选择职业,不如先补足目前所需的装备的话--你可以点选「之后再决定」,等你觉得时机到了就可以到「选单」>「选择职业」。", + "androidFaqAnswer7": "到达10级之后,你可以选择成为战士、法师、盗贼或是医师。(在升到10级前,所有玩家的系统默认职业都是战士)每种职业都有各自的优点,拥有不同的装备选择。到达11级后还能够施放职业技能。战士可以很轻松打怪,还能够抵挡来自任务的伤害,同时也是队伍攻击主力。法师也能够给予怪兽有效的攻击,同时等级提升快速且能够帮助队伍的成员补充魔法值。盗贼能获得最多金币,捡到最多掉落物品,同时也能为队伍提升掉落几率。最后是医师,医师拥有特殊技能可以治愈他们自身以及恢复队伍成员的生命值。\n\n如果你还没能够决定该选择哪种作为职业的话——比如你希望买齐目前所需的装备,再选择职业——此时,你可以点选「之后再决定」,等你觉得时机到了就可以到「菜单」>「选择职业」。", "webFaqAnswer7": "在10级的时候,你可以选择转职成战士、法师、盗贼或是医者。(所有玩家在一开始都会被系统默认为战士)每种职业都有各自的优点以及不同的装备选择,11级以上还能施放职业技能。战士可以对boss造成较多伤害,还能够防御一些来自任务的伤害,同时也能让队伍变得更强。法师也能给boss造成大量伤害,升级很快且能够给其他队员补充魔力。盗贼能挣最多金币,也是能捡到最多掉落物品的职业,而且也能让全队多得这些奖励。最后是医师,可以给自己以及队员治疗,恢复生命值。\n\n如果你还不想立刻选择职业的话——比如,如果你觉得与其马上转职,不如先把现在职业的装备买完——你可以先取消或者退出,等你觉得时机到了就可以到「设置」>「选择职业」转职。", "faqQuestion8": "在10级之后出现在页眉的蓝色星星状态栏是什么?", "iosFaqAnswer8": "在你达到第10级,选择一个职业之后出现在头像里的蓝条是你的法力条。在你接下来不断升级的过程中,你会解锁各种特殊技能,它们需要耗费魔法才能使用。每个职业都有不同技能,在到达11级以后会在 目录 > 使用技能 下面出现。和你的健康值不同,你的法力条在你升级时不会回复,只有在培养了好的习惯,完成了每日任务和待办事项时才会获取法力。每过一夜你也会回复小部分的法力——完成的日常任务越多,回复的法力也越多。", diff --git a/website/common/locales/zh/gear.json b/website/common/locales/zh/gear.json index d1b7f9ba61..2bd1dbfda5 100644 --- a/website/common/locales/zh/gear.json +++ b/website/common/locales/zh/gear.json @@ -2067,7 +2067,7 @@ "shieldSpecialSpring2020WarriorNotes": "不要让精致的颜色欺骗你。这个盾牌会遮住你!增加<%= con %>点体质。2020年春季限定版装备。", "headSpecialSpring2020HealerNotes": "用这个花朵制作的头饰迷惑你的敌人!增加<%= int %>点智力。2020年春季限定版装备。", "headSpecialSpring2020WarriorNotes": "你的敌人的打击会扫过这个甲虫启发的头盔!增加<%= str %>点力量。2020年春季限定版装备。", - "headSpecialSpring2020RogueNotes": "它这么漂亮和珍贵,你要把它从你自己的头偷去!增加<%= per %>点感知。2020年春季限定版装备。", + "headSpecialSpring2020RogueNotes": "它是如此醒目珍贵,你恨不得将其从头上偷偷摘下。增加<%= per %>点感知。2020年春季限定版装备。", "armorSpecialSpring2020HealerNotes": "用柔软的鸢尾花叶子和花瓣包裹自己,欺骗敌人低估你的治愈能力。增加<%= con %>点体质。2020年春季限定版装备。", "armorSpecialSpring2020WarriorNotes": "这种坚硬的甲壳会使在最压碎的攻击下确保你的安全。增加<%= con %>点体质。2020年春季限定版装备。", "armorSpecialSpring2020RogueNotes": "暮、宝石、最深的海的颜色!增加<%= per %>点感知。2020年春季限定版装备。", diff --git a/website/common/locales/zh_HK/achievements.json b/website/common/locales/zh_HK/achievements.json index 361bd9b384..da4d92677f 100755 --- a/website/common/locales/zh_HK/achievements.json +++ b/website/common/locales/zh_HK/achievements.json @@ -4,5 +4,15 @@ "levelup": "在完成你的任務後,你將升級並且恢復滿你的生命值!", "reachedLevel": "你達到第<%= level %>級", "achievementLostMasterclasser": "完成任務的專家:大師鑑別者係列", - "achievementLostMasterclasserText": "完成大師鑑別者係列任務的全部6個任務,解開失傳的大師鑑別者的神秘面紗!" + "achievementLostMasterclasserText": "完成大師鑑別者係列任務的全部6個任務,解開失傳的大師鑑別者的神秘面紗!", + "onboardingCompleteDesc": "完成任務後,你獲得了5個成就100枚金幣。", + "onboardingComplete": "你完成了新手任務!", + "earnedAchievement": "你得到了一個成就!", + "viewAchievements": "看成就", + "letsGetStarted": "我們開始吧!", + "yourProgress": "你的成就", + "onboardingProgress": "<%= percentage %>% 完成", + "gettingStartedDesc": "完成這些新手任務,你就會獲得5項成就100枚金幣!", + "yourRewards": "獎勵", + "onboardingCompleteDescSmall": "如果你想獲得更多勳章,查查你的成就列表開始收集吧!" } From 03876b86bb05abafa9a6a3760e1e54e8ef9666c2 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2020 10:45:58 +0100 Subject: [PATCH 02/19] build(deps): bump vue-router from 3.4.8 to 3.4.9 in /website/client (#12773) Bumps [vue-router](https://github.com/vuejs/vue-router) from 3.4.8 to 3.4.9. - [Release notes](https://github.com/vuejs/vue-router/releases) - [Changelog](https://github.com/vuejs/vue-router/blob/dev/CHANGELOG.md) - [Commits](https://github.com/vuejs/vue-router/compare/v3.4.8...v3.4.9) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- website/client/package-lock.json | 27 +++++++++------------------ website/client/package.json | 2 +- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index c53ef7ebf0..41c37d7abc 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -20949,10 +20949,9 @@ } }, "vue-loader-v16": { - "version": "npm:vue-loader@16.0.0-beta.9", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.9.tgz", - "integrity": "sha512-mu9pg6554GbXDSO8LlxkQM6qUJzUkb/A0FJc9LgRqnU9MCnhzEXwCt1Zx5NObvFpzs2mH2dH/uUCDwL8Qaz9sA==", - "optional": true, + "version": "npm:vue-loader@16.0.0-rc.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-rc.1.tgz", + "integrity": "sha512-yR+BS90EOXTNieasf8ce9J3TFCpm2DGqoqdbtiwQ33hon3FyIznLX7sKavAq1VmfBnOeV6It0Htg4aniv8ph1g==", "requires": { "chalk": "^4.1.0", "hash-sum": "^2.0.0", @@ -20963,7 +20962,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "optional": true, "requires": { "color-convert": "^2.0.1" } @@ -20972,7 +20970,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "optional": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -20982,7 +20979,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "optional": true, "requires": { "color-name": "~1.1.4" } @@ -20990,26 +20986,22 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "optional": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "optional": true + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "optional": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "optional": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -21020,7 +21012,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "optional": true, "requires": { "has-flag": "^4.0.0" } @@ -21037,9 +21028,9 @@ } }, "vue-router": { - "version": "3.4.8", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.8.tgz", - "integrity": "sha512-3BsR84AqarcmweXjItxw3jwQsiYNssYg090yi4rlzTnCJxmHtkyCvhNz9Z7qRSOkmiV485KkUCReTp5AjNY4wg==" + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.9.tgz", + "integrity": "sha512-CGAKWN44RqXW06oC+u4mPgHLQQi2t6vLD/JbGRDAXm0YpMv0bgpKuU5bBd7AvMgfTz9kXVRIWKHqRwGEb8xFkA==" }, "vue-style-loader": { "version": "4.1.2", diff --git a/website/client/package.json b/website/client/package.json index 4f15e676b6..e8ed76fe73 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -56,7 +56,7 @@ "vue": "^2.6.12", "vue-cli-plugin-storybook": "^0.6.1", "vue-mugen-scroll": "^0.2.6", - "vue-router": "^3.4.8", + "vue-router": "^3.4.9", "vue-template-compiler": "^2.6.12", "vuedraggable": "^2.24.3", "vuejs-datepicker": "git://github.com/habitrpg/vuejs-datepicker.git#153d339e4dbebb73733658aeda1d5b7fcc55b0a0", From b61425078aca66924d411b69f37910bb268b0231 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2020 10:49:53 +0100 Subject: [PATCH 03/19] build(deps): bump mongoose from 5.10.11 to 5.10.13 (#12768) Bumps [mongoose](https://github.com/Automattic/mongoose) from 5.10.11 to 5.10.13. - [Release notes](https://github.com/Automattic/mongoose/releases) - [Changelog](https://github.com/Automattic/mongoose/blob/master/History.md) - [Commits](https://github.com/Automattic/mongoose/compare/5.10.11...5.10.13) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 57741731b5..e82d4e5603 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9657,13 +9657,13 @@ } }, "mongoose": { - "version": "5.10.11", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.10.11.tgz", - "integrity": "sha512-R5BFitKW94/S/Z48w+X+qi/eto66jWBcVEVA8nYVkBoBAPFGq7JSYP/0uso+ZHs+7XjSzTuui+SUllzxIrf9yA==", + "version": "5.10.13", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.10.13.tgz", + "integrity": "sha512-lvZzTj449sVWijY76StOuTKt5oP5kyy70VdM3DMgPpKNqZfkAseHxekmqBbd9YQQDVIgrIYDar9vSlxKqc75MQ==", "requires": { "bson": "^1.1.4", "kareem": "2.3.1", - "mongodb": "3.6.2", + "mongodb": "3.6.3", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.7.0", "mquery": "3.2.2", @@ -9684,9 +9684,9 @@ } }, "mongodb": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.2.tgz", - "integrity": "sha512-sSZOb04w3HcnrrXC82NEh/YGCmBuRgR+C1hZgmmv4L6dBz4BkRse6Y8/q/neXer9i95fKUBbFi4KgeceXmbsOA==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.3.tgz", + "integrity": "sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==", "requires": { "bl": "^2.2.1", "bson": "^1.1.4", diff --git a/package.json b/package.json index 17849ae0b3..afd3fbad25 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "method-override": "^3.0.0", "moment": "^2.29.1", "moment-recur": "^1.0.7", - "mongoose": "^5.10.11", + "mongoose": "^5.10.13", "morgan": "^1.10.0", "nconf": "^0.10.0", "node-gcm": "^1.0.3", From 868a8a4e7710ac284caf0927068adca747bbe9df Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2020 10:50:05 +0100 Subject: [PATCH 04/19] build(deps): bump sass from 1.28.0 to 1.29.0 in /website/client (#12769) Bumps [sass](https://github.com/sass/dart-sass) from 1.28.0 to 1.29.0. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.28.0...1.29.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- website/client/package-lock.json | 6 +++--- website/client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index 41c37d7abc..bc5b8a447b 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -18371,9 +18371,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.28.0.tgz", - "integrity": "sha512-9FWX/0wuE1KxwfiP02chZhHaPzu6adpx9+wGch7WMOuHy5npOo0UapRI3FNSHva2CczaYJu2yNUBN8cCSqHz/A==", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.29.0.tgz", + "integrity": "sha512-ZpwAUFgnvAUCdkjwPREny+17BpUj8nh5Yr6zKPGtLNTLrmtoRYIjm7njP24COhjJldjwW1dcv52Lpf4tNZVVRA==", "requires": { "chokidar": ">=2.0.0 <4.0.0" } diff --git a/website/client/package.json b/website/client/package.json index e8ed76fe73..70b18a1702 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -44,7 +44,7 @@ "lodash": "^4.17.20", "moment": "^2.29.1", "nconf": "^0.10.0", - "sass": "^1.28.0", + "sass": "^1.29.0", "sass-loader": "^8.0.2", "smartbanner.js": "^1.16.0", "svg-inline-loader": "^0.8.2", From 85d2e21510fba3484be88d151a034ef31f9f07c3 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2020 10:50:11 +0100 Subject: [PATCH 05/19] build(deps): bump core-js from 3.6.5 to 3.7.0 in /website/client (#12770) Bumps [core-js](https://github.com/zloirock/core-js) from 3.6.5 to 3.7.0. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/compare/v3.6.5...v3.7.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- website/client/package-lock.json | 6 +++--- website/client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index bc5b8a447b..a5f60a71b9 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -9517,9 +9517,9 @@ } }, "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz", + "integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==" }, "core-js-compat": { "version": "3.6.4", diff --git a/website/client/package.json b/website/client/package.json index 70b18a1702..c6df2a2170 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -31,7 +31,7 @@ "bootstrap": "^4.5.3", "bootstrap-vue": "^2.18.1", "chai": "^4.1.2", - "core-js": "^3.6.5", + "core-js": "^3.7.0", "eslint": "^6.8.0", "eslint-config-habitrpg": "^6.2.0", "eslint-plugin-mocha": "^5.3.0", From 7adb33887e6e5283e46fe4c177710999a1fd10b7 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2020 10:50:30 +0100 Subject: [PATCH 06/19] build(deps): bump bootstrap-vue from 2.18.1 to 2.19.0 in /website/client (#12772) Bumps [bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) from 2.18.1 to 2.19.0. - [Release notes](https://github.com/bootstrap-vue/bootstrap-vue/releases) - [Changelog](https://github.com/bootstrap-vue/bootstrap-vue/blob/dev/CHANGELOG.md) - [Commits](https://github.com/bootstrap-vue/bootstrap-vue/compare/v2.18.1...v2.19.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- website/client/package-lock.json | 6 +++--- website/client/package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index a5f60a71b9..f6d6a8aaea 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -8234,9 +8234,9 @@ "integrity": "sha512-o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ==" }, "bootstrap-vue": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.18.1.tgz", - "integrity": "sha512-oYKAhEnNuCxtF4gxsdLzijhQpFk7UYPvzhwZvUbnPbZ1eWu2dsc3+fRkY9PMowt5OJRtuVb7ov3lpsI2fraYsA==", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.19.0.tgz", + "integrity": "sha512-IjAXUSrRU5Qu9x3uwUcoj6LtysKbCVeWoJOsODyI/WokStUr95M+tTIajXUjIrB/Nsk0fS+RNvZnm2sWeNFrhg==", "requires": { "@nuxt/opencollective": "^0.3.2", "bootstrap": ">=4.5.3 <5.0.0", diff --git a/website/client/package.json b/website/client/package.json index c6df2a2170..847b9a7c56 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -29,7 +29,7 @@ "axios-progress-bar": "^1.2.0", "babel-eslint": "^10.1.0", "bootstrap": "^4.5.3", - "bootstrap-vue": "^2.18.1", + "bootstrap-vue": "^2.19.0", "chai": "^4.1.2", "core-js": "^3.7.0", "eslint": "^6.8.0", From 8a7b4db5ee729fe75ebd6339816f853081d5bf6d Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 9 Nov 2020 10:50:39 +0100 Subject: [PATCH 07/19] build(deps): bump amplitude-js from 7.3.1 to 7.3.2 in /website/client (#12771) Bumps [amplitude-js](https://github.com/amplitude/amplitude-javascript) from 7.3.1 to 7.3.2. - [Release notes](https://github.com/amplitude/amplitude-javascript/releases) - [Changelog](https://github.com/amplitude/Amplitude-JavaScript/blob/master/CHANGELOG.md) - [Commits](https://github.com/amplitude/amplitude-javascript/compare/v7.3.1...v7.3.2) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- website/client/package-lock.json | 20 +++++++++++++++++--- website/client/package.json | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/website/client/package-lock.json b/website/client/package-lock.json index f6d6a8aaea..e8450d4a35 100644 --- a/website/client/package-lock.json +++ b/website/client/package-lock.json @@ -4,11 +4,24 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@amplitude/types": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@amplitude/types/-/types-1.0.4.tgz", + "integrity": "sha512-iWdgTXiE0T/QCK88g2ezJEhJpYHDvDs0StVVPu1ygcl6qYzk/8xrNvbeEibiIBT8t/GJ8FtH5ZIPx3c4CMjlig==" + }, "@amplitude/ua-parser-js": { "version": "0.7.24", "resolved": "https://registry.npmjs.org/@amplitude/ua-parser-js/-/ua-parser-js-0.7.24.tgz", "integrity": "sha512-VbQuJymJ20WEw0HtI2np7EdC3NJGUWi8+Xdbc7uk8WfMIF308T0howpzkQ3JFMN7ejnrcSM/OyNGveeE3TP3TA==" }, + "@amplitude/utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@amplitude/utils/-/utils-1.0.5.tgz", + "integrity": "sha512-leo4meeTAvp4W+UWk7EcWaJKuuJ3HqbNglRJPVAUYXaoCs2UzCnCVvjj5rUBN+Mhe0pAmkpEHHaS/1iv2prcKA==", + "requires": { + "@amplitude/types": "^1.0.4" + } + }, "@babel/code-frame": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", @@ -6952,11 +6965,12 @@ "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, "amplitude-js": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-7.3.1.tgz", - "integrity": "sha512-dsJU9MdtDDAOtKnbHrJuVBgsL5UGxD1P2B7doGdAQ1hxxT/5mFrmJTFzi1tKe+2ir3QtcRa9B0qvH8TMsGw22A==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-7.3.2.tgz", + "integrity": "sha512-OngxKt9FUMnskD/G38bgPuGTIMV29GQXct+1KvBCYzjAl/pMR6LDzAJA2y7BwVmGUDeWcutGr6umeWaj2Pgdqg==", "requires": { "@amplitude/ua-parser-js": "0.7.24", + "@amplitude/utils": "^1.0.5", "blueimp-md5": "^2.10.0", "query-string": "5" }, diff --git a/website/client/package.json b/website/client/package.json index 847b9a7c56..13d89e44fd 100644 --- a/website/client/package.json +++ b/website/client/package.json @@ -24,7 +24,7 @@ "@vue/cli-plugin-unit-mocha": "^4.5.8", "@vue/cli-service": "^4.5.8", "@vue/test-utils": "1.0.0-beta.29", - "amplitude-js": "^7.3.1", + "amplitude-js": "^7.3.2", "axios": "^0.21.0", "axios-progress-bar": "^1.2.0", "babel-eslint": "^10.1.0", From 2e59260149c990c779751351827544e16749482f Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Mon, 9 Nov 2020 11:34:20 +0100 Subject: [PATCH 08/19] Revert "Revert "Analytics: track generic events through the server (#12735)"" This reverts commit 9d6fb2ca2650f680faaa24a872aa07abba4de46c. --- .../POST-analytics_track_eventName.test.js | 28 +++++++++++ test/helpers/api-integration/requester.js | 1 + .../achievements/dropCapReached.vue | 4 +- .../header/notifications/dropCapReached.vue | 2 +- .../src/components/header/userDropdown.vue | 2 +- website/client/src/libs/analytics.js | 13 +++-- website/client/src/store/actions/analytics.js | 7 +++ website/client/src/store/actions/index.js | 2 + website/client/vue.config.js | 4 ++ .../server/controllers/api-v3/challenges.js | 5 ++ website/server/controllers/api-v3/quests.js | 8 ++-- .../server/controllers/top-level/analytics.js | 47 +++++++++++++++++++ .../controllers/top-level/payments/paypal.js | 2 +- .../controllers/top-level/payments/stripe.js | 2 +- website/server/libs/analyticsService.js | 8 ++-- website/server/libs/cron.js | 2 +- 16 files changed, 120 insertions(+), 17 deletions(-) create mode 100644 test/api/v3/integration/analytics/POST-analytics_track_eventName.test.js create mode 100644 website/client/src/store/actions/analytics.js create mode 100644 website/server/controllers/top-level/analytics.js diff --git a/test/api/v3/integration/analytics/POST-analytics_track_eventName.test.js b/test/api/v3/integration/analytics/POST-analytics_track_eventName.test.js new file mode 100644 index 0000000000..eb00ee8927 --- /dev/null +++ b/test/api/v3/integration/analytics/POST-analytics_track_eventName.test.js @@ -0,0 +1,28 @@ +import { + generateUser, + requester, + translate as t, +} from '../../../../helpers/api-integration/v3'; +import { mockAnalyticsService as analytics } from '../../../../../website/server/libs/analyticsService'; + +describe('POST /analytics/track/:eventName', () => { + it('requires authentication', async () => { + await expect(requester().post('/analytics/track/event')).to.eventually.be.rejected.and.eql({ + code: 401, + error: 'NotAuthorized', + message: t('missingAuthHeaders'), + }); + }); + + it('calls res.analytics', async () => { + const user = await generateUser(); + sandbox.spy(analytics, 'track'); + + const requestWithHeaders = requester(user, { 'x-client': 'habitica-web' }); + await requestWithHeaders.post('/analytics/track/eventName', { data: 'example' }, { 'x-client': 'habitica-web' }); + expect(analytics.track).to.be.calledOnce; + expect(analytics.track).to.be.calledWith('eventName', sandbox.match({ data: 'example' })); + + sandbox.restore(); + }); +}); diff --git a/test/helpers/api-integration/requester.js b/test/helpers/api-integration/requester.js index a01aa1e227..f5c63b9d14 100644 --- a/test/helpers/api-integration/requester.js +++ b/test/helpers/api-integration/requester.js @@ -41,6 +41,7 @@ function _requestMaker (user, method, additionalSets = {}) { || route.indexOf('/amazon') === 0 || route.indexOf('/stripe') === 0 || route.indexOf('/qr-code') === 0 + || route.indexOf('/analytics') === 0 ) { url += `${route}`; } else { diff --git a/website/client/src/components/achievements/dropCapReached.vue b/website/client/src/components/achievements/dropCapReached.vue index a804fd78fa..0c01057752 100644 --- a/website/client/src/components/achievements/dropCapReached.vue +++ b/website/client/src/components/achievements/dropCapReached.vue @@ -232,7 +232,7 @@ export default { eventCategory: 'drop-cap-reached', eventAction: 'click', eventLabel: 'Drop Cap Reached > Modal > Wiki', - }); + }, { trackOnServer: true }); }, toLearnMore () { Analytics.track({ @@ -240,7 +240,7 @@ export default { eventCategory: 'drop-cap-reached', eventAction: 'click', eventLabel: 'Drop Cap Reached > Modal > Subscriptions', - }); + }, { trackOnServer: true }); this.close(); this.$router.push('/user/settings/subscription'); diff --git a/website/client/src/components/header/notifications/dropCapReached.vue b/website/client/src/components/header/notifications/dropCapReached.vue index 34a133b64e..6fcab511d2 100644 --- a/website/client/src/components/header/notifications/dropCapReached.vue +++ b/website/client/src/components/header/notifications/dropCapReached.vue @@ -36,7 +36,7 @@ export default { eventCategory: 'drop-cap-reached', eventAction: 'click', eventLabel: 'Drop Cap Reached > Notification Click', - }); + }, { trackOnServer: true }); }, }, }; diff --git a/website/client/src/components/header/userDropdown.vue b/website/client/src/components/header/userDropdown.vue index 8434defbef..cb058247b0 100644 --- a/website/client/src/components/header/userDropdown.vue +++ b/website/client/src/components/header/userDropdown.vue @@ -183,7 +183,7 @@ export default { eventCategory: 'button', eventAction: 'click', eventLabel: 'User Dropdown > Subscriptions', - }); + }, { trackOnServer: true }); this.$router.push({ name: 'subscription' }); }, diff --git a/website/client/src/libs/analytics.js b/website/client/src/libs/analytics.js index d7af60b8a1..3b2bed28ec 100644 --- a/website/client/src/libs/analytics.js +++ b/website/client/src/libs/analytics.js @@ -82,14 +82,21 @@ export function setUser () { window.ga('set', { userId: user._id }); } -export function track (properties) { +export function track (properties, options = {}) { // Use nextTick to avoid blocking the UI Vue.nextTick(() => { if (_doesNotHaveRequiredFields(properties)) return; if (_doesNotHaveAllowedHitType(properties)) return; - amplitude.getInstance().logEvent(properties.eventAction, properties); - window.ga('send', properties); + const trackOnServer = options && options.trackOnServer === true; + if (trackOnServer === true) { + // Track an event on the server + const store = getStore(); + store.dispatch('analytics:trackEvent', properties); + } else { + amplitude.getInstance().logEvent(properties.eventAction, properties); + window.ga('send', properties); + } }); } diff --git a/website/client/src/store/actions/analytics.js b/website/client/src/store/actions/analytics.js new file mode 100644 index 0000000000..1d104d749c --- /dev/null +++ b/website/client/src/store/actions/analytics.js @@ -0,0 +1,7 @@ +import axios from 'axios'; + +export async function trackEvent (store, params) { + const url = `/analytics/track/${params.eventAction}`; + + await axios.post(url, params); +} diff --git a/website/client/src/store/actions/index.js b/website/client/src/store/actions/index.js index 947be42878..adc7a38fb2 100644 --- a/website/client/src/store/actions/index.js +++ b/website/client/src/store/actions/index.js @@ -17,6 +17,7 @@ import * as shops from './shops'; import * as snackbars from './snackbars'; import * as worldState from './worldState'; import * as news from './news'; +import * as analytics from './analytics'; // Actions should be named as 'actionName' and can be accessed as 'namespace:actionName' // Example: fetch in user.js -> 'user:fetch' @@ -39,6 +40,7 @@ const actions = flattenAndNamespace({ snackbars, worldState, news, + analytics, }); export default actions; diff --git a/website/client/vue.config.js b/website/client/vue.config.js index aae8725c33..6d446cb1f6 100644 --- a/website/client/vue.config.js +++ b/website/client/vue.config.js @@ -148,6 +148,10 @@ module.exports = { target: DEV_BASE_URL, changeOrigin: true, }, + '^/analytics': { + target: DEV_BASE_URL, + changeOrigin: true, + }, }, }, }; diff --git a/website/server/controllers/api-v3/challenges.js b/website/server/controllers/api-v3/challenges.js index 3e8bea0a6c..84801e28a5 100644 --- a/website/server/controllers/api-v3/challenges.js +++ b/website/server/controllers/api-v3/challenges.js @@ -221,6 +221,7 @@ api.createChallenge = { groupID: group._id, groupName: group.privacy === 'private' ? null : group.name, groupType: group._id === TAVERN_ID ? 'tavern' : group.type, + headers: req.headers, }); res.respond(201, response); @@ -286,6 +287,7 @@ api.joinChallenge = { groupID: group._id, groupName: group.privacy === 'private' ? null : group.name, groupType: group._id === TAVERN_ID ? 'tavern' : group.type, + headers: req.headers, }); res.respond(200, response); @@ -335,6 +337,7 @@ api.leaveChallenge = { groupID: challenge.group._id, groupName: challenge.group.privacy === 'private' ? null : challenge.group.name, groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type, + headers: req.headers, }); res.respond(200, {}); @@ -748,6 +751,7 @@ api.deleteChallenge = { groupID: challenge.group._id, groupName: challenge.group.privacy === 'private' ? null : challenge.group.name, groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type, + headers: req.headers, }); res.respond(200, {}); @@ -798,6 +802,7 @@ api.selectChallengeWinner = { groupID: challenge.group._id, groupName: challenge.group.privacy === 'private' ? null : challenge.group.name, groupType: challenge.group._id === TAVERN_ID ? 'tavern' : challenge.group.type, + headers: req.headers, }); res.respond(200, {}); diff --git a/website/server/controllers/api-v3/quests.js b/website/server/controllers/api-v3/quests.js index dd1105e58d..b0e2c08e6c 100644 --- a/website/server/controllers/api-v3/quests.js +++ b/website/server/controllers/api-v3/quests.js @@ -156,7 +156,7 @@ api.inviteToQuest = { questName: questKey, uuid: user._id, headers: req.headers, - }); + }, true); }, }; @@ -217,7 +217,7 @@ api.acceptQuest = { questName: group.quest.key, uuid: user._id, headers: req.headers, - }); + }, true); }, }; @@ -278,7 +278,7 @@ api.rejectQuest = { questName: group.quest.key, uuid: user._id, headers: req.headers, - }); + }, true); }, }; @@ -338,7 +338,7 @@ api.forceStart = { questName: group.quest.key, uuid: user._id, headers: req.headers, - }); + }, true); }, }; diff --git a/website/server/controllers/top-level/analytics.js b/website/server/controllers/top-level/analytics.js new file mode 100644 index 0000000000..f663a10dcb --- /dev/null +++ b/website/server/controllers/top-level/analytics.js @@ -0,0 +1,47 @@ +import { + NotAuthorized, +} from '../../libs/errors'; +import { + authWithHeaders, +} from '../../middlewares/auth'; + +const api = {}; + +/** + * @apiIgnore Analytics are considered part of the private API + * @api {post} /analytics/track/:eventName Track a generic analytics event + * @apiName AnalyticsTrack + * @apiGroup Analytics + * + * @apiSuccess {Object} data An empty object + * */ +api.trackEvent = { + method: 'POST', + url: '/analytics/track/:eventName', + // we authenticate these requests to make sure they actually came from a real user + middlewares: [authWithHeaders()], + async handler (req, res) { + // As of now only web can track events using this route + if (req.headers['x-client'] !== 'habitica-web') { + throw new NotAuthorized('Only habitica.com is allowed to track analytics events.'); + } + + const { user } = res.locals; + const eventProperties = req.body; + + res.analytics.track(req.params.eventName, { + uuid: user._id, + headers: req.headers, + category: 'behaviour', + gaLabel: 'local', + // hitType: 'event', sent from the client + ...eventProperties, + }); + + // not using res.respond + // because we don't want to send back notifications and other user-related data + res.status(200).send({}); + }, +}; + +export default api; diff --git a/website/server/controllers/top-level/payments/paypal.js b/website/server/controllers/top-level/payments/paypal.js index ba3eaf64b3..1432ceea90 100644 --- a/website/server/controllers/top-level/payments/paypal.js +++ b/website/server/controllers/top-level/payments/paypal.js @@ -63,7 +63,7 @@ api.checkoutSuccess = { if (!customerId) throw new BadRequest(apiError('missingCustomerId')); await paypalPayments.checkoutSuccess({ - user, gemsBlock, gift, paymentId, customerId, + user, gemsBlock, gift, paymentId, customerId, headers: req.headers, }); if (req.query.noRedirect) { diff --git a/website/server/controllers/top-level/payments/stripe.js b/website/server/controllers/top-level/payments/stripe.js index 4a01108306..fec9230524 100644 --- a/website/server/controllers/top-level/payments/stripe.js +++ b/website/server/controllers/top-level/payments/stripe.js @@ -35,7 +35,7 @@ api.checkout = { const { groupId, coupon, gemsBlock } = req.query; await stripePayments.checkout({ - token, user, gemsBlock, gift, sub, groupId, coupon, + token, user, gemsBlock, gift, sub, groupId, coupon, headers: req.headers, }); res.respond(200, {}); diff --git a/website/server/libs/analyticsService.js b/website/server/libs/analyticsService.js index 45de7fef6c..f990b60a9d 100644 --- a/website/server/libs/analyticsService.js +++ b/website/server/libs/analyticsService.js @@ -174,7 +174,7 @@ function _formatDataForAmplitude (data) { return ampData; } -function _sendDataToAmplitude (eventType, data) { +function _sendDataToAmplitude (eventType, data, loggerOnly) { const amplitudeData = _formatDataForAmplitude(data); amplitudeData.event_type = eventType; @@ -183,6 +183,8 @@ function _sendDataToAmplitude (eventType, data) { logger.info('Amplitude Event', amplitudeData); } + if (loggerOnly) return Promise.resolve(null); + return amplitude .track(amplitudeData) .catch(err => logger.error(err, 'Error while sending data to Amplitude.')); @@ -312,9 +314,9 @@ function _setOnce (dataToSetOnce, uuid) { } // There's no error handling directly here because it's handled inside _sendDataTo{Amplitude|Google} -async function track (eventType, data) { +async function track (eventType, data, loggerOnly = false) { const promises = [ - _sendDataToAmplitude(eventType, data), + _sendDataToAmplitude(eventType, data, loggerOnly), _sendDataToGoogle(eventType, data), ]; if (data.user && data.user.registeredThrough) { diff --git a/website/server/libs/cron.js b/website/server/libs/cron.js index 67804c705e..f8755f7337 100644 --- a/website/server/libs/cron.js +++ b/website/server/libs/cron.js @@ -225,7 +225,7 @@ function trackCronAnalytics (analytics, user, _progress, options) { user, questName: user.party.quest.key, headers: options.headers, - }); + }, true); } } From 174ac6d7e3699adc2f008ceef35d820d02fb8aaf Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Mon, 9 Nov 2020 11:34:28 +0100 Subject: [PATCH 09/19] =?UTF-8?q?Revert=20"Revert=20"fix(banned=20words):?= =?UTF-8?q?=20fix=20partial=20matching=20of=20words=20containing=20diacrit?= =?UTF-8?q?ic=E2=80=A6=20(#12444)""?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 5362058f3552d2c410638372fd48bb9a91861d2b. --- test/api/unit/libs/stringUtils.test.js | 5 +++++ website/server/libs/stringUtils.js | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/test/api/unit/libs/stringUtils.test.js b/test/api/unit/libs/stringUtils.test.js index 0596cd16b9..947274df53 100644 --- a/test/api/unit/libs/stringUtils.test.js +++ b/test/api/unit/libs/stringUtils.test.js @@ -8,5 +8,10 @@ describe('stringUtils', () => { const matches = getMatchesByWordArray(message, bannedWords); expect(matches.length).to.equal(bannedWords.length); }); + it('doesn\'t flag names with accented characters', () => { + const name = 'TESTPLACEHOLDERSWEARWORDHEREé'; + const matches = getMatchesByWordArray(name, bannedWords); + expect(matches.length).to.equal(0); + }); }); }); diff --git a/website/server/libs/stringUtils.js b/website/server/libs/stringUtils.js index a7e4b08aa8..39f75356c5 100644 --- a/website/server/libs/stringUtils.js +++ b/website/server/libs/stringUtils.js @@ -4,12 +4,21 @@ export function removePunctuationFromString (str) { // NOTE: the wordsToMatch aren't escaped in order to support regular expressions, // so this method should not be used if wordsToMatch contains unsanitized user input + export function getMatchesByWordArray (str, wordsToMatch) { + // remove accented characters from the string, which would trip up the regEx + // later on, by using the built-in Unicode normalisation methods + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize + // https://www.unicode.org/reports/tr15/#Canon_Compat_Equivalence + // https://unicode-table.com/en/#combining-diacritical-marks + + const normalizedStr = str.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); + const matchedWords = []; const wordRegexs = wordsToMatch.map(word => new RegExp(`\\b([^a-z]+)?${word}([^a-z]+)?\\b`, 'i')); for (let i = 0; i < wordRegexs.length; i += 1) { const regEx = wordRegexs[i]; - const match = str.match(regEx); + const match = normalizedStr.match(regEx); if (match !== null && match[0] !== null) { const trimmedMatch = removePunctuationFromString(match[0]).trim(); matchedWords.push(trimmedMatch); From 983aae7f873b3626485b84f1b43926a7415a4fa5 Mon Sep 17 00:00:00 2001 From: jbusa22 <41833473+jbusa22@users.noreply.github.com> Date: Mon, 9 Nov 2020 06:25:22 -0500 Subject: [PATCH 10/19] Fixes #12730 - Tag filter not always cleared correctly when deleting active tag (#12737) * Update title for tabs not including challenges, guild and team * add section titles to challenges, guilds, and groups * Update dynamic title to use vuex action * Remove duplicate key * Actually remove duplicate key * Fix section sub section in group * Add note to implement setTitle when adding a page * Add missing sections to dynamic title * Features string not translated * Use onGroupUpdate to update group titles * Add watcher to challenges for dynamic title updates * Small fixes * Add register and login to title, remove duplicate keys * Add home page dynamic title functionality * Minor name changes * Fix tag filtering on deletion * Remove debuggers Co-authored-by: Matteo Pagliazzi --- website/client/src/components/tasks/user.vue | 8 +++++++- website/client/src/router/index.js | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/website/client/src/components/tasks/user.vue b/website/client/src/components/tasks/user.vue index 30669ea80d..fdd544a26f 100644 --- a/website/client/src/components/tasks/user.vue +++ b/website/client/src/components/tasks/user.vue @@ -520,7 +520,13 @@ export default { removeTag (index, key) { const tagId = this.tagsSnap[key][index].id; const indexInSelected = this.selectedTags.indexOf(tagId); - if (indexInSelected !== -1) this.$delete(this.selectedTags, indexInSelected); + const indexInTempSelected = this.temporarilySelectedTags.indexOf(tagId); + if (indexInSelected !== -1) { + this.$delete(this.selectedTags, indexInSelected); + } + if (indexInTempSelected !== -1) { + this.$delete(this.temporarilySelectedTags, indexInTempSelected); + } this.$delete(this.tagsSnap[key], index); }, saveTags () { diff --git a/website/client/src/router/index.js b/website/client/src/router/index.js index 9db7348ec7..fea7dfd109 100644 --- a/website/client/src/router/index.js +++ b/website/client/src/router/index.js @@ -6,6 +6,8 @@ import handleRedirect from './handleRedirect'; import ParentPage from '@/components/parentPage'; +// NOTE: when adding a page make sure to implement setTitle + // Static Pages const StaticWrapper = () => import(/* webpackChunkName: "entry" */'@/components/static/staticWrapper'); const HomePage = () => import(/* webpackChunkName: "entry" */'@/components/static/home'); From 27129754cd6c03d0f9a11244f9ed43c3a40ee108 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Mon, 9 Nov 2020 16:34:52 +0100 Subject: [PATCH 11/19] gems-promo: comment unused code --- website/client/src/app.vue | 6 +++--- website/client/src/components/payments/buyGemsModal.vue | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/website/client/src/app.vue b/website/client/src/app.vue index af99eab93e..570a4073b7 100644 --- a/website/client/src/app.vue +++ b/website/client/src/app.vue @@ -38,7 +38,7 @@