Просмотр исходного кода

[web] Update paywall copy for plans-2026 AI tiers (#33070)

* [web] Update paywall copy for plans-2026 AI tiers

Replace AI-related strings in upgrade/paywall UI when the
plans-2026-phase-1 flag is enabled:

- Add `higher_ai_allowance` ("Higher AI allowance") for paywall bullet
  lists and body text; keep `higher_ai_limits` ("Higher AI limits") for
  the subscriptions dashboard, which uses different wording per spec
- Update three locale strings to use "allowance" instead of "limits":
  `access_all_premium_features_ai`, `plus_additional_collaborators_and_more`,
  `upgrade_to_add_more_collaborators_and_more`
- Fix casing: `upgrade_to_review` "Upgrade to Review" → "Upgrade to review"
- Switch upgrade-benefits and onboarding prompt from `higher_ai_limits`
  to `higher_ai_allowance`
- Fix subscriptions free-plan to show `higher_ai_limits` instead of
  `get_unlimited_ai` under the plans2026 flag
- Fix compile-timeout button to show "Start free trial" under plans2026
  instead of "Start a free trial"
- Update two Cypress assertions for the new track-changes modal title

* Update extracted translations for higher AI allowance

* Remove "start a free trial" with exclamation

* Remove "get unlimited ai" translation entries

GitOrigin-RevId: 12300d94dc81c5407a21d4682d5714d7284c31b0
Antoine Clausse 3 месяцев назад
Родитель
Сommit
e8ea298ee4

+ 1 - 3
services/web/frontend/extracted-translations.json

@@ -724,7 +724,6 @@
   "get_most_subscription_by_checking_overleaf": "",
   "get_most_subscription_by_checking_overleaf_ai_writefull": "",
   "get_real_time_track_changes": "",
-  "get_unlimited_ai": "",
   "get_your_hands_on_the_ultimate_research_writing_ai_assistant": "",
   "git": "",
   "git_authentication_token": "",
@@ -826,6 +825,7 @@
   "hide_file_tree": "",
   "hide_local_file_contents": "",
   "hide_outline": "",
+  "higher_ai_allowance": "",
   "history": "",
   "history_add_label": "",
   "history_are_you_sure_delete_label": "",
@@ -1829,7 +1829,6 @@
   "sso_user_explanation_ready_with_admin_email": "",
   "sso_user_explanation_ready_with_group_name": "",
   "standard": "",
-  "start_a_free_trial": "",
   "start_by_adding_your_email": "",
   "start_by_fixing_the_first_error_in_your_document": "",
   "start_editing": "",
@@ -2128,7 +2127,6 @@
   "university_school": "",
   "unknown": "",
   "unknown_group": "",
-  "unlimited_ai": "",
   "unlimited_ai_use": "",
   "unlimited_collaborators_per_project": "",
   "unlimited_collabs": "",

+ 1 - 1
services/web/frontend/js/features/pdf-preview/components/timeout-upgrade-prompt-new.tsx

@@ -119,7 +119,7 @@ const CompileTimeout = memo(function CompileTimeout({
                   extraSearchParams={extraSearchParams}
                   handleClick={handleFreeTrialClick}
                 >
-                  {t('start_a_free_trial')}
+                  {t('start_free_trial_without_exclamation')}
                 </StartFreeTrialButton>
               </p>
             )}

+ 1 - 1
services/web/frontend/js/features/subscription/components/dashboard/free-plan.tsx

@@ -26,7 +26,7 @@ function FreePlan() {
       :
       <ul>
         <li>{t('invite_more_collabs')}</li>
-        {plans2026 && <li>{t('get_unlimited_ai')}</li>}
+        {plans2026 && <li>{t('higher_ai_allowance')}</li>}
         {!plans2026 && <li>{t('realtime_track_changes')}</li>}
         <li>{t('full_doc_history')}</li>
         <li>{t('reference_search')}</li>

+ 1 - 1
services/web/frontend/js/shared/components/upgrade-benefits.tsx

@@ -17,7 +17,7 @@ function UpgradeBenefits({ className }: { className?: string }) {
       <li>
         <Check />
         &nbsp;
-        {plans2026 ? t('unlimited_ai') : t('unlimited_projects')}
+        {plans2026 ? t('higher_ai_allowance') : t('unlimited_projects')}
       </li>
       <li>
         <Check />

+ 5 - 7
services/web/locales/en.json

@@ -51,7 +51,7 @@
   "accepted_invite": "Accepted invite",
   "accepting_invite_as": "You are accepting this invite as",
   "access_all_premium_features": "Access all premium features, including more collaborators, full project history, and a longer compile time.",
-  "access_all_premium_features_ai": "Access all premium features, including more collaborators, more compile time, and unlimited AI.",
+  "access_all_premium_features_ai": "Access all premium features, including more collaborators, more compile time, and higher AI allowance.",
   "access_all_premium_features_including_more_collaborators_real_time_track_changes_and_a_longer_compile_time": "Access all premium features, including more collaborators, real-time track changes, and a longer compile time.",
   "access_denied": "Access Denied",
   "access_edit_your_projects": "Access and edit your projects",
@@ -969,7 +969,6 @@
   "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.",
   "git": "Git",
   "git_authentication_token": "Git authentication token",
@@ -1089,6 +1088,7 @@
   "hide_file_tree": "Hide file tree",
   "hide_local_file_contents": "Hide Local File Contents",
   "hide_outline": "Hide File outline",
+  "higher_ai_allowance": "Higher AI allowance",
   "history": "History",
   "history_add_label": "Add label",
   "history_are_you_sure_delete_label": "Are you sure you want to delete the following label",
@@ -1865,7 +1865,7 @@
   "please_set_a_password": "Please set a password",
   "please_set_main_file": "Please choose the main file for this project in the project menu.  ",
   "please_wait": "Please wait",
-  "plus_additional_collaborators_and_more": "(plus additional collaborators, unlimited AI, track changes, and more).",
+  "plus_additional_collaborators_and_more": "(plus additional collaborators, higher AI allowance, track changes, and more).",
   "plus_additional_collaborators_document_history_track_changes_and_more": "(plus additional collaborators, document history, track changes, and more).",
   "plus_more": "plus more",
   "plus_x_additional_licenses_for_a_total_of_y_licenses": "Plus <0>__additionalLicenses__</0> additional license(s) for a total of <1>__count__ licenses</1>",
@@ -2400,7 +2400,6 @@
   "sso_user_explanation_ready_with_admin_email": "Your group administered by <0>__adminEmail__</0> has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__</1> to get started.",
   "sso_user_explanation_ready_with_group_name": "Your group <0>__groupName__</0> has SSO enabled so you can log in without needing to remember a password. Click <1>__buttonText__</1> to get started.",
   "standard": "Standard",
-  "start_a_free_trial": "Start a free trial",
   "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",
@@ -2759,7 +2758,6 @@
   "unknown": "Unknown",
   "unknown_group": "Unknown group",
   "unlimited": "Unlimited",
-  "unlimited_ai": "Unlimited AI",
   "unlimited_ai_use": "Unlimited AI use",
   "unlimited_collaborators_per_project": "Unlimited collaborators per project",
   "unlimited_collabs": "Unlimited collaborators",
@@ -2818,11 +2816,11 @@
   "upgrade_plan": "Upgrade plan",
   "upgrade_summary": "Upgrade summary",
   "upgrade_to_add_more_collaborators_and_access_collaboration_features": "Upgrade to add more collaborators and access collaboration features like track changes and full project history.",
-  "upgrade_to_add_more_collaborators_and_more": "Upgrade to add more collaborators and access features like Overleaf AI, track changes, and full project history.",
+  "upgrade_to_add_more_collaborators_and_more": "Upgrade to add more collaborators and access higher AI allowance, track changes, and full project history.",
   "upgrade_to_get_feature": "Upgrade to get __feature__, plus:",
   "upgrade_to_get_more_from_overleaf": "Upgrade to get more from Overleaf",
   "upgrade_to_get_started": "Upgrade to get started",
-  "upgrade_to_review": "Upgrade to Review",
+  "upgrade_to_review": "Upgrade to review",
   "upgrade_your_plan": "Upgrade your plan",
   "upgrade_your_subscription": "Upgrade your subscription",
   "upload": "Upload",

+ 0 - 1
services/web/locales/zh-CN.json

@@ -1962,7 +1962,6 @@
   "sso_user_explanation_ready_with_admin_email": "您的群组由 <0>__adminEmail__</0> 管理,已启用 SSO,因此您无需记住密码即可登录。 单击<1>__buttonText__</1>开始。",
   "sso_user_explanation_ready_with_group_name": "您的群组 <0>__groupName__</0> 已启用 SSO,因此您无需记住密码即可登录。 单击<1>__buttonText__</1>开始。",
   "standard": "标准版",
-  "start_a_free_trial": "开始免费试用",
   "start_by_adding_your_email": "从添加电子邮件地址开始。",
   "start_free_trial": "开始免费试用",
   "start_free_trial_without_exclamation": "开始免费试用",

+ 1 - 1
services/web/test/frontend/features/review-panel/review-panel.spec.tsx

@@ -898,7 +898,7 @@ describe('<ReviewPanel /> for free users', function () {
   it('renders modal', function () {
     mountEditor()
     cy.findByRole('dialog').within(() => {
-      cy.findByText('Upgrade to Review').should('exist')
+      cy.findByText('Upgrade to review').should('exist')
     })
   })
 

+ 1 - 1
services/web/test/frontend/features/source-editor/components/codemirror-editor-context-menu.spec.tsx

@@ -609,7 +609,7 @@ describe('editor context menu', { scrollBehavior: false }, function () {
       })
 
       cy.findByRole('dialog').should('be.visible')
-      cy.findByRole('dialog').should('contain.text', 'Upgrade to Review')
+      cy.findByRole('dialog').should('contain.text', 'Upgrade to review')
     })
   })