[web] Pricing page redesign plan cards (#32597)

* Initial version of new plans page with plans cards

* Fix optional chaining for tab button element in changeActivePlanTab function

* `make cleanup_unused_locales`

* Fix edu discount checkbox change listener

---------

Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: f87513346572300a7a6761c4f00ea589a54e23dc
This commit is contained in:
Tim Down
2026-04-09 10:29:03 +01:00
committed by Copybot
parent 367e8d53b2
commit 848d049e5a
5 changed files with 510 additions and 0 deletions

View File

@@ -2,3 +2,7 @@ mixin material-symbol(icon, extraClass = null)
- extraClass = extraClass ? ' ' + extraClass : ''
span(aria-hidden='true' translate='no' class='material-symbols' + extraClass)&attributes(attributes)
| #{icon}
mixin material-symbol-unfilled(icon, extraClass = null)
- extraClass = extraClass ? ' ' + extraClass : ''
+material-symbol(icon, 'unfilled' + extraClass)&attributes(attributes)

View File

@@ -1,3 +1,5 @@
@use 'sass:color';
/* Website redesign */
$vivid-tangerine: #f1a695;
$ceil: #9597c9;
@@ -7,6 +9,7 @@ $sapphire-blue: #4354a3;
$sapphire-blue-dark: #3c4c93;
$purple-bright: #939aff;
$green-bright: #13c965;
$green-bright-tint-50: color.mix($green-bright, #fff, 50%);
:root {
--vivid-tangerine: #{$vivid-tangerine};
@@ -16,5 +19,6 @@ $green-bright: #13c965;
--sapphire-blue: #{$sapphire-blue};
--sapphire-blue-dark: #{$sapphire-blue-dark};
--green-bright: #{$green-bright};
--green-bright-tint-50: #{$green-bright-tint-50};
--purple-bright: #{$purple-bright};
}

View File

@@ -47,6 +47,7 @@
@import 'login-register';
@import 'register';
@import 'plans';
@import 'plans-2026';
@import 'onboarding-confirm-email-ciam';
@import 'secondary-confirm-email';
@import 'onboarding';

View File

@@ -0,0 +1,465 @@
// Styles for plans_2026.pug (plans-2026-phase-1 split test).
// All rules are scoped to .plans-new-design or sub-selectors that
// only appear in plans_2026.pug, so plans.pug is unaffected.
.plans-new-design {
.plans-and-pricing-section {
padding-block: var(--spacing-09);
&:first-of-type {
padding-block-start: var(--spacing-10);
}
@include media-breakpoint-up(md) {
padding-block: var(--spacing-13);
&:first-of-type {
padding-block-start: var(--spacing-15);
}
}
}
// Period toggle switch — used only by _plans-period-toggle.pug
.plans-period-switch-wrapper {
align-items: center;
display: inline-flex;
gap: var(--spacing-04);
}
.plans-period-label {
font-size: var(--font-size-02);
font-weight: 400;
line-height: var(--line-height-02);
margin: 0;
@include media-breakpoint-up(md) {
font-size: var(--font-size-03);
line-height: var(--line-height-03);
}
}
.plans-period-switch-discount-badge {
color: var(--neutral-60);
font-size: var(--font-size-01);
}
// Card-specific period spacings — scoped to .plans-cards-section
// so plans.pug is unaffected
&[data-ol-current-plan-period='annual'] {
.plans-cards-section .card-cta > .show-for-plan-period-annual {
display: grid;
grid-row: span 2;
grid-template-rows: subgrid;
padding-block-end: 0;
}
.plans-cards-section
.card-includes-list
.card-includes-list-item.show-for-plan-period-annual {
display: flex;
}
.plans-cards-section .show-for-plan-period-annual {
padding-block-end: var(--spacing-07);
position: relative;
}
}
&[data-ol-current-plan-period='monthly'] {
.plans-cards-section .card-cta > .show-for-plan-period-monthly {
display: grid;
grid-row: span 2;
grid-template-rows: subgrid;
}
.plans-cards-section
.card-includes-list
.card-includes-list-item.show-for-plan-period-monthly {
display: flex;
}
.plans-cards-section .plans-new-group-member-picker {
display: none;
}
}
// ─── Plan cards ──────────────────────────────────────────────────────────────
.plans-cards-section {
background-color: var(--bg-light-primary);
.plans-cards-content {
padding-block: var(--spacing-08);
}
.plans-cards-toggles {
align-items: center;
display: flex;
justify-content: space-between;
}
.plans-new-period-switcher-container {
background: none;
border-radius: 0;
gap: var(--spacing-04);
margin-bottom: 0;
margin-top: 0;
padding: 0;
position: static;
label {
font-size: var(--font-size-02);
font-weight: 400;
padding: 0;
@include media-breakpoint-up(md) {
font-size: var(--font-size-03);
}
&:hover {
background-color: transparent;
cursor: default;
}
}
}
.plans-period-switch-wrapper,
.plans-student-info-icon,
.plans-student-toggle-wrapper {
align-items: center;
display: inline-flex;
}
.plans-student-info-icon {
color: var(--content-secondary);
cursor: default;
font-size: var(--font-size-05);
}
.plans-student-toggle-wrapper {
gap: var(--spacing-04);
}
.plans-student-toggle-label-container {
position: relative;
}
&:not([data-ol-student-mode='true']) .plans-price-student,
&:not([data-ol-student-mode='true']) .show-for-plan-type-student {
display: none;
}
&[data-ol-student-mode='true'] {
.plans-new-group-member-picker,
.plans-educational-discount {
display: none;
}
.show-for-plan-type-student {
display: block;
}
.plans-card-col.show-for-plan-type-student {
display: grid;
}
.plans-card-col[data-ol-disabled-for-student='true'] {
display: none;
}
@include media-breakpoint-up(xl) {
.plans-cards-row-wrapper {
grid-auto-columns: auto;
grid-auto-flow: row;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
}
.plans-cards-row-wrapper {
display: grid;
grid-auto-flow: column;
grid-auto-columns: 90%;
grid-template-rows: 1fr auto auto auto;
column-gap: var(--spacing-04);
overflow-x: auto;
padding-top: var(--spacing-08);
padding-bottom: var(--spacing-06);
-webkit-overflow-scrolling: touch;
@include media-breakpoint-up(md) {
grid-auto-columns: 60%;
}
@include media-breakpoint-up(lg) {
grid-auto-columns: 50%;
}
@include media-breakpoint-up(xl) {
grid-auto-columns: auto;
grid-auto-flow: row;
grid-template-columns: repeat(4, minmax(0, 1fr));
overflow-x: visible;
padding-bottom: 0;
}
}
.plans-card-col {
display: grid;
grid-row: span 4;
grid-template-rows: subgrid;
min-width: 280px;
@include media-breakpoint-up(xl) {
min-width: 0;
}
}
.price-plan-card {
background-color: var(--bg-light-primary);
border: 1px solid var(--neutral-30);
border-radius: var(--border-radius-medium);
color: var(--neutral-60);
display: grid;
grid-row: span 4;
grid-template-rows: subgrid;
position: relative;
width: 100%;
&[data-ol-plan-type='free'] {
background-color: var(--bg-light-secondary);
}
&.price-plan-card-highlighted {
border: 3px solid var(--green-50);
border-radius: var(--border-radius-medium);
outline: var(--spacing-02) solid var(--green-bright-tint-50);
outline-offset: 0;
}
.price-plan-card-badge {
@extend .mono-text;
background-color: var(--green-bright-tint-50);
border-radius: var(--border-radius-medium);
color: var(--neutral-90);
font-size: var(--font-size-03);
left: 50%;
padding: var(--spacing-04) var(--spacing-06);
position: absolute;
top: 0;
transform: translate(-50%, -50%);
white-space: nowrap;
}
}
.card-content-top {
display: flex;
flex-direction: column;
gap: var(--spacing-05);
padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x) var(--spacing-05);
}
.card-picker-area {
&:not(:empty) {
padding: 0 var(--bs-card-spacer-x) var(--spacing-05);
}
}
.card-cta {
align-self: start;
display: grid;
grid-row: span 2;
grid-template-rows: subgrid;
--secondary-cta-top-padding: var(--spacing-04);
// Secondary CTA (e.g. "Try for free →") spacing.
// padding-top is calculated because the a.btn inside already has top
// padding --spacing-03, while .plans-cta-plain-link has
// var(--spacing-04)
> .only-show-for-specific-plan-period > .plans-cta:nth-child(2) {
align-self: start;
padding-top: calc(var(--secondary-cta-top-padding) - var(--spacing-03));
}
// Plain-link and edu discount occupy row 4 of the PAGE subgrid.
// Edu discount lives inside the annual period wrapper (a subgrid child),
// so two levels of '>' are needed. Plain-link is a direct card-cta child.
> .plans-cta-plain-link {
align-self: start;
grid-row: 4;
padding-top: var(--secondary-cta-top-padding);
}
> .only-show-for-specific-plan-period > .plans-educational-discount {
align-self: center;
grid-row: 4;
padding-top: var(--spacing-04);
}
}
.card-eyebrow {
color: var(--green-60);
font-size: var(--font-size-05);
font-weight: 600;
}
.card-title {
color: var(--content-primary);
font-size: var(--font-size-07);
font-weight: 600;
margin-block: 0;
}
.plans-price-card-yearly-summary,
.student-plan-saving-badge {
font-size: var(--font-size-02);
line-height: var(--line-height-02);
position: absolute;
}
.card-title-suffix {
font-size: var(--font-size-03);
font-weight: 400;
}
.card-description {
color: var(--neutral-60);
margin-block: 0;
}
.card-includes-list {
display: flex;
flex-direction: column;
font-size: var(--font-size-02);
gap: var(--spacing-03);
list-style: none;
padding-left: 0;
}
.card-includes-list-item.only-show-for-specific-plan-period {
display: none;
}
.card-includes-list-heading {
color: var(--content-primary);
&::first-letter {
text-transform: uppercase;
}
}
li.card-includes-list-item {
display: flex;
align-items: baseline;
&::before {
color: var(--neutral-40);
content: '\2022';
flex-shrink: 0;
margin-right: var(--spacing-03);
}
}
.card-include-has-tooltip {
border-bottom: 1px dotted var(--content-secondary);
cursor: help;
}
.plans-cta-plain-link {
color: var(--content-secondary);
font-size: var(--font-size-02);
text-align: center;
text-decoration: underline;
&:hover {
color: var(--content-primary);
}
}
.card-footer {
background-color: transparent;
border: none;
border-radius: 0;
display: grid;
grid-row: span 2;
grid-template-rows: subgrid;
padding: 0 var(--spacing-08) var(--spacing-08);
}
.plans-educational-discount-label {
align-items: center;
color: var(--content-primary);
cursor: pointer;
display: flex;
gap: var(--spacing-03);
justify-content: center;
margin: 0;
text-align: center;
&:has(input:disabled) {
color: var(--content-secondary);
cursor: not-allowed;
opacity: 0.6;
}
}
.plans-educational-discount-checkbox {
background-color: var(--bg-light-primary);
border: 1px solid var(--border-primary);
border-radius: var(--border-radius-base);
flex-shrink: 0;
height: 16px;
width: 16px;
&:disabled {
background-color: var(--bg-light-tertiary);
border-color: var(--bg-light-tertiary);
}
}
.plans-educational-discount-text {
cursor: help;
font-size: var(--font-size-02);
font-weight: 400;
line-height: var(--line-height-02);
text-decoration: underline dotted;
text-underline-offset: var(--spacing-01);
}
// Group member picker overrides inside cards
.plans-new-group-member-picker {
background-color: var(--bg-light-secondary);
border: 1px solid var(--neutral-20);
border-radius: var(--border-radius-medium);
padding: var(--spacing-04);
position: relative;
ul.plans-new-group-member-picker-list {
position: absolute;
left: 0;
right: 0;
z-index: 10;
}
}
}
.plans-cards-section .plans-cta .btn-ghost {
color: var(--green-50);
font-family: 'DM Mono', monospace;
font-size: var(--font-size-02);
font-weight: 500;
letter-spacing: -1px;
&:hover {
background-color: transparent;
}
}
.plans-cta-arrow {
margin-left: var(--spacing-02);
padding-bottom: 3px;
vertical-align: middle;
}
}

View File

@@ -17,6 +17,7 @@
"a_custom_size_has_been_used_in_the_latex_code": "A custom size has been used in the LaTeX code.",
"a_dashboard_that_follows_your_lead": "A dashboard that follows your lead",
"a_file_with_that_name_already_exists_and_will_be_overriden": "A file with that name already exists. That file will be overwritten.",
"a_great_way_to_start_writing_research_papers": "A great way to start writing research papers.",
"a_more_comprehensive_list_of_keyboard_shortcuts": "A more comprehensive list of keyboard shortcuts can be found in <0>this __appName__ project template</0>",
"a_new_reference_was_added": "A new reference was added",
"a_new_reference_was_added_from_provider": "A new reference was added from __provider__",
@@ -121,6 +122,7 @@
"added_by_on": "Added by __name__ on __date__",
"adding": "Adding",
"additional_certificate": "Additional certificate",
"additional_discounts_for_groups_of_20_plus": "Additional discounts for groups of 20+",
"address": "Address",
"address_line_1": "Address",
"address_second_line_optional": "Address second line (optional)",
@@ -144,6 +146,7 @@
"ai_assist_in_overleaf_is_included_via_writefull_individual": "AI Assist in Overleaf is included as part of your Writefull subscription. You can cancel or manage your access to AI Assist in your Writefull subscription settings.",
"ai_assist_subscriber_can_now_write_smarter": "AI Assist subscribers can now write smarter, find citations, and generate LaTeX from prompts and images.",
"ai_assist_unavailable_due_to_subscription_type": "Were sorry—it looks like AI Assist isnt available to you just yet due to your current subscription type.",
"ai_assistant": "AI Assistant",
"ai_can_make_mistakes": "AI can make mistakes. Review fixes before you apply them.",
"ai_features": "AI features",
"ai_feedback_please_provide_more_detail": "Please provide more detail about what was wrong (optional)",
@@ -190,6 +193,7 @@
"app_on_x": "__appName__ on __social__",
"appearance": "Appearance",
"apply": "Apply ",
"apply_40_percent_academic_discount": "Apply 40% academic discount",
"apply_changes": "Apply changes",
"apply_educational_discount": "Apply educational discount",
"apply_educational_discount_description": "40% discount for groups using __appName__ for teaching",
@@ -243,9 +247,12 @@
"back_to_subscription": "Back to subscription",
"back_to_your_projects": "Back to your projects",
"basic": "Basic",
"basic_ai_allowance": "Basic AI allowance",
"basic_compile_time": "Basic compile time",
"basic_compile_timeout": "Basic compile timeout",
"basic_compile_timeout_on_fast_servers": "Basic compile timeout on fast servers",
"before_you_use_error_assistant": "Before you use Error Assist",
"best_for_individuals_and_teams_collaborating_on_complex_projects": "Best for individuals and teams collaborating on complex projects.",
"beta": "Beta",
"beta_feature_badge": "Beta feature badge",
"beta_program_already_participating": "You are enrolled in the beta program",
@@ -453,6 +460,7 @@
"contact_group_admin": "Please contact your group administrator.",
"contact_message_label": "Message",
"contact_sales": "Contact sales",
"contact_sales_titlecase": "Contact Sales",
"contact_support": "Contact Support",
"contact_us": "Contact us",
"contact_us_lowercase": "Contact us",
@@ -700,6 +708,7 @@
"edits_become_suggestions": "Edits become suggestions",
"educational_disclaimer": "I confirm that users will be students or faculty using Overleaf primarily for study and teaching, and can provide evidence of this if requested.",
"educational_disclaimer_heading": "Educational discount confirmation",
"educational_discount_tooltip": "Available to people working at a degree-granting institution.",
"educational_percent_discount_applied": "__percent__% educational discount applied!",
"email": "Email",
"email_address": "Email address",
@@ -804,6 +813,7 @@
"features": "Features",
"features_like_track_changes": "Features like real-time track changes",
"february": "February",
"fedramp_authorized_optional": "FedRAMP™ authorized (optional)",
"feedback": "Feedback",
"figure": "Figure",
"file": "File",
@@ -843,6 +853,7 @@
"fixed_width": "Fixed width",
"fixed_width_wrap_text": "Fixed width, wrap text",
"flexible_plans_for_everyone": "Flexible plans for everyone—from individual students and researchers, to large businesses and universities.",
"flexible_plans_for_everyone_from_individual_students_and_researchers_to_large_businesses_and_universities": "Flexible plans for everyone, from individual students and researchers to large businesses and universities.",
"fold_line": "Fold line",
"folder_location": "Folder location",
"folder_name": "Folder name",
@@ -918,7 +929,10 @@
"get_most_subscription_by_checking_ai_writefull": "Get the most out of your subscription by checking out <0>Overleafs AI features</0> and <1>Writefulls features</1>.",
"get_most_subscription_by_checking_overleaf": "Get the most out of your subscription by checking out <0>Overleafs features</0>.",
"get_most_subscription_by_checking_overleaf_ai_writefull": "Get the most out of your subscription by checking out <0>Overleafs features</0>, <1>Overleafs AI features</1> and <2>Writefulls features</2>.",
"get_pro": "Get Pro",
"get_real_time_track_changes": "Get real-time track changes",
"get_standard": "Get Standard",
"get_student": "Get Student",
"get_the_best_overleaf_experience": "Get the best Overleaf experience",
"get_unlimited_ai": "Get unlimited use of AI features",
"get_your_hands_on_the_ultimate_research_writing_ai_assistant": "Get your hands on the ultimate research writing AI assistant.",
@@ -975,6 +989,7 @@
"give-ai-consent": "Give AI consent",
"give_feedback": "Give feedback",
"global": "global",
"global_feature_controls": "Global feature controls",
"go_back_and_link_accts": "<a href=\"__link__\">Go back</a> and link your accounts",
"go_next_page": "Go to Next Page",
"go_page": "Go to page __page__",
@@ -1135,7 +1150,9 @@
"include_results_from_your_x_account": "Include results from your __provider__ account",
"include_the_error_message_and_ai_response": "Include the error message and AI response",
"included_as_part_of_your_writefull_subscription": "Included as part of your Writefull subscription",
"includes": "includes",
"increase_indent": "Increase indentation",
"increased_ai_allowance": "Increased AI allowance",
"increased_compile_timeout": "Increased compile timeout",
"individuals": "Individuals",
"info": "Info",
@@ -1260,6 +1277,7 @@
"language": "Language",
"language_suggestions": "Language suggestions",
"larger_discounts_available": "Larger discounts available",
"larger_discounts_for_groups_of_20_plus": "Larger discounts for groups of 20+",
"last_active": "Last Active",
"last_active_description": "Last time a project was opened.",
"last_edit": "Last edit",
@@ -1442,6 +1460,7 @@
"math": "Math",
"math_display": "Math Display",
"math_inline": "Math Inline",
"max_ai_allowance": "Max AI allowance",
"maximum_files_uploaded_together": "Maximum __max__ files uploaded together",
"may": "May",
"maybe_later": "Maybe later",
@@ -1484,7 +1503,9 @@
"more_info": "More Info",
"more_options": "More options",
"more_project_collaborators": "<0>More</0> project <0>collaborators</0>",
"more_space_to_write_revise_and_collaborate": "More space to write, revise, and collaborate.",
"more_than_one_kind_of_snippet_was_requested": "The link to open this content on Overleaf included some invalid parameters. If this keeps happening for links on a particular site, please report this to them.",
"most_popular": "most popular",
"most_popular_uppercase": "Most popular",
"move_to_the_left": "Move to the left",
"move_to_the_right": "Move to the right",
@@ -1606,10 +1627,12 @@
"ok_join_project": "OK, join project",
"on": "On",
"on_free_plan_upgrade_to_access_features": "You are on the __appName__ Free plan. Upgrade to access these <0>Premium features</0>",
"on_premises_option_optional": "On-premises option (optional)",
"one_collaborator_per_project": "1 collaborator per project",
"one_free_collab": "One free collaborator",
"one_per_project": "1 per project",
"one_step_away_from_professional_features": "You are one step away from accessing <0>Overleaf Professional features</0>!",
"one_user": "1 user",
"ongoing_experiments": "Ongoing experiments",
"online_latex_editor": "Online LaTeX Editor",
"only_group_admin_or_managers_can_delete_your_account_1": "By becoming a managed user, your organization will have admin rights over your account and control over your stuff, including the right to close your account and access, delete and share your stuff. As a result:",
@@ -1635,9 +1658,11 @@
"or_enable_clipboard_access_in_your_browser_settings": "Or enable clipboard access in your browser settings.",
"organization": "Organization",
"organization_does_not_support_sso": "Your organization doesnt support SSO yet, but you can still register using your email address.",
"organization_includes": "All the features in other plans, plus",
"organization_name": "Organization name",
"organization_or_company_name": "Organization or company name",
"organization_or_company_type": "Organization or company type",
"organizations": "Organizations",
"organize_tags": "Organize Tags",
"original_price": "Original price",
"other": "Other",
@@ -1754,10 +1779,12 @@
"pick_up_where_you_left_off": "Pick up where you left off",
"pl": "Polish",
"plan": "Plan",
"plan_24x_basic_compile_timeout": "24x Basic compile timeout",
"plan_tooltip": "Youre on the __plan__ plan. Click to find out how to make the most of your Overleaf premium features.",
"planned_maintenance": "Planned Maintenance",
"plans_and_pricing": "Plans and Pricing",
"plans_and_pricing_lowercase": "plans and pricing",
"plans_for_20_plus_users_tailored_for_your_team": "Plans for 20+ users, tailored for your team, department, or entire organization.",
"please_ask_the_project_owner_to_upgrade_more_collaborators": "Please ask the project owner to upgrade their plan to allow more collaborators.",
"please_ask_the_project_owner_to_upgrade_to_track_changes": "Please ask the project owner to upgrade to use track changes",
"please_change_primary_to_remove": "Please change your primary email in order to remove",
@@ -1823,6 +1850,7 @@
"privacy_and_terms": "Privacy and Terms",
"privacy_policy": "Privacy Policy",
"private": "Private",
"pro": "Pro",
"problem_changing_email_address": "There was a problem changing your email address. Please try again in a few moments. If the problem continues please contact us.",
"problem_talking_to_publishing_service": "There is a problem with our publishing service, please try again in a few minutes",
"problem_with_subscription_contact_us": "There is a problem with your subscription. Please contact us for more information.",
@@ -2071,6 +2099,7 @@
"saml_response": "SAML Response",
"save": "Save",
"save_20_percent": "save 20%",
"save_an_extra_10_on_group_licenses": "Save an extra 10% on group licenses",
"save_new_password": "Save new password",
"save_or_cancel-cancel": "Cancel",
"save_or_cancel-or": "or",
@@ -2212,6 +2241,7 @@
"sign_up": "Sign up",
"sign_up_for_free": "Sign up for free",
"sign_up_for_free_account": "Sign up for a free account and receive regular updates",
"simple_pricing_for_individuals_and_teams": "Simple pricing for individuals and teams",
"simple_search_mode": "Simple search",
"single_sign_on_sso": "Single Sign-On (SSO)",
"site_description": "An online LaTeX editor thats easy to use. No installation, real-time collaboration, version control, hundreds of LaTeX templates, and more.",
@@ -2222,6 +2252,8 @@
"skip": "Skip",
"skip_to_content": "Skip to content",
"skip_welcome_animation": "Skip animation and continue",
"slash_month": "/month",
"slash_year": "/year",
"solutions": "Solutions",
"something_not_right": "Somethings not right",
"something_went_wrong": "Something went wrong",
@@ -2258,6 +2290,7 @@
"sso_account_already_linked": "Account already linked to another __appName__ user",
"sso_active": "SSO active",
"sso_already_setup_good_to_go": "Single sign-on is already set up on your account, so youre good to go.",
"sso_and_other_enterprise_capabilities": "SSO and other enterprise capabilities",
"sso_config_deleted": "SSO configuration deleted",
"sso_config_prop_help_certificate": "Base64 encoded certificate without whitespace",
"sso_config_prop_help_email": "The SAML attribute that specifies the users email. This attribute is used when domain capture is enabled.",
@@ -2312,6 +2345,7 @@
"start_by_adding_your_email": "Start by adding your email address.",
"start_by_fixing_the_first_error_in_your_document": "Start by fixing the first error in the document to avoid cascading problems later on.",
"start_editing": "Start editing",
"start_free": "Start free",
"start_free_trial": "Start Free Trial!",
"start_free_trial_without_exclamation": "Start free trial",
"start_new_chat": "Start new chat",
@@ -2338,6 +2372,7 @@
"strongly_disagree": "Strongly disagree",
"student": "Student",
"student_disclaimer": "The educational discount applies to all students at secondary and postsecondary institutions (schools and universities). We may contact you to confirm that youre eligible for the discount.",
"student_discount_tooltip": "Available to students currently enrolled at a degree-granting institution.",
"student_verification_required": "Student verification required",
"students": "Students",
"subject": "Subject",
@@ -2627,6 +2662,7 @@
"tried_to_register_with_email": "Youve tried to register with <b>__email__</b>, which is already registered with <b>__appName__</b> as an institutional account.",
"try_again": "Please try again",
"try_for_free": "Try for free",
"try_for_free_instead": "Try for free instead",
"try_it_for_free": "Try it for free",
"try_now": "Try Now",
"try_overleaf_ai": "Try Overleaf AI",