From 7e704d65fdfb529cf40cbb57ecc59b7c22a6d745 Mon Sep 17 00:00:00 2001 From: Kalista Payne Date: Wed, 6 May 2026 23:21:53 -0500 Subject: [PATCH] fix(links): add noopener noreferrer --- .../components/achievements/contributor.vue | 1 + .../user-support/subscriptionAndPerks.vue | 3 +++ website/client/src/components/appFooter.vue | 24 +++++++++++++++++++ .../challenges/reportChallengeModal.vue | 4 ++-- .../src/components/chat/reportFlagModal.vue | 4 ++-- .../client/src/components/groups/tavern.vue | 4 ++++ website/client/src/components/hall/heroes.vue | 2 ++ website/client/src/components/header/menu.vue | 4 ++++ .../components/members/reportMemberModal.vue | 4 ++-- .../src/components/settings/privacyModal.vue | 1 + .../src/components/shared/inventoryDrawer.vue | 1 + .../components/static/clearBrowserData.vue | 4 ++-- .../client/src/components/static/contact.vue | 1 + .../client/src/components/static/header.vue | 2 ++ website/client/src/components/static/home.vue | 8 ++++++- .../client/src/components/static/overview.vue | 1 + .../client/src/components/static/privacy.vue | 6 +++++ .../client/src/components/static/terms.vue | 3 +++ .../client/src/components/tasks/taskModal.vue | 4 ++-- .../world-boss/worldBossInfoModal.vue | 1 + .../components/currentPasswordInput.vue | 1 + website/common/locales/en/character.json | 6 ++--- .../locales/en/communityGuidelines.json | 18 +++++++------- website/common/locales/en/contrib.json | 2 +- website/common/locales/en/death.json | 2 +- website/common/locales/en/front.json | 6 ++--- website/common/locales/en/generic.json | 2 +- website/common/locales/en/groups.json | 6 ++--- website/common/locales/en/npc.json | 2 +- website/common/locales/en/pets.json | 2 +- website/common/locales/en/settings.json | 10 ++++---- 31 files changed, 100 insertions(+), 39 deletions(-) diff --git a/website/client/src/components/achievements/contributor.vue b/website/client/src/components/achievements/contributor.vue index 12be04c49d..270fddcad9 100644 --- a/website/client/src/components/achievements/contributor.vue +++ b/website/client/src/components/achievements/contributor.vue @@ -14,6 +14,7 @@
{{ $t('contribLink') }}
diff --git a/website/client/src/components/admin/admin-panel/user-support/subscriptionAndPerks.vue b/website/client/src/components/admin/admin-panel/user-support/subscriptionAndPerks.vue index 5cd2c13e3b..9c2b6fac8f 100644 --- a/website/client/src/components/admin/admin-panel/user-support/subscriptionAndPerks.vue +++ b/website/client/src/components/admin/admin-panel/user-support/subscriptionAndPerks.vue @@ -491,6 +491,7 @@ v-if="hero.purchased.plan.paymentMethod === 'Google'" class="btn btn-primary btn-sm" target="_blank" + rel="noopener noreferrer" :href="playOrdersUrl" > Play Console @@ -499,6 +500,7 @@ v-else-if="hero.purchased.plan.paymentMethod === 'Paypal'" class="btn btn-primary btn-sm" target="_blank" + rel="noopener noreferrer" :href="'https://www.paypal.com/billing/subscriptions/' + paymentDetails.customerId" > PayPal Dashboard @@ -507,6 +509,7 @@ v-else-if="hero.purchased.plan.paymentMethod === 'Stripe'" class="btn btn-primary btn-sm" target="_blank" + rel="noopener noreferrer" :href="'https://dashboard.stripe.com/customers/' + paymentDetails.customerId" > Stripe Dashboard diff --git a/website/client/src/components/appFooter.vue b/website/client/src/components/appFooter.vue index d4fc27b261..041d3c50ce 100644 --- a/website/client/src/components/appFooter.vue +++ b/website/client/src/components/appFooter.vue @@ -11,6 +11,7 @@
  • {{ $t('mobileIOS') }} @@ -18,6 +19,7 @@
  • {{ $t('mobileAndroid') }} @@ -52,6 +54,7 @@ {{ $t('companyBlog') }}
  • @@ -71,6 +74,7 @@
  • {{ $t('communityGuidelines') }} @@ -84,6 +88,7 @@ {{ $t('companyContribute') }}
  • @@ -91,6 +96,7 @@ {{ $t('translateHabitica') }} @@ -111,6 +117,7 @@ {{ $t('reportBug') }} @@ -122,6 +129,7 @@ {{ $t('reportBug') }} @@ -130,6 +138,7 @@ {{ $t('requestFeature') }} @@ -143,6 +152,7 @@ {{ $t('APIv3') }} @@ -150,6 +160,7 @@ {{ $t('dataDisplayTool') }} @@ -157,6 +168,7 @@ {{ $t('guidanceForBlacksmiths') }} @@ -172,6 +184,7 @@ class="social-circle mr-2" href="https://www.instagram.com/habitica/" target="_blank" + rel="noopener noreferrer" >
    {{ $t('communityInstagram') }} @@ -190,6 +204,7 @@ class="social-circle mr-2" href="https://bsky.app/profile/habitica.com" target="_blank" + rel="noopener noreferrer" > diff --git a/website/client/src/components/static/overview.vue b/website/client/src/components/static/overview.vue index 7363144ccf..9bc3ef1aae 100644 --- a/website/client/src/components/static/overview.vue +++ b/website/client/src/components/static/overview.vue @@ -16,6 +16,7 @@ {{ $t('askQuestion') }} diff --git a/website/client/src/components/static/privacy.vue b/website/client/src/components/static/privacy.vue index a576c5254a..27ce7353e7 100644 --- a/website/client/src/components/static/privacy.vue +++ b/website/client/src/components/static/privacy.vue @@ -100,9 +100,11 @@ We use Google Analytics, a service which uses cookies to collect and analyze data about the use of the Services and report on activities and trends. This service may also collect data about the use of other websites, apps, and online services. You can learn about Google's practices, and opt out of them, by downloading the Google Analytics opt-out browser add-on.

    Controlling Cookies

    @@ -687,6 +689,7 @@ Opt - Out of the “ Sale” of Personal Information or Use of Such Information for “Targeted Advertising” or “Profiling”. We engage in common marketing and advertising practices to provide more relevant content and ads to users of our Site and Services. Certain of these practices may involve the “selling” of personal information, or the use of such information for “targeted advertising” or “profiling,” as those terms are defined in the Texas Data Privacy and Security Act (“TDPSA”) and the Nebraska Data Privacy Act. We do not sell personal information under the more commonly understood meaning of that word—i.e., providing personal information to third parties in exchange for money. Nor do we have actual knowledge of selling personal information of minors under the age of 16. To opt-out of the selling of your personal information, or use of that information for targeted advertising or profiling, please submit a request to privacy@habitica.com. Note: We also treat Global Privacy Control browser signals as opt-out of sale/disclosure for targeted advertising or profiling requests. To opt-out via the Global Privacy Control, please follow the instructions available here.

    @@ -730,12 +733,15 @@ Right to lodge a complaint: Users that reside in the UK, EEA, or Switzerland have the right to seek information and assistance or lodge a complaint about our data collection and processing actions with the supervisory authority where they reside. Contact details for data protection authorities are available here. UK: https://ico.org.uk/ EEA: https://edpb.europa.eu/about-edpb/board/members_en Switzerland: https//www.edoeb.admin.ch/edoeb/en/home/deredoeb/kontakt.html.

    diff --git a/website/client/src/components/static/terms.vue b/website/client/src/components/static/terms.vue index e1e52206d4..2e38efc0e8 100644 --- a/website/client/src/components/static/terms.vue +++ b/website/client/src/components/static/terms.vue @@ -10,6 +10,7 @@ Our Service is provided by HabitRPG, Inc. ("HabitRPG"). By accepting these Terms of Service and our Privacy Policy located at: https://habitica.com/static/privacy (collectively, the "Agreement"), using our website, Habitica.com, or our other features or services (collectively, “the Services”), or otherwise manifesting your assent to the Agreement, you acknowledge that you have read, understood, and agree to be legally bound by the Agreement. If you do not agree to (or cannot comply with) the Agreement, you are not permitted to access or use the Service. By accepting or agreeing to this Agreement on behalf of a company or other legal entity, you represent and warrant that you have the authority to bind that company or other legal entity to the Agreement and, in such event, "you" and "your" will refer and apply to that company or other legal entity. You further represent and warrant that your assent to this Agreement constitutes an electronic signature as defined by the Electronic Signatures in Global and National Commerce Act (“E-Sign”) and the Uniform Electronic Transactions Act (“UETA”) and that you have formed, executed, entered into, and accepted the terms of and otherwise authenticated the Agreement and acknowledged and agreed that the Agreement is an electronic record for purposes of E- Sign, UETA, and the Uniform Computer Information Transactions Act and, as such, is completely valid, has legal effect, is enforceable, and is binding on, and non- refutable by, you and/or any entity on whose behalf you are acting.

    @@ -164,6 +165,7 @@ FOR ANY CUSTOMER WHO PURCHASED PREMIUM IN APPLE INC.'s APP STORE ("APP STORE"), PLEASE CONTACT APPLE INC.'s SUPPORT TEAM: https://reportaproblem.apple.com. APPLE'S APP STORE DOES NOT ALLOW DEVELOPERS TO ISSUE REFUNDS FOR APP STORE PURCHASES MADE BY CUSTOMERS.

    @@ -204,6 +206,7 @@ All disputes will be resolved before a neutral arbitrator selected jointly by the parties, whose decision will be final, except for a limited right of appeal under the FAA. The arbitration shall be commenced and conducted by JAMS pursuant to its then current Comprehensive Arbitration Rules and Procedures and in accordance with the Expedited Procedures in those rules, or, where appropriate, pursuant to JAMS' Streamlined Arbitration Rules and Procedures. All applicable JAMS rules and procedures are available at the JAMS website www.jamsadr.com. Each party will be responsible for paying any JAMS filing, administrative, and arbitrator fees in accordance with JAMS rules. Judgment on the arbitrator's award may be entered in any court having jurisdiction. This clause shall not preclude parties from seeking provisional remedies in aid of arbitration from a court of appropriate jurisdiction. The arbitration may be conducted in person, through the submission of documents, by phone, or online. If conducted in person, the arbitration shall take place in the United States county where you reside. The parties may litigate in court to compel arbitration, to stay a proceeding pending arbitration, or to confirm, modify, vacate, or enter judgment on the award entered by the arbitrator. The parties shall cooperate in good faith in the voluntary and informal exchange of all non-privileged documents and other information (including electronically stored information) relevant to the Dispute immediately after commencement of the arbitration. As set forth below, nothing in this Agreement will prevent us from seeking injunctive relief in any court of competent jurisdiction as necessary to protect our proprietary interests.

    diff --git a/website/client/src/components/tasks/taskModal.vue b/website/client/src/components/tasks/taskModal.vue index 2aa41da203..58a4d2a1d6 100644 --- a/website/client/src/components/tasks/taskModal.vue +++ b/website/client/src/components/tasks/taskModal.vue @@ -1353,8 +1353,8 @@ export default { ], calendarHighlights: { dates: [new Date()] }, spiLinkData: { - firstLink: '', - secondLink: '', + firstLink: '', + secondLink: '', linkClose: '', }, }; diff --git a/website/client/src/components/world-boss/worldBossInfoModal.vue b/website/client/src/components/world-boss/worldBossInfoModal.vue index b3206aebf5..6a06f9da90 100644 --- a/website/client/src/components/world-boss/worldBossInfoModal.vue +++ b/website/client/src/components/world-boss/worldBossInfoModal.vue @@ -47,6 +47,7 @@ class="footer-link" href="https://habitica.fandom.com/wiki/World_Bosses" target="_blank" + rel="noopener noreferrer" >{{ $t('worldBossLink') }}

    diff --git a/website/client/src/pages/settings/components/currentPasswordInput.vue b/website/client/src/pages/settings/components/currentPasswordInput.vue index 8fa2654c2b..d451935b83 100644 --- a/website/client/src/pages/settings/components/currentPasswordInput.vue +++ b/website/client/src/pages/settings/components/currentPasswordInput.vue @@ -19,6 +19,7 @@ {{ $t('forgotPassword') }} diff --git a/website/common/locales/en/character.json b/website/common/locales/en/character.json index f4bc61b4da..eb0bb41032 100644 --- a/website/common/locales/en/character.json +++ b/website/common/locales/en/character.json @@ -1,5 +1,5 @@ { - "communityGuidelinesWarning": "Please keep in mind that your Display Name, profile photo, and blurb must comply with the Community Guidelines (e.g. no profanity, no adult topics, no insults, etc). If you have any questions about whether or not something is appropriate, feel free to email <%= hrefBlankCommunityManagerEmail %>!", + "communityGuidelinesWarning": "Please keep in mind that your Display Name, profile photo, and blurb must comply with the Community Guidelines (e.g. no profanity, no adult topics, no insults, etc). If you have any questions about whether or not something is appropriate, feel free to email <%= hrefBlankCommunityManagerEmail %>!", "profile": "Profile", "avatar": "Customize Avatar", "editAvatar": "Customize Avatar", @@ -65,7 +65,7 @@ "costumeDisabled": "You have disabled your costume.", "gearAchievement": "You have earned the \"Ultimate Gear\" Achievement for upgrading to the maximum gear set for a class! You have attained the following complete sets:", "gearAchievementNotification": "You have earned the \"Ultimate Gear\" Achievement for upgrading to the maximum gear set for a class!", - "moreGearAchievements": "To attain more Ultimate Gear badges, change classes on the Settings > Site page and buy your new class's gear!", + "moreGearAchievements": "To attain more Ultimate Gear badges, change classes on the Settings > Site page and buy your new class's gear!", "armoireUnlocked": "For more equipment, check out the Enchanted Armoire! Click on the Enchanted Armoire Reward for a random chance at special Equipment! It may also give you random XP or food items.", "ultimGearName": "Ultimate Gear - <%= ultClass %>", "ultimGearText": "Has upgraded to the maximum weapon and armor set for the <%= ultClass %> class.", @@ -139,7 +139,7 @@ "optOutOfClasses": "Opt Out", "chooseClass": "Choose your Class", "chooseClassLearnMarkdown": "[Learn more about Habitica's class system](/static/faq#what-classes)", - "optOutOfClassesText": "Not ready to choose? There's no rush! If you opt out, you can read about each Class in our FAQ and visit Settings to enable the Class System when you're ready.", + "optOutOfClassesText": "Not ready to choose? There's no rush! If you opt out, you can read about each Class in our FAQ and visit Settings to enable the Class System when you're ready.", "selectClass": "Select <%= heroClass %>", "select": "Select", "stealth": "Stealth", diff --git a/website/common/locales/en/communityGuidelines.json b/website/common/locales/en/communityGuidelines.json index 1585b80ab5..4cae126667 100644 --- a/website/common/locales/en/communityGuidelines.json +++ b/website/common/locales/en/communityGuidelines.json @@ -12,11 +12,11 @@ "commGuideList01A": "Our Guidelines and Terms of Service apply in Challenges, Parties, player profiles, and private messages.", "commGuideList02C": "Do not post images or text that are violent, threatening, or sexually explicit/suggestive, or that promote discrimination, bigotry, racism, sexism, hatred, harassment or harm against any individual or group. Not even as a joke or meme. This includes slurs as well as statements. Not everyone has the same sense of humor, and so something that you consider a joke may be hurtful to another.", - "commGuideList02N": "Report anything you see that breaks these Guidelines or our Terms of Service. You can report a message directly or notify staff via admin@habitica.com for violations in profiles or Challenges. We will handle them as quickly as possible. You may contact us in your native language if that is easier for you: we may have to use Google Translate, but we want you to feel comfortable about contacting us if you have a problem.", + "commGuideList02N": "Report anything you see that breaks these Guidelines or our Terms of Service. You can report a message directly or notify staff via admin@habitica.com for violations in profiles or Challenges. We will handle them as quickly as possible. You may contact us in your native language if that is easier for you: we may have to use Google Translate, but we want you to feel comfortable about contacting us if you have a problem.", "commGuideList02H": "All Display Names and @usernames must comply with the Terms of Service. To change your Display Name and/or @username: on mobile go to Menu > Settings > Account. On web, go to Settings from the user icon in the top navigation.", "commGuideList02A": "Respect each other. Be courteous, kind, friendly, and helpful. Remember: Habiticans come from all backgrounds and have had wildly divergent experiences.", "commGuideList02I": "Challenge names should be appropriate for all spaces, as they will appear in the winner's public profile. Keep this in mind when creating Challenges as we may be forced to edit the record on their profile if there is a report.", - "commGuideList02G": "Comply immediately with any Staff request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, etc. Do not argue with Staff. If you have concerns or comments about Staff actions, email admin@habitica.com to contact our community manager.", + "commGuideList02G": "Comply immediately with any Staff request. This could include, but is not limited to, requesting you limit your posts in a particular space, editing your profile to remove unsuitable content, etc. Do not argue with Staff. If you have concerns or comments about Staff actions, email admin@habitica.com to contact our community manager.", "commGuideList02D": "Be mindful that Habiticans are of all ages and backgrounds. Challenges and player profiles should not mention adult topics, use profanity, or promote contention or conflict.", "commGuideList02E": "If a staff member tells you that a term is disallowed on Habitica, even if it is a term that you did not realize was problematic, that decision is final. Additionally, slurs will be dealt with very severely, as they are also a violation of the Terms of Service.", "commGuideList02O": "Parties may create their own chat rules for members’ comfort and preferences. However, the admins cannot enforce chat rules in these private spaces unless there is a breach of the Terms of Service, including harassment. If someone in your Party is causing issues, we encourage the Party leader to remove them.", @@ -24,7 +24,7 @@ "commGuideList02P": "We discourage the sending of unsolicited private messages. If you receive an unwanted message that makes you uncomfortable or that breaks these Guidelines or the Terms of Service, please block the sender and report it to bring it to Staff attention.", "commGuideList02Q": "Do not try to get around a block. If someone has blocked you from sending them private messages, do not contact them elsewhere to ask them to unblock you.", "commGuideList02M": "Do not ask or beg for Gems, subscriptions, or membership in Group Plans. If you see or receive unwanted messages asking for paid items, please report them. Repeated Gem or subscription begging, especially after a warning, may result in an account ban.", - "commGuideList02L": "We highly discourage the exchange of personal information--particularly information that can be used to identify you. Identifying information can include but is not limited to: your address, your email, and your password or API token. If you are asked for personal information in a Party chat or private message, we highly recommend that you do not respond, and alert the Staff by either reporting the message or contacting admin@habitica.com with screenshots of the messages if more context is needed.", + "commGuideList02L": "We highly discourage the exchange of personal information--particularly information that can be used to identify you. Identifying information can include but is not limited to: your address, your email, and your password or API token. If you are asked for personal information in a Party chat or private message, we highly recommend that you do not respond, and alert the Staff by either reporting the message or contacting admin@habitica.com with screenshots of the messages if more context is needed.", "commGuideList02J": "Do not spam. Spamming may include, but is not limited to: sending multiple unsolicited private messages, sending nonsensical messages, sending multiple promotional messages about a Party or Challenge, or creating multiple similar or low quality Challenges in a row. Staff has discretion to determine what messages are considered spamming.", "commGuideList02K": "Do not send links without explanation or context. If players clicking on a link will result in any benefit to you, you need to disclose that. This applies in messages as well as Challenges.", @@ -48,7 +48,7 @@ "commGuideHeadingModerateInfractions": "Moderate Infractions", "commGuidePara054": "These infractions will have moderate consequences. When in conjunction with multiple infractions, the consequences may grow more severe.", "commGuidePara055": "The following are some examples of Moderate Infractions. This is not a comprehensive list.", - "commGuideList06A": "Ignoring, disrespecting or arguing with Staff. If you are concerned about one of the rules or the behavior of the staff, please contact us at admin@habitica.com.", + "commGuideList06A": "Ignoring, disrespecting or arguing with Staff. If you are concerned about one of the rules or the behavior of the staff, please contact us at admin@habitica.com.", "commGuideList06C": "Intentionally flagging innocent Challenges, profiles, or messages.", "commGuideList06E": "Repeatedly Committing Minor Infractions", @@ -79,8 +79,8 @@ "commGuideHeadingRestoration": "Restoration", "commGuidePara061": "Habitica is devoted to self-improvement, and we believe in second chances. If you commit an infraction and receive a consequence, view it as a chance to evaluate your actions and strive to be a better member of the community.", - "commGuidePara062": "If you wish to ask questions about your infraction or consequences, apologize, or make a plea for reinstatement, please contact us at admin@habitica.com with your User ID or @username. It is your responsibility to reach out.", - "commGuidePara063": "If you do not understand your consequences or the nature of your infraction, or if you have other questions related to the matter, you can contact the staff to discuss it at admin@habitica.com. Cooperate with any restrictions which have been imposed, and endeavor to meet the requirements to have any penalties lifted.", + "commGuidePara062": "If you wish to ask questions about your infraction or consequences, apologize, or make a plea for reinstatement, please contact us at admin@habitica.com with your User ID or @username. It is your responsibility to reach out.", + "commGuidePara063": "If you do not understand your consequences or the nature of your infraction, or if you have other questions related to the matter, you can contact the staff to discuss it at admin@habitica.com. Cooperate with any restrictions which have been imposed, and endeavor to meet the requirements to have any penalties lifted.", "commGuideHeadingMeet": "Meet the Staff", "commGuidePara007": "The Habitica Staff keep the app and sites running and can act as chat moderators. They have purple tags marked with crowns. Their title is \"Heroic\".", @@ -94,13 +94,13 @@ "commGuidePara014": "Staff and Moderators Emeritus:", "commGuideHeadingFinal": "The Final Section", - "commGuidePara067": "So there you have it, brave Habitican -- the Community Guidelines! Wipe that sweat off of your brow and give yourself some EXP for reading it all. If you have any questions or concerns about these Community Guidelines, please reach out to us via admin@habitica.com and we will be happy to help clarify things.", + "commGuidePara067": "So there you have it, brave Habitican -- the Community Guidelines! Wipe that sweat off of your brow and give yourself some EXP for reading it all. If you have any questions or concerns about these Community Guidelines, please reach out to us via admin@habitica.com and we will be happy to help clarify things.", "commGuidePara068": "Now go forth, brave adventurer, and slay some Dailies!", "commGuideHeadingLinks": "Useful Links", - "commGuideLink02": "The Wiki: the biggest collection of information about Habitica. Note that this space is unofficial, being hosted by Fandom and maintained by players.", + "commGuideLink02": "The Wiki: the biggest collection of information about Habitica. Note that this space is unofficial, being hosted by Fandom and maintained by players.", "commGuideLink03": "GitHub: for helping with code!", - "commGuideLink04": "The Feedback Form: for site and app feature requests.", + "commGuideLink04": "The Feedback Form: for site and app feature requests.", "commGuidePara069": "The following talented artists contributed to these illustrations:" } diff --git a/website/common/locales/en/contrib.json b/website/common/locales/en/contrib.json index 600ab70809..f5ef8c5951 100644 --- a/website/common/locales/en/contrib.json +++ b/website/common/locales/en/contrib.json @@ -45,5 +45,5 @@ "surveysSingle": "Helped Habitica grow, either by filling out a survey or helping with a major testing effort. Thank you!", "surveysMultiple": "Helped Habitica grow on <%= count %> occasions, either by filling out a survey or helping with a major testing effort. Thank you!", "blurbHallPatrons": "This is the Hall of Patrons, where we honor the noble adventurers who backed Habitica's original Kickstarter. We thank them for helping us bring Habitica to life!", - "blurbHallContributors": "This is the Hall of Contributors, where open-source contributors to Habitica are honored. Whether through code, art, music, writing, or even just helpfulness, they have earned Gems, exclusive Equipment, and prestigious titles. You can contribute to Habitica, too! Find out more here." + "blurbHallContributors": "This is the Hall of Contributors, where open-source contributors to Habitica are honored. Whether through code, art, music, writing, or even just helpfulness, they have earned Gems, exclusive Equipment, and prestigious titles. You can contribute to Habitica, too! Find out more here." } diff --git a/website/common/locales/en/death.json b/website/common/locales/en/death.json index daecc2ea7a..62e7996c02 100644 --- a/website/common/locales/en/death.json +++ b/website/common/locales/en/death.json @@ -3,7 +3,7 @@ "dontDespair": "Don't despair!", "deathPenaltyDetails": "You lost a Level, your Gold, and a piece of Equipment, but you can get them all back with hard work! Good luck--you'll do great.", "refillHealthTryAgain": "Refill Health & Try Again", - "dyingOftenTips": "Is this happening often? Here are some tips!", + "dyingOftenTips": "Is this happening often? Here are some tips!", "losingHealthWarning": "Careful - You're Losing Health!", "losingHealthWarning2": "Don't let your Health drop to zero! If you do, you'll lose a level, your Gold, and a piece of equipment.", "toRegainHealth": "To regain Health:", diff --git a/website/common/locales/en/front.json b/website/common/locales/en/front.json index 2acaf16f4e..0d55a567f7 100644 --- a/website/common/locales/en/front.json +++ b/website/common/locales/en/front.json @@ -123,8 +123,8 @@ "emailTaken": "Email address is already used in an account.", "newEmailRequired": "Missing new email address.", "usernameTime": "It's time to set your username!", - "usernameInfo": "Login names are now unique usernames that will be visible beside your display name and used for invitations, chat @mentions, and messaging.

    If you'd like to learn more about this change, visit our wiki.", - "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.", + "usernameInfo": "Login names are now unique usernames that will be visible beside your display name and used for invitations, chat @mentions, and messaging.

    If you'd like to learn more about this change, visit our wiki.", + "usernameTOSRequirements": "Usernames must conform to our Terms of Service and Community Guidelines. If you didn’t previously set a login name, your username was auto-generated.", "usernameTaken": "Username already taken.", "passwordConfirmationMatch": "Password confirmation doesn't match password.", "minPasswordLength": "Password must be 8 characters or more.", @@ -187,7 +187,7 @@ "learnMore": "Learn More", "translateHabitica": "Translate Habitica", "whatToCallYou": "What should we call you?", - "acceptPrivacyTOS": "You confirm that you are at least 18 years old, and that you have read and agree to our Terms of Service and Privacy Policy", + "acceptPrivacyTOS": "You confirm that you are at least 18 years old, and that you have read and agree to our Terms of Service and Privacy Policy", "emailAddress": "Email address", "emailRequiredForSupport": "We require an email address for user support. Please enter an email address to continue creating your account." } diff --git a/website/common/locales/en/generic.json b/website/common/locales/en/generic.json index b0fbb87b08..919f4cd100 100644 --- a/website/common/locales/en/generic.json +++ b/website/common/locales/en/generic.json @@ -242,7 +242,7 @@ "whyReportingPlayerPlaceholder": "Reason for report", "playerReportModalBody": "You should only report a player who violates the <%= firstLinkStart %>Community Guidelines<%= linkEnd %> and/or <%= secondLinkStart %>Terms of Service<%= linkEnd %>. Submitting a false report is a violation of Habitica’s Community Guidelines.", "targetUserNotExist": "Target User: '<%= userName %>' does not exist.", - "rememberToBeKind": "Please remember to be kind, respectful, and follow the Community Guidelines.", + "rememberToBeKind": "Please remember to be kind, respectful, and follow the Community Guidelines.", "confirmPurchase": "Confirm Purchase", "avoidSPI": "Avoid SPI", "avoidSPIDetails": "For your privacy, avoid including <%= firstLink %>sensitive personal information<%= linkClose %> (SPI) when using Habitica. Your account data, including tasks, is stored on our servers so you can access it from any device.

    To learn more, review our <%= secondLink %>Privacy Policy<%= linkClose %>." diff --git a/website/common/locales/en/groups.json b/website/common/locales/en/groups.json index 5cacc54956..bd65119ff2 100644 --- a/website/common/locales/en/groups.json +++ b/website/common/locales/en/groups.json @@ -12,7 +12,7 @@ "contributing": "Contributing", "faq": "FAQ", "tutorial": "Tutorial", - "glossary": "Glossary", + "glossary": "Glossary", "wiki": "Wiki", "resources": "Resources", "communityGuidelines": "Community Guidelines", @@ -28,7 +28,7 @@ "invite": "Invite", "leave": "Leave", "invitedToParty": "You were invited to join the Party <%= party %>", - "invitedToPartyBy": "\" target=\"_blank\">@<%= userName %> has invited you to join the Party <%= party %>", + "invitedToPartyBy": "\" target=\"_blank\" rel=\"noreferrer noopener\">@<%= userName %> has invited you to join the Party <%= party %>", "invitedToPrivateGuild": "You were invited to join the private Group <%= guild %>", "invitedToPublicGuild": "You were invited to join the Group <%= guild %>", "invitationAcceptedHeader": "Your Invitation has been Accepted", @@ -411,7 +411,7 @@ "newGroupsBullet10a": "Leave a task unassigned if any member can complete it", "newGroupsBullet10b": "Assign a task to one member so only they can complete it", "newGroupsBullet10c": "Assign a task to multiple members if they all need to complete it", - "newGroupsVisitFAQ": "Visit the FAQ from the Help dropdown for more guidance.", + "newGroupsVisitFAQ": "Visit the FAQ from the Help dropdown for more guidance.", "newGroupsEnjoy": "We hope you enjoy the new Group Plans experience!", "checkinsLabel": "Check-ins:", "classLabel": "Class:", diff --git a/website/common/locales/en/npc.json b/website/common/locales/en/npc.json index 278c6c26f6..10336ce3a0 100644 --- a/website/common/locales/en/npc.json +++ b/website/common/locales/en/npc.json @@ -21,7 +21,7 @@ "pauseDailies": "Pause Damage", "unpauseDailies": "Unpause Damage", "staffAndModerators": "Staff and Moderators", - "communityGuidelinesIntro": "Habitica tries to create a welcoming environment for users of all ages and backgrounds, especially in spaces like Groups and Parties. If you have any questions, please consult our Community Guidelines.", + "communityGuidelinesIntro": "Habitica tries to create a welcoming environment for users of all ages and backgrounds, especially in spaces like Groups and Parties. If you have any questions, please consult our Community Guidelines.", "acceptCommunityGuidelines": "I agree to follow the Community Guidelines", "worldBossEvent": "World Boss Event", "worldBossDescription": "World Boss Description", diff --git a/website/common/locales/en/pets.json b/website/common/locales/en/pets.json index f1043770d0..891f9d47b0 100644 --- a/website/common/locales/en/pets.json +++ b/website/common/locales/en/pets.json @@ -91,7 +91,7 @@ "welcomeStable": "Welcome to your Pets and Mounts!", "welcomeStableText": "Welcome to the stable! I’m Matt, the beastmaster. Every time you complete a task, you'll have a random chance at receiving an Egg or a Hatching Potion to hatch Pets. When you hatch a Pet, it will appear here! Click a Pet's image to add it to your Avatar. Feed them with the Pet Food you find and they'll grow into hardy Mounts.", "petLikeToEat": "What does my Pet like to eat?", - "petLikeToEatText": "Pets will grow no matter what you feed them, but they'll grow faster if you feed them the one Pet Food that they like best. Experiment to find out the pattern, or see the answers here:
    https://habitica.com/static/faq#pet-foods", + "petLikeToEatText": "Pets will grow no matter what you feed them, but they'll grow faster if you feed them the one Pet Food that they like best. Experiment to find out the pattern, or see the answers here:
    https://habitica.com/static/faq#pet-foods", "filterByStandard": "Standard", "filterByMagicPotion": "Magic Potion", "filterByQuest": "Quest", diff --git a/website/common/locales/en/settings.json b/website/common/locales/en/settings.json index 78405efe27..06b237c704 100644 --- a/website/common/locales/en/settings.json +++ b/website/common/locales/en/settings.json @@ -94,7 +94,7 @@ "showAPIToken": "Show API Token", "hideAPIToken": "Hide API Token", "thirdPartyApps": "Third Party Apps", - "thirdPartyTools": "Find third party apps, extensions, and all kinds of other tools you can use with your account on the Habitica wiki.", + "thirdPartyTools": "Find third party apps, extensions, and all kinds of other tools you can use with your account on the Habitica wiki.", "resetDo": "Do it, reset my account!", "resetComplete": "Reset complete!", "fixValues": "Fix Values", @@ -163,7 +163,7 @@ "generate": "Generate", "getCodes": "Get Codes", "webhooks": "Webhooks", - "webhooksInfo": "Webhooks provide a way for developers to receive notifications when a particular action is performed, such as scoring or updating a Task, or sending a message in a Group. By creating a webhook, you will be able to listen to changes in Habitica and build apps that respond to these changes.

    For additional information and examples on webhooks, please visit our API Docs.", + "webhooksInfo": "Webhooks provide a way for developers to receive notifications when a particular action is performed, such as scoring or updating a Task, or sending a message in a Group. By creating a webhook, you will be able to listen to changes in Habitica and build apps that respond to these changes.

    For additional information and examples on webhooks, please visit our API Docs.", "enabled": "Enabled", "webhookURL": "Webhook URL", "addWebhook": "Add Webhook", @@ -264,7 +264,7 @@ "managePrivacyPreferences": "Manage Your Privacy Preferences", "yourPrivacyPreferences": "Your Privacy Preferences", "privacySettingsOverview": "Habitica uses cookies to analyze performance, handle support requests, and provide you with the best possible gamified experience. To do that, we need to request the following permissions. You can change these at any time from your account settings.", - "learnMorePrivacy": "To learn more, review our Privacy Policy.", + "learnMorePrivacy": "To learn more, review our Privacy Policy.", "strictlyNecessary": "Strictly Necessary", "alwaysActive": "Always Active", "requiredToRun": "These are required by our website and apps to run at their best.", @@ -272,6 +272,6 @@ "usedForSupport": "These are used to improve the user experience, performance, and services of our website and apps. This data is used by our support team when handling requests and bug reports.", "savePreferences": "Save Preferences", "habiticaPrivacyPolicy": "Habitica's Privacy Policy", - "gpcWarning": "GPC is on. Turning on tracking below will override this and send data to our analytics partners.", - "gpcPlusAnalytics": "GPC is on. You have opted in to tracking and sending data to our analytics partners." + "gpcWarning": "GPC is on. Turning on tracking below will override this and send data to our analytics partners.", + "gpcPlusAnalytics": "GPC is on. You have opted in to tracking and sending data to our analytics partners." }