From 75a196dd3b017ac7d0491d52539784d123282a0d Mon Sep 17 00:00:00 2001 From: Melior Date: Thu, 24 Sep 2020 02:59:26 +0200 Subject: [PATCH 01/90] Translated using Weblate (Hindi) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 11.8% (39 of 328 strings) Translation: Habitica/Front Translate-URL: https://translate.habitica.com/projects/habitica/front/hi/ Translated using Weblate (Chinese (Hong Kong)) Currently translated at 100.0% (15 of 15 strings) Translation: Habitica/Death Translate-URL: https://translate.habitica.com/projects/habitica/death/zh_Hant_HK/ Translated using Weblate (Hungarian) Currently translated at 31.1% (29 of 93 strings) Translation: Habitica/Achievements Translate-URL: https://translate.habitica.com/projects/habitica/achievements/hu/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (146 of 146 strings) Translation: Habitica/Pets Translate-URL: https://translate.habitica.com/projects/habitica/pets/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (173 of 173 strings) Translation: Habitica/Npc Translate-URL: https://translate.habitica.com/projects/habitica/npc/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 67.4% (118 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (28 of 28 strings) Translation: Habitica/Rebirth Translate-URL: https://translate.habitica.com/projects/habitica/rebirth/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 86.8% (622 of 716 strings) Translation: Habitica/Questscontent Translate-URL: https://translate.habitica.com/projects/habitica/questscontent/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (27 of 27 strings) Translation: Habitica/Loginincentives Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (70 of 70 strings) Translation: Habitica/Contrib Translate-URL: https://translate.habitica.com/projects/habitica/contrib/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (362 of 362 strings) Translation: Habitica/Content Translate-URL: https://translate.habitica.com/projects/habitica/content/nb_NO/ Translated using Weblate (Dutch) Currently translated at 98.6% (2141 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/nl/ Translated using Weblate (Norwegian Bokmål) Currently translated at 36.3% (53 of 146 strings) Translation: Habitica/Pets Translate-URL: https://translate.habitica.com/projects/habitica/pets/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 2.4% (8 of 328 strings) Translation: Habitica/Front Translate-URL: https://translate.habitica.com/projects/habitica/front/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 80.3% (45 of 56 strings) Translation: Habitica/Faq Translate-URL: https://translate.habitica.com/projects/habitica/faq/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 78.2% (436 of 557 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (8 of 8 strings) Translation: Habitica/Overview Translate-URL: https://translate.habitica.com/projects/habitica/overview/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (67 of 67 strings) Translation: Habitica/Messages Translate-URL: https://translate.habitica.com/projects/habitica/messages/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (27 of 27 strings) Translation: Habitica/Loginincentives Translate-URL: https://translate.habitica.com/projects/habitica/loginincentives/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (189 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 78.4% (1703 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (63 of 63 strings) Translation: Habitica/Defaulttasks Translate-URL: https://translate.habitica.com/projects/habitica/defaulttasks/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (4 of 4 strings) Translation: Habitica/Noscript Translate-URL: https://translate.habitica.com/projects/habitica/noscript/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 75.5% (421 of 557 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (189 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (6 of 6 strings) Translation: Habitica/Inventory Translate-URL: https://translate.habitica.com/projects/habitica/inventory/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 78.4% (1703 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (15 of 15 strings) Translation: Habitica/Death Translate-URL: https://translate.habitica.com/projects/habitica/death/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (70 of 70 strings) Translation: Habitica/Contrib Translate-URL: https://translate.habitica.com/projects/habitica/contrib/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 100.0% (124 of 124 strings) Translation: Habitica/Communityguidelines Translate-URL: https://translate.habitica.com/projects/habitica/communityguidelines/nb_NO/ Translated using Weblate (Spanish (Latin America)) Currently translated at 81.5% (1771 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/ Translated using Weblate (Japanese) Currently translated at 99.0% (499 of 504 strings) Translation: Habitica/Groups Translate-URL: https://translate.habitica.com/projects/habitica/groups/ja/ Translated using Weblate (Norwegian Bokmål) Currently translated at 75.5% (421 of 557 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nb_NO/ Translated using Weblate (Norwegian Bokmål) Currently translated at 75.5% (421 of 557 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/nb_NO/ Translated using Weblate (Italian) Currently translated at 100.0% (175 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/it/ Translated using Weblate (French) Currently translated at 98.8% (173 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/ Translated using Weblate (Italian) Currently translated at 100.0% (189 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/it/ Translated using Weblate (Italian) Currently translated at 100.0% (2171 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/it/ Translated using Weblate (Italian) Currently translated at 100.0% (180 of 180 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/it/ Translated using Weblate (Hindi) Currently translated at 11.8% (39 of 328 strings) Translation: Habitica/Front Translate-URL: https://translate.habitica.com/projects/habitica/front/hi/ Translated using Weblate (Russian) Currently translated at 91.4% (160 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ru/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (175 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (175 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/pt_BR/ Translated using Weblate (German) Currently translated at 100.0% (175 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/de/ Translated using Weblate (Spanish (Latin America)) Currently translated at 81.5% (1771 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/es_419/ Translated using Weblate (Russian) Currently translated at 98.4% (186 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/ru/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (189 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/pt_BR/ Translated using Weblate (German) Currently translated at 100.0% (189 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/de/ Translated using Weblate (Russian) Currently translated at 94.6% (2054 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/ru/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (2171 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/pt_BR/ Translated using Weblate (German) Currently translated at 99.5% (2162 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/de/ Translated using Weblate (Russian) Currently translated at 100.0% (180 of 180 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/ru/ Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (180 of 180 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/pt_BR/ Translated using Weblate (French) Currently translated at 100.0% (180 of 180 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/fr/ Translated using Weblate (German) Currently translated at 100.0% (180 of 180 strings) Translation: Habitica/Settings Translate-URL: https://translate.habitica.com/projects/habitica/settings/de/ --- website/common/locales/de/gear.json | 23 ++- website/common/locales/de/limited.json | 6 +- website/common/locales/de/settings.json | 3 +- website/common/locales/de/subscriber.json | 9 +- website/common/locales/es_419/gear.json | 96 +++++------ website/common/locales/fr/settings.json | 3 +- website/common/locales/fr/subscriber.json | 6 +- website/common/locales/hi/front.json | 3 +- website/common/locales/hu/achievements.json | 2 +- website/common/locales/it/gear.json | 32 +++- website/common/locales/it/limited.json | 6 +- website/common/locales/it/settings.json | 3 +- website/common/locales/it/subscriber.json | 11 +- website/common/locales/ja/groups.json | 4 +- website/common/locales/nb_NO/front.json | 2 +- website/common/locales/nb_NO/pets.json | 137 +++++++++++++++- website/common/locales/nl/gear.json | 46 +++--- website/common/locales/no/backgrounds.json | 152 ++++++++++-------- .../locales/no/communityguidelines.json | 2 +- website/common/locales/no/content.json | 2 +- website/common/locales/no/contrib.json | 4 +- website/common/locales/no/death.json | 2 +- website/common/locales/no/defaulttasks.json | 4 +- website/common/locales/no/faq.json | 4 +- website/common/locales/no/gear.json | 4 +- website/common/locales/no/inventory.json | 2 +- website/common/locales/no/limited.json | 42 ++--- .../common/locales/no/loginincentives.json | 6 +- website/common/locales/no/messages.json | 32 ++-- website/common/locales/no/noscript.json | 6 +- website/common/locales/no/npc.json | 14 +- website/common/locales/no/overview.json | 4 +- website/common/locales/no/questscontent.json | 2 +- website/common/locales/no/rebirth.json | 6 +- website/common/locales/no/subscriber.json | 2 +- website/common/locales/pt_BR/gear.json | 32 +++- website/common/locales/pt_BR/limited.json | 6 +- website/common/locales/pt_BR/settings.json | 3 +- website/common/locales/pt_BR/subscriber.json | 9 +- website/common/locales/ru/gear.json | 8 +- website/common/locales/ru/limited.json | 6 +- website/common/locales/ru/settings.json | 3 +- website/common/locales/ru/subscriber.json | 7 +- website/common/locales/zh_HK/death.json | 4 +- 44 files changed, 527 insertions(+), 233 deletions(-) diff --git a/website/common/locales/de/gear.json b/website/common/locales/de/gear.json index 8161cd8ffb..72d7d16eb9 100644 --- a/website/common/locales/de/gear.json +++ b/website/common/locales/de/gear.json @@ -2171,5 +2171,26 @@ "armorArmoireGuardiansGownNotes": "Ein herrlich rustikales Gewand, mit überraschend robusten Nähten! Erhöht Intelligenz um <%= int %>. Verzauberter Schrank: Wächter der Weidegänger-Set (Gegenstand 3 von 3).", "armorArmoireGuardiansGownText": "Wächtergewand", "weaponArmoireGuardiansCrookNotes": "Dieser Hirtenstab könnte sich als nützlich erweisen bei Deiner nächsten Wanderung mit Deinem Haustier auf dem Lande... Erhöht Stärke um <%= str %>. Verzauberter Schrank: Wächter der Weidegänger-Set (Gegenstand 2 von 3).", - "weaponArmoireGuardiansCrookText": "Wächterstab" + "weaponArmoireGuardiansCrookText": "Wächterstab", + "headSpecialFall2020HealerText": "Totenkopfschwärmermaske", + "shieldSpecialFall2020HealerNotes": "Trägst Du eine weitere Motte mit Dir, die immer noch die Metamorphose durchläuft? Oder lediglich eine seidige Handtasche, die Deine Mittel für Heilungen und Prophezeiungen enthält? Erhöht Ausdauer um <%= con %>. Limitierte Ausgabe 2020 Herbstausrüstung.", + "shieldSpecialFall2020HealerText": "Kokon Clutch", + "shieldSpecialFall2020WarriorText": "Seelenschild", + "shieldSpecialFall2020RogueText": "Schneller Katar", + "headSpecialFall2020MageText": "Erwachte Klarheit", + "headSpecialFall2020WarriorText": "Gruseliger Gugel", + "headSpecialFall2020RogueNotes": "Erst zweimal schauen, dann einmal handeln: diese Maske macht es leicht. Erhöht Wahrnehmung um <%= per %>. Limitierte Ausgabe 2020 Herbstausrüstung.", + "headSpecialFall2020RogueText": "Zweiköpfige Steinmaske", + "armorSpecialFall2020HealerText": "Schwärmerschwingen", + "armorSpecialFall2020MageText": "Hinauf Zur Erleuchtung", + "armorSpecialFall2020WarriorNotes": "Diese Robe schützte einst einen mächtigen Krieger vor Schaden. Man sagt, der Geist des Kriegers wohne dem Stoff inne, um jene zu schützen, die der Nachfolge würdig sind. Erhöht Ausdauer um <%= con %>. Limitierte Ausgabe 2020 Herbstausrüstung.", + "armorSpecialFall2020WarriorText": "Wiedergänger-Robe", + "armorSpecialFall2020RogueText": "Statuenhafte Rüstung", + "weaponSpecialFall2020HealerNotes": "Nun, da Deine Transformation vollkommen ist, wird dieses Überbleibsel aus Deiner Zeit als Puppe als Wünschelrute dienen, mit der Du über Schicksale entscheidest. Erhöht Intelligenz um <%= int %>. Limitierte Ausgabe2020 Herbstausrüstung.", + "weaponSpecialFall2020HealerText": "Kokon Knüppel", + "weaponSpecialFall2020MageText": "Drei Visionen", + "weaponSpecialFall2020WarriorNotes": "Dieses Schwert hat einen starken Krieger ins Leben nach dem Tod begleitet und kehrt nun zurück, um von Dir geführt zu werden! Erhöht Stärke um <%= str %>. Limitierte Ausgabe 2020 Herbstausrüstung.", + "weaponSpecialFall2020WarriorText": "Schwert des Schreckgespenstes", + "weaponSpecialFall2020RogueNotes": "Ersteche Deinen Gegner mit einem scharfen Hieb! Selbst die stärkste Rüstung wird Deinem Dolch nachgeben. Erhöht Stärke um <%= str %>. Limitierte Ausgabe 2020 Herbstausrüstung.", + "weaponSpecialFall2020RogueText": "Scharfer Katar" } diff --git a/website/common/locales/de/limited.json b/website/common/locales/de/limited.json index 1365f76baf..6abca38ae2 100644 --- a/website/common/locales/de/limited.json +++ b/website/common/locales/de/limited.json @@ -180,5 +180,9 @@ "summer2020CrocodileRogueSet": "Krokodil (Schurke)", "summer2020SeaGlassHealerSet": "Meerglas (Heiler)", "summer2020OarfishMageSet": "Riemenfisch (Magier)", - "summer2020RainbowTroutWarriorSet": "Regenbogenforelle (Krieger)" + "summer2020RainbowTroutWarriorSet": "Regenbogenforelle (Krieger)", + "fall2020TwoHeadedRogueSet": "Zweiköpfig (Schurke)", + "fall2020ThirdEyeMageSet": "Drittes Auge (Magier)", + "fall2020DeathsHeadMothHealerSet": "Totenkopfschwärmer (Heiler)", + "fall2020WraithWarriorSet": "Gespenst (Krieger)" } diff --git a/website/common/locales/de/settings.json b/website/common/locales/de/settings.json index 98f1bcb1b5..ffcdf86356 100644 --- a/website/common/locales/de/settings.json +++ b/website/common/locales/de/settings.json @@ -181,5 +181,6 @@ "newPMNotificationTitle": "Neue Nachricht von <%= name %>", "chatExtensionDesc": "Die Chat Erweiterung für Habitica fügt eine intuitive Chatbox für habitica.com hinzu. Sie erlaubt Benutzern, in der Taverne, ihrer Party und all ihren Gilden zu chatten.", "chatExtension": "Chrome Chat Erweiterung und Firefox Chat Erweiterung", - "displaynameIssueNewline": "Anzeigenamen dürfen keinen Backslash gefolgt von einem Buchstaben N enthalten." + "displaynameIssueNewline": "Anzeigenamen dürfen keinen Backslash gefolgt von einem Buchstaben N enthalten.", + "resetAccount": "Konto zurücksetzen" } diff --git a/website/common/locales/de/subscriber.json b/website/common/locales/de/subscriber.json index cbffd9e431..e70eaeedf1 100644 --- a/website/common/locales/de/subscriber.json +++ b/website/common/locales/de/subscriber.json @@ -121,7 +121,7 @@ "choosePaymentMethod": "Wähle Deine Zahlungsmethode", "buyGemsSupportsDevs": "Der Kauf von Edelsteinen unterstützt die Entwickler und hilft Habitica am Laufen zu halten", "support": "HILFE", - "gemBenefitLeadin": "Edelsteine ermöglichen Dir, tolle Extras für Dein Konto zu kaufen, unter anderem:", + "gemBenefitLeadin": "Was kann man mit Edelsteinen kaufen?", "gemBenefit1": "Einzigartige und modische Verkleidungen für Deinen Avatar.", "gemBenefit2": "Hintergründe, die Deinen Avatar in die Welt von Habitica eintauchen lassen!", "gemBenefit3": "Aufregende Questlinien, welche Haustier-Eier zurücklassen.", @@ -174,5 +174,10 @@ "mysterySet202008": "\"Oiliges Orakel\"-Set", "mysterySet202009": "Fantastischer-Falter-Set", "gemsPurchaseNote": "Abonnenten können im Markt Edelsteine mit Gold kaufen! Für schnellen Zugriff kannst Du den Edelstein in Deiner Belohnungsspalte anheften.", - "subscriptionAlreadySubscribedLeadIn": "Danke für's Abonnieren!" + "subscriptionAlreadySubscribedLeadIn": "Danke für's Abonnieren!", + "usuallyGems": "Normalerweise <%= originalGems %>", + "supportHabitica": "Unterstütze Habitica", + "cancelSubInfoApple": "Bitte folge der offiziellen Anleitung von Apple, um Dein Abonnement zu kündigen oder um das Kündigungsdatum zu sehen, wenn Du das Abonnement bereits gekündigt hast. Dieser Bildschirm kann Dir nicht anzeigen, ob Dein Abonnement beendet wurde.", + "cancelSubInfoGoogle": "Bitte gehe zum Abschnitt \"Account\" > \"Abonnements\" im Google Play Store, um Dein Abonnement zu kündigen oder um das Kündigungsdatum zu sehen, wenn Du das Abonnement bereits gekündigt hast. Dieser Bildschirm kann Dir nicht anzeigen, ob Dein Abonnement beendet wurde.", + "organization": "Organisation" } diff --git a/website/common/locales/es_419/gear.json b/website/common/locales/es_419/gear.json index 207fd6c9ef..1af93dd410 100644 --- a/website/common/locales/es_419/gear.json +++ b/website/common/locales/es_419/gear.json @@ -581,61 +581,61 @@ "armorSpecialSpring2017HealerText": "Túnica de Reposo", "armorSpecialSpring2017HealerNotes": "¡La suavidad de esta túnica te reconforta a ti y a cualquiera que necesite tu ayuda curativa! Aumenta la Constitución en <%= con %>. Equipo de Primavera de 2017, Edición Limitada.", "armorSpecialSummer2017RogueText": "Cola de Dragón Marino", - "armorSpecialSummer2017RogueNotes": "¡Esta colorida prenda transforma a su usuario en un verdadero Dragón Marino! Aumenta la Percepción en <%= per %>. Equipo de Edición Limitada de Verano, 2017.", + "armorSpecialSummer2017RogueNotes": "¡Esta colorida prenda transforma a su usuario en un verdadero Dragón Marino! Aumenta la Percepción en <%= per %>. Equipamiento de Edición Limitada de Verano, 2017.", "armorSpecialSummer2017WarriorText": "Armadura arenosa", "armorSpecialSummer2017WarriorNotes": "No te dejes engañar por su exterior quebradizo: esta armadura es más dura que el acero. Aumenta la Constitución en <%= con %>. Equipo de Edición Limitada de Verano, 2017.", "armorSpecialSummer2017MageText": "Túnicas Torbellino", "armorSpecialSummer2017MageNotes": "¡Ten cuidado de que no te salpiquen estas túnicas tejidas con agua encantada! Aumenta la Inteligencia en <%= int %>. Equipo de Edición Limitada Verano, 2017.", - "armorSpecialSummer2017HealerText": "Silversea Tail", - "armorSpecialSummer2017HealerNotes": "This garment of silvery scales transforms its wearer into a real Seahealer! Increases Constitution by <%= con %>. Limited Edition 2017 Summer Gear.", - "armorSpecialFall2017RogueText": "Pumpkin Patch Robes", - "armorSpecialFall2017RogueNotes": "Need to hide out? Crouch among the Jack o' Lanterns and these robes will conceal you! Increases Perception by <%= per %>. Limited Edition 2017 Autumn Gear.", + "armorSpecialSummer2017HealerText": "Cola Marplata", + "armorSpecialSummer2017HealerNotes": "¡Esta prenda de escamas plateadas transforma a su usuario en un verdadero Sanador Marino! Aumenta la Constitución en <%= con %>. Equipo de Edición Limitada de Verano 2017.", + "armorSpecialFall2017RogueText": "Ropajes de Huerto de Calabaza", + "armorSpecialFall2017RogueNotes": "¿Necesitas esconderte? ¡Agáchate ente las Calabazas de Halloween y este ropaje te ocultará! Aumenta la Percepción en <%= per %>. Equipamiento de Otoño de Edición Limitada 2017.", "armorSpecialFall2017WarriorText": "Armadura Fuerte y dulce", - "armorSpecialFall2017WarriorNotes": "This armor will protect you like a delicious candy shell. Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.", - "armorSpecialFall2017MageText": "Masquerade Robes", - "armorSpecialFall2017MageNotes": "What masquerade ensemble would be complete without dramatic and sweeping robes? Increases Intelligence by <%= int %>. Limited Edition 2017 Autumn Gear.", + "armorSpecialFall2017WarriorNotes": "Esta armadura te protegerá como una deliciosa cascara de caramelo. Aumenta la Constitución en <%= con %>. Equipamiento de Otoño de Edición Limitada 2017.", + "armorSpecialFall2017MageText": "Ropaje de Mascarada", + "armorSpecialFall2017MageNotes": "¿Qué grupo de mascarada estaría completo sin ropajes dramáticos y deslumbrantes? Aumenta la Inteligencia en <%= int %>. Equipamiento de Otoño de Edición Limitada 2017.", "armorSpecialFall2017HealerText": "Armadura de Casa Embrujada", - "armorSpecialFall2017HealerNotes": "Your heart is an open door. And your shoulders are roofing tiles! Increases Constitution by <%= con %>. Limited Edition 2017 Autumn Gear.", + "armorSpecialFall2017HealerNotes": "Tu corazón es una puerta abierta. ¡Y tus hombros son tejas! Aumenta la Constitución en <%= con %>. Equipamiento de Otoño de Edición Limitada 2017.", "armorSpecialWinter2018RogueText": "Disfraz de Reno", - "armorSpecialWinter2018RogueNotes": "You look so cute and fuzzy, who could suspect you are after holiday loot? Increases Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.", + "armorSpecialWinter2018RogueNotes": "Te ves tan adorable y suave, ¿quién podría sospechar que vas tras el botín festivo? Aumenta la Percepción en <%= per %>. Equipamiento de Invierno de Edición Limitada, 2017-2018.", "armorSpecialWinter2018WarriorText": "Armadura de Papel para Envolver", - "armorSpecialWinter2018WarriorNotes": "Don't let the papery feel of this armor fool you. It's nearly impossible to rip! Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.", - "armorSpecialWinter2018MageText": "Sparkly Tuxedo", - "armorSpecialWinter2018MageNotes": "The ultimate in magical formalwear. Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.", - "armorSpecialWinter2018HealerText": "Mistletoe Robes", - "armorSpecialWinter2018HealerNotes": "These robes are woven with spells for extra holiday joy. Increases Constitution by <%= con %>. Limited Edition 2017-2018 Winter Gear.", - "armorSpecialSpring2018RogueText": "Feather Suit", - "armorSpecialSpring2018RogueNotes": "This fluffy yellow costume will trick your enemies into thinking you're just a harmless ducky! Increases Perception by <%= per %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSpring2018WarriorText": "Armor of Dawn", - "armorSpecialSpring2018WarriorNotes": "This colorful plate is forged with the sunrise's fire. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSpring2018MageText": "Tulip Robe", - "armorSpecialSpring2018MageNotes": "Your spell casting can only improve while clad in these soft, silky petals. Increases Intelligence by <%= int %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSpring2018HealerText": "Garnet Armor", - "armorSpecialSpring2018HealerNotes": "Let this bright armor infuse your heart with power for healing. Increases Constitution by <%= con %>. Limited Edition 2018 Spring Gear.", - "armorSpecialSummer2018RogueText": "Pocket Fishing Vest", - "armorSpecialSummer2018RogueNotes": "Bobbers? Boxes of hooks? Spare line? Lockpicks? Smoke bombs? Whatever you need on hand for your summer fishing getaway, there's a pocket for it! Increases Perception by <%= per %>. Limited Edition 2018 Summer Gear.", - "armorSpecialSummer2018WarriorText": "Betta Tail Armor", - "armorSpecialSummer2018WarriorNotes": "Dazzle onlookers with whorls of magnificent color as you spin and dart through the water. How could any opponent dare strike at this beauty? Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.", - "armorSpecialSummer2018MageText": "Lionfish Scale Hauberk", - "armorSpecialSummer2018MageNotes": "Venom magic has a reputation for subtlety. Not so this colorful armor, whose message is clear to beast and task alike: watch out! Increases Intelligence by <%= int %>. Limited Edition 2018 Summer Gear.", - "armorSpecialSummer2018HealerText": "Merfolk Monarch Robes", - "armorSpecialSummer2018HealerNotes": "These cerulean vestments reveal that you have land-walking feet... well. Not even a monarch can be expected to be perfect. Increases Constitution by <%= con %>. Limited Edition 2018 Summer Gear.", - "armorSpecialFall2018RogueText": "Alter Ego Frock Coat", - "armorSpecialFall2018RogueNotes": "Style for the day. Comfort and protection for the night. Increases Perception by <%= per %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialFall2018WarriorText": "Minotaur Platemail", - "armorSpecialFall2018WarriorNotes": "Complete with hooves to drum a soothing cadence as you walk your meditative labyrinth. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialFall2018MageText": "Candymancer's Robes", - "armorSpecialFall2018MageNotes": "The fabric of these robes has magic candy woven right in! However, we recommend you not attempt to eat them. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialFall2018HealerText": "Robes of Carnivory", - "armorSpecialFall2018HealerNotes": "It's made from plants, but that doesn't mean it's vegetarian. Bad habits are afraid to come within miles of these robes. Increases Constitution by <%= con %>. Limited Edition 2018 Autumn Gear.", - "armorSpecialWinter2019RogueText": "Poinsettia Armor", - "armorSpecialWinter2019RogueNotes": "With holiday greenery all about, no one will notice an extra shrubbery! You can move through seasonal gatherings with ease and stealth. Increases Perception by <%= per %>. Limited Edition 2018-2019 Winter Gear.", - "armorSpecialWinter2019WarriorText": "Glacial Armor", - "armorSpecialWinter2019WarriorNotes": "In the heat of battle, this armor will keep you ice cool and ready for action. Increases Constitution by <%= con %>. Limited Edition 2018-2019 Winter Gear.", - "armorSpecialWinter2019MageText": "Robes of Burning Inspiration", - "armorSpecialWinter2019MageNotes": "This fireproof garb will help protect you if any of your flashes of brilliance should happen to backfire! Increases Intelligence by <%= int %>. Limited Edition 2018-2019 Winter Gear.", - "armorSpecialWinter2019HealerText": "Midnight Robe", - "armorSpecialWinter2019HealerNotes": "Without darkness, there wouldn't be any light. These dark robes help bring peace and rest to promote healing. Increases Constitution by <%= con %>. Limited Edition 2018-2019 Winter Gear.", + "armorSpecialWinter2018WarriorNotes": "No dejes que la sensación de papel de esta armadura te engañe. ¡Es casi imposible de rasgar! Aumenta la Constitución en <%= con %>. Equipamiento de Invierno de Edición Limitada, 2017-2018.", + "armorSpecialWinter2018MageText": "Esmoquin Brillante", + "armorSpecialWinter2018MageNotes": "Lo último en ropa formal mágica. Aumenta la Inteligencia en <%= int %>. Equipamiento de Invierno de Edición Limitada, 2017-2018.", + "armorSpecialWinter2018HealerText": "Ropaje de Muérdago", + "armorSpecialWinter2018HealerNotes": "Estos ropajes están tejidos con encantamientos para alegrar las fiestas. Aumenta la Constitución en <%= con %>. Equipamiento de Invierno de Edición Limitada, 2017-2018.", + "armorSpecialSpring2018RogueText": "Traje de Plumas", + "armorSpecialSpring2018RogueNotes": "¡Este disfraz amarillo esponjoso engañará a tus enemigos para que crean que eres un patito inofensivo! Aumenta la Percepción en <%= per %>. Equipamiento de Edición Limitada de Primavera, 2018.", + "armorSpecialSpring2018WarriorText": "Armadura del Amanecer", + "armorSpecialSpring2018WarriorNotes": "Esta colorida placa fue forjada con el fuego del amanecer. Aumenta la Constitución en <%= con %>. Equipamiento de Edición Limitada de Primavera, 2018.", + "armorSpecialSpring2018MageText": "Túnica Tulipán", + "armorSpecialSpring2018MageNotes": "Tus hechizos sólo pueden mejorar mientras llevas estos pétalos suaves y sedosos. Aumenta la Inteligencia en <%= int %>. Equipamiento de Edición Limitada de Primavera, 2018.", + "armorSpecialSpring2018HealerText": "Armadura Granate", + "armorSpecialSpring2018HealerNotes": "Deja que esta brillante armadura infunda poder sanador en tu corazón. Aumenta la Constitución en <%= con %>. Equipamiento de Edición Limitada de Primavera, 2018.", + "armorSpecialSummer2018RogueText": "Chaleco de Pesca con Bolsillos", + "armorSpecialSummer2018RogueNotes": "¿Bobinas? ¿Cajas de anzuelos? ¿Sedal de repuesto? ¿Ganzúas? ¿Bombas de humo? Lo que sea que necesites a mano para tu escapada de pesca de verano, ¡hay un bolsillo para ello! Aumenta la Percepción en <%= per %>. Equipamiento de Verano de Edición Limitada, 2018.", + "armorSpecialSummer2018WarriorText": "Armadura de Cola de Beta", + "armorSpecialSummer2018WarriorNotes": "Deslumbra a los espectadores con espirales de magnífico color mientras giras y corres por el agua. ¿Cómo podría un oponente atreverse a atacar esta belleza? Aumenta la Constitución en <%= con %>. Equipo de Edición Limitada de Verano, 2018.", + "armorSpecialSummer2018MageText": "Cota de Malla de Escamas de Pez León", + "armorSpecialSummer2018MageNotes": "La magia venenosa tiene reputación de ser sutil. A diferencia de esta colorida armadura cuyo mensaje queda claro para bestia y tarea: ¡cuidado! Aumenta la Inteligencia en <%= int %>. Equipo de Edición Limitada de Verano, 2018.", + "armorSpecialSummer2018HealerText": "Ropaje de Monarca Sirena", + "armorSpecialSummer2018HealerNotes": "Estas vestiduras cerúleas revelan que tienes pies que caminan por la tierra... bueno. Ni siquiera un monarca puede ser perfecto. Aumenta la Constitución en <%= con %>. Equipo de Edición Limitada de Verano, 2018.", + "armorSpecialFall2018RogueText": "Levita de Alter Ego", + "armorSpecialFall2018RogueNotes": "Estilo para el día. Comodidad y protección para la noche. Aumenta la Percepción en <%= per %>. Equipamiento de Otoño de Edición Limitada, 2018.", + "armorSpecialFall2018WarriorText": "Armadura de Minotauro", + "armorSpecialFall2018WarriorNotes": "Completa con cascos para tamborilear una cadencia suave mientras paseas por tu laberinto meditativo. Aumenta la Constitución en <%= con %>. Equipamiento de Otoño de Edición Limitada, 2018.", + "armorSpecialFall2018MageText": "Túnica de Dulcimante", + "armorSpecialFall2018MageNotes": "¡La tela de esta túnica tiene dulces mágicos tejidos dentro! Aunque te recomendamos que no intentes comerlas. Aumenta la Inteligencia en <%= int %>. Equipamiento de Otoño de Edición Limitada, 2018.", + "armorSpecialFall2018HealerText": "Túnicas de Carnívoro", + "armorSpecialFall2018HealerNotes": "Está hecho de plantas, pero eso no significa que son vegetarianas. Los Malos Hábitos tienen miedo de acercarse a varios kilómetros de estas túnicas. Aumenta la Constitución en <%= con %>. Equipamiento de Otoño de Edición Limitada, 2018.", + "armorSpecialWinter2019RogueText": "Armadura de Poinsetia", + "armorSpecialWinter2019RogueNotes": "¡Con la vegetación navideña por todas partes, nadie va a notar otro arbusto más! Puedes moverte por las reuniones festivas con facilidad y sigilo. Aumenta la Percepción en <%= per %>. Equipamiento de Edición Limitada de Invierno , 2018-2019.", + "armorSpecialWinter2019WarriorText": "Armadura Glacial", + "armorSpecialWinter2019WarriorNotes": "En el calor de la batalla, esta armadura te mantendrá frío como el hielo y listo para la acción. Aumenta la Constitución en <%= con %>. Equipamiento de Invierno de Edición Limitada, 2018-2019.", + "armorSpecialWinter2019MageText": "Túnicas de Inspiración Ardiente", + "armorSpecialWinter2019MageNotes": "¡Esta vestimenta a prueba de fuego te protegerá si cualquiera de tus destellos de brillantez te sale mal! Aumenta la Inteligencia en <%= int %>. Equipamiento de Edición Limitada de Invierno, 2018-2019.", + "armorSpecialWinter2019HealerText": "Ropaje de Medianoche", + "armorSpecialWinter2019HealerNotes": "Sin oscuridad no exisitiría la luz. Estos ropajes oscuros ayudan a traer paz y descanso para promover la curación. Aumenta la Constitución en <%= con %>. Equipamiento de Edición Limitada de Invierno, 2018-2019.", "armorMystery201402Text": "Túnica de Mensajero", "armorMystery201402Notes": "Reluciente y fuerte, esta túnica tiene muchos bolsillos para llevar cartas. No otorga ningún beneficio. Artículo de Suscriptor de Febrero 2014.", "armorMystery201403Text": "Armadura de Caminante del Bosque", @@ -681,7 +681,7 @@ "armorMystery201607Text": "Armadura de Pícaro del Lecho Marino", "armorMystery201607Notes": "Camúflate en el suelo marino con esta discreta armadura acuática. No confiere ningún beneficio. Artículo de subscriptor de Julio de 2016.", "armorMystery201609Text": "Armadura de vaca", - "armorMystery201609Notes": "Fit in with the rest of the herd in this snuggly armor! Confers no benefit. September 2016 Subscriber Item.", + "armorMystery201609Notes": "¡Encaja con el resto del rebaño en esta cómoda armadura! No otorga ningún beneficio. Articulo de Suscriptor de Septiembre 2016.", "armorMystery201610Text": "Armadura espectral", "armorMystery201610Notes": "¡Armadura misteriosa que te hará flotar como un fantasma!\nNo otorga ningún beneficio. Articulo de suscriptor de Octubre 2016.", "armorMystery201612Text": "Armadura de Cascanueces", diff --git a/website/common/locales/fr/settings.json b/website/common/locales/fr/settings.json index 8579f2e486..1701ed2da3 100644 --- a/website/common/locales/fr/settings.json +++ b/website/common/locales/fr/settings.json @@ -181,5 +181,6 @@ "newPMNotificationTitle": "Nouveau message de <%= name %>", "chatExtensionDesc": "L'extension de discussion pour Habitica ajoute une fenêtre de discussion intuitive à tout habitica.com. Cela permet à chacun de discuter dans la taverne, avec son équipe ou dans les guildes.", "chatExtension": "Extension de discussion Chrome and Extension de discussion Firefox", - "displaynameIssueNewline": "Les pseudo ne peuvent pas contenir d'antislashes suivis de la lettre N." + "displaynameIssueNewline": "Les pseudo ne peuvent pas contenir d'antislashes suivis de la lettre N.", + "resetAccount": "Réinitialiser le compte" } diff --git a/website/common/locales/fr/subscriber.json b/website/common/locales/fr/subscriber.json index 56978c5d04..86ca332d03 100644 --- a/website/common/locales/fr/subscriber.json +++ b/website/common/locales/fr/subscriber.json @@ -174,5 +174,9 @@ "mysterySet202008": "Ensemble d'oracle du hibou", "mysterySet202009": "Ensemble de mite merveilleuse", "gemsPurchaseNote": "Avec l'abonnement, vous pouvez acheter les gemmes pour de l'or au marché ! Pour un accès facile, vous pouvez aussi les épingler dans votre colonne Récompenses.", - "subscriptionAlreadySubscribedLeadIn": "Merci pour votre abonnement !" + "subscriptionAlreadySubscribedLeadIn": "Merci pour votre abonnement !", + "supportHabitica": "Soutenir Habitica", + "cancelSubInfoApple": "Veuillez suivre les instructions officielles d'Apple pour annuler votre abonnement, ou voir la date d'expiration de votre abonnement si vous l'avez déjà annulé. Cet écran ne pourra pas vous indiquer si votre abonnement a été annulé.", + "cancelSubInfoGoogle": "Veuillez vous rendre dans la section \"Mes jeux et applications\" > \"Abonnements\" du Play Store Google pour annuler votre abonnement, ou voir la date d'expiration de votre abonnement si vous l'avez déjà annulé. Cet écran ne pourra pas vous indiquer si votre abonnement a été annulé.", + "organization": "Organisation" } diff --git a/website/common/locales/hi/front.json b/website/common/locales/hi/front.json index 5ffc5d5043..7a54effecc 100644 --- a/website/common/locales/hi/front.json +++ b/website/common/locales/hi/front.json @@ -36,5 +36,6 @@ "dreimQuote": "जब में [हाबीतिका] को ढूंढा अंतिम समर में, मैंने सारे परीक्षाओ को फाइल किया. दैलैस के लिए धन्यवाद, में सारे परीक्षाओ अच्छे मार्क्स से को पास किया.", "dragonsilverQuote": "मैं आपको बता नहीं सकता कि मैंने दशकों में कितने समय और कार्य ट्रैकिंग सिस्टम की कोशिश की है ... [habitica] केवल एक चीज है जिसका मैंने उपयोग किया है जो वास्तव में चीजों को सिर्फ सूची में लाने के बजाय मुझे काम करने में मदद करता है।", "communityExtensions": "Add-ons & Extensions", - "communityForum": "" + "communityForum": "Forum", + "elmiQuote": "हर सुबह मैं उठने की आशा कर रहा हूँ ताकि मैं कुछ सोना कमा सकूँ!" } diff --git a/website/common/locales/hu/achievements.json b/website/common/locales/hu/achievements.json index aad32b9519..803b456374 100644 --- a/website/common/locales/hu/achievements.json +++ b/website/common/locales/hu/achievements.json @@ -15,7 +15,7 @@ "achievementLostMasterclasserModalText": "Mind a tizenhat küldetést a Kasztmester sorozatban teljesítette, és feltárta az Elveszett Kasztmester rejtélyét!", "hideAchievements": "<%= category %> elrejtése", "showAllAchievements": "Minden <%= category %> megtekintése", - "onboardingCompleteDesc": "5 Teljesítményt és 100 Aranyat szerztél a lista befejezéséért.", + "onboardingCompleteDesc": "5 Teljesítményt és 100 Aranyat szerztél a lista befejezéséért.", "earnedAchievement": "Teljesítményt szerzett!", "viewAchievements": "Teljesítmények megtekintése", "letsGetStarted": "Kezdjük el!", diff --git a/website/common/locales/it/gear.json b/website/common/locales/it/gear.json index 430ec6ad95..8a5358b38d 100644 --- a/website/common/locales/it/gear.json +++ b/website/common/locales/it/gear.json @@ -2171,5 +2171,35 @@ "armorArmoireGuardiansGownNotes": "Un delizioso abito rustico, con cuciture sorprendentemente robuste! Aumenta l'intelligenza di <%= int %>. Scrigno Incantato: set Protettrice del Pascolo (oggetto 3 di 3).", "armorArmoireGuardiansGownText": "Abito da Pastorella", "weaponArmoireGuardiansCrookText": "Vincastro da Pastore", - "headArmoireGuardiansBonnetText": "Cuffietta da pastorella" + "headArmoireGuardiansBonnetText": "Cuffietta da pastorella", + "weaponSpecialFall2020HealerText": "Bastone Bozzolo", + "shieldSpecialFall2020HealerNotes": "Stai portando un'altra falena ancora in fase di metamorfosi? O semplicemente una borsa di seta, contenente i tuoi strumenti di guarigione e predizione? Aumenta la costituzione di <%= con %>. Edizione limitata autunno 2020.", + "shieldSpecialFall2020HealerText": "Borsa Bozzolo", + "shieldSpecialFall2020WarriorNotes": "Può sembrare inconsistente, ma questo scudo spettrale può proteggerti da ogni tipo di danno. Aumenta la costituzione di <%= con %>. Edizione limitata autunno 2020.", + "shieldSpecialFall2020WarriorText": "Scudo dello Spirito", + "shieldSpecialFall2020RogueNotes": "Brandendo un katara, faresti meglio ad essere veloce... Questa lama ti servirà bene se colpirai velocemente, ma non impegnarti troppo! Aumenta la forza di <%= str %>. Edizione limitata autunno 2020.", + "shieldSpecialFall2020RogueText": "Katara Repentina", + "headSpecialFall2020HealerNotes": "Il terribile pallore di questo volto simile a un teschio brilla come un avvertimento per tutti i mortali: il tempo scorre! Rispetta le tue scadenze, prima che sia troppo tardi! Aumenta l'intelligenza di <%= int %>. Edizione limitata autunno 2020.", + "headSpecialFall2020HealerText": "Maschera Testa di Morto", + "headSpecialFall2020MageNotes": "Con questo cappello posizionato perfettamente sulla tua fronte, il tuo terzo occhio si aprirà, permettendoti di concentrarti su ciò che è altrimenti invisibile: flussi di mana, spiriti irrequieti e cose da fare dimenticate. Aumenta la percezione di <%= per %>. Edizione limitata autunno 2020.", + "headSpecialFall2020MageText": "Chiarezza Risvegliata", + "headSpecialFall2020WarriorNotes": "Il Guerriero che una volta lo indossava non si è mai tirato indietro dai compiti più duri! Ma altri potrebbero sussultare quando lo indossi... Aumenta la forza di <%= str %>. Edizione limitata autunno 2020.", + "headSpecialFall2020WarriorText": "Cappuccio Raccapricciante", + "headSpecialFall2020RogueNotes": "Guarda due volte, agisci una volta sola: con questa maschera sarà tutto più semplice. Aumenta la percezione di <%= per %>. Edizione limitata autunno 2020.", + "headSpecialFall2020RogueText": "Maschera di Pietra a due Teste", + "armorSpecialFall2020HealerNotes": "Il tuo splendore si dispiega nella notte e coloro che ti vedranno volare si chiederanno quale presagio porti.", + "armorSpecialFall2020HealerText": "Ali della Sfinge Testa di Morto", + "armorSpecialFall2020MageNotes": "Queste vesti alate danno l'impressione di librarsi o di volare, a simboleggiare la prospettiva lungimirante concessa dalla vasta conoscenza. Aumenta l'intelligenza di <%= int %>. Edizione limitata autunno 2020.", + "armorSpecialFall2020MageText": "Oltre l'Illuminazione", + "armorSpecialFall2020WarriorNotes": "Queste vesti una volta proteggevano dal male un potente Guerriero. Dicono che lo spirito del Guerriero risieda nella stoffa per proteggerne il degno successore. Aumenta la costituzione di <%= con %>. Edizione limitata autunno 2020.", + "armorSpecialFall2020WarriorText": "Veste del Redivivo", + "armorSpecialFall2020RogueNotes": "Appropriati della forza della pietra con questa armatura, garantita per respingere gli attacchi più feroci. Aumenta la percezione di <%= per %>. Edizione limitata autunno 2020.", + "armorSpecialFall2020RogueText": "Armatura Statuaria", + "weaponSpecialFall2020HealerNotes": "Ora che la tua trasformazione è completa potrai utilizzare questo residuo della tua vita da pupa come bacchetta da rabdomante per pesare il destino. Aumenta l'intelligenza di <%= int %>. Edizione limitata autunno 2020.", + "weaponSpecialFall2020MageNotes": "Se qualcosa sfugge alla tua vista da mago, i cristalli brillanti in cima a questo bastone illumineranno ciò che hai trascurato. Aumenta l'intelligenza di <%= int %> e la percezione di <%= per %>. Edizione limitata autunno 2020.", + "weaponSpecialFall2020MageText": "Tre Visioni", + "weaponSpecialFall2020WarriorNotes": "Questa spada è stata nell'aldilà con un potente guerriero ed ora è tornata per essere impugnata da te! Aumenta la forza di <%= str %>. Edizione limitata autunno 2020.", + "weaponSpecialFall2020WarriorText": "Spada Spettrale", + "weaponSpecialFall2020RogueNotes": "Trafiggi il tuo nemico con un colpo netto! Anche l'armatura più resistente cadrà sotto la tua lama. Aumenta la forza di <%= str %>. Edizione limitata autunno 2020.", + "weaponSpecialFall2020RogueText": "Katara Affilata" } diff --git a/website/common/locales/it/limited.json b/website/common/locales/it/limited.json index 2a1a5800d2..3a9a2d5afc 100644 --- a/website/common/locales/it/limited.json +++ b/website/common/locales/it/limited.json @@ -179,5 +179,9 @@ "spring2019CloudRogueSet": "Nuvola (Ladro)", "spring2019RobinHealerSet": "Pettirosso (Guaritore)", "spring2019AmberMageSet": "Ambra (Mago)", - "spring2019OrchidWarriorSet": "Orchidea (Guerriero)" + "spring2019OrchidWarriorSet": "Orchidea (Guerriero)", + "fall2020TwoHeadedRogueSet": "Due Teste (Ladro)", + "fall2020ThirdEyeMageSet": "Terzo Occhio (Mago)", + "fall2020DeathsHeadMothHealerSet": "Sfinge Testa di Morto (Guaritore)", + "fall2020WraithWarriorSet": "Spettro (Guerriero)" } diff --git a/website/common/locales/it/settings.json b/website/common/locales/it/settings.json index 3176b44d60..ea168c0098 100644 --- a/website/common/locales/it/settings.json +++ b/website/common/locales/it/settings.json @@ -181,5 +181,6 @@ "newPMNotificationTitle": "Nuovo Messaggio da <%= name %>", "chatExtensionDesc": "L'estensione di chat per Habitica aggiunge una finestra di chat intuitiva a habitica.com. Consente agli utenti di chattare nella Taverna, nella loro squadra e in qualsiasi gilda in cui si trovano.", "chatExtension": "Estensione Chat per Chrome and Estensione Chat per Firefox", - "displaynameIssueNewline": "I nomi pubblici non possono contenere barre rovesciate seguite dalla lettera N." + "displaynameIssueNewline": "I nomi pubblici non possono contenere barre rovesciate seguite dalla lettera N.", + "resetAccount": "Reimposta account" } diff --git a/website/common/locales/it/subscriber.json b/website/common/locales/it/subscriber.json index f5726fa5e6..ce45f249a5 100644 --- a/website/common/locales/it/subscriber.json +++ b/website/common/locales/it/subscriber.json @@ -121,7 +121,7 @@ "choosePaymentMethod": "Scegli il metodo di pagamento", "buyGemsSupportsDevs": "Comprare Gemme supporta gli sviluppatori e aiuta Habitica a continuare a funzionare", "support": "SUPPORTA", - "gemBenefitLeadin": "Le gemme ti permettono di comprare simpatici extra per il tuo account, tra cui:", + "gemBenefitLeadin": "Cosa puoi comprare con le Gemme?", "gemBenefit1": "Costumi unici e alla moda per il tuo avatar.", "gemBenefit2": "Sfondi per immergere il tuo avatar nel mondi di Habitica!", "gemBenefit3": "Entusiasmanti Missioni che hanno come ricompensa uova di animali.", @@ -136,7 +136,7 @@ "notEnoughGemsToBuy": "Non puoi comprare quella quantità di Gemme", "subWillBecomeInactive": "Diventerà inattivo", "confirmCancelSub": "Sei sicuro di voler cancellare il tuo abbonamento? Perderai tutti i tuoi benefici.", - "mysticHourglassNeededNoSub": "Questo articolo ha bisogno di una Clessidra Mistica. Tu ne ottieni una essendo un abbonato/un' abbonata di Habitica.", + "mysticHourglassNeededNoSub": "Questo articolo ha bisogno di una Clessidra Mistica. Ne otterrai sottoscrivendo un abbonamento ad Habitica.", "giftASubscription": "Regala un Abbonamento", "viewSubscriptions": "Guarda Abbonamenti", "subscribersReceiveBenefits": "Gli abbonati riceveranno questi utili vantaggi!", @@ -172,5 +172,10 @@ "mysterySet202007": "Set Orca Eccezionale", "mysterySet202006": "Set Tritone Multicromatico", "mysterySet202008": "Set Gufo Oracolo", - "mysterySet202009": "Set della Fantastica Falena" + "mysterySet202009": "Set della Fantastica Falena", + "usuallyGems": "Normalmente <%= originalGems %>", + "supportHabitica": "Sostieni Habitica", + "cancelSubInfoApple": "Segui le istruzioni ufficiali di Apple per annullare l'abbonamento o per vedere la data di scadenza dell'abbonamento se l'hai già annullato. Questa schermata non è in grado di mostrarti se il tuo abbonamento è stato annullato.", + "cancelSubInfoGoogle": "Vai nella sezione \"Account\"> \"Abbonamenti\" dell'app Google Play Store per annullare l'abbonamento o per vedere la data di scadenza dell'abbonamento se l'hai già annullato. Questa schermata non è in grado di mostrarti se il tuo abbonamento è stato annullato.", + "organization": "Organizzazione" } diff --git a/website/common/locales/ja/groups.json b/website/common/locales/ja/groups.json index 036a0e63ee..cf7e4be14a 100644 --- a/website/common/locales/ja/groups.json +++ b/website/common/locales/ja/groups.json @@ -43,7 +43,7 @@ "errorNotInParty": "パーティーに参加していません", "noPartyText": "パーティーに参加していないか、パーティーの読み込みに時間がかかっています。あなたは新しいパーティを作成して仲間を招待することもできます。既存のパーティーに参加したい場合は、以下にあるあなたのユニークユーザーIDを相手に入力してもらったのち、ここに戻って来て招待状が届くのを待つとよいでしょう:", "LFG": "新しく作ったパーティーを宣伝するときや、参加できるパーティーを探すときは、 <%= linkStart %> パーティ求む (グループを探す)<%= linkEnd %>ギルドへ行きましょう。", - "wantExistingParty": "既存のパーティーに参加したいですか? <%= linkStart %>Party Wantedギルド【英語】<%= linkEnd %>もしくはパーティー募集専用掲示板【日本語】に行って、このユーザーIDを投稿してみましょう:", + "wantExistingParty": "既存のパーティーに参加したいですか? <%= linkStart %>Party Wanted [英語] <%= linkEnd %>ギルド、もしくはパーティー募集 [日本語] ギルドに行って、このユーザーIDを投稿してみましょう:", "joinExistingParty": "誰かのパーティーに参加する", "usernameCopied": "ユーザー名をクリップボードにコピーしました。", "needPartyToStartQuest": "おっと! クエストをはじめるにはパーティーに所属するか、新しいパーティーを作成する必要があります!", @@ -416,7 +416,7 @@ "startYourOwnPartyTitle": "自分のパーティーを作る", "startYourOwnPartyDescription": "一人でモンスターと戦うか、好きなだけたくさんの友達を招待して戦おう!", "wantToJoinPartyTitle": "パーティーに参加したいですか?", - "wantToJoinPartyDescription": "すでにパーティーを持っている友達にあなたのユーザー名を知らせるか、Party Wantedギルド【英語】もしくはパーティー募集専用掲示板【日本語】に行って未来の仲間に出会いましょう!", + "wantToJoinPartyDescription": "すでにパーティーを持っている友達にあなたのユーザー名を知らせるか、Party Wanted [英語] ギルド、もしくはパーティー募集 [日本語] ギルドに行って、未来の仲間に出会いましょう!", "copy": "コピー", "inviteToPartyOrQuest": "パーティーをクエストに招待する", "inviteInformation": "「招待」をクリックするとパーティーのメンバーに招待状を出します。すべてのメンバーが了解するか拒否するかすると、クエストがはじまります。", diff --git a/website/common/locales/nb_NO/front.json b/website/common/locales/nb_NO/front.json index e1a960415e..884551c391 100644 --- a/website/common/locales/nb_NO/front.json +++ b/website/common/locales/nb_NO/front.json @@ -7,5 +7,5 @@ "businessText": "Bruk Habitica i din bedrift", "autumnesquirrelQuote": "Jeg utsetter mindre arbeid og husarbeid, og betaler regningene mine i tide.", "accept2Terms": "og", - "FAQ": "OSS" + "FAQ": "FAQ" } diff --git a/website/common/locales/nb_NO/pets.json b/website/common/locales/nb_NO/pets.json index c1d3737fee..e800133103 100644 --- a/website/common/locales/nb_NO/pets.json +++ b/website/common/locales/nb_NO/pets.json @@ -9,5 +9,140 @@ "mountsTamed": "Ridedyr Temmet", "noActiveMount": "Ingen aktive Ridedyr", "activeMount": "Aktivt Ridedyr", - "mounts": "Ridedyr" + "mounts": "Ridedyr", + "inventoryText": "Klikk på et egg for å se brukbare eliksirer uthevet i grønt, og klikk deretter en av de uthevede eliksirene for å klekke kjæledyret ditt. Hvis ingen eliksirer er uthevet, klikker du på det samme egget igjen for å fjerne selekteringen, og i stedet klikker du først på en eliksir for å få frem de brukbare eggene. Du kan også selge uønskede slipper til Kjøpmann Alexander.", + "noHatchingPotions": "Du har ingen klekke-eliksirer.", + "hatchingPotion": "klekke-eliksir", + "magicHatchingPotions": "Magiske Klekke-Eliksirer", + "hatchingPotions": "Klekke-Eliksirer", + "noEggs": "Du har ingen egg.", + "eggSingular": "egg", + "eggs": "Egg", + "egg": "<%= eggType %> Egg", + "potion": "<%= potionType %> Eliksir", + "rarePetPop2": "Hvordan få dette kjæledyret!", + "rarePetPop1": "Klikk på gullpoten for å lære mer om hvordan du kan få dette sjeldne kjæledyret ved å bidra til Habitica!", + "gryphatrice": "Gryphatrice", + "invisibleAether": "Usynlig Aither", + "royalPurpleJackalope": "Kongelig Lilla Jackalope", + "hopefulHippogriffMount": "Håpefull Hippogriff", + "hopefulHippogriffPet": "Håpefull Hippogriff", + "magicalBee": "Magisk Bie", + "phoenix": "Fønix", + "royalPurpleGryphon": "Kongelig Lilla Griffin", + "orca": "Spekkhogger", + "mammoth": "Ullet Mammut", + "mantisShrimp": "Sjøknelere", + "hydra": "Hydra", + "cerberusPup": "Kerberos-valp", + "veteranFox": "Veteranrev", + "veteranBear": "Veteranbjørn", + "veteranLion": "Veteranløve", + "veteranTiger": "Veterantiger", + "veteranWolf": "Veteranulv", + "etherealLion": "Eterisk Løve", + "magicMounts": "Magisk Eliksir Ridedyr", + "questMounts": "Ridedyr fra Oppdrag", + "wackyPets": "Sprø Kjæledyr", + "questPets": "Kjæledyr fra Oppdrag", + "magicPets": "Magisk Eliksir Kjæledyr", + "foodTitle": "Kjæledyrmat", + "hatch": "Klekk!", + "gemsEach": "juveler vær", + "mountsAndPetsReleased": "Ridedyr og kjæledyr sluppet løs", + "petsReleased": "Kjæledyr sluppet løs.", + "mountsReleased": "Ridedyr sluppet løs", + "petLikeToEatText": "Kjæledyr vil vokse uansett hva du fôrer dem med, men de vil vokse raskere hvis du gir dem den Kjæledyrmaten som de liker best. Prøv deg frem for å finne ut mønsteret, eller se svarene her:
http://habitica.fandom.com/wiki/Food_Preferences", + "welcomeStableText": "Velkommen til Stallen! Jeg er Matt, dyretemmeren. Hver gang du fullfører en oppgave vil du ha en tilfeldig sjanse til å slippe et Egg eller en Klekke-Eliksir for å klekke ut Kjæledyr. Når du klekker ut et Kjæledyr, vil det dukke opp her! Klikk på bildet til et Kjæledyr for å legge den til din Avatar. Fôr dem med Kjæledyrmat som du finner og de vil vokse til hardføre Ridedyr.", + "petKeyInfo4": "Det er tre nøkler til Kennelen: Slipp løs kun Kjæledyr (4 Juveler), bare frigjør Ridedyr (4 Juveler) eller frigjør både Kjæledyr og Ridedyr. Ved å bruke en Nøkkel kan du stable Dyretemmer og Ridetemmer-prestasjonene. Triadebingo-prestasjonen vil bare stables hvis du bruker \"Slipp både Kjæledyr og Ridedyr\" -nøkkelen og har samlet alle 90 kjæledyr en gang til. Vis verden hvor mye en samlingsmester du er! Men velg med omhu, for når du bruker en Nøkkel og åpner kennelen eller stalldørene, vil du ikke kunne få dem tilbake uten å samle dem alle igjen...", + "petKeyInfo3": "Det er tre nøkler til Kennelen: Slipp løs kun Kjæledyr (4 Juveler), bare frigjør Ridedyr (4 Juveler) eller frigjør både Kjæledyr og Ridedyr (6 Juveler). Ved å bruke en Nøkkel kan du stable Dyretemmer og Ridetemmer-prestasjonene. Triadebingo-prestasjonen vil bare stables hvis du bruker \"Slipp både Kjæledyr og Ridedyr\" -nøkkelen og har samlet alle 90 kjæledyr en gang til. Vis verden hvor mye en samlingsmester du er! Men velg med omhu, for når du bruker en Nøkkel og åpner kennelen eller stalldørene, vil du ikke kunne få dem tilbake uten å samle dem alle igjen...", + "invalidAmount": "Ugyldig mengde fôr, må være et positivt heltall", + "tooMuchFood": "Du prøver å gi kjæledyret ditt for mye fôr, handling avbrutt", + "notEnoughFood": "Du har ikke nok fôr", + "notEnoughPetsMounts": "Du har ikke samlet nok kjæledyr og ridedyr", + "notEnoughMounts": "Du har ikke samlet nok ridedyr", + "notEnoughPets": "Du har ikke samlet nok kjæledyr", + "clickOnPotionToHatch": "Klikk på en klekke eliksir for å bruke den på <% = eggName %> og klekk ut et nytt kjæledyr!", + "hatchDialogText": "Hell din <% = potionName %> klekke-eliksir på <% = eggName %> egget ditt, og det vil klekke ut til et <% = petNam e%>.", + "clickOnEggToHatch": "Klikk på et Egg for å bruke din <% = potionName % > klekke-eliksir og klekk ut et nytt kjæledyr!", + "dragThisPotion": "Dra denne <% = potionName %> til et Egg og klekk ut et nytt kjæledyr!", + "clickOnPetToFeed": "Klikk på et Kjæledyr for å fôre <% = foodName% > og se det vokse!", + "dragThisFood": "Dra denne <% = foodName %> til et Kjæledyr og se det vokse!", + "sortByHatchable": "Klekkbar", + "sortByColor": "Farge", + "standard": "Standard", + "filterByWacky": "Rar", + "filterByQuest": "Oppdrag", + "filterByMagicPotion": "Magisk Eliksir", + "filterByStandard": "Standard", + "petLikeToEat": "Hva liker kjæledyret mitt å spise?", + "welcomeStable": "Velkommen til Stallen!", + "foodWikiUrl": "http://habitica.fandom.com/wiki/Food_Preferences", + "foodWikiText": "Hva liker kjæledyret mitt å spise?", + "petKeyNeverMind": "Ikke Enda", + "confirmPetKey": "Er du sikker?", + "petKeyBoth": "Slipp løs Begge", + "petKeyMounts": "Slipp løs Mine Ridedyr", + "petKeyPets": "Slipp løs Mine Kjæledyr", + "petKeyInfo2": "Bruk Nøkkelen til Kennelen for å nullstille dine oppsamlede kjæledyr og/eller ridedyr, som ikke er oppdrag. (Kjæledyr og Ridedyr fra Oppdrag og sjeldne Kjæledyr og Ridedyr påvirkes ikke.)", + "petKeyInfo": "Savner du spenningen ved å samle kjæledyr? Nå kan du la dem gå, og la disse slippene være meningsfulle igjen!", + "petKeyBegin": "Nøkkelen til Kennelen: Opplev <% = title %> Nok en gang!", + "petKeyPop": "La kjæledyrene dine vandre fritt, slipp dem løs for å starte sitt eget eventyr, og gi deg selv spenningen til Dyretemmeren igjen!", + "petKeyName": "Nøkkel til Kennelen", + "releaseBothSuccess": "Dine standard Kjæledyr og Ridedyr er sluppet løs!", + "releaseBothConfirm": "Er du sikker på at du vil frigjøre dine standard Kjæledyr og Ridedyr?", + "releaseMountsSuccess": "Dine standard Ridedyr er sluppet løs!", + "releaseMountsConfirm": "Er du sikker på at du vil frigjøre dine standard Ridedyr?", + "releasePetsSuccess": "Dine standard Kjæledyr er sluppet løs!", + "releasePetsConfirm": "Er du sikker på at du vil slippe løs dine standard Kjæledyr?", + "keyToBothDesc": "Slipp løs alle vanlige Kjæledyr og Ridedyr slik at du kan samle inn dem på nytt. (Kjæledyr/Ridedyr fra Oppdrag, og sjeldne Kjæledyr/Ridedyr påvirkes ikke.)", + "keyToBoth": "Hovednøkkelen til Kennelen", + "keyToMountsDesc": "Slipp løs alle standard Ridedyr slik at du kan samle dem inn på nytt. (Ridedyr fra oppdrag og sjeldne Ridedyr blir ikke berørt.)", + "keyToMounts": "Nøkkel til Ridedyrkennelen", + "keyToPetsDesc": "Slipp løs alle vanlige Kjæledyr slik at du kan samle dem inn på nytt. (Kjæledyr fra Oppdrag og sjeldne Kjæledyr blir ikke berørt.)", + "keyToPets": "Nøkkelen til Kjæledyrkennelen", + "mountName": "<%= potion(locale) %> <%= mount(locale) %>", + "petName": "<%= potion(locale) %> <%= egg(locale) %>", + "rideLater": "Ri Senere", + "rideNow": "Ri Nå", + "earnedSteed": "Ved å fullføre oppgavene dine har du tjent en trofast traver!", + "raisedPet": "Du vokste opp din <% = pet %>!", + "feedPet": "Fôr <%= text %> til din <%= name %>?", + "earnedCompanion": "Med all produktiviteten din har du fått en ny følgesvenn. Fôr den for å få den til å vokse!", + "mountNotOwned": "Du eier ikke dette ridedyret.", + "petNotOwned": "Du eier ikke dette kjæledyret.", + "displayLater": "Vis Senere", + "displayNow": "Vis Nå", + "hatchedPetHowToUse": "Besøk [Stallen](<%= stableUrl %>) for å fôre det nyeste kjæledyret ditt, og kanskje ta det med deg!", + "hatchedPetGeneric": "Du klekket et nytt kjæledyr!", + "hatchedPet": "Du klekket en ny <%= potion %> <%= egg %>!", + "hatchAPot": "Klekk en ny <%= potion %> <%= egg %>?", + "useGems": "Hvis du har et øye på et kjæledyr, men ikke kan vente lenger til den slipper, kan du bruke Juveler i Eiendeler > Marked for å kjøpe en!", + "itemDrop": "En gjenstand har sluppet!", + "triadBingoAchievement": "Du har oppnådd \"Triadebingo\" -prestasjonen for å finne alle kjæledyrene, temme alle ridedyrene og finne alle kjæledyrene igjen!", + "triadBingoText2": " og har frigjort en full stall totalt <% = count %> gang(er)", + "triadBingoText": "Har funnet alle 90 kjæledyr, alle 90 ridedyr, og funnet alle 90 kjæledyr IGJEN (HVORDAN KLARTE DU DET!)", + "triadBingoName": "Triadebingo", + "beastMountMasterName": "Dyretemmer og Ridetemmer", + "mountMasterText2": " og har frigjort alle 90 av ridedyrene sine totalt <% = count %> gang(er)", + "mountMasterText": "Har temmet alle 90 ridedyrene (enda vanskeligere, gratuler denne brukeren!)", + "mountMasterName": "Ridedyrtemmer", + "mountAchievement": "Du har oppnådd \"Ridedyrtemmer\" -prestasjonen for å ha temmet alle ridedyrene!", + "stableMountMasterProgress": "Ridedyrtemmer-fremgang: <%= number %> Ridedyr Temmet", + "mountMasterProgress": "Ridedyrtemmer-fremgang", + "beastMasterText2": " og har frigjort kjæledyrene sine totalt <% = count %> gang(er)", + "beastMasterText": "Har funnet alle de 90 kjæledyrene (utrolig vanskelig, gratuler denne brukeren!)", + "beastAchievement": "Du har tjent \"Dyretemmer\" -prestasjonen for å ha samlet alle kjæledyrene!", + "stableBeastMasterProgress": "Dyretemmerfremgang: <%= number %> Kjæledyr Funnet", + "beastMasterProgress": "Dyretemmerfremgang", + "beastMasterName": "Dyretemmer", + "premiumPotionNoDropExplanation": "Magiske Klekke-Eliksirer kan ikke brukes på egg som er mottatt fra Oppdrag. Den eneste måten å få Magiske Klekke-Eliksirer på er å kjøpe dem nedenfor, ikke fra tilfeldige slipp.", + "dropsExplanationEggs": "Bruk Juveler for å få egg raskere, hvis du ikke vil vente på standard egg slipper, eller å gjenta Oppdrag for å tjene Oppdragsegg. Lær mer om slipp-systemet.", + "dropsExplanation": "Få disse elementene raskere med Juveler hvis du ikke vil vente på at de skal slippe når du fullfører en oppgave. Lær mer om slipp-systemet.", + "noFoodAvailable": "Du har ingen Kjæledyrmat.", + "food": "Kjæledyrmat og Sadler", + "noSaddlesAvailable": "Du har ingen Sadler.", + "useSaddle": "Sadle <%= pet %>?", + "quickInventory": "Hurtiglager", + "haveHatchablePet": "Du har en <%= potion %> klekke-eliksir og et <%= egg %> egg til å klekke dette kjæledyret! Klikk for å klekke!" } diff --git a/website/common/locales/nl/gear.json b/website/common/locales/nl/gear.json index 3f0144af8a..34f525c948 100644 --- a/website/common/locales/nl/gear.json +++ b/website/common/locales/nl/gear.json @@ -749,31 +749,31 @@ "armorArmoireStripedSwimsuitText": "Gestreept Zwempak", "armorArmoireStripedSwimsuitNotes": "Wat is er nou leuker dan tegen zeemonsters vechten op het strand? Verhoogt Weerbaarheid met <%= con %>. Betoverd kabinet: Zeekustset (Voorwerp 2 van 3).", "armorArmoireCannoneerRagsText": "Kanonnier vodden", - "armorArmoireCannoneerRagsNotes": "Deze vodden zijn sterker dan ze lijken. Verhoogt lichaam met <%= con %>. Betoverd kabinet: Kanonnier set (Voorwerp 2 van 3).", + "armorArmoireCannoneerRagsNotes": "Deze vodden zijn sterker dan ze lijken. Verhoogt Weerbaarheid met <%= con %>. Betoverd kabinet: Kanonnier set (Voorwerp 2 van 3).", "armorArmoireFalconerArmorText": "Valkeniersharnas", - "armorArmoireFalconerArmorNotes": "Hou klauwaanvallen weg met dit stevige harnas! Verhoogt lichaam met <%= con %>. Betoverd kabinet: Valkenier set (Voorwerp 1 van 3).", + "armorArmoireFalconerArmorNotes": "Hou klauwaanvallen weg met dit stevige harnas! Verhoogt Weerbaarheid met <%= con %>. Betoverd kabinet: Valkenier set (Voorwerp 1 van 3).", "armorArmoireVermilionArcherArmorText": "Vermiljoene boogschuttersharnas", "armorArmoireVermilionArcherArmorNotes": "Dit harnas is gemaakt van een speciaal betoverd rood metaal voor maximale bescherming, minimale begrenzing en maximale flair! Verhoogt perceptie met <%= per %>. Betoverd kabinet: Vermiljoene boogschuttersset (Voorwerp 2 van 3).", "armorArmoireOgreArmorText": "Ogerharnas", - "armorArmoireOgreArmorNotes": "Dit harnas imiteert een ogers harde huid, maar is met schaapsvacht afgewerkt voor menselijk comfort. Verhoogt lichaam met <%= con %>. Betoverd kabinet: Ogeroutfit (Voorwerp 3 van 3).", + "armorArmoireOgreArmorNotes": "Dit harnas imiteert een ogers harde huid, maar is met schaapsvacht afgewerkt voor menselijk comfort. Verhoogt Weerbaarheid met <%= con %>. Betoverd kabinet: Ogeroutfit (Voorwerp 3 van 3).", "armorArmoireIronBlueArcherArmorText": "Ijzeren blauw boogschuttersharnas", "armorArmoireIronBlueArcherArmorNotes": "Dit harnas beschermt je tegen vliegende pijlen op het slagveld! Verhoogt kracht met <%= str %>. Betoverd kabinet: Ijzeren boogschuttersset (voorwerp 2 van 3).", "armorArmoireRedPartyDressText": "Rode feestjurk", - "armorArmoireRedPartyDressNotes": "Je bent sterk, stoer, slim en zo modieus! Verhoogt kracht, lichaam en intelligentie, elk met <%= attrs %>. Betoverd kabinet: Rode haarbandset (voorwerp 2 van 2).", + "armorArmoireRedPartyDressNotes": "Je bent sterk, stoer, slim en zo modieus! Verhoogt Kracht, Weerbaarheid en Intelligentie, elk met <%= attrs %>. Betoverd kabinet: Rode haarbandset (voorwerp 2 van 2).", "armorArmoireWoodElfArmorText": "Boselfharnas", "armorArmoireWoodElfArmorNotes": "This armor of bark and leaves will serve as durable camouflage in the forest. Increases Perception by <%= per %>. Enchanted Armoire: Wood Elf Set.", "armorArmoireRamFleeceRobesText": "Ramsvacht Gewaden", - "armorArmoireRamFleeceRobesNotes": "Deze mantel houdt je zelfs warm tijdens de zwaarste sneeuwstorm. Verhoogt Lichaam met <%= con %> en Kracht met<%= str %>. Betoverd Kabinet: Barbaarse Ram Set (voorwerp 2 of 3).", + "armorArmoireRamFleeceRobesNotes": "Deze mantel houdt je zelfs warm tijdens de zwaarste sneeuwstorm. Verhoogt Weerbaarheid met <%= con %> en Kracht met<%= str %>. Betoverd Kabinet: Barbaarse Ram Set (voorwerp 2 of 3).", "armorArmoireGownOfHeartsText": "Hartenjurk", - "armorArmoireGownOfHeartsNotes": "Deze jurk heeft alle franjes! Maar da's niet alles, het verhoogt ook de kracht van je hart. Verhoogt lichaam met <%= con %>. Betoverd kabinet: Harten koningin set (voorwerp 2 van 3).", + "armorArmoireGownOfHeartsNotes": "Deze jurk heeft alle franjes! Maar da's niet alles, het verhoogt ook de kracht van je hart. Verhoogt Weerbaarheid met <%= con %>. Betoverd kabinet: Harten koningin set (voorwerp 2 van 3).", "armorArmoireMushroomDruidArmorText": "Paddenstoel druïde harnas", - "armorArmoireMushroomDruidArmorNotes": "Dit bosrijk bruine harnas, gevuld met kleine paddenstoelen, zal je helpen bij het horen van het bos leven. Verhoogt lichaam met <%= con %> en perceptie met <%= per %>. Betoverd kabinet: Paddenstoel druïde set (voorwerp 2 van 3).", + "armorArmoireMushroomDruidArmorNotes": "Dit bosrijk bruine harnas, gevuld met kleine paddenstoelen, zal je helpen bij het horen van het bos leven. Verhoogt Weerbaarheid met <%= con %> en perceptie met <%= per %>. Betoverd kabinet: Paddenstoel druïde set (voorwerp 2 van 3).", "armorArmoireGreenFestivalYukataText": "Groene festivalyukata", - "armorArmoireGreenFestivalYukataNotes": "Deze fijne lichte yukata houd je koel terwijl je van eender welk feest geniet. Verhoogt lichaam en perceptie elk met <%= attrs %>. Betoverd kabinet: Festival kledij set (Voorwerp 1 van 3).", + "armorArmoireGreenFestivalYukataNotes": "Deze fijne lichte yukata houd je koel terwijl je van eender welk feest geniet. Verhoogt Weerbaarheid en Perceptie elk met <%= attrs %>. Betoverd kabinet: Festival kledij set (Voorwerp 1 van 3).", "armorArmoireMerchantTunicText": "Handelaarstuniek", "armorArmoireMerchantTunicNotes": "De wijde mouwen van dit tuniek zijn perfect om je welverdiende munten op te slagen! Verhoogt perceptie met <%= per %>. Betoverd kabinet: Handelaar set (voorwerp 2 van 3).", "armorArmoireVikingTunicText": "Viking tuniek", - "armorArmoireVikingTunicNotes": "Deze warme wollen tuniek bevat een mantel voor extra gezelligheid, zelfs tijdens een storm op de oceaan. Verhoogt lichaam met <%= con %> en kracht met <%= str %>. Betoverd kabinet: Viking set (voorwerp 1 van 3).", + "armorArmoireVikingTunicNotes": "Deze warme wollen tuniek bevat een mantel voor extra gezelligheid, zelfs tijdens een storm op de oceaan. Verhoogt Weerbaarheid met <%= con %> en kracht met <%= str %>. Betoverd kabinet: Viking set (voorwerp 1 van 3).", "armorArmoireSwanDancerTutuText": "Zwanendanser Tutu", "armorArmoireSwanDancerTutuNotes": "Je kan misschien in de lucht vliegen als je met deze prachtige gevederde tutu draait. Verhoogt intelligentie en kracht elk met <%= attrs %>. Betoverd kabinet: Zwanendanserset (voorwerp 2 van 3).", "armorArmoireAntiProcrastinationArmorText": "Anti-Procrastination Armour", @@ -803,7 +803,7 @@ "armorArmoirePiraticalPrincessGownText": "Piraten princes jurk", "armorArmoirePiraticalPrincessGownNotes": "Deze luxueuse tooi heeft vele zakken om wapens en buit te verbergen! Verhoogt Perceptie met <%= per %>. Betoverd Kabinet: Piratige princessenset (Item 2 van 4).", "armorArmoireJeweledArcherArmorText": "Boogschutterpantser bezet met juwelen", - "armorArmoireJeweledArcherArmorNotes": "Dit superieur vervaardigd pantser zal je beschermen tegen geschut of verdwaalde rode Dagelijkse taken! Verhoogt Lichaam met <%= con %>. Betoverd Kabinet: Juwelen Boogschutterset (Item 2 van 3).", + "armorArmoireJeweledArcherArmorNotes": "Dit superieur vervaardigd pantser zal je beschermen tegen geschut of verdwaalde rode Dagelijkse taken! Verhoogt Weerbaarheid met <%= con %>. Betoverd Kabinet: Juwelen Boogschutterset (Item 2 van 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", @@ -881,15 +881,15 @@ "headSpecialPageHelmText": "Hofjonkershelm", "headSpecialPageHelmNotes": "Beman je post in stijl. Verhoogt perceptie met <%= per %>.", "headSpecialRoguishRainbowMessengerHoodText": "Doortrapte regenboog koerier kap", - "headSpecialRoguishRainbowMessengerHoodNotes": "Deze heldere kap schijnt een kleurrijke gloed af die je zal beschermen van onaangenaam weer! Verhoogt lichaam met <%= con %>.", + "headSpecialRoguishRainbowMessengerHoodNotes": "Deze heldere kap schijnt een kleurrijke gloed af die je zal beschermen van onaangenaam weer! Verhoogt Weerbaarheid met <%= con %>.", "headSpecialClandestineCowlText": "Onwettige kap", "headSpecialClandestineCowlNotes": "Zorg ervoor dat je je gezicht bedekt wanneer je je taken berooft van goud en buit! Verhoogt perceptie met <%= per %>.", "headSpecialSnowSovereignCrownText": "Sneeuwvorstkroon", - "headSpecialSnowSovereignCrownNotes": "De juwelen in deze kroon schitteren als vers gevallen sneeuwvlokken. Verhoogt lichaam met <%= con %>.", + "headSpecialSnowSovereignCrownNotes": "De juwelen in deze kroon schitteren als vers gevallen sneeuwvlokken. Verhoogt Weerbaarheid met <%= con %>.", "headSpecialSpikedHelmText": "Gestekelde helm", "headSpecialSpikedHelmNotes": "Je zult goed beschermt zijn van afgedwaalde dagelijkse taken en slechte gewoontes met deze functionele (en mooi-uitziende) helm. Verhoogt kracht met <%= str %>.", "headSpecialDandyHatText": "Kwibushoed", - "headSpecialDandyHatNotes": "Wat een vrolijke knaap! Je zult er knap uitzien als je er een heerlijke wandeling in maakt. Verhoogt Lichaam met <%= con %>.", + "headSpecialDandyHatNotes": "Wat een vrolijke knaap! Je zult er knap uitzien als je er een heerlijke wandeling in maakt. Verhoogt Weerbaarheid met <%= con %>.", "headSpecialKabutoText": "Kabuto", "headSpecialKabutoNotes": "Deze helm is functioneel en prachtig! Je vijanden zullen worden afgeleid door bewondering. Verhoogt intelligentie met <%= int %>.", "headSpecialNamingDay2017Text": "Royaal Paarse Griffioenhelm", @@ -1171,11 +1171,11 @@ "headMystery301704Text": "Fazant pluimhoed", "headMystery301704Notes": "Wat is aangenamer dan een pluim van een fazant? Verleent geen voordelen. Abonnee-uitrusting April 3017.", "headArmoireLunarCrownText": "Verzachtende maankroon", - "headArmoireLunarCrownNotes": "Deze kroon verbetert je gezondheid en verscherpt je zintuigen, vooral wanneer het volle maan is. Verhoogt lichaam met <%= con %> en perceptie met <%= per %>. Betoverd kabinet: set van de verzachtende maan (voorwerp 1 van 3).", + "headArmoireLunarCrownNotes": "Deze kroon verbetert je gezondheid en verscherpt je zintuigen, vooral wanneer het volle maan is. Verhoogt Weerbaarheid met <%= con %> en Perceptie met <%= per %>. Betoverd kabinet: set van de verzachtende maan (voorwerp 1 van 3).", "headArmoireRedHairbowText": "Rode strik", - "headArmoireRedHairbowNotes": "Word sterk, stoer en slim door het dragen van deze prachtige rode haarband! Verhoogt kracht met <%= str %>, lichaam met <%= con %> en intelligentie met <%= int %>. Betoverd kabinet: Rode haarbandset (voorwerp 1 van 2).", + "headArmoireRedHairbowNotes": "Word sterk, stoer en slim door het dragen van deze prachtige rode haarband! Verhoogt Kracht met <%= str %>, Weerbaarheid met <%= con %> en Intelligentie met <%= int %>. Betoverd kabinet: Rode haarbandset (voorwerp 1 van 2).", "headArmoireVioletFloppyHatText": "Slappe paarse hoed", - "headArmoireVioletFloppyHatNotes": "Deze simpele hoed is doorweven met vele toverspreuken, waardoor hij een aangename paarse kleur heeft gekregen. Verhoogt perceptie met <%= per %>, intelligentie met <%= int %> en lichaam met <%= con %>. Betoverd kabinet: onafhankelijk voorwerp.", + "headArmoireVioletFloppyHatNotes": "Deze simpele hoed is doorweven met vele toverspreuken, waardoor hij een aangename paarse kleur heeft gekregen. Verhoogt Perceptie met <%= per %>, Intelligentie met <%= int %> en Weerbaarheid met <%= con %>. Betoverd kabinet: onafhankelijk voorwerp.", "headArmoireGladiatorHelmText": "Gladiatorenhelm", "headArmoireGladiatorHelmNotes": "Om en gladiator te zijn moet je niet alleen sterk zijn... maar ook geslepen. Vergroot intelligentie met <%= int %> en perceptie met <%= per %>. Betoverd kabinet: gladiatorset (voorwerp 1 van 3).", "headArmoireRancherHatText": "Cowboyhoed", @@ -1898,14 +1898,14 @@ "armorMystery201910Text": "Cryptische Uitrusting", "armorArmoireInvernessCapeNotes": "Met dit stevige kledingstuk kun je in elk weertype naar aanwijzingen zoeken. Verhoogt perceptie en intelligentie met elk <%= attrs %>. Betoverd Kabinet: Detectiveset (Voorwerp 2 van 4).", "armorArmoireInvernessCapeText": "Inverness Kaap", - "armorArmoireShadowMastersRobeNotes": "De stof van dit zwierige gewaad is geweven uit de donkerste schaduwen in de diepste grotten van Habitica. Verhoogt het lichaam met <%= con %>. Betoverd Kabinet: Schaduw Meester Set (Voorwerp 1 van 4).", + "armorArmoireShadowMastersRobeNotes": "De stof van dit zwierige gewaad is geweven uit de donkerste schaduwen in de diepste grotten van Habitica. Verhoogt Weerbaarheid met <%= con %>. Betoverd Kabinet: Schaduw Meester Set (Voorwerp 1 van 4).", "armorArmoireShadowMastersRobeText": "Schaduw Meesters Gewaad", "armorArmoireAlchemistsRobeText": "Alchemisten Gewaad", "armorArmoireDuffleCoatText": "Duffel Jas", - "armorArmoireAlchemistsRobeNotes": "Er zijn vele gevaarlijke elixers nodig om magische metalen en juwelen te creëeren, en dit zware gewaad zal je beschermen tegen letsel en ongewenste bijwerkingen! Verhoogt Lichaam met <%= con %> en Perceptie met <%= per %>. Betoverd Kabinet: Alchemist Set (Voorwerp 1 van 4).", - "armorArmoireLayerCakeArmorNotes": "Het is beschermend en smakelijk! Verhoogt Lichaam met <%= con %>. Betoverd Kabinet: Fijne Verjaardag Set (Voorwerp 2 van 4).", + "armorArmoireAlchemistsRobeNotes": "Er zijn vele gevaarlijke elixers nodig om magische metalen en juwelen te creëeren, en dit zware gewaad zal je beschermen tegen letsel en ongewenste bijwerkingen! Verhoogt Weerbaarheid met <%= con %> en Perceptie met <%= per %>. Betoverd Kabinet: Alchemist Set (Voorwerp 1 van 4).", + "armorArmoireLayerCakeArmorNotes": "Het is beschermend en smakelijk! Verhoogt Weerbaarheid met <%= con %>. Betoverd Kabinet: Fijne Verjaardag Set (Voorwerp 2 van 4).", "armorArmoireLayerCakeArmorText": "Laagjes Taart Harnas", - "armorArmoireDuffleCoatNotes": "Reis door bevroren werelden in stijl met deze warme wollen jas. Verhoogt Lichaam en Perceptie elk met <%= attrs %>. Betoverd Kabinet: Duffel Jas Set (Voorwerp 1 van 2).", + "armorArmoireDuffleCoatNotes": "Reis door bevroren werelden in stijl met deze warme wollen jas. Verhoogt Weerbaarheid en Perceptie elk met <%= attrs %>. Betoverd Kabinet: Duffel Jas Set (Voorwerp 1 van 2).", "headSpecialSpring2020HealerText": "Iris Tovenaar", "headSpecialWinter2020MageText": "Klokkenkroon", "headSpecialFall2019MageText": "Cycloop Masker", @@ -1951,13 +1951,13 @@ "armorArmoireBoxArmorText": "Boks Uitrusting", "headSpecialSummer2019RogueText": "Voorhamer Helm", "headSpecialSpring2019MageText": "Amber Hoed", - "armorArmoireMatchMakersApronNotes": "Dit schort is voor de veiligheid, maar omwille van de humor kunnen we er licht van maken. Verhoogt lichaam, kracht en intelligentie met elk <%= attrs %>. Betoverd Kabinet: Lucifermaker Set (Voorwerp 1 van 4).", + "armorArmoireMatchMakersApronNotes": "Dit schort is voor de veiligheid, maar omwille van de humor kunnen we er licht van maken. Verhoogt Weerbaarheid, Kracht en Intelligentie met elk <%= attrs %>. Betoverd Kabinet: Lucifermaker Set (Voorwerp 1 van 4).", "shieldArmoireBaseballGloveNotes": "Perfect voor het grote toernooi, of een gezellig vangspel tussen taken. Verhoogd kracht met <%= str %>. Betoverde Kabinet: Honkbal Set (Voorwerp 4 van 4).", "shieldArmoireBaseballGloveText": "Honkbalhandschoen", "shieldArmoireHobbyHorseNotes": "Berijd je knappe stokpaardje naar je rechtvaardige beloningen! Verhoogt perceptie en lichaam met elk <%= attrs %>. Betoverd Kabinet: Papieren Ridder Set (Voorwerp 2 van 3).", "shieldArmoireHobbyHorseText": "Stokpaardje", "armorArmoireBoxArmorNotes": "Boks Uitrusting: Het past, daarom zit je ... uh, daarom draag je het in de strijd, zoals de stoere ridder die je bent! Verhoogt perceptie en constitutie met elk <%= attrs %>. Betoverd Kabinet: Papieren Ridder Set (Voorwerp 3 van 3).", - "armorArmoireBaseballUniformNotes": "Het krijtstreepmotief geraakt nooit uit de mode. Verhoogd lichaam en kracht met <%= attrs %> elks. Betoverde Kabinet: Honkbal Set (Voorwerp 2 van 4).", + "armorArmoireBaseballUniformNotes": "Het krijtstreepmotief geraakt nooit uit de mode. Verhoogd Weerbaarheid en Kracht met <%= attrs %> elks. Betoverde Kabinet: Honkbal Set (Voorwerp 2 van 4).", "headSpecialSummer2019MageText": "Lelieblad Hoed", "headSpecialSpring2019MageNotes": "Een gloeiend oranje juweel verleent deze hoed de kracht van mysterieuze natuurkrachten. Verhoogt de perceptie met <%= per %>. Beperkte Oplage 2019 Lenteuitrusting.", "headSpecialSummer2019MageNotes": "In tegenstelling tot wat vaak wordt gedacht, is je hoofd geen geschikte plek voor kikkers om neer te strijken. Verhoogt de perceptie met <%= per %>. Beperkte Oplage 2019 Zomeruitrusting.", @@ -1976,7 +1976,7 @@ "headSpecialWinter2020WarriorText": "Met sneeuw bedekte hoofdtooi", "headSpecialWinter2020HealerNotes": "Haal het alsjeblieft eerst van je hoofd voordat je er chai thee of koffie mee probeert te brouwen. Verhoogt Intelligentie met <%= int %>. Beperkte Oplage 2019-2020 Winteruitrusting.", "headSpecialWinter2020HealerText": "Ster Anijs Embleem", - "armorArmoireFiddlersCoatNotes": "Een practische outfit die je genoeg ruimte geeft om te bewegen! Verhoogt Lichaam met <%= con %>. Betoverde Kabinet: Vioolspelers Set (Voorwerp 2 van 4).", + "armorArmoireFiddlersCoatNotes": "Een practische outfit die je genoeg ruimte geeft om te bewegen! Verhoogt Weerbaarheid met <%= con %>. Betoverde Kabinet: Vioolspelers Set (Voorwerp 2 van 4).", "armorArmoireFiddlersCoatText": "Vioolspelers Jas", "armorMystery202006Notes": "Zelfs tussen de felste koralen en anemonen valt deze staart op tussen de massa! Geeft geen voordeel. Juni 2020 Abonnee Uitrusting.", "armorMystery202006Text": "Fluoriserende Meermensen Staart", diff --git a/website/common/locales/no/backgrounds.json b/website/common/locales/no/backgrounds.json index fa0eae6c05..1819953ed1 100755 --- a/website/common/locales/no/backgrounds.json +++ b/website/common/locales/no/backgrounds.json @@ -4,98 +4,98 @@ "backgroundShop": "Bakgrunnsbutikk", "backgroundShopText": "Bakgrunnsbutikk", "noBackground": "Ingen bakgrunn valgt", - "backgrounds062014": "SETT 1: Utgitt juni 2014", + "backgrounds062014": "SETT 1: Utgitt Juni 2014", "backgroundBeachText": "Strand", "backgroundBeachNotes": "Slapp av på en varm strand", "backgroundFairyRingText": "Heksering", "backgroundFairyRingNotes": "Dans i en heksering.", "backgroundForestText": "Skog", "backgroundForestNotes": "Rusle gjennom en sommerskog.", - "backgrounds072014": "SETT 2: Utgitt juli 2014", + "backgrounds072014": "SETT 2: Utgitt Juli 2014", "backgroundCoralReefText": "Korallrev", "backgroundCoralReefNotes": "Svøm i et korallrev.", "backgroundOpenWatersText": "Åpent hav", "backgroundOpenWatersNotes": "Nyt det åpne hav.", "backgroundSeafarerShipText": "Skute", "backgroundSeafarerShipNotes": "Seile ombord i en skute", - "backgrounds082014": "SETT 3: Utgitt august 2014", + "backgrounds082014": "SETT 3: Utgitt August 2014", "backgroundCloudsText": "Skyer", "backgroundCloudsNotes": "Svev gjennom skyene.", "backgroundDustyCanyonsText": "Støvete dal", "backgroundDustyCanyonsNotes": "Vandre gjennom en støvete dal.", "backgroundVolcanoText": "Vulkan", "backgroundVolcanoNotes": "Varm opp i en vulkan", - "backgrounds092014": "SETT 4: Utgitt september 2014", + "backgrounds092014": "SETT 4: Utgitt September 2014", "backgroundThunderstormText": "Stormvær", "backgroundThunderstormNotes": "Led lyn i stormvær", "backgroundAutumnForestText": "Høstskog", "backgroundAutumnForestNotes": "Rusle gjennom en høstskog.", "backgroundHarvestFieldsText": "Åkre", "backgroundHarvestFieldsNotes": "Dyrke åkrene dine", - "backgrounds102014": "SETT 5: Utgitt oktober 2014", + "backgrounds102014": "SETT 5: Utgitt Oktober 2014", "backgroundGraveyardText": "Kirkegård", "backgroundGraveyardNotes": "Besøk en skummel kirkegård.", "backgroundHauntedHouseText": "Spøkelseshus", "backgroundHauntedHouseNotes": "Snik deg gjennom et spøkelseshus.", "backgroundPumpkinPatchText": "Gresskaråker", - "backgroundPumpkinPatchNotes": "Skjær ut gresskarlykter i en gresskaråker.", - "backgrounds112014": "SETT 6: Utgitt november 2014", + "backgroundPumpkinPatchNotes": "Skjær ut gresskarlykter i en Gresskaråker.", + "backgrounds112014": "SETT 6: Utgitt November 2014", "backgroundHarvestFeastText": "Innhøstingfest", "backgroundHarvestFeastNotes": "Nyt en Innhøstingfest.", "backgroundStarrySkiesText": "Stjernehimmelen", "backgroundStarrySkiesNotes": "Besku Stjernehimmelen.", "backgroundSunsetMeadowText": "Solnedgangeng", "backgroundSunsetMeadowNotes": "Beundre en Solnedgangeng.", - "backgrounds122014": "SETT 7: Utgitt desember 2014", + "backgrounds122014": "SETT 7: Utgitt Desember 2014", "backgroundIcebergText": "Isfjellet", "backgroundIcebergNotes": "Flyt på et isfjell.", "backgroundTwinklyLightsText": "Vinterdekorasjon", "backgroundTwinklyLightsNotes": "Ta en spasertur blant de dekorerte trærne", "backgroundSouthPoleText": "Sydpol", "backgroundSouthPoleNotes": "Besøk den isete sydpolen", - "backgrounds012015": "SETT 8: Utgitt januar 2015", + "backgrounds012015": "SETT 8: Utgitt Januar 2015", "backgroundIceCaveText": "Ishulen", "backgroundIceCaveNotes": "Gå ned inn i ishulen.", "backgroundFrigidPeakText": "Frosset Fjelltopp", "backgroundFrigidPeakNotes": "Kommet til toppen av en frosset fjelltopp", "backgroundSnowyPinesText": "Snødekket furu", "backgroundSnowyPinesNotes": "Beskytt deg blant snødekket furu", - "backgrounds022015": "Sett 9: Februar 2015", + "backgrounds022015": "SETT 9: Utgitt Februar 2015", "backgroundBlacksmithyText": "Smie", "backgroundBlacksmithyNotes": "Arbeid i smia", "backgroundCrystalCaveText": "Krystallgrotte", "backgroundCrystalCaveNotes": "Utforsk Krystallgrotten", "backgroundDistantCastleText": "Fjernt Slott", "backgroundDistantCastleNotes": "Forsvar et Fjernt Slott.", - "backgrounds032015": "Sett 10: Mars 2015", + "backgrounds032015": "SETT 10: Utgitt Mars 2015", "backgroundSpringRainText": "Vårregn", "backgroundSpringRainNotes": "Dans i vårregnet", "backgroundStainedGlassText": "Farget glass", "backgroundStainedGlassNotes": "Beundre et Glassmaleri.", "backgroundRollingHillsText": "Bølgende Åser", "backgroundRollingHillsNotes": "Boltre deg gjennom de Bølgende Åsene.", - "backgrounds042015": "Sett 11: April 2015", + "backgrounds042015": "SETT 11: Utgitt April 2015", "backgroundCherryTreesText": "Kirsebærtrær", "backgroundCherryTreesNotes": "Beundre Kirsebærtreet i blomst.", "backgroundFloralMeadowText": "Blomstereng", "backgroundFloralMeadowNotes": "Nyt en piknik i blomsterengen", "backgroundGumdropLandText": "Godteri Land", "backgroundGumdropLandNotes": "Knask på landskapet i Grumdrop Land.", - "backgrounds052015": "SETT 12: Utgitt mai 2015", + "backgrounds052015": "SETT 12: Utgitt Mai 2015", "backgroundMarbleTempleText": "Marmortempel", "backgroundMarbleTempleNotes": "Poser foran et Mamortempel.", "backgroundMountainLakeText": "Fjellinnsjø", "backgroundMountainLakeNotes": "Dypp tærne dine i en Fjellinnsjø.", "backgroundPagodasText": "Pagode", "backgroundPagodasNotes": "Klatre til toppen av Pagoden.", - "backgrounds062015": "SETT 13: Utgitt juni 2015", + "backgrounds062015": "SETT 13: Utgitt Juni 2015", "backgroundDriftingRaftText": "Drivende Flåte", "backgroundDriftingRaftNotes": "Padle en Drivende Flåte.", "backgroundShimmeryBubblesText": "Skimrende Bobler.", "backgroundShimmeryBubblesNotes": "Flyt gjennom et hav av Skimrende Bobler.", "backgroundIslandWaterfallsText": "Øyfosser", "backgroundIslandWaterfallsNotes": "Piknik ved Øyfossene.", - "backgrounds072015": "SETT 14: Utgitt juli 2015", + "backgrounds072015": "SETT 14: Utgitt Juli 2015", "backgroundDilatoryRuinsText": "Ruinene av Utsettelse", "backgroundDilatoryRuinsNotes": "Dykk til Ruinene av Utsettelse.", "backgroundGiantWaveText": "Gigantisk Bølge", @@ -109,14 +109,14 @@ "backgroundSunsetSavannahNotes": "Vander over Soldnegang i Savannen", "backgroundTwinklyPartyLightsText": "Skimrende Fest Lys", "backgroundTwinklyPartyLightsNotes": "Dans under Skimrende Fest Lys!", - "backgrounds092015": "SETT 16: Utgitt september 2015", + "backgrounds092015": "SETT 16: Utgitt September 2015", "backgroundMarketText": "Habitica Markedet", "backgroundMarketNotes": "Shop på Habitica Markedet", "backgroundStableText": "Habitica Stallen", "backgroundStableNotes": "Plei ridedyr i Habitica Stallen", "backgroundTavernText": "Habitica Kroa", "backgroundTavernNotes": "Besøk Habitica Kroa", - "backgrounds102015": "SETT 17: Utgitt oktober 2015", + "backgrounds102015": "SETT 17: Utgitt Oktober 2015", "backgroundHarvestMoonText": "Høstmåne", "backgroundHarvestMoonNotes": "Kakkel under en Høstmåne", "backgroundSlimySwampText": "Slimete Sump", @@ -130,14 +130,14 @@ "backgroundNightDunesNotes": "Spasér fredfylt gjennom de Nattlige Sanddynene.", "backgroundSunsetOasisText": "Solnedgang i Oase", "backgroundSunsetOasisNotes": "Slapp av i Solnedgangen i Oasen.", - "backgrounds122015": "SETT 19: Utgitt desember 2015", + "backgrounds122015": "SETT 19: Utgitt Desember 2015", "backgroundAlpineSlopesText": "Alpinløypene", "backgroundAlpineSlopesNotes": "Kjør nedover Alpinløypene.", "backgroundSnowySunriseText": "Soloppgang i Snøvær", "backgroundSnowySunriseNotes": "Betrakt Soloppgangen i Snøværet.", "backgroundWinterTownText": "Vinterlandsby", "backgroundWinterTownNotes": "Far gjennom en Vinterlandsby.", - "backgrounds012016": "SETT 20: Utgitt januar 2016", + "backgrounds012016": "SETT 20: Utgitt Januar 2016", "backgroundFrozenLakeText": "Islagt Innsjø", "backgroundFrozenLakeNotes": "Gå på skøyter på den Islagte Innsjøen.", "backgroundSnowmanArmyText": "Armé av Snømenn", @@ -158,60 +158,60 @@ "backgroundRainforestNotes": "Våg deg inn i en Regnskog.", "backgroundStoneCircleText": "Steinsirkel", "backgroundStoneCircleNotes": "Bruk trylleformler i en Steinsirkel.", - "backgrounds042016": "Sett 23: Utgitt April 2016", - "backgroundArcheryRangeText": "Bueskytter bane", - "backgroundArcheryRangeNotes": "Øv på Bueskytter banen", + "backgrounds042016": "SETT 23: Utgitt April 2016", + "backgroundArcheryRangeText": "Bueskytterbane", + "backgroundArcheryRangeNotes": "Øv på Bueskytterbanen", "backgroundGiantFlowersText": "Gigantiske Blomster", "backgroundGiantFlowersNotes": "Noe noe Gigantiske Blomster", "backgroundRainbowsEndText": "Slutten av regnbuen", "backgroundRainbowsEndNotes": "Oppdag gullet på slutten av regnbuen", - "backgrounds052016": "SETT 24: Utgitt mai 2016", + "backgrounds052016": "SETT 24: Utgitt Mai 2016", "backgroundBeehiveText": "Bikube", "backgroundBeehiveNotes": "Mingle og dans i en bikube.", "backgroundGazeboText": "Gazebo", "backgroundGazeboNotes": "Kjemp en Gazebo.", "backgroundTreeRootsText": "Trerøtter", "backgroundTreeRootsNotes": "Utforsk trerøttene", - "backgrounds062016": "SETT 25: Utgitt juni 2016", + "backgrounds062016": "SETT 25: Utgitt Juni 2016", "backgroundLighthouseShoreText": "Fyrtårn bredden", "backgroundLighthouseShoreNotes": "Vandre ned til Fyrtårn bredden.", "backgroundLilypadText": "Vannlilje", "backgroundLilypadNotes": "Hopp på en vannlilje", "backgroundWaterfallRockText": "Fossefall Berg", "backgroundWaterfallRockNotes": "Plask på et Fossefall Berg.", - "backgrounds072016": "SETT 26: Utgitt juli 2016", + "backgrounds072016": "SETT 26: Utgitt Juli 2016", "backgroundAquariumText": "Akvarium", "backgroundAquariumNotes": "Bob i et Akvarium", "backgroundDeepSeaText": "Dypt Hav", "backgroundDeepSeaNotes": "Dykk til det Dype Havet", "backgroundDilatoryCastleText": "Slottet av Utsettelse", "backgroundDilatoryCastleNotes": "Svøm forbi Slottet av Utsettelse.", - "backgrounds082016": "Sett 27: Utgitt august 2016", + "backgrounds082016": "SETT 27: Utgitt August 2016", "backgroundIdyllicCabinText": "Idyllisk Hytte", "backgroundIdyllicCabinNotes": "Ta en ferie i en idyllisk hytte.", "backgroundMountainPyramidText": "Fjellpyramide", "backgroundMountainPyramidNotes": "Klarte opp alle trinnene til fjellpyramiden.", "backgroundStormyShipText": "Stormende Skip", "backgroundStormyShipNotes": "Hold stødig kurs mot vind og bølger ombord et Stormende Skip.", - "backgrounds092016": "Sett 28: Utgitt september 2016", + "backgrounds092016": "SETT 28: Utgitt September 2016", "backgroundCornfieldsText": "Kornåker", "backgroundCornfieldsNotes": "Nyt en herlig dag ute ved kornåkeren.", "backgroundFarmhouseText": "Våningshus", "backgroundFarmhouseNotes": "Hils på alle dyrene på vegen til Våningshuset.", "backgroundOrchardText": "Fruktplantasje", "backgroundOrchardNotes": "Plukk moden frukt i en Frukthage.", - "backgrounds102016": "Sett 29: Utgitt oktober 2016", + "backgrounds102016": "SETT 29: Utgitt Oktober 2016", "backgroundSpiderWebText": "Edderkoppnett", "backgroundSpiderWebNotes": "Bli fanget i et edderkoppnett.", "backgroundStrangeSewersText": "Ukjente kloakkrører", "backgroundStrangeSewersNotes": "Skli gjennom de ukjente kloakkrørene.", "backgroundRainyCityText": "By i regn", "backgroundRainyCityNotes": "Sprut gjennom en by i regn.", - "backgrounds112016": "Sett 30: Utgitt november 2016", - "backgroundMidnightCloudsText": "Midtnattens skyer", - "backgroundMidnightCloudsNotes": "Fly gjennom midtnattens skyer.", - "backgroundStormyRooftopsText": "Stormfulle tak", - "backgroundStormyRooftopsNotes": "Kryp over de stormfulle takene.", + "backgrounds112016": "SETT 30: Utgitt November 2016", + "backgroundMidnightCloudsText": "Midnattsskyer", + "backgroundMidnightCloudsNotes": "Fly gjennom Midnattsskyer.", + "backgroundStormyRooftopsText": "Stormfulle Tak", + "backgroundStormyRooftopsNotes": "Kryp over de Stormfulle Takene.", "backgroundWindyAutumnText": "Vindfull høst", "backgroundWindyAutumnNotes": "Jag etter bladene i en vindfull høst.", "incentiveBackgrounds": "Vanlig Bakgrunn Sett", @@ -227,56 +227,56 @@ "backgroundRedNotes": "Et rimelig rødt bakteppe.", "backgroundYellowText": "Gul", "backgroundYellowNotes": "Et godt gult bakteppe.", - "backgrounds122016": "Sett 31: Utgitt desember 2016", + "backgrounds122016": "SETT 31: Utgitt Desember 2016", "backgroundShimmeringIcePrismText": "Glitrende Is-prismer", "backgroundShimmeringIcePrismNotes": "Dans gjennom de glitrende Is-prismene.", "backgroundWinterFireworksText": "Vinterfyrverkeri", "backgroundWinterFireworksNotes": "Fyr av vinterfyrverkeriet.", "backgroundWinterStorefrontText": "Vinterbutikk", "backgroundWinterStorefrontNotes": "Kjøp gaver fra en Vinterbutikk.", - "backgrounds012017": "Sett 32: Utgitt januar 2017", + "backgrounds012017": "SETT 32: Utgitt Januar 2017", "backgroundBlizzardText": "Snøstorm", "backgroundBlizzardNotes": "Stå i mot en kraftig Snøstorm.", "backgroundSparklingSnowflakeText": "Glitrende Snøflak", "backgroundSparklingSnowflakeNotes": "Gli på et Glitrende Snøflak.", "backgroundStoikalmVolcanoesText": "Stoïkalm Vulkaner", "backgroundStoikalmVolcanoesNotes": "Utforske Stoïkalm vulkanen.", - "backgrounds022017": "Sett 33: Utgitt februar 2017", + "backgrounds022017": "SETT 33: Utgitt Februar 2017", "backgroundBellTowerText": "Klokketårn", "backgroundBellTowerNotes": "Klatre opp til Klokketårnet.", "backgroundTreasureRoomText": "Skattekammer", "backgroundTreasureRoomNotes": "Velt deg i formuen i et Skattekammer.", "backgroundWeddingArchText": "Bryllupsbue", "backgroundWeddingArchNotes": "Poser under Bryllupsbuen.", - "backgrounds032017": "Sett 34: Utgitt mars 2017", + "backgrounds032017": "SETT 34: Utgitt Mars 2017", "backgroundMagicBeanstalkText": "Magisk Bønnestengel", "backgroundMagicBeanstalkNotes": "Stig opp den Magiske Bønnestengelen.", "backgroundMeanderingCaveText": "Buktende Grotte", "backgroundMeanderingCaveNotes": "Utforsk den Buktende Grotten.", "backgroundMistiflyingCircusText": "Mystisk Sirkus", "backgroundMistiflyingCircusNotes": "Fest i det Mystiske Sirkuset.", - "backgrounds042017": "Sett 35: Utgitt April 2017", + "backgrounds042017": "SETT 35: Utgitt April 2017", "backgroundBugCoveredLogText": "Insektdekket Tømmerstokk", "backgroundBugCoveredLogNotes": "Undersøk en Insektdekket Tømmerstokk.", "backgroundGiantBirdhouseText": "Kjempestort Fuglehus", "backgroundGiantBirdhouseNotes": "Sett deg på vaglen i et Kjempestort Fuglehus.", "backgroundMistShroudedMountainText": "Tåkesvøpt Fjell", "backgroundMistShroudedMountainNotes": "Nå toppen av et Tåkesvøpt Fjell.", - "backgrounds052017": "SETT 36: Utgitt mai 2017", + "backgrounds052017": "SETT 36: Utgitt Mai 2017", "backgroundGuardianStatuesText": "Vokter Statuer", "backgroundGuardianStatuesNotes": "Stå utrettelig foran de Voktende Statuer", "backgroundHabitCityStreetsText": "Habits Bygater", "backgroundHabitCityStreetsNotes": "Utforsk gatene til Habits by", "backgroundOnATreeBranchText": "På en gren", "backgroundOnATreeBranchNotes": "Sitt på en gren", - "backgrounds062017": "SETT 37: Utgitt juni 2017", + "backgrounds062017": "SETT 37: Utgitt Juni 2017", "backgroundBuriedTreasureText": "Nedgravd skatt", "backgroundBuriedTreasureNotes": "Grav fram en skjult skatt.", "backgroundOceanSunriseText": "Osean Soloppgang", "backgroundOceanSunriseNotes": "Beundre an osean soloppgang.", "backgroundSandcastleText": "Sandslott", "backgroundSandcastleNotes": "Hersk i sandborgen.", - "backgrounds072017": "SETT 38: Utgitt juli 2017", + "backgrounds072017": "SETT 38: Utgitt Juli 2017", "backgroundGiantSeashellText": "Gigantisk Havskjell", "backgroundGiantSeashellNotes": "Slapp av i et Gigantisk Havskjell", "backgroundKelpForestText": "Kelpskogen", @@ -297,116 +297,142 @@ "backgroundGardenShedNotes": "Jobb i et hageskur", "backgroundPixelistsWorkshopText": "Pixelistens verksted", "backgroundPixelistsWorkshopNotes": "Lag et mesterverk i verkstedet til Pixelisten", - "backgrounds102017": "SET 41: Released October 2017", + "backgrounds102017": "SETT 41: Utgitt Oktober 2017", "backgroundMagicalCandlesText": "Magical Candles", "backgroundMagicalCandlesNotes": "Bask in the glow of Magical Candles.", "backgroundSpookyHotelText": "Spooky Hotel", "backgroundSpookyHotelNotes": "Sneak down the hall of a Spooky Hotel.", "backgroundTarPitsText": "Tar Pits", "backgroundTarPitsNotes": "Tiptoe through the Tar Pits.", - "backgrounds112017": "SET 42: Released November 2017", + "backgrounds112017": "SETT 42: Utgitt November 2017", "backgroundFiberArtsRoomText": "Fiber Arts Room", "backgroundFiberArtsRoomNotes": "Spin thread in a Fiber Arts Room.", "backgroundMidnightCastleText": "Midnight Castle", "backgroundMidnightCastleNotes": "Stroll by the Midnight Castle.", "backgroundTornadoText": "Tornado", "backgroundTornadoNotes": "Fly through a Tornado.", - "backgrounds122017": "SET 43: Released December 2017", - "backgroundCrosscountrySkiTrailText": "Cross-Country Ski Trail", - "backgroundCrosscountrySkiTrailNotes": "Glide along a Cross-Country Ski Trail.", + "backgrounds122017": "SETT 43: Utgitt Desember 2017", + "backgroundCrosscountrySkiTrailText": "Langrennsløype", + "backgroundCrosscountrySkiTrailNotes": "Suse gjennom Langrennsløypa.", "backgroundStarryWinterNightText": "Starry Winter Night", "backgroundStarryWinterNightNotes": "Admire a Starry Winter Night.", "backgroundToymakersWorkshopText": "Toymaker's Workshop", "backgroundToymakersWorkshopNotes": "Bask in the wonder of a Toymaker's Workshop.", - "backgrounds012018": "SET 44: Released January 2018", + "backgrounds012018": "SETT 44: Utgitt Januar 2018", "backgroundAuroraText": "Aurora", "backgroundAuroraNotes": "Bask in the wintry glow of an Aurora.", "backgroundDrivingASleighText": "Sleigh", "backgroundDrivingASleighNotes": "Drive a Sleigh over snow-covered fields.", "backgroundFlyingOverIcySteppesText": "Icy Steppes", "backgroundFlyingOverIcySteppesNotes": "Fly over Icy Steppes.", - "backgrounds022018": "SET 45: Released February 2018", + "backgrounds022018": "SETT 45: Utgitt Februar 2018", "backgroundChessboardLandText": "Chessboard Land", "backgroundChessboardLandNotes": "Play a game in Chessboard Land.", "backgroundMagicalMuseumText": "Magical Museum", "backgroundMagicalMuseumNotes": "Tour a Magical Museum.", "backgroundRoseGardenText": "Rose Garden", "backgroundRoseGardenNotes": "Dally in a fragrant Rose Garden.", - "backgrounds032018": "SET 46: Released March 2018", + "backgrounds032018": "SETT 46: Utgitt Mars 2018", "backgroundGorgeousGreenhouseText": "Gorgeous Greenhouse", "backgroundGorgeousGreenhouseNotes": "Walk among the flora kept in a Gorgeous Greenhouse.", "backgroundElegantBalconyText": "Elegant Balcony", "backgroundElegantBalconyNotes": "Look out over the landscape from an Elegant Balcony.", "backgroundDrivingACoachText": "Driving a Coach", "backgroundDrivingACoachNotes": "Enjoy Driving a Coach past fields of flowers.", - "backgrounds042018": "SET 47: Released April 2018", - "backgroundTulipGardenText": "Tulip Garden", - "backgroundTulipGardenNotes": "Tiptoe through a Tulip Garden.", + "backgrounds042018": "SETT 47: Utgitt April 2018", + "backgroundTulipGardenText": "Tulipanhagen", + "backgroundTulipGardenNotes": "List deg gjennom Tulipanhagen.", "backgroundFlyingOverWildflowerFieldText": "Field of Wildflowers", "backgroundFlyingOverWildflowerFieldNotes": "Soar above a Field of Wildflowers.", "backgroundFlyingOverAncientForestText": "Ancient Forest", "backgroundFlyingOverAncientForestNotes": "Fly over the canopy of an Ancient Forest.", - "backgrounds052018": "SET 48: Released May 2018", + "backgrounds052018": "SETT 48: Utgitt Mai 2018", "backgroundTerracedRiceFieldText": "Terraced Rice Field", "backgroundTerracedRiceFieldNotes": "Enjoy a Terraced Rice Field in the growing season.", "backgroundFantasticalShoeStoreText": "Fantastical Shoe Store", "backgroundFantasticalShoeStoreNotes": "Look for fun new footwear in the Fantastical Shoe Store.", "backgroundChampionsColosseumText": "Champions' Colosseum", "backgroundChampionsColosseumNotes": "Bask in the glory of the Champions' Colosseum.", - "backgrounds062018": "SET 49: Released June 2018", + "backgrounds062018": "SETT 49: Utgitt Juni 2018", "backgroundDocksText": "Docks", "backgroundDocksNotes": "Fish from atop the Docks.", "backgroundRowboatText": "Rowboat", "backgroundRowboatNotes": "Sing rounds in a Rowboat.", "backgroundPirateFlagText": "Pirate Flag", "backgroundPirateFlagNotes": "Fly a fearsome Pirate Flag.", - "backgrounds072018": "SET 50: Released July 2018", + "backgrounds072018": "SETT 50: Utgitt Juli 2018", "backgroundDarkDeepText": "Dark Deep", "backgroundDarkDeepNotes": "Swim in the Dark Deep among bioluminescent critters.", "backgroundDilatoryCityText": "City of Dilatory", "backgroundDilatoryCityNotes": "Meander through the undersea City of Dilatory.", "backgroundTidePoolText": "Tide Pool", "backgroundTidePoolNotes": "Observe the ocean life near a Tide Pool.", - "backgrounds082018": "SET 51: Released August 2018", + "backgrounds082018": "SETT 51: Utgitt August 2018", "backgroundTrainingGroundsText": "Training Grounds", "backgroundTrainingGroundsNotes": "Spar on the Training Grounds.", "backgroundFlyingOverRockyCanyonText": "Rocky Canyon", "backgroundFlyingOverRockyCanyonNotes": "Look down into a breathtaking scene as you fly over a Rocky Canyon.", "backgroundBridgeText": "Bridge", "backgroundBridgeNotes": "Cross a charming Bridge.", - "backgrounds092018": "SET 52: Released September 2018", + "backgrounds092018": "SETT 52: Utgitt September 2018", "backgroundApplePickingText": "Apple Picking", "backgroundApplePickingNotes": "Go Apple Picking and bring home a bushel.", "backgroundGiantBookText": "Giant Book", "backgroundGiantBookNotes": "Read as you walk through the pages of a Giant Book.", "backgroundCozyBarnText": "Cozy Barn", "backgroundCozyBarnNotes": "Relax with your pets and mounts in their Cozy Barn.", - "backgrounds102018": "SET 53: Released October 2018", + "backgrounds102018": "SETT 53: Utgitt Oktober 2018", "backgroundBayouText": "Bayou", "backgroundBayouNotes": "Bask in the fireflies' glow on the misty Bayou.", "backgroundCreepyCastleText": "Creepy Castle", "backgroundCreepyCastleNotes": "Dare to approach a Creepy Castle.", "backgroundDungeonText": "Dungeon", "backgroundDungeonNotes": "Rescue the prisoners of a spooky Dungeon.", - "backgrounds112018": "SET 54: Released November 2018", + "backgrounds112018": "SETT 54: Utgitt November 2018", "backgroundBackAlleyText": "Back Alley", "backgroundBackAlleyNotes": "Look shady loitering in a Back Alley.", "backgroundGlowingMushroomCaveText": "Glowing Mushroom Cave", "backgroundGlowingMushroomCaveNotes": "Stare in awe at a Glowing Mushroom Cave.", "backgroundCozyBedroomText": "Cozy Bedroom", "backgroundCozyBedroomNotes": "Curl up in a Cozy Bedroom.", - "backgrounds122018": "SET 55: Released December 2018", + "backgrounds122018": "SETT 55: Utgitt Desember 2018", "backgroundFlyingOverSnowyMountainsText": "Snowy Mountains", "backgroundFlyingOverSnowyMountainsNotes": "Soar over Snowy Mountains at night.", "backgroundFrostyForestText": "Frosty Forest", "backgroundFrostyForestNotes": "Bundle up to hike through a Frosty Forest.", "backgroundSnowyDayFireplaceText": "Snowy Day Fireplace", "backgroundSnowyDayFireplaceNotes": "Snuggle up next to a Fireplace on a Snowy Day.", - "backgrounds012019": "SET 56: Released January 2019", + "backgrounds012019": "SETT 56: Utgitt Januar 2019", "backgroundAvalancheText": "Avalanche", "backgroundAvalancheNotes": "Flee the thundering might of an Avalanche.", "backgroundArchaeologicalDigText": "Archaeological Dig", "backgroundArchaeologicalDigNotes": "Unearth secrets of the ancient past at an Archaeological Dig.", "backgroundScribesWorkshopText": "Scribe's Workshop", - "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop." -} \ No newline at end of file + "backgroundScribesWorkshopNotes": "Write your next great scroll in a Scribe's Workshop.", + "backgrounds022019": "SETT 57: Utgitt Februar 2019", + "backgrounds022020": "SETT 69: Utgitt Februar 2020", + "backgrounds012020": "SETT 68: Utgitt Januar 2020", + "backgrounds042020": "SETT 71: Utgitt April 2020", + "backgroundBirchForestNotes": "Kos deg i en fredfull Bjørkeskog.", + "backgroundBirchForestText": "Bjørkeskog", + "backgrounds042019": "SETT 59: Utgitt April 2019", + "backgrounds032020": "SETT 70: Utgitt Mars 2020", + "backgroundDuckPondNotes": "Mat vannfugler i Andedammen.", + "backgroundDuckPondText": "Andedam", + "backgrounds032019": "SETT 58: Utgitt Mars 2019", + "backgrounds092020": "SETT 76: Utgitt September 2020", + "backgrounds082020": "SETT 75: Utgitt August 2020", + "backgrounds122019": "SETT 67: Utgitt Desember 2019", + "backgrounds112019": "SETT 66: Utgitt November 2019", + "backgrounds102019": "SETT 65: Utgitt Oktober 2019", + "backgrounds092019": "SETT 64: Utgitt September 2019", + "backgrounds082019": "SETT 63: Utgitt August 2019", + "backgrounds072020": "SETT 74: Utgitt Juli 2020", + "backgrounds072019": "SETT 62: Utgitt Juli 2019", + "backgrounds062020": "SETT 73: Utgitt Juni 2020", + "backgrounds062019": "SETT 61: Utgitt Juni 2019", + "backgroundDojoNotes": "Lær nye bevegelser i en Dojo.", + "backgroundDojoText": "Dojo", + "backgrounds052019": "SETT 60: Utgitt Mai 2019", + "backgrounds052020": "SETT 72: Utgitt Mai 2020" +} diff --git a/website/common/locales/no/communityguidelines.json b/website/common/locales/no/communityguidelines.json index 1aa0717891..5ffed5db87 100755 --- a/website/common/locales/no/communityguidelines.json +++ b/website/common/locales/no/communityguidelines.json @@ -98,7 +98,7 @@ "commGuidePara063": "If you do not understand your consequences, or the nature of your infraction, ask the Staff/Moderators for help so you can avoid committing infractions in the future. If you feel a particular decision was unfair, you can contact the staff to discuss it at admin@habitica.com.", "commGuideHeadingMeet": "Møt Personalet og Moderatorene!", "commGuidePara006": "Habitica has some tireless knights-errant who join forces with the staff members to keep the community calm, contented, and free of trolls. Each has a specific domain, but will sometimes be called to serve in other social spheres.", - "commGuidePara007": "Stav har lilla merkelap med kroner. De har tittelen \"Heroic\".", + "commGuidePara007": "Stav har lilla merkelapper markert med kroner. De har tittelen \"Heltemodig\".", "commGuidePara008": "Moderatorene har mørkeblå merkelapper merket med stjerner. De har tittelen \"Guardian\". Det eneste unntaket er Bailey, som en NPC, har en svart og grønn merkelapp markert med en stjerne.", "commGuidePara009": "Gjeldende Stab er (fra venstre til høyre):", "commGuideAKA": "<%= habitName %> også kjent som <%= realName %>", diff --git a/website/common/locales/no/content.json b/website/common/locales/no/content.json index dcdc185666..1d552c5437 100755 --- a/website/common/locales/no/content.json +++ b/website/common/locales/no/content.json @@ -303,7 +303,7 @@ "foodCandyRed": "Kanel Godteri", "foodCandyRedThe": "the Cinnamon Candy", "foodCandyRedA": "Cinnamon Candy", - "foodSaddleText": "Sal", + "foodSaddleText": "Sadel", "foodSaddleNotes": "Gjør øyeblikkelig et av dine kjæledyr til ridedyr.", "foodSaddleSellWarningNote": "Hey! This is a pretty useful item! Are you familiar with how to use a Saddle with your Pets?", "foodNotes": "Fôr denne til et kjæledyr så det kan vokse seg til en stødig hingst.", diff --git a/website/common/locales/no/contrib.json b/website/common/locales/no/contrib.json index 09fd617fef..94ad11b8f5 100755 --- a/website/common/locales/no/contrib.json +++ b/website/common/locales/no/contrib.json @@ -8,7 +8,7 @@ "tier6": "Tier 6 (Champion)", "tier7": "Tier 7 (Legendary)", "tierModerator": "Moderator (Guardian)", - "tierStaff": "Staff (Heroic)", + "tierStaff": "Stab (Heltemodig)", "tierNPC": "NPC", "friend": "Venn", "friendFirst": "Når ditt første sett med bidrag tas i bruk, får du Habiticas Bidragsyteremblem. Navnet ditt i Kro-chatten viser stolt fram at du er bidragsyter. Som godtgjørelse for ditt arbeid, mottar du også 3 juveler.", @@ -77,4 +77,4 @@ "blurbChallenges": "Utfordringer blir laget av spillere. Blir du med i en utfordring, vil oppgavene legges til på ditt oppgave dashboard. Vinner du en utfordring får du en prestasjon og kanskje en juvelpremie!", "blurbHallPatrons": "Dette er Beskytterhallen, hvor vi hedrer de edle eventyrere som støttet Habitica's opprinnelige Kickstarter. Vi takker dem for å ha hjulpet oss med å bringe Habitica til liv!", "blurbHallContributors": "Dette er Hallen av Bidragsytere, hvor åpen-kildekode bidragsytere til Habitica blir æret. Om det er gjennom å kode, kunst, musikk, skriving eller å bare være hjelpsom; de har alle fortjent juveler, eksklusivt utstyr, og prestisjefylte titler. Du kan bidra til Habitica også! Finn ut mer her. " -} \ No newline at end of file +} diff --git a/website/common/locales/no/death.json b/website/common/locales/no/death.json index d5495e08c7..9dbdb02ac4 100755 --- a/website/common/locales/no/death.json +++ b/website/common/locales/no/death.json @@ -1,7 +1,7 @@ { "lostAllHealth": "Du gikk tom for Liv!", "dontDespair": "Fortvil ikke!", - "deathPenaltyDetails": "Du har mistet ett nivå, gullet ditt, og ett stykke utstyr, men du kan få alt tilbake med hardt arbeid. Lykke til--du klarer det!", + "deathPenaltyDetails": "Du har mistet ett nivå, gullet ditt, og ett stykke utstyr, men du kan få alt tilbake med hardt arbeid. Lykke til--du klarer det.", "refillHealthTryAgain": "Påfyll liv og prøv igjen", "dyingOftenTips": "Skjer dette ofte? Her er noen tips!", "losingHealthWarning": "Vær forsiktig - Du taper liv!", diff --git a/website/common/locales/no/defaulttasks.json b/website/common/locales/no/defaulttasks.json index 3e0921ed6c..d9aeaa41df 100755 --- a/website/common/locales/no/defaulttasks.json +++ b/website/common/locales/no/defaulttasks.json @@ -15,7 +15,7 @@ "defaultTodo2Text": "Fullfør Justins gjennomgang av oppgavene", "defaultTodo2Notes": "Besøke alle seksjonene på den nederste linjen", "defaultReward1Text": "15 minuters pause", - "defaultReward1Notes": "Selvvalgte belønninger kan komme i mange former. Noen vil utsette å se favorittserien sin til de har nok Gull til å betale for det!", + "defaultReward1Notes": "Selvvalgte belønninger kan komme i mange former. Noen vil utsette å se favorittserien sin til de har nok gull til å betale for det.", "defaultReward2Text": "Belønn deg selv", "defaultReward2Notes": "Se på TV, spill et spill, spis en godbit, det er opp til deg!", "defaultTag1": "Jobbe", @@ -42,7 +42,7 @@ "healthDailyNotes": "Trykk for å gjøre endringer!", "healthDailyText": "Bruk tanntråd", "healthHabit": "Spis sunt/søppelmat", - "exerciseTodoNotes": "Trykk for å legge til sjekkliste", + "exerciseTodoNotes": "Trykk for å legge til sjekkliste!", "exerciseTodoText": "Sett opp treningsplan", "exerciseDailyNotes": "Trykk for å velge plan og spesifisere øvelser!", "exerciseDailyText": "Tøying >> Daglig treningsrutine", diff --git a/website/common/locales/no/faq.json b/website/common/locales/no/faq.json index b137a4475b..473e2e56b0 100755 --- a/website/common/locales/no/faq.json +++ b/website/common/locales/no/faq.json @@ -45,8 +45,8 @@ "androidFaqAnswer10": "Gems are purchased with real money by tapping on the Gem icon in the header. When people buy Gems, they are helping us to keep the site running. We're very grateful for their support!\n\n In addition to buying Gems directly, there are three other ways players can gain Gems:\n\n * Win a Challenge that has been set up by another player. Go to Social > Challenges to join some.\n * Subscribe and unlock the ability to buy a certain number of Gems per month.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica).\n\n Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the app without them!", "webFaqAnswer10": "Gems are purchased with real money, although [subscribers](https://habitica.com/user/settings/subscription) can purchase them with Gold. When people subscribe or buy Gems, they are helping us to keep the site running. We're very grateful for their support! In addition to buying Gems directly or becoming a subscriber, there are two other ways players can gain Gems:\n* Win a Challenge that has been set up by another player. Go to Challenges > Discover Challenges to join some.\n * Contribute your skills to the Habitica project. See this wiki page for more details: [Contributing to Habitica](http://habitica.wikia.com/wiki/Contributing_to_Habitica). Keep in mind that items purchased with Gems do not offer any statistical advantages, so players can still make use of the site without them!", "faqQuestion11": "Hvordan rapporterer jeg en feil eller foreslår en ny funksjon?", - "iosFaqAnswer11": "You can report a bug, request a feature, or send feedback under Menu > About > Report a Bug and Menu > About > Send Feedback! We'll do everything we can to assist you.", - "androidFaqAnswer11": "Du kan rapportere en feil, foreslå en ny funksjon, eller sende tilbakemelding under Om Oss > Rapporter en Feil og Om Oss > Send Tilbakemelding! Vi vil gjøre alt vi kan for å hjelpe deg.", + "iosFaqAnswer11": "Hvis du tror du har opplevd en feil, kan du gå til Meny > Hjelp og FAQ > Få hjelp for å se etter hurtigløsninger, kjente problemer, eller for å rapportere feilen til oss. Vi vil gjøre alt vi kan for å hjelpe deg.\n\n For å sende tilbakemelding eller be om en funksjon, kan du få tilgang til tilbakemeldingsskjemaet vårt fra Meny > Hjelp og FAQ > Send Tilbakemelding. Hvis vi har spørsmål, kontakter vi deg for mer informasjon!", + "androidFaqAnswer11": "Hvis du tror du har opplevd en feil, kan du gå til Meny > Hjelp og FAQ > Få hjelp for å se etter hurtigløsninger, kjente problemer, eller for å rapportere feilen til oss. Vi vil gjøre alt vi kan for å hjelpe deg.\n\n For å sende tilbakemelding eller be om en funksjon, kan du få tilgang til tilbakemeldingsskjemaet vårt fra Meny > Hjelp og FAQ > Send Tilbakemelding. Hvis vi har spørsmål, kontakter vi deg for mer informasjon!", "webFaqAnswer11": "To report a bug, go to [Help > Report a Bug](https://habitica.com/groups/guild/a29da26b-37de-4a71-b0c6-48e72a900dac) and read the points above the chat box. If you're unable to log in to Habitica, send your login details (not your password!) to [<%= techAssistanceEmail %>](<%= wikiTechAssistanceEmail %>). Don't worry, we'll get you fixed up soon! Feature requests are collected on Trello. Go to [Help > Request a Feature](https://trello.com/c/odmhIqyW/440-read-first-table-of-contents) and follow the instructions. Ta-da!", "faqQuestion12": "Hvordan slåss jeg mot et Verdensmonster?", "iosFaqAnswer12": "World Bosses are special monsters that appear in the Tavern. All active users are automatically battling the Boss, and their tasks and Skills will damage the Boss as usual.\n\n You can also be in a normal Quest at the same time. Your tasks and Skills will count towards both the World Boss and the Boss/Collection Quest in your party.\n\n A World Boss will never hurt you or your account in any way. Instead, it has a Rage Bar that fills when users skip Dailies. If its Rage bar fills, it will attack one of the Non-Player Characters around the site and their image will change.\n\n You can read more about [past World Bosses](http://habitica.wikia.com/wiki/World_Bosses) on the wiki.", diff --git a/website/common/locales/no/gear.json b/website/common/locales/no/gear.json index 150bf46ddd..0b178bff74 100755 --- a/website/common/locales/no/gear.json +++ b/website/common/locales/no/gear.json @@ -1024,7 +1024,7 @@ "headSpecialSummer2017MageNotes": "This hat is composed entirely of a swirling, inverted whirlpool. Increases Perception by <%= per %>. Limited Edition 2017 Summer Gear.", "headSpecialSummer2017HealerText": "Crown of Sea Creatures", "headSpecialSummer2017HealerNotes": "This helm is made up of friendly sea creatures who are temporarily resting on your head, giving you sage advice. Increases Intelligence by <%= int %>. Limited Edition 2017 Summer Gear.", - "headSpecialFall2017RogueText": "Jack-o-Lantern Helm", + "headSpecialFall2017RogueText": "Gresskarlykthjelm", "headSpecialFall2017RogueNotes": "Ready for treats? Time to don this festive, glowing helm! Increases Perception by <%= per %>. Limited Edition 2017 Autumn Gear.", "headSpecialFall2017WarriorText": "Candy Corn Helm", "headSpecialFall2017WarriorNotes": "This helm might look like a treat, but wayward tasks won't find it so sweet! Increases Strength by <%= str %>. Limited Edition 2017 Autumn Gear.", @@ -1068,7 +1068,7 @@ "headSpecialFall2018HealerNotes": "This helm is fashioned from a carnivorous plant renowned for its ability to dispatch zombies and other inconveniences. Just watch out that it doesn't chew on your head. Increases Intelligence by <%= int %>. Limited Edition 2018 Autumn Gear.", "headSpecialNye2018Text": "Outlandish Party Hat", "headSpecialNye2018Notes": "You've received an Outlandish Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.", - "headSpecialWinter2019RogueText": "Poinsettia Helm", + "headSpecialWinter2019RogueText": "Julestjernehjelm", "headSpecialWinter2019RogueNotes": "This leafy helm will attain its brightest red color right around the darkest days of winter, helping you blend in with holiday decor! Increases Perception by <%= per %>. Limited Edition 2018-2019 Winter Gear.", "headSpecialWinter2019WarriorText": "Glacial Helm", "headSpecialWinter2019WarriorNotes": "It's important to keep a cool head! This icy helm will protect you from any opponent's blows. Increases Strength by <%= str %>. Limited Edition 2018-2019 Winter Gear.", diff --git a/website/common/locales/no/inventory.json b/website/common/locales/no/inventory.json index 09098c2470..10b82778ab 100755 --- a/website/common/locales/no/inventory.json +++ b/website/common/locales/no/inventory.json @@ -4,5 +4,5 @@ "eggsItemType": "Egg", "hatchingPotionsItemType": "Klekke-eliksir", "specialItemType": "Spesielle ting", - "lockedItem": "Locked Item" + "lockedItem": "Låst gjenstand" } diff --git a/website/common/locales/no/limited.json b/website/common/locales/no/limited.json index 5ef399e908..ce23b560de 100755 --- a/website/common/locales/no/limited.json +++ b/website/common/locales/no/limited.json @@ -20,9 +20,9 @@ "turkey": "Kalkun", "gildedTurkey": "Gyllen Kalkun", "polarBearPup": "Isbjørnunge", - "jackolantern": "Greskarlys", - "ghostJackolantern": "Spøkelses Gresskarlykt", - "glowJackolantern": "Glow-in-the-Dark Jack-O-Lantern", + "jackolantern": "Gresskarlykt", + "ghostJackolantern": "Spøkelsesgresskarlykt", + "glowJackolantern": "Lysende Gresskarlykt", "seasonalShop": "Sesongsbutikken", "seasonalShopClosedTitle": "<%= linkStart %>Leslie<%= linkEnd %>", "seasonalShopTitle": "<%= linkStart %>Sesongs Heks<%= linkEnd %>", @@ -30,9 +30,9 @@ "seasonalShopSummerText": "Ha en god Sommer Festival!! Ønsker du kjøpe noen sjeldne gjenstander? De vil kun være tiljengelig til den 31. Juli!", "seasonalShopFallText": "Ha en god Høst Festival!! Ønsker du kjøpe noen sjeldne gjenstander? De vil kun være tilgjengelig til den 31. Oktober!", "seasonalShopWinterText": "Ha det god Vinter Feiring!! Ønsker du kjøpe noen sjeldne gjenstander? De vil kun være tilgjengelig til den 31. Januar!", - "seasonalShopSpringText": "Happy Spring Fling!! Would you like to buy some rare items? They’ll only be available until April 30th!", + "seasonalShopSpringText": "Gratulerer med Våren!! Vil du kjøpe noen sjeldne gjenstander? De vil bare være tilgjengelige til 30. April!", "seasonalShopFallTextBroken": "Åh.... Velkommen til Sesongbutikken... Vi har inne Høstfestival goder, eller noe sånn... Alt her kan du kjøpe frem til 31. oktober... Jeg tipper du bør kjøpe nå, hvis ikke må du vente... og vente... og vente... *sukk*", - "seasonalShopBrokenText": "My pavilion!!!!!!! My decorations!!!! Oh, the Dysheartener's destroyed everything :( Please help defeat it in the Tavern so I can rebuild!", + "seasonalShopBrokenText": "Paviljongen min!!!!!!! Dekorasjonene mine!!!! Åh, Motløsheten ødela alt :( Hjelp til med å beseire den i Kroen så jeg kan gjenoppbygge den!", "seasonalShopRebirth": "Hvis du har kjøpt noe av dette utstyret tidligere, men ikke eier det i dag, kan du kjøpe det tilbake i Belønningskolonnen. I første omgang vil du bare være i stand til å kjøpe gjenstandene for din gjeldende klasse (Kriger som standard), men frykt ikke, de andre klassespesifikke gjenstandene vil bli tilgjengelig hvis du bytter til den klassen.", "candycaneSet": "Sukker Stang (Magiker)", "skiSet": "Ski-nikmorder (Røver)", @@ -120,16 +120,16 @@ "spring2018DucklingRogueSet": "Andunge (Røver)", "summer2018BettaFishWarriorSet": "Kampfisk (Kriger)", "summer2018LionfishMageSet": "Drakefisk (Magiker)", - "summer2018MerfolkMonarchSet": "Merfolk Monarch (Healer)", - "summer2018FisherRogueSet": "Fisher-Rogue (Rogue)", - "fall2018MinotaurWarriorSet": "Minotaur (Warrior)", - "fall2018CandymancerMageSet": "Candymancer (Mage)", - "fall2018CarnivorousPlantSet": "Carnivorous Plant (Healer)", - "fall2018AlterEgoSet": "Alter Ego (Rogue)", - "winter2019BlizzardSet": "Blizzard (Warrior)", - "winter2019PyrotechnicSet": "Pyrotechnic (Mage)", - "winter2019WinterStarSet": "Winter Star (Healer)", - "winter2019PoinsettiaSet": "Poinsettia (Rogue)", + "summer2018MerfolkMonarchSet": "Havfolk Monarken (Helbreder)", + "summer2018FisherRogueSet": "Fisker-Røver (Røver)", + "fall2018MinotaurWarriorSet": "Minotaur (Kriger)", + "fall2018CandymancerMageSet": "Godterimaner (Magiker)", + "fall2018CarnivorousPlantSet": "Kjøttetende Plante (Helbreder)", + "fall2018AlterEgoSet": "Alter Ego (Røver)", + "winter2019BlizzardSet": "Snøstorm (Kriger)", + "winter2019PyrotechnicSet": "Pyrotekniker (Magiker)", + "winter2019WinterStarSet": "Vinterstjerne (Helbreder)", + "winter2019PoinsettiaSet": "Julestjerne (Røver)", "eventAvailability": "Tilgjengelig for kjøp frem til <%= date(locale) %>.", "dateEndMarch": "April 30", "dateEndApril": "19 April", @@ -144,10 +144,10 @@ "dateEndFebruary": "Februar 28", "winterPromoGiftHeader": "GIFT A SUBSCRIPTION AND GET ONE FREE!", "winterPromoGiftDetails1": "Fram til 6. januar, når du gir noen et abonnement, får du det samme abonnementet gratis!", - "winterPromoGiftDetails2": "Please note that if you or your gift recipient already have a recurring subscription, the gifted subscription will only start after that subscription is cancelled or has expired. Thanks so much for your support! <3", + "winterPromoGiftDetails2": "Vær oppmerksom på at hvis du eller gavemottakeren allerede har et tilbakevendende abonnement, begynner det mottatte abonnementet først etter at abonnementet er kansellert eller har utløpt. Tusen takk for støtten! <3", "discountBundle": "bunt", - "g1g1Announcement": "Gift a Subscription, Get a Subscription Free event going on now!", - "g1g1Details": "Gift a sub to a friend from their profile and you’ll receive the same sub for free!", + "g1g1Announcement": "Gi et Abonnement, Få et Abonnement Gratis arrangement pågår nå!", + "g1g1Details": "Gi et abonnement til en venn fra profilen deres, så får du det samme abonnementet gratis!", "september2018": "September 2018", "september2017": "September 2017", "juneYYYY": "Juni <%= year %>", @@ -179,5 +179,9 @@ "spring2019CloudRogueSet": "Sky (Røver)", "spring2019RobinHealerSet": "Rødstrupe (Helbreder)", "spring2019AmberMageSet": "Rav (Magiker)", - "spring2019OrchidWarriorSet": "Orkidé (Kriger)" + "spring2019OrchidWarriorSet": "Orkidé (Kriger)", + "fall2020TwoHeadedRogueSet": "Tohodet (Røver)", + "fall2020ThirdEyeMageSet": "Tredje Øye (Magiker)", + "fall2020DeathsHeadMothHealerSet": "Dødningehodesvermer (Helbreder)", + "fall2020WraithWarriorSet": "Spekter (Kriger)" } diff --git a/website/common/locales/no/loginincentives.json b/website/common/locales/no/loginincentives.json index 9b7a6a5758..d12081d27d 100755 --- a/website/common/locales/no/loginincentives.json +++ b/website/common/locales/no/loginincentives.json @@ -7,7 +7,7 @@ "countLeft": "Innlogginger til din neste belønning: <%= count %>", "incentivesDescription": "Når det gjelder å bygge vaner, regelmessighet er nøkkelen. Hver dag logger inn, så kommer du nærmere en premie.", "totalCheckins": "<%= count %> Innlogginger", - "checkinEarned": "Ditt Innloggingsantall gikk opp", + "checkinEarned": "Ditt Innloggingsantall gikk opp!", "unlockedCheckInReward": "Du låste opp en Innloggingspremie!", "totalCheckinsTitle": "Totale Innlogginer", "checkinProgressTitle": "Fremskritt til neste", @@ -19,8 +19,8 @@ "oneOfAllHatchingPotions": "en av hvert standard Klekke-eliksir", "threeOfEachFood": "tre av hvert standard Kjæledyrmat", "fourOfEachFood": "Fire av hvert standard Kjæledyrmat", - "twoSaddles": "to saler", - "threeSaddles": "tre saler", + "twoSaddles": "to Sadler", + "threeSaddles": "tre Sadler", "incentiveAchievement": "Kongelig Lojal prestasjonen", "royallyLoyal": "Kongelig Lojal", "royallyLoyalText": "Denne brukeren har logget inn over 500 ganger, og har tjent alle Innloggingspremiene!", diff --git a/website/common/locales/no/messages.json b/website/common/locales/no/messages.json index 9ec7b23f6b..39910484c7 100755 --- a/website/common/locales/no/messages.json +++ b/website/common/locales/no/messages.json @@ -9,41 +9,41 @@ "messageCannotFeedPet": "Kan ikke mate dette kjæledyret.", "messageAlreadyMount": "Du har allerdede dette ridedyret. Prøv å mate et annet kjæledyr.", "messageEvolve": "Du har temmet <%= egg %>, la oss dra på tur!", - "messageLikesFood": "<%= egg %> really likes <%= foodText %>!", - "messageDontEnjoyFood": "<%= egg %> eats <%= foodText %> but doesn't seem to enjoy it.", + "messageLikesFood": "<%= egg %> liker virkelig <%= foodText %>!", + "messageDontEnjoyFood": "<%= egg %> spiser <%= foodText %>, men ser ikke ut til å like det.", "messageBought": "Kjøpte <%= itemText %>", "messageEquipped": " <%= itemText %> tatt på.", "messageUnEquipped": "Du tok av <%= itemText %>.", - "messageMissingEggPotion": "Du mangler enten egget eller eliksiren.", + "messageMissingEggPotion": "Du mangler enten det egget eller eliksiren", "messageInvalidEggPotionCombo": "Du kan ikke klekke Kjæledyregg fra Oppdrag med Magiske Klekke-eliksir! Prøv et annet egg.", "messageAlreadyPet": "Du har allerede det kjæledyret. Prøv å klekke en annen kombinasjon!", "messageHatched": "Egget ditt klekket! Besøk stallen din for å bruke kjæledyret.", "messageNotEnoughGold": "Ikke nok Gull", "messageTwoHandedEquip": "Du trenger begge hendene for å bruke <%= twoHandedText %>, så du tok av <%= offHandedText %>.", "messageTwoHandedUnequip": "Du trenger begge hendene for å bruke <%= twoHandedText %>. Du så deg nødt til å ta av <%= twoHandedText %> når du tok i bruk <%= offHandedText %>.", - "messageDropFood": "You've found <%= dropText %>!", - "messageDropEgg": "You've found a <%= dropText %> Egg!", - "messageDropPotion": "You've found a <%= dropText %> Hatching Potion!", + "messageDropFood": "Du fant <%= dropText %>!", + "messageDropEgg": "Du fant et <%= dropText %> Egg!", + "messageDropPotion": "Du fant en <%= dropText %> Klekke-Eliksir!", "messageDropQuest": "Du fant ett opdrag!", "messageDropMysteryItem": "Du åpner boksen og finner <%= dropText %>!", "messageFoundQuest": "Du har funnet oppdraget \"<%= questText %>\"!", "messageAlreadyPurchasedGear": "Du har kjøpt dette utstyret før, men du eier det ikke lengre. Du kan kjøpe det igjen i belønnings kolonnen pa oppgave siden.", "messageAlreadyOwnGear": "Du har dette utstyret. Utstyr det ved å gå til utstyr siden.", - "previousGearNotOwned": "You need to purchase a lower level gear before this one.", + "previousGearNotOwned": "Du må kjøpe et utstyr på lavere nivå før denne.", "messageHealthAlreadyMax": "Du har allerede maksimum helse.", "messageHealthAlreadyMin": "Å nei! Du har allerede gått tom for liv, så det er for sent for å kjøpe en Livseliksir, men ikke bekymre deg - Du kan bli gjenopplivet!", "armoireEquipment": "<%= image %> Du fant et stykke sjeldent utstyr i Skapet: <%= dropText %>! Fantastisk!", - "armoireFood": "<%= image %> You rummage in the Armoire and find <%= dropText %>. What's that doing in here?", + "armoireFood": "<%= image %> Du roter i Skapet og finner <%= dropText %>. Hva gjør denne her inne?", "armoireExp": "Du kjemper med Skapet og får Erfaring! Ta det!", "messageInsufficientGems": "Du har ikke nok Juveler!", "messageAuthPasswordMustMatch": ":password og :confirmPassword stemmer ikke overens", "messageAuthCredentialsRequired": ":username, :email, :password, :confirmedPassword er obligatorisk", "messageAuthEmailTaken": "Mailadressen er allerede i bruk", - "messageAuthNoUserFound": "Fant ingen bruker", + "messageAuthNoUserFound": "Fant ingen bruker.", "messageAuthMustBeLoggedIn": "Du må være innlogget.", "messageAuthMustIncludeTokens": "Du må inkludere en token og bid (bruker id) i forespørselen din", "messageGroupAlreadyInParty": "Du er allerede i en Klan, prøv å laste inn siden på nytt.", - "messageGroupOnlyLeaderCanUpdate": "Kun Gruppelederen har mulighet til å oppdatere Gruppen.", + "messageGroupOnlyLeaderCanUpdate": "Kun Gruppelederen har mulighet til å oppdatere Gruppen!", "messageGroupRequiresInvite": "Du kan ikke bli medlem i en Gruppe du ikke er invitert til.", "messageGroupCannotRemoveSelf": "Du kan ikke fjerne deg selv!", "messageGroupChatBlankMessage": "Du kan ikke sende en tom melding", @@ -53,16 +53,16 @@ "messageGroupChatAdminClearFlagCount": "Bare en administrator kan fjerne antall flagg!", "messageCannotFlagSystemMessages": "You cannot flag a system message. If you need to report a violation of the Community Guidelines related to this message, please email a screenshot and explanation to Lemoness at <%= communityManagerEmail %>.", "messageGroupChatSpam": "Å, det ses ut som du sender for mange meldinger! Vennligst vent et minutt og prøv igjen. Kroen beholder bare 200 meldinger før de blir slettet og derfor oppfordrer Habitica å skrive heller lengre or mer gjennomtenkte meldinger og hjelpfulle svar. Vi kan ikke vente å se hva du vil skrive. :)", - "messageCannotLeaveWhileQuesting": "You cannot accept this party invitation while you are in a quest. If you'd like to join this party, you must first abort your quest, which you can do from your party screen. You will be given back the quest scroll.", + "messageCannotLeaveWhileQuesting": "Du kan ikke godta denne klaninvitasjonen mens du er på oppdrag. Hvis du vil være med i denne klanen, må du først avbryte oppdraget ditt, noe du kan gjøre fra klanskjermen. Du vil få tilbake oppdragssrullen.", "messageUserOperationProtected": "bane `<%= operation %>` var ikke lagret ettersom det er en beskyttet bane.", "messageUserOperationNotFound": "<%= operation %> operasjonen ble ikke funnet", "messageNotificationNotFound": "Fant ikke varsel.", - "messageNotAbleToBuyInBulk": "This item cannot be purchased in quantities above 1.", - "notificationsRequired": "Varslings-ID er påkrevd", - "unallocatedStatsPoints": "You have <%= points %> unallocated Stat Points", + "messageNotAbleToBuyInBulk": "Denne gjenstanden kan ikke kjøpes i mengder over 1.", + "notificationsRequired": "Varslings-ID er påkrevd.", + "unallocatedStatsPoints": "Du har <%= points %> ufordelte Statistikkpoeng ", "beginningOfConversation": "Dette er begynnelsen på samtalen din med <% = userName %>.", - "messageDeletedUser": "Sorry, this user has deleted their account.", - "messageMissingDisplayName": "Missing display name.", + "messageDeletedUser": "Beklager, denne brukeren har slettet kontoen sin.", + "messageMissingDisplayName": "Manglende visningsnavn.", "canDeleteNow": "Du kan nå slette meldingen hvis du ønsker det.", "reportedMessage": "Du har rapportert denne meldingen til moderatorene.", "beginningOfConversationReminder": "Husk å være snill, respektfull og følg Retningslinjene for Fellesskapet!" diff --git a/website/common/locales/no/noscript.json b/website/common/locales/no/noscript.json index ebdeb00658..bc1ee4a2d3 100755 --- a/website/common/locales/no/noscript.json +++ b/website/common/locales/no/noscript.json @@ -1,6 +1,4 @@ { - - "jsDisabledHeadingFull": "Sukk! Nettleseren din har ikke JavaScript, og Habitica vil ikke fungere ordentlig uten.", - + "jsDisabledHeadingFull": "Sukk! Nettleseren din har ikke JavaScript, og Habitica vil ikke fungere ordentlig uten", "jsDisabledLink": "Vennligst aktiver JavaScript for å fortsette videre!" -} \ No newline at end of file +} diff --git a/website/common/locales/no/npc.json b/website/common/locales/no/npc.json index f8db391541..7ea7ea9320 100755 --- a/website/common/locales/no/npc.json +++ b/website/common/locales/no/npc.json @@ -10,20 +10,20 @@ "justinIntroMessageUsername": "Before we begin, let’s figure out what to call you. Below you’ll find a display name and username I’ve generated for you. After you’ve picked a display name and username, we’ll get started by creating an avatar!", "justinIntroMessageAppearance": "So how would you like to look? Don’t worry, you can change this later.", "introTour": "Here we are! I've filled out some Tasks for you based on your interests, so you can get started right away. Click a Task to edit or add new Tasks to fit your routine!", - "prev": "Prev", - "next": "Next", - "randomize": "Randomize", + "prev": "Forrige", + "next": "Neste", + "randomize": "Tilfeldig", "mattBoch": "Matt Boch", "mattBochText1": "Velkommen til stallen! Jeg er Matt dyretemmeren. Hver gang du fullfører en oppgave, så vil du ha en tilfeldig sansynlighet for å få et Egg eller en klekke-eliksir for å klekke Kjæledyr. Når du klekker et Kjæledyr vil det komme hit. Trykk på bildet til et Kjæledyr får å sette det ved siden av Avataren din. Fôr dem med Fôret du kan finne og de vil vokse seg til hårdføre Ridedyr.", "welcomeToTavern": "Velkommen til Kroa!", "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", + "sleepBullet1": "Daglige Gjøremål som du går glipp av vil ikke skade deg", "sleepBullet2": "Oppgaver mister ikke sin gjennomføringskjede", "sleepBullet3": "Sjefsmonstre vil ikke gjøre skade for dine egne ufullførte Daglige Gjøremål", "sleepBullet4": "Your boss damage or collection Quest items will stay pending until check-out", - "pauseDailies": "Pause Damage", - "unpauseDailies": "Unpause Damage", - "staffAndModerators": "Staff and Moderators", + "pauseDailies": "Pause Skadene", + "unpauseDailies": "Opphev pausen av Skadene", + "staffAndModerators": "Stab og Moderatorer", "communityGuidelinesIntro": "Habitica tries to create a welcoming environment for users of all ages and backgrounds, especially in public spaces like the Tavern. If you have any questions, please consult our Community Guidelines.", "acceptCommunityGuidelines": "Jeg godtar å følge Samfunnsretningslinjene", "worldBossEvent": "World Boss Event", diff --git a/website/common/locales/no/overview.json b/website/common/locales/no/overview.json index 779c32775d..65bcb86224 100755 --- a/website/common/locales/no/overview.json +++ b/website/common/locales/no/overview.json @@ -1,10 +1,10 @@ { "needTips": "Trenger du noen tips til hvordan du skal begynne? Her er en enkel veiledning!", "step1": "Nummer 1: Gå til Oppgaver", - "webStep1Text": "Habitica er ingenting uten virkelige mål, så skriv inn noen få oppgaver. Du kan legge til mer senere når du kommer på dem! Alle oppgaver kan legges til ved å klikke på den grønne \"Opprett\" -knappen.\n* **Sett opp [Gjøremål](https://habitica.fandom.com/wiki/To_Do%27s):** Skriv inn gjøremål du gjør en gang eller sjeldent i Gjøremål-kolonnen, en om gangen. Du kan klikke på oppgaven for å redigere den og legge til sjekkelister, forfallsdatoer og mer!\n* **Sett opp [Daglige Gjøremål](http://habitica.fandom.com/wiki/Dailies):** Skriv inn aktiviteter du trenger å gjøre daglig eller på en bestemt dag i uken, måneden eller året i Daglige Gjøremål-kolonnen . Klikk på oppgaven for å redigere når den forfaller og / eller angi en startdato. Du kan også gjøre det på gjentatt basis, for eksempel hver 3. dag.\n* **Sett opp [Vaner](http://habitica.fandom.com/wiki/Habits):** Enter habits you want to establish in the Habits column. Skriv inn vaner du vil etablere i Vaner-kolonnen. Du kan redigere vanen for å endre den til bare en god vane :heavy_plus_sign: eller en dårlig vane :heavy_minus_sign:\n* **Sett opp [Belønninger](http://habitica.fandom.com/wiki/Rewards):**I tillegg til belønningene i spillet som tilbys, kan du legge til aktiviteter eller godbiter som du vil bruke som motivasjon til Belønningskolonne. Det er viktig å gi deg en pause eller tillate litt nytelse i moderasjon!\n*Hvis du trenger inspirasjon til hvilke oppgaver du skal legge til, kan du se på wikisidene på [Eksempel på Vaner](http://habitica.fandom.com/wiki/Sample_Habits), [Eksempel på Daglige Gjøremål](http://habitica.fandom.com/wiki/Sample_Dailies), [Eksempel på Gjøremål](https://habitica.fandom.com/wiki/Sample_To_Do%27s), and [Eksempel på Belønninger](http://habitica.fandom.com/wiki/Sample_Custom_Rewards).", + "webStep1Text": "Habitica er ingenting uten virkelige mål, så skriv inn noen få oppgaver. Du kan legge til mer senere når du kommer på dem! Alle oppgaver kan legges til ved å klikke på den grønne \"Opprett\" -knappen.\n* **Sett opp [Gjøremål](https://habitica.fandom.com/wiki/To_Do%27s):** Skriv inn gjøremål du gjør en gang eller sjeldent i Gjøremål-kolonnen, en om gangen. Du kan klikke på oppgaven for å redigere den og legge til sjekklister, forfallsdatoer og mer!\n* **Sett opp [Daglige Gjøremål](http://habitica.fandom.com/wiki/Dailies):** Skriv inn aktiviteter du trenger å gjøre daglig eller på en bestemt dag i uken, måneden eller året i Daglige Gjøremål-kolonnen . Klikk på oppgaven for å redigere når den forfaller og / eller angi en startdato. Du kan også gjøre det på gjentatt basis, for eksempel hver 3. dag.\n* **Sett opp [Vaner](http://habitica.fandom.com/wiki/Habits):** Enter habits you want to establish in the Habits column. Skriv inn vaner du vil etablere i Vaner-kolonnen. Du kan redigere vanen for å endre den til bare en god vane :heavy_plus_sign: eller en dårlig vane :heavy_minus_sign:\n* **Sett opp [Belønninger](http://habitica.fandom.com/wiki/Rewards):**I tillegg til belønningene i spillet som tilbys, kan du legge til aktiviteter eller godbiter som du vil bruke som motivasjon til Belønningskolonne. Det er viktig å gi deg en pause eller tillate litt nytelse i moderasjon!\n*Hvis du trenger inspirasjon til hvilke oppgaver du skal legge til, kan du se på wikisidene på [Eksempel på Vaner](http://habitica.fandom.com/wiki/Sample_Habits), [Eksempel på Daglige Gjøremål](http://habitica.fandom.com/wiki/Sample_Dailies), [Eksempel på Gjøremål](https://habitica.fandom.com/wiki/Sample_To_Do%27s), and [Eksempel på Belønninger](http://habitica.fandom.com/wiki/Sample_Custom_Rewards).", "step2": "Nummer 2: Få poeng ved å gjøre ting i det virkelige liv", "webStep2Text": "Nå, begynn å gjøre dine mål fra listen! Etter hvert som du fullfører oppgaver og sjekker dem av i Habitica, vil du få [Erfaring] (http://habitica.wikia.com/wiki/Experience_Points), som hjelper deg å klatre i nivåene, og [Gull] (http://habitica.wikia.com/wiki/Gold_Points), som lar deg kjøpe belønninger. Hvis du faller inn i dårlige vaner eller ikke fullfører dine Daglige, vil du miste [Helse] (http://habitica.wikia.com/wiki/Health_Points). På den måten vil Habiticas Erfaring- og Helsebar fungere som en morsom indikator på din fremgang mot målene dine. Du vil begynne å se det virkelige liv forbedres samtidig som din bruker avanserer i spillet.", "step3": "Nummer 3: Tilpass og Utforsk Habitica", "webStep3Text": "Når du er kjent med det grunnleggende, kan du få enda mer ut av Habitica med disse smarte funksjonene:\n * Organiser oppgavene dine med [merkelapper] (http://habitica.fandom.com/wiki/Tags) (rediger en Oppgave for å legge dem til).\n * Tilpass [Avatar] (http://habitica.fandom.com/wiki/Avatar) ved å klikke på brukerikonet i øvre høyre hjørne.\n * Kjøp [Utstyr] (http://habitica.fandom.com/wiki/Equipment) under belønning eller fra [Butikkene] (<% = shopUrl %>), og endre det under [Eiendeler > Utstyr] (<% = equipUrl %>).\n * Få kontakt med andre brukere via [Kroa] (http://habitica.fandom.com/wiki/Tavern).\n * Klekk [Kjæledyr] (http://habitica.fandom.com/wiki/Pets) ved å samle [Egg] (http://habitica.fandom.com/wiki/Eggs) og [Klekke-eliksir] (http: // habitica.fandom.com/wiki/Hatching_Potions). [Fôr] (http://habitica.fandom.com/wiki/Mat) dem for å lage [Ridedyr] (http://habitica.fandom.com/wiki/Mounts).\n * På nivå 10: Velg en bestemt [Klasse] (http://habitica.fandom.com/wiki/Class_System) og bruk deretter klassespesifikk [ferdigheter] (http://habitica.fandom.com/wiki/Skills) (nivå 11 til 14).\n * Lag en klan med vennene dine (ved å klikke på [Klan] (<% = partyUrl %>) i navigasjonslinjen) for å holde deg ansvarlig og tjene oppdragsruller.\n * Beseire monstre og samle gjenstander på [Oppdrag] (http://habitica.fandom.com/wiki/Quests) (du får et oppdrag på nivå 15).", - "overviewQuestions": "Have questions? Check out the [FAQ](<%= faqUrl %>)! If your question isn't mentioned there, you can ask for further help in the [Habitica Help guild](<%= helpGuildUrl %>).\n\nGood luck with your tasks!" + "overviewQuestions": "Har du spørsmål? Sjekk ut [FAQ] (<% = faqUrl %>)! Hvis spørsmålet ditt ikke er nevnt der, kan du be om ytterligere hjelp i [Habitica Hjelpeklanen] (<% = helpGuildUrl%>).\n\nLykke til med oppgavene dine!" } diff --git a/website/common/locales/no/questscontent.json b/website/common/locales/no/questscontent.json index cb69ba43fa..4a7bb60913 100755 --- a/website/common/locales/no/questscontent.json +++ b/website/common/locales/no/questscontent.json @@ -11,7 +11,7 @@ "questEvilSanta2CollectBranches": "Brukne Grener", "questEvilSanta2DropBearCubPolarPet": "Isbjørn (kjæledyr)", "questGryphonText": "Den Brennende Griff", - "questGryphonNotes": "Den store dyrenes herre, baconsaur, har kommet til din klan for hjelp. \"Vær så snill, eventyrere, dere må hjelpe meg! Min dyrebare griff har brutt fri og terroriserer Vane By! Hvis dere kan stoppe henne, can jeg belønne dere med noen av eggene hennes!\"", + "questGryphonNotes": "Den Dyretemmeren, baconsaur, har kommet til din klan for hjelp. \"Vær så snill, eventyrere, dere må hjelpe meg! Min dyrebare griff har brutt fri og terroriserer Vane By! Hvis dere kan stoppe henne, can jeg belønne dere med noen av eggene hennes!\"", "questGryphonCompletion": "Beseiret, lusker de mektige dyred tilbake til sin herre. \"Mitt ord! God jobb, eventyrere!\" baconsaur roper, \"Vennligst, ta noen av griffens egg. Jeg er sikker på att dere vil oppdra disse ungene godt!\"", "questGryphonBoss": "Brennende Griff", "questGryphonDropGryphonEgg": "Griff (Egg)", diff --git a/website/common/locales/no/rebirth.json b/website/common/locales/no/rebirth.json index 5cb48689f8..cb6275e216 100755 --- a/website/common/locales/no/rebirth.json +++ b/website/common/locales/no/rebirth.json @@ -1,8 +1,8 @@ { "rebirthNew": "Gjenfødelse: Nytt eventyr tilgjengelig!", - "rebirthUnlock": "Du har låst opp Gjenfødelse! Dette spesielle objektet lar deg begynne et nytt spill på nivå 1 samtidig som du beholder oppgaver, prestasjoner, kjæledyr og mer. Bruk det til puste nytt liv inn i Habitica hvis du føler at du har oppnådd alt du kan, eller for å oppleve nye funksjoner fra start.", - "rebirthAchievement": "Du har startet et nytt eventyr! Dette er din Gjenfødelse nummer <%= number %> og det høyeste Nivå du har oppnådd er <%= level %>. For å stable denne Prestasjonen, start ditt nye eventyr da du har oppnådd et ennå høyere Nivå.", - "rebirthAchievement100": "Du har startet et nytt eventyr! Dette er din Gjenfødsel nummer <%= number %> og det høyeste Nivået du har oppnådd er 100 eller høyere. For å stable denne Prestasjonen må du starte det neste nye eventyret når du har nådd et enda høyere Nivå.", + "rebirthUnlock": "Du har låst opp Gjenfødelse! Dette spesielle objektet lar deg begynne et nytt spill på nivå 1 samtidig som du beholder oppgaver, prestasjoner, kjæledyr og mer. Bruk det til puste nytt liv inn i Habitica hvis du føler at du har oppnådd alt du kan, eller for å oppleve nye funksjoner fra start!", + "rebirthAchievement": "Du har startet et nytt eventyr! Dette er din Gjenfødelse nummer <%= number %> og det høyeste Nivå du har oppnådd er <%= level %>. For å stable denne Prestasjonen, start ditt nye eventyr da du har oppnådd et ennå høyere Nivå!", + "rebirthAchievement100": "Du har startet et nytt eventyr! Dette er din Gjenfødsel nummer <%= number %> og det høyeste Nivået du har oppnådd er 100 eller høyere. For å stable denne Prestasjonen må du starte det neste nye eventyret når du har nådd et enda høyere Nivå!", "rebirthBegan": "Startet et nytt eventyr", "rebirthText": "Startet <%= rebirths %> nye eventyr", "rebirthOrb": "Brukte en Gjenfødelseskule til å starte på nytt etter å ha nådd Nivå <%= level %>.", diff --git a/website/common/locales/no/subscriber.json b/website/common/locales/no/subscriber.json index 8cfd93f191..63dd2bf0ca 100755 --- a/website/common/locales/no/subscriber.json +++ b/website/common/locales/no/subscriber.json @@ -120,7 +120,7 @@ "choosePaymentMethod": "Choose your payment method", "buyGemsSupportsDevs": "Purchasing Gems supports the developers and helps keep Habitica running", "support": "SUPPORT", - "gemBenefitLeadin": "Gems allow you to buy fun extras for your account, including:", + "gemBenefitLeadin": "Hva kan du kjøpe med Juveler?", "gemBenefit1": "Unique and fashionable costumes for your avatar.", "gemBenefit2": "Backgrounds to immerse your avatar in the world of Habitica!", "gemBenefit3": "Exciting Quest chains that drop pet eggs.", diff --git a/website/common/locales/pt_BR/gear.json b/website/common/locales/pt_BR/gear.json index 7a56f0224a..8823e75554 100644 --- a/website/common/locales/pt_BR/gear.json +++ b/website/common/locales/pt_BR/gear.json @@ -2171,5 +2171,35 @@ "armorArmoireGuardiansGownNotes": "Um belo traje rústico, com costuras surpreendentemente robustas! Aumenta a inteligência em <%= int %>. Armário Encantado: Conjunto Guardião dos Pastos (Item 3 de 3).", "armorArmoireGuardiansGownText": "Vestido da Guardiã", "weaponArmoireGuardiansCrookNotes": "Este cajado do pastor pode vir a ser útil na próxima vez que você levar seus mascotes para um passeio no campo... Aumenta a Força em <%= str %>. Armário Encantado: Conjunto Guardião dos Pastos (Item 2 de 3).", - "weaponArmoireGuardiansCrookText": "Cajado do Guardião" + "weaponArmoireGuardiansCrookText": "Cajado do Guardião", + "shieldSpecialFall2020HealerNotes": "É outra mariposa que você carrega, ainda em metamorfose? Ou simplesmente uma bolsa de seda, contendo suas ferramentas de cura e profecia? Aumenta a Constituição em <%= con %>. Edição limitada de Equipamento de Outono 2020.", + "shieldSpecialFall2020HealerText": "Bolsa de Casulo", + "shieldSpecialFall2020WarriorNotes": "Pode parecer insubstancial, mas este escudo espectral pode mantê-lo protegido de todos os tipos de danos. Aumenta a Constituição em <%= con %>. Edição limitada de Equipamento de Outono 2020.", + "shieldSpecialFall2020WarriorText": "Escudo do Espírito", + "shieldSpecialFall2020RogueNotes": "Empunhando uma katar, é melhor você ser rápido ... Esta lâmina será útil se você atacar rápido, mas não se comprometa demais! Aumenta a Força em <%= str %>. Edição limitada de Equipamento de Outono 2020.", + "shieldSpecialFall2020RogueText": "Katar Rápida", + "headSpecialFall2020HealerNotes": "A terrível palidez desse rosto de caveira brilha como um aviso a todos os mortais: O tempo voa! Cumpra seus prazos, antes que seja tarde demais! Aumenta a Inteligência em <%= int %>. Edição limitada de Equipamento de Outono 2020.", + "headSpecialFall2020HealerText": "Máscara da Morte", + "headSpecialFall2020MageNotes": "Com este capuz assentado perfeitamente em sua testa, seu terceiro olho se abre, permitindo que você se concentre no que de outra forma seria invisível: fluxos de mana, espíritos inquietos e tarefas esquecidas. Aumenta a Percepção em <%= per %>. Edição limitada de Equipamento de Outono 2020.", + "headSpecialFall2020MageText": "Clareza Desperta", + "headSpecialFall2020WarriorNotes": "O Guerreiro que uma vez usava isso nunca se esquivou das tarefas mais pesadas! Mas outras pessoas podem se esquivar quando você o usa... Aumenta a Força em <%= str %>. Edição limitada de Equipamento de Outono 2020.", + "headSpecialFall2020WarriorText": "Capuz Assustador", + "headSpecialFall2020RogueNotes": "Olhe duas vezes, aja uma vez: esta máscara torna tudo mais fácil. Aumenta a percepção em <%= per %>. Edição limitada de Equipamento de Outono 2020.", + "headSpecialFall2020RogueText": "Máscara de Pedra de Duas Cabeças", + "armorSpecialFall2020HealerNotes": "Seu esplendor se revela à noite, e aqueles que te testemunham em voo se perguntam o que esse presságio pode significar. Aumenta a Constituição em <%= con %>. Edição limitada de Equipamento de Outono 2020.", + "armorSpecialFall2020HealerText": "Asas de Mariposa-Esfinge", + "armorSpecialFall2020MageNotes": "Essas vestes de asas largas dão a impressão de pairar ou voar, simbolizando a perspectiva da visão além do alcance concedida pelo vasto conhecimento. Aumenta a Inteligência em <%= int %>. Edição limitada de Equipamento de Outono 2020.", + "armorSpecialFall2020MageText": "Elevado Pela Iluminação", + "armorSpecialFall2020WarriorNotes": "Essas vestes uma vez protegeram um poderoso Guerreiro do perigo. Dizem que o espírito do Guerreiro permanece no pano para guardar um sucessor digno. Aumenta a Constituição em <%= con %>. Edição limitada de Equipamento de Outono 2020.", + "armorSpecialFall2020WarriorText": "Manto do Regressado", + "armorSpecialFall2020RogueNotes": "Assuma a força da pedra com esta armadura, que garante repelir os ataques mais ferozes. Aumenta a Percepção em <%= per %>. Edição limitada de Equipamento de Outono 2020.", + "armorSpecialFall2020RogueText": "Armadura Estatuária", + "weaponSpecialFall2020HealerNotes": "Agora que sua transformação está completa, este resto de sua vida como pupa agora serve como a vara de adivinhação com a qual você mede os destinos. Aumenta a Inteligência em <%= int %>. Edição limitada de Equipamento de Outono 2020.", + "weaponSpecialFall2020HealerText": "Cano de Casulo", + "weaponSpecialFall2020MageNotes": "Se algo escapar de sua visão de mago, os cristais brilhantes no topo deste cajado iluminarão o que você negligenciou. Aumenta Inteligência em <%= int %> e Percepção em <%= per %>. Edição limitada de Equipamento de Outono 2020.", + "weaponSpecialFall2020MageText": "Três Visões", + "weaponSpecialFall2020RogueNotes": "Perfure seu inimigo com um golpe certeiro! Até mesmo a armadura mais grossa cederá à sua lâmina. Aumenta a Força em <%= str %>. Edição Limitada de Equipamento de Outono 2020.", + "weaponSpecialFall2020WarriorNotes": "Esta espada foi para a vida após a morte com um poderoso Guerreiro e retorna para você empunhar! Aumenta a Força em <%= str %>. Edição Limitada de Equipamento de Outono 2020.", + "weaponSpecialFall2020WarriorText": "Espada de Espectro", + "weaponSpecialFall2020RogueText": "Katar Afiada" } diff --git a/website/common/locales/pt_BR/limited.json b/website/common/locales/pt_BR/limited.json index 460db4421c..79bd4800bc 100644 --- a/website/common/locales/pt_BR/limited.json +++ b/website/common/locales/pt_BR/limited.json @@ -180,5 +180,9 @@ "summer2020CrocodileRogueSet": "Crocodilo (Gatuno(a))", "summer2020SeaGlassHealerSet": "Vidro do Mar (Curandeiro(a))", "summer2020OarfishMageSet": "Peixe-Remo (Mago(a))", - "summer2020RainbowTroutWarriorSet": "Truta arco-íris (Guerreiro(a))" + "summer2020RainbowTroutWarriorSet": "Truta arco-íris (Guerreiro(a))", + "fall2020WraithWarriorSet": "Espectro (Guerreiro(a))", + "fall2020DeathsHeadMothHealerSet": "Mariposa da Cabeça da Morte (Curandeiro(a))", + "fall2020TwoHeadedRogueSet": "Duas Cabeças (Gatuno(a))", + "fall2020ThirdEyeMageSet": "Terceiro Olho (Mago(a))" } diff --git a/website/common/locales/pt_BR/settings.json b/website/common/locales/pt_BR/settings.json index c9bbfc2ed8..1cc0ba52fe 100644 --- a/website/common/locales/pt_BR/settings.json +++ b/website/common/locales/pt_BR/settings.json @@ -181,5 +181,6 @@ "newPMNotificationTitle": "Nova Mensagem de <%= name %>", "chatExtensionDesc": "As extensões de bate-papo para o Habitica adiciona uma caixa intuitiva de conversação para todos os espaços sociais do habitica.com. Isso permite que os usuários conversem na Taverna, em seu grupo e nas guildas as quais fazem parte.", "chatExtension": "Extensão de Bate-papo para o Chrome e Extensão de bate-papo para o Firefox", - "displaynameIssueNewline": "Os nomes de exibição não podem conter barras invertidas seguidas pela letra N." + "displaynameIssueNewline": "Os nomes de exibição não podem conter barras invertidas seguidas pela letra N.", + "resetAccount": "Resetar Conta" } diff --git a/website/common/locales/pt_BR/subscriber.json b/website/common/locales/pt_BR/subscriber.json index 96bb403544..f9d090c465 100644 --- a/website/common/locales/pt_BR/subscriber.json +++ b/website/common/locales/pt_BR/subscriber.json @@ -121,7 +121,7 @@ "choosePaymentMethod": "Escolha seu método de pagamento", "buyGemsSupportsDevs": "A compra de Gemas dá o apoio necessário para os desenvolvedores continuarem movimentando o Habitica", "support": "SUPORTE", - "gemBenefitLeadin": "As Gemas permitem que você compre coisas divertidas para sua conta, incluindo:", + "gemBenefitLeadin": "O que você pode comprar com Gemas?", "gemBenefit1": "Trajes únicos e elegantes para o seu avatar.", "gemBenefit2": "Cenários para a imersão do seu avatar no mundo do Habitica!", "gemBenefit3": "Sequências empolgantes de Missões que dropam ovos de mascotes.", @@ -174,5 +174,10 @@ "mysterySet202008": "Conjunto do Oráculo Coruja", "mysterySet202009": "Conjunto Mariposa Maravilhosa", "gemsPurchaseNote": "Assinantes podem comprar Gemas com ouro no Mercado! Para facilitar o acesso, você também pode fixar a Gema na sua coluna Recompensas.", - "subscriptionAlreadySubscribedLeadIn": "Obrigado por assinar!" + "subscriptionAlreadySubscribedLeadIn": "Obrigado por assinar!", + "usuallyGems": "Normalmente <%= originalGems %>", + "supportHabitica": "Suporte Habitica", + "organization": "Organização", + "cancelSubInfoApple": "Siga as instruções oficiais da Apple para cancelar sua assinatura ou para ver a data de término da assinatura, caso já a tenha cancelado. Esta tela não mostra se sua assinatura foi cancelada.", + "cancelSubInfoGoogle": "Vá para a seção \"Conta\" > \"Assinaturas\" do aplicativo Google Play Store para cancelar sua assinatura ou para ver a data de término da assinatura, caso já a tenha cancelado. Esta tela não mostra se sua assinatura foi cancelada." } diff --git a/website/common/locales/ru/gear.json b/website/common/locales/ru/gear.json index 89cec67c26..fd8b91ec88 100644 --- a/website/common/locales/ru/gear.json +++ b/website/common/locales/ru/gear.json @@ -2078,5 +2078,11 @@ "weaponSpecialSpring2020RogueText": "Лазуритовый клинок", "headMystery202007Text": "Головной убор крутой косатки", "armorMystery202007Text": "Костюм крутой косатки", - "shieldArmoireMortarAndPestleText": "Ступка и пестик" + "shieldArmoireMortarAndPestleText": "Ступка и пестик", + "headSpecialFall2020HealerText": "Маска Мертвой головы", + "weaponSpecialFall2020WarriorText": "Меч призрака", + "headSpecialFall2020RogueText": "Двуглавая каменная маска", + "headSpecialFall2020WarriorText": "Жуткий капюшон", + "weaponSpecialFall2020RogueText": "Острый катар", + "shieldSpecialFall2020RogueText": "Шустрый катар" } diff --git a/website/common/locales/ru/limited.json b/website/common/locales/ru/limited.json index 3102d281a1..de5fa36069 100644 --- a/website/common/locales/ru/limited.json +++ b/website/common/locales/ru/limited.json @@ -180,5 +180,9 @@ "summer2020OarfishMageSet": "Сельдяной король (Маг)", "summer2020RainbowTroutWarriorSet": "Радужная форель (Воин)", "juneYYYY": "Июнь <%= year %>", - "spring2020LapisLazuliRogueSet": "Ляпис-лазурь (Разбойник)" + "spring2020LapisLazuliRogueSet": "Ляпис-лазурь (Разбойник)", + "fall2020WraithWarriorSet": "Призрак (Воин)", + "fall2020TwoHeadedRogueSet": "Двуглавый (Разбойник)", + "fall2020ThirdEyeMageSet": "Третий глаз (Маг)", + "fall2020DeathsHeadMothHealerSet": "Бражник мёртвая голова (Целитель)" } diff --git a/website/common/locales/ru/settings.json b/website/common/locales/ru/settings.json index 8d0c2a0b6a..ddf9a206ba 100644 --- a/website/common/locales/ru/settings.json +++ b/website/common/locales/ru/settings.json @@ -181,5 +181,6 @@ "newPMNotificationTitle": "Новое сообщение от <%= name %>", "chatExtensionDesc": "Чат расширение для Habitica добавит интуитивно-понятное окно чата для всего сайта habitica.com. Оно позволяет пользователям общаться в таверне, их команде и всех их гильдиях.", "chatExtension": "чат расширение для Chrome и чат расширение для Firefox", - "displaynameIssueNewline": "Отображаемые имена не могут содержать обратную косую черту, за которой следует буква N." + "displaynameIssueNewline": "Отображаемые имена не могут содержать обратную косую черту, за которой следует буква N.", + "resetAccount": "Сброс учетной записи" } diff --git a/website/common/locales/ru/subscriber.json b/website/common/locales/ru/subscriber.json index 97e6d9945e..9fa553b9d3 100644 --- a/website/common/locales/ru/subscriber.json +++ b/website/common/locales/ru/subscriber.json @@ -121,7 +121,7 @@ "choosePaymentMethod": "Выберите ваш метод оплаты", "buyGemsSupportsDevs": "Покупка самоцветов поддерживает разработчиков и помогает работе Habitica", "support": "Поддержка", - "gemBenefitLeadin": "Самоцветы дают возможность купить веселые дополнения для аккаунта, в том числе:", + "gemBenefitLeadin": "Что можно купить Самоцветами?", "gemBenefit1": "Уникальные и стильные костюмы для вашего аватара.", "gemBenefit2": "Фоны для вовлечения Вашего аватара в страну Habitica!", "gemBenefit3": "Потрясающие квестовые серии, дающие трофейные яйца питомцев.", @@ -165,5 +165,8 @@ "subMonths": "Мес. подписки", "mysterySet202007": "Набор Крутой косатки", "gemsPurchaseNote": "Подписчики могут купить самоцветы за золото! Чтобы было проще, вы можете просто добавить самоцвет в колонку наград.", - "subscriptionAlreadySubscribedLeadIn": "Спасибо за подписку!" + "subscriptionAlreadySubscribedLeadIn": "Спасибо за подписку!", + "organization": "Организация", + "supportHabitica": "Поддержать Habitica", + "usuallyGems": "Обычно <%= originalGems %>" } diff --git a/website/common/locales/zh_HK/death.json b/website/common/locales/zh_HK/death.json index c1209ed29d..7ed2863ab2 100755 --- a/website/common/locales/zh_HK/death.json +++ b/website/common/locales/zh_HK/death.json @@ -3,7 +3,7 @@ "dontDespair": "先別絕望!", "deathPenaltyDetails": "你的等級降下一級,也失去了你的金幣和一件裝備;但只要你繼續努力,這一切都可以賺回來。加油!你一定會成功!", "refillHealthTryAgain": "回復生命值,再來一次", - "dyingOftenTips": "慘劇不斷重演?這些提示應能幫得上忙!", + "dyingOftenTips": "慘劇不斷重演?這些提示應能幫得上忙!", "losingHealthWarning": "小心-你的生命值正在一點一滴地流走!", "losingHealthWarning2": "小心別讓生命值降至零!你的等級會降下一級,也會失去金幣和一件裝備。", "toRegainHealth": "要恢復生命值:", @@ -14,4 +14,4 @@ "lowHealthTips4": "如果某一天不需要做每日任務,您可以通過點擊鉛筆圖標停用它。", "goodLuck": "祝你好運!", "cannotRevive": "還沒死亡,未能復活" -} \ No newline at end of file +} From 7f208eb141710a8bfad73756f8d2cfcc00685484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=9D=E3=82=89?= Date: Thu, 24 Sep 2020 02:38:11 +0000 Subject: [PATCH 02/90] Translated using Weblate (Japanese) Currently translated at 96.0% (168 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/ja/ --- website/common/locales/ja/subscriber.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/common/locales/ja/subscriber.json b/website/common/locales/ja/subscriber.json index 30616221b1..f1811a7c09 100644 --- a/website/common/locales/ja/subscriber.json +++ b/website/common/locales/ja/subscriber.json @@ -1,20 +1,20 @@ { - "subscription": "寄付", - "subscriptions": "寄付", + "subscription": "有料プラン", + "subscriptions": "有料プラン", "sendGems": "ジェムを送る", "buyGemsGold": "ゴールドでジェムを購入", "mustSubscribeToPurchaseGems": "ゴールドでジェムを買うには、寄付が必要です", "reachedGoldToGemCap": "ゴールドで買えるジェムの上限が今月で <%= convCap %> に達しました。乱用や不正なジェムの増殖を止めるために上限を設けています。制限は毎月1日から3日のいずれかの時点で解除されます。", "reachedGoldToGemCapQuantity": "あなたがリクエストした数 <%= quantity %> は、今月中に購入できる上限数を超えています(<%= convCap %>)。毎月1日から3日のいずれかの時点で、最大数が利用可能になります。ご寄付いただきありがとうございます!", "mysteryItem": "毎月の限定アイテム", - "mysteryItemText": "毎月、アバターを個性的に装飾するアイテムが手に入ります! さらに寄付の継続3カ月ごとに、謎のタイムトラベラーによって、歴史的(そして未来的!)な装飾アイテムが入手可能になります。", + "mysteryItemText": "毎月、アバターを個性的に装飾するアイテムが手に入ります! さらに有料プランの継続3カ月ごとに、謎のタイムトラベラーによって、歴史的(そして未来的!)な装飾アイテムが入手可能になります。", "exclusiveJackalopePet": "限定ペット", - "giftSubscription": "だれかに寄付会員特典をプレゼントしますか?", + "giftSubscription": "だれかに有料プランをプレゼントしますか?", "giftSubscriptionText4": "Habitica へのご支援に感謝します!", "groupPlans": "グループプラン", "subscribe": "購入", "nowSubscribed": "あなたは現在 Habiticaに寄付しています!", - "cancelSub": "寄付の中止", + "cancelSub": "有料プランのキャンセル", "cancelSubInfoGroupPlan": "グループプランによって無料の寄付会員特典が付与されているので、キャンセルすることはできません。あなたがグループプランのメンバーではなくなったときに終了します。もしあなたがグループリーダーで、グループプランをキャンセルしたい場合は、グループプランの「グループの請求」タブからキャンセルできます。", "cancelingSubscription": "寄付の中止処理をしています", "contactUs": "お問い合わせ", @@ -151,8 +151,8 @@ "mysterySet202001": "伝説のキツネセット", "backgroundAlreadyOwned": "この背景はすでにもっています。", "mysticHourglassNeededNoSub": "このアイテムには神秘の砂時計が必要です。Habiticaの寄付会員になることで神秘の砂時計を手に入れることができます。", - "viewSubscriptions": "寄付を見る", - "giftASubscription": "寄付会員特典を贈る", + "viewSubscriptions": "有料プランを見る", + "giftASubscription": "有料プランを贈る", "doubleDropCap": "落とし物を2倍に", "monthlyMysteryItems": "毎月のミステリーアイテム", "subscribersReceiveBenefits": "寄付会員はこれらの有益な特典を受けられます!", From 0b20f8a9808ff2b89ac4b7e8c35ba6c80d04ad5e Mon Sep 17 00:00:00 2001 From: Kitty Kat Date: Thu, 24 Sep 2020 03:13:19 +0000 Subject: [PATCH 03/90] Translated using Weblate (Hindi) Currently translated at 75.7% (422 of 557 strings) Translation: Habitica/Backgrounds Translate-URL: https://translate.habitica.com/projects/habitica/backgrounds/hi/ --- website/common/locales/hi_IN/backgrounds.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/common/locales/hi_IN/backgrounds.json b/website/common/locales/hi_IN/backgrounds.json index 9fd6ce1626..83007c0ab3 100755 --- a/website/common/locales/hi_IN/backgrounds.json +++ b/website/common/locales/hi_IN/backgrounds.json @@ -420,5 +420,6 @@ "backgroundHalflingsHouseText": "हल्फलिंग का घर", "backgroundBirchForestText": "बर्च का वन", "backgroundFlowerMarketText": "फूलों के बाजार", - "backgroundDuckPondText": "बत्तख के तालाब" + "backgroundDuckPondText": "बत्तख के तालाब", + "backgrounds032019": "सेट 58: मार्च 2019 में रिलीज़ हो गया" } From 043f34d61931a788ae862d479a13a6cbd5d557cf Mon Sep 17 00:00:00 2001 From: Anas HARNOUCH Date: Thu, 24 Sep 2020 12:38:05 +0000 Subject: [PATCH 04/90] Translated using Weblate (French) Currently translated at 100.0% (2171 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/ --- website/common/locales/fr/gear.json | 31 ++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json index 99c98e43b7..178bb7d276 100644 --- a/website/common/locales/fr/gear.json +++ b/website/common/locales/fr/gear.json @@ -2171,5 +2171,34 @@ "armorArmoireGuardiansGownNotes": "Une belle blouse rustique, avec des coutures étonnamment robustes ! Augmente l'intelligence de <%= int %>. Armoire enchantée : ensemble de gardiennage des brouteurs (objet 3 de 3).", "armorArmoireGuardiansGownText": "Blouse de bergerie", "weaponArmoireGuardiansCrookNotes": "Ce crochet de bergerie pourrait vous être utile la prochaine fois que vous emmènerez vos familiers dans les pâturages... Augmente la force de <%= str %>. Armoire enchantée : ensemble de gardiennage des brouteurs (objet 2 de 3).", - "weaponArmoireGuardiansCrookText": "Crochet de bergerie" + "weaponArmoireGuardiansCrookText": "Crochet de bergerie", + "armorSpecialFall2020MageText": "L'illumination aérienne", + "shieldSpecialFall2020HealerNotes": "Est-ce un autre papillon de nuit que vous portez, toujours en cours de métamorphose ? Ou simplement un sac à main en soie, contenant vos outils de guérison et de prophétie ? Augmente la Constitution de <%= con %>. Équipement d'automne édition limitée 2020 .", + "shieldSpecialFall2020HealerText": "Cocon fourre-tout", + "shieldSpecialFall2020WarriorNotes": "Il peut paraître immatériel, mais ce bouclier spectral peut vous protéger de toutes sortes de dangers. Augmente la Constitution de <%= con %>. Équipement d'automne édition limitée 2020.", + "shieldSpecialFall2020WarriorText": "Bouclier de l'esprit", + "shieldSpecialFall2020RogueNotes": "En brandissant un katar, vous feriez mieux d'être rapide... Cette lame vous servira bien si vous frappez vite, mais ne vous engagez pas trop ! Augmente la force de <%= str %>. Equipement d'automne édition limitée 2020.", + "shieldSpecialFall2020RogueText": "Katar rapide", + "headSpecialFall2020HealerNotes": "L'affreuse pâleur de ce visage en forme de crâne est un avertissement pour tous les mortels : Le temps est éphémère ! Respectez vos délais, avant qu'il ne soit trop tard ! Augmente l'intelligence de <%= int %>. Équipement d'automne édition limitée 2020.", + "headSpecialFall2020HealerText": "Masque de la tête de mort", + "headSpecialFall2020MageNotes": "Avec cette coiffe parfaitement placée sur votre front, votre troisième œil s'ouvre, vous permettant de vous concentrer sur ce qui est autrement invisible : le flot de mana, les esprits agités et les To-Dos oubliés. Augmente la perception de <%= par %>. Équipement d'automne édition limitée 2020.", + "headSpecialFall2020MageText": "Clarté éveillée", + "headSpecialFall2020WarriorNotes": "Le guerrier qui portait cette capuche n'a jamais reculé devant les tâches les plus lourdes ! Mais d'autres pourraient s'écarter de vous lorsque vous le portez... Augmente la force de <%= str %>. Équipement d'automne en édition limitée 2020.", + "headSpecialFall2020WarriorText": "Capuche effrayante", + "headSpecialFall2020RogueNotes": "Regardez deux fois, agissez une fois : ce masque vous facilite la tâche. Augmente la perception de <%= par %>. Équipement d'automne édition limitée 2020.", + "headSpecialFall2020RogueText": "Masque de pierre à deux têtes", + "armorSpecialFall2020HealerNotes": "Votre splendeur se déploie la nuit, et ceux qui vous voient en vol se demandent ce que ce présage pourrait signifier. Augmente la Constitution de <%= con %>. Édition limitée 2020 Autumn Gear.", + "armorSpecialFall2020HealerText": "Ailes de Sphinx", + "armorSpecialFall2020MageNotes": "Ces robes à larges ailes donnent l'impression de planer ou de voler, symbolisant la perspective lointaine qu'offrent les vastes connaissances. Augmente l'intelligence de <%= int %>. Équipement d'automne en édition limitée 2020.", + "armorSpecialFall2020WarriorNotes": "Cette tenue protégeait autrefois un puissant guerrier du danger. On dit que l'esprit du guerrier hante l'habit pour protéger un digne successeur. Augmente la Constitution de <%= con %>. Équipement d'automne édition limitée 2020.", + "armorSpecialFall2020RogueNotes": "Adoptez la force de la pierre avec cette armure, garantie pour repousser les attaques les plus féroces. Augmente la perception de <%= par %>. Équipement d'automne en édition limitée 2020.", + "armorSpecialFall2020RogueText": "Armure Statuesque", + "weaponSpecialFall2020HealerNotes": "Maintenant que votre transformation est achevée, ce vestige de votre vie de nymphe vous sert de baguette de voyance pour déterminer votre destin. Augmente l'intelligence de <%= int %>. Équipement d'automne en édition limitée 2020 .", + "weaponSpecialFall2020HealerText": "Baguette chrysalide", + "weaponSpecialFall2020MageNotes": "Si quoi que ce soit devait échapper à votre regard de mage, les cristaux brillants au sommet de ce bâton illumineront ce que vous avez ignoré. Augmente l'intelligence de <%= int %> et la perception de <%= per %>. Équipement d'automne en édition limitée 2020.", + "weaponSpecialFall2020MageText": "Trois visions", + "weaponSpecialFall2020WarriorNotes": "Cette épée est allée dans l'au-delà avec un puissant guerrier, et revient pour que vous puissiez la brandir ! Augmente la force de <%= str %>. Équipement d'automne en édition limitée 2020.", + "weaponSpecialFall2020WarriorText": "L'épée du Spectre", + "weaponSpecialFall2020RogueNotes": "Percez votre ennemi d'un coup sec ! Même l'armure la plus épaisse ne pourra rien face à votre lame. Augmente la force de <%= str %>. Equipement d'automne en édition limitée 2020.", + "weaponSpecialFall2020RogueText": "Katar aiguisé" } From 170df77c3d3fb1fa79cc3a37f3e300b938dbc915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A9n=C3=A9dicte=20Botelle?= Date: Thu, 24 Sep 2020 13:00:40 +0000 Subject: [PATCH 05/90] Translated using Weblate (French) Currently translated at 100.0% (2171 of 2171 strings) Translation: Habitica/Gear Translate-URL: https://translate.habitica.com/projects/habitica/gear/fr/ --- website/common/locales/fr/gear.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/common/locales/fr/gear.json b/website/common/locales/fr/gear.json index 178bb7d276..2acb57f808 100644 --- a/website/common/locales/fr/gear.json +++ b/website/common/locales/fr/gear.json @@ -2200,5 +2200,6 @@ "weaponSpecialFall2020WarriorNotes": "Cette épée est allée dans l'au-delà avec un puissant guerrier, et revient pour que vous puissiez la brandir ! Augmente la force de <%= str %>. Équipement d'automne en édition limitée 2020.", "weaponSpecialFall2020WarriorText": "L'épée du Spectre", "weaponSpecialFall2020RogueNotes": "Percez votre ennemi d'un coup sec ! Même l'armure la plus épaisse ne pourra rien face à votre lame. Augmente la force de <%= str %>. Equipement d'automne en édition limitée 2020.", - "weaponSpecialFall2020RogueText": "Katar aiguisé" + "weaponSpecialFall2020RogueText": "Katar aiguisé", + "armorSpecialFall2020WarriorText": "Toges du revenant" } From 9a51d200f72dfb11c8b8eee7e5ea49f41adb2e28 Mon Sep 17 00:00:00 2001 From: Anas HARNOUCH Date: Thu, 24 Sep 2020 13:07:28 +0000 Subject: [PATCH 06/90] Translated using Weblate (French) Currently translated at 100.0% (189 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/fr/ --- website/common/locales/fr/limited.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/website/common/locales/fr/limited.json b/website/common/locales/fr/limited.json index 7988ccb297..b40693e61c 100644 --- a/website/common/locales/fr/limited.json +++ b/website/common/locales/fr/limited.json @@ -179,5 +179,10 @@ "summer2020CrocodileRogueSet": "Crocodile (Voleur)", "summer2020SeaGlassHealerSet": "Verre marin (Guérisseur)", "summer2020OarfishMageSet": "Poisson ruban (Mage)", - "summer2020RainbowTroutWarriorSet": "Truite arc-en-ciel (Guerrier)" + "summer2020RainbowTroutWarriorSet": "Truite arc-en-ciel (Guerrier)", + "juneYYYY": "Juin <%= year %>", + "fall2020TwoHeadedRogueSet": "Bicéphale (voleur)", + "fall2020ThirdEyeMageSet": "Troisième œil (Mage)", + "fall2020DeathsHeadMothHealerSet": "Tête de mort de la mite (guérisseur)", + "fall2020WraithWarriorSet": "Spectre (guerrier)" } From 919b30c237267e6642f23cb09611afb2131e4114 Mon Sep 17 00:00:00 2001 From: blacksheep47 <1760906326@qq.com> Date: Thu, 24 Sep 2020 11:39:42 +0000 Subject: [PATCH 07/90] Translated using Weblate (Chinese (Simplified)) Currently translated at 97.8% (185 of 189 strings) Translation: Habitica/Limited Translate-URL: https://translate.habitica.com/projects/habitica/limited/zh_Hans/ --- website/common/locales/zh/limited.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/common/locales/zh/limited.json b/website/common/locales/zh/limited.json index c33cfea5e4..e94ec84db6 100644 --- a/website/common/locales/zh/limited.json +++ b/website/common/locales/zh/limited.json @@ -81,7 +81,7 @@ "scarecrowWarriorSet": "稻草人(战士)", "stitchWitchSet": "缝纫巫师(法师)", "potionerSet": "制药医者(医师)", - "battleRogueSet": "战-斗(盗贼)", + "battleRogueSet": "战蝠(盗贼)", "springingBunnySet": "春之兔(医师)", "grandMalkinSet": "豪华的猫(法师)", "cleverDogSet": "灵巧的狗(盗贼)", From b9710c4180fa71a6cfb6cc016458099f5d55c997 Mon Sep 17 00:00:00 2001 From: Anas HARNOUCH Date: Thu, 24 Sep 2020 12:55:36 +0000 Subject: [PATCH 08/90] Translated using Weblate (French) Currently translated at 100.0% (175 of 175 strings) Translation: Habitica/Subscriber Translate-URL: https://translate.habitica.com/projects/habitica/subscriber/fr/ --- website/common/locales/fr/subscriber.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/common/locales/fr/subscriber.json b/website/common/locales/fr/subscriber.json index 86ca332d03..f389b68168 100644 --- a/website/common/locales/fr/subscriber.json +++ b/website/common/locales/fr/subscriber.json @@ -121,7 +121,7 @@ "choosePaymentMethod": "Choisissez votre moyen de paiement", "buyGemsSupportsDevs": "Acheter des gemmes soutient les développeurs et aide à maintenir Habitica en état de marche", "support": "SUPPORT", - "gemBenefitLeadin": "Les gemmes vous permettent d'acheter des suppléments marrants pour votre compte, comme :", + "gemBenefitLeadin": "Que pouvez-vous acheter avec des gemmes ?", "gemBenefit1": "des costumes uniques et à la mode pour votre avatar.", "gemBenefit2": "des arrière-plans pour immerger votre avatar dans le monde d'Habitica !", "gemBenefit3": "des séries de quêtes pour obtenir des œufs de familiers.", @@ -178,5 +178,6 @@ "supportHabitica": "Soutenir Habitica", "cancelSubInfoApple": "Veuillez suivre les instructions officielles d'Apple pour annuler votre abonnement, ou voir la date d'expiration de votre abonnement si vous l'avez déjà annulé. Cet écran ne pourra pas vous indiquer si votre abonnement a été annulé.", "cancelSubInfoGoogle": "Veuillez vous rendre dans la section \"Mes jeux et applications\" > \"Abonnements\" du Play Store Google pour annuler votre abonnement, ou voir la date d'expiration de votre abonnement si vous l'avez déjà annulé. Cet écran ne pourra pas vous indiquer si votre abonnement a été annulé.", - "organization": "Organisation" + "organization": "Organisation", + "usuallyGems": "Généralement <%= originalGems %>" } From 22eaefb3b232753bd3f2e61a6f1ebad77e108632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jostein=20Skj=C3=A5nes?= Date: Thu, 24 Sep 2020 11:43:18 +0000 Subject: [PATCH 09/90] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (173 of 173 strings) Translation: Habitica/Npc Translate-URL: https://translate.habitica.com/projects/habitica/npc/nb_NO/ --- website/common/locales/no/npc.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/common/locales/no/npc.json b/website/common/locales/no/npc.json index 7ea7ea9320..6e886cb41c 100755 --- a/website/common/locales/no/npc.json +++ b/website/common/locales/no/npc.json @@ -1,32 +1,32 @@ { "npc": "NPC", "npcAchievementName": "<%= key %> NPC", - "npcAchievementText": "Støttet Kickstarter prosjektet til det høyeste nivået. ", + "npcAchievementText": "Støttet Kickstarter prosjektet på det høyeste nivået!", "welcomeTo": "Velkommen til", - "welcomeBack": "Welcome back!", + "welcomeBack": "Velkommen tilbake!", "justin": "Justin", - "justinIntroMessage1": "Hello there! You must be new here. My name is Justin, and I'll be your guide in Habitica.", - "justinIntroMessage3": "Great! Now, what are you interested in working on throughout this journey?", - "justinIntroMessageUsername": "Before we begin, let’s figure out what to call you. Below you’ll find a display name and username I’ve generated for you. After you’ve picked a display name and username, we’ll get started by creating an avatar!", - "justinIntroMessageAppearance": "So how would you like to look? Don’t worry, you can change this later.", - "introTour": "Here we are! I've filled out some Tasks for you based on your interests, so you can get started right away. Click a Task to edit or add new Tasks to fit your routine!", + "justinIntroMessage1": "Hei der! Du må være ny her. Mitt navn er Justin, og jeg vil være din guide i Habitica.", + "justinIntroMessage3": "Flott! Nå, hva er du interessert i å jobbe med gjennom denne reisen?", + "justinIntroMessageUsername": "Før vi starter, la oss finne ut hva vi skal kalle deg. Nedenfor finner du et visningsnavn og brukernavn som jeg har generert for deg. Etter at du har valgt et visningsnavn og brukernavn, så kommer vi i gang med å lage en avatar!", + "justinIntroMessageAppearance": "Så, hvordan vil du se ut? Ikke bekymre deg, du kan endre dette senere.", + "introTour": "Her er vi! Jeg har fylt ut noen Oppgaver for deg basert på dine interesser, slik at du kan komme i gang umiddelbart. Klikk på en Oppgave for å redigere eller legge til nye Oppgaver som passer din rutine!", "prev": "Forrige", "next": "Neste", "randomize": "Tilfeldig", "mattBoch": "Matt Boch", "mattBochText1": "Velkommen til stallen! Jeg er Matt dyretemmeren. Hver gang du fullfører en oppgave, så vil du ha en tilfeldig sansynlighet for å få et Egg eller en klekke-eliksir for å klekke Kjæledyr. Når du klekker et Kjæledyr vil det komme hit. Trykk på bildet til et Kjæledyr får å sette det ved siden av Avataren din. Fôr dem med Fôret du kan finne og de vil vokse seg til hårdføre Ridedyr.", "welcomeToTavern": "Velkommen til Kroa!", - "sleepDescription": "Need a break? Check into Daniel's Inn to pause some of Habitica's more difficult game mechanics:", + "sleepDescription": "Trenger du en pause? Ta inn på Daniels Vertshus for å pause noen av Habiticas vanskeligere spillmekanikker:", "sleepBullet1": "Daglige Gjøremål som du går glipp av vil ikke skade deg", "sleepBullet2": "Oppgaver mister ikke sin gjennomføringskjede", "sleepBullet3": "Sjefsmonstre vil ikke gjøre skade for dine egne ufullførte Daglige Gjøremål", - "sleepBullet4": "Your boss damage or collection Quest items will stay pending until check-out", + "sleepBullet4": "Ditt angrep på sjefsmonsteret eller samlingen av Oppdraggjenstander forblir ventende helt til du forlater Vertshuset", "pauseDailies": "Pause Skadene", "unpauseDailies": "Opphev pausen av Skadene", "staffAndModerators": "Stab og Moderatorer", - "communityGuidelinesIntro": "Habitica tries to create a welcoming environment for users of all ages and backgrounds, especially in public spaces like the Tavern. If you have any questions, please consult our Community Guidelines.", + "communityGuidelinesIntro": "Habitica prøver å skape et innbydende miljø for brukere i alle aldre og bakgrunner, spesielt i offentlige rom som Kroa. Hvis du har noen spørsmål, kan du lese vår .r Retningslinjene for Fellesskapet.", "acceptCommunityGuidelines": "Jeg godtar å følge Samfunnsretningslinjene", - "worldBossEvent": "World Boss Event", + "worldBossEvent": "Verdensmonster-arrangementet", "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?", From 1b5134c0bca6b79e8764a6516f5f5f2583def1fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jostein=20Skj=C3=A5nes?= Date: Thu, 24 Sep 2020 14:52:40 +0000 Subject: [PATCH 10/90] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 88.5% (124 of 140 strings) Translation: Habitica/Quests Translate-URL: https://translate.habitica.com/projects/habitica/quests/nb_NO/ --- website/common/locales/no/quests.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/common/locales/no/quests.json b/website/common/locales/no/quests.json index f25e84d1ae..14ae86a6ef 100755 --- a/website/common/locales/no/quests.json +++ b/website/common/locales/no/quests.json @@ -47,7 +47,7 @@ "itemsToCollect": "Gjenstander å samle", "bossDmg1": "Hver fullførte Daglige Gjøremål og Gjøremål og hver positiv Vane skader sjefsmonsteret. Skad det mer med rødere oppgaver eller Sønderknus og Ildkule. Sjefsmonstre vil skade hver oppdragsdeltaker for hvet Daglige Gjøremål du glemmer (multiplisert med Sjefsmonsteret's styrke) i tillegg til den vanlige skaden, så hold klanen frisk ved å fullføre dine Daglige Gjøremål! All skade til og fra et sjefsmonster blir kalkulert ved cron (når dagen er omme).", "bossDmg2": "Bare deltagere vil sloss mot sjefsmonsteret og dele belønningen.", - "bossDmg1Broken": "Hver fullførte Daglige og Gjøremål og hver positiv Vane skader sjefsmonsteret... Skad det mer med rødere oppgaver eller Sønderknus og Flammeutbrudd... Sjefsmonstre vil skade hver oppdragsdeltaker for hver Daglige du glemmer (multiplisert med Sjefsmonsteret's styrke) i tillegg til den vanlige skaden, så hold klanen frisk ved å fullføre dine Daglige... All skade til og fra et sjefsmonster blir kalkulert ved cron (når dagen er omme)...", + "bossDmg1Broken": "Hver fullførte Daglige Gjøremål og Gjøremål og hver positive Vane skader sjefsmonsteret... Skad det mer med rødere oppgaver eller Sønderknus og Ildkule... Sjefsmonsteret vil skade hver oppdragsdeltaker for hvert Daglige Gjøremål du glemmer (multiplisert med Sjefsmonsterets styrke) i tillegg til den vanlige skaden, så hold klanen frisk ved å fullføre dine Daglige Gjøremål... All skade til og fra et sjefsmonster blir kalkulert ved cron (når dagen er omme)...", "bossDmg2Broken": "Bare deltagere vil sloss mot sjefsmonsteret og dele belønningen....", "tavernBossInfo": "Fullfør Daglige, Gjøremål og positive Vaner for å skade Verdensmonsteret! Ugjorte Daglige vil fylle Raserimåleren. Når Raserimåleren er full vil Verdensmonsteret angripe en NPC. Et Verdensmonster vil aldri skade individuelle spillere eller brukerkontoer på noen måte. Bare aktive brukerkontoer som ikke hviler i vertshuset vil få deres oppgaver telt med.", "tavernBossInfoBroken": "Fullfør Daglige, Gjøremål og positive Vaner for å skade Verdensmonsteret... Ugjorte Daglige vil fylle Utmattelsesmåleren... Når Utmattelsesmåleren er full vil Verdensmonsteret angripe en NPC... Et Verdensmonster vil aldri skade individuelle spillere eller brukerkontoer på noen måte... Bare aktive brukerkontoer som ikke hviler i vertshuset vil få deres oppgaver telt med...", @@ -126,5 +126,7 @@ "bossHealth": "<%= currentHealth %> / <%= maxHealth %> Health", "rageAttack": "Rage Attack:", "bossRage": "<%= currentRage %> / <%= maxRage %> Rage", - "rageStrikes": "Rage Strikes" + "rageStrikes": "Rage Strikes", + "bossDamage": "Du skadet sjefsmonsteret!", + "questInvitationNotificationInfo": "Du ble invitert til å delta i et oppdrag" } From b21bf0d428fcf3abe15d3cef756a0a8153a5a824 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jostein=20Skj=C3=A5nes?= Date: Thu, 24 Sep 2020 14:44:25 +0000 Subject: [PATCH 11/90] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (134 of 134 strings) Translation: Habitica/Tasks Translate-URL: https://translate.habitica.com/projects/habitica/tasks/nb_NO/ --- website/common/locales/no/tasks.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/common/locales/no/tasks.json b/website/common/locales/no/tasks.json index 6d5b9a43e6..fb4ff3db45 100755 --- a/website/common/locales/no/tasks.json +++ b/website/common/locales/no/tasks.json @@ -22,7 +22,7 @@ "checklist": "Sjekkliste", "newChecklistItem": "Nytt punkt", "expandChecklist": "Utvid sjekkliste", - "collapseChecklist": "Collapse Checklist", + "collapseChecklist": "Kollaps Sjekkliste", "text": "Tittel", "notes": "Notes", "advancedSettings": "Avanserte Innstillinger", @@ -36,23 +36,23 @@ "progress": "Fremskritt", "daily": "Daglig", "dailies": "Daglige", - "dailysDesc": "Dailies repeat on a regular basis. Choose the schedule that works best for you!", + "dailysDesc": "Daglige Gjøremål gjentas med jevne mellomrom. Velg den tidsplanen som fungerer best for deg!", "streakCounter": "Gjennomføringskjedeteller", "repeat": "Gjenta", - "repeats": "Repeats", + "repeats": "Gjentar seg", "repeatEvery": "Gjenta hver", - "repeatOn": "Repeat On", + "repeatOn": "Gjentas Den", "day": "Dag", "days": "Dager", - "restoreStreak": "Adjust Streak", - "resetStreak": "Reset Streak", + "restoreStreak": "Juster Gjennomføringskjede", + "resetStreak": "Tilbakestill Gjennomføringsrekke", "todo": "Gjøremål", "todos": "Gjøremål", "todosDesc": "Gjøremål må fullføres en gang. Legg til sjekklister til Gjøremålene dine for å øke verdien.", "dueDate": "Forfallsdato", "remaining": "Aktiv", "complete": "Ferdig", - "complete2": "Complete", + "complete2": "Ferdige", "today": "Idag", "dueIn": "Forfall <%= dueIn %>", "due": "Forfall", @@ -61,7 +61,7 @@ "score": "Poengsum", "reward": "Belønning", "rewards": "Belønninger", - "rewardsDesc": "Rewards are a great way to use Habitica and complete your tasks. Try adding a few today!", + "rewardsDesc": "Belønninger er en fin måte å bruke Habitica og fullføre oppgavene dine. Prøv å legge til noen i dag!", "gold": "Gull", "silver": "Sølv (100 Sølv = 1 Gull)", "price": "Pris", @@ -77,7 +77,7 @@ "streakSingular": "Gjennomføringskjeder", "streakSingularText": "Har fullført en 21-dags gjennomføringskjeder for Daglige", "perfectName": "<%= count %> Perfekte Dager", - "perfectText": "Completed all active Dailies on <%= count %> days. With this achievement you get a +level/2 buff to all Stats for the next day. Levels greater than 100 don't have any additional effects on buffs.", + "perfectText": "Fullførte alle aktive Daglige Gjøremål på <% = count%> dager. Med denne prestasjonen får du et +nivå/2 forsterkning til alle Statistikker for neste dag. Nivåer over 100 har ingen ekstra effekter på forsterkninger.", "perfectSingular": "Perfekt Dag", "perfectSingularText": "Fullførte alle aktive Daglige Gjøremål på en dag. Med denne prestasjonen får du et + nivå/2 forsterkning til all statistikk for neste dag. Nivåer over 100 har ingen ekstra effekter på forsterkninger.", "fortifyName": "Forsterkningseliksir", @@ -92,8 +92,8 @@ "taskAliasAlreadyUsed": "Oppgavealias er allerede brukt på en annen oppgave.", "taskNotFound": "Fant ikke oppgave.", "invalidTaskType": "Oppgavetype må være entent \"habit\", \"daily\", \"todo\", \"reward\".", - "invalidTasksType": "Task type must be one of \"habits\", \"dailys\", \"todos\", \"rewards\".", - "invalidTasksTypeExtra": "Task type must be one of \"habits\", \"dailys\", \"todos\", \"rewards\", \"completedTodos\".", + "invalidTasksType": "Oppgavetypen må være en av \"vaner\", \"daglige gjøremål\", \"gjøremål\", \"belønninger\".", + "invalidTasksTypeExtra": "Oppgavetypen må være en av \"vaner\", \"daglige gjøremål\", \"gjøremål\", \"fullførte belønninger\".", "cantDeleteChallengeTasks": "En oppgave som hører til en utfordring kan ikke slettes.", "checklistOnlyDailyTodo": "Sjekklister støttes bare på Daglige Gjøremål og Gjøremål", "checklistItemNotFound": "Ingen sjekklisteobjekt ble funnet med den gitte id-en.", @@ -124,9 +124,9 @@ "years": "År", "resets": "Tilbakestilles", "nextDue": "Neste forfallsdatoer", - "checkOffYesterDailies": "Check off any Dailies you did yesterday:", + "checkOffYesterDailies": "Kryss av for Daglige Gjøremål du gjorde i går:", "yesterDailiesCallToAction": "Start My New Day!", - "sessionOutdated": "Your session is outdated. Please refresh or sync.", + "sessionOutdated": "Økten din er utdatert. Vennligst oppdater eller synkroniser.", "errorTemporaryItem": "Denne gjenstanden er midlertidig og kan ikke festes.", "pressEnterToAddTag": "Trykk Enter for å legge til taggen: '<% = tagName %>'", "tomorrow": "Imorgen", From 8b952a6caf8d23eb10611ddc246d447176e3b74c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jostein=20Skj=C3=A5nes?= Date: Thu, 24 Sep 2020 14:09:11 +0000 Subject: [PATCH 12/90] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 100.0% (173 of 173 strings) Translation: Habitica/Npc Translate-URL: https://translate.habitica.com/projects/habitica/npc/nb_NO/ --- website/common/locales/no/npc.json | 88 +++++++++++++++--------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/website/common/locales/no/npc.json b/website/common/locales/no/npc.json index 6e886cb41c..5875f1dd23 100755 --- a/website/common/locales/no/npc.json +++ b/website/common/locales/no/npc.json @@ -24,80 +24,80 @@ "pauseDailies": "Pause Skadene", "unpauseDailies": "Opphev pausen av Skadene", "staffAndModerators": "Stab og Moderatorer", - "communityGuidelinesIntro": "Habitica prøver å skape et innbydende miljø for brukere i alle aldre og bakgrunner, spesielt i offentlige rom som Kroa. Hvis du har noen spørsmål, kan du lese vår .r Retningslinjene for Fellesskapet.", + "communityGuidelinesIntro": "Habitica prøver å skape et innbydende miljø for brukere i alle aldre og bakgrunner, spesielt i offentlige rom som Kroa. Hvis du har noen spørsmål, kan du lese vår Retningslinjene for Fellesskapet.", "acceptCommunityGuidelines": "Jeg godtar å følge Samfunnsretningslinjene", "worldBossEvent": "Verdensmonster-arrangementet", - "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?", + "worldBossDescription": "Verdensmonster Beskrivelse", + "welcomeMarketMobile": "Velkommen til Markedet! Kjøp egg og eliksirer som er vanskelig å finne! Kom og se hva vi har å tilby.", + "howManyToSell": "Hvor mange ønsker du å selge?", "yourBalance": "Din balanse:", - "sell": "Sell", - "buyNow": "Buy Now", + "sell": "Selg", + "buyNow": "Kjøp Nå", "sortByNumber": "Number", - "featuredItems": "Featured Items!", - "hideLocked": "Hide locked", - "hidePinned": "Hide pinned", - "hideMissing": "Hide Missing", - "amountExperience": "<%= amount %> Experience", - "amountGold": "<%= amount %> Gold", - "namedHatchingPotion": "<%= type %> Hatching Potion", + "featuredItems": "Utvalgte Gjenstander!", + "hideLocked": "Skjul de låste", + "hidePinned": "Skjul festet", + "hideMissing": "Skjul Manglende", + "amountExperience": "<%= amount %> Erfaring", + "amountGold": "<%= amount %> Gull", + "namedHatchingPotion": "<%= type %> Klekke-Eliksir", "buyGems": "Kjøp juveler", "purchaseGems": "Kjøp Juveler", "items": "Items", "AZ": "A-Z", - "sort": "Sort", - "sortBy": "Sort By", - "groupBy2": "Group By", + "sort": "Sorter", + "sortBy": "Sorter Etter", + "groupBy2": "Grupper Etter", "sortByName": "Name", - "quantity": "Quantity", - "cost": "Cost", - "shops": "Shops", - "custom": "Custom", - "wishlist": "Wishlist", - "wrongItemType": "The item type \"<%= type %>\" is not valid.", - "wrongItemPath": "The item path \"<%= path %>\" is not valid.", - "unpinnedItem": "You unpinned <%= item %>! It will no longer display in your Rewards column.", + "quantity": "Kvantitet", + "cost": "Pris", + "shops": "Butikker", + "custom": "Tilpasset", + "wishlist": "Ønskeliste", + "wrongItemType": "Gjenstandtypen \"<%= type %>\" er ikke gyldig.", + "wrongItemPath": "Gjenstandsbanen \"<%= path %>\" er ikke gyldig.", + "unpinnedItem": "Du løsnet <%= item %>! Den vil ikke lenger vises i Belønningskolonnen.", "cannotUnpinArmoirPotion": "The Health Potion and Enchanted Armoire cannot be unpinned.", - "purchasedItem": "You bought <%= itemName %>", + "purchasedItem": "Du kjøpte <%= itemName %>", "ianTextMobile": "Kan jeg interessere deg med noen oppdragruller? Aktiver dem for å kjempe monstre med klanen din!", - "featuredQuests": "Featured Quests!", + "featuredQuests": "Utvalgte Oppdrag!", "cannotBuyItem": "Du kan ikke kjøpe denne tingen.", "mustPurchaseToSet": "Må betale <%= val %> for å sette det på <%= key %>.", "typeRequired": "Type er nødvendig", - "positiveAmountRequired": "Positive amount is required", + "positiveAmountRequired": "Positivt beløp kreves", "notAccteptedType": "Type må være i [eggs, hatchingPotions, premiumHatchingPotions, food, quests, gear]", "contentKeyNotFound": "Key ble ikke funnet for Innhold <%= type %>", - "plusGem": "+<%= count %> Gem", + "plusGem": "+<%= count %> Juveler", "typeNotSellable": "Type er ikke selgbar. Må være en av de følgende <%= acceptedTypes %>", "userItemsKeyNotFound": "Key ikke funnet for user.items <%= type %>", - "userItemsNotEnough": "You do not have enough <%= type %>", + "userItemsNotEnough": "Du har ikke nok <%= type %>", "pathRequired": "Path string er nødvendig", "unlocked": "Nye artikler har blitt låst opp", "alreadyUnlocked": "Fullt sett er allerede låst opp.", "alreadyUnlockedPart": "Fullt set er allerede delvis låst opp. Det er billigere å kjøpe de gjenværende varene hver for seg.", "invalidQuantity": "Quantity to purchase must be a number.", "USD": "(USD)", - "newStuff": "New Stuff by Bailey", - "newBaileyUpdate": "New Bailey Update!", - "tellMeLater": "Tell Me Later", + "newStuff": "Nye ting av Bailey", + "newBaileyUpdate": "Ny oppdatering av Bailey!", + "tellMeLater": "Fortell Meg Senere", "dismissAlert": "Fjern varsel", - "donateText3": "Habitica er et \"open source\" prosjekt som trenger brukernes støtte. Pengene du bruker på juveler holder serverene løpende, holder en liten stab, utvikler nye funksjoner, og gir motivasjon for våre frivillige programmere. Takk for din generøsitet", + "donateText3": "Habitica er et åpet kildekodeprosjekt som trenger brukernes støtte. Pengene du bruker på juveler holder serverne gående, opprettholder en liten stab, utvikler nye funksjoner, og gir insentiver til våre frivillige programmerere. Takk for din generøsitet!", "card": "Kredittkort (via Stripe)", "paymentMethods": "Kjøp ved hjelp av", - "paymentSuccessful": "Your payment was successful!", - "paymentYouReceived": "You received:", - "paymentYouSentGems": "You sent <%- name %>:", - "paymentYouSentSubscription": "You sent <%- name %> a <%= months %>-months Habitica subscription.", - "paymentSubBilling": "Your subscription will be billed $<%= amount %> every <%= months %> months.", - "success": "Success!", + "paymentSuccessful": "Betalingen din var vellykket!", + "paymentYouReceived": "Du mottok:", + "paymentYouSentGems": "Du sendte <%- name %>:", + "paymentYouSentSubscription": "Du sendte <%- name %> et <%= months %>-månedsabonnement av Habitica.", + "paymentSubBilling": "Abonnementet ditt blir fakturert $<%= amount %> hver <%= months %> måned.", + "success": "Suksess!", "classGear": "Utstyr for Klasse", "classGearText": "Gratulerer med å velge en klasse! Jeg har lagt til ditt nye grunnleggende våpen i dine eiendeler. Ta en kikk nedenfor for å ta det på!", "autoAllocate": "Auto-tildel", - "spells": "Skills", - "skillsTitle": "Skills", + "spells": "Ferdigheter", + "skillsTitle": "Ferdigheter", "toDo": "Gjøremål", "tourStatsPage": "Dette er din Stats side! Tjen prestasjoner ved å fullføre de oppførte oppgavene.", - "tourTavernPage": "Welcome to the Tavern, an all-ages chat room! You can keep your Dailies from hurting you in case of illness or travel by clicking \"Pause Damage\". Come say hi!", + "tourTavernPage": "Velkommen til Kroa, et chatterom for alle aldre! Du kan forhindre at Daglige Gjøremål skader deg i tilfelle sykdom eller reiser ved å klikke på \"Pause Skade\". Kom og si hei!", "tourPartyPage": "Klanen din hjelper deg å holde deg ansvarlig. Inviter venner for å låse opp en oppdragsrull!", "tourGuildsPage": "Laug er chattegrupper for fellesinteresser laget av spillerne, for spillerne. Bla gjennom listen og delta i Lauget som interesserer deg. Sjekk ut den populære \"Habitica Help: Ask a Question\", hvor alle kan spør spørsmål om Habitica!", "tourChallengesPage": "Utfordringer er tematiserte oppgave lister lager av brukere! Å delta i en utfordring vil legge oppgavene til din konto. Konkurrer mot andre for å vinne juvel premier!", @@ -105,7 +105,7 @@ "tourHallPage": "Velkommen til Heltehallen, hvor åpenkildekode birdragsyterene til Habitica blir beæret. Enten gjennom kode, kunst, musikk, skriving, eller bare hjelpsomhet, de har tjent juveler, eksklusivt utstyr og prestisjetunge titler. Du kan også bidra til Habitica!", "tourPetsPage": "Velkommen til Stallen! Hver gang du fullfører en oppgave, har du en tilfeldig sjanse til å motta et Egg eller en klekke-eliksir for å klekke et Kjæledyr. Når du klekker ut et Kjæledyr, vises det her! Klikk på et Kjæledyrs bilde for å legge det til din Avatar. Fôr dem med Kjæledyrfôr som du finner, så vil de vokse til hardføre Ridedyr.", "tourMountsPage": "Når du har fôret ett kjæledyr nok mat for a forandre det til et ridedyr, vises det her. Klikk på ett ridedyr for å sale opp!", - "tourEquipmentPage": "This is where your Equipment is stored! Your Battle Gear affects your Stats. If you want to show different Equipment on your avatar without changing your Stats, click \"Enable Costume.\"", + "tourEquipmentPage": "Dette er hvor Utstyret ditt er lagret! Stridsutstyr påvirker statistikken din. Hvis du vil vise annet Utstyr på avataren din uten å endre Statistikken, klikker du på \"Aktiver Kostyme.\"", "equipmentAlreadyOwned": "Du eier allerede den delen av utstyr", "tourOkay": "Ok!", "tourAwesome": "Fantastik!", @@ -118,7 +118,7 @@ "welcome3": "Fremgå i livet dit og i spillet!", "welcome3notes": "Mens du forbedrer livet dit, vil din avatar gå opp nivå og låse opp, kjæledyr, oppdrag, utstyr, og mer!", "imReady": "Gå inn i Habitica", - "limitedOffer": "Available until <%= date %>", + "limitedOffer": "Tilgjengelig til <%= date %>", "paymentCanceledDisputes": "Vi har sendt en avbestillingsbekreftelse til e-posten din. Hvis du ikke ser e-posten, kan du kontakte oss for å forhindre fremtidige faktureringstvister.", "paymentAutoRenew": "Dette abonnementet fornyes automatisk til det blir kansellert. Hvis du trenger å si opp dette abonnementet, kan du gjøre det fra innstillingene dine.", "paymentSubBillingWithMethod": "Abonnementet ditt blir fakturert $<%= amount %> hver <%= months %> måned gjennom <%= paymentMethod %>.", From c4fc2d825da9744c5f34ca8257078ea7b24283af Mon Sep 17 00:00:00 2001 From: Bart Enkelaar Date: Sun, 20 Sep 2020 10:45:56 +0200 Subject: [PATCH 13/90] fix(export) - Issue 12482 - Fix messages in xml export. --- test/api/unit/top-level/dataexport.test.js | 79 +++++++++++++++++++ .../controllers/top-level/dataexport.js | 7 +- website/server/models/user/schema.js | 4 +- 3 files changed, 84 insertions(+), 6 deletions(-) create mode 100644 test/api/unit/top-level/dataexport.test.js diff --git a/test/api/unit/top-level/dataexport.test.js b/test/api/unit/top-level/dataexport.test.js new file mode 100644 index 0000000000..3f6892ee9d --- /dev/null +++ b/test/api/unit/top-level/dataexport.test.js @@ -0,0 +1,79 @@ +import dataexport from '../../../../website/server/controllers/top-level/dataexport'; + +import * as Tasks from '../../../../website/server/models/task'; +import * as inboxLib from '../../../../website/server/libs/inbox'; + +describe('xml export', async () => { + let exported; + + const user = { + toJSON () { + return { + newMessages: { + '283171a5-422c-4991-bc78-95b1b5b51629': { + name: 'The Language Hackers', + value: true, + }, + '283171a6-422c-4991-bc78-95b1b5b51629': { + name: 'The Bug Hackers', + value: false, + }, + }, + inbox: {}, + pinnedItems: [], + unpinnedItems: [], + }; + }, + }; + + const response = { + locals: { user }, + set () {}, + status: () => ({ + send: data => { + exported = data; + }, + }), + }; + + beforeEach(() => { + const tasks = [{ + toJSON: () => ({ a: 'b', type: 'c' }), + }]; + const messages = [{ flags: { content: 'message' } }]; + + sinon.stub(Tasks.Task, 'find').returns({ exec: async () => tasks }); + sinon.stub(inboxLib, 'getUserInbox').resolves(messages); + }); + + afterEach(() => { + sinon.restore(); + }); + + it('maps the newMessages field to have id as a value in a list.', async () => { + await dataexport.exportUserDataXml.handler({}, response); + expect(exported).to.equal(` + + 283171a5-422c-4991-bc78-95b1b5b51629 + The Language Hackers + true + + + 283171a6-422c-4991-bc78-95b1b5b51629 + The Bug Hackers + false + + + + content + + + + + b + c + + +`); + }); +}); diff --git a/website/server/controllers/top-level/dataexport.js b/website/server/controllers/top-level/dataexport.js index 2a17f4e5e4..f1bc60ea28 100644 --- a/website/server/controllers/top-level/dataexport.js +++ b/website/server/controllers/top-level/dataexport.js @@ -112,14 +112,15 @@ async function _getUserDataForExport (user, xmlMode = false) { // object maps cant be parsed userData.inbox.messages = _(userData.inbox.messages) .map(m => { - const flags = Object.keys(m.flags); - m.flags = flags; + m.flags = Object.keys(m.flags); return m; }) .value(); - // _id gets parsed as an bytearray => which gets casted to a chararray => "weird chars" + userData.newMessages = _.map(userData.newMessages, (msg, id) => ({ id, ...msg })); + + // _id gets parsed as a bytearray => which gets cast to a chararray => "weird chars" userData.unpinnedItems = userData.unpinnedItems.map(i => ({ path: i.path, type: i.type, diff --git a/website/server/models/user/schema.js b/website/server/models/user/schema.js index f671479dc9..abc6426a56 100644 --- a/website/server/models/user/schema.js +++ b/website/server/models/user/schema.js @@ -1,4 +1,4 @@ -import mongoose from 'mongoose'; +import { Schema } from 'mongoose'; import validator from 'validator'; import shared from '../../../common'; import { // eslint-disable-line import/no-cycle @@ -10,8 +10,6 @@ import { schema as TagSchema } from '../tag'; import { schema as UserNotificationSchema } from '../userNotification'; import { schema as WebhookSchema } from '../webhook'; -const { Schema } = mongoose; - const RESTRICTED_EMAIL_DOMAINS = Object.freeze(['habitica.com', 'habitrpg.com']); // User schema definition From 8b9c76a2b7fce5b06ff3591b890fdac1578b43eb Mon Sep 17 00:00:00 2001 From: Bart Enkelaar Date: Thu, 24 Sep 2020 00:07:38 +0200 Subject: [PATCH 14/90] fix(12842) - Remove duplication in gulp-tests.js --- gulp/gulp-tests.js | 144 +++++++++++++-------------------------------- 1 file changed, 41 insertions(+), 103 deletions(-) diff --git a/gulp/gulp-tests.js b/gulp/gulp-tests.js index c3445874fa..d61ead1c98 100644 --- a/gulp/gulp-tests.js +++ b/gulp/gulp-tests.js @@ -3,9 +3,7 @@ import { exec } from 'child_process'; import gulp from 'gulp'; import os from 'os'; import nconf from 'nconf'; -import { - pipe, -} from './taskHelper'; +import { pipe } from './taskHelper'; import { getDevelopmentConnectionUrl, getDefaultConnectionOptions, @@ -21,15 +19,16 @@ const TEST_DB_URI = nconf.get('TEST_DB_URI'); const SANITY_TEST_COMMAND = 'npm run test:sanity'; const COMMON_TEST_COMMAND = 'npm run test:common'; const CONTENT_TEST_COMMAND = 'npm run test:content'; -const CONTENT_OPTIONS = { maxBuffer: 1024 * 500 }; +const LIMIT_MAX_BUFFER_OPTIONS = { maxBuffer: 1024 * 500 }; -/* Helper methods for reporting test summary */ +/* Helper method for reporting test summary */ const testResults = []; const testCount = (stdout, regexp) => { const match = stdout.match(regexp); return parseInt(match && (match[1] || 0), 10); }; +/* Helper methods to correctly run child test processes */ const testBin = (string, additionalEnvVariables = '') => { if (os.platform() === 'win32') { if (additionalEnvVariables !== '') { @@ -41,6 +40,15 @@ const testBin = (string, additionalEnvVariables = '') => { return `NODE_ENV=test ${additionalEnvVariables} ${string}`; }; +function runInChildProcess (command, options = {}, envVariables = '') { + return done => pipe(exec(testBin(command, envVariables), options, done)); +} + +function integrationTestCommand (testDir, coverageDir) { + return `istanbul cover --dir coverage/${coverageDir} --report lcovonly node_modules/mocha/bin/_mocha -- ${testDir} --recursive --require ./test/helpers/start-server`; +} + +/* Test task definitions */ gulp.task('test:nodemon', gulp.series(done => { process.env.PORT = TEST_SERVER_PORT; // eslint-disable-line no-process-env process.env.NODE_DB_URI = TEST_DB_URI; // eslint-disable-line no-process-env @@ -82,31 +90,9 @@ gulp.task('test:prepare', gulp.series( done => done(), )); -gulp.task('test:sanity', cb => { - const runner = exec( - testBin(SANITY_TEST_COMMAND), - err => { - if (err) { - process.exit(1); - } - cb(); - }, - ); - pipe(runner); -}); +gulp.task('test:sanity', runInChildProcess(SANITY_TEST_COMMAND)); -gulp.task('test:common', gulp.series('test:prepare:build', cb => { - const runner = exec( - testBin(COMMON_TEST_COMMAND), - err => { - if (err) { - process.exit(1); - } - cb(); - }, - ); - pipe(runner); -})); +gulp.task('test:common', gulp.series('test:prepare:build', runInChildProcess(COMMON_TEST_COMMAND))); gulp.task('test:common:clean', cb => { pipe(exec(testBin(COMMON_TEST_COMMAND), () => cb())); @@ -130,22 +116,11 @@ gulp.task('test:common:safe', gulp.series('test:prepare:build', cb => { pipe(runner); })); -gulp.task('test:content', gulp.series('test:prepare:build', cb => { - const runner = exec( - testBin(CONTENT_TEST_COMMAND), - CONTENT_OPTIONS, - err => { - if (err) { - process.exit(1); - } - cb(); - }, - ); - pipe(runner); -})); +gulp.task('test:content', gulp.series('test:prepare:build', + runInChildProcess(CONTENT_TEST_COMMAND, LIMIT_MAX_BUFFER_OPTIONS))); gulp.task('test:content:clean', cb => { - pipe(exec(testBin(CONTENT_TEST_COMMAND), CONTENT_OPTIONS, () => cb())); + pipe(exec(testBin(CONTENT_TEST_COMMAND), LIMIT_MAX_BUFFER_OPTIONS, () => cb())); }); gulp.task('test:content:watch', gulp.series('test:content:clean', () => gulp.watch(['common/script/content/**', 'test/**'], gulp.series('test:content:clean', done => done())))); @@ -153,7 +128,7 @@ gulp.task('test:content:watch', gulp.series('test:content:clean', () => gulp.wat gulp.task('test:content:safe', gulp.series('test:prepare:build', cb => { const runner = exec( testBin(CONTENT_TEST_COMMAND), - CONTENT_OPTIONS, + LIMIT_MAX_BUFFER_OPTIONS, (err, stdout) => { // eslint-disable-line handle-callback-err testResults.push({ suite: 'Content Specs\t', @@ -167,76 +142,39 @@ gulp.task('test:content:safe', gulp.series('test:prepare:build', cb => { pipe(runner); })); -gulp.task('test:api:unit:run', done => { - const runner = exec( - testBin('istanbul cover --dir coverage/api-unit node_modules/mocha/bin/_mocha -- test/api/unit --recursive --require ./test/helpers/start-server'), - err => { - if (err) { - process.exit(1); - } - done(); - }, - ); - - pipe(runner); -}); +gulp.task('test:api:unit:run', + runInChildProcess(integrationTestCommand('test/api/unit', 'coverage/api-unit'))); gulp.task('test:api:unit:watch', () => gulp.watch(['website/server/libs/*', 'test/api/unit/**/*', 'website/server/controllers/**/*'], gulp.series('test:api:unit:run', done => done()))); -gulp.task('test:api-v3:integration', gulp.series('test:prepare:mongo', done => { - const runner = exec( - testBin('istanbul cover --dir coverage/api-v3-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v3/integration --recursive --require ./test/helpers/start-server'), - { maxBuffer: 500 * 1024 }, - err => { - if (err) { - process.exit(1); - } - done(); - }, - ); - - pipe(runner); -})); +gulp.task('test:api-v3:integration', gulp.series('test:prepare:mongo', + runInChildProcess( + integrationTestCommand('test/api/v3/integration', 'coverage/api-v3-integration'), + LIMIT_MAX_BUFFER_OPTIONS, + ))); gulp.task('test:api-v3:integration:watch', () => gulp.watch([ 'website/server/controllers/api-v3/**/*', 'common/script/ops/*', 'website/server/libs/*.js', 'test/api/v3/integration/**/*', ], gulp.series('test:api-v3:integration', done => done()))); -gulp.task('test:api-v3:integration:separate-server', done => { - const runner = exec( - testBin('mocha test/api/v3/integration --recursive --require ./test/helpers/start-server', 'LOAD_SERVER=0'), - { maxBuffer: 500 * 1024 }, - err => done(err), - ); +gulp.task('test:api-v3:integration:separate-server', runInChildProcess( + 'mocha test/api/v3/integration --recursive --require ./test/helpers/start-server', + LIMIT_MAX_BUFFER_OPTIONS, + 'LOAD_SERVER=0', +)); - pipe(runner); -}); +gulp.task('test:api-v4:integration', gulp.series('test:prepare:mongo', + runInChildProcess( + integrationTestCommand('test/api/v4', 'api-v4-integration'), + LIMIT_MAX_BUFFER_OPTIONS, + ))); -gulp.task('test:api-v4:integration', gulp.series('test:prepare:mongo', done => { - const runner = exec( - testBin('istanbul cover --dir coverage/api-v4-integration --report lcovonly node_modules/mocha/bin/_mocha -- test/api/v4 --recursive --require ./test/helpers/start-server'), - { maxBuffer: 500 * 1024 }, - err => { - if (err) { - process.exit(1); - } - done(); - }, - ); - - pipe(runner); -})); - -gulp.task('test:api-v4:integration:separate-server', done => { - const runner = exec( - testBin('mocha test/api/v4 --recursive --require ./test/helpers/start-server', 'LOAD_SERVER=0'), - { maxBuffer: 500 * 1024 }, - err => done(err), - ); - - pipe(runner); -}); +gulp.task('test:api-v4:integration:separate-server', runInChildProcess( + 'mocha test/api/v4 --recursive --require ./test/helpers/start-server', + LIMIT_MAX_BUFFER_OPTIONS, + 'LOAD_SERVER=0', +)); gulp.task('test:api:unit', gulp.series( 'test:prepare:mongo', From 6e913266480dcebaf1c00aff0022d690abc2bd79 Mon Sep 17 00:00:00 2001 From: Bart Enkelaar Date: Fri, 25 Sep 2020 08:55:28 +0200 Subject: [PATCH 15/90] fix(dataexport) - 12482 - Extract xml marshalling into library - Add integration test on dataexport endpoint - Add library with unit test for xml marshalling --- test/api/unit/libs/xmlMarshaller.test.js | 44 ++ test/api/unit/top-level/dataexport.test.js | 79 ---- .../api/v3/integration/GET-dataexport.test.js | 424 ++++++++++++++++++ .../controllers/top-level/dataexport.js | 41 +- website/server/libs/xmlMarshaller.js | 32 ++ 5 files changed, 505 insertions(+), 115 deletions(-) create mode 100644 test/api/unit/libs/xmlMarshaller.test.js delete mode 100644 test/api/unit/top-level/dataexport.test.js create mode 100644 test/api/v3/integration/GET-dataexport.test.js create mode 100644 website/server/libs/xmlMarshaller.js diff --git a/test/api/unit/libs/xmlMarshaller.test.js b/test/api/unit/libs/xmlMarshaller.test.js new file mode 100644 index 0000000000..73633a4c30 --- /dev/null +++ b/test/api/unit/libs/xmlMarshaller.test.js @@ -0,0 +1,44 @@ +import * as xmlMarshaller from '../../../../website/server/libs/xmlMarshaller'; + +describe('xml marshaller marshalls user data', () => { + const minimumUser = { + pinnedItems: [], + unpinnedItems: [], + inbox: {}, + }; + + function userDataWith (fields) { + return { ...minimumUser, ...fields }; + } + + it('maps the newMessages field to have id as a value in a list.', () => { + const userData = userDataWith({ + newMessages: { + '283171a5-422c-4991-bc78-95b1b5b51629': { + name: 'The Language Hackers', + value: true, + }, + '283171a6-422c-4991-bc78-95b1b5b51629': { + name: 'The Bug Hackers', + value: false, + }, + }, + }); + + const xml = xmlMarshaller.marshallUserData(userData); + + expect(xml).to.equal(` + + + 283171a5-422c-4991-bc78-95b1b5b51629 + The Language Hackers + true + + + 283171a6-422c-4991-bc78-95b1b5b51629 + The Bug Hackers + false + +`); + }); +}); diff --git a/test/api/unit/top-level/dataexport.test.js b/test/api/unit/top-level/dataexport.test.js deleted file mode 100644 index 3f6892ee9d..0000000000 --- a/test/api/unit/top-level/dataexport.test.js +++ /dev/null @@ -1,79 +0,0 @@ -import dataexport from '../../../../website/server/controllers/top-level/dataexport'; - -import * as Tasks from '../../../../website/server/models/task'; -import * as inboxLib from '../../../../website/server/libs/inbox'; - -describe('xml export', async () => { - let exported; - - const user = { - toJSON () { - return { - newMessages: { - '283171a5-422c-4991-bc78-95b1b5b51629': { - name: 'The Language Hackers', - value: true, - }, - '283171a6-422c-4991-bc78-95b1b5b51629': { - name: 'The Bug Hackers', - value: false, - }, - }, - inbox: {}, - pinnedItems: [], - unpinnedItems: [], - }; - }, - }; - - const response = { - locals: { user }, - set () {}, - status: () => ({ - send: data => { - exported = data; - }, - }), - }; - - beforeEach(() => { - const tasks = [{ - toJSON: () => ({ a: 'b', type: 'c' }), - }]; - const messages = [{ flags: { content: 'message' } }]; - - sinon.stub(Tasks.Task, 'find').returns({ exec: async () => tasks }); - sinon.stub(inboxLib, 'getUserInbox').resolves(messages); - }); - - afterEach(() => { - sinon.restore(); - }); - - it('maps the newMessages field to have id as a value in a list.', async () => { - await dataexport.exportUserDataXml.handler({}, response); - expect(exported).to.equal(` - - 283171a5-422c-4991-bc78-95b1b5b51629 - The Language Hackers - true - - - 283171a6-422c-4991-bc78-95b1b5b51629 - The Bug Hackers - false - - - - content - - - - - b - c - - -`); - }); -}); diff --git a/test/api/v3/integration/GET-dataexport.test.js b/test/api/v3/integration/GET-dataexport.test.js new file mode 100644 index 0000000000..f8e8b0ccc1 --- /dev/null +++ b/test/api/v3/integration/GET-dataexport.test.js @@ -0,0 +1,424 @@ +import moment from 'moment'; + +import { generateUser, requester } from '../../../helpers/api-integration/v3'; +import { Task } from '../../../../website/server/models/task'; + +describe('GET /export/userdata.xml', () => { + let user; + + before(async () => { + user = await generateUser(); + }); + + it('returns the xml for a minimum viable user', async () => { + const xml = await requester(user).get('/export/userdata.xml'); + + const userId = user.id; + const userName = user.auth.local.username; + const dateTime = moment(user.auth.timestamps.created).toDate(); + const taskId = (await Task.findOne({ userId }, 'id').exec())._id; + + expect(xml).to.equal(` + + + ${userName} + ${userName} + ${userName}@example.com + + + ${dateTime} + ${dateTime} + ${dateTime} + + + + + + + + false + false + false + false + + 0 + 0 + + + + + + false + 0 + + + + + true + + + + 0 + 0 + 0 + 0 + + 1 + 0 + 0 + + + + + -2 + -2 + -2 + -2 + -2 + -2 + -2 + -2 + -2 + -2 + -2 + -2 + + + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + false + false + false + false + false + false + false + + + false + false + false + false + false + true + false + false + 0 + 0 + false + 0 + false + true + false + false + false + false + true + + ${dateTime} + + + + + + armor_base_0 + head_base_0 + shield_base_0 + + + armor_base_0 + head_base_0 + shield_base_0 + + + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + true + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + ${dateTime} + + + + + + + + 1 + + + + + + + + + 0 + 0 + 0 + + + false + + level + ascending + + + + red + 3 + 1 + 0 + 0 + 1 + + + false + true + true + true + true + true + true + true + true + true + true + true + true + true + true + + + false + true + true + true + true + true + true + true + true + true + true + true + true + true + + + false + false + false + false + + + false + false + + 0 + slim + false + 915533 + blue + 0 + rosstavoTheme + none + flat + true + MM/dd/yyyy + false + true + false + false + false + false + false + false + true + en + + violet + + + ${userName} + + + + 0 + 0 + 0 + 0 + 0 + false + false + false + false + false + + + 0 + 0 + 0 + 0 + + 50 + 10 + 0 + 0 + 1 + warrior + 0 + 0 + 0 + 0 + 0 + + + 0 + false + + + ${user.tasksOrder.todos[0]} + + <_v>1 + 0 + 0 + 0 + <_id>${userId} + ${user.apiToken} + ${dateTime} + + ${user.tags[0].id} + Work + + + ${user.tags[1].id} + Exercise + + + ${user.tags[2].id} + Health + Wellness + + + ${user.tags[3].id} + School + + + ${user.tags[4].id} + Teams + + + ${user.tags[5].id} + Chores + + + ${user.tags[6].id} + Creativity + + + + gear.flat.weapon_warrior_0 + marketGear + + + gear.flat.armor_warrior_1 + marketGear + + + gear.flat.shield_warrior_1 + marketGear + + + gear.flat.head_warrior_1 + marketGear + + + potion + potion + + + armoire + armoire + + ${userId} + <_tmp>undefined + + + + + + false + false + false + + singleCompletion + + false + false + todo + You can either complete this To Do, edit it, or remove it. + 0 + 1 + int + false + ${dateTime} + ${dateTime} + <_id>${taskId} + Join Habitica (Check me off!) + ${userId} + ${taskId} + + +`); + }); +}); diff --git a/website/server/controllers/top-level/dataexport.js b/website/server/controllers/top-level/dataexport.js index f1bc60ea28..fd9a10c8bf 100644 --- a/website/server/controllers/top-level/dataexport.js +++ b/website/server/controllers/top-level/dataexport.js @@ -1,14 +1,12 @@ import _ from 'lodash'; import moment from 'moment'; -import * as js2xml from 'js2xmlparser'; // import Pageres from 'pageres'; // import nconf from 'nconf'; // import got from 'got'; import md from 'habitica-markdown'; import csvStringify from '../../libs/csvStringify'; -import { - NotFound, -} from '../../libs/errors'; +import { marshallUserData } from '../../libs/xmlMarshaller'; +import { NotFound } from '../../libs/errors'; import * as Tasks from '../../models/task'; import * as inboxLib from '../../libs/inbox'; // import { model as User } from '../../models/user'; @@ -85,7 +83,7 @@ api.exportUserHistory = { // Convert user to json and attach tasks divided by type and inbox messages // at user.tasks[`${taskType}s`] (user.tasks.{dailys/habits/...}) -async function _getUserDataForExport (user, xmlMode = false) { +async function _getUserDataForExport (user) { const userData = user.toJSON(); userData.tasks = {}; @@ -108,30 +106,6 @@ async function _getUserDataForExport (user, xmlMode = false) { userData.tasks[`${taskType}s`] = tasksPerType; }); - if (xmlMode) { - // object maps cant be parsed - userData.inbox.messages = _(userData.inbox.messages) - .map(m => { - m.flags = Object.keys(m.flags); - - return m; - }) - .value(); - - userData.newMessages = _.map(userData.newMessages, (msg, id) => ({ id, ...msg })); - - // _id gets parsed as a bytearray => which gets cast to a chararray => "weird chars" - userData.unpinnedItems = userData.unpinnedItems.map(i => ({ - path: i.path, - type: i.type, - })); - - userData.pinnedItems = userData.pinnedItems.map(i => ({ - path: i.path, - type: i.type, - })); - } - return userData; } @@ -172,13 +146,8 @@ api.exportUserDataXml = { url: '/export/userdata.xml', middlewares: [authWithSession], async handler (req, res) { - const userData = await _getUserDataForExport(res.locals.user, true); - const xmlData = js2xml.parse('user', userData, { - cdataInvalidChars: true, - declaration: { - include: false, - }, - }); + const userData = await _getUserDataForExport(res.locals.user); + const xmlData = marshallUserData(userData); res.set({ 'Content-Type': 'text/xml', diff --git a/website/server/libs/xmlMarshaller.js b/website/server/libs/xmlMarshaller.js new file mode 100644 index 0000000000..5e7bb96095 --- /dev/null +++ b/website/server/libs/xmlMarshaller.js @@ -0,0 +1,32 @@ +import _ from 'lodash'; +import * as js2xml from 'js2xmlparser'; + +export function marshallUserData (userData) { + // object maps can't be marshalled to XML + userData.inbox.messages = _(userData.inbox.messages) + .map(m => { + m.flags = Object.keys(m.flags); + return m; + }) + .value(); + + userData.newMessages = _.map(userData.newMessages, (msg, id) => ({ id, ...msg })); + + // _id gets parsed as a bytearray => which gets cast to a chararray => "weird chars" + userData.unpinnedItems = userData.unpinnedItems.map(i => ({ + path: i.path, + type: i.type, + })); + + userData.pinnedItems = userData.pinnedItems.map(i => ({ + path: i.path, + type: i.type, + })); + + return js2xml.parse('user', userData, { + cdataInvalidChars: true, + declaration: { + include: false, + }, + }); +} From b056763f09966f63a614dc61c4a246e0c81a9e63 Mon Sep 17 00:00:00 2001 From: Alexandrea Beh Date: Fri, 25 Sep 2020 03:29:13 -0500 Subject: [PATCH 16/90] Issue 11450 Adding keyboard accessibility to task board controls and purchases (#12363) * intial draft adding keyboard accessibility to task board controls * cleanup * finish adding keyboard accessibility for task dropdown, rewards * add notEnough conditions to disable purchase button * fix(lint): remove console.log from buy modal * add missing comma, use focus-within instead of focus-visible * missed one more focus visible * override browser default focus styling * move focus styling to tasks only * add rounded border * fix element height on focus, rounded borders * fix dropdown margin to avoid element resizing * styling updates on focus * fix spacing around task checklist * fix border around dropdown item * remove spacing that made tasks with notes jump * keep disabled habit control styling when not focused * revert unintended spacing Co-authored-by: Matteo Pagliazzi --- website/client/src/assets/scss/task.scss | 5 +- .../client/src/components/shops/buyModal.vue | 13 ++- .../client/src/components/shops/shopItem.vue | 4 +- .../client/src/components/tasks/column.vue | 7 ++ website/client/src/components/tasks/task.vue | 101 +++++++++++++++--- 5 files changed, 114 insertions(+), 16 deletions(-) diff --git a/website/client/src/assets/scss/task.scss b/website/client/src/assets/scss/task.scss index 66f6f35bf7..853d589897 100644 --- a/website/client/src/assets/scss/task.scss +++ b/website/client/src/assets/scss/task.scss @@ -295,7 +295,10 @@ &-control { &-bg { background: $gray-600; } &-inner { - border: 1px solid $gray-300; + &:not(:focus) { + border: 1px solid $gray-300 !important; + } + opacity: 0.75; .negative, .positive { diff --git a/website/client/src/components/shops/buyModal.vue b/website/client/src/components/shops/buyModal.vue index 65a0393199..e8f934dbfe 100644 --- a/website/client/src/components/shops/buyModal.vue +++ b/website/client/src/components/shops/buyModal.vue @@ -8,6 +8,8 @@ v-if="withPin" class="badge-dialog" @click.prevent.stop="togglePinned()" + @keypress.enter.prevent.stop="togglePinned()" + tabindex="0" >